:root{--bg-base: #0b1220;--bg-surface: #111b31;--bg-elevated: #162040;--bg-input: #101a30;--border: #253656;--border-light: #2a3b60;--text-primary: #e5ecfb;--text-secondary: #93a8d3;--text-muted: #6b83b0;--accent: #2a5cff;--accent-hover: #3d6fff;--success: #16a34a;--warning: #d97706;--danger: #dc2626;--sidebar-width: 220px;--radius: 10px;color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg-base);color:var(--text-primary)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top,#12213f,#0b1220 45%,#09101d)}.app-layout{display:flex;height:100vh;overflow:hidden}.app-main{flex:1;overflow-y:auto;padding:0}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background:#0a0f1d;border-right:1px solid var(--border);display:flex;flex-direction:column;padding:16px 0}.sidebar-logo{display:flex;align-items:center;gap:10px;padding:0 20px 20px;border-bottom:1px solid var(--border);margin-bottom:12px}.logo-icon{font-size:28px}.logo-text{font-size:20px;font-weight:800;letter-spacing:-.5px}.sidebar-nav{display:flex;flex-direction:column;gap:2px;padding:0 8px;flex:1}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;color:var(--text-secondary);text-decoration:none;font-size:14px;font-weight:500;transition:all .15s}.nav-item:hover{background:var(--bg-surface);color:var(--text-primary)}.nav-active{background:var(--accent)!important;color:#fff!important;font-weight:700}.nav-icon{font-size:18px;width:24px;text-align:center}.sidebar-footer{padding:12px 20px;border-top:1px solid var(--border)}.server-indicator{width:8px;height:8px;border-radius:50%;background:var(--success)}.page{padding:24px 32px;max-width:1200px}.page-header{margin-bottom:24px}.page-header h1{margin:0 0 4px;font-size:24px;font-weight:800}.page-hint{color:var(--text-secondary);font-size:14px}.btn{border:1px solid var(--border-light);border-radius:8px;padding:8px 16px;font-size:14px;font-weight:700;cursor:pointer;transition:all .15s;color:#fff}.btn-primary{background:var(--accent);border-color:var(--accent)}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--bg-elevated)}.btn-secondary:hover{background:var(--bg-surface)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.status-badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:700;color:#fff;text-transform:uppercase}.dash-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.dash-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.dash-card-label{color:var(--text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.dash-card-value{margin-top:6px;font-size:18px;font-weight:700}.dash-error{background:#2a0a0a;border:1px solid var(--danger);border-radius:var(--radius);padding:12px;color:#fca5a5;margin:12px 0}.dash-section{margin-top:24px}.dash-section h2{margin:0 0 12px;font-size:18px}.dash-section h3{margin:16px 0 8px;font-size:15px;color:var(--text-secondary)}.dash-exec-bar{display:flex;gap:8px}.dash-input{flex:1;border:1px solid var(--border-light);border-radius:8px;padding:10px 14px;background:var(--bg-input);color:var(--text-primary);font-size:14px}.dash-placeholder{color:var(--text-muted);font-style:italic}.gantt-list{display:flex;flex-direction:column;gap:8px}.gantt-row{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px}.gantt-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.gantt-meta{margin-top:4px;color:var(--text-secondary);font-size:13px}.gantt-warn{margin-top:4px;color:var(--warning);font-size:13px}.role-lane{margin-bottom:12px}.role-lane h4{margin:0 0 6px;font-size:14px}.lane-chips{display:flex;flex-wrap:wrap;gap:6px}.lane-chip{border:1px solid;border-radius:999px;padding:3px 10px;font-size:12px}.queue-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.queue-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;gap:4px;font-size:13px}.page.chat-page{display:flex;flex-direction:column;height:100vh;padding-bottom:0;max-width:100%;width:100%}.chat-messages{flex:1;overflow-y:auto;padding-bottom:12px}.chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:60vh;color:var(--text-muted)}.chat-empty-icon{font-size:64px;margin-bottom:16px;opacity:.6}.chat-empty p{font-size:16px;margin:0 0 20px}.chat-suggestions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.chat-suggestions button{background:var(--bg-surface);border:1px solid var(--border);border-radius:20px;padding:8px 16px;color:var(--text-secondary);cursor:pointer;font-size:13px;transition:all .15s}.chat-suggestions button:hover{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--accent)}.chat-msg{display:flex;gap:12px;padding:16px 0}.chat-msg+.chat-msg{border-top:1px solid var(--border)}.chat-msg-avatar{font-size:24px;width:36px;text-align:center;flex-shrink:0}.chat-msg-body{flex:1;min-width:0}.chat-msg-content{margin:0;white-space:pre-wrap;word-break:break-word;font-family:inherit;font-size:14px;line-height:1.6;background:none;border:none;padding:0}.chat-msg-meta{display:inline-block;margin-top:6px;font-size:11px;color:var(--text-muted);font-family:monospace}.chat-msg-system .chat-msg-content{color:var(--warning)}.chat-thinking{display:flex;align-items:center;gap:6px;color:var(--text-muted)}.chat-thinking .dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted);animation:blink 1.2s infinite}.chat-thinking .dot:nth-child(2){animation-delay:.2s}.chat-thinking .dot:nth-child(3){animation-delay:.4s}.thinking-text{margin-left:8px;font-size:13px}@keyframes blink{0%,80%,to{opacity:.3}40%{opacity:1}}.chat-input-area{display:flex;gap:8px;padding:16px 32px 24px;background:linear-gradient(to top,var(--bg-base) 60%,transparent);position:sticky;bottom:0}.chat-input{flex:1;resize:none;border:1px solid var(--border-light);border-radius:12px;padding:12px 16px;background:var(--bg-input);color:var(--text-primary);font-size:14px;font-family:inherit;line-height:1.5}.chat-input:focus{outline:none;border-color:var(--accent)}.chat-input:disabled{opacity:.5}.chat-send-btn{width:48px;border:none;border-radius:12px;background:var(--accent);color:#fff;font-size:20px;cursor:pointer;transition:background .15s}.chat-send-btn:hover{background:var(--accent-hover)}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.roles-toolbar{margin-bottom:20px}.roles-search{width:100%;border:1px solid var(--border-light);border-radius:10px;padding:12px 16px;background:var(--bg-input);color:var(--text-primary);font-size:15px}.roles-search:focus{outline:none;border-color:var(--accent)}.roles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.role-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;transition:border-color .15s}.role-card:hover{border-color:var(--accent)}.role-active{border-color:var(--success)!important}.role-card-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.role-icon{font-size:28px}.role-card-title{flex:1}.role-card-title strong{display:block;font-size:15px}.role-id{font-size:12px;color:var(--text-muted);font-family:monospace}.role-badge-active{background:var(--success);color:#fff;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700}.role-card-version{font-size:12px;color:var(--text-muted);margin-bottom:8px}.role-missions{list-style:none;padding:0;margin:0 0 12px}.role-missions li{font-size:13px;color:var(--text-secondary);padding:2px 0}.role-missions li:before{content:"• ";color:var(--accent)}.role-more{color:var(--text-muted);font-style:italic}.role-card .btn{width:100%}.memory-search-bar{display:flex;gap:8px;margin-bottom:20px}.memory-input{flex:1;border:1px solid var(--border-light);border-radius:10px;padding:12px 16px;background:var(--bg-input);color:var(--text-primary);font-size:14px}.memory-input:focus{outline:none;border-color:var(--accent)}.memory-topk{border:1px solid var(--border-light);border-radius:8px;padding:8px;background:var(--bg-input);color:var(--text-primary);font-size:13px}.memory-results h3{margin:0 0 12px}.memory-result-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin-bottom:10px}.memory-result-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.memory-rank{font-weight:700;color:var(--accent);font-size:14px}.memory-score{font-size:12px;color:var(--text-muted);font-family:monospace}.memory-source{font-size:12px;color:var(--text-muted);background:var(--bg-elevated);padding:2px 6px;border-radius:4px}.memory-result-content{margin:0;white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:1.5;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;padding:10px}.memory-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 0;color:var(--text-muted)}.memory-empty-icon{font-size:64px;margin-bottom:16px;opacity:.5}.history-lookup-bar{display:flex;gap:8px;margin-bottom:20px}.history-input{flex:1;border:1px solid var(--border-light);border-radius:10px;padding:12px 16px;background:var(--bg-input);color:var(--text-primary);font-size:14px;font-family:monospace}.history-input:focus{outline:none;border-color:var(--accent)}.history-section{margin-bottom:24px}.history-section h3{margin:0 0 12px;font-size:16px}.history-output{background:var(--bg-input);border:1px solid var(--border);border-radius:8px;padding:14px;white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:1.5;max-height:400px;overflow-y:auto}.history-events{display:flex;flex-direction:column;gap:8px}.history-event{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;padding:12px}.event-id{font-weight:700;color:var(--text-muted);margin-right:8px;font-size:12px}.event-type{font-weight:700;color:var(--accent);font-size:13px}.event-ts{margin-left:8px;color:var(--text-muted);font-size:12px}.event-payload{margin:8px 0 0;font-size:12px;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;padding:8px;white-space:pre-wrap;word-break:break-word}.settings-section{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:16px}.settings-section h2{margin:0 0 16px;font-size:17px}.settings-field{margin-bottom:16px}.settings-field label{display:block;font-size:13px;font-weight:700;color:var(--text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.3px}.settings-input{width:100%;border:1px solid var(--border-light);border-radius:8px;padding:10px 14px;background:var(--bg-input);color:var(--text-primary);font-size:14px;font-family:monospace}.settings-input:focus{outline:none;border-color:var(--accent)}.settings-input-group{display:flex;gap:8px}.settings-input-group .settings-input{flex:1}.settings-help{display:block;margin-top:4px;font-size:12px;color:var(--text-muted)}.settings-help code{background:var(--bg-elevated);padding:1px 4px;border-radius:3px;font-size:11px}.settings-test-result{margin-top:12px;padding:10px 14px;border-radius:8px;font-size:14px}.settings-test-success{background:#0a2a0a;border:1px solid var(--success);color:#86efac}.settings-test-error{background:#2a0a0a;border:1px solid var(--danger);color:#fca5a5}.settings-table{width:100%;border-collapse:collapse}.settings-table td{padding:8px 12px;border-bottom:1px solid var(--border);font-size:14px}.settings-table td:first-child{color:var(--text-secondary);font-weight:600;width:160px}.settings-about{color:var(--text-secondary);font-size:14px;line-height:1.6;margin:0}.app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;color:var(--text-muted)}.app-loading-icon{font-size:64px;margin-bottom:16px;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.login-page{display:flex;align-items:center;justify-content:center;height:100vh;padding:20px}.login-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:16px;padding:40px;width:100%;max-width:420px;text-align:center}.login-logo{font-size:64px;margin-bottom:12px}.login-title{margin:0 0 4px;font-size:28px;font-weight:800}.login-subtitle{color:var(--text-secondary);font-size:15px;margin:0 0 28px}.login-form{display:flex;flex-direction:column;gap:12px;text-align:left}.login-field label{display:block;font-size:13px;font-weight:700;color:var(--text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.3px}.login-input{width:100%;border:1px solid var(--border-light);border-radius:10px;padding:12px 16px;background:var(--bg-input);color:var(--text-primary);font-size:15px;font-family:monospace}.login-input:focus{outline:none;border-color:var(--accent)}.login-input:disabled{opacity:.5}.login-error{background:#2a0a0a;border:1px solid var(--danger);border-radius:8px;padding:10px 14px;color:#fca5a5;font-size:13px}.login-btn{width:100%;padding:12px;font-size:15px}.login-help{color:var(--text-muted);font-size:12px;line-height:1.6;margin:20px 0 0;text-align:center}.login-help code{background:var(--bg-elevated);padding:1px 4px;border-radius:3px;font-size:11px}.chat-header-row{display:flex;justify-content:space-between;align-items:flex-start}.context-usage{display:flex;align-items:center;gap:8px;cursor:default}.context-bar{width:80px;height:6px;background:var(--bg-input);border-radius:3px;overflow:hidden;border:1px solid var(--border)}.context-fill{height:100%;border-radius:3px;transition:width .3s ease,background-color .3s ease}.context-label{font-size:11px;color:var(--text-muted);font-weight:600;white-space:nowrap}.chat-msg-footer{display:flex;align-items:center;gap:10px;margin-top:6px}.chat-msg-time{font-size:11px;color:var(--text-muted)}.trace-id{font-family:monospace;color:var(--accent);cursor:pointer}.chat-msg-chain{display:inline-flex;flex-wrap:wrap;gap:2px;font-size:10px;color:var(--text-muted);font-family:monospace}.chain-step{color:var(--text-secondary)}.chat-msg-status{font-size:11px;font-weight:700;padding:1px 6px;border-radius:4px;text-transform:uppercase}.chat-msg-status-completed{background:#0a2a0a;color:#86efac}.chat-msg-status-failed{background:#2a0a0a;color:#fca5a5}.chat-msg-status-blocked{background:#2a1a0a;color:#fde68a}.chat-cancel-btn{background:var(--danger)!important}.chat-cancel-btn:hover{background:#ef4444!important}.chat-stream-events{display:flex;flex-direction:column;gap:4px;margin-top:8px;padding:8px;background:var(--bg-input);border-radius:6px;border:1px solid var(--border)}.stream-event-chip{display:flex;align-items:center;gap:8px;font-size:12px}.stream-event-type{color:var(--accent);font-weight:700;font-family:monospace}.stream-event-ts{color:var(--text-muted);font-size:11px}.dash-header-row{display:flex;justify-content:space-between;align-items:flex-start}.dash-header-actions{display:flex;align-items:center;gap:12px}.dash-auto-refresh{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);cursor:pointer}.dash-auto-refresh input[type=checkbox]{accent-color:var(--accent)}.dash-last-refresh{font-size:12px;color:var(--text-muted)}.dash-runs-list{display:flex;flex-direction:column;gap:6px}.dash-run-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;font-size:13px}.dash-run-id{font-family:monospace;color:var(--text-muted);font-size:12px}.dash-run-text{flex:1;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-run-time{font-size:12px;color:var(--text-muted)}.gantt-critical{color:var(--warning);font-weight:700;font-size:12px;margin-left:6px}.btn-sm{padding:5px 12px;font-size:12px}pre{overflow-x:auto;font-size:13px}a{color:var(--accent)}@media (max-width: 768px){.sidebar{width:60px;min-width:60px}.logo-text,.nav-label{display:none}.sidebar-logo{padding:0 0 16px;justify-content:center}.nav-item{justify-content:center;padding:10px 8px}.nav-icon{width:auto}.page{padding:16px}.chat-input-area{padding:12px 16px 16px}.dash-cards{grid-template-columns:1fr 1fr}.roles-grid{grid-template-columns:1fr}.history-filters{flex-direction:column}.history-table-header,.history-table-row{grid-template-columns:1fr 2fr 1fr}.col-time,.col-action{display:none}.toast-container{left:16px;right:16px;transform:none}}.toast-container{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:10000;display:flex;flex-direction:column;gap:8px;max-width:480px;width:100%;pointer-events:none}.toast{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 32px #0006;animation:toast-slide-in .3s ease-out;pointer-events:auto;cursor:pointer;transition:opacity .2s,transform .2s}.toast:hover{opacity:.85;transform:scale(.98)}.toast-info{border-left:3px solid var(--accent)}.toast-success{border-left:3px solid var(--success)}.toast-warn{border-left:3px solid var(--warning)}.toast-error{border-left:3px solid var(--danger)}.toast-icon{font-size:16px;flex-shrink:0}.toast-msg{flex:1;font-size:13px;color:var(--text-primary)}.toast-close{background:none;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;padding:0 4px;line-height:1}.toast-close:hover{color:var(--text-primary)}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.error-boundary{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;text-align:center;min-height:300px}.error-boundary-icon{font-size:48px;margin-bottom:16px}.error-boundary h2{color:var(--text-primary);margin:0 0 12px}.error-boundary-detail{background:var(--bg-surface);border:1px solid var(--danger);border-radius:var(--radius);padding:12px 16px;color:var(--danger);font-size:13px;max-width:500px;overflow-x:auto;margin-bottom:20px}@keyframes skeleton-pulse{0%{opacity:.3}50%{opacity:.6}to{opacity:.3}}.skeleton-line{height:14px;border-radius:6px;background:var(--border);animation:skeleton-pulse 1.5s ease-in-out infinite;margin-bottom:8px}.skeleton-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;gap:10px}.skeleton-table{display:flex;flex-direction:column;gap:2px}.skeleton-table-header,.skeleton-table-row{display:flex;gap:12px;padding:12px 16px}.skeleton-table-header{background:var(--bg-elevated);border-radius:var(--radius) var(--radius) 0 0}.skeleton-table-row{background:var(--bg-surface)}.skeleton-table-row:last-child{border-radius:0 0 var(--radius) var(--radius)}.skeleton-table-header .skeleton-line,.skeleton-table-row .skeleton-line{flex:1;margin-bottom:0;height:12px}.skeleton-chat{display:flex;flex-direction:column;gap:16px;padding:16px}.skeleton-msg{display:flex;gap:12px;align-items:flex-start;max-width:70%}.skeleton-msg-right{align-self:flex-end;flex-direction:row-reverse}.skeleton-avatar{width:36px;height:36px;border-radius:50%;background:var(--border);flex-shrink:0;animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-msg-body{flex:1;display:flex;flex-direction:column;gap:6px}.history-recent{margin-top:16px}.history-filters{display:flex;align-items:center;gap:12px;margin-bottom:16px}.history-search{flex:1;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px;color:var(--text-primary);font-size:13px;outline:none;transition:border-color .2s}.history-search:focus{border-color:var(--accent)}.history-search::placeholder{color:var(--text-muted)}.history-status-filter{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px;color:var(--text-primary);font-size:13px;outline:none;min-width:140px;cursor:pointer}.history-status-filter:focus{border-color:var(--accent)}.history-count{font-size:12px;color:var(--text-muted);white-space:nowrap}.history-table{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.history-table-header,.history-table-row{display:grid;grid-template-columns:140px 1fr 120px 100px 80px;gap:8px;padding:10px 16px;align-items:center;font-size:13px}.history-table-header{background:var(--bg-elevated);color:var(--text-muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.05em}.history-table-row{background:var(--bg-surface);border-top:1px solid var(--border);cursor:pointer;transition:background .15s}.history-table-row:hover{background:var(--bg-elevated)}.history-table-row .col-id{font-family:monospace;color:var(--accent)}.history-table-row .col-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary)}.history-table-row .col-time{color:var(--text-muted);font-size:12px}.history-detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.history-detail-header h3{margin:0}.rich-output-block{width:100%}.rich-output-summary{color:var(--text-secondary);font-size:13px;margin:0 0 8px;line-height:1.5}.rich-output-empty{color:var(--text-muted);font-style:italic;padding:8px 0}.rich-output-truncated{color:var(--text-muted);font-size:12px;margin-top:6px}.rich-table{width:100%;border-collapse:collapse;font-size:13px;margin-top:4px}.rich-table th{text-align:left;padding:6px 10px;border-bottom:2px solid var(--border);color:var(--text-secondary);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.rich-table th:hover{color:var(--accent)}.rich-table-sort{font-size:10px}.rich-table td{padding:5px 10px;border-bottom:1px solid var(--border-light);color:var(--text-primary)}.rich-table tr:hover td{background:var(--bg-elevated)}.rich-card{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:10px;padding:16px;width:100%}.rich-card-title{margin:0 0 10px;font-size:15px;color:var(--text-primary)}.rich-card-header{font-weight:600;color:var(--text-primary);margin-bottom:8px}.rich-card-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:4px 16px;margin:0}.rich-card-fact{display:flex;gap:8px;padding:3px 0}.rich-card-fact dt{color:var(--text-muted);font-size:12px;min-width:80px;flex-shrink:0}.rich-card-fact dd{margin:0;color:var(--text-primary);font-size:13px}.rich-card-body{color:var(--text-secondary);font-size:13px;line-height:1.5;margin-top:8px}.chart-container{padding:12px;background:var(--bg-surface);border:1px solid var(--border-light);border-radius:10px;width:100%}.chart-title{margin:0 0 8px;font-size:14px;color:var(--text-primary);font-weight:600}.chart-svg{width:100%;max-height:360px}.chart-svg text,.chart-axis-label{fill:var(--text-muted);font-size:11px;font-family:inherit}.chart-label{fill:var(--text-secondary);font-size:12px}.chart-grid{stroke:var(--border-light);stroke-width:.5;stroke-dasharray:3 3}.bar-rect{rx:2;transition:opacity .15s}.bar-rect:hover{opacity:.8}.line-path{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.chart-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px;padding-left:4px}.chart-legend-item{display:flex;align-items:center;gap:5px;color:var(--text-secondary);font-size:12px}.chart-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.rich-markdown{color:var(--text-primary);font-size:14px;line-height:1.6;width:100%}.rich-markdown-header{margin:0 0 8px;font-size:15px;color:var(--text-primary)}.rich-markdown-text{margin:4px 0;white-space:pre-wrap}.rich-markdown-fact{padding:2px 0}.rich-markdown-fact-label{color:var(--text-muted);font-weight:500}.rich-markdown-fact-value{color:var(--text-primary)}.rich-markdown-bullet{display:block;padding-left:8px}.rich-markdown-inline-code{background:var(--bg-input);padding:1px 5px;border-radius:4px;font-size:13px;font-family:SF Mono,Fira Code,monospace}.rich-markdown-codeblock{background:var(--bg-input);border:1px solid var(--border-light);border-radius:6px;padding:10px 14px;margin:8px 0;overflow-x:auto;font-size:13px}.rich-markdown-codeblock code{background:none;padding:0;font-family:SF Mono,Fira Code,monospace}.rich-timeline{width:100%}.timeline-track{display:flex;flex-direction:column;gap:0;position:relative;padding-left:16px}.timeline-track:before{content:"";position:absolute;left:7px;top:6px;bottom:6px;width:2px;background:var(--border-light)}.timeline-entry{display:flex;gap:12px;padding:6px 0;position:relative}.timeline-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;margin-top:3px;position:relative;z-index:1;margin-left:-16px}.timeline-content{flex:1;min-width:0}.timeline-header{display:flex;align-items:baseline;gap:10px}.timeline-label{font-size:13px;color:var(--text-primary);font-weight:500}.timeline-ts{font-size:11px;color:var(--text-muted);font-family:monospace}.timeline-status{font-size:12px;font-weight:600;margin-top:2px;display:inline-block}.timeline-detail{font-size:12px;color:var(--text-secondary);margin:2px 0 0;line-height:1.4}.rich-metrics{width:100%}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.metric-card{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:4px}.metric-name{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.metric-value{font-size:22px;font-weight:800;color:var(--text-primary);line-height:1.2}.metric-delta-row{display:flex;align-items:center;gap:6px}.metric-delta{font-size:12px;font-weight:600}.metric-trend{font-size:14px;font-weight:700}.metric-target{font-size:11px;color:var(--text-muted);margin-top:2px}.rich-diff{width:100%}.diff-title{margin:0 0 8px;font-size:14px;color:var(--text-primary);font-weight:600}.diff-table{width:100%;border-collapse:collapse;font-size:13px}.diff-table th{text-align:left;padding:6px 10px;border-bottom:2px solid var(--border);color:var(--text-muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.diff-col-field,.diff-col-old{width:30%}.diff-col-arrow{width:24px;text-align:center}.diff-col-new{width:30%}.diff-table td{padding:5px 10px;border-bottom:1px solid var(--border-light)}.diff-field{font-weight:500;color:var(--text-primary)}.diff-arrow{text-align:center;color:var(--text-muted);font-size:14px}.diff-value-removed{color:#f87171;background:#f871711a;padding:1px 4px;border-radius:3px}.diff-value-added{color:#4ade80;background:#4ade801a;padding:1px 4px;border-radius:3px}.diff-empty{color:var(--text-muted);font-style:italic}.diff-row:hover td{background:var(--bg-elevated)}.format-switcher{display:flex;gap:4px;margin-bottom:8px}.format-switcher-btn{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.format-switcher-btn:hover:not(:disabled){background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-light)}.format-switcher-btn.active{background:var(--accent);color:#fff;border-color:var(--accent);cursor:default}.format-switcher-icon{font-size:13px}.format-switcher-label{font-size:11px}.rich-output-wrapper{position:relative}.chart-tooltip{position:absolute;pointer-events:none;background:var(--bg-elevated);border:1px solid var(--border);border-radius:6px;padding:4px 10px;font-size:12px;color:var(--text-primary);white-space:nowrap;z-index:10;transform:translate(-50%);box-shadow:0 2px 8px #0000004d}.chart-detail-panel{margin-top:8px;padding:10px 14px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius)}.chart-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.chart-detail-label{font-size:13px;font-weight:600;color:var(--text-primary)}.chart-detail-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;padding:2px 6px;border-radius:4px}.chart-detail-close:hover{color:var(--text-primary);background:var(--bg-surface)}.chart-detail-body{display:flex;gap:16px;align-items:baseline}.chart-detail-series{font-size:12px;color:var(--text-secondary)}.chart-detail-value{font-size:18px;font-weight:600;color:var(--text-primary)}.bar-rect-selected{stroke:#fff;stroke-width:2}.chart-dot{transition:r .12s}.rich-table-filter{display:flex;align-items:center;gap:8px;margin-bottom:8px}.rich-table-filter-input{flex:1;padding:5px 10px;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:12px;outline:none;transition:border-color .15s}.rich-table-filter-input:focus{border-color:var(--accent)}.rich-table-filter-input::placeholder{color:var(--text-muted)}.rich-table-filter-count{font-size:11px;color:var(--text-muted);white-space:nowrap}.rich-table-row-selected td{background:#2a5cff1a!important}.rich-table tbody tr:hover td{background:var(--bg-elevated)}.timeline-entry-expandable{cursor:pointer}.timeline-entry-expandable:hover .timeline-content{background:var(--bg-elevated);border-radius:6px}.timeline-chevron{display:inline-block;width:14px;font-size:11px;color:var(--text-muted);margin-right:2px;transition:transform .12s}.timeline-detail-expanded{animation:slideDown .15s ease-out}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:200px}}.metric-card{cursor:pointer;transition:border-color .15s,box-shadow .15s}.metric-card:hover{border-color:var(--border-light);box-shadow:0 0 0 1px var(--border-light)}.metric-card-selected{border-color:var(--accent)!important;box-shadow:0 0 0 1px var(--accent)!important}.metric-detail-panel{margin-top:12px;padding:14px 18px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius)}.metric-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.metric-detail-name{font-size:14px;font-weight:600;color:var(--text-primary)}.metric-detail-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;padding:2px 6px;border-radius:4px}.metric-detail-close:hover{color:var(--text-primary);background:var(--bg-surface)}.metric-detail-body{display:flex;flex-direction:column;gap:6px}.metric-detail-row{display:flex;justify-content:space-between;align-items:baseline;font-size:13px}.metric-detail-label{color:var(--text-secondary)}.metric-detail-value{color:var(--text-primary);font-weight:500}.metric-progress-bar{height:6px;background:var(--bg-surface);border-radius:3px;overflow:hidden;margin-top:4px}.metric-progress-fill{height:100%;border-radius:3px;transition:width .3s ease-out}.metric-progress-label{font-size:11px;color:var(--text-muted);text-align:right;margin-top:2px}.diff-toggle-bar{display:flex;gap:4px;margin-bottom:8px}.diff-toggle-btn{padding:3px 12px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:background .15s,color .15s}.diff-toggle-btn:hover{background:var(--bg-elevated);color:var(--text-primary)}.diff-toggle-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.diff-row-highlighted td{background:#2a5cff26!important}.prefs-panel{max-width:600px}.prefs-empty{color:var(--text-muted);font-style:italic}.prefs-group{margin-bottom:1.5rem}.prefs-group-title{display:flex;align-items:center;gap:.5rem;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:.75rem}.prefs-group-count{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--bg-elevated);color:var(--text-secondary);font-size:11px;font-weight:500}.prefs-item{padding:.5rem .75rem;border-left:3px solid var(--border);margin-bottom:.5rem;background:var(--bg-surface);border-radius:0 6px 6px 0}.prefs-item-label{font-size:13px;color:var(--text-primary);margin-bottom:.35rem}.prefs-item-detail{display:flex;align-items:center;gap:.6rem;font-size:12px}.prefs-format{padding:1px 6px;border-radius:4px;background:var(--accent);color:#fff;font-size:11px;font-weight:600;text-transform:uppercase;white-space:nowrap}.prefs-format-learning{background:var(--bg-elevated);color:var(--text-secondary)}.prefs-confidence-bar{flex:1;height:6px;background:var(--bg-elevated);border-radius:3px;overflow:hidden;min-width:60px}.prefs-confidence-fill{height:100%;border-radius:3px;transition:width .3s ease}.prefs-confidence-active{background:var(--success)}.prefs-confidence-learning{background:var(--warning)}.prefs-meta{color:var(--text-muted);font-size:11px;white-space:nowrap}.prefs-source-badge{display:inline-block;font-size:10px;padding:1px 6px;border-radius:3px;background:var(--surface-dim, #e8e8e8);color:var(--text-secondary, #666);margin-left:4px;cursor:default}.prefs-scope-badge{display:inline-block;font-size:10px;padding:1px 6px;border-radius:3px;background:var(--accent, #2a5cff);color:#fff;margin-left:4px;cursor:default}.prefs-updated{color:var(--text-muted, #999);font-size:11px}.prefs-reset-btn{margin-top:.5rem;font-size:12px}.capability-gap{width:100%;border:1px solid var(--border, rgba(255,255,255,.1));border-radius:10px;background:var(--bg-secondary, #131c2e);overflow:hidden}.capability-gap-header{display:flex;align-items:center;gap:10px;padding:14px 16px;background:#f59e0b14;border-bottom:1px solid var(--border, rgba(255,255,255,.08))}.capability-gap-header-text{flex:1;min-width:0}.capability-gap-title{margin:0;font-size:15px;font-weight:600;color:var(--warning, #f59e0b)}.capability-gap-question{font-size:13px;color:var(--text-muted);font-style:italic}.capability-gap-prompt{display:flex;align-items:flex-start;gap:8px;padding:12px 16px;font-size:14px;color:var(--text-primary);background:#5b8def0f;border-bottom:1px solid var(--border, rgba(255,255,255,.06))}.capability-gap-section{padding:10px 16px;border-bottom:1px solid var(--border, rgba(255,255,255,.05))}.capability-gap-section:last-of-type{border-bottom:none}.capability-gap-section-label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:8px}.capability-gap-tags{display:flex;flex-wrap:wrap;gap:6px}.capability-gap-tag{display:inline-block;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:500}.capability-gap-tag-missing{background:#f59e0b1f;color:#f59e0b;border:1px solid rgba(245,158,11,.25)}.capability-gap-tag-blocked{background:#f871711a;color:#f87171;border:1px solid rgba(248,113,113,.2)}.capability-gap-plan{display:flex;flex-direction:column;gap:8px}.capability-gap-plan-step{display:flex;gap:10px;align-items:flex-start}.capability-gap-step-num{flex-shrink:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--primary, #5b8def);color:#fff;font-size:11px;font-weight:700}.capability-gap-step-body{flex:1;min-width:0}.capability-gap-step-action{font-size:13px;font-weight:500;color:var(--text-primary);text-transform:capitalize}.capability-gap-step-cap{display:inline-block;margin-left:6px;font-family:var(--font-mono, monospace);font-size:11px;color:var(--text-muted);background:var(--bg-elevated, rgba(255,255,255,.05));padding:1px 6px;border-radius:4px}.capability-gap-step-params{margin-top:4px;display:flex;flex-wrap:wrap;gap:4px}.capability-gap-param{font-family:var(--font-mono, monospace);font-size:11px;color:var(--text-muted);background:var(--bg-elevated, rgba(255,255,255,.04));padding:2px 6px;border-radius:3px}.capability-gap-notes{margin:0;padding-left:18px;font-size:13px;color:var(--text-secondary, #94a3b8)}.capability-gap-notes li{margin-bottom:4px}.capability-gap-outcomes{padding:10px 16px}.capability-gap-outcome{font-size:13px;padding:6px 10px;border-radius:6px;margin-bottom:6px}.capability-gap-outcome:last-child{margin-bottom:0}.capability-gap-outcome strong{font-weight:600}.capability-gap-outcome-positive{background:#4ade8014;color:#4ade80}.capability-gap-outcome-fallback{background:#94a3b814;color:var(--text-muted)}.capability-gap-footer{padding:8px 16px;border-top:1px solid var(--border, rgba(255,255,255,.05))}.capability-gap-token{font-family:var(--font-mono, monospace);font-size:11px;color:var(--text-muted)}.status-card{width:100%;border:1px solid var(--border, rgba(255,255,255,.1));border-radius:10px;background:var(--bg-secondary, #131c2e);overflow:hidden}.status-card-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#5b8def0f;border-bottom:1px solid var(--border, rgba(255,255,255,.08))}.status-card-kind{font-size:14px;font-weight:600;color:var(--text-primary);text-transform:capitalize}.status-card-summary{padding:8px 16px;margin:0;font-size:13px;color:var(--text-secondary, #94a3b8);border-bottom:1px solid var(--border, rgba(255,255,255,.05))}.status-card-fields{margin:0;padding:8px 16px}.status-card-field{display:flex;gap:12px;padding:6px 0;border-bottom:1px solid var(--border, rgba(255,255,255,.04))}.status-card-field:last-child{border-bottom:none}.status-card-field dt{flex-shrink:0;width:140px;font-size:12px;font-weight:600;text-transform:capitalize;color:var(--text-muted)}.status-card-field dd{flex:1;margin:0;font-size:13px;color:var(--text-primary)}.status-card-tags{display:flex;flex-wrap:wrap;gap:4px}.status-card-tag{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;background:var(--bg-elevated, rgba(255,255,255,.06));color:var(--text-secondary)}.status-card-pre{font-family:var(--font-mono, monospace);font-size:11px;color:var(--text-muted);white-space:pre-wrap;margin:4px 0;padding:6px 8px;background:var(--bg-elevated, rgba(0,0,0,.2));border-radius:4px;max-height:200px;overflow-y:auto}.status-card-null{color:var(--text-muted);font-style:italic}.status-card-bool{font-weight:500}.status-card-true{color:#4ade80}.status-card-false{color:#f87171}.status-card-number{font-family:var(--font-mono, monospace)}.status-card-dl{margin:0;padding:0}.status-card-dl-row{display:flex;gap:8px;padding:3px 0}.status-card-dl-row dt{flex-shrink:0;width:100px;font-size:11px;font-weight:500;color:var(--text-muted);text-transform:capitalize}.status-card-dl-row dd{flex:1;margin:0;font-size:12px}.status-card-nested{display:flex;flex-direction:column;gap:4px}.status-card-nested-item{padding:4px 8px;background:var(--bg-elevated, rgba(255,255,255,.03));border-radius:4px}.standing-grants-panel{display:flex;flex-direction:column;gap:1rem}.standing-grants-loading{color:var(--text-dim, #94a3b8);font-style:italic;padding:1rem 0}.standing-grants-error{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:#ef4444;font-size:.85rem}.standing-grants-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.standing-grant-card{border:1px solid var(--border, rgba(255,255,255,.08));border-radius:10px;padding:16px;background:var(--bg-card, rgba(255,255,255,.03));transition:border-color .2s,background .2s}.standing-grant-card-enabled{border-color:var(--accent, #3b82f6);background:#3b82f60d}.standing-grant-card-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.standing-grant-card-title{flex:1;display:flex;flex-direction:column;gap:2px}.standing-grant-name{font-weight:600;font-size:.95rem;color:var(--text, #e2e8f0)}.standing-grant-risk{display:flex;align-items:center;gap:3px;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em}.standing-grant-desc{font-size:.82rem;color:var(--text-dim, #94a3b8);margin:0 0 8px;line-height:1.4}.standing-grant-meta{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--green, #22c55e);margin-bottom:8px}.standing-grant-covers{display:flex;flex-wrap:wrap;gap:4px}.standing-grant-cover-tag{font-size:.7rem;padding:2px 6px;border-radius:4px;background:#ffffff0f;color:var(--text-dim, #94a3b8)}.standing-grant-toggle{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.standing-grant-toggle input{opacity:0;width:0;height:0}.standing-grant-toggle-slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background:var(--border, rgba(255,255,255,.15));border-radius:24px;transition:background .25s}.standing-grant-toggle-slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:transform .25s}.standing-grant-toggle input:checked+.standing-grant-toggle-slider{background:var(--accent, #3b82f6)}.standing-grant-toggle input:checked+.standing-grant-toggle-slider:before{transform:translate(20px)}.standing-grant-toggle input:disabled+.standing-grant-toggle-slider{opacity:.5;cursor:not-allowed}.capability-gap-quickfix{display:flex;align-items:center;gap:8px;padding:10px 14px;margin-top:8px;border:1px dashed var(--accent, #3b82f6);border-radius:8px;background:#3b82f60f;font-size:.85rem;color:var(--text, #e2e8f0)}.capability-gap-quickfix .btn-sm{padding:4px 12px;font-size:.8rem;white-space:nowrap;margin-left:auto}.capability-gap-quickfix-done{border-color:var(--green, #22c55e);background:#22c55e0f}.capability-gap-quickfix-error{border-color:var(--error, #ef4444);background:#ef44440f}.org-toolbar{margin-bottom:20px}.org-search{width:100%;border:1px solid var(--border-light);border-radius:8px;padding:10px 14px;background:var(--bg-input);color:var(--text-primary);font-size:14px}.org-search:focus{outline:none;border-color:var(--accent)}.org-departments{display:flex;flex-direction:column;gap:12px}.org-dept-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:border-color .15s}.org-dept-card:hover{border-color:var(--accent)}.org-dept-header{display:flex;align-items:center;gap:12px;padding:16px;cursor:pointer;-webkit-user-select:none;user-select:none}.org-dept-name{font-size:16px;font-weight:700;flex:1}.org-dept-status{font-size:12px}.org-dept-lead{display:inline-flex;align-items:center;gap:4px;color:var(--text-secondary);font-size:13px}.org-dept-chevron{transition:transform .2s;color:var(--text-muted)}.org-dept-chevron.expanded{transform:rotate(90deg)}.org-dept-stats{display:flex;gap:16px;padding:0 16px 12px;font-size:13px;color:var(--text-secondary)}.org-dept-stat-value{font-weight:700;color:var(--text-primary)}.stat-executing{color:var(--accent)}.stat-succeeded{color:var(--success)}.stat-failed{color:var(--danger)}.stat-pending{color:var(--warning)}.org-dept-roles{border-top:1px solid var(--border);padding:12px 16px}.org-role-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);font-size:14px}.org-role-row:last-child{border-bottom:none}.org-role-name{font-weight:600;flex:1}.org-role-tags{display:flex;gap:4px;flex-wrap:wrap}.org-role-tag{background:var(--bg-elevated);border-radius:4px;padding:2px 6px;font-size:11px;color:var(--text-muted)}.org-role-tag.tag-danger{color:var(--danger);background:#dc26261f}.org-role-tag.tag-warning{color:var(--warning);background:#d977061f}.org-role-tag.tag-low{color:var(--success);background:#16a34a1f}.status-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.status-succeeded,.status-active{background:#16a34a26;color:var(--success)}.status-failed,.status-blocked_wait{background:#dc262626;color:var(--danger)}.status-executing,.status-running{background:#2a5cff26;color:var(--accent)}.status-pending,.status-pending_execution{background:#d9770626;color:var(--warning)}.status-deferred{background:#6b83b026;color:var(--text-muted)}.status-unknown{background:#6b83b01a;color:var(--text-muted)}.task-toolbar{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap;align-items:center}.task-filter-tabs{display:flex;gap:2px;background:var(--bg-elevated);border-radius:8px;padding:2px}.task-tab{padding:6px 14px;border-radius:6px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:600;transition:all .15s}.task-tab:hover{color:var(--text-primary)}.task-tab-active{background:var(--accent);color:#fff}.task-select{border:1px solid var(--border-light);border-radius:8px;padding:6px 12px;background:var(--bg-input);color:var(--text-primary);font-size:13px}.task-list-header{display:grid;grid-template-columns:140px 1fr 110px 140px 120px 50px 140px 80px;gap:10px;padding:8px 14px;font-size:12px;font-weight:700;color:var(--text-muted);text-transform:uppercase}.task-list{display:flex;flex-direction:column;gap:4px}.task-row{display:grid;grid-template-columns:140px 1fr 110px 140px 120px 50px 140px 80px;align-items:center;gap:10px;padding:10px 14px;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;font-size:13px}.task-row:hover{border-color:var(--border-light)}.task-id{font-family:SF Mono,Fira Code,monospace;color:var(--text-muted);font-size:11px}.task-family{font-weight:600}.task-role{color:var(--text-secondary)}.task-class{color:var(--text-muted);font-size:12px}.task-attempts{color:var(--text-muted);text-align:center}.task-time{color:var(--text-muted);font-size:12px}.task-empty{color:var(--text-muted);font-style:italic;padding:24px;text-align:center}.role-detail-back{display:inline-flex;align-items:center;gap:4px;color:var(--text-secondary);text-decoration:none;font-size:13px;margin-bottom:12px}.role-detail-back:hover{color:var(--accent)}.dash-section{margin-bottom:24px}.dash-section-title{font-size:15px;font-weight:700;margin-bottom:12px;color:var(--text-primary)}.skill-chips{display:flex;flex-wrap:wrap;gap:8px}.skill-chip{background:var(--bg-elevated);border:1px solid var(--border);border-radius:999px;padding:4px 14px;font-size:13px;color:var(--text-secondary)}.workload-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.workload-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.workload-name{font-weight:700;font-size:14px;margin-bottom:8px}.workload-meta{display:flex;flex-wrap:wrap;gap:6px}.role-pack-editor-section{margin-top:20px}.editor-toolbar{display:flex;gap:8px;margin-bottom:12px;align-items:center}.editor-dirty{color:var(--warning);font-size:12px;margin-left:auto}.role-pack-textarea{width:100%;min-height:400px;font-family:SF Mono,Cascadia Code,Fira Code,monospace;font-size:13px;line-height:1.5;background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-light);border-radius:var(--radius);padding:14px;resize:vertical;-moz-tab-size:2;tab-size:2;box-sizing:border-box}.role-pack-textarea:focus{outline:none;border-color:var(--accent)}.save-feedback{margin-top:8px;font-size:13px}.save-success{color:var(--success)}.save-error{color:var(--danger)}.btn-sm{padding:4px 10px;font-size:12px;border-radius:6px}@media (max-width: 900px){.task-list-header{display:none}.task-row{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.task-class,.task-attempts,.task-time{display:none}.workload-grid{grid-template-columns:1fr}}
