/* Approved navy/light theme, with readable application-scale controls. */
body{font-size:16px}.shell{grid-template-columns:246px minmax(0,1fr)}.sidebar{height:100vh;position:sticky;top:0;overflow-y:auto;padding:24px 14px}.brand small{font-size:10px}.nav details{margin-bottom:7px}.nav summary{padding:10px 9px;cursor:pointer;font-size:13px;color:#c9d7e3;font-weight:600;list-style:none}.nav summary:after{content:'›';float:right}.nav details[open] summary:after{transform:rotate(90deg)}.nav button{font-size:13px;padding:9px 12px 9px 22px}.nav button.active{padding-left:19px}.port{font-size:14px}.navfooter{font-size:12px}.small,.caption,.footer,.metric small{font-size:12px}.badge{font-size:12px}.eyebrow,th{font-size:12px}table{font-size:14px}button,input,select,textarea{font-size:14px}h1{font-size:28px}h2{font-size:17px}h3{font-size:15px}.issue p,.detail-list,.check{font-size:14px}.detail-list label{font-size:12px}.topbar{height:auto;min-height:70px;padding:12px 28px;gap:16px}.topright{display:flex;gap:9px}.topright select{width:auto;max-width:175px;margin:0;padding:8px}.global-search{position:relative;flex:1;max-width:380px}.global-search input{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:6px;background:#f7f9fb}.search-results{position:absolute;top:45px;left:0;right:0;background:white;box-shadow:0 12px 24px #12263725;border:1px solid var(--line);z-index:5;border-radius:6px;padding:8px}.search-results button{display:block;width:100%;text-align:left;border:0}.filterbar{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px}.filterbar label{font-size:12px;color:var(--muted);max-width:420px;width:100%}.filterbar input,.filterbar select{display:block;width:100%;padding:9px 12px;border:1px solid #cbd7e0;border-radius:6px;margin-top:5px;background:white}.panel+.panel{margin-top:20px}.table-scroll{overflow-x:auto}.table-scroll table{min-width:580px}.empty{padding:30px;text-align:center;color:var(--muted)}.bar-chart{display:flex;gap:24px;align-items:end;height:275px;padding:24px 35px}.bar-column{display:flex;flex-direction:column;align-items:center;flex:1;height:100%;gap:8px;font-size:13px}.column-track{height:100%;width:100%;max-width:80px;display:flex;align-items:end;background:#f3f6fb}.column-track>div{width:100%;background:#3767bd;border-radius:4px 4px 0 0}.bar-column small{white-space:nowrap;font-size:12px}.narrative{line-height:1.85}.narrative p{margin:14px 0}.prompt-row{display:flex;gap:8px;flex-wrap:wrap}.chat-log{margin:20px 0;max-height:420px;overflow-y:auto}.chat-item{padding:18px;background:#f4f7fb;border-left:3px solid #7295d4;margin:10px 0;border-radius:4px}.chat-item p{margin:10px 0;line-height:1.7}.notice{font-size:13px;margin-top:18px}.modal{max-height:90vh;overflow-y:auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.metric .value{font-size:25px;overflow-wrap:anywhere}.metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.pagehead{flex-wrap:wrap}.content{padding:28px}.map{height:340px}.slot{font-size:11px}.schedname{font-size:13px}.hours{font-size:12px}
@media(max-width:1200px){.shell{grid-template-columns:214px minmax(0,1fr)}.topbar{padding:12px 20px}.content{padding:22px}.topright .sample{display:none}.grid{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric:nth-child(2){border-right:0}.metric:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:800px){.shell{display:block}.sidebar{height:auto;position:static;max-height:300px}.nav{display:grid;grid-template-columns:1fr 1fr}.nav button{width:100%}.navfooter,.port{display:none}.topbar{flex-wrap:wrap}.topright{display:flex;flex-wrap:wrap}.global-search{max-width:none;flex-basis:100%}.topright select{max-width:155px}.content{padding:16px}.bar-chart{gap:10px;padding:18px}.table-scroll table{min-width:520px}.filterbar{align-items:end}.metrics{grid-template-columns:1fr 1fr}.compare{grid-template-columns:1fr}.pagehead .actions{flex-direction:row;flex-wrap:wrap}.footer{flex-wrap:wrap}.asset-grid{grid-template-columns:1fr}.brand small{display:none}}
