/* MASAR 360 v7 — operations, custody, approvals and compliance */
.operations-hero,.custody-hero,.approval-hero,.license-hero{display:flex;gap:18px;align-items:center;padding:24px 27px;border-radius:22px;margin-bottom:16px;color:#fff;background:linear-gradient(120deg,var(--primary-dark),var(--primary),var(--accent));position:relative;overflow:hidden;box-shadow:0 15px 32px rgba(29,83,124,.14)}
.operations-hero:after,.custody-hero:after,.approval-hero:after,.license-hero:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.08);inset-inline-end:-70px;top:-140px}
.operations-hero>div:first-child,.custody-hero>div,.approval-hero>div,.license-hero>div{width:70px;height:70px;display:grid;place-items:center;border-radius:20px;background:rgba(255,255,255,.16);flex:none}.operations-hero>div:first-child{width:auto;height:auto;background:transparent;display:block}
.operations-hero svg,.custody-hero svg,.approval-hero svg,.license-hero svg{width:35px;height:35px;fill:none;stroke:#fff;stroke-width:1.65}.operations-hero section,.custody-hero section,.approval-hero section,.license-hero section{position:relative;z-index:1}.operations-hero span,.custody-hero span,.approval-hero span,.license-hero span{font-size:10px;letter-spacing:1px;color:#d9f8ff;font-weight:800}.operations-hero h3,.custody-hero h3,.approval-hero h3,.license-hero h3{font-size:20px;margin:7px 0}.operations-hero p,.custody-hero p,.approval-hero p,.license-hero p{font-size:11px;color:#e2f9ff;line-height:1.9;margin:0;max-width:950px}.route-visual{margin-inline-start:auto!important;width:95px!important;height:95px!important;border-radius:28px!important;background:rgba(255,255,255,.18)!important;position:relative}.route-visual svg{width:48px;height:48px}.route-visual b{position:absolute;bottom:8px;inset-inline-end:9px;background:#fff;color:var(--primary);width:27px;height:27px;border-radius:50%;display:grid;place-items:center;font-size:12px}.route-visual i{position:absolute;width:12px;height:12px;border-radius:50%;background:#7fffd2;top:13px;inset-inline-start:15px;box-shadow:0 0 0 5px rgba(127,255,210,.18)}
.operation-tabs,.request-tabs{margin-bottom:15px}.operations-board{display:grid;grid-template-columns:1.45fr .55fr;gap:15px}.trip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.trip-card{background:var(--card);border:1px solid var(--line);border-radius:17px;padding:15px;box-shadow:0 7px 18px rgba(42,81,110,.05);transition:.2s}.trip-card:hover{transform:translateY(-3px);box-shadow:0 13px 24px rgba(42,81,110,.10)}.trip-card.trip-delayed{border-color:#f3b4bd;background:linear-gradient(145deg,#fff,#fff8f9)}.trip-card header,.trip-card footer,.trip-route,.trip-meta{display:flex;align-items:center;gap:9px}.trip-card header{justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:11px}.trip-card header span{font-size:9px;color:var(--muted)}.trip-card h4{font-size:14px;margin:4px 0 0}.trip-card h4 b{color:var(--primary)}.trip-route{padding:12px 0}.trip-route>span{width:37px;height:37px;border-radius:11px;background:var(--primary-soft);display:grid;place-items:center}.trip-route svg{width:19px;height:19px;fill:none;stroke:var(--primary);stroke-width:1.6}.trip-route div{min-width:0;flex:1}.trip-route small,.trip-route b{display:block}.trip-route small,.trip-meta span{font-size:9px;color:var(--muted)}.trip-route b{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trip-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;padding:9px;background:#f8fbfd;border-radius:11px}.trip-meta b{display:block;color:var(--ink);margin-top:4px;font-size:10px}.trip-card .task-progress{margin:11px 0}.trip-card footer{border-top:1px solid var(--line);padding-top:10px;flex-wrap:wrap}.delay-notice{padding:8px 9px;border-radius:9px;color:#b52e44;background:#fff0f2;font-size:9px;margin:8px 0}.vehicle-live-board{padding:15px}.vehicle-live-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;border-bottom:1px solid var(--line);padding:10px 0}.vehicle-live-row:last-child{border:0}.vehicle-live-row small,.vehicle-live-row b{display:block}.vehicle-live-row small{font-size:9px;color:var(--muted);margin-top:3px}.vehicle-live-row>span:last-child{font-size:9px;color:var(--muted)}.live-icon{width:34px;height:34px;border-radius:10px;background:var(--primary-soft);display:grid;place-items:center}.live-icon svg{width:17px;height:17px;fill:none;stroke:var(--primary);stroke-width:1.6}.big-finance{font-size:31px;font-weight:900;color:var(--primary);padding:22px 0}.big-finance small{font-size:11px;color:var(--muted)}
.custody-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.custody-card{border-radius:17px;background:var(--card);border:1px solid var(--line);padding:14px;box-shadow:0 7px 18px rgba(42,81,110,.05)}.custody-card-top{display:flex;gap:10px;align-items:center;padding-bottom:11px;border-bottom:1px solid var(--line)}.vehicle-emoji{width:45px;height:45px;display:grid;place-items:center;border-radius:13px;background:var(--primary-soft);font-size:23px}.custody-card-top div:nth-child(2){min-width:0;flex:1}.custody-card span,.custody-card p,.custody-card small{font-size:9px;color:var(--muted)}.custody-card h4{margin:4px 0;font-size:14px}.custody-card p{margin:0}.custody-grid-info{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;padding:11px 0}.custody-grid-info div{padding:7px;border-radius:9px;background:#f8fbfd}.custody-grid-info b{display:block;font-size:9px;margin-top:4px;overflow:hidden;text-overflow:ellipsis}.custody-card footer{display:flex;gap:7px;border-top:1px solid var(--line);padding-top:10px;flex-wrap:wrap}.custody-form-logo{display:flex;align-items:center;gap:10px;padding:10px;border-radius:13px;background:linear-gradient(120deg,var(--primary-soft),#fff);margin-bottom:13px}.custody-form-logo b,.custody-form-logo small{display:block}.custody-form-logo small{font-size:9px;color:var(--muted);margin-top:4px}.form-section-title{font-size:12px;margin:14px 0 9px}.camera-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.camera-slot{display:grid;place-items:center;gap:5px;text-align:center;min-height:94px;padding:9px;border:1px dashed #bad2e1;background:#f8fbfd;border-radius:12px;cursor:pointer;transition:.2s}.camera-slot:hover,.camera-slot.captured{border-color:var(--primary);background:var(--primary-soft)}.camera-slot input{display:none}.camera-slot span{width:32px;height:32px;display:grid;place-items:center;color:var(--primary)}.camera-slot svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.7}.camera-slot b{font-size:10px}.camera-slot small{font-size:8px;color:var(--muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.signature-wrap{position:relative;border:1px dashed #aac4d4;background:#fff;border-radius:12px;padding:8px}.signature-wrap canvas{display:block;width:100%;height:130px;background:linear-gradient(#fff,#fbfdff);border-radius:8px;touch-action:none}.signature-wrap button{position:absolute;bottom:13px;inset-inline-end:13px}.print-custody{padding:20px;border:1px solid var(--line);background:#fff;border-radius:14px;color:#1a2a3b}.print-custody header{display:flex;gap:12px;align-items:center;border-bottom:2px solid var(--primary);padding-bottom:12px}.print-custody header div:nth-child(2){flex:1}.print-custody h2{font-size:17px;margin:0}.print-custody p{font-size:11px}.custody-declaration{line-height:2;padding:10px 0}.custody-document-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.custody-document-grid div{padding:9px;background:#f7fafc;border:1px solid var(--line);border-radius:8px}.custody-document-grid small,.custody-document-grid b{display:block}.custody-document-grid small{font-size:8px;color:var(--muted)}.custody-document-grid b{font-size:10px;margin-top:5px}.photo-checks{display:flex;gap:7px;flex-wrap:wrap}.photo-checks span{background:#effaf6;color:#14835e;border-radius:20px;padding:5px 8px;font-size:9px}.custody-signature-line{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:20px}.custody-signature-line div{border-top:1px solid #a7b7c5;padding-top:9px}.custody-signature-line small,.custody-signature-line b{display:block}.custody-signature-line small{font-size:8px;color:var(--muted)}.custody-signature-line b{margin-top:5px;font-size:10px}.photo-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.photo-angle{display:grid;place-items:center;text-align:center;gap:6px;min-height:113px;padding:10px;border-radius:12px;border:1px dashed #c2d2de;background:#fbfdff}.photo-angle.has-photo{border-style:solid;border-color:#b8e3d4;background:#f4fbf8}.photo-angle span{font-size:28px}.photo-angle svg{width:26px;height:26px;stroke:var(--primary);fill:none}.photo-angle b{font-size:10px}.photo-angle small{font-size:8px;color:var(--muted)}
.approval-flow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-bottom:15px}.approval-flow-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:13px}.approval-flow-card h4{font-size:12px;margin:0 0 11px}.approval-flow-card>div{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-bottom:10px}.approval-flow-card span{display:flex;align-items:center;gap:5px;font-size:8px;color:var(--muted)}.approval-flow-card span b{width:19px;height:19px;border-radius:50%;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);font-size:8px}.approval-flow-card i{font-style:normal;color:#a8b9c8;font-size:9px}.approval-stepper{display:flex;gap:7px;align-items:stretch;margin-bottom:14px}.approval-stepper div{flex:1;position:relative;border-radius:11px;padding:12px;background:#f6f9fb;border:1px solid var(--line);text-align:center}.approval-stepper b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;margin:auto auto 7px;background:#e4ebf1;font-size:10px}.approval-stepper span{font-size:9px}.approval-stepper .done{background:#effaf6;border-color:#bee4d6}.approval-stepper .done b{background:var(--success);color:#fff}.approval-stepper .current{background:var(--primary-soft);border-color:#b6d8eb}.approval-stepper .current b{background:var(--primary);color:#fff}.portal-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:15px}.portal-actions button{display:flex;align-items:center;gap:10px;padding:15px;border:1px solid var(--line);background:var(--card);border-radius:14px;color:var(--ink);text-align:start;transition:.2s}.portal-actions button:hover{transform:translateY(-3px);border-color:var(--primary);background:var(--primary-soft)}.portal-actions svg{width:23px;height:23px;fill:none;stroke:var(--primary);stroke-width:1.7}.portal-actions b{font-size:10px}.portal-request{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}.portal-request:last-child{border:0}.portal-request b,.portal-request small{display:block}.portal-request b{font-size:10px}.portal-request small{font-size:8px;color:var(--muted);margin-top:4px}
.license-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.license-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:13px;box-shadow:0 6px 17px rgba(42,81,110,.05)}.license-card.urgent{border-color:#f0b8c0;background:#fff9fa}.license-card.soon{border-color:#f2d494;background:#fffdf8}.license-card header{display:flex;align-items:center;gap:9px;padding-bottom:10px;border-bottom:1px solid var(--line)}.license-card header div:nth-child(2){flex:1}.license-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:11px;background:var(--primary-soft)}.license-icon svg{width:20px;height:20px;stroke:var(--primary);fill:none;stroke-width:1.65}.license-card span,.license-card small{font-size:8px;color:var(--muted)}.license-card h4{font-size:12px;margin:4px 0 0}.license-details{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;padding:10px 0}.license-details div{padding:7px;border-radius:8px;background:#f8fbfd}.license-details small,.license-details b{display:block}.license-details b{font-size:9px;margin-top:4px}.license-card footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:9px}.cost-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.map-estimate{display:flex;gap:10px;align-items:center;padding:11px;border-radius:12px;background:var(--primary-soft);margin-top:11px}.map-estimate span{width:37px;height:37px;display:grid;place-items:center}.map-estimate svg{width:22px;height:22px;stroke:var(--primary);fill:none}.map-estimate b,.map-estimate small{display:block}.map-estimate b{font-size:10px}.map-estimate small{font-size:8px;color:var(--muted);margin-top:5px;line-height:1.7}.developer-v7-card{margin-top:15px}.v7-flags{margin-top:12px}.danger-button{border:0;background:#d8435c;color:#fff;border-radius:9px;padding:10px 14px;font-size:10px;font-weight:700;cursor:pointer}.report-tabs-v7{grid-template-columns:repeat(8,1fr)}
@media print{body>*{display:none!important}#modal-root{display:block!important}.modal-backdrop{position:static!important;background:#fff!important;padding:0!important}.modal{max-width:none!important;box-shadow:none!important;border:0!important}.modal-head,.modal-foot{display:none!important}.modal-body{max-height:none!important;overflow:visible!important}.print-custody{display:block!important;border:0!important}}
@media(max-width:1450px){.trip-grid{grid-template-columns:1fr}.custody-grid,.license-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-tabs-v7{grid-template-columns:repeat(4,1fr)}}
@media(max-width:1050px){.operations-board{grid-template-columns:1fr}.approval-flow-grid{grid-template-columns:1fr}.cost-grid{grid-template-columns:repeat(2,1fr)}.portal-actions{grid-template-columns:1fr}}
@media(max-width:680px){.operations-hero,.custody-hero,.approval-hero,.license-hero{align-items:flex-start;flex-direction:column}.route-visual{display:none!important}.custody-grid,.license-grid{grid-template-columns:1fr}.camera-grid,.photo-gallery,.custody-document-grid{grid-template-columns:repeat(2,1fr)}.approval-stepper{flex-direction:column}.report-tabs-v7{grid-template-columns:repeat(2,1fr)}}
.mini-button.trip-go{background:#e9f9f3;border-color:#b7e6d5;color:#087b54}.mini-button.trip-delay{background:#fff7e5;border-color:#f4d79a;color:#a26500}
