:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#30323d;background:#f5f5f2;font-size:14px;--green:#30323d;--navy:#30323d;--muted:#70828a}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}button{border:1px solid #dbe3e6;border-radius:7px;padding:10px 15px;background:white;color:#304951;font-weight:600}button:hover{background:#f0f5f3}button.primary{background:var(--green);color:white;border-color:var(--green)}button.primary:hover{background:#105c49}button.quiet{background:transparent;border:0}a{color:var(--green)}.shell{display:grid;grid-template-columns:236px 1fr;min-height:100vh}.sidebar{background:var(--navy);color:#d3e1e4;padding:32px 18px;position:fixed;inset:0 auto 0 0;width:236px;display:flex;flex-direction:column}.brand{font-size:28px;letter-spacing:-1.2px;color:white;padding:0 14px 30px;font-weight:700}.brand span{color:#66c2a3;font-weight:400}.brand small{display:block;color:#8aa2ab;font-size:10px;letter-spacing:2.2px;margin-top:9px}.nav-caption{font-size:10px;letter-spacing:1.6px;color:#73919a;margin:17px 16px 12px}.nav{display:flex;flex-direction:column;gap:5px}.nav button{color:#b3c8ce;border:0;background:transparent;text-align:left;padding:13px 14px;font-weight:500;display:flex;align-items:center;gap:12px}.nav button.active{color:#fff;background:#245043;box-shadow:inset 3px 0 #68c6a4}.nav svg{width:19px;height:19px}.side-bottom{margin-top:auto;padding:20px 12px 0;font-size:12px;color:#91a9b0;border-top:1px solid #29414a}.side-bottom strong{display:block;color:#d6e5e7;margin:8px 0}.side-bottom button{color:#a7c1c9;padding-left:0}.workspace{grid-column:2;min-width:0}.topbar{height:78px;background:white;border-bottom:1px solid #e4eaec;display:flex;align-items:center;justify-content:space-between;padding:0 38px;gap:16px}.breadcrumb{font-size:12px;color:var(--muted)}.breadcrumb strong{color:#344d55;font-weight:500}.topright{display:flex;align-items:center;gap:14px;font-size:12px}.demo{color:#8a6324;background:#fbf1db;border:1px solid #f1dfb9;border-radius:5px;padding:5px 9px;font-size:10px;font-weight:700;letter-spacing:.7px}.avatar{display:grid;place-items:center;background:#fef380;color:var(--green);width:34px;height:34px;border-radius:50%;font-weight:700}.content{padding:32px 38px 45px;max-width:1600px;margin:auto}.pagehead{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.6px;color:var(--green);margin:0 0 9px}h1{font-size:29px;letter-spacing:-.8px;font-weight:650;margin:0 0 9px}h2{font-size:16px;margin:0;font-weight:650}h3{font-size:14px;margin:0 0 15px}p{line-height:1.6}.muted,.subtitle{color:var(--muted);font-size:13px;margin:0}.actions{display:flex;gap:9px;align-items:center}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:24px}.metric,.card{background:white;border:1px solid #e0e7e9;border-radius:10px;box-shadow:0 2px 4px #173e4b03}.metric{padding:22px}.metric-label{display:flex;justify-content:space-between;font-size:12px;color:#62777f}.metric strong{display:block;font-size:33px;letter-spacing:-1px;font-weight:600;margin:14px 0 9px}.metric small{font-size:11px;color:#7b8c92}.metric .dot{width:9px;height:9px;border-radius:50%;background:#469c7e}.metric .dot.red{background:#d86a63}.metric .dot.amber{background:#d6a14e}.grid{display:grid;grid-template-columns:1.5fr 1fr;gap:22px;margin-bottom:24px}.cardhead{display:flex;justify-content:space-between;align-items:center;padding:21px 23px;border-bottom:1px solid #edf0f1;gap:12px}.cardbody{padding:22px}.tag,.badge{font-size:10px;padding:5px 8px;border-radius:5px;background:#edf2f4;color:#59717b;white-space:nowrap;font-weight:600;display:inline-block}.badge.red{color:#b74943;background:#fcecea}.badge.amber{color:#9c722d;background:#fbf2df}.badge.green{color:#27765d;background:#e8f5ed}.badge.blue{color:#387998;background:#eaf2f8}.pill-count{display:inline-grid;place-items:center;background:#eef3f2;border-radius:20px;min-width:25px;height:25px;color:var(--green);font-size:11px;margin-left:8px}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}th{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:#83939a;background:#fafcfc;padding:13px 22px;border-bottom:1px solid #e9edef;font-weight:600}td{padding:17px 22px;border-bottom:1px solid #eef2f3;font-size:12px}tr:last-child td{border-bottom:0}tr.clickable{cursor:pointer}tr.clickable:hover td{background:#f6faf8}.record-title{font-size:12px;font-weight:600;display:block;color:#29464f}.record-sub{font-size:10px;color:#82929a;margin-top:5px;display:block}.id{color:#71868d;font-variant-numeric:tabular-nums;font-size:11px}.linkbtn{padding:0;border:0;color:var(--green);background:transparent;font-size:12px}.toolbar{display:flex;justify-content:space-between;gap:12px;padding:17px 22px;border-bottom:1px solid #e8edef}.filters{display:flex;gap:10px;flex-wrap:wrap}.search{min-width:260px}.toolbar input,.toolbar select{background:#fafcfc;border:1px solid #e0e7e9;border-radius:6px;padding:10px 12px;color:#3d565e;font-size:12px}.empty{padding:45px;text-align:center;color:#778b92}.activity{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid #edf1f2}.activity:last-child{border:0}.activity-dot{margin-top:5px;background:#6b6d73;border:4px solid #f2f0de;border-radius:50%;width:16px;height:16px;flex-shrink:0}.activity p{margin:0;font-size:12px}.activity small{font-size:10px;color:#82949a}.notice{padding:13px 17px;border:1px solid #dce8e2;background:#eef6f1;border-radius:7px;font-size:12px;color:#527365;line-height:1.6;margin-top:22px}.chart-row{display:grid;grid-template-columns:105px 1fr 22px;gap:12px;align-items:center;font-size:11px;padding:11px 0}.bar{height:9px;border-radius:3px;background:#eeeee8;overflow:hidden}.bar>span{height:100%;display:block;background:#5b5d64;border-radius:3px}.railmap{background:#f4f3ed;border-radius:7px;position:relative;overflow:hidden}.railmap svg{width:100%;height:290px;display:block}.railmap text{font-family:Segoe UI,Arial,sans-serif;fill:#55565e;font-size:12px}.map-caption{font-size:10px;color:#77786e;padding:10px 16px;background:#faf9f4}.timeline{display:grid;gap:13px}.planrow{display:flex;justify-content:space-between;align-items:center;padding:16px;border:1px solid #e7edeb;border-radius:7px;gap:12px}.planrow h3{margin:0 0 6px}.planrow p{margin:0;font-size:12px;color:#80918e}dialog{border:1px solid #dae4e4;box-shadow:0 25px 90px #0e2d3540;border-radius:12px;padding:0;width:min(760px,94vw);max-height:90vh;color:#233f48}dialog::backdrop{background:#102c356b;backdrop-filter:blur(3px)}.modalhead{padding:23px 26px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e8edef}.modalbody{padding:25px 26px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px;font-size:12px}.field input,.field select,.field textarea{padding:11px 12px;border:1px solid #d9e3e6;border-radius:6px;width:100%;background:white;color:#29454d}.field textarea{resize:vertical;min-height:85px}.span2{grid-column:1/-1}.modalfooter{padding:19px 26px;border-top:1px solid #e8edef;display:flex;justify-content:flex-end;gap:9px}.detail-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:24px}.detail-meta small{display:block;color:#8a9aa0;font-size:10px;text-transform:uppercase;letter-spacing:.8px;margin-bottom:7px}.detail-meta p{margin:0;font-size:12px}.section{padding-top:23px;margin-top:23px;border-top:1px solid #e6ecee}.section h3{margin-bottom:14px}.check{display:grid;grid-template-columns:1fr 150px;gap:10px;padding:13px 0;border-bottom:1px solid #eef2f2;align-items:center}.check input{grid-column:1/-1}.check input,.check select{padding:9px;border:1px solid #dce5e5;border-radius:5px}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-story{background:var(--navy);color:white;padding:65px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.login-story .brand{padding:0;margin-bottom:60px}.login-story h1{font-size:48px;line-height:1.12;letter-spacing:-1.8px;max-width:520px}.login-story p{color:#a7c1c8;max-width:390px;margin-top:25px}.login-story .line-art{font-size:80px;letter-spacing:30px;color:#376456;margin-top:50px}.login-form{display:flex;align-items:center;justify-content:center;padding:35px;background:#faf9f4}.login-box{max-width:360px;width:100%}.login-box h2{font-size:25px;margin:18px 0 9px}.login-box form{margin:30px 0 20px}.login-box button{width:100%;margin-top:18px}.error{color:#b04940;font-size:12px;margin-top:12px}.loading{display:grid;place-items:center;min-height:100vh;color:var(--green)}#toast{position:fixed;right:30px;bottom:28px;z-index:10;background:#183e33;color:white;padding:14px 23px;border-radius:8px;box-shadow:0 7px 30px #12362d30;display:none;max-width:420px;font-size:13px}.tablefooter{padding:13px 22px;color:#83959a;font-size:11px;border-top:1px solid #edf1f2}.mobile-brand{display:none}.detail-list{display:grid;gap:10px}.detail-list button{text-align:left}.report-stats{display:grid;grid-template-columns:1fr 1fr;gap:20px}.large-value{font-size:48px;font-weight:600;letter-spacing:-2px;margin:25px 0 12px}.date-label{font-size:11px;color:#81928e}.progress-steps{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0}.progress-steps span{font-size:10px;border-radius:4px;padding:7px 10px;background:#f0f3f4;color:#7f9298}.progress-steps .done{background:#e4f1e9;color:#23785a}footer{font-size:10px;color:#91a0a6;margin-top:32px;display:flex;justify-content:space-between}.audit-detail{white-space:normal;min-width:220px;max-width:500px}.integration{display:flex;justify-content:space-between;padding:18px 0;border-bottom:1px solid #edf1f2;font-size:12px}.integration:last-child{border:0}@media(min-width:1450px){.content{padding-top:40px}.metrics{margin-bottom:28px}.metric{padding:26px}}@media(max-width:1100px){.sidebar{width:195px;padding-left:10px;padding-right:10px}.shell{grid-template-columns:195px 1fr}.content{padding:25px}.topbar{padding:0 25px}.grid{grid-template-columns:1fr}.metrics{gap:12px}.metric{padding:17px}.topright .user-name{display:none}}@media(max-width:700px){.shell{display:block}.sidebar{position:static;width:auto;padding:14px}.brand{font-size:22px;padding:0 8px 14px}.brand small,.nav-caption,.side-bottom{display:none}.nav{flex-direction:row;overflow:auto;gap:4px}.nav button{font-size:11px;padding:10px;white-space:nowrap;gap:6px}.nav svg{width:15px;height:15px}.topbar{height:58px;padding:0 18px}.topright .date-label{display:none}.content{padding:22px 16px}.pagehead{align-items:flex-start;flex-direction:column;gap:16px}h1{font-size:26px}.metrics{grid-template-columns:repeat(2,1fr)}.metric strong{font-size:28px}.toolbar{flex-direction:column}.search{min-width:0;width:100%}.filters>*{flex:1}.formgrid,.detail-meta{grid-template-columns:1fr}.span2{grid-column:auto}.login{grid-template-columns:1fr}.login-story{display:none}.login-form{min-height:100vh}.report-stats{grid-template-columns:1fr}.cardhead{padding:17px}.cardbody{padding:17px}.check{grid-template-columns:1fr}.check input{grid-column:auto}.actions{flex-wrap:wrap}footer{gap:15px;line-height:1.6}td,th{padding-left:16px;padding-right:16px}}
@media(max-width:1100px){.brand small{font-size:8px;letter-spacing:1.3px}.pagehead .actions button{white-space:nowrap}.pagehead{flex-wrap:wrap}}@media(min-width:701px) and (max-width:1000px){.metrics{grid-template-columns:repeat(2,1fr)}}

/* A-train Asset. Palette from arlandaexpress.com: primary #fef380,
   primary contrast/background #30323d, hover #fff9b2. */
:root{--brand-yellow:#fef380;--brand-charcoal:#30323d;--brand-hover:#fff9b2;--muted:#777881}
.sidebar{color:#e4e4e6;border-right:1px solid #3d3f48}
.brand{color:var(--brand-yellow);font-size:31px;font-weight:750;letter-spacing:-1.2px;line-height:1.05}
.brand span{display:block;color:white;font-size:17px;letter-spacing:.4px;font-weight:500;margin-top:6px}
.brand small{color:#b8b9bf;font-size:8px;letter-spacing:1.3px;line-height:1.4;margin-top:16px}
.nav-caption{color:#adaeb6}
.nav button{color:#d8d8de}
.nav button:hover{background:#40424d;color:white}
.nav button.active{color:var(--brand-charcoal);background:var(--brand-yellow);box-shadow:none;font-weight:650}
.nav button.active:hover{background:var(--brand-hover)}
.side-bottom{border-color:#50515a;color:#babac2}
.side-bottom strong{color:#fff}
.side-bottom button{color:#dedee4}
.side-bottom .badge.green{background:#444640;color:var(--brand-yellow)}
.topbar{border-top:4px solid var(--brand-yellow)}
.breadcrumb strong,.record-title,h1,h2,h3{color:var(--brand-charcoal)}
.eyebrow{color:#686957}
button{color:var(--brand-charcoal)}
button:hover{background:#f6f5ed}
button.primary{background:var(--brand-yellow);color:var(--brand-charcoal);border-color:var(--brand-yellow)}
button.primary:hover{background:var(--brand-hover);border-color:#d5c955}
.linkbtn{color:var(--brand-charcoal)}
.linkbtn:hover{color:#555761;text-decoration:underline}
.avatar{background:var(--brand-yellow);color:var(--brand-charcoal)}
.demo{background:#fffad5;color:#68602b;border-color:#e8df9c}
.pill-count{background:#fff7bf;color:var(--brand-charcoal)}
.metric .dot{background:#888571}
.metric .dot.red{background:#d86a63}
.metric .dot.amber{background:#d6a14e}
.metric-label{color:#70717a}
.metric strong{color:var(--brand-charcoal)}
.card,.metric{border-color:#e3e3df;box-shadow:0 2px 4px #30323d03}
.notice{background:#faf7e4;border-color:#ebe3b1;color:#6a6447}
tr.clickable:hover td{background:#fffcdf}
.tag{background:#efefeb;color:#666772}
.railmap text{fill:#55565e}
.map-caption{background:#faf9f4;color:#78776f}
.progress-steps .done{background:#fff5b2;color:#5f582c}
.login-story{background:var(--brand-charcoal);color:white}
.login-story h1{color:var(--brand-yellow)}
.login-story .eyebrow{color:#d1c779}
.login-story p{color:#d3d3d8}
.login-story .line-art{color:var(--brand-yellow);opacity:.7}
.login-form{background:#faf9f4}
#toast{background:var(--brand-charcoal);color:white;border-left:4px solid var(--brand-yellow)}
@media(max-width:700px){.brand{font-size:23px;display:flex;gap:8px;align-items:baseline;padding-bottom:15px}.brand span{display:inline;font-size:18px;margin:0}}
