:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f3f5f7;color:#17202a}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}.app{display:grid;min-height:100vh;grid-template-columns:280px minmax(0,1fr)}.sidebar{position:sticky;top:0;align-self:start;display:flex;flex-direction:column;gap:16px;min-height:100vh;padding:24px;color:#f7fafc;background:#17313b}.brand,.stat{display:flex;align-items:center;gap:12px}.brand svg,.stat svg,button svg,.notice svg{width:20px;height:20px;flex:0 0 auto}.brand strong,.stat strong{display:block}.brand span,.stat span{display:block;color:#b9c8cf;font-size:13px}.auth-box{display:grid;gap:10px;border-top:1px solid rgba(255,255,255,.16);padding-top:16px}.auth-box input{width:100%;border:1px solid #49626c;border-radius:6px;background:#10262f;color:#fff;padding:9px 10px}.auth-box span{color:#d7e3e8;font-size:13px;overflow-wrap:anywhere}.ghost{justify-content:center;color:#17313b;background:#d7e3e8}.nav-tabs{display:grid;gap:8px;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16);padding:16px 0}.nav-tab{justify-content:flex-start;border:1px solid rgba(255,255,255,.16);color:#d7e3e8;background:transparent}.nav-tab.active{border-color:#d7e3e8;color:#17313b;background:#d7e3e8}.workspace{min-width:0;padding:28px}.topbar,.panel{display:flex;align-items:center;gap:16px;justify-content:space-between;border:1px solid #d9e0e5;border-radius:8px;background:#fff;padding:18px}.topbar{margin-bottom:16px}h1,h2,h3,p{margin:0}h1{font-size:26px}h2{font-size:18px}h3{font-size:15px}p{margin-top:6px;color:#61717d}button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:8px;border:0;border-radius:6px;padding:0 14px;cursor:pointer;white-space:nowrap}button:disabled{cursor:not-allowed;opacity:.55}.primary{color:#fff;background:#1f6f5f}.secondary{color:#17313b;background:#e7eef1}.notice{display:flex;gap:10px;align-items:center;margin:0 0 16px;border:1px solid #c9dae0;border-radius:8px;background:#eef7fa;padding:12px 14px;color:#214653}.loading-notice{color:#31515c}.spinner{animation:spin .85s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.warning-list{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.warning-list span{border-radius:999px;background:#fff4d8;padding:6px 10px;color:#74510f;font-size:13px}.upload-panel,.export-panel{margin-bottom:16px}.export-panel{justify-content:flex-start;flex-wrap:wrap}.export-panel>div{margin-right:auto}label{display:grid;gap:6px;color:#4f5d67;font-size:13px}input,select{border:1px solid #cfd7dd;border-radius:6px;background:#fff;color:#17202a;padding:8px 9px}input[type=number]{width:110px}.data-panel{display:grid;gap:18px;margin-bottom:16px}.value-group{min-width:0}.value-group.saved{border-left:4px solid #1f6f5f;padding-left:14px}.group-heading,.section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:10px}.group-actions{display:flex;align-items:end;gap:12px}.table-wrap{overflow:auto;border:1px solid #e1e6ea;border-radius:8px}table{width:100%;min-width:980px;border-collapse:collapse;font-size:13px}th,td{border-bottom:1px solid #e8edf1;padding:10px 12px;text-align:left;white-space:nowrap}th{background:#f7f9fa;color:#50606b;font-weight:600}tr:last-child td{border-bottom:0}td input,td select{width:100%;min-width:130px}.workbook-wrap{max-height:70vh}.workbook-table{min-width:1160px}.workbook-table th small{display:block;max-width:140px;overflow:hidden;color:#6a7882;font-size:11px;font-weight:500;text-overflow:ellipsis}.workbook-table td:first-child,.workbook-table th:first-child{position:sticky;left:0;z-index:1;background:#fff}.workbook-table th:first-child{background:#f7f9fa}.workbook-table input{min-width:86px}.readonly-heading{background:#eef3f5}.readonly-heading small:after{content:" (calc)"}.readonly-cell{min-width:88px;color:#5d6b75;background:#f7f9fa}.month-panel{display:grid;align-items:stretch;gap:14px}.sheet-tabs{display:flex;flex-wrap:wrap;gap:8px}.tab{min-height:34px;border:1px solid #d6dee4;background:#fff;color:#50606b}.tab.active{border-color:#1f6f5f;color:#fff;background:#1f6f5f}@media(max-width:880px){.app{align-content:start;grid-template-columns:1fr}.sidebar{z-index:20;display:grid;grid-template-columns:1fr;gap:10px;min-height:auto;padding:12px}.brand{min-width:0}.brand svg{width:18px;height:18px}.brand strong{font-size:15px}.brand span{font-size:12px}.nav-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border:0;padding:0}.nav-tab{height:38px;min-height:38px;justify-content:center;padding:0 10px}.sidebar>.stat{display:none}.auth-box{grid-template-columns:minmax(0,1fr) auto;align-items:center;border-top:1px solid rgba(255,255,255,.14);padding-top:10px}.auth-box input,.auth-box button{height:38px;min-height:38px}.topbar,.panel,.group-heading,.section-heading{align-items:stretch;flex-direction:column}.workspace{padding:14px}.topbar{gap:14px;padding:14px}h1{font-size:22px}p{font-size:13px}.group-actions,.export-panel{flex-direction:column;align-items:stretch}.group-actions button,.topbar button,.export-panel button,input[type=number]{width:100%}.sheet-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.tab{justify-content:center;white-space:normal}}
