:root{--c-primary: oklch(.5 .22 264);--c-primary-hover: oklch(.44 .22 264);--c-primary-soft: oklch(.94 .05 264);--c-primary-ring: oklch(.5 .22 264 / .35);--c-primary-fg: #ffffff;--c-bg: oklch(.975 .004 255);--c-surface: oklch(1 0 0);--c-surface-2: oklch(.985 .004 255);--c-elevated: oklch(1 0 0);--c-border: oklch(.915 .006 255);--c-border-strong: oklch(.86 .008 255);--c-text: oklch(.27 .02 258);--c-text-2: oklch(.46 .018 258);--c-text-3: oklch(.62 .014 258);--c-paid: oklch(.55 .12 155);--c-paid-soft: oklch(.95 .04 155);--c-pending: oklch(.64 .13 70);--c-pending-soft: oklch(.96 .05 80);--c-overdue: oklch(.56 .18 25);--c-overdue-soft: oklch(.95 .04 25);--c-upcoming: oklch(.55 .09 255);--c-upcoming-soft: oklch(.95 .03 255);--c-accent: oklch(.52 .23 286);--c-accent-soft: oklch(.94 .05 286);--c-accent-fg: #ffffff;--c-primary-glow: oklch(.5 .22 264 / .28);--shadow-sm: 0 2px 8px oklch(.5 .22 264 / .1);--shadow-md: 0 4px 16px oklch(.5 .22 264 / .16), 0 1px 3px oklch(.4 .03 258 / .05);--shadow-lg: 0 8px 32px oklch(.5 .22 264 / .2), 0 2px 8px oklch(.4 .03 258 / .07);--shadow-xl: 0 24px 64px oklch(.5 .22 264 / .18), 0 8px 24px oklch(.4 .03 258 / .1);--r-sm: 8px;--r-md: 12px;--r-lg: 18px;--r-xl: 24px;--sidebar-w: 256px;--topbar-h: 64px;--font-sans: "IBM Plex Sans", system-ui, -apple-system, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--col-adm: #4f7cff;--col-fin: #22c55e;--col-ven: #f59e0b;--col-loc: #a855f7;--col-ges: #06b6d4;--col-jur: #ef4444;--col-man: #64748b;--col-ina: #e11d48}[data-theme=dark]{--c-primary: oklch(.68 .22 264);--c-primary-hover: oklch(.74 .22 264);--c-primary-soft: oklch(.3 .08 264);--c-primary-ring: oklch(.68 .22 264 / .4);--c-primary-fg: oklch(.16 .02 264);--c-bg: oklch(.165 .012 258);--c-surface: oklch(.235 .015 258);--c-surface-2: oklch(.265 .016 258);--c-elevated: oklch(.28 .017 258);--c-border: oklch(.345 .017 258);--c-border-strong: oklch(.41 .019 258);--c-text: oklch(.95 .008 258);--c-text-2: oklch(.74 .014 258);--c-text-3: oklch(.58 .014 258);--c-paid: oklch(.72 .13 155);--c-paid-soft: oklch(.32 .06 155);--c-pending: oklch(.78 .13 75);--c-pending-soft: oklch(.34 .06 75);--c-overdue: oklch(.68 .17 25);--c-overdue-soft: oklch(.33 .07 25);--c-upcoming: oklch(.72 .1 255);--c-upcoming-soft: oklch(.32 .05 255);--c-accent: oklch(.72 .22 286);--c-accent-soft: oklch(.32 .08 286);--c-accent-fg: oklch(.16 .02 286);--c-primary-glow: oklch(.68 .22 264 / .35);--shadow-sm: 0 2px 8px oklch(0 0 0 / .35);--shadow-md: 0 4px 16px oklch(0 0 0 / .45), 0 1px 3px oklch(0 0 0 / .3);--shadow-lg: 0 10px 32px oklch(0 0 0 / .55), 0 2px 8px oklch(0 0 0 / .35);--shadow-xl: 0 24px 64px oklch(0 0 0 / .65)}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{font-family:var(--font-sans);background:var(--c-bg);color:var(--c-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-size:15px;line-height:1.45}#root{height:100%}.mono{font-family:var(--font-mono);font-feature-settings:"tnum" 1}.tnum{font-variant-numeric:tabular-nums}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--c-border-strong);border-radius:6px;border:2px solid var(--c-bg)}::-webkit-scrollbar-thumb:hover{background:var(--c-text-3)}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;box-sizing:border-box;border:1px solid var(--c-border-strong);background:var(--c-surface);color:var(--c-text);border-radius:var(--r-sm);outline:none;transition:border-color .15s,box-shadow .15s}select{-webkit-appearance:none;-moz-appearance:none;appearance:none}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-ring)}input::placeholder,textarea::placeholder{color:var(--c-text-3)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUpModal{0%{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes popRow{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes growBar{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes drawCount{0%{opacity:.3}to{opacity:1}}@keyframes drawerIn{0%{transform:translate(40px);opacity:.4}to{transform:translate(0);opacity:1}}@keyframes drawerInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes slaPulse{0%,to{box-shadow:var(--shadow-sm)}50%{box-shadow:0 0 0 3px var(--c-overdue-soft)}}@keyframes cardBob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes alertSlideIn{0%{transform:translate(calc(100% + 32px));opacity:0}to{transform:translate(0);opacity:1}}@keyframes alertPulse{0%,to{box-shadow:0 4px 24px #0000001f}50%{box-shadow:0 4px 24px #0000001f,0 0 0 5px #d40f0c24}}@keyframes overdueGlow{0%,to{box-shadow:0 4px 20px #c8393a40,0 0 #c8393a00}50%{box-shadow:0 4px 28px #c8393a73,0 0 0 5px #c8393a1f}}@keyframes chevronBounce{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}.app-logo{filter:brightness(0)}[data-theme=dark] .app-logo{filter:none}
