@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+KR:wght@400;500;600;700&display=swap');
:root{--ink:#182b42;--muted:#637386;--blue:#155cf5;--line:#dbe3ed;--bg:#f2f5fa;--navy:#10243e;--amber:#ad5700;--green:#167855}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px 'IBM Plex Sans KR',system-ui,sans-serif}button,input,select,a{font:inherit}button,a.button,.button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #6792ff;outline-offset:3px}header{background:var(--navy);color:white;display:flex;align-items:center;justify-content:space-between;padding:20px 32px;gap:16px}.brand{display:flex;gap:12px;align-items:center;letter-spacing:1px;font-size:18px}.brandmark{display:grid;place-items:center;background:#316cff;width:39px;height:43px;font-size:29px;font-weight:700}.brand small{display:block;font-size:12px;letter-spacing:0;color:#b7c9e3;margin-top:4px}.header-actions{display:flex;gap:20px;align-items:center}a{color:var(--blue)}header a{color:#d2e1ff;font-size:14px}.button,button{border:1px solid var(--line);border-radius:5px;background:white;padding:8px 12px;color:var(--ink)}.primary{background:var(--blue);color:white;border-color:var(--blue)}.source-bar{padding:10px 32px;background:#e8efff;display:flex;align-items:center;gap:8px;font-size:13px}.dot{background:#dc8b1b;width:7px;height:7px;border-radius:50%}.source-actions{position:relative}.source-actions>summary{cursor:pointer;padding:4px 8px;color:#40536b;font-size:12px;list-style:none}.source-actions>summary::-webkit-details-marker{display:none}.source-actions>div{position:absolute;right:0;top:calc(100% + 6px);z-index:800;display:grid;min-width:170px;padding:8px;border:1px solid var(--line);border-radius:6px;background:white;box-shadow:0 10px 28px #10243e24}.source-actions button{border:0;background:transparent;padding:8px;text-align:left;color:#40536b;font-size:12px}.source-actions button:hover{background:#f2f5fa}#notice:not(:empty){padding:12px 32px;background:#fff1df;color:#713d10;white-space:pre-line}nav{display:flex;gap:26px;padding:0 32px;background:white;border-bottom:1px solid var(--line)}nav button{border:0;border-radius:0;padding:15px 0;font-weight:500;color:var(--muted)}nav button.selected{border-bottom:3px solid var(--blue);color:var(--blue)}main{display:grid;grid-template-columns:275px minmax(0,1fr);min-height:80vh}aside{padding:23px 22px;background:white;border-right:1px solid var(--line)}.panel-title{display:flex;justify-content:space-between;align-items:center}h2{font-size:17px;margin:0 0 14px;font-weight:600}.panel-title button{font-size:12px;padding:3px 7px;border:0;color:var(--blue)}.control{display:block;margin:17px 0}.control>span{display:flex;justify-content:space-between;margin-bottom:6px;font-size:13px;font-weight:500}.control small{display:block;font-size:12px;color:var(--muted);margin-top:5px}.control input:not([type=checkbox]),.control select{width:100%;padding:8px;border:1px solid var(--line);border-radius:4px;background:white;min-height:37px}.control input[type=range]{padding:0;min-height:22px;accent-color:var(--blue)}.control.checkbox{display:flex;gap:8px;align-items:center;font-size:13px}fieldset{border:0;border-top:1px solid var(--line);margin:22px 0 0;padding:14px 0 0}legend{padding-right:8px;font-size:12px;color:var(--muted)}.muted{font-size:13px;color:var(--muted);line-height:1.7}.workspace{padding:25px 30px;min-width:0}.workspace-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.eyebrow{font-size:11px;font-weight:600;letter-spacing:1.3px;color:var(--muted)}h1{font-size:28px;letter-spacing:-.8px;margin:3px 0 5px}.workspace-heading p{margin:0;font-size:14px;color:var(--muted)}.status,.pill{font-size:12px;padding:5px 9px;border-radius:4px;background:#e4edff;color:#2257a3;white-space:nowrap}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:23px 0}.metric{background:white;border:1px solid var(--line);padding:17px 19px;border-radius:6px}.metric strong{display:block;font-size:29px;font-weight:600;letter-spacing:-1px;margin:6px 0}.metric>span{font-size:13px;color:var(--muted)}.metric small{font-size:12px;color:var(--muted)}.card{background:white;border:1px solid var(--line);border-radius:6px;margin:16px 0;padding:20px;overflow:hidden}.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.card-head h2{margin:0}.card-head select,.toolbar select,.toolbar input{border:1px solid var(--line);padding:7px;border-radius:4px;background:white;max-width:100%}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px;text-align:left;white-space:nowrap}th{color:var(--muted);font-size:12px;font-weight:500;background:#f7f9fc}td,th{padding:12px 10px;border-bottom:1px solid #ebeff5}tr:last-child td{border-bottom:0}.numeric{font-variant-numeric:tabular-nums}.region-name{font-weight:600}.bar{height:6px;width:80px;background:#e7eef7;margin-top:6px;border-radius:3px;overflow:hidden}.bar span{height:100%;display:block;background:var(--blue)}.warn{color:var(--amber)}.good{color:var(--green)}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.toolbar label{font-size:13px;display:flex;align-items:center;gap:6px}.timeline-team{margin:16px 0}.team-label{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;margin-bottom:7px}.timeline{display:flex;height:34px;background:#f1f4f8;border-radius:4px;overflow:hidden}.segment{height:100%;border-right:2px solid white;font-size:11px;display:flex;align-items:center;justify-content:center;overflow:hidden;white-space:nowrap;background:#d6e5ff;color:#20497b;min-width:1px}.segment.battery{background:#cfede2;color:#215e48}.segment.refill{background:#e2d9f3;color:#5d497e}.segment.travel{background:#e3e8ef;color:#5d6c7e}.segment.break{background:#fae7c9;color:#80501e}.segment.prep{background:#ded9ee;color:#5d497e}.axis{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:7px}.empty{padding:28px;color:var(--muted);text-align:center;background:#f7f9fc}.routes{display:grid;gap:12px}.route{border:1px solid var(--line);padding:14px;border-radius:5px}.route h3{font-size:14px;margin:0 0 9px}.route ol{padding-left:20px;margin:0}.route li{font-size:13px;padding:5px 0;line-height:1.6}.route small{color:var(--muted)}.model-notes{border-top:1px solid var(--line);padding:18px 0;color:var(--muted);font-size:13px;line-height:1.8}.model-notes summary{cursor:pointer;font-weight:500}.model-notes ul{padding-left:20px}.placeholder-regions{display:flex;gap:12px}.placeholder-regions span{padding:16px;background:var(--bg);flex:1}.downloads{display:flex;gap:10px;flex-wrap:wrap}.downloads a{padding:8px 12px;border:1px solid var(--line);border-radius:4px;font-size:13px}#controls.hidden{display:none}main.no-aside{grid-template-columns:1fr}.data-help{font-size:13px;line-height:1.8}.data-help code{font-size:12px;background:#f0f3f7;padding:2px 4px}.chart{display:flex;align-items:flex-end;height:120px;gap:6px;padding-top:20px}.chart-day{flex:1;min-width:10px;text-align:center;font-size:10px;color:var(--muted)}.chart-bar{background:#a9c7ff;min-height:2px;position:relative;margin-bottom:7px}.chart-bar b{position:absolute;top:-18px;left:0;right:0;color:var(--ink);font-size:11px}.chart-day.active .chart-bar{background:var(--blue)}.mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:10px 0}.mini-grid div{padding:12px;background:#f6f8fc;font-size:12px;color:var(--muted)}.mini-grid strong{font-size:20px;display:block;color:var(--ink)}@media(min-width:1600px){.workspace{max-width:1500px;width:100%;margin:auto}}@media(max-width:1100px){main{grid-template-columns:240px minmax(0,1fr)}.workspace{padding:22px 18px}.metrics{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.card{padding:16px}}@media(max-width:700px){header{padding:16px;align-items:flex-start}.brand{font-size:14px;gap:8px}.brandmark{width:30px;height:35px;font-size:23px}.header-actions{gap:7px;flex-direction:column;font-size:12px}.header-actions .button{padding:6px 9px;font-size:12px}.source-bar{padding:10px 16px;align-items:flex-start}nav{padding:0 16px;gap:24px;font-size:14px}main{display:flex;flex-direction:column}aside{border-right:0;border-bottom:1px solid var(--line);padding:17px}#parameters{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}fieldset{grid-column:1/-1}h1{font-size:24px}.workspace{padding:20px 14px}.workspace-heading{align-items:flex-start}.metrics{gap:8px}.metric{padding:13px}.metric strong{font-size:25px}.card-head{align-items:flex-start;flex-direction:column}.mini-grid{grid-template-columns:1fr 1fr}.status{font-size:11px}.toolbar input{max-width:145px}}

#dispatch-comparison[hidden]{display:none}.comparison-verdict{font-size:1rem;font-weight:600;margin:10px 0}.comparison-control{margin-top:18px}.comparison-control label{font-size:.875rem}.comparison-detail{margin-top:14px;font-size:.875rem;line-height:1.7}.comparison-detail summary{cursor:pointer;font-weight:500}.comparison-detail .table-wrap{margin:14px 0}#dispatch-comparison table{font-size:.875rem}#dispatch-comparison th{font-size:.875rem}.comparison-detail table{font-variant-numeric:tabular-nums}

#incident-section[hidden]{display:none}.incident-controls{align-items:flex-end}.incident-controls label{font-size:.875rem;flex-wrap:wrap}.incident-controls select{max-width:320px}.incident-presets{margin:12px 0}.incident-label{font-size:1rem;font-weight:600}.recovery-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.recovery-metrics>div{background:#f5f8fd;border-left:3px solid #e45122;padding:14px}.recovery-metrics span{font-size:.875rem}.recovery-metrics strong{display:block;font-size:1.35rem;margin:7px 0;font-variant-numeric:tabular-nums}.recovery-metrics small{font-size:.8125rem;color:var(--muted)}.incident-recoveries{font-size:.875rem;line-height:1.8;padding-left:22px}#incident-section table{font-size:.875rem}#incident-section th{font-size:.875rem}#incident-section td{line-height:1.8}@media(max-width:1100px){.recovery-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.incident-controls label{width:100%}.incident-controls select{max-width:100%;width:100%}.incident-controls input[type=date]{max-width:100%}.recovery-metrics{gap:8px}}

.performance-filters{margin-bottom:18px;padding:12px;background:#f6f8fc;border:1px solid var(--line);border-radius:5px}.throughput-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 20px}.throughput-summary>span{padding:12px 14px;background:#f6f8fc;color:var(--muted);font-size:12px;border-radius:4px}.throughput-summary strong{display:block;color:var(--ink);font-size:20px;margin-top:5px}.throughput-summary small{display:block;margin-top:4px}.throughput-chart-scroll{overflow-x:auto;padding:6px 0 12px}.throughput-chart{height:205px;display:grid;gap:8px;align-items:end;border-bottom:1px solid var(--line);padding:18px 8px 0}.throughput-column{height:185px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;min-width:28px}.throughput-column>b{font-size:11px;min-height:17px;font-variant-numeric:tabular-nums}.throughput-column>span{display:block;width:78%;max-width:34px;background:linear-gradient(180deg,#155cf5,#2f79ff);border-radius:3px 3px 0 0;min-height:1px}.throughput-column>small{font-size:10px;color:var(--muted);height:25px;padding-top:7px;white-space:nowrap}@media(max-width:700px){nav{gap:16px;overflow-x:auto}nav button{white-space:nowrap}.throughput-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.performance-filters{align-items:stretch}.performance-filters label{width:calc(50% - 5px);display:block}.performance-filters select,.performance-filters input{width:100%;margin-top:5px}.throughput-chart{height:190px}.throughput-column{height:170px}}

.control-date{padding:12px;background:#f6f8fc;border:1px solid var(--line);border-radius:5px;margin-bottom:18px}.ops-flow{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:center}.ops-flow>div{min-height:118px;padding:16px;border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:6px;background:#f8faff}.ops-flow small,.ops-flow span{display:block;color:var(--muted);font-size:12px}.ops-flow strong{display:block;font-size:27px;margin:10px 0 6px}.flow-arrow{font-size:24px;color:#8aa5c9}.health{display:inline-block;border-radius:999px;padding:5px 9px;font-weight:600;background:#e9f6f1;color:var(--green)}.health.warn{background:#fff1df;color:#8b4c08}.health.critical{background:#fee9e7;color:#a42d27}.ops-alerts{display:grid;gap:10px}.ops-alert{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line);border-left:4px solid var(--green);border-radius:5px;padding:13px 14px;background:#fbfcfe}.ops-alert>span{font-size:11px;font-weight:700;border-radius:3px;padding:4px 6px;background:#e9f6f1;color:var(--green)}.ops-alert strong{display:block;margin:1px 0 4px}.ops-alert p{margin:0;color:var(--muted);font-size:13px}.ops-alert.warn{border-left-color:#d47a12}.ops-alert.warn>span{background:#fff1df;color:#8b4c08}.ops-alert.critical{border-left-color:#cf3d35}.ops-alert.critical>span{background:#fee9e7;color:#a42d27}@media(max-width:900px){.ops-flow{grid-template-columns:1fr}.flow-arrow{transform:rotate(90deg);justify-self:center}.ops-flow>div{min-height:0}}@media(max-width:700px){.control-date{align-items:stretch}.control-date label{width:100%}.control-date input{width:100%}}

.connector-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.connector-card{border-top:3px solid var(--green)!important}.connector-card.stale{border-top-color:#d47a12!important}.connector-card.error,.connector-card.degraded{border-top-color:#cf3d35!important}.connector-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.connector-card-head small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.connector-card dl{margin:12px 0 0}.connector-card dl div{padding:7px 0;border-top:1px solid #e5eaf1}.connector-card dt{color:var(--muted);font-size:10px}.connector-card dd{margin:2px 0 0;font-size:11px;line-height:1.45;overflow-wrap:anywhere}.connector-card .connector-actions{margin-top:12px}.connector-error{color:#a42d27;font-size:11px}.connector-summary-bar{display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px;margin-bottom:14px;padding:14px;border:1px solid #cfe2d9;border-radius:6px;background:#f2faf6}.connector-summary-bar span,.connector-summary-bar small{display:block;color:var(--muted);font-size:11px}.connector-summary-bar strong{display:block;margin:4px 0}.connector-record-toolbar{align-items:end}.connector-record-toolbar label{min-width:210px}.connector-record-toolbar input,.connector-record-toolbar select{width:100%;min-height:38px}.connector-pager{justify-content:flex-end;margin-top:12px}.source-proof-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.source-proof{padding:12px;border:1px solid var(--line);border-top:3px solid var(--green);border-radius:5px;background:#f8faff;min-width:0}.source-proof.missing{border-top-color:#8796a8}.source-proof span,.source-proof strong,.source-proof small{display:block}.source-proof span{font-size:11px;font-weight:700}.source-proof span .connector-badge{display:inline-block;margin-right:6px}.source-proof strong{margin:8px 0;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.source-proof small{color:var(--muted);font-size:10px;line-height:1.45;overflow-wrap:anywhere}@media(max-width:1200px){.connector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.source-proof-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.connector-grid,.source-proof-grid,.connector-summary-bar{grid-template-columns:1fr}.connector-record-toolbar label{min-width:0;width:100%}}

.forecast-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:2px 0 14px}.forecast-summary>div{min-width:0;min-height:116px;padding:14px 15px;border:1px solid var(--line);border-top:3px solid #8eb1f8;border-radius:6px;background:linear-gradient(180deg,#fbfcff,#f5f8fd)}.forecast-summary span,.forecast-summary small{display:block;color:var(--muted)}.forecast-summary span{font-size:12px;font-weight:500}.forecast-summary strong{display:block;margin:9px 0 6px;font-size:20px;line-height:1.25;letter-spacing:-.35px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.forecast-summary small{font-size:11px;line-height:1.45}.forecast-status{display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:12px 14px;border:1px solid #cce6dc;border-left:4px solid var(--green);border-radius:5px;background:#eef8f4;color:var(--ink)}.forecast-status strong{flex:0 0 auto;color:var(--green);font-size:12px}.forecast-status span{font-size:13px;line-height:1.55}.forecast-status.warn{border-color:#efd9bc;border-left-color:#d47a12;background:#fff7eb;color:var(--ink)}.forecast-status.warn strong{color:#8b4c08}.forecast-chart-scroll{overflow-x:auto;padding:4px 0 7px;overscroll-behavior-inline:contain}.forecast-chart{display:block;width:100%;min-width:760px;height:210px;border:1px solid #e7edf5;border-radius:6px;background:linear-gradient(180deg,#fbfdff 0%,#f7faff 100%)}.forecast-chart text{fill:var(--muted);font:11px 'IBM Plex Sans KR',system-ui,sans-serif}.forecast-axis{stroke:#cfd9e7;stroke-width:1}.forecast-backlog{fill:none;stroke:var(--blue);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.forecast-arrival{fill:#d99231;opacity:.8}.forecast-completed{fill:var(--green);opacity:.8}.forecast-legend{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:2px 0 17px;color:var(--muted);font-size:11px}.forecast-legend span{display:inline-flex;align-items:center;gap:7px}.forecast-legend span::before{content:"";display:block;width:18px;height:4px;border-radius:3px;background:var(--blue)}.forecast-legend .arrival::before{height:8px;background:#d99231}.forecast-legend .completed::before{height:8px;background:var(--green)}.forecast-legend+.table-wrap{margin-top:4px;border:1px solid #e7edf5;border-radius:6px}.forecast-legend+.table-wrap th:first-child,.forecast-legend+.table-wrap td:first-child{padding-left:14px}.forecast-legend+.table-wrap th:last-child,.forecast-legend+.table-wrap td:last-child{padding-right:14px}.probability-band{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.probability-band>div{min-width:0;padding:13px 14px;border:1px solid #dfe7f2;border-radius:5px;background:#f8faff}.probability-band span,.probability-band small{display:block;color:var(--muted);font-size:11px}.probability-band strong{display:block;margin:6px 0;font-size:17px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.probability-band>div:nth-child(2){border-color:#adc6fa;background:#eef4ff}.probability-band>div:nth-child(2) strong{color:#124fbf}.quote-facts:not(.live-facts){grid-template-columns:repeat(3,minmax(0,1fr))}.quote-actions .muted{flex:1;min-width:240px}.quote-actions button:disabled{cursor:not-allowed;opacity:.62}

.scenario-chart .scenario-line{fill:none;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round;opacity:.9}.scenario-chart .scenario-line:first-of-type{stroke-width:3.4}.scenario-legend{display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap;margin:2px 0 16px;color:var(--muted);font-size:11px}.scenario-legend span{display:inline-flex;align-items:center;gap:7px}.scenario-legend svg{display:block;width:20px;height:6px;flex:0 0 20px;overflow:visible}.scenario-table .table-wrap{border:1px solid #e7edf5;border-radius:6px}.scenario-table td{vertical-align:middle}.scenario-table small{color:var(--muted);line-height:1.45}.scenario-apply{white-space:nowrap;background:#eef4ff;color:#124fbf;border-color:#c9dafd}.scenario-apply:hover{background:#dfeaff}.scenario-apply:disabled{cursor:not-allowed;opacity:.62}

@media(max-width:1200px){.forecast-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.forecast-summary>div{min-height:104px}}
@media(max-width:900px){.forecast-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.probability-band,.quote-facts:not(.live-facts){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.forecast-summary{gap:8px}.forecast-summary>div{min-height:0;padding:12px}.forecast-summary strong{font-size:18px}.forecast-status{align-items:flex-start;flex-direction:column;gap:4px}.forecast-chart-scroll{margin-right:-16px}.forecast-legend,.scenario-legend{gap:10px 12px}.scenario-table th:first-child,.scenario-table td:first-child{position:sticky;left:0;z-index:2;background:white;box-shadow:1px 0 #e7edf5}.scenario-table th:first-child{z-index:3;background:#f7f9fc}.scenario-apply{width:100%}.probability-band{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.quote-actions{align-items:stretch}.quote-actions button{width:100%}.quote-actions .muted{min-width:0}}
@media(max-width:480px){.forecast-summary,.probability-band,.quote-facts:not(.live-facts){grid-template-columns:1fr}.forecast-summary>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:12px}.forecast-summary strong{grid-column:2;grid-row:1/3;margin:0;text-align:right}.forecast-summary small{grid-column:1}.forecast-legend span{width:calc(50% - 6px)}.forecast-legend .backlog{width:100%}}

.section-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin:18px 0}.section-nav button{min-height:62px;padding:11px 14px;text-align:left;border-color:#dce4ef;background:#f8faff}.section-nav button strong,.section-nav button small{display:block}.section-nav button strong{font-size:14px}.section-nav button small{margin-top:4px;color:var(--muted);font-size:11px}.section-nav button.selected{border-color:#8eb1f8;background:#edf4ff;color:#124fbf;box-shadow:inset 0 0 0 1px #8eb1f8}.section-nav button.selected small{color:#41658f}
.disclosure.card{padding:0}.disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;cursor:pointer;list-style:none}.disclosure>summary::-webkit-details-marker{display:none}.disclosure>summary>span:first-child{min-width:0}.disclosure>summary strong,.disclosure>summary small{display:block}.disclosure>summary strong{font-size:15px}.disclosure>summary small{margin-top:4px;color:var(--muted);font-size:11px;font-weight:400}.disclosure-toggle{flex:0 0 auto;color:var(--blue);font-size:12px}.disclosure[open] .disclosure-toggle{font-size:0}.disclosure[open] .disclosure-toggle:after{content:'접기';font-size:12px}.disclosure-body{padding:0 20px 20px;border-top:1px solid #edf0f5}.disclosure-body>.card{margin:14px 0 0;border-color:#e8edf4;box-shadow:none}.disclosure-body>.card:last-child{margin-bottom:0}
.connector-diagnostics{margin-top:10px;border-top:1px solid #e5eaf1}.connector-diagnostics summary{padding:9px 0 3px;color:var(--blue);font-size:11px;font-weight:700;cursor:pointer}.connector-diagnostics dl{margin-top:4px}
.control-group{margin:16px 0 0;border-top:1px solid var(--line)}.control-group>summary{padding:13px 0 4px;cursor:pointer;color:#40536b;font-size:12px;font-weight:600;list-style:none}.control-group>summary::-webkit-details-marker{display:none}.control-group>summary:after{content:'+';float:right;color:var(--blue);font-size:16px}.control-group[open]>summary:after{content:'−'}.control-group .control{margin:14px 0}.map-options{position:relative}.map-options>summary{cursor:pointer;padding:8px 12px;border:1px solid var(--line);border-radius:5px;background:#fff;font-size:13px;list-style:none}.map-options>summary::-webkit-details-marker{display:none}.map-options>div{position:absolute;right:0;top:calc(100% + 6px);z-index:600;display:grid;gap:6px;min-width:180px;padding:9px;border:1px solid var(--line);border-radius:6px;background:#fff;box-shadow:0 10px 28px #10243e24}.map-options button{width:100%;text-align:left}.downloads label.button{display:inline-flex;align-items:center;font-size:13px}
@media(max-width:700px){.section-nav{grid-template-columns:1fr 1fr}.section-nav button{min-height:54px}.disclosure>summary{padding:15px 16px}.disclosure-body{padding:0 16px 16px}.map-options>div{left:0;right:auto}#parameters{display:block}}

.decision-summary button{margin-left:auto}.quote-advanced{align-self:end}.quote-advanced>summary,.quote-examples>summary{cursor:pointer;color:#244e82;font-size:12px;font-weight:600}.quote-advanced label{display:block;margin-top:8px}.quote-advanced select{width:100%}.quote-examples{margin-top:10px}.quote-examples .toolbar{margin-top:8px}.year-compare,.import-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.year-compare>div,.import-steps>div{padding:15px;border:1px solid var(--line);border-radius:6px;background:#f8faff}.year-compare span,.import-steps span{display:block;color:var(--muted);font-size:12px}.year-compare strong{display:block;margin-top:6px;font-size:24px}.import-steps{margin-bottom:16px}.import-steps>div{display:flex;align-items:center;gap:10px}.import-steps b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#e4edff;color:#2257a3}.data-warning{padding:10px 12px;border-left:4px solid #d47a12;background:#fff8ee;color:#713d10;font-size:12px}.metrics:empty{display:none}.connector-grid.compact .connector-card{min-height:0}.connector-grid.compact .connector-card-head{margin-bottom:8px}
@media(max-width:700px){main{display:flex;flex-direction:column}.workspace{order:1}aside{order:2}.year-compare,.import-steps{grid-template-columns:1fr}.source-actions>div{right:auto;left:0}.decision-summary button{margin-left:0}}
@media(min-width:1101px){.metrics.metrics-three{grid-template-columns:repeat(3,minmax(0,1fr))}}
.quote-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.quote-form>label>span,.quote-advanced label>span{display:block;margin-bottom:6px;color:#40536b;font-size:12px;font-weight:600}.quote-form input,.quote-form select{width:100%;min-height:40px;padding:8px;border:1px solid var(--line);border-radius:4px;background:#fff}.quote-form .wide{grid-column:span 2}.quote-advanced{padding-top:2px}.quote-advanced>summary{padding:9px 0}.quote-examples{max-width:320px}
@media(max-width:950px){.quote-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.quote-form{grid-template-columns:1fr}.quote-form .wide{grid-column:auto}}

/* Second-pass minimal shell */
html,body{max-width:100%}
body{overflow-x:clip}
header{position:sticky;top:0;z-index:900;min-height:60px;padding:10px 24px;justify-content:flex-start;gap:22px;flex-wrap:nowrap}
.brand{flex:0 0 auto;gap:9px;font-size:15px;white-space:nowrap}
.brandmark{width:32px;height:36px;font-size:23px}
.brand small{display:none}
header nav{align-self:stretch;display:flex;flex:0 1 auto;min-width:0;gap:5px;padding:0;background:transparent;border:0}
header nav button{min-width:0;padding:0 11px;border:0;border-radius:4px;background:transparent;color:#b7c9e3;font-size:13px;white-space:nowrap}
header nav button.selected{border:0;background:#ffffff16;color:#fff}
.header-actions{min-width:0;margin-left:auto;gap:8px;font-size:11px}
.header-actions #source{max-width:110px;overflow:hidden;color:#dce8fb;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.header-actions .save-state,.header-actions .platform-user{max-width:170px;overflow:hidden;text-overflow:ellipsis}
header .source-actions>summary{color:#dce8fb}
header .source-actions>div{color:var(--ink)}
#notice:not(:empty){padding:8px 24px;font-size:12px}

main{display:grid;grid-template-columns:minmax(0,1fr);width:100%}
.workspace{width:100%;min-width:0;padding-top:20px}
.workspace-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}
.controls-trigger{display:grid;gap:2px;min-width:190px;padding:7px 10px;text-align:left;border-color:#cbd9ee;background:#fff}
.controls-trigger[hidden]{display:none}
.controls-trigger span{font-size:12px;font-weight:600}
.controls-trigger small{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}

#controls.scenario-drawer{position:fixed;inset:0 0 0 auto;z-index:1000;box-sizing:border-box;width:min(390px,100vw);max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;padding:0;overflow:hidden;overscroll-behavior:contain;color:var(--ink);background:#fff;border:0;border-left:1px solid var(--line);border-radius:0;box-shadow:-18px 0 48px #10243e2b}
#controls.scenario-drawer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
#controls.scenario-drawer:not([open]) .control-group>summary::after{content:none}
#controls.scenario-drawer::backdrop{background:rgb(16 36 62 / 35%)}
#controls .panel-title{margin:0;padding:18px 20px;border-bottom:1px solid var(--line)}
#controls .panel-title h2{margin:0}
.drawer-actions{display:flex;gap:6px}
#controls #parameters{display:block;min-height:0;padding:0 20px 24px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.drawer-note{margin:0;padding:13px 20px max(13px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#f7f9fc}

.metrics{display:flex;gap:0;max-width:100%;margin:20px 0;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:6px}
.metrics>.metric{flex:1 1 0;min-width:0;padding:14px 18px;background:transparent;border:0;border-radius:0}
.metrics>.metric+.metric{border-left:1px solid var(--line)}
.metrics>.metric strong{margin:4px 0;font-size:26px}

.section-nav{display:flex;gap:4px;max-width:100%;margin:14px 0;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}
.section-nav button{flex:0 0 auto;min-height:38px;padding:8px 14px;text-align:center;border-radius:999px;white-space:nowrap}
.section-nav button small{display:none}
.disclosure.card{margin:0;padding:0;overflow:visible;background:transparent;border:0;border-top:1px solid var(--line);border-radius:0}
.disclosure>summary{padding:14px 4px}
.disclosure-body{padding:0 4px 16px;border-top:0}

.decision-list.decision-primary{grid-template-columns:minmax(0,1fr)}
.decision-more{margin-top:10px}
.decision-more>summary{cursor:pointer;color:#244e82;font-size:12px;font-weight:600}
.decision-more .decision-list{margin-top:10px}

@media(max-width:960px){
 header{flex-wrap:wrap;gap:7px 14px}
 header nav{order:3;width:100%;height:40px;overflow-x:auto;overscroll-behavior-inline:contain}
 header nav button{flex:1 0 auto}
}

@media(max-width:700px){
 header{padding:8px 12px;gap:7px 8px}
 .brand{font-size:13px}
 .brandmark{width:28px;height:31px;font-size:20px}
 header nav{height:38px;justify-content:space-between}
 header nav button{flex:1 0 auto;padding:0 7px}
 .header-actions{flex-direction:row;align-items:center;gap:5px}
 .header-actions .dot,.header-actions #source,.header-actions .platform-user{display:none}
 .header-actions .save-state{max-width:115px;padding:3px 7px}
 header .source-actions>div{right:0;left:auto}
 #notice:not(:empty){padding:8px 12px}
 .workspace{padding:18px 12px}
 .workspace-heading{flex-wrap:wrap}
 .workspace-actions{width:100%;justify-content:space-between}
 .controls-trigger{flex:1;min-width:0}
 #controls.scenario-drawer{inset:0;width:100vw;max-width:100vw;border-left:0}
 #controls .panel-title{padding:15px 16px}
 #controls #parameters{display:block;padding:0 16px 22px;scrollbar-gutter:auto}
 .drawer-note{padding-right:16px;padding-left:16px}
 .metrics{overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity}
 .metrics>.metric{flex:0 0 170px;scroll-snap-align:start}
 .metrics>.metric+.metric{border-left:1px solid var(--line)}
 .section-nav{margin-right:-12px;padding-right:12px}
 .disclosure>summary{padding:13px 2px}
 .disclosure-body{padding:0 2px 14px}
}

/* Stakeholder-first JARVIS briefing */
#priority-content{scroll-margin-top:16px}
.jarvis-card{margin:4px 0 16px;padding:22px;border-color:#b9cdec;border-top:4px solid var(--blue);background:linear-gradient(135deg,#fff 0%,#f7faff 72%,#edf4ff 100%);box-shadow:0 10px 30px rgb(16 36 62 / 7%)}
.jarvis-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.jarvis-head h2{margin:4px 0 5px;font-size:22px;letter-spacing:-.35px}
.jarvis-head p{margin:0;color:var(--muted);font-size:12px}
.jarvis-head>.health{flex:0 0 auto;margin-top:2px}
.jarvis-eyebrow{color:#24518a;font-size:11px;font-weight:700;letter-spacing:.45px}
.jarvis-questions{display:flex;gap:7px;margin:17px 0 12px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}
.jarvis-questions button{flex:0 0 auto;min-height:40px;padding:8px 12px;border-color:#cbd9ee;background:#fff;color:#38516f;font-size:12px;white-space:nowrap}
.jarvis-questions button.selected,.jarvis-questions button[aria-pressed="true"]{border-color:#8eaff0;background:#eaf1ff;color:#124fbf;box-shadow:inset 0 0 0 1px #8eaff0}
.jarvis-answer{padding:17px 18px;border:1px solid #d5e1f3;border-radius:7px;background:#fff}
.jarvis-response>span{color:#41658f;font-size:10px;font-weight:700;letter-spacing:.55px}
.jarvis-response h3{margin:5px 0 6px;font-size:18px;line-height:1.45;letter-spacing:-.25px}
.jarvis-response>p{max-width:1000px;margin:0;color:#506177;font-size:13px;line-height:1.65}
.jarvis-evidence{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:13px}
.jarvis-evidence>div{min-width:0;padding:9px 11px;border-radius:5px;background:#f3f6fb}
.jarvis-evidence span,.jarvis-evidence strong{display:block}
.jarvis-evidence span{color:var(--muted);font-size:10px}
.jarvis-evidence strong{margin-top:3px;font-size:13px;overflow-wrap:anywhere}
.jarvis-answer-action{margin-top:14px}
.jarvis-answer-action button,.jarvis-actions button,.jarvis-foot button{min-height:40px}
.jarvis-recommendation{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:11px;padding:15px 17px;border:1px solid #efd5b1;border-left:4px solid #d47a12;border-radius:6px;background:#fff9f0}
.jarvis-recommendation-copy{min-width:0}
.jarvis-recommendation-copy>span{color:#8b4c08;font-size:10px;font-weight:700;letter-spacing:.45px}
.jarvis-recommendation-copy h3{margin:5px 0 3px;font-size:16px}
.jarvis-recommendation-copy p{margin:0;color:#5c4c38;font-size:12px;line-height:1.55}
.jarvis-recommendation-copy small{display:block;margin-top:5px;color:#746654;font-size:10px}
.jarvis-actions{display:flex;flex:0 0 auto;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.jarvis-card>.decision-more{margin-top:11px}
.jarvis-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px;padding-top:11px;border-top:1px solid #dbe4f2}
.jarvis-foot span{color:var(--muted);font-size:10px}
.jarvis-foot button{padding:7px 10px;background:transparent;font-size:11px}
body[data-view="control"] .operations-map{height:320px}

@media(max-width:700px){
 body[data-view="control"] .metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;scroll-snap-type:none}
 body[data-view="control"] .metrics>.metric{flex:auto;min-width:0}
 body[data-view="control"] .metrics>.metric:first-child{grid-column:1/-1}
 body[data-view="control"] .metrics>.metric:nth-child(2){border-left:0;border-top:1px solid var(--line)}
 body[data-view="control"] .metrics>.metric:nth-child(3){border-top:1px solid var(--line)}
 .jarvis-card{padding:16px;margin-top:2px}
 .jarvis-head{gap:10px}
 .jarvis-head h2{font-size:19px}
 .jarvis-head p{font-size:11px;line-height:1.5}
 .jarvis-head>.health{max-width:115px;text-align:center;font-size:10px}
 .jarvis-questions{margin-right:-16px;padding-right:16px}
 .jarvis-questions button,.jarvis-answer-action button,.jarvis-actions button,.jarvis-foot button{min-height:44px}
 .jarvis-answer{padding:15px}
 .jarvis-response h3{font-size:16px}
 .jarvis-evidence{grid-template-columns:1fr}
 .jarvis-recommendation{align-items:stretch;flex-direction:column;gap:12px;padding:14px}
 .jarvis-actions{justify-content:flex-start}
 .jarvis-foot{align-items:flex-start;flex-direction:column;gap:8px}
 body[data-view="control"] .operations-map{height:260px}
}

.followup-summary{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px){.followup-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.followup-summary{grid-template-columns:1fr}}

.growth-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0}.growth-controls label{display:flex;flex-direction:column;gap:8px;font-size:14px}.growth-controls input,.growth-controls select{width:100%;min-width:0;min-height:42px;padding:10px 12px;border:1px solid #d5dfda;border-radius:8px;background:#fff;color:inherit;font:inherit}#growth-scenario-panel h4{margin:20px 0 8px}#growth-scenario-panel p{line-height:1.65}@media(max-width:760px){.growth-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.growth-controls{grid-template-columns:1fr}}

.tool-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:1180px;margin:14px auto 18px;border:1px solid #dfe8e1;border-radius:10px;background:#f8fbf9;overflow:hidden}
.tool-guide>div{min-width:0;padding:12px 15px}
.tool-guide>div+div{border-left:1px solid #e5ece6}
.tool-guide span,.tool-guide strong{display:block}
.tool-guide span{color:#62776b;font-size:12px;line-height:1.4}
.tool-guide strong{margin-top:4px;color:#233d33;font-size:14px;font-weight:500;line-height:1.5;overflow-wrap:anywhere}
@media(max-width:700px){.tool-guide{grid-template-columns:1fr;margin:12px auto 16px}.tool-guide>div{padding:10px 13px}.tool-guide>div+div{border-left:0;border-top:1px solid #e5ece6}}
