:root{--bg:#f4f5f8;--panel:#fff;--sunken:#eceef3;--line:#dde1e8;--ink:#1b2130;--mute:#667085;--accent:#3b5bdb;--accent-ink:#fff;--accent-soft:#e9edfd;--warn:#b4400b;--warn-soft:#fdeadf;--ok:#2b8a3e;--ok-soft:#e1f3e6;--bad:#c92a2a;--radius:10px;--shadow:0 1px 2px #1018280f}@media (prefers-color-scheme:dark){:root{--bg:#0f131b;--panel:#171c27;--sunken:#1f2531;--line:#2b3342;--ink:#e7eaf1;--mute:#9aa4b6;--accent:#7c93f5;--accent-ink:#0f131b;--accent-soft:#222c52;--warn:#f0925a;--warn-soft:#3a2417;--ok:#6fcf86;--ok-soft:#17301f;--bad:#ff8787;--shadow:none}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);margin:0;font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{margin:0 0 12px;font-size:20px}h2{margin:0 0 8px;font-size:15px}h3{color:var(--mute);text-transform:uppercase;letter-spacing:.04em;margin:0 0 6px;font-size:12px}.shell{grid-template-rows:52px 1fr 28px;grid-template-columns:200px 1fr;height:100%;display:grid}.topbar{background:var(--panel);border-bottom:1px solid var(--line);grid-column:1/3;align-items:center;gap:12px;padding:0 16px;display:flex}.brand{letter-spacing:.2px;margin-right:8px;font-weight:700}.sidebar{background:var(--panel);border-right:1px solid var(--line);flex-direction:column;gap:2px;padding:12px 8px;display:flex;overflow:auto}.sidebar a{color:var(--ink);border-radius:8px;padding:8px 10px}.sidebar a:hover{background:var(--sunken);text-decoration:none}.sidebar a.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.main{padding:20px 24px;overflow:auto}.footer{color:var(--mute);border-top:1px solid var(--line);background:var(--panel);grid-column:1/3;align-items:center;gap:12px;padding:0 16px;font-size:12px;display:flex}.spacer{flex:1}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:14px;padding:14px 16px}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.col{flex-direction:column;gap:8px;display:flex}.grid2{grid-template-columns:1fr 320px;align-items:start;gap:16px;display:grid}@media (width<=900px){.grid2,.shell{grid-template-columns:1fr}.shell{grid-template-rows:52px auto 1fr 28px}.sidebar{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;padding:6px 8px;overflow-x:auto}.sidebar a{white-space:nowrap}.topbar,.footer{grid-column:1}.main{padding:12px}}button,.btn{font:inherit;border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:8px;padding:6px 12px}button:hover{background:var(--sunken)}button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}button.primary:hover{opacity:.9}button.danger{color:var(--bad)}button:disabled{opacity:.5;cursor:default}button.small{white-space:nowrap;padding:2px 8px;font-size:12px}input,select,textarea{font:inherit;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:8px;max-width:100%;padding:6px 8px}textarea{width:100%;min-height:80px}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}label.f{color:var(--mute);flex-direction:column;gap:3px;font-size:12px;display:flex}.err{color:var(--bad);font-size:12px}table{border-collapse:collapse;background:var(--panel);border:1px solid var(--line);width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:6px 10px}th{color:var(--mute);background:var(--sunken);white-space:nowrap;font-size:12px;font-weight:600}th.sortable{cursor:pointer}tr.click:hover{background:var(--accent-soft);cursor:pointer}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.chip{background:var(--sunken);border:1px solid var(--line);white-space:nowrap;border-radius:99px;padding:1px 8px;font-size:12px;display:inline-block}.chip.open{background:var(--accent-soft);color:var(--accent)}.chip.waiting{background:var(--warn-soft);color:var(--warn)}.chip.closed,.chip.resolved,.chip.ok{background:var(--ok-soft);color:var(--ok)}.chip.warn{background:var(--warn-soft);color:var(--warn)}.chip.bad{background:var(--warn-soft);color:var(--bad)}.muted{color:var(--mute)}.small{font-size:12px}.timer{border:1px solid var(--line);background:var(--sunken);border-radius:99px;align-items:center;gap:8px;padding:3px 10px;display:flex}.timer .dot{background:var(--bad);border-radius:50%;width:8px;height:8px;animation:1.4s infinite pulse}@keyframes pulse{50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.timer .dot{animation:none}}.note{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);white-space:pre-wrap;margin-bottom:10px;padding:10px 12px}.note.internal{background:var(--warn-soft)}.note .meta{color:var(--mute);margin-bottom:4px;font-size:12px}.toasts{z-index:50;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:40px;right:16px}.toast{background:var(--ink);color:var(--bg);border-radius:8px;padding:8px 14px;box-shadow:0 4px 14px #00000040}.palette-back{z-index:60;background:#00000059;justify-content:center;padding-top:12vh;display:flex;position:fixed;inset:0}.palette{background:var(--panel);border:1px solid var(--line);border-radius:12px;width:min(560px,92vw);height:fit-content;padding:10px}.palette input{width:100%}.palette .item{cursor:pointer;border-radius:6px;padding:6px 8px}.palette .item.sel{background:var(--accent-soft)}.board{align-items:flex-start;gap:12px;display:flex;overflow:auto}.lane{background:var(--sunken);border-radius:var(--radius);flex:1;min-width:240px;min-height:120px;padding:8px}.lane.over{outline:2px dashed var(--accent)}.kcard{background:var(--panel);border:1px solid var(--line);cursor:grab;border-radius:8px;margin-bottom:8px;padding:8px}.center-page{max-width:420px;margin:8vh auto;padding:0 16px}.portal-wrap{max-width:860px;margin:0 auto;padding:16px}.portal-head{background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:10px 16px;display:flex}.tabs{gap:4px;margin-bottom:12px;display:flex}.tabs button.on{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}@media print{.topbar,.sidebar,.footer,.noprint{display:none!important}.shell{display:block}.main{padding:0}body{color:#000;background:#fff}}.sidebar .ic{display:none}@media (width<=760px){body{font-size:16px}.shell{height:auto;min-height:100vh;padding-bottom:calc(64px + env(safe-area-inset-bottom));display:block}.topbar{z-index:20;padding:8px 12px;padding-top:calc(8px + env(safe-area-inset-top));flex-wrap:wrap;gap:8px;height:auto;position:sticky;top:0}.topbar .hide-phone{display:none}.timer{flex:100%;order:3;justify-content:center;padding:8px 12px}.topbar>.muted.small{text-align:center;flex:100%;order:3}.sidebar{z-index:30;padding:0 4px env(safe-area-inset-bottom);border-top:1px solid var(--line);border-bottom:0;flex-direction:row;gap:0;position:fixed;bottom:0;left:0;right:0;overflow-x:auto}.sidebar a{border-radius:0;flex-direction:column;flex:1 0 auto;justify-content:center;align-items:center;gap:2px;min-width:68px;height:64px;padding:4px 6px;font-size:11px;display:flex}.sidebar a .ic{font-size:20px;line-height:1;display:block}.sidebar a.active{box-shadow:inset 0 3px 0 var(--accent);background:0 0}.main{padding:12px;overflow:visible}.footer{display:none}.portal-wrap{padding:12px}.portal-head{flex-wrap:wrap;padding:10px 12px}h1{font-size:22px}button,.btn,input,select,textarea{min-height:44px;font-size:16px}button.small{min-height:40px;padding:6px 12px;font-size:14px}input[type=checkbox]{width:22px;height:22px;min-height:0}.card{padding:12px}.row{gap:8px}.tabs{flex-wrap:nowrap;overflow-x:auto}.tabs button{white-space:nowrap}.toasts{bottom:80px;left:12px;right:12px}.palette-back{padding-top:6vh}table:not(.keep){background:0 0;border:0}table:not(.keep) thead{display:none}table:not(.keep) tbody,table:not(.keep) tfoot{display:block}table:not(.keep) tr{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:10px;padding:6px 10px;display:block}table:not(.keep) td{text-align:right;border:0;justify-content:space-between;align-items:center;gap:12px;padding:5px 0;display:flex}table:not(.keep) td[data-label]:not([data-label=""]):before{content:attr(data-label);color:var(--mute);text-align:left;flex:none;max-width:40%;font-size:12px}table:not(.keep) td.num{text-align:right}table:not(.keep) td[data-label=\#]:before,table:not(.keep) td[data-label=Summary]:before{display:none}table:not(.keep) td[data-label=Summary]{text-align:left;justify-content:flex-start;font-weight:600}table:not(.keep) td[data-label=\#]{justify-content:flex-start;font-weight:600}table:not(.keep) td:first-child:has(input[type=checkbox]){float:right;min-height:0;padding:0}table:not(.keep) td:first-child:has(input[type=checkbox])+td{justify-content:flex-start}table:not(.keep) td[colspan]{text-align:left;display:block}.scroll-x{overflow-x:auto}table.keep td:first-child a,table.keep th:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:140px;max-width:150px;display:block;overflow:hidden}.board{scroll-snap-type:x mandatory;gap:10px}.lane{scroll-snap-align:start;min-width:85vw}.lane.empty{display:none}.kcard{cursor:default}.center-page{margin:4vh auto}.palette{width:94vw}}
