.board{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:100%}.board thead th{z-index:2;background:var(--surface);border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 8px;font-size:.85rem;position:sticky;top:0}.board thead th:first-child{border-top-left-radius:var(--radius-lg)}.board thead th:last-child{border-top-right-radius:var(--radius-lg)}.board td{vertical-align:middle;border-bottom:1px solid var(--border);padding:8px}.board tbody tr:last-child td{border-bottom:0}.board tbody tr:hover td{background:var(--surface-2)}.board .board__stage{text-align:center;padding-left:4px;padding-right:4px;position:relative}.board__name,.board__website{text-overflow:ellipsis;white-space:nowrap;max-width:clamp(120px,20vw,260px);display:block;overflow:hidden}.board__name{font-weight:var(--weight-heading)}.board__website{font-size:.85em}.board__muted,.board__date{color:var(--ink-muted)}.board__date{white-space:nowrap;font-size:.9em}@media (width<=899px){.board thead th{padding:8px 3px;font-size:.72rem}.board td,.board .board__stage{padding:8px 3px}.board td:first-child,.board thead th:first-child{padding-left:8px}.board__name,.board__website{max-width:clamp(100px,16vw,260px)}.board__date{font-size:.8em}}.cards{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;gap:10px;min-width:0;padding:12px;display:flex}.card__head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.card__head .board__name{flex:auto;min-width:0;max-width:none}.card__owner{color:var(--ink-muted);flex:none;font-size:.9rem}.card__cells{gap:6px;display:flex}.card .cell{aspect-ratio:1;width:calc(14.2857% - 5.14286px);max-width:34px;height:auto;font-size:16px}.card__meta{color:var(--ink-muted);flex-wrap:wrap;gap:4px 14px;font-size:.85rem;display:flex}.card__website{overflow-wrap:anywhere;min-width:0}.cell{color:#fff;width:26px;height:26px;font-size:14px;font-weight:var(--weight-body);cursor:pointer;background:var(--cell-colour);border:0;border-radius:7px;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.cell:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cell--not_started{--cell-colour:var(--status-not-started)}.cell--in_progress{--cell-colour:var(--status-in-progress)}.cell--waiting{--cell-colour:var(--status-waiting)}.cell--done{--cell-colour:var(--status-done)}.cell--failed{--cell-colour:var(--status-failed)}.cell--pulse-not_started{--pulse-colour:var(--status-not-started)}.cell--pulse-in_progress{--pulse-colour:var(--status-in-progress)}.cell--pulse-waiting{--pulse-colour:var(--status-waiting)}.cell--pulse-done{--pulse-colour:var(--status-done)}.cell--pulse-failed{--pulse-colour:var(--status-failed)}.cell--pulse-not_started,.cell--pulse-in_progress,.cell--pulse-waiting,.cell--pulse-done,.cell--pulse-failed{box-shadow:0 0 0 2px var(--pulse-colour);animation:1.6s ease-in-out infinite alternate cell-pulse}@keyframes cell-pulse{0%{box-shadow:0 0 0 2px var(--pulse-colour)}to{box-shadow:0 0 0 5px var(--pulse-colour)}}@media (prefers-reduced-motion:reduce){.cell--pulse-not_started,.cell--pulse-in_progress,.cell--pulse-waiting,.cell--pulse-done,.cell--pulse-failed{box-shadow:0 0 0 3px var(--pulse-colour);animation:none}}.popover{z-index:3;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);min-width:190px;color:var(--ink);text-align:left;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% - 2px);left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000073}.popover--sheet{z-index:15;min-width:0;padding:12px 12px calc(12px + env(safe-area-inset-bottom));border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-width:1px 0 0;position:fixed;inset:auto 0 0;transform:none}.popover__title{font-weight:var(--weight-heading);margin:0;padding:2px 8px 6px}.popover__option{color:inherit;font:inherit;font-weight:var(--weight-body);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;grid-template-columns:20px 1fr;align-items:center;column-gap:8px;padding:6px 8px;display:grid}.popover--sheet .popover__option{padding:10px}.popover__option:hover:not(:disabled),.popover__option:focus-visible{background:color-mix(in srgb, var(--ink) 10%, transparent)}.popover__option:disabled{cursor:not-allowed;opacity:.55}.popover__option--current .popover__label{font-weight:var(--weight-heading)}.popover__option--suggested{background:color-mix(in srgb, var(--ink) 8%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ink) 40%, transparent)}.popover__swatch{color:#fff;background:var(--cell-colour);border-radius:5px;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;display:inline-flex}.popover__reason{color:var(--ink-muted);grid-column:2;font-size:.75em}.board-toolbar{flex-wrap:wrap;align-items:center;gap:8px 12px;padding:0 0 12px;display:flex}.board-toolbar__add{margin-left:auto}.filter-bar{flex-wrap:wrap;gap:6px;display:flex}.sort-button{color:inherit;font:inherit;font-weight:var(--weight-heading);background:0 0;border:0;border-radius:0;padding:0}.board-toolbar .sort-button{color:var(--ink-muted);padding:5px 4px}.sort-button.is-sorted-asc:after{content:" ▲";font-size:.7em}.sort-button.is-sorted-desc:after{content:" ▼";font-size:.7em}:root{--bg:#1e2228;--surface:#262b33;--surface-2:#2f353e;--ink:#fff;--ink-muted:#aeb6c2;--accent:#22c3ee;--accent-soft:#8bdef4;--border:#3a414b;--status-not-started:#4b5563;--status-in-progress:#3b82f6;--status-waiting:#a855f7;--status-done:#22c55e;--status-failed:#ef4444;--font:"Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;--weight-body:400;--weight-heading:600;--radius:8px;--radius-lg:12px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);min-height:100vh;color:var(--ink);font-family:var(--font);font-weight:var(--weight-body);margin:0;font-size:15px;line-height:1.5}h1,h2,h3{font-weight:var(--weight-heading);margin:0 0 12px;line-height:1.25}h1{font-size:1.5rem}h2{font-size:1.1rem}p{margin:0 0 12px}a{color:var(--accent-soft)}a:hover{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-header{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px 20px;padding:12px 16px;display:flex}.app-header__name{font-weight:var(--weight-heading);font-size:1.05rem}.app-header nav{gap:4px;display:flex}.app-header nav a{border-radius:var(--radius);color:var(--ink-muted);padding:4px 10px;text-decoration:none}.app-header nav a:hover{color:var(--ink)}.app-header nav a.active{color:var(--ink);background:var(--surface-2)}.app-header__user{color:var(--ink-muted);margin-left:auto}@media (width<=699px){.app-header{gap:8px 12px}.app-header nav{order:1;width:100%;margin-left:-10px}}main{max-width:1240px;margin:0 auto;padding:16px}button{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--ink);font:inherit;font-weight:var(--weight-heading);cursor:pointer;padding:8px 14px;line-height:1.2}button:hover:not(:disabled){border-color:var(--ink-muted)}button:disabled{cursor:not-allowed;opacity:.5}button[type=submit],.button-primary{border-color:var(--accent);background:var(--accent);color:var(--bg)}button[type=submit]:hover:not(:disabled),.button-primary:hover:not(:disabled){border-color:var(--accent-soft);background:var(--accent-soft)}input,select,textarea{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);width:100%;min-height:38px;color:var(--ink);font:inherit;padding:7px 10px;font-size:16px}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23AEB6C2' stroke-width='1.6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}.page{max-width:720px}.back-link{margin-bottom:12px;display:inline-block}.form{flex-direction:column;gap:12px;display:flex}.form>button{align-self:flex-start}.field{color:var(--ink-muted);flex-direction:column;gap:4px;font-size:.9rem;display:flex}.form-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.form-row .field{flex:160px;min-width:0}.panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);margin-bottom:16px;padding:16px}.panel>:last-child{margin-bottom:0}.actions{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}[role=alert]{color:#fca5a5}p[role=status]{color:#86efac}.muted{color:var(--ink-muted)}.badge{background:var(--surface-2);border:1px solid var(--border);color:var(--ink-muted);font-size:.8rem;font-weight:var(--weight-body);vertical-align:middle;border-radius:999px;padding:2px 10px;display:inline-block}.login{max-width:380px;margin:12vh auto 0}table{border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums}th{text-align:left;font-weight:var(--weight-heading);color:var(--ink-muted)}.history-list{margin:0;padding:0;list-style:none}.history-list li{border-bottom:1px solid var(--border);padding:10px 0}.history-list li:first-child{padding-top:0}.history-list li:last-child{border-bottom:0;padding-bottom:0}.history-list time{color:var(--ink-muted);font-variant-numeric:tabular-nums;margin-right:8px;font-size:.9rem}.history-filters{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));align-items:end;gap:12px;margin-bottom:16px;display:grid}.chip{border:1px solid var(--border);color:var(--ink-muted);font-weight:var(--weight-body);background:0 0;border-radius:999px;padding:5px 14px}.chip[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--bg);font-weight:var(--weight-heading)}.toast{z-index:30;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);max-width:calc(100vw - 32px);color:var(--ink);padding:10px 16px;position:fixed;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #0006}.modal-backdrop{z-index:20;background:#0000008c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:min(420px,100%);color:var(--ink);flex-direction:column;gap:12px;padding:20px;display:flex;box-shadow:0 10px 40px #00000080}.modal h2,.modal__error{margin:0}.modal__actions{justify-content:flex-end;gap:8px;display:flex}
