:root,:root[data-theme=light]{--ground: #f1f3f1;--surface: #ffffff;--surface-2: #e9ebe8;--ink: #11161a;--ink-2: #4e5857;--ink-3: #6d7674;--rule: #d8dcd8;--rule-strong: #b4bcb7;--accent: #0b6a58;--accent-ink: #ffffff;--accent-soft: #e2f0ec;--ok: #0b6a58;--ok-soft: #e2f0ec;--due: #7a4f00;--due-soft: #f7ecd8;--bad: #9c1f16;--bad-soft: #fae7e5;--bad-ink: #ffffff;--focus: #0b6a58;--shadow: 0 1px 2px rgba(17, 22, 26, .06), 0 2px 8px rgba(17, 22, 26, .04);--lift-1: 0 1px 2px rgba(17, 22, 26, .05);--lift-2: 0 1px 2px rgba(17, 22, 26, .05), 0 4px 14px rgba(17, 22, 26, .07);--lift-3: 0 2px 4px rgba(17, 22, 26, .06), 0 12px 32px rgba(17, 22, 26, .1);--sheen: inset 0 1px 0 rgba(255, 255, 255, .7);--radius: 14px;--radius-sm: 10px}:root[data-theme=dark]{--ground: #0e1113;--surface: #171b1e;--surface-2: #212629;--ink: #e9ecea;--ink-2: #a2acaa;--ink-3: #7e8886;--rule: #272e31;--rule-strong: #3c4549;--accent: #4ec9a6;--accent-ink: #0b1a16;--accent-soft: #16302a;--ok: #4ec9a6;--ok-soft: #16302a;--due: #e0ad33;--due-soft: #33280f;--bad: #f4837a;--bad-soft: #3a1e1c;--bad-ink: #2b0f0c;--focus: #4ec9a6;--shadow: 0 1px 2px rgba(0, 0, 0, .5), 0 2px 8px rgba(0, 0, 0, .3);--lift-1: 0 1px 2px rgba(0, 0, 0, .45);--lift-2: 0 1px 2px rgba(0, 0, 0, .45), 0 4px 14px rgba(0, 0, 0, .35);--lift-3: 0 2px 4px rgba(0, 0, 0, .5), 0 12px 32px rgba(0, 0, 0, .45);--sheen: inset 0 1px 0 rgba(255, 255, 255, .045);--radius: 14px;--radius-sm: 10px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--ground);color:var(--ink);font-family:Archivo,system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}h1,h2,h3,h4{margin:0;font-weight:600;text-wrap:balance}h1{font-size:clamp(1.6rem,1.35rem + 1vw,2rem);line-height:1.15;letter-spacing:-.022em}h2{font-size:1.2rem;line-height:1.25;letter-spacing:-.014em}h3{font-size:1rem;line-height:1.35;letter-spacing:-.008em}p{margin:0 0 .9em}a{color:var(--accent)}.mono,code{font-family:IBM Plex Mono,ui-monospace,Cascadia Mono,monospace}.num{font-variant-numeric:tabular-nums}.eyebrow{font-family:IBM Plex Mono,monospace;font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3)}.muted{color:var(--ink-2)}.dek{max-width:66ch;margin:0 0 22px;line-height:1.6;color:var(--ink-2)}.pad-sm{padding:18px 20px}.pad{padding:22px 24px}.pad-lg{padding:26px 28px}.hint{display:block;margin-top:6px;font-size:.82rem;line-height:1.5;color:var(--ink-2)}.empty{padding:24px}.empty p{margin:0;color:var(--ink-2);line-height:1.6}button,input,select,textarea{font:inherit;color:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:var(--radius-sm);border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink);font-weight:550;letter-spacing:-.005em;cursor:pointer;text-decoration:none;box-shadow:var(--lift-1);transition:background .13s ease,border-color .13s ease,box-shadow .13s ease,transform .08s ease}.btn:hover:not(:disabled){background:var(--surface-2);box-shadow:var(--lift-2)}.btn:active:not(:disabled){transform:translateY(1px);box-shadow:var(--lift-1)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover:not(:disabled){background:var(--accent);filter:brightness(1.08)}.btn-lg{min-height:56px;font-size:1.05rem;padding:0 26px;border-radius:10px}.btn-block{width:100%}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field label{font-family:IBM Plex Mono,monospace;font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3)}.input{min-height:44px;padding:0 14px;border-radius:var(--radius-sm);border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink);width:100%;transition:border-color .13s ease,box-shadow .13s ease}.input:hover:not(:focus):not(:disabled){border-color:var(--ink-3)}.input:focus{outline:2px solid var(--focus);outline-offset:1px;border-color:var(--focus)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}.chip{display:inline-flex;align-items:center;gap:7px;font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.05em;text-transform:uppercase;padding:4px 10px;border-radius:4px;border:1px solid;white-space:nowrap}.chip:before{content:"";width:7px;height:7px;background:currentColor;flex:none}.chip-ok{color:var(--ok);border-color:var(--ok);background:var(--ok-soft)}.chip-due{color:var(--due);border-color:var(--due);background:var(--due-soft)}.chip-due:before{transform:rotate(45deg)}.chip-bad{color:var(--bad);border-color:var(--bad);background:var(--bad-soft)}.chip-bad:before{border-radius:50%}.card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--lift-1),var(--sheen)}.tablewrap{overflow-x:auto;border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);background-image:linear-gradient(to right,var(--surface) 30%,transparent),linear-gradient(to left,var(--surface) 30%,transparent),linear-gradient(to right,rgba(0,0,0,.13),transparent 14px),linear-gradient(to left,rgba(0,0,0,.13),transparent 14px);background-position:left center,right center,left center,right center;background-repeat:no-repeat;background-size:30px 100%,30px 100%,14px 100%,14px 100%;background-attachment:local,local,scroll,scroll}table{border-collapse:collapse;width:100%;min-width:560px}th,td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--rule);vertical-align:middle}th{font-family:IBM Plex Mono,monospace;font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3);font-weight:600;background:var(--surface-2);white-space:nowrap;position:sticky;top:0}tbody tr:last-child td{border-bottom:none}.empty{padding:44px 24px;text-align:center;color:var(--ink-2)}.banner{padding:12px 16px;border-radius:8px;border:1px solid var(--bad);background:var(--bad-soft);color:var(--bad);margin-bottom:16px;font-size:.94rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@keyframes exv-rise{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}@keyframes exv-fade{0%{opacity:0}to{opacity:1}}@keyframes exv-breathe{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.86)}}@keyframes exv-sweep{0%{transform:translate(-100%)}to{transform:translate(320%)}}@keyframes exv-shimmer{0%{background-position:-420px 0}to{background-position:420px 0}}@keyframes exv-spin{to{transform:rotate(360deg)}}.app-page>*{animation:exv-rise .34s cubic-bezier(.22,.8,.3,1) both}.app-page>*:nth-child(1){animation-delay:0ms}.app-page>*:nth-child(2){animation-delay:45ms}.app-page>*:nth-child(3){animation-delay:90ms}.app-page>*:nth-child(4){animation-delay:.13s}.app-page>*:nth-child(5){animation-delay:165ms}.app-page>*:nth-child(6){animation-delay:195ms}.app-page>*:nth-child(7){animation-delay:.22s}.app-page>*:nth-child(n+8){animation-delay:.24s}.stagger-rows tbody tr:nth-child(-n+12){animation:exv-fade .26s ease both}.stagger-rows tbody tr:nth-child(1){animation-delay:0ms}.stagger-rows tbody tr:nth-child(2){animation-delay:22ms}.stagger-rows tbody tr:nth-child(3){animation-delay:44ms}.stagger-rows tbody tr:nth-child(4){animation-delay:66ms}.stagger-rows tbody tr:nth-child(5){animation-delay:88ms}.stagger-rows tbody tr:nth-child(6){animation-delay:.11s}.stagger-rows tbody tr:nth-child(7){animation-delay:132ms}.stagger-rows tbody tr:nth-child(8){animation-delay:154ms}.stagger-rows tbody tr:nth-child(n+9){animation-delay:176ms}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--due);flex:none;animation:exv-breathe 1.8s ease-in-out infinite}.live-dot.ok{background:var(--ok)}.sweepbar{position:relative;height:3px;border-radius:3px;background:var(--surface-2);overflow:hidden}.sweepbar:after{content:"";position:absolute;inset:0 auto 0 0;width:30%;border-radius:3px;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:exv-sweep 1.5s cubic-bezier(.5,0,.5,1) infinite}.progressbar{height:6px;border-radius:999px;background:var(--surface-2);overflow:hidden}.progressbar>span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--ok));transition:width .9s cubic-bezier(.22,.8,.3,1)}.skeleton{border-radius:6px;background:var(--surface-2);background-image:linear-gradient(90deg,transparent 0%,rgba(127,127,127,.14) 50%,transparent 100%);background-size:420px 100%;background-repeat:no-repeat;animation:exv-shimmer 1.25s linear infinite;color:transparent;-webkit-user-select:none;user-select:none}.spinner{display:inline-block;width:13px;height:13px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:exv-spin .62s linear infinite;vertical-align:-2px;margin-right:7px;opacity:.85}@media(hover:hover)and (pointer:fine){.hoverlift{transition:transform .18s cubic-bezier(.22,.8,.3,1),box-shadow .18s ease,border-color .18s ease}.hoverlift:hover{transform:translateY(-2px);box-shadow:var(--lift-2);border-color:var(--rule-strong)}.hoverlift:active{transform:translateY(0);transition-duration:60ms}}.navprogress.svelte-12qhfyh{position:fixed;top:0;left:0;right:0;height:2px;z-index:200;background:linear-gradient(90deg,transparent,var(--accent),transparent);background-size:42% 100%;background-repeat:no-repeat;animation:svelte-12qhfyh-navsweep 1.1s ease-in-out infinite}@keyframes svelte-12qhfyh-navsweep{0%{background-position:-45% 0}to{background-position:145% 0}}@media(prefers-reduced-motion:reduce){.navprogress.svelte-12qhfyh{animation:none;background:var(--accent);background-size:100% 100%}}
