:root{--color-bg: oklch(11% .022 210);--color-bg-alt: oklch(14% .025 208);--color-bg-card: oklch(17% .03 207);--color-lake-deep: oklch(44% .155 204);--color-lake: oklch(59% .16 200);--color-lake-lt: oklch(73% .13 195);--color-lake-mist: oklch(59% .16 200 / .14);--color-text: oklch(91% .015 200);--color-text-muted: oklch(65% .02 207);--color-text-subtle: oklch(48% .018 210);--color-border: oklch(59% .16 200 / .18);--color-border-hover: oklch(59% .16 200 / .42);--color-ok: oklch(75% .14 145);--color-ok-bg: oklch(35% .12 145 / .25);--color-ok-border: oklch(75% .14 145 / .35);--color-danger: oklch(72% .18 25);--color-danger-bg: oklch(35% .18 25 / .25);--color-danger-border:oklch(72% .18 25 / .35);--color-warning: oklch(80% .14 75);--color-warning-bg: oklch(40% .14 75 / .25);--color-warning-border:oklch(80% .14 75 / .32);--color-accent: oklch(59% .16 200);--color-accent-bg: oklch(59% .16 200 / .15);--color-accent-border:oklch(59% .16 200 / .35);--radius-sm: .375rem;--radius-md: .75rem;--font: "Inter", system-ui, -apple-system, sans-serif}html.theme-light{--color-bg: oklch(97% .006 210);--color-bg-alt: oklch(93% .008 210);--color-bg-card: oklch(100% 0 0);--color-text: oklch(15% .025 210);--color-text-muted: oklch(40% .02 207);--color-text-subtle: oklch(55% .018 210);--color-border: oklch(44% .155 204 / .2);--color-border-hover: oklch(44% .155 204 / .45);--color-ok: oklch(35% .14 145);--color-ok-bg: oklch(75% .12 145 / .2);--color-ok-border: oklch(35% .14 145 / .3);--color-danger: oklch(45% .18 25);--color-danger-bg: oklch(72% .18 25 / .18);--color-danger-border:oklch(45% .18 25 / .3);--color-warning: oklch(45% .14 75);--color-warning-bg: oklch(80% .14 75 / .2);--color-warning-border:oklch(45% .14 75 / .3);--color-accent: oklch(44% .155 204);--color-accent-bg: oklch(44% .155 204 / .12);--color-accent-border:oklch(44% .155 204 / .3)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font);font-size:.875rem;background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}a{color:var(--color-lake-lt)}.container{max-width:1200px;margin:0 auto;padding:1rem 1.125rem}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem}.row{display:flex;gap:.75rem}.col{flex:1;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.875rem}.title{font-weight:700;font-size:.95rem;letter-spacing:.02em}.muted{color:var(--color-text-muted)}button,input,select,textarea{font:inherit;color:var(--color-text)}input,select,textarea{width:100%;background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.5rem .75rem;font-size:.875rem;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--color-lake)}textarea{min-height:6.5rem;resize:vertical}option{background:var(--color-bg-alt);color:var(--color-text)}button{background:var(--color-accent-bg);border:1px solid var(--color-accent-border);border-radius:var(--radius-sm);padding:.5rem .75rem;font-size:.875rem;font-weight:500;cursor:pointer}button:hover{background:var(--color-lake-mist);border-color:var(--color-border-hover)}button.primary{background:var(--color-lake-deep);border-color:var(--color-lake);color:var(--color-text);font-weight:600}button.primary:hover{background:var(--color-lake)}button.danger{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger)}button.danger:hover{background:var(--color-danger-border)}button:disabled{opacity:.5;cursor:not-allowed}.theme-toggle{background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);padding:.25rem .625rem;font-size:.8125rem;font-weight:400;cursor:pointer;line-height:1.5}.theme-toggle:hover{border-color:var(--color-border-hover);color:var(--color-text)}.switch{background:transparent;border:0;padding:0;cursor:pointer}.switchTrack{width:42px;height:24px;border-radius:999px;display:inline-flex;align-items:center;padding:3px;background:var(--color-bg-alt);border:1px solid var(--color-border)}.switchTrack.on{background:var(--color-accent-bg);border-color:var(--color-accent-border)}.switchThumb{width:18px;height:18px;border-radius:999px;background:var(--color-text-muted);margin-left:0}.switchThumb.on{margin-left:18px;background:var(--color-lake-lt)}.switch:disabled{opacity:.5;cursor:not-allowed}.btnrow{display:flex;gap:.5rem;flex-wrap:wrap}.kpi{display:flex;gap:.625rem;align-items:baseline}.pill{display:inline-flex;gap:.5rem;align-items:center;padding:.375rem .625rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-bg-alt)}.pillButton{cursor:pointer;font:inherit;color:inherit}.userMenuItem{display:block;width:100%;text-align:left;background:transparent;border:0;padding:.625rem .875rem;cursor:pointer;color:inherit;font-size:.875rem}.menu-item:hover{background:var(--color-lake-mist)}table{width:100%;border-collapse:collapse;font-size:.875rem}th,td{padding:.625rem .5rem;border-bottom:1px solid var(--color-border);vertical-align:top;overflow-wrap:anywhere;word-break:break-word}td a{word-break:break-all}th{text-align:left;font-size:.75rem;font-weight:600;color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.08em;-webkit-user-select:none;user-select:none;cursor:pointer}tr:hover td{background:var(--color-lake-mist)}.colPriority select{padding:.25rem .375rem}th.colPriority,td.colPriority{padding-left:.375rem;padding-right:.375rem}.small{font-size:.75rem}.error{color:var(--color-danger)}.ok{color:var(--color-ok)}.draggable{padding:.625rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-alt);margin-bottom:.5rem;display:flex;align-items:center;justify-content:space-between;gap:.625rem}.menu{position:relative;display:inline-block}.menu>summary{list-style:none}.menu>summary::-webkit-details-marker{display:none}.iconbtn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:2.125rem;padding:0 .625rem;border-radius:var(--radius-sm);background:var(--color-bg-alt);border:1px solid var(--color-border);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.8125rem}.iconbtn:hover{background:var(--color-lake-mist);border-color:var(--color-border-hover)}.menuPanel{position:fixed;top:var(--menu-y, -9999px);left:var(--menu-x, -9999px);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.5rem;z-index:280;min-width:180px;box-shadow:0 12px 40px #0006;pointer-events:auto;opacity:1;visibility:visible;isolation:isolate}.menuItem{width:100%;text-align:left;background:transparent;border:1px solid transparent;padding:.5rem .625rem;border-radius:var(--radius-sm);cursor:pointer;position:relative;z-index:1;font-size:.875rem}.menuItem:hover{background:var(--color-lake-mist)}.menuItem.danger{color:var(--color-danger)}.menuSep{height:1px;background:var(--color-border);margin:.375rem 0}.swatchGrid{display:grid;grid-template-columns:repeat(8,1fr);gap:.375rem}.swatchBtn{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:var(--radius-sm);background:var(--color-bg-alt);border:1px solid var(--color-border)}.swatchBtn:hover{background:var(--color-lake-mist);border-color:var(--color-border-hover)}.dialogOverlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:299}.dialog{width:min(760px,calc(100vw - 2.25rem));max-height:calc(100vh - 2.25rem);overflow-y:auto;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-card);color:var(--color-text);padding:1.25rem;position:fixed;z-index:300;top:0;right:0;bottom:0;left:0;margin:auto;height:fit-content;box-shadow:0 20px 60px #00000080}.formRow{display:flex;gap:.625rem;flex-wrap:wrap;margin-bottom:.75rem}.formCol{flex:1;min-width:15vw;max-width:45vw;display:flex;flex-direction:column;gap:.25rem;overflow-wrap:break-word;word-break:break-word}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid var(--color-border);border-top-color:var(--color-lake);animation:spin .7s linear infinite;flex-shrink:0}.spinnerLg{width:52px;height:52px;border-width:4px}.stickyHead th{position:sticky;top:0;z-index:10;background:var(--color-bg-card);box-shadow:0 1px 0 var(--color-border)}.statusBadge{display:inline-flex;align-items:center;height:1.625rem;padding:0 .625rem;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap}.filterBar{display:flex;flex-wrap:wrap;gap:.625rem;align-items:flex-end;margin-bottom:.625rem;padding:.5rem .625rem;border:1px solid transparent;border-radius:var(--radius-sm)}.filterItem{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:130px}.bulkBar{border-color:var(--color-danger-border);background:var(--color-danger-bg)}.editableCell{cursor:pointer;border-bottom:1px dashed transparent;padding:.125rem 0;min-height:1.4em}.editableCell:hover{border-bottom-color:var(--color-text-muted)}.expandPanel{display:grid;grid-template-rows:auto auto;grid-auto-flow:column;grid-auto-columns:minmax(110px,auto);column-gap:.75rem;row-gap:.25rem;padding:.5rem .25rem .375rem;align-items:end}.expandField{display:contents}.expandMobileOnly{display:none}.expandPanel select,.expandPanel .iconbtn,.expandPanel .editableCell,.expandPanel .switch{height:2.125rem;box-sizing:border-box}.expandPanel select{padding-top:.25rem;padding-bottom:.25rem}.expandPanel .iconbtn,.expandPanel .editableCell{display:flex;align-items:center}@media (max-width: 600px){.filterItem{flex:1 1 calc(50% - .625rem);min-width:0}.kpi,.topbar,.btnrow{flex-wrap:wrap}.colColor,.colPriority{display:none}.expandPanel{grid-auto-columns:minmax(50px,auto);column-gap:.625rem}.expandSpacer{display:none}.expandMobileOnly{display:contents}.dialog{width:100%;max-height:90vh;border-radius:var(--radius-md) var(--radius-md) 0 0;top:auto;bottom:0;left:0;right:0;margin:0;height:auto;transform:none;padding:1.25rem 1rem 2rem}.formCol{min-width:calc(50% - .375rem);max-width:100%}}
