:root{color:#111827;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f4f6f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font-family:inherit}button:focus-visible,a:focus-visible{outline-offset:2px;outline:2px solid #0f766e}#root{min-height:100vh}.login-page{background:linear-gradient(#101827c7,#101827c7),url(https://images.unsplash.com/photo-1558611848-73f7eb4001a1?auto=format&fit=crop&w=1600&q=80) 50%/cover;place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:#fff;border-radius:10px;gap:18px;width:min(420px,100%);padding:26px;display:grid;box-shadow:0 24px 80px #0000003d}.login-card h1{color:#111827;letter-spacing:0;margin:0;font-size:30px}.login-card p{color:#64748b;margin:6px 0 0}.login-card form{gap:13px;display:grid}.login-card button,.logout-button{color:#fff;cursor:pointer;background:#d71920;border:0;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:40px;font-weight:800;display:inline-flex}.login-card button:hover,.logout-button:hover{background:#b81218}.login-error{color:#991b1b;background:#fee2e2;border-radius:6px;padding:10px;font-size:13px}.accounting-app{color:#172033;background:#eef2f6;grid-template-columns:340px minmax(0,1fr);height:100vh;display:grid;overflow:hidden}.accounting-app.panel-collapsed{grid-template-columns:0 minmax(0,1fr)}.month-panel{background:#f8fafc;border-right:1px solid #d7dee8;flex-direction:column;gap:18px;min-height:0;padding:18px;display:flex;position:relative;overflow:auto}.panel-collapsed .month-panel{visibility:hidden;border-right:0;padding:0;overflow:hidden}.panel-toggle,.panel-rail-toggle{color:#172033;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;place-items:center;display:inline-grid;box-shadow:0 8px 22px #0f172a1f}.panel-toggle{z-index:5;width:30px;height:34px;position:absolute;top:87px;right:-15px}.panel-toggle:hover,.panel-rail-toggle:hover{background:#eef4fb}.panel-rail-toggle{z-index:30;width:34px;height:38px;position:fixed;top:86px;left:8px}.brand-block,.panel-heading,.workbook-item,.editor-header,.editor-actions,.title-block,.new-month-form button,.editor-header button{align-items:center;display:flex}.brand-block{color:#fff;background:#101827;gap:12px;min-height:64px;margin:-18px -18px 0;padding:18px}.logout-button{background:#26364d;width:100%;min-height:34px}.logout-button:hover{background:#334766}.panel-nav{gap:8px;display:grid}.nav-action{color:#172033;cursor:pointer;background:#fff;border:1px solid #d7dee8;border-radius:6px;justify-content:flex-start;align-items:center;gap:9px;min-height:38px;padding:0 12px;font-size:13px;font-weight:800;display:inline-flex}.nav-action:hover{background:#f1f5f9;border-color:#94a3b8}.nav-action.active{color:#0f5132;background:#eaf7ef;border-color:#107c41;box-shadow:inset 4px 0 #107c41}.brand-mark{color:#fff;background:#d71920;border-radius:7px;place-items:center;width:38px;height:38px;font-weight:900;display:inline-grid}.brand-block strong,.brand-block span,.title-block strong,.title-block span{line-height:1.2;display:block}.brand-block strong,.title-block strong{font-size:15px}.brand-block strong{color:#fff}.title-block strong{color:#111827}.brand-block span,.title-block span,.muted{font-size:12px}.brand-block span{color:#aebbd0}.title-block span,.muted{color:#64748b}.new-month-form{background:#fff;border:1px solid #d7dee8;border-radius:8px;gap:12px;padding:16px;display:grid;box-shadow:0 8px 24px #0f172a0d}.upload-month-form{background:#fff;border:1px solid #d7dee8;border-radius:8px;gap:10px;padding:14px;display:grid;box-shadow:0 8px 24px #0f172a0d}.panel-heading{color:#0f172a;gap:8px}.panel-heading strong{font-size:14px}label{color:#475569;gap:6px;font-size:12px;font-weight:800;display:grid}input,select{color:#0f172a;width:100%;min-height:36px;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:5px;padding:0 9px;font-size:13px}.split-fields{grid-template-columns:1fr 1fr;gap:10px;display:grid}.new-month-form button,.upload-month-form button,.editor-header button{color:#172033;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:5px;justify-content:center;gap:8px;min-height:36px;padding:0 11px;font-size:12px;font-weight:800}.new-month-form button{color:#fff;background:#d71920;border-color:#d71920;min-height:40px}.upload-month-form button{color:#fff;background:#26364d;border-color:#26364d;min-height:38px}.new-month-form button:hover{background:#b81218}.upload-month-form button:hover{background:#334766}.upload-month-form button:disabled{cursor:wait;opacity:.72}.editor-header button:hover{background:#eef4fb}.workbook-list{align-content:start;gap:8px;min-height:0;display:grid;overflow:auto}.workbook-item{color:#172033;text-align:left;background:#fff;border:1px solid #d7dee8;border-radius:8px;gap:12px;width:100%;padding:12px;box-shadow:0 4px 14px #0f172a0a}.workbook-item.active{background:#eaf7ef;border-color:#107c41;box-shadow:inset 4px 0 #107c41}.workbook-item:hover{background:#fdfefe;border-color:#94a3b8}.workbook-item span,.workbook-item small{display:block}.workbook-item span{flex:1;min-width:0}.workbook-item strong{font-size:13px}.workbook-item small{color:#64748b;margin-top:3px;font-size:11px}.workbook-actions{align-items:center;gap:5px;display:flex}.workbook-actions button,.workbook-actions a{color:#172033;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:5px;justify-content:center;align-items:center;min-height:30px;padding:0 9px;font-size:11px;font-weight:800;text-decoration:none;display:inline-flex}.workbook-actions button:hover,.workbook-actions a:hover{background:#eef4fb}.workbook-actions .danger-action{color:#b91c1c}.workbook-actions .danger-action:hover{background:#fff1f2;border-color:#fecaca}.editor-column{grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.editor-header{background:#fff;border-bottom:1px solid #d7dee8;justify-content:space-between;gap:16px;height:58px;padding:10px 14px;box-shadow:0 1px #0f172a0a}.editor-actions{flex-shrink:0;gap:8px}.title-block{gap:10px}.editor-frame{width:100%;height:100%;min-height:0}.status-panel{z-index:20;color:#334155;text-align:center;background:#fff;border:1px solid #cbd5e1;border-radius:8px;justify-items:center;gap:8px;width:min(440px,100vw - 352px);padding:18px;display:grid;position:fixed;top:96px;left:calc(50vw + 160px);transform:translate(-50%);box-shadow:0 18px 50px #0f172a24}.status-panel strong{color:#0f172a}.status-panel span{color:#64748b}.status-panel.error{color:#991b1b;background:#fff7f7;border-color:#fecaca}.status-panel.error strong{color:#991b1b}.admin-dashboard{flex-direction:column;gap:14px;min-height:0;padding:18px;display:flex;overflow:hidden}.dashboard-toolbar,.dashboard-toolbar>div,.status-inline,.warning-strip,.dashboard-table button,.metric-card{align-items:center;display:flex}.dashboard-toolbar{justify-content:space-between;gap:14px}.dashboard-controls,.period-control{align-items:center;gap:8px;display:flex}.period-control{background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:3px}.dashboard-toolbar>div{flex-direction:column;align-items:flex-start;gap:3px}.dashboard-toolbar strong{color:#111827;font-size:18px}.dashboard-toolbar span{color:#64748b;font-size:12px}.dashboard-toolbar button,.dashboard-table button{color:#172033;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:5px;gap:7px;min-height:34px;padding:0 11px;font-size:12px;font-weight:800}.period-control button{color:#475569;background:0 0;border:0;border-radius:4px;min-height:28px;padding:0 10px}.period-control button.active{color:#fff;background:#26364d}.dashboard-toolbar button:hover,.dashboard-table button:hover{background:#eef4fb}.period-control button.active:hover{background:#26364d}.report-filter-panel{grid-template-columns:minmax(220px,.8fr) minmax(320px,1.2fr);gap:12px;display:grid}.filter-block{background:#fff;border:1px solid #d7dee8;border-radius:8px;gap:10px;padding:12px;display:grid;box-shadow:0 8px 24px #0f172a0d}.month-picker-header,.month-picker-header div,.month-choice{align-items:center;display:flex}.month-picker-header{justify-content:space-between;gap:12px}.month-picker-header strong{color:#111827;font-size:13px}.month-picker-header div{gap:6px}.month-picker-header button{color:#172033;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:5px;min-height:28px;padding:0 9px;font-size:11px;font-weight:800}.month-choice-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;max-height:128px;display:grid;overflow:auto}.branch-choice-grid{gap:8px;display:grid}.month-choice{color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;gap:8px;padding:9px;font-size:12px;font-weight:700}.month-choice input{accent-color:#107c41;width:16px;min-height:16px}.month-choice span,.month-choice strong{display:block}.month-choice strong{color:#111827;font-size:12px}.dashboard-grid{grid-template-columns:repeat(6,minmax(130px,1fr));gap:10px;display:grid}.metric-card{background:#fff;border:1px solid #d7dee8;border-radius:8px;flex-direction:column;align-items:flex-start;gap:9px;min-height:104px;padding:14px;box-shadow:0 8px 24px #0f172a0d}.metric-card svg{color:#475569}.metric-card span{color:#64748b;font-size:12px;font-weight:800}.metric-card strong{color:#111827;font-size:19px;line-height:1.15}.metric-card.positive{background:#f0fdf4;border-color:#bbf7d0}.metric-card.negative{background:#fff1f2;border-color:#fecaca}.warning-strip,.status-inline{border-radius:7px;gap:9px;padding:12px 14px;font-size:13px;font-weight:800}.warning-strip{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.warning-detail-panel{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;max-height:170px;display:grid;overflow:auto}.warning-detail-panel article{color:#78350f;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:11px}.warning-detail-panel article>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.warning-detail-panel strong{color:#78350f;font-size:13px}.warning-detail-panel button{color:#78350f;cursor:pointer;background:#fff;border:1px solid #facc15;border-radius:5px;align-items:center;gap:6px;min-height:28px;padding:0 8px;font-size:11px;font-weight:900;display:inline-flex}.warning-detail-panel ul{margin:9px 0 0;padding-left:18px}.warning-detail-panel li{margin-top:4px;font-size:12px}.status-inline{color:#475569;background:#fff;border:1px solid #d7dee8;justify-content:center;min-height:120px}.status-inline.error{color:#991b1b;background:#fff7f7;border-color:#fecaca}.dashboard-table-wrap{background:#fff;border:1px solid #d7dee8;border-radius:8px;flex:1;min-height:0;overflow:auto;box-shadow:0 8px 24px #0f172a0d}.dashboard-table{border-collapse:separate;border-spacing:0;width:100%;min-width:960px;font-size:12px}.dashboard-table th,.dashboard-table td{text-align:right;white-space:nowrap;border-bottom:1px solid #e2e8f0;padding:11px 12px}.dashboard-table th:first-child,.dashboard-table td:first-child{text-align:left}.dashboard-table th{z-index:1;color:#475569;text-transform:uppercase;background:#f8fafc;font-size:11px;position:sticky;top:0}.dashboard-table tbody tr:hover{background:#f8fafc}.dashboard-table td strong,.dashboard-table td span{display:block}.dashboard-table td strong{color:#111827;font-size:13px}.dashboard-table td span{color:#64748b;margin-top:3px;font-size:11px}.money-positive{color:#107c41;font-weight:900}.money-negative{color:#dc2626;font-weight:900}.ok-pill,.warning-pill{border-radius:999px;justify-content:center;align-items:center;min-height:24px;padding:0 9px;font-size:11px;font-weight:900;display:inline-flex}.ok-pill{color:#0f5132;background:#dcfce7}.warning-pill{color:#92400e;background:#fef3c7}@media (width<=900px){.accounting-app{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.accounting-app.panel-collapsed{grid-template-rows:0 minmax(0,1fr);grid-template-columns:1fr}.month-panel{border-bottom:1px solid #d7dee8;border-right:0;max-height:42vh}.panel-collapsed .month-panel{border-bottom:0;max-height:0}.panel-toggle{top:12px;right:12px}.status-panel{width:min(440px,100vw - 32px);left:50%}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-toolbar,.dashboard-controls{flex-direction:column;align-items:stretch}.report-filter-panel{grid-template-columns:1fr}.metric-card strong{font-size:16px}}
