@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap";.help-widget{position:fixed;z-index:1000;font-family:var(--hw-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif)}.hw-button{position:fixed;width:56px;height:56px;border-radius:50%;border:none;background-color:var(--hw-primary, #4C6EF5);color:var(--text-on-accent, #fff);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg, 0 8px 24px rgba(0, 0, 0, .12));transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .15s ease;z-index:1001;animation:hw-pulse .6s cubic-bezier(.34,1.56,.64,1) 3}.hw-button.bottom-right{bottom:24px;right:24px}.hw-button.bottom-left{bottom:24px;left:24px}.hw-button:hover{transform:scale(1.05);box-shadow:0 10px 28px #00000029}.hw-button:active{transform:scale(.98)}@keyframes hw-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.hw-button-badge{position:absolute;top:2px;right:2px;width:14px;height:14px;border-radius:50%;background-color:#fa5252;border:2px solid var(--bg-elevated, #fff);box-shadow:0 0 0 1px #0000000f}.hw-chat-panel{position:fixed;width:400px;height:500px;background-color:var(--bg-elevated, #fff);border-radius:16px;box-shadow:var(--shadow-md, 0 4px 12px rgba(0, 0, 0, .08));display:flex;flex-direction:column;overflow:hidden;z-index:1001;animation:hw-panel-slide-up .25s cubic-bezier(.4,0,.2,1)}.hw-chat-panel.bottom-right{bottom:92px;right:24px}.hw-chat-panel.bottom-left{bottom:92px;left:24px}@keyframes hw-panel-slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.hw-chat-header{display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 12px 0 16px;background-color:var(--bg-surface, #F8F9FA);border-bottom:1px solid var(--border-default, #E9ECEF);flex-shrink:0}.hw-chat-header-title{font-size:15px;font-weight:600;color:var(--text-primary, #212529)}.hw-chat-header-actions{display:flex;gap:4px}.hw-chat-header-btn{width:32px;height:32px;border:none;background:transparent;color:var(--text-muted, #868E96);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:color .15s ease,background-color .15s ease}.hw-chat-header-btn:hover{color:var(--text-primary, #212529);background-color:var(--bg-hover, #F1F3F5)}.hw-chat-header-btn.active{color:var(--accent, #4C6EF5);background-color:var(--accent-subtle, #EDF2FF)}.hw-update-banner{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 16px;background-color:var(--accent-subtle, #EDF2FF);border-bottom:1px solid var(--border-default, #E9ECEF);font-size:13px;color:var(--accent-pressed, #364FC7);flex-shrink:0}.hw-update-banner-text{flex:1;line-height:1.4}.hw-update-banner-reload{border:none;border-radius:8px;padding:6px 12px;background-color:var(--hw-primary, #4C6EF5);color:var(--text-on-accent, #fff);font-size:13px;font-weight:600;cursor:pointer;flex-shrink:0;transition:filter .15s ease;font-family:inherit}.hw-update-banner-reload:hover{filter:brightness(.92)}.hw-chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.hw-help-banner{display:flex;align-items:flex-start;gap:8px;padding:12px;background-color:var(--accent-subtle, #EDF2FF);border-radius:10px;font-size:13px;color:var(--accent-pressed, #364FC7);line-height:1.4}.hw-help-banner-text{flex:1}.hw-help-banner-dismiss{border:none;background:transparent;color:var(--accent-pressed, #364FC7);cursor:pointer;font-size:18px;line-height:1;padding:0 2px;opacity:.6;flex-shrink:0}.hw-help-banner-dismiss:hover{opacity:1}.hw-picking-banner{padding:10px 12px;background-color:#fff9db;border-radius:10px;font-size:13px;color:#e67700;text-align:center;line-height:1.4}.hw-message-bubble{max-width:85%;padding:10px 14px;border-radius:12px;font-size:14px;line-height:1.4;word-wrap:break-word}.hw-message-bubble.user{align-self:flex-end;background-color:var(--hw-primary, #4C6EF5);color:var(--text-on-accent, #fff)}.hw-message-bubble.response{align-self:flex-start;background-color:var(--bg-surface, #F8F9FA);color:var(--text-primary, #212529)}.hw-message-context-badge{font-size:11px;opacity:.85;margin-bottom:4px;padding:2px 6px;background:#fff3;border-radius:4px;display:inline-block}.hw-message-bubble-text{margin-bottom:4px;white-space:pre-wrap}.hw-message-bubble-time{font-size:11px;opacity:.7}.hw-message-bubble.response .hw-message-bubble-time{color:var(--text-hint, #ADB5BD);opacity:1}.hw-element-context{padding:8px 12px;border-top:1px solid var(--border-default, #E9ECEF);background-color:var(--bg-surface, #F8F9FA);flex-shrink:0;font-size:12px}.hw-element-context-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.hw-element-context-label{font-weight:600;color:var(--accent, #4C6EF5);font-size:11px;text-transform:uppercase;letter-spacing:.5px}.hw-element-context-clear{border:none;background:transparent;color:var(--text-muted, #868E96);cursor:pointer;font-size:16px;line-height:1;padding:0 2px}.hw-element-context-clear:hover{color:var(--text-primary, #212529)}.hw-element-context-tag{color:var(--text-primary, #495057);font-family:SF Mono,Fira Code,monospace;margin-bottom:4px}.hw-element-context-text{color:var(--text-muted, #868E96);font-style:italic;font-family:inherit}.hw-element-context-chain{display:flex;flex-wrap:wrap;gap:2px;line-height:1.6}.hw-element-context-component{color:var(--text-primary, #495057);font-family:SF Mono,Fira Code,monospace}.hw-element-context-arrow{color:var(--text-hint, #ADB5BD)}.hw-chat-input{display:flex;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid var(--border-default, #E9ECEF);background-color:var(--bg-surface, #F8F9FA);flex-shrink:0;min-height:48px}.hw-chat-input input{flex:1;height:36px;padding:0 12px;border:1px solid var(--border-default, #E9ECEF);border-radius:8px;background-color:var(--bg-base, #fff);color:var(--text-primary, #212529);font-size:14px;outline:none;transition:border-color .15s ease;font-family:inherit}.hw-chat-input input::placeholder{color:var(--text-hint, #ADB5BD)}.hw-chat-input input:focus{border-color:var(--accent, #4C6EF5)}.hw-chat-input input:disabled{opacity:.5;cursor:not-allowed}.hw-chat-send-button{width:36px;height:36px;border:none;border-radius:8px;background-color:var(--hw-primary, #4C6EF5);color:var(--text-on-accent, #fff);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease;flex-shrink:0}.hw-chat-send-button:hover:not(:disabled){filter:brightness(.9)}.hw-chat-send-button:disabled{opacity:.5;cursor:not-allowed}.hw-typing-indicator{align-self:flex-start;display:flex;gap:4px;padding:12px 16px;background-color:var(--bg-surface, #F8F9FA);border-radius:12px}.hw-typing-dot{width:8px;height:8px;border-radius:50%;background-color:var(--text-hint, #ADB5BD);animation:hw-typing-bounce 1.4s infinite ease-in-out}.hw-typing-dot:nth-child(1){animation-delay:0ms}.hw-typing-dot:nth-child(2){animation-delay:.2s}.hw-typing-dot:nth-child(3){animation-delay:.4s}@keyframes hw-typing-bounce{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion: reduce){.hw-button{animation:none}.hw-typing-dot{animation:none;opacity:.5}.hw-chat-panel{animation:none}}@media (max-width: 767px){.hw-chat-panel{width:100vw;top:0;height:100vh;height:100dvh;bottom:0;right:0;left:0;border-radius:0}.hw-chat-panel.bottom-left{right:0}.hw-chat-header{box-sizing:border-box;height:calc(48px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px)}.hw-chat-input{padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}.hw-button.open{display:none}}.user-menu{width:100%}.user-menu__container{position:relative}.user-menu__sign-in{display:flex;align-items:center;gap:8px;width:100%;height:36px;padding:0 12px;border:none;border-radius:8px;background:var(--accent);color:#fff;font-size:13px;font-weight:600;cursor:pointer;justify-content:center;transition:background .15s ease}.user-menu__sign-in:hover{background:var(--accent-hover, #d4224e)}.user-menu__trigger{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;border-radius:8px;background:transparent;cursor:pointer;text-align:left;transition:background .15s ease}.user-menu__trigger:hover{background:var(--bg-elevated, #f3f4f6)}.user-menu__meta{display:flex;flex-direction:column;min-width:0}.user-menu__name{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu__role{font-size:11px;color:var(--text-secondary)}.user-menu__dropdown{position:absolute;bottom:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 25px #00000014,0 0 0 1px #0000000a;overflow:hidden;z-index:50}.user-menu__dropdown-info{padding:10px 12px;border-bottom:1px solid var(--border)}.user-menu__dropdown-name{font-size:13px;font-weight:600;color:var(--text)}.user-menu__dropdown-email{font-size:12px;color:var(--text-secondary);margin-top:2px}.user-menu__dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border:none;background:transparent;font-size:13px;font-weight:500;color:var(--text);cursor:pointer;transition:background .15s ease}.user-menu__dropdown-item:hover{background:var(--bg-elevated, #f3f4f6)}a.user-menu__dropdown-item{text-decoration:none}.user-menu__dropdown-divider{height:1px;margin:4px 0;background:var(--border)}@media (max-width: 768px){.user-menu__dropdown{max-width:calc(100vw - 32px)}.user-menu__dropdown-email{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.notif{position:relative}.notif__trigger{position:relative;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;border-radius:var(--radius-control);color:var(--text-secondary);cursor:pointer;transition:background .15s ease,color .15s ease}.notif__trigger:hover{background:var(--bg-elevated);color:var(--text)}.notif__badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--accent);color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center;box-shadow:0 0 0 2px var(--surface)}.notif__panel{position:absolute;bottom:calc(100% + 8px);left:0;width:320px;max-width:calc(100vw - 32px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-popover);z-index:50;overflow:hidden}.notif__panel-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border)}.notif__panel-title{font-weight:600;font-size:13.5px;color:var(--text)}.notif__mark-read{border:none;background:transparent;color:var(--accent);font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;padding:2px 4px;border-radius:6px}.notif__mark-read:hover{background:var(--accent-soft)}.notif__list{max-height:360px;overflow-y:auto}.notif__empty{padding:24px 16px;text-align:center;color:var(--text-secondary);font-size:13px}.notif__item{display:flex;align-items:flex-start;gap:10px;width:100%;padding:10px 12px;border:none;border-bottom:1px solid var(--border-light);background:transparent;text-align:left;cursor:pointer;font-family:inherit;transition:background .12s ease}.notif__item:last-child{border-bottom:none}.notif__item:hover{background:var(--bg-elevated)}.notif__item.unread,.notif__item.unread:hover{background:var(--accent-soft)}.notif__icon{display:flex;align-items:center;justify-content:center;width:26px;height:26px;flex-shrink:0;border-radius:999px;background:var(--bg-elevated);color:var(--accent)}.notif__text{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.notif__subject{font-size:13px;color:var(--text);line-height:1.35}.notif__meta{font-size:11.5px;color:var(--text-secondary)}.notif__dot{width:8px;height:8px;flex-shrink:0;margin-top:4px;border-radius:999px;background:var(--accent)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:24px}.login-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:32px;box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005}.login-brand{display:flex;align-items:center;gap:10px;margin-bottom:24px}.login-logo{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;background:var(--accent);color:#fff}.login-brand-name{font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--text)}.login-title{font-size:22px;font-weight:600;letter-spacing:-.03em;color:var(--text);margin:0 0 4px}.login-subtitle{font-size:13px;color:var(--text-secondary);margin:0 0 20px}.login-tabs{display:flex;gap:4px;background:var(--bg-elevated, #f3f4f6);border-radius:8px;padding:3px;margin-bottom:20px}.login-tab{flex:1;height:30px;border:none;border-radius:6px;background:transparent;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.login-tab.active{background:#fff;color:var(--text);font-weight:600;box-shadow:0 1px 2px #0000000f}.login-form{display:flex;flex-direction:column;gap:14px}.login-field{display:flex;flex-direction:column;gap:6px}.login-label{font-size:12px;font-weight:500;color:var(--text-secondary)}.login-error{font-size:13px;color:#ef4444;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:8px 12px}.login-submit{width:100%;justify-content:center;margin-top:4px}.login-spinner{animation:login-spin .9s linear infinite}@keyframes login-spin{to{transform:rotate(360deg)}}.login-footnote{margin:20px 0 0;font-size:12px;color:var(--text-secondary);text-align:center}.login-link{color:var(--accent);text-decoration:none;font-weight:500}.login-link:hover{text-decoration:underline}.sales-tabs{margin-bottom:20px}.sales-tabs .tab{display:inline-flex;align-items:center;gap:6px}.sales-tabs .tab:hover{text-decoration:none}.sales-tabs .tab svg{width:14px;height:14px}.pipeline-board{display:flex;gap:12px;align-items:flex-start;overflow-x:auto;padding-bottom:24px}.pipeline-col{width:250px;flex-shrink:0;background:#f4f4f5;border-radius:var(--radius-card);padding:8px;display:flex;flex-direction:column;gap:8px}.pipeline-col-header{display:flex;align-items:center;gap:7px;padding:2px 4px;font-size:13px;font-weight:600}.pipeline-col-count{color:var(--text-secondary);font-weight:500}.pipeline-col-sum{margin-left:auto;font-size:12px;font-weight:500;color:var(--text-secondary);white-space:nowrap}.pipeline-empty{padding:18px 8px;border:1px dashed var(--border);border-radius:var(--radius-control);text-align:center;font-size:12.5px;color:var(--text-secondary)}.deal-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:10px 12px;display:flex;flex-direction:column;gap:8px;transition:border-color .1s,box-shadow .1s}.deal-card:hover{border-color:#d4d4d8;box-shadow:0 1px 3px #0000000d}.deal-card-name{font-weight:600;font-size:13.5px;color:var(--text);line-height:1.35}.deal-card-name:hover{color:var(--accent);text-decoration:none}.deal-card-company{font-size:12.5px;color:var(--text-secondary);margin-top:-4px}.deal-card-foot{display:flex;align-items:center;gap:8px}.deal-card-value{font-weight:600;font-size:13px}.deal-card-close{font-size:11.5px;color:var(--text-secondary);white-space:nowrap}.select-sm{width:auto;padding:2px 22px 2px 8px;font-size:12px;background-position:right 6px center}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;align-items:start}.detail-side{display:flex;flex-direction:column;gap:16px;position:sticky;top:28px}.props-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:10px}.prop-row{display:flex;flex-direction:column;gap:4px;padding:7px 0}.prop-row+.prop-row{border-top:1px solid var(--border)}.prop-label{font-size:12px;font-weight:600;color:var(--text-secondary)}.prop-value{font-size:13.5px;min-width:0;overflow-wrap:anywhere}.detail-title-input{width:100%;border:none;background:transparent;font-family:inherit;font-size:20px;font-weight:600;letter-spacing:-.01em;color:var(--text);padding:2px 4px;margin-left:-4px;border-radius:var(--radius-control)}.detail-title-input:hover{background:var(--bg)}.detail-title-input:focus{outline:none;background:var(--surface);box-shadow:0 0 0 2px var(--accent-soft)}.detail-section{margin-bottom:28px}.detail-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.detail-section-header h2{font-size:14px;display:flex;align-items:center;gap:7px}.detail-section-header h2 svg{width:15px;height:15px;color:var(--text-secondary)}.detail-section-count{color:var(--text-secondary);font-weight:500}.related-list{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden}.related-row{display:flex;align-items:center;gap:10px;padding:10px 14px;font-size:13.5px}.related-row+.related-row{border-top:1px solid var(--border)}.related-row:hover{background:var(--bg)}.related-row-main{min-width:0;flex:1}.related-row-title{font-weight:500;color:var(--text)}.related-row-title:hover{color:var(--accent);text-decoration:none}.related-row-sub{font-size:12.5px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline{display:flex;flex-direction:column}.timeline-item{display:flex;gap:12px;padding:14px 0}.timeline-item+.timeline-item{border-top:1px solid var(--border)}.timeline-icon{width:28px;height:28px;border-radius:999px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.timeline-icon svg{width:14px;height:14px}.timeline-main{flex:1;min-width:0}.timeline-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.timeline-subject{font-weight:600;font-size:13.5px}.timeline-time{margin-left:auto;font-size:12.5px;white-space:nowrap}.timeline-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:3px;font-size:12.5px;color:var(--text-secondary)}.timeline-note{margin-top:8px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-control);padding:4px 10px}.engagement-comments{margin-top:8px}.engagement-comments-toggle{display:inline-flex;align-items:center;gap:5px;background:none;border:none;padding:2px 4px;margin-left:-4px;border-radius:var(--radius-control);color:var(--text-secondary);font-size:12.5px;font-weight:500;cursor:pointer}.engagement-comments-toggle:hover{color:var(--text);background:var(--bg)}.engagement-comments-body{margin-top:8px;display:flex;flex-direction:column;gap:12px;padding-left:2px;border-left:2px solid var(--border);padding-inline-start:12px}.engagement-comment{display:flex;gap:8px}.engagement-comment-main{flex:1;min-width:0}.engagement-comment-head{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-secondary)}.engagement-comment-author{font-weight:600;color:var(--text)}.engagement-comment-email{display:inline-flex;align-items:center}.engagement-comment-email.sent{color:var(--success, #16a34a)}.engagement-comment-email.failed{color:var(--danger, #dc2626)}.engagement-comment-delete{margin-left:auto}.engagement-comment-composer{display:flex;flex-direction:column;gap:6px}.engagement-comment-composer-actions{display:flex;justify-content:flex-end}.engagement-type-picker{display:flex;gap:6px}.engagement-type-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);font-family:inherit;font-size:12.5px;font-weight:500;color:var(--text-secondary);cursor:pointer}.engagement-type-btn svg{width:15px;height:15px}.engagement-type-btn:hover{background:var(--bg)}.engagement-type-btn.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.form-error{color:var(--red);font-size:12.5px;margin-top:-4px;margin-bottom:12px}@media (max-width: 900px){.detail-layout{grid-template-columns:1fr}.detail-side{position:static}}@media (max-width: 768px){.detail-layout>div>.row{flex-wrap:wrap}.timeline-subject{overflow-wrap:anywhere;min-width:0}.timeline-time{margin-left:0}.engagement-type-picker{flex-wrap:wrap}.engagement-type-btn{flex:1 1 calc(50% - 3px);min-width:0}.deal-card-foot{flex-wrap:wrap}}.task-check{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:0;border:none;background:none;cursor:pointer;color:var(--text-secondary)}.task-check:hover{color:var(--accent)}.task-title-done{text-decoration:line-through;color:var(--text-secondary)}.task-due-inline.overdue{color:var(--red);font-weight:600}.task-panel{display:flex;flex-direction:column;gap:10px;padding:16px 18px}.sales-tasks-panel{margin-bottom:20px}.task-panel-header{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600}.task-panel-header svg{color:var(--text-secondary)}.task-panel-count{margin-left:auto;font-size:12.5px;font-weight:500;color:var(--text-secondary)}.task-group{display:flex;flex-direction:column}.task-group-label{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin:6px 0 2px}.task-group-label.overdue{color:var(--red)}.task-row{display:flex;align-items:center;gap:10px;padding:8px 4px;font-size:13.5px;border-top:1px solid var(--border)}.task-group-label+.task-row,.task-group:first-child .task-row:first-of-type{border-top:none}.task-row-main{min-width:0;flex:1;display:flex;flex-direction:column}.task-row-title{font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-row-company{font-size:12.5px;color:var(--text-secondary)}.task-row-company:hover{color:var(--accent)}.task-due{flex-shrink:0;font-size:12.5px;color:var(--text-secondary)}.task-due.overdue{color:var(--red);font-weight:600}.dash-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:16px}@media (max-width: 1100px){.dash-cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}.dash-stat-card{display:flex;flex-direction:column;gap:10px;padding:14px 16px;color:var(--text);transition:border-color .1s}.dash-stat-card:hover{text-decoration:none;border-color:var(--accent)}.dash-stat-head{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--text-secondary)}.dash-stat-head svg{flex-shrink:0}.dash-stat-arrow{margin-left:auto;opacity:0;transition:opacity .1s}.dash-stat-card:hover .dash-stat-arrow{opacity:1;color:var(--accent)}.dash-stat-value{font-size:24px;font-weight:700;letter-spacing:-.02em;line-height:1}.dash-stat-sub{font-size:12.5px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,400px);gap:16px;align-items:start}@media (max-width: 1000px){.dash-grid{grid-template-columns:1fr}}.dash-col{display:flex;flex-direction:column;gap:16px;min-width:0}.dash-section{padding:0;overflow:hidden}.dash-section-header{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border);font-size:13.5px;font-weight:600}.dash-section-header svg{width:15px;height:15px;flex-shrink:0;color:var(--text-secondary)}.dash-view-all{margin-left:auto;font-size:12.5px;font-weight:500}.dash-subheader{display:flex;align-items:center;padding:12px 16px 2px;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.dash-subheader .dash-view-all{text-transform:none;letter-spacing:normal}.dash-section .empty-state{padding:20px 16px}.dash-section .empty-state svg{width:20px;height:20px;margin-bottom:0}.dash-list{list-style:none;margin:0;padding:6px;display:flex;flex-direction:column}.dash-row{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:var(--radius-control);color:var(--text);font-size:13.5px;min-width:0}.dash-row:hover{background:var(--bg);text-decoration:none}.dash-row-key{font-family:var(--font-mono);font-size:12px;color:var(--text-secondary);flex-shrink:0}.dash-row-title{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.dash-row-icon{color:var(--text-secondary);flex-shrink:0}.dash-row-meta{font-size:12.5px;color:var(--text-secondary);flex-shrink:0;white-space:nowrap}.dash-row time{font-size:12px;flex-shrink:0;white-space:nowrap}.dash-row .badge{flex-shrink:0}.dash-activity-list{list-style:none;margin:0;padding:8px 0;max-height:760px;overflow-y:auto}.dash-activity-row{display:flex;gap:10px;padding:8px 16px}.dash-activity-row .avatar{margin-top:1px}.dash-activity-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.dash-activity-text{font-size:13px;line-height:1.45}.dash-activity-text strong{font-weight:600}.dash-activity-entity{font-weight:500;color:var(--text)}.dash-activity-entity svg{display:inline-block;vertical-align:-1px;margin-right:1px;color:var(--text-secondary)}a.dash-activity-entity:hover{color:var(--accent);text-decoration:none}a.dash-activity-entity:hover svg{color:var(--accent)}.dash-activity-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary);min-width:0}.dash-activity-detail{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 768px){.dash-cards{grid-template-columns:1fr;gap:10px}.dash-grid{gap:12px}.dash-activity-list{max-height:none}}.project-lines{display:flex;flex-direction:column;gap:8px}.project-line{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);padding:10px 12px;transition:border-color .1s}.project-line:hover{border-color:#c4c4cc}.project-line.obsolete{opacity:.7}.project-line-main{display:flex;align-items:center;gap:8px}.project-line-crumbs{margin-bottom:0;min-width:0;flex:0 1 auto;font-size:13px}.project-line-crumbs .crumb:last-child .crumb-label{font-size:14px;font-weight:600;color:var(--text)}.project-line-crumbs .crumb:last-child:hover .crumb-label{color:var(--accent)}.project-line.obsolete .project-line-crumbs .crumb:last-child .crumb-label{color:var(--text-secondary);text-decoration:line-through}.project-line-count{font-size:12.5px;color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.project-line-info{flex-shrink:0}.project-line-info[aria-expanded=true]{color:var(--accent);background:var(--bg-elevated)}.project-line-issues{display:flex;flex-direction:column;gap:2px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border-light)}.project-line-empty{font-size:12.5px;color:var(--text-secondary);padding:2px 0}.project-issue-preview{display:flex;align-items:center;gap:8px;padding:3px 6px;border-radius:6px;color:var(--text);font-size:13px}.project-issue-preview:hover{background:var(--bg-elevated);text-decoration:none}.project-issue-key{font-variant-numeric:tabular-nums;font-size:12px;color:var(--text-secondary);flex-shrink:0}.project-issue-title{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-issue-time{flex-shrink:0;font-size:12px}.project-issue-viewall{display:inline-flex;align-items:center;gap:3px;align-self:flex-start;margin-top:2px;padding:3px 6px;border-radius:6px;font-size:12.5px;font-weight:500;color:var(--text-secondary)}.project-issue-viewall:hover{background:var(--bg-elevated);color:var(--text);text-decoration:none}.project-popover{width:280px;max-width:calc(100vw - 24px);padding:14px;display:flex;flex-direction:column;gap:10px}.project-popover-head{display:flex;align-items:center;gap:8px}.project-popover-name{font-size:14px;font-weight:600}.project-popover-desc{margin:0;font-size:13px;color:var(--text);white-space:pre-wrap}.project-popover-desc.muted{color:var(--text-secondary);font-style:italic}.project-popover-stats{display:flex;gap:18px;margin:0}.project-popover-stats div{display:flex;flex-direction:column;gap:2px}.project-popover-stats dt{font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary)}.project-popover-stats dd{margin:0;font-size:13px;font-weight:600}.project-popover-open{align-self:flex-start}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.project-card{display:flex;flex-direction:column;gap:6px;min-height:110px;color:var(--text);transition:border-color .1s}a.project-card:hover{text-decoration:none;border-color:#c4c4cc}.project-card-head{display:flex;align-items:center;gap:8px}.project-card-name{flex:1;min-width:0;font-size:14.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-card-desc{font-size:13px;color:var(--text-secondary)}.project-card-meta{margin-top:auto;padding-top:8px;font-size:12.5px;color:var(--text-secondary)}.project-card.obsolete{opacity:.7}.project-card.obsolete .project-card-name{color:var(--text-secondary);text-decoration:line-through}.project-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.project-toolbar-right{display:inline-flex;align-items:center;gap:12px;flex-shrink:0}.project-toolbar-count{font-size:12.5px;color:var(--text-secondary)}.project-obsolete-toggle{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text-secondary);font-family:inherit;font-size:12.5px;font-weight:500;cursor:pointer}.project-obsolete-toggle:hover,.project-obsolete-toggle.on{color:var(--accent);border-color:var(--accent)}.project-obsolete-toggle svg{width:14px;height:14px}.issue-board{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden}.issue-group-header{display:flex;align-items:center;gap:8px;padding:7px 14px;background:var(--bg);font-size:13px;font-weight:600;border-top:1px solid var(--border)}.issue-board>.issue-group:first-child .issue-group-header{border-top:none}.issue-group-count{font-weight:500;color:var(--text-secondary)}.issue-row{display:flex;align-items:center;gap:10px;padding:6px 14px;border-top:1px solid var(--border)}.issue-row:hover{background:#fcfcfd}.issue-key{flex-shrink:0;min-width:56px;font-family:var(--font-mono);font-size:12px;color:var(--text-secondary)}.issue-row-title{flex:1;min-width:0;font-weight:500;font-size:13.5px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.issue-row-title:hover{color:var(--accent);text-decoration:none}.issue-row-time{flex-shrink:0;font-size:12px;width:64px;text-align:right}.issue-row-edit{flex-shrink:0;opacity:0;color:var(--text-secondary)}.issue-row:hover .issue-row-edit{opacity:1}.issue-row-edit:hover{color:var(--accent)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:3px;border:none;background:transparent;border-radius:var(--radius-control);cursor:pointer;color:var(--text)}.icon-btn:hover{background:#ececef}.issue-scope-tabs{display:flex;align-items:center;gap:4px;margin-bottom:14px;border-bottom:1px solid var(--border)}.issue-scope-tab{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:none;background:transparent;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.issue-scope-tab:hover{color:var(--text)}.issue-scope-tab.is-active{color:var(--accent);border-bottom-color:var(--accent)}.issue-scope-count{font-size:11px;font-weight:600;padding:1px 6px;border-radius:999px;background:#ececef;color:var(--text-secondary)}.issue-scope-tab.is-active .issue-scope-count{background:var(--accent);color:#fff}.issue-rel-tag{flex-shrink:0;font-size:11px;font-weight:600;padding:1px 7px;border-radius:999px;background:#ececef;color:var(--text-secondary)}.issue-filters{display:flex;align-items:center;gap:8px;margin-bottom:14px;flex-wrap:wrap}.issue-filters .select{width:auto;font-size:12.5px;padding:4px 26px 4px 8px}.issue-search{position:relative;display:inline-flex;align-items:center}.issue-search-icon{position:absolute;left:8px;color:var(--text-secondary);pointer-events:none}.issue-search .issue-search-input{width:100%;min-width:200px;padding-left:28px;padding-right:28px}.issue-search-input::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.issue-search-clear{position:absolute;right:5px;padding:2px;color:var(--text-secondary)}.issue-filters .issue-search .issue-search-input{min-width:180px;font-size:12.5px;padding-top:4px;padding-bottom:4px}.issue-sort{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.issue-pager{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:16px}.issue-pager-pages{display:flex;align-items:center;gap:4px}.issue-pager-page{min-width:30px;height:30px;padding:0 8px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);color:var(--text-secondary);font-family:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.issue-pager-page:hover{background:var(--bg-elevated);color:var(--text)}.issue-pager-page:focus-visible{outline:none;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--accent)}.issue-pager-page.is-active{background:var(--accent);border-color:var(--accent);color:#fff}.issue-pager-gap{padding:0 2px;color:var(--text-secondary);-webkit-user-select:none;user-select:none}.status-multiselect-trigger{width:auto;font-size:12.5px;padding:4px 26px 4px 8px;text-align:left;cursor:pointer}.status-multiselect-popover{min-width:200px}.status-multiselect-actions{display:flex;gap:4px;padding:2px 2px 6px;border-bottom:1px solid var(--border);margin-bottom:4px}.status-multiselect-option{cursor:pointer}.status-multiselect-option input{width:14px;height:14px;margin:0;accent-color:var(--accent);cursor:pointer}.issue-row-project{flex-shrink:0;max-width:160px;font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crumb{display:inline-flex;align-items:center;gap:5px;min-width:0}.crumb-icon{flex-shrink:0;line-height:1}.crumb-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.issue-detail-layout{display:flex;gap:28px;align-items:flex-start}.issue-detail-main{flex:1;min-width:0}.issue-detail-side{width:264px;flex-shrink:0;display:flex;flex-direction:column;gap:14px;position:sticky;top:28px}.issue-title-input{display:block;width:100%;border:none;background:transparent;font-family:inherit;font-size:21px;font-weight:600;letter-spacing:-.01em;line-height:1.3;color:var(--text);padding:2px 0;outline:none;resize:none;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere}.issue-title-input::placeholder{color:#a1a1aa}.issue-desc{margin:10px 0 28px}.issue-desc-actions{display:flex;align-items:center;gap:8px;margin-top:8px}.issue-desc-actions .btn{display:inline-flex;align-items:center;gap:6px}.issue-rel-add-btn{margin-left:auto}.issue-rel-add{display:flex;flex-direction:column;gap:7px;margin-bottom:4px}.issue-rel-kind{font-size:12.5px;padding:5px 26px 5px 9px}.issue-rel-search{position:relative}.issue-rel-search .input{font-size:12.5px;padding:5px 9px}.issue-rel-results{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;display:flex;flex-direction:column;max-height:220px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-control);box-shadow:var(--shadow-popover);padding:4px}.issue-rel-result{display:flex;align-items:center;gap:7px;width:100%;padding:6px 8px;border:none;background:transparent;border-radius:6px;text-align:left;cursor:pointer;color:var(--text);font-size:12.5px}.issue-rel-result:hover{background:var(--surface-hover, var(--accent-soft))}.issue-rel-group{display:flex;flex-direction:column;gap:4px}.issue-rel-group+.issue-rel-group{margin-top:8px}.issue-rel-group-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary)}.issue-rel-row{display:flex;align-items:center;gap:4px}.issue-rel-link{display:flex;align-items:center;gap:6px;min-width:0;flex:1;padding:3px 4px;border-radius:6px;color:var(--text);font-size:12.5px}.issue-rel-link:hover{background:var(--surface-hover, var(--accent-soft));text-decoration:none}.issue-rel-link svg{flex-shrink:0}.issue-rel-key{flex-shrink:0;font-size:11.5px;color:var(--text-secondary)}.issue-rel-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.issue-rel-remove{flex-shrink:0;opacity:0;transition:opacity .1s}.issue-rel-row:hover .issue-rel-remove,.issue-rel-remove:focus-visible{opacity:1}.save-indicator{font-size:12px;color:var(--text-secondary);transition:opacity .2s}.comments-section{margin-top:8px}.comments-title{font-size:14px;font-weight:600;margin-bottom:12px;display:flex;align-items:center;gap:6px}.comment{display:flex;gap:10px;padding:12px 0;border-top:1px solid var(--border)}.comment-body{flex:1;min-width:0}.comment-head{display:flex;align-items:baseline;gap:8px;margin-bottom:2px}.comment-author{font-weight:600;font-size:13px}.comment-delete,.comment-edit{opacity:0;color:var(--text-secondary)}.comment:hover .comment-delete,.comment:hover .comment-edit{opacity:1}.comment-delete:hover{color:var(--red)}.comment-edit:hover{color:var(--text)}.comment-edited{font-size:12px;color:var(--text-secondary)}.comment-edit-form{display:flex;flex-direction:column;gap:8px;margin-top:4px}.comment-composer{display:flex;gap:10px;padding-top:14px;border-top:1px solid var(--border)}.comment-composer-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.comment-composer-actions{display:flex;justify-content:flex-end;gap:8px}.issue-timeline>.comment:first-child,.issue-timeline>.issue-event:first-child{border-top:none}.issue-event{display:flex;align-items:center;gap:8px;padding:7px 0;border-top:1px solid var(--border);font-size:12.5px;color:var(--text-secondary)}.issue-event-dot{width:5px;height:5px;border-radius:50%;background:var(--border-strong, var(--border));flex:0 0 auto;margin-left:8px}.issue-event-text{flex:1;min-width:0}.issue-event-actor{font-weight:600;color:var(--text)}.issue-event-count{margin-left:6px;padding:0 6px;border-radius:8px;background:var(--surface-2, var(--border));color:var(--text-secondary);font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}.issue-event-email{display:inline-flex;align-items:center;flex:0 0 auto}.issue-event-email.sent{color:var(--green, #16a34a)}.issue-event-email.failed{color:var(--red, #dc2626)}.project-desc{margin:-8px 0 4px}.project-desc-view{align-items:flex-start;gap:8px}.project-desc-text{margin:0;color:var(--text-secondary);white-space:pre-wrap;flex:1}.project-desc-add{color:var(--text-secondary)}.project-desc-edit{display:flex;flex-direction:column;gap:8px;max-width:640px}.view-toggle{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius-control);overflow:hidden;background:var(--surface)}.view-toggle-btn{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:none;background:transparent;font-size:12.5px;font-weight:500;color:var(--text-secondary);cursor:pointer}.view-toggle-btn+.view-toggle-btn{border-left:1px solid var(--border)}.view-toggle-btn:hover{background:var(--bg-elevated);color:var(--text)}.view-toggle-btn.active{background:var(--accent-soft);color:var(--accent)}.kanban-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:start}.kanban-column{display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-card);min-height:120px;transition:border-color .12s ease,background .12s ease}.kanban-column.drag-over{border-color:var(--accent-light);background:var(--surface)}.kanban-column-header{display:flex;align-items:center;gap:8px;padding:10px 12px;font-size:13px;font-weight:600}.kanban-column-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.kanban-column-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kanban-column-count{margin-left:auto;font-weight:500;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);border-radius:999px;min-width:20px;text-align:center;padding:0 6px;font-size:12px}.kanban-column-body{display:flex;flex-direction:column;gap:8px;padding:0 8px 10px;flex:1}.kanban-column-empty{margin:0;padding:14px 6px;text-align:center;font-size:12.5px;color:var(--text-secondary);border:1px dashed var(--border);border-radius:var(--radius-control)}.kanban-card-slot{display:flex;flex-direction:column;gap:8px}.kanban-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-control);box-shadow:var(--shadow-card);padding:9px 10px 7px;cursor:grab;will-change:transform}.kanban-card:hover{border-color:var(--border);box-shadow:var(--shadow-card-hover)}.kanban-card:active{cursor:grabbing}.kanban-card.dragging{opacity:.4;box-shadow:none}.kanban-card-top{display:flex;align-items:center;gap:6px;margin-bottom:3px}.kanban-card-title{display:block;font-size:13.5px;font-weight:500;color:var(--text);line-height:1.35;margin-bottom:5px}.kanban-card-title:hover{color:var(--accent);text-decoration:none}.kanban-card-foot{display:flex;align-items:center;gap:4px}.kanban-card-time{font-size:11.5px}.kanban-card-edit{flex-shrink:0;opacity:0;color:var(--text-secondary)}.kanban-card:hover .kanban-card-edit{opacity:1}.kanban-card-edit:hover{color:var(--accent)}.kanban-drop-hint{height:3px;border-radius:3px;background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);animation:kanban-hint-in .12s ease}@keyframes kanban-hint-in{0%{opacity:0;transform:scaleX(.6)}to{opacity:1;transform:scaleX(1)}}@media (max-width: 768px){.project-grid{grid-template-columns:1fr}.issue-filters{align-items:stretch}.issue-filters .select{flex:1 1 140px;min-width:0}.issue-filters .issue-search{flex:1 1 100%;min-width:0}.issue-filters .issue-search .issue-search-input{min-width:0}.issue-filters .spacer{display:none}.issue-row{flex-wrap:wrap;row-gap:4px}.issue-row-title{flex-basis:100%;order:5;white-space:normal}.issue-row-time{width:auto;margin-left:auto}.issue-group-header{flex-wrap:wrap}.kanban-board{grid-template-columns:1fr}.issue-detail-layout{flex-direction:column;gap:20px}.issue-detail-side{width:100%;position:static;top:auto}.issue-row .popover,.prop-row .popover,.issue-detail-side .popover{max-width:calc(100vw - 32px)}}.rte{position:relative}.rte .ProseMirror{outline:none;word-wrap:break-word;white-space:pre-wrap}.rte-document .ProseMirror{min-height:280px;font-size:15px;line-height:1.65}.rte-compact{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-control);padding:8px 12px;transition:border-color .1s,box-shadow .1s}.rte-compact:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.rte-compact .ProseMirror{min-height:64px;font-size:13.5px;line-height:1.55}.rte-readonly,.rte-viewer{background:transparent;border:none;padding:0;box-shadow:none}.rte-readonly .ProseMirror,.rte-viewer .ProseMirror{min-height:0}.rte .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;height:0;color:#a1a1aa;pointer-events:none}.rte .ProseMirror>:first-child{margin-top:0}.rte .ProseMirror>:last-child{margin-bottom:0}.rte .ProseMirror p{margin:.35em 0}.rte .ProseMirror h1{font-size:1.5em;margin:1em 0 .35em}.rte .ProseMirror h2{font-size:1.25em;margin:.9em 0 .3em}.rte .ProseMirror h3{font-size:1.1em;margin:.8em 0 .25em}.rte .ProseMirror ul,.rte .ProseMirror ol{margin:.35em 0;padding-left:1.45em}.rte .ProseMirror li>p{margin:.15em 0}.rte .ProseMirror blockquote{margin:.5em 0;padding-left:12px;border-left:3px solid var(--border);color:var(--text-secondary)}.rte .ProseMirror pre{margin:.5em 0;padding:10px 12px;background:#f4f4f5;border:1px solid var(--border);border-radius:var(--radius-control);font-family:var(--font-mono);font-size:12.5px;line-height:1.55;overflow-x:auto}.rte .ProseMirror code{background:#f4f4f5;border-radius:4px;padding:1px 4px;font-family:var(--font-mono);font-size:.88em}.rte .ProseMirror pre code{background:none;border-radius:0;padding:0;font-size:inherit}.rte .ProseMirror hr{margin:1em 0;border:none;border-top:1px solid var(--border)}.rte .ProseMirror a{color:var(--accent);text-decoration:underline;cursor:pointer}.rte .ProseMirror ul[data-type=taskList]{list-style:none;padding-left:2px}.rte .ProseMirror ul[data-type=taskList] li{display:flex;align-items:flex-start;gap:8px}.rte .ProseMirror ul[data-type=taskList] li>label{flex-shrink:0;margin-top:.3em;-webkit-user-select:none;user-select:none}.rte .ProseMirror ul[data-type=taskList] li>div{flex:1;min-width:0}.rte .ProseMirror ul[data-type=taskList] input[type=checkbox]{accent-color:var(--accent);cursor:pointer}.rte .ProseMirror ul[data-type=taskList] li[data-checked=true]>div{color:var(--text-secondary);text-decoration:line-through}.rte-mention{background:var(--accent-soft);color:var(--accent);border-radius:4px;padding:0 3px;font-weight:500;white-space:nowrap}.rte-chip-wrap{display:inline}.rte-chip{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:0 5px;background:var(--accent-soft);color:var(--accent);border-radius:4px;font-weight:500;font-size:.92em;line-height:1.5;cursor:pointer;white-space:nowrap;vertical-align:baseline}.rte-chip:hover{background:#fad1de}.rte-chip svg{flex-shrink:0}.rte .ProseMirror-selectednode .rte-chip,.rte .ProseMirror span.rte-mention.ProseMirror-selectednode{box-shadow:0 0 0 2px #f02d5e73}.rte-suggest{position:fixed;top:0;left:0;z-index:200}.rte-menu{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-popover);padding:4px;min-width:240px;max-width:340px;max-height:304px;overflow-y:auto}.rte-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:5px 8px;border:none;background:transparent;border-radius:var(--radius-control);cursor:pointer;font-family:inherit;font-size:13px;text-align:left;color:var(--text)}.rte-menu-item:hover,.rte-menu-item.active{background:var(--bg)}.rte-menu-text{flex:1;min-width:0;display:flex;flex-direction:column}.rte-menu-label{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rte-menu-sub{font-size:11.5px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rte-menu-type{flex-shrink:0;font-size:11px;color:var(--text-secondary)}.rte-menu-empty{padding:10px 12px;font-size:12.5px;color:var(--text-secondary)}.rte-slash-icon{display:flex;align-items:center;justify-content:center;width:26px;height:26px;flex-shrink:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-control);color:var(--text-secondary)}.links-panel{display:flex;flex-direction:column;gap:12px}.links-panel-section{display:flex;flex-direction:column;gap:7px}.links-panel-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.links-panel-title svg{width:13px;height:13px}.links-panel-empty{font-size:12.5px;color:var(--text-secondary)}.link-chips{display:flex;flex-wrap:wrap;gap:6px}.link-chip{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:3px 9px;background:var(--surface);border:1px solid var(--border);border-radius:999px;font-size:12.5px;color:var(--text);transition:border-color .1s,color .1s}.link-chip svg{width:12px;height:12px;flex-shrink:0;color:var(--text-secondary)}.link-chip-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}a.link-chip:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}a.link-chip:hover svg{color:var(--accent)}.rte-document .rte-comment{background:#fff3bf;border-bottom:2px solid #ffd43b;border-radius:2px;padding:0 1px;cursor:pointer;transition:background .15s}.rte-document .rte-comment:hover{background:#ffec99}.rte-document .rte-comment.rte-comment-flash{background:#ffd43b}@media (max-width: 768px){.rte-suggest{max-width:calc(100vw - 32px)}.rte-menu{min-width:0;max-width:calc(100vw - 32px);width:max-content}.rte .ProseMirror{overflow-wrap:break-word;word-break:break-word}.rte .ProseMirror pre{overflow-x:auto;max-width:100%}.rte .ProseMirror img{max-width:100%;height:auto}.link-chip-label{max-width:calc(100vw - 96px)}}.kb-space-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.kb-space-card{display:flex;flex-direction:column;gap:6px;min-height:124px;color:var(--text);transition:border-color .1s}a.kb-space-card:hover{text-decoration:none;border-color:#c4c4cc}.kb-space-card-icon{font-size:22px;line-height:1.2}.kb-space-card-name{font-size:14.5px;font-weight:600}.kb-space-card-desc{font-size:13px;color:var(--text-secondary)}.kb-space-card-meta{margin-top:auto;padding-top:8px;font-size:12.5px;color:var(--text-secondary)}.kb-shell{display:flex;align-items:stretch;min-height:100%}.kb-tree{width:264px;flex-shrink:0;border-right:1px solid var(--border);background:var(--surface);position:sticky;top:0;height:100vh;overflow-y:auto;padding:14px 8px 24px}.kb-tree-head{display:flex;align-items:center;gap:4px;padding:0 6px 10px;border-bottom:1px solid var(--border);margin-bottom:8px}.kb-tree.kb-tree-collapsed{width:48px;padding:14px 0 24px;display:flex;flex-direction:column;align-items:center;gap:6px;overflow:hidden}.kb-tree-collapsed-home{color:var(--accent)}.kb-tree-space{display:flex;align-items:center;gap:8px;min-width:0;flex:1;color:var(--text);font-weight:600;font-size:13.5px}.kb-tree-space:hover{text-decoration:none;color:var(--accent)}.kb-tree-space-icon{font-size:16px}.kb-tree-space-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kb-tree-head-actions{display:flex;gap:2px;flex-shrink:0}.kb-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:5px;background:transparent;color:var(--text-secondary);cursor:pointer;padding:0;flex-shrink:0}.kb-icon-btn:hover{background:var(--accent-soft);color:var(--accent)}.kb-icon-btn.kb-icon-btn-danger:hover{background:#fee2e2;color:var(--red)}.kb-icon-btn svg{width:13px;height:13px}.kb-tree-row{display:flex;align-items:center;gap:5px;padding:4px 6px;border-radius:6px;font-size:13px;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;min-height:28px}.kb-tree-row:hover{background:var(--bg);text-decoration:none}.kb-tree-row.active{background:var(--accent-soft);color:var(--accent);font-weight:500}.kb-tree-row.active .kb-tree-type{color:var(--accent)}.kb-tree-chevron{width:13px;height:13px;flex-shrink:0;color:var(--text-secondary);transition:transform .12s}.kb-tree-chevron.open{transform:rotate(90deg)}.kb-tree-type{width:14px;height:14px;flex-shrink:0;color:var(--text-secondary)}.kb-tree-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kb-tree-actions{display:none;align-items:center;gap:1px;flex-shrink:0}.kb-tree-row:hover .kb-tree-actions{display:inline-flex}.kb-tree-input{flex:1;min-width:0;border:1px solid var(--accent);border-radius:4px;background:var(--surface);font-family:inherit;font-size:13px;color:var(--text);padding:2px 6px;outline:none}.kb-tree-empty-hint{font-size:12px;color:var(--text-secondary);padding:3px 6px;font-style:italic}.kb-tree-row.obsolete .kb-tree-label{color:var(--text-secondary);text-decoration:line-through}.kb-tree-row.obsolete .kb-tree-type{opacity:.65}.kb-obsolete-tag{flex-shrink:0;font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#b45309;background:var(--amber-soft);border:1px solid #fde68a;border-radius:4px;padding:1px 4px;line-height:1.5}.kb-tree-row:hover .kb-obsolete-tag{display:none}.kb-tree-obsolete-toggle{display:flex;align-items:center;gap:6px;width:calc(100% - 4px);margin:10px 2px 0;padding:7px 8px;border:none;border-top:1px solid var(--border);background:transparent;color:var(--text-secondary);font-family:inherit;font-size:12.5px;font-weight:500;cursor:pointer}.kb-tree-obsolete-toggle:hover,.kb-tree-obsolete-toggle.on{color:var(--accent)}.kb-tree-obsolete-toggle svg{width:14px;height:14px}.kb-tree-blank{font-size:12.5px;color:var(--text-secondary);padding:10px 6px}.kb-main{flex:1;min-width:0}.kb-content{max-width:780px;margin:0 auto;padding:24px 36px 80px}.kb-crumbs{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-secondary);margin-bottom:16px;min-height:26px}.kb-crumbs a{color:var(--text-secondary)}.kb-crumbs a:hover{color:var(--accent);text-decoration:none}.kb-crumbs svg{width:12px;height:12px;flex-shrink:0}.kb-crumb-current{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.kb-crumbs .spacer{flex:1}.kb-save-indicator{font-size:12px;color:var(--text-secondary);transition:opacity .2s;flex-shrink:0}.kb-publish-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.kb-title-input{width:100%;border:none;background:transparent;font-family:inherit;font-size:28px;font-weight:700;letter-spacing:-.015em;line-height:1.25;color:var(--text);padding:2px 0;outline:none}.kb-title-input::placeholder{color:#a1a1aa}.kb-doc-meta{font-size:12.5px;color:var(--text-secondary);margin:4px 0 18px}.kb-doc-body{margin-bottom:32px}.kb-links-card{margin-top:8px}.kb-content--doc{max-width:1140px}.kb-doc-layout{display:flex;align-items:flex-start;gap:32px}.kb-doc-col{flex:1;min-width:0;max-width:760px}.kb-doc-body{position:relative}.kb-comment-add-btn svg{width:14px;height:14px}.kb-comments-tab-wrap{flex-shrink:0;position:sticky;top:16px;align-self:flex-start;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.kb-comments-rail{width:300px;flex-shrink:0;position:sticky;top:16px;align-self:flex-start;max-height:calc(100vh - 32px);overflow-y:auto;display:flex;flex-direction:column;gap:10px}.kb-comments-head{display:flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:13px;font-weight:600}.kb-comments-title{flex:1}.kb-comments-collapse{margin:-4px -6px -4px 0;padding:4px}.kb-comments-collapse svg{width:15px;height:15px}.kb-comments-tab{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:color .12s,border-color .12s,background .12s}.kb-comments-tab:hover{color:var(--text);border-color:var(--accent)}.kb-comments-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:600}.kb-comments-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:600}.kb-comments-empty{font-size:12.5px;color:var(--text-secondary);line-height:1.5;margin:0}.kb-comment-thread{padding:12px;display:flex;flex-direction:column;gap:8px;cursor:pointer;transition:border-color .12s,box-shadow .12s}.kb-comment-thread-active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.kb-comment-thread-resolved{opacity:.7}.kb-comment-quote{margin:0;padding:4px 0 4px 10px;border-left:3px solid #ffd43b;font-size:12.5px;color:var(--text-secondary);font-style:italic;line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.kb-comment-list{display:flex;flex-direction:column;gap:10px}.kb-comment-meta{display:flex;align-items:baseline;gap:8px;font-size:12px;color:var(--text-secondary)}.kb-comment-author{font-weight:600;color:var(--text)}.kb-comment-body{font-size:13px;line-height:1.45;color:var(--text);white-space:pre-wrap;overflow-wrap:break-word;margin-top:2px}.kb-comment-input{min-height:52px;font-size:13px;resize:vertical}.kb-comment-actions{display:flex;align-items:center;gap:6px}.kb-comment-actions .spacer{flex:1}.kb-comment-actions .btn svg{width:13px;height:13px}.kb-comments-resolved-toggle{align-self:flex-start}.kb-space-header{display:flex;align-items:flex-start;gap:14px;margin-bottom:6px}.kb-space-header-icon{font-size:34px;line-height:1.15}.kb-space-header h1{font-size:22px;letter-spacing:-.015em}.kb-space-header-desc{margin-top:3px;color:var(--text-secondary);font-size:13.5px}.kb-space-header-actions{margin-left:auto;flex-shrink:0}.kb-space-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 24px}.kb-space-stats{font-size:12.5px;color:var(--text-secondary)}.kb-space-obsolete-toggle{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text-secondary);font-family:inherit;font-size:12.5px;font-weight:500;cursor:pointer}.kb-space-obsolete-toggle:hover,.kb-space-obsolete-toggle.on{color:var(--accent);border-color:var(--accent)}.kb-space-obsolete-toggle svg{width:14px;height:14px}.kb-doc-list-row.obsolete .kb-doc-list-title{color:var(--text-secondary);text-decoration:line-through}.kb-doc-list-row.obsolete>svg{opacity:.65}.kb-section-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin:0 0 8px}.kb-doc-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card, 8px);overflow:hidden}.kb-doc-list-row{display:flex;align-items:center;gap:10px;padding:10px 14px;color:var(--text);font-size:13.5px}.kb-doc-list-row+.kb-doc-list-row{border-top:1px solid var(--border)}a.kb-doc-list-row:hover{background:var(--bg);text-decoration:none}.kb-doc-list-row svg{width:15px;height:15px;color:var(--text-secondary);flex-shrink:0}.kb-doc-list-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.kb-doc-list-path{font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:40%}.kb-doc-list-time{font-size:12px;flex-shrink:0}.kb-sk{display:inline-block;background:linear-gradient(90deg,var(--border) 0%,rgba(0,0,0,.04) 50%,var(--border) 100%);background-size:200% 100%;border-radius:4px;animation:kb-shimmer 1.3s ease-in-out infinite}@keyframes kb-shimmer{to{background-position:-200% 0}}.kb-sk-line{height:12px}.kb-sk-dot{width:15px;height:15px;border-radius:4px;flex-shrink:0}.kb-sk-square{width:34px;height:34px;border-radius:8px;flex-shrink:0}.kb-skeleton-tree-row{display:flex;align-items:center;gap:8px;padding:7px 6px}.kb-skeleton-header{display:flex;align-items:flex-start;gap:14px;margin-bottom:6px}.kb-skeleton-header-text{display:flex;flex-direction:column;flex:1}.kb-skeleton-toolbar{display:flex;align-items:center;min-height:32px;padding:10px 0;margin-bottom:4px}@media (prefers-reduced-motion: reduce){.kb-sk{animation:none}}@media (max-width: 768px){.kb-shell{flex-direction:column}.kb-tree{width:100%;height:auto;max-height:320px;position:static;top:auto;flex-shrink:1;border-right:none;border-bottom:1px solid var(--border)}.kb-content{max-width:none;padding:18px 16px 64px}.kb-content--doc{max-width:none}.kb-doc-layout{flex-direction:column;gap:20px}.kb-doc-col{max-width:none}.kb-comments-rail{width:100%;position:static;max-height:none}.kb-comments-tab-wrap{position:static;align-self:flex-start;align-items:flex-start}.kb-crumbs{flex-wrap:wrap}.kb-crumbs .spacer{flex-basis:100%;flex:none}.kb-publish-actions{flex-wrap:wrap}.kb-title-input{font-size:24px}.kb-space-grid{grid-template-columns:1fr}.kb-doc-list-path{display:none}}.kb-tree-head-icon{width:16px;height:16px;flex-shrink:0;color:var(--accent)}.kb-tree-space-group{margin-bottom:2px}.kb-tree-space-row{font-weight:600}.kb-tree-space-row.active{background:var(--accent-soft);color:var(--accent)}.kb-tree-space-emoji{font-size:14px;line-height:1;flex-shrink:0}.kb-feed-title{display:flex;align-items:center;gap:7px;margin:0 0 12px;font-size:13px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--text-secondary)}.kb-feed-title svg{color:var(--accent)}.kb-feed-empty{margin:0;padding:14px 16px;font-size:13px;color:var(--text-secondary);background:var(--surface);border:1px dashed var(--border);border-radius:10px}.kb-pinned{margin-bottom:28px}.kb-pin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.kb-pin-card{position:relative;display:flex;border:1px solid var(--border);border-radius:10px;background:var(--surface);transition:border-color .12s,box-shadow .12s}.kb-pin-card:hover{border-color:var(--accent);box-shadow:0 1px 3px #0000000f}.kb-pin-card-main{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0;padding:14px 16px;color:var(--text)}.kb-pin-card-main:hover{text-decoration:none}.kb-pin-card-space{font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kb-pin-card-title{font-size:14.5px;font-weight:600;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.kb-pin-card-meta{margin-top:auto;font-size:12px;color:var(--text-secondary)}.kb-pin-card-unpin{position:absolute;top:8px;right:8px;opacity:0;transition:opacity .12s}.kb-pin-card:hover .kb-pin-card-unpin,.kb-pin-card-unpin:focus-visible{opacity:1}.kb-pin-active{color:var(--accent)}.kb-feeds{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:28px}.kb-feed-list{display:flex;flex-direction:column;margin:0;padding:0;list-style:none;border:1px solid var(--border);border-radius:10px;overflow:hidden}.kb-feed-row{display:flex;align-items:center;gap:10px;padding:11px 14px;color:var(--text);background:var(--surface);border-bottom:1px solid var(--border)}.kb-feed-list li:last-child .kb-feed-row{border-bottom:none}.kb-feed-row:hover{text-decoration:none;background:var(--accent-soft)}.kb-feed-row-icon{color:var(--text-secondary);flex-shrink:0}.kb-feed-row-title{font-size:13.5px;font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kb-feed-row-space{font-size:12px;color:var(--text-secondary);flex-shrink:0;max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kb-feed-row>time{font-size:12px;color:var(--text-secondary);flex-shrink:0}.kb-move-hint{margin:0 0 10px;font-size:13px;color:var(--text-secondary)}.kb-move-list{display:flex;flex-direction:column;gap:2px;max-height:320px;overflow-y:auto;border:1px solid var(--border);border-radius:8px;padding:6px;background:var(--bg)}.kb-move-option{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:none;border-radius:6px;background:transparent;color:var(--text);font-size:13px;text-align:left;cursor:pointer}.kb-move-option:hover:not(:disabled){background:var(--accent-soft);color:var(--accent)}.kb-move-option:disabled{cursor:default;opacity:.7}.kb-move-option.current{background:var(--surface)}.kb-move-icon{width:16px;height:16px;flex-shrink:0;color:var(--text-secondary)}.kb-move-option:hover:not(:disabled) .kb-move-icon{color:var(--accent)}.kb-move-option-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kb-move-current-tag{flex-shrink:0;font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary)}.blog-shell{min-height:100%;background:var(--surface)}.blog-topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.blog-brand{display:flex;align-items:center;gap:10px;color:var(--text);font-size:15px;font-weight:700;letter-spacing:-.01em}.blog-brand:hover{text-decoration:none}.blog-main{max-width:720px;margin:0 auto;padding:48px 24px 96px}.blog-hero{margin-bottom:36px}.blog-hero h1{font-size:28px;letter-spacing:-.02em}.blog-hero p{margin:6px 0 0;color:var(--text-secondary);font-size:15px}.blog-post-list{display:flex;flex-direction:column;gap:16px}.blog-post-card{display:block;padding:20px;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);color:var(--text);transition:border-color .15s ease,box-shadow .25s ease,transform .2s ease-out}.blog-post-card:hover{text-decoration:none;border-color:var(--accent);box-shadow:0 1px 8px #f02d5e1f;transform:translateY(-2px)}.blog-post-card h2{font-size:18px;letter-spacing:-.01em}.blog-post-excerpt{margin:6px 0 0;color:var(--text-secondary);font-size:14px;line-height:1.6}.blog-post-meta{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:13px;color:var(--text-secondary)}.blog-meta-dot{color:var(--border)}.blog-back{display:inline-flex;align-items:center;gap:6px;margin-bottom:24px;font-size:13.5px;font-weight:500;color:var(--text-secondary)}.blog-back svg{width:14px;height:14px}.blog-back:hover{color:var(--accent);text-decoration:none}.blog-article-title{font-size:32px;line-height:1.2;letter-spacing:-.02em}.blog-article-meta{display:flex;align-items:center;gap:8px;margin-top:16px;font-size:13.5px;color:var(--text-secondary)}.blog-article-meta .blog-author{color:var(--text);font-weight:500}.blog-article-divider{margin:28px 0 32px;border:none;border-top:1px solid var(--border)}.blog-article .rte-viewer .ProseMirror{font-size:16px;line-height:1.75;color:var(--text-strong)}.blog-article .rte-viewer .ProseMirror p{margin:.8em 0}.blog-article .rte-viewer .ProseMirror h1{font-size:1.6em;margin:1.4em 0 .5em}.blog-article .rte-viewer .ProseMirror h2{font-size:1.35em;margin:1.3em 0 .45em}.blog-article .rte-viewer .ProseMirror h3{font-size:1.15em;margin:1.1em 0 .4em}.blog-article .rte-viewer .ProseMirror ul,.blog-article .rte-viewer .ProseMirror ol{margin:.8em 0}.blog-article .rte-viewer .ProseMirror li>p{margin:.25em 0}.blog-article .rte-viewer .ProseMirror blockquote{margin:1em 0;padding-left:16px;border-left:3px solid var(--accent);font-size:1.02em}@media (max-width: 768px){.blog-topbar{padding:10px 16px}.blog-brand{font-size:14px;gap:8px;min-width:0}.blog-main{max-width:100%;padding:28px 16px 64px}.blog-hero{margin-bottom:24px}.blog-hero h1{font-size:23px}.blog-article-title{font-size:25px;overflow-wrap:break-word}.blog-post-card h2{overflow-wrap:break-word}.blog-post-card{padding:16px}.blog-post-meta,.blog-article-meta{flex-wrap:wrap}.blog-article .rte-viewer .ProseMirror{font-size:15px}.blog-article .rte-viewer .ProseMirror pre{overflow-x:auto}}.blog-admin-excerpt{font-size:12.5px;margin-top:2px;max-width:52ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blog-admin-author{display:inline-flex;align-items:center;gap:8px}.blog-admin-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px}.blog-admin .icon-btn,a.icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:4px;border:none;background:transparent;border-radius:var(--radius-control);cursor:pointer;color:var(--text-secondary)}.blog-admin .icon-btn:hover,a.icon-btn:hover{background:#ececef;color:var(--text)}.blog-admin .icon-btn:disabled{opacity:.5;cursor:default}.blog-admin .icon-btn-danger:hover{color:var(--danger, #d23f57)}.link-button{border:none;background:transparent;padding:0;cursor:pointer;text-align:left;font:inherit}.link-button:hover{text-decoration:underline}.blog-editor-frame{border:1px solid var(--border);border-radius:var(--radius-card);padding:4px 10px;max-height:48vh;overflow-y:auto}.crumbs{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-secondary);margin-bottom:12px}.crumbs a{color:var(--text-secondary)}.crumbs a:hover{color:var(--accent);text-decoration:none}.crumbs svg{width:12px;height:12px}.prop-card{display:flex;flex-direction:column;gap:6px}.prop-card-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:2px}.prop-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:28px}.prop-label{font-size:12.5px;font-weight:500;color:var(--text-secondary);flex-shrink:0}.ticket-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden}.ticket-row{display:flex;align-items:center;gap:10px;padding:9px 14px}.ticket-row+.ticket-row{border-top:1px solid var(--border)}.ticket-row:hover{background:#fcfcfd}.ticket-key{flex-shrink:0;min-width:48px;font-family:var(--font-mono);font-size:12px;color:var(--text-secondary)}.ticket-row-main{flex:1;min-width:0}.ticket-row-subject{display:block;font-weight:500;font-size:13.5px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ticket-row-subject:hover{color:var(--accent);text-decoration:none}.ticket-row-customer{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ticket-row-meta{display:flex;align-items:center;gap:8px;flex-shrink:0}.ticket-row-time{flex-shrink:0;width:64px;text-align:right;font-size:12px}.ticket-tab-count{font-weight:400;color:var(--text-secondary);margin-left:4px}.ticket-detail-layout{display:flex;gap:28px;align-items:flex-start}.ticket-detail-main{flex:1;min-width:0}.ticket-detail-side{width:264px;flex-shrink:0;display:flex;flex-direction:column;gap:14px;position:sticky;top:28px}.ticket-subject{font-size:21px;font-weight:600;letter-spacing:-.01em;line-height:1.3;margin:0 0 4px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ticket-subhead{font-size:12.5px;color:var(--text-secondary);margin-bottom:20px}.thread{display:flex;flex-direction:column;gap:14px;margin-bottom:20px}.msg{display:flex;flex-direction:column;max-width:78%}.msg-customer{align-self:flex-start}.msg-agent{align-self:flex-end}.msg-internal{align-self:stretch;max-width:none}.msg-head{display:flex;align-items:baseline;gap:7px;font-size:12px;color:var(--text-secondary);margin-bottom:3px;padding:0 2px}.msg-agent .msg-head{justify-content:flex-end}.msg-author{font-weight:600;color:var(--text)}.msg-bubble{padding:9px 12px;border-radius:10px;font-size:13.5px}.msg-customer .msg-bubble{background:#f4f4f5;border:1px solid var(--border);border-top-left-radius:4px}.msg-agent .msg-bubble{background:var(--accent-soft);border:1px solid #fad1de;border-top-right-radius:4px}.msg-internal .msg-bubble{background:#fffbeb;border:1px solid #f1e3bb}.msg-internal-tag{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--amber)}.msg-bubble .rich-text p:first-child,.msg-bubble p:first-child{margin-top:0}.msg-bubble .rich-text p:last-child,.msg-bubble p:last-child{margin-bottom:0}.composer{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);padding:12px}.composer.composer-internal{background:#fffbeb;border-color:#f1e3bb}.composer-tabs{display:flex;gap:4px;margin-bottom:10px}.composer-tab{border:none;background:transparent;font-family:inherit;font-size:12.5px;font-weight:500;color:var(--text-secondary);padding:4px 10px;border-radius:var(--radius-control);cursor:pointer;display:inline-flex;align-items:center;gap:5px}.composer-tab:hover{background:#ececef}.composer-tab.active{background:var(--accent-soft);color:var(--accent)}.composer-tab.active.internal{background:#fdf0cf;color:var(--amber)}.composer-actions{display:flex;align-items:center;gap:8px;margin-top:10px}.issue-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:5px 9px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg);font-size:12.5px;color:var(--text)}.issue-chip:hover{border-color:var(--accent);text-decoration:none}.issue-chip-key{font-family:var(--font-mono);font-size:11.5px;color:var(--accent);flex-shrink:0}.issue-chip-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.customer-info-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:26px;font-size:13px}.customer-info-row a{max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.customer-mode{display:inline-flex;gap:4px;padding:3px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-control);margin-bottom:12px}.customer-mode button{border:none;background:transparent;font-family:inherit;font-size:12.5px;font-weight:500;color:var(--text-secondary);padding:4px 10px;border-radius:4px;cursor:pointer}.customer-mode button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #0000000f}@media (max-width: 768px){.ticket-detail-layout{flex-direction:column;gap:18px}.ticket-detail-side{width:100%;position:static;top:auto}.msg{max-width:92%}.composer-actions{flex-wrap:wrap}.composer-actions .spacer{flex-basis:100%;height:0}.composer-actions .btn{flex:1 1 auto;justify-content:center}.customer-info-row a{max-width:60vw}.issue-chip{max-width:100%}}.crash-page{display:flex;flex-direction:column;gap:16px}.crash-webhook{display:flex;flex-direction:column;gap:14px}.crash-webhook-head{display:flex;gap:12px;align-items:flex-start}.crash-webhook-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex:none;border-radius:var(--radius-control);background:var(--accent-soft);color:var(--accent)}.crash-webhook-title{font-weight:600;color:var(--text-strong)}.crash-webhook-url{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg)}.crash-method{font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--green);background:var(--green-soft);padding:3px 7px;border-radius:6px;flex:none}.crash-url{flex:1 1 auto;min-width:0;overflow-x:auto;white-space:nowrap;color:var(--text);font-size:13px}.crash-webhook-example{display:flex;flex-direction:column;gap:8px}.crash-example-label{font-weight:600}.crash-example,.crash-payload{margin:0;padding:12px 14px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-control);font-size:12.5px;line-height:1.5;color:var(--text);overflow-x:auto;white-space:pre}.crash-search{display:flex;flex-direction:column;gap:10px}.crash-search-fields{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap}.crash-field{display:flex;flex-direction:column;gap:4px}.crash-field .input{min-width:220px}.crash-search-actions{display:flex;gap:8px;align-items:center}.crash-range-note strong{color:var(--text-strong);font-weight:600}.crash-error{color:var(--red);background:var(--red-soft);border-color:var(--red)}.crash-list{display:flex;flex-direction:column;gap:10px}.crash-count{padding-left:2px}.crash-item{padding:0;overflow:hidden}.crash-item-head{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;background:none;border:none;text-align:left;cursor:pointer;color:inherit;font:inherit}.crash-item-head:hover{background:var(--bg)}.crash-chevron{flex:none;color:var(--text-secondary);transition:transform .15s ease}.crash-item.open .crash-chevron{transform:rotate(90deg)}.crash-item-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:5px}.crash-item-summary{font-weight:600;color:var(--text-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crash-item-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.crash-tag{text-transform:none}.crash-item-time{font-size:12px;color:var(--text-secondary)}.crash-item-times{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}.crash-received{font-size:11.5px}.crash-payload{margin:0 16px 16px;max-height:360px;overflow:auto;white-space:pre}@media (max-width: 640px){.crash-item-times{display:none}.crash-field .input{min-width:0;width:100%}.crash-field{flex:1 1 100%}}.sqa-page>*+*{margin-top:16px}.sqa-dashboard{display:grid;grid-template-columns:1fr 1fr 1.8fr;gap:16px}.sqa-stat{display:flex;flex-direction:column;gap:6px;padding:20px}.sqa-stat-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;background:var(--accent-soft);color:var(--accent)}.sqa-stat-icon-bug{background:#fef2f2;color:#b91c1c}.sqa-stat-label{font-size:.8rem;color:var(--text-secondary);font-weight:500}.sqa-stat-value{font-size:2.4rem;font-weight:700;line-height:1.1;color:var(--text)}.sqa-status-card{padding:20px}.sqa-pie{display:flex;align-items:center;gap:20px;margin-top:10px}.sqa-pie-chart{flex:0 0 auto}.sqa-pie-total{font-size:1.5rem;font-weight:700;fill:var(--text)}.sqa-pie-total-label{font-size:.7rem;fill:var(--text-secondary)}.sqa-pie-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;flex:1 1 auto;min-width:0}.sqa-legend-row{display:flex;align-items:center;gap:8px;font-size:.85rem}.sqa-legend-dot{width:10px;height:10px;border-radius:3px;flex:0 0 auto}.sqa-legend-label{color:var(--text-strong);flex:1 1 auto}.sqa-legend-count{font-weight:600;color:var(--text)}.sqa-cohorts{padding:18px 20px}.sqa-cohorts-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.sqa-cohorts-head .sqa-stat-label{display:inline-flex;align-items:center;gap:6px}.sqa-cohorts-clear{flex:0 0 auto}.sqa-cohort-bars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.sqa-cohort-row{display:grid;grid-template-columns:92px 1fr auto;align-items:center;gap:12px;width:100%;padding:6px 8px;border:1px solid transparent;border-radius:var(--radius-control);background:none;cursor:pointer;font:inherit;color:var(--text);text-align:left}.sqa-cohort-row:hover{background:var(--neutral-soft)}.sqa-cohort-row.is-active{border-color:var(--accent);background:var(--accent-soft)}.sqa-cohort-label{font-size:.85rem;color:var(--text-strong);white-space:nowrap}.sqa-cohort-track{height:12px;border-radius:999px;background:var(--border-light);overflow:hidden}.sqa-cohort-fill{display:block;height:100%;border-radius:999px;min-width:2px;transition:width .2s ease}.sqa-cohort-count{font-weight:600;font-size:.9rem;min-width:1.5ch;text-align:right}.sqa-cohorts-total{margin-top:12px;font-size:.8rem;color:var(--text-secondary)}.sqa-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:16px;flex-wrap:wrap}.sqa-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.sqa-field{display:flex;flex-direction:column;gap:4px}.sqa-field-row{display:flex;gap:12px}.sqa-field-row .sqa-field{flex:1 1 0}.sqa-search-row{display:flex;gap:6px}.sqa-refresh{flex:0 0 auto}.sqa-notice{padding:12px 16px;border-left:3px solid var(--accent);font-size:.9rem}.sqa-error{padding:12px 16px;border-left:3px solid #b91c1c;color:#b91c1c;display:flex;align-items:center;gap:8px;font-size:.9rem}.sqa-table-region>*+*{margin-top:12px}.sqa-bulk-bar{display:flex;align-items:flex-end;gap:12px;padding:12px 16px;flex-wrap:wrap;border-left:3px solid var(--accent)}.sqa-bulk-count{font-weight:600;font-size:.9rem;align-self:center;margin-right:4px}.sqa-bulk-field{min-width:160px}.sqa-bulk-apply{flex:0 0 auto}.sqa-select-th,.sqa-select-td{width:36px;text-align:center}.sqa-select-td input,.sqa-select-th input{cursor:pointer}.sqa-table tr.is-selected>td{background:var(--surface-hover, rgba(99, 102, 241, .08))}.sqa-app-cell{margin-right:6px}.sqa-ext-link{display:inline-flex;align-items:center;gap:3px;color:var(--text-secondary);font-size:.82rem}.sqa-ext-link:hover{color:var(--accent)}.sqa-detail-grid{display:grid;grid-template-columns:1fr 340px;gap:16px;align-items:start}.sqa-detail-main>*+*,.sqa-detail-side>*+*{margin-top:16px}.sqa-detail>.sqa-comments{margin-top:16px}.sqa-section{padding:18px}.sqa-section-title{font-size:.95rem;font-weight:600;margin:0 0 12px;display:flex;align-items:center;gap:6px}.sqa-meta-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.sqa-message{white-space:pre-wrap;margin:0;line-height:1.55;color:var(--text-strong)}.sqa-signals{display:flex;flex-wrap:wrap;gap:6px}.sqa-signal{font-family:var(--font-mono, monospace);font-size:.74rem}.sqa-project-link{margin-bottom:12px}.sqa-bug-stats{display:flex;gap:18px;margin:12px 0}.sqa-bug-stat{display:flex;flex-direction:column;gap:2px}.sqa-bug-stat .text-secondary{display:inline-flex;align-items:center;gap:3px}.sqa-bug-num{font-size:1.5rem;font-weight:700;color:var(--text)}.sqa-topnav{display:flex;gap:8px;margin-bottom:4px}.sqa-topnav-btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius-control, 8px);background:var(--surface, #fff);color:var(--text-strong, #1f2328);font-family:inherit;font-size:13px;font-weight:600;line-height:1;white-space:nowrap;text-decoration:none;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.sqa-topnav-btn:hover:not(:disabled){background:var(--bg-elevated, #f3f4f6);border-color:var(--border-strong, #d0d7de)}.sqa-topnav-btn:disabled{opacity:.55;cursor:not-allowed}.sqa-topnav-btn svg{color:var(--text-secondary)}.sqa-share{display:flex;flex-direction:column;gap:12px}.sqa-share-field{display:flex;flex-direction:column;gap:6px}.sqa-share-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.sqa-share-message{width:100%;resize:vertical;word-break:break-word;white-space:pre-wrap;background:var(--border-light);border:1px solid var(--border);padding:8px 10px;border-radius:6px;font-size:.8rem;line-height:1.45;color:var(--text)}.sqa-share-url{display:block;word-break:break-all;background:var(--border-light);padding:8px 10px;border-radius:6px;font-size:.8rem}.sqa-form{display:flex;flex-direction:column;gap:14px}.sqa-textarea{resize:vertical;font-family:inherit}.sqa-reject-reasons{border:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.sqa-reject-reasons legend{margin-bottom:6px}.sqa-reject-reason{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-control);cursor:pointer;font-size:.9rem}.sqa-reject-reason:hover{background:var(--neutral-soft)}.sqa-reject-reason input{margin:0}.sqa-rejection{display:flex;flex-direction:column;gap:6px}.sqa-rejection-detail{white-space:pre-wrap}.sqa-og{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.sqa-og-image{width:100%;height:auto;border-radius:var(--radius-control);border:1px solid var(--border);background:var(--bg-elevated);object-fit:contain}.sqa-og-loading{display:flex;align-items:center;gap:6px}.sqa-spin{animation:sqa-spin .8s linear infinite}@keyframes sqa-spin{to{transform:rotate(360deg)}}.sqa-sort-th{display:inline-flex;align-items:center;gap:4px;margin:0;padding:0;border:none;background:none;font:inherit;text-transform:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;-webkit-user-select:none;user-select:none}.sqa-sort-th:hover,.sqa-sort-th.is-active{color:var(--text)}.sqa-sort-icon{flex-shrink:0;opacity:0;transition:opacity .12s ease}.sqa-sort-th:hover .sqa-sort-icon{opacity:.5}.sqa-sort-th.is-active .sqa-sort-icon{opacity:1}.sqa-reaction-field{display:flex;flex-direction:column;gap:6px}.sqa-reaction-label{font-size:.8rem;font-weight:600;color:var(--text-secondary)}.sqa-comments-count{font-size:.75rem;font-weight:600;color:var(--text-secondary);background:var(--surface-alt, rgba(0, 0, 0, .05));border-radius:999px;padding:1px 8px}.sqa-comment-list{display:flex;flex-direction:column}.sqa-comment{display:flex;gap:10px;padding:12px 0;border-top:1px solid var(--border)}.sqa-comment-body{flex:1;min-width:0}.sqa-comment-head{display:flex;align-items:baseline;gap:8px;margin-bottom:2px}.sqa-comment-author{font-weight:600;font-size:.85rem}.sqa-comment-delete{opacity:0;color:var(--text-secondary)}.sqa-comment:hover .sqa-comment-delete{opacity:1}.sqa-comment-delete:hover{color:var(--red)}.sqa-comment-composer{display:flex;flex-direction:column;gap:8px;padding-top:14px;border-top:1px solid var(--border);margin-top:4px}.sqa-comment-composer-actions{display:flex;justify-content:flex-end;gap:8px}.rte-image{max-width:100%;height:auto;border-radius:8px;display:block}@media (max-width: 768px){.sqa-comment-composer-actions{flex-direction:column;align-items:stretch}.sqa-dashboard,.sqa-detail-grid{grid-template-columns:1fr}.sqa-toolbar,.sqa-filters{flex-direction:column;align-items:stretch}.sqa-pie{flex-direction:column;align-items:flex-start}.sqa-reject-reasons{grid-template-columns:1fr}}.settings-profile{display:flex;align-items:center;gap:14px;padding:16px;margin-bottom:24px}.settings-profile-meta{flex:1;min-width:0}.settings-profile-name{font-weight:600;color:var(--text)}.settings-section{margin-bottom:28px}.settings-section-head{margin-bottom:14px}.settings-section-title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:var(--text);margin:0 0 4px}.settings-section-desc{margin:0;max-width:620px;font-size:13px;color:var(--text-secondary)}.api-key-form{padding:16px;margin-bottom:18px}.api-key-form-actions{display:flex;justify-content:flex-end}.api-key-scopes{display:flex;flex-wrap:wrap;gap:10px}.api-key-scope{display:flex;flex-direction:column;gap:2px;flex:1 1 150px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;cursor:pointer;position:relative;transition:border-color .12s,background .12s}.api-key-scope:hover{border-color:var(--accent)}.api-key-scope.checked{border-color:var(--accent);background:var(--accent-soft, rgba(240, 45, 94, .06))}.api-key-scope input{position:absolute;top:10px;right:10px}.api-key-scope-name{font-weight:600;font-size:13px;color:var(--text);padding-right:20px}.api-key-scope-hint{font-size:12px;color:var(--text-secondary)}.api-key-error{color:var(--red);font-size:13px;margin-bottom:12px}.api-key-reveal{border:1px solid var(--green, #16a34a);background:var(--green-soft, rgba(22, 163, 74, .08));border-radius:10px;padding:14px 16px;margin-bottom:18px;display:flex;flex-direction:column;gap:10px}.api-key-reveal-head{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text)}.api-key-reveal-value{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.api-key-reveal-value code{flex:1;min-width:220px;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface, #fff);word-break:break-all}.api-key-reveal-dismiss{align-self:flex-start}.api-key-prefix{color:var(--text-secondary)}.api-agent-callout{border:1px solid var(--border);background:var(--surface-2, var(--surface, #f8fafc));border-radius:10px;padding:16px;margin-bottom:18px}.api-agent-callout-head{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text);margin-bottom:6px}.api-agent-callout-desc{margin:0 0 12px;max-width:620px;font-size:13px;line-height:1.5;color:var(--text-secondary)}.api-agent-callout-desc code{font-size:12px;padding:1px 5px;border-radius:4px;background:var(--surface, #fff);border:1px solid var(--border);color:var(--text)}.api-agent-snippet{position:relative}.api-agent-snippet pre{margin:0;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface, #fff);overflow-x:auto;font-size:12.5px;line-height:1.55;color:var(--text);white-space:pre}.api-agent-copy{position:absolute;top:8px;right:8px}:root{--bg: #f7f8fa;--surface: #ffffff;--bg-elevated: #f3f4f6;--border: #e5e7eb;--border-light: #f3f4f6;--text: #1a1a2e;--text-secondary: #6b7280;--text-strong: #374151;--text-disabled: #9ca3af;--accent: #f02d5e;--accent-hover: #d4224e;--accent-light: #ff4d73;--accent-soft: #fde8ee;--red: #ef4444;--red-soft: #fef2f2;--amber: #f59e0b;--amber-soft: #fffbeb;--green: #10b981;--green-soft: #ecfdf5;--info: #6366f1;--info-soft: #eef2ff;--neutral: #6b7280;--neutral-soft: #f3f4f6;--radius-card: 12px;--radius-control: 8px;--radius-modal: 16px;--shadow-card: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .02);--shadow-card-hover: 0 8px 25px rgba(0, 0, 0, .08), 0 0 0 1px rgba(0, 0, 0, .04);--shadow-popover: 0 4px 12px rgba(0, 0, 0, .08);--shadow-modal: 0 12px 32px rgba(0, 0, 0, .12);--sidebar-width: 240px;--sidebar-collapsed-width: 64px;--gradient-cta: linear-gradient(135deg, #f02d5e, #ff4d73);--font: "Inter", "Inter Variable", "SF Pro Display", -apple-system, system-ui, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);font-size:14px;line-height:1.5;color:var(--text);background:var(--bg);font-feature-settings:"cv02","cv03","cv04","cv11";-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none;transition:color .15s ease}a:hover{color:var(--accent-hover);text-decoration:underline}h1,h2,h3,h4{margin:0;font-weight:600;line-height:1.3;letter-spacing:-.01em}h1{font-size:22px;letter-spacing:-.03em}h2{font-size:18px}h3{font-size:15px}.app-layout{display:flex;height:100%}.app-main{flex:1;min-width:0;overflow-y:auto}.mobile-topbar,.sidebar-backdrop{display:none}.sidebar{width:var(--sidebar-width);flex-shrink:0;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--border)}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:16px 16px 12px;font-size:15px;font-weight:700;letter-spacing:-.01em}.sidebar-brand-text{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-collapse-toggle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border:none;background:transparent;border-radius:var(--radius-control);color:var(--text-secondary);cursor:pointer;transition:background .15s ease,color .15s ease}.sidebar-collapse-toggle:hover{background:var(--bg-elevated);color:var(--text)}.sidebar-collapse-toggle svg{width:18px;height:18px}.sidebar-logo{width:26px;height:26px;flex-shrink:0;border-radius:8px;background:var(--gradient-cta);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800}button.sidebar-logo{padding:0;border:none;cursor:pointer;transition:box-shadow .15s ease,transform .15s ease}button.sidebar-logo:hover{box-shadow:0 0 0 3px var(--bg-elevated)}button.sidebar-logo:active{transform:scale(.94)}.sidebar-logo-mark{display:flex;align-items:center;justify-content:center}.sidebar-nav{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:2px}.nav-item{position:relative;display:flex;align-items:center;gap:10px;height:36px;padding:0 12px;border-radius:var(--radius-control);color:var(--text);font-weight:500;font-size:14px;transition:background .15s ease,color .15s ease}.nav-item-tooltip{position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%) translate(-4px);z-index:60;white-space:nowrap;padding:6px 10px;border-radius:6px;background:var(--text);color:var(--surface);font-size:12px;font-weight:500;line-height:1;box-shadow:var(--shadow-md, 0 6px 16px rgba(15, 23, 42, .18));opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s ease,transform .12s ease}.nav-item:hover{background:var(--bg-elevated);color:var(--text);text-decoration:none}.nav-item.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.nav-item svg{width:16px;height:16px;flex-shrink:0;color:var(--text-secondary)}.nav-item.active svg{color:var(--accent)}.nav-item-row{position:relative;display:flex}.nav-item-row .nav-item{flex:1;min-width:0}.nav-item-hide{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:6px;background:var(--surface);color:var(--text-secondary);cursor:pointer;opacity:0;visibility:hidden;transition:opacity .12s ease,background .12s ease,color .12s ease;z-index:2}.nav-item-row:hover .nav-item-hide,.nav-item-hide:focus-visible{opacity:1;visibility:visible}.nav-item-hide:hover{background:var(--bg-elevated);color:var(--text)}.nav-item-hide svg{width:15px;height:15px}.sidebar-show-hidden{display:flex;align-items:center;gap:10px;height:34px;margin-top:4px;padding:0 12px;border:none;background:transparent;border-radius:var(--radius-control);color:var(--text-secondary);font-family:inherit;font-weight:500;font-size:13px;cursor:pointer;text-align:left;transition:background .15s ease,color .15s ease}.sidebar-show-hidden:hover{background:var(--bg-elevated);color:var(--text)}.sidebar-show-hidden svg{width:15px;height:15px;flex-shrink:0}.sidebar-footer{border-top:1px solid var(--border);padding:8px;position:relative}.sidebar-footer-row{display:flex;align-items:center;gap:4px}.sidebar-footer-row .user-menu{flex:1;min-width:0}.sidebar-footer-row .notif__trigger:hover .nav-item-tooltip,.sidebar-footer-row .notif__trigger:focus-visible .nav-item-tooltip{opacity:1;visibility:visible;transform:translateY(-50%) translate(0)}.user-switcher-btn{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;background:transparent;border-radius:var(--radius-control);cursor:pointer;font-family:inherit;font-size:13.5px;text-align:left;color:var(--text);transition:background .15s ease}.user-switcher-btn:hover{background:var(--bg-elevated)}.user-switcher-meta{min-width:0;flex:1}.user-switcher-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-switcher-role{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar{transition:width .18s ease}@media (min-width: 769px){.sidebar.collapsed{width:var(--sidebar-collapsed-width)}.sidebar.collapsed .sidebar-brand-text,.sidebar.collapsed .nav-item-label,.sidebar.collapsed .user-menu__meta,.sidebar.collapsed .sidebar-collapse-toggle{display:none}.sidebar.collapsed .sidebar-brand{justify-content:center;padding:14px 8px 12px}.sidebar.collapsed .nav-item{justify-content:center;padding:0;gap:0}.sidebar.collapsed .nav-item-hide,.sidebar.collapsed .sidebar-show-hidden{display:none}.sidebar.collapsed .nav-item:hover .nav-item-tooltip,.sidebar.collapsed .nav-item:focus-visible .nav-item-tooltip{opacity:1;visibility:visible;transform:translateY(-50%) translate(0)}.sidebar.collapsed .user-menu__trigger,.sidebar.collapsed .user-menu__sign-in{justify-content:center;padding:8px;gap:0}.sidebar.collapsed .sidebar-footer-row{flex-direction:column;gap:6px}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 14px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);color:var(--text-strong);font-family:inherit;font-size:13px;font-weight:600;line-height:1.4;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.btn:hover{background:var(--bg-elevated)}.btn:focus-visible{outline:none;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--accent)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn svg{width:15px;height:15px}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-ghost{border-color:transparent;background:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:var(--bg-elevated);color:var(--text)}.btn-danger{color:var(--red)}.btn-danger:hover{background:var(--red-soft);border-color:#fecaca}.btn-sm{height:28px;padding:0 10px;font-size:12.5px}.btn-sm svg{width:13px;height:13px}.input,.select,.textarea{width:100%;padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);color:var(--text);font-family:inherit;font-size:13.5px;line-height:1.4;transition:border-color .15s ease,box-shadow .15s ease}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input::placeholder,.textarea::placeholder{color:var(--text-disabled)}.textarea{resize:vertical;min-height:72px}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;padding-right:28px}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.field-label{font-size:12px;font-weight:500;color:var(--text-secondary)}.field-hint{font-size:12px;color:var(--text-secondary)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:16px;box-shadow:var(--shadow-card)}.badge{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:9999px;font-size:12px;font-weight:500;letter-spacing:.01em;line-height:1.6;white-space:nowrap;background:var(--neutral-soft);color:var(--neutral)}.badge svg{width:11px;height:11px}.badge-gray{background:var(--neutral-soft);color:var(--neutral)}.badge-blue{background:var(--info-soft);color:var(--info)}.badge-green{background:var(--green-soft);color:var(--green)}.badge-amber{background:var(--amber-soft);color:var(--amber)}.badge-red{background:var(--red-soft);color:var(--red)}.badge-purple{background:var(--accent-soft);color:var(--accent)}.status-dot{display:inline-block;width:8px;height:8px;border-radius:9999px;flex-shrink:0}.table{width:100%;border-collapse:collapse;background:var(--surface);font-size:13.5px}.table th{text-align:left;height:40px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);background:var(--bg);padding:8px 12px;border-bottom:1px solid var(--border);white-space:nowrap}.table td{height:44px;padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.table tbody tr{transition:background .15s ease}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover{background:var(--bg-elevated)}.table tbody tr.selected,.table tbody tr.selected:hover{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a1a2e66;display:flex;align-items:flex-start;justify-content:center;padding:10vh 16px 16px;z-index:100}.modal{background:var(--surface);border-radius:var(--radius-modal);box-shadow:var(--shadow-modal);width:100%;max-width:520px;max-height:80vh;display:flex;flex-direction:column}.modal-lg{max-width:680px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.modal-title{font-size:15px;font-weight:600}.modal-body{padding:18px;overflow-y:auto}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--border)}.modal-close{border:none;background:transparent;cursor:pointer;color:var(--text-secondary);padding:4px;border-radius:var(--radius-control);display:flex;transition:background .15s ease,color .15s ease}.modal-close:hover{background:var(--bg-elevated);color:var(--text)}.page{max-width:1040px;margin:0 auto;padding:28px 32px 64px}.page-wide{max-width:1280px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.page-header h1{font-size:22px;letter-spacing:-.03em}.page-header-desc{margin-top:3px;color:var(--text-secondary);font-size:13.5px}.page-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;padding:48px 24px;color:var(--text-secondary)}.empty-state svg{width:28px;height:28px;margin-bottom:6px;color:var(--text-disabled)}.empty-state-title{font-size:14px;font-weight:600;color:var(--text)}.empty-state-desc{font-size:13px;max-width:360px}.empty-state .btn{margin-top:10px}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:9999px;color:#fff;font-weight:600;flex-shrink:0;-webkit-user-select:none;user-select:none}.issue-row-users{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.issue-user-icon-empty{display:inline-flex;align-items:center;justify-content:center;border-radius:9999px;border:1px dashed var(--border);color:#a1a1aa;background:var(--bg-elevated);flex-shrink:0}.issue-user-icon-empty svg{flex-shrink:0}.kbd{display:inline-block;padding:1px 5px;border:1px solid var(--border);border-bottom-width:2px;border-radius:4px;background:var(--bg-elevated);font-family:var(--font-mono);font-size:11px;color:var(--text-secondary)}.popover{position:absolute;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-popover);z-index:90;min-width:180px;padding:4px}.popover-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border:none;background:transparent;border-radius:var(--radius-control);cursor:pointer;font-family:inherit;font-size:13px;text-align:left;color:var(--text);transition:background .15s ease}.popover-item:hover,.popover-item.active{background:var(--bg-elevated)}.popover-item.selected{background:var(--accent-soft);color:var(--accent)}.user-picker-popover{min-width:220px;display:flex;flex-direction:column}.user-picker-search{display:flex;align-items:center;gap:6px;padding:4px 8px;margin-bottom:4px;border-bottom:1px solid var(--border)}.user-picker-search-input{flex:1;border:none;background:transparent;outline:none;font-family:inherit;font-size:13px;color:var(--text);padding:4px 0}.user-picker-search-input::placeholder{color:var(--text-secondary)}.user-picker-list{max-height:240px;overflow-y:auto}.user-picker-empty{padding:8px;font-size:13px;text-align:center}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:16px}.tab{padding:7px 12px;border:none;background:transparent;font-family:inherit;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s ease,border-color .15s ease}.tab:hover{color:var(--text)}.tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.text-secondary{color:var(--text-secondary)}.text-sm{font-size:12.5px}.mono{font-family:var(--font-mono);font-size:13px}.row{display:flex;align-items:center;gap:8px}.spacer{flex:1}.spinner{width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:9999px;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-block{display:flex;align-items:center;justify-content:center;padding:48px}@media (max-width: 768px){.app-layout{flex-direction:column}.mobile-topbar{display:flex;align-items:center;gap:10px;height:52px;flex-shrink:0;padding:0 10px;background:var(--surface);border-bottom:1px solid var(--border);z-index:60}.mobile-topbar-brand{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:700;letter-spacing:-.01em}.mobile-nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:transparent;border-radius:var(--radius-control);color:var(--text);cursor:pointer;flex-shrink:0}.mobile-nav-toggle:hover{background:var(--bg-elevated)}.sidebar-collapse-toggle{display:none}.sidebar{position:fixed;top:0;left:0;bottom:0;height:100%;width:268px;max-width:84vw;z-index:200;transform:translate(-100%);transition:transform .22s ease;box-shadow:var(--shadow-modal);will-change:transform}.sidebar.open{transform:translate(0)}.sidebar-backdrop.open{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#1a1a2e73;z-index:190}.page{padding:16px 16px 56px}.page-header{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:16px}.page-header-actions{flex-wrap:wrap}.modal-backdrop{align-items:flex-end;padding:0}.modal,.modal-lg{max-width:100%;max-height:92vh;border-radius:var(--radius-modal) var(--radius-modal) 0 0}.tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{white-space:nowrap}.page-header-actions .btn{flex:1}}
