:root{--ink:#102a43;--muted:#627d98;--line:#d8e2ec;--canvas:#f4f7fb;--surface:#fff;--navy:#081c2e;--navy-2:#0d2c46;--aqua:#0da5b5;--aqua-dark:#087d91;--lime:#b7ca35;--amber:#e7a82b;--red:#d94c54;--violet:#7964bc;--shadow:0 10px 28px rgba(18,46,72,.08);--radius:15px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--canvas);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--canvas)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(13,165,181,.28);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.55}h1,h2,h3,p{margin:0}.eyebrow{color:#64849a;font-size:.67rem;font-weight:800;letter-spacing:.15em;line-height:1.2}.button{border:0;border-radius:9px;padding:.72rem 1rem;display:inline-flex;gap:.5rem;align-items:center;justify-content:center;font-size:.82rem;font-weight:750;transition:transform .15s,background .15s,box-shadow .15s}.button:hover:not(:disabled){transform:translateY(-1px)}.button-primary{background:var(--aqua);color:white;box-shadow:0 5px 12px rgba(8,125,145,.18)}.button-primary:hover:not(:disabled){background:var(--aqua-dark)}.button-muted{background:#edf3f7;color:#33526a}.button-muted:hover:not(:disabled){background:#e0ebf0}.button-wide{width:100%}.text-button{border:0;background:transparent;padding:0;color:var(--aqua-dark);font-size:.78rem;font-weight:800}.icon-button{border:1px solid var(--line);background:var(--surface);border-radius:8px;width:2rem;height:2rem;color:#47637a;font-size:1.3rem;line-height:1;display:inline-flex;align-items:center;justify-content:center}.icon-button:hover{color:var(--aqua-dark);border-color:#9fc4cc}.live-dot{width:.48rem;height:.48rem;border-radius:999px;background:#50c878;box-shadow:0 0 0 4px rgba(80,200,120,.15);display:inline-block}.integration-badge{background:#e2f7f9;color:#087d91;border-radius:99px;padding:.35rem .62rem;font-size:.68rem;font-weight:800;white-space:nowrap}.integration-badge.neutral{background:#edf3f7;color:#527087}.form-error{min-height:1.1rem;color:#b62935;font-size:.76rem;font-weight:650;margin-top:.7rem}.login-screen{display:grid;grid-template-columns:minmax(430px,1.1fr) minmax(380px,.9fr);min-height:100vh;background:#edf4f8}.login-art{position:relative;isolation:isolate;overflow:hidden;padding:11vh clamp(2rem,7vw,8rem);color:white;background:radial-gradient(circle at 74% 38%,rgba(13,165,181,.42),transparent 30%),linear-gradient(145deg,#061425,#0b2d47 55%,#0a5365);display:flex;align-items:center}.login-art:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent 76px,rgba(255,255,255,.032) 77px),repeating-linear-gradient(0deg,transparent 0,transparent 76px,rgba(255,255,255,.025) 77px);z-index:-1}.login-copy{max-width:670px}.login-copy .eyebrow{color:#81dce6}.login-copy h1{font-size:clamp(2.4rem,4vw,4.35rem);letter-spacing:-.055em;line-height:1.02;margin:.85rem 0 1.15rem}.login-copy p:last-child{max-width:480px;color:#c5d9e7;font-size:1.05rem;line-height:1.6}.grid-orbit{position:absolute;border:1px solid rgba(117,225,232,.23);border-radius:50%;z-index:-1}.orbit-a{width:660px;height:660px;right:-210px;bottom:-225px}.orbit-b{width:390px;height:390px;right:-45px;bottom:-75px;border-style:dashed}.map-pin{position:absolute;color:#9af4de;font-size:1.25rem;filter:drop-shadow(0 0 12px #6ff);z-index:1}.pin-a{right:24%;top:25%}.pin-b{right:48%;bottom:27%;color:#e9bf43}.pin-c{right:10%;bottom:17%;color:#fff}.login-panel{display:flex;align-items:center;justify-content:center;padding:2rem;background:#fff}.login-card{width:min(390px,100%)}.brand-lockup{display:flex;align-items:center;gap:.67rem}.brand-symbol{display:inline-grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:9px;background:linear-gradient(135deg,#12b6c4,#0b6881);color:#fff;font-weight:900;font-size:1.2rem;box-shadow:0 6px 15px rgba(8,125,145,.25)}.brand-lockup strong{display:block;letter-spacing:.11em;font-size:.78rem;line-height:1}.brand-lockup small{display:block;margin-top:.16rem;color:#7c96a8;font-size:.67rem;letter-spacing:.07em}.login-heading{margin:4rem 0 1.65rem}.login-heading h2{margin:.52rem 0;font-size:1.8rem;letter-spacing:-.035em}.login-heading p:last-child{color:var(--muted);font-size:.9rem}.login-card form{display:grid;gap:1rem}.login-card label,.form-grid label,.readiness-filters label{display:grid;gap:.42rem;color:#436075;font-size:.75rem;font-weight:800}.login-card input,.form-grid input,.form-grid select,.form-grid textarea,.readiness-filters select{border:1px solid #c9d7e2;border-radius:8px;padding:.73rem .78rem;color:var(--ink);background:white;font-size:.9rem;font-weight:500;transition:border .15s,box-shadow .15s}.login-card input:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.readiness-filters select:focus{border-color:#0da5b5;box-shadow:0 0 0 3px rgba(13,165,181,.12);outline:0}.login-card .button{margin-top:.2rem;padding:.84rem}.security-note{margin-top:2.5rem;border-top:1px solid #e1e9ef;padding-top:1.15rem;color:#6d8798;font-size:.73rem;line-height:1.5}.app-shell{min-height:100vh;display:grid;grid-template-columns:252px minmax(0,1fr)}.sidebar{background:var(--navy);color:white;display:flex;flex-direction:column;min-height:100vh;padding:1.4rem .85rem .85rem;position:sticky;top:0;height:100vh}.side-brand{padding:.25rem .55rem 1.8rem}.side-brand small{color:#91a9ba}.main-nav{display:grid;gap:.3rem}.nav-item{border:0;background:transparent;color:#adbdc8;border-radius:8px;padding:.78rem .7rem;display:flex;align-items:center;gap:.7rem;text-align:left;font-size:.8rem;font-weight:700}.nav-item:hover{background:rgba(255,255,255,.06);color:white}.nav-item.active{background:#123b57;color:white}.nav-icon{width:1.12rem;text-align:center;color:#75dbe3;font-size:1rem}.nav-count{margin-left:auto;background:#d85b5c;color:#fff;border-radius:99px;min-width:1.2rem;padding:.1rem .38rem;text-align:center;font-size:.65rem}.sidebar-bottom{margin-top:auto;display:grid;gap:1rem;padding:.65rem}.fleet-pulse{border:1px solid rgba(166,204,218,.17);border-radius:10px;padding:.8rem;background:rgba(0,0,0,.11)}.pulse-head{display:flex;align-items:center;gap:.45rem;font-size:.67rem}.fleet-pulse p{margin-top:.45rem;color:#96acba;font-size:.7rem;line-height:1.4}.user-chip{border-top:1px solid rgba(166,204,218,.16);padding-top:1rem;display:flex;align-items:center;gap:.55rem;min-width:0}.user-avatar{width:1.95rem;height:1.95rem;border-radius:50%;background:#365c72;display:grid;place-items:center;font-size:.65rem;font-weight:900;flex:none}.user-chip span:nth-child(2){min-width:0;flex:1}.user-chip strong,.user-chip small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-chip strong{font-size:.7rem}.user-chip small{font-size:.61rem;color:#99afbd;margin-top:.1rem}.user-chip .icon-button{background:transparent;border-color:transparent;color:#a9bdc9;width:1.8rem;height:1.8rem}.workspace{min-width:0}.topbar{min-height:88px;background:#fff;border-bottom:1px solid #e3ebf0;padding:1.1rem clamp(1.3rem,3vw,3.2rem);display:flex;align-items:center;justify-content:space-between;gap:1rem}.breadcrumb h1{margin-top:.2rem;font-size:1.25rem;letter-spacing:-.03em}.top-actions{display:flex;align-items:center;gap:1rem}.today-label{color:#627d98;font-size:.72rem;font-weight:700;text-transform:capitalize}.view{display:none;padding:1.6rem clamp(1.3rem,3vw,3.2rem) 3rem}.view.active{display:block}.command-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.summary-card{background:var(--surface);border:1px solid #e1eaf0;border-radius:var(--radius);padding:1.15rem;min-height:135px;position:relative;overflow:hidden;box-shadow:0 5px 14px rgba(18,46,72,.025)}.summary-card:after{content:"";position:absolute;width:68px;height:68px;right:-22px;bottom:-26px;border-radius:50%;background:#e9f2f6}.summary-card.summary-primary{background:linear-gradient(130deg,#075e73,#0b899c);border-color:#075e73;color:white}.summary-card.summary-primary:after{background:rgba(255,255,255,.13)}.summary-label{font-size:.64rem;letter-spacing:.1em;font-weight:900;color:#6e899a}.summary-primary .summary-label{color:#c3f2f4}.summary-card strong{font-size:2.05rem;letter-spacing:-.06em;display:block;margin:.5rem 0 .05rem;line-height:1}.summary-card p{font-size:.72rem;color:#768f9f}.summary-primary p{color:#d3f6f7}.trend-positive{color:#70e2ac}.summary-card i{position:absolute;right:1rem;top:1rem;font-size:1.1rem;font-style:normal;color:#9db4c3}.summary-primary i{color:#c4f1f1}.attention-strip{margin:1rem 0;background:#fff6e2;border:1px solid #f1d693;border-radius:11px;display:none;align-items:center;gap:.8rem;padding:.75rem .95rem;font-size:.79rem;color:#7a5611}.attention-strip.active{display:flex}.attention-strip strong{font-size:.76rem}.attention-strip button{margin-left:auto;white-space:nowrap}.panel{background:var(--surface);border:1px solid #e0eaf0;border-radius:var(--radius);box-shadow:var(--shadow)}.schedule-panel{margin-top:1rem;padding:1.25rem 1.35rem 1.4rem}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.panel-header h2,.assets-heading h2,.audit-heading h2{font-size:1.05rem;letter-spacing:-.025em;margin:.28rem 0}.panel-header p:last-child{color:#718b9c;font-size:.77rem;line-height:1.45}.schedule-header{align-items:center}.schedule-controls{display:flex;align-items:center;gap:.48rem}.timeline-range{min-width:165px;text-align:center;color:#466177;font-size:.76rem;font-weight:800}.schedule-controls .icon-button{width:1.7rem;height:1.7rem}.schedule-controls .button{padding:.43rem .68rem;font-size:.7rem}.legend{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin:1.1rem 0 .65rem;color:#6d8595;font-size:.68rem;font-weight:750}.legend span{display:inline-flex;align-items:center;gap:.35rem}.legend i{display:inline-block;width:.72rem;height:.72rem;border-radius:3px}.legend-service{background:var(--aqua)}.legend-transit{background:repeating-linear-gradient(135deg,#a8b7c1 0,#a8b7c1 4px,#d8e0e5 4px,#d8e0e5 8px)}.legend-ready{background:#75c78d}.legend-risk{background:var(--amber)}.timeline{overflow-x:auto;padding-bottom:.3rem}.timeline-inner{min-width:835px}.timeline-head,.timeline-row{display:grid;grid-template-columns:152px repeat(14,minmax(46px,1fr));position:relative}.timeline-head{border-top:1px solid #e3ebf0;border-bottom:1px solid #e3ebf0}.timeline-head .asset-head{padding:.58rem .5rem;color:#7891a0;font-size:.63rem;font-weight:850;letter-spacing:.06em}.day-head{min-height:46px;padding:.48rem .08rem;text-align:center;border-left:1px solid #edf2f5;color:#6d8596;font-size:.66rem;font-weight:750}.day-head strong{display:block;color:#27475c;font-size:.76rem;margin-bottom:.1rem}.day-head.weekend{background:#f7fafb}.timeline-row{min-height:56px;border-bottom:1px solid #e7eef2}.asset-label{padding:.75rem .5rem;display:flex;align-items:center;gap:.5rem;border-right:1px solid #e7eef2;background:#fff;position:sticky;left:0;z-index:3}.asset-label .asset-color{display:block;width:.47rem;height:1.65rem;border-radius:4px}.asset-label strong{font-size:.71rem;display:block}.asset-label small{font-size:.61rem;color:#7790a0;display:block;margin-top:.1rem}.day-cell{border-left:1px solid #eff3f5;background:repeating-linear-gradient(135deg,transparent 0,transparent 23px,rgba(232,239,243,.55) 24px)}.day-cell.weekend{background-color:#fafcfd}.timeline-bar{z-index:2;align-self:center;height:33px;margin:0 2px;border-radius:5px;display:flex;align-items:center;min-width:0;padding:0 .45rem;color:white;overflow:hidden;white-space:nowrap;box-shadow:0 3px 7px rgba(14,44,67,.14);font-size:.65rem;font-weight:850}.timeline-bar.service{background:var(--bar-color);border-left:4px solid rgba(255,255,255,.55)}.timeline-bar.transit{background:repeating-linear-gradient(135deg,#718697 0,#718697 5px,#9bacb8 5px,#9bacb8 10px);color:#fff;justify-content:center}.timeline-bar.risk{box-shadow:inset 0 0 0 2px #e2a429,0 3px 7px rgba(14,44,67,.14)}.timeline-bar span{overflow:hidden;text-overflow:ellipsis}.command-grid{display:grid;grid-template-columns:1.07fr .93fr;gap:1rem;margin-top:1rem}.next-panel,.readiness-panel{padding:1.2rem}.movements-list,.critical-list{margin-top:.75rem;display:grid;gap:.25rem}.movement-item{padding:.75rem .2rem;border-bottom:1px solid #edf2f5;display:grid;grid-template-columns:59px 1fr auto;gap:.72rem;align-items:center}.movement-item:last-child{border:0}.movement-date{font-size:.64rem;text-align:center;color:#668194;font-weight:850;text-transform:uppercase}.movement-date strong{display:block;font-size:1.05rem;color:#24465c;line-height:1.05}.movement-item h3{font-size:.78rem}.movement-item p{font-size:.68rem;color:#6f899b;margin-top:.2rem}.movement-badge{font-size:.62rem;font-weight:850;border-radius:99px;padding:.27rem .43rem;background:#edf4f8;color:#3c657a}.critical-item{padding:.75rem 0;border-bottom:1px solid #edf2f5;display:grid;grid-template-columns:29px 1fr auto;gap:.55rem;align-items:start}.critical-item:last-child{border:0}.critical-icon{width:26px;height:26px;border-radius:7px;background:#fff0d1;color:#c37b10;display:grid;place-items:center;font-weight:900}.critical-item h3{font-size:.76rem;line-height:1.25}.critical-item p{font-size:.66rem;color:#718b9c;line-height:1.4;margin-top:.18rem}.critical-item .text-button{font-size:.66rem;white-space:nowrap}.map-layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:1rem}.route-planner{padding:1.25rem;height:min-content}.route-planner .panel-header{display:block}.route-planner .integration-badge{display:inline-block;margin-top:.75rem}.route-stop-picker{display:grid;gap:.4rem;margin:1.2rem 0}.route-pick{display:flex;align-items:center;gap:.55rem;padding:.65rem .7rem;border:1px solid #e0eaef;border-radius:8px;color:#45647a;font-size:.75rem;font-weight:750}.route-pick:hover{border-color:#9ec3ca;background:#f8fcfc}.route-pick input{accent-color:var(--aqua)}.route-pick span{width:.52rem;height:.52rem;border-radius:50%;background:var(--route-color);display:block}.route-result{margin-top:1rem;padding:.9rem;border-radius:10px;background:#eff8f9;border:1px solid #d2edef}.route-result.empty{background:#f6f9fb;border-color:#e1ebf0}.route-result strong{display:block;font-size:.78rem}.route-result p{margin-top:.35rem;color:#668092;font-size:.7rem;line-height:1.45}.route-numbers{display:flex;gap:1rem;margin:.7rem 0}.route-numbers strong{font-size:1.3rem;color:#0b7182}.route-numbers span{display:block;color:#6b8697;font-size:.62rem;font-weight:750}.planner-note{color:#718999;font-size:.67rem;line-height:1.45;margin-top:.85rem}.map-panel{min-height:540px;overflow:hidden;position:relative}.map-canvas{height:100%;min-height:540px;background:#dcecee}.map-fallback{height:100%;position:relative;overflow:hidden;background:linear-gradient(130deg,#dbe9e7,#eef4e8 47%,#d6e8f0)}.map-grid{position:absolute;inset:0;opacity:.5;background:linear-gradient(37deg,transparent 48%,rgba(110,145,126,.24) 49%,rgba(110,145,126,.24) 50%,transparent 51%),linear-gradient(128deg,transparent 47%,rgba(100,143,155,.19) 48%,rgba(100,143,155,.19) 49%,transparent 50%);background-size:157px 123px,193px 133px}.map-fallback:before,.map-fallback:after{content:"";position:absolute;border:2px solid rgba(13,139,153,.45);border-radius:48% 52% 45% 55%/45% 40% 60% 55%;transform:rotate(-23deg)}.map-fallback:before{width:78%;height:22%;left:11%;top:43%;border-left-width:0}.map-fallback:after{width:58%;height:38%;left:24%;top:22%;border-bottom-width:0;border-color:rgba(229,173,40,.5)}.map-points{position:absolute;inset:0}.map-point{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;z-index:2}.map-point i{display:grid;place-items:center;width:27px;height:27px;border:3px solid white;border-radius:50% 50% 50% 0;background:var(--point-color);color:white;font-size:.68rem;transform:rotate(-45deg);box-shadow:0 3px 8px rgba(31,67,73,.25)}.map-point i span{transform:rotate(45deg)}.map-point strong{margin-top:.3rem;padding:.2rem .35rem;background:rgba(255,255,255,.92);border-radius:4px;color:#274c5a;font-size:.61rem;white-space:nowrap;box-shadow:0 2px 4px rgba(15,43,58,.12)}.fallback-caption{position:absolute;left:1rem;bottom:1rem;padding:.7rem .8rem;background:rgba(255,255,255,.94);border-radius:9px;box-shadow:0 4px 12px rgba(20,61,70,.13)}.fallback-caption strong,.fallback-caption span{display:block}.fallback-caption strong{font-size:.75rem}.fallback-caption span{font-size:.64rem;color:#668394;margin-top:.15rem}.map-overlay{position:absolute;top:1rem;left:1rem;padding:.48rem .65rem;background:rgba(255,255,255,.93);border-radius:7px;color:#4c697d;font-size:.67rem;font-weight:750;display:flex;align-items:center;gap:.42rem}.map-key{position:absolute;right:1rem;bottom:1rem;background:rgba(255,255,255,.93);padding:.55rem .65rem;border-radius:7px;display:flex;gap:.65rem;font-size:.62rem;color:#567386}.map-key span{display:flex;align-items:center;gap:.28rem}.marker-truck,.marker-container{width:.55rem;height:.55rem;display:inline-block;background:#169eb2;border-radius:50%}.marker-container{border-radius:1px;background:#806ac0}.route-table-panel{margin-top:1rem;padding:1.2rem}.table-note{font-size:.67rem;color:#718b9b}.table-wrap{overflow:auto;margin-top:.9rem}table{border-collapse:collapse;width:100%;min-width:760px}th{text-align:left;background:#f5f8fa;color:#698294;font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;padding:.65rem .7rem}td{padding:.75rem .7rem;border-bottom:1px solid #edf1f4;font-size:.72rem;color:#36546a}td strong{font-size:.75rem}.distance-cell{font-weight:800;color:#0e7889}.readiness-hero{background:radial-gradient(circle at 90% 35%,rgba(38,190,193,.23),transparent 22%),linear-gradient(120deg,#082339,#105269);color:white;border-radius:var(--radius);padding:2rem clamp(1.4rem,4vw,3.5rem);display:flex;justify-content:space-between;align-items:center;gap:2rem}.readiness-hero .eyebrow{color:#80dce2}.readiness-hero h2{font-size:clamp(1.3rem,2.5vw,2rem);letter-spacing:-.04em;line-height:1.12;max-width:680px;margin:.45rem 0 .7rem}.readiness-hero p{color:#b8d3dd;max-width:650px;font-size:.82rem;line-height:1.55}.readiness-score{min-width:150px;padding:1.05rem;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(0,0,0,.13);text-align:center}.readiness-score span,.readiness-score small{display:block;font-size:.64rem;color:#a8cbd6}.readiness-score strong{font-size:2rem;color:#a2e4dc;display:block;margin:.22rem 0}.readiness-filters{margin:1rem 0;display:flex;gap:.7rem;align-items:end;flex-wrap:wrap}.readiness-filters select{min-width:210px}.readiness-filters #task-filter-count{color:#718a9b;font-size:.72rem;margin-bottom:.55rem}.readiness-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.readiness-column{background:#eaf0f4;border-radius:14px;padding:.75rem;min-height:270px}.readiness-column-head{display:flex;align-items:center;justify-content:space-between;padding:.25rem .3rem .75rem}.readiness-column-head h3{font-size:.78rem}.readiness-column-head span{background:#d7e1e7;border-radius:99px;padding:.12rem .4rem;font-size:.61rem;font-weight:850;color:#5b778a}.task-card{background:#fff;border:1px solid #dce7ed;border-radius:10px;padding:.8rem;margin-bottom:.6rem;box-shadow:0 3px 7px rgba(20,50,76,.035);cursor:pointer;transition:transform .15s,box-shadow .15s}.task-card:hover{transform:translateY(-2px);box-shadow:0 7px 15px rgba(20,50,76,.09)}.task-card:last-child{margin-bottom:0}.task-card-top{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.category-chip{background:#e5f6f7;color:#087b8c;padding:.18rem .35rem;border-radius:4px;font-size:.58rem;font-weight:900;text-transform:uppercase}.critical-star{color:#d18c19;font-size:.9rem}.task-card h4{font-size:.76rem;line-height:1.34;margin:.52rem 0 .42rem}.task-card .task-place{color:#638095;font-size:.65rem;display:flex;align-items:center;gap:.25rem}.task-card-bottom{border-top:1px solid #edf2f5;margin-top:.65rem;padding-top:.5rem;display:flex;justify-content:space-between;color:#718c9e;font-size:.62rem}.stage-dot{width:.45rem;height:.45rem;border-radius:99px;display:inline-block;background:var(--stage-color)}.assets-heading,.audit-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.assets-heading p:last-child,.audit-heading p:last-child{font-size:.78rem;color:#6d8799}.asset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.asset-card{background:#fff;border:1px solid #deeaef;border-radius:14px;padding:1rem;position:relative;overflow:hidden;box-shadow:0 4px 10px rgba(19,45,73,.025)}.asset-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--asset-color)}.asset-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.asset-type{color:#6a8496;font-size:.63rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.asset-card h3{font-size:1rem;letter-spacing:-.025em;margin:.25rem 0}.asset-code{font-size:.62rem;font-weight:900;padding:.25rem .38rem;background:#eef3f6;color:#49677b;border-radius:4px}.asset-status{display:flex;align-items:center;gap:.35rem;color:#668192;font-size:.68rem;margin:.75rem 0}.asset-status i{width:.45rem;height:.45rem;border-radius:50%;background:var(--asset-color)}.asset-details{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;border-top:1px solid #edf2f4;padding-top:.7rem}.asset-details span{color:#7890a0;font-size:.6rem;display:block}.asset-details strong{color:#3e5d73;font-size:.68rem;display:block;margin-top:.12rem}.support-matrix{padding:1.2rem;margin-top:1rem}.matrix-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem}.matrix-grid article{border:1px solid #e3edf1;border-radius:10px;padding:1rem}.matrix-icon{display:grid;place-items:center;width:31px;height:31px;background:#e4f6f7;color:#087c8d;border-radius:7px;font-size:.9rem}.matrix-grid h3{font-size:.8rem;margin:.65rem 0}.matrix-grid ul{padding-left:1rem;margin:0;color:#627e91;font-size:.69rem;line-height:1.65}.audit-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1rem}.audit-summary article{background:#fff;border:1px solid #e1ebef;border-radius:11px;padding:.95rem}.audit-summary span{color:#6e889a;font-size:.63rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.audit-summary strong{display:block;color:#0c7182;font-size:1.25rem;margin:.28rem 0}.audit-summary p{font-size:.67rem;color:#728b9c}.audit-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:1rem}.audit-layout .panel{padding:1.2rem}.audit-list{margin-top:.75rem}.audit-item{display:grid;grid-template-columns:31px 1fr auto;gap:.65rem;padding:.7rem 0;border-bottom:1px solid #eaf0f3}.audit-item:last-child{border:0}.audit-action{display:grid;place-items:center;width:29px;height:29px;border-radius:7px;background:#e6f5f7;color:#097f8f;font-size:.8rem}.audit-item h3{font-size:.72rem;line-height:1.3}.audit-item p{color:#6c8799;font-size:.64rem;margin-top:.18rem}.audit-item time{font-size:.6rem;color:#8097a6;white-space:nowrap}.users-list{display:grid;gap:.45rem;margin-top:.7rem}.user-list-item{display:flex;align-items:center;gap:.55rem;padding:.5rem 0;border-bottom:1px solid #edf2f4}.user-list-item:last-child{border:0}.user-list-item .user-avatar{background:#e5f5f7;color:#087b8d}.user-list-item strong,.user-list-item small{display:block}.user-list-item strong{font-size:.7rem}.user-list-item small{font-size:.62rem;color:#708a9b;margin-top:.1rem}.role-badge{margin-left:auto;background:#eff4f7;color:#5b788b;border-radius:99px;padding:.2rem .38rem;font-size:.58rem;font-weight:850}.admin-hint{margin-top:1rem;color:#7c92a2;font-size:.65rem;line-height:1.5}.dialog{border:0;padding:0;border-radius:14px;max-width:min(680px,calc(100vw - 2rem));width:100%;box-shadow:0 22px 70px rgba(2,20,34,.35)}.dialog::backdrop{background:rgba(3,20,33,.56);backdrop-filter:blur(2px)}.dialog-form{padding:1.35rem}.compact-dialog{max-width:min(550px,calc(100vw - 2rem))}.dialog-header{display:flex;justify-content:space-between;gap:1rem;align-items:start}.dialog-header h2{font-size:1.15rem;letter-spacing:-.03em;margin-top:.26rem}.dialog-intro,.permission-note{color:#668294;font-size:.73rem;line-height:1.5;margin:1rem 0}.permission-note{background:#eef7f8;border:1px solid #d6edef;border-radius:8px;padding:.65rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.form-grid .span-2{grid-column:span 2}.form-grid textarea{resize:vertical}.dialog-actions{display:flex;justify-content:flex-end;gap:.65rem;margin-top:1.1rem}.task-context{margin:1rem 0;padding:.7rem;background:#f1f7f9;border-radius:8px;color:#537286;font-size:.72rem;line-height:1.45}.toast-region{position:fixed;right:1rem;bottom:1rem;z-index:100;display:grid;gap:.5rem;max-width:360px}.toast{background:#093147;color:white;padding:.75rem .9rem;border-radius:9px;font-size:.75rem;box-shadow:0 8px 25px rgba(3,30,48,.24);animation:slide-in .25s ease}.toast.error{background:#9e3540}.toast.success{background:#087d70}@keyframes slide-in{from{transform:translateX(18px);opacity:0}to{transform:translateX(0);opacity:1}}
@media(max-width:1120px){.command-summary{grid-template-columns:repeat(2,1fr)}.asset-grid{grid-template-columns:repeat(2,1fr)}.readiness-board{grid-template-columns:repeat(2,1fr)}.readiness-column:last-child{grid-column:span 2}.map-layout{grid-template-columns:300px minmax(0,1fr)}}
@media(max-width:850px){.app-shell{display:block}.sidebar{height:auto;min-height:0;position:static;padding:.65rem .8rem}.side-brand{padding:.25rem .35rem .7rem}.main-nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:.15rem;overflow:auto}.nav-item{justify-content:center;padding:.55rem .35rem;font-size:.62rem;gap:.2rem;white-space:nowrap}.nav-icon{display:none}.nav-count{position:absolute;margin-left:0;transform:translate(24px,-12px)}.sidebar-bottom{display:none}.topbar{min-height:75px}.command-grid,.audit-layout{grid-template-columns:1fr}.map-layout{grid-template-columns:1fr}.route-planner{order:2}.map-panel,.map-canvas{min-height:410px}.readiness-hero{align-items:flex-start;flex-direction:column}.readiness-score{text-align:left}.asset-grid,.matrix-grid{grid-template-columns:1fr}.matrix-grid{gap:.65rem}.schedule-header{align-items:flex-start;flex-direction:column}.audit-summary{grid-template-columns:1fr}.user-panel{display:none}}
@media(max-width:560px){.login-screen{grid-template-columns:1fr}.login-art{min-height:255px;padding:2rem}.login-copy h1{font-size:2.05rem}.login-panel{padding:2rem 1.4rem}.login-heading{margin:2.2rem 0 1.5rem}.view{padding:1rem}.topbar{padding:1rem}.top-actions .today-label{display:none}.top-actions .button{font-size:.7rem;padding:.65rem}.command-summary{grid-template-columns:1fr 1fr;gap:.65rem}.summary-card{padding:.85rem;min-height:114px}.summary-card strong{font-size:1.65rem}.schedule-panel,.next-panel,.readiness-panel,.route-planner,.route-table-panel{padding:1rem}.attention-strip{align-items:flex-start;flex-wrap:wrap}.attention-strip button{margin-left:0}.timeline-inner{min-width:780px}.readiness-board{grid-template-columns:1fr}.readiness-column:last-child{grid-column:auto}.readiness-filters label,.readiness-filters select{width:100%}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.dialog-form{padding:1rem}.dialog-actions{flex-wrap:wrap}.dialog-actions .button{flex:1}.assets-heading,.audit-heading{flex-direction:column}.map-key{display:none}.map-panel,.map-canvas{min-height:360px}}
.readiness-hero-actions{display:grid;justify-items:stretch;gap:.75rem}.readiness-hero-actions .button{white-space:nowrap}.form-grid .check-label{display:flex;align-items:center;gap:.48rem;padding-top:.65rem}.form-grid .check-label input{width:1rem;height:1rem;padding:0;accent-color:var(--aqua)}
.section-buttons{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.teams-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.teams-heading h2{font-size:1.18rem;letter-spacing:-.03em;margin:.25rem 0}.teams-heading p:last-child{font-size:.78rem;color:#6d8799;max-width:620px}.team-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1rem}.team-summary article{background:#fff;border:1px solid #e1ebef;border-radius:11px;padding:.95rem}.team-summary span{color:#6e889a;font-size:.63rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.team-summary strong{display:block;color:#0c7182;font-size:1.35rem;margin:.28rem 0}.team-summary p{font-size:.67rem;color:#728b9c}.team-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:1rem}.team-layout .panel,.roles-panel{padding:1.2rem}.team-member-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:.85rem}.team-member-card{border:1px solid #e0eaef;border-radius:10px;padding:.8rem;background:#fff}.team-member-top{display:flex;align-items:center;gap:.55rem}.team-member-card .user-avatar{background:#e6f6f7;color:#087d8c}.team-member-card h3{font-size:.78rem}.team-member-card p{color:#678296;font-size:.66rem;margin-top:.18rem}.member-meta{display:flex;gap:.4rem;flex-wrap:wrap;margin:.68rem 0}.member-meta span{border-radius:99px;padding:.18rem .38rem;background:#eff4f7;color:#58758a;font-size:.58rem;font-weight:800}.member-meta .active{background:#e6f6ec;color:#27844d}.member-contact{border-top:1px solid #edf2f4;padding-top:.5rem;color:#6c8799;font-size:.62rem;line-height:1.55;min-height:2rem}.member-action{margin-top:.6rem;font-size:.65rem}.team-assignment-list{margin-top:.75rem;display:grid;gap:.15rem}.assignment-item{display:grid;grid-template-columns:30px 1fr auto;gap:.55rem;padding:.7rem 0;border-bottom:1px solid #edf2f4}.assignment-item:last-child{border:0}.assignment-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;background:#e6f6f7;color:#087d8c;font-size:.75rem}.assignment-item h3{font-size:.72rem}.assignment-item p{margin-top:.18rem;color:#6f899a;font-size:.63rem;line-height:1.4}.assignment-item time{color:#718d9f;font-size:.59rem;white-space:nowrap}.roles-panel{margin-top:1rem}.banking-role-list{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.85rem}.banking-role-list span{padding:.35rem .55rem;border:1px solid #dce9ee;border-radius:99px;background:#f6fafb;color:#496a7f;font-size:.66rem;font-weight:750}.asset-dialog{max-width:min(880px,calc(100vw - 2rem));max-height:calc(100vh - 2rem)}.asset-dialog .dialog-form{max-height:calc(100vh - 2rem);overflow:auto}.form-section-title{margin:1.2rem 0 .65rem;border-bottom:1px solid #e5edf1;padding-bottom:.42rem;color:#0a7d8f;font-size:.67rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.input-help{display:block;color:#718b9b;font-size:.63rem;font-weight:600;line-height:1.4}.asset-visual{width:38px;height:38px;border-radius:9px;object-fit:cover;background:#e6f3f5;display:grid;place-items:center;color:#0c7c8e;font-size:.85rem;font-weight:900;flex:none}.asset-photo{width:38px;height:38px;border-radius:9px;object-fit:cover;flex:none}.asset-card-head .asset-title-wrap{display:flex;gap:.58rem;align-items:flex-start}.asset-specs{margin-top:.6rem;color:#6c8799;font-size:.63rem;line-height:1.45}@media(max-width:850px){.main-nav{grid-template-columns:repeat(6,minmax(0,1fr))}.team-layout{grid-template-columns:1fr}.team-summary{grid-template-columns:1fr}.teams-heading{flex-direction:column}.team-member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.team-member-grid{grid-template-columns:1fr}.section-buttons{width:100%}.section-buttons .button{flex:1}.readiness-hero-actions{width:100%}.asset-dialog .dialog-form{padding:1rem}}
.demand-count{background:#0e96a7}.demands-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.demands-heading h2{font-size:1.28rem;letter-spacing:-.035em;margin:.28rem 0}.demands-heading p:last-child{color:#6d8799;font-size:.78rem;line-height:1.5;max-width:740px}.demand-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.demand-summary article{background:#fff;border:1px solid #e1ebef;border-radius:11px;padding:.95rem}.demand-summary span{color:#6e889a;font-size:.63rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.demand-summary strong{display:block;color:#0c7182;font-size:1.4rem;margin:.28rem 0}.demand-summary p{font-size:.67rem;color:#728b9c}.demand-guide{margin:1rem 0;padding:.9rem 1rem;border-radius:12px;background:linear-gradient(90deg,#e7f5f6,#f6fafb);border:1px solid #d7eaed;display:flex;align-items:center;gap:.6rem}.guide-number{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#0d94a5;color:#fff;font-size:.66rem;font-weight:900;flex:none}.demand-guide div{min-width:0;flex:1}.demand-guide strong{display:block;color:#235169;font-size:.7rem}.demand-guide p{margin-top:.12rem;color:#648093;font-size:.63rem;line-height:1.35}.guide-arrow{color:#62a4ae;font-size:1.15rem}.demand-list{display:grid;gap:.8rem}.demand-card{background:#fff;border:1px solid #dde9ee;border-radius:13px;padding:1rem;box-shadow:0 5px 12px rgba(19,45,73,.025)}.demand-card-head{display:flex;gap:.7rem;justify-content:space-between;align-items:flex-start}.demand-card h3{font-size:.9rem;letter-spacing:-.015em;margin:.35rem 0}.demand-reference{font-size:.63rem;color:#688498;font-weight:900;letter-spacing:.07em}.demand-type{display:inline-flex;border-radius:5px;padding:.23rem .38rem;background:#e6f6f7;color:#087a8c;font-size:.58rem;font-weight:900;text-transform:uppercase}.demand-status{border-radius:99px;padding:.25rem .44rem;font-size:.59rem;font-weight:850;white-space:nowrap}.status-open{background:#edf4f7;color:#607e90}.status-triage{background:#fff3dc;color:#ab7413}.status-approved{background:#e5f5f1;color:#16815e}.status-in_progress{background:#e3f1fb;color:#2f709a}.status-completed{background:#e7f6eb;color:#35844b}.status-cancelled{background:#f8e8e9;color:#ac434b}.demand-card-body{display:grid;grid-template-columns:1.15fr .85fr;gap:1.2rem;margin-top:.55rem}.demand-card-body p{color:#668194;font-size:.7rem;line-height:1.5}.demand-meta{display:grid;grid-template-columns:1fr 1fr;gap:.45rem .8rem}.demand-meta span{color:#7791a0;font-size:.61rem}.demand-meta strong{display:block;color:#3e5e72;font-size:.68rem;margin-top:.12rem}.demand-movements{border-top:1px solid #e9f0f3;margin-top:.8rem;padding-top:.75rem;display:flex;align-items:center;gap:.65rem}.movement-chip{border-radius:6px;background:#f1f7f9;color:#3d667b;padding:.33rem .48rem;font-size:.62rem;font-weight:750}.movement-chip i{display:inline-block;width:.42rem;height:.42rem;border-radius:2px;background:var(--movement-color);margin-right:.25rem}.demand-actions{margin-left:auto;display:flex;gap:.55rem;align-items:center}.priority-critical{color:#b83845}.priority-high{color:#c27c18}.demand-dialog{max-width:min(760px,calc(100vw - 2rem));max-height:calc(100vh - 2rem)}.demand-dialog .dialog-form{max-height:calc(100vh - 2rem);overflow:auto}@media(max-width:850px){.main-nav{grid-template-columns:repeat(7,minmax(0,1fr))}.demand-card-body{grid-template-columns:1fr}.demand-guide{align-items:flex-start}.demand-summary{grid-template-columns:1fr}.demands-heading{flex-direction:column}}@media(max-width:560px){.demand-guide{display:grid;grid-template-columns:23px 1fr}.guide-arrow{display:none}.demand-meta{grid-template-columns:1fr 1fr}.demand-movements{align-items:flex-start;flex-wrap:wrap}.demand-actions{width:100%;margin-left:0}.demand-dialog .dialog-form{padding:1rem}}.form-grid .form-field{display:grid;gap:.42rem}.location-field{position:relative}.location-field>label{display:grid;gap:.42rem;color:#436075;font-size:.75rem;font-weight:800}.location-status{min-height:1.05rem;margin:0;color:#668294;font-size:.64rem;font-weight:600;line-height:1.35}.location-status.ready{color:#14765c}.location-status.loading{color:#0b7688}.location-status.warning{color:#a16813}.location-results{display:grid;gap:.28rem;max-height:196px;overflow:auto;padding:.45rem;border:1px solid #c9dce4;border-radius:8px;background:#f9fcfd;box-shadow:0 8px 16px rgba(19,58,76,.08)}.location-option{border:1px solid transparent;border-radius:6px;background:#fff;color:#34566c;padding:.52rem .6rem;display:flex;align-items:center;justify-content:space-between;gap:.65rem;text-align:left;font-size:.72rem;font-weight:750}.location-option:hover,.location-option:focus-visible{border-color:#8fc9d0;background:#eaf8f9}.location-option small{color:#718b9b;font-size:.61rem;font-weight:700;white-space:nowrap}.location-empty{padding:.35rem;color:#718999;font-size:.68rem;line-height:1.4}@media(max-width:560px){.form-grid .form-field.span-2{grid-column:auto}}
