:root{--bg: #ffffff;--bg-secondary: #f4f5f8;--section-bg: #ffffff;--text: #17181c;--hint: #8a8f98;--link: #4f52d9;--accent: #5b5ef4;--accent-text: #ffffff;--accent-tint-bg: rgba(91, 94, 244, .09);--accent-tint-text: #4f52d9;--danger: #e0524a;--warn: #f0a000;--ok: #22a06b;--border: rgba(0, 0, 0, .07);--radius: 16px;--danger-tint-bg: rgba(224, 82, 74, .1);--danger-tint-text: #c2453e;--warn-tint-bg: rgba(240, 160, 0, .13);--warn-tint-text: #8a5c00;--ok-tint-bg: rgba(34, 160, 107, .11);--ok-tint-text: #178a58;--accent-tint-strong: rgba(91, 94, 244, .13);--danger-tint-solid: #fbeeed;--urgent-grad: linear-gradient(180deg, #ff6b5e, #e0524a);--pool-grad: linear-gradient(180deg, #8ea2ff, #5b5ef4);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--shadow-sm: 0 1px 2px rgba(20, 20, 30, .06), 0 1px 1px rgba(20, 20, 30, .04);--shadow-md: 0 6px 20px rgba(20, 20, 30, .1), 0 2px 6px rgba(20, 20, 30, .06);--shadow-lg: 0 12px 32px rgba(20, 20, 30, .16), 0 4px 10px rgba(20, 20, 30, .08)}:root[data-scheme=dark]{--bg: #191b22;--bg-secondary: #101116;--section-bg: #20232d;--text: #f0f1f4;--hint: #8d93a1;--link: #a5a7fb;--accent: #7b7ef7;--accent-text: #ffffff;--accent-tint-bg: rgba(123, 126, 247, .16);--accent-tint-text: #a5a7fb;--border: rgba(255, 255, 255, .08);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 6px 20px rgba(0, 0, 0, .38);--shadow-lg: 0 14px 36px rgba(0, 0, 0, .5);--danger-tint-bg: rgba(224, 82, 74, .18);--danger-tint-text: #ff9a92;--danger-tint-solid: #3a2624;--warn-tint-bg: rgba(240, 160, 0, .2);--warn-tint-text: #ffc46b;--ok-tint-bg: rgba(34, 160, 107, .2);--ok-tint-text: #5fd6a1;--accent-tint-strong: rgba(123, 126, 247, .22);--urgent-grad: linear-gradient(180deg, #ff8a7a, #e0524a);--pool-grad: linear-gradient(180deg, #9a9dff, #6a6df0)}@media (prefers-color-scheme: dark){:root:not([data-scheme]){--bg: #191b22;--bg-secondary: #101116;--section-bg: #20232d;--text: #f0f1f4;--hint: #8d93a1;--link: #a5a7fb;--accent: #7b7ef7;--accent-text: #ffffff;--accent-tint-bg: rgba(123, 126, 247, .16);--accent-tint-text: #a5a7fb;--border: rgba(255, 255, 255, .08);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 6px 20px rgba(0, 0, 0, .38);--shadow-lg: 0 14px 36px rgba(0, 0, 0, .5);--danger-tint-bg: rgba(224, 82, 74, .18);--danger-tint-text: #ff9a92;--warn-tint-bg: rgba(240, 160, 0, .2);--warn-tint-text: #ffc46b;--ok-tint-bg: rgba(34, 160, 107, .2);--ok-tint-text: #5fd6a1;--accent-tint-strong: rgba(123, 126, 247, .22);--urgent-grad: linear-gradient(180deg, #ff8a7a, #e0524a);--pool-grad: linear-gradient(180deg, #9a9dff, #6a6df0)}}*{box-sizing:border-box;min-width:0}html,body,#root{height:100%}html,body{overflow-x:hidden;overscroll-behavior-x:none}body{margin:0;background:var(--bg-secondary);color:var(--text);font:15px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}*{transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .1s ease}.row{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center}.app{max-width:680px;margin:0 auto;padding-bottom:88px;overflow-x:hidden}@media (min-width: 860px){.app{max-width:1200px}}.header{position:sticky;top:0;z-index:10;background:var(--bg);border-bottom:1px solid var(--border);padding:var(--sp-3) var(--sp-4);display:flex;align-items:center;gap:var(--sp-2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.header h1{font-size:17px;font-weight:700;margin:0;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.3px}.header .me-avatar{width:30px;height:30px;border-radius:50%;flex:0 0 auto;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:700;cursor:default}.tabs{position:sticky;top:53px;z-index:9;display:flex;gap:2px;overflow-x:auto;padding:0 var(--sp-3);background:var(--bg);border-bottom:1px solid var(--border)}.tab{flex:0 0 auto;padding:10px 11px;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--hint);font-size:13.5px;font-weight:500;cursor:pointer;white-space:nowrap;border-radius:0;margin-bottom:-1px}.tab.active{color:var(--text);font-weight:650;border-bottom-color:var(--accent)}.tab .count{color:var(--hint);margin-left:5px;font-size:12px;font-weight:500}.tab .badge-dot{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;margin-left:5px;border-radius:8px;background:var(--danger);color:#fff;font-size:11px;font-weight:650;vertical-align:middle}.filters{padding:var(--sp-2) var(--sp-3) var(--sp-3)}.search-row{display:flex;gap:var(--sp-2);align-items:center}.filters input[type=search],.filters-panel select{background:var(--section-bg);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:9px 12px;font-size:14px}.filters input[type=search]{flex:1;min-width:0}.filters input[type=search]:focus,.filters-panel select:focus{outline:none;border-color:var(--accent)}.filters-toggle{flex:0 0 auto;background:var(--section-bg);border:1px solid var(--border);font-size:13.5px;padding:9px 14px}.filters-toggle.on{border-color:var(--accent);color:var(--accent)}.filters-panel{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center;margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--border)}.chip-toggle{padding:8px 15px;border-radius:18px;border:1px solid var(--border);background:var(--section-bg);color:var(--text);cursor:pointer;font-size:13.5px;font-weight:500;flex:0 0 auto}.chip-toggle.on{background:var(--warn);color:#fff;border-color:transparent}.search-wrap{flex:1;min-width:0;position:relative}.search-input-box{position:relative;display:flex}.search-input-box input{width:100%;background:var(--section-bg);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:9px 32px 9px 12px;font-size:14px;box-sizing:border-box}.search-input-box input:focus{outline:none;border-color:var(--accent)}.search-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:50%;border:none;background:transparent;color:var(--hint);font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center}.search-clear:hover{background:var(--bg-secondary)}.search-suggest{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:30;background:var(--section-bg);border:1px solid var(--border);border-radius:10px;padding:var(--sp-2) var(--sp-3);box-shadow:var(--shadow-md)}.search-legend{font-size:12px;color:var(--hint);margin:0}.search-recent{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--sp-2)}.search-recent .chip{padding:5px 12px;border-radius:14px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text);cursor:pointer;font-size:13px}.list{padding:var(--sp-2) var(--sp-3);display:grid;grid-template-columns:1fr;gap:var(--sp-3)}@media (min-width: 640px){.list{grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));align-items:start}}.empty-state{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-6) var(--sp-4);color:var(--hint);text-align:center}.empty-state .icon{font-size:34px;opacity:.55;line-height:1}.empty-state .text{font-size:14px}.empty-state.inline{padding:var(--sp-4) 0}.empty-state.inline .icon{font-size:22px}.card{position:relative;overflow:hidden;background-color:var(--section-bg);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-3) var(--sp-4);cursor:pointer;box-shadow:var(--shadow-sm)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px);background-image:linear-gradient(135deg,#ffffff0d,#fff0 55%)}.card:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:transparent}.card.urgent:before{background:var(--urgent-grad)}.card.pool:before{background:var(--pool-grad)}.card.incident{background-color:var(--danger-tint-bg);border-color:var(--danger-tint-text)}.card .title{font-weight:650;font-size:14.5px;margin:0 0 3px;display:flex;gap:6px;align-items:baseline;word-break:break-word;line-height:1.35}.card .title svg{flex:0 0 auto;align-self:center;color:var(--danger-tint-text)}.meta{font-size:12.5px;color:var(--hint)}.meta-line{font-size:12px;color:var(--hint);margin:0 0 var(--sp-2);line-height:1.5}.meta-line .overdue{color:var(--danger);font-weight:550}.meta-line .soon{color:var(--warn-tint-text);font-weight:550}.card.done{opacity:.6}.card.done .title{text-decoration:line-through;text-decoration-color:var(--hint)}.card.done .badge{background:var(--bg-secondary);color:var(--hint)}.card.done .assignee-chip .avatar{filter:grayscale(.6) opacity(.75)}.badge{font-size:11.5px;font-weight:500;padding:3px 9px;border-radius:10px;background:var(--bg-secondary);color:var(--text);white-space:nowrap}.badge.tag{background:var(--accent-tint-bg);color:var(--accent-tint-text)}.badge.urgent{background:var(--danger-tint-bg);color:var(--danger-tint-text)}.badge.help{background:var(--warn-tint-bg);color:var(--warn-tint-text)}.badge.due{background:var(--bg-secondary)}.badge.due.overdue{background:var(--danger);color:#fff}.badge.due.soon{background:var(--warn-tint-bg);color:var(--warn-tint-text)}.badge.weight{background:var(--bg-secondary);color:var(--hint)}.badge.group{background:#8b5cf624;color:#8b5cf6}.badge.quarter{background:#00968824;color:#009688}.badge.status-backlog{background:var(--accent-tint-bg);color:var(--accent-tint-text)}.badge.status-in_progress{background:#f0a00029;color:var(--warn)}.badge.status-done,.badge.checklist{background:#2ea04324;color:var(--ok)}.assignee-row{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center}.assignee-chip{display:inline-flex;align-items:center;gap:6px;background:var(--bg-secondary);border-radius:14px;padding:2px 10px 2px 2px;font-size:12.5px;color:var(--text);white-space:nowrap}.assignee-chip .avatar{width:20px;height:20px;border-radius:50%;flex:0 0 auto;display:flex;align-items:center;justify-content:center;color:#fff;font-size:10.5px;font-weight:700}.assignee-chip .remove{cursor:pointer;color:var(--hint);margin-left:2px}.assignee-chip .remove:hover{color:var(--danger)}.assignee-more{font-size:12px;color:var(--hint);background:var(--bg-secondary);border-radius:14px;padding:3px 9px}svg{vertical-align:-2px}.actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-3)}.btn{border:none;border-radius:10px;padding:9px 15px;font-size:14px;cursor:pointer;background:var(--bg-secondary);color:var(--text);font-weight:550;flex:0 0 auto}.btn:hover{filter:brightness(1.06)}.btn:active{filter:brightness(.96);transform:translateY(1px)}.btn.primary{background:var(--accent-tint-strong);color:var(--accent-tint-text);box-shadow:none;font-weight:600}.btn.ok{background:var(--ok-tint-bg);color:var(--ok-tint-text);box-shadow:none;font-weight:600}.btn.warn{background:var(--warn-tint-bg);color:var(--warn-tint-text);box-shadow:none;font-weight:600}.btn.danger{background:var(--danger-tint-bg);color:var(--danger-tint-text);box-shadow:none;font-weight:600}.btn:disabled{opacity:.5;cursor:default;filter:none;transform:none}.btn.small{padding:6px 11px;font-size:13px}.btn.icon{padding:7px 10px;font-size:15px;line-height:1;border-radius:10px}.btn.icon:hover{background:var(--bg-secondary)}.btn.ghost{background:transparent;color:var(--hint);font-weight:550;box-shadow:none}.btn.ghost:hover{background:var(--bg-secondary);color:var(--text);filter:none}.modal-actions .btn.primary{background:var(--accent);color:var(--accent-text);box-shadow:var(--shadow-sm)}.modal-actions .btn.ok{background:var(--ok);color:#fff;box-shadow:var(--shadow-sm)}.modal-actions .btn.warn{background:var(--warn);color:#fff;box-shadow:var(--shadow-sm)}.modal-actions .btn.danger{background:var(--danger);color:#fff;box-shadow:var(--shadow-sm)}.fab{position:fixed;right:18px;bottom:18px;z-index:20;width:56px;height:56px;border-radius:28px;border:none;background:var(--accent);color:var(--accent-text);font-size:26px;cursor:pointer;box-shadow:var(--shadow-lg)}.fab:hover{transform:translateY(-2px);box-shadow:0 16px 36px #14141e38,var(--shadow-lg)}.fab:active{transform:translateY(0)}@media (min-width: 1200px){.fab{right:calc(50% - 582px)}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0c1080;z-index:30;display:flex;align-items:flex-end;justify-content:center;padding:0;overscroll-behavior:contain;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{background:var(--bg);width:100%;max-width:680px;border-radius:20px 20px 0 0;padding:var(--sp-4);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;box-shadow:var(--shadow-lg);touch-action:pan-y;max-height:92vh;max-height:92dvh}@media (min-width: 640px){.modal-backdrop{align-items:center;padding:var(--sp-5)}.modal{width:560px;max-width:92vw;border-radius:18px;padding:var(--sp-5);max-height:88vh;max-height:88dvh}}.modal h2{margin:4px 0 var(--sp-4);font-size:19px;font-weight:700;letter-spacing:-.2px}.case-no{color:var(--hint);font-weight:600;margin-right:4px}.modal.incident{background:var(--danger-tint-solid)}.badge.incident{background:var(--danger-tint-bg);color:var(--danger-tint-text)}.quick-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.action-menu-wrap{position:relative;margin-left:auto}.action-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:30;min-width:180px;background:var(--section-bg);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-md);padding:4px;display:flex;flex-direction:column}.action-menu button{background:none;border:none;text-align:left;padding:9px 10px;font-size:13.5px;color:var(--text);border-radius:7px;cursor:pointer}.action-menu button:hover{background:var(--bg-secondary)}.action-menu button.danger{color:var(--danger-tint-text)}.section-title.collapsible{cursor:pointer}.section-title.collapsible .chevron{margin-left:auto;display:flex;transition:transform .15s}.section-title.collapsible .chevron.open{transform:rotate(180deg)}.field{margin-bottom:var(--sp-3)}.field label{display:block;font-size:13px;color:var(--hint);margin-bottom:6px;font-weight:500}.field input,.field select,.field textarea{width:100%;background:var(--section-bg);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-family:inherit;box-sizing:border-box;font-size:16px}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #50a8eb26}.field textarea{resize:vertical;min-height:56px}.modal-actions{display:flex;gap:var(--sp-2);margin-top:var(--sp-2)}.modal-actions .btn{flex:1}.case-list{padding:var(--sp-2) var(--sp-3);display:flex;flex-direction:column;gap:6px}.case-row{display:flex;align-items:center;gap:10px;background:var(--section-bg);border:1px solid var(--border);border-radius:12px;padding:9px 12px;cursor:pointer;box-shadow:var(--shadow-sm)}.case-row:hover{box-shadow:var(--shadow-md)}.case-row.closed{opacity:.6}.case-row.closed .case-title{text-decoration:line-through;text-decoration-color:var(--hint)}.case-stripe{width:4px;align-self:stretch;border-radius:2px;flex:0 0 auto}.case-stripe.urgent{background:var(--urgent-grad)}.case-stripe.normal{background:var(--pool-grad)}.case-stripe.done{background:var(--border)}.case-body{flex:1;min-width:0}.case-title{margin:0 0 2px;font-size:13.5px;font-weight:650;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.case-meta{margin:0;font-size:11.5px;color:var(--hint)}.case-meta.overdue{color:var(--danger);font-weight:550}.case-avatar{width:24px;height:24px;border-radius:50%;flex:0 0 auto;display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px;font-weight:700}.case-check{color:var(--ok);font-size:14px;flex:0 0 auto}.case-filter{display:flex;gap:6px;padding:0 var(--sp-3) var(--sp-1)}.case-filter .chip{padding:5px 13px;border-radius:14px;border:1px solid var(--border);background:var(--section-bg);color:var(--hint);cursor:pointer;font-size:12.5px;font-weight:500}.case-filter .chip.on{background:var(--accent);color:var(--accent-text);border-color:transparent;font-weight:600}.props{margin-top:var(--sp-3)}.prop-row{display:flex;align-items:flex-start;gap:var(--sp-2);padding:8px 0;border-bottom:1px solid var(--border);font-size:13.5px}.prop-row:last-child{border-bottom:none}.prop-label{flex:0 0 96px;color:var(--hint)}.prop-value{flex:1;min-width:0;display:flex;flex-wrap:wrap;gap:6px;align-items:center;word-break:break-word}.prop-value.overdue{color:var(--danger);font-weight:550}.prop-value.soon{color:var(--warn-tint-text);font-weight:550}.task-desc-body{margin-top:var(--sp-3)}.task-desc-body .markdown{font-size:13.5px}.incident-sla{display:flex;align-items:center;gap:6px;margin-top:var(--sp-3);padding:7px 11px;border-radius:10px;background:var(--section-bg);font-size:13px;font-weight:550;color:var(--hint)}.incident-sla.sla-warn{background:var(--warn-tint-bg);color:var(--warn-tint-text)}.incident-sla.sla-crit{background:var(--danger-tint-bg);color:var(--danger-tint-text)}.case-mention{color:var(--accent-tint-text);cursor:pointer;font-weight:550}.case-mention:hover{text-decoration:underline}.progress{height:5px;border-radius:3px;background:var(--bg-secondary);overflow:hidden;margin-bottom:var(--sp-3)}.progress>div{height:100%;border-radius:3px;background:linear-gradient(90deg,#9a9dff,var(--accent))}.section-title{display:flex;align-items:center;gap:7px;margin:var(--sp-5) 0 var(--sp-2);font-size:13px;font-weight:650;color:var(--hint);text-transform:uppercase;letter-spacing:.4px}.section-title .icon{font-size:14px}.section-block{background:var(--bg-secondary);border-radius:12px;padding:var(--sp-3)}.kanban{display:flex;gap:var(--sp-3);overflow-x:auto;padding:var(--sp-3);scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.kanban .col{flex:0 0 100%;max-width:none;scroll-snap-align:start;scroll-snap-stop:always}@media (min-width: 860px){.kanban{overflow-x:visible;scroll-snap-type:none}.kanban .col{flex:1 1 0;max-width:none;scroll-snap-align:none}}.kanban .col h3{font-size:13px;color:var(--hint);margin:0 0 var(--sp-2);text-transform:uppercase;letter-spacing:.4px;font-weight:650;display:flex;align-items:center;gap:7px}.kanban .dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto}.kanban .dot.backlog{background:var(--accent)}.kanban .dot.in_progress{background:var(--warn)}.kanban .dot.done{background:var(--ok)}.kanban .col-list{display:flex;flex-direction:column;gap:var(--sp-2)}.history{list-style:none;padding:0;margin:0}.history li{padding:var(--sp-2) 0;border-bottom:1px solid var(--border);font-size:13.5px}.history li:last-child{border-bottom:none}.history .when{color:var(--hint);font-size:12px;margin-top:2px}.activity{padding:var(--sp-3) var(--sp-4) var(--sp-6)}.activity-list{list-style:none;padding:0;margin:var(--sp-3) 0 0}.activity-item{display:flex;gap:var(--sp-3);padding:var(--sp-3) 0;border-bottom:1px solid var(--border);cursor:pointer}.activity-item:last-child{border-bottom:none}.activity-icon{flex:0 0 auto;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;background:var(--bg-secondary);color:var(--hint)}.activity-icon.tint-ok{background:var(--ok-tint-bg);color:var(--ok-tint-text)}.activity-icon.tint-warn{background:var(--warn-tint-bg);color:var(--warn-tint-text)}.activity-icon.tint-danger{background:var(--danger-tint-bg);color:var(--danger-tint-text)}.activity-icon.tint-accent{background:var(--accent-tint-bg);color:var(--accent-tint-text)}.activity-body{flex:1;min-width:0}.activity-text{font-size:13.5px;margin:0;word-break:break-word}.activity-actor{font-weight:600}.activity-when{color:var(--hint);font-size:12px;margin:2px 0 0}.checklist{list-style:none;padding:0;margin:0}.checklist-item{padding:7px 0;border-bottom:1px solid var(--border);font-size:13.5px;display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-2)}.checklist-item:last-child{border-bottom:none}.checklist-item span:not(.meta):not(.checklist-check){flex:1;word-break:break-word}.checklist-item .meta{cursor:pointer;flex:0 0 auto;font-size:15px;display:flex}.checklist-check{flex:0 0 auto;display:flex;cursor:pointer;font-size:19px;color:var(--hint)}.checklist-check.done{color:var(--ok)}.required-mark{color:var(--danger);font-weight:700;margin-left:2px}.checklist-note-row{flex-basis:100%;margin-left:27px}.checklist-meta{color:var(--hint);font-size:12px}.note-edit-link{cursor:pointer;text-decoration:underline}.checklist-note{font-size:12.5px;height:26px;width:100%;max-width:320px}.member{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) 0;border-bottom:1px solid var(--border);flex-wrap:wrap}.member:last-child{border-bottom:none}.member .name{flex:1 1 160px}.member .name small{color:var(--hint)}.loading{text-align:center;color:var(--hint);padding:var(--sp-6)}.toast{position:fixed;bottom:92px;left:50%;transform:translate(-50%);background:var(--text);color:var(--bg);padding:10px 18px;border-radius:22px;font-size:14px;z-index:40;max-width:90%;box-shadow:var(--shadow-lg)}.tag-pick{display:flex;flex-wrap:wrap;gap:6px}.tag-pick .badge{cursor:pointer}.tag-pick .badge.sel{background:var(--accent);color:var(--accent-text)}.admin-tabs{display:flex;gap:6px;margin:var(--sp-3) 0}.admin-tabs .chip{padding:6px 14px;border-radius:16px;border:1px solid var(--border);background:var(--section-bg);color:var(--hint);font-size:13px;font-weight:500;cursor:pointer}.admin-tabs .chip.on{background:var(--accent);color:var(--accent-text);border-color:transparent;font-weight:650}.stats{padding:var(--sp-3) var(--sp-4) var(--sp-6)}.stats-mode{display:flex;gap:6px;margin-bottom:var(--sp-3)}.stats-mode .chip{padding:6px 14px;border-radius:16px;border:1px solid var(--border);background:var(--section-bg);color:var(--hint);font-size:13px;font-weight:500;cursor:pointer}.stats-mode .chip.on{background:var(--accent);color:var(--accent-text);border-color:transparent;font-weight:650}.report-block{margin-top:var(--sp-5)}.report-controls{display:flex;flex-direction:column;gap:var(--sp-3)}.report-dates{display:flex;align-items:center;gap:var(--sp-2)}.report-dates input{flex:1;padding:7px 10px;border:1px solid var(--border);border-radius:10px;background:var(--section-bg);color:var(--text);font-size:13px}.report-actions{display:flex;gap:var(--sp-2)}.report-actions select{flex:1;padding:7px 10px;border:1px solid var(--border);border-radius:10px;background:var(--section-bg);color:var(--text);font-size:13px}.report-result{margin-top:var(--sp-4);padding:var(--sp-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--section-bg)}.report-totals{margin:0;font-size:13px;line-height:1.5}.report-subheading{font-size:13.5px;font-weight:650;margin:var(--sp-4) 0 var(--sp-2)}.report-task{display:flex;flex-direction:column;padding:var(--sp-2) 0;border-bottom:1px solid var(--border)}.report-task:last-child{border-bottom:none}.report-task-title{font-size:13.5px}.report-task-extra{margin:4px 0 0;font-size:12.5px;color:var(--hint);line-height:1.4}.report-task-extra b{color:var(--text);font-weight:600}.report-export{display:flex;gap:var(--sp-2);margin-top:var(--sp-4);flex-wrap:wrap}.report-export select{flex:1;min-width:120px;padding:7px 10px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);font-size:13px}.stats-hero{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3);margin-bottom:var(--sp-4)}.hero-card{background:var(--bg-secondary);border-radius:14px;padding:var(--sp-4)}.hero-card.danger{background:var(--danger-tint-bg)}.hero-card.warn{background:var(--warn-tint-bg)}.hero-top{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--hint)}.hero-card.danger .hero-top{color:var(--danger-tint-text)}.hero-card.warn .hero-top{color:var(--warn-tint-text)}.hero-value{font-size:36px;font-weight:700;margin:8px 0 0;line-height:1}.hero-card.danger .hero-value{color:var(--danger-tint-text)}.hero-card.warn .hero-value{color:var(--warn-tint-text)}.hero-sub{font-size:12px;color:var(--hint);margin:5px 0 0}.hero-card.danger .hero-sub{color:var(--danger-tint-text);opacity:.85}.hero-card.warn .hero-sub{color:var(--warn-tint-text);opacity:.85}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--sp-3)}.stat-card{background:var(--bg-secondary);border-radius:var(--radius);padding:var(--sp-3) var(--sp-4)}.stat-label{font-size:13px;color:var(--hint);margin:0 0 4px}.stat-value{font-size:24px;font-weight:650;margin:0}.stats-heading{font-size:14px;font-weight:650;margin:var(--sp-5) 0 var(--sp-3)}.weekly-chart{display:flex;align-items:flex-end;gap:var(--sp-2);height:150px;padding:0 var(--sp-1);border-bottom:1px solid var(--border)}.weekly-bar{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:6px}.weekly-bar-fill{width:100%;max-width:28px;min-height:3px;border-radius:4px 4px 0 0;background:var(--bg-secondary);border:1px solid var(--border);border-bottom:none}.weekly-bar-fill.current{background:var(--accent);border-color:transparent}.weekly-bar-count{font-size:12px;font-weight:600;color:var(--hint)}.weekly-bar-count.current{color:var(--accent-tint-text)}.weekly-bar-label{font-size:11px;color:var(--hint)}.weekly-bar-label.current{color:var(--accent-tint-text);font-weight:650}.workload-list{display:flex;flex-direction:column;gap:var(--sp-4)}.workload-row{display:flex;align-items:center;gap:var(--sp-3)}.workload-avatar{flex:0 0 auto;width:32px;height:32px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:650}.workload-main{flex:1;min-width:0}.workload-top{display:flex;justify-content:space-between;font-size:14px;margin-bottom:5px}.workload-count{font-weight:600}.workload-count.tint-ok{color:var(--ok-tint-text)}.workload-count.tint-warn{color:var(--warn-tint-text)}.workload-count.tint-danger{color:var(--danger-tint-text)}.workload-track{height:7px;border-radius:4px;background:var(--bg-secondary);overflow:hidden}.workload-fill{height:100%;border-radius:4px}.workload-fill.tint-ok{background:var(--ok)}.workload-fill.tint-warn{background:var(--warn)}.workload-fill.tint-danger{background:var(--danger)}.tag-rank{display:flex;flex-direction:column;gap:var(--sp-3);margin-top:var(--sp-2)}.tag-rank-row{display:flex;align-items:center;gap:var(--sp-3);font-size:13px}.tag-rank-name{flex:0 0 auto;width:100px;color:var(--hint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-rank-track{flex:1;height:14px;border-radius:4px;background:var(--bg-secondary);overflow:hidden}.tag-rank-fill{height:100%;border-radius:4px;background:var(--accent)}.tag-rank-count{flex:0 0 auto;width:24px;text-align:right;font-size:12px;color:var(--hint)}.markdown-preview{border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-3);margin-top:var(--sp-2);max-height:260px;overflow-y:auto}.markdown{font-size:14px;line-height:1.55;word-break:break-word}.markdown h1,.markdown h2,.markdown h3{margin:var(--sp-3) 0 var(--sp-2);font-weight:650}.markdown h1{font-size:19px}.markdown h2{font-size:17px}.markdown h3{font-size:15px}.markdown p{margin:0 0 var(--sp-2)}.markdown ul,.markdown ol{margin:0 0 var(--sp-2);padding-left:22px}.markdown code{background:var(--bg-secondary);border-radius:4px;padding:1px 5px;font-size:13px}.markdown pre{background:var(--bg-secondary);border-radius:var(--radius);padding:var(--sp-2) var(--sp-3);overflow-x:auto}.markdown pre code{background:none;padding:0}.markdown a{color:var(--accent-tint-text)}.markdown blockquote{border-left:3px solid var(--border);margin:0 0 var(--sp-2);padding-left:var(--sp-3);color:var(--hint)}.markdown table{border-collapse:collapse;margin:0 0 var(--sp-2);width:100%}.markdown th,.markdown td{border:1px solid var(--border);padding:6px 9px;text-align:left}.markdown th{background:var(--bg-secondary);font-weight:650}.markdown ul[data-type=taskList]{list-style:none;padding-left:2px}.markdown ul[data-type=taskList] li{display:flex;gap:7px;align-items:flex-start}.markdown ul[data-type=taskList] li>label{flex:0 0 auto;margin-top:2px}.markdown ul[data-type=taskList] li>div{flex:1;min-width:0}.markdown img{max-width:100%;height:auto;border-radius:8px;display:block;margin:var(--sp-2) 0}.rich-editor{border:1px solid var(--border);border-radius:10px;background:var(--section-bg);overflow:hidden}.rich-editor:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #50a8eb26}.rich-toolbar{display:flex;flex-wrap:wrap;gap:3px;align-items:center;padding:6px;border-bottom:1px solid var(--border);background:var(--bg-secondary)}.rich-btn{border:none;border-radius:7px;background:transparent;color:var(--text);min-width:30px;padding:5px 8px;font-size:13px;line-height:1;cursor:pointer}.rich-btn:hover{background:var(--bg)}.rich-btn.on{background:var(--accent-tint-strong);color:var(--accent-tint-text)}.rich-sep{width:1px;height:18px;background:var(--border);margin:0 3px;flex:0 0 auto}.rich-content .ProseMirror{outline:none;padding:var(--sp-3);min-height:200px;font-size:16px}.rich-content .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--hint);float:left;height:0;pointer-events:none}.rich-content .selectedCell{background:var(--accent-tint-bg)}.badge.case-link{cursor:pointer;background:var(--danger-tint-bg);color:var(--danger-tint-text)}.expand-btn{display:none;flex:0 0 auto;padding:6px 8px}@media (min-width: 900px){.expand-btn{display:inline-flex;align-items:center;justify-content:center}}.modal-backdrop.fullscreen{padding:0;align-items:stretch}.doc-form-modal.fullscreen{width:100vw;max-width:100vw;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;border-radius:0;display:flex;flex-direction:column}.doc-form-modal.fullscreen .doc-form-fields{flex:1;display:flex;flex-direction:column;min-height:0}.doc-form-modal.fullscreen .doc-form-meta{display:flex;gap:var(--sp-3)}.doc-form-modal.fullscreen .doc-form-meta .field{flex:1}.doc-form-modal.fullscreen .doc-form-editor-field,.doc-form-modal.fullscreen .doc-form-editor-field .rich-editor{flex:1;display:flex;flex-direction:column;min-height:0}.doc-form-modal.fullscreen .doc-form-editor-field .rich-content{flex:1;overflow-y:auto;min-height:0}.doc-form-modal.fullscreen .doc-form-editor-field .rich-content .ProseMirror{height:100%;min-height:0}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:20;display:flex;align-items:flex-end;max-width:680px;margin:0 auto;background:var(--bg);border-top:1px solid var(--border);padding:4px 4px calc(6px + env(safe-area-inset-bottom,0px))}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:1px;background:transparent;border:none;cursor:pointer;padding:6px 2px 2px;color:var(--hint);border-radius:10px}.nav-item.active{color:var(--accent)}.nav-icon{font-size:20px;line-height:1;position:relative;display:inline-flex}.nav-icon svg{width:24px;height:24px;display:block}.nav-label{font-size:10px;font-weight:550}.nav-item.active .nav-label{font-weight:700}.nav-badge{position:absolute;top:-4px;right:-12px;min-width:15px;height:15px;padding:0 4px;border-radius:8px;background:var(--danger);color:#fff;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.nav-plus{flex:0 0 auto;width:44px;height:44px;margin:-14px 3px 4px;align-self:center;display:flex;align-items:center;justify-content:center;border-radius:50%;border:2px solid var(--bg);background:var(--accent);color:var(--accent-text);cursor:pointer;box-shadow:var(--shadow-sm)}.nav-plus svg{width:22px;height:22px}.nav-plus:active{transform:scale(.95)}.content{min-height:60vh}.chips-row{position:sticky;top:53px;z-index:9;display:flex;gap:6px;overflow-x:auto;padding:var(--sp-2) var(--sp-3);background:var(--bg);border-bottom:1px solid var(--border)}.chips-row .chip{flex:0 0 auto;padding:6px 14px;border-radius:16px;border:1px solid var(--border);background:var(--section-bg);color:var(--hint);font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap}.chips-row .chip.on{background:var(--accent);color:var(--accent-text);border-color:transparent;font-weight:650}.chip-count{margin-left:5px;opacity:.8;font-size:12px}.sheet{width:100%;max-width:680px;background:var(--bg);border-radius:18px 18px 0 0;padding:var(--sp-4) var(--sp-4) calc(var(--sp-4) + env(safe-area-inset-bottom,0px));box-shadow:var(--shadow-lg)}.sheet h2{margin:0 0 var(--sp-3);font-size:16px}.sheet-item{display:flex;align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-3);margin-bottom:6px;border-radius:12px;border:1px solid var(--border);background:var(--section-bg);cursor:pointer;text-align:left}.sheet-item:active{transform:scale(.99)}.sheet-item .sheet-icon{font-size:20px;flex:0 0 auto}.sheet-item .sheet-text{display:flex;flex-direction:column;gap:1px}.sheet-item .sheet-text strong{font-size:14px;color:var(--text)}.sheet-item .sheet-text small{font-size:12px;color:var(--hint)}.sheet-item.danger{background:var(--danger-tint-bg);border-color:transparent}.sheet-item.danger .sheet-text strong{color:var(--danger-tint-text)}.sheet-item.danger .sheet-text small{color:var(--danger-tint-text);opacity:.8}@media (min-width: 860px){.sheet{border-radius:18px;max-width:420px}}.card.skeleton{pointer-events:none}.sk-line{height:12px;border-radius:6px;background:var(--bg-secondary);margin-bottom:8px;animation:sk-pulse 1.2s ease-in-out infinite}.sk-line.w70{width:70%}.sk-line.w45{width:45%;margin-bottom:0;height:10px}@keyframes sk-pulse{0%,to{opacity:1}50%{opacity:.45}}.case-row.sla-warn{background:var(--warn-tint-bg);border-color:transparent}.case-row.sla-warn .case-meta{color:var(--warn-tint-text)}.case-row.sla-crit{background:var(--danger-tint-bg);border-color:transparent}.case-row.sla-crit .case-title,.case-row.sla-crit .case-meta{color:var(--danger-tint-text)}@media (min-width: 900px){.bottom-nav{top:0;bottom:0;right:auto;left:0;width:88px;max-width:none;margin:0;flex-direction:column;align-items:stretch;justify-content:flex-start;border-top:none;border-right:1px solid var(--border);padding:var(--sp-3) 6px}.nav-item{flex:0 0 auto;padding:10px 2px}.nav-item.active{background:var(--accent-tint-bg)}.nav-badge{right:-14px}.nav-plus{order:99;margin:var(--sp-4) auto 0;flex:0 0 auto}.app{margin-left:88px;max-width:none;padding-bottom:var(--sp-5)}.chips-row{top:53px}}@media (min-width: 900px){.content{max-width:920px;margin:0 auto}.header{padding-left:var(--sp-5)}}#doc-print-area{display:none}@media print{body *{visibility:hidden}#doc-print-area,#doc-print-area *{visibility:visible}#doc-print-area{display:block;position:absolute;top:0;left:0;width:100%;padding:24px}#doc-print-area h1{font-size:22px;margin-bottom:var(--sp-4)}}
