:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#15342d;background:#f4f8f6;--green:#159174;--green2:#0d715b;--deep:#0b493d;--deep2:#083b32;--ink:#15342d;--muted:#71847e;--line:#dce7e3;--soft:#eef7f4;--soft2:#e8f6f1;--soft3:#f8fbfa;--danger:#cc4848;--warning:#d27a18;--page-bg:#f4f8f6}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--page-bg)}button,input,select,textarea{font:inherit}.card{background:white;border:1px solid var(--line);border-radius:20px;box-shadow:0 14px 38px rgba(14,72,59,.07)}.login{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,var(--soft),#fafcfb)}.login-card{width:min(430px,100%);padding:34px}.brand{display:flex;align-items:center;gap:12px;margin-bottom:26px}.brand-mark{width:48px;height:48px;border-radius:14px;background:var(--green);color:white;display:grid;place-items:center;font-weight:850;font-size:21px}.brand strong{display:block;font-size:20px}.brand span{font-size:13px;color:var(--muted)}h1,h2,h3,p{margin-top:0}.muted{color:var(--muted)}label{display:grid;gap:7px;font-size:14px;font-weight:650;margin-bottom:15px}input,select,textarea{width:100%;padding:12px 13px;border:1px solid #cfded9;border-radius:11px;background:#fff;color:var(--ink)}textarea{min-height:90px;resize:vertical}.btn{border:0;border-radius:11px;padding:11px 15px;cursor:pointer;font-weight:750}.btn.primary{background:var(--green);color:white}.btn.primary:hover{background:var(--green2)}.btn.ghost{background:#edf6f3;color:var(--green2)}.btn.danger{background:#fff0f0;color:var(--danger)}.btn:disabled{opacity:.6;cursor:wait}.demo{margin-top:18px;padding:12px;border-radius:12px;background:#f0f7f5;color:#47645c;font-size:13px;display:grid;gap:3px}.alert{padding:11px 13px;border-radius:10px;margin-bottom:14px}.alert.error{background:#fff0f0;color:#9d3131}
.shell{min-height:100vh;display:grid;grid-template-columns:258px 1fr}.sidebar{background:linear-gradient(180deg,var(--deep),var(--deep2));color:white;padding:22px 18px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.sidebar-brand{margin-bottom:21px;padding:3px 6px}.sidebar .brand span{color:#bfd8d0}.nav-section-label{font-size:10px;font-weight:850;letter-spacing:.14em;color:#8fb9ae;margin:7px 12px 8px}.nav{display:grid;gap:5px}.nav button{display:flex;gap:11px;align-items:center;width:100%;text-align:left;border:0;border-radius:12px;padding:11px 12px;background:transparent;color:#dcebe6;cursor:pointer;font-weight:600}.nav button.active,.nav button:hover{background:#176653;color:white}.nav-icon{width:20px;text-align:center}.sidebar-user{margin-top:auto;border-top:1px solid rgba(255,255,255,.11);padding:17px 6px 12px;display:flex;align-items:center;gap:10px;min-width:0}.sidebar-user .avatar{width:34px;height:34px;border-radius:50%;background:#dff3ed;color:var(--deep);display:grid;place-items:center;font-weight:850;flex:0 0 auto}.sidebar-user div{min-width:0}.sidebar-user strong,.sidebar-user small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user strong{font-size:13px}.sidebar-user small{font-size:11px;color:#acd0c6;margin-top:2px}.sidebar-logout{background:#eef7f4;color:var(--deep);margin-top:4px}.main{min-width:0}.topbar{height:72px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:10}.topbar>div:first-child{display:flex;flex-direction:column;gap:1px}.topbar-sub{font-size:12px;color:var(--muted)}.topbar-actions{display:flex;align-items:center;gap:12px}.top-user{font-size:13px;font-weight:750}.online{font-size:12px;color:var(--green2);background:#eef8f5;padding:7px 10px;border-radius:999px}.content{padding:28px;max-width:1480px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px}.page-head h1{font-size:28px;margin-bottom:5px}
.welcome-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px}.welcome-row h1{font-size:32px;margin-bottom:7px}.welcome-row p{margin-bottom:0}.eyebrow{font-size:11px;font-weight:850;letter-spacing:.14em;color:var(--green2)}.hero-action{white-space:nowrap}.section-block,.quick-section{margin-bottom:25px}.section-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.section-title h2{font-size:18px;margin-bottom:0}.section-title span{font-size:12px;color:var(--muted)}.quick-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px}.quick-card{border:1px solid var(--line);background:white;border-radius:17px;padding:16px;display:flex;align-items:center;gap:12px;text-align:left;color:var(--ink);cursor:pointer;box-shadow:0 8px 24px rgba(14,72,59,.045);transition:.18s ease}.quick-card:hover{transform:translateY(-2px);border-color:#bbd9d0;box-shadow:0 13px 28px rgba(14,72,59,.09)}.quick-icon{width:40px;height:40px;border-radius:12px;background:#e8f6f1;color:var(--green2);display:grid;place-items:center;font-weight:850;font-size:18px;flex:0 0 auto}.quick-card>span:nth-child(2){min-width:0;flex:1}.quick-card strong,.quick-card small{display:block}.quick-card strong{font-size:14px}.quick-card small{font-size:11px;color:var(--muted);margin-top:3px}.quick-card b{font-size:21px;color:#9ab4ad}.stats{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:12px}.stat{padding:16px;display:flex;align-items:center;gap:12px;min-height:90px}.stat-icon{width:34px;height:34px;border-radius:11px;background:var(--soft);color:var(--green2);display:grid;place-items:center;font-weight:850;flex:0 0 auto}.stat>div>span{display:block;color:var(--muted);font-size:12px}.stat strong{display:block;font-size:25px;margin-top:4px}.stat.danger .stat-icon{background:#fff0f0;color:var(--danger)}.stat.danger strong{color:var(--danger)}
.dashboard-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:18px;margin-bottom:18px}.panel{padding:20px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px}.panel-head h2{font-size:19px;margin-bottom:4px}.panel-head p{font-size:13px;margin-bottom:0}.list{display:grid;gap:9px}.row{border:1px solid var(--line);border-radius:13px;padding:13px;display:flex;justify-content:space-between;gap:12px;align-items:center}.row small{display:block;color:var(--muted);margin-top:3px}.collection-main{min-width:0}.collection-side{display:flex;align-items:center;gap:7px}.late-row{border-color:#f1caca;background:#fffafa}.late-label{font-size:11px;font-weight:800;color:var(--danger)}.badge{padding:6px 9px;border-radius:999px;background:#edf6f3;color:var(--green2);font-size:11px;font-weight:800;white-space:nowrap}.status-cancelada{background:#fff0f0;color:var(--danger)}.status-finalizada{background:#eef8f1;color:#34764f}.route-cards{display:grid;gap:10px}.route-summary{width:100%;border:1px solid var(--line);background:#f9fcfb;border-radius:14px;padding:15px;display:flex;align-items:center;gap:12px;text-align:left;color:var(--ink);cursor:pointer}.route-summary:hover{border-color:#bcd6cf;background:#f4faf8}.route-dot{width:11px;height:11px;border:3px solid #bfe2d8;border-radius:50%;background:var(--green);flex:0 0 auto}.route-summary div{flex:1}.route-summary strong,.route-summary small{display:block}.route-summary small{font-size:11px;color:var(--muted);margin-top:3px}.route-summary b{font-size:20px;color:#92aaa4}.attention-panel{margin-bottom:20px}.attention-count{min-width:30px;height:30px;border-radius:999px;background:#fff1e4;color:#a45b0f;display:grid;place-items:center;font-weight:850;font-size:12px}.good-state{padding:20px;border-radius:13px;background:#eff8f4;color:#2a6b56;text-align:center;font-weight:700}
.grid2{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.filter{border:1px solid var(--line);background:white;border-radius:999px;padding:8px 12px;cursor:pointer}.filter.active{background:var(--ink);color:white}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);font-size:14px}.table th{font-size:11px;text-transform:uppercase;color:var(--muted);letter-spacing:.04em}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .full{grid-column:1/-1}.empty{padding:30px;text-align:center;color:var(--muted)}.route-box{border:1px dashed #bfd3cd;border-radius:14px;padding:18px;background:#f8fbfa}.timeline{position:relative;padding-left:9px}.timeline-item{display:grid;grid-template-columns:20px 1fr;gap:10px;padding:4px 0 20px}.timeline-item:not(:last-child):before{content:"";position:absolute;left:17px;margin-top:14px;width:1px;height:54px;background:#cfe0db}.timeline-dot{width:10px;height:10px;border-radius:50%;background:var(--green);margin:6px 0 0 4px;z-index:1}.timeline-item strong,.timeline-item small{display:block}.timeline-item small{font-size:11px;color:var(--muted);margin-top:3px}.timeline-item p{font-size:13px;color:#536b64;margin:5px 0 0}.mobilebar{display:none}.hidden{display:none!important}
@media(max-width:1180px){.quick-grid{grid-template-columns:repeat(3,1fr)}.stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1000px){.dashboard-grid,.grid2{grid-template-columns:1fr}}
@media(max-width:760px){.shell{display:block}.sidebar{display:none}.topbar{height:62px;padding:0 16px}.topbar-sub,.top-user{display:none}.content{padding:18px 14px 84px}.welcome-row{align-items:stretch;flex-direction:column}.welcome-row h1{font-size:27px}.hero-action{width:100%}.quick-grid{grid-template-columns:1fr 1fr}.quick-card{padding:13px}.quick-icon{width:36px;height:36px}.section-title{align-items:flex-start;flex-direction:column;gap:3px}.stats{grid-template-columns:1fr 1fr}.stat{min-height:78px;padding:13px}.stat strong{font-size:22px}.page-head{align-items:stretch;flex-direction:column}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.mobilebar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;bottom:0;left:0;right:0;background:white;border-top:1px solid var(--line);z-index:20}.mobilebar button{border:0;background:white;padding:12px 4px;font-size:12px;color:var(--muted)}.mobilebar button.active{color:var(--green2);font-weight:800}.table thead{display:none}.table,.table tbody,.table tr,.table td{display:block;width:100%}.table tr{border:1px solid var(--line);border-radius:12px;margin-bottom:10px;padding:8px;background:white}.table td{border:0;padding:5px 7px}.table td::before{content:attr(data-label);font-size:11px;color:var(--muted);display:block}.row{align-items:flex-start}.collection-side{align-items:flex-end;flex-direction:column}.row-actions{display:grid;gap:6px}}
@media(max-width:430px){.quick-grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.stat{gap:9px}.stat-icon{width:30px;height:30px}}

/* v0.6 — Clínicas, frequência, rotas e geolocalização */
.clinic-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;margin-bottom:18px}.mini-summary{padding:15px 17px}.mini-summary span{display:block;color:var(--muted);font-size:12px}.mini-summary strong{display:block;font-size:25px;margin-top:5px}.clinic-panel{padding:18px}.clinic-toolbar{display:grid;grid-template-columns:1.6fr .75fr .85fr;gap:10px;margin-bottom:15px}.clinic-toolbar input,.clinic-toolbar select{margin:0}.clinic-list{display:grid;gap:10px}.clinic-list-card{border:1px solid var(--line);border-radius:15px;padding:15px;display:flex;justify-content:space-between;gap:16px;align-items:center;background:#fff}.clinic-list-main{min-width:0}.clinic-list-main small{display:block;color:var(--muted);margin-top:4px}.clinic-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.frequency-pill,.route-pill,.map-pill{display:inline-flex;align-items:center;border-radius:999px;font-size:11px;font-weight:800;padding:6px 9px;white-space:nowrap}.frequency-pill{background:#e9f7f2;color:var(--green2)}.frequency-pill.temp{background:#fff4df;color:#996516}.route-pill{background:#f0f4f8;color:#40556a}.map-pill.mapped{background:#eef8f1;color:#34764f}.map-pill.unmapped{background:#fff4e5;color:#9b620e}.clinic-meta{display:flex;gap:7px;align-items:flex-end;flex-direction:column}.temp-note{color:#9b620e!important;font-weight:700}.clinic-footnote{font-size:12px;color:var(--muted);margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.clinic-form{display:grid;gap:16px;padding-bottom:80px}.form-section{padding:20px}.form-section-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:18px}.form-section-head h2{font-size:19px;margin-bottom:4px}.form-section-head p{font-size:13px;margin-bottom:0}.step-badge{width:30px;height:30px;border-radius:10px;background:var(--green);color:#fff;display:grid;place-items:center;font-weight:850;flex:0 0 auto}.choice-grid,.route-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choice-card,.route-choice{margin:0;border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;align-items:flex-start;gap:10px;cursor:pointer;background:#fff}.choice-card:has(input:checked),.route-choice:has(input:checked){border-color:#82c8b6;background:#f0fbf7;box-shadow:0 0 0 2px rgba(31,148,116,.08)}.choice-card input,.route-choice input{width:auto;margin-top:3px}.choice-card span,.route-choice span{display:block}.choice-card strong,.route-choice strong,.choice-card small,.route-choice small{display:block}.choice-card small,.route-choice small{color:var(--muted);font-weight:500;margin-top:4px;line-height:1.35}.info-strip{margin-top:12px;padding:11px 13px;border-radius:11px;background:#f1f7f5;color:#49645c;font-size:13px}.route-choice-grid{margin-top:14px}.address-grid{grid-template-columns:.65fr 1.7fr .55fr}.address-grid .span-2{grid-column:span 2}.map-actions{display:flex;align-items:center;gap:12px;margin-top:6px;margin-bottom:12px;flex-wrap:wrap}.map-status{font-size:12px;color:var(--muted)}.clinic-map{height:340px;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#f4f8f7}.map-loading,.map-unavailable{height:100%;display:grid;place-items:center;color:var(--muted);padding:20px;text-align:center}.coordinate-row{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:10px;font-size:12px;color:#526a63}.coordinate-row strong{color:var(--ink)}.form-actions-sticky{position:sticky;bottom:12px;display:flex;justify-content:flex-end;gap:10px;background:rgba(247,250,249,.93);backdrop-filter:blur(10px);border:1px solid var(--line);padding:12px;border-radius:15px;box-shadow:0 10px 30px rgba(10,64,51,.1);z-index:8}
@media(max-width:1000px){.clinic-summary-grid{grid-template-columns:repeat(2,1fr)}.clinic-toolbar{grid-template-columns:1fr 1fr}.clinic-toolbar input{grid-column:1/-1}.address-grid{grid-template-columns:1fr 1fr}.address-grid .span-2{grid-column:1/-1}}
@media(max-width:760px){.clinic-list-card{align-items:flex-start;flex-direction:column}.clinic-meta{align-items:flex-start;flex-direction:row;flex-wrap:wrap}.choice-grid,.route-choice-grid{grid-template-columns:1fr}.clinic-map{height:290px}.form-actions-sticky{bottom:70px}.address-grid{grid-template-columns:1fr}.address-grid .span-2{grid-column:auto}}
@media(max-width:430px){.clinic-summary-grid{grid-template-columns:1fr 1fr}.clinic-toolbar{grid-template-columns:1fr}.clinic-toolbar input{grid-column:auto}.map-actions .btn{width:100%}}

/* v0.7 — edição de clínicas */
.clinic-edit-btn{padding:8px 12px;white-space:nowrap}
.clinic-meta .clinic-edit-btn{margin-top:2px}
@media(max-width:760px){.clinic-meta .clinic-edit-btn{width:auto}}

/* v0.9 - perfis Firebase */
.table-select{min-width:150px;padding:9px 10px;border:1px solid #d8e5e1;border-radius:10px;background:#fff;color:#17342f}
.switch-line{display:flex;align-items:center;gap:7px;white-space:nowrap}
.switch-line input{width:18px;height:18px;accent-color:#15956f}
.info-panel{margin-top:16px}
.info-panel p{margin:.4rem 0 0}

/* v1.0 — Gestão de usuários */
.users-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px}
.users-table td small{display:block;color:#71837f;margin-top:4px}
.role-badge{font-weight:800}
.role-admin{background:#e9f2ff;color:#245f9e}.role-gestor{background:#eef8f3;color:#147054}.role-usuario{background:#f4f1ff;color:#6652a3}
.active-user{background:#e8f8f1;color:#11704e}.inactive-user{background:#f7eeee;color:#9b4747}
.user-form{max-width:980px;margin:0 auto}
.form-section{padding:8px 0 24px;border-bottom:1px solid #e5eeeb;margin-bottom:24px}.form-section:last-of-type{border-bottom:0;margin-bottom:6px}
.form-section-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:18px}.form-section-head h2{margin:0;font-size:1.05rem}.form-section-head p{margin:3px 0 0;color:#71837f;font-size:.9rem}
.step-bubble{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#e5f6f0;color:#0f7459;font-weight:900;flex:none}
.form-select{width:100%;padding:12px 13px;border:1px solid #d8e5e1;border-radius:12px;background:#fff;color:#17342f}
.switch-card{border:1px solid #dbe7e3;border-radius:14px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:18px}.switch-card span{display:flex;flex-direction:column}.switch-card small{color:#71837f;margin-top:3px}.switch-card input{width:20px;height:20px;accent-color:#15956f}
.functions-box{margin-top:18px}.field-label{display:block;font-weight:800;margin-bottom:10px}.function-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.function-option{border:1px solid #dbe7e3;border-radius:14px;padding:14px;display:flex;align-items:flex-start;gap:10px;cursor:pointer;background:#fbfdfc}.function-option:has(input:checked){border-color:#15956f;background:#effaf6}.function-option input{margin-top:3px;width:18px;height:18px;accent-color:#15956f}.function-option span{display:flex;flex-direction:column}.function-option small{color:#71837f;margin-top:4px;line-height:1.35}
.form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:6px}.tiny{font-size:.82rem}.alert.info{background:#eef7ff;color:#295b78;border:1px solid #cfe4f3}
@media(max-width:800px){.users-stats{grid-template-columns:1fr}.function-grid{grid-template-columns:1fr}.user-form{padding:18px}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}}

/* v1.1 — Planejamento de rotas com Mapbox */
.route-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.route-tab{border:1px solid var(--line);background:#fff;border-radius:14px;padding:13px 16px;text-align:left;cursor:pointer;display:flex;gap:8px;align-items:baseline}.route-tab strong{font-size:15px}.route-tab span{font-size:12px;color:var(--muted)}.route-tab.active{border-color:#69bda5;background:#eef9f5;box-shadow:0 0 0 2px rgba(31,148,116,.08)}
.route-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(330px,.85fr);gap:18px;align-items:start}.route-left,.route-right{display:grid;gap:18px}.route-config-card,.route-map-card,.route-stops-card,.route-result-card,.route-empty-result{padding:18px}.route-config-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.route-config-grid input{margin:5px 0 0}.factor-help{margin-top:12px;padding:11px 13px;border-radius:11px;background:#f1f7f5;color:#49645c;font-size:12px;line-height:1.45}.route-config-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.route-config-actions .muted{font-size:12px}.route-planner-map{height:530px;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#f4f8f7}.mapbox-chip{display:inline-flex;padding:6px 9px;border-radius:999px;background:#edf4ff;color:#3d5d84;font-size:11px;font-weight:800}.route-attribution{font-size:11px;color:var(--muted);margin-top:8px}.route-attribution a{color:var(--green2)}
.selection-count{font-weight:900;color:var(--green2);font-size:13px}.route-select-actions{display:flex;gap:8px;margin:-4px 0 10px}.route-clinic-list{display:grid;gap:8px;max-height:410px;overflow:auto;padding-right:3px}.route-clinic-option{margin:0;border:1px solid var(--line);border-radius:12px;padding:11px;display:flex;gap:10px;align-items:flex-start;cursor:pointer;background:#fff}.route-clinic-option.selected{border-color:#79c6b1;background:#f1fbf7}.route-clinic-option input{width:17px;height:17px;margin-top:2px;accent-color:var(--green)}.route-clinic-option span,.route-clinic-option strong,.route-clinic-option small{display:block}.route-clinic-option small{color:var(--muted);margin-top:3px;line-height:1.3}.route-calc-btn{width:100%;margin-top:12px}.route-cost-note{display:block;text-align:center;margin-top:7px}.empty.compact{padding:18px}
.route-result-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.route-result-stats>div{border:1px solid var(--line);border-radius:12px;padding:11px;background:#fbfdfc}.route-result-stats span{display:block;color:var(--muted);font-size:11px}.route-result-stats strong{display:block;font-size:18px;margin-top:3px}.optimized-stops{display:grid;gap:8px}.optimized-stop{display:grid;grid-template-columns:34px 1fr;gap:9px;align-items:center;border-bottom:1px solid #edf2f0;padding:7px 0}.optimized-stop:last-child{border-bottom:0}.optimized-stop strong,.optimized-stop small{display:block}.optimized-stop small{color:var(--muted);font-size:11px;margin-top:2px;line-height:1.35}.stop-number{width:30px;height:30px;border-radius:50%;background:#e5f6f0;color:#0f7459;display:grid;place-items:center;font-weight:900}.optimized-stop.base .stop-number{background:#17342f;color:#fff}.learning-note{margin-top:12px;padding:10px 12px;border-radius:10px;background:#f7f5ed;color:#6d6345;font-size:11px;line-height:1.4}
.route-number-icon,.route-dot-icon{background:transparent!important;border:0!important}.route-number-icon span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#12956e;color:#fff;font-weight:900;border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.25)}.route-dot-icon span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#153b32;color:#fff;font-size:26px;line-height:18px;border:2px solid #fff;box-shadow:0 2px 7px rgba(0,0,0,.18)}.route-dot-icon.selected span{background:#12956e}
@media(max-width:1150px){.route-layout{grid-template-columns:1fr}.route-config-grid{grid-template-columns:1fr 1fr}.route-planner-map{height:430px}.route-right{grid-template-columns:1fr 1fr}.route-stops-card,.route-result-card,.route-empty-result{min-width:0}}
@media(max-width:760px){.route-tabs{grid-template-columns:1fr}.route-tab{flex-direction:column;gap:2px}.route-config-grid,.route-right{grid-template-columns:1fr}.route-config-actions{align-items:stretch;flex-direction:column}.route-config-actions .btn{width:100%}.route-planner-map{height:350px}.route-result-stats{grid-template-columns:1fr 1fr}.route-clinic-list{max-height:none}}

/* VETexpress v1.2 — rotas automáticas e visão do motoboy */
.compact-stats{margin-top:4px}.route-card-list{display:grid;gap:10px;margin:12px 0}.motoboy-stop-card{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:15px;padding:13px;background:#fff}.motoboy-stop-number{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-size:17px;font-weight:900;box-shadow:0 4px 12px rgba(18,149,110,.22)}.motoboy-stop-body strong,.motoboy-stop-body small{display:block}.motoboy-stop-body small{color:var(--muted);margin-top:3px;line-height:1.35}.stop-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.stop-meta span{font-size:11px;font-weight:800;border-radius:999px;background:#eef6f3;color:#2d6857;padding:5px 8px}.stop-meta .urgent-chip{background:#fff0ed;color:#b94735}.courier-location-icon{background:transparent!important;border:0!important}.courier-location-icon span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#2368d8;color:#fff;border:3px solid #fff;box-shadow:0 0 0 3px rgba(35,104,216,.2),0 3px 10px rgba(0,0,0,.24);font-size:14px}.courier-location-icon.live span{animation:courierPulse 1.8s infinite}@keyframes courierPulse{0%,100%{box-shadow:0 0 0 3px rgba(35,104,216,.2),0 3px 10px rgba(0,0,0,.24)}50%{box-shadow:0 0 0 9px rgba(35,104,216,.08),0 3px 10px rgba(0,0,0,.24)}}
.courier-live-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:11px 13px;border:1px solid var(--line);border-radius:13px;background:#f8fbfa;color:#42645a;font-size:12px}.courier-pane-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0 9px}.courier-pane-tabs button{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px;font-weight:800;color:var(--muted);cursor:pointer}.courier-pane-tabs button.active{background:var(--green);border-color:var(--green);color:#fff}.courier-route-slider{display:flex;width:100%;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:none}.courier-route-slider::-webkit-scrollbar{display:none}.courier-route-pane{min-width:100%;width:100%;scroll-snap-align:start}.courier-cards{margin-top:0}.courier-map-wrap{padding:10px}.courier-map-wrap .route-planner-map{height:520px}
@media(max-width:760px){.route-config-grid{grid-template-columns:1fr}.courier-live-strip{align-items:flex-start;flex-direction:column}.courier-live-strip .btn{width:100%}.courier-map-wrap .route-planner-map{height:62vh;min-height:390px}.motoboy-stop-card{grid-template-columns:40px 1fr;padding:12px}.motoboy-stop-number{width:36px;height:36px}}

/* v1.2.1 - estado da fila quando o cálculo externo ainda não respondeu */
.route-waiting{display:flex;flex-direction:column;gap:4px;margin:10px 0 14px}
.route-calc-reason{opacity:.8;line-height:1.35}

/* VETexpress v1.3 — ajustes de coletas, CEP e visual de rotas */
.collection-actions{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.btn.danger-soft{background:#fff1f0;color:#b83e38;border:1px solid #f3d0cd}.btn.danger-soft:hover{background:#fde7e4}.collection-form-card{max-width:920px}.form-actions-inline{display:flex;justify-content:flex-end;gap:10px}
.cep-input-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.cep-input-row .btn{white-space:nowrap}.field-help{display:block;color:var(--muted);font-size:11px;font-weight:500;line-height:1.35;margin-top:1px}
.route-config-card{padding:0!important;overflow:hidden}.route-config-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px}.route-config-header h2{font-size:1rem;margin:0 0 3px}.route-config-header span{font-size:12px;color:var(--muted)}.route-config-toggle{flex:none}.route-config-body{border-top:1px solid var(--line);padding:15px 18px 18px}.route-config-top-action{display:flex;justify-content:flex-end;margin-bottom:10px}.route-config-collapsed-note{border-top:1px solid var(--line);padding:9px 18px;color:var(--muted);font-size:11px;background:#fbfdfc}.route-config-card.collapsed{box-shadow:0 8px 22px rgba(14,72,59,.05)}
.route-segment-legend{display:flex;flex-wrap:wrap;gap:7px 12px;margin-top:10px;padding:9px 11px;border-radius:11px;background:#f8fbfa;border:1px solid #e4eeeb}.route-segment-legend span{display:inline-flex;align-items:center;gap:6px;color:#536d65;font-size:11px;font-weight:700}.route-segment-legend i{width:18px;height:5px;border-radius:999px;display:inline-block}
@media(max-width:760px){.collection-actions,.form-actions-inline{flex-direction:column;align-items:stretch}.collection-actions .btn,.form-actions-inline .btn{width:100%}.cep-input-row{grid-template-columns:1fr}.route-config-header{align-items:flex-start}.route-config-header .btn{padding:9px 10px}.route-config-body{padding:14px}.route-segment-legend{gap:6px 10px}}

/* v1.4 — mapa operacional mais neutro para destacar as rotas */
.route-planner-map .leaflet-tile-pane{filter:grayscale(1) saturate(.08) brightness(1.08) contrast(.88)}
.route-planner-map .leaflet-overlay-pane,.route-planner-map .leaflet-marker-pane,.route-planner-map .leaflet-shadow-pane{filter:none}

/* Estados operacionais das paradas */
.stop-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.route-stop-state{flex:none;display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:#edf3f1;color:#60756f;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.route-stop-state.active{background:#e8f2ff;color:#2368d8}
.motoboy-stop-card.is-current{border-color:#8bb7f2;background:#f4f8ff;box-shadow:0 7px 22px rgba(35,104,216,.10)}
.motoboy-stop-card.is-current .motoboy-stop-number{background:#2368d8}
.route-stop-actions{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:7px;margin-top:12px}
.stop-action{padding:9px 10px;border-radius:10px;font-size:11px;font-weight:900;border:1px solid transparent;box-shadow:none}
.stop-action.go{background:#eaf2ff;color:#215fb8;border-color:#cfe0fb}
.stop-action.done{background:#eaf8f1;color:#087457;border-color:#c9ebdc}
.stop-action.cancel{background:#fff2f0;color:#b64b3e;border-color:#f4d5d0}
.stop-action:disabled{opacity:.55;cursor:wait}
.motoboy-stop-card.is-finishing{opacity:.38;filter:grayscale(.65);transform:scale(.99);transition:opacity .25s ease,filter .25s ease,transform .25s ease}
.courier-sidebar-note{margin:12px 18px 18px;padding:10px 11px;border-radius:11px;background:rgba(255,255,255,.07);color:rgba(255,255,255,.72);font-size:11px;line-height:1.45}
.courier-mobilebar{grid-template-columns:1fr!important}

@media(max-width:760px){
  .route-stop-actions{grid-template-columns:1fr 1fr}
  .route-stop-actions .go{grid-column:1/-1}
  .stop-action{min-height:42px;font-size:12px}
  .stop-title-row{align-items:flex-start}
}
.route-number-icon.current span{background:#2368d8;box-shadow:0 0 0 5px rgba(35,104,216,.13),0 2px 8px rgba(0,0,0,.25)}
.route-pending-recalc{display:flex;flex-direction:column;gap:4px;margin:8px 0 12px}

/* v1.5 — Firestore nas coletas + operação mobile do motoboy */
.route-stop-actions.two-actions{grid-template-columns:1fr 1fr}
.route-order-toolbar,.courier-route-actions{display:flex;justify-content:flex-end;gap:8px;margin:10px 0}
.route-adjust-btn{min-width:150px}
.route-reorder-actions{display:flex;gap:8px;width:100%;justify-content:flex-end}
.route-reorder-buttons{display:flex;gap:8px;margin-top:12px}
.reorder-arrow{width:46px;height:42px;padding:0;background:#edf6f3;color:var(--green2);border:1px solid #d1e7df;font-size:18px;font-weight:900}
.reorder-arrow:disabled{opacity:.3;cursor:not-allowed}
.motoboy-stop-card.is-reordering{border-style:dashed;border-color:#8fcdbb;background:#f8fdfb;box-shadow:none}
.route-manual-note{display:flex;flex-direction:column;gap:3px;margin:8px 0 12px}
.courier-collection-list{display:grid;gap:11px}
.courier-collection-card{padding:14px;display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:start}
.courier-collection-pos{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#e6f5f0;color:var(--green2);font-weight:900}
.courier-collection-card strong,.courier-collection-card small{display:block}
.courier-collection-card small{color:var(--muted);font-size:11px;margin-top:4px}
.courier-collection-card p{font-size:13px;margin:9px 0 0;color:#526a63}
.collection-qty-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}
.collection-qty-chips span{background:#eef6f3;color:#35695a;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800}
.courier-mobilebar{grid-template-columns:1fr 1fr!important}

@media(max-width:760px){
  .courier-shell .content{padding:14px 12px 88px}
  .courier-shell .page-head{margin-bottom:14px}
  .courier-shell .page-head h1{font-size:24px}
  .courier-live-strip{position:sticky;top:68px;z-index:7;background:#f8fbfa;box-shadow:0 5px 16px rgba(14,72,59,.06)}
  .courier-pane-tabs{position:sticky;top:132px;z-index:6;background:#f4f8f6;padding:5px 0;margin-top:9px}
  .courier-route-actions{justify-content:stretch}
  .courier-route-actions .route-adjust-btn,.courier-route-actions .route-reorder-actions{width:100%}
  .route-reorder-actions{display:grid;grid-template-columns:1fr 1fr}
  .motoboy-stop-card{border-radius:16px;padding:13px 12px}
  .route-stop-actions.two-actions{grid-template-columns:1fr 1fr}
  .route-stop-actions .stop-action{min-height:46px}
  .route-reorder-buttons .reorder-arrow{flex:1;width:auto}
  .courier-collection-card{grid-template-columns:38px 1fr;padding:13px 12px}
  .courier-collection-pos{width:34px;height:34px}
  .mobilebar.courier-mobilebar{height:66px}
  .mobilebar.courier-mobilebar button{font-size:12px;font-weight:850}
}


/* v1.6 — identidade VETexpress + experiência mobile completa */
.vet-logo{
  display:block;
  flex:0 0 auto;
  background:currentColor;
  -webkit-mask:url('/vetexpress-logo.svg') center/contain no-repeat;
  mask:url('/vetexpress-logo.svg') center/contain no-repeat;
  aspect-ratio:169.5/65.25;
}
.logo-white{color:#fff}
.logo-green{color:var(--green2)}
.sidebar-brand-wrap{padding:4px 8px 20px;display:grid;gap:3px}
.sidebar-logo{width:168px;max-width:100%}
.sidebar-product-subtitle{font-size:11px;color:#b9d6ce;margin-left:2px}
.topbar-left{display:flex!important;flex-direction:row!important;align-items:center;gap:12px;min-width:0}
.topbar-logo{width:120px}
.login-logo{width:190px;margin:0 auto 3px}
.login-brand-subtitle{text-align:center;color:var(--muted);font-size:13px;margin:0 0 25px}
.mobile-menu-btn{display:none;border:0;background:#edf6f3;color:var(--deep);border-radius:10px;width:42px;height:42px;font-size:21px;font-weight:900;cursor:pointer}
.mobile-menu-overlay{display:none}

.mobile-collections{display:none}
.collection-mobile-card{padding:15px;display:grid;gap:12px}
.collection-mobile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.collection-mobile-head strong,.collection-mobile-head small{display:block}
.collection-mobile-head small{font-size:11px;color:var(--muted);margin-top:4px}
.collection-mobile-info{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.collection-mobile-info>div{padding:9px;border-radius:11px;background:#f4f8f6;min-width:0}
.collection-mobile-info span,.collection-mobile-info strong{display:block}
.collection-mobile-info span{font-size:10px;color:var(--muted);margin-bottom:3px}
.collection-mobile-info strong{font-size:12px;overflow:hidden;text-overflow:ellipsis}
.collection-mobile-note{font-size:13px;color:#506861;margin:0;padding:10px 11px;background:#fbfdfc;border:1px solid var(--line);border-radius:11px}
.collection-mobile-actions>.collection-actions{display:flex;gap:7px;flex-wrap:wrap}
.collection-mobile-actions>.collection-actions .btn{flex:1 1 135px}
.mobile-late{display:inline-flex;width:max-content}
.courier-collection-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.courier-collection-actions .btn:first-child{grid-column:1/-1}
.route-done{background:#eaf8f2;color:#176a51}
.collection-awaiting-route{margin-top:12px;padding:9px 10px;border-radius:10px;background:#f4f6f5;color:var(--muted);font-size:11px;font-weight:700}
.courier-primary-map{margin-bottom:18px}
.courier-stops-section{margin-top:18px}
.courier-primary-map .route-planner-map{min-height:420px}
.leaflet-tile-pane{filter:grayscale(1) saturate(.15) contrast(.92) brightness(1.05)}

@media(max-width:760px){
  body{overflow-x:hidden}
  .shell{display:block}
  .main{min-width:0}
  .sidebar{
    display:flex!important;
    position:fixed;
    z-index:100;
    left:0;
    top:0;
    bottom:0;
    width:min(84vw,310px);
    height:100dvh;
    transform:translateX(-105%);
    transition:transform .22s ease;
    box-shadow:18px 0 50px rgba(0,0,0,.18)
  }
  .mobile-menu-open .sidebar{transform:translateX(0)}
  .mobile-menu-overlay{
    display:block;
    position:fixed;
    inset:0;
    z-index:90;
    background:rgba(4,30,25,.42);
    opacity:0;
    pointer-events:none;
    transition:opacity .2s ease
  }
  .mobile-menu-open .mobile-menu-overlay{opacity:1;pointer-events:auto}
  .mobile-menu-btn{display:grid;place-items:center}
  .topbar{height:66px;padding:0 12px;gap:8px}
  .topbar-logo{width:105px}
  .topbar-sub{display:none}
  .topbar-actions{gap:6px}
  .online{font-size:10px;padding:6px 8px}
  .top-user{display:none}
  .content{padding:15px 12px 28px!important}
  .mobilebar{display:none!important}
  .page-head{margin-bottom:15px}
  .page-head h1{font-size:25px}
  .page-head>.btn,.page-head>button{width:100%}
  .desktop-collections{display:none!important}
  .mobile-collections{display:grid;gap:11px}
  .collection-mobile-info{grid-template-columns:1fr 1fr}
  .collection-mobile-info>div:last-child{grid-column:1/-1}
  .collection-mobile-actions>.collection-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .collection-mobile-actions>.collection-actions .btn{width:100%;min-height:44px}
  .collection-mobile-actions>.collection-actions .btn:first-child{grid-column:1/-1}
  .courier-collection-list{gap:12px}
  .courier-collection-card{grid-template-columns:38px 1fr;border-radius:17px;padding:14px 12px}
  .courier-collection-actions .btn{min-height:45px}
  .courier-shell .content{padding-bottom:28px!important}
  .courier-live-strip{position:static!important;margin-bottom:12px}
  .courier-live-strip .btn{width:auto}
  .courier-primary-map{padding:12px!important;border-radius:17px}
  .courier-primary-map .section-title{margin-bottom:8px}
  .courier-primary-map .route-planner-map{height:54vh;min-height:360px;max-height:560px;border-radius:13px}
  .courier-stops-section{margin-top:18px}
  .courier-stops-section>.section-title{margin-bottom:8px}
  .courier-route-actions{margin:8px 0 10px}
  .route-result-stats.compact-stats{grid-template-columns:1fr 1fr}
  .motoboy-stop-card{grid-template-columns:40px 1fr;padding:13px 11px}
  .route-stop-actions.two-actions{grid-template-columns:1fr 1fr}
  .route-reorder-buttons{display:grid;grid-template-columns:1fr 1fr}
  .route-reorder-buttons .reorder-arrow{width:100%}
  .route-segment-legend{overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}
  .route-segment-legend span{white-space:nowrap}
  .login{padding:18px}
  .login-card{padding:26px 20px}
  .login-logo{width:180px}
}

/* v1.7 — logo-símbolo + nome VETexpress e escala dinâmica dos motoboys */
.vet-brand{display:inline-flex;align-items:center;gap:9px;line-height:1;color:var(--green2);min-width:0}
.vet-brand.brand-white{color:#fff}.vet-brand.brand-green{color:var(--green2)}
.vet-symbol{display:block;flex:0 0 auto;width:45px;aspect-ratio:169.5/65.25;background:currentColor;-webkit-mask:url('/vetexpress-logo.svg') center/contain no-repeat;mask:url('/vetexpress-logo.svg') center/contain no-repeat}
.vet-brand-name{display:block;font-size:20px;font-weight:900;letter-spacing:-.035em;white-space:nowrap}
.sidebar-logo{width:auto;max-width:100%}.sidebar-logo .vet-symbol{width:50px}.sidebar-logo .vet-brand-name{font-size:21px}
.topbar-logo{width:auto}.topbar-logo .vet-symbol{width:38px}.topbar-logo .vet-brand-name{font-size:17px}
.login-logo{width:max-content;max-width:100%;margin:0 auto 5px}.login-logo .vet-symbol{width:62px}.login-logo .vet-brand-name{font-size:27px}

.route-shift-summary{border:1px solid #d5e7e1;background:#f7fbfa;border-radius:15px;padding:13px 14px;margin-bottom:10px}
.shift-current-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.shift-current-head>div span,.shift-current-head>div strong{display:block}.shift-current-head>div span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-weight:850}.shift-current-head>div strong{font-size:16px;margin-top:2px}.shift-live-dot{font-size:11px;font-weight:850;color:var(--green2);background:#e8f6f1;padding:6px 8px;border-radius:999px}
.shift-current-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.shift-current-grid>div{background:#fff;border:1px solid var(--line);border-radius:11px;padding:10px}.shift-current-grid span,.shift-current-grid strong{display:block}.shift-current-grid span{font-size:10px;color:var(--muted);margin-bottom:3px}.shift-current-grid strong{font-size:13px}
.route-shift-quick-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin:10px 0 18px}.shift-morning{background:#fff5d9;color:#815f00;border:1px solid #f2df9a}.shift-afternoon{background:#edf1ff;color:#4058a8;border:1px solid #d3dcff}
.config-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:13px;margin:11px 0 10px;border-top:1px solid #e6efec}.config-section-title>div strong,.config-section-title>div span{display:block}.config-section-title>div strong{font-size:13px}.config-section-title>div span{font-size:11px;color:var(--muted);margin-top:3px;line-height:1.35}
.route-current-grid{grid-template-columns:1fr 1fr}.shift-template-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.shift-template-card{border:1px solid var(--line);background:#fbfdfc;border-radius:13px;padding:12px}.shift-template-card label{margin-bottom:9px}.shift-template-card label:last-child{margin-bottom:0}.shift-template-name{font-size:12px;font-weight:900;color:var(--deep);margin-bottom:10px}
.route-config-collapsed-note .route-shift-summary{margin:0 0 8px;border:0;background:transparent;padding:0}.route-config-collapsed-note>.route-shift-summary .shift-current-grid>div{background:#fff}

@media(max-width:760px){
  .vet-symbol{width:37px}.vet-brand-name{font-size:17px}.topbar-logo .vet-symbol{width:34px}.topbar-logo .vet-brand-name{font-size:16px}.sidebar-logo .vet-symbol{width:46px}.sidebar-logo .vet-brand-name{font-size:20px}
  .route-shift-quick-actions{grid-template-columns:1fr 1fr}.route-shift-quick-actions .btn:last-child{grid-column:1/-1}.shift-current-grid,.shift-template-grid,.route-current-grid{grid-template-columns:1fr}.config-section-title{align-items:flex-start;flex-direction:column}.config-section-title .btn{width:100%}
}

/* v1.8 — módulo de Materiais + avisos em coleta/rota */
.material-route-alert{margin-top:9px;padding:9px 10px;border:1px solid #f0d59a;background:#fff8e8;border-radius:11px;display:flex;align-items:flex-start;gap:8px;color:#6b4d00}
.material-route-alert.urgent{border-color:#f0b3aa;background:#fff0ee;color:#8c2d20}
.material-route-alert.compact{padding:6px 8px;border-radius:9px;margin-top:6px;max-width:460px}
.material-route-alert .material-alert-icon{width:24px;height:24px;border-radius:7px;background:rgba(255,255,255,.7);display:grid;place-items:center;font-weight:900;flex:0 0 auto}
.material-route-alert strong,.material-route-alert small{display:block}.material-route-alert strong{font-size:11px}.material-route-alert small{font-size:10px;margin-top:2px;line-height:1.35;color:inherit;opacity:.85}
.material-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.material-summary{padding:16px}.material-summary span,.material-summary strong{display:block}.material-summary span{font-size:11px;color:var(--muted)}.material-summary strong{font-size:26px;margin-top:4px}
.material-shipment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.material-shipment-card{padding:16px;display:grid;gap:12px}.material-shipment-card.is-closed{opacity:.62}.material-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.material-card-head strong,.material-card-head small{display:block}.material-card-head small{font-size:11px;color:var(--muted);margin-top:4px}.material-card-badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.material-mode.urgent{background:#ffe8e4;color:#a53022}.material-mode.pickup{background:#edf2f7;color:#475569}.material-mode.standard{background:#e8f6f1;color:#176a51}.material-shipment-status.status-pendente{background:#fff5d9;color:#7a5b00}.material-shipment-status.status-entregue{background:#e7f7ef;color:#176a51}.material-shipment-status.status-cancelado{background:#f1f3f4;color:#64748b}
.material-card-items{border:1px solid var(--line);border-radius:12px;overflow:hidden}.material-card-items>div{display:grid;grid-template-columns:60px 1fr;gap:10px;padding:9px 11px;border-bottom:1px solid var(--line);align-items:center}.material-card-items>div:last-child{border-bottom:0}.material-card-items strong{font-size:15px;color:var(--green2)}.material-card-items span{font-size:12px}.material-card-note{display:grid;gap:3px;padding:10px 11px;background:#f8fbfa;border-radius:10px}.material-card-note strong{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.material-card-note span{font-size:12px}.material-card-due{font-size:11px;color:var(--muted)}.material-card-actions{display:flex;gap:8px;flex-wrap:wrap}
.material-form{display:grid;gap:0}.material-form-section{padding:18px 0;border-bottom:1px solid var(--line)}.material-form-section:first-child{padding-top:0}.material-form-section:last-of-type{border-bottom:0}.material-clinic-select{max-width:680px}.material-add-row{display:grid;grid-template-columns:160px minmax(260px,1fr) auto;align-items:end;gap:10px}.material-add-btn{height:43px}.label-with-action{display:flex;align-items:center;gap:7px}.inline-plus{width:24px;height:24px;border-radius:7px;border:0;background:var(--green2);color:#fff;font-weight:900;cursor:pointer;font-size:17px;line-height:1}.material-draft-wrap{margin-top:13px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.material-draft-table{width:100%;border-collapse:collapse}.material-draft-table th,.material-draft-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line)}.material-draft-table th{font-size:10px;text-transform:uppercase;letter-spacing:.05em;background:#f8fbfa;color:var(--muted)}.material-draft-table tr:last-child td{border-bottom:0}.material-draft-table th:first-child,.material-draft-table td:first-child{width:120px}.material-draft-table th:last-child,.material-draft-table td:last-child{width:90px;text-align:right}.material-remove-btn{border:0;background:transparent;color:#b4382d;font-size:11px;font-weight:800;cursor:pointer}.material-draft-wrap>.empty{padding:14px}
.material-mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.material-mode-option{position:relative;display:block;cursor:pointer}.material-mode-option input{position:absolute;opacity:0;pointer-events:none}.material-mode-option span{display:block;min-height:92px;border:1.5px solid var(--line);border-radius:13px;padding:12px 13px;background:#fbfdfc;transition:.15s}.material-mode-option strong,.material-mode-option small{display:block}.material-mode-option strong{font-size:13px;margin-bottom:4px}.material-mode-option small{font-size:10.5px;color:var(--muted);line-height:1.4}.material-mode-option span:before{content:'□';float:right;font-size:18px;color:#8ca39d}.material-mode-option input:checked+span{border-color:var(--green2);background:#eef9f5;box-shadow:0 0 0 2px rgba(15,157,119,.08)}.material-mode-option input:checked+span:before{content:'✓';color:var(--green2);font-weight:900}
.vet-modal-overlay{position:fixed;inset:0;background:rgba(3,29,23,.48);z-index:300;display:grid;place-items:center;padding:20px}.vet-modal{width:min(620px,100%);background:#fff;border-radius:18px;padding:20px;box-shadow:0 25px 80px rgba(0,0,0,.25)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.modal-head h2{margin:0;font-size:20px}.modal-head p{margin:4px 0 0;color:var(--muted);font-size:12px}.modal-close{border:0;background:#edf4f1;width:34px;height:34px;border-radius:9px;font-size:22px;cursor:pointer}
@media(max-width:760px){.material-summary-grid{grid-template-columns:1fr 1fr}.material-shipment-grid{grid-template-columns:1fr}.material-add-row{grid-template-columns:110px 1fr}.material-add-btn{grid-column:1/-1;width:100%}.material-mode-grid{grid-template-columns:1fr}.material-mode-option span{min-height:auto}.material-card-head{flex-direction:column}.material-card-badges{justify-content:flex-start}.material-card-actions{display:grid;grid-template-columns:1fr 1fr}.material-card-actions .btn{width:100%}.vet-modal{padding:16px}}

/* v1.8.1 - cards operacionais mais limpos no desktop e no mobile */
.material-route-alert{align-items:center}
.material-route-alert>div{min-width:0}
@media(max-width:760px){
  .material-route-alert{margin-top:8px;padding:8px 9px}
  .material-route-alert strong{font-size:10.5px;line-height:1.25}
  .material-route-alert .material-alert-icon{width:22px;height:22px}
}

/* v1.9 — comprovante de entrega de materiais + assinatura digital */
.delivery-proof-overlay{z-index:420}.delivery-proof-modal{width:min(720px,100%);max-height:min(90vh,900px);overflow:auto}.delivery-proof-section{padding:14px 0;border-top:1px solid var(--line)}.delivery-proof-section:first-of-type{border-top:0;padding-top:2px}.delivery-section-title{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.055em;color:var(--muted);margin-bottom:9px}.delivery-item-list{border:1px solid var(--line);border-radius:13px;overflow:hidden}.delivery-item-list>div{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 12px;border-bottom:1px solid var(--line);background:#fff}.delivery-item-list>div:last-child{border-bottom:0}.delivery-item-list span{font-size:13px}.delivery-item-list strong{font-size:13px;color:var(--green2);white-space:nowrap}.signature-field-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.signature-field-head strong,.signature-field-head small{display:block}.signature-field-head small{font-size:11px;color:var(--muted);margin-top:3px}.signature-preview{position:relative;margin-top:10px;min-height:130px;border:1px dashed #b8cbc5;border-radius:13px;background:#fff;display:grid;place-items:center;overflow:hidden}.signature-preview.empty-signature{background:#fbfdfc;color:var(--muted);font-size:12px}.signature-preview img{display:block;width:100%;height:150px;object-fit:contain;background:#fff}.signature-redo{position:absolute;right:8px;bottom:8px;border:1px solid #d7e5e0;background:rgba(255,255,255,.94);color:var(--green2);border-radius:8px;padding:6px 9px;font-size:10px;font-weight:850;cursor:pointer}.delivery-proof-actions{padding-top:4px}
.signature-overlay{z-index:500;background:rgba(3,29,23,.72)}.signature-modal{width:min(980px,100%);background:#f7faf9;border-radius:20px;padding:18px;box-shadow:0 26px 90px rgba(0,0,0,.34)}.signature-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px}.signature-modal-head h2{margin:0}.signature-modal-head p{margin:4px 0 0;color:var(--muted);font-size:12px}.signature-canvas-wrap{background:#fff;border:2px solid #d8e4e0;border-radius:14px;overflow:hidden;box-shadow:inset 0 0 0 1px #fff}.signature-canvas-wrap canvas{display:block;width:100%;height:min(42vh,340px);min-height:230px;background:#fff;touch-action:none;cursor:crosshair}.signature-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}.signature-actions>div{display:flex;gap:8px}
@media(max-width:760px){.delivery-proof-overlay{padding:0;place-items:end center}.delivery-proof-modal{width:100%;max-height:92vh;border-radius:20px 20px 0 0;padding:17px}.signature-field-head{align-items:flex-start;flex-direction:column}.signature-field-head .btn{width:100%}.delivery-proof-actions{display:grid;grid-template-columns:1fr}.signature-overlay{padding:0}.signature-modal{width:100%;height:100%;border-radius:0;padding:14px;display:flex;flex-direction:column}.signature-canvas-wrap{flex:1;display:flex;min-height:0}.signature-canvas-wrap canvas{height:100%;min-height:260px}.signature-actions{flex-direction:column;align-items:stretch}.signature-actions>div{display:grid;grid-template-columns:1fr 1fr}.signature-actions>.btn{width:100%}.signature-actions>div .btn{width:100%}}

/* v2.0 — recolhimento do motoboy, evidências e triagem da recepção */
.collection-note-toggle{margin-top:9px}.note-expand-btn{border:0;background:transparent;color:var(--green2);font-size:11px;font-weight:850;padding:3px 0;cursor:pointer;display:flex;align-items:center;gap:6px}.note-expand-btn span{font-size:14px}.collection-note-collapsed{display:none;margin-top:5px;padding:9px 10px;background:#f7faf9;border:1px solid var(--line);border-radius:10px}.collection-note-collapsed.open{display:block}.collection-note-collapsed p{margin:0!important;font-size:12px!important;line-height:1.45;color:#506861}.route-note-toggle{margin:8px 0 0}

.pickup-overlay{z-index:440}.pickup-modal{width:min(760px,100%);max-height:min(92vh,920px);overflow:auto}.pickup-counter-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:10px 0 14px}.pickup-counter-card{padding:14px;border:1px solid var(--line);border-radius:14px;background:#f8fbfa;display:flex;justify-content:space-between;align-items:center;gap:14px}.pickup-counter-card>span{font-size:12px;font-weight:800;color:#415f57}.pickup-counter{display:grid;grid-template-columns:42px 50px 42px;align-items:center;gap:4px}.pickup-counter button{height:42px;border:0;border-radius:10px;background:#e4f3ee;color:var(--green2);font-size:25px;font-weight:900;cursor:pointer;touch-action:manipulation}.pickup-counter button:active{transform:scale(.96)}.pickup-counter strong{text-align:center;font-size:22px;color:var(--deep)}
.pickup-online-check{display:flex!important;align-items:flex-start;gap:10px;padding:12px 13px!important;border:1px solid var(--line);border-radius:13px;background:#fff;margin-bottom:14px}.pickup-online-check input{width:20px!important;height:20px!important;margin-top:1px}.pickup-online-check strong,.pickup-online-check small{display:block}.pickup-online-check strong{font-size:13px}.pickup-online-check small{font-size:10.5px;color:var(--muted);margin-top:3px;line-height:1.4}
.pickup-camera-section{border:1px solid var(--line);border-radius:14px;padding:13px;margin-bottom:14px}.pickup-camera-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.pickup-camera-head strong,.pickup-camera-head small{display:block}.pickup-camera-head strong{font-size:13px}.pickup-camera-head small{font-size:10.5px;color:var(--muted);margin-top:3px}.camera-btn{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:7px;padding:9px 11px!important;border:0!important;border-radius:10px!important;background:var(--green2)!important;color:#fff!important;cursor:pointer;font-size:11px;font-weight:850;white-space:nowrap}.camera-btn span{font-size:18px}.camera-file-input{display:none!important}.pickup-photo-carousel{display:flex;gap:9px;overflow-x:auto;padding:12px 1px 2px;min-height:90px}.pickup-photo-empty{display:grid;place-items:center;width:100%;min-height:78px;border:1px dashed #cad9d4;border-radius:11px;color:var(--muted);font-size:11px;background:#fbfdfc}.pickup-photo-item{position:relative;flex:0 0 112px;height:86px;border-radius:11px;overflow:hidden;border:1px solid var(--line);background:#eef4f2}.pickup-photo-item img{width:100%;height:100%;object-fit:cover;display:block}.pickup-photo-item>span{position:absolute;left:6px;bottom:6px;background:rgba(0,0,0,.62);color:#fff;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:900}.pickup-photo-item>button{position:absolute;right:5px;top:5px;width:25px;height:25px;border:0;border-radius:50%;background:rgba(255,255,255,.93);color:#b43c30;font-size:17px;font-weight:900;cursor:pointer}.pickup-notes-label textarea{min-height:90px}.pickup-final-actions{margin-top:14px}

.dashboard-attention-first{align-items:start}.pickup-dashboard-list{display:grid;gap:9px}.pickup-dashboard-card{border:1px solid var(--line);border-radius:13px;background:#fff;overflow:hidden}.pickup-dashboard-card.unseen{border-color:#efc56d;background:#fffdf6;box-shadow:inset 4px 0 0 #efb636}.pickup-card-main{width:100%;border:0;background:transparent;display:grid;grid-template-columns:10px minmax(0,1fr) auto 18px;gap:10px;align-items:center;padding:12px;text-align:left;cursor:pointer}.pickup-card-status-dot{width:8px;height:8px;border-radius:50%;background:#9fb2ac}.pickup-dashboard-card.unseen .pickup-card-status-dot{background:#e7a91e;box-shadow:0 0 0 4px rgba(231,169,30,.12)}.pickup-card-copy strong,.pickup-card-copy small{display:block}.pickup-card-copy strong{font-size:13px}.pickup-card-copy small{font-size:10.5px;color:var(--muted);margin-top:3px}.pickup-counts{font-size:10.5px;color:#526a63;white-space:nowrap}.pickup-counts b{font-size:13px;color:var(--deep)}.pickup-expand{color:var(--muted);font-size:16px}.pickup-dashboard-detail{display:none;border-top:1px solid var(--line);padding:12px;background:#fbfdfc}.pickup-dashboard-detail.open{display:block}.pickup-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.pickup-detail-grid>div{padding:9px;border-radius:10px;background:#fff;border:1px solid var(--line)}.pickup-detail-grid span,.pickup-detail-grid strong{display:block}.pickup-detail-grid span{font-size:9.5px;color:var(--muted)}.pickup-detail-grid strong{font-size:12px;margin-top:2px}.pickup-note{margin-top:10px;padding:10px;border-radius:10px;background:#fff;border:1px solid var(--line)}.pickup-note span{font-size:9.5px;text-transform:uppercase;color:var(--muted);font-weight:800}.pickup-note p{margin:4px 0 0;font-size:12px;color:#4b645c}.pickup-photo-strip{display:flex;gap:8px;overflow-x:auto;margin-top:10px;min-height:70px;align-items:center}.pickup-photo-strip button{border:0;padding:0;background:transparent;cursor:pointer;flex:0 0 92px;height:68px;border-radius:9px;overflow:hidden}.pickup-photo-strip img{width:100%;height:100%;object-fit:cover;display:block}.pickup-review-actions{display:flex;justify-content:flex-end;margin-top:11px}.pickup-reviewed-label{margin-top:10px;color:#2d7a62;font-size:10.5px;font-weight:800}.pickup-recent-panel{margin-top:16px}.pickup-photo-viewer{z-index:520;background:rgba(3,22,18,.82)}.pickup-photo-viewer-box{position:relative;width:min(900px,95vw);max-height:92vh;display:grid;gap:8px;place-items:center}.pickup-photo-viewer-box img{max-width:100%;max-height:84vh;border-radius:12px;background:#fff}.pickup-photo-viewer-box small{color:#fff}.pickup-photo-viewer-box .modal-close{position:absolute;right:0;top:-42px}

@media(max-width:760px){
  .pickup-overlay{padding:0;place-items:end center}.pickup-modal{width:100%;max-height:94vh;border-radius:20px 20px 0 0;padding:16px}.pickup-counter-grid{grid-template-columns:1fr}.pickup-counter-card{padding:12px}.pickup-counter{grid-template-columns:46px 54px 46px}.pickup-counter button{height:46px;font-size:27px}.pickup-camera-head{align-items:flex-start}.camera-btn{padding:9px!important}.camera-btn b{display:none}.pickup-photo-item{flex-basis:104px;height:82px}.pickup-final-actions{display:grid;grid-template-columns:1fr}.pickup-final-actions .btn{width:100%;min-height:46px}
  .pickup-card-main{grid-template-columns:9px minmax(0,1fr) 18px}.pickup-counts{grid-column:2/3;white-space:normal}.pickup-expand{grid-column:3;grid-row:1/3}.pickup-detail-grid{grid-template-columns:1fr 1fr}.pickup-review-actions .btn{width:100%}
}

/* v2.1 — mobile robusto + janelas de funcionamento nas rotas */
.route-planner-map,.clinic-map{position:relative;z-index:0;isolation:isolate}
.route-planner-map .leaflet-control-container,.clinic-map .leaflet-control-container{position:relative;z-index:5}
.route-planner-map .leaflet-control-attribution,.clinic-map .leaflet-control-attribution{max-width:78%;white-space:normal;line-height:1.15;font-size:9px}
.schedule-route-note{background:#fff8e8;color:#785d16;border:1px solid #eed799;margin-top:10px;display:flex;flex-direction:column;gap:3px}
.schedule-priority-chip{background:#fff0c7!important;color:#805d00!important;border:1px solid #efd184}
.schedule-eta-chip{background:#eef4f8!important;color:#3c5969!important}
.schedule-late-chip{background:#fff0ee!important;color:#b13d34!important;border:1px solid #f3c9c5}
.schedule-break-chip{background:#f3efff!important;color:#67509e!important;border:1px solid #ddd3f7}
.pickup-photo-upload-status{min-height:18px;font-size:11px;font-weight:800;color:var(--green2);padding-top:5px}

@media(max-width:760px){
  .sidebar{z-index:3000!important}
  .mobile-menu-overlay{z-index:2900!important}
  .vet-modal-overlay{z-index:4000!important}
  .pickup-overlay{z-index:4100!important}
  .signature-overlay{z-index:4200!important}
  .pickup-photo-viewer{z-index:4300!important}
  .route-planner-map,.clinic-map{z-index:0!important;isolation:isolate}
  .leaflet-control{max-width:calc(100vw - 46px)}
  input,select,textarea{max-width:100%;min-width:0}
  .pickup-modal{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-bottom:calc(16px + env(safe-area-inset-bottom))}
  .pickup-final-actions{position:sticky;bottom:-16px;z-index:12;background:rgba(255,255,255,.97);padding:12px 0 calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);backdrop-filter:blur(8px)}
  .pickup-camera-head{min-width:0}.pickup-camera-head>div{min-width:0}.pickup-camera-head strong,.pickup-camera-head small{overflow-wrap:anywhere}
  .stop-meta{align-items:flex-start}.stop-meta span{white-space:normal;line-height:1.25}
}

/* v2.2 — operação simplificada, perfil, histórico e solicitação da clínica */
.sidebar-user-profile{align-items:center;gap:10px}.sidebar-profile-photo,.avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;display:grid;place-items:center;flex:0 0 42px}.sidebar-profile-photo{border:2px solid rgba(255,255,255,.65)}
.user-name-cell{display:flex;align-items:center;gap:10px}.user-list-photo{width:38px;height:38px;border-radius:50%;object-fit:cover;flex:0 0 38px}.user-list-photo.fallback{display:grid;place-items:center;background:#e5f2ee;color:var(--green2);font-weight:900}.user-name-cell>span strong,.user-name-cell>span small{display:block}
.user-photo-editor{display:flex;align-items:center;gap:14px;margin:0 0 16px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#f9fbfa}.user-photo-preview{width:82px;height:82px;border-radius:50%;overflow:hidden;background:#e6f2ee;color:var(--green2);display:grid;place-items:center;font-size:28px;font-weight:900;flex:0 0 82px}.user-photo-preview img{width:100%;height:100%;object-fit:cover}.file-btn{display:inline-flex!important;width:auto!important}.link-btn{border:0;background:transparent;color:var(--green2);font-weight:800;font-size:11px;cursor:pointer;padding:4px 6px}.danger-link{color:#b43c30}.collection-utility{display:flex;gap:4px;align-items:center;margin-top:5px}.accept-wrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cancelled-table-row,.cancelled-card{opacity:.74;background:#fafafa}.cancel-reason,.cancel-reason-inline{margin-top:8px;padding:8px 10px;border-radius:9px;background:#f4f4f4;color:#5f6463;font-size:11px}.cancel-reason.compact{max-width:520px}.pickup-dashboard-card.cancelled-recent{border-color:#dfe3e2;background:#fafafa}.pickup-card-main.static{cursor:default;grid-template-columns:10px minmax(0,1fr) auto}.pickup-card-status-dot.cancel{background:#a7afad}.clinic-link-btn{white-space:nowrap}
.history-filters{display:grid;grid-template-columns:minmax(240px,2fr) 160px 150px 140px 140px;gap:10px;align-items:end;margin-bottom:14px}.history-filters label{margin:0}.history-table td{vertical-align:top}.history-table td:last-child{min-width:280px;white-space:normal}.history-export-actions{display:flex;gap:8px}.public-request-card textarea{min-height:110px}.public-success{margin-top:18px;text-align:center}.public-success strong{font-size:18px;display:inline-block;margin:6px 0}

@media(max-width:900px){.history-filters{grid-template-columns:1fr 1fr}.history-filters>input:first-child{grid-column:1/-1}}
@media(max-width:760px){
  .sidebar-user-profile{padding:12px}.sidebar-profile-photo,.avatar{width:46px;height:46px;flex-basis:46px}
  .user-photo-editor{align-items:flex-start}.user-photo-preview{width:72px;height:72px;flex-basis:72px}
  .accept-wrap{align-items:flex-start;flex-direction:column}.collection-mobile-head .accept-wrap{align-items:flex-end}.collection-utility{margin-top:10px}
  .history-filters{grid-template-columns:1fr}.history-filters>input:first-child{grid-column:auto}.history-export-actions{width:100%}.history-export-actions .btn{flex:1}.history-table-wrap{overflow-x:auto}.history-table{min-width:850px}
  .clinic-meta{flex-wrap:wrap}.clinic-link-btn,.clinic-edit-btn{flex:1 1 auto}
}
.cancel-modal{width:min(520px,94vw)}.cancel-modal textarea{min-height:120px}.cancel-modal .form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
@media(max-width:760px){.cancel-modal{width:100%;border-radius:20px 20px 0 0}.cancel-modal .form-actions{display:grid;grid-template-columns:1fr}.cancel-modal .btn{width:100%}}

/* v2.3 — materiais enxutos, calendário de envio e coletas agrupadas */
.page-head-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.material-view-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 10px}.material-view-title strong{font-size:14px}.material-view-title span{font-size:11px;color:var(--muted)}
.material-card-dates{display:grid;grid-template-columns:1fr 1fr;gap:8px}.material-card-dates>div{padding:10px 11px;border-radius:11px;border:1px solid #dce9e5;background:#f8fbfa}.material-card-dates>div:nth-child(2){background:#eef8f4;border-color:#cfe7de}.material-card-dates>div.delivered-date{grid-column:1/-1;background:#e9f7ef;border-color:#c9e9d8}.material-card-dates span,.material-card-dates strong{display:block}.material-card-dates span{font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;font-weight:850;color:var(--muted)}.material-card-dates strong{font-size:12.5px;margin-top:4px;color:var(--deep)}
.warning-soft{background:#fff6dd!important;border:1px solid #eed795!important;color:#765b08!important}

.collection-filters{display:grid;grid-template-columns:minmax(240px,2fr) 180px 170px auto;gap:10px;align-items:end;margin-bottom:16px}.collection-filters label{margin:0}.collection-filter-clear{height:43px;white-space:nowrap}
.collection-date-block{margin:0 0 20px}.collection-date-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:9px;padding:0 2px}.collection-date-head span{font-size:9px;letter-spacing:.08em;font-weight:900;color:var(--muted)}.collection-date-head h2{font-size:17px;margin:2px 0 0}.collection-date-head>strong{font-size:11px;color:var(--muted);font-weight:800}.collection-date-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.collection-group-card{display:grid;gap:8px;margin:0!important}.collection-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.collection-card-footer .collection-utility{margin:0}.collection-pickup-btn{margin-left:auto}
.pickup-review-modal{width:min(760px,94vw);max-height:90vh;overflow:auto}.collection-pickup-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:12px}.collection-pickup-photo-grid button{position:relative;border:0;padding:0;border-radius:11px;overflow:hidden;background:#edf4f1;aspect-ratio:4/3;cursor:pointer}.collection-pickup-photo-grid img{width:100%;height:100%;object-fit:cover;display:block}.collection-pickup-photo-grid button span{position:absolute;right:6px;bottom:6px;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.62);color:#fff;font-size:10px;font-weight:900}.pickup-review-grid{margin-top:6px}

@media(max-width:900px){.collection-filters{grid-template-columns:1fr 1fr}.collection-filters label:first-child{grid-column:1/-1}.collection-date-grid{grid-template-columns:1fr}}
@media(max-width:760px){
  .page-head-actions{width:100%;display:grid;grid-template-columns:1fr}.page-head-actions .btn{width:100%}
  .material-card-dates{grid-template-columns:1fr}.material-card-dates>div.delivered-date{grid-column:auto}.material-shipment-grid{grid-template-columns:1fr}
  .collection-filters{grid-template-columns:1fr}.collection-filters label:first-child{grid-column:auto}.collection-filter-clear{width:100%}
  .collection-date-head{align-items:center}.collection-date-grid{grid-template-columns:1fr}.collection-card-footer{display:grid;grid-template-columns:1fr}.collection-pickup-btn{width:100%;margin:0}.collection-card-footer .collection-utility{justify-content:flex-start}
  .pickup-review-modal-overlay{padding:0;place-items:end center}.pickup-review-modal{width:100%;max-height:94vh;border-radius:20px 20px 0 0}.collection-pickup-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .delivery-proof-actions{grid-template-columns:1fr!important}.delivery-proof-actions .btn{width:100%}
}

/* v2.4 — filtros estáveis, comprovantes e atalho Waze */
.filter-form-grid{display:grid;grid-template-columns:minmax(220px,2fr) minmax(150px,1fr) minmax(145px,1fr) minmax(145px,1fr) auto;gap:10px;align-items:end;margin-bottom:14px}
.filter-form-grid label{margin:0}.filter-actions{display:flex;gap:8px;align-items:end}.filter-actions .btn{min-height:43px;white-space:nowrap}
.material-filters{margin-top:14px}.material-proof-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:11px;margin-top:10px}.material-proof-summary span,.material-proof-summary strong{display:block}.material-proof-summary span{font-size:9.5px;text-transform:uppercase;color:var(--muted);font-weight:850}.material-proof-summary strong{font-size:12px;margin-top:3px}.material-proof-modal{width:min(680px,94vw);max-height:90vh;overflow:auto}.proof-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.proof-meta-grid>div{padding:11px;border:1px solid var(--line);border-radius:11px;background:#f8fbfa}.proof-meta-grid span,.proof-meta-grid strong{display:block}.proof-meta-grid span{font-size:9.5px;text-transform:uppercase;color:var(--muted);font-weight:850}.proof-meta-grid strong{margin-top:4px;font-size:12px}.signature-proof{margin-top:12px}.signature-proof>span{display:block;font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:850;margin-bottom:7px}.signature-proof img{width:min(100%,520px);max-height:180px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px}.pickup-linked-deliveries{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.pickup-delivery-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px;border:1px solid var(--line);border-radius:12px;background:#f8fbfa;margin-top:8px}.pickup-delivery-card strong,.pickup-delivery-card small{display:block}.pickup-delivery-card strong{font-size:12px}.pickup-delivery-card small{font-size:10px;color:var(--muted);margin-top:3px}.pickup-delivery-card img{width:130px;height:58px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:9px}.route-actions-three{display:grid!important;grid-template-columns:.85fr 1fr 1fr;gap:7px}.stop-action.waze{background:#eaf7ff!important;color:#23647b!important;border:1px solid #c7e7f3!important}
@media(max-width:980px){.filter-form-grid{grid-template-columns:1fr 1fr}.filter-form-grid>label:first-child{grid-column:1/-1}.filter-actions{grid-column:1/-1}}
@media(max-width:760px){.filter-form-grid{grid-template-columns:1fr}.filter-form-grid>label:first-child,.filter-actions{grid-column:auto}.filter-actions{display:grid;grid-template-columns:1fr 1fr}.filter-actions .btn{width:100%}.material-proof-summary{align-items:flex-start;flex-direction:column}.material-proof-summary .btn{width:100%}.proof-meta-grid{grid-template-columns:1fr}.pickup-delivery-card{align-items:flex-start;flex-direction:column}.pickup-delivery-card img{width:100%;height:72px}.route-actions-three{grid-template-columns:1fr}.route-actions-three .btn{width:100%}}

/* v2.5 — login por usuário e Portal geral das Clínicas */
.login-switch{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;margin-top:15px;padding-top:14px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}
.login-switch a{font-weight:900;color:var(--green);text-decoration:none}.login-switch a:hover{text-decoration:underline}
.clinic-login .login-card{border-top:4px solid var(--green)}
.clinic-access-section{border-color:#cfe7de;background:linear-gradient(180deg,#fbfefd,#f6fbf9)}
.clinic-portal{min-height:100vh;background:#f3f7f5;padding:28px 16px 50px}.clinic-portal-shell{width:min(760px,100%);margin:0 auto;display:grid;gap:14px}.clinic-portal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 2px}.clinic-portal-logo{font-size:1.1rem}.clinic-portal-welcome h1{margin:4px 0 5px}.clinic-portal-address{margin-top:12px;padding:10px 12px;border-radius:11px;background:#eef7f3;border:1px solid #d1e7de;color:var(--deep);font-size:11px;font-weight:750}.clinic-portal-request textarea{min-height:100px}.clinic-portal-recent{display:grid;gap:8px}.clinic-portal-recent-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:#fbfdfc}.clinic-portal-recent-row strong,.clinic-portal-recent-row small{display:block}.clinic-portal-recent-row small{margin-top:3px;color:var(--muted);font-size:10px}
.history-table td:nth-child(7){white-space:nowrap}
@media(max-width:760px){.clinic-portal{padding:16px 10px 34px}.clinic-portal-head{position:sticky;top:0;z-index:20;background:rgba(243,247,245,.94);backdrop-filter:blur(8px);padding:8px 2px}.clinic-portal-recent-row{align-items:flex-start}.clinic-access-section .form-grid{grid-template-columns:1fr}.login-switch{align-items:flex-start;flex-direction:column}}

/* v2.6 — Configurações + Portal da Clínica */
.settings-page-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.settings-card{overflow:visible}.settings-time-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.settings-card textarea{min-height:110px}.settings-base-map{height:300px;border-radius:18px;overflow:hidden;margin-top:14px;border:1px solid var(--line,#dde6e2);background:#eef2f1;position:relative}.settings-base-map .leaflet-tile-pane{filter:grayscale(1) saturate(.25) brightness(1.04)}.route-operation-summary{margin-bottom:14px}.clinic-lab-notice{background:#fff7d6;border:1px solid #f0d36c;border-radius:16px;padding:14px 16px;color:#594400}.clinic-lab-notice strong{display:block;margin-bottom:4px}.clinic-lab-notice p{margin:0;white-space:pre-wrap}.clinic-request-hours{display:flex;justify-content:space-between;align-items:center;gap:16px}.clinic-request-hours h3{margin:3px 0}.request-open-chip{padding:8px 11px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}.request-open-chip.open{background:#e8f8f1;color:#087253}.request-open-chip.closed{background:#fff0ee;color:#b23a2b}.portal-form-section{border-top:1px solid #e6ece9;padding-top:15px;margin-top:15px}.portal-route-choice,.portal-address-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.portal-choice{display:flex;align-items:flex-start;gap:10px;border:1px solid #dbe5e1;border-radius:14px;padding:12px;background:#fff;cursor:pointer}.portal-choice input{margin-top:3px;accent-color:#15956f}.portal-choice span{display:flex;flex-direction:column;gap:2px}.portal-choice small{color:#6b7c75}.portal-choice:has(input:checked){border-color:#15956f;background:#eefaf5;box-shadow:0 0 0 2px rgba(21,149,111,.08)}.portal-choice.disabled{opacity:.48;cursor:not-allowed}.portal-momentary-address{margin:14px 0;padding:14px;border:1px dashed #c9d9d2;border-radius:16px;background:#f8fbfa}.portal-momentary-address.hidden{display:none}.portal-address-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.portal-location-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0 12px}.portal-habitual-request{display:flex!important;align-items:flex-start;gap:10px!important;padding:12px;border-radius:12px;background:#eff8f4}.portal-habitual-request input{width:auto;margin-top:3px}.portal-habitual-request span{display:flex;flex-direction:column}.clinic-portal-recent-row{display:grid!important;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px}.portal-sequence{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e9f7f1;color:#0d7659;font-weight:900}.portal-recent-main{display:flex;flex-direction:column;min-width:0}.portal-recent-main>strong{font-size:15px}.portal-recent-main small{color:#6e7e78}.portal-recent-side{display:flex;align-items:flex-end;gap:7px;flex-direction:column}.cancel-text{color:#ad4339!important}.clinic-cancel-modal .alert{margin:12px 0}.address-change-card{border-color:#d8e6ff!important;background:#f8fbff!important}.pickup-card-status-dot.address{background:#4f7fd6!important}.address-change-detail{padding:0 16px 14px 48px}.address-change-detail p{margin:4px 0}.settings-route-card .route-shift-summary{margin-bottom:12px}
@media(max-width:900px){.settings-time-grid{grid-template-columns:1fr 1fr}.settings-page-grid{display:block}.settings-card{margin-bottom:14px}.portal-route-choice,.portal-address-choice{grid-template-columns:1fr}.clinic-request-hours{align-items:flex-start}.portal-address-grid{grid-template-columns:1fr}.clinic-portal-recent-row{grid-template-columns:38px minmax(0,1fr)}.portal-recent-side{grid-column:2;flex-direction:row;align-items:center}.address-change-detail{padding-left:14px}}
@media(max-width:560px){.settings-time-grid{grid-template-columns:1fr}.clinic-request-hours{flex-direction:column}.request-open-chip{align-self:flex-start}.portal-choice{padding:11px}.clinic-portal-shell{padding-left:10px;padding-right:10px}.portal-recent-main>strong{font-size:14px}.address-change-detail .pickup-review-actions{display:grid;grid-template-columns:1fr}.settings-base-map{height:240px}}

/* v2.7 — horários por turno, cards compactos e base por endereço */
.clinic-hours-block{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fbfdfc}.clinic-hours-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-end;margin-bottom:10px}.clinic-hours-title strong{font-size:14px}.clinic-hours-title span{font-size:11px;color:var(--muted)}.clinic-hours-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.clinic-hours-grid label{margin:0}
.settings-shift-time-block{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(260px,1.2fr);gap:16px;align-items:end;padding:14px 0;border-bottom:1px solid var(--line)}.settings-shift-time-block:first-of-type{padding-top:0}.settings-shift-title{display:flex;flex-direction:column;gap:3px}.settings-shift-title strong{font-size:14px}.settings-shift-title span{font-size:11px;color:var(--muted)}.settings-time-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.settings-base-address-grid{display:grid;grid-template-columns:1fr 1.5fr .9fr;gap:12px}.settings-base-address-grid .span-2{grid-column:span 2}.settings-base-status-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px}.route-factor-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.portal-choice{min-height:76px;align-items:center}.portal-choice input[type="radio"]{appearance:auto!important;-webkit-appearance:radio!important;width:18px!important;min-width:18px!important;height:18px!important;max-width:18px!important;flex:0 0 18px!important;margin:0!important;padding:0!important}.portal-route-choice.single{grid-template-columns:1fr}.portal-habitual-request input[type="checkbox"]{appearance:auto!important;-webkit-appearance:checkbox!important;width:18px!important;min-width:18px!important;height:18px!important;max-width:18px!important;flex:0 0 18px!important;margin:1px 0 0!important}.portal-choice.disabled{background:#f3f5f4;border-style:dashed}.portal-choice.disabled span b{color:#65716d}.alert.info{background:#edf5ff;border:1px solid #bed8f8;color:#345d83}
@media(max-width:900px){.clinic-hours-grid{grid-template-columns:1fr 1fr}.settings-shift-time-block{grid-template-columns:1fr}.settings-base-address-grid{grid-template-columns:1fr 1fr}.settings-base-address-grid .span-2{grid-column:1/-1}}
@media(max-width:560px){.clinic-hours-grid,.settings-time-pair,.settings-base-address-grid,.route-factor-grid{grid-template-columns:1fr}.settings-base-address-grid .span-2{grid-column:auto}.clinic-hours-title{align-items:flex-start;flex-direction:column}.portal-choice{min-height:68px}}

/* v2.8 — duas colunas de coletas, troca de rota e visão geral mobile */
.ui-icon{width:17px;height:17px;display:inline-block;vertical-align:-3px;flex:0 0 auto}.icon-btn{display:inline-flex!important;align-items:center;justify-content:center;gap:7px}.icon-only{display:grid!important;place-items:center;padding:8px!important}.waze-brand-icon{width:18px;height:18px;object-fit:contain;border-radius:4px;display:block}.stop-action.waze{background:#eef8ff!important;color:#1b6a82!important;border:1px solid #cae8f4!important}.stop-action.transfer{background:#eef7f4!important;color:var(--green2)!important;border:1px solid #cce5dd!important}
.collection-filters-compact{grid-template-columns:minmax(200px,1.5fr) minmax(150px,.8fr) minmax(150px,.8fr) 145px auto}.collection-route-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.collection-route-board.single{grid-template-columns:1fr}.collection-route-column{min-width:0}.collection-route-column-head{display:flex;justify-content:space-between;align-items:end;gap:10px;padding:0 3px 9px;border-bottom:2px solid #dce9e4;margin-bottom:10px}.collection-route-column-head span{font-size:9px;letter-spacing:.11em;font-weight:900;color:var(--green2)}.collection-route-column-head h2{margin:2px 0 0;font-size:18px}.collection-route-column-head>strong{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#e8f5f0;color:var(--green2);font-size:12px}.collection-route-card-list{display:grid;gap:10px}.route-transfer-chip{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:6px 8px;border-radius:999px;font-size:10px;font-weight:850;width:max-content;max-width:100%}.route-transfer-chip .ui-icon{width:14px;height:14px}.route-transfer-chip.pending{background:#fff4d8;color:#72520c;border:1px solid #ebd38d}.route-transfer-chip.done{background:#e7f7ef;color:#0d7358;border:1px solid #c5e7d7}.route-transfer-chip.rejected{background:#f3f3f3;color:#6f7472;border:1px solid #dadedd}.transfer-approval-state{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.transfer-approval-state span{display:inline-flex;align-items:center;gap:4px;font-size:9px;font-weight:800;padding:5px 7px;border-radius:999px;background:#f2f4f3;color:#71807a}.transfer-approval-state span.ok{background:#e9f7ef;color:#0b7557}.transfer-approval-state .ui-icon{width:12px;height:12px}.transfer-decision-actions{display:flex;gap:7px;flex-wrap:wrap}.transfer-route-preview{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px;border-radius:13px;background:#f2f8f6;margin:12px 0}.transfer-route-preview .ui-icon{color:var(--green);width:22px;height:22px}.incoming-transfer-section{margin-bottom:18px}.incoming-transfer-card{border-color:#e8cf88;background:#fffdf5}.incoming-transfer-card .courier-collection-pos{background:#fff0bd;color:#76550a}.incoming-transfer-card .courier-collection-pos .ui-icon{width:20px;height:20px}.route-transfer-dashboard{border-color:#ead79c!important;background:#fffdf6!important}.pickup-card-status-dot.transfer{background:#d7a928}.route-actions-four{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.route-actions-four .btn,.route-actions-three .btn{min-width:0}.route-actions-four .btn span,.route-actions-three .btn span{overflow:hidden;text-overflow:ellipsis}
.courier-view-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:12px;padding:5px;border-radius:14px;background:#eaf2ef}.courier-view-tabs button{border:0;border-radius:10px;background:transparent;color:#567069;font-weight:800;font-size:11px;padding:9px 7px;display:flex;align-items:center;justify-content:center;gap:5px;cursor:pointer}.courier-view-tabs button.active{background:white;color:var(--green2);box-shadow:0 3px 12px rgba(20,75,62,.08)}.courier-view-tabs .ui-icon{width:15px;height:15px}.general-route-legend{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:10px;font-size:11px;font-weight:800;color:#526a63}.general-route-legend span{display:flex;align-items:center;gap:6px}.route-color-dot{width:12px;height:12px;border-radius:50%;display:inline-block}.route-color-dot.route-one{background:#159174}.route-color-dot.route-two{background:#3b82f6}.general-number-icon{background:transparent!important;border:0!important}.general-number-icon span{min-width:34px!important;width:auto!important;padding:0 6px!important;border-radius:17px!important;color:#fff!important;font-size:10px!important}.courier-location-icon.live span{display:block;width:16px;height:16px;border-radius:50%;background:#1f7ae0;border:3px solid white;box-shadow:0 0 0 3px rgba(31,122,224,.23)}
@media(max-width:1100px){.collection-route-board{grid-template-columns:1fr}.collection-filters-compact{grid-template-columns:1fr 1fr}.collection-filters-compact>label:first-child{grid-column:1/-1}.collection-filters-compact .filter-actions{grid-column:1/-1}}
@media(max-width:760px){.collection-filters-compact{grid-template-columns:1fr}.collection-filters-compact>label:first-child,.collection-filters-compact .filter-actions{grid-column:auto}.route-actions-four,.route-actions-three{grid-template-columns:1fr 1fr!important}.route-actions-four .btn,.route-actions-three .btn{width:100%}.courier-view-tabs{position:sticky;top:72px;z-index:18;margin-left:-2px;margin-right:-2px}.transfer-decision-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.transfer-decision-actions .btn{width:100%}.route-transfer-chip{width:100%;border-radius:10px;justify-content:flex-start}.general-route-map-card .route-planner-map{height:56vh;min-height:370px}}
@media(max-width:430px){.route-actions-four,.route-actions-three{grid-template-columns:1fr!important}.courier-view-tabs button{font-size:10px;padding:8px 4px}.courier-view-tabs .ui-icon{width:14px;height:14px}}

/* v2.9 — operação, ETA e mobile */
.collection-closed-card,.courier-closed-card{background:#f3f5f4!important;border-color:#dfe5e2!important;opacity:.82}.collection-closed-card:hover,.courier-closed-card:hover{opacity:1}.collection-closed-card .badge,.courier-closed-card .badge{filter:saturate(.7)}
.collection-route-quick-actions{display:contents}.courier-eta-line{margin-top:9px;padding:8px 10px;border-radius:11px;background:#eef8f5;color:#275e50;display:grid;grid-template-columns:auto 1fr;gap:3px 6px;align-items:center}.courier-eta-line .ui-icon{width:16px;height:16px;grid-row:1/3}.courier-eta-line strong{font-size:11px}.courier-eta-line small{margin:0!important;font-size:9px!important;color:#6a7d77!important}.courier-closed-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.courier-collection-block{margin-bottom:20px}.closed-today-block{padding-top:4px;border-top:1px solid var(--line)}
.route-stop-actions.route-actions-5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.route-stop-actions.route-actions-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.route-stop-actions.route-actions-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.stop-action.copy-eta{color:#176c58;background:#f0faf6;border-color:#cce8de}.stop-action.copy-eta:hover{background:#e4f6ef}
.desktop-route-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.general-desktop-map-card{margin-bottom:16px}.general-route-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.compact-general-list .motoboy-stop-card{padding:10px 11px}.compact-general-list .route-stop-actions{display:none!important}
@media(max-width:900px){.route-stop-actions.route-actions-5{grid-template-columns:repeat(3,minmax(0,1fr))}.general-route-summary-grid{grid-template-columns:1fr}}
@media(max-width:760px){
  .courier-view-tabs{gap:9px;padding:7px;border-radius:17px}.courier-view-tabs button{font-size:12px;padding:12px 8px;min-height:50px;border-radius:12px}.courier-view-tabs .ui-icon{width:18px;height:18px}
  .courier-collection-actions{grid-template-columns:1fr 1fr}.collection-route-quick-actions{display:contents}.courier-collection-actions .btn{min-height:44px}
  .route-stop-actions.route-actions-5,.route-stop-actions.route-actions-4,.route-stop-actions.route-actions-3{grid-template-columns:1fr 1fr!important}
  .desktop-route-tabs{grid-template-columns:1fr 1fr 1fr}.desktop-route-tabs .route-tab{padding:10px 8px}.desktop-route-tabs .route-tab span{font-size:9px}
}
@media(max-width:430px){.courier-view-tabs button{font-size:11px;padding:12px 6px}.desktop-route-tabs{grid-template-columns:1fr}.route-stop-actions.route-actions-5,.route-stop-actions.route-actions-4,.route-stop-actions.route-actions-3{grid-template-columns:1fr!important}}

/* v3.0 — ETA, materiais e experiência mobile */
.collection-material-chip{display:inline-flex;align-items:center;gap:6px;width:max-content;margin-top:8px;padding:6px 9px;border-radius:999px;background:#eef8f4;color:var(--green2);border:1px solid #cae6db;font-size:10px;font-weight:900}.collection-material-chip .ui-icon{width:14px;height:14px}.courier-clinic-address{font-size:10.5px!important;line-height:1.35!important;color:#49645b!important;margin-top:4px!important;font-weight:650}.arrival-message-title{margin-top:18px}.collection-filters-compact{grid-template-columns:minmax(190px,1.4fr) minmax(135px,.7fr) minmax(135px,.7fr) minmax(135px,.7fr) 135px auto}.route-stop-actions.route-actions-5,.route-stop-actions.route-actions-4,.route-stop-actions.route-actions-3{grid-template-columns:repeat(2,minmax(130px,1fr))!important}.route-stop-actions .stop-action{min-height:44px;padding:10px 9px;white-space:normal;line-height:1.15}.route-stop-actions .stop-action span{white-space:normal;overflow:visible;text-overflow:clip}.courier-view-tabs{gap:10px;padding:8px;border-radius:18px}.courier-view-tabs button{font-size:13px;padding:14px 9px;min-height:56px;border-radius:13px;white-space:nowrap}.courier-view-tabs .ui-icon{width:20px;height:20px}.courier-closed-actions .collection-pickup-btn{min-height:42px}.pickup-review-modal .pickup-linked-deliveries{display:block}
@media(max-width:1100px){.collection-filters-compact{grid-template-columns:1fr 1fr}.collection-filters-compact>label:first-child{grid-column:1/-1}.collection-filters-compact .filter-actions{grid-column:1/-1}.route-stop-actions.route-actions-5,.route-stop-actions.route-actions-4,.route-stop-actions.route-actions-3{grid-template-columns:1fr 1fr!important}}
@media(max-width:760px){.collection-filters-compact{grid-template-columns:1fr}.collection-filters-compact>label:first-child,.collection-filters-compact .filter-actions{grid-column:auto}.courier-view-tabs{gap:7px;padding:7px}.courier-view-tabs button{font-size:12px;padding:13px 6px;min-height:56px}.courier-view-tabs .ui-icon{width:18px;height:18px}}
@media(max-width:430px){.courier-view-tabs button{font-size:11px;padding:12px 4px;min-height:54px}.route-stop-actions.route-actions-5,.route-stop-actions.route-actions-4,.route-stop-actions.route-actions-3{grid-template-columns:1fr!important}}

/* v3.1 — portal de materiais, configuração do catálogo e destaques operacionais */
.topbar-lab-title{font-size:18px;font-weight:850;color:var(--green2);letter-spacing:.01em}
.stat.warning{background:#fffaf0;border-color:#f3dfad}.stat.warning .stat-icon{background:#fff0bf;color:#9a6a00}.stat.warning strong{color:#7b5b09}
.stat.danger{background:#fff8f7;border-color:#f0c7c3}.stat.danger .stat-icon{background:#ffe8e5;color:var(--danger)}.stat.danger strong{color:var(--danger)}

.clinic-portal-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.clinic-action-card{border:1px solid var(--line);background:#fff;padding:22px;border-radius:18px;text-align:left;display:grid;gap:9px;color:var(--ink);cursor:pointer;transition:.18s ease;box-shadow:0 8px 24px rgba(14,72,59,.05)}
.clinic-action-card:hover{transform:translateY(-2px);border-color:#afd7cb;box-shadow:0 14px 30px rgba(14,72,59,.09)}
.clinic-action-card strong{font-size:20px}.clinic-action-card small{color:var(--muted);line-height:1.5}.clinic-action-card b{color:var(--green2);font-size:13px}.clinic-action-icon{width:46px;height:46px;border-radius:14px;background:#e8f6f1;color:var(--green2);display:grid;place-items:center}.clinic-action-icon .ui-icon{width:24px;height:24px}
.portal-section-back{margin-bottom:12px}.clinic-material-notice{padding:13px 15px;border:1px solid #cce5dc;background:#f1faf7;border-radius:13px;margin-bottom:16px}.clinic-material-notice strong,.clinic-material-notice p{display:block}.clinic-material-notice p{margin:5px 0 0;color:#376a5c}
.portal-material-builder{grid-template-columns:140px minmax(220px,1fr) auto;margin-bottom:14px}.portal-material-modes{margin-top:16px}.portal-urgent-fee{margin:14px 0}.portal-urgent-fee.hidden{display:none}

.material-config-layout{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(480px,1.2fr);gap:18px}.material-config-list{display:grid;gap:9px}.material-config-row{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid var(--line);border-radius:13px;padding:12px 13px;background:#fbfdfc}.material-config-row.is-unavailable{background:#fafafa;opacity:.78}.material-config-row>div:first-child strong,.material-config-row>div:first-child small{display:block}.material-config-row>div:first-child small{color:var(--muted);font-size:11px;margin-top:3px}.material-config-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.material-available{background:#e8f6f1;color:#176a51}.material-unavailable{background:#ffe9e7;color:#b33f32}

@media(max-width:900px){.material-config-layout{grid-template-columns:1fr}.clinic-portal-action-grid{grid-template-columns:1fr}.portal-material-builder{grid-template-columns:1fr}.portal-material-builder .btn{width:100%}}
@media(max-width:760px){.topbar-lab-title{font-size:16px}.clinic-action-card{padding:18px}.clinic-action-card strong{font-size:18px}.material-config-row{align-items:flex-start;flex-direction:column}.material-config-actions{justify-content:flex-start;width:100%}}
.clinic-request-badge{background:#eef4ff;color:#355c9a}


/* v3.2 — identidade do laboratório e portal de materiais */
.clinic-laboratory-brand{display:flex;align-items:center;gap:16px;padding:16px 18px;border:1px solid #d9e7e1;background:#fff}.clinic-laboratory-brand img{width:86px;height:64px;object-fit:contain;flex:0 0 auto}.clinic-laboratory-brand>div{min-width:0}.clinic-laboratory-brand strong{display:block;font-size:21px;line-height:1.15}.clinic-laboratory-brand p{margin:6px 0 0;white-space:pre-wrap;color:var(--muted);font-size:12px;line-height:1.45}
.laboratory-brand-editor{display:flex;align-items:center;gap:18px;padding:14px;border:1px dashed #cddfd8;border-radius:16px;background:#f8fbfa;margin-bottom:14px}.laboratory-logo-preview{width:180px;height:90px;border-radius:13px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;overflow:hidden;color:var(--muted);font-size:12px}.laboratory-logo-preview img{max-width:100%;max-height:100%;object-fit:contain;padding:8px}.laboratory-logo-actions{display:flex;align-items:flex-start;flex-direction:column;gap:7px}.laboratory-logo-actions small{color:var(--muted);max-width:520px}.laboratory-brand-fields{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(180px,.5fr);gap:12px}.color-picker-row{display:flex;align-items:center;gap:10px;min-height:44px}.color-picker-row input[type=color]{width:56px;height:42px;padding:3px;border-radius:10px;cursor:pointer}.color-picker-row span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--muted)}.laboratory-brand-live-preview{margin-top:14px;border-top:1px solid var(--line);padding-top:14px}.laboratory-brand-live-preview>span{display:block;font-size:11px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.laboratory-brand-live-preview>div{display:flex;align-items:center;gap:12px;padding:13px;border-radius:13px;background:#f8fbfa}.laboratory-brand-live-preview img{width:70px;height:48px;object-fit:contain}.laboratory-brand-live-preview strong{font-size:18px}.laboratory-brand-live-preview small{display:block;color:var(--muted);white-space:pre-wrap}
.portal-material-section{border:1px solid #e1e9e6;background:#fbfdfc;border-radius:16px;padding:16px;margin:14px 0}.portal-material-section .form-section-head{margin-bottom:14px}.portal-material-section h3{margin:0;font-size:16px}.portal-material-section .form-section-head p{margin:3px 0 0;color:var(--muted);font-size:11px}.material-unavailable-help{color:var(--muted);font-size:10px;margin-top:5px}.material-unavailable-help b,.material-option-unavailable{color:#b23a2b!important}.portal-material-modes{margin-top:0}.portal-material-modes .shipment-mode-option{min-height:112px}.portal-material-modes .shipment-mode-option small b{color:#b56f00}.material-select-label small{display:block;margin-top:5px;color:var(--muted);font-size:10px}
@media(max-width:760px){.clinic-laboratory-brand{align-items:flex-start}.clinic-laboratory-brand img{width:72px;height:56px}.clinic-laboratory-brand strong{font-size:18px}.laboratory-brand-editor{align-items:flex-start;flex-direction:column}.laboratory-logo-preview{width:100%;height:110px}.laboratory-brand-fields{grid-template-columns:1fr}.laboratory-brand-live-preview>div{align-items:flex-start;flex-wrap:wrap}.portal-material-section{padding:13px}}

/* v3.2.1 — refinamentos do formulário de materiais */
.portal-material-builder{gap:16px;align-items:end;margin-bottom:16px}
.portal-material-builder label{min-width:0}
.portal-material-builder select,.portal-material-builder input{width:100%}
.portal-material-modes{margin-top:0}
.portal-material-modes .material-mode-option span{min-height:112px}
.portal-material-modes .material-mode-option small b{color:#b56f00}
.material-draft-wrap .material-draft-table{display:block;width:100%;border-collapse:initial}
.material-draft-row{display:grid;grid-template-columns:90px minmax(180px,1fr) 110px;gap:20px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line);background:#fff}
.material-draft-row:last-child{border-bottom:0}
.material-draft-row>strong{font-size:13px}
.material-draft-row>span{min-width:0;line-height:1.35}
.material-draft-row>button{justify-self:end;min-width:86px}
@media(max-width:760px){
  .portal-material-builder{grid-template-columns:92px minmax(0,1fr);gap:12px}
  .portal-material-builder .material-add-btn{grid-column:1/-1;width:100%}
  .material-draft-row{grid-template-columns:64px minmax(0,1fr) 86px;gap:10px;padding:11px 10px}
  .material-draft-row>button{min-width:76px;padding-left:10px;padding-right:10px}
}

/* v3.3 — confirmação de solicitações e cópia silenciosa */
.portal-submit-success{display:grid;justify-items:center;text-align:center;gap:12px;padding:20px 8px 8px}.portal-submit-success-icon{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#e7f6f0;color:var(--green);border:1px solid #c8e8dc}.portal-submit-success-icon .ui-icon{width:27px;height:27px}.portal-submit-success h2{margin:2px 0 0}.portal-submit-success p{max-width:560px;margin:0}.portal-call-id{width:min(420px,100%);padding:13px 16px;border-radius:13px;border:1px solid var(--line);background:#f7fbf9;display:grid;gap:3px}.portal-call-id small{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:800}.portal-call-id strong{font-size:17px;color:var(--deep);word-break:break-word}.portal-success-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;width:100%;margin-top:4px}.portal-success-actions .btn{min-width:170px;justify-content:center}.btn.copy-success,.copy-success{background:#e5f7ef!important;border-color:#9ed7c2!important;color:#0d7759!important}.btn.copy-failed,.copy-failed{background:#fff2f2!important;border-color:#e7b5b5!important;color:#a43e3e!important}
@media(max-width:640px){.portal-submit-success{padding:14px 0 4px}.portal-success-actions{display:grid;grid-template-columns:1fr;width:100%}.portal-success-actions .btn{width:100%;min-width:0}.portal-call-id{width:100%}}

/* v3.3.1 — mensagens configuráveis do portal */
.portal-message-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:12px}.portal-message-settings-block{border:1px solid var(--border);border-radius:16px;padding:14px;background:var(--soft)}.portal-message-settings-block h3{margin:0 0 10px;color:var(--green-dark)}.portal-message-settings-block label+label{margin-top:12px}@media(max-width:760px){.portal-message-settings-grid{grid-template-columns:1fr}}

/* v3.4 — permissões, histórico por material, portal enxuto e versão */
.version-chip{border:1px solid #d3e4dd;background:#f5faf8;color:#2d6656;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:850;cursor:pointer}
.version-chip:hover{background:#eaf6f1}
.history-material-summary{margin-top:14px;margin-bottom:20px}.history-material-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.history-material-card{border:1px solid var(--line);background:#fbfdfc;border-radius:13px;padding:12px;display:grid;gap:6px}.history-material-card strong{font-size:13px}.history-material-card span{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.history-material-card b{color:var(--deep);font-size:12px}
.clinic-laboratory-brand{flex-direction:column!important;text-align:center!important;justify-content:center!important;align-items:center!important;padding:20px 18px!important}.clinic-laboratory-brand img{width:min(180px,55vw)!important;height:84px!important}.clinic-laboratory-brand>div{width:100%;text-align:center}.clinic-laboratory-brand strong{font-size:23px!important}.clinic-laboratory-brand p{text-align:center!important;margin:7px auto 0!important;max-width:560px}
.clinic-portal-address{font-size:14px!important;line-height:1.45!important;padding:12px 14px!important;font-weight:800!important}
.clinic-request-hours{padding:18px 20px!important}.clinic-request-hours h3{font-size:19px;margin:5px 0 0!important}.clinic-request-hours .eyebrow{font-size:11px}.clinic-request-hours .request-open-chip{font-size:11px}
@media(max-width:760px){.clinic-laboratory-brand img{width:min(160px,65vw)!important;height:76px!important}.clinic-laboratory-brand strong{font-size:20px!important}.clinic-request-hours{padding:15px!important}.clinic-request-hours h3{font-size:17px}.version-chip{padding:4px 7px}}

/* v3.4.1 — correção de Usuários e respiro do resumo de materiais */


/* v3.5 — permissões configuráveis, aparência pessoal e refinamentos de sessão */
.settings-permissions-card,.settings-theme-card{grid-column:1/-1}
.permissions-note{padding:10px 12px;border-radius:12px;background:var(--soft);color:#526d65;font-size:12px;margin-bottom:14px}
.permission-role-list{display:grid;gap:12px}.permission-role-row{display:grid;grid-template-columns:minmax(180px,.7fr) 2fr;gap:18px;padding:15px;border:1px solid var(--line);border-radius:15px;background:#fbfdfc}.permission-role-name strong,.permission-role-name small{display:block}.permission-role-name small{margin-top:4px;color:var(--muted);font-size:11px;line-height:1.4}.permission-module-grid{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr));gap:8px}.permission-check{margin:0!important;display:flex!important;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:#fff;font-weight:750;font-size:12px;cursor:pointer}.permission-check input{width:17px;height:17px;margin:0;accent-color:var(--green)}
.theme-choice-grid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px}.theme-choice{margin:0!important;display:grid!important;gap:8px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff;cursor:pointer}.theme-choice.active{border-color:var(--green);box-shadow:0 0 0 2px color-mix(in srgb,var(--green) 15%,transparent)}.theme-choice input{position:absolute;opacity:0;pointer-events:none}.theme-swatch{display:grid;grid-template-columns:repeat(3,1fr);height:28px;border-radius:9px;overflow:hidden;border:1px solid rgba(0,0,0,.05)}.theme-swatch i{display:block}.theme-choice strong{font-size:12px;color:var(--ink)}
@media(max-width:900px){.permission-role-row{grid-template-columns:1fr}.permission-module-grid{grid-template-columns:repeat(2,1fr)}.theme-choice-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.permission-module-grid{grid-template-columns:1fr}.theme-choice-grid{grid-template-columns:1fr 1fr}.settings-permissions-card .section-title,.settings-theme-card .section-title{align-items:stretch}.settings-permissions-card .section-title .btn,.settings-theme-card .section-title .btn{width:100%}}

/* v3.5.1 — paleta persistente e Configurações recolhíveis */
:root{--soft2:#e8f6f1;--soft3:#f8fbfa}
html,body,.main,.content{color:var(--ink)}
input,select,textarea,.form-select,.table-select{border-color:var(--line);color:var(--ink)}
.btn.ghost,.mobile-menu-btn,.filter.active,.quick-icon,.badge,.frequency-pill,.collection-material-chip,.courier-collection-pos,.step-bubble,.material-available{background:var(--soft2);color:var(--green2)}
.online,.good-state,.route-summary:hover,.collection-awaiting-route,.route-config-collapsed-note,.material-config-row,.portal-momentary-address,.collection-mobile-info>div,.courier-live-strip,.courier-pane-tabs,.clinic-action-icon,.courier-eta-line{background:var(--soft3)}
.quick-card:hover,.route-summary:hover{border-color:color-mix(in srgb,var(--green) 30%,var(--line))}
.sidebar .nav button.active,.sidebar .nav button:hover{background:color-mix(in srgb,var(--green) 58%,var(--deep))}
.sidebar .nav button{color:color-mix(in srgb,#fff 84%,var(--green))}
.sidebar-product-subtitle,.sidebar-user small,.nav-section-label{color:color-mix(in srgb,#fff 68%,var(--green))}
.sidebar-user .avatar,.sidebar-logout{background:color-mix(in srgb,#fff 92%,var(--green));color:var(--deep)}
.quick-card,.route-summary,.clinic-list-card,.card{box-shadow:0 12px 34px color-mix(in srgb,var(--deep) 8%,transparent)}
.portal-choice input,.switch-line input{accent-color:var(--green)}
.portal-choice:has(input:checked){border-color:var(--green);background:var(--soft);box-shadow:0 0 0 2px color-mix(in srgb,var(--green) 10%,transparent)}
.portal-sequence,.route-transfer-chip.done,.transfer-approval-state span.ok{background:var(--soft2);color:var(--green2)}
.collection-route-column-head>strong,.clinic-action-icon{background:var(--soft2);color:var(--green2)}
.route-color-dot.route-one{background:var(--green)}
.topbar-lab-title,.eyebrow{color:var(--green2)}

.settings-page-grid{gap:12px}
.settings-collapsible{padding:0!important;overflow:hidden!important;transition:border-color .15s ease,box-shadow .15s ease}
.settings-collapsible>.section-title{margin:0;padding:17px 18px;align-items:center;cursor:pointer;background:#fff;user-select:none}
.settings-collapsible>.section-title>div:first-child{min-width:0;flex:1}
.settings-collapsible>.section-title h2{font-size:17px}
.settings-collapsible>.section-title span{display:block;margin-top:3px;line-height:1.35}
.settings-collapsible-body{padding:0 18px 18px;border-top:1px solid var(--line)}
.settings-collapsible.is-collapsed .settings-collapsible-body{display:none}
.settings-collapsible.is-collapsed>.section-title{border-radius:20px}
.settings-collapse-toggle{width:36px;height:36px;border:0;border-radius:10px;background:var(--soft);color:var(--green2);display:grid;place-items:center;cursor:pointer;flex:0 0 auto;margin-left:4px}
.settings-collapse-toggle span{font-size:22px;line-height:1;transition:transform .16s ease;margin:0!important}
.settings-collapsible:not(.is-collapsed) .settings-collapse-toggle span{transform:rotate(180deg)}
.settings-collapsible:not(.is-collapsed)>.section-title{background:color-mix(in srgb,var(--soft) 48%,#fff)}
.settings-theme-card .theme-choice-grid,.settings-permissions-card .permission-role-list{margin-top:16px}
.settings-theme-card>.section-title>.btn,.settings-permissions-card>.section-title>.btn{margin-left:auto}

@media(max-width:760px){
  .settings-collapsible>.section-title{padding:15px 14px;display:grid;grid-template-columns:1fr auto;gap:8px}
  .settings-collapsible>.section-title>.btn{grid-column:1/-1;width:100%;order:3}
  .settings-collapsible-body{padding:0 14px 14px}
  .settings-collapse-toggle{width:34px;height:34px}
}
.settings-collapsible.is-collapsed>.section-title>.btn{display:none}

/* v3.5.2 — acordeões mais suaves e seta compacta */
.settings-collapsible{transition:border-color .18s ease,box-shadow .18s ease}
.settings-collapsible-body{
  display:grid;
  grid-template-rows:minmax(0,1fr);
  padding:0;
  overflow:hidden;
  border-top:1px solid var(--line);
  opacity:1;
  transition:grid-template-rows .30s cubic-bezier(.2,.75,.25,1),opacity .20s ease,border-color .22s ease;
}
.settings-collapsible-inner{
  min-height:0;
  overflow:hidden;
  padding:0 18px 18px;
  transition:padding-bottom .30s cubic-bezier(.2,.75,.25,1);
}
.settings-collapsible.is-collapsed .settings-collapsible-body{
  display:grid;
  grid-template-rows:minmax(0,0fr);
  opacity:0;
  border-top-color:transparent;
  pointer-events:none;
}
.settings-collapsible.is-collapsed .settings-collapsible-inner{padding-bottom:0}
.settings-collapse-toggle{
  width:32px;
  height:32px;
  border-radius:9px;
  padding:0;
}
.settings-collapse-toggle .settings-chevron{
  display:block;
  width:8px;
  height:8px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg) translate(-1px,-1px);
  transform-origin:center;
  transition:transform .28s cubic-bezier(.2,.75,.25,1);
  margin:0!important;
}
.settings-collapsible:not(.is-collapsed) .settings-collapse-toggle .settings-chevron{
  transform:rotate(225deg) translate(-1px,-1px);
}
@media(max-width:760px){
  .settings-collapsible-inner{padding:0 14px 14px}
  .settings-collapse-toggle{width:30px;height:30px}
}


/* v3.5.3 — sessão lembrada e entrada prática */
.remember-login{display:flex;align-items:flex-start;gap:10px;margin:2px 0 16px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:var(--soft3);cursor:pointer;font-weight:600}
.remember-login input{appearance:auto;-webkit-appearance:checkbox;width:18px;min-width:18px;height:18px;max-width:18px;margin:2px 0 0;padding:0;accent-color:var(--green);cursor:pointer}
.remember-login span{display:flex;flex-direction:column;gap:2px;line-height:1.3}.remember-login strong{font-size:13px;color:var(--ink)}.remember-login small{font-size:11px;font-weight:500;color:var(--muted)}
.login-submit{margin-top:1px}.login-device-hint{display:flex;gap:8px;align-items:flex-start;margin-top:12px;padding:10px 11px;border-radius:11px;background:var(--soft);color:var(--muted);font-size:11px;line-height:1.4}
@media(max-width:760px){.remember-login{padding:10px 11px}.login-device-hint{font-size:10.5px}}
