:root{--brand-dark: #0a2540;--brand-mid: #0e4d7b;--brand-teal: #0d9e8a;--brand-light: #e8f7f5;--accent: #00c9a7;--surface: #ffffff;--surface2: #f7f9fc;--surface3: #eef2f7;--border: rgba(10, 37, 64, .1);--border2: rgba(10, 37, 64, .18);--text: #0a2540;--text2: #4a6080;--text3: #8aa0b8;--radius: 10px;--radius-lg: 14px;--shadow: 0 2px 12px rgba(10, 37, 64, .08);--shadow-lg: 0 8px 40px rgba(10, 37, 64, .18)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:var(--surface2);color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--brand-teal);text-decoration:none}a:hover{text-decoration:underline}.muted{color:var(--text2)}.app-shell{display:flex;flex-direction:column;min-height:100vh}.app-topbar{background:var(--brand-dark);color:#fff;padding:10px 20px;display:flex;align-items:center;gap:24px;flex-shrink:0;position:relative}.app-brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;letter-spacing:.02em}.app-brand-icon{font-size:18px}.app-nav{display:flex;gap:4px;flex:1}.nav-btn{background:transparent;color:rgba(255,255,255,.7);border:none;padding:6px 14px;border-radius:99px;font-size:13px;font-weight:500;cursor:pointer;transition:all .13s}.nav-btn:hover{background:rgba(255,255,255,.08);color:#fff}.nav-btn.active{background:rgba(255,255,255,.15);color:#fff}.nav-group{position:relative}.nav-group.active>.nav-btn{background:rgba(255,255,255,.15);color:#fff}.nav-group-caret{display:inline-block;margin-left:4px;font-size:10px;opacity:.7;transition:transform .15s}.nav-group-trigger[aria-expanded=true] .nav-group-caret{transform:rotate(180deg)}.nav-dropdown{position:absolute;top:calc(100% + 4px);left:0;z-index:50;min-width:180px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px rgba(10,37,64,.18);padding:4px;display:flex;flex-direction:column;gap:1px}.nav-dropdown[hidden]{display:none}.nav-dropdown-item{background:transparent;border:none;color:var(--text);font-size:13px;font-weight:500;text-align:left;padding:8px 12px;border-radius:calc(var(--radius) - 2px);cursor:pointer;transition:background .1s;white-space:nowrap}.nav-dropdown-item:hover{background:var(--surface2)}.nav-dropdown-item.active{background:var(--brand-light);color:var(--brand-teal);font-weight:600}.app-actions{display:flex;align-items:center;gap:12px}.app-user-email{font-size:12px;color:rgba(255,255,255,.75);max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-feature-mount{flex:1;display:flex;flex-direction:column;min-height:0}@media (max-width: 768px){.app-topbar{flex-wrap:wrap;gap:8px;padding:8px 12px}.app-brand{order:1;flex:0 0 auto}.app-actions{order:2;margin-left:auto;gap:8px}.app-nav{order:3;flex:0 0 100%;flex-wrap:wrap;gap:4px;padding:2px 0 4px}.nav-btn{flex-shrink:0;white-space:nowrap;font-size:12px;padding:5px 10px}.app-user-email{max-width:130px;font-size:11px}.app-brand-text{font-size:14px}.nav-group{flex-shrink:0;position:static}.nav-dropdown{left:0;right:0;top:100%;min-width:0;width:auto;border-radius:0;border-left:none;border-right:none;box-shadow:0 4px 12px rgba(0,0,0,.15);max-height:60vh;overflow-y:auto}.nav-dropdown-item{padding:12px 16px;font-size:14px}}@media (max-width: 400px){.app-user-email{display:none}}.feature-header{background:var(--surface);border-bottom:1px solid var(--border);padding:14px 24px;display:flex;align-items:center;gap:12px;flex-shrink:0}.feature-title{font-size:18px;font-weight:600;color:var(--text);flex:1;margin:0}.feature-actions{display:flex;gap:8px;align-items:center}.content{flex:1;overflow-y:auto;padding:24px}.btn{font-size:13px;padding:8px 16px;border-radius:var(--radius);border:1px solid var(--border2);background:var(--surface);color:var(--text);cursor:pointer;font-weight:500;transition:all .15s;display:inline-flex;align-items:center;gap:6px}.btn:hover{background:var(--surface3)}.btn-primary{background:var(--brand-teal);color:#fff;border-color:var(--brand-teal)}.btn-primary:hover{background:#0b8a78}.btn-sm{font-size:11px;padding:5px 10px}.btn-danger{background:#fff0f0;color:#c0392b;border-color:#f5c6c6}.btn-danger:hover{background:#fde0e0}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr) 1.6fr;gap:14px;margin-bottom:24px}.stat-grid.stat-grid-5{grid-template-columns:repeat(5,1fr)}.stat-grid.stat-grid-4{grid-template-columns:repeat(4,1fr)}.stat-grid.stat-grid-3{grid-template-columns:repeat(3,1fr)}.subtab-bar{display:flex;gap:6px;margin-bottom:18px}.pac-item-row{display:flex;gap:6px;align-items:center;padding:4px 0}.pac-item-row input[type=text]{flex:3;padding:6px 10px;border:1px solid var(--border2);border-radius:var(--radius);font-size:13px}.pac-item-row input[type=number]{width:70px;padding:6px 10px;border:1px solid var(--border2);border-radius:var(--radius);font-size:13px;text-align:right}.pac-item-remove{background:none;border:none;color:var(--text3);cursor:pointer;padding:4px 8px;font-size:16px;border-radius:var(--radius)}.pac-item-remove:hover{background:#fff3f3;color:#9b2c2c}.orc-item-header{display:grid;grid-template-columns:1fr 64px 64px 84px 56px;gap:6px;padding:4px 0;font-size:10px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.05em}.orc-item-header>span:nth-child(2),.orc-item-header>span:nth-child(3),.orc-item-header>span:nth-child(4){text-align:right}.orc-item-row{display:grid;grid-template-columns:1fr 64px 64px 84px 56px;gap:6px;align-items:center;padding:4px 0}.orc-item-row input{padding:6px 10px;border:1px solid var(--border2);border-radius:var(--radius);font-size:13px}.orc-item-row input[type=number]{text-align:right}.orc-item-row .orc-item-subtotal{font-size:12px;color:var(--text2);text-align:right;font-variant-numeric:tabular-nums;padding:0 6px}.orc-item-acoes{display:flex;align-items:center;gap:2px;justify-content:flex-end}.orc-item-row .orc-item-remove{background:none;border:none;color:var(--text3);cursor:pointer;padding:4px 6px;font-size:16px;border-radius:var(--radius)}.orc-item-row .orc-item-remove:hover{background:#fff3f3;color:#9b2c2c}.orc-item-row.from-pacote{background:rgba(13,158,138,.04);border-left:2px solid var(--brand-teal);padding-left:6px}.modal.orc-modal-wide{width:1100px;max-width:96vw}.orc-modal-grid{display:grid;grid-template-columns:1fr 320px;gap:18px;align-items:start}.orc-modal-form{min-width:0}.orc-modal-side{position:sticky;top:0;max-height:70vh;overflow-y:auto;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:12px}@media (max-width: 900px){.modal.orc-modal-wide{width:720px}.orc-modal-grid{grid-template-columns:1fr}.orc-modal-side{position:static;max-height:320px}}.modal.agenda-modal-wide{width:1040px;max-width:96vw}.agenda-modal-grid{display:grid;grid-template-columns:1fr 280px;gap:18px;align-items:start}.agenda-modal-form{min-width:0}.agenda-modal-side{position:sticky;top:0;max-height:70vh;overflow-y:auto;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:12px}.agenda-side-title{font-size:11px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.agenda-side-empty{font-size:12px;color:var(--text3);padding:12px 4px;text-align:center}.agenda-side-item{display:grid;grid-template-columns:60px 1fr;gap:8px;padding:8px 10px;margin:0 -10px;border-bottom:1px solid var(--border);border-left:3px solid transparent;border-radius:3px 0 0 3px;font-size:12px}.agenda-side-item:last-child{border-bottom:none}.agenda-side-item-home{border-left-color:var(--brand-teal);background:rgba(13,158,138,.05)}.agenda-side-item-clinic{border-left-color:var(--brand-mid);background:rgba(14,77,123,.05)}.agenda-side-time{font-weight:600;color:var(--text2);font-family:Consolas,monospace}.agenda-side-info{min-width:0}.agenda-side-name{font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-side-place{color:var(--text3);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 900px){.modal.agenda-modal-wide{width:720px}.agenda-modal-grid{grid-template-columns:1fr}.agenda-modal-side{position:static;max-height:320px}}.orc-responsavel-block{background:rgba(217,119,6,.06);border:1px solid rgba(217,119,6,.25);border-radius:var(--radius);padding:10px 12px;margin:6px 0 10px}.orc-responsavel-title{font-size:12px;font-weight:600;color:#a16207;margin-bottom:6px}.orc-responsavel-title small{font-weight:400;color:var(--text3)}.orc-dicas-panel{font-size:12px}.orc-dicas-header{font-size:13px;font-weight:600;color:var(--text);margin-bottom:10px;display:flex;align-items:baseline;gap:6px}.orc-dicas-header small{font-weight:400;color:var(--text2)}.orc-dicas-empty{color:var(--text3);font-size:12px;padding:10px 4px;text-align:center}.orc-dicas-loading{color:var(--text3);font-size:12px;padding:10px 4px;display:flex;align-items:center;gap:6px}.orc-dicas-section{margin-bottom:14px}.orc-dicas-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text3);margin-bottom:6px}.orc-dicas-list{display:flex;flex-direction:column;gap:6px}.orc-dicas-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px}.orc-dicas-item-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px}.orc-dicas-item-meta{font-size:11px;color:var(--text3);margin-bottom:4px}.orc-dicas-item-obs{font-size:12px;color:var(--text2);line-height:1.35}.orc-dicas-item-fonte{font-size:10px;color:var(--text3);margin-top:4px;font-style:italic}.orc-dicas-pill{font-size:10px;font-weight:600;padding:2px 6px;border-radius:10px;background:var(--surface2);color:var(--text2);white-space:nowrap}.orc-dicas-pill-suggest{background:rgba(13,158,138,.12);color:var(--brand-teal)}.orc-whatsapp-preview{margin-top:6px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.orc-whatsapp-head{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--surface2);border-radius:var(--radius) var(--radius) 0 0}.orc-whatsapp-title{font-size:12px;font-weight:600;color:var(--text2)}.orc-whatsapp-text{margin:0;padding:12px;font-family:ui-monospace,Cascadia Mono,Segoe UI Mono,Menlo,Consolas,monospace;font-size:12px;line-height:1.45;white-space:pre-wrap;word-break:break-word;color:var(--text);max-height:280px;overflow-y:auto}.route-selector{display:flex;gap:10px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.route-selector input{font-size:13px;padding:8px 12px;border:1px solid var(--border2);border-radius:var(--radius);background:var(--surface);color:var(--text)}.route-container{display:flex;flex-direction:column;gap:0}.route-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 20px}.route-title{font-size:13px;font-weight:600;color:var(--text);margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.route-stop{display:flex;gap:12px;padding:10px 12px;border-bottom:1px solid var(--border);border-left:4px solid transparent;margin-left:-12px;border-radius:4px 0 0 4px}.route-stop:last-child{border-bottom:none}.route-stop-home{border-left-color:var(--brand-teal);background:rgba(13,158,138,.05)}.route-stop-clinic{border-left-color:var(--brand-mid);background:rgba(14,77,123,.05)}.route-num{width:26px;height:26px;border-radius:50%;color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;background:var(--brand-teal)}.route-stop-clinic .route-num{background:var(--brand-mid)}.route-info{flex:1}.route-info .rname{font-size:13px;font-weight:500}.route-info .raddr{font-size:11px;color:var(--text2);margin-top:2px}.route-info .rvac{font-size:11px;color:var(--brand-teal);margin-top:2px;font-weight:500}.route-time-badge{font-size:12px;font-weight:600;color:var(--text2);background:var(--surface2);padding:3px 9px;border-radius:99px;border:1px solid var(--border);flex-shrink:0}.route-type-badge{display:inline-block;font-size:10px;font-weight:700;padding:2px 7px;border-radius:4px;text-transform:uppercase;letter-spacing:.04em;margin-left:6px;vertical-align:middle}.route-type-badge.home{color:#fff;background:var(--brand-teal)}.route-type-badge.clinic{color:#fff;background:var(--brand-mid)}.stock-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.stock-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px}.stock-name{font-size:13px;font-weight:600;margin-bottom:10px}.stock-bar-bg{height:7px;background:var(--surface3);border-radius:4px;overflow:hidden;margin-bottom:8px}.stock-bar-fill{height:100%;border-radius:4px;transition:width .4s}.bar-ok{background:var(--brand-teal)}.bar-low{background:#f59e0b}.bar-out{background:#ef4444}.stock-row{display:flex;justify-content:space-between;font-size:12px;color:var(--text2);margin-bottom:10px}.stock-saldo{font-weight:700}.saldo-ok{color:var(--brand-teal)}.saldo-low{color:#d97706}.saldo-out{color:#dc2626}.stock-input-row{display:flex;align-items:center;gap:8px;font-size:12px}.stock-input-row label{color:var(--text3)}.stock-input-row input{width:70px;padding:4px 8px;border:1px solid var(--border2);border-radius:6px;font-size:12px;color:var(--text);background:var(--surface);text-align:right}.parse-textarea{width:100%;min-height:180px;padding:12px;border:1px solid var(--border2);border-radius:var(--radius);font-size:12px;font-family:ui-monospace,Cascadia Code,Menlo,monospace;color:var(--text);background:var(--surface2);resize:vertical}.parse-textarea:focus{outline:none;border-color:var(--brand-teal);box-shadow:0 0 0 3px rgba(13,158,138,.12)}.parsed-preview{background:var(--surface2);border-radius:var(--radius);padding:14px;font-size:12px;margin-top:12px;border:1px solid var(--border);line-height:1.8}.parsed-row{display:flex;gap:8px}.parsed-label{color:var(--text3);min-width:110px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.parsed-value{color:var(--text);font-weight:500}.equipe-warning{background:#fff8e6;color:#854f0b;border:1px solid #fde4b6;border-radius:var(--radius);padding:12px 16px;margin-bottom:20px;font-size:13px;font-weight:500}.equipe-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.equipe-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px}.equipe-card h3{font-size:14px;margin-bottom:12px;color:var(--text)}.equipe-card ol{font-size:13px;padding-left:18px;color:var(--text2);line-height:1.7}.equipe-card code{background:var(--surface3);padding:1px 5px;border-radius:3px;font-family:ui-monospace,monospace;font-size:11px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 18px}.stat-label{font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.stat-value{font-size:28px;font-weight:700;color:var(--text);line-height:1}.stat-sub{font-size:11px;color:var(--text2);margin-top:4px}.stat-card.teal .stat-value{color:var(--brand-teal)}.stat-card.blue .stat-value{color:var(--brand-mid)}.stat-card.amber .stat-value{color:#d97706}.filter-bar{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap;align-items:center}.filter-group{display:flex;gap:4px;align-items:center}.filter-group-label{font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:.05em;margin-right:4px;font-weight:600}.filter-pill{font-size:12px;padding:5px 14px;border-radius:99px;border:1px solid var(--border2);background:var(--surface);color:var(--text2);cursor:pointer;transition:all .13s;font-weight:500}.filter-pill.active{background:var(--brand-dark);color:#fff;border-color:var(--brand-dark)}.filter-pill:hover:not(.active){background:var(--surface3)}.filter-toggle{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text2);cursor:pointer;padding:4px 10px;border-radius:99px;border:1px solid var(--border2);background:var(--surface);transition:all .13s;user-select:none}.filter-toggle:hover{background:var(--surface3)}.filter-toggle input{cursor:pointer;accent-color:var(--brand-teal)}.filter-search{display:flex;align-items:center}.filter-search input{font-size:12px;padding:6px 12px;border-radius:99px;border:1px solid var(--border2);background:var(--surface);color:var(--text);width:200px;transition:border-color .15s,box-shadow .15s}.filter-search input:focus{outline:none;border-color:var(--brand-teal);box-shadow:0 0 0 3px rgba(13,158,138,.12)}.filter-date{margin-left:auto;display:flex;align-items:center;gap:6px}.filter-date input{font-size:12px;padding:5px 10px;border-radius:var(--radius);border:1px solid var(--border2);background:var(--surface);color:var(--text)}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}table{width:100%;border-collapse:collapse}th{font-size:11px;color:var(--text3);font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:11px 16px;background:var(--surface2);border-bottom:1px solid var(--border);text-align:left}td{padding:12px 16px;border-bottom:1px solid var(--border);font-size:13px;vertical-align:middle}tr:last-child td{border-bottom:none}tr:hover td{background:var(--surface2)}.td-name{font-weight:500}.td-vaccines{color:var(--text2);font-size:12px;max-width:220px}.badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:3px 9px;border-radius:99px}.badge-home{background:#e8f7f5;color:#0a6b5e}.badge-clinic{background:#e6f1fb;color:#185fa5}.badge-reagend{background:#fff8e6;color:#92610a}.badge-paid{background:#e8f7f5;color:#0a6b5e}.badge-partial{background:#fef3e2;color:#854f0b;border:.5px solid #fde4b6}.badge-pending{background:#fff3f3;color:#9b2c2c}.badge-done{background:#e8f7f5;color:#0a6b5e}.badge-ongoing{background:#e6f1fb;color:#185fa5}.badge-absent{background:#fff3f3;color:#9b2c2c}.badge-scheduled{background:#f7f9fc;color:#4a6080;border:.5px solid #dde5ef}.status-btn-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.status-btn{font-size:11px;padding:4px 10px;border-radius:99px;border:1px solid var(--border2);background:var(--surface);color:var(--text2);cursor:pointer;font-weight:500;transition:all .13s;white-space:nowrap}.status-btn:hover{background:var(--surface3)}.status-btn.active-done{background:#e8f7f5;color:#0a6b5e;border-color:#a3d9cc}.status-btn.active-ongoing{background:#e6f1fb;color:#185fa5;border-color:#b5d4f4}.status-btn.active-absent{background:#fff3f3;color:#9b2c2c;border-color:#f5c6c6}.status-btn.active-scheduled{background:#f7f9fc;color:#4a6080;border-color:#dde5ef}.modal-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(10,37,64,.45);z-index:100;align-items:center;justify-content:center}.modal-overlay.open{display:flex}.modal{background:var(--surface);border-radius:var(--radius-lg);padding:28px;width:520px;max-width:95vw;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal-title{font-size:16px;font-weight:700;margin-bottom:20px;color:var(--text)}.form-row{display:flex;gap:10px;margin-bottom:12px}.form-group{flex:1;display:flex;flex-direction:column;gap:4px}.form-group label{font-size:11px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.05em}.form-group input,.form-group select,.form-group textarea{padding:8px 10px;border:1px solid var(--border2);border-radius:var(--radius);font-size:13px;color:var(--text);background:var(--surface);font-family:inherit}.form-group textarea{resize:vertical;min-height:72px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--brand-teal);box-shadow:0 0 0 3px rgba(13,158,138,.12)}.form-checkbox{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text);cursor:pointer;padding:6px 0;user-select:none}.form-checkbox input{cursor:pointer;accent-color:var(--brand-teal);width:16px;height:16px;margin:0}.modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.toast{position:fixed;bottom:24px;right:24px;background:var(--brand-dark);color:#fff;padding:12px 18px;border-radius:var(--radius);font-size:13px;z-index:200;opacity:0;transform:translateY(10px);transition:all .25s;pointer-events:none}.toast.show{opacity:1;transform:translateY(0)}.toast.error{background:#9b2c2c}.agenda-outside{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px;margin:0 0 16px;font-size:12px;color:var(--text2);display:flex;align-items:center;gap:10px;flex-wrap:wrap}.btn-link{background:none;border:none;color:var(--brand-teal);cursor:pointer;font-size:12px;padding:0;text-decoration:underline;font-family:inherit}.btn-link:hover{color:var(--brand-mid)}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0a2540,#0e4d7b,#0d9e8a);padding:24px}.login-card{background:var(--surface);border-radius:var(--radius-lg);padding:40px 36px;box-shadow:var(--shadow-lg);width:380px;max-width:100%}.login-logo{text-align:center;margin-bottom:28px}.login-logo-icon{font-size:36px;margin-bottom:8px}.login-logo-name{font-size:18px;font-weight:700;color:var(--brand-dark)}.login-logo-sub{font-size:11px;color:var(--brand-teal);letter-spacing:.08em;text-transform:uppercase;margin-top:3px}.login-title{font-size:15px;font-weight:600;color:var(--text);margin-bottom:20px;text-align:center}.login-form{display:flex;flex-direction:column;gap:0}.login-field{margin-bottom:14px}.login-field label{display:block;font-size:11px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px}.login-field input{width:100%;padding:10px 12px;border:1.5px solid var(--border2);border-radius:var(--radius);font-size:14px;color:var(--text);background:var(--surface);transition:border-color .15s;font-family:inherit}.login-field input:focus{outline:none;border-color:var(--brand-teal);box-shadow:0 0 0 3px rgba(13,158,138,.12)}.login-btn{width:100%;padding:11px;background:var(--brand-dark);color:#fff;border:none;border-radius:var(--radius);font-size:14px;font-weight:600;cursor:pointer;margin-top:6px;transition:background .15s}.login-btn:hover{background:var(--brand-mid)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-error{color:#c0392b;font-size:12px;margin-top:10px;text-align:center;background:#fef3f3;padding:8px 12px;border-radius:var(--radius);display:none}.login-error.show{display:block}.btn-google{width:100%;display:inline-flex;justify-content:center;align-items:center;gap:10px;padding:11px 16px;font-size:14px;font-weight:500;background:var(--surface);border:1px solid var(--border2);color:var(--text);border-radius:var(--radius);cursor:pointer;transition:background .13s;font-family:inherit}.btn-google:hover{background:var(--surface3)}.btn-google:disabled{opacity:.6;cursor:not-allowed}.login-divider{display:flex;align-items:center;gap:10px;margin:16px 0;font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:.08em}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--border2)}.login-denied{margin-top:18px;padding:12px 14px;background:#fff3f3;color:#9b2c2c;border:1px solid #f5c6c6;border-radius:var(--radius);font-size:12px;text-align:left;line-height:1.5}.login-denied code{background:rgba(155,44,44,.08);padding:1px 6px;border-radius:4px;font-family:ui-monospace,Cascadia Code,Menlo,monospace}.empty-state{text-align:center;padding:48px 24px;color:var(--text3)}.loading{text-align:center;padding:32px;color:var(--text3);font-size:13px}.spinner{display:inline-block;width:18px;height:18px;border:2px solid var(--border2);border-top-color:var(--brand-teal);border-radius:50%;animation:spin .7s linear infinite;vertical-align:middle;margin-right:8px}@keyframes spin{to{transform:rotate(360deg)}}.vaccine-multiselect{display:flex;flex-direction:column;gap:6px;border:1px solid var(--border2);border-radius:var(--radius);padding:8px;background:var(--surface)}.vaccine-multiselect:focus-within{border-color:var(--brand-teal)}.vaccine-msel-chips{display:flex;flex-wrap:wrap;gap:6px}.vaccine-msel-chips:empty{display:none}.vaccine-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 10px;background:#e0f2f1;color:#00695c;border-radius:999px;font-size:12px;font-weight:500;line-height:1.2;border:1px solid #b2dfdb}.vaccine-chip-unmapped{background:#ffebee;color:#c62828;border-color:#ffcdd2}.vaccine-chip-label{white-space:nowrap;cursor:pointer}.vaccine-chip-label:hover{text-decoration:underline dotted}.vaccine-chip-qty{font-weight:600;margin-left:2px;opacity:.85}.vaccine-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:0;background:transparent;color:inherit;cursor:pointer;font-size:16px;line-height:1;border-radius:50%;padding:0}.vaccine-chip-remove:hover{background:rgba(0,0,0,.08)}.vaccine-chip-info{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:0;background:transparent;cursor:pointer;font-size:11px;line-height:1;border-radius:50%;padding:0;margin-left:2px}.vaccine-chip-info:hover{background:rgba(0,0,0,.08)}.vaccine-msel-input-wrap{position:relative}.vaccine-msel-input{width:100%;border:0;outline:none;padding:6px 4px;font:inherit;background:transparent;color:var(--text)}.vaccine-msel-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius);box-shadow:0 4px 12px rgba(0,0,0,.08);max-height:220px;overflow-y:auto;z-index:50}.vaccine-msel-option{padding:8px 12px;cursor:pointer;font-size:13px;color:var(--text)}.vaccine-msel-option.is-highlighted,.vaccine-msel-option:hover{background:var(--surface-alt, #f1f5f9)}.vaccine-msel-empty{padding:8px 12px;font-size:12px;color:var(--text3);font-style:italic;cursor:default}.vaccine-msel-add-new{padding:8px 12px;cursor:pointer;font-size:13px;font-weight:600;color:var(--brand-teal);border-top:1px solid var(--border2)}.vaccine-msel-add-new:hover{background:var(--surface-alt, #f1f5f9)}.vaccine-msel-warning{display:block;margin-top:4px;color:#c62828;font-size:11px;font-weight:500}.vaccine-msel-warning[hidden]{display:none}.parsed-row-vaccines{align-items:flex-start}.parsed-vaccines-chips{display:flex;flex-wrap:wrap;gap:6px;flex:1}.parsed-vaccines-warning{margin:6px 0 0;padding:8px 10px;background:#fffbeb;border:1px solid #fde68a;border-radius:var(--radius);color:#92400e;font-size:11px;line-height:1.4}.orc-item-unresolved{grid-column:1 / -1;font-size:11px;color:#c62828;margin-left:4px;margin-top:4px;padding:6px 8px;background:#ffebee;border:1px solid #ffcdd2;border-radius:var(--radius);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.orc-item-estoque{grid-column:1 / -1;font-size:11px;margin-left:4px;margin-top:2px;font-variant-numeric:tabular-nums;cursor:default}.orc-item-estoque.ok{color:#2e7d32}.orc-item-estoque.baixo{color:#ef6c00}.orc-item-estoque.critico{color:#c62828}.orc-item-quickadd{border:0;background:transparent;color:var(--brand-teal);font-weight:600;font-size:11px;cursor:pointer;padding:2px 4px;text-decoration:underline}.orc-item-quickadd:hover{background:rgba(0,0,0,.04);border-radius:4px}.bulario-grid{display:grid;grid-template-columns:280px 1fr;gap:18px;align-items:start}.bulario-side{position:sticky;top:0}.bulario-side input[type=search]{width:100%;margin-bottom:10px}.bulario-lista{display:flex;flex-direction:column;gap:2px;max-height:70vh;overflow-y:auto}.bulario-item{text-align:left;background:transparent;border:none;padding:9px 12px;border-radius:var(--radius);font-size:13px;color:var(--text);cursor:pointer;transition:background .1s}.bulario-item:hover{background:var(--surface2)}.bulario-item.active{background:var(--brand-light);color:var(--brand-teal);font-weight:600}.bulario-sem{font-size:10px;color:var(--text3);font-style:italic}.bulario-main{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 24px;min-height:200px}.bulario-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid var(--brand-teal)}.bulario-header h2{margin:0;font-size:18px;color:var(--brand-dark)}.bulario-actions{display:flex;gap:6px;flex-shrink:0}.bulario-secao{margin-bottom:14px}.bulario-secao-titulo{font-size:12px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.bulario-secao-corpo{font-size:13px;color:var(--text);line-height:1.5}.bulario-secao-corpo p{margin:0 0 6px}.bulario-ul{margin:4px 0;padding-left:20px}.bulario-ul li{margin-bottom:3px}.bulario-fonte{margin-top:16px;font-size:11px;color:var(--text3);font-style:italic}.bulario-empty{color:var(--text3);font-size:13px;text-align:center}.bulario-edit-campo{margin-bottom:12px}.bulario-edit-campo label{display:block;font-size:12px;font-weight:600;color:var(--text2);margin-bottom:4px}.bulario-edit-campo textarea{width:100%;font-size:13px;font-family:inherit;resize:vertical}@media (max-width: 768px){.bulario-grid{grid-template-columns:1fr}.bulario-side{position:static}.bulario-lista{max-height:240px}}.bulario-popup-overlay{z-index:1200}.bulario-popup-modal{width:680px;max-width:94vw}.bulario-popup-body{max-height:64vh;overflow-y:auto;padding:4px 2px}.bulario-info-btn{background:transparent;border:none;cursor:pointer;font-size:13px;padding:2px 4px;border-radius:4px;color:var(--brand-mid);line-height:1}.bulario-info-btn:hover{background:rgba(14,77,123,.1)}.bulario-info-btn:disabled{opacity:.25;cursor:default}.modal.contrato-modal-wide{width:780px;max-width:95vw}#contrato-body{max-height:70vh;overflow-y:auto;padding:2px}.contrato-info-bar{background:var(--surface2);border-radius:var(--radius);padding:8px 12px;font-size:12px;color:var(--text2);margin-bottom:14px}.contrato-secao-titulo{font-size:11px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.05em;margin:16px 0 8px}.contrato-apraz-head{display:grid;grid-template-columns:1fr 110px 150px 32px;gap:6px;font-size:10px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.05em;padding:2px 0}.contrato-apraz-row{display:grid;grid-template-columns:1fr 110px 150px 32px;gap:6px;align-items:center;padding:3px 0}.contrato-apraz-row input{padding:6px 10px;border:1px solid var(--border2);border-radius:var(--radius);font-size:13px}.rphone{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.rphone a{color:var(--brand-mid);text-decoration:none;font-weight:500}.rphone a:hover{text-decoration:underline}.rphone .rphone-wa{color:#1c7c3a}.stat-grid.stat-grid-2{grid-template-columns:1fr 1fr}.comp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 14px;margin-top:10px}.comp-item-label{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.03em}.comp-item-valor{font-size:18px;font-weight:700;color:var(--text);line-height:1.1;margin-top:1px}.comp-item-sub{font-size:11px;color:var(--text3)}@media (max-width: 768px){.stat-grid.stat-grid-2{grid-template-columns:1fr}.comp-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 1100px){.app-topbar{flex-wrap:wrap;gap:12px;padding:10px 12px}.app-nav{order:3;width:100%;overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding-bottom:4px}.nav-btn{flex-shrink:0;font-size:12px;padding:6px 12px}.app-actions{margin-left:auto}.app-user-email{max-width:130px;font-size:11px}}@media (max-width: 640px){.feature-header{padding:12px 14px;flex-direction:column;align-items:flex-start!important;gap:10px}.feature-title{font-size:18px!important}.feature-actions{width:100%;flex-wrap:wrap;gap:6px}.feature-actions .btn,.feature-actions .btn-primary{font-size:12px;padding:6px 10px;flex:1 1 auto}}@media (max-width: 900px){.stat-grid,.stat-grid.stat-grid-3,.stat-grid.stat-grid-4,.stat-grid.stat-grid-5{grid-template-columns:repeat(2,1fr)!important}}@media (max-width: 480px){.stat-grid,.stat-grid.stat-grid-3,.stat-grid.stat-grid-4,.stat-grid.stat-grid-5{grid-template-columns:1fr!important}.stat-card{padding:10px 14px}.stat-value{font-size:22px!important}}@media (max-width: 640px){.filter-bar{gap:8px}.filter-group{flex-wrap:wrap;width:100%}.filter-search input,.filter-date input{font-size:13px}.filter-search{flex:1 1 100%}.filter-pill{font-size:11px;padding:4px 10px}}@media (max-width: 900px){.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-wrap table{min-width:720px}.table-wrap th,.table-wrap td{font-size:12px;padding:6px 8px}}@media (max-width: 640px){.content{padding:12px 14px!important}}@media (max-width: 640px){.modal{width:95vw!important;max-width:95vw!important;max-height:92vh;overflow-y:auto;padding:14px}.modal-title{font-size:16px}.form-row{flex-direction:column;gap:8px}.form-group{width:100%}}@media (max-width: 640px){#dashboard-resumo-dia>div{flex-direction:column!important;align-items:stretch!important}#dashboard-resumo-dia>div>div:first-child>div:nth-child(2){flex-direction:column!important;gap:12px!important}}
