:root{color-scheme:light;--bg: #f4f6fa;--surface: #ffffff;--surface-hover: #f8fafc;--border: #e3e8f0;--text: #0f172a;--text-muted: #5a6478;--primary: #2563eb;--primary-hover: #1d4ed8;--primary-soft: #e8effd;--primary-ring: rgba(37, 99, 235, .25);--primary-text: #1d4ed8;--on-primary: #ffffff;--on-primary-faint: rgba(255, 255, 255, .4);--icon-bg: #e8effd;--icon-color: #1d4ed8;--sidebar-bg: #0f1e3d;--sidebar-active: #1e3a70;--sidebar-text: #c7d2e5;--sidebar-text-strong: #ffffff;--sidebar-text-soft: #dbe4f3;--sidebar-sub: #9fb0cf;--sidebar-pitch: #b7c4dd;--sidebar-muted: #7d8fb0;--sidebar-hover: rgba(255, 255, 255, .06);--sidebar-surface: rgba(255, 255, 255, .05);--sidebar-surface-hover: rgba(255, 255, 255, .09);--switch-off: #3a4a6b;--switch-knob: #ffffff;--avatar-bg: linear-gradient(135deg, #3b82f6, #6366f1);--avatar-text: #ffffff;--logo-bg: #ffffff;--success: #15803d;--success-soft: #e7f6ec;--danger: #b91c1c;--danger-soft: #fdecec;--warning: #c2410c;--warning-soft: #fff1e6;--neutral-soft: #eef1f6;--violet: #6d28d9;--violet-soft: #f1ebfe;--danger-strong: #dc2626;--notification: #dc2626;--notification-text: #ffffff;--count-bg: #f59e0b;--count-text: #1f1300;--chart-bar: #2563eb;--chart-bar-muted: #bfd3fb;--overlay: rgba(15, 23, 42, .5);--shadow-card: 0 1px 3px rgba(15, 23, 42, .06);--shadow-menu: 0 12px 32px rgba(15, 23, 42, .14);--shadow-tooltip: 0 8px 24px rgba(15, 23, 42, .2);--shadow-dialog: 0 24px 64px rgba(15, 23, 42, .25);--shadow-drawer: 0 0 40px rgba(0, 0, 0, .3);--radius: 12px;--bottom-nav-height: 64px;--fs-title: 28px;--fs-kpi: 28px;--fs-figure: 22px;--fs-heading: 17px;--fs-lead: 16px;--fs-body: 14px;--fs-small: 13px;--fs-caption: 12px;--fs-micro: 11px;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--lh-body: 1.4;--ls-title: -.02em}@media(max-width:767px){:root{--fs-title: 18px;--fs-kpi: 24px}}:root[data-theme=dark]{color-scheme:dark;--bg: #0b1220;--surface: #111a2c;--surface-hover: #17223a;--border: #223049;--text: #e6ebf5;--text-muted: #9aa6bc;--primary-soft: rgba(37, 99, 235, .18);--primary-text: #9dbdff;--icon-bg: #1c2e55;--icon-color: #9dbdff;--sidebar-bg: #08101f;--success: #4ade80;--success-soft: rgba(74, 222, 128, .14);--danger: #f87171;--danger-soft: rgba(248, 113, 113, .14);--warning: #fb923c;--warning-soft: rgba(251, 146, 60, .15);--neutral-soft: #1a2540;--violet: #c4b5fd;--violet-soft: rgba(139, 92, 246, .18);--chart-bar-muted: #2c3f66;--overlay: rgba(0, 0, 0, .6);--shadow-card: 0 1px 3px rgba(0, 0, 0, .3);--shadow-menu: 0 12px 32px rgba(0, 0, 0, .45);--shadow-tooltip: 0 8px 24px rgba(0, 0, 0, .5);--shadow-dialog: 0 24px 64px rgba(0, 0, 0, .55)}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-latin-ext.woff2) format("woff2");unicode-range:U+0100-02ba,U+02bd-02c5,U+02c7-02cc,U+02ce-02d7,U+02dd-02ff,U+0304,U+0308,U+0329,U+1d00-1dbf,U+1e00-1e9f,U+1ef2-1eff,U+2020,U+20a0-20ab,U+20ad-20c4,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2");unicode-range:U+0000-00ff,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+0304,U+0308,U+0329,U+2000-206f,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%}body{font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}a{color:var(--primary-text)}@media(max-width:767px){input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important}}.field{display:grid;gap:6px}.field>span,.field>label{font-size:var(--fs-small);font-weight:var(--fw-medium)}.input{width:100%;height:44px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:var(--fs-body);outline:none;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.input.invalid{border-color:var(--danger)}.field-error{color:var(--danger);font-size:var(--fs-caption)}.alert{border-radius:8px;padding:10px 12px;font-size:var(--fs-body);line-height:var(--lh-body)}.alert-error{background:var(--danger-soft);color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 25%,transparent)}.alert-success{background:var(--success-soft);color:var(--success);border:1px solid color-mix(in srgb,var(--success) 25%,transparent)}.alert-warning{background:var(--warning-soft);color:var(--warning);border:1px solid color-mix(in srgb,var(--warning) 25%,transparent)}.btn{height:44px;padding:0 18px;border:1px solid transparent;border-radius:8px;font-size:var(--fs-body);font-weight:var(--fw-semibold);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;transition:background .15s,border-color .15s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:disabled:has(.spinner){opacity:.7;cursor:progress}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-outline{background:var(--surface);border-color:var(--border);color:var(--text)}.btn-outline:hover:not(:disabled){background:var(--surface-hover)}.btn-danger{background:var(--danger-strong);color:var(--on-primary)}.btn-danger:hover:not(:disabled){filter:brightness(.92)}.btn-sm{height:34px;padding:0 12px;font-size:var(--fs-small)}.btn-block{width:100%}.spinner{width:16px;height:16px;border:2px solid var(--on-primary-faint);border-top-color:var(--on-primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.card-header h2{margin:0;font-size:var(--fs-heading);font-weight:var(--fw-semibold);letter-spacing:-.01em}.card-header a{font-size:var(--fs-small);font-weight:var(--fw-medium);text-decoration:none}.card-header a:hover{text-decoration:underline}.badge{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:999px;font-size:var(--fs-caption);font-weight:var(--fw-semibold);white-space:nowrap}.badge-success{background:var(--success-soft);color:var(--success)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-primary{background:var(--primary-soft);color:var(--primary-text)}.badge-violet{background:var(--violet-soft);color:var(--violet)}.badge-neutral{background:var(--neutral-soft);color:var(--text-muted)}.muted{color:var(--text-muted)}.skeleton{border-radius:6px;background:linear-gradient(90deg,var(--border) 25%,var(--surface-hover) 50%,var(--border) 75%);background-size:200% 100%;animation:shimmer 1.2s infinite}@keyframes shimmer{to{background-position:-200% 0}}.empty{padding:24px 0;text-align:center;font-size:var(--fs-body);color:var(--text-muted)}.tabs{display:flex;gap:4px;padding:0 16px;border-bottom:1px solid var(--border)}.tab{min-height:48px;padding:0 12px;margin-bottom:-1px;border:0;border-bottom:2px solid transparent;background:none;color:var(--text-muted);font:inherit;font-size:var(--fs-body);font-weight:var(--fw-semibold);white-space:nowrap;cursor:pointer}.tab span{margin-left:4px;font-weight:var(--fw-regular)}.tab:hover{color:var(--text)}.tab.selected{border-bottom-color:var(--primary);color:var(--text)}.tab:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}@media(max-width:767px){.tabs.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px}.tiles .tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:64px;margin:0;padding:8px 4px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font-size:var(--fs-small);font-weight:var(--fw-medium)}.tiles .tab span{order:-1;margin:0;color:var(--text);font-size:var(--fs-figure);font-weight:var(--fw-bold);line-height:1.1;font-variant-numeric:tabular-nums}.tiles .tab.selected{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary);background:var(--primary-soft)}.tiles .tab:focus-visible{outline-offset:2px}}@media print{app-sidebar,app-bottom-nav{display:none!important}html,body{background:#fff!important}:root[data-theme=dark]{color-scheme:light;--bg: #fff;--surface: #fff;--border: #e3e8f0;--text: #0f172a;--text-muted: #5a6478;--success: #15803d;--success-soft: #e7f6ec;--danger: #b91c1c;--danger-soft: #fdecec;--warning: #c2410c;--warning-soft: #fff1e6;--neutral-soft: #eef1f6}.card{box-shadow:none;break-inside:avoid}}@page{margin:8mm}.chip{display:inline-flex;align-items:center;flex-shrink:0;height:36px;padding:0 16px;border:1px solid var(--border);border-radius:999px;background-color:var(--surface);color:var(--text);font-size:var(--fs-small);font-weight:var(--fw-medium);white-space:nowrap;cursor:pointer}select.chip{appearance:none;padding-right:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a94a6' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:14px}.chip:hover{background-color:var(--surface-hover)}.chip.active,.chip[aria-pressed=true]{border-color:var(--primary);background-color:var(--primary-soft);color:var(--primary-text)}.chip:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(max-width:767px){.chip{height:44px}}.money{position:relative}.money-zone{cursor:pointer}.money-hidden{color:transparent!important;-webkit-user-select:none;user-select:none}.money-hidden:after{content:"\2022\2022\2022\2022\2022\2022";position:absolute;inset:0;color:var(--text-muted);text-align:inherit;letter-spacing:1px}
