.topbar{display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 20px;background:var(--bg-secondary);border-bottom:1px solid var(--border);font-family:var(--font-mono);font-size:12px;flex-shrink:0}.topbar-left{display:flex;align-items:center;gap:8px}.topbar-menu-btn{display:none;flex-direction:column;gap:4px;background:none;border:none;padding:6px;cursor:pointer}.topbar-menu-btn span{display:block;width:18px;height:2px;background:var(--text-secondary);border-radius:1px}.topbar-logo{font-weight:600;font-size:14px;color:var(--accent);letter-spacing:1px}.topbar-version{color:var(--text-muted)}.topbar-center{display:flex;gap:20px}.topbar-indicator{display:flex;align-items:center;gap:6px}.topbar-label{color:var(--text-secondary)}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.status-dot.ok{background:var(--success)}.status-dot.warn{background:var(--text-muted)}.topbar-right{display:flex;align-items:center;gap:8px}.topbar-alert{display:flex;align-items:center;gap:6px;background:#e0555526;border:1px solid var(--danger);padding:4px 12px;border-radius:4px}.alert-count{color:var(--danger);font-weight:600;font-size:14px}.alert-label{color:var(--danger)}.topbar-chat-btn{display:none;background:var(--bg-tertiary);color:var(--accent);border:1px solid var(--border);border-radius:4px;width:32px;height:32px;font-family:var(--font-mono);font-size:14px;font-weight:600;cursor:pointer;align-items:center;justify-content:center}@media(max-width:768px){.topbar{padding:0 12px}.topbar-menu-btn{display:flex}.topbar-center,.topbar-alert .alert-label{display:none}.topbar-chat-btn{display:flex}.topbar-version{display:none}}.sidebar{width:200px;min-width:200px;background:var(--bg-secondary);border-right:1px solid var(--border);padding:16px 0}.sidebar-nav{display:flex;flex-direction:column;gap:2px}.sidebar-item{display:flex;align-items:center;gap:8px;padding:10px 20px;background:none;border:none;color:var(--text-secondary);font-size:13px;font-family:var(--font-mono);text-align:left;transition:background .15s,color .15s}.sidebar-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.sidebar-item.active{background:var(--bg-tertiary);color:var(--accent);border-left:2px solid var(--accent)}.sidebar-icon{color:var(--text-muted);font-size:11px}.sidebar-item.active .sidebar-icon{color:var(--accent)}.sidebar-badge{display:inline-block;background:var(--accent);color:#000;font-size:10px;font-weight:600;padding:1px 6px;border-radius:8px;margin-left:6px;min-width:16px;text-align:center}@media(max-width:768px){.sidebar{position:fixed;top:48px;left:0;bottom:0;width:240px;min-width:240px;z-index:40;transform:translate(-100%);transition:transform .2s ease;overflow-y:auto}.sidebar.sidebar-open{transform:translate(0)}}.metrics-row{display:flex;gap:16px;margin-bottom:24px}.metric-card{flex:1;background:var(--bg-card);border:1px solid var(--border);border-radius:4px;padding:16px 20px;display:flex;flex-direction:column;gap:4px}.metric-card.danger{border-color:var(--danger);background:#e0555514}.metric-card.warning{border-color:var(--warning);background:#f0a04014}.metric-card.muted{border-color:var(--border)}.metric-value{font-family:var(--font-mono);font-size:28px;font-weight:600;color:var(--text-primary);line-height:1}.metric-card.danger .metric-value{color:var(--danger)}.metric-card.warning .metric-value{color:var(--warning)}.metric-label{font-family:var(--font-mono);font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}@media(max-width:768px){.metrics-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.metric-card{padding:10px 12px}.metric-value{font-size:22px}}.plan-container{max-width:900px;padding-bottom:40px}.plan-loading{color:var(--text-muted);font-family:var(--font-mono);font-size:13px}.plan-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.plan-title{font-family:var(--font-mono);font-size:18px;font-weight:600}.plan-day-badge{font-family:var(--font-mono);font-size:13px;color:var(--text-secondary);background:var(--bg-tertiary);padding:4px 12px;border-radius:12px}.plan-day-num{font-size:18px;font-weight:700;color:var(--accent)}.plan-timeline{margin-bottom:24px;padding:20px 0 30px}.plan-track{position:relative;height:10px;background:var(--bg-tertiary);border-radius:5px}.plan-fill{height:100%;background:linear-gradient(90deg,var(--accent),#66bb6a);border-radius:5px;transition:width .5s ease}.plan-you-marker{position:absolute;top:-8px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;z-index:3}.plan-you-dot{width:14px;height:14px;border-radius:50%;background:var(--accent);border:3px solid var(--bg-card);box-shadow:0 0 0 2px var(--accent);animation:pulse-ring 2s ease-out infinite}@keyframes pulse-ring{0%{box-shadow:0 0 0 2px var(--accent)}50%{box-shadow:0 0 0 6px #4f9cf933}to{box-shadow:0 0 0 2px var(--accent)}}.plan-you-label{font-family:var(--font-mono);font-size:9px;font-weight:700;color:var(--accent);margin-top:6px;letter-spacing:1px}.plan-cp-marker{position:absolute;top:-5px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;z-index:2}.plan-cp-dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted);border:2px solid var(--bg-card)}.plan-cp-marker.past .plan-cp-dot{background:#66bb6a}.plan-cp-label{font-family:var(--font-mono);font-size:9px;color:var(--text-muted);margin-top:8px;white-space:nowrap}.plan-checkpoint-card{display:flex;align-items:center;gap:20px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px 20px;margin-bottom:16px}.plan-cp-countdown{display:flex;flex-direction:column;align-items:center;min-width:60px}.plan-cp-num{font-family:var(--font-mono);font-size:32px;font-weight:700;color:var(--accent);line-height:1}.plan-cp-unit{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);text-align:center}.plan-cp-info{display:flex;flex-direction:column;flex:1}.plan-cp-next-label{font-family:var(--font-mono);font-size:13px;font-weight:500}.plan-cp-date{font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.plan-cp-progress{font-family:var(--font-mono);font-size:12px;color:var(--text-secondary)}.plan-alert{display:flex;gap:12px;padding:14px 16px;border-radius:8px;margin-bottom:12px}.plan-alert-overdue{background:#ef535014;border:1px solid rgba(239,83,80,.3)}.plan-alert-today{background:#4f9cf914;border:1px solid rgba(79,156,249,.3)}.plan-alert-icon{font-size:18px;flex-shrink:0}.plan-alert-body{flex:1}.plan-alert-body strong{font-family:var(--font-mono);font-size:13px;display:block;margin-bottom:6px}.plan-alert-list{list-style:none;display:flex;flex-direction:column;gap:4px}.plan-alert-list li{font-size:12px;color:var(--text-secondary);line-height:1.4}.plan-alert-list li.done{text-decoration:line-through;opacity:.5}.plan-task-day{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);background:var(--bg-tertiary);padding:1px 5px;border-radius:3px;margin-right:6px}.plan-week-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px 20px;margin-bottom:20px}.plan-week-title{font-family:var(--font-mono);font-size:14px;font-weight:600;margin-bottom:12px}.plan-week-list{list-style:none;display:flex;flex-direction:column;gap:8px}.plan-week-item{display:flex;align-items:flex-start;gap:6px;font-size:12px;color:var(--text-secondary);line-height:1.4}.plan-week-item.slipped{color:#ef5350}.plan-outcome-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:3px}.plan-task-text{flex:1}.plan-outcomes{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.plan-outcome-card{background:var(--bg-card);border:1px solid var(--border);border-left:4px solid;border-radius:8px;padding:14px 16px;cursor:pointer;transition:background .15s}.plan-outcome-card:hover{background:var(--bg-tertiary)}.plan-outcome-card.expanded{grid-column:1 / -1}.plan-outcome-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.plan-outcome-icon{font-size:16px}.plan-outcome-name{font-family:var(--font-mono);font-size:13px;font-weight:500;flex:1}.plan-outcome-count{font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.plan-outcome-bar-bg{height:4px;background:var(--bg-tertiary);border-radius:2px;overflow:hidden}.plan-outcome-bar-fill{height:100%;border-radius:2px;transition:width .3s ease}.plan-outcome-tasks{list-style:none;margin-top:12px;display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--border);padding-top:10px}.plan-ot{display:flex;align-items:flex-start;gap:6px;font-size:12px;color:var(--text-secondary);line-height:1.4}.plan-ot.done{opacity:.4;text-decoration:line-through}.plan-ot.overdue{color:#ef5350}.plan-ot-status{font-family:var(--font-mono);font-size:12px;width:14px;flex-shrink:0;text-align:center}.plan-ot-text{flex:1}@media(max-width:768px){.plan-header{flex-direction:column;align-items:flex-start;gap:8px}.plan-checkpoint-card{flex-direction:column;gap:10px;align-items:flex-start}.plan-outcomes{grid-template-columns:1fr}}.dashboard{max-width:900px}.dashboard-greeting{margin-bottom:24px}.greeting-text{font-family:var(--font-sans);font-size:24px;font-weight:600;margin-bottom:4px}.greeting-meta{font-family:var(--font-mono);font-size:13px;color:var(--text-secondary)}.people-board{max-width:900px}.people-title{font-family:var(--font-mono);font-size:18px;font-weight:600;margin-bottom:20px}.team-group{margin-bottom:24px}.team-name{font-family:var(--font-mono);font-size:13px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.team-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.person-card{background:var(--bg-card);border:1px solid var(--border);border-radius:4px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.person-card.status-flag{border-left:3px solid var(--warning)}.person-card.status-risk{border-left:3px solid var(--danger)}.person-card.status-ok{border-left:3px solid var(--border)}.person-header{display:flex;justify-content:space-between;align-items:center}.person-name{font-weight:500;font-size:13px}.person-id{font-family:var(--font-mono);font-size:10px;color:var(--text-muted)}.person-role{font-size:12px;color:var(--text-secondary)}.person-note{font-family:var(--font-mono);font-size:11px;color:var(--warning);margin-top:4px}.person-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.person-tag{font-family:var(--font-mono);font-size:10px;color:var(--accent);background:#4f9cf91a;padding:2px 6px;border-radius:3px}.person-no-note{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);margin-top:4px}.person-121-btn{font-family:var(--font-mono);font-size:10px;background:var(--bg-tertiary);color:var(--accent);border:1px solid var(--accent);border-radius:4px;padding:4px 10px;margin-top:8px;cursor:pointer;align-self:flex-start}.person-121-btn:hover{background:#4f9cf91a}.person-121-btn:disabled{opacity:.4;cursor:not-allowed}.person-121-btn.running{color:var(--text-muted);border-color:var(--border);animation:pulse 1.5s ease-in-out infinite}.snapshot-result{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;margin-bottom:20px;overflow:hidden}.snapshot-result.success{border-color:#66bb6a66}.snapshot-result.error{border-color:#ef535066}.snapshot-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-tertiary);border-bottom:1px solid var(--border)}.snapshot-title{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--text-primary)}.snapshot-close{font-family:var(--font-mono);font-size:14px;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px 6px}.snapshot-close:hover{color:var(--text-primary)}.snapshot-body{padding:16px;max-height:500px;overflow-y:auto}.snapshot-text{font-size:13px;color:var(--text-primary);line-height:1.6}.snapshot-text h2,.snapshot-text h3,.snapshot-text h4{font-family:var(--font-mono);margin:12px 0 6px;color:var(--accent)}.snapshot-text strong{color:var(--text-primary)}.snapshot-message{font-family:var(--font-mono);font-size:12px;color:#66bb6a;line-height:1.5}.snapshot-error{font-family:var(--font-mono);font-size:12px;color:#ef5350}.snapshot-empty{font-family:var(--font-mono);font-size:12px;color:var(--text-muted)}.snapshot-fields{display:flex;flex-direction:column;gap:8px}.snapshot-field{display:flex;gap:8px}.snapshot-field-key{font-family:var(--font-mono);font-size:11px;color:var(--accent);font-weight:500;flex-shrink:0}.snapshot-field-val{font-size:12px;color:var(--text-primary);white-space:pre-wrap;word-break:break-word}@media(max-width:768px){.team-cards{grid-template-columns:1fr}.person-card{padding:12px}}.queue-container{max-width:900px}.queue-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.queue-title{font-family:var(--font-mono);font-size:18px;font-weight:600}.queue-meta{display:flex;align-items:center;gap:12px}.queue-sync{font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.queue-unconfigured,.queue-empty{background:var(--bg-card);border:1px solid var(--border);border-radius:4px;padding:24px;text-align:center;font-family:var(--font-mono);font-size:13px;color:var(--text-secondary)}.queue-table{width:100%;border-collapse:collapse;font-size:13px}.queue-table th{text-align:left;font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:8px 12px;border-bottom:1px solid var(--border)}.queue-table td{padding:10px 12px;border-bottom:1px solid var(--border)}.queue-table tr:hover{background:var(--bg-tertiary)}.queue-table tr.sla-danger{background:#e0555514}.queue-table tr.sla-danger td{border-bottom-color:#e0555533}.queue-table tr.sla-warning{background:#f0a0400f}.ticket-key{font-family:var(--font-mono);font-weight:500;color:var(--accent);white-space:nowrap}.ticket-summary{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ticket-priority{font-family:var(--font-mono);font-size:12px}.ticket-status{font-family:var(--font-mono);font-size:12px;color:var(--text-secondary)}.ticket-assignee{font-size:12px;color:var(--text-secondary)}.ticket-sla{font-family:var(--font-mono);font-weight:500;white-space:nowrap}tr.sla-danger .ticket-sla{color:var(--danger)}tr.sla-warning .ticket-sla{color:var(--warning)}tr.sla-ok .ticket-sla{color:var(--success)}@media(max-width:768px){.queue-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.queue-header{flex-direction:column;align-items:flex-start;gap:8px}.queue-table{min-width:650px}.ticket-summary{max-width:180px}}.standup-editor{max-width:800px;display:flex;flex-direction:column;height:calc(100vh - 120px)}.standup-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.standup-header h2{font-family:var(--font-mono);font-size:18px;font-weight:600}.standup-actions{display:flex;align-items:center;gap:8px}.standup-message{font-family:var(--font-mono);font-size:12px;color:var(--success)}.standup-textarea{flex:1;width:100%;font-family:var(--font-mono);font-size:13px;line-height:1.6;resize:none;padding:16px;background:var(--bg-card);border:1px solid var(--border);border-radius:4px;color:var(--text-primary)}.standup-textarea:focus{border-color:var(--accent);outline:none}.standup-loading{font-family:var(--font-mono);color:var(--text-secondary);padding:20px}.btn{font-family:var(--font-mono);font-size:12px;padding:8px 16px;border:1px solid var(--border);border-radius:4px;cursor:pointer}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:var(--accent-dim)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary)}.btn-secondary:hover{background:var(--bg-card)}.btn:disabled{opacity:.5;cursor:not-allowed}.backup-standup{background:var(--bg-card);border:1px solid var(--accent);border-radius:4px;padding:16px;margin-bottom:16px}.backup-standup h3{font-family:var(--font-mono);font-size:15px;font-weight:600;color:var(--accent);margin:0 0 4px}.backup-input{display:block;width:100%;font-family:var(--font-mono);font-size:13px;padding:10px 12px;margin-bottom:8px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);box-sizing:border-box}.backup-input:focus{border-color:var(--accent);outline:none}@media(max-width:768px){.standup-editor{height:auto;min-height:calc(100vh - 120px)}.standup-header{flex-direction:column;align-items:flex-start;gap:8px}.standup-actions{width:100%;flex-wrap:wrap}.standup-textarea{min-height:300px}}.todo-container{max-width:800px}.todo-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.todo-title{font-family:var(--font-mono);font-size:18px;font-weight:600}.todo-header-right{display:flex;align-items:center;gap:12px}.todo-count{font-family:var(--font-mono);font-size:12px;color:var(--text-secondary)}.overdue-count{color:var(--danger);font-weight:500}.todo-source-summary{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);margin-bottom:12px;padding:6px 12px;background:var(--bg-card);border:1px solid var(--border);border-radius:4px;display:flex;gap:16px;flex-wrap:wrap}.source-chip{color:var(--text-secondary);padding:2px 8px;border-radius:3px;background:#4f9cf914;border:1px solid rgba(79,156,249,.15)}.todo-filters{display:flex;gap:6px;margin-bottom:16px}.todo-filter-btn{font-family:var(--font-mono);font-size:11px;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border);border-radius:4px;padding:4px 10px;cursor:pointer}.todo-filter-btn:hover{background:var(--bg-card);color:var(--text-primary)}.todo-filter-btn.active{background:#4f9cf91f;color:var(--accent);border-color:var(--accent)}.todo-list{display:flex;flex-direction:column;gap:4px;max-height:65vh;overflow-y:auto}.todo-empty{font-family:var(--font-mono);font-size:13px;color:var(--text-muted);padding:20px;text-align:center}.todo-item{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:4px}.todo-item.priority-high{border-left:3px solid var(--danger)}.todo-item.priority-normal{border-left:3px solid var(--accent)}.todo-item.priority-low{border-left:3px solid var(--text-muted)}.todo-item.done{opacity:.4;border-left:3px solid var(--success)}.todo-checkbox{width:20px;height:20px;min-width:20px;border:2px solid var(--text-muted);border-radius:4px;background:none;cursor:pointer;flex-shrink:0;padding:0;position:relative;transition:border-color .15s,background .15s}.todo-checkbox:hover{border-color:var(--accent);background:#4f9cf91a}.todo-item.priority-high .todo-checkbox{border-color:var(--danger)}.todo-item.priority-high .todo-checkbox:hover{background:#e0555526}.todo-item.overdue .todo-checkbox{border-color:var(--danger);box-shadow:0 0 4px #e055554d}.todo-checkbox.checked{border-color:var(--success);background:#40c97a33}.todo-checkbox.checked:after{content:"";position:absolute;top:2px;left:5px;width:5px;height:9px;border:solid var(--success);border-width:0 2px 2px 0;transform:rotate(45deg)}.todo-checkbox.checked:hover{background:#40c97a4d}.todo-checkbox.toggling{opacity:.4;pointer-events:none}.todo-checkbox:disabled{cursor:default;opacity:.3}.todo-text-col{flex:1;display:flex;flex-direction:column;gap:2px}.todo-text{font-size:13px}.todo-item.done .todo-text{text-decoration:line-through}.todo-meta-row{display:flex;gap:8px;align-items:center}.todo-source{font-family:var(--font-mono);font-size:10px;color:var(--text-secondary);padding:1px 6px;border-radius:3px;background:#5c647826}.todo-source-master{background:#e055551a;color:var(--danger)}.todo-source-planner{background:#4f9cf91a;color:var(--accent)}.todo-source-todo{background:#40c97a1a;color:var(--success)}.todo-source-daily{background:#f0a0401a;color:var(--warning)}.todo-due{font-family:var(--font-mono);font-size:10px;color:var(--text-secondary)}.todo-due.due-overdue{color:var(--danger);font-weight:500}.todo-item.overdue{background:#e055550f;border-color:#e0555533}.todo-priority-badge{font-family:var(--font-mono);font-size:10px;padding:2px 8px;border-radius:3px;text-transform:uppercase;letter-spacing:.5px}.todo-priority-badge.high{color:var(--danger);background:#e055551f}.todo-priority-badge.normal{color:var(--accent);background:#4f9cf91a}.todo-priority-badge.low{color:var(--text-muted);background:#5c647826}.todo-footer{margin-top:16px}.todo-done-list{margin-top:12px;display:flex;flex-direction:column;gap:4px}@media(max-width:768px){.todo-header{flex-direction:column;align-items:flex-start;gap:8px}.todo-filters{flex-wrap:wrap}.todo-filter-btn{padding:6px 10px;font-size:11px}.todo-priority-badge{display:none}.todo-source-summary{gap:8px;font-size:10px}}.calendar-container{max-width:700px}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.calendar-title{font-family:var(--font-mono);font-size:18px;font-weight:600}.calendar-nav{display:flex;gap:6px}.cal-nav-btn{font-family:var(--font-mono);font-size:12px;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border);border-radius:4px;padding:6px 12px;cursor:pointer}.cal-nav-btn:hover{background:var(--bg-card)}.today-btn{color:var(--accent);border-color:var(--accent)}.calendar-day-strip{display:flex;gap:6px;margin-bottom:16px;justify-content:center}.strip-day{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 14px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;cursor:pointer;font-family:var(--font-mono)}.strip-day:hover{background:var(--bg-card)}.strip-day.selected{background:#4f9cf91f;border-color:var(--accent)}.strip-day.is-today .strip-day-num{color:var(--accent);font-weight:600}.strip-day-name{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.strip-day-num{font-size:18px;font-weight:500;color:var(--text-primary)}.calendar-date-label{font-family:var(--font-mono);font-size:13px;color:var(--text-secondary);margin-bottom:16px}.calendar-loading{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);margin-bottom:12px}.calendar-error{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#ef535014;border:1px solid rgba(239,83,80,.25);border-radius:4px;margin-bottom:12px;font-family:var(--font-mono);font-size:12px;color:var(--text-secondary)}.cal-retry-btn{font-family:var(--font-mono);font-size:11px;background:var(--bg-tertiary);color:var(--accent);border:1px solid var(--accent);border-radius:4px;padding:4px 12px;cursor:pointer}.cal-retry-btn:hover{background:#4f9cf91a}.calendar-day-list{display:flex;flex-direction:column;gap:4px}.calendar-empty{font-family:var(--font-mono);font-size:13px;color:var(--text-muted);padding:24px;text-align:center;background:var(--bg-card);border:1px solid var(--border);border-radius:4px;display:flex;flex-direction:column;gap:8px}.calendar-empty-hint{font-size:11px;color:var(--text-muted);opacity:.7}.cal-event{display:flex;align-items:center;gap:14px;padding:10px 14px;background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:4px}.cal-event.current{background:#4f9cf914;border-color:var(--accent);border-left-width:3px}.cal-event.past{opacity:.5}.cal-event.cancelled{opacity:.35;border-left-color:var(--text-muted);border-left-style:dashed}.cal-event-time{font-family:var(--font-mono);font-size:12px;color:var(--accent);min-width:90px;display:flex;align-items:center;gap:3px;flex-shrink:0}.cal-time-sep{color:var(--text-muted)}.cal-event-details{flex:1;display:flex;flex-direction:column;gap:2px}.cal-event-subject{font-size:13px;color:var(--text-primary)}.cal-event-subject.cancelled-text{text-decoration:line-through;color:var(--text-muted)}.cal-event-location{font-family:var(--font-mono);font-size:10px;color:var(--text-muted)}.cal-now-badge{font-family:var(--font-mono);font-size:10px;font-weight:600;color:var(--accent);background:#4f9cf926;padding:2px 8px;border-radius:3px;letter-spacing:.5px;flex-shrink:0}@media(max-width:768px){.calendar-day-strip{overflow-x:auto;justify-content:flex-start;-webkit-overflow-scrolling:touch;padding-bottom:4px}.strip-day{padding:6px 10px;flex-shrink:0}.cal-event{flex-direction:column;align-items:flex-start;gap:4px}.cal-event-time{min-width:0}.calendar-nav{flex-wrap:wrap}}.inbox-container{max-width:800px}.inbox-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.inbox-title{font-family:var(--font-mono);font-size:18px;font-weight:600}.inbox-actions{display:flex;align-items:center;gap:12px}.inbox-last-scan{font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.inbox-scan-btn{font-family:var(--font-mono);font-size:11px;background:var(--bg-tertiary);color:var(--accent);border:1px solid var(--accent);border-radius:4px;padding:5px 12px;cursor:pointer}.inbox-scan-btn:hover{background:#4f9cf91a}.inbox-scan-btn:disabled{opacity:.5;cursor:not-allowed}.inbox-empty{font-family:var(--font-mono);font-size:13px;color:var(--text-muted);padding:32px;text-align:center;background:var(--bg-card);border:1px solid var(--border);border-radius:8px}.inbox-filters{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.inbox-filter{font-family:var(--font-mono);font-size:11px;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border);border-radius:4px;padding:5px 12px;cursor:pointer}.inbox-filter:hover{background:var(--bg-card)}.inbox-filter.active{border-color:var(--accent);color:var(--accent);background:#4f9cf914}.inbox-filter.urgency-high{border-color:#ef535066;color:#ef5350}.inbox-filter.urgency-high.active{background:#ef535014;border-color:#ef5350}.inbox-filter.urgency-medium{border-color:#ffa72666;color:#ffa726}.inbox-filter.urgency-medium.active{background:#ffa72614;border-color:#ffa726}.inbox-list{display:flex;flex-direction:column;gap:8px}.inbox-item{background:var(--bg-card);border:1px solid var(--border);border-left:4px solid var(--text-muted);border-radius:6px;padding:12px 16px}.inbox-item.urgency-high{border-left-color:#ef5350;background:#ef53500a}.inbox-item.urgency-medium{border-left-color:#ffa726}.inbox-item.urgency-low{border-left-color:var(--text-muted);opacity:.75}.inbox-item-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.inbox-urgency-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.inbox-urgency-dot.high{background:#ef5350}.inbox-urgency-dot.medium{background:#ffa726}.inbox-urgency-dot.low{background:var(--text-muted)}.inbox-item-from{font-family:var(--font-mono);font-size:12px;font-weight:500;color:var(--text-primary);flex:1}.inbox-item-cat{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);background:var(--bg-tertiary);padding:2px 6px;border-radius:3px;text-transform:uppercase;letter-spacing:.5px}.inbox-item-time{font-family:var(--font-mono);font-size:10px;color:var(--text-muted)}.inbox-item-subject{font-size:13px;font-weight:500;color:var(--text-primary);margin-bottom:4px}.inbox-item-summary{font-size:12px;color:var(--text-secondary);line-height:1.4}.inbox-item-reason{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);margin-top:4px;font-style:italic}@media(max-width:768px){.inbox-header{flex-direction:column;align-items:flex-start;gap:8px}.inbox-item-header{flex-wrap:wrap}}.admin-container{max-width:720px}.admin-title{font-family:var(--font-mono);font-size:18px;font-weight:600;margin-bottom:24px}.admin-section{margin-bottom:24px}.admin-section-title{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.admin-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px}.admin-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.admin-card-name{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--text-primary)}.admin-status-badge{font-family:var(--font-mono);font-size:10px;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.admin-status-badge.connected{background:#66bb6a1f;color:#66bb6a;border:1px solid rgba(102,187,106,.3)}.admin-status-badge.disconnected{background:#ef535014;color:#ef5350;border:1px solid rgba(239,83,80,.3)}.admin-status-badge.unconfigured{background:#9e9e9e1a;color:var(--text-muted);border:1px solid var(--border)}.admin-card-detail{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);line-height:1.5}.admin-ms-section{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:20px}.admin-ms-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.admin-ms-title{font-family:var(--font-mono);font-size:14px;font-weight:600}.admin-ms-desc{font-family:var(--font-mono);font-size:12px;color:var(--text-secondary);margin-bottom:16px;line-height:1.5}.admin-ms-connect-btn{font-family:var(--font-mono);font-size:12px;background:var(--accent);color:#fff;border:none;border-radius:6px;padding:8px 20px;cursor:pointer;font-weight:500}.admin-ms-connect-btn:hover{opacity:.9}.admin-ms-connect-btn:disabled{opacity:.5;cursor:not-allowed}.admin-device-code{background:var(--bg-tertiary);border:1px solid var(--accent);border-radius:8px;padding:20px;text-align:center}.admin-device-code-label{font-family:var(--font-mono);font-size:11px;color:var(--text-secondary);margin-bottom:8px}.admin-device-code-value{font-family:var(--font-mono);font-size:28px;font-weight:700;color:var(--accent);letter-spacing:3px;margin-bottom:12px;-webkit-user-select:all;user-select:all}.admin-device-code-link{font-family:var(--font-mono);font-size:12px;margin-bottom:12px}.admin-device-code-link a{color:var(--accent);text-decoration:underline}.admin-device-code-waiting{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.admin-ms-connected{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12px;color:#66bb6a}.admin-ms-connected-dot{width:8px;height:8px;background:#66bb6a;border-radius:50%}.admin-ms-scopes{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);margin-top:8px}.admin-ms-scopes span{display:inline-block;background:var(--bg-tertiary);padding:2px 6px;border-radius:3px;margin:2px 4px 2px 0;border:1px solid var(--border)}.admin-error{font-family:var(--font-mono);font-size:11px;color:#ef5350;margin-top:8px}@media(max-width:768px){.admin-cards{grid-template-columns:1fr}}.nudge-container{display:flex;flex-direction:column;gap:0}.nudge-banner{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;font-family:var(--font-mono);font-size:13px;background:#f0a0401f;border-bottom:1px solid rgba(240,160,64,.25);color:var(--warning);animation:nudge-pulse 2s ease-in-out}.nudge-banner.escalated{background:#e0555526;border-bottom-color:#e055554d;color:var(--danger)}.nudge-banner.escalated .nudge-type{color:var(--danger)}.nudge-banner.escalated .nudge-action{background:var(--danger);border-color:var(--danger)}@keyframes nudge-pulse{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.nudge-content{display:flex;align-items:center;gap:12px;flex:1}.nudge-type{font-weight:600;font-size:11px;letter-spacing:1px;color:var(--warning);white-space:nowrap}.nudge-message{color:var(--text-primary);font-family:var(--font-sans)}.nudge-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.nudge-snooze{font-family:var(--font-mono);font-size:11px;background:transparent;color:var(--text-muted);border:1px solid var(--border);border-radius:4px;padding:5px 10px;cursor:pointer;white-space:nowrap}.nudge-snooze:hover{background:var(--bg-tertiary);color:var(--text-secondary)}.nudge-action{font-family:var(--font-mono);font-size:12px;background:var(--warning);color:var(--bg-primary);border:1px solid var(--warning);border-radius:4px;padding:6px 14px;cursor:pointer;font-weight:500;white-space:nowrap}.nudge-action:hover{opacity:.9}@media(max-width:768px){.nudge-banner{flex-direction:column;gap:8px;padding:8px 12px;font-size:12px}.nudge-actions{align-self:flex-end}}.chat-container{display:flex;flex-direction:column;height:100%}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border);font-family:var(--font-mono);font-size:12px}.chat-title{font-weight:600;color:var(--accent)}.chat-status{color:var(--text-muted)}.chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.chat-empty{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);text-align:center;padding:40px 20px}.chat-bubble{max-width:95%;padding:10px 14px;border-radius:4px;font-size:13px;line-height:1.5}.chat-bubble.user{background:var(--bg-tertiary);border:1px solid var(--border);align-self:flex-end;color:var(--text-primary)}.chat-bubble.assistant{background:#4f9cf914;border:1px solid rgba(79,156,249,.15);align-self:flex-start}.chat-bubble.assistant p{margin:0 0 8px}.chat-bubble.assistant p:last-child{margin-bottom:0}.chat-bubble.assistant code{font-family:var(--font-mono);font-size:12px;background:var(--bg-tertiary);padding:2px 5px;border-radius:3px}.chat-bubble.assistant pre{background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;padding:10px;overflow-x:auto;margin:8px 0}.chat-bubble.assistant pre code{background:none;padding:0}.chat-bubble.assistant ul,.chat-bubble.assistant ol{padding-left:20px;margin:4px 0}.chat-bubble.assistant strong{color:var(--accent)}.chat-input-row{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border);background:var(--bg-secondary)}.chat-input{flex:1;font-family:var(--font-sans);font-size:13px;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border);border-radius:4px;padding:8px 12px;resize:none;outline:none;min-height:36px;max-height:120px}.chat-input:focus{border-color:var(--accent)}.chat-send{font-family:var(--font-mono);font-size:12px;background:var(--accent);color:#fff;border:none;border-radius:4px;padding:8px 16px;cursor:pointer;white-space:nowrap}.chat-send:hover:not(:disabled){background:var(--accent-dim)}.chat-send:disabled{opacity:.4;cursor:not-allowed}.qa-tab{padding:1.5rem;max-width:1200px}.qa-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.qa-title{font-size:1.25rem;font-weight:600;margin:0;color:var(--text-primary, #e2e8f0)}.qa-controls select{background:var(--surface-2, #1e293b);color:var(--text-primary, #e2e8f0);border:1px solid var(--border, #334155);border-radius:6px;padding:.35rem .75rem;font-size:.875rem;margin-left:.5rem}.qa-tabs{display:flex;gap:.25rem;margin-bottom:1.25rem;border-bottom:1px solid var(--border, #334155)}.qa-tab-btn{background:none;border:none;border-bottom:2px solid transparent;padding:.5rem 1.25rem;color:var(--text-secondary, #94a3b8);font-size:.875rem;cursor:pointer;margin-bottom:-1px;transition:color .15s,border-color .15s}.qa-tab-btn.active{color:#60a5fa;border-bottom-color:#60a5fa}.qa-tab-btn:hover:not(.active){color:var(--text-primary, #e2e8f0)}.qa-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.75rem;margin-bottom:1.25rem}.qa-stat-card{background:var(--surface-2, #1e293b);border:1px solid var(--border, #334155);border-radius:8px;padding:1rem;text-align:center}.qa-stat-value{font-size:1.75rem;font-weight:700;color:#60a5fa;line-height:1}.qa-stat-label{font-size:.75rem;color:var(--text-secondary, #94a3b8);margin-top:.35rem}.qa-stat-sub{font-size:.7rem;color:#64748b}.qa-card{background:var(--surface-2, #1e293b);border:1px solid var(--border, #334155);border-radius:8px;padding:1rem 1.25rem;margin-bottom:1rem}.qa-card-title{font-size:.8rem;font-weight:600;color:var(--text-secondary, #94a3b8);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.qa-grade-bar-wrap{display:flex;flex-direction:column;gap:.5rem}.qa-grade-bar{height:18px;border-radius:4px;overflow:hidden;display:flex;background:#0f172a}.qa-bar-seg{height:100%;transition:width .3s ease}.qa-grade-legend{display:flex;gap:1.5rem;font-size:.8rem;color:var(--text-secondary, #94a3b8)}.qa-grade-bar-empty{font-size:.85rem;color:#64748b}.qa-filters{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;margin-bottom:1rem}.qa-filters select,.qa-filters input[type=text]{background:var(--surface-2, #1e293b);color:var(--text-primary, #e2e8f0);border:1px solid var(--border, #334155);border-radius:6px;padding:.35rem .75rem;font-size:.875rem}.qa-checkbox-label{display:flex;align-items:center;gap:.4rem;font-size:.875rem;color:var(--text-secondary, #94a3b8);cursor:pointer}.qa-apply-btn{background:#1d4ed8;color:#fff;border:none;border-radius:6px;padding:.35rem 1rem;font-size:.875rem;cursor:pointer}.qa-apply-btn:hover{background:#1e40af}.qa-table{width:100%;border-collapse:collapse;font-size:.875rem}.qa-table th{text-align:left;padding:.5rem .75rem;color:var(--text-secondary, #94a3b8);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border, #334155)}.qa-table td{padding:.6rem .75rem;border-bottom:1px solid #1e293b;color:var(--text-primary, #e2e8f0);vertical-align:middle}.qa-result-row:hover td{background:#1e293b44}.qa-result-row.expanded td{background:#1e293b66}.qa-grade-badge{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.7rem;font-weight:700;letter-spacing:.05em}.qa-key{font-family:monospace;color:#60a5fa}.qa-score{font-weight:700}.qa-flag{color:#f59e0b;font-weight:600}.qa-expand{color:#64748b;font-size:.7rem;text-align:right}.qa-date{color:#64748b;font-size:.8rem}.qa-agent-name{font-weight:500}.grade-col{text-align:center;width:48px}.green-col{color:#22c55e!important}.amber-col{color:#f59e0b!important}.red-col{color:#ef4444!important}.qa-detail-row td{padding:0;background:#0f172a}.qa-detail{padding:1rem 1.25rem;border-left:3px solid #334155;margin-left:.75rem}.qa-detail-scores{display:flex;gap:1.5rem;margin-bottom:.75rem}.qa-detail-score{text-align:center}.qa-detail-score-val{font-size:1.1rem;font-weight:700;color:#60a5fa}.qa-detail-score-label{font-size:.7rem;color:#64748b;text-transform:uppercase}.qa-detail-section{font-size:.85rem;color:var(--text-secondary, #94a3b8);margin-top:.5rem;line-height:1.5}.qa-detail-section strong{color:var(--text-primary, #e2e8f0)}.qa-pagination{display:flex;align-items:center;gap:1rem;justify-content:center;margin-top:1rem;font-size:.875rem;color:var(--text-secondary, #94a3b8)}.qa-pagination button{background:var(--surface-2, #1e293b);color:var(--text-primary, #e2e8f0);border:1px solid var(--border, #334155);border-radius:6px;padding:.35rem .75rem;cursor:pointer;font-size:.875rem}.qa-pagination button:disabled{opacity:.35;cursor:default}.qa-loading{text-align:center;padding:2rem;color:#64748b}.qa-empty{text-align:center;padding:2rem;color:#64748b;font-size:.875rem}@media(max-width:768px){.qa-tab{padding:.75rem}.qa-header{flex-direction:column;align-items:flex-start;gap:8px}.qa-stats-grid{grid-template-columns:repeat(2,1fr)}.qa-results-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.qa-table{min-width:600px}.qa-detail-scores{flex-wrap:wrap;gap:.75rem}}.imports-panel{max-width:800px}.imports-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.imports-header h2{font-family:var(--font-mono);font-size:18px;font-weight:600}.imports-loading,.imports-empty{font-family:var(--font-mono);color:var(--text-secondary);padding:20px}.imports-list{display:flex;flex-direction:column;gap:12px}.import-card{background:var(--bg-card);border:1px solid var(--border);border-radius:4px;padding:12px 16px}.import-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.import-filename{font-family:var(--font-mono);font-size:14px;font-weight:500;color:var(--text-primary)}.import-subdir{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);margin-left:8px}.import-date{font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.import-preview{font-family:var(--font-mono);font-size:12px;color:var(--text-secondary);line-height:1.5;margin-bottom:8px;max-height:60px;overflow:hidden;white-space:pre-wrap}.import-classification{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 12px;margin-bottom:8px;border-radius:4px;font-family:var(--font-mono);font-size:12px;border:1px solid var(--border)}.import-classification.high{border-color:var(--success);background:#00ff880d}.import-classification.medium{border-color:#f0ad4e;background:#f0ad4e0d}.import-classification.low{border-color:#d9534f;background:#d9534f0d}.cls-type{font-weight:600;color:var(--accent)}.cls-dest{color:var(--text-secondary)}.cls-confidence{padding:1px 6px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase}.import-classification.high .cls-confidence{background:var(--success);color:#000}.import-classification.medium .cls-confidence{background:#f0ad4e;color:#000}.import-classification.low .cls-confidence{background:#d9534f;color:#fff}.cls-reason{width:100%;color:var(--text-secondary);font-style:italic}.import-actions{display:flex;gap:8px}.app-layout{display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-body{display:flex;flex:1;overflow:hidden}.main-panel{flex:1;overflow-y:auto;padding:24px;background:var(--bg-primary)}.chat-panel{width:380px;min-width:380px;border-left:1px solid var(--border);background:var(--bg-secondary);display:flex;flex-direction:column}.sidebar-overlay{display:none}@media(max-width:768px){.main-panel{padding:12px}.chat-panel{display:none;position:fixed;top:48px;left:0;right:0;bottom:0;width:100%;min-width:0;z-index:50;border-left:none}.chat-panel.chat-open{display:flex}.sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:39}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #0d0f14;--bg-secondary: #141720;--bg-tertiary: #1a1e2a;--bg-card: #1e2235;--border: #2a2e3d;--text-primary: #e0e4ef;--text-secondary: #8890a4;--text-muted: #5c6478;--accent: #4f9cf9;--accent-dim: #3a7ad4;--warning: #f0a040;--danger: #e05555;--success: #40c97a;--font-mono: "IBM Plex Mono", monospace;--font-sans: "IBM Plex Sans", sans-serif}html,body,#root{height:100%;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);font-size:14px;line-height:1.5}a{color:var(--accent);text-decoration:none}button{cursor:pointer;font-family:var(--font-sans)}input,textarea{font-family:var(--font-sans);background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border);border-radius:4px;padding:8px 12px;font-size:14px;outline:none}input:focus,textarea:focus{border-color:var(--accent)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
