:root{color-scheme:light;--bg:#f7f7f8;--fg:#111;--muted:#666;--border:#e5e5e7;--accent:#0b63d6;--accent-fg:#fff;--danger:#c0392b;--surface:#fff;--surface-2:#f2f2f4;--surface-3:#e9e9ec;--overlay:rgba(0,0,0,0.42);--shadow:rgba(0,0,0,0.15);--shadow-strong:rgba(0,0,0,0.25);--ok-bg:#e8f5e9;--ok-fg:#1b5e20;--warn-bg:#fef3c7;--warn-fg:#92400e;--danger-bg:#fdecea;--danger-fg:#b91c1c;--info-bg:#eef6ff;--info-fg:#0b3a82;--accent-soft:#eef6ff;--chip-fg:#fff;--chip-ok:#2a7a33;--chip-fail:#c0392b;--chip-run:#0b63d6;--chip-idle:#5f6672;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}:root[data-theme=dark]{color-scheme:dark;--bg:#16171a;--fg:#e8e8ea;--muted:#9a9aa2;--border:#32343a;--accent:#5aa0ff;--accent-fg:#0b1220;--danger:#ff6b5e;--surface:#1e2024;--surface-2:#262a2f;--surface-3:#30343a;--overlay:rgba(0,0,0,0.6);--shadow:rgba(0,0,0,0.5);--shadow-strong:rgba(0,0,0,0.65);--ok-bg:#16311d;--ok-fg:#86e29b;--warn-bg:#3a2c10;--warn-fg:#f6c66b;--danger-bg:#3a1a18;--danger-fg:#ff9b92;--info-bg:#142741;--info-fg:#9cc6ff;--accent-soft:#1b2b44}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#16171a;--fg:#e8e8ea;--muted:#9a9aa2;--border:#32343a;--accent:#5aa0ff;--accent-fg:#0b1220;--danger:#ff6b5e;--surface:#1e2024;--surface-2:#262a2f;--surface-3:#30343a;--overlay:rgba(0,0,0,0.6);--shadow:rgba(0,0,0,0.5);--shadow-strong:rgba(0,0,0,0.65);--ok-bg:#16311d;--ok-fg:#86e29b;--warn-bg:#3a2c10;--warn-fg:#f6c66b;--danger-bg:#3a1a18;--danger-fg:#ff9b92;--info-bg:#142741;--info-fg:#9cc6ff;--accent-soft:#1b2b44}}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--fg)}a{color:var(--accent);text-decoration:none}@media (hover:hover){a:hover{text-decoration:underline}}button{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--fg);padding:.5rem .75rem;border-radius:6px}button.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=color]){font:inherit;padding:.5rem .6rem;border:1px solid var(--border);border-radius:6px;width:100%}input[type=checkbox],input[type=radio]{width:16px;height:16px;margin:0;cursor:pointer;flex-shrink:0;accent-color:var(--accent)}label{display:block;font-size:.875rem;color:var(--muted);margin-bottom:.35rem}label:has(>input[type=checkbox]),label:has(>input[type=radio]){display:inline-flex;align-items:center;gap:8px;margin-bottom:0;color:inherit;font-size:inherit;cursor:pointer}.container{max-width:1100px;margin:0 auto;padding:1.5rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1.25rem}.table-scroll{padding:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.table-scroll>table{width:100%}.table-scroll td.sticky-action,.table-scroll th.sticky-action{position:-webkit-sticky;position:sticky;right:0;z-index:1;box-shadow:-6px 0 8px -6px var(--shadow)}.table-scroll th.sticky-action{background:var(--bg);z-index:2}.table-scroll td.sticky-action{background:var(--surface)}.row-actions-icons{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;align-items:center}.table-scroll td.sticky-action .row-actions-icons{display:grid;grid-template-columns:repeat(3,max-content);grid-gap:6px;gap:6px;justify-content:end}@media (hover:hover){.project-tile:hover{border-color:var(--accent);box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 18%,transparent);transform:translateY(-1px)}}@keyframes hi-toast-slide-in{0%{transform:translateY(-130%);opacity:0}60%{opacity:1}to{transform:translateY(0);opacity:1}}.app-hamburger,.app-nav-backdrop{display:none}@media (max-width:768px){.app-hamburger{display:inline-flex;align-items:center;justify-content:center;position:fixed;top:.5rem;left:.5rem;z-index:1100;width:40px;height:40px;padding:0;color:var(--fg);background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 1px 4px var(--shadow);cursor:pointer}

  /* !important overrides the Nav component's inline desktop styles
     (position: sticky, height, etc.). */.app-nav{position:fixed!important;top:0!important;left:0!important;height:100vh!important;height:100dvh!important;z-index:1090;transform:translateX(-100%);transition:transform .22s ease;box-shadow:2px 0 16px var(--shadow-strong)}.app-nav.open{transform:translateX(0)}.app-nav-backdrop.open{display:block;position:fixed;inset:0;z-index:1080;background:var(--overlay)}.container{max-width:100%;padding:3.5rem 1rem 1.5rem}input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important}.row-actions-icons a,.row-actions-icons button,button{min-height:40px}a,button,tr{-webkit-tap-highlight-color:transparent}.app-hamburger{top:calc(.5rem + env(safe-area-inset-top));left:calc(.5rem + env(safe-area-inset-left))}.app-nav{padding-left:env(safe-area-inset-left)}.row-actions-collapsed .sticky-action{display:none!important}.row-actions-collapsed tr.has-row-actions{cursor:pointer}.row-actions-collapsed tr.has-row-actions:active{background:var(--bg)}}.row-actions-backdrop{position:fixed;inset:0;z-index:1200;background:var(--overlay);display:flex;align-items:flex-end;justify-content:center}.row-actions-sheet{background:var(--surface);width:100%;max-width:640px;max-height:80vh;overflow-y:auto;border-radius:14px 14px 0 0;padding:.5rem 1rem calc(1.25rem + env(safe-area-inset-bottom));box-shadow:0 -4px 24px var(--shadow-strong)}.row-actions-sheet-head{display:flex;align-items:center;justify-content:space-between;padding:.25rem 0 .5rem;border-bottom:1px solid var(--border);margin-bottom:.75rem}.row-actions-sheet-body{display:flex;flex-direction:column;gap:.6rem}.row-actions-sheet-body>div{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.row-actions-sheet-body a,.row-actions-sheet-body button{min-height:40px}