#root{min-height:100vh}:root{color:#1b1d22;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f6f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,a{font:inherit}button{color:#fff;cursor:pointer;background:#1d4f45;border:1px solid #1d4f45;border-radius:8px;min-height:2.5rem;padding:0 1rem}button:hover:not(:disabled),button:focus-visible{background:#123c34;border-color:#123c34}button.secondary,button.active{color:#1d4f45;background:#fff}button.active{border-width:2px}button:disabled{cursor:not-allowed;opacity:.58}input,select{color:#1b1d22;background:#fff;border:1px solid #cbd7d0;border-radius:8px;width:100%;min-height:2.6rem;padding:0 .75rem}input:disabled{color:#66736e;background:#eef2ef}input:focus{border-color:#1d4f45;outline:2px solid #b7e4c7}.portal-shell{grid-template-columns:16rem minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#fff;background:#13231f;flex-direction:column;gap:1.75rem;padding:1.5rem;display:flex}.brand{align-items:center;gap:.75rem;display:flex}.brand-mark{color:#13231f;background:#b7e4c7;border:1px solid #74c6a3;border-radius:8px;place-items:center;width:3rem;height:2.75rem;font-size:.85rem;font-weight:800;display:grid}.brand strong,.brand small{display:block}.brand small{color:#b9cbc4;margin-top:.15rem}.sidebar-nav{gap:.35rem;display:grid}.sidebar-nav button{color:#e8f0ed;text-align:left;background:0 0;border:0;border-radius:8px;min-height:2.75rem;padding:0 .75rem}.sidebar-nav button:hover,.sidebar-nav button:focus-visible,.sidebar-nav button.active{background:#254139;outline:none}.sidebar-nav button.active{color:#13231f;background:#b7e4c7}.workspace{width:min(100%,78rem);padding:2rem}.topbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.topbar h1{letter-spacing:0;margin:0;font-size:1.75rem}.topbar p{color:#57645f;max-width:45rem;margin:.4rem 0 0}.notice{background:#fff;border:1px solid #d7dfdb;border-radius:8px;margin:0 0 1rem;padding:.85rem 1rem}.notice.success{color:#163e27;background:#ecf8ef;border-color:#95c9a9}.notice.error{color:#76251c;background:#fff0ee;border-color:#e5a6a0}.notice.info{color:#33443e;background:#f9fbfa;border-color:#cbd7d0}.grid,.auth-layout,.page-grid{gap:1rem;display:grid}.grid,.auth-layout{grid-template-columns:repeat(2,minmax(0,1fr))}.page-grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start}.span-4{grid-column:span 4}.span-6{grid-column:span 6}.span-8{grid-column:span 8}.span-12{grid-column:span 12}.account-grid{align-items:start}.panel,.auth-panel{background:#fff;border:1px solid #d7dfdb;border-radius:8px;flex-direction:column;justify-content:space-between;min-height:14rem;padding:1.25rem;display:flex}.auth-panel{justify-content:flex-start}.primary-panel{background:#eef8f0}.security-contract{background:#fff7e8}.summary-panel{justify-content:flex-start}.panel-heading{gap:.25rem;margin-bottom:1.25rem;display:grid}.panel-heading span,.muted,label small{color:#66736e}.panel-heading strong{font-size:1.35rem}.management-panel{justify-content:flex-start}.management-heading{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.management-heading>span{gap:.25rem;display:grid}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:0 0 1.25rem;display:grid}.stat-grid div{background:#f9fbfa;border:1px solid #dfe6e2;border-radius:8px;padding:.85rem}.stat-grid dd{text-align:left;margin-top:.25rem;font-size:1.4rem}.compact-filter,.period-filter{width:min(100%,15rem);margin-bottom:1rem}.period-filter{margin-bottom:0}.queue-list li,.usage-list li{align-items:flex-start}.record-list small{color:#66736e}.record-list .error-text{color:#a23529}.status-badge{color:#33443e;background:#eef2ef;border-radius:999px;flex:none;padding:.3rem .65rem;font-size:.82rem;font-weight:800;display:inline-flex}.status-sent{color:#163e27;background:#dff3e5}.status-failed,.status-dead_letter{color:#76251c;background:#fff0ee}.status-processing{color:#674c0a;background:#fff3cd}.usage-count{text-align:right;flex:none;display:grid}.usage-count strong{font-size:1.25rem}.masterplan-panel{justify-content:flex-start}.masterplan-heading-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.masterplan-context-form{grid-template-columns:minmax(14rem,1fr) repeat(2,minmax(10rem,.75fr)) auto;align-items:end;gap:.75rem;margin-bottom:1rem;display:grid}.masterplan-context-form button{min-width:7rem}.masterplan-debug-form{background:#f7faf8;border:1px dashed #c8d4cf;border-radius:8px;grid-template-columns:repeat(3,minmax(7rem,1fr)) minmax(9rem,auto) auto;align-items:end;gap:.75rem;margin:-.25rem 0 1rem;padding:.85rem;display:grid}.masterplan-debug-form button{min-width:8rem}.masterplan-debug-toggle{flex-direction:row;align-items:center;gap:.5rem;min-height:2.625rem;display:inline-flex}.masterplan-debug-toggle input{width:auto}.masterplan-stats{margin-top:0}.current-quarter-stats{grid-template-columns:repeat(6,minmax(0,1fr))}.current-quarter-stats dd{font-size:1.05rem}.masterplan-meta{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1.25rem;display:grid}.masterplan-meta div{background:#f9fbfa;border:1px solid #dfe6e2;border-radius:8px;gap:.25rem;padding:.85rem;display:grid}.masterplan-meta span,.masterplan-day-label span,.masterplan-breakdown small{color:#66736e}.masterplan-meta strong{font-size:.95rem}.masterplan-viewbar{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.masterplan-viewbar button{color:#1d4f45;background:#fff}.masterplan-viewbar button.active{color:#fff;background:#1d4f45}.masterplan-chart{background:#fff;border:1px solid #d7dfdb;border-radius:8px;margin-bottom:1.25rem;padding:1rem}.masterplan-chart-heading{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.75rem;display:flex}.masterplan-chart-heading span{color:#66736e}.masterplan-chart-layout{grid-template-columns:minmax(3.8rem,auto) minmax(0,1fr) minmax(3rem,auto);align-items:stretch;gap:.6rem;display:grid}.masterplan-chart-scale{color:#66736e;font-variant-numeric:tabular-nums;flex-direction:column;justify-content:space-between;min-height:clamp(12rem,28vh,20rem);padding:.45rem 0;font-size:.78rem;line-height:1;display:flex}.masterplan-chart-scale.left{align-items:flex-end}.masterplan-chart-scale.right{align-items:flex-start}.masterplan-chart-frame{background:#f9fbfa;border:1px solid #d7dfdb;border-radius:8px;height:clamp(12rem,28vh,20rem);position:relative;overflow:hidden}.masterplan-chart-frame:before{content:"";pointer-events:none;background:linear-gradient(#66736e38 0 1px,#0000 1px) top/100% 50% repeat-y;position:absolute;inset:.45rem}.masterplan-chart-track{grid-template-columns:repeat(var(--quarter-count), minmax(2px, 1fr));align-items:end;gap:2px;height:100%;padding:.45rem;display:grid}.masterplan-chart-bar{height:var(--bar-height);background:var(--bar-color);opacity:.92;border-radius:3px 3px 0 0;min-height:.45rem;display:block}.masterplan-chart-bar.empty{opacity:.55;background:#e7ece9;min-height:100%}.masterplan-chart-bar.active{outline-offset:1px;opacity:1;outline:3px solid #13231f}.masterplan-chart-tooltip{z-index:3;color:#17241f;pointer-events:none;min-width:15rem;max-width:min(22rem,100% - 1rem);transform:translate(var(--tooltip-x,.75rem), var(--tooltip-y,.75rem));background:#fffffff7;border:1px solid #b7c8c0;border-radius:8px;gap:.35rem;padding:.75rem;display:grid;position:absolute;box-shadow:0 12px 28px #13231f29}.masterplan-chart-tooltip strong{font-size:.95rem}.masterplan-chart-tooltip span{color:#33443e;justify-content:space-between;gap:1rem;font-size:.86rem;display:flex}.masterplan-chart-tooltip b{color:#66736e;font-weight:700}.masterplan-chart-lines{pointer-events:none;width:calc(100% - .9rem);height:calc(100% - .9rem);position:absolute;inset:.45rem;overflow:visible}.masterplan-chart-line{fill:none;stroke-width:1.8px;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.masterplan-chart-line.export-price{stroke:#2265b0}.masterplan-chart-line.soc-end{stroke:#1f8a5b;stroke-dasharray:5 4}.masterplan-chart-legend{color:#53615c;flex-wrap:wrap;gap:.5rem 1rem;margin-top:.55rem;font-size:.86rem;display:flex}.masterplan-chart-legend span{align-items:center;gap:.35rem;display:inline-flex}.masterplan-chart-legend i{border-top:2px solid;width:1.25rem;height:0;display:inline-block}.masterplan-chart-legend i.export-price{color:#2265b0}.masterplan-chart-legend i.soc-end{color:#1f8a5b;border-top-style:dashed}.masterplan-chart-axis{color:#66736e;justify-content:space-between;gap:1rem;margin-top:.5rem;font-size:.86rem;display:flex}.masterplan-breakdown{grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;margin-bottom:1.25rem;display:grid}.masterplan-breakdown div{background:#fff;border:1px solid #dfe6e2;border-radius:8px;grid-template-columns:auto 1fr;align-items:center;gap:.15rem .5rem;padding:.75rem;display:grid}.masterplan-breakdown span{border-radius:50%;width:.8rem;height:.8rem}.masterplan-breakdown small{grid-column:2}.masterplan-warnings{margin-top:1rem}.masterplan-table-section{margin:1.25rem 0}.masterplan-table-frame{background:#fff;border:1px solid #d7dfdb;border-radius:8px;max-height:28rem;overflow:auto}.masterplan-table{border-collapse:collapse;width:100%;min-width:66rem;font-size:.9rem}.masterplan-table th,.masterplan-table td{text-align:right;white-space:nowrap;border-bottom:1px solid #dfe6e2;padding:.65rem .7rem}.masterplan-table th{z-index:1;color:#33443e;background:#eef2ef;font-weight:800;position:sticky;top:0}.masterplan-table th:first-child,.masterplan-table td:first-child,.masterplan-table th:nth-child(2),.masterplan-table td:nth-child(2){text-align:left}.masterplan-table tbody tr:nth-child(2n):not(.reason-row){background:#f9fbfa}.masterplan-table tbody tr.current-quarter{box-shadow:inset 4px 0 0 var(--action-color,#1d4f45);background:#eaf4ff;font-weight:800}.action-pill{align-items:center;gap:.4rem;min-width:0;display:inline-flex}.action-pill:before{content:"";background:var(--action-color,#8b98a3);border-radius:3px;flex:none;width:.65rem;height:.65rem}.reason-row td{color:#4f4538;white-space:normal;background:#fff7e8;line-height:1.45;text-align:left!important}.empty-row{color:#66736e;text-align:left!important}.form-stack{gap:.85rem;display:grid}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}label{color:#34433e;gap:.35rem;font-weight:700;display:grid}.auth-tabs,.actions{flex-wrap:wrap;gap:.5rem;display:flex}.auth-tabs{margin-bottom:1rem}.license-list{gap:.75rem;margin:0 0 1.5rem;display:grid}.license-list.compact{margin-bottom:1rem}.license-list div,.record-list li{border-top:1px solid #dfe6e2;justify-content:space-between;align-items:center;gap:1rem;padding-top:.75rem;display:flex}dt{color:#66736e}dd{text-align:right;margin:0;font-weight:700}.record-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.record-list span{color:#66736e;gap:.2rem;min-width:0;display:grid}.record-list strong{color:#1b1d22}.token-output{background:#f9fbfa;border:1px solid #cbd7d0;border-radius:8px;margin:1rem 0;padding:.85rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.break-text{overflow-wrap:anywhere}@media (width<=940px){.portal-shell{grid-template-columns:1fr}.sidebar{gap:1rem}.sidebar-nav{grid-template-columns:repeat(4,minmax(0,1fr))}.sidebar-nav button{text-align:center}}@media (width<=760px){.workspace{padding:1rem}.topbar,.grid,.auth-layout,.page-grid,.form-row{grid-template-columns:1fr}.stat-grid,.current-quarter-stats,.masterplan-context-form,.masterplan-debug-form,.masterplan-meta,.masterplan-breakdown{grid-template-columns:repeat(2,minmax(0,1fr))}.masterplan-context-form button,.masterplan-debug-form button{grid-column:1/-1}.masterplan-chart-heading,.masterplan-table-section .management-heading{flex-direction:column;align-items:stretch}.masterplan-chart-layout{grid-template-columns:minmax(3.4rem,auto) minmax(0,1fr) minmax(2.5rem,auto);gap:.35rem}.masterplan-chart-scale{font-size:.68rem}.span-4,.span-6,.span-8,.span-12{grid-column:auto}.topbar{display:grid}}@media (width<=560px){.sidebar-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.license-list div,.record-list li{flex-direction:column;align-items:flex-start}.management-heading{flex-direction:column;align-items:stretch}.period-filter,.compact-filter,.masterplan-context-form,.masterplan-debug-form,.masterplan-meta,.masterplan-breakdown{grid-template-columns:1fr;width:100%}dd{text-align:left}.masterplan-chart-track{height:15rem}.masterplan-chart-scale{min-height:15rem}.masterplan-table{table-layout:fixed;min-width:0;font-size:clamp(.58rem,2.45vw,.82rem)}.masterplan-table th,.masterplan-table td{text-overflow:ellipsis;padding:clamp(4px,1.6vw,8px);overflow:hidden}.masterplan-table th:nth-child(4),.masterplan-table td:nth-child(4),.masterplan-table th:nth-child(6),.masterplan-table td:nth-child(6),.masterplan-table th:nth-child(7),.masterplan-table td:nth-child(7),.masterplan-table th:nth-child(8),.masterplan-table td:nth-child(8),.masterplan-table th:nth-child(9),.masterplan-table td:nth-child(9){display:none}.masterplan-table .reason-row td{white-space:normal;display:table-cell;overflow:visible}}
