:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans CJK SC",sans-serif;color:#233b35;background:#f7f9f8;--muted:#7b8b84;--line:#e1e8e3;--green:#237357}*{box-sizing:border-box}body{margin:0;font-size:15px}button,input,select{font:inherit}button,a{cursor:pointer}button{color:inherit;border:0}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:2px solid #53a489;outline-offset:3px}input,select{border:1px solid var(--line);border-radius:7px;background:white;color:#233b35;padding:9px 10px;min-width:0;outline:none}input:focus,select:focus{border-color:#5a9e82;box-shadow:0 0 0 3px #2373570c}input[type=checkbox]{accent-color:var(--green);box-shadow:none}a{color:inherit;text-decoration:none}[hidden]{display:none!important}h1,h2,h3,p{margin:0}.topbar{height:65px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 26px;gap:20px}.brand{display:flex;align-items:center;gap:10px}.brand strong{letter-spacing:2px;font-size:17px}.brand>span{font-size:14px;color:var(--muted);border-left:1px solid var(--line);margin-left:7px;padding-left:17px}.topmeta{display:flex;align-items:center;gap:22px;font-size:13px;color:var(--muted)}.connection:before,.source-dot{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#5b9d7e;margin-right:7px}.connection.offline:before{background:#d2995e}.shell{display:grid;grid-template-columns:268px minmax(0,1fr);height:calc(100vh - 65px)}.sidebar{display:flex;flex-direction:column;background:#fcfdfc;border-right:1px solid var(--line);min-height:0}.sidebar-head{display:flex;justify-content:space-between;align-items:center;padding:20px 18px 12px}.sidebar-head h1{font-size:15px;font-weight:650}.sidebar-head h1 span{font-size:13px;color:var(--muted);font-weight:400;margin-left:5px}.icon-button{background:transparent;font-size:21px;width:28px;height:28px;line-height:1;border-radius:6px;color:#8a9991}.icon-button:hover{color:var(--green);background:#edf4ef}.filters{padding:0 16px 15px}.search{display:flex;align-items:center;border:1px solid var(--line);border-radius:7px;background:#fff;padding-left:10px;gap:6px}.search>span{font-size:22px;color:var(--muted)}.search input{border:0;background:transparent;width:100%;box-shadow:none;font-size:14px;padding-left:3px}.filter-row{display:flex;justify-content:space-between;align-items:center;margin-top:10px;gap:10px}.filter-row select{font-size:13px;padding:6px 8px;flex:1}.check{display:flex;align-items:center;gap:4px;white-space:nowrap;font-size:13px;color:var(--muted)}#contracts{flex:1;overflow:auto;padding:0 8px 15px}.contract-item{display:flex;align-items:center;text-align:left;width:100%;border-radius:7px;padding:11px 10px;gap:10px;background:transparent;margin:2px 0;border:1px solid transparent}.contract-item:hover{background:#f0f5f1}.contract-item.selected{background:#e8f2ec;border-color:#dce9df}.ticker-icon{width:32px;height:32px;border:1px solid #e3e9e5;border-radius:8px;display:grid;place-items:center;background:white;color:#5b7366;font-size:12px;font-weight:650;flex-shrink:0}.contract-copy{flex:1;min-width:0}.contract-copy strong{display:block;font-size:14px;font-weight:650;letter-spacing:.2px}.contract-copy small{display:block;color:#8b9890;font-size:12px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin-top:4px}.contract-count{font-size:12px;color:#789281;background:#fff9;padding:3px 6px;border-radius:4px}.pulse{width:6px;height:6px;background:var(--green);border-radius:50%;animation:pulse 1.5s infinite}.sidebar-foot{display:flex;align-items:center;font-size:12px;color:#8b9b92;border-top:1px solid var(--line);padding:15px 18px}.sidebar-foot #catalog-time{margin-left:auto;font-size:12px}.sidebar-foot .source-dot{width:5px;height:5px}main{padding:0 27px 30px;overflow:auto;min-width:0}.contract-heading{padding:24px 0 22px;display:flex;align-items:center;justify-content:space-between;gap:18px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:1px;color:#88988f;margin-bottom:7px}.contract-heading h2{font-size:25px;letter-spacing:-.5px;font-weight:600}.contract-heading p{font-size:13px;color:var(--muted);margin-top:6px}.primary,.secondary,.danger{border-radius:7px;padding:10px 16px;font-weight:550;font-size:14px;white-space:nowrap}.primary{background:var(--green);color:white;box-shadow:0 2px 3px #193c2412}.primary:hover{background:#195f46}.primary span{font-size:17px;margin-right:5px}.secondary{background:#f1f4f1;border:1px solid var(--line)}.danger{background:#b24d40;color:white}.history{border:1px solid var(--line);background:#fff;border-radius:10px;overflow:hidden;margin-bottom:20px}.section-label{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-bottom:1px solid var(--line)}.section-label h3{font-size:14px;font-weight:550}.section-label h3 span{color:#94a198;margin-left:5px;font-size:13px}.section-label>span{font-size:12px;color:#98a49d}#runs{max-height:239px;overflow:auto}.run-row{display:grid;grid-template-columns:minmax(150px,1.1fr) minmax(98px,.7fr) minmax(180px,1.4fr) minmax(165px,1.3fr) 32px;align-items:center;gap:12px;padding:12px 15px;border-bottom:1px solid #edf1ee;cursor:pointer;border-left:3px solid transparent}.run-row:last-child{border-bottom:0}.run-row:hover{background:#f8fbf9}.run-row.selected{background:#f3f8f5;border-left-color:#398466}.run-time{font-size:13px;font-variant-numeric:tabular-nums;font-weight:550}.run-time small{font-size:12px;color:#9aa69e;display:block;font-weight:400;margin-top:4px}.run-status{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:12px}.run-status small{display:block;white-space:nowrap;color:#97a298;font-variant-numeric:tabular-nums}.status{color:#638073}.status.completed{color:#27805e}.status.running,.status.queued{color:#9d7d30}.status.failed,.status.interrupted{color:#b36556}.run-model{font-size:12px;color:#627769;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.run-model small{display:block;font-size:12px;color:#9aa79e;margin-bottom:4px}.run-model b{font-weight:450;color:#8c9c91;margin-left:5px}.delete-run{font-size:18px;color:#9aa79e;width:28px;height:28px;border-radius:5px;background:transparent}.delete-run:hover{background:#f9eae6;color:#aa5749}.detail{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.detail-toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 16px;gap:12px;border-bottom:1px solid var(--line);min-height:52px}.tabs{display:flex;gap:23px;white-space:nowrap}.tabs button{background:transparent;color:#8a988f;padding:18px 0 15px;font-size:13px;border-bottom:2px solid transparent}.tabs button[aria-selected=true]{color:#2c795a;border-color:#2c795a}.detail-actions{display:flex;gap:17px;align-items:center;white-space:nowrap}.text-button{padding:5px 0;background:transparent;font-size:12px;color:#7b8c80}.text-button:hover{color:var(--green)}.job-message{padding:10px 17px;font-size:13px;line-height:1.6;background:#f8faf8;color:#8b9b91;border-bottom:1px solid #ecf1ed;overflow-wrap:anywhere}.job-message.failed{color:#a36150;background:#fdf7f4}.job-message:empty{display:none}#report-frame{display:block;border:0;width:100%;height:1000px;background:#fff}#report-empty{min-height:320px}.empty{padding:55px 24px;text-align:center;color:#8b9a90;font-size:14px}.empty h3{font-weight:500;font-size:17px;color:#587163;margin:13px 0 8px}.empty p{font-size:13px;line-height:1.8}.start-empty{margin-top:45px}.empty-symbol{width:46px;height:46px;display:grid;place-items:center;margin:0 auto;border:1px solid #dbe5dd;border-radius:12px;color:#73a08b;font-size:25px;background:#fff}.panel-caption{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 17px;color:#86998c;font-size:12px;border-bottom:1px solid #eef2ef;overflow-wrap:anywhere}#logs{height:620px;overflow:auto;background:#142720;padding:16px 20px;color:#bfd0c5;font:13px/1.85 ui-monospace,SFMono-Regular,Consolas,monospace}.log-entry{margin-bottom:17px}.log-meta{color:#6f9480;font-size:12px;margin-bottom:3px}.log-entry pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}.log-entry.error{color:#efb8a3}.log-entry.command pre{color:#a5bbac}#files{padding:8px 17px;max-height:650px;overflow:auto}.file-row{display:flex;gap:15px;justify-content:space-between;padding:10px 3px;border-bottom:1px solid #eef2ef;font-family:ui-monospace,monospace;font-size:12px;overflow-wrap:anywhere}.file-row:hover{color:var(--green)}.file-row span{white-space:nowrap;color:#93a297}.file-group{font-size:13px;color:#607a68;padding:15px 3px 7px;font-weight:600}.notice{margin:15px 0 0;border:1px solid #eddfbd;background:#fff9ed;color:#987b45;font-size:13px;padding:10px 13px;border-radius:7px;line-height:1.7}dialog{border:1px solid #d8e3da;border-radius:13px;box-shadow:0 25px 100px #142b2430;padding:26px;width:540px;max-width:calc(100vw - 28px);color:#233b35}dialog::backdrop{background:#18392a40;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.dialog-heading h2,dialog h2{font-size:20px;font-weight:550}.dialog-intro{font-size:14px;color:#829489;line-height:1.8;margin:13px 0 22px}fieldset{border:1px solid var(--line);border-radius:8px;padding:15px;margin:15px 0}legend{font-size:14px;color:#577863;padding:0 7px}.step{font-size:12px;color:#a2b2a5;margin-right:7px}.model-fields{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:12px}form label{display:flex;flex-direction:column;gap:7px;font-size:13px;color:#809687}form select{font-size:14px;width:100%}.form-note{color:#95a297;font-size:13px;line-height:1.8;margin:15px 0}.dialog-footer{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #edf1ed;padding-top:18px;margin-top:21px}.form-error{color:#ac614d;font-size:14px;line-height:1.6}.form-error:not([hidden]){margin:12px 0}#delete-description{line-height:1.9;margin-top:18px}#login-dialog{width:370px}#login-form label{margin:22px 0 18px}#login-form .primary{width:100%}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#234c38;color:#eff7ef;padding:12px 20px;border-radius:8px;font-size:14px;box-shadow:0 5px 20px #18392a28;z-index:100;max-width:90vw}.empty-row{padding:23px;text-align:center;color:#a3aea6;font-size:13px}@keyframes pulse{50%{opacity:.35}}@media(min-width:1700px){main{padding:0 40px 40px}.shell{grid-template-columns:285px minmax(0,1fr)}}@media(max-width:1100px){.shell{grid-template-columns:228px minmax(0,1fr)}main{padding:0 18px 22px}.run-row{grid-template-columns:minmax(140px,1fr) 100px minmax(140px,1fr) 28px}.run-model.report-selection{display:none}.detail-actions{gap:10px}.tabs{gap:17px}.brand>span{display:none}.topmeta{gap:15px}}@media(max-width:700px){.topbar{height:55px;padding:0 16px}.brand strong{font-size:17px}.topmeta{gap:10px;font-size:12px}#running-count{display:none}.shell{display:block;height:auto}.sidebar{border-right:0;border-bottom:1px solid var(--line)}.sidebar-head{padding:12px 16px 5px}.filters{display:flex;gap:8px;padding:0 14px 8px}.search{flex:1;min-width:0}.search input{font-size:13px}.filter-row{margin:0;gap:5px}.filter-row select{max-width:98px}.filter-row .check{display:none}#contracts{display:flex;overflow-x:auto;padding:0 11px 11px;gap:5px}.contract-item{width:145px;flex-shrink:0;padding:9px 8px}.ticker-icon{display:none}.contract-count{font-size:12px}.contract-copy strong{font-size:13px}.contract-copy small{font-size:12px}.sidebar-foot{display:none}main{padding:0 12px 20px;overflow:visible}.contract-heading{padding:20px 3px}.contract-heading h2{font-size:23px}.contract-heading p{max-width:185px;line-height:1.6}.contract-heading .primary{padding:10px 12px}.history{margin-bottom:15px}.section-label{padding:12px}.run-row{grid-template-columns:minmax(126px,1fr) 90px 24px;gap:8px;padding:11px 10px}.run-model{display:none}.run-time{font-size:12px}.run-status{font-size:12px}.run-time small{font-size:12px}.detail-toolbar{flex-wrap:wrap;padding:0 12px;gap:0;justify-content:space-between}.tabs{gap:18px}.tabs button{font-size:12px;padding:15px 0 12px}.detail-actions{gap:15px;margin-left:auto}.text-button{font-size:12px}.detail-actions:has(:not([hidden])){padding:7px 0}.job-message{font-size:12px;padding:9px 12px}#report-frame{height:1280px}.model-fields{grid-template-columns:minmax(0,1fr) 90px;gap:8px}dialog{padding:20px}fieldset{padding:12px}.model-fields select{font-size:13px}.topmeta .connection{display:none}.panel-caption{padding:12px;font-size:12px}#logs{padding:14px 12px;height:650px;font-size:12px}.start-empty{margin-top:20px}.file-row{font-size:12px}}

.page-nav{display:flex;align-items:center;gap:7px;margin-left:22px;margin-right:auto;white-space:nowrap}.page-nav a{font-size:13px;padding:8px 13px;color:#8a9a90;border-radius:6px}.page-nav a[aria-current=page]{background:#edf4ef;color:#2d7958}.page-nav a:hover{background:#f1f6f2}.direction-tabs{display:flex;gap:17px;margin:0 0 17px;padding:0 2px;border-bottom:1px solid var(--line)}.direction-tabs button{background:transparent;font-size:13px;color:#8c9e90;padding:0 3px 11px;border-bottom:2px solid transparent}.direction-tabs button.active{color:#287658;border-color:#398668}.direction-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.direction-options label{flex-direction:row;align-items:center;gap:8px;padding:10px;background:#f6f9f6;border:1px solid #e1e9e1;border-radius:6px;font-size:14px;cursor:pointer}.direction-options label:has(:checked){border-color:#83b298;background:#edf6ef;color:#397a51}.direction-options input{accent-color:#237357}#prompt-preview{border:1px solid #e1e8e3;border-radius:7px;padding:12px;margin:18px 0 5px;color:#7b8d7e;font-size:13px}#prompt-preview summary{cursor:pointer}#prompt-preview h3,.prompt-content h3{font-size:14px;color:#547560;margin:18px 0 10px}#prompt-preview pre,.prompt-content pre{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.9 ui-monospace,Consolas,monospace;background:#f4f7f3;border-radius:6px;padding:15px;color:#71816f;max-height:340px;overflow:auto}.prompt-content{padding:5px 20px 20px}#run-dialog{max-height:92vh;overflow:auto}@media(max-width:700px){.page-nav{margin-left:auto;margin-right:0;gap:2px}.page-nav a{font-size:12px;padding:7px 9px}.topmeta{display:none}.topbar{gap:5px}.brand{gap:7px}.direction-tabs{margin-bottom:14px;gap:22px}.direction-options label{font-size:13px;padding:8px}.tabs{gap:14px}}

.prompt-note{font-size:14px;line-height:1.8;color:#768679;margin:22px 0 12px}#prompt-history{border-top:1px solid var(--line);padding-top:15px}#prompt-history summary{cursor:pointer;font-size:14px;color:#557460}

html:not([data-role="admin"]) [data-admin]{display:none!important}.account-button{flex-shrink:0;white-space:nowrap;background:#edf4ef;color:#287657;border:1px solid #dce9df;border-radius:7px;padding:8px 14px;font-size:14px}.account-button:hover{background:#e2eee6}@media(max-width:700px){.account-button{font-size:13px;padding:7px 10px}.page-nav{margin-left:auto}}

@media(max-width:700px){.page-nav{gap:0}.page-nav a{font-size:12px;padding:7px}.brand strong{letter-spacing:1px}.account-button{padding:7px 8px}}

/* Readable company identities and touch-friendly portrait controls. */
.contract-copy small{white-space:normal;overflow-wrap:anywhere;line-height:1.5;text-overflow:clip}
.contract-item{align-items:flex-start}.ticker-icon,.contract-count,.pulse{flex-shrink:0}
@media(max-width:700px){
 .topbar{height:auto;min-height:60px;padding:10px 14px;flex-wrap:wrap;gap:10px}
 .page-nav{order:3;width:100%;margin:0;justify-content:space-between;gap:4px}
 .page-nav a{flex:1;text-align:center;font-size:14px;padding:9px 6px}
 .account-button{margin-left:auto;font-size:13px;padding:9px 12px}
 .filters{flex-direction:column;gap:9px}.filter-row{width:100%;gap:12px}
 .filter-row select{max-width:none;min-height:40px}.filter-row .check{display:flex;min-height:40px;padding:0 9px;font-size:14px}
 .search input,input[type=password],input[type=search],input[type=date],form select{font-size:16px}
 #contracts{align-items:stretch}.contract-item{width:215px;padding:11px}.contract-copy strong{font-size:14px}.contract-copy small{font-size:12px}
 .contract-heading{align-items:flex-start;flex-wrap:wrap}.contract-heading>div{min-width:0;flex:1 1 180px}.contract-heading p{max-width:none;overflow-wrap:anywhere;font-size:14px}
 .tabs{flex-wrap:wrap;gap:14px}.tabs button{font-size:13px}.direction-tabs button{font-size:14px}
 .run-row{grid-template-columns:minmax(0,1fr) 94px 28px}.run-time{overflow-wrap:anywhere}
 .direction-options{grid-template-columns:1fr}.direction-options label{font-size:14px;min-height:44px}
}

/* Local logo assets keep the original glyph visible until an image loads. */
.company-logo{position:relative;overflow:hidden;isolation:isolate;flex-shrink:0}.company-logo img{position:absolute;inset:0;width:100%;height:100%;padding:4px;object-fit:contain;background:#fff;opacity:0}.company-logo.logo-loaded img{opacity:1}.company-logo.logo-loaded .logo-fallback{visibility:hidden}.company-logo .logo-fallback{font-size:inherit}
@media(max-width:700px){.ticker-icon.company-logo{display:grid;width:32px;height:32px}.contract-item:has(.company-logo){width:242px;gap:9px}}
.company-logo.logo-dark img{background:#263b32}

/* Center price sits immediately after status; keep it visible on narrow screens. */
.run-row{grid-template-columns:minmax(135px,1fr) minmax(75px,.6fr) minmax(120px,.9fr) minmax(115px,.9fr) minmax(110px,1fr) minmax(110px,1fr) 28px;gap:10px}.run-time{min-width:0;overflow-wrap:anywhere}
.run-pressure{min-width:0;line-height:1.5;font-size:13px;color:#347755;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.run-pressure small{display:block;font-size:12px;color:#8b9d90;margin-bottom:3px}.run-pressure strong{font-weight:550}.run-pressure .unavailable{color:#9aa79e;font-weight:400}.pressure-scenario{display:block;color:#869889;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:1200px) and (min-width:701px){.run-row{grid-template-columns:minmax(0,1fr) minmax(78px,.7fr) minmax(105px,.9fr) minmax(105px,.9fr) 28px;gap:9px}.run-row .run-model{display:none}}
@media(max-width:900px){.run-row{grid-template-columns:minmax(0,1fr) minmax(80px,.9fr) 26px;gap:10px}.run-time{grid-column:1/-1;grid-row:1;padding-right:28px}.run-status{grid-column:1;grid-row:2}.run-pressure{grid-column:2/4;grid-row:2}.run-row .generation-price{grid-column:1/-1;grid-row:3;display:flex;align-items:baseline;gap:12px;border-top:1px solid #e6eee8;padding-top:8px}.run-row .generation-price small{margin:0}.run-row .delete-run{grid-column:3;grid-row:1;align-self:start}.run-pressure small{font-size:12px}.pressure-scenario{white-space:normal}.run-row .run-model{display:none}}

/* Contract selection in the analysis dialog. */
#run-dialog{width:600px;max-height:92dvh}#contract-settings{padding:14px}#run-selected-count{font-size:13px;font-weight:500;color:var(--green);margin-left:8px}.run-contract-search input{font-size:15px;min-height:42px}.run-selection-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0;font-size:13px;color:var(--muted)}.run-selection-tools button{min-height:34px}.run-contracts{max-height:218px;overflow:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:8px;background:#fff}.run-contract-option{display:flex;align-items:center;gap:10px;padding:10px 12px;min-height:60px;border-bottom:1px solid #edf1ee;cursor:pointer}.run-contract-option:last-child{border-bottom:0}.run-contract-option:hover{background:#f7faf8}.run-contract-option.is-selected{background:#edf6f0}.run-contract-option.is-unavailable{opacity:.55;cursor:not-allowed}.run-contract-option input{width:18px;height:18px;flex:0 0 18px;margin:0}.run-contract-copy{flex:1;min-width:0}.run-contract-copy strong{display:block;font-size:14px;font-weight:650}.run-contract-copy small{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-height:1.5;color:var(--muted);font-size:12px;margin-top:3px;overflow-wrap:anywhere}.run-unavailable{font-size:12px;white-space:nowrap;color:var(--muted)}.run-selected{display:flex;flex-wrap:wrap;gap:6px;max-height:90px;overflow:auto;margin:0 0 10px}.run-selected button{display:flex;align-items:center;gap:8px;min-height:34px;border:1px solid #d7e8dd;background:#edf6f0;color:#27654e;border-radius:6px;padding:6px 9px;font-size:13px}.run-selected button:hover{background:#dfeee4}.run-selected button span{font-size:17px;line-height:1}.run-selection-note{margin-top:10px;font-size:13px;line-height:1.7;color:var(--muted)}.run-selection-note a{display:inline-block;color:var(--green);margin-left:4px}.preview-symbol-label{display:flex;align-items:center;gap:12px;margin-top:16px;font-size:14px}.preview-symbol-label select{flex:1;min-width:0}.form-error{white-space:pre-line;overflow-wrap:anywhere}#run-dialog .dialog-footer{position:sticky;bottom:-26px;background:#fff;padding:16px 0 4px;z-index:2;box-shadow:0 -8px 14px #fff}#run-dialog .dialog-footer button{min-height:44px}
@media(max-width:600px){#run-dialog{max-width:calc(100vw - 20px);padding:18px;max-height:94dvh}.run-contract-search input{font-size:16px}.run-contracts{max-height:190px}.run-contract-option{padding:10px 8px;gap:8px}.run-contract-option .ticker-icon{width:28px;height:28px}.run-contract-copy strong{font-size:14px}.run-selected button{min-height:40px}.run-selected{max-height:94px}.run-unavailable{font-size:11px;white-space:normal;max-width:42px}.run-selection-note{font-size:13px}#run-dialog .dialog-footer{bottom:-18px;padding-bottom:2px}#contract-settings{padding:11px}.preview-symbol-label{align-items:flex-start;flex-direction:column;gap:8px}.preview-symbol-label select{width:100%}}
#contract-settings .run-contract-search{flex-direction:row;align-items:center;gap:6px}#contract-settings .run-contract-option{flex-direction:row;align-items:center;text-align:left}#contract-settings .run-contract-copy{align-self:center}#contract-settings .run-contract-copy strong{color:#233b35}#contract-settings .run-contract-option input{width:18px;height:18px}

/* Permissions are also enforced by the API. Hide controls until auth loads. */
html:not([data-view-internals="true"]) [data-permission="viewInternals"],html:not([data-run-analysis="true"]) [data-permission="runAnalysis"],html:not([data-manage-reports="true"]) [data-permission="manageReports"]{display:none!important}
@media(max-width:700px){.page-nav a{white-space:nowrap;font-size:13px}.page-nav{overflow-x:auto}}

/* Use the supplied complete AIPSY logo, including its wordmark. */
.brand{flex-shrink:0}.brand .site-logo{display:block;width:54px;height:54px;object-fit:contain;flex-shrink:0}
@media(max-width:700px){.brand .site-logo{width:48px;height:48px}}

html:not([data-subscribe="true"]) [data-permission="subscribe"]{display:none!important}

/* Fixed website-captured market price at report completion. */
.generation-price{min-width:0;color:#4d665b;font-size:14px;line-height:1.5;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.generation-price small{display:block;color:#8b9d90;font-size:12px;margin-bottom:4px}.generation-price strong{font-weight:550}.generation-price.unavailable strong{color:#9aa79e;font-weight:400}

@media(min-width:701px) and (max-width:1000px){.topmeta{display:none}.topbar{padding-inline:20px}.page-nav{margin-left:12px;gap:3px;min-width:0;overflow-x:auto}.page-nav a{padding-inline:10px;flex-shrink:0}}
