/* PVEdge responsive web dashboard. Common source 101da65ab73f937fd0a50fa19825726431b193cb. Brand overlay is separate from the lossless adapter. */
@font-face{font-family:"Plus Jakarta Sans";src:url("./assets/fonts/upstream/PlusJakartaSans.woff2") format("woff2");font-weight:200 700;font-display:swap;unicode-range:U+0000-024F,U+2000-206F,U+20A0-20CF}
@font-face{font-family:"Spoqa Han Sans Neo";src:url("./assets/fonts/upstream/SpoqaHanSansNeo-Regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Spoqa Han Sans Neo";src:url("./assets/fonts/upstream/SpoqaHanSansNeo-Medium.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Spoqa Han Sans Neo";src:url("./assets/fonts/upstream/SpoqaHanSansNeo-Bold.woff2") format("woff2");font-weight:700;font-display:swap}
:root{font-family:"Plus Jakarta Sans","Spoqa Han Sans Neo",sans-serif;font-size:16px;--bg:var(--ds-color-semantic-bg-layer-basement-value);--surface:var(--ds-color-semantic-bg-layer-default-value);--floating:var(--ds-color-semantic-bg-layer-floating-value);--line:var(--ds-color-semantic-stroke-neutral-value);--ink:var(--ds-color-semantic-fg-neutral-value);--strong:var(--ds-color-semantic-fg-neutral-contrast-value);--muted:var(--ds-color-scale-gray-700);--accent:#0f6d54;--brand:#4BC691;--brand-ink:#08443B;--radius:var(--ds-radius-radius-r3-value);--body-size:var(--ds-typography-semantic-type-body-size);--body-leading:var(--ds-typography-semantic-type-body-lineHeight);color:var(--ink);background:var(--bg)}
*{box-sizing:border-box;hyphens:none;word-break:keep-all;overflow-wrap:normal}body{margin:0;background:var(--bg);font-size:var(--body-size);font-weight:500;line-height:var(--body-leading)}button,input,select,textarea{font:inherit}b,strong{font-weight:600}a{color:var(--accent);text-underline-offset:.1875rem}a:hover{text-decoration-thickness:.125rem}h1,h2,h3{margin:0;color:var(--strong);font-size:var(--ds-typography-semantic-type-title-size);font-weight:600;line-height:var(--ds-typography-semantic-type-title-lineHeight)}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--ds-spacing-dimension-x16-value);background:var(--bg);border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:10;padding:0}.rail-brand{min-height:var(--ds-spacing-dimension-x12-value);display:grid;place-items:center}.rail-brand img{width:1.5rem;height:1.5rem}.sidebar nav{display:flex;flex-direction:column;gap:1rem}.nav-group{height:1px;width:3.5rem;background:var(--line);margin:0 .25rem;font-size:0;overflow:hidden}.nav-group:first-child{display:none}.sidebar a{display:flex;align-items:center;flex-direction:column;gap:.25rem;width:100%;padding:0;color:var(--muted);font-size:.75rem;line-height:1rem;text-decoration:none;white-space:nowrap}.nav-icon-box{display:grid;place-items:center;width:2rem;height:2rem;border-radius:.375rem;background:transparent}.nav-icon{display:block;width:1.5rem;height:1.5rem;background:currentColor;mask:var(--icon) center/contain no-repeat;-webkit-mask:var(--icon) center/contain no-repeat}.sidebar a.active,.sidebar a:hover{color:var(--ink)}.sidebar a.active .nav-icon-box,.sidebar a:hover .nav-icon-box{background:var(--ds-color-semantic-bg-layer-basement-pressed-value)}.side-footer{margin-top:auto;padding:1rem .25rem;font-size:.75rem;text-align:center;color:var(--muted);border-top:1px solid var(--line)}.side-footer strong{display:block}
.shell{margin-left:4rem;min-width:0}header{min-height:3rem;background:var(--bg);display:flex;align-items:center;justify-content:space-between;padding:0 .75rem;gap:.5rem;flex-wrap:wrap}header>div:first-child{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.brand-signature{display:flex;align-items:center;padding:1rem}.brand-logo{width:5.25rem;height:auto;display:block}header strong{font-size:.8125rem;line-height:1rem}header .muted{font-size:.75rem;margin-left:.5rem}.header-actions{display:flex;align-items:center;gap:.5rem}.avatar{font-size:.75rem;color:var(--muted)}.demo{display:flex;align-items:center;gap:.5rem;padding:.25rem 1.75rem;color:var(--muted);font-size:.75rem;line-height:1.125rem;background:var(--bg)}.demo strong{font-size:.75rem;font-weight:600}.demo details{margin-left:auto}.demo summary{cursor:pointer;text-decoration:underline}.demo details[open]{max-width:30rem}.demo p{margin:.25rem 0;line-height:1.5}
main{padding:.75rem;max-width:none;min-height:80vh;margin:auto}.page-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:0 1rem;margin:0 0 .75rem}.page-head h1{font-size:1.125rem;line-height:1.5rem;font-weight:700;margin:0 0 .25rem}.sub,.muted{font-size:.75rem;line-height:1rem;color:var(--muted)}p.sub,.notice{line-height:1.5}.sub{margin:0}.page-head>.toolbar{margin:0}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin-bottom:.75rem}.stat{background:var(--surface);outline:1px solid var(--line);outline-offset:-1px;border-radius:var(--radius);padding:1rem;font-size:.75rem;line-height:1rem;color:var(--muted);overflow:hidden}.stat b{font-size:.8125rem;line-height:1rem;color:var(--strong);display:block;margin:.5rem 0 .25rem;font-weight:600}.stat:first-child b{font-size:1.125rem;line-height:1;font-weight:700}.stat small{font-size:.75rem;color:var(--muted)}
.pane,.chart,.priority-card{min-width:0;background:var(--surface);border:0;outline:1px solid var(--line);outline-offset:-1px;border-radius:var(--radius);box-shadow:none}.pane{padding:1rem;margin-bottom:.75rem;overflow:hidden}.pane h2{margin:0 0 .5rem}.grid,.chart-grid,.production-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;align-items:start}.toolbar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.toolbar .grow{flex:1;min-width:10rem}.toolbar h2{margin:0}.split-heading,.list-heading,.priority-heading{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.split-heading h2,.list-heading h2{margin:0}.list-heading span,.count{font-size:.75rem;color:var(--muted)}.count{line-height:1rem;margin:.5rem 0 0}
button,.button{height:1.75rem;min-height:1.75rem;display:inline-flex;align-items:center;justify-content:center;gap:.25rem;padding:0 .625rem;border:0;background:var(--ds-color-semantic-bg-neutral-weak-value);color:var(--ink);border-radius:var(--ds-radius-radius-r2-value);font-size:.8125rem;line-height:1.125rem;font-weight:500;cursor:pointer;text-decoration:none;white-space:nowrap;vertical-align:middle;box-shadow:none}button:hover,.button:hover{background:var(--ds-color-semantic-bg-neutral-weak-pressed-value)}button.primary{background:var(--brand);color:var(--brand-ink);height:2rem;min-height:2rem;padding:0 .75rem;font-weight:600;border:1px solid var(--brand-ink)}button.primary:hover{background:#12b27d;color:#022622}button:disabled{cursor:not-allowed;background:var(--ds-color-semantic-bg-neutral-weak-value);color:var(--ds-color-semantic-fg-disabled-value);border:0}button:disabled:hover{background:var(--ds-color-semantic-bg-neutral-weak-value)}.page-head button,.page-head .button,header button,header .button{height:2rem;min-height:2rem;padding:0 .75rem}td button+button{margin-left:.5rem}
input,select,textarea{height:2rem;min-height:2rem;max-width:100%;border:1px solid var(--ds-color-semantic-stroke-neutral-focused-value);border-radius:var(--ds-radius-radius-r2-value);background:var(--floating);color:var(--ink);font-size:.8125rem;line-height:1.125rem;padding:0 .625rem}input:hover,select:hover,textarea:hover{border-color:var(--ds-color-semantic-stroke-neutral-focused-value)}textarea{height:auto;min-height:5rem;padding:.5rem .625rem;resize:vertical}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--ds-color-semantic-stroke-neutral-focused-value);outline-offset:-2px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--ds-color-semantic-stroke-neutral-focused-value);outline-offset:0}button.primary:focus-visible{outline-offset:2px}.field{display:grid;gap:.375rem;margin-bottom:.75rem;font-size:.75rem;line-height:1rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.form-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--line)}
.table-wrap{overflow-x:auto;max-width:100%;background:var(--floating);scrollbar-width:thin}table{width:100%;border-collapse:collapse;text-align:left;font-size:.8125rem;line-height:1.125rem;font-weight:500;font-variant-numeric:tabular-nums}th{height:2rem;font-size:.6875rem;line-height:1rem;font-weight:500;vertical-align:bottom;padding:.5rem .5rem .375rem;border-bottom:1px solid var(--line);color:var(--muted);background:var(--surface);white-space:nowrap}td{min-height:2.5rem;padding:.5rem;border-bottom:1px solid var(--line);vertical-align:middle;color:var(--ink)}th:first-child,td:first-child{padding-left:1rem}th:last-child,td:last-child{padding-right:1rem}td small{display:block;font-size:.75rem;line-height:1rem;color:var(--muted);margin-top:.25rem}td a{color:var(--accent);font-weight:600;text-decoration:underline}tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--ds-color-semantic-bg-layer-default-pressed-value)}tbody tr:hover .badge{background:var(--ds-color-scale-gray-200)}tbody tr:hover .badge.good{background:var(--ds-color-scale-green-200)}tbody tr:hover .badge.warn{background:var(--ds-color-scale-yellow-200)}tbody tr:hover .badge.bad{background:var(--ds-color-scale-red-200)}
.badge{display:inline-flex;align-items:center;height:1.25rem;padding:0 .25rem;background:var(--ds-color-semantic-bg-neutral-weak-value);color:var(--ds-color-scale-gray-800);border-radius:.375rem;font-size:.75rem;line-height:1rem;font-weight:500;white-space:nowrap}.badge.good{background:transparent;color:var(--ds-color-scale-green-800)}.badge.warn{background:transparent;color:var(--ds-color-scale-yellow-900)}.badge.bad{background:transparent;color:var(--ds-color-scale-red-800)}
.notice{font-size:.75rem;padding:.75rem 1rem;color:var(--muted);background:var(--surface);outline:1px solid var(--line);outline-offset:-1px;border-radius:.75rem;margin-bottom:.75rem}.notice.warn{background:var(--ds-color-scale-yellow-50);color:var(--ds-color-scale-yellow-900);outline-color:var(--ds-color-scale-yellow-200)}.tabs{display:flex;align-items:center;gap:0;margin:0 0 .75rem;border-bottom:1px solid var(--line);overflow-x:auto;white-space:nowrap}.tabs a{flex-shrink:0;height:2.25rem;display:flex;align-items:center;padding:0 .5rem;text-decoration:none;font-size:.8125rem;line-height:1.125rem;font-weight:600;color:var(--muted);position:relative}.tabs a.active{color:var(--ink)}.tabs a.active:after{content:"";position:absolute;bottom:-1px;left:.5rem;right:.5rem;height:2px;background:var(--ink)}
.pairs{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:0 .5rem;align-items:baseline;margin:0;font-size:.8125rem;line-height:1.125rem}.pairs dt,.pairs dd{padding:.5rem 0;border-bottom:1px solid var(--line);min-height:2.5rem}.pairs dt{color:var(--muted);max-width:11rem}.pairs dd{margin:0;overflow-x:auto}.pairs dd small{display:block;color:var(--muted);font-size:.75rem;line-height:1rem;margin-top:.25rem}.metric{display:flex;align-items:baseline;gap:.5rem;padding:.5rem 0;border-bottom:1px solid var(--line)}.metric strong{font-size:.8125rem;font-weight:600}.metric:last-child{border:0}.chart{overflow-x:auto;padding:0;margin-bottom:0}.chart h3{padding:1rem 1rem .5rem}.chart svg{display:block;width:100%;min-width:32.5rem;max-width:none;height:auto;font-family:inherit}.chart-energy{grid-column:1/-1}.chart-energy svg{max-width:37.5rem;margin-inline:auto}
.priority{margin-bottom:.75rem}.priority-heading{padding:0 1rem}.priority-heading h2{margin:0}.priority-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.priority-card{padding:.75rem 1rem;display:flex;gap:.5rem;overflow:hidden}.priority-symbol{display:none}.priority-card h3{font-size:.8125rem;line-height:1rem;margin-bottom:.25rem}.priority-card strong{font-size:.75rem;line-height:1rem;font-weight:500;color:var(--muted);margin-left:.25rem}.priority-card p{font-size:.75rem;line-height:1rem;color:var(--muted);margin:.25rem 0}.priority-card a{font-size:.75rem;line-height:1rem;text-decoration:underline}
.fleet-pane{padding:1rem 0 .5rem}.fleet-pane .list-heading,.fleet-pane>.toolbar{padding:0 1rem}.fleet-pane .count{padding:0 1rem .5rem}.fleet-pane .table-wrap{background:var(--floating)}.search-field{position:relative;flex:1;min-width:13rem}.search-field:before{content:"⌕";position:absolute;left:.5rem;top:.375rem;font-size:1rem;color:var(--muted)}.search-field input{width:100%;padding-left:1.75rem}#fleet-table th,#fleet-table td{min-width:5.5rem}#fleet-table td:first-child{min-width:10.5rem}#fleet-table td:nth-child(5),#fleet-table th:nth-child(5){text-align:right}.fleet-id{font-size:.8125rem}.table-note{font-size:.75rem;line-height:1rem;color:var(--muted);padding:.5rem 1rem;border-top:1px solid var(--line)}.production-grid .pairs{grid-template-columns:9rem minmax(0,1fr)}.station-pane .split-heading{flex-wrap:wrap}.production-grid .toolbar h2{font-size:.8125rem}
.timeline{margin:0;padding:0;list-style:none}.timeline li{display:flex;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--line)}.timeline li span{width:8rem;flex-shrink:0;font-size:.75rem;color:var(--muted)}.timeline b{display:block;margin-bottom:.25rem}code{font-size:.75rem;line-height:1rem;white-space:pre;overflow-x:auto;display:inline-block;max-width:100%}footer{font-size:.75rem;line-height:1.125rem;color:var(--muted);padding:.5rem 1.75rem 1rem}dialog{border:1px solid var(--line);border-radius:.75rem;background:var(--floating);color:var(--ink);max-width:40rem;width:calc(100% - 2rem);padding:1rem;box-shadow:var(--ds-elevation-shadow-s3-value);max-height:calc(100vh - 2rem);overflow-y:auto}dialog h2{position:sticky;top:-1rem;padding:.5rem 0;background:var(--floating);z-index:1}dialog::backdrop{background:#06091166}#toast{display:none;position:fixed;bottom:1.5rem;right:1.5rem;max-width:30rem;padding:.75rem 1rem;border:1px solid var(--ds-color-scale-green-200);border-radius:.75rem;background:var(--ds-color-scale-green-50);color:var(--ds-color-scale-green-800);box-shadow:var(--ds-elevation-shadow-s3-value);z-index:20;line-height:1.5}.skip{position:fixed;top:-6rem;left:4.75rem;padding:.5rem;background:var(--floating);z-index:50}.skip:focus{top:0}.empty{padding:2rem;text-align:center;color:var(--muted)}.compact{font-size:.75rem}.danger-text{color:var(--ds-color-scale-red-800)}.readonly{background:var(--surface)}.mobile-label{display:none}
.period-control{display:inline-flex;gap:0;background:var(--ds-color-scale-gray-100);border-radius:.5rem;padding:.125rem;align-items:center}.period-control button{background:transparent;border:0;height:1.5rem;min-height:1.5rem;padding:0 .5rem;color:var(--muted);font-weight:600;border-radius:.375rem}.period-control button.primary{background:var(--floating);color:var(--ink);box-shadow:var(--ds-elevation-shadow-s1-value);height:1.5rem;min-height:1.5rem;border:0}.period-control button:hover{color:var(--ink);background:transparent}.period-control button.primary:hover{background:var(--floating)}
@media(max-width:64rem){.grid,.chart-grid,.production-grid{grid-template-columns:minmax(0,1fr)}.priority-list{gap:.5rem}.priority-card{padding:.75rem}.priority-card strong{display:block;margin:.25rem 0 0}header .muted{display:none}}
@media(max-width:48rem){.header-actions{margin-left:auto}header>div:first-child{gap:0}header .brand-signature{padding:1rem}.brand-logo{width:5.25rem}header strong{font-size:.75rem}.avatar{display:none}.demo{padding:.25rem .75rem}.demo-secondary,.demo details{display:none}.page-head{align-items:flex-start;flex-direction:column;gap:.5rem;padding:0 .25rem}.page-head h1{font-size:1.25rem;line-height:1.75rem}.page-head>.toolbar{gap:.5rem}.page-head button{height:2.5rem;min-height:2.5rem;font-size:.875rem}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{padding:.75rem}.priority-list{display:block;background:var(--surface);outline:1px solid var(--line);outline-offset:-1px;border-radius:.75rem;overflow:hidden}.priority-card{border-radius:0;outline:0;border-bottom:1px solid var(--line);padding:.75rem}.priority-card:last-child{border:0}.priority-card>div{width:100%}.priority-card strong{display:inline;margin-left:.25rem}.priority-heading{padding:0 .25rem;display:block}.priority-heading .muted{display:block;margin-top:.25rem}.priority-card a{display:block;margin-top:.25rem}.pane{padding:1rem}.fleet-pane{padding:1rem 0 .5rem}.list-heading{align-items:flex-start;flex-wrap:wrap}.list-heading span{font-size:.75rem}.search-field{min-width:100%;flex-basis:100%}.fleet-pane .toolbar select{flex:1;min-width:0}.form-grid{grid-template-columns:minmax(0,1fr)}input,select{height:2.5rem;min-height:2.5rem;font-size:.875rem}.pairs,.production-grid .pairs{grid-template-columns:minmax(0,6rem) minmax(0,1fr);gap:0 .25rem}.pairs dt,.pairs dd{font-size:.875rem;line-height:1.25rem}.table-wrap{overflow-x:auto}.table-wrap th{font-size:.75rem}.table-wrap td{font-size:.875rem}.tabs a{height:2.5rem;font-size:.875rem}.chart-energy{grid-column:auto}.toolbar{gap:.5rem}.toolbar .grow{min-width:8rem}.timeline li{flex-direction:column;gap:.25rem}footer{padding:.5rem .75rem 1rem}.period-control{max-width:100%}.period-control button,.period-control button.primary{font-size:.75rem;height:2rem;min-height:2rem;padding:0 .5rem}#toast{left:4.75rem;right:.75rem;bottom:1rem}.side-footer{font-size:.75rem}.sidebar nav{gap:.75rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Refs #87. Ops workspace: readable navigation and aligned controls, using the existing palette. */
body{font-size:.875rem;line-height:1.5;font-weight:400}
h2{font-size:1rem;line-height:1.5;font-weight:700}
h3{font-size:.875rem;line-height:1.5;font-weight:700}
.sidebar{width:11rem;overflow-y:auto;background:var(--surface)}
.rail-brand{min-height:4rem;justify-items:start;padding-left:1.25rem}
.sidebar nav{gap:.25rem;padding:0 .5rem}
.sidebar a{flex-direction:row;gap:.625rem;padding:.625rem .5rem;font-size:.8125rem;line-height:1.25rem;white-space:normal;border-radius:.25rem}
.nav-icon-box{width:1.5rem;height:1.5rem;flex:none;border-radius:0}
.nav-icon{width:1.25rem;height:1.25rem}
.sidebar a.active{background:var(--ds-color-semantic-bg-layer-basement-pressed-value);font-weight:700}
.sidebar a:hover{background:var(--bg)}
.sidebar a.active .nav-icon-box,.sidebar a:hover .nav-icon-box{background:transparent}
.side-footer{text-align:left;padding:1rem}
.shell{margin-left:11rem}
header{padding:.5rem 1.5rem;border-bottom:1px solid var(--line);background:var(--surface)}
.brand-signature{padding:.5rem 0;margin-right:.75rem}
.live-notice{display:flex;flex-wrap:wrap;gap:.25rem 1rem;padding:.625rem 1.5rem;line-height:1.5}
main{padding:1.25rem 1.5rem;min-height:calc(100vh - 13rem);max-width:100rem}
.page-head{padding:0;align-items:flex-start;flex-wrap:wrap;margin-bottom:1.5rem}
.page-head>div{min-width:0;max-width:100%}
.page-head h1{font-size:1.5rem;line-height:2rem;overflow-wrap:anywhere}
.sub,.muted{line-height:1.5}
.pane,.chart,.priority-card,.stat{outline:0;border:1px solid var(--line);border-radius:.25rem}
.pane{padding:1.25rem;margin-bottom:1rem}
.pane h2{margin-bottom:.75rem}
.pane>p{line-height:1.6}
.grid,.chart-grid,.production-grid{gap:1rem}
.page-head .asset-toolbar{justify-content:flex-end}
button,.button{height:auto;min-height:2rem;padding:.375rem .75rem;white-space:normal;text-align:center;line-height:1.25rem;border-radius:.25rem}
button.primary,.page-head button,.page-head .button{height:auto;min-height:2.25rem}
input,select{height:2.25rem;min-height:2.25rem;min-width:0}
.toolbar>label{min-width:0}
.form-actions{flex-wrap:wrap}
.form-grid>*,.editor-form,.field{min-width:0}
.field{line-height:1.5}
.table-wrap{overscroll-behavior-x:contain}
th{font-size:.75rem;line-height:1.5}
td{line-height:1.5;overflow-wrap:anywhere}
.badge,.badge.good,.badge.warn,.badge.bad{height:auto;min-height:1.25rem;background:transparent;padding:0;border-radius:0;font-weight:600;white-space:normal}
.badge.good{color:var(--brand-ink)}
tbody tr:hover .badge,tbody tr:hover .badge.good,tbody tr:hover .badge.warn,tbody tr:hover .badge.bad{background:transparent}
.notice,.notice.warn{background:var(--surface);color:var(--ink);outline:0;border:1px solid var(--line);border-radius:.25rem}
.search-field:before{content:none}
.search-field input{padding-left:.625rem}
.fleet-filters{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:.75rem 1rem;align-items:end}
.fleet-filters>label{display:grid;gap:.375rem;grid-column:span 2;font-size:.75rem;line-height:1.5}
.fleet-filters .search-field{grid-column:span 6;min-width:0}
.fleet-filters>label:nth-child(2),.fleet-filters>label:nth-child(3){grid-column:span 3}
.fleet-filters>label:nth-child(7){grid-column:span 4}
.fleet-filters input,.fleet-filters select{width:100%}
#asset-results table{min-width:68rem}
#asset-results td:first-child{min-width:10rem}
#asset-results td:nth-child(2){min-width:12rem}
#asset-results td:last-child{min-width:13rem}
.lookup-panel{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:0 0 1rem}
.lookup-panel>summary{cursor:pointer;font-size:.8125rem;font-weight:600;width:fit-content}
.lookup-panel[open]>summary{margin-bottom:1rem}
#asset-lookup-form{display:grid;grid-template-columns:10rem minmax(0,1fr) auto;align-items:end;gap:.75rem}
#asset-lookup-form .field{margin:0}
#asset-lookup-form button{min-height:2.25rem}
.fleet-note{font-size:.75rem;line-height:1.6;color:var(--muted);margin:1rem 0}
.workspace-links{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;margin-bottom:1.25rem;font-size:.8125rem}
.production-records{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));background:var(--surface);border:1px solid var(--line);border-radius:.25rem}
.production-records>.pane{border:0;border-radius:0;border-bottom:1px solid var(--line);margin:0;background:transparent}
.production-records>.pane:nth-child(odd){border-right:1px solid var(--line)}
.production-records>.pane:nth-last-child(-n+2){border-bottom:0}
.production-records .split-heading{align-items:flex-start;flex-wrap:wrap}
.production-boundary{font-size:.75rem;line-height:1.6;color:var(--muted);margin:1rem 0}
footer{padding:1rem 1.5rem;border-top:1px solid var(--line);line-height:1.6}
dialog{border-radius:.375rem}
@media(max-width:80rem){
 .production-records{grid-template-columns:minmax(0,1fr)}
 .production-records>.pane:nth-child(odd){border-right:0}
 .production-records>.pane:nth-last-child(2){border-bottom:1px solid var(--line)}
 .fleet-filters{grid-template-columns:repeat(4,minmax(0,1fr))}
 .fleet-filters>label,.fleet-filters>label:nth-child(2),.fleet-filters>label:nth-child(3),.fleet-filters>label:nth-child(7){grid-column:span 1}
 .fleet-filters .search-field{grid-column:span 2}
}
@media(max-width:48rem){
 .sidebar{width:4rem}
 .rail-brand{justify-items:center;padding:0;min-height:3rem}
 .sidebar nav{padding:0 .25rem;gap:.25rem}
 .sidebar a{flex-direction:column;gap:.125rem;padding:.5rem 0;font-size:.6875rem;line-height:1rem;text-align:center}
 .side-footer{text-align:center;padding:.75rem .125rem;font-size:.6875rem}
 .shell{margin-left:4rem}
 header{padding:.5rem .75rem;gap:.375rem}
 header>div:first-child{gap:.375rem;min-width:0;flex:1}
 header .brand-signature{padding:0;margin:0}
 .brand-logo{width:4.5rem}
 header .scope-copy{width:100%;overflow-wrap:anywhere}
 .header-actions{margin:0}
 .live-notice{padding:.75rem;gap:.375rem;font-size:.75rem}
 .session-meta{max-width:100%;overflow-wrap:anywhere}
 main{padding:1rem .75rem}
 .page-head{padding:0;gap:.75rem;margin-bottom:1rem}
 .page-head h1{font-size:1.25rem;line-height:1.75rem}
 .page-head .asset-toolbar{justify-content:flex-start}
 .pane{padding:1rem .75rem}
 .live-list .toolbar,.live-list .list-heading{padding:0}
 .list-heading{gap:.5rem}
 .list-heading>span{overflow-wrap:anywhere}
 .fleet-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
 .fleet-filters .search-field{grid-column:1/-1;flex-basis:auto}
 .fleet-filters input,.fleet-filters select{min-height:2.5rem}
 #asset-lookup-form{grid-template-columns:minmax(0,1fr);align-items:stretch}
 #asset-lookup-form .lookup-value{min-width:0}
 #asset-lookup-form button{justify-self:start;min-height:2.5rem}
 .lookup-panel{padding:0 0 1rem}
 .component-list dd{white-space:normal;overflow-wrap:anywhere}
 .tabs a{padding-inline:.75rem}
 .asset-toolbar button,.asset-toolbar .button{min-height:2.5rem}
 footer{padding:1rem .75rem}
}
