body{min-height:100vh;background:#e9efee}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(300px,1fr) minmax(380px,520px)}.login-brand{position:relative;overflow:hidden;background:#0b1114;display:flex;align-items:flex-end;padding:48px}.login-brand::before{content:"";position:absolute;inset:0;background:url('../img/hero.jpg') 60% 28%/cover no-repeat}.login-brand::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,14,17,.96),rgba(8,14,17,.15))}.brand-content{position:relative;z-index:1;color:#fff;max-width:560px}.brand-content small{font-family:'IBM Plex Mono',monospace;letter-spacing:.15em;text-transform:uppercase;color:var(--accent-soft)}.brand-content h1{font-family:'Fraunces',serif;font-size:42px;line-height:1.05;margin:12px 0}.brand-content p{color:rgba(255,255,255,.78);line-height:1.6;margin:0}.login-side{display:flex;align-items:center;justify-content:center;padding:34px}.login-card{width:100%;max-width:410px;background:#fff;border:1px solid var(--border);border-radius:18px;padding:30px;box-shadow:var(--shadow)}.login-card h2{font-family:'Fraunces',serif;font-size:28px;margin:0 0 5px}.login-card>p{color:var(--ink-soft);font-size:13.5px;line-height:1.5;margin:0 0 22px}.test-note{margin-top:17px;padding:11px 13px;border-radius:10px;background:var(--warning-bg);color:var(--warning);font-size:11.5px;line-height:1.45}
.admin-app{display:none;min-height:100vh}.admin-app.show{display:block}.topbar{height:68px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 26px;position:sticky;top:0;z-index:30}.topbar-title{display:flex;align-items:center;gap:12px}.logo-dot{width:35px;height:35px;border-radius:10px;background:var(--primary);display:grid;place-items:center;color:#fff;font-family:'Fraunces',serif;font-size:20px}.topbar h1{font-size:15px;margin:0}.topbar p{font-size:11.5px;color:var(--ink-faint);margin:2px 0 0}.top-actions{display:flex;align-items:center;gap:10px}.user-chip{font-size:12px;color:var(--ink-soft);padding:8px 11px;background:var(--border-soft);border-radius:999px}.admin-wrap{max-width:1180px;margin:0 auto;padding:28px 24px 70px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}.page-head h2{font-family:'Fraunces',serif;font-size:29px;margin:0 0 5px}.page-head p{color:var(--ink-soft);font-size:13.5px;margin:0}.head-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.summary-admin{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px}.metric{background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px;box-shadow:0 1px 2px rgba(28,43,51,.04)}.metric small{display:block;color:var(--ink-soft);font-size:12px;margin-bottom:7px}.metric strong{font-family:'IBM Plex Mono',monospace;font-size:21px}.metric.in strong{color:var(--positive)}.metric.out strong{color:var(--negative)}.metric.balance{background:var(--primary);border-color:var(--primary);color:#fff}.metric.balance small{color:rgba(255,255,255,.7)}
.admin-card{background:#fff;border:1px solid var(--border);border-radius:15px;overflow:hidden}.admin-tabs{display:flex;gap:5px;padding:0 18px;border-bottom:1px solid var(--border)}.admin-tab{border:0;background:none;padding:15px 4px;margin-right:20px;font-weight:700;color:var(--ink-faint);border-bottom:2px solid transparent}.admin-tab.active{color:var(--primary);border-bottom-color:var(--accent)}.admin-panel{display:none;padding:18px}.admin-panel.active{display:block}.panel-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.panel-toolbar p{font-size:12.5px;color:var(--ink-soft);margin:0}.table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;min-width:790px}.admin-table th{text-align:left;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);padding:10px;border-bottom:1px solid var(--border)}.admin-table td{padding:13px 10px;border-bottom:1px solid var(--border-soft);font-size:13px;vertical-align:middle}.admin-table tr:last-child td{border-bottom:0}.admin-table .amount{font-family:'IBM Plex Mono',monospace;font-weight:700;white-space:nowrap}.admin-table .amount.income{color:var(--positive)}.admin-table .amount.expense{color:var(--negative)}.table-actions{display:flex;gap:6px;justify-content:flex-end}.empty-table{text-align:center;padding:40px 20px;color:var(--ink-faint);font-size:13px}.status-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.danger-zone{margin-top:20px;padding-top:18px;border-top:1px dashed var(--border);display:flex;align-items:center;justify-content:space-between;gap:15px}.danger-zone p{font-size:12px;color:var(--ink-soft);margin:0}.file-preview{display:none;margin-top:10px;padding:10px;border:1px dashed var(--border);border-radius:10px;font-size:12px;color:var(--ink-soft)}.file-preview.show{display:block}.check-line{display:flex;align-items:flex-start;gap:9px;font-size:12.5px;color:var(--ink-soft);line-height:1.4}.check-line input{margin-top:2px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.settings-box{border:1px solid var(--border);border-radius:12px;padding:16px}.settings-box h3{font-family:'Fraunces',serif;margin:0 0 4px}.settings-box p{font-size:12px;color:var(--ink-soft);margin:0 0 14px;line-height:1.45}
@media(max-width:850px){.login-shell{grid-template-columns:1fr}.login-brand{min-height:280px;padding:30px}.login-side{padding:24px}.summary-admin{grid-template-columns:1fr}.page-head{flex-direction:column}.head-actions{justify-content:flex-start}.settings-grid{grid-template-columns:1fr}}
@media(max-width:560px){.topbar{padding:0 14px}.user-chip{display:none}.admin-wrap{padding:20px 13px 60px}.head-actions{width:100%}.head-actions .btn{flex:1}.panel-toolbar{align-items:flex-start;flex-direction:column}.admin-panel{padding:13px}.brand-content h1{font-size:34px}}

.page-kicker{display:block;font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--accent);margin-bottom:7px}.page-head h2{font-size:36px;line-height:1.08}.settings-actions{display:flex;gap:8px;flex-wrap:wrap}.danger-note,.privacy-alert{margin-top:14px;padding:10px 12px;border-radius:9px;background:var(--warning-bg);color:var(--warning);font-size:11.5px;line-height:1.45}.privacy-alert{margin-bottom:5px}.viewer-body{text-align:center}.viewer-body img{max-width:100%;max-height:68vh;border-radius:9px}.viewer-body iframe{width:100%;height:68vh;border:0;border-radius:9px;background:#eee}@media(max-width:560px){.page-head h2{font-size:31px}.top-actions .btn-secondary{display:none}}
