:root{color:#13202d;font-family:Avenir Next,Segoe UI,Hiragino Sans,sans-serif;background:radial-gradient(circle at top left,rgba(222,140,80,.28),transparent 30%),radial-gradient(circle at top right,rgba(13,92,99,.22),transparent 34%),linear-gradient(180deg,#f5efe6,#edf2f4)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:transparent}button,input,select{font:inherit}button{cursor:pointer}#root{min-height:100vh}.app-shell{width:min(1280px,calc(100vw - 32px));margin:0 auto;padding:24px 0 56px}.hero,.view-switcher,.control-panel,.card-stack,.empty-panel{border:1px solid rgba(19,32,45,.08);border-radius:26px;background:#ffffffd6;box-shadow:0 18px 48px #29374c1f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.hero{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;padding:28px;align-items:end}.eyebrow{margin:0 0 10px;color:#8d4c2f;font-size:.85rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.hero h1,.section-heading h2,.empty-panel h2{margin:0;font-size:clamp(2rem,4vw,3.3rem);line-height:.96}.hero h1{font-size:3rem}.hero-copy,.empty-panel p{max-width:62ch;margin:18px 0 0;color:#455665;line-height:1.6}.hero .hero-copy{max-width:none;white-space:nowrap}.hero-badge{display:grid;gap:8px;padding:18px;border-radius:20px;background:linear-gradient(160deg,#0d5c63,#18435a);color:#f8fafc}.hero-badge span{font-size:.85rem;opacity:.78}.hero-badge strong{font-size:1.2rem}.hero-session{display:grid;gap:8px;margin-top:10px;padding-top:12px;border-top:1px solid rgba(248,250,252,.18)}.hero-session span{font-size:.82rem;opacity:.8}.hero-session strong{font-size:1rem;line-height:1.4;word-break:break-word}.secondary-action{width:fit-content;border:1px solid rgba(19,32,45,.18);border-radius:999px;padding:10px 16px;background:#ffffffeb;color:#18435a}.control-panel{position:relative;z-index:30;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:20px;padding:22px}.control-group{display:grid;align-content:start;gap:10px;min-width:0}.control-group-period-range,.control-group-scope{grid-column:span 2}.control-group-label{font-size:.84rem;font-weight:700;color:#465767;text-transform:uppercase;letter-spacing:.08em}.control-group-empty{min-height:47px}.control-group .revenue-summary-scope-selector{grid-column:auto}.view-switcher{display:flex;gap:12px;margin-top:20px;padding:14px}.view-tab{border:0;border-radius:999px;padding:11px 18px;background:#13202d12;color:#445463;cursor:pointer}.view-tab.active{background:linear-gradient(160deg,#0d5c63,#18435a);color:#f8fafc}.period-mode-toggle,.profit-unit-toggle{align-items:flex-start;align-self:start}.field{display:grid;gap:8px}.field span,.field>label{font-size:.84rem;font-weight:700;color:#465767;text-transform:uppercase;letter-spacing:.08em}.field-wide{grid-column:span 2}.field input,.field select{width:100%;border:1px solid rgba(19,32,45,.14);border-radius:14px;padding:14px 16px;background:#f4f7f9e6;color:#13202d}.scope-cascade-selector{position:relative}.scope-cascade-selector span{color:inherit;font-size:inherit;font-weight:inherit;letter-spacing:0;text-transform:none}.scope-cascade-trigger,.scope-cascade-option,.scope-cascade-back-button,.scope-cascade-drill-button{border:1px solid transparent;background:transparent;color:#13202d;text-align:left}.scope-cascade-trigger{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;border-color:#13202d24;border-radius:14px;padding:14px 16px;background:#f4f7f9e6}.scope-cascade-trigger-label{min-width:0;overflow-wrap:anywhere}.scope-cascade-trigger-icon{flex:0 0 auto;color:#607180}.scope-cascade-popover{position:absolute;z-index:20;top:calc(100% + 6px);left:0;width:min(320px,100vw - 32px);overflow:hidden;border:1px solid rgba(19,32,45,.12);border-radius:14px;background:#fcfefe;box-shadow:0 18px 38px #29374c2e}.scope-cascade-list{display:grid;padding:6px}.scope-cascade-area-row{display:grid;grid-template-columns:minmax(0,1fr) 44px}.scope-cascade-option,.scope-cascade-back-button,.scope-cascade-drill-button{min-height:42px;border-radius:10px;padding:10px 12px}.scope-cascade-option-main{border-top-right-radius:0;border-bottom-right-radius:0}.scope-cascade-drill-button{display:grid;place-items:center;border-top-left-radius:0;border-bottom-left-radius:0;color:#607180;text-align:center}.scope-cascade-back-button{color:#465767;font-weight:700}.scope-cascade-option:hover,.scope-cascade-back-button:hover,.scope-cascade-drill-button:hover,.scope-cascade-option:focus,.scope-cascade-back-button:focus,.scope-cascade-drill-button:focus{background:#0d5c6317;outline:none}.scope-cascade-trigger:focus,.scope-cascade-option:focus,.scope-cascade-back-button:focus,.scope-cascade-drill-button:focus{border-color:#ef5d3f;outline:2px solid rgba(239,93,63,.28)}.scope-cascade-option[aria-current=true]{background:#0d5c6321;color:#0d5c63;font-weight:700}.date-field-row{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;gap:6px}.date-range-field-row{align-items:center;display:grid;grid-template-columns:minmax(120px,160px) auto minmax(120px,160px);gap:8px;justify-content:start}.date-range-field-row span{color:#465767;font-weight:700;text-align:center}.date-step-button{border:1px solid rgba(19,32,45,.14);border-radius:12px;padding:0;background:#f4f7f9e6;color:#465767;font-weight:700}.date-step-button:hover{background:#0d5c631a;color:#0d5c63}.field input:focus,.field select:focus{outline:2px solid rgba(239,93,63,.28);border-color:#ef5d3f}.date-step-button:focus{outline:2px solid rgba(239,93,63,.28);border-color:#ef5d3f}.status-row{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 0}.status-chip{display:inline-flex;align-items:center;border-radius:999px;padding:8px 12px;background:#0d5c631f;color:#0d5c63;font-size:.9rem}.status-chip.error{background:#ef5d3f24;color:#a43822}.card-stack{margin-top:20px;padding:22px}.debug-chart-grid{display:grid;grid-template-columns:1fr;gap:18px;margin-top:18px}.debug-chart-panel{border-radius:18px;border:1px solid rgba(19,32,45,.08);background:linear-gradient(180deg,#fff7f0,#f4f8fb);padding:18px}.debug-chart-heading h3{margin:0;font-size:1.1rem}.debug-empty-copy{margin:16px 0 0;color:#516170;line-height:1.6}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.section-heading h2{font-size:clamp(1.5rem,3vw,2.2rem)}.section-copy{margin:12px 0 0;color:#516170;line-height:1.6}.detail-block{display:grid;gap:4px;color:#516170;text-align:right}.summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-top:18px}.metric-card{display:grid;gap:8px;padding:18px;border-radius:18px;background:linear-gradient(180deg,#fff7f0,#f4f8fb);border:1px solid rgba(19,32,45,.06)}.economic-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-card-warning{border-color:#a4382238;background:linear-gradient(180deg,#fff4ef,#f6f9fb)}.metric-label{color:#607180;font-size:.83rem;text-transform:uppercase;letter-spacing:.08em}.metric-value{font-size:1.5rem}.chart-canvas{width:100%;height:520px;margin-top:16px}.chart-canvas-compact{height:320px}.table-wrap{margin-top:16px;overflow:auto;border-radius:18px;border:1px solid rgba(19,32,45,.08)}.table-note{margin:12px 0 0;color:#607180;font-size:.86rem;line-height:1.5}.slots-table{width:100%;border-collapse:collapse;min-width:960px;background:#fcfefe}.debug-table{min-width:1800px}.economic-table{min-width:1720px}.daily-economic-table{min-width:1220px;table-layout:fixed;font-size:.92rem}.daily-economic-table th,.daily-economic-table td{padding:11px 12px}.daily-economic-table th{line-height:1.25;overflow-wrap:anywhere}.daily-economic-table th:first-child,.daily-economic-table td:first-child{width:7%}.daily-economic-table th:nth-child(2),.daily-economic-table td:nth-child(2){width:7%;text-align:right}.slots-table.daily-economic-table th:nth-child(2),.slots-table.daily-economic-table td:nth-child(2){text-align:right}.daily-economic-table th:nth-child(3),.daily-economic-table td:nth-child(3),.daily-economic-table th:nth-child(4),.daily-economic-table td:nth-child(4),.daily-economic-table th:nth-child(5),.daily-economic-table td:nth-child(5){width:10.5%}.daily-economic-table th:nth-child(6),.daily-economic-table td:nth-child(6),.daily-economic-table th:nth-child(7),.daily-economic-table td:nth-child(7),.daily-economic-table th:nth-child(8),.daily-economic-table td:nth-child(8){width:9.5%}.daily-economic-table th:nth-child(9),.daily-economic-table td:nth-child(9),.daily-economic-table th:nth-child(10),.daily-economic-table td:nth-child(10){width:13%}.monthly-table{min-width:1480px}.revenue-summary-table{min-width:1080px;table-layout:fixed}.slots-table.revenue-summary-table th:nth-child(2),.slots-table.revenue-summary-table td:nth-child(2){text-align:right}.revenue-summary-total-row th,.revenue-summary-total-row td{background:#f7fbfb;font-weight:800}.revenue-summary-area-row th,.revenue-summary-area-row td{background:#fffaf5;font-weight:700}.revenue-summary-table .metric-value-negative{color:#a43822}.revenue-summary-site-row th,.revenue-summary-grid-row th{display:grid;gap:3px;padding-left:34px;font-weight:600}.revenue-summary-site-id{color:#607180;font-size:.8rem;font-weight:500}.revenue-summary-daily-row th{background:#fcfefe;font-weight:500}.revenue-summary-scope-selector{grid-column:2 / span 2}.revenue-summary-target-control{grid-column:1}.revenue-summary-scope-value-control{grid-column:2 / span 2}.revenue-summary-area-toggle{display:inline-flex;align-items:center;gap:8px;border:0;padding:0;background:transparent;color:inherit;font:inherit}.revenue-summary-area-toggle:focus-visible{outline:2px solid #4381c1;outline-offset:4px}.monthly-table-row-clickable{cursor:pointer}.monthly-table-row-clickable:hover td,.monthly-table-row-clickable:focus-visible td{background:#f4f8fa}.monthly-table-row-clickable:focus-visible{outline:2px solid #4381c1;outline-offset:-2px}.slots-table th,.slots-table td{padding:12px 14px;border-bottom:1px solid rgba(19,32,45,.08);text-align:right}.slots-table th:first-child,.slots-table td:first-child,.slots-table th:nth-child(2),.slots-table td:nth-child(2){text-align:left}.slots-table th{position:sticky;top:0;background:#eef4f5;color:#324353}.slots-table.solar-radiation-table{width:auto;min-width:0;font-size:13px}.slots-table.solar-radiation-table th,.slots-table.solar-radiation-table td{padding:4px 14px;white-space:nowrap;font-variant-numeric:tabular-nums}.slots-table.solar-radiation-table th:nth-child(2),.slots-table.solar-radiation-table td:nth-child(2){text-align:right}.slots-table.solar-radiation-table th:nth-child(5),.slots-table.solar-radiation-table td:nth-child(5){border-left:1px solid rgba(19,32,45,.12)}.empty-panel{margin-top:20px;padding:28px}.auth-gate{display:grid;min-height:100vh;place-items:center;padding:24px}.auth-gate-panel{width:min(760px,calc(100vw - 32px));border:1px solid rgba(19,32,45,.08);border-radius:28px;background:#ffffffe0;box-shadow:0 18px 48px #29374c1f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:32px}.auth-gate-panel-loading{text-align:center}.auth-gate-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:24px}.auth-gate-error{margin:16px 0 0;color:#a43822;line-height:1.6}@media (max-width: 980px){.hero,.view-switcher,.control-panel{grid-template-columns:1fr}.field-wide,.control-group-period-range{grid-column:span 1}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading{align-items:flex-start;flex-direction:column}.detail-block{text-align:left}}@media (max-width: 640px){.app-shell{width:min(100vw - 20px,1280px);padding-top:14px}.hero,.view-switcher,.control-panel,.card-stack,.empty-panel,.auth-gate-panel{border-radius:20px;padding:18px}.hero h1{font-size:2.35rem}.hero .hero-copy{white-space:normal}.summary-grid{grid-template-columns:1fr}.chart-canvas{height:420px}.chart-canvas-compact{height:280px}.date-field-row{grid-template-columns:1fr 1fr}.date-field-row input{grid-column:1 / -1;grid-row:1}.date-range-field-row{grid-template-columns:1fr}}
