:root{--bg:#f6f7f9;--surface:#fff;--surface-2:#fbfbfc;--surface-3:#f3f4f6;--border:#e8e9ec;--border-strong:#dcdde1;--text:#17171c;--text-2:#5c5c67;--muted:#9a9aa4;--accent:#4f46e5;--accent-hover:#4338ca;--accent-weak:#eef2ff;--accent-weak-2:#e0e7ff;--radius:12px;--radius-sm:9px;--shadow-sm:0 1px 2px #10111a0f,0 1px 3px #10111a0a;--shadow-md:0 4px 12px #10111a14,0 2px 4px #10111a0a;--shadow-lg:0 12px 32px #10111a24,0 4px 8px #10111a0f;--st-prog-bg:#eef4ff;--st-prog-fg:#2456c7;--st-prog-dot:#3b82f6;--st-review-bg:#fff5e6;--st-review-fg:#b25e09;--st-review-dot:#f59e0b;--st-revisi-bg:#ffeef0;--st-revisi-fg:#c02747;--st-revisi-dot:#ef4463;--st-done-bg:#e7f7ec;--st-done-fg:#1c8a49;--st-done-dot:#22c55e}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,sans-serif;font-size:14px;line-height:1.5}button{cursor:pointer;font-family:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#d7d8dd padding-box content-box;border:2px solid #0000;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#c2c3ca padding-box content-box}.app{height:100vh;display:flex;overflow:hidden}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:252px;display:flex}.brand{align-items:center;gap:10px;padding:18px 18px 14px;display:flex}.brand .logo{color:#fff;width:30px;height:30px;box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#6366f1,#4f46e5);border-radius:8px;place-items:center;font-size:15px;font-weight:700;display:grid}.brand .name{letter-spacing:-.2px;font-size:15.5px;font-weight:680}.brand .name small{color:var(--muted);letter-spacing:0;font-size:11px;font-weight:500;display:block}.nav{flex-direction:column;gap:2px;padding:8px 12px;display:flex}.nav-label{text-transform:uppercase;letter-spacing:.6px;color:var(--muted);padding:12px 12px 6px;font-size:11px;font-weight:600}.nav-item{color:var(--text-2);text-align:left;background:0 0;border:none;border-radius:9px;align-items:center;gap:11px;width:100%;padding:8px 11px;font-size:13.5px;font-weight:530;text-decoration:none;transition:background .12s,color .12s;display:flex}.nav-item svg{stroke-width:1.9px;flex-shrink:0;width:18px;height:18px}.nav-item:hover{background:var(--surface-3);color:var(--text)}.nav-item.active{background:var(--accent-weak);color:var(--accent)}.nav-item.active svg{color:var(--accent)}.nav-item .badge{background:var(--surface-3);color:var(--text-2);border-radius:20px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:600}.nav-item.active .badge{background:var(--accent-weak-2);color:var(--accent)}.sidebar-foot{border-top:1px solid var(--border);margin-top:auto;padding:12px}.user-switch{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;align-items:center;gap:10px;padding:8px;display:flex}.user-switch .who{flex:1;min-width:0}.user-switch .who b{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;display:block;overflow:hidden}.user-switch .who span{color:var(--muted);font-size:11px}.user-switch select{color:var(--accent);cursor:pointer;background:0 0;border:none;margin-top:2px;font-size:11px;font-weight:600}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20;background:#fffc;flex-shrink:0;align-items:center;gap:14px;height:60px;padding:0 26px;display:flex;position:sticky;top:0}.topbar h1{letter-spacing:-.3px;margin:0;font-size:17px;font-weight:680}.topbar .sub{color:var(--muted);font-size:12.5px}.topbar-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.content{flex:1;padding:22px 26px 60px;overflow:auto}.view{animation:.18s fade;display:none}.view.active{display:block}@keyframes fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.btn{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm);white-space:nowrap;border-radius:9px;align-items:center;gap:7px;padding:7px 13px;font-size:13px;font-weight:560;transition:all .12s;display:inline-flex}.btn:hover{background:var(--surface-2);border-color:#cfd0d6}.btn svg{stroke-width:2px;width:15px;height:15px}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-ghost{box-shadow:none;background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-3)}.btn-sm{padding:5px 10px;font-size:12.5px}.btn-icon{border-radius:8px;padding:7px}.btn[disabled],.btn.locked{opacity:.45;cursor:not-allowed;pointer-events:none}.wig-head{color:#fff;background:linear-gradient(135deg,#5b52ea,#4f46e5);border-radius:14px;flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:16px;padding:16px 18px;display:flex;box-shadow:0 8px 24px #4f46e547}.wig-head .icon{background:#ffffff29;border-radius:11px;place-items:center;width:42px;height:42px;display:grid}.wig-head .icon svg{color:#fff;width:22px;height:22px}.wig-head .meta{min-width:0}.wig-head .meta .k{text-transform:uppercase;letter-spacing:.7px;opacity:.8;font-size:11px;font-weight:600}.wig-head .meta .range{letter-spacing:-.3px;align-items:center;gap:9px;margin-top:1px;font-size:18px;font-weight:700;display:flex}.wig-head .meta .range .pill{letter-spacing:.3px;background:#fff3;border-radius:20px;padding:2px 9px;font-size:10.5px;font-weight:600}.wig-head .wig-actions{flex-wrap:wrap;align-items:center;gap:9px;margin-left:auto;display:flex}.wig-head .btn{color:#fff;box-shadow:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff26;border-color:#ffffff40}.wig-head .btn:hover{background:#ffffff40}.wig-head .btn-white{color:var(--accent);background:#fff;border-color:#fff}.wig-head .btn-white:hover{background:#f2f2ff}.wig-head select{color:#fff;background:#ffffff26;border:1px solid #ffffff40;border-radius:8px;padding:6px 9px;font-size:12.5px;font-weight:560}.wig-head select option{color:#17171c}.stat-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px;display:grid}.stat{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:12px;padding:14px 16px}.stat .lab{color:var(--text-2);align-items:center;gap:6px;font-size:12px;font-weight:540;display:flex}.stat .lab svg{width:14px;height:14px;color:var(--muted)}.stat .val{letter-spacing:-.6px;font-variant-numeric:tabular-nums;margin-top:5px;font-size:24px;font-weight:720}.stat .val small{color:var(--muted);font-size:13px;font-weight:600}.board{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (max-width:900px){.board{grid-template-columns:1fr}}.col{background:var(--surface-2);border:1px solid var(--border);border-radius:14px;flex-direction:column;min-height:200px;display:flex}.col-head{align-items:center;gap:9px;padding:13px 15px 11px;display:flex}.col-head .dot{border-radius:50%;width:9px;height:9px}.col-head.wig .dot{background:var(--accent)}.col-head.backlog .dot{background:#94a3b8}.col-head h3{letter-spacing:-.1px;margin:0;font-size:13.5px;font-weight:670}.col-head .count{color:var(--text-2);background:var(--surface-3);border-radius:20px;padding:1px 8px;font-size:11.5px;font-weight:600}.col-head .hint{color:var(--muted);margin-left:auto;font-size:11px}.col-head .pel-filter{align-items:center;gap:5px;display:flex}.col-head .pel-filter svg{width:13px;height:13px;color:var(--muted);flex-shrink:0}.col-head .pel-filter select{color:var(--text-2);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:8px;max-width:160px;padding:4px 6px;font-family:inherit;font-size:11.5px;font-weight:560}.col-head .pel-filter select:hover{border-color:var(--accent)}.col-head .pel-filter select:focus{box-shadow:0 0 0 2px var(--accent-weak);border-color:var(--accent);outline:none}.col-head .pel-filter.active svg{color:var(--accent)}.col-head .pel-filter.active select{color:var(--accent);border-color:var(--accent);background:var(--accent-weak);font-weight:620}.col-body{flex-direction:column;flex:1;gap:10px;padding:4px 12px 12px;display:flex}.col-body.drag-over{background:var(--accent-weak);outline:2px dashed var(--accent-weak-2);outline-offset:-6px;border-radius:0 0 14px 14px}.col-add{border:1px dashed var(--border-strong);color:var(--text-2);background:0 0;border-radius:10px;justify-content:center;align-items:center;gap:6px;margin:0 12px 12px;padding:9px;font-size:12.5px;font-weight:560;transition:all .12s;display:flex}.col-add:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-weak)}.col-add svg{width:15px;height:15px}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:11px;padding:12px 13px;transition:box-shadow .14s,transform 60ms,border-color .14s;position:relative}.card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong)}.card.dragging{opacity:.5;transform:rotate(1.5deg)}.card[draggable=true]{cursor:grab}.card-top{align-items:flex-start;gap:8px;margin-bottom:9px;display:flex}.card-title{letter-spacing:-.1px;cursor:pointer;flex:1;font-size:13.5px;font-weight:600;line-height:1.35}.card-title:hover{color:var(--accent)}.card-menu{margin-left:auto}.card-meta{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.chip{background:var(--surface-3);color:var(--text-2);white-space:nowrap;border-radius:7px;align-items:center;gap:5px;padding:3px 8px;font-size:11.5px;font-weight:560;display:inline-flex}.chip svg{width:12px;height:12px}.chip.date.overdue{color:#c02747;background:#ffeef0}.chip.doc{background:var(--accent-weak);color:var(--accent);cursor:pointer}.chip.doc:hover{background:var(--accent-weak-2)}.people{align-items:center;gap:6px;display:flex}.flow-arrow{color:var(--muted)}.flow-arrow svg{width:13px;height:13px}.avatar{color:#fff;width:24px;height:24px;box-shadow:0 0 0 2px var(--surface);border-radius:50%;flex-shrink:0;place-items:center;font-size:10.5px;font-weight:640;display:grid}.avatar.sm{width:20px;height:20px;font-size:9.5px}.avatar.lg{width:34px;height:34px;font-size:13px}.status-badge{border:none;border-radius:20px;align-items:center;gap:6px;padding:3px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.status-badge .sdot{border-radius:50%;width:6px;height:6px}.st-prog{background:var(--st-prog-bg);color:var(--st-prog-fg)}.st-prog .sdot{background:var(--st-prog-dot)}.st-review{background:var(--st-review-bg);color:var(--st-review-fg)}.st-review .sdot{background:var(--st-review-dot)}.st-revisi{background:var(--st-revisi-bg);color:var(--st-revisi-fg)}.st-revisi .sdot{background:var(--st-revisi-dot)}.st-done{background:var(--st-done-bg);color:var(--st-done-fg)}.st-done .sdot{background:var(--st-done-dot)}.point{font-variant-numeric:tabular-nums;border-radius:7px;align-items:center;gap:3px;padding:3px 8px;font-size:11.5px;font-weight:700;display:inline-flex}.point small{opacity:.8;font-size:10px;font-weight:600}.pt-low{color:#1c8a49;background:#e7f7ec}.pt-mid{color:#b25e09;background:#fff5e6}.pt-high{color:#c02747;background:#ffeef0}.card-foot{border-top:1px solid var(--surface-3);align-items:center;gap:8px;margin-top:10px;padding-top:10px;display:flex}.card-foot .spacer{flex:1}.panel-tbl{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:14px;margin-bottom:16px}.panel-tbl .col-head{padding:14px 16px 12px}table.ttbl{border-collapse:collapse;table-layout:fixed;width:100%;font-size:13.5px}.ttbl thead th{background:var(--surface-2);text-align:left;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);border-top:1px solid var(--border);border-bottom:1px solid var(--border);white-space:normal;vertical-align:bottom;padding:9px 10px;font-size:10.5px;font-weight:650;line-height:1.2}.th-sort{cursor:pointer;-webkit-user-select:none;user-select:none}.th-sort:hover{color:var(--text)}.sarr{color:var(--accent);font-size:9px}.sarr.dim{color:var(--muted)}.ttbl td{border-bottom:1px solid var(--surface-3);vertical-align:middle;color:var(--text);padding:9px 10px}.ttbl tbody tr{transition:background .1s}.ttbl tbody tr.grabbable{cursor:grab}.ttbl tbody tr:hover{background:var(--surface-2)}.ttbl tbody tr.dragging{opacity:.45;background:var(--accent-weak)}.tbl-lane.drag-over td{background:var(--accent-weak);box-shadow:inset 0 0 0 1px var(--accent-weak-2)}.ta-r{text-align:right}.uname{color:var(--accent);font-weight:560}.pname{font-weight:540}.cell-date{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text-2)}.cell-date.overdue{color:#c02747;font-weight:560}.cell-date.ontime{color:#1c8a49;font-weight:530}.pt-forfeit{opacity:.75;text-decoration:line-through;color:var(--muted)!important}.cell-task{cursor:pointer;font-weight:560}.cell-task:hover{color:var(--accent)}.cell-file{color:var(--accent);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:5px;padding:0;font-family:inherit;font-size:13px;font-weight:530;text-decoration:none;display:inline-flex}.cell-file svg{flex-shrink:0;width:14px;height:14px}.cell-file:hover{text-decoration:underline}.cell-file.add{color:var(--muted);font-weight:520}.cell-file.add:hover{color:var(--accent)}.cell-none{color:var(--muted)}.cell-point{font-variant-numeric:tabular-nums;font-size:14px;font-weight:720}.ptx-low{color:#1c8a49}.ptx-mid{color:#b25e09}.ptx-high{color:#c02747}select.cell-status{cursor:pointer;appearance:none;border:none;border-radius:20px;max-width:140px;padding:4px 11px;font-family:inherit;font-size:11.5px;font-weight:600}.doc-linkbar select.cell-status{border-radius:22px;max-width:none;padding:7px 16px;font-size:13px}select.cell-status:hover{filter:brightness(.97)}select.cell-status:focus{box-shadow:0 0 0 2px var(--accent-weak);outline:none}.tbl-add{border:none;border-top:1px solid var(--surface-3);width:100%;color:var(--text-2);background:0 0;border-radius:0 0 14px 14px;justify-content:center;align-items:center;gap:6px;padding:11px;font-size:12.5px;font-weight:550;display:flex}.tbl-add:hover{background:var(--accent-weak);color:var(--accent)}.tbl-add svg{width:15px;height:15px}.drag-tip{text-align:center;color:var(--muted);margin-top:4px;font-size:12px}.empty-row td{text-align:center;color:var(--muted)}details.menu{position:relative}details.menu>summary{list-style:none;display:inline-flex}details.menu>summary::-webkit-details-marker{display:none}.menu-btn{width:26px;height:26px;color:var(--muted);background:0 0;border:none;border-radius:7px;place-items:center;display:grid}.menu-btn:hover{background:var(--surface-3);color:var(--text)}.menu-btn svg{width:16px;height:16px}.menu-pop{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);z-index:60;border-radius:10px;min-width:172px;padding:5px;animation:.12s fade;position:absolute;top:calc(100% + 5px);right:0}.menu-pop.left{left:0;right:auto}.menu-pop button{text-align:left;width:100%;color:var(--text);background:0 0;border:none;border-radius:7px;align-items:center;gap:9px;padding:8px 9px;font-size:13px;font-weight:520;display:flex}.menu-pop button:hover{background:var(--surface-3)}.menu-pop button svg{width:15px;height:15px;color:var(--text-2)}.menu-pop button.danger,.menu-pop button.danger svg{color:#c02747}.menu-pop .sep{background:var(--border);height:1px;margin:4px 2px}.menu-pop .mlabel{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);padding:6px 9px 3px;font-size:10.5px;font-weight:600}.menu-pop .check{color:var(--accent);margin-left:auto}.docs-layout{grid-template-columns:246px 1fr;gap:16px;height:calc(100vh - 142px);display:grid}@media (max-width:820px){.docs-layout{grid-template-columns:1fr;height:auto}}.docs-side{background:var(--surface);border:1px solid var(--border);border-radius:13px;flex-direction:column;gap:2px;padding:12px;display:flex;overflow:auto}.docs-side .sh{justify-content:space-between;align-items:center;padding:4px 6px 8px;display:flex}.docs-side .sh b{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-size:12px}.folder{margin-bottom:2px}.folder-row{color:var(--text);border-radius:8px;align-items:center;gap:8px;padding:7px 8px;font-size:13px;font-weight:580;display:flex}.folder-row:hover{background:var(--surface-3)}.folder-row svg{color:#e0a23c;width:16px;height:16px}.folder-row{cursor:pointer;-webkit-user-select:none;user-select:none}.folder-row .fname{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.folder-row .fcount{color:var(--muted);margin-left:auto;font-size:11px;font-weight:600}.folder-row .fchev{flex-shrink:0;place-items:center;width:14px;height:14px;transition:transform .15s;display:grid}.folder-row .fchev.open{transform:rotate(90deg)}.folder-row .fchev svg{width:12px;height:12px;color:var(--muted)}.folder-row .folder-act,.folder-row .folder-del{cursor:pointer;opacity:0;width:22px;height:22px;color:var(--muted);background:0 0;border:none;border-radius:6px;flex-shrink:0;place-items:center;transition:opacity .12s,background .12s,color .12s;display:grid}.folder-row:hover .folder-act,.folder-row:hover .folder-del{opacity:1}.folder-row .folder-act:hover{background:var(--surface-3);color:var(--accent)}.folder-row .folder-del:hover{color:#c02747;background:#fdeaee}.folder-row .folder-act svg,.folder-row .folder-del svg{width:13px;height:13px;color:inherit}.doc-link{color:var(--text-2);text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;width:100%;padding:6px 8px 6px 30px;font-size:13px;font-weight:500;display:flex}.doc-link svg{flex-shrink:0;width:14px;height:14px}.doc-link:hover{background:var(--surface-3);color:var(--text)}.doc-link.active{background:var(--accent-weak);color:var(--accent);font-weight:600}.docs-main{background:var(--surface);border:1px solid var(--border);border-radius:13px;flex-direction:column;padding:0;display:flex;overflow:auto}.doc-toolbar{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:14px 20px;display:flex}.doc-toolbar .bc{color:var(--muted);font-size:12px}.doc-body{flex:1;max-width:760px;padding:22px 30px;position:relative}.doc-body h1[contenteditable],.doc-title{letter-spacing:-.5px;width:100%;color:var(--text);border:none;outline:none;margin:0 0 6px;font-size:26px;font-weight:720}.doc-linkbar{flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 20px;display:flex}.doc-content{color:#2c2c33;border-radius:8px;outline:none;min-height:300px;font-size:14.5px;line-height:1.7}.doc-content.drop-active{box-shadow:0 0 0 2px var(--accent);background:var(--accent-weak)}.doc-content:focus{outline:none}.doc-content h2{margin:22px 0 8px;font-size:17px;font-weight:660}.doc-content ul{padding-left:20px}.doc-content li{margin:4px 0}.doc-content p{margin:10px 0}.doc-empty{height:100%;color:var(--muted);text-align:center;place-items:center;padding:40px;display:grid}.doc-empty svg{opacity:.5;width:44px;height:44px;margin-bottom:12px}.kpi-grid{grid-template-columns:1.4fr 1fr;gap:16px;display:grid}@media (max-width:900px){.kpi-grid{grid-template-columns:1fr}}.panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:13px;padding:18px}.panel-head{align-items:center;gap:10px;margin-bottom:16px;display:flex}.panel-head h3{letter-spacing:-.2px;margin:0;font-size:14.5px;font-weight:660}.panel-head .sub{color:var(--muted);font-size:12px}.panel-head .r{margin-left:auto}.panel-head>svg,.section-title>svg,.modal-head>svg,.panel-head>.icon-wrap>svg,.section-title>.icon-wrap>svg,.modal-head>.icon-wrap>svg{width:20px;height:20px;color:var(--accent);flex-shrink:0}.bars{flex-direction:column;gap:14px;display:flex}.bar-row{grid-template-columns:130px 1fr auto;align-items:center;gap:12px;display:grid}.bar-row .who{align-items:center;gap:8px;min-width:0;display:flex}.bar-row .who b{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:580;overflow:hidden}.bar-track{background:var(--surface-3);border-radius:7px;height:26px;position:relative;overflow:hidden}.bar-fill{background:linear-gradient(90deg,#6366f1,#4f46e5);border-radius:7px;align-items:center;min-width:3px;height:100%;transition:width .6s cubic-bezier(.2,.8,.2,1);display:flex}.bar-fill .rank{color:#fff;font-size:11px;font-weight:700;position:absolute;top:50%;left:9px;transform:translateY(-50%)}.bar-val{font-variant-numeric:tabular-nums;text-align:right;min-width:58px;font-size:14px;font-weight:720}.bar-val small{color:var(--muted);font-size:11px;font-weight:600}.kpi-table{border-collapse:collapse;width:100%;font-size:13px}.kpi-table th{text-align:left;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);border-bottom:1px solid var(--border);padding:8px 10px;font-size:11px;font-weight:600}.kpi-table td{border-bottom:1px solid var(--surface-3);font-variant-numeric:tabular-nums;padding:10px}.kpi-table td.name{font-variant-numeric:normal;align-items:center;gap:9px;font-weight:560;display:flex}.kpi-table tr:last-child td{border-bottom:none}.trend-svg{width:100%;height:150px;display:block}.scoreguide-cta{background:var(--accent-weak);border:1px solid var(--accent-weak-2);border-radius:12px;align-items:center;gap:12px;margin-top:16px;padding:14px 16px;display:flex}.scoreguide-cta svg{width:22px;height:22px;color:var(--accent);flex-shrink:0}.scoreguide-cta .t{flex:1}.scoreguide-cta .t b{font-size:13.5px}.scoreguide-cta .t p{color:var(--text-2);margin:2px 0 0;font-size:12.5px}.user-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.user-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:13px;padding:16px;position:relative}.user-card .uc-top{align-items:center;gap:12px;display:flex}.user-card .uc-top .who{flex:1;min-width:0}.user-card .uc-top .who b{letter-spacing:-.1px;font-size:14.5px;font-weight:640;display:block}.user-card .uc-top .who span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;display:block;overflow:hidden}.role-chips{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.role-chip{border-radius:20px;padding:4px 10px;font-size:11.5px;font-weight:600}.role-pm{color:#6d28d9;background:#ede9fe}.role-pel{color:#15803d;background:#dcfce7}.role-user{color:#0369a1;background:#e0f2fe}.perm-legend{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-top:6px;display:grid}.perm-item{border:1px solid var(--border);border-radius:11px;padding:14px}.perm-item .ph{align-items:center;gap:8px;margin-bottom:8px;display:flex}.perm-item ul{color:var(--text-2);margin:0;padding-left:18px;font-size:12.5px}.perm-item li{margin:3px 0}.overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;background:#14141e70;justify-content:center;align-items:flex-start;padding:48px 16px;display:none;position:fixed;inset:0;overflow:auto}.overlay.open{animation:.15s fade;display:flex}.modal{background:var(--surface);width:100%;max-width:520px;box-shadow:var(--shadow-lg);border-radius:16px;flex-direction:column;max-height:calc(100vh - 96px);animation:.18s cubic-bezier(.2,.9,.3,1) pop;display:flex}.modal.wide{max-width:680px}@keyframes pop{0%{opacity:0;transform:scale(.97)translateY(8px)}to{opacity:1;transform:none}}.modal-head{flex-shrink:0;align-items:center;gap:10px;padding:18px 20px 4px;display:flex}.modal-head h2{letter-spacing:-.3px;margin:0;font-size:17px;font-weight:680}.modal-head .x{margin-left:auto}.modal-body{flex:1;min-height:0;padding:14px 20px 4px;overflow-y:auto}.modal-foot{border-top:1px solid var(--surface-3);flex-shrink:0;align-items:center;gap:10px;padding:16px 20px 20px;display:flex}.modal-foot .spacer{flex:1}.field{margin-bottom:14px}.field label{color:var(--text-2);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.field .hint{color:var(--muted);font-size:11px;font-weight:500}.input,select.input,textarea.input{border:1px solid var(--border-strong);background:var(--surface);width:100%;color:var(--text);border-radius:9px;padding:9px 11px;font-family:inherit;font-size:13.5px;transition:all .12s}.input:focus,textarea.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak);outline:none}textarea.input{resize:vertical;min-height:80px;line-height:1.6}.field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.seg{background:var(--surface-3);border-radius:10px;gap:6px;padding:4px;display:flex}.seg button{color:var(--text-2);background:0 0;border:none;border-radius:7px;flex:1;padding:7px;font-size:12.5px;font-weight:580}.seg button.on{background:var(--surface);color:var(--accent);box-shadow:var(--shadow-sm)}.point-picker{flex-wrap:wrap;gap:5px;display:flex}.point-picker button{border:1px solid var(--border-strong);background:var(--surface);width:34px;height:34px;color:var(--text-2);font-variant-numeric:tabular-nums;border-radius:8px;font-size:13px;font-weight:640}.point-picker button.on{background:var(--accent);color:#fff;border-color:var(--accent)}.role-picker{flex-direction:column;gap:8px;display:flex}.role-opt{border:1px solid var(--border-strong);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;transition:all .12s;display:flex}.role-opt:hover{border-color:var(--accent)}.role-opt.on{border-color:var(--accent);background:var(--accent-weak)}.role-opt .cbx{border:1.8px solid var(--border-strong);border-radius:6px;flex-shrink:0;place-items:center;width:19px;height:19px;display:grid}.role-opt.on .cbx{background:var(--accent);border-color:var(--accent)}.role-opt .cbx svg{color:#fff;opacity:0;width:13px;height:13px}.role-opt.on .cbx svg{opacity:1}.role-opt .rt b{font-size:13px}.role-opt .rt span{color:var(--text-2);font-size:11.5px}.sg-band{border-bottom:1px solid var(--surface-3);grid-template-columns:auto 1fr;gap:14px;padding:12px 0;display:grid}.sg-band:last-child{border-bottom:none}.sg-pts{align-items:flex-start;gap:4px;display:flex}.sg-pts .p{font-variant-numeric:tabular-nums;border-radius:7px;place-items:center;width:26px;height:26px;font-size:12px;font-weight:700;display:grid}.sg-band b{font-size:13.5px}.sg-band p{color:var(--text-2);margin:2px 0 0;font-size:12.5px}.sg-band .ex{color:var(--muted);margin-top:5px;font-size:12px}.sg-factors{flex-wrap:wrap;gap:7px;margin-top:4px;display:flex}.sg-factors .f{background:var(--surface-3);color:var(--text-2);border-radius:7px;padding:4px 9px;font-size:11.5px;font-weight:530}.banner{color:#8a5a08;background:#fff8e6;border:1px solid #fde9b8;border-radius:11px;align-items:center;gap:10px;margin-bottom:16px;padding:10px 14px;font-size:13px;font-weight:520;display:flex}.banner svg{flex-shrink:0;width:17px;height:17px}.toast-wrap{z-index:200;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.toast{color:#fff;box-shadow:var(--shadow-lg);background:#17171c;border-radius:10px;align-items:center;gap:9px;padding:10px 16px;font-size:13px;font-weight:530;animation:.25s toastin;display:flex}.toast svg{color:#4ade80;width:16px;height:16px}@keyframes toastin{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.section-title{color:var(--text);align-items:center;gap:8px;margin:2px 0 12px;font-size:13px;font-weight:660;display:flex}.empty-col{text-align:center;color:var(--muted);padding:22px 10px;font-size:12.5px}kbd{background:var(--surface-3);border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:5px;padding:1px 6px;font-family:inherit;font-size:11px;font-weight:600}.login-screen{z-index:300;background:radial-gradient(1100px 560px at 50% -8%,#e9ecff,#f6f7f9 62%);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}body.authed .login-screen{display:none}.login-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:18px;width:100%;max-width:400px;padding:28px}.login-logo{align-items:center;gap:10px;margin-bottom:20px;display:flex}.login-logo .logo{color:#fff;background:linear-gradient(135deg,#6366f1,#4f46e5);border-radius:9px;place-items:center;width:34px;height:34px;font-size:17px;font-weight:700;display:grid}.login-logo .ln{letter-spacing:-.3px;font-size:17px;font-weight:700}.login-h{letter-spacing:-.4px;margin:0;font-size:20px;font-weight:700}.login-sub{color:var(--text-2);margin:4px 0 18px;font-size:13px}.login-error{color:#c02747;background:#ffeef0;border:1px solid #ffd7dd;border-radius:9px;margin-bottom:14px;padding:9px 12px;font-size:12.5px;font-weight:530}.login-submit{justify-content:center;width:100%;margin-top:4px;padding:10px;font-size:14px}.login-demo{border-top:1px solid var(--border);margin-top:20px;padding-top:16px}.ld-head{color:var(--text-2);margin-bottom:10px;font-size:12px;font-weight:650}.ld-head span{color:var(--muted);font-weight:500}.ld-head b{color:var(--accent);font-weight:700}.ld-item{text-align:left;border:1px solid var(--border);background:var(--surface);border-radius:10px;align-items:center;gap:10px;width:100%;margin-bottom:7px;padding:9px 11px;transition:all .12s;display:flex}.ld-item:hover{border-color:var(--accent);background:var(--accent-weak)}.ld-info{min-width:0}.ld-info b{font-size:13px;font-weight:600;display:block}.ld-info span{color:var(--muted);font-size:11.5px}.ld-note{color:var(--muted);margin-top:6px;font-size:11.5px;line-height:1.5}.wig-head .btn-danger-ghost:hover{background:#ff6e6e4d}.uc-pass{color:var(--muted);align-items:center;gap:6px;margin-top:12px;font-size:11.5px;font-weight:520;display:flex}.uc-pass svg{width:13px;height:13px}.auto-note{background:var(--accent-weak);border:1px solid var(--accent-weak-2);color:var(--accent);border-radius:8px;align-items:center;gap:7px;margin-top:9px;padding:7px 10px;font-size:11.5px;font-weight:530;display:flex}.auto-note svg{flex-shrink:0;width:14px;height:14px}.auto-star{vertical-align:middle;margin-left:3px;display:inline-flex}.auto-star svg{width:11px;height:11px;color:var(--accent)}button.auto-star{cursor:pointer;background:0 0;border:none;border-radius:5px;padding:2px;transition:background .12s,transform .12s}button.auto-star:hover{background:var(--accent-weak);transform:scale(1.15)}button.auto-star.manual svg{color:var(--muted)}button.auto-star.manual:hover svg{color:var(--accent)}.rt-toolbar{border:1px solid var(--border);background:var(--surface-2);z-index:5;border-radius:10px;flex-wrap:wrap;align-items:center;gap:3px;margin:0 0 14px;padding:6px 8px;display:flex;position:sticky;top:0}.rt-btn{min-width:30px;height:30px;color:var(--text);background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:5px;padding:0 6px;font-family:inherit;font-size:14px;display:inline-flex}.rt-btn:hover{background:var(--surface-3)}.rt-btn svg{width:16px;height:16px}.rt-tablebtn{color:var(--text-2);font-size:12.5px;font-weight:540}.rt-sep{background:var(--border);width:1px;height:20px;margin:0 3px}.rt-font{border:1px solid var(--border-strong);background:var(--surface);height:30px;color:var(--text);cursor:pointer;border-radius:7px;padding:0 6px;font-family:inherit;font-size:12.5px}.rt-color{cursor:pointer;border-radius:7px;align-items:center;gap:4px;height:30px;padding:0 8px;font-size:13px;font-weight:800;display:inline-flex}.rt-color:hover{background:var(--surface-3)}.rt-color input[type=color]{cursor:pointer;background:0 0;border:none;border-radius:4px;width:18px;height:18px;padding:0}.doc-content .doc-table,.doc-table{border-collapse:collapse;width:100%;margin:12px 0}.doc-table th,.doc-table td{border:1px solid var(--border-strong);text-align:left;min-width:60px;padding:7px 10px;font-size:13.5px}.doc-table th{background:var(--surface-2);font-weight:640}.doc-table.tbl-fixed{table-layout:fixed}.doc-table.tbl-fixed th,.doc-table.tbl-fixed td{overflow-wrap:anywhere;min-width:0}.doc-content.col-resize-hover{cursor:col-resize}.tbl-tools{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:9px;align-items:center;gap:2px;padding:3px;display:flex;position:absolute;box-shadow:0 6px 18px #0f121a1f}.tbl-tools button{color:var(--text-2);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:4px 7px;font-family:inherit;font-size:11.5px;font-weight:600;line-height:1.2}.tbl-tools button:hover{background:var(--surface-3);color:var(--accent)}.tbl-tools button.danger:hover{color:#c02747;background:#fdeaee}.tbl-tools button svg{width:13px;height:13px;display:block}.tbl-tools .tt-sep{background:var(--border);width:1px;height:16px;margin:0 2px}.cell-inline{color:var(--text);background:0 0;border:1px solid #0000;border-radius:6px;width:100%;padding:4px 5px;font-family:inherit;font-size:13px;transition:background .1s,border-color .1s}.in-date{padding:4px 2px;font-size:12.5px}.cell-inline:hover{background:var(--surface-3)}.cell-inline:focus{background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-weak);outline:none}select.cell-inline{cursor:pointer;appearance:none}select.cell-inline.sel-req{color:var(--accent);font-weight:560}.in-date{font-variant-numeric:tabular-nums;color:var(--text-2)}.in-date.od{color:#c02747;font-weight:530}.in-date:disabled{color:var(--muted);opacity:.55;background:0 0}.in-task{font-weight:560}.cell-task-ro{text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;max-width:100%;font-weight:560;display:inline-block;overflow:hidden}.ttbl td .cell-inline{max-width:100%}.in-date{min-width:0}.sel-point{text-align:center;font-variant-numeric:tabular-nums;width:auto;min-width:52px;font-weight:700}.sel-point.forfeit{color:var(--muted);text-decoration:line-through}.pt-wrap{justify-content:flex-end;align-items:center;gap:3px;display:inline-flex}.tcm-body{border:1px solid var(--border);background:var(--surface);border-radius:10px;min-height:120px;max-height:230px;padding:10px 12px;font-size:13.5px;line-height:1.6;overflow-y:auto}.tcm-warn{color:#c02747;background:#fdeaee;border-radius:7px;margin-bottom:6px;padding:5px 9px;font-size:11.5px}.tcm-count{color:var(--muted);font-size:11.5px;font-weight:600}.tcm-body:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-weak);outline:none}.tcm-body h2{margin:10px 0 2px;font-size:13.5px}.tcm-body h2:first-child{margin-top:0}.tcm-body p{margin:0 0 4px}.tcm-files{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tcm-file{color:var(--text-2);background:var(--surface-2);border:1px solid var(--border);border-radius:8px;align-items:center;gap:5px;max-width:100%;padding:4px 6px 4px 8px;font-size:12px;font-weight:560;display:inline-flex}.tcm-file svg{width:12px;height:12px;color:var(--muted);flex-shrink:0}.tcm-file small{color:var(--muted);font-weight:500}.tcm-file button{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:4px;place-items:center;padding:2px;display:grid}.tcm-file button:hover{color:#c02747;background:#fdeaee}.urgent-toggle{color:var(--text-2);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:9px;align-items:center;gap:7px;padding:8px 12px;font-family:inherit;font-size:13px;font-weight:560;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.urgent-toggle svg{width:14px;height:14px}.urgent-toggle:hover{color:#dc2626;border-color:#dc2626}.urgent-toggle.on{color:#fff;background:#dc2626;border-color:#dc2626}.urgent-toggle.on svg{color:#fff}.task-cell{align-items:center;gap:4px;min-width:0;display:flex}.task-cell .cell-inline{flex:1;min-width:0}.task-open{text-align:left;min-width:0;color:var(--text);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;border-radius:6px;flex:1;padding:4px 2px;font-family:inherit;font-size:13.5px;font-weight:560;overflow:hidden}.task-open:hover{color:var(--accent);text-decoration:underline}.task-edit{cursor:pointer;color:var(--muted);opacity:0;background:0 0;border:none;border-radius:5px;flex-shrink:0;place-items:center;padding:3px;transition:opacity .12s,background .12s,color .12s;display:grid}tr:hover .task-edit{opacity:1}.task-edit:hover{background:var(--surface-3);color:var(--accent)}.task-edit svg{width:12px;height:12px}.wig-flag{cursor:pointer;opacity:.28;background:0 0;border:none;border-radius:5px;flex-shrink:0;place-items:center;padding:2px;transition:opacity .12s,background .12s,color .12s;display:grid}.wig-flag svg{width:13px;height:13px;color:var(--muted)}tr:hover .wig-flag{opacity:.6}.wig-flag:hover{opacity:1;background:#fdeaee}.wig-flag.on,tr:hover .wig-flag.on,.wig-flag.on:hover{opacity:1;color:#fff;letter-spacing:.5px;background:#dc2626;border-radius:20px;padding:3px 9px;font-family:inherit;font-size:10.5px;font-weight:800;line-height:1.1}span.wig-flag{cursor:default}.row-actions{justify-content:flex-end;align-items:center;gap:2px;display:inline-flex}.drag-handle{cursor:grab;color:var(--muted);opacity:0;border-radius:6px;justify-content:center;align-items:center;width:22px;height:26px;transition:opacity .1s,background .1s;display:inline-flex}.ttbl tbody tr:hover .drag-handle{opacity:1}.drag-handle:hover{background:var(--surface-3);color:var(--text)}.drag-handle:active{cursor:grabbing}.drag-handle svg{width:15px;height:15px}.doc-updated{color:var(--muted);white-space:nowrap;margin-right:8px;font-size:12px}.doc-attach{border-top:1px solid var(--surface-3);margin-top:4px;padding:6px 30px 28px}.doc-attach-head{align-items:center;gap:10px;margin:16px 0 12px;display:flex}.doc-attach-head .da-title{color:var(--text);font-size:13px;font-weight:660}.doc-attach-head .da-hint{color:var(--muted);font-size:11px}.doc-attach-head .btn{margin-left:auto}.da-empty{color:var(--muted);font-size:12.5px}.da-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.da-card{border:1px solid var(--border);background:var(--surface-2);border-radius:11px;position:relative;overflow:hidden}.da-thumb{background:var(--surface-3);justify-content:center;align-items:center;height:96px;display:flex;overflow:hidden}.da-thumb img{object-fit:cover;width:100%;height:100%}.da-file{color:var(--accent);flex-direction:column;align-items:center;gap:4px;font-size:12px;font-weight:700;display:flex}.da-file svg{width:26px;height:26px}.da-meta{flex-direction:column;gap:2px;min-width:0;padding:8px 10px;display:flex}.da-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:560;text-decoration:none;overflow:hidden}.da-name:hover{color:var(--accent);text-decoration:underline}.da-size{color:var(--muted);font-size:11px}.da-del{color:#c02747;width:24px;height:24px;box-shadow:var(--shadow-sm);opacity:0;cursor:pointer;background:#ffffffeb;border:none;border-radius:7px;place-items:center;transition:opacity .1s;display:grid;position:absolute;top:6px;right:6px}.da-card:hover .da-del{opacity:1}.da-del svg{width:14px;height:14px}.st-todo{color:#5c5c67;background:#eef0f3}.st-todo .sdot{background:#94a3b8}.doc-cell{align-items:center;gap:2px;display:flex}.doc-cell .sel-doc{flex:1;min-width:0}.doc-open{width:24px;height:26px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;place-items:center;transition:background .1s,color .1s;display:grid}.doc-open:hover{background:var(--surface-3);color:var(--accent)}.doc-open svg{width:15px;height:15px}.ss-trigger{cursor:pointer;text-align:left;align-items:center;gap:6px;display:flex}.ss-trigger .ss-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ss-trigger .ss-placeholder{color:var(--muted)}.ss-trigger .ss-caret{color:var(--muted);flex-shrink:0;font-size:10px;line-height:1}.ss-trigger:focus{outline:none}.ss-trigger.input:focus,.ss-trigger.cell-inline:focus{box-shadow:none}.ss-pop{z-index:500;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:10px;min-width:200px;max-width:360px;padding:6px;animation:.12s fade;position:fixed}.ss-search{border:1px solid var(--border-strong);width:100%;color:var(--text);background:var(--surface);border-radius:8px;margin-bottom:6px;padding:7px 9px;font-family:inherit;font-size:13px}.ss-search:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak);outline:none}.ss-list{flex-direction:column;gap:1px;max-height:240px;display:flex;overflow:auto}.ss-opt{text-align:left;width:100%;color:var(--text);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-radius:7px;flex-shrink:0;padding:7px 9px;font-family:inherit;font-size:13px;display:block;overflow:hidden}.ss-opt:hover{background:var(--surface-3)}.ss-opt.on{background:var(--accent-weak);color:var(--accent);font-weight:560}.ss-opt.ss-none{color:var(--muted)}.ss-empty{color:var(--muted);padding:8px 9px;font-size:12.5px}.doc-history{border-top:1px solid var(--surface-3);margin-top:4px;padding:6px 30px 30px}.hist-title{color:var(--text);margin:16px 0 12px;font-size:13px;font-weight:660}.hist-feed{flex-direction:column;gap:14px;margin-bottom:16px;display:flex}.hist-empty{color:var(--muted);font-size:12.5px}.hist-item{align-items:flex-start;gap:10px;display:flex}.hist-body{flex:1;min-width:0}.hist-head{color:var(--text-2);font-size:13px;line-height:1.55}.hist-head b{color:var(--text);font-weight:600}.hist-time{color:var(--muted);white-space:nowrap;margin-left:8px;font-size:11.5px}.hist-detail{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.hist-detail svg{width:14px;height:14px;color:var(--muted)}.hist-none{color:var(--muted);font-size:12px;font-weight:500}.hist-comment{background:var(--surface-2);border:1px solid var(--border);color:var(--text);white-space:pre-wrap;word-break:break-word;border-radius:9px;margin-top:5px;padding:8px 11px;font-size:13.5px}.hist-comment a{color:var(--accent);text-decoration:underline}.hist-comment a:hover{text-decoration:none}.hist-comment .mention{color:var(--accent);background:var(--accent-weak);border-radius:5px;padding:0 4px;font-weight:600}.hist-compose-field{position:relative}.mention-pop{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;min-width:190px;max-width:280px;padding:4px;display:flex;position:absolute;bottom:calc(100% + 6px);left:0;box-shadow:0 8px 22px #0f121a24}.mention-pop button{text-align:left;color:var(--text);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-radius:7px;padding:7px 10px;font-family:inherit;font-size:13px;overflow:hidden}.mention-pop button:hover,.mention-pop button.active{background:var(--accent-weak);color:var(--accent)}.user-switch .notif-btn{flex-shrink:0;place-items:center;text-decoration:none;display:grid;position:relative}.user-switch .notif-btn.on{background:var(--accent-weak);color:var(--accent)}.user-switch .notif-btn .notif-dot{color:#fff;text-align:center;border:1.5px solid var(--surface-2);background:#dc2626;border-radius:20px;min-width:15px;height:15px;padding:0 3px;font-size:9.5px;font-weight:700;line-height:15px;position:absolute;top:-1px;right:-2px}.notif-page{max-width:820px;padding:22px 30px}.notif-head{align-items:center;gap:10px;margin-bottom:14px;display:flex}.notif-head .nf-title{color:var(--text);font-size:13px;font-weight:660}.notif-head .btn{margin-left:auto}.notif-empty{color:var(--muted);text-align:center;place-items:center;gap:10px;padding:56px 20px;font-size:13px;display:grid}.notif-empty svg{width:26px;height:26px;color:var(--border-strong)}.notif-list{flex-direction:column;gap:6px;display:flex}.notif-item{text-align:left;background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:11px;align-items:flex-start;gap:10px;width:100%;padding:11px 13px;font-family:inherit;transition:border-color .12s,background .12s;display:flex;position:relative}.notif-item:hover{border-color:var(--accent);background:var(--accent-weak)}.notif-item.unread{background:var(--accent-weak)}.notif-item .nf-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;margin-top:-3px;position:absolute;top:50%;left:4px}.notif-item .nf-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.notif-item .nf-line{color:var(--text-2);font-size:13px}.notif-item .nf-line b{color:var(--text);font-weight:640}.notif-item .nf-text{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.notif-item .nf-time{color:var(--muted);white-space:nowrap;flex-shrink:0;font-size:11.5px}.hist-del{vertical-align:middle;cursor:pointer;width:20px;height:20px;color:var(--muted);opacity:0;background:0 0;border:none;border-radius:5px;place-items:center;margin-left:8px;padding:0;transition:opacity .12s,background .12s,color .12s;display:inline-grid}.hist-item:hover .hist-del{opacity:1}.hist-del:hover{color:#c02747;background:#fdeaee}.hist-del svg{width:13px;height:13px}.hist-comment-img{border:1px solid var(--border);border-radius:9px;max-width:280px;margin-top:6px;display:inline-block;overflow:hidden}.hist-comment-img img{max-width:100%;height:auto;display:block}.hist-compose{border:1px solid #0000;border-radius:12px;align-items:flex-start;gap:9px;padding:2px;transition:background .12s,border-color .12s;display:flex}.hist-compose.drop-active{border-color:var(--accent);background:var(--accent-weak);border-style:dashed}.hist-compose-field{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.hist-compose-field .input{width:100%}.hist-pending{border:1px solid var(--border);border-radius:9px;align-self:flex-start;max-width:200px;position:relative;overflow:hidden}.hist-pending img{max-width:100%;height:auto;display:block}.hist-pending-x{color:#fff;cursor:pointer;background:#0f121ab8;border:none;border-radius:50%;place-items:center;width:22px;height:22px;display:grid;position:absolute;top:4px;right:4px}.hist-pending-x svg{width:13px;height:13px}.hist-uploading{color:var(--muted);font-size:12px}.hist-attach{border:1px solid var(--border);background:var(--surface);width:34px;height:34px;color:var(--muted);cursor:pointer;border-radius:9px;flex-shrink:0;place-items:center;transition:background .1s,color .1s;display:grid}.hist-attach:hover{background:var(--surface-3);color:var(--accent)}.hist-attach svg{width:16px;height:16px}.hist-compose .btn{flex-shrink:0}.doc-content a{color:var(--accent);cursor:pointer;text-decoration:underline}.doc-content .rez-img{resize:horizontal;vertical-align:top;border-radius:6px;min-width:48px;max-width:100%;line-height:0;display:inline-block;overflow:hidden}.doc-content .rez-img:hover{outline:2px solid var(--accent-weak-2)}.doc-content .rez-img img{border-radius:6px;width:100%;height:auto;display:block}.sg-band .sg-days{color:var(--accent);background:var(--accent-weak);vertical-align:middle;border-radius:20px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.dv-body{padding-bottom:12px}.dv-empty{color:var(--muted);text-align:center;place-items:center;gap:10px;padding:44px 20px;font-size:13px;display:grid}.dv-empty svg{width:24px;height:24px;color:var(--border-strong)}.dv-split{grid-template-columns:236px 1fr;gap:14px;min-height:320px;display:grid}.dv-list{flex-direction:column;gap:4px;max-height:52vh;padding-right:4px;display:flex;overflow-y:auto}.dv-item{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;align-items:flex-start;gap:9px;padding:8px 9px;font-family:inherit;display:flex}.dv-item:hover{background:var(--surface-3)}.dv-item.active{background:var(--accent-weak);border-color:var(--accent)}.dv-meta{flex-direction:column;gap:1px;min-width:0;display:flex}.dv-meta b{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:620;overflow:hidden}.dv-when{color:var(--muted);font-size:11px}.dv-delta{color:var(--muted);gap:6px;font-size:11px;display:flex}.dv-delta em{font-style:normal;font-weight:700}.dv-delta .add{color:#1c8a49}.dv-delta .del{color:#c02747}.dv-view{border-left:1px solid var(--border);flex-direction:column;gap:8px;min-width:0;padding-left:14px;display:flex}.dv-legend{align-items:center;gap:8px;font-size:11px;display:flex}.dv-legend .add{color:#1c8a49;background:#e7f7ec;border-radius:5px;padding:1px 7px;font-weight:600}.dv-legend .del{color:#c02747;background:#ffeef0;border-radius:5px;padding:1px 7px;font-weight:600;text-decoration:line-through}.dv-legend .dv-spacer{flex:1}.dv-note{color:var(--muted);margin:0;font-size:12px}.dv-diff{white-space:pre-wrap;word-break:break-word;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;flex:1;max-height:46vh;padding:11px 13px;font-size:13.5px;line-height:1.65;overflow-y:auto}.dv-diff .add{color:#12602f;background:#e7f7ec;border-radius:3px}.dv-diff .del{color:#8f1d34;background:#ffeef0;border-radius:3px;text-decoration:line-through}.menu-pop .menu-field{flex-direction:column;gap:4px;padding:7px 10px 8px;display:flex}.menu-pop .menu-field label{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:600}.menu-pop .menu-field input{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:7px;padding:5px 7px;font-family:inherit;font-size:12.5px}.menu-pop .menu-field input:disabled{background:var(--surface-3);color:var(--muted);cursor:not-allowed}.menu-pop .menu-field input.od{color:#c02747;border-color:#ef4463}.menu-pop .menu-warn{color:#c02747;font-size:10.5px;font-weight:600}.lane-pick{grid-template-columns:1fr 1fr;gap:8px;display:grid}.lane-pick button{color:var(--text-2);background:var(--surface);border:1px solid var(--border-strong);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:9px 12px;font-family:inherit;font-size:13px;font-weight:560;transition:all .12s;display:inline-flex}.lane-pick button:hover{border-color:var(--accent)}.lane-pick button svg{width:15px;height:15px}.lane-pick button.on{background:var(--accent-weak);border-color:var(--accent);color:var(--accent);font-weight:640}
