:root{--blue:#0369a1;--blue2:#0ea5e9;--green:#059669;--red:#dc2626;--yellow:#d97706;--ink:#0f172a;--muted:#64748b;--bg:#f4f8fb;--card:#fff;--line:#dbe7ef;--shadow:0 10px 30px rgba(2,50,80,.08)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink);padding-bottom:88px}.topbar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.brand{display:flex;gap:10px;align-items:center}.brand img{width:44px;height:44px;object-fit:contain;border-radius:12px}.brand div{display:flex;flex-direction:column}.brand span{font-size:12px;color:var(--muted)}main{max-width:1000px;margin:auto;padding:18px 14px}.page{display:none}.page.active{display:block}.hero{display:flex;justify-content:space-between;align-items:center;border-radius:28px;padding:25px;background:linear-gradient(135deg,#0369a1,#0891b2);color:#fff;box-shadow:var(--shadow)}.hero img{width:110px;height:110px;object-fit:contain;background:#fff;border-radius:24px;padding:8px}.hero h1,.page-title h1{margin:2px 0 4px}.hero p{margin:0;opacity:.9}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:800;color:var(--blue2);margin:0}.hero .eyebrow{color:#bff3ff}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:16px 0}.stat,.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:var(--shadow)}.stat span{color:var(--muted);font-size:13px}.stat strong{display:block;font-size:22px;margin-top:6px}.card{margin:14px 0}.card-head,.page-title,.button-row,.toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px}.page-title{margin:4px 0 16px}.page-title h1{font-size:28px}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.summary-item{padding:12px;border:1px solid var(--line);border-radius:15px}.summary-item strong{display:block;font-size:20px}.list{display:grid;gap:10px}.row-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;box-shadow:0 4px 18px rgba(2,50,80,.05)}.row-main{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.row-card h3{margin:0 0 5px;font-size:16px}.meta{font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px}.pill{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;background:#e0f2fe;color:#075985}.pill.green{background:#dcfce7;color:#166534}.pill.yellow{background:#fef3c7;color:#92400e}.pill.red{background:#fee2e2;color:#991b1b}.row-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}button,.upload{font:inherit;border:0;border-radius:12px;padding:10px 13px;cursor:pointer;font-weight:750}.primary{background:var(--blue);color:#fff}.secondary{background:#e0f2fe;color:#075985}.danger{background:var(--red);color:#fff}.ghost{background:#fff;border:1px solid var(--line);color:var(--ink)}.link{background:transparent;color:var(--blue);padding:4px}.icon-btn{background:transparent;font-size:25px;padding:0 8px}.toolbar{margin-bottom:14px}.toolbar input{flex:1}input,select,textarea{width:100%;padding:12px;border:1px solid #cbd5e1;border-radius:12px;background:#fff;font:inherit}label{display:grid;gap:6px;font-size:13px;font-weight:700}.form-grid{display:grid;gap:12px}.check-row{display:flex;gap:12px;flex-wrap:wrap}.check-row label{display:flex;align-items:center;gap:6px;font-weight:600}.check-row input{width:auto}.money-preview{background:#eff6ff;border:1px dashed #93c5fd;border-radius:14px;padding:12px;display:grid;gap:5px}.money-preview div{display:flex;justify-content:space-between}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:30;background:#fff;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);padding:7px max(7px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom))}.bottom-nav button{background:transparent;color:var(--muted);padding:6px 4px;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:18px}.bottom-nav span{font-size:10px}.bottom-nav button.active{color:var(--blue)}dialog{border:0;border-radius:22px;padding:0;width:min(560px,94vw);max-height:88vh;box-shadow:0 30px 100px rgba(0,0,0,.3)}dialog::backdrop{background:rgba(15,23,42,.55)}#modalForm{padding:18px;overflow:auto;max-height:88vh}.modal-head,.modal-actions{display:flex;justify-content:space-between;align-items:center;gap:10px}.modal-head h2{margin:0}.modal-actions{justify-content:flex-end;margin-top:18px}.filters{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.report-sheet{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;margin-top:14px}.report-sheet table{width:100%;border-collapse:collapse;font-size:12px}.report-sheet th,.report-sheet td{border-bottom:1px solid var(--line);padding:8px;text-align:left}.upload input{display:none}#toast{position:fixed;left:50%;bottom:96px;transform:translateX(-50%) translateY(20px);background:#0f172a;color:#fff;padding:11px 16px;border-radius:12px;opacity:0;pointer-events:none;transition:.2s;z-index:50}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media(min-width:700px){.stats{grid-template-columns:repeat(4,1fr)}.bottom-nav{left:50%;right:auto;transform:translateX(-50%);width:600px;border:1px solid var(--line);border-radius:20px 20px 0 0}.summary-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.hero img{width:82px;height:82px}.filters{grid-template-columns:1fr}.button-row{align-items:stretch;flex-direction:column}.toolbar{align-items:stretch;flex-direction:column}.summary-grid{grid-template-columns:1fr}.topbar .ghost{padding:8px 10px;font-size:12px}}
@media print{body{background:#fff;padding:0}.topbar,.bottom-nav,.page:not(#reports),#reports .page-title,#reports .filters,#reports .button-row{display:none!important}#reports{display:block!important}.report-sheet{border:0;box-shadow:none;margin:0;padding:0}}

/* Authentication and security */
body.locked > :not(.auth-screen) { filter: blur(3px); pointer-events: none; user-select: none; }
.auth-screen { position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center; padding: 22px; background: linear-gradient(160deg,#e0f2fe,#f0fdfa 55%,#ecfccb); }
.auth-screen.hidden { display: none; }
.auth-card { width: min(100%,420px); padding: 28px; border-radius: 28px; background: rgba(255,255,255,.96); box-shadow: 0 30px 80px rgba(2,82,109,.22); text-align: center; }
.auth-logo { width: 132px; height: 132px; object-fit: contain; margin-bottom: 8px; }
.auth-card h1 { margin: 4px 0 8px; }
.auth-form { display: grid; gap: 14px; text-align: left; margin-top: 22px; }
.auth-form input { font-size: 22px; letter-spacing: .18em; text-align: center; }
.wide { width: 100%; min-height: 48px; }
.security-note { margin: 18px 0 0; font-size: 12px; line-height: 1.5; color: #64748b; }
.top-actions { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
@media (max-width:700px){ .top-actions #settingsBtn { display:none; } .top-actions button{padding:8px 10px;font-size:12px} }

/* Dark, mobile-stable UI */
:root{--blue:#38bdf8;--blue2:#67e8f9;--green:#34d399;--red:#fb7185;--yellow:#fbbf24;--ink:#e5eef5;--muted:#91a4b4;--bg:#071018;--card:#0d1923;--line:#203241;--shadow:0 12px 32px rgba(0,0,0,.28)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;touch-action:manipulation;background:var(--bg)}body{overflow-x:hidden}input,select,textarea{font-size:16px;background:#0a151e;color:var(--ink);border-color:#2a4050;color-scheme:dark}input[readonly]{background:#111f2a;color:#a9bac7}.topbar{background:rgba(7,16,24,.94)}.row-card,.ghost,.bottom-nav,.report-sheet,.auth-card{background:var(--card)}.secondary{background:#123349;color:#7dd3fc}.pill{background:#123349;color:#7dd3fc}.pill.green{background:#123a31;color:#6ee7b7}.pill.yellow{background:#3b3012;color:#fcd34d}.pill.red{background:#3d1d28;color:#fda4af}.hero{background:linear-gradient(135deg,#082f49,#0e7490)}dialog{background:var(--card);color:var(--ink);color-scheme:dark}.auth-screen{background:radial-gradient(circle at 50% 22%,#123b50 0,#091923 35%,#050b10 78%)}.settings-intro{margin:4px 0 16px;color:var(--muted);font-size:13px}.form-divider{margin-top:4px;padding-top:12px;border-top:1px solid var(--line);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--blue)}.label-note{font-weight:500;color:var(--muted)}
.app-loader{position:fixed;inset:0;z-index:20000;display:grid;place-content:center;justify-items:center;gap:8px;background:#050b10;color:#e5eef5;transition:opacity .3s ease,visibility .3s ease}.app-loader.done{opacity:0;visibility:hidden;pointer-events:none}.app-loader small{color:#91a4b4}.loader-mark{position:relative;width:92px;height:92px;margin-bottom:8px}.loader-mark img{position:absolute;inset:16px;width:60px;height:60px;object-fit:contain;border-radius:16px}.loader-mark span{position:absolute;inset:0;border:3px solid #173445;border-top-color:#38bdf8;border-radius:50%;animation:loader-spin .85s linear infinite}@keyframes loader-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.loader-mark span{animation-duration:1.8s}}
.report-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:24px}.report-sheet{overflow-x:auto}.report-sheet table{min-width:700px;table-layout:fixed}.report-sheet th,.report-sheet td{padding:10px 8px;vertical-align:top;overflow-wrap:anywhere}.report-sheet th{background:#101f2a;color:#b9c8d3;font-size:11px;text-transform:uppercase;letter-spacing:.03em}.report-sheet .col-date{width:112px}.report-sheet .col-type{width:100px}.report-sheet .col-money{width:145px;text-align:right;white-space:nowrap}.report-sheet .col-status{width:90px;text-align:center}.report-sheet tbody tr:nth-child(even){background:#0a151e}
.report-sheet th:first-child,.report-sheet td:first-child{width:112px}.report-sheet th:nth-child(4),.report-sheet td:nth-child(4){width:150px}.report-sheet th:last-child,.report-sheet td:last-child{width:140px}.report-sheet td:nth-child(4),.report-sheet td:last-child{text-align:right}.report-sheet h3{position:sticky;left:0;width:max-content}
@media(max-width:700px){.topbar{padding:10px}.brand img{width:38px;height:38px}.brand strong{font-size:14px}.top-actions{gap:5px}.top-actions #settingsBtn{display:inline-flex}.top-actions button{padding:8px;font-size:11px}.top-actions .sync-action{display:none}.report-sheet{padding:12px}.auth-card{padding:22px}.auth-logo{width:105px;height:105px}}
@media print{.report-table-wrap{overflow:visible}.report-sheet table{min-width:0;font-size:9px;table-layout:fixed}.report-sheet th,.report-sheet td{padding:5px 4px}.report-sheet .col-date{width:75px}.report-sheet .col-type{width:65px}.report-sheet .col-money{width:95px}.report-sheet .col-status{width:55px}}
