:root{--font-sans: "DM Sans", system-ui, "Segoe UI", Roboto, sans-serif;--color-bg: #f5f3f0;--color-bg-warm: #ebe7e2;--color-surface: #ffffff;--color-text: #1c1917;--color-text-muted: #57534e;--color-text-subtle: #78716c;--color-primary: #0f766e;--color-primary-hover: #0d9488;--color-primary-muted: #ccfbf1;--color-border: #e7e5e4;--color-border-strong: #d6d3d1;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-full: 999px;--shadow-sm: 0 1px 2px rgba(28, 25, 23, .05);--shadow-md: 0 4px 14px rgba(28, 25, 23, .07);--shadow-lg: 0 12px 40px rgba(28, 25, 23, .1);--header-h: 3.5rem;--app-bg-mid: #ebe8e4;--app-auth-start: #ecfdf5;--app-auth-mid: var(--color-bg);--app-auth-end: #f5f0eb;--header-bg: rgba(255, 255, 255, .82);--header-bg-auth: rgba(255, 255, 255, .75);--input-bg: #fafaf9;--input-border-hover: #a8a29e;--input-focus-bg: #ffffff;--focus-ring: rgba(15, 118, 110, .2);--nav-link-hover-bg: rgba(15, 118, 110, .08);--btn-ghost-hover-bg: rgba(28, 25, 23, .06);--error-fg: #b91c1c;--error-bg: #fef2f2;--error-border: #fecaca;--brand-mark-end: #0d9488;--btn-primary-shadow: rgba(15, 118, 110, .25);--btn-primary-shadow-hover: rgba(15, 118, 110, .35);--table-header-bg: #f5f5f4;--table-row-hover: rgba(15, 118, 110, .04);--metric-income-border: #a7f3d0;--metric-income-bg: linear-gradient(165deg, #ecfdf5 0%, #f0fdf4 100%);--metric-expense-border: #fecaca;--metric-expense-bg: linear-gradient(165deg, #fff7f7 0%, #fef2f2 100%);--metric-net-border: #99f6e4;--metric-net-bg: linear-gradient(165deg, #f0fdfa 0%, #ecfdf5 100%);--track-bg: #e7e5e4;--refund-amount-color: #2e7d32;--backdrop-scrim: rgba(0, 0, 0, .35)}:root[data-theme=dark]{--color-bg: #121110;--color-bg-warm: #1a1816;--color-surface: #1c1917;--color-text: #f5f5f4;--color-text-muted: #a8a29e;--color-text-subtle: #78716c;--color-primary: #2dd4bf;--color-primary-hover: #5eead4;--color-primary-muted: rgba(45, 212, 191, .14);--color-border: #292524;--color-border-strong: #44403c;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow-md: 0 4px 14px rgba(0, 0, 0, .45);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .5);--app-bg-mid: #1a1816;--app-auth-start: #0f172a;--app-auth-mid: #121110;--app-auth-end: #1c1917;--header-bg: rgba(28, 25, 23, .88);--header-bg-auth: rgba(28, 25, 23, .85);--input-bg: #292524;--input-border-hover: #57534e;--input-focus-bg: #1c1917;--focus-ring: rgba(45, 212, 191, .35);--nav-link-hover-bg: rgba(45, 212, 191, .12);--btn-ghost-hover-bg: rgba(255, 255, 255, .08);--error-fg: #fecaca;--error-bg: rgba(127, 29, 29, .35);--error-border: #991b1b;--brand-mark-end: #14b8a6;--btn-primary-shadow: rgba(0, 0, 0, .35);--btn-primary-shadow-hover: rgba(45, 212, 191, .25);--table-header-bg: #292524;--table-row-hover: rgba(45, 212, 191, .08);--metric-income-border: #134e4a;--metric-income-bg: linear-gradient(165deg, #0c1f1e 0%, #134e4a 55%, #1c1917 100%);--metric-expense-border: #7f1d1d;--metric-expense-bg: linear-gradient(165deg, #1c1212 0%, #292220 100%);--metric-net-border: #115e59;--metric-net-bg: linear-gradient(165deg, #0d2524 0%, #134e4a 100%);--track-bg: #44403c;--refund-amount-color: #4ade80;--backdrop-scrim: rgba(0, 0, 0, .65)}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);font-size:1rem;line-height:1.5;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}a{color:var(--color-primary);text-decoration:none;font-weight:500}a:hover{color:var(--color-primary-hover);text-decoration:underline;text-underline-offset:2px}.app{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(180deg,var(--color-bg) 0%,var(--app-bg-mid) 55%,var(--color-bg) 100%);background-attachment:fixed}.app--auth{background:linear-gradient(165deg,var(--app-auth-start) 0%,var(--app-auth-mid) 42%,var(--app-auth-end) 100%);background-attachment:fixed}.header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:var(--header-h);padding:0 1.25rem;background:var(--header-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.header--auth{background:var(--header-bg-auth)}.brand{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:1.15rem;letter-spacing:-.03em;color:var(--color-text);text-decoration:none}.brand:hover{color:var(--color-primary);text-decoration:none}.brand-mark{display:inline-block;width:1.75rem;height:1.75rem;border-radius:var(--radius-md);background:linear-gradient(145deg,var(--color-primary) 0%,var(--brand-mark-end) 100%);box-shadow:0 2px 8px var(--btn-primary-shadow-hover)}.nav{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;justify-content:flex-end}.nav-link{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .75rem;border-radius:var(--radius-full);font-size:.92rem;font-weight:500;color:var(--color-text-muted);text-decoration:none;transition:background .15s ease,color .15s ease}.nav-link:hover{background:var(--nav-link-hover-bg);color:var(--color-primary);text-decoration:none}.nav-link--active{background:var(--color-primary-muted);color:var(--color-primary);font-weight:600}.nav-link--active:hover{background:var(--color-primary-muted);color:var(--color-primary)}.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.2rem;height:1.2rem;padding:0 .35rem;font-size:.68rem;font-weight:700;color:#fff;background:linear-gradient(145deg,#dc2626,#b91c1c);border-radius:var(--radius-full);line-height:1}.btn-ghost{background:none;border:none;padding:.45rem .65rem;font:inherit;font-size:.92rem;font-weight:500;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-full);transition:background .15s ease,color .15s ease}.btn-ghost:hover{background:var(--btn-ghost-hover-bg);color:var(--color-text)}.theme-picker{position:relative;display:flex;align-items:center;gap:.35rem}.theme-picker-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}@media(max-width:520px){.theme-picker-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}.theme-select{padding:.38rem .55rem;font-family:inherit;font-size:.82rem;font-weight:500;color:var(--color-text);background:var(--input-bg);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);cursor:pointer;max-width:8.5rem}.theme-select:hover{border-color:var(--input-border-hover)}.theme-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--focus-ring)}.main{flex:1;width:100%;max-width:58rem;margin:0 auto;padding:1.75rem 1.25rem 2.5rem}.main--auth{display:flex;align-items:center;justify-content:center;padding-top:2rem;padding-bottom:3rem;min-height:calc(100vh - var(--header-h) - 2rem)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.35rem 1.4rem;box-shadow:var(--shadow-md)}.field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.field label{font-size:.875rem;font-weight:600;color:var(--color-text-muted)}.field input,.field select,.field textarea{padding:.55rem .7rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-size:1rem;font-family:inherit;color:var(--color-text);background:var(--input-bg);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--input-border-hover)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--focus-ring);background:var(--input-focus-bg)}.field textarea{min-height:4rem;resize:vertical}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1.15rem;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;font-family:inherit;cursor:pointer;background:linear-gradient(180deg,var(--color-primary-hover) 0%,var(--color-primary) 100%);color:#fff;box-shadow:0 1px 2px var(--btn-primary-shadow);transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.btn:hover:not(:disabled){filter:brightness(1.05);box-shadow:0 4px 12px var(--btn-primary-shadow-hover)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.btn--small{padding:.45rem .85rem;font-size:.9rem}.btn--outline{background:transparent;color:var(--color-primary);border:1.5px solid var(--color-primary);box-shadow:none}.btn--outline:hover:not(:disabled){background:var(--color-primary-muted);filter:none}.btn-secondary{background:var(--color-surface);color:var(--color-primary);border:1.5px solid var(--color-border-strong);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary-muted);filter:none}.error{color:var(--error-fg);font-size:.9rem;margin-bottom:.75rem;padding:.5rem .65rem;background:var(--error-bg);border-radius:var(--radius-sm);border:1px solid var(--error-border)}.muted{color:var(--color-text-muted)}.auth-panel{width:100%;max-width:24rem}.auth-card{padding:1.75rem 1.5rem}.auth-title{margin:0 0 .35rem;font-size:1.5rem;font-weight:700;letter-spacing:-.03em}.auth-lead{margin:0 0 1.1rem;color:var(--color-text-muted);font-size:.95rem;line-height:1.45}.auth-footer{margin-top:1.25rem;font-size:.95rem;color:var(--color-text-muted)}.page-head{margin-bottom:1.5rem}.h1{margin:0 0 .4rem;font-size:1.65rem;font-weight:700;letter-spacing:-.03em;color:var(--color-text);line-height:1.2}.h2{margin:0 0 .75rem;font-size:1.08rem;font-weight:600;color:var(--color-text);letter-spacing:-.02em}.h3{margin:0 0 .55rem;font-size:.98rem;font-weight:600;color:var(--color-text-muted)}.small{font-size:.92rem}.section{margin-bottom:1.15rem}
