:root{color-scheme:dark;--bg: #0a0c10;--surface: #141821;--surface-2: #1a1f2b;--surface-hover: #1e2430;--panel: #141821;--border: #232936;--border-strong: #2c3444;--text: #e6e9ef;--text-dim: #9aa4b2;--text-faint: #6b7482;--accent: #3b82f6;--accent-cyan: #22d3ee;--accent-soft: rgba(59, 130, 246, .14);--accent-ring: rgba(59, 130, 246, .45);--accent-text: #93c5fd;--green: #22c55e;--green-soft: rgba(34, 197, 94, .14);--orange: #f59e0b;--orange-soft: rgba(245, 158, 11, .14);--red: #ef4444;--red-soft: rgba(239, 68, 68, .14);--red-dark: #b91c1c;--purple: #a855f7;--cyan-soft: rgba(34, 211, 238, .14);--wash-02: rgba(255,255,255,.02);--wash-03: rgba(255,255,255,.03);--wash-04: rgba(255,255,255,.04);--wash-05: rgba(255,255,255,.05);--wash-06: rgba(255,255,255,.06);--wash-07: rgba(255,255,255,.07);--wash-08: rgba(255,255,255,.08);--wash-10: rgba(255,255,255,.1);--wash-12: rgba(255,255,255,.12);--wash-14: rgba(255,255,255,.14);--wash-22: rgba(255,255,255,.22);--radius: 12px;--mono: "JetBrains Mono", ui-monospace, monospace;--font: "Inter", system-ui, -apple-system, sans-serif;--shadow-glow: 0 0 0 1px var(--accent), 0 8px 30px rgba(59, 130, 246, .25)}:root[data-theme=light]{color-scheme:light;--bg: #f4f6f9;--surface: #ffffff;--surface-2: #eef1f5;--surface-hover: #e7ebf1;--panel: #ffffff;--border: #dde2ea;--border-strong: #c6cdd8;--text: #131720;--text-dim: #4a5468;--text-faint: #737d8c;--accent: #2563eb;--accent-cyan: #0e7490;--accent-soft: rgba(37, 99, 235, .1);--accent-ring: rgba(37, 99, 235, .35);--accent-text: #1d4ed8;--green: #16a34a;--green-soft: rgba(22, 163, 74, .12);--orange: #d97706;--orange-soft: rgba(217, 119, 6, .14);--red: #dc2626;--red-soft: rgba(220, 38, 38, .1);--red-dark: #b91c1c;--purple: #9333ea;--cyan-soft: rgba(14, 116, 144, .12);--wash-02: rgba(17,24,39,.03);--wash-03: rgba(17,24,39,.04);--wash-04: rgba(17,24,39,.05);--wash-05: rgba(17,24,39,.05);--wash-06: rgba(17,24,39,.06);--wash-07: rgba(17,24,39,.07);--wash-08: rgba(17,24,39,.08);--wash-10: rgba(17,24,39,.1);--wash-12: rgba(17,24,39,.1);--wash-14: rgba(17,24,39,.12);--wash-22: rgba(17,24,39,.16);--shadow-glow: 0 0 0 1px var(--accent), 0 8px 24px rgba(37, 99, 235, .18)}:root[data-theme=light] .badge.green{color:#15803d}:root[data-theme=light] .badge.red,:root[data-theme=light] .badge.reddark{color:#b91c1c}:root[data-theme=light] .badge.orange{color:#b45309}:root[data-theme=light] .badge.cyan{color:#0e7490}:root[data-theme=light] .badge.gray{color:#475569}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden;overscroll-behavior:none}html{overflow-x:hidden}.mono{font-family:var(--mono)}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:6px}::-webkit-scrollbar-track{background:transparent}.app{display:flex;min-height:100vh}.content{flex:1;min-width:0;padding:32px 40px;width:100%}.sidebar{width:240px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:20px 14px}.brand{display:flex;align-items:center;gap:12px;padding:6px 8px 22px}.brand-image{display:block;padding:4px 2px 20px}.brand-img{width:100%;height:70px;object-fit:cover;object-position:center;border-radius:10px;display:block}.login-logo{display:block;width:min(240px,100%);height:84px;object-fit:cover;object-position:center;border-radius:14px;margin:0 auto 18px}.brand-logo{width:40px;height:40px;border-radius:11px;flex-shrink:0;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-cyan) 100%);box-shadow:0 6px 18px #3b82f659}.brand-name{font-weight:700;font-size:16px;letter-spacing:-.01em}.brand-sub{font-size:11px;color:var(--text-faint)}.nav{display:flex;flex-direction:column;gap:2px;margin-top:6px;overflow-y:auto;min-height:0;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav-group{display:flex;flex-direction:column}.nav-group+.nav-group{margin-top:4px}.nav-group-head{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border-radius:10px;text-align:left;color:var(--text-faint);font-size:11px;font-weight:700;letter-spacing:.045em;text-transform:uppercase;transition:all .18s ease}.nav-group-head:hover{background:var(--surface-hover);color:var(--text-dim)}.nav-group-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-chevron{flex-shrink:0;opacity:.55;transition:transform .18s ease}.nav-chevron.open{transform:rotate(180deg)}.nav-group-head .count{font-size:11px;font-family:var(--mono);text-transform:none;letter-spacing:0;background:var(--surface-2);padding:1px 7px;border-radius:20px;color:var(--text-faint)}.nav-group-items{display:flex;flex-direction:column;gap:2px;margin:2px 0 2px 19px;padding-left:8px;border-left:1px solid var(--border)}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;color:var(--text-dim);font-weight:500;font-size:14px;transition:all .18s ease;text-align:left;width:100%}.nav-item:hover{background:var(--surface-hover);color:var(--text)}.nav-item.active{background:var(--accent-soft);color:var(--accent-text);box-shadow:inset 0 0 0 1px var(--accent-ring)}.nav-item .count{margin-left:auto;font-size:11px;font-family:var(--mono);background:var(--surface-2);padding:1px 7px;border-radius:20px;color:var(--text-faint)}.nav-item.active .count{background:#3b82f633;color:var(--accent-text)}.brand-mini{display:none}.sidebar-toggle{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;color:var(--text-dim);flex-shrink:0;transition:all .15s ease}.sidebar-toggle:hover{background:var(--surface-hover);color:var(--text)}@media (min-width: 901px){.sidebar{transition:width .2s ease,padding .2s ease}.sidebar.mode-hidden{display:none}.sidebar.mode-icons{width:68px;padding:20px 10px}.sidebar.mode-icons .brand{display:none}.sidebar.mode-icons .brand-mini{display:block;width:40px;height:40px;flex-shrink:0;border-radius:11px;margin:2px auto 22px;background-size:contain;background-position:center;background-repeat:no-repeat}.sidebar.mode-icons .brand-mini.brand-logo{display:grid}.sidebar.mode-icons .nav{overflow-x:hidden}.sidebar.mode-icons .nav-group-head{display:none}.sidebar.mode-icons .nav-group+.nav-group{margin-top:6px;padding-top:6px;border-top:1px solid var(--border)}.sidebar.mode-icons .nav-group-items{margin:0;padding:0;border:none}.sidebar.mode-icons .nav-item{position:relative;justify-content:center;padding:11px 0}.sidebar.mode-icons .nav-label{display:none}.sidebar.mode-icons .nav-item .count{position:absolute;top:2px;right:4px;margin:0;font-size:9px;padding:0 5px;line-height:15px}.sidebar.mode-icons .nav-item .count+.count{top:auto;bottom:2px}}.sidebar-backdrop{display:none}@media (max-width: 900px){.sidebar{position:fixed;top:0;left:0;z-index:60;transform:translate(-100%);transition:transform .22s ease;box-shadow:0 0 40px #00000080}.sidebar.open{transform:translate(0)}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:#00000080}.menu-btn{display:grid}.content{padding:18px 16px}.page-title{font-size:20px}.table-wrap{overflow-x:auto}.table-wrap table{min-width:620px}}@media (max-width: 600px){.content{padding:14px 12px}.search-box{max-width:none;flex:1}.user-meta{display:none}}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:12px}.page-title{display:none;font-size:24px;font-weight:700;letter-spacing:-.02em}.page-head:has(>.page-title:only-child){display:none}.page-meta{color:var(--text-dim);font-size:13px}.section-title{font-size:14px;font-weight:600;color:var(--text-dim);margin-bottom:14px;text-transform:none}.grid{display:grid;gap:18px}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.grid.repo-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,max(300px,calc((100% - 36px) / 3))),1fr))}@media (max-width: 1100px){.grid.cols-3{grid-template-columns:repeat(2,1fr)}}@media (max-width: 720px){.grid.cols-3,.grid.cols-2{grid-template-columns:1fr}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;transition:all .2s ease}.card.clickable{cursor:pointer}.card.clickable:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 10px 34px #3b82f62e,0 0 0 1px var(--accent-ring)}.card.clickable:hover .go-arrow{transform:translate(4px);color:var(--accent)}.project-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.project-name{font-weight:700;font-size:16px;letter-spacing:-.01em}.repo{display:inline-flex;align-items:center;gap:6px;color:var(--text-faint);font-size:12.5px;font-family:var(--mono);margin-top:4px}.mini-label{font-size:11px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px}.mini-value{font-size:13.5px;font-weight:600}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:20px;font-size:11.5px;font-weight:600;white-space:nowrap;border:1px solid transparent}.badge.green{background:var(--green-soft);color:#86efac;border-color:#22c55e4d}.badge.red{background:var(--red-soft);color:#fca5a5;border-color:#ef44444d}.badge.blue{background:var(--accent-soft);color:var(--accent-text);border-color:#3b82f64d}.badge.orange{background:var(--orange-soft);color:#fcd34d;border-color:#f59e0b4d}.badge.cyan{background:var(--cyan-soft);color:#67e8f9;border-color:#22d3ee4d}.badge.gray{background:#94a3b824;color:#cbd5e1;border-color:#94a3b84d}.badge.reddark{background:#b91c1c33;color:#fca5a5;border-color:#b91c1c80}.badge .dot{width:7px;height:7px;border-radius:50%;background:currentColor}.badge.pulse .dot{animation:pulse 1.4s ease-in-out infinite}.chat-unread-pill{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;border-radius:999px;font-size:11px;font-weight:700;line-height:1.4;background:var(--orange-soft);color:#f59e0b;border:1px solid rgba(245,158,11,.4)}.chat-unread-dot{width:7px;height:7px;border-radius:50%;background:#f59e0b;animation:pulse 1.4s ease-in-out infinite}.stat-card{display:flex;flex-direction:column;gap:10px}.live-banner{display:inline-flex;align-items:center;gap:10px;margin-bottom:22px}.spin{animation:spin 2.4s linear infinite}.spin-fast{animation:spin 1s linear infinite}.steps{display:flex;flex-direction:column;gap:9px;margin-top:16px}.step{display:flex;align-items:center;gap:10px;font-size:13px}.step .step-ic{display:grid;place-items:center;width:18px;height:18px}.step.done{color:var(--text-dim)}.step.active{color:var(--accent-text);font-weight:600}.step.pending{color:var(--text-faint)}.dot-gray{width:8px;height:8px;border-radius:50%;background:var(--border-strong)}.live-current{display:flex;align-items:center;justify-content:space-between;margin-top:6px}.live-current .cur-step{color:var(--accent-text);font-weight:600;font-size:14px}.live-elapsed{font-family:var(--mono);color:var(--text-dim);font-size:14px}.empty{border:1.5px dashed var(--border-strong);border-radius:var(--radius);padding:50px;text-align:center;color:var(--text-faint);display:flex;flex-direction:column;align-items:center;gap:12px}.filters{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}.activity-filters{gap:8px;flex-wrap:nowrap;overflow-x:auto;align-items:center}.activity-filters .chip-filters{display:inline-flex;align-items:center;flex-wrap:nowrap;gap:6px;margin:0}.activity-filters>*{flex:none}select,input[type=date],input[type=datetime-local],input[type=time],input[type=text],input[type=password],input[type=number],input:not([type]){background:var(--surface);border:1px solid var(--border);color:var(--text);padding:9px 12px;border-radius:9px;font-family:inherit;font-size:13px;outline:none;transition:border-color .15s ease}select:focus,input:focus{border-color:var(--accent)}input[type=date],input[type=datetime-local],input[type=time]{color-scheme:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--surface);border:1px solid var(--border);color:var(--text-dim);padding:9px 14px;border-radius:9px;font-size:13px;font-weight:500;transition:all .15s ease}.btn svg{flex-shrink:0}.btn:hover{border-color:var(--border-strong);color:var(--text)}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:#2f6fe0;box-shadow:0 4px 16px #3b82f666}.filters .spacer{margin-left:auto;color:var(--text-dim);font-size:13px}.pill{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:20px;background:var(--surface);border:1px solid var(--border);color:var(--text-dim);font-size:13px;font-weight:500;transition:all .15s ease}.pill:hover{color:var(--text);border-color:var(--border-strong)}.pill.active{background:var(--accent-soft);color:var(--accent-text);box-shadow:inset 0 0 0 1px var(--accent-ring)}.pill .count{font-family:var(--mono);font-size:11px;opacity:.8}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto;flex-shrink:0}@media (max-width: 1400px){.table-wrap th,.table-wrap td{padding-left:10px;padding-right:10px}}table{width:100%;border-collapse:collapse}thead th{text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);padding:13px 16px;border-bottom:1px solid var(--border)}tbody td{padding:13px 16px;border-bottom:1px solid var(--border);font-size:13px}tbody tr{cursor:pointer;transition:background .13s ease}tbody tr:hover{background:var(--surface-hover)}tbody tr:last-child td{border-bottom:none}.err-count{color:var(--red);font-weight:600;font-family:var(--mono)}.err-zero{color:var(--text-faint);font-family:var(--mono)}.run-row{padding:12px 0;border-bottom:1px solid var(--border)}.run-row:last-child{border-bottom:none}.link{color:var(--accent);display:inline-flex;align-items:center;gap:5px;font-size:12.5px}.link:hover{text-decoration:underline}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#05070ab8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:50;animation:fade .18s ease}body:has(.overlay){overflow:hidden}.modal{background:var(--surface);border:1px solid var(--border-strong);border-radius:16px;width:min(680px,100%);max-height:86vh;overflow-y:auto;animation:zoom .2s ease}.modal-head{padding:20px 22px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface)}.modal-title{font-size:18px;font-weight:700}.modal-sub{color:var(--text-faint);font-size:12.5px;margin-top:3px;font-family:var(--mono)}.modal-body{padding:20px 22px;display:flex;flex-direction:column;gap:18px}.modal-foot{padding:16px 22px;border-top:1px solid var(--border);display:flex;justify-content:flex-end}.report-box{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:14px 16px;font-family:var(--mono);font-size:12.5px;color:var(--text-dim);white-space:pre-wrap;line-height:1.7}.badge-row{display:flex;gap:8px;flex-wrap:wrap}.modal-close{position:absolute;top:18px;right:20px;color:var(--text-faint)}.modal-close:hover{color:var(--text)}.bar-track{flex:1;height:9px;background:var(--surface-2);border-radius:6px;overflow:hidden}.bar-track>span{display:block;height:100%;border-radius:6px;transition:width .5s ease}.back-btn{display:inline-flex;align-items:center;gap:7px;color:var(--text-dim);font-size:13px;margin-bottom:18px}.back-btn:hover{color:var(--text)}.detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:22px;flex-wrap:wrap}.fade-in{animation:fade .35s ease backwards}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes zoom{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.topbar{display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--border);padding:12px 0;margin-bottom:22px}.view-title{flex:1;min-width:0;margin:0;font-size:21px;font-weight:700;letter-spacing:-.02em;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.view-frame{background:transparent;border:1px solid var(--border-strong);border-radius:var(--radius);padding:24px}.content:has(.chatbot-view){display:flex;flex-direction:column}.content:has(.chatbot-view) .view-frame,.content:has(.audit-view) .view-frame{flex:1;min-height:0;display:flex;flex-direction:column;background:transparent;border:none;border-radius:0;padding:0}.menu-btn{display:none;place-items:center;width:38px;height:38px;border-radius:10px;color:var(--text-dim);background:var(--surface);border:1px solid var(--border);flex-shrink:0}.menu-btn:hover{background:var(--surface-hover);color:var(--text)}.user-chip{display:inline-flex;align-items:center;gap:10px;padding:6px 8px 6px 6px;background:var(--surface);border:1px solid var(--border);border-radius:999px}.user-avatar{width:28px;height:28px;border-radius:50%}.user-meta{display:flex;flex-direction:column;line-height:1.1}.user-login{font-size:13px;font-weight:600}.user-role{font-size:11px;color:var(--text-faint)}.card-hide-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin:-6px -6px -6px 0;padding:0;background:none;border:1px solid transparent;border-radius:7px;cursor:pointer;color:var(--text-faint);transition:background .12s ease,border-color .12s ease,color .12s ease}.card-hide-btn:hover{background:var(--accent-soft);border-color:var(--accent-ring);color:var(--accent-text)}.card-hide-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}[data-tip]{position:relative}[data-tip]:after{content:attr(data-tip);position:absolute;top:calc(100% + 6px);right:0;z-index:60;padding:5px 9px;border-radius:6px;white-space:nowrap;background:var(--surface);color:var(--text);border:1px solid var(--border-strong);box-shadow:0 6px 18px #00000059;font-size:11.5px;font-weight:500;line-height:1.3;opacity:0;transform:translateY(-2px);pointer-events:none;transition:opacity .12s ease,transform .12s ease}[data-tip]:hover:after,[data-tip]:focus-visible:after{opacity:1;transform:translateY(0);transition-delay:.25s}[data-tip][data-tip-pos=left]:after{top:50%;right:calc(100% + 8px);transform:translate(2px,-50%)}[data-tip][data-tip-pos=left]:hover:after,[data-tip][data-tip-pos=left]:focus-visible:after{transform:translateY(-50%)}.icon-btn{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;color:var(--text-dim);transition:all .15s ease}.icon-btn:hover{background:var(--surface-hover);color:var(--red)}.action-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-bottom:8px}.action-btn{display:flex;align-items:stretch;border-radius:10px;border:1px solid var(--border-strong);background:var(--panel, #141821);overflow:hidden;transition:border-color .15s,transform .05s}.action-btn:hover{border-color:var(--accent-ring);transform:translateY(-1px)}.action-main{flex:1;display:flex;align-items:center;gap:10px;padding:14px 16px;border:none;background:transparent;color:var(--text);font-size:14px;font-weight:600;cursor:pointer;text-align:left}.action-main:disabled{opacity:.45;cursor:not-allowed}.action-del{border:none;border-left:1px solid var(--border);background:transparent;color:var(--text-faint);padding:0 12px;cursor:pointer;transition:color .15s,background .15s}.action-del:hover{color:var(--red);background:var(--red-soft)}.action-btn.blue{box-shadow:inset 3px 0 0 var(--accent)}.action-btn.cyan{box-shadow:inset 3px 0 0 var(--accent-cyan)}.action-btn.orange{box-shadow:inset 3px 0 0 var(--orange)}.action-btn.green{box-shadow:inset 3px 0 0 var(--green)}.action-btn.blue svg{color:var(--accent)}.action-btn.cyan svg{color:var(--accent-cyan)}.action-btn.orange svg{color:var(--orange)}.action-btn.green svg{color:var(--green)}.mini-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--text-dim);cursor:pointer;transition:border-color .15s,color .15s}.mini-btn:hover{border-color:var(--accent-ring);color:var(--text)}.toast{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:9px;font-size:13px;font-weight:500;margin-bottom:16px;border:1px solid var(--border-strong)}.toast.ok{background:var(--green-soft);color:var(--green);border-color:#22c55e59}.toast.err{background:var(--red-soft);color:var(--red);border-color:#ef444459}.field{display:flex;flex-direction:column;gap:6px}.field>span{font-size:12px;font-weight:600;color:var(--text-dim)}.field input[type=text],.field input[type=datetime-local],.field input[type=time],.field input[type=number],.field select{width:100%;padding:9px 11px;border-radius:8px;border:1px solid var(--border-strong);background:var(--bg);color:var(--text);font-size:14px;font-family:inherit}.field input[type=text]:focus,.field input[type=datetime-local]:focus,.field input[type=time]:focus,.field input[type=number]:focus,.field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field small{font-size:11px}.seg{display:flex;gap:6px;background:var(--bg);border:1px solid var(--border);border-radius:9px;padding:4px}.seg-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text-dim);font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,border-color .15s}.seg-btn:hover{color:var(--text)}.seg-btn.on{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-ring)}.check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text);cursor:pointer}.check input{width:15px;height:15px;accent-color:var(--accent)}.page-sub{color:var(--text-dim);font-size:13px;margin:4px 0 0}.search-box{display:flex;align-items:center;gap:8px;flex:1;max-width:420px;background:var(--bg);border:1px solid var(--border);border-radius:9px;padding:8px 12px;color:var(--text-faint)}.search-box input{flex:1;background:transparent;border:none;outline:none;color:var(--text);font-size:13px;font-family:inherit}.topbar-right{display:flex;align-items:center;gap:14px;margin-left:auto}.notif{position:relative}@keyframes incidentHlPulse{0%{box-shadow:0 0 0 0 var(--accent-ring, rgba(79,140,255,.55))}70%{box-shadow:0 0 0 10px transparent}to{box-shadow:0 0 0 0 transparent}}.incident-hl{border-radius:12px;outline:2px solid var(--accent);outline-offset:1px;animation:incidentHlPulse 1.3s ease-out 2}.notif-dot{position:absolute;top:4px;right:4px;width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 0 2px var(--panel, #141821)}.pulse-ring{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 var(--accent-ring);animation:pulseRing 1.6s infinite}@keyframes pulseRing{0%{box-shadow:0 0 0 0 var(--accent-ring)}70%{box-shadow:0 0 0 8px transparent}to{box-shadow:0 0 0 0 transparent}}.stat-card{display:flex;align-items:center;gap:14px}.stat-ico{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-ico.blue{background:var(--accent-soft);color:var(--accent)}.stat-ico.green{background:var(--green-soft);color:var(--green)}.stat-ico.orange{background:var(--orange-soft);color:var(--orange)}.stat-ico.cyan{background:var(--cyan-soft);color:var(--accent-cyan)}.stat-num{font-size:22px;font-weight:700;display:flex;align-items:center;gap:8px}.stat-lbl{font-size:12px;color:var(--text-dim);margin-top:2px}.trend{display:inline-flex;align-items:center;gap:2px;font-size:12px;font-weight:600}.trend.up{color:var(--green)}.trend.down{color:var(--red)}.trend.flat{color:var(--text-faint)}.step-name{width:160px;font-size:13px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.run-list{display:flex;flex-direction:column;gap:10px}.run-row{width:100%;display:flex;align-items:center;gap:10px;background:transparent;border:none;color:var(--text);cursor:pointer;font-size:14px;text-align:left}.run-name{font-weight:600}.run-row .repo{margin-left:auto}.settings-row{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--border);color:var(--text-dim)}.settings-row:last-child{border-bottom:none}.settings-action{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid var(--border)}.settings-action:last-of-type{border-bottom:none}.settings-action-title{font-size:14px;font-weight:600;color:var(--text);margin-bottom:3px}.settings-action-desc{font-size:13px;color:var(--text-dim);line-height:1.5;max-width:640px}.status-select{background:var(--bg);border:1px solid var(--border);border-radius:7px;color:var(--text);padding:4px 8px;font-size:12px;font-family:inherit;cursor:pointer}.badge.red{background:var(--red-soft);color:var(--red)}.proj-card{display:flex;flex-direction:column;gap:14px}.proj-run{display:flex;gap:20px;align-items:flex-end}.rate-line{display:flex;align-items:center;gap:8px}.rate-track{flex:1;height:6px;background:var(--bg);border-radius:3px;overflow:hidden}.rate-fill{height:100%;border-radius:3px}.proj-counters{display:flex;gap:16px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--border)}.counter{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:var(--text-dim)}.proj-foot{display:flex;align-items:center;justify-content:space-between}.avatar-groups{display:flex;flex-direction:column;gap:6px;min-width:0}.avatar-strip{display:flex;align-items:center;gap:8px}.avatar-strip-label{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);min-width:84px}.avatars{display:flex}.avatar-sm{width:26px;height:26px;border-radius:50%;border:2px solid var(--panel, #141821);margin-left:-8px;background:var(--bg)}.avatars .avatar-sm:first-child{margin-left:0}.avatar-more{display:inline-flex;align-items:center;justify-content:center;height:26px;min-width:26px;padding:0 6px;margin-left:-8px;border-radius:13px;border:2px solid var(--panel, #141821);background:var(--surface-2);color:var(--text-dim);font-size:11px;font-weight:600}.btn-sm{padding:5px 10px;font-size:12.5px}.detail-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:16px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.detail-counters{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:16px 0;border-bottom:1px solid var(--border);margin-bottom:18px}.detail-counters>div{display:flex;flex-direction:column;gap:2px}.stat-v{font-size:20px;font-weight:700}.tabs{display:flex;gap:6px;margin-bottom:18px;flex-wrap:wrap}.tab{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:9px;border:1px solid transparent;background:transparent;color:var(--text-dim);font-size:13.5px;font-weight:600;cursor:pointer}.tab:hover{color:var(--text)}.tab.on{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-ring)}.tab-count{background:var(--bg);border-radius:999px;padding:1px 8px;font-size:11px}.tab.on .tab-count{background:#3b82f640}.feed-group{margin-bottom:8px}.feed-day{text-transform:uppercase;font-size:11px;letter-spacing:.05em;color:var(--text-faint);padding:10px 12px;background:var(--bg);border-radius:8px;margin-bottom:4px}.feed-row{display:flex;gap:12px;padding:14px 12px;border-bottom:1px solid var(--border)}.feed-ic{width:34px;height:34px;border-radius:8px;background:var(--bg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.feed-body{flex:1;min-width:0}.feed-top{display:flex;align-items:center;gap:8px}.feed-author{font-weight:600;font-size:13px}.feed-time{font-size:12px;color:var(--text-faint)}.feed-status{margin-left:auto;font-size:12px;color:var(--text-dim)}.feed-link{color:var(--text-faint);display:inline-flex}.feed-title{font-size:13.5px;margin-top:3px}.feed-desc{font-size:12.5px;color:var(--text-dim);margin-top:3px}.feed-meta{display:flex;align-items:center;gap:10px;margin-top:6px;font-size:12px;flex-wrap:wrap}.chip{background:var(--bg);border-radius:6px;padding:2px 8px;font-size:11.5px;color:var(--text-dim)}.chip-gh{color:var(--text-faint);display:inline-flex;margin-left:2px}.chip-gh:hover{color:var(--accent)}.metric-switch{display:flex;gap:6px;background:var(--bg);border:1px solid var(--border);border-radius:9px;padding:4px;margin-bottom:16px;width:fit-content}.heatmap-wrap{overflow-x:auto}.heatmap{border-collapse:separate;border-spacing:3px;min-width:700px}.heatmap th{font-size:11px;color:var(--text-faint);font-weight:600;padding:6px 8px;text-align:center;white-space:nowrap}.hm-corner{text-align:left!important;color:var(--text-dim)!important;font-size:11px}.hm-member{display:flex;align-items:center;gap:10px;font-size:13px;white-space:nowrap;padding-right:16px}.hm-member .avatar-sm{width:28px;height:28px;flex-shrink:0}.hm-member-id{display:flex;flex-direction:column;line-height:1.25;min-width:0}.hm-member-name{font-weight:600;color:var(--text);font-size:13px}.hm-member-role{font-size:11px;color:var(--text-faint)}.hm-cell{text-align:center;font-size:12px;font-family:var(--mono, monospace);border-radius:6px;min-width:46px;padding:9px 8px;transition:transform .12s ease;cursor:default}.hm-cell:hover{transform:scale(1.08)}.hm-title-wrap{display:flex;align-items:center;gap:14px}.hm-title-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:11px;background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent-ring);flex-shrink:0}.hm-card-title{display:flex;align-items:center;gap:8px;margin:0 0 4px}.hm-card-sub{font-size:12px;color:var(--text-faint);margin-bottom:12px}.hm-empty-note{font-size:13px;color:var(--text-faint);padding:6px 0}.top-row{display:flex;align-items:center;gap:10px;padding:7px 0}.top-name{font-size:13px;width:108px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-val{font-size:13px;color:var(--text);min-width:26px;text-align:right}.top-track{flex:1;height:8px;background:var(--bg);border-radius:4px;overflow:hidden}.top-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-cyan));border-radius:4px}.bus-card{display:flex;align-items:center;gap:10px;padding:10px 12px;margin-bottom:8px;border:1px solid rgba(239,68,68,.35);background:var(--red-soft);border-radius:9px}.bus-card:last-child{margin-bottom:0}.bus-card-body{display:flex;flex-direction:column;line-height:1.3;flex:1;min-width:0}.bus-card-name{font-size:13px;font-weight:600;color:var(--text);font-family:var(--mono, monospace)}.bus-card-contrib{font-size:11px;color:var(--text-dim)}.orphan-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;font-size:13px;border-bottom:1px solid var(--border)}.orphan-row:last-child{border-bottom:none}.orphan-id{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.orphan-meta{color:var(--orange);font-size:12px;white-space:nowrap;flex-shrink:0}.chip-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.hm-repo{font-weight:600;color:var(--text);font-size:12px}.hm-dev{font-size:10px;color:var(--text-faint);font-weight:400}.top-rank{width:18px;font-weight:700;color:var(--text-faint);font-size:12px;text-align:center}.top-proj{font-size:11px;color:var(--text-faint)}.top-row .top-track{flex:0 0 60px}.bars{display:flex;align-items:flex-end;gap:4px;height:120px}.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}.bar-track{flex:1;width:100%;display:flex;align-items:flex-end}.bar-fill{width:100%;border-radius:3px 3px 0 0;min-height:2px;transition:height .2s}.await-banner{display:flex;align-items:center;gap:8px;margin-top:12px;padding:10px 14px;border-radius:9px;background:var(--orange-soft);color:var(--orange);border:1px solid rgba(245,158,11,.4);font-size:13.5px;font-weight:600;text-decoration:none}.await-banner:hover{background:#f59e0b38}.report-modal{width:min(820px,96vw);max-height:88vh}.report-modal .modal-body{overflow-y:auto}.report-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.markdown{font-size:14px;line-height:1.6;color:var(--text)}.markdown h2{font-size:19px;font-weight:700;margin:20px 0 8px;padding-bottom:6px;border-bottom:1px solid var(--border)}.markdown h3{font-size:16px;font-weight:700;margin:16px 0 6px}.markdown h4{font-size:14px;font-weight:700;margin:12px 0 4px;color:var(--text-dim)}.markdown p{margin:8px 0}.markdown ul{margin:8px 0;padding-left:22px}.markdown li{margin:3px 0}.markdown code{background:var(--bg);border-radius:4px;padding:1px 5px;font-size:12.5px}.markdown pre{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:12px;overflow-x:auto;margin:10px 0}.markdown pre code{background:none;padding:0}.markdown .md-table{border-collapse:collapse;margin:12px 0;width:auto;max-width:100%;display:block;overflow-x:auto;font-size:13px}.markdown .md-table th,.markdown .md-table td{border:1px solid var(--border, var(--wash-12));padding:6px 12px;text-align:left}.markdown .md-table th{background:var(--surface-2, var(--wash-04));font-weight:700}.markdown .md-table tr:nth-child(2n) td{background:var(--wash-02)}.markdown strong{color:var(--text);font-weight:700}.notif-wrap{position:relative}.notif-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.notif-panel{position:absolute;right:0;top:42px;width:min(360px,calc(100vw - 24px));max-height:460px;overflow-y:auto;background:var(--panel, #141821);border:1px solid var(--border-strong);border-radius:12px;box-shadow:0 12px 40px #00000080;z-index:50;padding:6px}.notif-phead{display:flex;align-items:center;gap:8px;padding:10px 12px;font-weight:700;font-size:13px;border-bottom:1px solid var(--border);margin-bottom:4px}.notif-clear{margin-left:auto;background:none;border:none;color:var(--accent);font-size:12px;font-weight:600;cursor:pointer;padding:2px 4px}.notif-enable{display:flex;align-items:center;gap:6px;width:calc(100% - 16px);margin:4px 8px 6px;padding:7px 10px;border-radius:8px;border:1px solid var(--accent);background:#3b82f61f;color:var(--accent);font-size:12.5px;font-weight:600;cursor:pointer}.notif-enable:hover{background:#3b82f633}.notif-enabled{display:flex;align-items:center;gap:6px;margin:2px 12px 6px;font-size:11.5px;color:var(--text-faint)}.notif-warn{margin:2px 12px 8px;padding:7px 10px;border-radius:8px;background:#f59e0b1f;border:1px solid var(--orange, #f59e0b);color:var(--orange, #f59e0b);font-size:11.5px;line-height:1.4}.notif-clear:hover{text-decoration:underline}.notif-empty{padding:24px;text-align:center;color:var(--text-faint);font-size:13px}.notif-item{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;background:transparent;border:none;border-left:3px solid var(--border);border-radius:6px;padding:9px 12px;cursor:pointer}.notif-item:hover{background:var(--bg)}.notif-item.critique{border-left-color:var(--red)}.notif-item.eleve{border-left-color:var(--orange)}.notif-item.moyen{border-left-color:var(--accent)}.notif-item.faible{border-left-color:var(--green)}.notif-title{font-size:13px;font-weight:600;color:var(--text)}.notif-detail{font-size:11.5px;color:var(--text-faint)}.att-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:8px}.att-item{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--bg)}.att-name{font-size:11px;color:var(--text-dim);padding:6px 8px;border-bottom:1px solid var(--border);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.att-media{width:100%;display:block;max-height:320px;object-fit:contain;background:#000}.att-loading,.att-err{padding:20px;text-align:center;font-size:12px;color:var(--text-faint)}.stacktrace{white-space:pre-wrap;word-break:break-word;font-size:11.5px;color:var(--text-faint);background:var(--bg);border-radius:6px;padding:8px;margin-top:6px;max-height:260px;overflow:auto}.btn-danger{background:var(--red-soft);color:var(--red);border-color:#ef444459}.btn-danger:hover:not(:disabled){background:#ef444438}.pager{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:16px}.pager-info{font-size:13px;color:var(--text-dim)}.run-timeline{display:flex;gap:3px;flex-wrap:wrap}.tl-seg{width:14px;height:26px;border-radius:3px;background:var(--border);display:inline-block}.tl-seg.success{background:var(--green)}.tl-seg.failure{background:var(--red)}.tl-seg.running{background:var(--accent)}.tl-seg.skipped,.tl-seg.cancelled{background:#94a3b88c}.tl-legend{display:flex;gap:18px;margin-top:10px;font-size:12.5px;color:var(--text-dim)}.tl-legend span{display:inline-flex;align-items:center;gap:6px}.tl-legend i{width:11px;height:11px;border-radius:3px}.branch-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;background:var(--surface-2, var(--wash-05));border:1px solid var(--border, var(--wash-08));font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;color:var(--text, #e6e6e6);white-space:nowrap}.branch-chip svg{color:var(--text-faint, #8a8a8a);flex-shrink:0}.table-wrap .branch-chip{max-width:150px}.branch-chip>span{overflow:hidden;text-overflow:ellipsis}.branch-health{display:flex;flex-direction:column;gap:8px}.bh-row{display:grid;grid-template-columns:minmax(120px,1fr) 2fr auto auto;align-items:center;gap:12px;padding:8px 10px;border-radius:8px;border:1px solid var(--border, var(--wash-06));background:var(--surface, var(--wash-02))}.bh-row.prod{border-color:var(--accent, #4f8cff);background:#4f8cff0f}.bh-name{display:inline-flex;align-items:center;gap:6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;color:var(--text, #e6e6e6);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bh-name svg{color:var(--text-faint, #8a8a8a);flex-shrink:0}.bh-tag{font-family:inherit;font-size:9.5px;letter-spacing:.04em;text-transform:uppercase;padding:1px 6px;border-radius:999px;margin-left:2px;background:var(--accent, #4f8cff);color:#fff}.bh-bar{height:7px;border-radius:999px;background:var(--surface-2, var(--wash-06));overflow:hidden}.bh-fill{height:100%;border-radius:999px;transition:width .4s ease}.bh-rate{font-variant-numeric:tabular-nums;font-size:13px;font-weight:600;min-width:40px;text-align:right}.bh-meta{font-size:11.5px;color:var(--text-faint, #8a8a8a);white-space:nowrap}.chip-filters{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}.fchip{display:inline-flex;align-items:center;justify-content:center;min-width:74px;height:30px;padding:0 12px;box-sizing:border-box;border-radius:999px;cursor:pointer;font-size:12px;line-height:1;white-space:nowrap;background:var(--surface, var(--wash-03));border:1px solid var(--border, var(--wash-08));color:var(--text-dim, #b8b8b8);transition:all .15s ease}.fchip:hover{color:var(--text, #e6e6e6);border-color:var(--accent, #4f8cff)}.fchip.on{background:var(--accent, #4f8cff);border-color:var(--accent, #4f8cff);color:#fff;font-weight:600}.activity-filters select,.activity-filters input[type=date]{height:30px;min-height:30px;box-sizing:border-box;padding:0 12px;margin:0;line-height:28px;border-radius:999px;font-size:12px;vertical-align:middle}.activity-filters .btn,.activity-filters .fchip{height:30px;box-sizing:border-box;padding:0 12px;margin:0;border-radius:999px;font-size:12px;display:inline-flex;align-items:center;justify-content:center}.inc-dot{display:inline-flex;color:var(--orange, #f59e0b)}.inc-sec{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-faint, #8a8a8a);text-transform:uppercase;letter-spacing:.03em;margin:16px 0 6px}.inc-text{font-size:13.5px;line-height:1.55;color:var(--text, #e6e6e6);margin:0}.inc-files{margin:4px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:3px}.inc-files li{font-size:12.5px}.inc-evidence{margin:4px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:6px}.inc-evidence li{font-size:12.5px;line-height:1.5;color:var(--text-dim, #b8b8b8)}.inc-suggestion{margin:16px 0 4px;padding:12px 14px;border-radius:10px;background:#f59e0b0f;border:1px solid rgba(245,158,11,.25)}.inc-suggestion-head{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:var(--orange, #f59e0b);margin-bottom:6px}.inc-warn{font-size:9.5px;text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;border-radius:999px;background:#f59e0b2e;color:#fcd34d}.inc-meta{display:flex;flex-wrap:wrap;gap:14px;margin-top:16px;padding-top:12px;border-top:1px solid var(--border, var(--wash-06));font-size:11.5px;color:var(--text-faint, #8a8a8a)}.chatbot{display:grid;grid-template-columns:340px 1fr;gap:16px;height:calc(100vh - 120px)}.content:has(.chatbot-view){height:100vh;overflow:hidden;padding-top:14px}.chatbot-view{display:flex;flex-direction:column;height:100%;min-height:0}.content:has(.audit-view){height:100vh;overflow:hidden;padding-top:14px;display:flex;flex-direction:column}.audit-view{flex:1;min-height:0;display:flex;flex-direction:column}.audit-view .page-head{margin-bottom:10px;flex-shrink:0}.chatbot-view .page-head,.chatbot-view .tabs{margin-bottom:10px}.chatbot-view .chatbot{flex:0 1 auto;height:calc(100vh - 240px);min-height:360px;margin:auto 0}.chat-list{display:flex;flex-direction:column;min-height:0;border:1px solid var(--border, var(--wash-07));border-radius:14px;background:var(--surface, var(--wash-02));overflow:hidden}.chat-search{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border, var(--wash-06));color:var(--text-faint)}.chat-search input{flex:1;background:transparent;border:none;outline:none;color:var(--text);font-size:13px}.chat-onlytickets{display:flex;align-items:center;gap:6px;padding:8px 12px;font-size:12px;color:var(--text-dim);border-bottom:1px solid var(--border, var(--wash-05));cursor:pointer}.chat-datefilter{padding:8px 12px;border-bottom:1px solid var(--border, var(--wash-05))}.chat-datefilter select{width:100%;padding:7px 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:13px;font-family:inherit;cursor:pointer}.chat-conv-list{flex:1;overflow-y:auto;min-height:0}.chat-conv{width:100%;text-align:left;display:flex;gap:10px;align-items:center;padding:11px 12px;cursor:pointer;background:transparent;border:none;border-bottom:1px solid var(--border, var(--wash-04))}.chat-conv:hover{background:var(--wash-03)}.chat-conv.on{background:#4f8cff1a}.chat-avatar{flex-shrink:0;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;background:var(--wash-08);color:var(--text);position:relative}.chat-avatar.lg{width:44px;height:44px;font-size:15px}.chat-avatar[class*=dot-]:after{content:"";position:absolute;right:-1px;bottom:-1px;width:10px;height:10px;border-radius:50%;border:2px solid var(--bg, #0b0e14)}.chat-avatar.dot-green:after{background:var(--green)}.chat-avatar.dot-orange:after{background:var(--orange)}.chat-avatar.dot-red:after{background:var(--red)}.chat-avatar.dot-blue:after{background:var(--accent)}.chat-avatar.dot-gray:after{background:var(--text-faint)}.chat-conv-body{flex:1;min-width:0}.chat-conv-top{display:flex;justify-content:space-between;gap:8px}.chat-conv-name{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-conv-time{font-size:11px;color:var(--text-faint);white-space:nowrap}.chat-conv-app{display:flex;align-items:center;gap:4px;font-size:11.5px;color:var(--text-dim);margin:1px 0}.chat-conv-app svg{color:var(--orange)}.chat-conv-preview{font-size:12px;color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-conv-ticket{color:var(--accent-cyan, #67e8f9);margin-right:3px}.chat-conv-unread{flex-shrink:0;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--accent, #4f8cff);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.chat-main{border:1px solid var(--border, var(--wash-07));border-radius:14px;background:var(--surface, var(--wash-02));overflow:hidden;display:flex;flex-direction:column;min-height:0}.chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text-faint)}.chat-back{display:none;align-items:center;gap:8px;padding:12px 16px;font-size:14px;font-weight:600;color:var(--text);border-bottom:1px solid var(--border);background:var(--surface-2);flex-shrink:0}.chat-back:hover{background:var(--surface-hover)}.chat-thread{display:flex;flex-direction:column;min-height:0;height:100%}.chat-thread-head{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border, var(--wash-06))}.chat-tickets-btn{margin-left:auto;flex-shrink:0}.chat-head-name{font-size:15px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:8px}.chat-head-sub{display:flex;gap:14px;font-size:12px;color:var(--text-faint);margin-top:2px}.chat-head-sub span{display:inline-flex;align-items:center;gap:4px}.chat-timeline{flex:1;overflow-y:auto;min-height:0;padding:18px;display:flex;flex-direction:column;gap:14px}.chat-msg{display:flex;flex-direction:column;max-width:74%}@keyframes msgFlash{0%,to{box-shadow:0 0 0 0 transparent}25%{box-shadow:0 0 0 3px var(--accent-ring)}}.chat-msg-flash{animation:msgFlash 2s ease;border-radius:10px}.chat-msg.client{align-self:flex-start;align-items:flex-start}.chat-msg.bot_client,.chat-msg.employee{align-self:flex-end;align-items:flex-end}.chat-msg.bot_dev,.chat-msg.ticket{align-self:stretch;max-width:100%}.chat-msg-label{font-size:11px;color:var(--accent, #4f8cff);font-weight:600;margin-bottom:4px;display:flex;align-items:center;gap:5px}.chat-msg-time{font-size:10.5px;color:var(--text-faint);margin-top:3px}.chat-bubble{padding:10px 13px;border-radius:12px;font-size:13.5px;line-height:1.5;color:var(--text);background:var(--wash-05)}.chat-msg.bot_client .chat-bubble{background:#22d3ee24;border:1px solid rgba(34,211,238,.25)}.chat-msg.employee .chat-bubble{background:#22c55e29;border:1px solid rgba(34,197,94,.3)}.chat-msg.employee .chat-msg-label{color:#22c55e}.chat-msg.bot_dev .chat-bubble{font-family:ui-monospace,Menlo,monospace;font-size:12px;white-space:pre-wrap;background:var(--wash-03);border:1px solid var(--border, var(--wash-10))}.chat-bubble.chat-media{padding:6px}.chat-media-img{display:block;max-width:260px;max-height:320px;width:auto;height:auto;border-radius:8px;cursor:zoom-in}.chat-media-video{display:block;max-width:280px;max-height:320px;border-radius:8px}.chat-media-doc{display:inline-flex;align-items:center;gap:6px;color:var(--text);text-decoration:none;padding:4px 6px}.chat-media-doc:hover{text-decoration:underline}.chat-media-loading{opacity:.6;font-style:italic}.chat-loadmore{align-self:center;margin:4px 0 10px;padding:6px 14px;border-radius:999px;border:1px solid var(--border, var(--wash-14));background:var(--wash-05);color:var(--text);font-size:12.5px;cursor:pointer;transition:background .15s}.chat-loadmore:hover{background:var(--wash-10)}.pager{display:flex;align-items:center;justify-content:center;gap:14px;margin:18px 0 4px}.pager-btn{padding:7px 14px;border-radius:8px;border:1px solid var(--border, var(--wash-14));background:var(--wash-05);color:var(--text);font-size:13px;cursor:pointer;transition:background .15s}.pager-btn:hover:not(:disabled){background:var(--wash-10)}.pager-btn:disabled{opacity:.4;cursor:default}.pager-info{font-size:12.5px;color:var(--text-dim)}.ms{position:relative}.ms-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:8px 12px;border-radius:8px;border:1px solid var(--border, var(--wash-14));background:var(--surface-2, var(--wash-04));color:var(--text);font-size:13px;cursor:pointer}.ms-btn:hover{border-color:var(--accent)}.ms-btn-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ms-pop{position:absolute;z-index:50;top:calc(100% + 4px);left:0;width:max-content;min-width:100%;max-width:min(460px,92vw);background:var(--panel, #141821);border:1px solid var(--border, var(--wash-14));border-radius:10px;box-shadow:0 12px 32px #00000073;overflow:hidden}.ms-search{display:flex;align-items:center;gap:6px;padding:8px 10px;border-bottom:1px solid var(--border, var(--wash-08));color:var(--text-dim)}.ms-search input{flex:1;border:none;background:transparent;color:var(--text);font-size:13px;outline:none}.ms-actions{display:flex;gap:12px;padding:6px 10px;border-bottom:1px solid var(--border, var(--wash-08))}.ms-link{background:none;border:none;color:var(--accent);font-size:12px;cursor:pointer;padding:0}.ms-list{max-height:260px;overflow-y:auto;padding:4px}.ms-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 8px;border:none;background:none;color:var(--text);font-size:13px;text-align:left;cursor:pointer;border-radius:6px}.ms-item:hover{background:var(--wash-06)}.ms-item.on{color:var(--accent)}.ms-check{display:inline-flex;width:16px;height:16px;align-items:center;justify-content:center;border:1px solid var(--border, rgba(255,255,255,.25));border-radius:4px;flex-shrink:0}.ms-item.on .ms-check{background:var(--accent);border-color:var(--accent);color:#fff}.ms-item-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ms-item-sub{color:var(--text-faint);margin-left:6px;font-size:11.5px}.ms-empty{padding:10px;text-align:center;color:var(--text-faint);font-size:12.5px}.chat-composer{border-top:1px solid var(--border, var(--wash-06));padding:12px 16px}.chat-composer-row{display:flex;align-items:flex-end;gap:10px}.chat-composer textarea{flex:1;min-width:0;resize:none;max-height:140px;min-height:40px;padding:10px 12px;border-radius:10px;border:1px solid var(--border, var(--wash-12));background:var(--surface-2, var(--wash-04));color:var(--text);font:inherit;line-height:1.4}.chat-composer textarea:focus{border-color:var(--accent);outline:none}.chat-composer-note{margin-bottom:8px;font-size:12.5px;color:var(--orange, #f59e0b)}.chat-composer-file{display:inline-flex;align-items:center;gap:6px;margin-bottom:8px;padding:5px 8px;border-radius:8px;border:1px solid var(--border, var(--wash-12));background:var(--surface-2, var(--wash-04));font-size:12.5px;color:var(--text)}.chat-composer-file-x{display:inline-flex;align-items:center;margin-left:2px;padding:2px;border:none;background:none;color:var(--text-faint, #9ca3af);cursor:pointer;border-radius:4px}.chat-composer-file-x:hover{color:var(--red, #ef4444);background:var(--wash-06)}.chat-rec-stop{color:var(--red, #ef4444);border-color:var(--red, #ef4444)}.chat-rec-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--red, #ef4444);animation:chat-rec-pulse 1s ease-in-out infinite}@keyframes chat-rec-pulse{0%,to{opacity:1}50%{opacity:.25}}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#000000d1;cursor:zoom-out;padding:24px}.lightbox-img{max-width:92vw;max-height:92vh;object-fit:contain;border-radius:8px;cursor:default;box-shadow:0 12px 48px #00000080}.lightbox-close{position:fixed;top:18px;right:22px;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:999px;background:var(--wash-12);color:#fff;cursor:pointer}.lightbox-close:hover{background:var(--wash-22)}.chat-ticket{border:1px solid rgba(79,140,255,.3);border-radius:12px;background:#4f8cff0d;padding:12px 14px}.chat-ticket-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.chat-ticket-title{font-size:13px;font-weight:700;color:var(--text);display:inline-flex;align-items:center;gap:6px}.chat-ticket-app{font-size:11px;color:var(--text-faint);margin-bottom:6px}.chat-ticket-sec{font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);margin-bottom:3px}.chat-ticket-text{font-size:13px;line-height:1.5;color:var(--text);overflow-wrap:anywhere;word-break:break-word}.chat-ticket-files{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.chat-ticket-files .chip{font-size:11px;padding:2px 7px;border-radius:6px;background:var(--wash-06)}.chat-ticket-fix{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:12px;color:var(--orange, #f59e0b);min-width:0;overflow-wrap:anywhere;word-break:break-word}.chat-ticket-sec{margin-top:10px}.chat-ticket.clickable{cursor:pointer;transition:border-color .15s,background .15s}.chat-ticket.clickable:hover{border-color:var(--accent)}.chat-ticket-more{margin-top:10px;font-size:12px;color:var(--accent);font-weight:600}.job-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.job-time{font-family:ui-monospace,Menlo,monospace;font-size:11.5px;color:var(--text-dim, #b8b8b8);white-space:nowrap}.job-est{color:var(--text-faint, #8a8a8a)}.job-bar{height:4px;border-radius:999px;background:var(--surface-2, var(--wash-06));overflow:hidden;margin:5px 0 2px}.job-bar-fill{height:100%;border-radius:999px;transition:width .5s ease}.job-bar-fill.run{animation:barpulse 1.6s ease-in-out infinite}@keyframes barpulse{0%,to{opacity:1}50%{opacity:.6}}.step .step-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.step .step-time{margin-left:auto;font-family:var(--mono);font-size:11.5px;color:var(--text-dim);white-space:nowrap}.step .step-est{color:var(--text-faint)}.mock-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;margin-top:16px}.mock-card{display:flex;flex-direction:column;gap:10px;padding:16px}.mock-top{display:flex;align-items:center;gap:12px}.mock-name{font-size:14px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mock-sub{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--text-faint);margin-top:2px}.mock-tags{display:flex;flex-wrap:wrap;gap:6px}.mock-tags .chip{font-size:11px;padding:2px 8px;border-radius:999px;background:var(--wash-06);color:var(--text-dim)}.mock-notes{font-size:12.5px;color:var(--text-dim);font-style:italic}.mock-meta{display:flex;justify-content:space-between;font-size:11.5px;color:var(--text-faint);margin-top:2px}.mock-actions{display:flex;align-items:center;gap:8px;margin-top:6px}.mock-actions .btn{display:inline-flex;align-items:center;gap:6px}.chip-pick{display:flex;flex-wrap:wrap;gap:6px}.chip-n{opacity:.75;font-variant-numeric:tabular-nums;margin-left:3px}.emp-load-head{display:flex;justify-content:space-between;font-size:11.5px;color:var(--text-faint)}.emp-load{height:6px;border-radius:999px;background:var(--surface-2, var(--wash-06));overflow:hidden}.emp-load-fill{height:100%;border-radius:999px;transition:width .4s ease}.emp-sec{font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);margin-top:4px}.mock-card-user{border-style:dashed}.mock-card-user .chat-avatar{width:40px;height:40px;padding:0}.emp-user-note{font-size:12px;color:var(--text-dim)}.emp-projects{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.emp-proj{display:inline-flex;align-items:center;gap:5px;padding:3px 6px 3px 3px;border-radius:999px;font-size:12px;background:var(--wash-05);border:1px solid var(--border, var(--wash-08))}.emp-x{display:inline-flex;color:var(--text-faint);cursor:pointer}.emp-x:hover{color:var(--red)}.emp-add{height:26px;font-size:12px;padding:0 8px;border-radius:999px}.cl-best{border-color:var(--green)}.cl-usage{margin-top:4px}.cl-usage-head{display:flex;justify-content:space-between;font-size:12px;color:var(--text-dim);margin-bottom:4px}.cl-reset{color:var(--text-faint)}.cl-bar{height:8px;border-radius:999px;background:var(--surface-2, var(--wash-06));overflow:hidden}.cl-bar-fill{height:100%;border-radius:999px;transition:width .4s ease}.cl-apply{display:flex;gap:8px;margin-top:8px;align-items:center}.cl-apply select{flex:1;min-width:0}.cl-apply .btn{flex-shrink:0;white-space:nowrap}.kanban-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.kanban-board--3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width: 900px){.menu-btn{display:grid!important}.sidebar-toggle{display:none}.table-wrap{overflow-x:auto}.table-wrap table{min-width:620px}.view-title{font-size:17px}.view-frame{padding:16px}.topbar{position:sticky;top:0;z-index:40;background:var(--bg);margin:0 -16px 8px;padding:8px 16px;flex-wrap:wrap}.menu-btn{order:0}.topbar-right{order:1}.search-box{order:2;flex-basis:100%;max-width:none}.user-meta{display:none}.notif-panel{position:fixed;top:60px;right:12px;left:12px;width:auto;max-height:70vh}.chatbot{grid-template-columns:1fr;grid-template-rows:1fr}.chatbot .chat-main,.chatbot.has-selected .chat-list{display:none}.chatbot.has-selected .chat-main{display:flex}.chat-back{display:inline-flex}.detail-stats,.detail-counters{grid-template-columns:repeat(2,minmax(0,1fr))}.content:has(.chatbot-view){display:flex;flex-direction:column;height:100dvh;overflow:hidden;padding-top:8px}.chatbot-view{flex:1 1 auto;min-height:0;height:auto}.chatbot-view .chatbot{flex:1 1 auto;min-height:0;height:auto;margin:0}.chatbot-view:has(.chatbot.has-selected) .tabs,.chatbot-view:has(.chatbot.has-selected) .page-head{display:none}.chatbot.has-selected .chat-main{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;height:100dvh;background:var(--bg);border:none;border-radius:0}.chatbot.has-selected .chat-timeline{flex:1 1 auto;min-height:0}.chatbot.has-selected .chat-composer{flex-shrink:0}.sidebar{height:100dvh}.metric-switch{width:100%;max-width:100%;flex-wrap:wrap}.metric-switch .seg-btn{flex:1 1 28%;min-width:0;padding:7px 6px;font-size:12px}input,textarea,select{font-size:16px!important}.chat-thread-head{flex-wrap:wrap;gap:8px 10px;padding:12px 14px}.chat-head-meta{flex:1 1 auto;min-width:0}.chat-head-sub{flex-wrap:wrap;gap:4px 12px}.chat-timeline{padding:12px 10px}.chat-msg{max-width:92%}.cl-applied .chip{max-width:100%;white-space:normal;overflow-wrap:anywhere}}@media (max-width: 600px){.detail-stats,.detail-counters,.mock-grid,.att-grid,.action-grid{grid-template-columns:minmax(0,1fr)}.bh-row{grid-template-columns:1fr auto;row-gap:4px}.page-head{align-items:flex-start}.overlay{padding:12px}.kanban-board{display:flex;overflow-x:auto;gap:12px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding-bottom:6px}.kanban-board>*{flex:0 0 82%;min-width:240px;scroll-snap-align:start}}.sv-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.sv-tabs{display:inline-flex;gap:4px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:4px;flex-wrap:wrap}.sv-tab{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:9px;font-size:13px;font-weight:600;color:var(--text-dim);transition:all .18s ease;white-space:nowrap}.sv-tab:hover{background:var(--surface-hover);color:var(--text)}.sv-tab.active{background:var(--accent-soft);color:var(--accent-text);box-shadow:inset 0 0 0 1px var(--accent-ring)}.sv-tab .sv-tab-n{font-family:var(--mono);font-size:11px;background:var(--surface-2);padding:1px 7px;border-radius:20px}.sv-tab.active .sv-tab-n{background:#3b82f638}.sv-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.sv-kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden;transition:border-color .18s ease,transform .18s ease}.sv-kpi:hover{border-color:var(--border-strong);transform:translateY(-1px)}.sv-kpi-top{display:flex;align-items:center;gap:10px}.sv-kpi-ico{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex-shrink:0}.sv-kpi-ico.blue{background:var(--accent-soft);color:var(--accent)}.sv-kpi-ico.green{background:var(--green-soft);color:var(--green)}.sv-kpi-ico.orange{background:var(--orange-soft);color:var(--orange)}.sv-kpi-ico.red{background:var(--red-soft);color:var(--red)}.sv-kpi-ico.cyan{background:var(--cyan-soft);color:var(--accent-cyan)}.sv-kpi-lbl{font-size:12px;color:var(--text-dim);font-weight:500;line-height:1.3}.sv-kpi-val{font-size:26px;font-weight:700;letter-spacing:-.02em;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.sv-kpi-val small{font-size:13px;font-weight:600;color:var(--text-faint)}.sv-kpi-foot{font-size:11.5px;color:var(--text-faint);display:flex;align-items:center;gap:6px}.sv-spark{display:block;width:100%;height:28px;margin-top:-2px}.sv-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.sv-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.sv-card-title{font-size:14px;font-weight:600;display:inline-flex;align-items:center;gap:8px}.sv-card-sub{font-size:11.5px;color:var(--text-faint);font-weight:400}.sv-grid-2{display:grid;grid-template-columns:1.6fr 1fr;gap:16px;margin-top:16px}.sv-grid-even{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.sv-section{margin-top:26px}.sv-section-title{font-size:13px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px;display:flex;align-items:center;gap:8px}.sv-empty{font-size:13px;color:var(--text-faint);padding:18px 0;text-align:center}.sv-legend{display:flex;gap:8px;flex-wrap:wrap}.sv-legend button{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--text-dim);padding:4px 10px;border-radius:20px;border:1px solid var(--border);transition:all .15s ease}.sv-legend button:hover{border-color:var(--border-strong);color:var(--text)}.sv-legend button.off{opacity:.4}.sv-legend i{width:9px;height:9px;border-radius:3px;display:inline-block}.sv-chart-wrap{position:relative}.sv-chart{display:block;width:100%;height:230px;overflow:visible}.sv-chart .grid-line{stroke:var(--border);stroke-width:1;stroke-dasharray:3 4}.sv-chart .axis-txt{fill:var(--text-faint);font-size:10px;font-family:var(--mono)}.sv-chart .hit{fill:transparent;cursor:crosshair}.sv-chart .cursor-line{stroke:var(--border-strong);stroke-width:1}.sv-tip{position:absolute;pointer-events:none;z-index:5;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:9px;padding:9px 11px;min-width:132px;box-shadow:0 10px 30px #00000073;font-size:12px;transform:translate(-50%,-110%)}.sv-tip-day{color:var(--text-faint);font-size:11px;margin-bottom:5px}.sv-tip-row{display:flex;align-items:center;gap:7px;justify-content:space-between}.sv-tip-row i{width:8px;height:8px;border-radius:2px}.sv-tip-row b{font-family:var(--mono);font-weight:600}.sv-donut{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.sv-donut-svg{flex-shrink:0}.sv-donut-mid{font-size:20px;font-weight:700;fill:var(--text)}.sv-donut-sub{font-size:9.5px;fill:var(--text-faint)}.sv-donut-legend{display:flex;flex-direction:column;gap:8px;flex:1;min-width:130px}.sv-dl-row{display:flex;align-items:center;gap:9px;font-size:12.5px}.sv-dl-row i{width:9px;height:9px;border-radius:3px;flex-shrink:0}.sv-dl-row .n{margin-left:auto;font-family:var(--mono);font-weight:600}.sv-dl-row .pct{color:var(--text-faint);font-family:var(--mono);font-size:11px;width:38px;text-align:right}.sv-bars{display:flex;align-items:flex-end;gap:3px;height:130px}.sv-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;min-width:0}.sv-bar-track{flex:1;width:100%;display:flex;align-items:flex-end;border-radius:4px}.sv-bar-fill{width:100%;border-radius:4px;min-height:2px;transition:opacity .15s ease,height .4s ease}.sv-bar-col:hover .sv-bar-fill{opacity:.75}.sv-bar-lbl{font-size:9.5px;color:var(--text-faint);font-family:var(--mono);white-space:nowrap}.sv-hbars{display:flex;flex-direction:column;gap:3px}.sv-hbar{display:grid;grid-template-columns:minmax(96px,1.1fr) 1fr auto;align-items:center;gap:11px;padding:7px 0}.sv-hbar-lbl{font-size:12.5px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sv-hbar-lbl small{color:var(--text-faint);font-size:11px}.sv-hbar-track{height:8px;background:var(--bg);border-radius:4px;overflow:hidden}.sv-hbar-fill{height:100%;border-radius:4px;transition:width .4s ease}.sv-hbar-n{font-family:var(--mono);font-size:12px;font-weight:600;min-width:30px;text-align:right}.sv-hbar-n small{color:var(--text-faint);font-weight:400}.sv-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.sv-table-scroll{overflow-x:auto}.sv-table{width:100%;border-collapse:collapse;font-size:13px;min-width:720px}.sv-table th{text-align:left;padding:11px 14px;font-size:11px;font-weight:600;color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);white-space:nowrap}.sv-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.sv-table th.sortable:hover{color:var(--text-dim)}.sv-table th .sv-sort{display:inline-flex;align-items:center;gap:4px}.sv-table th.on{color:var(--accent)}.sv-table td{padding:11px 14px;border-bottom:1px solid var(--border);vertical-align:middle}.sv-table tbody tr:last-child td{border-bottom:none}.sv-table tbody tr:hover{background:var(--surface-hover)}.sv-repo-name{font-weight:600}.sv-repo-full{color:var(--text-faint);font-size:11px;font-family:var(--mono);display:block}.sv-pill{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:600}.sv-pill i{width:6px;height:6px;border-radius:50%}.sv-pill.green{background:var(--green-soft);color:var(--green)}.sv-pill.red{background:var(--red-soft);color:var(--red)}.sv-pill.orange{background:var(--orange-soft);color:var(--orange)}.sv-pill.blue{background:var(--accent-soft);color:var(--accent-text)}.sv-pill.gray{background:var(--surface-2);color:var(--text-dim)}.sv-dora{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:14px}.sv-dora-card{background:var(--surface);border:1px solid var(--border);border-left-width:3px;border-radius:var(--radius);padding:16px}.sv-dora-card.green{border-left-color:var(--green)}.sv-dora-card.orange{border-left-color:var(--orange)}.sv-dora-card.red{border-left-color:var(--red)}.sv-dora-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.sv-dora-val{font-size:24px;font-weight:700;letter-spacing:-.02em}.sv-dora-val span{font-size:13px;color:var(--text-faint);font-weight:600}.sv-dora-lbl{font-size:12.5px;color:var(--text-dim);margin-top:2px}.sv-dora-hint{font-size:11px;color:var(--text-faint);margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.sv-contrib{display:flex;align-items:center;gap:11px;padding:8px 0}.sv-contrib-av{width:28px;height:28px;border-radius:50%;background:var(--surface-2);flex-shrink:0}.sv-contrib-name{font-size:13px;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:0 0 auto;max-width:130px}.sv-contrib-bd{font-size:11px;color:var(--text-faint);font-family:var(--mono)}.sv-contrib-track{flex:1;height:7px;background:var(--bg);border-radius:4px;overflow:hidden;min-width:40px}.sv-contrib-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--accent),var(--accent-cyan))}.sv-contrib-n{font-family:var(--mono);font-size:12px;font-weight:600;min-width:26px;text-align:right}.sv-kpi.clickable,.sv-hbar.clickable,.sv-dl-row.clickable,.sv-contrib.clickable{width:100%;text-align:left;font:inherit;cursor:pointer}.sv-kpi.clickable:hover{border-color:var(--accent-ring)}.sv-kpi.clickable:focus-visible,.sv-hbar.clickable:focus-visible,.sv-dl-row.clickable:focus-visible,.sv-contrib.clickable:focus-visible,.sv-table tbody tr.clickable:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}.sv-kpi-go{margin-left:auto;color:var(--text-faint);flex-shrink:0;transition:transform .18s ease,color .18s ease}.sv-kpi.clickable:hover .sv-kpi-go{transform:translate(3px);color:var(--accent)}.sv-hbar.clickable{border-radius:8px;padding-left:6px;padding-right:6px;margin:0 -6px}.sv-hbar.clickable:hover{background:var(--surface-hover)}.sv-hbar.clickable:hover .sv-hbar-lbl{color:var(--accent-text)}.sv-dl-row.clickable{border-radius:7px;padding:3px 6px;margin:-3px -6px}.sv-dl-row.clickable:hover{background:var(--surface-hover);color:var(--accent-text)}.sv-contrib.clickable{border-radius:8px;padding-left:6px;padding-right:6px;margin:0 -6px}.sv-contrib.clickable:hover{background:var(--surface-hover)}.sv-contrib.clickable:hover .sv-contrib-name{color:var(--accent-text)}.sv-table tbody tr.clickable{cursor:pointer}.sv-table tbody tr.clickable:hover .sv-repo-name{color:var(--accent-text)}.sv-table td.clickable-cell{cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}.sv-table td.clickable-cell:hover{color:var(--red);text-decoration-style:solid}.sv-chart .hit.pickable{cursor:pointer}.sv-chart .hit.pickable:hover{fill:var(--accent);fill-opacity:.06}.sv-head-right{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.sv-period{display:inline-flex;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:3px}.sv-period-btn{padding:5px 13px;border-radius:8px;font-size:12px;font-weight:600;color:var(--text-faint);font-family:var(--mono);transition:all .15s ease}.sv-period-btn:hover{color:var(--text);background:var(--surface-hover)}.sv-period-btn.active{background:var(--surface-2);color:var(--text);box-shadow:inset 0 0 0 1px var(--border-strong)}.sv-risk-list{display:flex;flex-direction:column;gap:10px}.sv-risk{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--border);border-left-width:3px;border-radius:var(--radius);padding:14px 16px;transition:all .18s ease;font:inherit}.sv-risk:hover{border-color:var(--border-strong);transform:translate(2px)}.sv-risk:hover .sv-risk-go{color:var(--accent);transform:translate(3px)}.sv-risk-score{width:46px;height:46px;border-radius:12px;border:2px solid;flex-shrink:0;display:grid;place-items:center;font-family:var(--mono);font-size:17px;font-weight:700}.sv-risk-main{flex:1;min-width:0}.sv-risk-top{display:flex;align-items:center;gap:9px;margin-bottom:3px;flex-wrap:wrap}.sv-risk-name{font-weight:600;font-size:14px}.sv-risk-reco{font-size:12.5px;color:var(--text-dim)}.sv-risk-meta{font-size:11.5px;color:var(--text-faint);margin-top:4px;font-family:var(--mono)}.sv-risk-go{color:var(--text-faint);flex-shrink:0;transition:all .18s ease}.sv-tests{display:flex;flex-direction:column}.sv-test{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--border)}.sv-test:last-child{border-bottom:none}.sv-test-main{flex:1;min-width:0}.sv-test-name{font-size:12.5px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sv-test-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:3px;font-size:11px;color:var(--text-faint)}.sv-test-meta>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.sv-test-type{background:var(--red-soft);color:var(--red);padding:1px 7px;border-radius:20px;font-weight:600}.sv-test-val{font-size:14px;font-weight:700;flex-shrink:0}.sv-filters{display:inline-flex;gap:8px;align-items:center}.sv-repo-select{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:6px 11px;font-size:12.5px;font-family:inherit;max-width:210px;cursor:pointer}.sv-repo-select:hover{border-color:var(--border-strong)}.sv-export{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text-dim);font-size:12.5px;font-weight:600;transition:all .15s ease}.sv-export:hover{border-color:var(--border-strong);color:var(--text)}.sv-movers{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.sv-mover{display:flex;align-items:center;gap:10px;text-align:left;width:100%;font:inherit;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:13px 15px;transition:all .18s ease;flex-wrap:wrap}.sv-mover:hover{border-color:var(--border-strong);transform:translateY(-1px)}.sv-mover-delta{display:inline-flex;align-items:center;gap:4px;font-size:14px;font-weight:700;font-family:var(--mono)}.sv-mover-delta.up{color:var(--green)}.sv-mover-delta.down{color:var(--red)}.sv-mover-name{font-size:13px;font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sv-mover-meta{font-size:11px;color:var(--text-faint);width:100%}.sv-slice{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}.sv-slice:last-child{border-bottom:none}.sv-slice-name{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sv-slice-name svg{color:var(--text-faint);flex-shrink:0}.sv-slice-meta{font-size:11.5px;color:var(--text-faint);white-space:nowrap}.sv-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px}.sv-fact{background:var(--bg);border-radius:10px;padding:12px}.sv-fact-val{font-size:19px;font-weight:700;font-family:var(--mono);letter-spacing:-.02em}.sv-fact-lbl{font-size:11.5px;color:var(--text-dim);margin-top:3px}.sv-fact-hint{font-size:10.5px;color:var(--text-faint);margin-top:5px;line-height:1.35}@media (max-width: 900px){.sv-filters{width:100%}.sv-repo-select{flex:1;max-width:none}.sv-grid-2,.sv-grid-even{grid-template-columns:1fr}.sv-kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.sv-kpi{padding:13px}.sv-kpi-val{font-size:21px}.sv-tabs{width:100%}.sv-tab{flex:1;justify-content:center;padding:8px 10px}.sv-head-right{width:100%;align-items:stretch}.sv-period{justify-content:center}.sv-period-btn{flex:1;text-align:center}.sv-risk{padding:12px;gap:11px}.sv-risk-score{width:40px;height:40px;font-size:15px}}.ticket-depot-ligne{display:flex;flex-direction:column;gap:5px;width:100%;text-align:left;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:10px 12px;margin-bottom:8px;cursor:pointer}.ticket-depot-ligne:hover{border-color:var(--border-strong)}.ticket-depot-haut{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ticket-depot-date{margin-left:auto;font-size:11.5px;color:var(--text-faint)}.ticket-depot-titre{font-size:13.5px;color:var(--text);line-height:1.4}.ticket-depot-client{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:var(--text-dim)}.chip-picker{display:flex;flex-direction:column;gap:8px}.chip-picker-choisis{display:flex;flex-wrap:wrap;gap:6px}.chip-picker-search{width:100%;box-sizing:border-box}.chip-picker-liste{display:flex;flex-wrap:wrap;gap:6px;max-height:168px;overflow-y:auto;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.repo-id-odoo{display:inline-flex;align-items:center;gap:4px;margin-top:6px;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:2px 6px;cursor:pointer;font-size:11px;color:var(--text-faint)}.repo-id-odoo:hover{border-color:var(--border-strong);color:var(--text)}.repo-id-odoo .mono{font-family:var(--mono);font-weight:600}.depots-grille{display:flex;flex-direction:column;gap:14px}.depot-card{display:flex;flex-direction:column;gap:10px;text-align:left;width:100%;cursor:pointer;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);padding:14px 16px;transition:border-color .12s,background .12s}.depot-card:hover{border-color:var(--border-strong);background:var(--surface-hover)}.depot-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.depot-card-nom{font-size:13px;font-weight:600;color:var(--text)}.depot-card-owner{font-size:12px;color:var(--text-dim);margin-top:-6px}.depot-card-metriques{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:10px 12px}.depot-metrique{display:flex;flex-direction:column;gap:2px;min-width:0}.depot-metrique-valeur{font-size:19px;font-weight:700;line-height:1.1;color:var(--text)}.depot-metrique-label{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.depot-card-compteurs{display:flex;flex-wrap:wrap;gap:6px}.stat-chip{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-dim);background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:3px 8px}.stat-chip strong{color:var(--text);font-weight:700}.stat-chip.orange{background:var(--orange-soft);border-color:transparent;color:var(--orange)}.stat-chip.orange strong{color:var(--orange)}.stat-chip.red{background:var(--red-soft);border-color:transparent;color:var(--red)}.stat-chip.red strong{color:var(--red)}.depot-card-pied{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--text-faint);border-top:1px solid var(--border);padding-top:9px;margin-top:2px}.depot-card-ouvrir{display:inline-flex;align-items:center;gap:2px;color:var(--accent);font-weight:600}.depots-silencieux{font-family:var(--mono);font-size:12px;color:var(--text-faint);padding:4px 2px}.depot-bandeau{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.depot-bandeau-nom{font-size:14px;font-weight:600;color:var(--text)}.depot-bandeau-retour{display:inline-flex;align-items:center;gap:5px;background:none;border:1px solid var(--border);border-radius:8px;color:var(--text-dim);font-size:12.5px;padding:5px 10px;cursor:pointer}.depot-bandeau-retour:hover{border-color:var(--border-strong);color:var(--text)}@media (max-width: 900px){.depot-card-pied{flex-direction:column;align-items:flex-start;gap:4px}}.date-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:var(--surface);border:1px solid var(--border);border-radius:10px;font-size:13px;color:var(--text-dim);font-weight:500;white-space:nowrap}.date-pill svg{color:var(--text-faint)}.date-pill{position:relative}.date-pill-btn{display:inline-flex;align-items:center;background:none;border:none;color:inherit;font:inherit;cursor:pointer;padding:4px;border-radius:7px}.date-pill-btn:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.date-pill-btn:disabled{opacity:.35;cursor:default}.stat-ico.red{background:var(--red-soft);color:#f87171}.rows{display:flex;flex-direction:column}.rows .row{display:flex;align-items:center;gap:12px;padding:12px 4px;border-top:1px solid var(--border)}.rows .row:first-child{border-top:none}.rows .row .lead-ico{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;flex-shrink:0}.lead-ico.orange{background:var(--orange-soft);color:var(--orange)}.lead-ico.red{background:var(--red-soft);color:var(--red)}.lead-ico.cyan{background:var(--cyan-soft);color:var(--accent-cyan)}.lead-ico.green{background:var(--green-soft);color:var(--green)}.lead-ico.blue{background:var(--accent-soft);color:var(--accent)}.rows .row .body{min-width:0;flex:1}.rows .row .line1{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rows .row .name{font-weight:600;font-size:13.5px}.rows .row .line2{color:var(--text-faint);font-size:12px;margin-top:3px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rows .row .snippet{color:var(--text-dim);font-size:12.5px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.rows .row .when{color:var(--text-faint);font-size:12px;font-family:var(--mono);white-space:nowrap;line-height:1.35}.rows .row .actions{display:inline-flex;gap:7px;flex-shrink:0}.rows .row .dur{font-family:var(--mono);color:var(--text-dim);font-size:12px}.cron{font-family:var(--mono);background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:2px 7px;font-size:11.5px;color:var(--text-dim)}.sh-search{display:inline-flex;align-items:center;gap:6px;padding:0 10px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:8px;color:var(--text-faint)}.sh-search input{background:none;border:none;outline:none;color:var(--text);padding:7px 0;width:200px}.sh-date{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-dim)}.sh-table{table-layout:fixed}.sh-table td{vertical-align:middle}.sh-table tbody tr.sh-static{cursor:default}.sh-table tbody tr.sh-static:hover{background:none}.sh-day-row td{background:var(--surface-2);font-size:12px;font-weight:700;color:var(--text-dim);text-transform:capitalize;padding-top:8px;padding-bottom:8px}.sh-table tbody tr.sh-day-row{cursor:default}.sh-table tbody tr.sh-day-row:hover{background:var(--surface-2)}.sh-time{color:var(--text-faint);font-variant-numeric:tabular-nums;font-size:12.5px}.sh-event{display:inline-flex;align-items:center;gap:7px;color:var(--text-dim);font-size:13px;line-height:1.3}.sh-event svg{flex-shrink:0}.sh-detail{color:var(--text-dim);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sh-by{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;min-width:0;max-width:100%}.sh-by>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sh-by.auto{color:var(--text-faint);gap:5px}.sh-compact .sh-detail{white-space:normal;overflow-wrap:anywhere}.sh-compact thead th,.sh-compact td{padding-left:10px;padding-right:10px}.sh-day{margin-bottom:22px}.sh-day-title{font-size:12.5px;font-weight:700;text-transform:capitalize;color:var(--text-dim);margin:0 0 8px;letter-spacing:.02em}.sh-block{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:10px;overflow:hidden}.sh-block-head{display:flex;align-items:center;gap:8px;min-width:0;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--surface-2)}.sh-block-head .badge{flex-shrink:0}.sh-block-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;color:var(--text)}.sh-block-title.link{background:none;border:none;padding:0;cursor:pointer;font-family:inherit;text-align:left}.sh-block-title.link:hover{color:var(--accent);text-decoration:underline}.sh-block-title.gone{color:var(--text-faint);text-decoration:line-through}.sh-ev{display:grid;grid-template-columns:52px 18px 150px minmax(0,1fr) 190px;align-items:center;gap:10px;padding:8px 16px;font-size:13px}.sh-ev+.sh-ev{border-top:1px solid var(--border)}.sh-ev.link{cursor:pointer}.sh-ev.link:hover{background:var(--surface-hover)}.sh-ev-time{color:var(--text-faint);font-variant-numeric:tabular-nums;font-size:12.5px}.sh-ev-icon{display:inline-flex;color:var(--text-faint)}.sh-ev-name{color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sh-ev-detail{color:var(--text-dim);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 760px){.sh-ev{grid-template-columns:44px 16px minmax(0,1fr)}.sh-ev-detail{grid-column:2 / -1;white-space:normal}.sh-ev .sh-by{grid-column:2 / -1}}.inc-modal{width:min(1120px,96vw);height:min(860px,88vh);max-height:88vh;display:flex;flex-direction:column;overflow:hidden}.inc-modal>.modal-head,.inc-modal>.modal-foot{flex-shrink:0}.inc-head{display:flex;flex-direction:column;align-items:stretch;gap:6px;padding-right:48px}.inc-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.inc-title-text{font-size:17px;font-weight:700;min-width:0;overflow-wrap:anywhere}.inc-edit-btn{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;background:none;border:none;border-radius:6px;padding:4px;cursor:pointer;color:var(--text-faint)}.inc-edit-btn:hover:not(:disabled){color:var(--accent);background:var(--surface-hover)}.inc-edit-btn:disabled{opacity:.4;cursor:not-allowed}.inc-title-edit{display:flex;align-items:center;gap:6px;flex:1 1 260px;flex-wrap:wrap;min-width:0}.inc-title-edit input{flex:1 1 200px;min-width:0;font-size:15px;font-weight:600;padding:6px 10px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:8px;color:var(--text)}.inc-origin{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;font-size:12.5px;color:var(--text-dim)}.inc-origin strong{color:var(--text);font-weight:600}.inc-origin-src{display:inline-flex;align-items:center;gap:4px;font-weight:600;color:var(--text)}.inc-body{padding:0;gap:0;flex:1 1 auto;min-height:0;overflow-y:auto}.inc-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;min-height:100%}.inc-main{min-width:0;padding:16px 22px 22px;border-right:1px solid var(--border);display:flex;flex-direction:column}.inc-chat-box{height:320px}.inc-main>.inc-chat{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}.inc-main>.inc-chat .inc-chat-box{flex:1 1 0;height:0;min-height:320px}.inc-aside .inc-dossier-link{width:100%;flex-wrap:wrap;row-gap:2px}.inc-aside .inc-dossier-link strong{flex-basis:100%}.inc-main .tabs{gap:20px;margin:0 0 14px;border-bottom:1px solid var(--border);flex-wrap:wrap}.inc-main .tab{background:none;border:none;border-radius:0;padding:8px 0;margin-bottom:-1px;border-bottom:2px solid transparent;color:var(--text-dim)}.inc-main .tab.on{background:none;color:var(--text);border-bottom-color:var(--accent)}.inc-main .inc-sec{text-transform:none;letter-spacing:0;font-size:12px;font-weight:600;color:var(--text-faint);margin:16px 0 4px}.inc-main .inc-sec:first-of-type{margin-top:2px}.inc-main .inc-sec>svg{display:none}.inc-aside{background:var(--surface-2)}.inc-aside-inner{position:sticky;top:0;display:flex;flex-direction:column;gap:16px;padding:16px}.inc-field{display:flex;flex-direction:column;gap:6px;min-width:0}.inc-label{font-size:11.5px;color:var(--text-faint)}.inc-select{width:100%;background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;color:var(--text);padding:7px 10px;font-size:13px}.inc-aside .btn{white-space:nowrap}.inc-aside .btn-sm+.btn-sm{flex:1 1 auto}.inc-aside .ms{width:100%!important}.inc-aside .ms-pop{right:0;width:auto;max-width:none}.inc-aside .ms-btn,.inc-box{width:100%;text-align:left;background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;padding:7px 10px;font-size:13px;color:var(--text);cursor:pointer}.inc-box.accent{color:var(--accent)}.inc-box:hover,.inc-aside .ms-btn:hover{border-color:var(--accent)}.inc-dossier-empty{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.inc-sublink{background:none;border:none;padding:0;font-size:12px;color:var(--text-dim);cursor:pointer}.inc-sublink:hover{color:var(--accent);text-decoration:underline}.inc-kv{display:grid;grid-template-columns:60px minmax(0,1fr);gap:6px 8px;align-items:center;font-size:12.5px;padding-top:14px;border-top:1px solid var(--border)}.inc-kv>span:nth-child(odd){color:var(--text-faint)}.inc-kv a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 760px){.inc-layout{grid-template-columns:1fr}.inc-main{border-right:none}.inc-aside{order:-1;border-bottom:1px solid var(--border)}.inc-aside-inner{position:static}}.task-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:stretch}.task-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;min-width:0}.task-tabs{display:flex;gap:2px;padding:6px 8px 0;border-bottom:1px solid var(--border);overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.task-tabs::-webkit-scrollbar{display:none}.task-tab{display:inline-flex;align-items:center;gap:7px;padding:10px 12px;font-size:13px;color:var(--text-dim);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;font-family:inherit}.task-tab:hover{color:var(--text)}.task-tab.on{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.task-tab-n{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border-strong);font-size:11px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-dim);font-weight:500}.task-props{padding:14px 16px}.task-props-title{margin:0 0 12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint)}.task-prop{display:grid;grid-template-columns:78px minmax(0,1fr);align-items:center;gap:10px;margin-bottom:12px}.task-prop-label{font-size:12px;color:var(--text-faint)}.task-seg{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--border-strong);border-radius:8px;overflow:hidden}.task-seg button{height:30px;font-size:11.5px;color:var(--text-dim);background:none;border:none;border-right:1px solid var(--border-strong);cursor:pointer;font-family:inherit}.task-seg button:last-child{border-right:none}.task-props-summary{display:none}@media (max-width: 900px){.task-layout{grid-template-columns:minmax(0,1fr)}.task-props-card{order:-1}.task-props-summary{display:flex}.task-props-card:not(.open) .task-props-body{display:none}}.mctx{display:grid;grid-template-columns:240px minmax(0,1fr);height:clamp(560px,calc(100vh - 230px),900px);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.mctx-side{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--surface-2);border-right:1px solid var(--border)}.mctx-side-head{display:flex;flex-direction:column;gap:8px;padding:12px;border-bottom:1px solid var(--border)}.mctx-branch,.mctx-filter{display:flex;align-items:center;gap:8px;padding:0 10px;height:32px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);color:var(--text-dim)}.mctx-branch select,.mctx-filter input{flex:1;min-width:0;height:100%;background:transparent;border:none;outline:none;color:var(--text);font-size:13px;font-family:inherit}.mctx-branch select{font-family:var(--mono);font-size:12.5px;cursor:pointer}.mctx-branch select option{background:var(--surface);color:var(--text)}.mctx-list{flex:1;min-height:0;overflow-y:auto;padding-bottom:8px}.mctx-hint{display:flex;align-items:flex-start;gap:6px;padding:12px;font-size:12px;color:var(--text-dim);line-height:1.45}.mctx-group{display:flex;justify-content:space-between;padding:12px 12px 4px;font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--text-faint)}.mctx-group span{font-weight:500}.mctx-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 12px;background:transparent;border:none;border-left:2px solid transparent;color:var(--text);font-size:12.5px;text-align:left;cursor:pointer}.mctx-item:hover{background:var(--surface-hover)}.mctx-item.on{background:var(--surface);border-left-color:var(--accent)}.mctx-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.mctx-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mctx-gone{font-size:10.5px;color:var(--orange);flex-shrink:0}.mctx-side-foot{padding:10px 12px;border-top:1px solid var(--border)}.mctx-main{display:flex;flex-direction:column;min-width:0;min-height:0}.mctx-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:40px 24px;text-align:center;color:var(--text-dim);font-size:13px}.mctx-head{display:flex;align-items:flex-start;gap:12px;padding:16px 18px 0}.mctx-title{font-size:15px;font-weight:600;overflow-wrap:anywhere}.mctx-meta{font-size:12px;color:var(--text-dim);margin-top:3px;line-height:1.5}.mctx-tabs{display:flex;gap:4px;padding:10px 18px 0;border-bottom:1px solid var(--border);overflow-x:auto}.mctx-tabs button{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-dim);font-size:12.5px;cursor:pointer;white-space:nowrap}.mctx-tabs button:hover{color:var(--text)}.mctx-tabs button.on{color:var(--text);border-bottom-color:var(--accent)}.mctx-modif{font-size:10.5px;padding:1px 6px;border-radius:999px;background:var(--orange-soft);color:var(--orange)}.mctx-body{flex:1;min-height:0;overflow-y:auto}.mctx-doc{padding:6px 26px 22px;max-width:820px}.mctx-doc .markdown h2:first-child{margin-top:14px}.mctx-source{display:block;width:100%;height:100%;min-height:100%;box-sizing:border-box;padding:16px 18px;background:transparent;border:none;outline:none;resize:vertical;color:var(--text);font-family:var(--mono);font-size:12.5px;line-height:1.65}.mctx-diff{padding:12px 0;font-family:var(--mono);font-size:12.5px;line-height:1.7}.mctx-diff-line{padding:0 18px;white-space:pre-wrap;overflow-wrap:anywhere}.mctx-diff-line.add{background:var(--green-soft);color:var(--green)}.mctx-diff-line.del{background:var(--red-soft);color:var(--red);text-decoration:line-through;text-decoration-color:#ef444480}.mctx-diff-sign{display:inline-block;width:16px;opacity:.7;text-decoration:none}.mctx-actions{display:flex;flex-direction:column;gap:8px;padding:10px 18px;border-top:1px solid var(--border);background:var(--surface-2)}.mctx-actions-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mctx-actions-row .mctx-meta{margin:0}.mctx-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface);color:var(--text-dim);font-size:12px;cursor:pointer}.mctx-chip.on{border-color:var(--accent-ring);background:var(--accent-soft);color:var(--accent-text)}.mctx-danger{color:var(--red)}.mctx-error{display:flex;align-items:flex-start;gap:6px;padding:8px 10px;border-radius:8px;background:var(--red-soft);color:var(--red);font-size:12.5px;line-height:1.45}.mctx-info{display:flex;align-items:center;gap:6px;margin:10px 18px 0;padding:8px 10px;border-radius:8px;background:var(--accent-soft);color:var(--accent-text);font-size:12.5px}.markdown blockquote{margin:10px 0;padding:8px 12px;border-left:3px solid var(--orange);border-radius:0 8px 8px 0;background:var(--orange-soft)}.markdown blockquote p{margin:4px 0}@media (max-width: 760px){.mctx{grid-template-columns:minmax(0,1fr);height:auto}.mctx-main{min-height:520px}.mctx-side{border-right:none;border-bottom:1px solid var(--border)}.mctx-list{max-height:260px}}.kb-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px;min-height:34px}.kb-seg{display:inline-flex;border:1px solid var(--border-strong);border-radius:8px;overflow:hidden}.kb-seg button{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--surface);border:none;color:var(--text-dim);font-size:12.5px;cursor:pointer}.kb-seg button+button{border-left:1px solid var(--border-strong)}.kb-seg button.on{background:var(--accent-soft);color:var(--accent-text)}.kb-folder{display:flex;align-items:center;gap:6px;padding:6px 12px 2px 14px;font-size:11.5px;color:var(--text-dim)}.mctx-item.kb-sub{padding-left:26px}.kb-flag{font-size:10.5px;padding:1px 6px;border-radius:999px;background:var(--orange-soft);color:var(--orange);flex-shrink:0}.kb-flag.warn{background:var(--red-soft);color:var(--red)}.kb-form{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px;padding:16px 18px;overflow-y:auto}.kb-drop{display:flex;flex-direction:column;align-items:center;gap:6px;padding:22px;border:1px dashed var(--border-strong);border-radius:10px;color:var(--text-dim);font-size:13px;text-align:center;cursor:pointer}.kb-drop:hover,.kb-drop.on{border-color:var(--accent);background:var(--accent-soft)}.kb-label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;color:var(--text-dim)}.kb-label input{height:34px;padding:0 10px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:8px;color:var(--text);font-family:var(--mono);font-size:12.5px}.kb-editor{display:flex;flex-direction:column;border:1px solid var(--border-strong);border-radius:10px;overflow:hidden;min-height:280px;flex:1}.kb-editor .mctx-tabs{padding:0 10px;background:var(--surface-2)}.kb-editor .mctx-body,.kb-editor .mctx-source{min-height:240px}.mctx-edit-hint{display:flex;align-items:center;gap:6px;padding:8px 18px;font-size:12px;color:var(--text-dim);background:var(--surface-2);border-bottom:1px solid var(--border)}.mctx-list-loading{opacity:.45;pointer-events:none;transition:opacity .15s}.drop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;align-items:center;justify-content:center;border:2px dashed var(--accent);border-radius:inherit;background:var(--accent-soft);color:var(--accent-text);font-size:13px;font-weight:600;pointer-events:none}
