:root{--paper:#f0f2f5;--surface:#fff;--surface-2:#f7f9fc;--ink:#1a2e5a;--muted:#5a6a85;--line:#d4dbe6;--brand:#2856a4;--brand-ink:#fff;--brand-soft:#e8eef6;--brand-orange:#e67e22;--focus:var(--brand-orange);--c-tech:#2856a4;--c-maint:#0d7c71;--c-coach:#8e44ad;--c-room:#9f6010;--c-event:#c0392b;--c-onboard:#1f7a5a;--pri-critical:#c0392b;--pri-high:#b3530e;--pri-medium:#8a6508;--pri-low:#5a6a85;--st-open:#2856a4;--st-progress:#8a6508;--st-waiting:#a8286f;--st-done:#2e7c4f;--unassigned:#c0392b;--error:#c0392b;--shadow:0 1px 2px #1a2e5a12, 0 8px 24px #1a2e5a1a;--radius:6px;--radius-sm:6px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--ink);-webkit-font-smoothing:antialiased;font:17px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--paper:#0e1119;--surface:#171b26;--surface-2:#202636;--ink:#e7ebf4;--muted:#9aa4bb;--line:#262c3b;--brand:#6f9be0;--brand-ink:#0e1119;--brand-soft:#1e2942;--brand-orange:#f0955a;--focus:var(--brand-orange);--c-tech:#6f9be0;--c-maint:#34c9bb;--c-coach:#b184e0;--c-room:#e0a94e;--c-event:#f0776a;--c-onboard:#4bbd93;--pri-critical:#f0776a;--pri-high:#f0955a;--pri-medium:#e0b74e;--pri-low:#94a3b8;--st-open:#6f9be0;--st-progress:#e0b74e;--st-waiting:#f08ac0;--st-done:#5fb684;--unassigned:#f0776a;--error:#f2a79d;--shadow:0 1px 2px #0006, 0 10px 30px #00000080}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:radial-gradient(120% 80% at 50% -10%, color-mix(in srgb, var(--brand) 8%, var(--paper)) 0%, var(--paper) 55%);color:var(--ink);margin:0}:focus-visible{outline:3px solid color-mix(in srgb, var(--focus) 70%, transparent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.shell{flex-direction:column;max-width:680px;min-height:100%;margin:0 auto;display:flex}.screen-area{flex:1}.screen-area main{padding:0 18px calc(24px + env(safe-area-inset-bottom))}.top{justify-content:space-between;align-items:center;gap:10px;padding:20px 18px 10px;display:flex}.word{letter-spacing:-.02em;color:var(--brand);font-size:22px;font-style:italic;font-weight:800}.word .bang{font-style:normal}.word.big{font-size:42px}.who{color:var(--muted);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;font-size:14px;font-weight:600;display:flex}.avatar{background:var(--brand-soft);width:38px;height:38px;color:var(--brand);border-radius:50%;flex:none;place-items:center;font-size:14px;font-weight:800;display:grid}button.link{font:inherit;color:var(--brand);cursor:pointer;background:0 0;border:none;padding:4px;font-weight:700;text-decoration:underline}.screen-title{letter-spacing:-.02em;text-wrap:balance;margin:8px 0 2px;font-size:26px;font-weight:800}.screen-title[tabindex]:focus{outline:none}.sub{color:var(--muted);margin:0 0 16px;font-size:15px}.placeholder{color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px 18px;font-size:16px}.back{color:var(--brand);font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:14px 0 4px;font-size:18px;font-weight:750;display:flex}.grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;display:grid}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);text-align:left;cursor:pointer;min-height:130px;color:inherit;font:inherit;flex-direction:column;align-items:flex-start;gap:9px;padding:16px 14px 14px;transition:transform .12s,box-shadow .12s;display:flex;position:relative;overflow:hidden}.tile:before{content:"";background:var(--cat);width:4px;position:absolute;top:0;bottom:0;left:0}.tile:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.tile:active{transform:translateY(0)}.tile .ic{width:32px;height:32px;color:var(--cat)}.tile .ic svg{width:100%;height:100%}.tile .tl{letter-spacing:-.01em;font-size:17px;font-weight:750}.tile .bl{color:var(--muted);font-size:13.5px;line-height:1.35}form{flex-direction:column;gap:18px;display:flex}.field{border:none;flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.label{letter-spacing:.01em;padding:0;font-size:14px;font-weight:700}select,textarea,input[type=text],input[type=date]{width:100%;font:inherit;color:var(--ink);background:var(--surface-2);border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:13px;font-size:16px}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%232856a4' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:14px;padding-right:40px}@media (prefers-color-scheme:dark){select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236f9be0' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")}}textarea{resize:vertical;min-height:96px;line-height:1.5}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1.5px solid var(--line);background:var(--surface-2);cursor:pointer;color:var(--muted);border-radius:999px;align-items:center;gap:7px;padding:10px 15px;font-size:14.5px;font-weight:700;display:flex;position:relative}.chip input{opacity:0;position:absolute}.chip .dot{background:var(--dot,var(--muted));border-radius:50%;width:9px;height:9px}.chip.selected{border-color:var(--dot,var(--brand));color:var(--ink);background:color-mix(in srgb, var(--dot,var(--brand)) 12%, var(--surface))}.chip:has(input:focus-visible){outline:3px solid color-mix(in srgb, var(--focus) 70%, transparent);outline-offset:2px}.worktype-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.worktype-btn{font:inherit;text-align:left;color:var(--ink);background:var(--surface-2);border:1.5px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;min-height:52px;padding:14px 15px;font-size:15px;font-weight:700}.worktype-btn:hover{border-color:var(--brand)}.worktype-btn.selected{border-color:var(--brand);background:color-mix(in srgb, var(--brand) 12%, var(--surface))}.worktype-btn.more{color:var(--muted);grid-column:1/-1;font-weight:800}.worktype-btn.more.selected{color:var(--ink)}.worktype-all{margin-top:8px}@media (width<=420px){.worktype-grid{grid-template-columns:1fr}}.btn{background:var(--brand);width:100%;color:var(--brand-ink);border-radius:var(--radius);font:inherit;cursor:pointer;letter-spacing:.01em;border:none;justify-content:center;align-items:center;gap:9px;padding:16px;font-size:17px;font-weight:800;text-decoration:none;display:flex}.btn:hover{filter:brightness(1.05)}.btn:disabled{opacity:.6;cursor:wait}.error{color:var(--error);border:2px solid var(--error);border-radius:var(--radius-sm);margin:0;padding:12px;font-weight:600}.confirmation{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding-top:2rem;display:flex}.confirmation h2{color:var(--st-done);margin:0;font-size:24px}.ticket-num{font-size:1.25rem}.nav{border-top:1px solid var(--line);background:var(--surface);padding-bottom:env(safe-area-inset-bottom);border-radius:14px 14px 0 0;display:flex;position:sticky;bottom:0}.nav button,.nav a{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:3px;padding:11px 0 13px;font-size:12px;font-weight:700;text-decoration:none;display:flex}.nav button svg,.nav a svg{width:24px;height:24px}.nav button[aria-current=true],.nav a[aria-current=true]{color:var(--brand)}.gate{text-align:center;flex-direction:column;align-items:center;gap:1.1rem;max-width:26rem;margin:0 auto;padding:4rem 1.25rem;display:flex}.gate h1{letter-spacing:-.02em;margin:0;font-size:26px;font-weight:800}.gate p{color:var(--muted);margin:0;font-size:16px}.gate p strong{color:var(--ink)}.field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.hint{color:var(--muted);font-size:13px;font-weight:400}.form-section{border-top:1px solid var(--line);margin-top:20px;padding-top:12px;font-weight:600}.tabs{gap:6px;margin:0 0 14px;display:flex}.queue-tabs{flex-wrap:wrap}.queue-tabs .tab{flex:calc(50% - 3px)}.tab{text-align:center;border-radius:var(--radius);font:inherit;color:var(--muted);background:var(--surface-2);border:1.5px solid var(--line);cursor:pointer;flex:1;padding:12px 10px;font-size:14px;font-weight:750}.tab[aria-pressed=true]{color:var(--brand-ink);background:var(--brand);border-color:var(--brand)}.cat-filter{flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 12px;display:flex}.cat-chip{font:inherit;cursor:pointer;color:var(--cat);background:color-mix(in srgb, var(--cat) 12%, var(--surface));border:1.5px solid color-mix(in srgb, var(--cat) 45%, transparent);border-radius:999px;align-items:center;gap:6px;padding:6px 11px;font-size:13px;font-weight:650;display:inline-flex}.cat-chip[aria-pressed=false]{color:var(--muted);background:var(--surface-2);border-color:var(--line);opacity:.75}.cat-chip .cic{flex:none;display:inline-flex}.cat-chip .cic svg{width:15px;height:15px}.cat-showall{margin-left:2px;font-size:13px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.list{flex-direction:column;gap:11px;padding-bottom:22px;display:flex}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);gap:12px;padding:14px 16px 14px 18px;display:flex;position:relative;overflow:hidden}.card:before{content:"";background:var(--cat);width:4px;position:absolute;top:0;bottom:0;left:0}.card .cic{color:var(--cat);flex:none;margin-top:2px}.card .cic svg{width:26px;height:26px}.card .body{flex:1;min-width:0}.card .t{letter-spacing:-.01em;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:15.5px;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.on-behalf{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line);padding:12px 14px}.student-results{border:1px solid var(--line);border-radius:var(--radius-sm);margin:8px 0 0;padding:0;list-style:none;overflow:hidden}.student-results li+li{border-top:1px solid var(--line)}.student-results button{text-align:left;background:var(--surface);width:100%;font:inherit;cursor:pointer;color:var(--ink);border:none;padding:10px 12px}.student-results button:hover{background:var(--surface-2)}.search{gap:10px;margin-bottom:14px;display:flex}.search input{flex:1}.search .btn-ghost{flex-shrink:0}.card .filed-by{color:var(--muted);margin-top:3px;font-size:12.5px}.card .assignee{color:var(--brand);align-items:center;gap:6px;margin-top:5px;font-size:12px;font-weight:700;display:inline-flex}.card .assignee:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.card .assignee[data-unassigned]{color:var(--unassigned)}.card .meta{flex-wrap:wrap;align-items:center;gap:10px;margin-top:7px;display:flex}.stat{letter-spacing:.02em;color:var(--sc);align-items:center;gap:6px;font-size:12px;font-weight:800;display:flex}.stat .d{background:var(--sc);border-radius:50%;width:8px;height:8px}.pri{text-transform:uppercase;letter-spacing:.04em;color:var(--pc);background:color-mix(in srgb, var(--pc) 14%, transparent);border-radius:6px;padding:3px 8px;font-size:11.5px;font-weight:800}.num{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.date{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.for{color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:1px 8px;font-size:12px}.card-button{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer}.card-button:hover{border-color:color-mix(in srgb, var(--cat) 45%, var(--line))}.detail-badges{flex-wrap:wrap;align-items:center;gap:14px;margin:0 0 18px;display:flex}.confirm-close{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--st-done) 10%, var(--surface));border:1.5px solid color-mix(in srgb, var(--st-done) 35%, var(--line));margin:0 0 18px;padding:14px 16px}.confirm-close p{margin:0 0 12px;line-height:1.45}.confirm-actions{align-items:center;gap:14px;display:flex}.confirm-actions .btn{width:auto;padding:11px 20px;font-size:15px}.assign-row{align-items:center;gap:12px;display:flex}.assign-row select{flex:1}.assignee-current{color:var(--brand);flex:1;font-weight:700}.assignee-current[data-unassigned]{color:var(--unassigned)}.btn-ghost{font:inherit;color:var(--brand);background:var(--brand-soft);border:1.5px solid color-mix(in srgb, var(--brand) 30%, transparent);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;flex-shrink:0;padding:9px 14px;font-size:14px;font-weight:700}.btn-ghost:hover{filter:brightness(1.03)}.notes{flex-direction:column;gap:10px;margin:4px 0 18px;padding:0;list-style:none;display:flex}.note{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:11px 13px}.note[data-internal]{background:color-mix(in srgb, var(--pri-medium) 9%, var(--surface));border-color:color-mix(in srgb, var(--pri-medium) 30%, var(--line))}.note-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:5px;display:flex}.note-at{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}.note-by{font-size:13.5px;font-weight:800}.note-vis{text-transform:uppercase;letter-spacing:.05em;color:var(--st-done);background:color-mix(in srgb, var(--st-done) 14%, transparent);border-radius:6px;padding:2px 7px;font-size:10.5px;font-weight:800}.note[data-internal] .note-vis{color:var(--pri-medium);background:color-mix(in srgb, var(--pri-medium) 16%, transparent)}.note-text{white-space:pre-wrap;font-size:15px;line-height:1.5}.detail-desc a,.note-text a{color:var(--c-tech);text-underline-offset:2px;overflow-wrap:anywhere;text-decoration:underline}.detail-desc a:hover,.note-text a:hover{text-decoration-thickness:2px}.checkline{cursor:pointer;align-items:flex-start;gap:9px;margin:10px 0 4px;font-size:14px;line-height:1.35;display:flex}.checkline input{flex-shrink:0;width:auto;margin-top:2px}.attachment{flex-direction:column;gap:8px;margin:0 0 18px;display:flex}.note-files{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;display:flex}.file-pick{cursor:pointer;position:relative;overflow:hidden}.file-pick input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.note-compose{border-radius:var(--radius-sm);position:relative}.note-compose.drag-over{outline:2px dashed var(--accent,#6aa9ff);outline-offset:4px}.drop-hint{background:color-mix(in srgb, var(--surface-2) 82%, transparent);border-radius:var(--radius-sm);pointer-events:none;justify-content:center;align-items:center;margin:0;font-weight:600;display:flex;position:absolute;inset:0}.staged{border:1px solid var(--line);background:var(--surface-2);color:var(--muted);border-radius:999px;align-items:center;gap:6px;max-width:100%;padding:3px 4px 3px 9px;font-size:.85rem;display:inline-flex}.staged-thumb{object-fit:cover;border:1px solid var(--line);border-radius:4px;width:26px;height:26px}.staged-name{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.staged-x{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:2px 6px;font-size:1.05rem;line-height:1}.staged-x:hover{color:var(--text);background:var(--surface)}.attachment-item{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.note-files-in{border-top:1px solid var(--line);flex-direction:column;gap:8px;margin-top:8px;padding-top:8px;display:flex}.attachment-meta{font-variant-numeric:tabular-nums;align-items:center;gap:8px;font-size:12px;display:flex}.attachment-img{border-radius:var(--radius-sm);border:1px solid var(--line);object-fit:contain;cursor:zoom-in;background:var(--surface-2);width:auto;max-width:100%;max-height:340px}.detail-desc{white-space:pre-wrap;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:4px 0 18px;padding:16px 18px;line-height:1.5}.detail-h2{letter-spacing:.02em;text-transform:uppercase;color:var(--muted);margin:20px 0 8px;font-size:15px;font-weight:800}.log{flex-direction:column;gap:10px;margin:0 0 20px;padding:0;list-style:none;display:flex}.log li{border-left:2px solid var(--line);flex-direction:column;gap:2px;padding-left:12px;display:flex}.log-at{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.log-text{white-space:pre-wrap;font-size:14.5px;line-height:1.4}.imp-bar{z-index:20;color:#fff;background:#b45309;align-items:center;gap:10px;padding:9px 16px;font-size:13.5px;font-weight:650;display:flex;position:sticky;top:0}.imp-bar .imp-eye{opacity:.95;flex:none;width:18px;height:18px}.imp-bar .imp-eye svg{width:100%;height:100%}.imp-msg{flex:1;min-width:0}.imp-msg strong{font-weight:850}.imp-exit{font:inherit;color:#fff;cursor:pointer;background:#00000038;border:1px solid #ffffff80;border-radius:999px;flex:none;padding:5px 14px;font-size:13px;font-weight:800}.imp-exit:hover{background:#00000052}.imp-exit:disabled{opacity:.6;cursor:wait}.view-switch{font:inherit;color:var(--muted);border:1.5px solid var(--line);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;align-items:center;gap:5px;padding:5px 11px;font-size:12.5px;font-weight:750;display:inline-flex}.view-switch svg{width:15px;height:15px}.view-switch[data-mode=customer]{color:#fff;background:var(--brand);border-color:var(--brand)}.view-switch:hover{filter:brightness(1.04);border-color:color-mix(in srgb, var(--brand) 45%, var(--line))}.imp-launch{font:inherit;color:var(--brand);background:var(--brand-soft);border:1.5px solid color-mix(in srgb, var(--brand) 30%, transparent);cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:5px 11px;font-size:12.5px;font-weight:750;display:inline-flex}.imp-launch svg{width:15px;height:15px}.imp-launch:hover{filter:brightness(1.03)}.imp-overlay{z-index:50;background:#00000073;justify-content:center;align-items:flex-start;padding:10vh 16px 16px;display:flex;position:fixed;inset:0}.imp-modal{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:100%;max-width:440px;box-shadow:var(--shadow);flex-direction:column;gap:12px;max-height:80vh;padding:16px;display:flex}.imp-modal-head{justify-content:space-between;align-items:center;display:flex}.imp-modal-head h2{margin:0;font-size:18px;font-weight:800}.imp-close{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:26px;line-height:1}.imp-hint{color:var(--muted);margin:0;font-size:14px}.imp-results{border:1px solid var(--line);border-radius:var(--radius-sm);margin:0;padding:0;list-style:none;overflow-y:auto}.imp-results:empty{border:none}.imp-results li+li{border-top:1px solid var(--line)}.imp-results button{text-align:left;background:var(--surface);width:100%;font:inherit;cursor:pointer;color:var(--ink);border:none;grid-template-columns:1fr auto;align-items:center;gap:2px 10px;padding:10px 13px;display:grid}.imp-results button:hover{background:var(--surface-2)}.imp-results button:disabled{opacity:.6;cursor:wait}.imp-name{font-size:15px;font-weight:700}.imp-email{color:var(--muted);grid-column:1/-1;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12.5px}.imp-role{text-transform:uppercase;letter-spacing:.04em;color:var(--brand);background:var(--brand-soft);border-radius:6px;padding:2px 8px;font-size:11px;font-weight:800}.imp-role[data-role=student]{color:var(--muted);background:var(--surface-2)}.site-footer{text-align:center;padding:18px 18px 22px}.footer-text{color:var(--muted);margin:0;font-size:12.5px;line-height:1.6}.version-tag{font:inherit;color:var(--brand);cursor:pointer;white-space:nowrap;font-variant-numeric:tabular-nums;background:0 0;border:none;border-radius:4px;padding:0 2px;font-size:12.5px;font-weight:750}.version-tag:hover,.version-tag:focus-visible{text-decoration:underline}.about-overlay{z-index:60;-webkit-backdrop-filter:blur(4px);background:#0f172a8c;justify-content:center;align-items:center;padding:24px 16px;display:flex;position:fixed;inset:0}.about-modal{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:100%;max-width:460px;max-height:85vh;box-shadow:var(--shadow);padding:24px 22px;position:relative;overflow-y:auto}.about-close{background:var(--surface-2);border:1px solid var(--line);width:34px;height:34px;color:var(--muted);cursor:pointer;border-radius:50%;place-items:center;font-size:22px;line-height:1;display:grid;position:absolute;top:12px;right:12px}.about-close:hover{color:var(--ink)}.about-modal h2{letter-spacing:-.01em;margin:0 40px 4px 0;font-size:20px;font-weight:800}.about-h3{text-transform:uppercase;letter-spacing:.04em;color:var(--brand);margin:20px 0 10px;font-size:13px;font-weight:800}.about-arch{flex-direction:column;gap:10px;margin:0;display:flex}.about-arch-row{grid-template-columns:132px 1fr;gap:4px 12px;display:grid}.about-arch dt{color:var(--muted);font-size:13.5px;font-weight:750}.about-arch dd{color:var(--ink);margin:0;font-size:14px;font-weight:600;line-height:1.4}.about-notes{flex-direction:column;gap:7px;margin:0;padding-left:20px;display:flex}.about-notes li{font-size:14px;line-height:1.45}@media (width<=380px){.about-arch-row{grid-template-columns:1fr;gap:1px}}.view-switch{background:var(--brand-soft);border-radius:999px;flex-wrap:wrap;gap:4px;width:fit-content;max-width:100%;margin:6px 0 16px;padding:4px;display:flex}.view-switch .pill{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:11px 18px;font-size:14px;font-weight:700}.view-switch .pill[aria-pressed=true]{background:var(--surface);color:var(--brand);box-shadow:var(--shadow)}.kanban{grid-template-columns:repeat(3,1fr);align-items:start;gap:14px;display:grid}.kan-col{background:color-mix(in srgb, var(--brand) 4%, var(--surface));border:1px solid var(--line);border-radius:var(--radius);min-height:200px;padding:10px}.kan-col-head{align-items:center;gap:8px;padding:4px 4px 10px;font-size:14px;font-weight:800;display:flex}.kan-dot{border-radius:50%;width:9px;height:9px}.kan-count{color:var(--muted);margin-left:auto;font-size:13px;font-weight:700}.kan-cards{flex-direction:column;gap:8px;display:flex}.kan-card{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--cat,var(--brand));border-radius:var(--radius);cursor:grab;box-shadow:var(--shadow);text-align:left;padding:9px 10px}.kan-card:hover{border-color:color-mix(in srgb, var(--cat,var(--brand)) 45%, var(--line))}.kan-card:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.kan-card[aria-busy=true]{opacity:.55}@media (pointer:coarse){.kan-card{cursor:default}}.kan-card-top{align-items:center;gap:6px;margin-bottom:5px;display:flex}.kan-card-cic svg{width:16px;height:16px}.kan-card-pri{color:var(--pc,var(--muted));text-transform:uppercase;letter-spacing:.04em;background:color-mix(in srgb, var(--pc,var(--muted)) 14%, transparent);border-radius:6px;padding:3px 8px;font-size:11.5px;font-weight:800}.kan-card-tag{color:var(--sc,var(--muted));border:1px solid color-mix(in srgb, var(--sc,var(--muted)) 40%, transparent);border-radius:999px;padding:1px 7px;font-size:11px;font-weight:700}.kan-card-num{color:var(--muted);margin-left:auto;font-size:12px;font-weight:700}.kan-card-title{font-size:14px;font-weight:600;line-height:1.3}.kan-card-foot{color:var(--ink);justify-content:space-between;gap:8px;margin-top:6px;font-size:12px;display:flex}.kan-card-foot [data-unassigned=true]{color:var(--unassigned);font-weight:700}.kan-muted{color:var(--muted)}.kan-card-move{width:100%;color:var(--muted);background-color:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;background-position:right 8px center;background-size:12px;margin-top:8px;padding:7px 26px 7px 10px;font-size:12px;font-weight:700}.kan-empty{color:var(--muted);text-align:center;border:1px dashed var(--line);border-radius:var(--radius);padding:18px 6px;font-size:13px}.kan-error{color:var(--error);border:2px solid var(--error);border-radius:var(--radius-sm);margin:0 0 12px;padding:12px;font-weight:600}.kan-confirm-backdrop{z-index:50;background:#0a122866;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.kan-confirm{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);max-width:26rem;box-shadow:var(--shadow);padding:20px}@media (width<=820px){.kanban{grid-template-columns:1fr}}.dt-wrap{overflow-x:auto}.dtable{border-collapse:collapse;width:100%;font-size:14px}.dtable thead th{text-align:left;border-bottom:2px solid var(--line);white-space:nowrap}.dtable th.dt-r,.dtable td.dt-r{text-align:right}.dt-th{font:inherit;color:var(--ink);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:5px;padding:8px 10px;font-weight:800;display:inline-flex}.dt-th:hover{color:var(--brand)}.dt-caret{color:var(--brand);width:10px;font-size:10px}.dtable tbody tr{border-bottom:1px solid var(--line);cursor:pointer}.dtable tbody tr:hover{background:var(--brand-soft)}.dtable tbody tr:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.dtable td{vertical-align:middle;padding:9px 10px}.dtable th:first-child,.dtable td:first-child{background:var(--surface);position:sticky;left:0}.dtable tbody tr:hover td:first-child{background:var(--brand-soft)}@media (pointer:coarse){.dtable td{padding-top:13px;padding-bottom:13px}}.dt-num{color:var(--muted);white-space:nowrap;font-weight:700}.dt-title{font-weight:600}.dt-title span:last-child{display:inline}.dt-cic{vertical-align:middle;margin-right:7px;display:inline-flex}.dt-cic svg{width:16px;height:16px}.dtable td[data-unassigned=true]{color:var(--unassigned);font-weight:700}.dt-stat{white-space:nowrap;color:var(--sc,var(--muted));align-items:center;gap:6px;font-weight:700;display:inline-flex}.dt-dot{background:var(--sc,var(--muted));border-radius:50%;width:8px;height:8px}.dt-pri{color:var(--pc,var(--muted));text-transform:uppercase;letter-spacing:.04em;background:color-mix(in srgb, var(--pc,var(--muted)) 14%, transparent);border-radius:6px;padding:3px 8px;font-size:11.5px;font-weight:800;display:inline-block}.dt-muted{color:var(--muted);white-space:nowrap}.dt-empty{text-align:center;color:var(--muted);padding:28px 10px}.shell-wide{max-width:1180px}.main-wide{padding:0 18px calc(24px + env(safe-area-inset-bottom))}.workspace{grid-template-columns:minmax(280px,360px) 1fr;align-items:start;gap:20px;display:grid}.workspace-list{align-self:start;max-height:calc(100vh - 24px);position:sticky;top:12px;overflow-y:auto}.workspace-detail{border-left:1px solid var(--line);min-width:0;padding-left:20px}.workspace-empty{text-align:center;place-items:center;min-height:260px;display:grid}.card-button[aria-current=true]{border-color:var(--cat);box-shadow:inset 3px 0 0 0 var(--cat), var(--shadow)}@media (width<=820px){.workspace{grid-template-columns:1fr}.workspace[data-open=true] .workspace-list,.workspace[data-open=false] .workspace-detail{display:none}.workspace-detail{border-left:none;padding-left:0}.workspace-list{max-height:none;position:static}}.hub-file{margin-bottom:28px}.hub-chips{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.hub-chip{font:inherit;cursor:pointer;color:inherit;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--cat);border-radius:999px;align-items:center;gap:8px;padding:11px 16px;font-size:15px;font-weight:650;transition:background .12s,border-color .12s,transform .1s;display:inline-flex}.hub-chip:hover{background:color-mix(in srgb, var(--cat) 8%, var(--surface));transform:translateY(-1px)}.hub-chip[aria-pressed=true]{background:color-mix(in srgb, var(--cat) 15%, var(--surface));border-color:var(--cat)}.hub-chip-ic{width:20px;height:20px;color:var(--cat);display:inline-flex}.hub-chip-ic svg{width:100%;height:100%}.hub-compose{background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--cat);box-shadow:var(--shadow);border-radius:12px;margin-top:18px;padding:22px 24px 26px}.hub-compose-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.hub-compose-title{letter-spacing:-.01em;margin:0;font-size:21px}.hub-compose .sub{margin-top:2px;margin-bottom:18px}.field-hint{color:var(--muted);margin-top:6px;font-size:12.5px;font-weight:500;display:block}.hub-chip-out{--cat:var(--muted);margin-left:10px;text-decoration:none}.hub-feed-title{letter-spacing:-.01em;margin:0 0 12px;font-size:18px}.hub-resources{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:28px;padding:16px 22px}.hub-res-shelf-summary{cursor:pointer;align-items:center;gap:8px;margin-bottom:12px;list-style:none;display:flex}.hub-res-shelf-summary::-webkit-details-marker{display:none}.hub-res-shelf[open]>.hub-res-shelf-summary .hub-res-tri{transform:rotate(90deg)}.hub-res-shelf-summary .hub-res-title{margin:0}.hub-res-title{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;font-size:12px;font-weight:700}.hub-res-cats{flex-direction:column;gap:8px;display:flex}.hub-res-cat{border-top:1px solid var(--line);padding-top:8px}.hub-res-cat:first-child{border-top:none;padding-top:0}.hub-res-cat-summary{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:12px;min-height:44px;padding:4px;list-style:none;display:flex}.hub-res-cat-summary::-webkit-details-marker{display:none}.hub-res-cat-summary:hover{background:var(--surface-2)}.hub-res-cat-summary:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.hub-res-cat-name{letter-spacing:-.01em;color:var(--ink);flex:auto;font-size:16px;font-weight:800}.hub-res-cat[open]>.hub-res-cat-summary .hub-res-tri{transform:rotate(90deg)}.hub-res-cat-body{flex-direction:column;gap:2px;margin:2px 0 6px;padding-left:19px;display:flex}.hub-res-area{padding-top:0}.hub-res-summary{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:12px;min-height:44px;padding:4px;list-style:none;display:flex}.hub-res-summary::-webkit-details-marker{display:none}.hub-res-summary:hover{background:var(--surface-2)}.hub-res-summary:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.hub-res-tri{border-style:solid;border-width:5px 0 5px 7px;border-color:transparent transparent transparent var(--muted);flex:none;width:0;height:0;transition:transform .15s}.hub-res-area[open]>.hub-res-summary .hub-res-tri{transform:rotate(90deg)}.hub-res-area-name{letter-spacing:-.01em;color:var(--ink);flex:auto;font-size:15px;font-weight:700}.hub-res-count{text-align:center;min-width:22px;color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:999px;flex:none;padding:1px 8px;font-size:12px;font-weight:700}.hub-res-docs{flex-direction:column;gap:2px;margin:4px 0 8px;padding:0 0 0 19px;list-style:none;display:flex}.hub-res-doc{min-height:40px;color:var(--brand);border-radius:8px;align-items:center;gap:10px;padding:6px 8px;text-decoration:none;display:flex}.hub-res-doc:hover{background:var(--brand-soft)}.hub-res-doc:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.hub-res-doc-ico{letter-spacing:.03em;color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:5px;flex:none;padding:2px 5px;font-size:10px;font-weight:800}.hub-res-doc-title{font-size:15px;font-weight:600;line-height:1.35}.hub-res-howto{border-radius:8px}.hub-res-howto-summary{cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.hub-res-howto-summary::-webkit-details-marker{display:none}.hub-res-howto-summary:hover{background:var(--brand-soft)}.hub-res-howto-summary:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.hub-res-howto[open]>.hub-res-howto-summary .hub-res-tri{transform:rotate(90deg)}.hub-res-howto-body{border-left:2px solid var(--line);color:var(--ink);margin:2px 0 10px 12px;padding:2px 0 2px 16px}.hub-res-howto-intro{color:var(--muted);margin:4px 0 10px;font-size:14px;line-height:1.45}.hub-res-howto-block{margin:0 0 12px}.hub-res-howto-heading{color:var(--ink);letter-spacing:-.01em;margin:0 0 4px;font-size:14px;font-weight:700}.hub-res-howto-steps{margin:0;padding-left:22px;font-size:14px;line-height:1.45}.hub-res-howto-steps li{margin:0 0 3px}.hub-res-howto-steps li::marker{color:var(--muted)}.hub-res-howto-note{color:var(--muted);margin:5px 0 0;font-size:13px;line-height:1.4}.hub-res-howto-warn{color:var(--ink);background:var(--brand-soft);border:1px solid var(--line);border-radius:8px;margin:10px 0 0;padding:8px 10px;font-size:14px;font-weight:600;line-height:1.4}.hub-res-howto-foot{color:var(--muted);margin:10px 0 0;font-size:13px;line-height:1.45}.hub-feed{padding-bottom:8px}.worktype-sub{border-left:2px solid var(--line);margin-top:8px;margin-left:14px;padding-left:12px}.who-room{font-variant-numeric:tabular-nums;color:var(--st-progress);background:color-mix(in srgb, var(--st-progress) 14%, transparent);border-radius:6px;margin-left:8px;padding:1px 8px;font-size:13px;font-weight:800;display:inline-block}.detail-where{align-items:baseline;gap:10px;margin:0 0 12px;font-size:16px;font-weight:700;display:flex}.accident-panel{border:1px solid var(--line);border-left:3px solid #c0392b;border-radius:8px;margin:0 0 18px;padding:14px 16px}.accident-panel-title{letter-spacing:.02em;margin:0 0 10px;font-size:14px;font-weight:700}.accident-panel-print{margin:14px 0 0}.sub-prompt{color:var(--pri-high);margin:10px 0 0 14px;font-size:14px;font-weight:700}.checklist{margin:18px 0}.checklist-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.checklist-progress{color:var(--muted);font-variant-numeric:tabular-nums;font-size:14px;font-weight:800}.checklist-gate{margin:2px 0 10px}.checklist-tasks{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.checklist-task{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:12px;padding:10px 13px;display:flex}.checklist-task-main{align-items:center;gap:11px;min-width:0;display:flex}.checklist-state{border:1.5px solid var(--line);width:20px;height:20px;color:var(--muted);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:800;display:grid}.checklist-task-body{flex-direction:column;min-width:0;display:flex}.checklist-task-name{font-size:15px;font-weight:700}.checklist-task-meta{color:var(--muted);font-size:12.5px}.checklist-task-actions{flex:none;align-items:center;gap:10px;display:flex}.checklist-task[data-state=done] .checklist-state{color:var(--st-done);border-color:var(--st-done);background:color-mix(in srgb, var(--st-done) 14%, transparent)}.checklist-task[data-state=n-a]{background:var(--surface-2)}.checklist-task[data-state=n-a] .checklist-task-name{color:var(--muted);font-weight:600;text-decoration:line-through}.checklist-task[data-state=n-a] .checklist-state{border-style:dashed}.feedback-trigger{align-items:center;gap:6px;text-decoration:none;display:inline-flex}.feedback-badge{background:var(--brand-orange);color:#fff;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:800;line-height:1;display:inline-flex}.modal-backdrop{z-index:60;-webkit-backdrop-filter:blur(4px);background:#0f172a8c;justify-content:center;align-items:center;padding:24px 16px;display:flex;position:fixed;inset:0}.modal{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:100%;max-width:460px;max-height:85vh;box-shadow:var(--shadow);padding:24px 22px;overflow-y:auto}.modal h2{letter-spacing:-.01em;color:var(--ink);margin:0 0 14px;font-size:20px;font-weight:800}.modal-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:16px;display:flex}.modal-actions .btn{width:auto}.seg{gap:8px;margin-bottom:12px;display:flex}.seg-option{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-height:44px;color:var(--muted);font:inherit;cursor:pointer;flex:1;padding:8px 10px;font-weight:700}.seg-option.on{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.feedback-body{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--ink);font:inherit;resize:vertical;padding:10px 12px}.note{color:var(--muted);margin:14px 0 0;font-size:14px}.note.small{margin-top:6px;font-size:12.5px}.note.error{color:var(--error);font-weight:700}.feedback-review{align-items:center;gap:6px;text-decoration:none;display:inline-flex}.modal-wide{max-width:640px}.fb-list{flex-direction:column;gap:8px;margin:4px 0 0;padding:0;list-style:none;display:flex}.fb-row{border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:var(--radius);background:var(--surface);overflow:hidden}.fb-row.problem{border-left-color:var(--brand-orange)}.fb-head{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:10px 12px;display:flex}.fb-body{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.fb-sub{color:var(--muted);white-space:nowrap;flex-shrink:0;font-size:12.5px}.fb-chip{border:1px solid var(--line);background:var(--surface-2);color:var(--muted);border-radius:999px;flex-shrink:0;padding:2px 9px;font-size:12px;font-weight:700}.fb-chip.open{border-color:var(--brand-orange);background:color-mix(in srgb, var(--brand-orange) 15%, var(--surface));color:var(--brand-orange)}.fb-detail{border-top:1px solid var(--line);padding:4px 12px 14px}.fb-full{color:var(--ink);white-space:pre-wrap;margin:10px 0 6px}.fb-meta{color:var(--muted);margin:0 0 12px;font-size:13px}.fb-statuses{flex-wrap:wrap}.fb-notes{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);color:var(--ink);font:inherit;white-space:pre-wrap;word-break:break-word;margin:0 0 10px;padding:10px 12px;font-size:13px}.stats{flex-direction:column;gap:16px;display:flex}.stat-tiles{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.stat-tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.stat-value{letter-spacing:-.02em;color:var(--ink);font-size:30px;font-weight:800;line-height:1.1}.stat-label{color:var(--ink);margin-top:4px;font-size:13px;font-weight:600}.stat-sub{color:var(--muted);margin-top:2px;font-size:12px}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.stat-h{color:var(--ink);margin:0 0 12px;font-size:14px;font-weight:700}.stat-foot{color:var(--muted);margin:12px 0 0;font-size:12px}.stat-legal{color:var(--muted);text-align:center;margin:4px 0 8px;font-size:12px}.stat-figure{margin:0}.vol-svg{width:100%;height:120px;display:block;overflow:visible}.vol-bar{fill:var(--brand)}.vol-axis{stroke:var(--line);stroke-width:1px}.vol-caption{color:var(--muted);justify-content:space-between;margin-top:4px;font-size:11px;display:flex}.vol-peak{color:var(--ink);font-weight:700}.bar-list{flex-direction:column;gap:12px;display:flex}.bar-head{align-items:center;gap:8px;margin-bottom:4px;font-size:13px;display:flex}.bar-dot{border-radius:3px;flex:none;width:10px;height:10px}.bar-name{color:var(--ink);font-weight:600}.bar-num{color:var(--ink);margin-left:auto;font-weight:700}.bar-7d{color:var(--muted);font-weight:500}.bar-track{background:var(--surface-2);border-radius:4px;height:8px;overflow:hidden}.bar-fill{background:var(--brand);border-radius:4px;min-width:2px;height:100%}.prog-row{text-align:center;grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.prog-val{color:var(--ink);letter-spacing:-.02em;font-size:24px;font-weight:800}.prog-lab{color:var(--muted);margin-top:2px;font-size:12px}@media (width>=620px){.stat-tiles{grid-template-columns:repeat(4,1fr)}.stats .stat-card .stat-tiles{grid-template-columns:repeat(2,1fr)}}.accident-assess{border-top:1px solid var(--rule,#d9d7d1);margin-top:16px;padding-top:14px}.accident-assess-item{border-left:3px solid var(--accent,#2a78d6);background:var(--tint,#2a78d60d);border-radius:0 6px 6px 0;margin:10px 0;padding:10px 12px}.accident-assess-form{flex-direction:column;gap:10px;margin-top:12px;display:flex}.accident-assess-form textarea{resize:vertical;width:100%}.accident-assess .check{align-items:center;gap:8px;padding:3px 0;display:flex}.gate-logo{width:min(280px,62vw);height:auto;margin:0 auto 4px;display:block}@media (prefers-color-scheme:dark){.gate-logo{filter:invert()}}:root[data-theme=dark] .gate-logo{filter:invert()}:root[data-theme=light] .gate-logo{filter:none}.wn-entry{max-width:34em;margin:0 0 30px}.wn-date{color:var(--muted);border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.04em;margin:0 0 10px;padding-bottom:6px;font-size:15px;font-weight:700}.wn-label{text-transform:none;letter-spacing:0;font-weight:400}.wn-para{color:var(--ink);margin:0 0 12px;font-size:16px;line-height:1.65}.wn-bullets{margin:0 0 12px;padding-left:22px}.wn-bullets li{color:var(--ink);margin:0 0 6px;font-size:16px;line-height:1.65}.wn-note{color:var(--muted);border-left:3px solid var(--line);margin:0 0 14px;padding:2px 0 2px 14px;font-size:15px;line-height:1.6}.hub-whatsnew{text-align:center;margin:18px 0 0;font-size:15px}.wn-item{margin:0 0 18px}.wn-item-admin{border-left:2px solid var(--brand-soft);padding-left:12px}.wn-chip{text-transform:uppercase;letter-spacing:.05em;color:var(--brand);background:var(--brand-soft);border-radius:3px;margin:0 0 6px;padding:2px 6px;font-size:11px;font-weight:700;display:inline-block}
