:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#153341;background:#f2f6f8;--navy:#082c3b;--cyan:#11a8c7;--cyan-dark:#0d86a1;--muted:#667d88;--success:#07825b}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#f2f6f8}button,input{font:inherit}.login-page{background:radial-gradient(circle at top right,#d9f4fa 0,#f4f8fa 34%,#eef3f5 100%)}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(920px,100%);display:grid;grid-template-columns:1.05fr .95fr;background:#fff;border-radius:26px;overflow:hidden;box-shadow:0 30px 80px rgba(7,43,58,.16)}.login-brand{min-height:540px;padding:58px;display:flex;flex-direction:column;justify-content:center;color:#fff;background:linear-gradient(145deg,var(--navy),#0b6c84 70%,var(--cyan))}.login-brand .badge{align-self:flex-start;background:rgba(255,255,255,.16);border-radius:999px;padding:7px 11px;font-size:12px}.login-brand h1{margin:22px 0 0;font-size:clamp(42px,6vw,70px);line-height:.96;letter-spacing:-2px}.login-brand p{margin:10px 0 0;font-size:21px;opacity:.9}.login-form{padding:52px;display:flex;flex-direction:column;justify-content:center;gap:18px}.form-head h2{margin:0;font-size:30px}.form-head p{color:var(--muted);margin:8px 0 10px}.login-form label{display:grid;gap:8px;font-weight:700;font-size:14px}.login-form input{width:100%;border:1px solid #cddde4;border-radius:12px;padding:14px 15px;outline:none;background:#fbfdfe}.login-form input:focus{border-color:var(--cyan);box-shadow:0 0 0 4px rgba(17,168,199,.12)}.btn-primary{border:0;border-radius:12px;padding:14px 18px;color:#fff;font-weight:800;cursor:pointer;background:linear-gradient(90deg,var(--cyan-dark),var(--cyan));box-shadow:0 10px 24px rgba(17,168,199,.22)}.login-help{margin:3px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:24px 18px;color:#fff;background:linear-gradient(180deg,#082c3b,#061f2a)}.brand{padding:2px 10px 25px;display:grid;gap:3px}.brand strong{font-size:25px}.brand span{color:#8edcf0;font-size:13px;font-weight:700}.nav{display:grid;gap:6px}.nav-section{margin:17px 10px 4px;color:#73cfe3;font-size:10px;font-weight:900;letter-spacing:1.4px}.nav-link{min-height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-radius:11px;color:#eaf7fa;text-decoration:none;font-weight:700;font-size:14px}.nav-link.active{background:rgba(255,255,255,.1);box-shadow:inset 3px 0 var(--cyan)}.nav-link.disabled{opacity:.53}.nav-link small{font-size:9px;text-transform:uppercase;color:#8bc7d4}.logout-form{margin-top:auto}.logout-form button{width:100%;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#fff;border-radius:11px;padding:12px;cursor:pointer;font-weight:800}.main{padding:28px 32px 48px;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.topbar h1{margin:4px 0 0;font-size:clamp(28px,4vw,42px);letter-spacing:-1.4px}.eyebrow{color:var(--cyan-dark);font-size:11px;font-weight:900;letter-spacing:1.3px}.userbox{display:flex;align-items:center;gap:12px;text-align:right}.userbox div:first-child{display:grid;gap:2px}.userbox span{color:var(--muted);font-size:12px}.avatar{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(145deg,var(--navy),var(--cyan));color:#fff;font-weight:900}.welcome-panel{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:24px 26px;background:linear-gradient(135deg,#fff,#eefaff);border:1px solid #d7edf3;border-radius:18px;box-shadow:0 10px 30px rgba(7,43,58,.05)}.welcome-panel h2{margin:5px 0 6px;font-size:25px}.welcome-panel p{margin:0;color:var(--muted);max-width:800px}.secure-chip{white-space:nowrap;padding:9px 12px;border-radius:999px;color:var(--success);background:#e8f8f2;font-size:12px;font-weight:800}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0}.stat-card{min-height:135px;padding:20px;border:1px solid #e1ebef;border-radius:17px;background:#fff;box-shadow:0 8px 24px rgba(7,43,58,.045)}.stat-card span{color:var(--muted);font-size:13px;font-weight:800}.stat-card strong{display:block;margin:8px 0 5px;font-size:30px;letter-spacing:-1px}.stat-card small{color:#81949c}.stat-card.highlight{color:#fff;background:linear-gradient(135deg,#0b6277,#11a8c7);border-color:transparent}.stat-card.highlight span,.stat-card.highlight small{color:rgba(255,255,255,.8)}.content-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,.7fr);gap:18px}.panel{background:#fff;border:1px solid #e1ebef;border-radius:17px;padding:22px;box-shadow:0 8px 24px rgba(7,43,58,.045)}.panel h3{margin:5px 0 15px;font-size:20px}.empty-state{padding:32px 20px;border-radius:13px;background:#f6fafb;text-align:center;color:var(--muted)}.empty-state strong{display:block;color:#24414d;margin-bottom:5px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:12px 10px;text-align:left;border-bottom:1px solid #edf2f4;font-size:13px}th{color:var(--muted);font-size:11px;text-transform:uppercase}.status-pill{display:inline-block;border-radius:999px;padding:5px 8px;background:#edf8fb;color:#087f98;font-size:11px;font-weight:800}.check-list{list-style:none;padding:0;margin:0;display:grid;gap:11px}.check-list li:before{content:"✓";color:var(--success);font-weight:900;margin-right:9px}.check-list code{font-size:11px;background:#edf4f7;border-radius:5px;padding:2px 5px}.flash{border-radius:11px;padding:12px 14px;font-size:13px;font-weight:700}.flash.success{color:#08734f;background:#e8f8f2;border:1px solid #c9ebdf}.flash.error{color:#9f3333;background:#fff0f0;border:1px solid #f3cccc}@media(max-width:960px){.app-shell{grid-template-columns:78px 1fr}.sidebar{padding:20px 10px}.brand span,.nav-section,.nav-link small{display:none}.brand strong{font-size:16px;writing-mode:vertical-rl;transform:rotate(180deg);margin:auto}.nav-link{justify-content:center;font-size:11px;padding:8px 4px;text-align:center}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid{grid-template-columns:1fr}}@media(max-width:720px){.login-card{grid-template-columns:1fr}.login-brand{min-height:220px;padding:34px}.login-form{padding:34px}.app-shell{display:block}.sidebar{position:static;height:auto;display:block;padding:14px}.brand strong{writing-mode:initial;transform:none;font-size:20px}.brand span{display:block}.nav{display:none}.logout-form{position:absolute;top:13px;right:14px;width:90px}.main{padding:20px 15px 38px}.topbar{align-items:flex-start}.userbox div:first-child{display:none}.welcome-panel{align-items:flex-start;flex-direction:column}.stats-grid{grid-template-columns:1fr}}

/* v0.3 - Clientes e Obras */
select,textarea{font:inherit;color:inherit}.page-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.page-actions p{margin:4px 0 0;color:var(--muted)}.action-row{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.link-button{display:inline-flex;align-items:center;text-decoration:none}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 14px;border:1px solid #cfdee4;border-radius:11px;background:#fff;color:#24414d;text-decoration:none;font-weight:800;font-size:13px;cursor:pointer}.btn-secondary:hover{border-color:#9fcbd5;background:#f8fcfd}.btn-danger{border:0;border-radius:11px;padding:11px 15px;background:#a53b3b;color:#fff;font-weight:800;cursor:pointer}.danger-link{border:0;background:transparent;color:#a53b3b;font-weight:800;font-size:12px;cursor:pointer}.text-link{color:var(--cyan-dark);font-weight:800;text-decoration:none}.validation-summary{margin-bottom:16px}.validation-summary ul{margin:7px 0 0;padding-left:20px}.mini-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.mini-stats>div{padding:16px 18px;background:#fff;border:1px solid #e1ebef;border-radius:15px;box-shadow:0 7px 20px rgba(7,43,58,.035)}.mini-stats span{display:block;color:var(--muted);font-size:12px;font-weight:800}.mini-stats strong{display:block;margin-top:4px;font-size:24px}.filter-panel{padding:16px 18px;margin-bottom:18px}.filter-grid{display:flex;align-items:end;gap:12px}.filter-grid label{display:grid;gap:6px;min-width:150px;color:#3e5965;font-size:12px;font-weight:800}.filter-grid label.grow{flex:1}.filter-grid input,.filter-grid select,.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid #cfdee4;background:#fbfdfe;border-radius:11px;padding:11px 12px;outline:none}.filter-grid input:focus,.filter-grid select:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 4px rgba(17,168,199,.1)}.filter-actions{display:flex;gap:8px}.filter-actions .btn-primary{min-height:42px;padding:10px 15px}.form-section{margin-bottom:16px}.form-section h3 small{color:var(--muted);font-size:12px;font-weight:600}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.form-grid label{display:grid;gap:7px;color:#3e5965;font-size:12px;font-weight:800}.form-grid .span-2{grid-column:span 2}.form-grid textarea{resize:vertical;min-height:92px}.form-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));margin:14px 0}.checkbox-label{display:flex!important;grid-column:span 2;align-items:center;gap:8px!important}.checkbox-label input{width:auto!important}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin:18px 0 4px}.table-sub{display:block;margin-top:3px;color:#81949c;font-size:11px}.actions-cell{text-align:right}.table-action{color:#087f98;font-weight:800;text-decoration:none}.table-action:hover{text-decoration:underline}.status-pill.status-active{background:#e8f8f2;color:#08734f}.status-pill.status-inactive{background:#f0f3f5;color:#647781}.status-pill.status-blocked{background:#fff0f0;color:#9f3333}.status-pill.status-completed{background:#edf2ff;color:#435aa3}.pagination-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:16px;color:var(--muted);font-size:12px}.pagination-bar>div{display:flex;gap:8px}.disabled-button{opacity:.45;pointer-events:none}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:0}.detail-list div{padding-bottom:10px;border-bottom:1px solid #edf2f4}.detail-list dt{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.detail-list dd{margin:5px 0 0;font-weight:700}.note-box{margin-top:16px;padding:14px;border-radius:11px;background:#f4f9fb;color:#49616b;white-space:pre-wrap}.section-gap{margin-top:18px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.section-head h3{margin-bottom:0}.stack-list{display:grid;gap:9px}.stack-item{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px;border:1px solid #e4edf0;border-radius:12px;background:#fbfdfe}.stack-item>div{min-width:0}.stack-item strong{margin-right:7px}.stack-item small{display:block;margin-top:4px;color:var(--muted)}.tiny-note{color:var(--muted);font-size:11px;font-weight:700}.inline-create{margin-top:14px;border-top:1px solid #edf2f4;padding-top:13px}.inline-create summary{cursor:pointer;color:var(--cyan-dark);font-weight:800}.inline-create form{padding-top:4px}.empty-compact{padding:16px;border-radius:11px;background:#f6fafb;color:var(--muted)}.card-list{display:grid;gap:10px}.record-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px;border:1px solid #e2ecef;border-radius:13px;color:#18313d;text-decoration:none;background:#fbfdfe}.record-card:hover{border-color:#a8d9e4;box-shadow:0 8px 20px rgba(7,43,58,.05)}.record-card div{display:grid;gap:4px}.record-card span:not(.status-pill){color:var(--muted);font-size:12px}.address-card{display:grid;gap:6px;padding:18px;border-radius:13px;background:#f6fafb}.address-card span{color:var(--muted)}.danger-zone{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;padding:18px 20px;border:1px solid #efd1d1;border-radius:15px;background:#fff7f7}.danger-zone p{margin:4px 0 0;color:#8a6464;font-size:12px}
@media(max-width:980px){.filter-grid{flex-wrap:wrap}.filter-grid label.grow{flex-basis:100%}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid{grid-template-columns:1fr}}@media(max-width:720px){.page-actions,.section-head,.danger-zone{align-items:flex-start;flex-direction:column}.action-row{width:100%}.mini-stats{grid-template-columns:1fr}.filter-grid{display:grid;grid-template-columns:1fr;width:100%}.filter-grid label{min-width:0}.filter-actions{width:100%}.filter-actions>*{flex:1}.form-grid,.form-grid.compact,.detail-list{grid-template-columns:1fr}.form-grid .span-2,.checkbox-label{grid-column:span 1}.form-actions{justify-content:stretch}.form-actions>*{flex:1}.pagination-bar{align-items:flex-start;flex-direction:column}.stack-item,.record-card{align-items:flex-start}.stack-item{flex-direction:column}.record-card{flex-direction:column}}
.timeline{display:grid;gap:0}.timeline-item{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:11px 0;border-bottom:1px solid #edf2f4}.timeline-item:last-child{border-bottom:0}.timeline-item span{color:var(--muted);font-size:12px}.timeline-item strong{font-size:13px}@media(max-width:720px){.timeline-item{grid-template-columns:1fr;gap:3px}}


/* v0.4 - Caçambas, QR e rastreabilidade */
.nav-link.nav-sub{margin-left:10px;padding-left:16px;font-size:11px;color:#9fc2cf}.nav-link.nav-sub.active{color:#fff}
.mini-stats.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.muted{color:var(--muted)}.token-code{font-size:10px;white-space:nowrap;background:#edf4f7;padding:4px 6px;border-radius:6px}
.condition-pill{display:inline-block;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800}
.condition-good{background:#e8f8f2;color:#08734f}.condition-attention{background:#fff6dc;color:#8b6813}.condition-damaged{background:#fff0f0;color:#9f3333}
.dumpster-status-available{background:#e8f8f2;color:#08734f}.dumpster-status-reserved{background:#edf2ff;color:#435aa3}
.dumpster-status-in_transit{background:#eaf7fb;color:#087f98}.dumpster-status-on_site{background:#e9f6ff;color:#126f9d}
.dumpster-status-pickup_requested{background:#fff6dc;color:#8b6813}.dumpster-status-maintenance{background:#fff0f0;color:#9f3333}
.dumpster-status-inactive{background:#f0f3f5;color:#647781}
.asset-hero{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.65fr);gap:18px}
.asset-status-row{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 14px}.section-gap-small{margin-top:14px}
.location-box{display:grid;gap:4px;margin-top:16px;padding:15px;border-radius:12px;background:#edf8fb;border:1px solid #d5edf3}
.location-box span{font-size:10px;letter-spacing:.08em;font-weight:900;color:#0b8eae}.location-box strong{font-size:15px}.location-box a{color:#45616d;text-decoration:none;font-size:12px}
.location-box.neutral{background:#f5f8f9;border-color:#e3ebee}
.qr-card{text-align:center}.qr-card .eyebrow,.qr-card h3{text-align:left}.qr-svg{display:flex;justify-content:center;margin:12px auto}.qr-svg svg{width:190px;height:190px;max-width:100%}.qr-readable{display:inline-block;padding:7px 9px;border-radius:7px;background:#edf4f7;font-weight:800;letter-spacing:.06em}.qr-card p{color:var(--muted);font-size:12px;line-height:1.5}
.field-help{display:block;color:var(--muted);font-size:10px;font-weight:600;margin-top:2px}.span-3{grid-column:span 3}
.movement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.movement-rules{display:grid;gap:8px}.movement-rules div{display:grid;gap:2px;padding:10px 12px;border-radius:10px;background:#f6fafb}.movement-rules span{color:var(--muted);font-size:12px}
.movement-timeline{display:grid}.movement-event{position:relative;display:grid;grid-template-columns:20px 140px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid #edf2f4}.movement-event:last-child{border-bottom:0}
.movement-marker{width:10px;height:10px;border-radius:50%;background:#0b8eae;margin:5px 0 0 2px;box-shadow:0 0 0 5px #e6f7fb}.movement-time{font-size:12px;color:var(--muted);padding-top:2px}.movement-body{display:grid;gap:4px}.movement-body span,.movement-body small{color:var(--muted);font-size:12px}.movement-body p{margin:3px 0;color:#405963;font-size:12px;white-space:pre-wrap}
.table-actions{display:flex;justify-content:flex-end;align-items:center;gap:9px}.table-actions form{margin:0}.tiny-action{border:0;background:transparent;color:#7c6262;font-weight:800;font-size:11px;cursor:pointer}
.asset-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}.asset-mini-card{display:grid;gap:5px;padding:14px;border:1px solid #e2ecef;border-radius:12px;background:#fbfdfe;color:#18313d;text-decoration:none}.asset-mini-card span:not(.status-pill){color:var(--muted);font-size:11px}
@media(max-width:1100px){.mini-stats.four{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.asset-hero{grid-template-columns:1fr}.span-3{grid-column:span 2}}
@media(max-width:720px){.mini-stats.four,.asset-card-grid{grid-template-columns:1fr}.movement-event{grid-template-columns:18px 1fr}.movement-time{grid-column:2}.movement-body{grid-column:2}.span-3{grid-column:span 1}}

/* v0.5 - Ordens de Serviço, entrega e retirada */
.order-help{margin:5px 0 15px;font-size:12px;line-height:1.55}.selection-counter{display:inline-flex;align-items:center;gap:5px;padding:8px 11px;border-radius:999px;background:#edf8fb;color:#256070;font-size:12px;font-weight:700}.selection-counter strong{font-size:16px;color:#087f98}
.dumpster-select-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.dumpster-choice{position:relative;display:flex!important;align-items:flex-start!important;gap:10px!important;padding:14px;border:1px solid #dce8ec;border-radius:13px;background:#fbfdfe;cursor:pointer;transition:.15s ease}.dumpster-choice:hover{border-color:#9bd5e1;box-shadow:0 8px 18px rgba(7,43,58,.05)}.dumpster-choice:has(input:checked){border-color:#16a4c1;background:#eefafd;box-shadow:0 0 0 2px rgba(17,168,199,.07)}.dumpster-choice input{width:auto!important;margin:4px 2px 0 0}.dumpster-choice-body{display:grid;gap:2px;min-width:0;flex:1}.dumpster-choice-body strong{font-size:15px;color:#173642}.dumpster-choice-body small{color:var(--muted);font-size:11px}.dumpster-choice>.status-pill{align-self:flex-start;font-size:9px;white-space:nowrap}
.order-total-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:17px}.order-total-preview>div{display:grid;gap:4px;padding:14px 16px;border-radius:12px;background:#f5f9fa;border:1px solid #e3ecef}.order-total-preview span{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.order-total-preview strong{font-size:18px}.order-total-preview .highlight-total{background:linear-gradient(135deg,#0b7189,#13a8c6);border-color:transparent;color:#fff}.order-total-preview .highlight-total span{color:#d9f8ff}.order-total-preview .highlight-total strong{font-size:22px}
.order-op-awaiting_delivery{background:#fff6dc;color:#8b6813}.order-op-on_site{background:#e9f6ff;color:#126f9d}.order-op-pickup_requested{background:#fff0e6;color:#9a5318}.order-op-picked_up,.order-op-closed{background:#e8f8f2;color:#08734f}.order-item-reserved{background:#edf2ff;color:#435aa3}.order-item-on_site{background:#e9f6ff;color:#126f9d}.order-item-pickup_requested{background:#fff6dc;color:#8b6813}.order-item-picked_up{background:#e8f8f2;color:#08734f}.order-item-cancelled{background:#f0f3f5;color:#647781}
.order-progress{padding:20px 24px}.progress-steps{display:grid;grid-template-columns:minmax(90px,1fr) 1fr minmax(90px,1fr) 1fr minmax(120px,1fr) 1fr minmax(90px,1fr);align-items:center}.progress-step{display:grid;justify-items:center;gap:4px;text-align:center;color:#8b9aa1}.progress-step>span{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#e7edef;color:#70828a;font-size:12px;font-weight:900}.progress-step strong{font-size:12px}.progress-step small{font-size:10px}.progress-step.done{color:#174556}.progress-step.done>span{background:#0b8eae;color:#fff;box-shadow:0 0 0 5px #e6f7fb}.progress-line{height:3px;background:#dce5e8;border-radius:999px}.progress-line.done{background:#38a9bf}.cancelled-banner{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 18px;border-radius:12px;background:#fff1f1;color:#943d3d}.cancelled-banner span{font-size:12px}
.money-list .money-total{font-size:19px;color:#07825b}.operation-action-card{background:linear-gradient(145deg,#fff,#eefaff);border-color:#d7edf3}.operation-action-card h3{font-size:22px}.operation-action-card p{color:#58717b;line-height:1.55}.operation-button{width:100%;margin-top:10px}.order-lock-box{display:grid;gap:9px;padding:18px;border-radius:13px;background:#eefafd;border:1px solid #ccebf2}.order-lock-box strong{font-size:20px}.order-lock-box p{margin:0;color:#49646e;line-height:1.55}.order-lock-box .link-button{justify-self:start;margin-top:3px}
@media(max-width:1120px){.dumpster-select-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-steps{grid-template-columns:1fr;gap:8px}.progress-line{width:3px;height:18px;justify-self:center}.progress-step{grid-template-columns:34px 1fr;grid-template-rows:auto auto;justify-items:start;text-align:left;column-gap:8px}.progress-step>span{grid-row:1/3}.progress-step small{grid-column:2}}
@media(max-width:720px){.dumpster-select-grid,.order-total-preview{grid-template-columns:1fr}.dumpster-choice{flex-wrap:wrap}.cancelled-banner{align-items:flex-start;flex-direction:column}}
.order-item-completed{background:#e8f8f2;color:#08734f}.progress-steps.five{grid-template-columns:minmax(78px,1fr) .7fr minmax(78px,1fr) .7fr minmax(110px,1fr) .7fr minmax(110px,1fr) .7fr minmax(78px,1fr)}
@media(max-width:1120px){.progress-steps.five{grid-template-columns:1fr}}


/* v0.6 - Agenda, frota e rotas */
.status-active{background:#e8f8f2;color:#08734f}.status-inactive{background:#f0f3f5;color:#647781}.status-maintenance{background:#fff6dc;color:#8b6813}
.agenda-filter{grid-template-columns:repeat(6,minmax(130px,1fr)) auto}.agenda-list{display:grid;gap:10px}.agenda-card{display:grid;grid-template-columns:76px minmax(260px,1.45fr) minmax(190px,.7fr) auto;gap:16px;align-items:center;padding:15px;border:1px solid #e0eaed;border-radius:13px;background:#fff}.agenda-card.schedule-done{background:#f7fbf9}.agenda-card.schedule-cancelled{opacity:.68}.agenda-card.schedule-failed{border-color:#f0d4d4}.agenda-time{display:grid;justify-items:center;gap:2px;padding:10px 7px;border-radius:10px;background:#eef7f9}.agenda-time strong{font-size:20px;color:#123e4e}.agenda-time span{font-size:10px;color:var(--muted);font-weight:800}.agenda-main,.agenda-resource{display:grid;gap:4px}.agenda-main>span,.agenda-main>small,.agenda-resource{color:var(--muted);font-size:11px}.agenda-title-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:3px}.agenda-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.agenda-actions form{margin:0}.agenda-type-delivery{background:#e9f6ff;color:#126f9d}.agenda-type-pickup{background:#fff1e7;color:#9a5318}.agenda-type-exchange{background:#f0edff;color:#5947a4}.schedule-status-planned{background:#edf2ff;color:#435aa3}.schedule-status-dispatched{background:#eaf7fb;color:#087f98}.schedule-status-done{background:#e8f8f2;color:#08734f}.schedule-status-failed{background:#fff0f0;color:#9f3333}.schedule-status-cancelled{background:#f0f3f5;color:#647781}
.dashboard-agenda{display:grid}.dashboard-agenda-row{display:grid;grid-template-columns:52px 84px 1fr minmax(130px,.5fr);gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid #edf2f4}.dashboard-agenda-row:last-child{border-bottom:0}.dashboard-agenda-row time{font-weight:900;color:#123e4e}.dashboard-agenda-row small,.dashboard-resource{display:block;color:var(--muted);font-size:10px}.dashboard-resource{display:grid;gap:2px;text-align:right}.quick-links{display:grid;gap:8px;margin-top:12px}.quick-links a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 13px;border:1px solid #e2ecef;border-radius:11px;color:#244653;text-decoration:none;font-weight:800;font-size:12px;background:#fbfdfe}.quick-links a:hover{border-color:#9bd5e1;background:#eefafd}
.route-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.route-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.route-stop-list{display:grid;gap:10px}.route-stop{display:grid;grid-template-columns:46px minmax(280px,1fr) auto;gap:14px;align-items:center;padding:15px;border:1px solid #e0eaed;border-radius:13px;background:#fff}.route-stop.stop-completed{background:#f6fbf8}.route-stop.stop-skipped{background:#fff8f8;opacity:.82}.route-stop.stop-arrived{border-color:#9bd5e1;box-shadow:0 0 0 2px rgba(17,168,199,.06)}.route-sequence{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#0b8eae;color:#fff;font-weight:900}.route-stop-main{display:grid;gap:4px}.route-stop-main small,.route-stop-main span{color:var(--muted);font-size:11px}.route-stop-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.route-stop-actions form{margin:0}.skip-form{display:flex;align-items:center;gap:6px}.skip-form input{min-width:170px}.route-actions-bar{display:flex;justify-content:flex-end;gap:10px;margin:16px 0;flex-wrap:wrap}.route-actions-bar form{margin:0}.stop-status-pending{background:#edf2ff;color:#435aa3}.stop-status-arrived{background:#eaf7fb;color:#087f98}.stop-status-completed{background:#e8f8f2;color:#08734f}.stop-status-skipped{background:#fff0f0;color:#9f3333}.route-status-draft{background:#edf2ff;color:#435aa3}.route-status-active{background:#eaf7fb;color:#087f98}.route-status-completed{background:#e8f8f2;color:#08734f}.route-status-cancelled{background:#f0f3f5;color:#647781}
.order-schedule-list{display:grid;gap:8px}.order-schedule-item{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(140px,.55fr) 1fr auto;gap:10px;align-items:center;padding:11px 12px;border-radius:10px;background:#f6fafb;border:1px solid #e4edef}.order-schedule-item>div:first-child{display:flex;gap:5px;flex-wrap:wrap}.order-schedule-item small{color:var(--muted)}.order-schedule-actions{text-align:right}
.vehicle-status-active,.driver-status-active{background:#e8f8f2;color:#08734f}.vehicle-status-maintenance{background:#fff6dc;color:#8b6813}.vehicle-status-inactive,.driver-status-inactive{background:#f0f3f5;color:#647781}
@media(max-width:1250px){.agenda-filter{grid-template-columns:repeat(3,minmax(150px,1fr))}.agenda-card{grid-template-columns:70px 1fr minmax(170px,.6fr)}.agenda-actions{grid-column:2/4;justify-content:flex-start}.route-stop{grid-template-columns:44px 1fr}.route-stop-actions{grid-column:2;justify-content:flex-start}.order-schedule-item{grid-template-columns:1fr 1fr}.order-schedule-actions{text-align:left}}
@media(max-width:800px){.agenda-filter{grid-template-columns:1fr}.agenda-card,.dashboard-agenda-row,.order-schedule-item{grid-template-columns:1fr}.agenda-time{justify-items:start}.agenda-actions{grid-column:auto}.dashboard-resource{text-align:left}.route-hero{flex-direction:column}.route-stop{grid-template-columns:38px 1fr}.skip-form{align-items:stretch;flex-direction:column;width:100%}.skip-form input{min-width:0;width:100%}}

/* v0.7 - Financeiro e exclusão segura de cadastros */
.finance-status-open{background:#edf2ff;color:#435aa3}.finance-status-partial{background:#fff6dc;color:#8b6813}.finance-status-overdue{background:#fff0f0;color:#a23d3d}.finance-status-paid{background:#e8f8f2;color:#08734f}.finance-status-cancelled{background:#f0f3f5;color:#647781}.payment-status-confirmed{background:#e8f8f2;color:#08734f}.payment-status-pending{background:#fff6dc;color:#8b6813}.payment-status-cancelled{background:#f0f3f5;color:#647781}.finance-filter{flex-wrap:wrap}.finance-filter label{min-width:145px}.inline-finance-form{display:flex;align-items:end;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid #edf2f4}.inline-finance-form label{display:grid;gap:6px;color:#3e5965;font-size:12px;font-weight:800}.inline-finance-form input{border:1px solid #cfdee4;background:#fbfdfe;border-radius:11px;padding:10px 12px}.finance-order-link{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:13px 14px;border:1px solid #d9e9ed;background:#f7fbfc;border-radius:12px}.finance-order-link>div{display:grid;gap:3px}.finance-order-link span{color:var(--muted);font-size:11px}.dashboard-light-link{color:#fff;text-decoration:none;font-weight:800}.table-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.table-actions form{margin:0}.delete-zone{margin-top:12px;border-color:#efcaca;background:#fff8f8}.delete-inline{display:flex;justify-content:flex-end;margin-top:12px}.danger-link{padding:0}.mini-stats.four{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:950px){.mini-stats.four{grid-template-columns:repeat(2,minmax(0,1fr))}.inline-finance-form,.finance-order-link{align-items:stretch;flex-direction:column}}@media(max-width:620px){.mini-stats.four{grid-template-columns:1fr}}

/* v0.8 - Precificação, preços especiais e permanência */
.pricing-rule-editor{background:linear-gradient(145deg,#fff,#f8fcfd)}
.pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.pricing-help{background:#f8fcfd;border-color:#d6ebef}.pricing-help p{margin:0;color:var(--muted);line-height:1.6}
.pricing-quote-state{display:flex;align-items:center;gap:9px;padding:12px 14px;border:1px solid #dbe7eb;border-radius:12px;background:#f7fafb;color:#58717b;margin:12px 0}.pricing-quote-state strong{font-size:12px}.pricing-dot{width:9px;height:9px;border-radius:50%;background:#94a6ad;flex:0 0 auto}.pricing-loading .pricing-dot{background:#d39b27;box-shadow:0 0 0 4px #fff4d8}.pricing-ok{background:#eefaf6;border-color:#c8eadf;color:#08734f}.pricing-ok .pricing-dot{background:#07825b;box-shadow:0 0 0 4px #dff4ec}.pricing-error{background:#fff3f3;border-color:#efcccc;color:#9f3333}.pricing-error .pricing-dot{background:#b94747;box-shadow:0 0 0 4px #fde3e3}
.pricing-quote-items{display:grid;gap:9px}.pricing-quote-item{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(90px,.5fr) minmax(170px,.8fr) minmax(160px,.8fr) minmax(100px,.55fr);gap:12px;align-items:center;padding:13px 14px;border:1px solid #e1eaed;border-radius:12px;background:#fbfdfe}.pricing-quote-item>div{display:grid;gap:3px}.pricing-quote-item span,.pricing-quote-item small{font-size:10px;color:var(--muted)}.pricing-quote-item strong{font-size:13px}.pricing-item-total{text-align:right}.pricing-item-total strong{font-size:16px;color:#07825b}.pricing-total-preview{grid-template-columns:repeat(6,minmax(0,1fr))}.pricing-freeze-note{margin-top:12px;padding:11px 13px;border-radius:10px;background:#fff8e8;border:1px solid #f0dfb1;color:#7b6119;font-size:11px;line-height:1.5}.section-gap-small{margin-top:12px}
@media(max-width:1250px){.pricing-quote-item{grid-template-columns:1fr 1fr 1fr}.pricing-quote-item>div:first-child{grid-column:span 2}.pricing-item-total{text-align:left}.pricing-total-preview{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:780px){.pricing-grid,.pricing-total-preview,.pricing-quote-item{grid-template-columns:1fr}.pricing-quote-item>div:first-child{grid-column:auto}}

/* v0.9 - Documentos, CTR, anexos privados e impressão */
.document-filter{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.document-filter label{display:grid;gap:6px;min-width:280px;color:#3e5965;font-size:12px;font-weight:800}.document-filter input{border:1px solid #cfdee4;background:#fbfdfe;border-radius:11px;padding:10px 12px}.mini-stats.three{grid-template-columns:repeat(3,minmax(0,1fr))}.document-status-draft,.document-status-registered{background:#edf2ff;color:#435aa3}.document-status-issued{background:#eaf7fb;color:#087f98}.document-status-completed{background:#e8f8f2;color:#08734f}.document-status-cancelled{background:#f0f3f5;color:#647781}.attachment-category-proof{background:#e8f8f2;color:#08734f}.attachment-category-photo{background:#eaf7fb;color:#087f98}.attachment-category-signature{background:#f0edff;color:#5947a4}.attachment-category-contract{background:#fff6dc;color:#8b6813}.attachment-category-other{background:#f0f3f5;color:#647781}.attachment-list,.document-record-list,.destination-list{display:grid;gap:10px}.attachment-card,.document-record,.destination-card{border:1px solid #dfeaed;border-radius:13px;background:#fff;padding:14px}.attachment-card,.document-record{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:14px;align-items:center}.attachment-card>div:first-child,.document-record-main{display:grid;gap:5px}.attachment-card small,.document-record small,.document-record span,.destination-card span,.destination-card small{color:var(--muted);font-size:11px}.attachment-card .status-pill{width:max-content}.hash-line{display:block;max-width:100%;overflow-wrap:anywhere;color:#647781;background:#f7fafb;border-radius:7px;padding:5px 7px;font-size:9px}.attachment-upload{display:grid;grid-template-columns:180px minmax(220px,.8fr) minmax(260px,1fr) auto;gap:10px;align-items:end}.attachment-upload .field{display:grid;gap:6px}.attachment-file input{padding:8px}.security-note{font-size:10px;color:#08734f;background:#e8f8f2;padding:7px 9px;border-radius:999px;font-weight:800}.destination-card{display:grid;gap:12px}.destination-card-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.destination-card-head>div{display:grid;gap:4px}.compact-form{padding-top:12px;border-top:1px solid #edf2f4}.record-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.record-actions form{margin:0}.document-record{grid-template-columns:minmax(300px,1fr) auto auto}.document-summary-panel .mini-stats{margin-top:12px}.checkbox-line{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;color:#3e5965}.checkbox-line input{width:auto}.pagination{display:flex;justify-content:center}.document-record .record-actions{min-width:140px}.field input[type=file]{background:#fff}
@media(max-width:1050px){.attachment-upload{grid-template-columns:1fr 1fr}.attachment-upload button{width:max-content}.document-record{grid-template-columns:1fr auto}.document-record .record-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:720px){.attachment-card,.document-record,.attachment-upload{grid-template-columns:1fr}.record-actions{justify-content:flex-start}.destination-card-head{flex-direction:column}.mini-stats.three{grid-template-columns:1fr}.document-filter label{min-width:0;width:100%}}
.inline-document-update{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:5px}.inline-document-update select,.inline-document-update input{border:1px solid #d7e4e8;border-radius:8px;padding:6px 8px;background:#fbfdfe;font-size:10px}.inline-document-update input[name=notes]{min-width:180px;flex:1}.inline-document-update button{background:none;border:0;cursor:pointer;font-size:10px}

/* v1.0 - Administração, RBAC, auditoria e relatórios */
.version-badge{display:inline-flex;width:max-content;margin-top:7px;padding:3px 7px;border-radius:999px;background:rgba(255,255,255,.09);color:#9ce7f7;font-size:9px;font-weight:900;letter-spacing:.7px}.muted-text{color:var(--muted);font-size:12px;line-height:1.6}.table-subline{display:block;margin-top:3px;color:var(--muted);font-size:10px}.stat-text{font-size:16px!important;line-height:1.2}.soft-panel{background:#f8fbfc;box-shadow:none}.role-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.choice-card{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:10px;padding:12px;border:1px solid #dbe8ec;border-radius:12px;background:#fff;cursor:pointer}.choice-card input{width:auto!important;margin-top:3px}.choice-card span{display:grid;gap:3px}.choice-card small{color:var(--muted);font-weight:500;line-height:1.4}.user-status-active{background:#e8f8f2;color:#08734f}.user-status-blocked{background:#fff0f0;color:#9f3333}.user-status-inactive{background:#f0f3f5;color:#647781}.full-span{grid-column:1/-1}.span-2{grid-column:span 2}.three-cols{grid-template-columns:repeat(3,minmax(0,1fr))}.permission-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.permission-group{padding:16px!important}.permission-list{display:grid;gap:7px}.permission-line{display:flex!important;align-items:flex-start;gap:9px;padding:9px;border:1px solid #e1eaed;border-radius:10px;background:#fff}.permission-line input{width:auto!important;margin-top:3px}.permission-line span{display:grid;gap:3px}.permission-line strong{font-size:11px}.permission-line small{font-size:10px;color:var(--muted);font-weight:500;line-height:1.4}.security-banner{padding:12px 14px;border:1px solid #c8eadf;background:#eefaf6;color:#08734f;border-radius:11px;font-size:11px;font-weight:700}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.profile-card{display:grid;gap:14px}.profile-card p{margin:0;color:var(--muted);line-height:1.5}.profile-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.profile-card-head h3{margin:4px 0 0}.profile-meta{display:flex;justify-content:space-between;gap:12px;align-items:center}.profile-meta span{color:var(--muted);font-size:12px}.profile-meta code{padding:4px 7px;border-radius:7px;background:#edf4f7;font-size:10px}.audit-filter{flex-wrap:wrap}.audit-detail-grid{grid-template-columns:minmax(0,1.2fr) minmax(300px,.7fr)}.detail-list{display:grid;gap:0;margin:0}.detail-list div{display:grid;grid-template-columns:130px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid #edf2f4}.detail-list dt{color:var(--muted);font-size:11px;font-weight:800}.detail-list dd{margin:0;font-size:12px}.break-text{overflow-wrap:anywhere}.audit-values{display:grid;grid-template-columns:1fr 1fr;gap:18px}.audit-values pre{margin:12px 0 0;max-height:520px;overflow:auto;padding:14px;border-radius:11px;background:#071f2a;color:#dff7ff;font-size:11px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.report-stats{margin-top:0}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.metric-list{display:grid;gap:8px}.metric-list>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border:1px solid #e4edf0;border-radius:10px;background:#fafcfd}.metric-list span{font-size:12px;color:#536c77}.metric-list strong{font-size:16px}.panel-head>small{color:var(--muted)}
@media(max-width:1050px){.permission-groups,.profile-grid,.report-grid,.audit-values{grid-template-columns:1fr}.three-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.span-2{grid-column:auto}.audit-detail-grid{grid-template-columns:1fr}}
@media(max-width:720px){.role-choice-grid,.three-cols{grid-template-columns:1fr}.full-span{grid-column:auto}.detail-list div{grid-template-columns:1fr;gap:3px}.version-badge{display:none}}
.form-grid.two-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-stats>article{padding:16px 18px;background:#fff;border:1px solid #e1ebef;border-radius:15px;box-shadow:0 7px 20px rgba(7,43,58,.035)}.mini-stats>article span{display:block;color:var(--muted);font-size:12px;font-weight:800}.mini-stats>article strong{display:block;margin-top:4px;font-size:18px}
@media(max-width:720px){.form-grid.two-cols{grid-template-columns:1fr}}
