:root{--background:#f5f7fa;--surface:#ffffff;--surface-muted:#eef2f8;--text:#081c4f;--muted:#556781;--border:#d9e2f1;--accent:#101f7a;--accent-strong:#08145b;--brand-red:#ef3340;--brand-green:#12a383;--success:#107a4d;--warning:#92600f;--danger:#b42318;--shadow:0 18px 48px rgba(20,32,51,0.08)}*{box-sizing:border-box}html{min-width:320px}body{margin:0;background:var(--background);color:var(--text);font-family:Arial,Helvetica,sans-serif}.site-footer{border-top:1px solid var(--border);background:#ffffff;padding:18px 24px;color:var(--muted);text-align:center;font-size:12px;line-height:1.45}.site-footer p{margin:0}.site-footer p+p{margin-top:3px;color:var(--text);font-weight:700}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}.sr-only{padding:0;margin:-1px;clip:rect(0,0,0,0);white-space:nowrap;border:0}.bot-check,.sr-only{position:absolute;width:1px;height:1px;overflow:hidden}.bot-check{left:-10000px}.app-shell{display:grid;min-height:100vh;grid-template-columns:280px minmax(0,1fr)}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;border-right:1px solid var(--border);background:#08142f;color:#ffffff;padding:24px 18px}.brand,.nav-item,.panel-header,.receipt-row,.search-box,.topbar,.topbar-actions{display:flex;align-items:center}.brand{align-items:flex-start;flex-direction:column;gap:10px;padding:4px 6px 28px}.brand-logo{width:102px;height:auto;border-radius:4px;background:#ffffff;padding:4px}.brand p,.brand span,.metric-card p,.panel h2,.panel p,.section-label,.topbar h1{margin:0}.brand p{font-size:15px;font-weight:800}.brand span{display:block;margin-top:3px;color:#aebbd0;font-size:12px;line-height:1.35}.nav-list{display:grid;grid-gap:6px;gap:6px}.nav-item{min-height:42px;gap:10px;border-radius:8px;color:#d9e3ef;padding:10px 12px;font-size:14px}.nav-item.active,.nav-item:hover{background:rgba(255,255,255,.1);color:#ffffff}.workspace{min-width:0;padding:28px}.topbar{justify-content:space-between;gap:24px;margin-bottom:24px}.section-label{color:var(--accent);font-size:13px;font-weight:800;text-transform:uppercase}.section-label:before{display:inline-block;width:28px;height:3px;margin-right:8px;border-radius:999px;background:var(--brand-red);content:"";vertical-align:middle}.topbar h1{margin-top:6px;max-width:720px;font-size:clamp(28px,4vw,44px);line-height:1.08}.hero-copy{max-width:620px;margin:12px 0 0;color:var(--muted);font-size:15px;line-height:1.5}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px}.search-box{min-height:44px;width:min(320px,100%);gap:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:0 12px}.search-box input{min-width:0;width:100%;border:0;outline:0;color:var(--text)}.search-box button{display:inline-flex;width:32px;height:32px;flex:0 0 auto;align-items:center;justify-content:center;border:0;border-radius:6px;background:var(--accent);color:#ffffff}.search-box button:hover{background:var(--accent-strong)}.ghost-button,.primary-button,.secondary-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;border-radius:8px;padding:0 14px;font-size:14px;font-weight:700}.primary-button{border:1px solid var(--accent);background:var(--accent);color:#ffffff}.primary-button:hover{border-color:var(--accent-strong);background:var(--accent-strong)}.ghost-button,.secondary-button{border:1px solid var(--border);background:var(--surface);color:var(--text)}.logout-link{margin-top:12px;color:#ffbdc3}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px;margin-bottom:18px}.metric-card,.panel{border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.metric-card{min-height:132px;padding:18px}.metric-card span{color:var(--muted);font-size:13px;font-weight:700}.metric-card strong{display:block;margin-top:12px;font-size:26px}.metric-card p{margin-top:8px;color:var(--muted);font-size:13px;line-height:1.45}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-gap:18px;gap:18px}.panel{min-width:0;overflow:hidden}.panel-header{justify-content:space-between;gap:16px;border-bottom:1px solid var(--border);padding:18px}.panel-header.compact{align-items:flex-start}.panel h2{font-size:18px}.panel p{margin-top:5px;color:var(--muted);font-size:13px}.table-wrap{overflow-x:auto}table{width:100%;min-width:720px;border-collapse:collapse}td,th{border-bottom:1px solid var(--border);padding:14px 10px;text-align:left;white-space:nowrap}th{background:var(--surface-muted);color:var(--muted);font-size:12px;text-transform:uppercase}td{font-size:13px}.status{display:inline-flex;min-height:28px;align-items:center;border-radius:999px;padding:0 10px;font-size:12px;font-weight:800}.status-paid{background:#e7f6ee;color:var(--success)}.status-partial{background:#fff5df;color:var(--warning)}.status-overdue{background:#ffebe8;color:var(--danger)}.receipt-list{display:grid;grid-gap:2px;gap:2px;padding:10px 18px 18px}.receipt-row{justify-content:space-between;gap:14px;border-bottom:1px solid var(--border);padding:14px 0}.receipt-row:last-child{border-bottom:0}.receipt-row div{display:grid;grid-gap:4px;gap:4px}.receipt-row div:last-child{text-align:right}.receipt-row strong{font-size:14px}.receipt-row span{color:var(--muted);font-size:13px}.empty-state{margin:0;color:var(--muted);font-size:14px}.table-empty{color:var(--muted);padding:28px;text-align:center}.notice{border-radius:8px;font-size:14px;font-weight:800;margin-bottom:18px;padding:12px 14px}.notice-success{border:1px solid #b7e2d6;background:#e7f6ee;color:var(--success)}.notice-error{border:1px solid #f3b8ae;background:#ffebe8;color:var(--danger)}.form-panel{max-width:900px}.record-form{display:grid;grid-gap:18px;gap:18px;padding:18px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:14px;gap:14px}.field{display:grid;grid-gap:8px;gap:8px;min-width:0}.field span{color:var(--text);font-size:13px;font-weight:800}.field input,.field select,.field textarea{min-height:44px;width:100%;min-width:0;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);outline-color:var(--accent);padding:10px 12px}.field select{overflow:hidden;padding-right:36px;text-overflow:ellipsis;white-space:nowrap}.field input[type=date],.field input[type=number],.field select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.field textarea{resize:vertical}.form-actions{display:flex;flex-wrap:wrap;gap:10px}.login-page{display:grid;min-height:100vh;place-items:center;background:linear-gradient(135deg,rgba(8,20,47,.94),rgba(16,31,122,.82)),var(--background);padding:24px}.login-panel{width:min(100%,480px);border:1px solid rgba(255,255,255,.16);border-radius:8px;background:var(--surface);box-shadow:0 24px 80px rgba(8,20,47,.24);padding:32px}.login-logo{width:128px;height:auto;margin-bottom:24px}.login-panel h1{margin:8px 0 0;color:var(--text);font-size:32px;line-height:1.12}.login-form{display:grid;grid-gap:16px;gap:16px;margin-top:28px}.login-form label{display:grid;grid-gap:8px;gap:8px;color:var(--text);font-size:13px;font-weight:800}.login-form input{min-height:44px;width:100%;border:1px solid var(--border);border-radius:8px;color:var(--text);padding:0 12px}.form-error{margin:0;color:var(--danger);font-size:14px;font-weight:700}@media (max-width:1100px){.app-shell{display:block}.sidebar{position:fixed;z-index:40;top:auto;right:0;bottom:0;left:0;height:auto;border-top:1px solid rgba(255,255,255,.14);border-right:0;padding:8px 12px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -18px 36px rgba(8,20,47,.18)}.brand{display:none}.nav-list{grid-auto-columns:minmax(78px,1fr);grid-auto-flow:column;grid-template-columns:none;gap:6px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.nav-list::-webkit-scrollbar{display:none}.nav-item{justify-content:center;flex-direction:column;min-width:78px;min-height:58px;gap:4px;padding:7px 6px;text-align:center;font-size:11px;line-height:1.15}.logout-link{margin-top:0}.workspace{padding-bottom:100px}.site-footer{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.content-grid,.metrics-grid{grid-template-columns:1fr 1fr}.topbar{align-items:flex-start;flex-direction:column}.topbar-actions{justify-content:flex-start;width:100%}}@media (max-width:720px){.workspace{padding:18px 18px 100px}.content-grid,.metrics-grid{grid-template-columns:1fr}.primary-button,.search-box,.secondary-button,.topbar-actions{width:100%}.receipt-row{align-items:flex-start;flex-direction:column}.receipt-row div:last-child{text-align:left}}