.ico{display:inline-block;vertical-align:-.2em;flex-shrink:0}.nav-item .ic>.ico,.bottom-nav b>.ico,.more-sheet-grid b>.ico,.icon-btn>.ico,.menu-btn>.ico,.bn-new>.ico,.close-btn>.ico{display:block;margin:0 auto}.pwa-update{position:fixed;z-index:65;right:20px;bottom:calc(20px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:10px;background:var(--ink);color:var(--paper);border-radius:14px;padding:9px 8px 9px 16px;box-shadow:0 12px 32px #00000047;font-size:13.5px;font-weight:600;max-width:calc(100vw - 24px);animation:pwaDrop .3s var(--ease-out) both}.pwa-update-text{flex:1;min-width:0}.pwa-update .btn{flex-shrink:0}.pwa-update-x{width:36px;height:36px;border-radius:50%;border:none;background:transparent;color:inherit;opacity:.75;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pwa-update-x:hover{opacity:1}@media(max-width:880px){.pwa-update{left:12px;right:12px;bottom:calc(88px + env(safe-area-inset-bottom))}.pwa-update-x{width:40px;height:40px}body:has(.pwa-update) .toast-wrap{bottom:calc(152px + env(safe-area-inset-bottom))}}@keyframes pwaDrop{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.pwa-install{position:relative;display:flex;gap:12px;align-items:flex-start;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 48px 14px 14px;margin:0 0 16px;box-shadow:0 1px 2px #12181f0a;animation:fadeSlideUp .3s var(--ease-out) both}.pwa-install-mark{width:42px;height:42px;border-radius:11px;background:var(--amber);color:var(--teal-dark);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:22px;flex-shrink:0}.pwa-install-body{flex:1;min-width:0}.pwa-install-title{font-weight:700;font-size:14.5px;line-height:1.3}.pwa-install-text{font-size:13px;color:var(--slate);margin:3px 0 0;line-height:1.45}.pwa-install-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.pwa-install-x{position:absolute;top:6px;right:6px;width:40px;height:40px;border-radius:50%;border:none;background:transparent;color:var(--slate);display:flex;align-items:center;justify-content:center}.pwa-install-x:hover{background:var(--paper);color:var(--ink)}.pwa-steps{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:9px}.pwa-steps li{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;line-height:1.5}.pwa-step-n{width:22px;height:22px;border-radius:50%;background:var(--teal);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.pwa-key{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);background:var(--paper);border-radius:7px;padding:1px 7px;font-weight:600;white-space:nowrap}.pwa-ill{display:block;width:100%;max-width:300px;height:auto;margin:12px 0 2px}.pwa-ill .frame{fill:var(--paper);stroke:var(--line);stroke-width:1.5}.pwa-ill .bar{fill:var(--panel);stroke:var(--line);stroke-width:1}.pwa-ill .glyph{fill:none;stroke:var(--slate);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.pwa-ill .soft{fill:var(--line)}.pwa-ill .hi{fill:var(--amber)}.pwa-ill .on-hi{fill:none;stroke:#123b38;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.pwa-ill .arrow{fill:none;stroke:var(--amber-dark);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.pwa-ill text{fill:var(--ink);font:600 8.5px var(--font-body)}.pwa-ill .hi-text{fill:#123b38}.pwa-push-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.pwa-push-title{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14.5px;margin:0}.pwa-push-text{font-size:13px;color:var(--slate);line-height:1.5;margin:8px 0 0}.pwa-push-steps{margin:8px 0 0;padding-left:20px;font-size:13px;line-height:1.6;color:var(--ink)}.pwa-push-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.pwa-push-note{font-size:12.5px;line-height:1.5;margin:10px 0 0;padding:8px 10px;border-radius:9px;background:var(--hold-bg);color:var(--hold-ink)}.pwa-ptr{position:relative}.pwa-ptr-ind{position:absolute;left:50%;top:0;width:38px;height:38px;margin-left:-19px;border-radius:50%;background:var(--panel);border:1px solid var(--line);box-shadow:0 4px 14px #12181f2e;display:flex;align-items:center;justify-content:center;color:var(--slate);transform:translateY(-52px);opacity:0;pointer-events:none;z-index:15;will-change:transform,opacity}.pwa-ptr-ind[data-state=armed],.pwa-ptr-ind[data-state=refresh]{color:var(--teal);border-color:var(--teal)}.pwa-ptr-ind[data-state=settle],.pwa-ptr-ind[data-state=refresh]{transition:transform .22s var(--ease-out),opacity .22s var(--ease-out)}.pwa-ptr-ind[data-state=refresh] .ico{animation:pwaSpin .8s linear infinite}@keyframes pwaSpin{to{transform:rotate(360deg)}}.pwa-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.pwa-offline{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:calc(24px + env(safe-area-inset-top)) 24px calc(24px + env(safe-area-inset-bottom));background:var(--paper);color:var(--ink)}.pwa-offline-ic{width:76px;height:76px;border-radius:50%;background:var(--hold-bg);color:var(--hold-ink);display:flex;align-items:center;justify-content:center;margin-bottom:8px}.pwa-offline h1{font-family:var(--font-display);font-size:24px;font-weight:600;margin:0}.pwa-offline p{margin:0;max-width:340px;color:var(--slate);font-size:14px;line-height:1.5}.pwa-offline .btn{margin-top:14px;min-height:44px;padding:10px 22px;font-size:14px}.pwa-offline-sub{font-size:12px!important;margin-top:6px!important}.lists .task-row{position:relative}.lists .task-row-top{flex-wrap:wrap}.lists .row-main{flex:1 1 240px;min-width:0}.lists .row-link{display:block;color:inherit;text-decoration:none;outline:none}.lists .row-link:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit}.lists .task-row:has(.row-link:focus-visible){outline:2px solid var(--teal);outline-offset:2px}.lists .task-title{overflow-wrap:anywhere;line-height:1.35;text-align:left;unicode-bidi:plaintext}.lists .task-id{display:block;overflow-wrap:anywhere}.lists .task-meta{align-items:center;row-gap:6px}.lists .task-meta .status-pill{font-size:10.5px;padding:2px 8px}.lists .task-created-by{overflow-wrap:anywhere}.lists .due-flag .ico,.lists .row-wait .ico,.lists .row-bad .ico{flex-shrink:0}.lists .row-bad{color:var(--bad)}.lists .row-job{display:flex;gap:6px;align-items:flex-start;width:fit-content;max-width:100%;overflow-wrap:anywhere;line-height:1.4;padding:5px 9px;margin-top:7px;text-align:left}.lists .row-job .ico{margin-top:2px;flex-shrink:0}.lists .row-job.needs{background:var(--bad-bg);font-weight:600}.lists .row-job-text{min-width:0;unicode-bidi:plaintext}.lists .row-mine{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:11.5px;color:var(--slate);flex-wrap:wrap}.lists .row-mine-label{font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:10px}.lists .row-mine .progress-track{flex:0 1 120px;min-width:60px;margin-top:0}.lists .row-mine .progress-fill{display:block}.lists .row-mine-pct{font-family:var(--font-mono);font-size:11px}.lists .assign-stack{position:relative;flex-wrap:wrap;justify-content:flex-end;max-width:100%}.lists .assign-chip.more{padding:3px 9px;color:var(--slate)}.lists .row-pin-btn{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;color:var(--slate);margin-left:0}.lists .row-pin-btn.on{color:var(--amber-dark);border-color:var(--amber);background:var(--hold-bg)}.lists .row-side{display:flex;align-items:flex-start;gap:8px;margin-left:auto;max-width:100%}.lists .row-tag{position:relative;z-index:0;flex-shrink:0;pointer-events:none;white-space:nowrap}@media(max-width:640px){.lists .task-row{padding:13px}.lists .row-side{flex-basis:100%;margin-left:0;align-items:center}.lists .assign-stack{justify-content:flex-start;margin-left:0}.lists .row-main{flex-basis:100%}.lists .row-pin-btn{position:absolute;top:8px;right:8px;width:40px;height:40px}.lists .has-pin .task-id,.lists .has-pin .task-title{margin-right:42px}}.lists .sk-row{pointer-events:none}.lists .sk-row:hover{transform:none;box-shadow:none;border-color:var(--line)}.lists .sk{display:block;height:11px;border-radius:6px;background:var(--line);opacity:.75;animation:listsPulse 1.2s ease-in-out infinite}.lists .sk+.sk{margin-top:9px}.lists .sk.w20{width:22%}.lists .sk.w70{width:70%;height:14px}.lists .sk.w40{width:42%}@keyframes listsPulse{0%,to{opacity:.75}50%{opacity:.35}}.lists .is-stale{opacity:.55;transition:opacity .15s}.lists .list-more{display:flex;flex-direction:column;align-items:center;gap:6px;margin:16px 0 6px}.lists .list-more .btn{min-width:200px;justify-content:center;min-height:42px}.lists .list-more small{color:var(--slate);font-size:12px}.lists a.stat{display:block;color:inherit;text-decoration:none;min-height:72px}.lists a.stat:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.lists .stat .n{min-height:26px}@media(max-width:640px){.lists .stat-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}}.lists .show-row{display:flex;align-items:center;gap:8px;margin:0 0 14px;min-width:0}.lists .show-row .df-label{color:var(--slate);flex-shrink:0}.lists .df-chips{min-width:0}.lists .df-chip{display:inline-flex;align-items:center;gap:6px;min-height:34px;white-space:nowrap;font-family:inherit}.lists .df-chip .count{font-family:var(--font-mono);font-size:11px;opacity:.8}@media(max-width:760px){.lists .df-chip{min-height:40px;padding:5px 14px}.lists .df-chips{scrollbar-width:none}.lists .df-chips::-webkit-scrollbar{display:none}}.lists .tabs{scrollbar-width:none}.lists .tabs::-webkit-scrollbar{display:none}.lists .lists-note{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--wait-bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:13px;margin:0 0 16px}.lists .lists-note>span{flex:1 1 150px;min-width:0}.lists .lists-note .btn{flex-shrink:0}.lists .lists-note .x{flex-shrink:0;width:36px;height:36px;border:none;background:none;color:var(--slate);border-radius:8px;display:inline-flex;align-items:center;justify-content:center}.lists .lists-note.warn{background:var(--hold-bg)}.lists .kanban-card{display:block;color:inherit;text-decoration:none;cursor:pointer;touch-action:auto;-webkit-user-select:auto;user-select:auto}.lists .kanban-card:hover{border-color:var(--teal)}.lists .kanban-card:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.lists .kanban-card-title{overflow-wrap:anywhere;text-align:left;unicode-bidi:plaintext}.lists .kanban-card .assign-stack{justify-content:flex-end}.lists .kanban-card-top{gap:8px}.lists .kanban-card-top .task-id{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:normal}.lists .points-badge{flex-shrink:0;display:inline-flex;align-items:center;gap:3px}.lists .kanban-col{display:flex;flex-direction:column}.lists .kanban-more{margin-top:8px;justify-content:center;width:100%}.lists .momentum-label{display:flex;align-items:center;gap:6px}.lists .board-hint{font-size:12px;color:var(--slate);margin:-4px 0 12px}@media(hover:none),(pointer:coarse),(max-width:880px){.lists .board-hint{display:none}}.lists .kanban-card{-webkit-user-drag:none}@media(max-width:640px){.lists .kanban-col{min-width:78vw;flex-basis:78vw}}.lists .filter-bar{display:flex;gap:8px;align-items:center;margin:0 0 10px}.lists .filter-bar .field{margin:0;flex:1;min-width:0;height:40px}.lists .filter-search{position:relative;flex:1;min-width:0;display:flex}.lists .filter-search .ico{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--slate);pointer-events:none}.lists .filter-search .field{padding-left:34px}.lists .filters-toggle{display:none;flex-shrink:0;height:40px}.lists .filters-toggle .count{background:var(--teal);color:#fff;border-radius:20px;font-size:11px;padding:0 7px;line-height:18px}.lists .quick-row{margin:0 0 10px}.lists .df-select .field{max-width:100%}.lists .df-row2{row-gap:12px}.lists .df-summary{overflow-wrap:anywhere}.lists .df-summary:first-child{margin-top:0}@media(max-width:760px){.lists .filters-toggle{display:inline-flex}.lists .date-filter:not(.open) .df-row2{display:none}.lists .date-filter:not(.open) .df-summary{margin-top:0}.lists .df-select{flex:1 1 46%;min-width:0}.lists .df-select.wide{flex-basis:100%}}.lists .view-actions{display:flex;gap:8px;flex-wrap:wrap}.lists-print{display:none}body.printing .lists-print.print-area{display:block}.lists-print h2{font-size:16px;margin:0 0 4px}.lists-print p{font-size:11px;margin:0 0 10px;color:#444}.lists-print table{width:100%;border-collapse:collapse;font-size:11px}.lists-print th,.lists-print td{border:1px solid #bbb;padding:5px 7px;text-align:left;vertical-align:top}.lists-print th{background:#eee}.search>.ico{flex-shrink:0}.search input::-webkit-search-cancel-button{display:none}.search .search-kbd{flex-shrink:0;font-family:var(--font-mono);font-size:10.5px;color:var(--slate);border:1px solid var(--line);border-radius:5px;padding:1px 5px;background:var(--panel);white-space:nowrap}.search:focus-within .search-kbd{display:none}.search .search-clear{flex-shrink:0;border:none;background:none;color:var(--slate);width:28px;height:28px;margin:-6px -6px -6px 0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}.search .search-clear:hover{color:var(--ink);background:var(--line)}.search:focus-within{border-color:var(--teal)}.search-results .search-result-row{min-height:38px;color:var(--ink)}.search-results .search-result-row .ico{color:var(--slate);flex-shrink:0}.search-results .search-result-row.active{background:var(--wait-bg)}.search-results .sr-code{font-family:var(--font-mono);font-size:11px;color:var(--slate);flex-shrink:0}.search-results .sr-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;unicode-bidi:plaintext}.search-results .search-hint{padding:7px 12px;font-size:11px;color:var(--slate);border-top:1px solid var(--line)}@media(max-width:880px){.search .search-kbd{display:none}.search-results.active{position:fixed;left:8px;right:8px;top:var(--search-top,64px);max-height:var(--search-max,60vh);z-index:140;overscroll-behavior:contain}.search-results .search-result-row{min-height:48px;padding:10px 14px;font-size:14.5px}.search-results .sr-text{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.search-results .search-hint{display:none}.search .search-clear{width:36px;height:36px;margin:-8px -8px -8px 0}}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-latin-800-normal-BYj_oED-.woff2) format("woff2"),url(/assets/inter-latin-800-normal-D1mf63XC.woff) format("woff")}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fraunces-latin-500-normal-DnGCNyPD.woff2) format("woff2"),url(/assets/fraunces-latin-500-normal-BTR4KCeb.woff) format("woff")}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-600-normal-BFCDtZfi.woff2) format("woff2"),url(/assets/fraunces-latin-600-normal-DL5QCzvS.woff) format("woff")}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fraunces-latin-700-normal-CEOla-zY.woff2) format("woff2"),url(/assets/fraunces-latin-700-normal-DTjk5d1Q.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-600-normal-C8RAYTDA.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-600-normal-BfsvjouI.woff) format("woff")}:root{--ease-spring:cubic-bezier(.34,1.56,.64,1);--ease-out:cubic-bezier(.16,1,.3,1);--ease-press:cubic-bezier(.4,0,.2,1);--ink:#12181F;--paper:#F7F5F0;--panel:#FFFFFF;--teal:#1F5F5B;--teal-dark:#123B38;--amber:#E8A33D;--amber-dark:#C77F17;--slate:#5B6470;--line:#E4E0D8;--good:#21774A;--good-bg:#E8F5EE;--bad:#D14343;--bad-bg:#FBEAEA;--wait:#2A63B3;--wait-bg:#EAF1FC;--hold:#85600F;--hold-bg:#FBF1DF;--hold-ink:#7A5200;--link:#1F5F5B;--radius:10px;--font-display:"Fraunces", Georgia, "Times New Roman", serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, Menlo, monospace}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--ink:#EDEAE3;--paper:#14181D;--panel:#1B2027;--line:#2B313A;--slate:#9AA3AE;--good-bg:#123425;--bad-bg:#3A1E1E;--wait-bg:#152A45;--hold-bg:#3A2E12;--hold-ink:#F2C56B;--link:#7FD1C9}}:root[data-theme=dark]{--ink:#EDEAE3;--paper:#14181D;--panel:#1B2027;--line:#2B313A;--slate:#9AA3AE;--good-bg:#123425;--bad-bg:#3A1E1E;--wait-bg:#152A45;--hold-bg:#3A2E12;--hold-ink:#F2C56B;--link:#7FD1C9}*{box-sizing:border-box}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes pulseDot{0%,to{box-shadow:0 0 #d1434380}50%{box-shadow:0 0 0 5px #d1434300}}@keyframes shimmerIn{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}@keyframes checkPop{0%{transform:scale(.4) rotate(-15deg);opacity:0}60%{transform:scale(1.15) rotate(4deg);opacity:1}to{transform:scale(1) rotate(0)}}.enter-stagger{animation:fadeSlideUp .26s var(--ease-out) both;animation-delay:calc(min(var(--i,0),8)*28ms)}.pop-in{animation:popIn .2s var(--ease-out) both}.check-pop{animation:checkPop .3s var(--ease-out) both}button,.task-row,.nav-item,.tab,.chan-tab,.pill-btn,.status-pill,.assign-chip{transition:transform .15s var(--ease-press),box-shadow .2s var(--ease-press),background-color .18s var(--ease-press),border-color .18s var(--ease-press),color .18s var(--ease-press)}button:active,.pill-btn:active,.nav-item:active,.tab:active{transform:scale(.96)}.btn:active,.btn.primary:active,.btn.amber:active{transform:scale(.97)}.task-row{will-change:transform}.task-row:hover{transform:translateY(-1px);box-shadow:0 6px 16px #12181f12}#printArea{display:none}@media print{body *{visibility:hidden}#printArea,#printArea *{visibility:visible}#printArea{display:block;position:absolute;top:0;left:0;width:100%;padding:20px}#printArea h1{font-family:var(--font-display);font-size:22px;margin:0 0 4px}#printArea .print-meta{color:var(--slate);font-size:11px;margin:0 0 16px}.print-table{width:100%;border-collapse:collapse;font-size:11px}.print-table th,.print-table td{border:1px solid #ccc;padding:5px 8px;text-align:left}.print-table th{background:#f0efe9}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--font-body)}body{min-height:100vh}::selection{background:var(--amber);color:var(--ink)}button{font-family:inherit;cursor:pointer}a{color:inherit}input,textarea,select{font-family:inherit}.app{display:grid;grid-template-columns:236px 1fr;min-height:100vh}.app>div:last-child{min-width:0}@media(max-width:880px){.app{grid-template-columns:1fr}}.sidebar{background:var(--teal-dark);color:#efeae0;padding:22px 14px;position:sticky;top:0;height:100vh;overflow-y:auto}@media(max-width:880px){.sidebar{position:fixed;left:0;top:0;width:250px;max-width:82vw;transform:translate(-100%);transition:transform .22s ease;z-index:200;box-shadow:10px 0 30px #0000004d}.sidebar.open{transform:translate(0)}}.sidebar-backdrop{display:none}@media(max-width:880px){.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0000;pointer-events:none;z-index:150;transition:background .22s ease}.sidebar-backdrop.open{background:#12181f73;pointer-events:auto}}.brand{display:flex;align-items:center;gap:10px;padding:0 8px 22px}.brand-mark{width:34px;height:34px;border-radius:9px;background:var(--amber);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:18px;color:var(--teal-dark);flex-shrink:0}.brand-name{font-family:var(--font-display);font-size:19px;font-weight:600;letter-spacing:.2px}.brand-sub{font-size:10.5px;color:#9fc7c2;letter-spacing:.14em;text-transform:uppercase;margin-top:1px}.nav-group-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.13em;color:#7fa6a1;padding:16px 12px 6px}.nav-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;font-size:14px;color:#d8e4e1;text-decoration:none;margin-bottom:2px;border:none;background:transparent;width:100%;text-align:left}.nav-item .ic{width:18px;text-align:center;font-size:14px;opacity:.85}.nav-item:hover{background:#ffffff0f}.nav-item.active{background:#e8a33d1a;color:#fff;background:#e8a33d29}.nav-item.active .ic{color:var(--amber)}.nav-badge{margin-left:auto;background:var(--amber);color:var(--teal-dark);font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:20px}.sidebar-foot{margin-top:22px;padding:12px;border-top:1px solid rgba(255,255,255,.1);font-size:12px;color:#8fb3ae}.topbar{position:sticky;top:0;z-index:20;background:var(--panel);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;padding:12px 22px}.menu-btn{display:none;background:none;border:1px solid var(--line);border-radius:8px;width:36px;height:36px;font-size:16px}@media(max-width:880px){.menu-btn{display:block}}.search{flex:1;max-width:420px;display:flex;align-items:center;gap:8px;background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:8px 12px;color:var(--slate);position:relative}.search-results{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 32px #12181f26;max-height:360px;overflow-y:auto;z-index:90;display:none}.search-results.active{display:block}.search-group-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--slate);padding:8px 12px 4px}.search-result-row{display:flex;align-items:center;gap:9px;padding:8px 12px;cursor:pointer;font-size:13px}.search-result-row:hover{background:var(--paper)}.search-result-sub{color:var(--slate);font-size:11px;margin-left:auto}.search-empty{padding:16px 12px;font-size:12.5px;color:var(--slate);text-align:center}.search input{border:none;background:none;outline:none;color:var(--ink);width:100%;font-size:13.5px}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:14px}.icon-btn{position:relative;background:none;border:1px solid var(--line);width:36px;height:36px;border-radius:9px;font-size:15px}.row-pin-btn{width:26px;height:26px;font-size:12px;flex-shrink:0;margin-left:8px;align-self:flex-start}.dot.ping{animation:pulseDot .9s ease-out 2}.dot{position:absolute;top:-3px;right:-3px;width:9px;height:9px;border-radius:50%;background:var(--bad);border:2px solid var(--panel)}.me{display:flex;align-items:center;gap:8px;border-left:1px solid var(--line);cursor:pointer;border-radius:8px;padding:4px 8px 4px 10px}.me:hover{background:var(--paper)}.avatar{width:32px;height:32px;border-radius:50%;background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12.5px;font-family:var(--font-display);flex-shrink:0}.avatar.sm{width:24px;height:24px;font-size:10.5px}.me-name{font-size:13px;font-weight:600}.me-role{font-size:11px;color:var(--slate)}.btn{border-radius:8px;border:1px solid var(--line);background:var(--panel);color:var(--ink);padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:7px}.btn:hover{border-color:var(--slate)}.btn.primary{background:var(--teal);border-color:var(--teal);color:#fff}.btn.primary:hover{background:var(--teal-dark)}.btn.amber{background:var(--amber);border-color:var(--amber);color:var(--teal-dark)}.btn.ghost{border-color:transparent}.btn.small{padding:5px 10px;font-size:12px}.btn.danger{color:var(--bad);border-color:var(--bad-bg)}.btn:disabled{opacity:.45;cursor:not-allowed}main{padding:24px 26px 60px;max-width:1180px;min-width:0}.view{display:none;min-width:0}.view.active{display:block;animation:fadeSlideUp .2s var(--ease-out) both}.view-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}.view-title{font-family:var(--font-display);font-size:28px;font-weight:600;margin:0}.view-sub{color:var(--slate);font-size:13.5px;margin-top:4px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--amber-dark);font-weight:700;margin:0 0 4px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:16px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.tab{padding:9px 4px;margin-right:18px;font-size:13.5px;font-weight:600;color:var(--slate);background:none;border:none;border-bottom:2px solid transparent;flex:0 0 auto;white-space:nowrap}.tab.active{color:var(--ink);border-color:var(--amber)}.tab .count{font-family:var(--font-mono);font-size:11px;color:var(--slate);margin-left:5px}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:22px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.kpi-stat[data-goto-filter]{cursor:pointer;transition:transform .15s,box-shadow .15s}.kpi-stat[data-goto-filter]:hover{transform:translateY(-2px);box-shadow:0 8px 20px #12181f14;border-color:var(--teal)}.stat .n{font-family:var(--font-display);font-size:26px;font-weight:600;line-height:1}.stat .l{font-size:11.5px;color:var(--slate);margin-top:6px}.stat.flag .n{color:var(--bad)}.task-list{display:flex;flex-direction:column;gap:10px}.task-row{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;cursor:pointer;transition:border-color .12s}.task-row:hover{border-color:var(--teal)}.task-row-top{display:flex;align-items:flex-start;gap:12px}.task-id{font-family:var(--font-mono);font-size:11px;color:var(--slate)}.task-title{font-size:15px;font-weight:600;margin:2px 0 0}.task-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px;font-size:12px;color:var(--slate)}.task-meta span{display:inline-flex;align-items:center;gap:4px}.task-created-by{font-size:11px;color:var(--slate);margin-top:5px;font-style:italic}.priority-chip{font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:20px;text-transform:uppercase;letter-spacing:.03em}.priority-chip.high{background:var(--bad-bg);color:var(--bad)}.priority-chip.med{background:var(--hold-bg);color:var(--hold)}.priority-chip.low{background:var(--wait-bg);color:var(--wait)}.due-flag{font-weight:700}.due-flag.overdue{color:var(--bad)}.assign-stack{display:flex;gap:6px;margin-left:auto;flex-shrink:0}.assign-chip{display:flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:20px;padding:3px 9px 3px 3px;font-size:11.5px;background:var(--paper)}.status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.status-dot.complete{background:var(--good)}.status-dot.progress{background:var(--wait)}.status-dot.overdue{background:var(--bad)}.status-dot.blocked{background:var(--hold)}.status-dot.notstarted{background:var(--slate)}.progress-track{height:5px;background:var(--line);border-radius:4px;overflow:hidden;margin-top:8px}.progress-fill{height:100%;background:var(--teal);width:0;transition:width .6s var(--ease-out)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#12181f6b;display:none;z-index:40}.overlay.active{display:block}.detail-panel{position:fixed;top:0;right:0;height:100vh;width:min(620px,94vw);background:var(--panel);z-index:41;box-shadow:-14px 0 40px #0000002e;display:flex;flex-direction:column;transform:translate(100%);transition:transform .28s var(--ease-out)}.detail-panel.active{transform:translate(0)}.panel-head{padding:20px 22px 14px;border-bottom:1px solid var(--line)}.panel-head-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.close-btn{background:var(--paper);border:1px solid var(--line);font-size:15px;color:var(--ink);line-height:1;width:36px;height:36px;min-width:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.close-btn:active{background:var(--line);transform:scale(.94)}.panel-title{font-family:var(--font-display);font-size:21px;font-weight:600;margin:8px 0 6px}.panel-body{padding:18px 22px 40px;overflow-y:auto;flex:1}.section-label{font-size:11px;text-transform:uppercase;letter-spacing:.11em;color:var(--slate);font-weight:700;margin:22px 0 10px}.section-label:first-child{margin-top:0}.assignee-row{display:block;padding:10px 0;border-bottom:1px solid var(--line)}.assignee-row-top{display:flex;align-items:center;gap:10px}.status-actions{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 2px 42px}.status-actions .btn{padding:5px 10px;font-size:11.5px}.assignee-row:last-child{border-bottom:none}.assignee-info{flex:1;min-width:0}.assignee-name{font-size:13.5px;font-weight:600}.assignee-sub{font-size:11.5px;color:var(--slate);margin-top:1px}.status-pill{font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px;white-space:nowrap}.status-pill.complete{background:var(--good-bg);color:var(--good)}.status-pill.progress{background:var(--wait-bg);color:var(--wait)}.status-pill.overdue{background:var(--bad-bg);color:var(--bad)}.status-pill.blocked{background:var(--hold-bg);color:var(--hold)}.status-pill.notstarted{background:var(--line);color:var(--slate)}.assignee-progress{width:70px;flex-shrink:0}.cc-row{display:flex;align-items:center;gap:9px;padding:7px 0;font-size:13px}.cc-row .assignee-sub{margin:0}.approval-steps{display:flex;flex-direction:column;gap:0}.approval-step{display:flex;gap:12px;position:relative;padding-bottom:20px}.approval-step:last-child{padding-bottom:0}.step-rail{display:flex;flex-direction:column;align-items:center}.step-dot{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;background:var(--line);color:var(--slate)}.step-dot.done{background:var(--good);color:#fff}.step-dot.current{background:var(--amber);color:var(--teal-dark)}.step-dot.rejected{background:var(--bad);color:#fff}.step-line{width:2px;flex:1;background:var(--line);margin-top:2px}.step-body{padding-bottom:4px;flex:1}.step-name{font-size:13.5px;font-weight:600}.step-sub{font-size:11.5px;color:var(--slate);margin-top:2px}.decision-comment{margin-top:5px;font-size:12px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:7px;padding:6px 10px}.decision-comment summary{cursor:pointer;color:var(--teal);font-weight:600;font-size:11.5px;list-style:none}.decision-comment summary::-webkit-details-marker{display:none}.decision-comment summary:before{content:"▸ "}.decision-comment[open] summary:before{content:"▾ "}.decision-comment[open] summary{margin-bottom:5px}.step-actions{margin-top:8px;display:flex;gap:8px;transition:opacity .2s}.attachment-row{display:flex;align-items:center;gap:8px;justify-content:space-between;font-size:12.5px;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:8px 12px;margin-bottom:6px}.attachment-row span{color:var(--slate);font-family:var(--font-mono);font-size:11px;margin-left:auto}.attach-thumb-sm{width:22px;height:22px;object-fit:cover;border-radius:4px;border:1px solid var(--line)}.attach-zone{border:1.5px dashed var(--line);border-radius:10px;padding:14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;cursor:text;transition:border-color .15s,background-color .15s;margin-bottom:10px}.attach-zone:focus{outline:none;border-color:var(--teal)}.attach-zone.drag-over{border-color:var(--teal);background:#1f5f5b0f}.attach-hint{font-size:11.5px;color:var(--slate)}.attach-preview{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.attach-chip{display:flex;align-items:center;gap:6px;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:4px 10px 4px 4px;font-size:11.5px}.attach-thumb{width:22px;height:22px;object-fit:cover;border-radius:50%}.attach-file-ic{font-size:14px}.attach-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attach-size{color:var(--slate);font-family:var(--font-mono);font-size:10px}.attach-remove{background:none;border:none;color:var(--slate);cursor:pointer;font-size:12px;padding:0 2px}.attach-remove:hover{color:var(--bad)}.setup-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-top:10px}.setup-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px}.setup-card h3{margin:0 0 4px;font-size:15px;display:flex;align-items:center;gap:8px}.setup-sub{font-size:12px;color:var(--slate);margin:0 0 12px}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--line);font-size:13px}.toggle-row:last-child{border-bottom:none}.switch{position:relative;width:40px;height:22px;flex-shrink:0}.switch input{opacity:0;width:0;height:0}.switch span{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--line);border-radius:22px;transition:background .2s;cursor:pointer}.switch span:before{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .2s var(--ease-spring);box-shadow:0 1px 3px #0003}.switch input:checked+span{background:var(--teal)}.switch input:checked+span:before{transform:translate(18px)}.status-dot-inline{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.tpl-preview{border:1px solid var(--line);border-radius:10px;padding:12px;background:#fff;max-height:340px;overflow:auto;color:#12181f}.wa-bubble{background:#dcf8c6;color:#12181f;border-radius:10px 10px 2px;padding:9px 12px;font-size:13px;max-width:320px;box-shadow:0 1px 2px #0000001a}.nt-jobs .job-row{display:flex;gap:9px;align-items:flex-start;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin-bottom:6px}.assignee-job{font-size:12px;color:var(--ink);background:var(--hold-bg);border-radius:6px;padding:3px 8px;margin-top:4px;display:inline-block}.link-btn{background:none;border:none;color:var(--link);font-size:11.5px;font-weight:600;padding:2px 0;cursor:pointer;display:block}.role-strip{background:linear-gradient(135deg,var(--wait-bg),var(--panel));border:1px solid #B7CFEA;border-radius:12px;padding:10px 12px;margin-bottom:6px;animation:fadeSlideUp .35s var(--ease-out) both}.role-strip.closed{background:var(--paper);border-color:var(--line)}.role-badges{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:6px}.role-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:var(--teal);color:#fff;border-radius:20px;padding:2px 8px}.role-action{font-size:13px;line-height:1.5;display:flex;flex-wrap:wrap;align-items:center;gap:6px}#dialogLayer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:none;align-items:center;justify-content:center;padding:18px}#dialogLayer.active{display:flex}.dlg-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#12181f80}.dlg-card{position:relative;background:var(--panel);border-radius:16px;padding:18px;width:100%;max-width:400px;box-shadow:0 24px 60px #00000059}.dlg-title{font-family:var(--font-display);font-size:17px;font-weight:600;margin-bottom:6px}.dlg-msg{font-size:13px;color:var(--slate);margin-bottom:12px;line-height:1.5}.dlg-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}.danger-solid{background:var(--bad);border-color:var(--bad);color:#fff}.field-error{border-color:var(--bad)!important;animation:shake .3s}@keyframes shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.bottom-nav{display:none}@media(max-width:880px){.bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--panel);border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom));justify-content:space-around;align-items:center;box-shadow:0 -6px 20px #12181f14}.bottom-nav button{position:relative;background:none;border:none;display:flex;flex-direction:column;align-items:center;gap:1px;font-size:10px;color:var(--slate);padding:4px 8px;border-radius:10px}.bottom-nav button b{font-size:17px;font-weight:400}.bottom-nav button.active{color:var(--teal);background:var(--wait-bg)}.bottom-nav .bn-new{width:50px;height:50px;border-radius:50%;background:var(--teal);color:#fff;font-size:26px;margin-top:-22px;box-shadow:0 8px 20px #1f5f5b66}.bn-badge{position:absolute;top:0;right:4px;background:var(--bad);color:#fff;font-size:10px;font-style:normal;min-width:16px;height:16px;border-radius:8px;display:none;align-items:center;justify-content:center;padding:0 4px}main{padding-bottom:96px}}.auth-yes{color:var(--good);font-weight:800;font-size:14px}.auth-no{color:#c4bfb4}.auth-cond{font-size:10.5px;font-weight:700;background:var(--hold-bg);color:var(--hold);border-radius:20px;padding:2px 8px;white-space:nowrap}table.matrix.authority td:first-child{min-width:210px;font-weight:600}.row-job{font-size:11.5px;margin-top:5px;background:var(--hold-bg);color:var(--ink);border-radius:6px;padding:3px 8px;display:inline-block}.ticket-no-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex:1;min-width:0}.ticket-no{font-family:var(--font-mono);font-weight:700;font-size:15px;letter-spacing:.02em;background:var(--teal-dark);color:#fff;border:none;border-radius:8px;padding:6px 12px;cursor:pointer;transition:background .15s}.ticket-no:hover{background:var(--teal)}.detail-panel .panel-body{background:var(--paper)}.panel-sec{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-top:14px;box-shadow:0 1px 2px #12181f0a}.sec-head{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--ink);margin:-2px 0 12px;padding-bottom:10px;border-bottom:1px solid var(--line)}.sec-head em{font-style:normal;background:var(--teal);color:#fff;border-radius:20px;padding:1px 8px;font-size:10.5px;margin-left:6px;letter-spacing:0}.sec-note{font-size:11px;font-weight:500;text-transform:none;letter-spacing:0;color:var(--slate)}.sec-text{font-size:14px;line-height:1.6;margin:0;white-space:pre-wrap}.panel-sec .assignee-row{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:8px;background:var(--paper)}.panel-sec .assignee-row:last-child{margin-bottom:0}.panel-sec .cc-row{border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin-bottom:6px;background:var(--paper)}.modal-box.modal-xl{max-width:980px;width:94vw;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.nt-head{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,var(--teal-dark),var(--teal));color:#fff}.nt-head .modal-title{color:#fff;font-size:20px}.nt-head .close-btn{background:#ffffff26;border-color:#ffffff4d;color:#fff}.nt-head-ic{width:40px;height:40px;border-radius:12px;background:#ffffff29;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.nt-sub{font-size:12.5px;color:#cfe3e1;margin-top:2px}.nt-body{flex:1;overflow-y:auto;padding:16px 20px;background:var(--paper)}.nt-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.nt-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-bottom:14px}.nt-card:last-child{margin-bottom:0}.nt-card h4{margin:0 0 6px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--ink)}.nt-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.nt-check{display:flex;align-items:center;gap:8px;font-size:13.5px;padding:6px 0;cursor:pointer}.nt-footer{display:flex;align-items:center;gap:10px;padding:12px 20px;border-top:1px solid var(--line);background:var(--panel)}.nt-foot-hint{flex:1;font-size:12px;color:var(--slate)}@media(max-width:760px){.modal-box.modal-xl{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.nt-grid,.nt-row{grid-template-columns:1fr}.nt-foot-hint{display:none}.nt-footer{padding-bottom:calc(12px + env(safe-area-inset-bottom))}.nt-footer .btn{flex:1}}.date-filter{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin-bottom:14px}.df-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.df-label{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.df-chips{display:flex;gap:6px;flex-wrap:wrap}.df-chip{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:20px;padding:5px 12px;font-size:12.5px;cursor:pointer;transition:background .15s,border-color .15s}.df-chip:hover{border-color:var(--teal)}.df-chip.active{background:var(--teal);border-color:var(--teal);color:#fff;font-weight:600}.df-custom{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.df-custom label{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--slate)}.df-custom .field{margin:0;width:auto}.df-seg{display:inline-flex;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:3px;gap:2px;flex-shrink:0}.df-seg button{border:none;background:none;border-radius:8px;padding:5px 11px;font-size:12.5px;font-weight:600;color:var(--slate);cursor:pointer;transition:background .15s,color .15s}.df-seg button.active{background:var(--teal);color:#fff}.df-row2{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.df-select{display:flex;flex-direction:column;gap:3px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--slate)}.df-select .field{margin:0;min-width:180px;text-transform:none;letter-spacing:0;font-weight:500;color:var(--ink)}.df-row2.df-only{margin-top:0;padding-top:0;border-top:none}.df-select .field{min-width:170px;height:40px}.df-clear{height:40px}@media(max-width:760px){.df-select{flex:1 1 45%}.df-select .field{min-width:0;width:100%}.df-clear{flex:1 1 100%}}.df-summary{font-size:12px;color:var(--slate);margin-top:8px}@media(max-width:760px){.df-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.df-chip{flex-shrink:0}}.ep-body{padding:14px 16px}.ep-grid{display:grid;grid-template-columns:280px 1fr;gap:14px;align-items:start}.ep-list{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;max-height:70vh;overflow-y:auto}.ep-list-head{font-size:11.5px;color:var(--slate);padding:10px 12px;border-bottom:1px solid var(--line)}.ep-item{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--line);padding:10px 12px;cursor:pointer;font-size:12.5px;color:var(--ink)}.ep-item:hover{background:var(--paper)}.ep-item.active{background:var(--wait-bg);box-shadow:inset 3px 0 0 var(--teal)}.ep-item .ep-kind{grid-row:span 3;align-self:start;font-size:10px;font-weight:800;text-transform:uppercase;background:var(--line);border-radius:6px;padding:2px 6px}.ep-item .ep-kind.new{background:var(--teal);color:#fff}.ep-snip{color:var(--slate);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ep-when{font-size:10.5px;color:var(--slate)}.ep-msg{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden}.ep-headers{padding:12px 14px;border-bottom:1px solid var(--line);font-size:12.5px;display:flex;flex-direction:column;gap:4px}.ep-headers span{display:inline-block;width:62px;color:var(--slate);font-weight:600}.ep-thread-note{font-size:11.5px;color:var(--teal);margin-top:4px}.ep-frame{display:block;width:100%;height:56vh;border:none;background:#fff}.ep-wa{padding:12px 14px;border-top:1px solid var(--line);background:#ece5dd}.ep-wa-label{font-size:11.5px;color:var(--slate);margin-bottom:6px}@media(max-width:760px){.ep-grid{grid-template-columns:1fr}.ep-list{max-height:30vh}.ep-frame{height:60vh}}.report-times{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.rt-item{display:inline-flex;align-items:center;gap:4px;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:3px 4px 3px 6px}.rt-item .field{margin:0;width:auto;border:none;background:transparent;padding:4px}.rt-del{border:none;background:none;color:var(--slate);cursor:pointer;font-size:12px;padding:4px 6px;border-radius:6px}.rt-del:hover:not(:disabled){background:var(--bad-bg,#fde8e8);color:var(--bad)}.rt-del:disabled{opacity:.3;cursor:default}.ca-badge{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 6px;margin-top:8px;font-size:12.5px;border-radius:8px;padding:6px 10px;border:1px solid var(--line)}.ca-badge span{color:var(--slate);font-size:11.5px}.ca-badge.waiting{background:var(--hold-bg);border-color:#e8c77a;color:#7a5200}.ca-badge.queued{background:var(--paper);color:var(--slate)}.ca-badge.approved{background:var(--good-bg);border-color:var(--good);color:var(--ink)}.ca-badge.rejected{background:var(--bad-bg);border-color:var(--bad);color:var(--ink)}.step-actions.ca-ask{flex-wrap:wrap;align-items:center;position:relative}.btn.ca-need{background:var(--amber);border-color:var(--amber-dark);color:#2b1d00;font-weight:700}.btn.ca-need:hover{background:var(--amber-dark);color:#fff}.btn.ca-need.is-off,.btn.ca-need.is-off:hover{background:var(--hold-bg);border:1px dashed var(--amber-dark);color:var(--hold-ink);font-weight:600;cursor:help}.btn.ca-need.is-off:active{transform:none}.ca-by{font-size:11.5px;color:var(--slate)}.tip-host[data-tip]:hover:after,.tip-host[data-tip]:focus-visible:after{content:attr(data-tip);position:absolute;left:0;bottom:calc(100% + 7px);z-index:6;width:max-content;max-width:min(300px,100%);background:#12181f;color:#fff;font-size:11.5px;font-weight:500;line-height:1.4;padding:7px 10px;border-radius:8px;box-shadow:0 8px 20px #00000040;white-space:normal;text-align:left;pointer-events:none;opacity:1}.decision-tag{display:inline-block;font-size:11.5px;font-weight:700;border-radius:999px;padding:1px 9px;margin:0 2px;border:1px solid var(--line);color:var(--ink)}.decision-tag.approved{background:var(--good-bg);border-color:var(--good)}.decision-tag.rejected{background:var(--bad-bg);border-color:var(--bad)}.decision-note{margin-top:5px;font-size:13px;white-space:pre-wrap;word-break:break-word}.wa-quote[data-jump-activity]{cursor:pointer}.wa-quote[data-jump-activity]:hover{border-left-color:var(--amber-dark)}.aq-card{background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--teal);border-radius:10px;padding:10px 12px}.aq-head{display:flex;align-items:center;gap:8px;font-size:13px;margin-bottom:6px;flex-wrap:wrap}.aq-text{font-size:13.5px;line-height:1.55;white-space:pre-wrap;word-break:break-word;margin-bottom:6px}.aq-note{font-size:12.5px;color:var(--slate);margin-top:8px}.aq-note b{color:var(--ink)}.att-row{cursor:pointer;justify-content:flex-start;flex-wrap:wrap}.att-row .att-name{color:var(--ink);font-family:inherit;font-size:12.5px;margin-left:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1 1 70px}.att-row .att-size{margin-left:0;white-space:nowrap}.att-row .att-actions{display:flex;gap:4px;margin-left:auto;font-family:inherit;font-size:inherit}.att-row .att-actions .link-btn{white-space:nowrap;padding:3px 6px;border-radius:6px}.att-row .att-actions .link-btn:hover{background:var(--panel)}.att-viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:125;display:none;align-items:center;justify-content:center;padding:16px;background:#12181fb8}.att-viewer.active{display:flex}.att-card{background:var(--panel);border-radius:14px;width:min(900px,100%);max-height:calc(100dvh - 32px);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 70px #00000073}.att-head{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line)}.att-head .att-title{flex:1;min-width:0;font-weight:600;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.att-head .att-meta{font-family:var(--font-mono);font-size:11px;color:var(--slate);white-space:nowrap}.att-body{flex:1;min-height:160px;overflow:auto;display:flex;align-items:center;justify-content:center;background:var(--paper);padding:14px}.att-body img{max-width:100%;max-height:calc(100dvh - 150px);object-fit:contain;border-radius:6px;box-shadow:0 4px 18px #0000002e;background:#fff}.att-body pre{align-self:flex-start;width:100%;margin:0;font-family:var(--font-mono);font-size:12px;white-space:pre-wrap;word-break:break-word;color:var(--ink)}.att-empty{text-align:center;color:var(--slate);font-size:13px;line-height:1.6;max-width:360px}.att-empty .ic{font-size:40px;margin-bottom:6px}.role-wait{font-size:12.5px;margin-top:6px;padding-top:6px;border-top:1px dashed var(--line);display:flex;flex-wrap:wrap;align-items:center;gap:4px}.link-btn.inline{display:inline;padding:0 4px}.row-wait{color:var(--hold-ink)}.acct-card{display:flex;gap:12px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:12px}.picker-list{border:1px solid var(--line);border-radius:10px;max-height:210px;overflow-y:auto;padding:4px}.picker-row{display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:8px;cursor:pointer;transition:background .15s}.picker-row:hover{background:var(--paper)}.picker-row:has(input:checked){background:var(--wait-bg)}.picker-empty{padding:14px;text-align:center;font-size:12.5px;color:var(--slate)}.picker-count{font-size:11.5px;color:var(--slate);margin:5px 0 14px 2px}.comment-attach-btn{background:none;border:1px solid var(--line);border-radius:8px;width:40px;flex-shrink:0;font-size:15px}.mention-preview{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.mention-chip{background:var(--wait-bg);color:var(--wait);font-size:11.5px;font-weight:600;padding:3px 8px 3px 10px;border-radius:20px;display:flex;align-items:center;gap:6px}.mention-chip button{background:none;border:none;color:inherit;cursor:pointer;font-size:11px}.mention-tag{color:var(--link);font-weight:700}.wa-quote{background:var(--paper);border-left:3px solid var(--teal);border-radius:6px;padding:5px 9px;margin-bottom:6px;font-size:12px;color:var(--slate)}.wa-quote-name{display:block;font-weight:700;color:var(--link);font-size:11px}.reply-preview-bar{display:flex;align-items:center;gap:8px;background:var(--wait-bg);border-left:3px solid var(--wait);border-radius:6px;padding:6px 10px;margin-bottom:6px;font-size:12px}.reply-preview-bar b{color:var(--wait)}.reply-preview-bar button{margin-left:auto;background:none;border:none;color:var(--slate);cursor:pointer;font-size:13px}.mention-dropdown{position:absolute;bottom:100%;left:0;margin-bottom:6px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 28px #12181f26;max-height:220px;overflow-y:auto;z-index:80;width:240px}.mention-dropdown-item{padding:9px 12px;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:8px}.mention-dropdown-item:hover{background:var(--paper)}.comment{display:flex;gap:9px;margin-bottom:14px}.activity-row{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.activity-row:last-child{border-bottom:none}.activity-highlight{background:var(--wait-bg);border-radius:8px;animation:highlightFlash 1.4s ease-out}@keyframes highlightFlash{0%{background:var(--amber)}to{background:var(--wait-bg)}}.activity-ic{width:26px;height:26px;border-radius:50%;background:var(--paper);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}.activity-body{flex:1;min-width:0}.activity-line{font-size:13px;line-height:1.5}.activity-time{font-size:11px;color:var(--slate);margin-top:2px}.comment-body{flex:1;background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:9px 12px}.comment-head{display:flex;justify-content:space-between;font-size:11.5px;color:var(--slate);margin-bottom:3px}.comment-text{font-size:13px}.comment-input{display:flex;gap:8px;margin-top:12px;position:relative}.comment-input input{flex:1;min-width:0;border:1px solid var(--line);border-radius:8px;padding:9px 12px;font-size:13px;outline:none;background:var(--panel);color:var(--ink)}.field-label{font-size:11.5px;font-weight:700;color:var(--slate);margin:0 0 5px;text-transform:uppercase;letter-spacing:.08em}.field{width:100%;border:1px solid var(--line);border-radius:8px;padding:9px 11px;font-size:13.5px;margin-bottom:12px;background:var(--panel);color:var(--ink);outline:none}.field:focus{border-color:var(--teal)}textarea.field{resize:vertical;min-height:70px}.chan-tabs{display:flex;gap:8px;margin-bottom:14px}.chan-tab{border:1px solid var(--line);border-radius:20px;padding:6px 14px;font-size:12.5px;font-weight:600;background:var(--panel);color:var(--slate)}.chan-tab.active{background:var(--teal);border-color:var(--teal);color:#fff}.thread-msg{border:1px solid var(--line);border-radius:9px;padding:10px 12px;margin-bottom:10px;font-size:12.5px;background:var(--paper)}.thread-msg.mirrored{border-left:3px solid var(--teal);background:var(--panel)}.thread-msg .thread-meta{color:var(--slate);font-size:11px;margin-bottom:4px;display:flex;justify-content:space-between}.match-badge{background:var(--good-bg);color:var(--good);font-size:10px;font-weight:700;padding:1px 7px;border-radius:20px}.match-badge.mirror-badge{background:var(--wait-bg);color:var(--wait)}.notif-row{display:flex;gap:12px;padding:13px 14px;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:8px;background:var(--panel)}.notif-row.unread{border-left:3px solid var(--amber)}.notif-ic{width:34px;height:34px;border-radius:9px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:15px;background:var(--paper)}.notif-text{font-size:13.5px}.notif-text b{font-weight:700}.notif-time{font-size:11px;color:var(--slate);margin-top:3px}.matrix-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}table.matrix{border-collapse:collapse;width:100%;min-width:760px;font-size:12.5px}table.matrix th,table.matrix td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:center}table.matrix th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--slate);background:var(--paper)}table.matrix td:first-child,table.matrix th:first-child{text-align:left;font-weight:600;position:sticky;left:0;background:var(--panel)}.chk{width:17px;height:17px;accent-color:var(--teal);cursor:pointer}.role-desc{font-size:11px;color:var(--slate);font-weight:400;display:block;margin-top:2px;max-width:190px}.callout{background:var(--wait-bg);border:1px solid #B7CFEA;border-radius:9px;padding:12px 14px;font-size:12.5px;color:var(--ink);margin-bottom:18px;display:flex;gap:10px}.callout b{white-space:nowrap}.callout.amber{background:var(--hold-bg);border-color:#e3c88a}.empty{text-align:center;padding:50px 20px;color:var(--slate)}.empty .ic{font-size:30px;margin-bottom:8px}.kanban-wrap{display:flex;gap:14px;overflow-x:auto;padding-bottom:14px;-webkit-overflow-scrolling:touch;width:100%;min-width:0}.kanban-col{min-width:230px;flex:0 0 230px;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:10px}.kanban-col-head{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--slate);margin-bottom:10px;display:flex;justify-content:space-between;padding:0 2px}.kanban-col-head .count{font-family:var(--font-mono);background:var(--line);color:var(--ink);border-radius:20px;padding:0 7px;font-weight:600}.kanban-cards{display:flex;flex-direction:column;gap:8px;min-height:64px;border-radius:8px;transition:background-color .15s,outline-color .15s;outline:2px dashed transparent;outline-offset:-2px}.kanban-cards.drag-over{background:#1f5f5b14;outline-color:var(--teal)}.kanban-card{background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:10px 12px;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.kanban-card:active{cursor:grabbing}.kanban-card.kanban-card-source-hidden{opacity:.28}.kanban-card-title{font-size:13px;font-weight:600;margin:5px 0 8px;line-height:1.3}.kanban-card-meta{display:flex;align-items:center;justify-content:space-between;gap:6px}.kanban-card-by{font-size:10.5px;color:var(--slate);margin-top:6px;font-style:italic}.kanban-card-top{display:flex;justify-content:space-between;align-items:center}.points-badge{font-size:10px;font-weight:700;background:var(--hold-bg);color:var(--hold);border-radius:20px;padding:2px 7px;font-family:var(--font-mono)}.momentum-card{background:linear-gradient(135deg,var(--teal-dark),var(--teal));color:#fff;border-radius:12px;padding:14px 18px;margin-bottom:14px}.momentum-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#cfe3e1;margin-bottom:8px}.momentum-track{height:10px;background:#fff3;border-radius:6px;overflow:hidden}.momentum-fill{height:100%;width:0;background:linear-gradient(90deg,var(--amber),#FFD98A);border-radius:6px;transition:width .7s var(--ease-out)}.momentum-score{font-size:11.5px;color:#cfe3e1;margin-top:6px;font-family:var(--font-mono)}.celebrate-burst{position:fixed;pointer-events:none;z-index:999;font-size:22px;font-weight:800;color:var(--good);text-shadow:0 2px 6px rgba(0,0,0,.15);animation:burstUp 1s ease-out forwards}@keyframes burstUp{0%{opacity:0;transform:translateY(0) scale(.6)}20%{opacity:1;transform:translateY(-10px) scale(1.15)}to{opacity:0;transform:translateY(-60px) scale(1)}}.kanban-ghost{position:fixed;box-shadow:0 18px 36px #12181f47;transform:scale(1.03) rotate(-1.2deg);border-radius:9px;border:1.5px solid var(--teal);opacity:.98}.kanban-empty-slot{font-size:11.5px;color:var(--slate);text-align:center;padding:16px 4px;border:1px dashed var(--line);border-radius:8px}.proj-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;margin-bottom:14px;overflow:hidden}.proj-head{display:flex;align-items:center;gap:12px;padding:16px 18px 12px;cursor:pointer}.proj-name{font-family:var(--font-display);font-size:16px;font-weight:600}.proj-sub{font-size:12px;color:var(--slate);margin-top:2px}.proj-pct{font-family:var(--font-mono);font-weight:700;font-size:14px;color:var(--teal)}.proj-caret{color:var(--slate);font-size:13px}.proj-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 18px 16px}.proj-chip{font-size:10.5px;font-weight:600;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:2px 9px;color:var(--slate)}.proj-tasklist{padding:14px 16px 16px;border-top:1px solid var(--line)}.analytics-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:8px}@media(max-width:480px){.analytics-grid{grid-template-columns:1fr}}.priority-bar-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.priority-bar-track{flex:1;height:8px;background:var(--line);border-radius:5px;overflow:hidden}.priority-bar-fill{height:100%;background:var(--teal);border-radius:5px}.proj-task-row{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:10px;padding:12px 8px 12px 14px;margin-bottom:8px}.proj-task-main{flex:1;min-width:0;cursor:pointer}.proj-task-menu-btn{flex-shrink:0}.dept-proj-row{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:9px;padding:10px 14px;margin-bottom:8px;cursor:pointer}.dept-proj-row:hover{border-color:var(--teal)}.proj-desc{font-size:12px;color:var(--slate);margin-top:6px;max-width:480px}.proj-tag-virtual{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--slate);background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:1px 7px;vertical-align:middle}.stacked-bar{display:flex;height:8px;margin:0 18px 10px;border-radius:5px;overflow:hidden;background:var(--line)}.stacked-bar span{display:block;height:100%}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#12181f00;display:none;z-index:70;transition:background .25s var(--ease-out)}.modal-overlay.active{display:block;background:#12181f80}.modal-box{position:fixed;top:50%;left:50%;transform:translate(-50%,-49%) scale(.98);opacity:0;pointer-events:none;background:var(--panel);border-radius:16px;width:92vw;max-width:480px;max-height:82vh;overflow-y:auto;z-index:71;padding:0;box-shadow:0 30px 70px #00000059;transition:transform .2s var(--ease-out),opacity .16s var(--ease-out)}.modal-box.active{transform:translate(-50%,-50%) scale(1);opacity:1;pointer-events:auto}.modal-head{padding:18px 20px 14px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-start;position:sticky;top:0;background:var(--panel)}.modal-body{padding:16px 20px 22px}.modal-title{font-family:var(--font-display);font-size:18px;font-weight:600;margin:2px 0}.modal-section{margin-bottom:16px}.modal-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--slate);font-weight:700;margin-bottom:6px}.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.modal-actions .btn{width:100%}.switch-user-row{display:flex;align-items:center;gap:10px;padding:10px 8px;border-radius:9px;cursor:pointer;border:1px solid transparent}.switch-user-row:hover{background:var(--paper)}.switch-user-row.active{background:var(--wait-bg);border-color:#b7cfea}.switch-user-row input{margin:0}.toast-wrap{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:60;display:flex;flex-direction:column;gap:8px;align-items:center}.toast{background:var(--ink);color:var(--paper);font-size:13px;padding:10px 18px;border-radius:30px;box-shadow:0 8px 24px #0003;opacity:0;transform:translateY(8px) scale(.96);transition:opacity .2s var(--ease-out),transform .2s var(--ease-out)}.toast.show{opacity:1;transform:translateY(0) scale(1)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:520px){.grid2{grid-template-columns:1fr}}.outer-tabs{position:sticky;top:0;z-index:100;display:flex;gap:0;background:var(--teal-dark);padding:0 14px;height:48px;align-items:center}.outer-tab{background:none;border:none;color:#b9d3cf;font-size:13.5px;font-weight:600;padding:0 16px;height:48px;border-bottom:3px solid transparent;font-family:var(--font-body)}.outer-tab.active{color:#fff;border-color:var(--amber)}.outer-tabs .brandmini{color:#fff;font-family:var(--font-display);font-weight:700;font-size:15px;margin-right:14px;display:flex;align-items:center;gap:6px}.sidebar{top:48px;height:calc(100vh - 48px)}.topbar{top:48px}#page-overview{display:none}#page-overview.active{display:block}#page-prototype{display:none}#page-prototype.active{display:block}.ov-wrap{max-width:880px;margin:0 auto;padding:34px 22px 80px}.ov-hero{margin-bottom:8px}.ov-hero .eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--amber-dark);font-weight:700;margin:0 0 6px}.ov-hero h1{font-family:var(--font-display);font-size:32px;font-weight:600;margin:0 0 10px}.ov-hero p{color:var(--slate);font-size:14.5px;max-width:620px;line-height:1.55}.ov-status-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:26px 0 32px}.ov-stat{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px;animation:fadeSlideUp .5s var(--ease-out) both}.ov-status-row .ov-stat:nth-child(1){animation-delay:.02s}.ov-status-row .ov-stat:nth-child(2){animation-delay:.08s}.ov-status-row .ov-stat:nth-child(3){animation-delay:.14s}.ov-status-row .ov-stat:nth-child(4){animation-delay:.2s}.ov-stat .n{font-family:var(--font-display);font-size:24px;font-weight:600}.ov-stat .l{font-size:11.5px;color:var(--slate);margin-top:4px}.ov-section{margin-bottom:34px}.ov-section h2{font-family:var(--font-display);font-size:20px;font-weight:600;margin:0 0 4px}.ov-section .sub{color:var(--slate);font-size:12.5px;margin:0 0 16px}.ov-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:640px){.ov-grid{grid-template-columns:1fr}}.ov-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px 18px;animation:fadeSlideUp .5s var(--ease-out) both;transition:transform .2s var(--ease-press),box-shadow .2s var(--ease-press)}.ov-card:hover{transform:translateY(-1px);box-shadow:0 10px 24px #12181f17}.ov-grid .ov-card:nth-child(2){animation-delay:.05s}.ov-grid .ov-card:nth-child(3){animation-delay:.1s}.ov-grid .ov-card:nth-child(4){animation-delay:.15s}.ov-grid .ov-card:nth-child(5){animation-delay:.2s}.ov-grid .ov-card:nth-child(6){animation-delay:.25s}.ov-card h3{font-size:14px;margin:0 0 8px;display:flex;align-items:center;gap:8px}.ov-card p{font-size:12.5px;color:var(--slate);margin:0;line-height:1.55}.ov-card ul{margin:8px 0 0;padding-left:18px;font-size:12.5px;color:var(--ink);line-height:1.7}.tag{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:20px}.tag.done{background:var(--good-bg);color:var(--good)}.tag.mock{background:var(--hold-bg);color:var(--hold)}.tag.next{background:var(--wait-bg);color:var(--wait)}.ov-table{width:100%;border-collapse:collapse;font-size:12.5px;background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden}.ov-table tr.clickable-row{cursor:pointer}.ov-table tr.clickable-row:hover{background:var(--paper)}.podium-row{display:flex;gap:12px;align-items:flex-end;margin-bottom:6px}.podium-card{flex:1;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px 12px;text-align:center;cursor:pointer;transition:transform .2s}.podium-card:hover{transform:translateY(-1px)}.podium-card.rank-1{border-color:var(--amber);background:linear-gradient(180deg,#FFF8EA,var(--panel));padding-top:26px;order:2}.podium-card.rank-2{order:1}.podium-card.rank-3{order:3}.podium-medal{font-size:26px;margin-bottom:4px}.podium-name{font-weight:700;font-size:13.5px;margin-top:4px}.podium-score{font-size:12px;color:var(--slate);margin-top:2px;font-family:var(--font-mono)}.leaderboard-fill{background:linear-gradient(90deg,var(--amber),var(--teal));width:0;transition:width .7s var(--ease-out)}.chart-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.analytics-dashboard{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}@media(max-width:900px){.analytics-dashboard{grid-template-columns:1fr}}.dash-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px}.dash-card-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--slate);margin-bottom:12px}.vbar-chart{display:flex;align-items:flex-end;justify-content:space-between;gap:6px;height:150px}.vbar-col{display:flex;flex-direction:column;align-items:center;flex:1;height:100%;justify-content:flex-end}.vbar-track{width:100%;max-width:26px;height:100px;display:flex;align-items:flex-end}.vbar-fill{width:100%;height:0;border-radius:5px 5px 0 0;transition:height .6s var(--ease-out)}.vbar-count{font-size:10.5px;font-weight:700;margin-top:4px}.vbar-label{font-size:10px;color:var(--slate);margin-top:1px}.radar-wrap{display:flex;justify-content:center}.donut-wrap svg{overflow:visible}.donut-legend{display:flex;flex-direction:column;gap:7px;flex:1;min-width:160px}.legend-row{font-size:12.5px;display:flex;align-items:center;gap:8px}.legend-row b{margin-left:auto;font-family:var(--font-mono)}.legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.bar-chart{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px 18px}.bar-chart-row{display:flex;align-items:center;gap:12px;padding:8px 0;cursor:pointer}.bar-chart-row:hover{background:var(--paper)}.bar-chart-label{width:100px;font-size:12.5px;font-weight:600;flex-shrink:0}.bar-chart-track{flex:1;height:14px;background:var(--line);border-radius:8px;overflow:hidden}.bar-chart-fill{height:100%;border-radius:8px;width:0;transition:width .7s var(--ease-out)}.dept-fill{background:linear-gradient(90deg,var(--teal),var(--good))}.bar-chart-value{width:40px;text-align:right;font-family:var(--font-mono);font-size:12px;color:var(--slate);flex-shrink:0}.todo-add-row{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.mic-btn{background:var(--panel);border:1px solid var(--line);border-radius:8px;min-width:40px;padding:0 10px;font-size:15px;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:6px;flex-shrink:0}.mic-btn:hover{border-color:var(--slate)}.mic-btn.rec{background:var(--bad);border-color:var(--bad);color:#fff;animation:micPulse 1.4s ease-in-out infinite}.mic-btn.unsupported{opacity:.5}@keyframes micPulse{0%,to{box-shadow:0 0 #d143438c}50%{box-shadow:0 0 0 7px #d1434300}}.voice-lang{font-size:11px;font-weight:700;padding:0 8px;border-radius:8px;border:1px solid var(--line);background:var(--paper);color:var(--slate);flex-shrink:0;min-width:40px;white-space:nowrap}.voice-lang:hover{border-color:var(--slate);color:var(--ink)}.voice-hint{font-size:12.5px;color:var(--slate);margin:-4px 0 12px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.voice-hint:empty{display:none}.voice-hint .vh-chip{background:var(--wait-bg);border:1px solid var(--line);border-radius:999px;padding:1px 9px;color:var(--ink);font-weight:600}.voice-hint.live{color:var(--bad);font-weight:600}.voice-hint kbd{font-family:var(--font-mono);font-size:10.5px;border:1px solid var(--line);border-radius:4px;padding:0 4px;background:var(--paper);color:var(--slate)}#commentVoiceHint{margin:6px 0 0}@media(max-width:640px){.comment-input .voice-lang{display:none}.comment-input .comment-attach-btn,.comment-input .mic-btn{width:36px;min-width:36px;padding:0}}@media(prefers-reduced-motion:reduce){.mic-btn.rec{animation:none}}.todo-text[dir=auto]{text-align:left}@media(max-width:640px){.topbar{gap:8px;padding:10px 12px}.topbar .search,.topbar .search input{min-width:0}.topbar-right{gap:8px}.topbar #newTaskBtn{display:none}.topbar .me{padding:4px;border-left:none}.topbar .me>div:not(.avatar){display:none}.voice-hint kbd{display:none}}.todo-item{display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin-bottom:8px;transition:opacity .3s,transform .3s}.todo-item.done{opacity:.55}.todo-item.done .todo-text{text-decoration:line-through}.todo-check{width:19px;height:19px;accent-color:var(--teal);cursor:pointer;flex-shrink:0}.todo-text{flex:1;min-width:0;font-size:13.5px;cursor:pointer}.todo-pin-badge{background:var(--wait-bg);color:var(--wait);font-size:10px;font-weight:700;padding:1px 7px;border-radius:20px;margin-right:6px}.todo-due{font-size:11px;color:var(--slate);font-family:var(--font-mono)}.todo-due.overdue{color:var(--bad);font-weight:700}.todo-delete{background:none;border:none;color:var(--slate);cursor:pointer;font-size:14px;flex-shrink:0}.todo-delete:hover{color:var(--bad)}.todo-section-toggle{background:none;border:none;color:var(--slate);font-size:12px;font-weight:600;margin:14px 0 8px;cursor:pointer}.todo-progress{font-size:12.5px;color:var(--slate);margin-bottom:14px}.todo-date-header{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--slate);margin:18px 0 8px;padding-bottom:4px;border-bottom:1px solid var(--line)}.todo-date-header:first-child{margin-top:0}.todo-date-header.overdue-header{color:var(--bad);border-color:#f2c9c9}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-dow{text-align:center;font-size:10.5px;font-weight:700;color:var(--slate);padding-bottom:4px}.cal-day{position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:12.5px;border-radius:8px;cursor:pointer;border:1px solid transparent}.cal-day:hover{background:var(--paper)}.cal-day.today{border-color:var(--teal);font-weight:700}.cal-day.has-items{background:var(--wait-bg)}.cal-day.selected{background:var(--teal);color:#fff}.cal-dot{position:absolute;bottom:2px;font-size:10px;background:var(--amber);color:var(--teal-dark);border-radius:20px;padding:0 4px;font-weight:700}.cal-popup{background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 24px #12181f1a;padding:12px 14px}.cal-popup-item{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--line);cursor:default}.cal-popup-item:last-child{border-bottom:none}.cal-popup-item[data-cal-open-task]{cursor:pointer}.cal-popup-item[data-cal-open-task]:hover{background:var(--paper)}.done-text{text-decoration:line-through;opacity:.55}.ov-table th,.ov-table td{padding:9px 12px;border-bottom:1px solid var(--line);text-align:left}.ov-table th{background:var(--paper);font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--slate)}.ov-table tr:last-child td{border-bottom:none}.ov-steps{counter-reset:step}.ov-step{display:flex;gap:12px;margin-bottom:14px}.ov-step .num{counter-increment:step;background:var(--teal);color:#fff;width:24px;height:24px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.ov-step .num:before{content:counter(step)}.ov-step code{background:var(--paper);border:1px solid var(--line);border-radius:5px;padding:1px 6px;font-family:var(--font-mono);font-size:11.5px}.ov-cta{background:var(--teal-dark);color:#efeae0;border-radius:12px;padding:26px 24px;margin-top:10px}.ov-cta h3{font-family:var(--font-display);font-size:18px;margin:0 0 6px;color:#fff}.ov-cta p{font-size:13px;color:#c7dad7;margin:0 0 14px;max-width:520px}.ov-cta button{background:var(--amber);border:none;color:var(--teal-dark);font-weight:700;padding:10px 18px;border-radius:8px;font-size:13.5px}.detail-panel{top:48px;height:calc(100vh - 48px);height:calc(100dvh - 48px);z-index:110}.overlay{top:48px;z-index:109}.modal-overlay{z-index:120}.modal-box{z-index:121}.toast-wrap{z-index:130}.panel-head{position:relative;z-index:1;background:var(--panel)}.panel-head-top{align-items:center}.panel-head-top .close-btn{flex-shrink:0}.admin-tabs{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin:4px 0 18px}.admin-tab{background:none;border:none;border-bottom:3px solid transparent;padding:10px 14px;font-size:13.5px;font-weight:600;color:var(--slate);cursor:pointer;transition:color .15s,border-color .15s}.admin-tab:hover{color:var(--ink)}.admin-tab.active{color:var(--teal);border-bottom-color:var(--teal)}.admin-panel{display:none}.admin-panel.active{display:block;animation:fadeSlideUp .2s var(--ease-out) both}.panel-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.admin-savebar{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 14px;margin-top:14px;box-shadow:0 -6px 16px #12181f0f}.setup-msg{font-size:12.5px;margin-top:10px;line-height:1.5}.setup-msg.good{color:var(--teal)}.setup-msg.bad{color:var(--bad)}.pw-set{font-size:10.5px;color:var(--good);font-weight:700;text-transform:none;letter-spacing:0;margin-left:6px}.perm-h{font-family:var(--font-display);font-weight:600;font-size:17px;margin:6px 0 8px}.perm-h:not(:first-child){margin-top:22px}.auth-toggle{min-width:44px;height:30px;border-radius:8px;border:1px solid var(--line);font-weight:800;font-size:13px;cursor:pointer;transition:background .15s,transform .1s}.auth-toggle.on{background:#e3f4ea;color:var(--good);border-color:#bfe3cd}.auth-toggle.off{background:var(--paper);color:#b3ada0}.auth-toggle:not([disabled]):hover{transform:scale(1.06);box-shadow:0 2px 8px #12181f1a}.auth-toggle:not([disabled]):active{transform:scale(.96)}.auth-toggle[disabled]{cursor:not-allowed;opacity:.85}.auth-toggle.locked{font-size:11px}.perm-note{font-size:13px;background:var(--wait-bg);border:1px solid #B7CFEA;border-radius:10px;padding:10px 12px;margin-top:14px}.fixed-rules{margin:6px 0 0;padding-left:18px;font-size:13px;line-height:1.7}.brand-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.brand-grid input[type=color]{height:40px;padding:3px}.tpl-layout{display:grid;grid-template-columns:210px minmax(0,1fr) minmax(0,1.1fr);gap:14px;align-items:start}.tpl-list{display:flex;flex-direction:column;gap:6px}.tpl-item{text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:13px;cursor:pointer}.tpl-item:hover{border-color:var(--teal)}.tpl-item.active{background:var(--teal);border-color:var(--teal);color:#fff;font-weight:600}.tpl-form .field{margin-bottom:8px}.ph-chips{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px}.ph-chip{border:1px dashed var(--teal);background:var(--wait-bg);color:var(--teal);border-radius:20px;padding:3px 10px;font-size:11.5px;font-weight:600;cursor:pointer}.ph-chip:hover{background:var(--teal);color:#fff;border-style:solid}.chk-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 10px;margin-bottom:6px}.tpl-frame{width:100%;height:520px;border:1px solid var(--line);border-radius:10px;background:#fff}.tpl-preview-card{position:sticky;top:10px}@media(max-width:1100px){.tpl-layout{grid-template-columns:1fr}.tpl-list{flex-direction:row;flex-wrap:wrap}.tpl-preview-card{position:static}.brand-grid{grid-template-columns:1fr 1fr}}.test-badge{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.06em;background:#ffe8b3;color:#8a5a00;border:1px solid #F2C46B;border-radius:6px;padding:1px 6px;margin-left:6px;vertical-align:middle}.test-banner{display:none;background:#fff4d6;border:1px solid #F2C46B;color:#7a4e00;border-radius:10px;padding:8px 12px;margin-bottom:12px;font-size:13px;font-weight:600}.test-banner.active{display:block}.test-counts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:6px 0 12px}.test-counts div{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:8px;text-align:center}.test-counts b{display:block;font-size:20px;font-family:var(--font-display)}.test-counts span{font-size:11px;color:var(--slate)}.import-sum{display:flex;gap:14px;font-size:13px;font-weight:700;margin-bottom:8px}.import-sum .ok{color:var(--good)}.import-sum .bad{color:var(--bad)}.import-table tr.row-bad td{background:#fdecec}.import-table tr.row-warn td{background:#fff7e0}.login-screen{display:none;position:fixed;left:0;right:0;bottom:0;top:48px;z-index:250;background:linear-gradient(135deg,#0e2f2c,#1f5f5b 60%,#2c7a73);align-items:center;justify-content:center;padding:20px;overflow-y:auto}.login-screen.active{display:flex}.login-card{background:var(--panel);border-radius:20px;padding:28px;width:100%;max-width:400px;box-shadow:0 30px 70px #00000059;animation:popIn .25s var(--ease-out) both}.login-brand{display:flex;align-items:center;gap:10px;margin-bottom:18px}.login-logo{width:40px;height:40px;border-radius:11px;background:var(--amber);color:var(--teal-dark);font-weight:800;font-size:20px;display:flex;align-items:center;justify-content:center;font-family:var(--font-display)}.login-name{font-family:var(--font-display);font-size:19px;font-weight:600}.login-tag{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--slate)}.login-title{font-family:var(--font-display);font-size:26px;margin:0 0 4px}.login-sub{color:var(--slate);font-size:13.5px;margin:0 0 16px}.login-btn{width:100%;height:44px;font-size:15px;margin-top:6px}.login-error{color:var(--bad);font-size:13px;min-height:18px;margin:2px 0 6px}.login-help{font-size:12px;color:var(--slate);margin:14px 0 0;text-align:center}.pw-wrap{position:relative}.pw-wrap .field{padding-right:42px}.pw-eye{position:absolute;right:6px;top:4px;background:none;border:none;font-size:16px;cursor:pointer;padding:6px}.login-demo{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}.login-demo summary{cursor:pointer;font-size:12.5px;font-weight:600;color:var(--teal)}.demo-acct{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:7px 10px;margin-top:6px;cursor:pointer;font-size:12.5px}.demo-acct:hover{border-color:var(--teal)}.demo-acct small{color:var(--slate)}:focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-radius:6px}button:focus-visible,.btn:focus-visible,.field:focus-visible{outline:2px solid var(--teal);outline-offset:2px}@media(max-width:760px){.btn.small{min-height:36px}.auth-toggle{min-height:38px;min-width:48px}.row-pin-btn{width:36px;height:36px}.link-btn{padding:8px 0}.ph-chip{padding:7px 12px}.icon-btn{min-width:40px;min-height:40px}}.sidebar{top:0;height:100vh;height:100dvh}.topbar{top:0}.detail-panel{top:0;height:100vh;height:100dvh}.overlay,.login-screen{top:0}.view{display:block;animation:fadeSlideUp .2s var(--ease-out) both}html,body,#root{min-height:100%}body{-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;text-size-adjust:100%;-webkit-text-size-adjust:100%}a{color:var(--link)}button{font-family:inherit;cursor:pointer;color:inherit}input,select,textarea{font-family:inherit}.nav-item{cursor:pointer;font-family:inherit}a.nav-item,a.btn{text-decoration:none}:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.me-menu{position:absolute;right:0;top:calc(100% + 8px);background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 40px #12181f2e;min-width:230px;padding:8px;z-index:95}.me-menu .who{padding:8px 10px 10px;border-bottom:1px solid var(--line);margin-bottom:6px}.me-menu .who b{display:block;font-size:13.5px}.me-menu .who span{font-size:11.5px;color:var(--slate)}.me-menu button,.me-menu a{display:flex;width:100%;gap:8px;align-items:center;background:none;border:none;text-align:left;padding:9px 10px;border-radius:8px;font-size:13px;color:var(--ink);text-decoration:none}.me-menu button:hover,.me-menu a:hover{background:var(--paper)}.page-loading{padding:60px 20px;text-align:center;color:var(--slate);font-size:13.5px}.spinner{width:22px;height:22px;border:3px solid var(--line);border-top-color:var(--teal);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 10px}@keyframes spin{to{transform:rotate(360deg)}}.error-box{background:var(--bad-bg);border:1px solid var(--bad);color:var(--ink);border-radius:10px;padding:12px 14px;font-size:13px;margin:10px 0}.offline-bar{position:sticky;top:0;z-index:120;background:var(--hold-bg);color:var(--hold-ink);font-size:12.5px;font-weight:600;text-align:center;padding:6px 10px}.field-error{border-color:var(--bad)!important}.more-sheet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:6px 2px 4px}.more-sheet-grid a,.more-sheet-grid button{display:flex;flex-direction:column;align-items:center;gap:6px;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:16px 6px;font-size:12px;font-weight:600;color:var(--ink);text-decoration:none}.more-sheet-grid b{font-size:20px;font-weight:400}@media(max-width:880px){.topbar{padding:10px 12px;padding-top:calc(10px + env(safe-area-inset-top));gap:8px}.topbar .search,.topbar .search input{min-width:0}.topbar-right{gap:8px}.topbar #newTaskBtn{display:none}.topbar .me{padding:4px;border-left:none}.topbar .me>div:not(.avatar){display:none}main{padding:16px 14px calc(96px + env(safe-area-inset-bottom))}.view-title{font-size:23px}.sidebar{padding-top:calc(22px + env(safe-area-inset-top));padding-bottom:calc(22px + env(safe-area-inset-bottom))}.sidebar:not(.open){box-shadow:none}input,select,textarea,.field{font-size:16px!important}.btn{min-height:40px}.btn.small{min-height:36px}.icon-btn{min-width:40px;min-height:40px}.nav-item{min-height:44px}.tab{min-height:40px}.modal-box{top:auto;bottom:0;left:0;right:0;width:100%;max-width:none;max-height:92vh;max-height:92dvh;border-radius:18px 18px 0 0;transform:translateY(24px);padding-bottom:env(safe-area-inset-bottom)}.modal-box.active{transform:translateY(0)}.modal-box:before{content:"";display:block;width:38px;height:4px;border-radius:4px;background:var(--line);margin:8px auto 0}#dialogLayer{align-items:flex-end;padding:0}.dlg-card{max-width:none;border-radius:18px 18px 0 0;padding-bottom:calc(18px + env(safe-area-inset-bottom))}.toast-wrap{bottom:calc(86px + env(safe-area-inset-bottom));width:calc(100% - 28px)}.toast{max-width:100%;text-align:center}.detail-panel{width:100vw;box-shadow:none}.me-menu{position:fixed;left:10px;right:10px;top:auto;bottom:calc(84px + env(safe-area-inset-bottom))}.bottom-nav a{position:relative;background:none;border:none;display:flex;flex-direction:column;align-items:center;gap:1px;font-size:10px;color:var(--slate);padding:4px 8px;border-radius:10px;text-decoration:none;min-width:56px}.bottom-nav a b{font-size:17px;font-weight:400}.bottom-nav a.active{color:var(--teal);background:var(--wait-bg)}.bottom-nav button{min-width:56px}}@media(min-width:881px){.bottom-nav{display:none}}@media(display-mode:standalone){.login-screen{padding-top:calc(20px + env(safe-area-inset-top))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bad-ink:#F3A0A0;--wait-ink:#9CC2F5;--good-ink:#7FD3A5}:root:not([data-theme=light]) :is(.priority-chip.high,.status-pill.overdue,.status-tag.overdue,.status-tag.not_started){color:var(--bad-ink)}:root:not([data-theme=light]) :is(.priority-chip.med,.status-pill.blocked,.status-tag.blocked,.auth-cond,.points-badge,.tag.mock){color:var(--hold-ink)}:root:not([data-theme=light]) :is(.priority-chip.low,.status-pill.progress,.status-tag.in_progress,.mention-chip,.match-badge.mirror-badge,.tag.next,.todo-pin-badge,.org-role-tag.lead){color:var(--wait-ink)}:root:not([data-theme=light]) :is(.status-pill.complete,.status-tag.completed,.match-badge:not(.mirror-badge),.tag.done,.sig-acked){color:var(--good-ink)}:root:not([data-theme=light]) .ph-chip{color:var(--link);border-color:var(--link)}}:root[data-theme=dark]{--bad-ink:#F3A0A0;--wait-ink:#9CC2F5;--good-ink:#7FD3A5}:root[data-theme=dark] :is(.priority-chip.high,.status-pill.overdue,.status-tag.overdue,.status-tag.not_started){color:var(--bad-ink)}:root[data-theme=dark] :is(.priority-chip.med,.status-pill.blocked,.status-tag.blocked,.auth-cond,.points-badge,.tag.mock){color:var(--hold-ink)}:root[data-theme=dark] :is(.priority-chip.low,.status-pill.progress,.status-tag.in_progress,.mention-chip,.match-badge.mirror-badge,.tag.next,.todo-pin-badge,.org-role-tag.lead){color:var(--wait-ink)}:root[data-theme=dark] :is(.status-pill.complete,.status-tag.completed,.match-badge:not(.mirror-badge),.tag.done,.sig-acked){color:var(--good-ink)}:root[data-theme=dark] .ph-chip{color:var(--link);border-color:var(--link)}main>.test-banner{background:var(--hold-bg);border-color:var(--amber);color:var(--hold-ink)}main>.test-banner .ico{vertical-align:-2px;margin-inline-end:4px}@media print{.sidebar,.sidebar-backdrop,.topbar,.bottom-nav,.offline-bar,.toast-wrap,#dialogLayer{display:none!important}.app{display:block!important;min-height:0!important}.app>div:last-child{width:100%!important}main{max-width:none!important;padding:0!important;margin:0!important}html,body,#root{background:#fff!important;min-height:0!important}.view{animation:none!important}:root:not([data-theme=light]),:root[data-theme=dark]{--ink:#12181F;--paper:#F7F5F0;--panel:#FFFFFF;--line:#E4E0D8;--slate:#5B6470;--good-bg:#E8F5EE;--bad-bg:#FBEAEA;--wait-bg:#EAF1FC;--hold-bg:#FBF1DF;--hold-ink:#7A5200;--link:#1F5F5B;--bad-ink:var(--bad);--wait-ink:var(--wait);--good-ink:var(--good);color-scheme:light}body.printing *{visibility:hidden!important}body.printing .print-area,body.printing .print-area *{visibility:visible!important}body.printing .print-area{position:absolute!important;left:0;top:0;width:100%;margin:0;padding:0;background:#fff;color:#000;box-shadow:none;border:none}body.printing .no-print{display:none!important}@page{margin:14mm}}.role-strip,.role-action,.task-meta,.task-row,.panel-sec,.panel-title,.view-title,.modal-title,.c-text,.aq-card,.notif-row,.search-result-row,.todo-text,.ann-body,.stat .l{overflow-wrap:anywhere;word-break:normal;min-width:0}.sec-text[dir=auto],.c-text,.review-text,.aq-text,.decision-note,.thread-text,.ra-context,.sig-body,textarea.field[dir=auto]{unicode-bidi:plaintext;text-align:start}.legacy .screen{min-height:100vh;display:flex;flex-direction:column}.legacy .center{display:flex;align-items:center;justify-content:center;flex:1;padding:24px}.legacy .card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:28px;width:100%;max-width:380px}.legacy .card h1{font-family:var(--font-display);font-size:24px;margin:0 0 4px}.legacy .card p{color:var(--slate);font-size:13.5px;margin:0 0 20px}.legacy .field{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:14px;margin-bottom:12px}.legacy .btn{width:100%;border:none;border-radius:8px;background:var(--teal);color:#fff;padding:11px;font-size:14px;font-weight:600}.legacy .btn:hover{background:var(--teal-dark)}.legacy .btn.secondary{background:var(--paper);color:var(--ink);border:1px solid var(--line)}.legacy .error{color:var(--bad);font-size:12.5px;margin-bottom:10px}.legacy .topbar{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line);background:var(--panel);position:sticky;top:0}.legacy .topbar h2{font-family:var(--font-display);font-size:18px;margin:0}.legacy .topbar .spacer{flex:1}.legacy .pill-btn{border:1px solid var(--line);border-radius:20px;background:var(--panel);padding:7px 14px;font-size:12.5px;font-weight:600}.legacy main.content{padding:16px;max-width:760px;margin:0 auto;width:100%}.legacy .task-row{display:block;text-decoration:none;color:inherit;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px;margin-bottom:10px}.legacy .task-row:hover{border-color:var(--teal)}.legacy .task-row .id{font-family:monospace;font-size:11px;color:var(--slate)}.legacy .task-row h3{margin:2px 0 6px;font-size:15px}.legacy .assignee-line{display:flex;justify-content:space-between;font-size:12.5px;padding:5px 0;border-top:1px solid var(--line)}.legacy .status-tag{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:20px}.legacy .status-tag.completed{background:var(--good-bg);color:var(--good)}.legacy .status-tag.in_progress{background:var(--wait-bg);color:var(--wait)}.legacy .status-tag.blocked{background:var(--hold-bg);color:var(--hold)}.legacy .status-tag.not_started,.legacy .status-tag.overdue{background:var(--bad-bg);color:var(--bad)}.legacy .banner{background:var(--wait-bg);border:1px solid #B7CFEA;border-radius:9px;padding:10px 14px;font-size:12.5px;margin-bottom:14px;display:flex;justify-content:space-between;align-items:center;gap:10px}.legacy .empty{text-align:center;color:var(--slate);padding:40px 10px;font-size:13.5px}.legacy .c-row{font-size:13.5px;padding:10px 0;border-bottom:1px solid var(--line)}.legacy .c-meta{color:var(--slate);font-size:11.5px;margin-bottom:3px}.legacy .c-quote{background:var(--paper);border-left:3px solid var(--teal);border-radius:6px;padding:5px 9px;margin-bottom:6px;font-size:12px;color:var(--slate)}.legacy .c-quote b{display:block;color:var(--teal);font-size:11px}.legacy .c-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}.legacy .mini{width:auto;padding:6px 12px;font-size:12.5px;border-radius:8px;border:1px solid var(--line);background:var(--panel);color:var(--ink);font-weight:600}.legacy .mini.need{background:var(--amber);border-color:#c77f17;color:#2b1d00}.legacy .mini.need.off{background:var(--hold-bg);border-style:dashed;color:#7a5200;cursor:help}.legacy .mini.primary{background:var(--teal);border-color:var(--teal);color:#fff}.legacy .mini.danger{color:var(--bad);border-color:var(--bad)}.legacy .c-badge{display:inline-block;margin-top:8px;font-size:12.5px;border-radius:8px;padding:5px 10px;border:1px solid var(--line)}.legacy .c-badge.approved{background:var(--good-bg);border-color:var(--good)}.legacy .c-badge.rejected{background:var(--bad-bg);border-color:var(--bad)}.legacy .file-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:7px 10px;margin-top:6px}.legacy .file-row .name{flex:1 1 90px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legacy .file-row .size{font-family:monospace;font-size:11px;color:var(--slate)}.legacy .link{background:none;border:none;color:var(--teal);font-weight:600;font-size:12.5px;padding:2px 4px}.legacy .sheet-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#12181f8c;display:flex;align-items:center;justify-content:center;padding:14px;z-index:50}.legacy .sheet{background:var(--panel);border-radius:14px;width:min(520px,100%);max-height:calc(100dvh - 28px);overflow:auto;box-shadow:0 30px 70px #00000059}.legacy .sheet.wide{width:min(900px,100%)}.legacy .sheet-head{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;padding:16px 18px 12px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--panel)}.legacy .sheet-body{padding:14px 18px 18px}.legacy .sheet-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--slate);font-weight:700;margin:14px 0 6px}.legacy .sheet-label:first-child{margin-top:0}.legacy .aq-card{background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--teal);border-radius:10px;padding:10px 12px;font-size:13.5px;white-space:pre-wrap;word-break:break-word}.legacy .viewer-body{display:flex;align-items:center;justify-content:center;min-height:200px;background:var(--paper);padding:12px}.legacy .viewer-body img{max-width:100%;max-height:70dvh;object-fit:contain}.legacy .viewer-body iframe{width:100%;height:70dvh;border:0;background:#fff}.legacy .comment-form{display:flex;gap:8px;margin-top:10px;align-items:stretch}.legacy .mic-btn{background:var(--panel);border:1px solid var(--line);border-radius:8px;min-width:42px;padding:0 10px;font-size:15px;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.legacy .mic-btn:hover{border-color:var(--slate)}.legacy .mic-btn.rec{background:var(--bad);border-color:var(--bad);color:#fff;animation:micPulse 1.4s ease-in-out infinite}.legacy .mic-btn.unsupported{opacity:.5}.legacy .mic-btn:focus-visible,.legacy .voice-lang:focus-visible{outline:2px solid var(--teal);outline-offset:2px}@keyframes micPulse{0%,to{box-shadow:0 0 #d1434373}50%{box-shadow:0 0 0 7px #d1434300}}.legacy .voice-lang{font-size:11px;font-weight:700;padding:0 8px;border-radius:8px;border:1px solid var(--line);background:var(--paper);color:var(--slate);flex-shrink:0;min-width:42px;white-space:nowrap}.legacy .voice-lang:hover{border-color:var(--slate);color:var(--ink)}.legacy .voice-hint{font-size:12.5px;color:var(--slate);margin-top:6px}.legacy .voice-hint.live{color:var(--bad);font-weight:600}.legacy .voice-hint kbd{font-family:monospace;font-size:10.5px;border:1px solid var(--line);border-radius:4px;padding:0 4px;background:var(--paper);color:var(--slate)}@media(max-width:640px){.legacy .voice-hint kbd{display:none}.legacy .comment-form .mic-btn,.legacy .comment-form .voice-lang{min-width:38px;padding:0 6px}}@media(prefers-reduced-motion:reduce){.legacy .mic-btn.rec{animation:none}}.legacy .pill-btn{white-space:nowrap}@media(max-width:640px){.legacy .topbar{flex-wrap:wrap;gap:8px;padding:12px 14px}.legacy .topbar h2{flex:1 0 100%}.legacy .topbar .spacer{display:none}.legacy .pill-btn{padding:7px 11px}}@media(max-width:880px){:root{--mobile-css:1;--tabbar: calc(58px + env(safe-area-inset-bottom)) ;--press:inset 0 0 0 100vmax rgba(128,128,128,.14)}html{scroll-padding-top:calc(72px + env(safe-area-inset-top));scroll-padding-bottom:calc(var(--tabbar) + 92px + var(--kb,0px))}html.kbd-open{scroll-padding-bottom:calc(132px + var(--kb,0px))}main{padding-bottom:calc(var(--tabbar) + 34px);padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}.topbar{min-height:calc(57px + env(safe-area-inset-top));padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.topbar .menu-btn,.topbar .icon-btn{width:44px;height:44px;min-width:44px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.topbar .search{max-width:none;min-height:44px;padding:0 12px;border-radius:12px}.topbar .search input{height:42px;text-overflow:ellipsis}.topbar .me{width:44px;height:44px;justify-content:center;padding:0;border-radius:50%}.topbar .me .avatar{width:36px;height:36px;font-size:13px}.topbar .dot{top:5px;right:5px}.offline-bar{height:calc(28px + env(safe-area-inset-top));padding:calc(6px + env(safe-area-inset-top)) 12px 0;font-size:11.5px;line-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.offline-bar+.topbar{top:calc(28px + env(safe-area-inset-top));padding-top:10px;min-height:57px}.bottom-nav{min-height:var(--tabbar);padding:5px max(6px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));justify-content:space-between;gap:2px;transition:transform .22s var(--ease-out),visibility .22s}.bottom-nav a,.bottom-nav button:not(.bn-new){flex:1 1 0;min-width:56px;max-width:104px;min-height:48px;justify-content:center;gap:2px;font-size:10.5px;font-weight:600;line-height:1.15;white-space:nowrap;-webkit-tap-highlight-color:transparent}.bottom-nav a.active,.bottom-nav button.active{color:var(--link)}.bottom-nav a:active,.bottom-nav button:not(.bn-new):active{box-shadow:var(--press)}.bottom-nav .bn-new{flex:0 0 auto;min-width:0;width:52px;height:52px;margin-left:6px;margin-right:6px}body:has(.sticky-actions) .bottom-nav .bn-new,body:has(.admin-savebar) .bottom-nav .bn-new,body:has(.ticket-page .composer) .bottom-nav .bn-new{margin-top:0;width:46px;height:46px;box-shadow:none}.bottom-nav .bn-badge{top:1px;right:auto;left:calc(50% + 7px);min-width:18px;height:18px;border-radius:9px;padding:0 5px;font-size:10.5px;font-weight:700;line-height:1;box-shadow:0 0 0 2px var(--panel);font-variant-numeric:tabular-nums}html.kbd-open .bottom-nav{transform:translateY(110%);visibility:hidden}.toast-wrap{bottom:calc(var(--tabbar) + 28px);pointer-events:none}body:has(.sticky-actions) .toast-wrap,body:has(.admin-savebar) .toast-wrap{bottom:calc(var(--tabbar) + 84px)}body:has(.ticket-page .composer) .toast-wrap{bottom:calc(var(--tabbar) + 150px)}html.kbd-open .toast-wrap{bottom:calc(var(--kb,0px) + 150px)}body:has(>.modal-box.active) .toast-wrap,body:has(>#dialogLayer.active) .toast-wrap,body:has(>.detail-panel) .toast-wrap{bottom:auto;top:calc(12px + env(safe-area-inset-top));z-index:320}.toast{font-size:13.5px;padding:11px 18px;border-radius:14px;line-height:1.35}.view-head:not(.rep-filter-head){position:relative;align-items:center;gap:4px 10px;margin-bottom:12px}.view-head:not(.rep-filter-head):has(>div:first-child>.eyebrow){padding-top:16px}.view-head:not(.rep-filter-head)>div:first-child>.eyebrow{position:absolute;top:0;left:0;right:0;font-size:10px;letter-spacing:.1em;line-height:15px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.view-head:not(.rep-filter-head)>div:first-child{flex:1 1 auto;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center}.view-head:not(.rep-filter-head)>div:first-child>.view-title{grid-column:1 / -1;min-height:44px;display:flex;align-items:center;font-size:22px;line-height:1.25;overflow-wrap:break-word}.view-head:not(.rep-filter-head)>div:first-child>.back-link+.view-title{grid-column:2}.view-head:not(.rep-filter-head)>div:first-child>.view-sub{grid-column:1 / -1;font-size:12.5px;line-height:1.4;margin:0 0 2px;width:0;min-width:100%}.view-head:not(.rep-filter-head)>div:nth-child(2){flex:0 1 auto;margin-left:auto;justify-content:flex-end}.view-head:not(.rep-filter-head)>div:nth-child(2):has(>:nth-child(3)){flex:1 1 100%;justify-content:flex-start}.view-head:not(.rep-filter-head)>div:nth-child(2):has(>:nth-child(3))>.btn{flex:1 1 auto;justify-content:center}.back-link{width:44px;height:44px;margin:0 -4px 0 -12px;padding:0;border:none;background:none;border-radius:50%;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;-webkit-tap-highlight-color:transparent}.back-link:active{box-shadow:var(--press)}.btn{min-height:44px;border-radius:10px;-webkit-tap-highlight-color:transparent}.btn.small{min-height:40px;padding:6px 12px;font-size:12.5px}.icon-btn{min-width:44px;min-height:44px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center}.close-btn,.icon-btn.close-btn{width:44px;height:44px;min-width:44px;border-radius:50%}.tab{min-height:44px;min-width:44px;padding:10px 6px;margin-right:12px;text-align:center}.tabs{scrollbar-width:none;gap:2px}.tabs::-webkit-scrollbar{display:none}label.field-label{display:block;margin-bottom:6px}.field{min-height:44px;border-radius:10px}select.field{padding-right:28px}textarea.field{line-height:1.45}.chk,.nt-check input[type=checkbox]{width:22px;height:22px;flex-shrink:0}.df-chip{min-height:40px;padding:5px 14px;display:inline-flex;align-items:center}.df-chips,.sig-chips{gap:8px}.nt-check{min-height:44px;padding:4px 0}.link-btn{min-height:44px;display:flex;align-items:center;font-size:12.5px}.link-btn.inline{display:inline;min-height:0;position:relative;font-size:inherit}.link-btn.inline:after{content:"";position:absolute;top:-14px;right:-6px;bottom:-14px;left:-6px}.role-action .link-btn.inline,.role-wait .link-btn.inline{display:inline-flex;align-items:center;min-height:40px;font-size:12.5px}.role-action .link-btn.inline:after,.role-wait .link-btn.inline:after{content:none}.switch{width:48px;height:28px}.switch:after{content:"";position:absolute;top:-9px;right:-4px;bottom:-9px;left:-4px}.switch span:before{width:22px;height:22px}.switch input:checked+span:before{transform:translate(20px)}.toggle-row{min-height:48px;gap:12px}.task-row:hover,.kpi-stat[data-goto-filter]:hover,.podium-card:hover,.ov-card:hover{transform:none;box-shadow:none}.task-row:hover,.proj-card:hover,.sig-row:hover,.dept-proj-row:hover,.df-chip:hover,.btn:hover,.kpi-stat[data-goto-filter]:hover{border-color:var(--line)}.btn.primary:hover{background:var(--teal);border-color:var(--teal)}.df-chip.active:hover{border-color:var(--teal)}.sig-row.unread:hover{border-left-color:var(--amber)}.task-row,.notif-row,.proj-card,.proj-task-row,.dept-proj-row,.stat,.todo-item,.search-result-row,.picker-row,.pp-row,.pick-one-row,.todo-pin-row,.org-assign-row,.ep-item,.cal-popup-item,.more-sheet-grid a,.more-sheet-grid button,.df-chip,.admin-tab,.kanban-card,.legend-row,.bar-chart-row{-webkit-tap-highlight-color:transparent}.task-row:active,.notif-row.sig-row:active,.proj-head:active,.proj-task-row:active,.dept-proj-row:active,a.stat:active,.search-result-row:active,.picker-row:active,.pp-row:active,.pick-one-row:active,.todo-pin-row:active,.org-assign-row:active,.ep-item:active,button.cal-popup-item:active,.more-sheet-grid a:active,.more-sheet-grid button:active,.df-chip:active,.admin-tab:active,.kanban-card:active,a.legend-row:active,a.bar-chart-row:active,a.podium-card:active,.mention-dropdown-item:active,.icon-btn:active,.btn.secondary:active,.btn:not(.primary):not(.danger-solid):not(.amber):not(.ca-need):active{box-shadow:var(--press)}.task-row:has(.row-pin-btn:active):active{box-shadow:none}.modal-overlay{touch-action:none}.modal-box{display:flex;flex-direction:column;overflow:hidden;bottom:var(--kb,0px);padding-bottom:0;max-height:min(92dvh,calc(var(--vvh,100dvh) - 8px));overscroll-behavior:contain}.modal-box:before{flex:0 0 auto;margin:8px auto 2px}.modal-box>.modal-head{position:static;flex:0 0 auto;align-items:center;gap:10px;padding:8px 12px 12px 18px}.modal-box>.modal-head>div:first-child{flex:1;min-width:0}.modal-box .modal-title{font-size:18px;line-height:1.3;overflow-wrap:anywhere}.modal-box>.modal-head .eyebrow{font-size:10.5px;letter-spacing:.09em;overflow-wrap:anywhere}.modal-box>.modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:14px 16px calc(18px + env(safe-area-inset-bottom));scroll-padding:12px 0 96px}.modal-body .modal-actions{position:sticky;bottom:calc(-18px - env(safe-area-inset-bottom));z-index:3;background:var(--panel);margin:16px -16px calc(-18px - env(safe-area-inset-bottom));padding:10px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);box-shadow:0 -10px 16px -12px #12181f2e}.modal-body .modal-actions .btn{min-height:48px;justify-content:center;font-size:14px}.modal-body .modal-actions:has(>.btn.danger):not(#modalPrimaryActions){display:contents}.modal-body .modal-actions:has(>.btn.danger):not(#modalPrimaryActions)>.btn{display:flex;width:100%}.modal-body .modal-actions:has(>.btn.danger):not(#modalPrimaryActions)>.btn:not(.danger){position:sticky;bottom:0;z-index:3;margin-top:16px;box-shadow:0 0 0 12px var(--panel),0 14px 0 12px var(--panel)}.modal-body .modal-actions:has(>.btn.danger):not(#modalPrimaryActions)>.btn.danger{margin-top:28px;background:none}.modal-body #modalPrimaryActions{position:static;margin:16px 0 0;padding:0;border-top:none;box-shadow:none;grid-template-columns:1fr 1fr}.modal-body #modalPrimaryActions #modalApprove{grid-column:1 / -1;order:1}.modal-body #modalPrimaryActions #modalDelegate{order:2}.modal-body #modalPrimaryActions #modalApproveDelegate{order:3}.modal-body #modalPrimaryActions #modalDelegate:last-child,.modal-body #modalPrimaryActions #modalDelegate:nth-last-child(1){grid-column:1 / -1}.modal-body #modalPrimaryActions #modalReject{grid-column:1 / -1;order:4;margin-top:14px}.modal-body .sig-actions{position:sticky;bottom:calc(-18px - env(safe-area-inset-bottom));z-index:3;background:var(--panel);margin:4px -16px calc(-18px - env(safe-area-inset-bottom));padding:10px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}.modal-body .sig-actions .btn{min-height:44px}.modal-body .sig-actions .btn.danger{flex:0 0 auto;order:-1;margin-right:auto;border-color:transparent}.modal-box.modal-xl:before{content:none}.modal-box.modal-xl>.nt-head{padding-top:calc(12px + env(safe-area-inset-top));flex:0 0 auto}.modal-box.modal-xl>.nt-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.modal-box.modal-xl>.nt-footer{flex:0 0 auto;padding-bottom:calc(12px + env(safe-area-inset-bottom))}#dialogLayer{bottom:var(--kb,0px)}.dlg-card{max-height:calc(var(--vvh,100dvh) - 16px);overflow-y:auto;overscroll-behavior:contain;padding:22px 18px calc(16px + env(safe-area-inset-bottom))}.dlg-title{font-size:18px;line-height:1.3;overflow-wrap:anywhere}.dlg-msg{font-size:14px;overflow-wrap:anywhere}.dlg-actions{gap:10px;margin-top:14px}.dlg-actions .btn{min-height:48px;justify-content:center;font-size:14px}.detail-panel>.panel-head{padding-top:calc(14px + env(safe-area-inset-top))}.detail-panel>.panel-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:calc(32px + env(safe-area-inset-bottom))}.detail-panel .close-btn{width:44px;height:44px;min-width:44px}body .org-panel .panel-title{font-size:20px;margin:4px 0}body .org-member .icon-btn,body .org-panel .org-takeout{min-width:44px;min-height:44px}body .org-member .field.org-role{min-height:44px}.more-sheet-grid{gap:10px;padding:2px 0 4px}.more-sheet-grid a,.more-sheet-grid button{min-height:84px;justify-content:center;text-align:center;line-height:1.25;padding:12px 4px;font-size:12.5px}.sticky-actions{position:sticky;bottom:var(--tabbar);z-index:30;box-shadow:0 -10px 18px -10px #12181f33}html.kbd-open .sticky-actions{bottom:var(--kb,0px)}body .ticket-form{overflow:visible}body .ticket-form .nt-footer.sticky-actions{padding:10px 12px;gap:10px;border-top:1px solid var(--line)}body .ticket-form .nt-footer.sticky-actions .btn{min-height:48px;font-size:14px}body .ticket-form .nt-footer.sticky-actions .btn.primary{flex:1.6}body .ticket-form .nt-head{padding:12px 14px}body .ticket-form .nt-head .close-btn{width:44px;height:44px;min-width:44px}body .ticket-form .nt-head .nt-head-ic{display:none}body .ticket-form .nt-head .modal-title{font-size:19px}body .ticket-form .nt-sub{font-size:12px;line-height:1.35}body .ticket-form .picker-list{overscroll-behavior:auto}body .ticket-form .picker-row{min-height:48px}body .ticket-form .step-row .icon-btn{margin-top:0}body #view-admin .admin-savebar{bottom:var(--tabbar);z-index:30;border-radius:12px 12px 0 0}html.kbd-open body #view-admin .admin-savebar{bottom:var(--kb,0px)}body #view-admin .admin-savebar .btn{min-height:44px}body .ticket-page{overflow:visible}body .ticket-page .panel-head-top,body .ticket-head-actions{gap:8px}body .ticket-page .activity-body .link-btn:not(.inline){margin-top:8px}body .ticket-page .status-actions{gap:8px}body .ticket-page .ticket-no{min-height:40px;display:inline-flex;align-items:center}body .ticket-page .ticket-no-row{gap:4px 8px}body .ticket-status-select{min-height:44px;padding-right:28px}body .ticket-page .task-meta{gap:8px 10px}body .ticket-page .chan-tab{min-height:40px}body .ticket-page .att-row{min-height:48px}body .ticket-page .progress-edit input[type=range]{height:40px}body .ticket-page .assignee-row .link-btn,body .ticket-page .role-action .btn,body .ticket-page .role-wait .btn{min-height:40px}body .ticket-page #activitySec .composer{position:sticky;bottom:var(--tabbar);z-index:6;background:var(--panel);margin:12px -12px -12px;padding:10px 12px;border-top:1px solid var(--line);border-radius:0 0 12px 12px;box-shadow:0 -10px 16px -10px #12181f2e}html.kbd-open body .ticket-page #activitySec .composer{bottom:var(--kb,0px);border-radius:0}body .composer .comment-input{gap:8px}body .composer .comment-input textarea{min-height:44px;border-radius:10px}body .composer .comment-input .btn.small{min-width:92px;justify-content:center}body .composer .comment-input .comment-attach-btn,body .composer .comment-input .mic-btn,body .composer .comment-input .voice-lang{border-radius:10px}body .composer .mention-chip button,body .composer .reply-preview-bar button,body .attach-chip .attach-remove{position:relative;min-width:28px;min-height:28px;display:inline-flex;align-items:center;justify-content:center}body .composer .mention-chip button:after,body .composer .reply-preview-bar button:after,body .attach-chip .attach-remove:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px}body .mention-dropdown{max-height:min(260px,calc(var(--vvh,100dvh) - 230px));overscroll-behavior:contain}.att-viewer{padding:0}.att-viewer .att-card{width:100%;height:100%;max-height:none;border-radius:0}.att-viewer .att-head{padding:calc(8px + env(safe-area-inset-top)) 10px 8px 14px;gap:8px;flex-wrap:wrap}.att-viewer .att-head .att-title{flex:1 1 60%}.att-viewer .att-body{padding-bottom:calc(14px + env(safe-area-inset-bottom))}.att-viewer .att-body img{max-height:none}.sec-text[dir=auto],.c-text,.review-text,.aq-text,.decision-note,.sig-body,.thread-text,.ra-context,textarea.field[dir=auto]{unicode-bidi:plaintext;text-align:start}body .lists .task-row{border-radius:14px}body .lists .has-pin .task-id,body .lists .has-pin .task-title{margin-right:52px}body .lists .list-more .btn{min-height:48px;width:100%}body .lists .df-chip{min-height:40px}body .lists .filter-bar .field,body .lists .filters-toggle{height:44px}body .lists .lists-note .x{width:44px;height:44px;margin:-4px -6px -4px 0}.notif-row{border-radius:14px}.empty{padding:40px 16px}.page-loading{padding:72px 20px}body .todo-page .todo-actions{margin-bottom:12px}body .todo-item{border-radius:12px;min-height:56px}body .todo-delete,body .todo-check-wrap{min-width:44px;min-height:44px}body .todo-item .todo-delete{margin:-4px 0}body .todo-item .todo-delete:last-child{margin-right:-6px}body .todo-section-toggle{min-height:44px}body .todo-pin-list,body .org-assign-list,body .pp-list,body .pick-one-list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}body .todo-cal-title .icon-btn{min-width:44px;min-height:44px}body .cal-popup-item{min-height:44px}.proj-card{border-radius:14px}body .proj-card .proj-head{position:relative}body .proj-card button.org-open:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}body .proj-card .proj-head .icon-btn{z-index:1}body .proj-task-row{gap:8px}body .proj-card .proj-head .icon-btn{margin-top:-8px}body .dept-proj-row{min-height:52px}body .rep-view .rep-filters .field{min-height:44px}body .rep-view .ov-table{table-layout:auto}body .rep-view .ov-table th,body .rep-view .ov-table td{overflow-wrap:anywhere}body .rep-view .ov-table th{font-size:10px;letter-spacing:.04em}body .rep-view .legend-row,body .rep-view .bar-chart-row{min-height:44px}body .rep-view .ov-table tr{position:relative}body .rep-view .ov-table td a.rep-link:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}body .rep-view .ov-table tbody td{height:44px}body .rep-view .vbar-chart{gap:0}body .rep-view .dash-card{padding:16px 12px}body .rep-view .podium-name{font-size:12.5px}body #view-admin .admin-tabs{margin-bottom:14px;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 14px,#000 calc(100% - 22px),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 14px,#000 calc(100% - 22px),transparent 100%)}body #view-admin .admin-tab{min-height:48px}body #view-admin .panel-toolbar .btn{min-height:44px}body #view-admin .setup-card{border-radius:14px}body #view-admin .rt-del{min-width:40px;min-height:40px}body #view-admin .rt-item{gap:8px}body #view-admin .tpl-item{min-height:44px}body #view-admin .tpl-list{gap:8px}body #view-admin .ph-chip{min-height:40px;padding:7px 14px}body #view-admin .ph-chips{gap:8px}body #view-admin .matrix-wrap:has(>table.authority){position:relative;border-radius:14px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;background:linear-gradient(to left,var(--panel),var(--panel)) right center / 24px 100% no-repeat local,linear-gradient(to left,#12181f38,#12181f00) right center / 16px 100% no-repeat scroll,var(--panel)}body #view-admin table.matrix.authority td:first-child,body #view-admin table.matrix.authority th:first-child{min-width:168px;box-shadow:6px 0 8px -6px #12181f2e;z-index:1}body #view-admin table.matrix.authority th{background:var(--paper)}body #view-admin .auth-toggle{min-width:48px;min-height:40px}body #userMgmtTable tr{padding:8px 14px;border-radius:14px}body #userMgmtTable td{align-items:center;padding:6px 0;min-height:36px}body #userMgmtTable td[data-label=Name]{justify-content:flex-start;text-align:left!important;font-size:15px;padding:4px 0 8px}body #userMgmtTable td[data-label=Name]:before{content:none}body #userMgmtTable .user-name,body #userMgmtTable .user-name-text{justify-content:flex-start}body #userMgmtTable .user-name .avatar{width:32px;height:32px;font-size:12.5px}body #userMgmtTable td[data-label="Email (sign-in)"]>*,body #userMgmtTable td[data-label=Department]>*{min-width:0;overflow-wrap:anywhere}body #userMgmtTable td[data-label=Role]{font-weight:600;font-size:13px}body #userMgmtTable td[data-label=""]{padding-top:10px}body #userMgmtTable .row-actions{justify-content:space-between;gap:24px;flex-wrap:nowrap}body #userMgmtTable .row-actions .btn{flex:0 1 auto;min-width:112px}body #userMgmtTable .row-actions .btn.danger{min-width:0;border-color:transparent;background:none;padding-left:8px;padding-right:8px}body #logTable tr{border-radius:14px}body .login-screen{padding:calc(16px + env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}body .login-screen .login-card{padding:24px 20px;border-radius:22px}body .login-screen .login-btn{justify-content:center;min-height:50px;font-size:16px;border-radius:12px}body .login-screen .field{min-height:48px}body .captcha-new{width:48px;height:48px}body .account-facts>div{grid-template-columns:104px minmax(0,1fr)}body .pw-wrap .pw-eye{min-width:44px}}@media(max-width:640px){.topbar .menu-btn,.view-head .view-sub{display:none}#view-projects .view-head .view-sub,#view-departments .view-head .view-sub{display:block}body .lists .stat-row,body .rep-view .stat-row{gap:8px}body .lists a.stat{min-height:68px;padding:12px 14px}body .proj-head{padding:14px 12px 10px 14px}body .todo-add-row .todo-add-priority,body .todo-add-row .todo-add-due{order:1;flex:1 1 calc(50% - 4px)}body .todo-add-row .todo-add-time{display:none}body .todo-add-row .mic-btn,body .todo-add-row .voice-lang{order:2}body .todo-add-row .todo-add-btn{order:2;flex:1 1 0}.modal-box,.dlg-card{border-radius:20px 20px 0 0}.dlg-card:before{content:"";display:block;width:38px;height:4px;border-radius:4px;background:var(--line);margin:-12px auto 14px}body .org-panel .panel-head{padding-top:calc(10px + env(safe-area-inset-top))}body .org-panel .panel-head-top{gap:8px}body .org-panel .org-panel-actions{display:contents}body .org-panel .panel-head-top>.task-id{flex:1}body .org-panel .org-panel-actions>.close-btn{order:-1;margin-left:-10px;background:none;border-color:transparent}body .org-panel .org-panel-actions>.close-btn>.ico{display:none}body .org-panel .org-panel-actions>.close-btn:before{content:"";width:11px;height:11px;border-left:2.2px solid currentColor;border-bottom:2.2px solid currentColor;border-radius:1px;transform:translate(3px) rotate(45deg)}}@media(max-width:379px){.bottom-nav a,.bottom-nav button:not(.bn-new){min-width:52px;font-size:10px}.view-head .view-title{font-size:21px}body #userMgmtTable .row-actions{gap:12px}.more-sheet-grid{gap:8px}}@media(min-width:641px)and (max-width:880px){.modal-box:not(.modal-xl){left:50%;right:auto;top:50%;bottom:auto;width:min(560px,92vw);max-width:560px;max-height:min(86dvh,calc(var(--vvh,100dvh) - 32px));border-radius:18px;transform:translate(-50%,-49%) scale(.98)}.modal-box.wide:not(.modal-xl){width:min(720px,94vw);max-width:720px!important}.modal-box.active:not(.modal-xl){transform:translate(-50%,-50%) scale(1)}html.kbd-open .modal-box:not(.modal-xl){top:calc(var(--vvh,100dvh) / 2)}.modal-box:not(.modal-xl):before{content:none}.modal-box:not(.modal-xl)>.modal-head{padding-top:16px}.modal-box.modal-xl{left:50%;right:auto;width:min(980px,96vw);transform:translate(-50%);border-radius:18px 18px 0 0}#dialogLayer{align-items:center;padding:18px}.dlg-card{max-width:420px;border-radius:18px;padding:20px 20px 18px}.detail-panel{width:min(600px,86vw);box-shadow:-14px 0 40px #00000038}.more-sheet-grid{grid-template-columns:repeat(4,1fr)}body .ticket-form .nt-grid,body .ticket-form .nt-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}body .ticket-form .nt-footer.sticky-actions{justify-content:flex-end}body .ticket-form .nt-footer.sticky-actions .btn{flex:0 1 220px;justify-content:center}body .rep-view .analytics-dashboard{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}body .rep-view .analytics-dashboard>.dash-card:first-child{grid-column:1 / -1}body #view-admin .setup-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.matrix-wrap:has(>table.admin-cards){border:none;background:none;overflow:visible}table.matrix.admin-cards{min-width:0;display:block}table.matrix.admin-cards thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}table.matrix.admin-cards tbody{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:start}table.matrix.admin-cards tr{display:block;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:6px 12px}table.matrix.admin-cards td{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;text-align:right!important;padding:7px 0;border-bottom:1px solid var(--line);position:static;background:none!important;min-width:0}table.matrix.admin-cards td:last-child{border-bottom:none}table.matrix.admin-cards td:before{content:attr(data-label);flex-shrink:0;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--slate);text-align:left;padding-top:2px}table.matrix.admin-cards td[data-label=""]:before{content:none}table.matrix.admin-cards td>*{min-width:0;overflow-wrap:anywhere}table.matrix.admin-cards td:first-child{font-weight:600;min-width:0}table.matrix.admin-cards .row-actions{justify-content:flex-end;width:100%}table.matrix.admin-cards .pw-cell,table.matrix.admin-cards .row-actions{flex-wrap:wrap;white-space:normal}.admin-xl .import-table tr.row-bad{border-color:var(--bad);background:var(--bad-bg)!important}.admin-xl .import-table tr.row-warn{border-color:var(--amber);background:var(--hold-bg)!important}}
