*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif}body{color:#f1f5f9;background-color:#0f172a;min-height:100vh;line-height:1.5}a{color:inherit;text-decoration:none}button,select,input,textarea{font-family:inherit}:root{--primary:#10b981;--primary-hover:#059669;--primary-light:#34d399;--primary-bg:#10b9811a;--primary-alpha:#10b98199;--primary-alpha-20:#10b98133;--bg-dark:#0f172a;--surface:#1e293b;--surface-hover:#334155;--border:#334155;--text:#f1f5f9;--text-muted:#94a3b8;--colors-priority-critical:#ef4444;--colors-priority-high:#f97316;--colors-priority-medium:#eab308;--colors-priority-low:#3b82f6;--colors-badge-purple-bg:#a855f733;--colors-badge-purple-text:#c084fc;--colors-badge-blue-bg:#3b82f633;--colors-badge-blue-text:#60a5fa;--colors-badge-amber-bg:#f59e0b33;--colors-badge-amber-text:#fbbf24;--rounded-sm:.375rem;--rounded-md:.5rem;--rounded-lg:.75rem;--rounded-xl:.75rem;--rounded-full:9999px;--shadow-sm:0 1px 2px #0000004d;--spacing-1:.25rem;--spacing-1-5:.375rem;--spacing-2:.5rem;--spacing-2-5:.625rem;--spacing-3:.75rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-16:4rem;--spacing-20:5rem;--sidebar-width:15rem;--topbar-height:3.5rem}.app-layout{min-height:100vh;display:flex}.app-layout .main-content{margin-left:var(--sidebar-width);flex:1}.app-layout main{padding-top:calc(var(--topbar-height) + 1rem);padding-left:var(--spacing-24,1.5rem);padding-right:var(--spacing-24,1.5rem);padding-bottom:var(--spacing-8)}.sidebar{width:var(--sidebar-width);background-color:var(--surface);border-right:1px solid var(--border);z-index:100;flex-direction:column;height:100vh;display:flex;position:fixed;top:0;left:0}.sidebar-header{padding:var(--spacing-5);border-bottom:1px solid var(--border)}.sidebar-header h1{color:var(--primary);letter-spacing:-.025em;font-size:1.25rem;font-weight:700}.sidebar-header p{color:var(--text-muted);margin-top:var(--spacing-1);font-size:.75rem}.sidebar-nav{padding:var(--spacing-3);gap:var(--spacing-1);flex-direction:column;flex:1;display:flex}.sidebar-link{align-items:center;gap:var(--spacing-3);padding:.625rem var(--spacing-3);border-radius:var(--rounded-lg);color:var(--text-muted);font-size:.875rem;font-weight:500;transition:background-color .2s,color .2s;display:flex}.sidebar-link:hover{background-color:var(--surface-hover);color:var(--text)}.sidebar-link.active{background-color:var(--primary-bg);color:var(--primary)}.sidebar-footer{padding:var(--spacing-3);border-top:1px solid var(--border)}.topbar{top:0;left:var(--sidebar-width);height:var(--topbar-height);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);z-index:100;padding-left:var(--spacing-6);padding-right:var(--spacing-6);background-color:#1e293bcc;justify-content:space-between;align-items:center;display:flex;position:fixed;right:0}.topbar-breadcrumb{color:var(--text-muted);font-size:.875rem}.topbar-actions{align-items:center;gap:var(--spacing-4);display:flex}.topbar-select{background-color:var(--bg-dark);color:var(--text);border:1px solid var(--border);border-radius:var(--rounded-lg);padding:var(--spacing-1-5) var(--spacing-3);outline:none;font-size:.875rem}.topbar-select:focus{border-color:var(--primary)}.topbar-avatar{border-radius:var(--rounded-full);background-color:var(--primary-alpha-20);width:2rem;height:2rem;color:var(--primary);justify-content:center;align-items:center;font-size:.875rem;font-weight:700;display:flex}.kanban-board{gap:var(--spacing-4);padding-bottom:var(--spacing-4);min-height:calc(100vh - 8rem);display:flex;overflow-x:auto}.page-header{margin-bottom:var(--spacing-6);justify-content:space-between;align-items:center;display:flex}.page-header h2{font-size:1.5rem;font-weight:700}.page-header p{color:var(--text-muted);font-size:.875rem}.kanban-column{background-color:var(--bg-dark);border:1px solid var(--border);border-radius:var(--rounded-xl);min-width:280px;max-width:320px;padding:var(--spacing-3);flex-direction:column;flex:1 1 0;display:flex}.kanban-column-header{margin-bottom:var(--spacing-3);padding-left:var(--spacing-1);padding-right:var(--spacing-1);justify-content:space-between;align-items:center;display:flex}.kanban-column-header h3{color:var(--text);font-size:.875rem;font-weight:600}.kanban-column-count{color:var(--text-muted);background-color:var(--surface);padding:.125rem var(--spacing-2);border-radius:var(--rounded-full);font-size:.75rem}.kanban-column-body{gap:var(--spacing-2);flex-direction:column;flex:1;display:flex;overflow-y:auto}.kanban-empty{text-align:center;color:var(--text-muted);padding:var(--spacing-8) 0;border:2px dashed var(--border);border-radius:var(--rounded-lg);font-size:.75rem}.task-card-link{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--rounded-lg);padding:var(--spacing-3);cursor:pointer;transition:border-color .2s;display:block}.task-card-link:hover{border-color:var(--primary-alpha)}.task-card-content{align-items:flex-start;gap:var(--spacing-2);display:flex}.task-card-priority{border-radius:var(--rounded-full);flex-shrink:0;width:.625rem;height:.625rem;margin-top:.375rem}.task-card-priority.critical{background-color:var(--colors-priority-critical)}.task-card-priority.high{background-color:var(--colors-priority-high)}.task-card-priority.medium{background-color:var(--colors-priority-medium)}.task-card-priority.low{background-color:var(--colors-priority-low)}.task-card-info{min-width:0}.task-card-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:500;overflow:hidden}.task-card-assignee{color:var(--text-muted);margin-top:var(--spacing-1);font-size:.75rem}.task-card-progress-track{margin-top:var(--spacing-2);background-color:var(--bg-dark);border-radius:var(--rounded-full);width:100%;height:.375rem}.task-card-progress-fill{background-color:var(--primary-alpha);border-radius:var(--rounded-full);height:.375rem;transition:width .3s}.goal-tree{gap:var(--spacing-4);flex-direction:column;display:flex}.goal-card{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--rounded-lg);padding:var(--spacing-4);margin-bottom:var(--spacing-2)}.goal-card-content{align-items:center;gap:var(--spacing-3);display:flex}.goal-badge{padding:.125rem var(--spacing-2);border-radius:var(--rounded-sm);font-size:.75rem;font-weight:500}.goal-badge.company{background-color:var(--colors-badge-purple-bg);color:var(--colors-badge-purple-text)}.goal-badge.project{background-color:var(--colors-badge-blue-bg);color:var(--colors-badge-blue-text)}.goal-badge.milestone{background-color:var(--colors-badge-amber-bg);color:var(--colors-badge-amber-text)}.goal-title{font-weight:500}.goal-title.completed{color:var(--primary)}.goal-title.archived{color:var(--text-muted)}.goal-title.active{color:var(--text)}.goal-description{color:var(--text-muted);margin-top:var(--spacing-1);font-size:.875rem}.text-center{text-align:center}.text-muted{color:var(--text-muted)}.text-primary{color:var(--primary)}.text-red{color:#f87171}.mt-8{margin-top:var(--spacing-8)}.mt-16{margin-top:var(--spacing-20,calc(var(--spacing-16) * 1.25))}.py-8{padding-top:var(--spacing-8);padding-bottom:var(--spacing-8)}.py-12{padding-top:3rem;padding-bottom:3rem}.loading,.error{text-align:center;margin-top:var(--spacing-16)}.error{color:#f87171}.page-header .text-muted{font-size:.875rem}.btn{border-radius:var(--rounded-md);cursor:pointer;border:none;justify-content:center;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .2s,color .2s;display:inline-flex}.btn-primary{background-color:var(--primary);color:var(--bg-dark)}.btn-primary:hover{background-color:var(--primary-hover)}.btn-secondary{background-color:var(--bg-dark);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background-color:var(--surface-hover)}.btn-group-inline{background-color:var(--bg-dark);border-radius:var(--rounded-md);padding:var(--spacing-1);align-items:center;gap:2px;display:flex}.btn-status{border-radius:var(--rounded-sm);cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:.25rem .75rem;font-size:.75rem;font-weight:500;transition:background-color .2s,color .2s}.btn-status:hover{color:var(--text)}.btn-status.active{background-color:var(--primary);color:var(--bg-dark)}.btn-status:disabled{opacity:.5;cursor:default}.form-input,.form-textarea,.form-select{background-color:var(--bg-dark);width:100%;color:var(--text);border:1px solid var(--border);border-radius:var(--rounded-md);outline:none;padding:.5rem .75rem;font-size:.875rem;transition:border-color .2s}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--primary)}.form-textarea{resize:vertical;min-height:80px}.modal-overlay{z-index:200;background-color:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--rounded-xl);gap:var(--spacing-4);flex-direction:column;width:100%;max-width:28rem;padding:1.5rem;display:flex}.modal-content h3{font-size:1.125rem;font-weight:700}.form-actions{gap:var(--spacing-3);padding-top:.5rem;display:flex}.form-actions .btn{flex:1}.form-grid-2{gap:var(--spacing-3);grid-template-columns:1fr 1fr;display:grid}.card{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--rounded-xl);padding:1.5rem}.card-header{justify-content:space-between;align-items:start;margin-bottom:.5rem;display:flex}.card-header h2{font-size:1.25rem;font-weight:700}.card-meta{color:var(--text-muted);white-space:pre-wrap;margin-bottom:1rem;font-size:.875rem}.info-grid{gap:var(--spacing-4);grid-template-columns:repeat(3,1fr);font-size:.875rem;display:grid}.info-grid .label{color:var(--text-muted)}.info-grid .value{font-weight:500}.table-wrapper{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--rounded-xl);overflow:hidden}.table{border-collapse:collapse;width:100%;font-size:.875rem}.table thead th{text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border);padding:.75rem 1rem;font-weight:500}.table tbody td{border-bottom:1px solid var(--border);vertical-align:middle;padding:.75rem 1rem}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover{background-color:var(--surface-hover)}.table-link{color:var(--text);font-weight:500;transition:color .2s}.table-link:hover{color:var(--primary)}.badge{border-radius:var(--rounded-full);padding:.125rem .5rem;font-size:.75rem;font-weight:500;display:inline-block}.badge-active{background-color:var(--primary-bg);color:var(--primary)}.badge-disabled{color:#f87171;background-color:#ef444433}.detail-page{max-width:56rem;margin-left:auto;margin-right:auto}.back-link{color:var(--text-muted);margin-bottom:var(--spacing-4);font-size:.875rem;transition:color .2s;display:inline-block}.back-link:hover{color:var(--primary)}.comments-section h3{margin-bottom:.75rem;font-size:1.125rem;font-weight:600}.comments-list{gap:var(--spacing-3);margin-bottom:var(--spacing-4);flex-direction:column;display:flex}.comment-card{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--rounded-md);padding:var(--spacing-4)}.comment-header{align-items:center;gap:var(--spacing-2);margin-bottom:.25rem;display:flex}.comment-author{font-size:.875rem;font-weight:500}.comment-date{color:var(--text-muted);font-size:.75rem}.comment-body{color:var(--text-muted);white-space:pre-wrap;font-size:.875rem}.comment-empty{color:var(--text-muted);text-align:center;padding:var(--spacing-4) 0;font-size:.875rem}.comment-form{gap:var(--spacing-2);display:flex}.comment-form .form-input{flex:1}.priority-dot{border-radius:var(--rounded-full);flex-shrink:0;width:.75rem;height:.75rem}.priority-dot.critical{background-color:var(--colors-priority-critical)}.priority-dot.high{background-color:var(--colors-priority-high)}.priority-dot.medium{background-color:var(--colors-priority-medium)}.priority-dot.low{background-color:var(--colors-priority-low)}.priority-dot-sm{border-radius:var(--rounded-full);flex-shrink:0;width:.5rem;height:.5rem}.priority-dot-sm.critical{background-color:var(--colors-priority-critical)}.priority-dot-sm.high{background-color:var(--colors-priority-high)}.priority-dot-sm.medium{background-color:var(--colors-priority-medium)}.priority-dot-sm.low{background-color:var(--colors-priority-low)}.flex-between{justify-content:space-between;align-items:center;display:flex}.flex-center{align-items:center;gap:.375rem;display:flex}.gap-2{gap:.5rem}.capitalize{text-transform:capitalize}.w-full{width:100%}.mono{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.75rem}.task-card-proposal{background:#f59e0b14!important;border-left:3px solid #f59e0b!important}.task-card-vote{border-top:1px solid var(--border);gap:.5rem;padding:.4rem .6rem;display:flex}.vote-btn{cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.2rem .5rem;font-size:1.2rem;transition:background .15s}.vote-btn:hover{background:#ffffff1a}.vote-approve:active{background:#10b9814d}.vote-reject:active{background:#ef44444d}.new-task-form{gap:.75rem;padding:1rem;display:grid}.new-task-form .form-row{align-items:center;gap:.75rem;display:flex}.new-task-form label{color:var(--text-muted);min-width:80px;font-size:.85rem}.new-task-form input,.new-task-form textarea,.new-task-form select{flex:1}.hamburger-btn{color:var(--text);cursor:pointer;padding:var(--spacing-2);border-radius:var(--rounded-md);background:0 0;border:none;transition:background-color .2s;display:none}.hamburger-btn:hover{background-color:var(--surface-hover)}.sidebar-overlay{z-index:99;background-color:#00000080;display:none;position:fixed;inset:0}@media (max-width:768px){.sidebar{z-index:200;transition:transform .3s;transform:translate(-100%)}.sidebar.sidebar-open{transform:translate(0)}.sidebar-overlay.active{display:block}.hamburger-btn{justify-content:center;align-items:center;display:flex}.topbar{padding-left:var(--spacing-4);left:0}.app-layout main{padding-left:var(--spacing-4);padding-right:var(--spacing-4)}.app-layout .main-content{margin-left:0}.kanban-column{flex:0 0 280px;min-width:250px;max-width:280px}.kanban-board{scroll-snap-type:x mandatory}.kanban-column{scroll-snap-align:start}.task-card-link{padding:var(--spacing-4);min-height:48px}.btn-status{min-height:36px;padding:.5rem .75rem}.vote-btn{min-height:44px;padding:.5rem .75rem}.info-grid{gap:var(--spacing-2);grid-template-columns:1fr}.form-grid-2{grid-template-columns:1fr}.table-wrapper{overflow-x:auto}.page-header{align-items:flex-start;gap:var(--spacing-3);flex-direction:column}.stats-grid{grid-template-columns:1fr 1fr}}.spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin;display:inline-block}.spinner-lg{border-width:4px;width:40px;height:40px}@keyframes spin{to{transform:rotate(360deg)}}.loading-container{justify-content:center;align-items:center;gap:var(--spacing-3);padding:var(--spacing-16) 0;text-align:center;flex-direction:column;display:flex}.toast-container{top:calc(var(--topbar-height) + var(--spacing-4));right:var(--spacing-4);z-index:300;gap:var(--spacing-2);flex-direction:column;display:flex;position:fixed}.toast{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--rounded-lg);padding:var(--spacing-3) var(--spacing-4);color:var(--text);box-shadow:var(--shadow-sm);max-width:320px;font-size:.875rem;animation:.3s slideInRight}.toast.toast-success{border-left:3px solid var(--primary)}.toast.toast-error{border-left:3px solid #ef4444}.toast.toast-info{border-left:3px solid #3b82f6}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.stats-grid{gap:var(--spacing-4);margin-bottom:var(--spacing-6);grid-template-columns:repeat(4,1fr);display:grid}.stat-card{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--rounded-xl);padding:var(--spacing-5);transition:border-color .2s}.stat-card:hover{border-color:var(--primary-alpha)}.stat-icon{margin-bottom:var(--spacing-2);font-size:1.5rem}.stat-value{color:var(--text);font-size:2rem;font-weight:700;line-height:1.2}.stat-label{color:var(--text-muted);margin-top:var(--spacing-1);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.quick-links{gap:var(--spacing-3);margin-bottom:var(--spacing-8);flex-wrap:wrap;display:flex}.quick-link{align-items:center;gap:var(--spacing-2);background-color:var(--surface);border:1px solid var(--border);border-radius:var(--rounded-lg);padding:var(--spacing-3) var(--spacing-5);color:var(--text);font-size:.875rem;font-weight:500;transition:border-color .2s,background-color .2s;display:inline-flex}.quick-link:hover{border-color:var(--primary);background-color:var(--primary-bg);color:var(--primary)}.activity-list{gap:var(--spacing-2);flex-direction:column;display:flex}.activity-item{align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);background-color:var(--surface);border:1px solid var(--border);border-radius:var(--rounded-lg);font-size:.875rem;transition:border-color .2s;display:flex}.activity-item:hover{border-color:var(--primary-alpha)}.activity-item .activity-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.activity-item .activity-status{padding:.125rem var(--spacing-2);border-radius:var(--rounded-full);background-color:var(--primary-bg);color:var(--primary);font-size:.75rem}.activity-item .activity-time{color:var(--text-muted);white-space:nowrap;font-size:.75rem}.empty-state{text-align:center;padding:var(--spacing-16) var(--spacing-4)}.empty-state-icon{margin-bottom:var(--spacing-4);opacity:.5;font-size:3rem}.empty-state h3{margin-bottom:var(--spacing-2);font-size:1.125rem;font-weight:600}.empty-state p{color:var(--text-muted);margin-bottom:var(--spacing-4);font-size:.875rem}.activity-timeline{margin-top:var(--spacing-4);padding-left:var(--spacing-3);border-left:2px solid var(--border)}.timeline-item{padding-left:var(--spacing-4);padding-bottom:var(--spacing-3);position:relative}.timeline-item:before{content:"";background-color:var(--primary);border:2px solid var(--bg-dark);border-radius:50%;width:12px;height:12px;position:absolute;top:6px;left:-7px}.timeline-item .timeline-text{color:var(--text-muted);font-size:.875rem}.timeline-item .timeline-text strong{color:var(--text)}.timeline-item .timeline-time{color:var(--text-muted);margin-top:var(--spacing-1);font-size:.75rem}.error-boundary{text-align:center;padding:var(--spacing-16) 0}.error-boundary h3{color:#f87171;margin-bottom:var(--spacing-2)}.error-boundary p{color:var(--text-muted);margin-bottom:var(--spacing-4)}.section-header{margin-bottom:var(--spacing-4)}.section-header h3{font-size:1.125rem;font-weight:600}.section-header p{color:var(--text-muted);font-size:.875rem}.budget-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;margin-bottom:1.5rem;padding:1.25rem}.budget-row{flex-wrap:wrap;gap:2rem;margin-bottom:.75rem;display:flex}.budget-stat{flex-direction:column;gap:.15rem;display:flex}.budget-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.budget-value{color:var(--text-primary);font-size:1.15rem;font-weight:600}.budget-progress-container{background:var(--bg-primary);border-radius:12px;width:100%;height:24px;position:relative;overflow:hidden}.budget-progress-bar{border-radius:12px;height:100%;transition:width .4s}.budget-progress-text{color:var(--text-primary);font-size:.7rem;font-weight:600;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.usage-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;margin-bottom:1.5rem;padding:1.25rem}.usage-badge{background:var(--primary-bg);color:var(--primary);border-radius:9999px;padding:.2rem .6rem;font-size:.75rem;font-weight:500}.usage-stats-row{flex-wrap:wrap;gap:1.5rem;display:flex}.usage-stat{flex-direction:column;gap:.15rem;display:flex}.usage-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.usage-stat-value{color:var(--text-primary);font-size:1.1rem;font-weight:600}.usage-agent-row{border-bottom:1px solid #33415566;align-items:center;gap:.75rem;padding:.35rem 0;display:flex}.usage-agent-row:last-child{border-bottom:none}.usage-agent-name{color:var(--text-primary);flex:1;font-size:.9rem}.usage-agent-cost{color:var(--primary);text-align:right;min-width:70px;font-size:.85rem;font-weight:600}.usage-agent-tokens{color:var(--text-muted);text-align:right;min-width:80px;font-size:.75rem}.usage-daily-chart{align-items:flex-end;gap:4px;width:100%;height:60px;display:flex}.usage-daily-bar-container{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;height:100%;display:flex}.usage-daily-bar{background:var(--primary);opacity:.8;border-radius:3px 3px 0 0;width:100%;min-height:4px;transition:height .3s;position:relative}.usage-daily-bar:hover{opacity:1}.usage-daily-bar-tooltip{background:var(--surface-hover);color:var(--text-primary);white-space:nowrap;z-index:10;border-radius:4px;padding:2px 6px;font-size:.7rem;display:none;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%)}.usage-daily-bar:hover .usage-daily-bar-tooltip{display:block}.usage-daily-label{color:var(--text-muted);margin-top:4px;font-size:.65rem}

