:root{--bg-0: #0f172a;--bg-1: #1e293b;--bg-page: #0b1120;--bg-grad: linear-gradient(150deg, #0f172a 0%, #1e293b 50%, #0f172a 100%);--panel: rgba(15, 23, 42, .6);--panel-foot: rgba(15, 23, 42, .7);--surface: rgba(30, 41, 59, .98);--field: rgba(15, 23, 42, .5);--thead: #13203a;--brand: #2563eb;--brand-2: #1e40af;--brand-grad: linear-gradient(135deg, #2563eb, #1e40af);--btn-grad: linear-gradient(90deg, #1d4ed8, #1e40af);--divider-grad: linear-gradient(90deg, #3b82f6, #1e40af);--accent: #60a5fa;--today: rgba(59, 130, 246, .18);--today-fg: #93c5fd;--txt: #f1f5f9;--txt-2: #e2e8f0;--txt-3: #cbd5e1;--muted: #94a3b8;--faint: #64748b;--line: #475569;--line-soft: rgba(51, 65, 85, .5);--border: rgba(71, 85, 105, .4);--border-2: rgba(71, 85, 105, .6);--r-card: 16px;--r-field: 8px;--r-pill: 6px;--r-tile: 24px;--sh-brand: 0 16px 40px rgba(37, 99, 235, .4);--sh-btn: 0 10px 24px rgba(29, 78, 216, .4);--sh-card: 0 24px 60px rgba(0, 0, 0, .6);--h-status: 44px;--h-header: 52px;--h-foot: 64px;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "Roboto Mono", ui-monospace, "SFMono-Regular", Menlo, monospace}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;font-family:var(--font-sans);color:var(--txt-3);background:var(--bg-page)}.app{min-height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-page)}.device{position:relative;width:100%;max-width:420px;height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-grad)}@media (min-width: 460px){.app{padding:24px}.device{height:min(880px,calc(100dvh - 48px));border-radius:28px;box-shadow:var(--sh-card);border:1px solid rgba(71,85,105,.25)}}input,button{font-family:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#47556980;border-radius:3px}.statusbar{height:var(--h-status);flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 26px;font-size:14px;font-weight:600;color:var(--txt-2)}.statusbar .icons{display:flex;gap:6px;align-items:center;font-size:13px}.appheader{height:var(--h-header);flex:0 0 auto;display:flex;align-items:center;gap:11px;padding:0 14px;background:var(--panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.brand-tile{width:30px;height:30px;border-radius:9px;background:var(--brand-grad);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 12px #2563eb66;flex:0 0 auto}.wordmark{font-size:18px;font-weight:800;letter-spacing:.12em}.spgrad{background:linear-gradient(120deg,#60a5fa,#3b82f6 55%,#2563eb);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.header-spacer{flex:1 1 auto}.header-usr{display:flex;flex-direction:column;align-items:flex-end;line-height:1.35;font-size:11px;color:var(--muted)}.header-usr .fa-fw,.header-usr svg{color:var(--accent);margin-right:4px}.header-menu-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;color:var(--muted);cursor:pointer;font-size:18px}.content{flex:1 1 auto;overflow:hidden;position:relative}.view{height:100%;display:flex;flex-direction:column}.view-head{padding:14px 16px 0;flex:0 0 auto}.view-title{font-size:15px;font-weight:700;letter-spacing:.06em;color:var(--txt)}.view-scroll{flex:1 1 auto;overflow:auto;padding:0 16px 12px}.view-foot{flex:0 0 auto;padding:8px 16px;border-top:1px solid var(--border);font-size:12px;color:var(--faint)}.bottomnav{height:var(--h-foot);flex:0 0 auto;display:flex;border-top:1px solid var(--border);background:var(--panel-foot);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.nav-btn{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer;color:var(--faint);background:none;border:0;padding:0}.nav-btn .icon{font-size:19px}.nav-btn .label{font-size:10px;font-weight:600;letter-spacing:.03em}.nav-btn.active{color:var(--accent)}.link{font-size:13px;font-weight:600;letter-spacing:.05em;color:var(--accent);cursor:pointer;background:none;border:0;padding:0}.divider{height:3px;border-radius:2px;background:var(--divider-grad);margin-top:12px}.view-actions{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.btn-primary{width:240px;text-align:center;padding:13px 0;background:var(--btn-grad);color:#fff;font-size:15px;font-weight:600;border:0;border-radius:var(--r-field);cursor:pointer;box-shadow:var(--sh-btn)}.btn-primary:disabled{opacity:.6;cursor:default}.menu-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40}.menu-dropdown{position:absolute;top:4px;right:8px;background:var(--surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(71,85,105,.5);border-radius:10px;box-shadow:0 12px 32px #00000080;overflow:hidden;min-width:185px}.menu-item{padding:13px 18px;font-size:13px;font-weight:500;letter-spacing:.04em;color:var(--txt-3);border-bottom:1px solid rgba(71,85,105,.3);display:flex;align-items:center;gap:11px;cursor:pointer;background:none;width:100%;text-align:left}.menu-item:last-child{border-bottom:0}.menu-item svg{color:var(--accent);width:16px}.datechip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border-2);background:var(--field);border-radius:var(--r-field);padding:8px 12px;font-size:14px;color:var(--txt-2);cursor:pointer;font-family:var(--font-mono)}.datechip svg{color:var(--accent)}.daterange{display:flex;align-items:center;gap:9px}.daterange .dash{color:var(--faint)}.report-table{width:100%;border-collapse:collapse;font-size:13px}.report-table thead tr{position:sticky;top:0;background:var(--thead)}.report-table th{padding:9px 6px;border-bottom:2px solid var(--line);font-weight:700;color:var(--txt-3);text-align:left}.report-table td{padding:10px 6px;color:var(--txt-2);border-bottom:1px solid var(--line-soft)}.report-table .num{text-align:right;font-family:var(--font-mono);color:var(--txt-3)}.report-table th.num{color:var(--txt-3)}.report-table .accent{color:var(--accent);font-weight:600}.report-table .id{color:var(--faint);font-family:var(--font-mono);font-size:11px}.report-table tr.sum td{border-top:2px solid var(--line);border-bottom:0;padding:11px 6px;font-weight:700;color:var(--txt)}.report-table tr.sum td.accent{color:var(--accent)}.report-table tr.avd td{padding:9px 6px 6px;font-weight:700;color:var(--accent);background:#2563eb1a}.report-table tr.subsum td{border-bottom:2px solid var(--line-soft);font-weight:700;color:var(--muted)}.seg{display:flex;gap:4px;margin-top:12px;background:var(--panel);border:1px solid rgba(71,85,105,.5);border-radius:9px;padding:4px}.seg-btn{flex:1 1 0;text-align:center;padding:7px 2px;font-size:11px;font-weight:700;letter-spacing:.04em;cursor:pointer;border-radius:var(--r-pill);background:transparent;color:var(--muted);border:0}.seg-btn.active{background:var(--brand);color:#fff}.cal-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:60;background:#0206179e;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:24px}.cal-card{width:300px;background:var(--surface);border:1px solid rgba(71,85,105,.5);border-radius:14px;overflow:hidden;box-shadow:var(--sh-card)}.cal-head{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;background:var(--brand-grad);color:#fff}.cal-head .nav{cursor:pointer;padding:4px 8px}.cal-head .labels{display:flex;gap:10px;font-weight:600;text-transform:capitalize}.cal-head .labels span{cursor:pointer}.cal-days{padding:10px 12px 14px}.cal-dayhead{display:flex;font-size:11px;font-weight:700;color:var(--faint);padding-bottom:6px;border-bottom:2px solid #3b82f6;margin-bottom:6px}.cal-dayhead .w{width:26px;text-align:center}.cal-dayhead .d{flex:1 1 0;text-align:center}.cal-week{display:flex;align-items:center}.cal-week .wnum{width:26px;text-align:center;font-size:11px;color:var(--faint)}.cal-day{flex:1 1 0;aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:13px;margin:1px;border-radius:6px;cursor:pointer;color:var(--txt-2)}.cal-day.muted{color:var(--line)}.cal-day.today{background:var(--today);color:var(--today-fg);font-weight:700}.cal-day.selected{background:var(--brand);color:#fff;font-weight:700}.cal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:14px}.cal-cell{padding:14px 0;text-align:center;font-size:13px;font-weight:600;border-radius:8px;cursor:pointer;background:#33415580;color:var(--txt-3)}.cal-cell.selected{background:var(--brand);color:#fff}.cal-foot{display:flex;justify-content:space-between;padding:11px 24px;border-top:1px solid var(--border);font-size:12px;font-weight:600;letter-spacing:.05em;color:var(--accent)}.cal-foot span{cursor:pointer}.home{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center}.home .logo-tile{width:104px;height:104px;border-radius:28px;background:var(--brand-grad);display:flex;align-items:center;justify-content:center;margin-bottom:28px;box-shadow:var(--sh-brand);color:#fff;font-size:46px}.home .wordmark-lg{font-size:34px;font-weight:800;letter-spacing:.16em}.home .one{font-size:13px;color:var(--faint);letter-spacing:.3em;margin-top:2px}.home .welcome{font-size:22px;font-weight:700;color:var(--txt);margin-top:26px}.home .sub{font-size:14px;color:var(--muted);margin-top:12px;max-width:250px}.home .group{font-size:12px;color:var(--faint);margin-top:30px;font-family:var(--font-mono);letter-spacing:.05em}.chart-legend{display:flex;gap:18px;justify-content:center;margin-top:8px;font-size:11px;color:var(--muted)}.chart-legend .item{display:flex;align-items:center;gap:5px}.chart-legend .swatch{width:11px;height:11px;border-radius:2px}.chart-caption{text-align:center;font-size:13px;font-weight:600;color:var(--txt-3);margin-top:14px}.chart-scroll{flex:1 1 auto;overflow-x:auto;overflow-y:hidden;padding:14px 12px 4px}.chart-bars{display:flex;align-items:flex-end;gap:10px;height:100%;min-width:340px}.chart-col{flex:1 1 0;display:flex;flex-direction:column;align-items:center;height:100%}.chart-pair{flex:1 1 auto;display:flex;align-items:flex-end;gap:3px;width:100%;justify-content:center}.chart-bar{width:13px;border-radius:2px 2px 0 0}.chart-bar.netto{background:var(--accent)}.chart-bar.brutto{background:var(--brand-2)}.chart-label{font-size:8px;color:var(--faint);margin-top:6px;height:46px;writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;overflow:hidden}.login{position:absolute;inset:var(--h-status) 0 0 0;z-index:80;background:var(--bg-grad);display:flex;flex-direction:column}.login-header{height:var(--h-header);flex:0 0 auto;display:flex;align-items:center;gap:11px;padding:0 16px;border-bottom:1px solid var(--border)}.login-header .tag{font-size:13px;font-weight:600;color:var(--faint);letter-spacing:.08em}.login-body{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;padding:34px 34px 0;overflow:auto}.login-logo{width:88px;height:88px;border-radius:var(--r-tile);background:var(--brand-grad);display:flex;align-items:center;justify-content:center;box-shadow:var(--sh-brand);color:#fff;font-size:40px}.login-title{font-size:22px;font-weight:700;color:var(--txt);margin-top:26px}.login-welcome{font-size:14px;color:var(--muted);margin-top:6px}.login-field{width:100%;margin-top:16px}.login-field:first-of-type{margin-top:26px}.login-label{font-size:12px;font-weight:600;color:var(--muted);margin-bottom:6px}.login-input{width:100%;padding:12px 14px;font-size:15px;border:1px solid var(--border-2);border-radius:var(--r-field);outline:none;background:var(--field);color:var(--txt)}.login-input::placeholder{color:var(--faint)}.login-error{color:#fb7185;font-size:13px;margin-top:16px;min-height:18px;text-align:center}.login-btn-wrap{margin-top:18px}.login-foot{padding:20px;text-align:center;font-size:12px;color:var(--faint)}.brand-row{display:flex;flex-direction:column;align-items:center}.brand-row .wordmark-md{font-size:24px;font-weight:800;letter-spacing:.16em;margin-top:18px}.brand-row .one{font-size:12px;color:var(--faint);letter-spacing:.32em;margin-top:1px}.empty-note{padding:24px 6px;text-align:center;color:var(--faint);font-size:13px}.standalone .app{padding:0;background:var(--bg-0)}.standalone .device{width:100%;max-width:100%;height:100dvh;border:0;border-radius:0;box-shadow:none}.standalone .statusbar{display:none}.standalone .appheader,.standalone .login-header{padding-top:env(safe-area-inset-top);height:calc(var(--h-header) + env(safe-area-inset-top))}.standalone .bottomnav{padding-bottom:env(safe-area-inset-bottom);height:calc(var(--h-foot) + env(safe-area-inset-bottom))}.standalone .login{top:0;right:0;bottom:0;left:0}
