:root{--bg:#f5f7f8;--card:#fff;--text:#1f2937;--muted:#6b7280;--line:#e5e7eb;--accent:#176b4b;--danger:#b42318;--warn:#b54708}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{color:var(--accent);text-decoration:none}.topbar{display:flex;justify-content:space-between;gap:18px;align-items:center;background:#0f5138;color:#fff;padding:14px 22px}.topbar strong{font-size:18px;display:block}.topbar small{opacity:.85}.topbar a{color:#fff}.userbox{font-size:13px;text-align:right}.nav{display:flex;gap:5px;overflow:auto;background:#fff;border-bottom:1px solid var(--line);padding:9px 16px;position:sticky;top:0;z-index:5}.nav a{white-space:nowrap;padding:8px 11px;border-radius:8px}.nav a:hover{background:#edf7f2}.container{max-width:1180px;margin:22px auto;padding:0 16px}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.col-3{grid-column:span 3}.col-4{grid-column:span 4}.col-6{grid-column:span 6}.col-8{grid-column:span 8}.col-12{grid-column:span 12}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:0 2px 8px rgba(0,0,0,.03)}.card h2,.card h3{margin-top:0}.metric{font-size:28px;font-weight:750;margin-top:8px}.muted{color:var(--muted);font-size:13px}.positive{color:#157347}.negative{color:var(--danger)}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.field{margin-bottom:14px}.field label{display:block;font-size:13px;font-weight:650;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;padding:10px 11px;border:1px solid #cfd4dc;border-radius:9px;background:#fff;font:inherit}.field textarea{min-height:90px;resize:vertical}.btn{display:inline-block;border:0;border-radius:9px;padding:10px 14px;background:var(--accent);color:#fff;cursor:pointer;font-weight:650}.btn.secondary{background:#4b5563}.btn.danger{background:var(--danger)}.btn.small{padding:6px 9px;font-size:12px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:14px}.table th,.table td{padding:10px 9px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.table th{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.text-right{text-align:right!important}.alert{padding:11px 13px;border-radius:9px;margin-bottom:14px}.alert.success{background:#eaf8f1;color:#176b4b}.alert.error{background:#fff0ee;color:#b42318}.alert.warning{background:#fff7e8;color:#92400e}.badge{display:inline-block;padding:3px 7px;border-radius:999px;background:#eef2f6;font-size:11px;font-weight:700}.badge.POSTED{background:#e7f6ed;color:#176b4b}.badge.VOID{background:#fdecec;color:#b42318}.login-page{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px}.login-card h1{margin:0 0 6px}.footer{text-align:center;color:var(--muted);font-size:12px;padding:28px}.toolbar{display:flex;gap:10px;justify-content:space-between;align-items:end;flex-wrap:wrap}.note{padding:12px;border-left:4px solid var(--accent);background:#edf7f2;border-radius:8px;margin:12px 0}.danger-note{border-left-color:var(--danger);background:#fff1f0}.nowrap{white-space:nowrap}
@media(max-width:800px){.col-3,.col-4,.col-6,.col-8{grid-column:span 12}.form-row{grid-template-columns:1fr}.topbar{align-items:flex-start}.userbox{font-size:11px}.metric{font-size:23px}.container{margin-top:14px}}
@media print{.topbar,.nav,.footer,.no-print,.btn{display:none!important}.container{max-width:none;margin:0;padding:0}.card{box-shadow:none;border:0;padding:0}.table{font-size:11px}}
.import-summary{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:10px;margin:16px 0}.import-summary>div{padding:13px;border:1px solid var(--line);border-radius:10px;background:#f8faf9}.import-summary span,.import-summary strong{display:block}.import-summary span{font-size:11px;color:var(--muted);margin-bottom:5px}.import-summary strong{font-size:14px}.table select{min-width:180px;padding:7px;border:1px solid #cfd4dc;border-radius:7px;background:#fff}
@media(max-width:800px){.import-summary{grid-template-columns:1fr 1fr}}

/* PWA Admin v1.2 */
.pwa-hero{background:linear-gradient(135deg,#0f5138,#176b4b);color:#fff;border-radius:20px;padding:22px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px;box-shadow:0 10px 30px rgba(15,81,56,.18)}
.pwa-hero h1{margin:3px 0 2px;font-size:26px}.pwa-hero p{margin:0;opacity:.86}.pwa-kicker{font-size:11px;font-weight:800;letter-spacing:.12em;opacity:.8}.online-pill{display:flex;align-items:center;gap:7px;background:rgba(255,255,255,.14);padding:7px 10px;border-radius:999px;font-size:12px;white-space:nowrap}.status-dot{width:8px;height:8px;border-radius:50%;background:#8df0b5;box-shadow:0 0 0 3px rgba(141,240,181,.16)}.online-pill .offline{color:#ffd6d2}.is-offline .status-dot{background:#ffb4ab}
.pwa-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.pwa-stat{background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px;min-width:0}.pwa-stat span{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}.pwa-stat strong{font-size:18px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pwa-stat.emphasis{background:#edf7f2;border-color:#cae8d9}
.pwa-section{background:#fff;border:1px solid var(--line);border-radius:16px;padding:17px;margin-bottom:16px}.pwa-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px}.pwa-section-head h2{margin:0;font-size:18px}.pwa-section-head p{margin:3px 0 0;color:var(--muted);font-size:12px}
.quick-action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.quick-action{border:1px solid var(--line);border-radius:14px;padding:14px;color:var(--text);min-height:122px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;transition:.15s ease}.quick-action:hover{border-color:#b6d9c8;background:#f4fbf7;transform:translateY(-1px)}.quick-action strong{margin:8px 0 3px}.quick-action small{color:var(--muted);line-height:1.35}.qa-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e7f6ed;color:#0f5138;font-size:21px;font-weight:800}
.pwa-activity-list{display:flex;flex-direction:column}.pwa-activity{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:11px;align-items:center;color:var(--text);padding:11px 0;border-bottom:1px solid var(--line)}.pwa-activity:last-child{border-bottom:0}.activity-mark{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#eef2f6;font-weight:800}.activity-mark.income{background:#e7f6ed;color:#176b4b}.activity-mark.expense{background:#fdecec;color:#b42318}.activity-mark.transfer{background:#edf1ff;color:#3448a1}.activity-main{min-width:0}.activity-main strong,.activity-main small{display:block}.activity-main strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px}.activity-main small{color:var(--muted);font-size:11px;margin-top:2px}.activity-amount{font-weight:750;font-size:13px;white-space:nowrap}.pwa-empty{padding:22px;text-align:center;color:var(--muted)}
.pwa-security-note{font-size:12px;color:#4b5563;background:#f0f4f6;border-radius:12px;padding:12px 14px;margin-bottom:18px}.pwa-bottom-nav{display:none}.login-pwa-note{margin:16px 0 0;line-height:1.45}.offline-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:#eef4f1}.offline-card{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;text-align:center}.offline-card h1{margin:8px 0}.offline-card p{line-height:1.5}.offline-icon{width:62px;height:62px;border-radius:18px;background:#e7f6ed;color:#0f5138;display:grid;place-items:center;margin:auto;font-size:34px;font-weight:800}
@media(max-width:900px){.pwa-summary-grid{grid-template-columns:repeat(2,1fr)}.quick-action-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){body{padding-bottom:72px}.pwa-hero{border-radius:16px;padding:18px}.pwa-hero h1{font-size:22px}.pwa-summary-grid{gap:9px}.pwa-stat{padding:13px}.pwa-stat strong{font-size:15px}.quick-action-grid{grid-template-columns:repeat(2,1fr)}.quick-action{min-height:112px}.pwa-activity{grid-template-columns:36px minmax(0,1fr) auto}.activity-amount{font-size:12px}.pwa-bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:6px max(6px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));box-shadow:0 -4px 18px rgba(0,0,0,.06)}.pwa-bottom-nav a{color:#667085;display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 2px;border-radius:9px}.pwa-bottom-nav a.active{color:#0f5138}.pwa-bottom-nav span{font-size:20px;line-height:1}.pwa-bottom-nav small{font-size:10px}.footer{padding-bottom:20px}}
@media(max-width:420px){.quick-action-grid{grid-template-columns:1fr 1fr}.pwa-section{padding:14px}.pwa-activity{grid-template-columns:34px minmax(0,1fr)}.activity-amount{grid-column:2;text-align:left}.online-pill{padding:6px 8px}}
@media(display-mode:standalone){.topbar{padding-top:calc(14px + env(safe-area-inset-top))}.nav{top:env(safe-area-inset-top)}}
