:root{--color-bg: #fafaf9;--color-surface: #ffffff;--color-surface-elevated: #ffffff;--color-border: #e8e6e3;--color-border-subtle: #f0eeeb;--color-text: #1a1a1a;--color-text-secondary: #6b6b6b;--color-text-tertiary: #9a9a9a;--color-text-inverse: #ffffff;--color-accent: #2c2c2c;--color-accent-subtle: #f5f5f4;--color-accent-hover: #404040;--color-success: #3d7a5a;--color-success-subtle: #ecf5f0;--color-warning: #9a7b4f;--color-warning-subtle: #faf6f0;--color-danger: #b54a4a;--color-danger-subtle: #faf0f0;--color-info: #4a6b9a;--color-info-subtle: #f0f4fa;--color-p0: #8b4049;--color-p0-subtle: #fdf4f5;--color-p1: #9a6b4a;--color-p1-subtle: #faf6f2;--color-p2: #7a7a4a;--color-p2-subtle: #f9f9f2;--color-p3: #5a7a6a;--color-p3-subtle: #f2f7f5;--color-p4: #5a6a7a;--color-p4-subtle: #f2f5f7;--color-p5: #6a6a7a;--color-p5-subtle: #f5f5f7;--color-skill-frontend: #6b8a9a;--color-skill-frontend-subtle: #f0f5f7;--color-skill-backend: #7a8b6b;--color-skill-backend-subtle: #f5f7f2;--color-skill-infra: #8a7b6b;--color-skill-infra-subtle: #f7f5f2;--color-skill-data: #7b6b8a;--color-skill-data-subtle: #f5f2f7;--color-skill-default: #6b7a7a;--color-skill-default-subtle: #f2f5f5;--color-role-lead: #5a6a7a;--color-role-lead-subtle: #f0f3f6;--color-role-senior: #6a7a6a;--color-role-senior-subtle: #f2f5f2;--color-role-mid: #7a7a6a;--color-role-mid-subtle: #f5f5f2;--color-role-junior: #7a6a7a;--color-role-junior-subtle: #f5f2f5;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "SF Mono", "Fira Code", monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-lg: 1rem;--text-xl: 1.125rem;--text-2xl: 1.25rem;--text-3xl: 1.5rem;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.625;--tracking-tight: -.01em;--tracking-normal: 0;--tracking-wide: .025em;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--transition-fast: .12s ease;--transition-base: .18s ease}@media(prefers-color-scheme:dark){:root{--color-bg: #121212;--color-surface: #1a1a1a;--color-surface-elevated: #222222;--color-border: #2a2a2a;--color-border-subtle: #222222;--color-text: #e8e8e8;--color-text-secondary: #a0a0a0;--color-text-tertiary: #707070;--color-text-inverse: #1a1a1a;--color-accent: #e8e8e8;--color-accent-subtle: #252525;--color-accent-hover: #ffffff;--color-success: #5a9a7a;--color-success-subtle: #1a2a22;--color-warning: #b89a6a;--color-warning-subtle: #2a2520;--color-danger: #c86a6a;--color-danger-subtle: #2a1a1a;--color-info: #6a8ab8;--color-info-subtle: #1a2030;--color-p0: #c87a82;--color-p0-subtle: #2a1f20;--color-p1: #c8a07a;--color-p1-subtle: #2a2520;--color-p2: #a8a87a;--color-p2-subtle: #25251f;--color-p3: #7aa898;--color-p3-subtle: #1f2825;--color-p4: #7a98a8;--color-p4-subtle: #1f2528;--color-p5: #9898a8;--color-p5-subtle: #222228;--color-skill-frontend: #8aacbc;--color-skill-frontend-subtle: #1a2228;--color-skill-backend: #9aab8a;--color-skill-backend-subtle: #1f221a;--color-skill-infra: #ab9a8a;--color-skill-infra-subtle: #22201a;--color-skill-data: #9a8aab;--color-skill-data-subtle: #201a22;--color-skill-default: #8a9a9a;--color-skill-default-subtle: #1a2020;--color-role-lead: #8aa0b0;--color-role-lead-subtle: #1a2028;--color-role-senior: #90a890;--color-role-senior-subtle: #1a221a;--color-role-mid: #a8a890;--color-role-mid-subtle: #22221a;--color-role-junior: #a890a8;--color-role-junior-subtle: #221a22}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background-color:var(--color-bg);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{font-family:inherit;font-size:inherit;background:none;border:none;cursor:pointer}input,select,textarea{font-family:inherit;font-size:inherit}a{color:inherit;text-decoration:none}table{border-collapse:collapse;width:100%}.app{max-width:1200px;margin:0 auto;padding:var(--space-6)}.app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:var(--space-4);color:var(--color-text-secondary)}.loading-spinner{width:24px;height:24px;border:2px solid var(--color-border);border-top-color:var(--color-text);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.setup-card{text-align:center;max-width:400px;padding:var(--space-8)}.setup-card h2{font-size:var(--text-xl);font-weight:500;margin-bottom:var(--space-4)}.setup-card p{color:var(--color-text-secondary);margin-bottom:var(--space-2)}.app-header{margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border)}.header-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-4)}.header-left{display:flex;align-items:baseline;gap:var(--space-4)}.app-header h1{font-size:var(--text-2xl);font-weight:600;letter-spacing:var(--tracking-tight);color:var(--color-text)}.tagline{font-size:var(--text-sm);color:var(--color-text-tertiary);margin-bottom:var(--space-4)}.month-selector{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary)}.month-selector label{font-weight:500}.month-selector input{padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--text-sm);transition:border-color var(--transition-fast)}.month-selector input:hover{border-color:var(--color-text-tertiary)}.month-selector input:focus{outline:none;border-color:var(--color-text)}.app-nav{display:flex;gap:var(--space-1);margin-bottom:var(--space-6);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-4);overflow-x:auto}.nav-tab{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:450;color:var(--color-text-secondary);border-radius:var(--radius-md);transition:all var(--transition-fast);white-space:nowrap;text-decoration:none;cursor:pointer}.nav-tab:hover{color:var(--color-text);background:var(--color-accent-subtle);text-decoration:none}.nav-tab.active{color:var(--color-text);background:var(--color-accent-subtle);font-weight:500}.tab-icon{font-size:var(--text-base);opacity:.7}.tab-label{letter-spacing:var(--tracking-wide);text-transform:uppercase;font-size:var(--text-xs)}.app-main{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);min-height:50vh}.app-footer{padding:var(--space-6) 0;text-align:center;font-size:var(--text-xs);color:var(--color-text-tertiary)}.app-footer strong{font-weight:500;color:var(--color-text-secondary)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6);flex-wrap:wrap;gap:var(--space-4)}.page-title{font-size:var(--text-lg);font-weight:500;color:var(--color-text);letter-spacing:var(--tracking-tight)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:450;border-radius:var(--radius-md);transition:all var(--transition-fast)}.btn-primary{background:var(--color-accent);color:var(--color-text-inverse)}.btn-primary:hover{background:var(--color-accent-hover)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-accent-subtle);border-color:var(--color-text-tertiary)}.btn-danger{background:var(--color-danger);color:var(--color-text-inverse)}.btn-danger:hover{opacity:.9}.btn-small{padding:var(--space-1) var(--space-2);font-size:var(--text-xs)}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover{color:var(--color-text);background:var(--color-accent-subtle)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.card-title{font-size:var(--text-sm);font-weight:500;color:var(--color-text)}.table-container{overflow-x:auto;margin:0 calc(var(--space-6) * -1);padding:0 var(--space-6)}table{width:100%;font-size:var(--text-sm)}th,td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--color-border-subtle)}th{font-size:var(--text-xs);font-weight:500;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:var(--tracking-wide)}td{color:var(--color-text)}tr:hover td{background:var(--color-accent-subtle)}tbody tr:last-child td{border-bottom:none}.form-group{margin-bottom:var(--space-4)}.form-label{display:block;margin-bottom:var(--space-1);font-size:var(--text-xs);font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text);transition:border-color var(--transition-fast)}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:var(--color-text-tertiary)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-text)}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-tertiary)}.form-textarea{min-height:80px;resize:vertical;line-height:var(--leading-relaxed)}.multi-select{position:relative}.multi-select-input{width:100%;min-height:38px;padding:var(--space-1) var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text);cursor:pointer;transition:border-color var(--transition-fast);display:flex;align-items:center}.multi-select-input:hover{border-color:var(--color-text-tertiary)}.multi-select-placeholder{color:var(--color-text-tertiary)}.multi-select-chips{display:flex;flex-wrap:wrap;gap:4px}.multi-select-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--color-text);white-space:nowrap}.multi-select-chip-remove{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:0;font-size:14px;line-height:1;display:flex;align-items:center}.multi-select-chip-remove:hover{color:var(--color-text)}.multi-select-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:50;max-height:200px;overflow-y:auto}.multi-select-option{padding:var(--space-2) var(--space-3);cursor:pointer;font-size:var(--text-sm);display:flex;align-items:center;gap:8px}.multi-select-option:hover{background:var(--color-surface-raised)}.multi-select-option.selected{font-weight:500}.multi-select-check{width:16px;text-align:center;font-size:var(--text-xs);color:var(--color-text)}.priority-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:500;font-family:var(--font-mono);border-radius:var(--radius-sm);background:var(--color-accent-subtle);color:var(--color-text)}.priority-select{padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:500;font-family:var(--font-mono);border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;transition:all var(--transition-fast)}.priority-select:hover{border-color:var(--color-border)}.priority-select:focus{outline:none;border-color:var(--color-text-tertiary)}.priority-p0,.priority-select.priority-p0{background:var(--color-p0-subtle);color:var(--color-p0);font-weight:600;border-left:3px solid var(--color-p0)}.priority-p1,.priority-select.priority-p1{background:var(--color-p1-subtle);color:var(--color-p1);font-weight:500;border-left:3px solid var(--color-p1)}.priority-p2,.priority-select.priority-p2{background:var(--color-p2-subtle);color:var(--color-p2);border-left:3px solid var(--color-p2)}.priority-p3,.priority-select.priority-p3{background:var(--color-p3-subtle);color:var(--color-p3);border-left:3px solid var(--color-p3)}.priority-p4,.priority-select.priority-p4{background:var(--color-p4-subtle);color:var(--color-p4);border-left:3px solid var(--color-p4)}.priority-p5,.priority-select.priority-p5{background:var(--color-p5-subtle);color:var(--color-p5);border-left:3px solid var(--color-p5)}.skill-tag{display:inline-flex;align-items:center;padding:2px var(--space-2);font-size:var(--text-xs);font-weight:450;border-radius:var(--radius-sm);background:var(--color-skill-default-subtle);color:var(--color-skill-default);border:1px solid transparent}.skill-tag[data-category=frontend],.skill-tag.skill-frontend{background:var(--color-skill-frontend-subtle);color:var(--color-skill-frontend)}.skill-tag[data-category=backend],.skill-tag.skill-backend{background:var(--color-skill-backend-subtle);color:var(--color-skill-backend)}.skill-tag[data-category=infra],.skill-tag.skill-infra{background:var(--color-skill-infra-subtle);color:var(--color-skill-infra)}.skill-tag[data-category=data],.skill-tag.skill-data{background:var(--color-skill-data-subtle);color:var(--color-skill-data)}.skills-list{display:flex;flex-wrap:wrap;gap:var(--space-1)}.role-badge{display:inline-flex;align-items:center;padding:2px var(--space-2);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.03em;border-radius:var(--radius-sm);background:var(--color-accent-subtle);color:var(--color-text-secondary)}.role-lead,.role-tech-lead,.role-principal{background:var(--color-role-lead-subtle);color:var(--color-role-lead)}.role-senior,.role-staff{background:var(--color-role-senior-subtle);color:var(--color-role-senior)}.role-mid,.role-engineer{background:var(--color-role-mid-subtle);color:var(--color-role-mid)}.role-junior,.role-intern{background:var(--color-role-junior-subtle);color:var(--color-role-junior)}.status-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:450;border-radius:var(--radius-sm);background:var(--color-accent-subtle);color:var(--color-text-secondary)}.status-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status-active,.status-completed{background:var(--color-success-subtle);color:var(--color-success)}.status-pending,.status-in_progress{background:var(--color-warning-subtle);color:var(--color-warning)}.status-at_risk{background:var(--color-danger-subtle);color:var(--color-danger)}.status-on_hold,.status-cancelled,.status-missed{background:var(--color-accent-subtle);color:var(--color-text-tertiary)}.staffing-grid{display:flex;flex-direction:column;gap:var(--space-3)}.engineer-row{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast)}.engineer-row:hover{border-color:var(--color-text-tertiary)}.engineer-name{font-size:var(--text-sm);font-weight:500;color:var(--color-text)}.engineer-role{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:var(--space-1)}.priorities-section{margin-top:var(--space-2)}.priorities-label{font-size:10px;font-weight:500;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.priority-slots{display:flex;gap:var(--space-2);flex-wrap:wrap}.priority-slot{padding:var(--space-2) var(--space-3);background:var(--color-accent-subtle);border:1px dashed var(--color-border);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--color-text-tertiary);min-width:100px;transition:all var(--transition-fast)}.priority-slot.filled{border-style:solid;border-color:var(--color-text-tertiary);color:var(--color-text);background:var(--color-surface)}.priority-slot.main{border-color:var(--color-text);background:var(--color-surface);font-weight:500}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.stat-card{padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.stat-value{font-size:var(--text-3xl);font-weight:600;color:var(--color-text);letter-spacing:var(--tracking-tight);line-height:1}.stat-label{font-size:var(--text-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:var(--tracking-wide);margin-top:var(--space-2)}.modal-overlay{position:fixed;inset:0;background:#0006;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);max-width:480px;width:90%;max-height:85vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5)}.modal-title{font-size:var(--text-lg);font-weight:500;color:var(--color-text)}.modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:var(--text-xl);color:var(--color-text-tertiary);border-radius:var(--radius-md);transition:all var(--transition-fast)}.modal-close:hover{color:var(--color-text);background:var(--color-accent-subtle)}.modal-actions{display:flex;gap:var(--space-2);justify-content:flex-end;margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--color-border-subtle)}.empty-state{text-align:center;padding:var(--space-12) var(--space-6);color:var(--color-text-tertiary)}.empty-state-icon{font-size:var(--text-3xl);margin-bottom:var(--space-4);opacity:.5}.loading{display:flex;align-items:center;justify-content:center;padding:var(--space-8);color:var(--color-text-tertiary);font-size:var(--text-sm)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-sm{font-size:var(--text-sm)}.text-xs{font-size:var(--text-xs)}.font-mono{font-family:var(--font-mono)}.flex{display:flex}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.org-selector{position:relative}.org-selector-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-accent-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text);transition:all var(--transition-fast)}.org-selector-btn:hover{border-color:var(--color-text-tertiary)}.org-name{font-weight:450;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:var(--space-2)}.org-badge{font-size:.65rem;font-weight:500;padding:.15rem .4rem;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.02em}.org-badge.personal{background:var(--color-surface);color:var(--color-text-tertiary)}.org-badge.pro{background:var(--color-success-subtle);color:var(--color-success)}.org-dropdown{position:absolute;top:100%;left:0;margin-top:var(--space-1);min-width:200px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 4px 12px #00000014;z-index:100;overflow:hidden}.org-dropdown-item{display:block;width:100%;padding:var(--space-3) var(--space-4);text-align:left;font-size:var(--text-sm);color:var(--color-text);transition:background var(--transition-fast)}.org-dropdown-item:hover{background:var(--color-accent-subtle)}.org-dropdown-item.active{background:var(--color-accent-subtle);font-weight:500}.user-menu{position:relative}.user-menu-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-accent-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text);transition:all var(--transition-fast)}.user-menu-btn:hover{border-color:var(--color-text-tertiary)}.user-avatar{width:24px;height:24px;border-radius:50%;background:var(--color-border);display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:500;color:var(--color-text-secondary)}.user-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-dropdown{position:absolute;top:100%;right:0;margin-top:var(--space-1);min-width:180px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 4px 12px #00000014;z-index:100;overflow:hidden}.user-dropdown-header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-subtle)}.user-dropdown-name{font-weight:500;font-size:var(--text-sm);color:var(--color-text)}.user-dropdown-email{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:var(--space-1)}.user-dropdown-item{display:block;width:100%;padding:var(--space-3) var(--space-4);text-align:left;font-size:var(--text-sm);color:var(--color-text);transition:background var(--transition-fast)}.user-dropdown-item:hover{background:var(--color-accent-subtle)}.user-dropdown-item.logout{color:var(--color-danger);border-top:1px solid var(--color-border-subtle)}.login-page{display:flex;justify-content:center;align-items:center;min-height:100vh;background:var(--color-bg);padding:var(--space-4)}.login-card{background:var(--color-surface);border:1px solid var(--color-border);padding:var(--space-8);border-radius:var(--radius-lg);max-width:380px;width:100%}.login-card h1{font-size:var(--text-2xl);font-weight:600;color:var(--color-text);text-align:center;letter-spacing:var(--tracking-tight)}.login-tagline{text-align:center;color:var(--color-text-tertiary);font-size:var(--text-sm);margin-top:var(--space-2);margin-bottom:var(--space-8)}.login-divider{display:flex;align-items:center;margin:var(--space-6) 0;color:var(--color-text-tertiary);font-size:var(--text-xs)}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.login-divider span{padding:0 var(--space-4)}.login-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:450;color:var(--color-text);transition:all var(--transition-fast);margin-bottom:var(--space-3)}.login-btn:hover{border-color:var(--color-text-tertiary);background:var(--color-accent-subtle)}.login-btn:last-child{margin-bottom:0}.login-btn-icon{font-size:var(--text-lg)}.login-btn-primary{background:var(--color-accent);color:var(--color-text-inverse);border-color:var(--color-accent)}.login-btn-primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.header-right{display:flex;align-items:center;gap:var(--space-3)}.create-org-form{margin-top:var(--space-6);text-align:left}.create-org-btn{width:100%;margin-top:var(--space-4)}.form-error{color:var(--color-danger);font-size:var(--text-sm);margin-top:var(--space-2)}.probability-input{display:flex;flex-direction:column;gap:var(--space-2)}.probability-text-row{display:flex;align-items:center;gap:var(--space-1)}.probability-text-input{width:4.5rem;padding:var(--space-2) var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-lg);font-weight:600;text-align:right;color:var(--color-text);transition:border-color var(--transition-fast);-moz-appearance:textfield}.probability-text-input::-webkit-outer-spin-button,.probability-text-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.probability-text-input:hover{border-color:var(--color-text-tertiary)}.probability-text-input:focus{outline:none;border-color:var(--color-text)}.probability-percent{font-size:var(--text-lg);font-weight:600;color:var(--color-text-secondary)}.probability-slider-container{padding:var(--space-1) 0}.probability-slider{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;outline:none;cursor:pointer}.probability-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--color-surface);border:2px solid var(--color-text);cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.probability-slider::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 2px 8px #00000026}.probability-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--color-surface);border:2px solid var(--color-text);cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.probability-slider::-moz-range-thumb:hover{transform:scale(1.1);box-shadow:0 2px 8px #00000026}.probability-presets{display:flex;gap:var(--space-1)}.probability-preset-btn{flex:1;padding:var(--space-1) var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.probability-preset-btn:hover{background:var(--color-surface-hover);border-color:var(--color-text-tertiary);color:var(--color-text)}.probability-preset-btn.active{background:var(--color-text);border-color:var(--color-text);color:var(--color-surface)}.probability-preset-btn:disabled{opacity:.5;cursor:not-allowed}.probability-input-compact{display:flex;align-items:center;gap:.15rem}.probability-text-compact{width:2rem;padding:.15rem .25rem;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;text-align:right;color:var(--color-text)}.probability-text-compact:hover{border-color:var(--color-border)}.probability-text-compact:focus{outline:none;background:var(--color-surface);border-color:var(--color-text)}.probability-percent-compact{font-size:var(--text-xs);font-weight:500;color:var(--color-text-secondary)}.landing{min-height:100vh;background:var(--color-bg)}.landing-nav{position:fixed;top:0;left:0;right:0;background:var(--color-bg);border-bottom:1px solid var(--color-border);z-index:100}.landing-nav-inner{max-width:1000px;margin:0 auto;padding:var(--space-4) var(--space-6);display:flex;justify-content:space-between;align-items:center}.landing-logo{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xl);font-weight:600;color:var(--color-text);letter-spacing:var(--tracking-tight);text-decoration:none}.landing-logo img{border-radius:var(--radius-sm)}.landing-nav-links{display:flex;align-items:center;gap:var(--space-6)}.landing-nav-links a{font-size:var(--text-sm);color:var(--color-text-secondary);text-decoration:none;transition:color var(--transition-fast)}.landing-nav-links a:hover{color:var(--color-text)}.landing-nav-links .btn-primary{color:var(--color-text-inverse)}.landing-container{max-width:1000px;margin:0 auto;padding:0 var(--space-6)}.landing-hero{padding:calc(var(--space-20) + 60px) 0 var(--space-20)}.landing-hero-content{text-align:center;margin-bottom:var(--space-12)}.landing-hero h1{font-size:clamp(2.5rem,6vw,4rem);font-weight:600;color:var(--color-text);letter-spacing:var(--tracking-tight);line-height:1.1;margin-bottom:var(--space-6)}.landing-hero-subtitle{font-size:var(--text-lg);color:var(--color-text-secondary);max-width:600px;margin:0 auto var(--space-4);line-height:var(--leading-relaxed)}.landing-hero-tagline{font-size:var(--text-base);color:var(--color-text-tertiary);max-width:600px;margin:0 auto var(--space-8);line-height:var(--leading-relaxed);font-style:italic}.landing-hero-cta{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.landing-hero-image{max-width:1400px;margin:0 auto}.landing-hero-mockup{perspective:1000px}.mockup-browser{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f,0 20px 25px -5px #0000001a;transform:rotateX(2deg);transition:transform var(--transition-base)}.mockup-browser:hover{transform:rotateX(0)}.mockup-browser-bar{background:var(--color-accent-subtle);border-bottom:1px solid var(--color-border);padding:var(--space-3) var(--space-4);display:flex;align-items:center;gap:var(--space-4)}.mockup-dots{display:flex;gap:var(--space-2)}.mockup-dots span{width:12px;height:12px;border-radius:50%;background:var(--color-border)}.mockup-url{font-size:var(--text-sm);color:var(--color-text-tertiary);background:var(--color-bg);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--color-border);flex:1;text-align:center}.mockup-content{background:var(--color-bg);min-height:500px;position:relative;overflow:hidden}.mockup-slides{position:relative;width:100%;height:100%;min-height:500px}.mockup-slide{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;transition:opacity .6s ease-in-out;pointer-events:none}.mockup-slide.active{opacity:1;pointer-events:auto}.mockup-slide img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;transform:scale(1.35);transform-origin:center}.mockup-controls{margin-top:var(--space-6);display:flex;justify-content:center}.mockup-dots-nav{display:flex;gap:var(--space-3);padding:var(--space-2)}.mockup-dot{background:none;border:none;padding:var(--space-2);cursor:pointer;transition:transform var(--transition-fast)}.mockup-dot:hover{transform:scale(1.2)}.mockup-dot span{display:block;width:10px;height:10px;border-radius:50%;background:var(--color-border);transition:background var(--transition-base)}.mockup-dot.active span{background:var(--color-accent)}.mockup-placeholder{color:var(--color-text-tertiary);font-size:var(--text-sm);padding:var(--space-12)}.mockup-content img{width:100%;height:auto;display:block}.landing-hero-note{font-size:var(--text-sm);color:var(--color-text-tertiary)}.landing-value-prop{text-align:center;padding:var(--space-20) 0}.landing-big-title{font-size:clamp(1.75rem,4vw,2.75rem);font-weight:600;color:var(--color-text);letter-spacing:var(--tracking-tight);line-height:1.2;max-width:900px;margin:0 auto}.landing-section{padding:var(--space-16) 0}.landing-section-alt{background:var(--color-surface);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.landing-section h2{font-size:var(--text-2xl);font-weight:600;color:var(--color-text);letter-spacing:var(--tracking-tight);text-align:center;margin-bottom:var(--space-4)}.landing-section-subtitle{font-size:var(--text-base);color:var(--color-text-secondary);text-align:center;margin-bottom:var(--space-10)}.landing-philosophy{max-width:700px;margin:0 auto}.landing-philosophy h2{margin-bottom:var(--space-6)}.landing-philosophy p{font-size:var(--text-base);color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-4)}.landing-philosophy strong{color:var(--color-text)}.landing-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-6);margin-top:var(--space-10)}.landing-feature{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6)}.landing-feature-icon{width:40px;height:40px;background:var(--color-accent-subtle);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:var(--text-lg);font-weight:600;color:var(--color-text);margin-bottom:var(--space-4)}.landing-feature h3{font-size:var(--text-base);font-weight:500;color:var(--color-text);margin-bottom:var(--space-2)}.landing-feature p{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.landing-pricing{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-6);max-width:700px;margin:var(--space-10) auto 0}.landing-price-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8);position:relative}.landing-price-card-pro{border-color:var(--color-text);border-width:2px}.landing-price-badge{position:absolute;top:calc(var(--space-4) * -1);left:50%;transform:translate(-50%);background:var(--color-text);color:var(--color-text-inverse);font-size:var(--text-xs);font-weight:500;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em}.landing-price-header{text-align:center;margin-bottom:var(--space-6);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border-subtle)}.landing-price-header h3{font-size:var(--text-lg);font-weight:500;color:var(--color-text);margin-bottom:var(--space-2)}.landing-price{font-size:var(--text-4xl);font-weight:600;color:var(--color-text);letter-spacing:var(--tracking-tight)}.landing-price-unit{font-size:var(--text-base);font-weight:400;color:var(--color-text-secondary)}.landing-price-period{font-size:var(--text-sm);color:var(--color-text-tertiary)}.landing-price-features{list-style:none;margin:0 0 var(--space-6);padding:0}.landing-price-features li{font-size:var(--text-sm);color:var(--color-text-secondary);padding:var(--space-2) 0;padding-left:var(--space-6);position:relative}.landing-price-features li:before{content:"✓";position:absolute;left:0;color:var(--color-text-tertiary);font-weight:500}.landing-price-card .btn{width:100%}.landing-price-note{font-size:var(--text-xs);color:var(--color-text-tertiary);text-align:center;margin-top:var(--space-3);margin-bottom:0}.landing-comparison{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6);max-width:700px;margin:var(--space-10) auto 0}.landing-comparison-col{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6)}.landing-comparison-col h3{font-size:var(--text-base);font-weight:500;color:var(--color-text);margin-bottom:var(--space-1);text-align:center}.landing-comparison-desc{font-size:var(--text-sm);color:var(--color-text-tertiary);text-align:center;margin-bottom:var(--space-4)}.landing-comparison-col-highlight{border-color:var(--color-text);border-width:2px}.landing-comparison-list{list-style:none;margin:0;padding:0}.landing-comparison-list li{font-size:var(--text-sm);color:var(--color-text-secondary);padding:var(--space-2) 0;padding-left:var(--space-6);position:relative}.landing-comparison-bad li:before{content:"×";position:absolute;left:0;color:var(--color-text-tertiary);font-weight:500}.landing-comparison-neutral li:before{content:"·";position:absolute;left:var(--space-1);color:var(--color-text-tertiary);font-weight:700;font-size:var(--text-lg)}.landing-comparison-good li:before{content:"→";position:absolute;left:0;color:var(--color-text);font-weight:500}.landing-comparison-note{font-size:var(--text-sm);color:var(--color-text-tertiary);text-align:center;max-width:600px;margin:var(--space-8) auto 0;font-style:italic}.landing-skills-content{max-width:800px;margin:0 auto}.landing-skills-benefit{display:flex;gap:var(--space-4);align-items:flex-start;margin-bottom:var(--space-8)}.landing-skills-benefit:last-child{margin-bottom:0}.landing-skills-icon{width:48px;height:48px;background:var(--color-accent-subtle);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:var(--text-2xl);flex-shrink:0}.landing-skills-benefit h3{font-size:var(--text-lg);font-weight:600;color:var(--color-text);margin-bottom:var(--space-2)}.landing-skills-benefit p{font-size:var(--text-base);color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.landing-skills-tagline{font-size:var(--text-base);color:var(--color-text);text-align:center;max-width:600px;margin:var(--space-10) auto 0;padding-top:var(--space-10);border-top:1px solid var(--color-border);font-weight:500;font-style:italic}.landing-smirk{font-style:italic;color:var(--color-text-tertiary)!important}.landing-tagline{font-weight:500;color:var(--color-text)!important;margin-top:var(--space-6);font-style:italic}.landing-hero-subtext{display:block;font-size:var(--text-base);color:var(--color-text-tertiary);margin-top:var(--space-2)}.landing-section-cta{text-align:center;background:var(--color-accent-subtle)}.landing-section-cta h2{margin-bottom:var(--space-3)}.landing-section-cta p{color:var(--color-text-secondary);margin-bottom:var(--space-6)}.landing-footer{border-top:1px solid var(--color-border);padding:var(--space-8) 0}.landing-footer .landing-container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-4)}.landing-footer-content{display:flex;align-items:center;gap:var(--space-4)}.landing-footer-content p{font-size:var(--text-sm);color:var(--color-text-tertiary)}.landing-footer-links{display:flex;gap:var(--space-6)}.landing-footer-links a{font-size:var(--text-sm);color:var(--color-text-tertiary);text-decoration:none;transition:color var(--transition-fast)}.landing-footer-links a:hover{color:var(--color-text)}.btn-large{padding:var(--space-3) var(--space-6);font-size:var(--text-base)}@media(max-width:640px){.landing-nav-links a:not(:last-child){display:none}.landing-hero{padding:calc(var(--space-16) + 60px) 0 var(--space-16)}.landing-comparison{grid-template-columns:1fr}.landing-footer .landing-container{flex-direction:column;text-align:center}.landing-footer-content{flex-direction:column}}.legal-page{min-height:100vh;background:var(--color-bg)}.legal-content{max-width:800px;margin:0 auto;padding:calc(var(--space-20) + 60px) var(--space-6) var(--space-16)}.legal-content h1{font-size:var(--text-3xl);font-weight:600;color:var(--color-text);letter-spacing:var(--tracking-tight);margin-bottom:var(--space-2)}.legal-subtitle{font-size:var(--text-lg);color:var(--color-text-secondary);margin-bottom:var(--space-8)}.legal-updated{font-size:var(--text-sm);color:var(--color-text-tertiary);margin-bottom:var(--space-10)}.legal-content section{margin-bottom:var(--space-10)}.legal-content h2{font-size:var(--text-xl);font-weight:600;color:var(--color-text);margin-bottom:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border-subtle)}.legal-content section:first-of-type h2{border-top:none;padding-top:0}.legal-content h3{font-size:var(--text-base);font-weight:500;color:var(--color-text);margin-top:var(--space-6);margin-bottom:var(--space-2)}.legal-content p{font-size:var(--text-base);color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-4)}.legal-content ul{margin:0 0 var(--space-4);padding-left:var(--space-6)}.legal-content li{font-size:var(--text-base);color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-2)}.legal-content ul ul{margin-top:var(--space-2);margin-bottom:var(--space-2)}.legal-content a{color:var(--color-text);text-decoration:underline;text-underline-offset:2px}.legal-content a:hover{color:var(--color-text-secondary)}.legal-content strong{color:var(--color-text);font-weight:500}.pricing-faq{margin-top:var(--space-16);padding-top:var(--space-10);border-top:1px solid var(--color-border)}.pricing-faq h2{font-size:var(--text-2xl);font-weight:600;color:var(--color-text);text-align:center;margin-bottom:var(--space-8);border-top:none;padding-top:0}.faq-item{margin-bottom:var(--space-6);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border-subtle)}.faq-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.faq-item h3{font-size:var(--text-base);font-weight:500;color:var(--color-text);margin-bottom:var(--space-2);margin-top:0}.faq-item p{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:0}.staffing-draft-banner{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;background:#fef3c7;border:1px solid #f59e0b;border-radius:var(--radius-md);margin-bottom:.75rem;font-size:.85rem}.staffing-draft-badge{display:inline-flex;align-items:center;padding:.15rem .5rem;background:#f59e0b;color:#fff;border-radius:9999px;font-size:.75rem;font-weight:500}.staffing-snapshot-banner{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;background:#dbeafe;border:1px solid #3b82f6;border-radius:var(--radius-md);margin-bottom:.75rem;font-size:.8rem;color:#1e40af}.staffing-badge-draft{border:2px dashed #22c55e!important}.staffing-badge-removed{opacity:.5;text-decoration:line-through;border-color:#ef4444!important}.staffing-history-panel{width:280px;flex-shrink:0;padding:.75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:calc(100vh - 200px);overflow-y:auto}.tv-dashboard{--tv-text-xs: .85rem;--tv-text-sm: 1rem;--tv-text-base: 1.125rem;--tv-text-lg: 1.35rem;--tv-text-xl: 1.6rem;--tv-text-2xl: 2rem;--tv-danger: #b54a4a;--tv-warning: #9a7b4f;--tv-success: #3d7a5a;--tv-info: #4a6b9a;--tv-panel-bg: var(--color-surface);--tv-panel-border: var(--color-border);position:fixed;inset:0;display:flex;flex-direction:column;background:var(--color-bg, #f8f8f6);font-family:inherit;overflow:hidden;z-index:9999}.tv-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1.25rem;flex-shrink:0;border-bottom:1px solid var(--tv-panel-border);background:var(--tv-panel-bg)}.tv-header-info{display:flex;align-items:baseline;gap:1.5rem}.tv-org-name{font-size:var(--tv-text-lg);font-weight:600;color:var(--color-text)}.tv-header-date{font-size:var(--tv-text-sm);color:var(--color-text-secondary)}.tv-exit-btn{width:2rem;height:2rem;border-radius:50%;border:1px solid var(--tv-panel-border);background:transparent;color:var(--color-text-secondary);font-size:1.25rem;line-height:1;cursor:pointer;opacity:.3;transition:opacity .2s;display:flex;align-items:center;justify-content:center}.tv-exit-btn:hover{opacity:1;background:var(--color-bg)}.tv-grid{flex:1;display:grid;grid-template-columns:40% 35% 25%;grid-template-rows:42% auto 1fr;gap:1px;background:var(--tv-panel-border);min-height:0}.tv-panel{background:var(--tv-panel-bg);padding:1.25rem;display:flex;flex-direction:column;min-height:0;overflow:hidden}.tv-panel-title{font-size:var(--tv-text-lg);font-weight:600;margin:0 0 .75rem;color:var(--color-text);flex-shrink:0;letter-spacing:-.01em}.tv-panel-content{flex:1;overflow-y:auto;min-height:0}.tv-empty{font-size:var(--tv-text-sm);color:var(--color-text-secondary);font-style:italic}.tv-timeline-panel{grid-column:1 / -1;padding:.75rem 1.25rem}.tv-team-panel{grid-column:1 / 3}.tv-project-row{display:flex;align-items:center;gap:.6rem;padding:.45rem 0;border-bottom:1px solid color-mix(in srgb,var(--tv-panel-border) 50%,transparent);font-size:var(--tv-text-base)}.tv-project-row:last-child{border-bottom:none}.tv-priority-badge{display:inline-flex;align-items:center;justify-content:center;min-width:2.2rem;padding:.15rem .4rem;border-radius:4px;font-size:var(--tv-text-xs);font-weight:700;flex-shrink:0;background:color-mix(in srgb,var(--tv-info) 15%,transparent);color:var(--tv-info)}.tv-priority-badge[data-priority="0"]{background:color-mix(in srgb,var(--tv-danger) 15%,transparent);color:var(--tv-danger)}.tv-priority-badge[data-priority="1"]{background:color-mix(in srgb,var(--tv-danger) 12%,transparent);color:var(--tv-danger)}.tv-priority-badge[data-priority="2"]{background:color-mix(in srgb,var(--tv-warning) 15%,transparent);color:var(--tv-warning)}.tv-color-dot{display:inline-block;width:.55rem;height:.55rem;border-radius:50%;flex-shrink:0}.tv-project-name{flex:1;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-text)}.tv-project-status{font-size:var(--tv-text-xs);color:var(--color-text-secondary);text-transform:capitalize;flex-shrink:0}.tv-project-status[data-status=active]{color:var(--tv-success)}.tv-project-status[data-status=lead]{color:var(--tv-info)}.tv-project-status[data-status=offer_pending]{color:var(--tv-warning)}.tv-project-fte{font-size:var(--tv-text-xs);color:var(--color-text-secondary);flex-shrink:0;min-width:3.5rem;text-align:right}.tv-deliverable-row{padding:.5rem 0;border-bottom:1px solid color-mix(in srgb,var(--tv-panel-border) 50%,transparent);display:flex;flex-wrap:wrap;align-items:flex-start;gap:.4rem .6rem;font-size:var(--tv-text-sm)}.tv-deliverable-row:last-child{border-bottom:none}.tv-deliverable-row.tv-at-risk{background:color-mix(in srgb,var(--tv-danger) 8%,transparent);margin:0 -1.25rem;padding-left:1.25rem;padding-right:1.25rem}.tv-deliverable-row.tv-overdue{background:color-mix(in srgb,var(--tv-danger) 12%,transparent);margin:0 -1.25rem;padding-left:1.25rem;padding-right:1.25rem}.tv-status-dot{display:inline-block;width:.5rem;height:.5rem;border-radius:50%;flex-shrink:0;margin-top:.45rem;background:var(--color-text-secondary)}.tv-status-dot[data-status=in_progress]{background:var(--tv-info)}.tv-status-dot[data-status=at_risk],.tv-status-dot[data-status=overdue]{background:var(--tv-danger)}.tv-status-dot[data-status=pending]{background:var(--color-text-secondary)}.tv-deliverable-info{flex:1;min-width:0}.tv-deliverable-title{display:block;font-weight:500;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tv-deliverable-project{display:block;font-size:var(--tv-text-xs);color:var(--color-text-secondary)}.tv-deliverable-meta{flex-shrink:0;text-align:right}.tv-deliverable-due{display:block;font-size:var(--tv-text-sm);color:var(--color-text)}.tv-days-overdue{color:var(--tv-danger);font-weight:600}.tv-days-soon{color:var(--tv-warning)}.tv-deliverable-assignee{display:block;font-size:var(--tv-text-xs);color:var(--color-text-secondary)}.tv-work-span{width:100%;display:flex;align-items:center;gap:.5rem}.tv-work-span-bar{flex:1;height:4px;background:color-mix(in srgb,var(--tv-panel-border) 60%,transparent);border-radius:2px;overflow:hidden}.tv-work-span-fill{height:100%;border-radius:2px;background:var(--color-text-secondary);transition:width .3s}.tv-work-span-fill.tv-work-span-active{background:var(--tv-info)}.tv-work-span-fill.tv-work-span-overdue{background:var(--tv-danger)}.tv-work-span-label{font-size:.75rem;color:var(--color-text-secondary);white-space:nowrap;flex-shrink:0}.tv-attention-panel.tv-attention-danger{background:color-mix(in srgb,var(--tv-danger) 6%,var(--tv-panel-bg))}.tv-attention-panel.tv-attention-ok{background:color-mix(in srgb,var(--tv-success) 5%,var(--tv-panel-bg))}.tv-all-clear{display:flex;align-items:center;gap:.6rem;font-size:var(--tv-text-lg);color:var(--tv-success);font-weight:600;padding:1.5rem 0}.tv-all-clear-icon{font-size:var(--tv-text-2xl)}.tv-attention-item{display:flex;align-items:flex-start;gap:.6rem;padding:.5rem 0;border-bottom:1px solid color-mix(in srgb,var(--tv-panel-border) 50%,transparent);font-size:var(--tv-text-sm)}.tv-attention-item:last-child{border-bottom:none}.tv-attention-item.tv-attention-overdue{border-left:3px solid var(--tv-danger);padding-left:.6rem;animation:tv-pulse 3s ease-in-out infinite}.tv-capacity-warning{padding:.6rem;background:color-mix(in srgb,var(--tv-warning) 10%,transparent);border-radius:6px;margin-bottom:.5rem}.tv-attention-icon{font-size:var(--tv-text-lg);flex-shrink:0}.tv-attention-priority{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;padding:.1rem .3rem;border-radius:4px;font-size:var(--tv-text-xs);font-weight:700;flex-shrink:0;background:color-mix(in srgb,var(--tv-danger) 15%,transparent);color:var(--tv-danger)}.tv-attention-details{flex:1;min-width:0}.tv-attention-title{display:block;font-weight:500;color:var(--color-text)}.tv-attention-meta{display:block;font-size:var(--tv-text-xs);color:var(--color-text-secondary);margin-top:.15rem}@keyframes tv-pulse{0%,to{border-left-color:var(--tv-danger)}50%{border-left-color:color-mix(in srgb,var(--tv-danger) 30%,transparent)}}.tv-team-table-wrapper{overflow:auto}.tv-team-table{width:100%;border-collapse:collapse;font-size:var(--tv-text-sm)}.tv-team-table th{text-align:left;font-size:var(--tv-text-xs);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;padding:.4rem .5rem;border-bottom:2px solid var(--tv-panel-border);white-space:nowrap}.tv-team-table td{padding:.4rem .5rem;border-bottom:1px solid color-mix(in srgb,var(--tv-panel-border) 50%,transparent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:12rem}.tv-team-name{font-weight:500;color:var(--color-text)}.tv-team-cell{color:var(--color-text)}.tv-team-cell .tv-color-dot{margin-right:.3rem;vertical-align:middle}.tv-team-empty{color:var(--color-text-secondary)}.tv-team-secondary{opacity:.7}.tv-announcement-row{padding:.5rem 0;border-bottom:1px solid color-mix(in srgb,var(--tv-panel-border) 50%,transparent)}.tv-announcement-row:last-child{border-bottom:none}.tv-announcement-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.tv-badge{display:inline-block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:.1rem .4rem;border-radius:3px}.tv-badge-danger{background:color-mix(in srgb,var(--tv-danger) 15%,transparent);color:var(--tv-danger)}.tv-badge-warning{background:color-mix(in srgb,var(--tv-warning) 15%,transparent);color:var(--tv-warning)}.tv-badge-info{background:color-mix(in srgb,var(--tv-info) 15%,transparent);color:var(--tv-info)}.tv-badge-muted{background:color-mix(in srgb,var(--color-text-secondary) 15%,transparent);color:var(--color-text-secondary)}.tv-announcement-date{font-size:var(--tv-text-xs);color:var(--color-text-secondary)}.tv-announcement-message{font-size:var(--tv-text-sm);color:var(--color-text);margin:0;line-height:1.4}.tv-panel-content::-webkit-scrollbar{width:4px}.tv-panel-content::-webkit-scrollbar-track{background:transparent}.tv-panel-content::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--color-text-secondary) 30%,transparent);border-radius:2px}.tv-team-table-wrapper::-webkit-scrollbar{width:4px;height:4px}.tv-team-table-wrapper::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--color-text-secondary) 30%,transparent);border-radius:2px}.tv-timeline-panel .tv-panel-title{margin-bottom:.4rem;font-size:var(--tv-text-base)}.tv-timeline-chart{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.tv-timeline-months{position:relative;height:1.4rem;flex-shrink:0;border-bottom:1px solid var(--tv-panel-border)}.tv-timeline-month-label{position:absolute;top:0;font-size:.75rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;padding-left:.4rem;border-left:1px solid color-mix(in srgb,var(--tv-panel-border) 60%,transparent);height:100%;display:flex;align-items:center}.tv-timeline-today{position:absolute;top:0;bottom:0;width:2px;background:var(--tv-danger);opacity:.7;z-index:2;pointer-events:none}.tv-timeline-rows{flex:1;overflow-y:auto;min-height:0}.tv-timeline-row{display:flex;align-items:center;height:1.75rem;border-bottom:1px solid color-mix(in srgb,var(--tv-panel-border) 30%,transparent)}.tv-timeline-row-label{width:10rem;flex-shrink:0;display:flex;align-items:center;gap:.35rem;padding-right:.5rem;overflow:hidden}.tv-timeline-project-name{font-size:var(--tv-text-xs);font-weight:500;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tv-timeline-row-track{flex:1;position:relative;height:100%}.tv-timeline-bar{position:absolute;top:25%;height:50%;border-radius:3px;opacity:.35;min-width:3px}.tv-timeline-deliverable-bar{position:absolute;top:15%;height:70%;border-radius:2px;background:color-mix(in srgb,var(--tv-info) 25%,transparent);border-left:2px solid var(--tv-info)}.tv-timeline-deliverable-bar.tv-timeline-at-risk{background:color-mix(in srgb,var(--tv-danger) 20%,transparent);border-left-color:var(--tv-danger)}.tv-timeline-diamond{position:absolute;top:50%;width:7px;height:7px;background:var(--tv-info);transform:translate(-50%,-50%) rotate(45deg);z-index:1}.tv-timeline-diamond.tv-timeline-at-risk{background:var(--tv-danger)}
