*,:before,:after{box-sizing:border-box}:root{--text-2xl:24px;--text-xl:20px;--text-lg:17px;--text-base:15px;--text-sm:13px;--text-xs:12px;--text-2xs:11px;--bg:#f2f5f2;--surface:#fff;--border:#e2e7e2;--text:#33403a;--text-muted:#6b7770;--text-heading:#202a25;--nav-bg:#202a25;--primary:#5a9b65;--primary-hover:#4a8355;--mint:#accdb2;--error:#dc2626;--warning:#d97706;--success:#16a34a;--suggestion:#7c3aed;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:40px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--shadow-sm:0 1px 3px #202a2514, 0 1px 2px #202a250d;--shadow-md:0 4px 16px #202a251c, 0 2px 4px #202a250f;--shadow-lg:0 10px 40px #202a2521, 0 4px 12px #202a2512;color:var(--text);background:var(--bg);font-family:Inter,system-ui,-apple-system,sans-serif;font-size:15px}body{margin:0}#root{flex-direction:column;min-height:100vh;display:flex}.home-page{flex-direction:column;gap:48px;padding:56px 0;display:flex}.home-header{flex-direction:column;gap:10px;display:flex}.home-header h1{color:var(--text-heading);letter-spacing:-.03em;margin:0;font-size:34px;font-weight:800}.home-subtitle{color:var(--text-muted);margin:0;font-size:16px}.home-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;display:grid}.home-card{cursor:pointer;background:var(--card-bg,var(--surface));border:1.5px solid var(--card-border,var(--border));box-shadow:var(--shadow-sm);border-radius:16px;align-items:center;gap:20px;padding:22px 24px;transition:box-shadow .18s,transform .14s,border-color .18s;display:flex}.home-card:hover{box-shadow:var(--shadow-md);border-color:var(--card-border,var(--border));transform:translateY(-3px)}.home-card-icon{background:color-mix(in srgb, var(--card-color,var(--primary)) 12%, transparent);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:32px;display:flex}.home-card-body{flex-direction:column;flex:1;gap:5px;display:flex}.home-card-body h2{color:var(--card-color,var(--text-heading));letter-spacing:-.01em;margin:0;font-size:16px;font-weight:700}.home-card-body p{color:var(--text-muted);margin:0;font-size:13px;line-height:1.55}.home-card-arrow{color:var(--card-color,var(--text-muted));opacity:.6;flex-shrink:0;font-size:18px;transition:opacity .15s,transform .15s}.home-card:hover .home-card-arrow{opacity:1;transform:translate(3px)}.nav{background:var(--nav-bg);z-index:10;justify-content:space-between;align-items:center;height:60px;padding:0 32px;display:flex;position:sticky;top:0;box-shadow:0 2px 12px #0f172a33}.nav-logo{color:#fff;letter-spacing:-.01em;font-size:16px;font-weight:700;text-decoration:none}.nav-links{gap:4px;display:flex}.nav-links a{color:#fff9;border-radius:8px;padding:6px 14px;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s,color .15s}.nav-links a:hover{color:#fff;background:#ffffff1a}.nav-links a.active{color:#fff;background:#ffffff26}.main{flex:1;width:100%;max-width:900px;margin:0 auto;padding:32px}.page{flex-direction:column;gap:24px;display:flex}.page h1{color:var(--text-heading);letter-spacing:-.02em;margin:0;font-size:26px;font-weight:800}.page-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.page-header-row h1{margin:0}.breadcrumb{align-items:center;gap:4px;font-size:13px;display:flex}.breadcrumb-item{align-items:center;gap:4px;display:flex}.breadcrumb-sep{color:var(--text-muted)}.breadcrumb-link{color:var(--primary);font-weight:500;text-decoration:none}.breadcrumb-link:hover{text-decoration:underline}.breadcrumb-current{color:var(--text-muted)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg,14px);box-shadow:var(--shadow-sm);flex-direction:column;gap:18px;padding:28px;display:flex}.card h2{color:var(--text-heading);letter-spacing:-.01em;margin:0;font-size:17px;font-weight:700}.card-notice{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 8%, var(--surface))}.card-notice-actions{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.setup-running-bar{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:10px 16px;font-size:13px;font-weight:500;display:flex}.btn-sm{padding:4px 12px!important;font-size:13px!important}.setup-header{align-items:flex-start;gap:16px;margin-bottom:8px;display:flex}.setup-header-title{flex-direction:column;gap:4px;display:flex}.setup-header-title h1{margin:0;font-size:22px;font-weight:700}.setup-project-name{color:var(--text-muted);font-size:14px}.setup-section{flex-direction:column;gap:16px;margin-bottom:20px;display:flex}.setup-section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.setup-section-title{margin:0!important}.setup-summary{color:var(--text-muted);align-items:center;gap:8px;font-size:13px;display:flex}.setup-summary-item strong{color:var(--text-heading)}.setup-summary-sep{color:var(--border)}.setup-proj-fields{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=600px){.setup-proj-fields{grid-template-columns:1fr}}.setup-field{flex-direction:column;gap:6px;display:flex}.setup-label{color:var(--text-heading);font-size:13px;font-weight:600}.setup-label-hint{color:var(--text-muted);margin-left:4px;font-weight:400}.setup-suggest-hint{color:var(--text-muted);margin:2px 0 0;font-size:12px}.setup-suggest-use{margin-left:6px;font-size:12px}.setup-suggest-warning{color:var(--error);margin:2px 0 0;font-size:12px}.cap-mapping{margin-bottom:16px}.cap-mapping-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.cap-mapping-title{margin:0}.cap-mapping-desc{color:var(--text-muted);margin:4px 0 0;font-size:12px}.cap-mapping-list{flex-direction:column;gap:8px;display:flex}.cap-mapping-row{align-items:center;gap:12px;display:flex}.cap-mapping-dev{align-items:center;gap:8px;min-width:200px;font-weight:500;display:flex}.cap-mapping-select{max-width:320px}.cap-mapping-warn{color:var(--error);font-size:12px}.setup-tasks{flex-direction:column;gap:10px;display:flex}.setup-task-row{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:10px;padding:12px 16px;transition:border-color .15s;display:flex}.setup-task-row.assigned{background:#f0fdf4;border-color:#86efac}.setup-task-row.partial{background:#fffbeb;border-color:#fbbf24}.setup-task-warning{color:#b45309;white-space:nowrap;font-size:11px;font-weight:600}.setup-task-main{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.setup-task-title{color:var(--text-heading);flex:1;min-width:0;font-size:14px;font-weight:600}.setup-task-orig{color:var(--text-muted);white-space:nowrap;font-size:12px}.setup-task-controls{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.setup-hours-wrap{align-items:center;gap:6px;display:flex}.setup-hours-input{text-align:right;font-weight:700;width:72px!important}.setup-hours-unit{color:var(--text-muted);white-space:nowrap;font-size:13px}.setup-devs{flex-wrap:wrap;gap:6px;display:flex}.setup-dev-pill{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:20px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:500;transition:all .12s;display:flex}.setup-dev-pill:hover{color:var(--text);border-color:#94a3b8}.setup-dev-pill.active{font-weight:600}.setup-dev-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.setup-actions{justify-content:flex-end;align-items:center;gap:10px;padding-top:8px;display:flex}.setup-saved{color:var(--success);margin-right:auto;font-size:13px;font-weight:600}.setup-type-badge{border:1px solid var(--border);color:var(--text-muted);background:#f1f5f9;border-radius:4px;padding:1px 6px;font-size:11px}.setup-label-required{color:var(--error)}.setup-conflicts{background:#fff7f7;border:1px solid #fca5a5;border-radius:10px;flex-direction:column;gap:12px;margin-bottom:16px;padding:16px 20px;display:flex}.setup-conflicts-header{color:#b91c1c;align-items:center;gap:8px;font-size:15px;display:flex}.setup-conflicts-icon{font-size:18px}.setup-conflicts-desc{color:#7f1d1d;margin:0;font-size:13px}.setup-conflicts-list{flex-direction:column;gap:6px;display:flex}.setup-conflict-row{background:#fee2e2;border-radius:6px;flex-wrap:wrap;align-items:center;gap:10px;padding:7px 12px;font-size:13px;display:flex}.setup-conflict-row--detail{flex-direction:column;align-items:stretch;gap:8px}.setup-conflict-row-top{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.setup-conflict-proj{color:#991b1b;flex:1;min-width:0;font-weight:600}.setup-conflict-self{color:#7f1d1d;margin-left:6px;font-weight:400}.setup-conflict-dev{color:#7f1d1d;white-space:nowrap}.setup-conflict-devs{color:#7f1d1d;flex-wrap:wrap;gap:4px 0;font-size:12px;display:flex}.setup-conflict-dev-item{margin-right:12px}.setup-conflict-miss{color:#dc2626;white-space:nowrap;margin-left:auto;font-weight:700}.setup-conflict-deadline-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.setup-conflict-deadline-label{color:#7f1d1d;white-space:nowrap;font-size:12px}.setup-conflict-date-input{flex:1;min-width:140px;max-width:200px}.setup-conflict-cu-note{color:#991b1b;font-size:11px}.conflict-link{color:#991b1b;font-weight:600}.setup-conflicts-actions{justify-content:flex-end;gap:10px;display:flex}.steps{gap:0;display:flex}.step{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);flex:1;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:13px;display:flex}.step:first-child{border-radius:8px 0 0 8px}.step:last-child{border-radius:0 8px 8px 0}.step+.step{border-left:none}.step.active{color:var(--primary);border-color:var(--primary);background:#eff6ff;font-weight:500}.step.done{color:var(--success);background:#f0fdf4;border-color:#86efac}.step-num{background:var(--border);width:22px;height:22px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.step.active .step-num{background:var(--primary);color:#fff}.step.done .step-num{background:var(--success);color:#fff}.dropzone{border:2px dashed var(--border);text-align:center;cursor:pointer;border-radius:10px;padding:32px;transition:border-color .15s,background .15s}.dropzone:hover,.dropzone.dragging{border-color:var(--primary);background:#eff6ff}.dropzone p{color:var(--text-heading);margin:0 0 4px;font-weight:500}.dropzone small{color:var(--text-muted);font-size:13px}.file-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.file-list li{background:var(--bg);border:1px solid var(--border);border-radius:6px;justify-content:space-between;align-items:center;padding:8px 12px;font-size:13px;display:flex}.btn-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:12px}.btn-remove:hover{color:var(--error);background:#fee2e2}.btn-primary{background:var(--primary);color:#fff;cursor:pointer;letter-spacing:.01em;border:none;border-radius:9px;align-self:flex-start;padding:10px 22px;font-size:14px;font-weight:600;transition:background .15s,box-shadow .15s,transform .1s}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #2563eb59}.btn-primary:active{transform:translateY(0)}.btn-primary:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.btn-secondary{background:var(--surface);color:var(--text-heading);border:1.5px solid var(--border);cursor:pointer;border-radius:9px;padding:8px 16px;font-size:13px;font-weight:500;transition:background .15s,border-color .15s,box-shadow .15s}.btn-secondary:hover{background:var(--bg);box-shadow:var(--shadow-sm);border-color:#94a3b8}.btn-secondary:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.field-label{color:var(--text-heading);font-size:13px;font-weight:500}.textarea{border:1.5px solid var(--border);width:100%;color:var(--text);background:var(--surface);resize:vertical;border-radius:9px;outline:none;padding:10px 13px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.input{border:1.5px solid var(--border);width:100%;color:var(--text);background:var(--surface);border-radius:9px;outline:none;padding:10px 13px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.input-error{background:#fff5f5;border-color:#ef4444!important}.input-error:focus{border-color:#dc2626!important}.select{border:1px solid var(--border);width:100%;color:var(--text);background:var(--surface);cursor:pointer;border-radius:8px;outline:none;padding:10px 12px;font-family:inherit;font-size:14px}.project-draft-hint{color:var(--primary);margin:4px 0 0;font-size:12px;font-style:italic}.existing-docs-hint{color:var(--primary);background:color-mix(in srgb, var(--primary) 8%, var(--surface));border:1px solid color-mix(in srgb, var(--primary) 25%, transparent);border-radius:6px;margin:0;padding:8px 12px;font-size:13px}.btn-card-delete{color:var(--error);cursor:pointer;background:0 0;border:1px solid #fca5a5;border-radius:6px;align-self:flex-start;margin-top:8px;padding:4px 10px;font-size:12px;transition:background .15s}.btn-card-delete:hover{background:#fef2f2}.spinner-wrap{flex-direction:column;align-items:center;gap:12px;padding:40px;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:32px;height:32px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.spinner-text{color:var(--text-muted);font-size:14px}.badge{letter-spacing:.02em;text-transform:uppercase;border-radius:20px;padding:3px 10px;font-size:11px;font-weight:600}.badge-blue{color:#1d4ed8;background:#dbeafe}.badge-orange{color:#c2410c;background:#ffedd5}.badge-green{color:#15803d;background:#dcfce7}.badge-gray{color:#475569;background:#e2e8f0}.badge-hourly{color:#6d28d9;background:#ede9fe}[data-theme=dark] .badge-hourly{color:#c4b5fd;background:#3b2a63}.project-card-badges{flex-shrink:0;align-items:center;gap:6px;display:flex}.checkbox-row{cursor:pointer;align-items:flex-start;gap:8px;font-size:14px;display:flex}.checkbox-row input{margin-top:3px}.access-section{border-top:1px solid var(--border);margin:20px 0;padding-top:16px}.access-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.access-row .input{flex:1}.deadline-row{align-items:flex-end;gap:12px;margin-top:16px;display:flex}.clockify-quick{background:var(--bg);border-radius:var(--radius-md);text-align:left;margin-top:16px;padding:16px}.clockify-quick h3{margin:0 0 4px}.clockify-done{background:color-mix(in srgb, #16a34a 12%, var(--surface));border-radius:var(--radius-md);margin-top:16px;padding:14px 16px;font-weight:500}.projects-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.projects-header h1{margin:0}.projects-header-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.sync-result-bar{border-radius:8px;padding:10px 16px;font-size:13px;font-weight:500}.sync-result-bar--changed{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0}.sync-result-bar--nochange{color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0}.projects-filter{flex-wrap:wrap;gap:6px;display:flex}.projects-filter-btn{cursor:pointer;border:none;transition:opacity .15s}.project-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.project-card{background:var(--surface);border:1.5px solid var(--border);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:14px;padding:20px;transition:box-shadow .18s,border-color .18s,transform .14s}.project-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-3px)}.project-card-header{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px;display:flex}.project-card h3{color:var(--text-heading);margin:0;font-size:15px;font-weight:600}.project-date,.project-clickup{color:var(--text-muted);margin:0;font-size:12px}.project-deadline{color:var(--text);margin:0;font-size:12px;font-weight:500}.project-deadline.overdue{color:var(--error)}.project-slip{color:var(--text-muted);margin:0;font-size:12px;font-weight:500}.project-slip.late{color:var(--warning)}.view-toggle{border:1px solid var(--border);border-radius:var(--radius-md);display:inline-flex;overflow:hidden}.view-toggle button{background:var(--surface);color:var(--text-muted);cursor:pointer;border:none;padding:6px 12px;font-size:13px}.view-toggle button:hover{background:var(--bg)}.view-toggle button.active{background:var(--primary);color:#fff}.project-table{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;font-size:14px;overflow:hidden}.project-table th{text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border);background:var(--bg);padding:10px 14px;font-size:12px;font-weight:600}.project-table td{border-bottom:1px solid var(--border);color:var(--text);padding:10px 14px}.project-table tbody tr{cursor:pointer;transition:background .12s}.project-table tbody tr:hover{background:var(--bg)}.project-table tbody tr:last-child td{border-bottom:none}.project-table .pt-name{color:var(--text-heading);font-weight:600}.project-table .pt-overdue{color:var(--error);font-weight:600}.btn-table-delete{color:var(--error);cursor:pointer;background:0 0;border:1px solid #fca5a5;border-radius:6px;padding:4px 10px;font-size:12px}.btn-table-delete:hover{background:#fee2e2}.error-box{color:var(--error);background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px 16px;font-size:14px}.success-box{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:16px;display:flex}.success-box h2{color:var(--success)}.qa-item{flex-direction:column;gap:6px;display:flex}.qa-question-label{cursor:pointer;align-items:flex-start;gap:8px;display:flex}.qa-question-label .field-label{margin:0}.qa-checkbox{cursor:pointer;width:15px;height:15px;accent-color:var(--primary);flex-shrink:0;margin-top:2px}.subtitle{color:var(--text-muted);margin:0;font-size:14px}.task-list{flex-direction:column;gap:10px;display:flex}.task-item{background:var(--bg);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:4px;padding:12px 16px;display:flex}.task-item.expandable{cursor:default}.task-item-header{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.task-item-header.clickable{cursor:pointer;justify-content:space-between}.task-item-header.clickable:hover .task-item-title strong{color:var(--primary)}.task-item-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.task-expand-icon{color:var(--text-muted);flex-shrink:0;font-size:10px}.task-item strong{color:var(--text-heading);font-size:14px}.task-description{color:var(--text-muted);margin:4px 0 0;font-size:13px}.task-detail{border-top:1px solid var(--border);flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;display:flex}.task-detail-loading,.task-detail-empty{color:var(--text-muted);margin:0;font-size:13px}.task-review-block{flex-direction:column;gap:6px;display:flex}.task-review-meta{color:var(--text-muted);margin:0;font-size:12px}.task-review-items{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.task-review-item{align-items:center;gap:8px;font-size:13px;display:flex}.task-review-badge{white-space:nowrap;border-radius:4px;padding:2px 6px;font-size:11px;font-weight:600}.task-review-item.error .task-review-badge{color:var(--error);background:#fee2e2}.task-review-item.warning .task-review-badge{color:var(--warning);background:#fef9c3}.task-review-item.suggestion .task-review-badge{color:var(--suggestion);background:#ede9fe}.clickup-link.small{font-size:12px}.review-section{flex-direction:column;gap:6px;margin-bottom:4px;display:flex}.review-section-header{align-items:center;gap:8px;display:flex}.review-section-header .field-label{flex:1;margin:0}.review-section-count{color:var(--text-muted);font-size:12px;font-weight:600}.btn-link{color:var(--primary);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:12px;font-weight:500;text-decoration:underline}.btn-link:hover{color:var(--primary-hover)}.project-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.project-header-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.btn-danger{color:var(--error);cursor:pointer;background:0 0;border:1px solid #fca5a5;border-radius:8px;padding:6px 14px;font-size:13px;transition:background .15s}.btn-danger:hover{background:#fef2f2}.clickup-link{color:var(--primary);font-size:13px;text-decoration:none}.clickup-link:hover{text-decoration:underline}.spec-text{font-size:14px;line-height:1.6}.file-selected{color:var(--text-muted);margin:0;font-size:13px}.step-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.step-actions-secondary{gap:8px;display:flex}.step-actions-row{align-items:center;gap:8px;margin-top:12px;display:flex}.client-message-box{background:#f8faff;border:1px solid #dbeafe;border-radius:8px;flex-direction:column;gap:8px;padding:16px;display:flex}.client-message-header{justify-content:space-between;align-items:center;display:flex}.client-message-textarea{font-family:inherit;font-size:13px;line-height:1.6}.btn-copy{border:1px solid var(--primary);color:var(--primary);cursor:pointer;background:0 0;border-radius:6px;padding:4px 12px;font-size:12px;transition:background .15s}.btn-copy:hover{background:#eff6ff}.analysis{flex-direction:column;gap:16px;display:flex}.analysis-title{margin:0 0 8px;font-size:14px;font-weight:600}.analysis-title.error{color:var(--error)}.analysis-title.warning{color:var(--warning)}.analysis-title.suggestion{color:var(--suggestion)}.analysis-item{border-radius:8px;margin-bottom:8px;padding:12px}.analysis-item.error{border-left:3px solid var(--error);background:#fef2f2}.analysis-item.warning{border-left:3px solid var(--warning);background:#fffbeb}.analysis-item.suggestion{border-left:3px solid var(--suggestion);background:#f5f3ff}.analysis-item.ignored{opacity:.4}.analysis-item-row{align-items:flex-start;gap:10px;display:flex}.analysis-item-body{flex-direction:column;flex:1;gap:4px;display:flex}.analysis-item strong{color:var(--text-heading);font-size:13px}.analysis-item p{color:var(--text-muted);margin:0;font-size:13px}.analysis-checkbox{cursor:pointer;width:15px;height:15px;accent-color:var(--primary);flex-shrink:0;margin-top:2px}.module-id{color:var(--text-muted);font-family:monospace;font-size:11px}.btn-ignore{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:5px;flex-shrink:0;padding:3px 8px;font-size:12px}.btn-ignore:hover{border-color:var(--text-muted)}.btn-ignore.active{background:var(--border);color:var(--text)}.review-actions{flex-wrap:wrap;gap:10px;margin:12px 0;display:flex}.push-picker{background:var(--bg);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:8px;margin-bottom:12px;padding:12px;display:flex}.push-picker-option{text-align:left}.btn-cancel{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:4px 0;font-size:13px;text-decoration:underline}.doc-toolbar{justify-content:space-between;align-items:center;display:flex}.doc-toolbar h3{color:var(--text-heading);margin:0;font-size:16px;font-weight:600}.doc-actions{gap:8px;display:flex}.doc-editor{font-family:monospace;font-size:13px}.markdown-preview{font-size:14px;line-height:1.7}.markdown-preview h1,.markdown-preview h2,.markdown-preview h3{color:var(--text-heading)}.markdown-preview code{background:var(--bg);border-radius:4px;padding:2px 6px;font-size:12px}.markdown-preview table{border-collapse:collapse;width:100%;margin:var(--space-md) 0;font-size:13px}.markdown-preview th,.markdown-preview td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:8px 12px}.markdown-preview th{background:var(--bg);color:var(--text-heading);font-weight:600}.markdown-preview blockquote{margin:var(--space-md) 0;border-left:3px solid var(--primary);background:var(--bg);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-muted);padding:8px 16px}.help-page{max-width:860px;margin:0 auto}.qc-page{max-width:820px;margin:0 auto}.qc-header{margin-bottom:var(--space-lg)}.qc-header h1{margin:0 0 4px}.qc-subtitle{color:var(--text-muted);margin:0}.qc-section{margin-bottom:var(--space-md)}.qc-section-head{margin-bottom:var(--space-sm);justify-content:space-between;align-items:center;display:flex}.qc-section-head h3{font-size:var(--text-lg);margin:0}.qc-muted{color:var(--text-muted);font-weight:400;font-size:var(--text-sm)}.qc-platforms{gap:var(--space-sm);display:flex}.qc-platform{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;text-align:left;flex-direction:column;flex:1;gap:2px;padding:12px 16px;transition:all .15s;display:flex}.qc-platform strong{color:var(--text-heading)}.qc-platform span{font-size:var(--text-xs);color:var(--text-muted)}.qc-platform:hover{border-color:var(--primary)}.qc-platform.active{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 8%, var(--surface));box-shadow:inset 0 0 0 1px var(--primary)}.qc-list{flex-direction:column;gap:2px;max-height:340px;display:flex;overflow-y:auto}.qc-item{border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:10px;padding:8px 10px;display:flex}.qc-item:hover{background:var(--bg)}.qc-item.checked{background:color-mix(in srgb, var(--primary) 7%, transparent)}.qc-item-name{font-size:var(--text-sm);color:var(--text);flex:1}.qc-dot{background:var(--border);border-radius:50%;flex-shrink:0;width:8px;height:8px}.qc-dot.on{background:#16a34a}.qc-cu-row{gap:var(--space-sm);margin-bottom:var(--space-sm);display:flex}.qc-cu-row select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:var(--text-sm);flex:1;padding:8px 10px}.qc-context{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text);font-size:var(--text-sm);resize:vertical;padding:10px 12px;font-family:inherit}.qc-actions,.qc-result{margin-bottom:var(--space-md)}.qc-result h3{margin:0 0 var(--space-sm);font-size:var(--text-lg)}.qc-clean{color:#16a34a;margin:0;font-weight:500}.qc-make-input{font-family:ui-monospace,monospace;font-size:var(--text-xs)}.qc-parsehint{margin:var(--space-sm) 0 0;font-size:var(--text-xs)}.qc-ok{color:#16a34a}.qc-bad{color:#dc2626}.qc-cu-search{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:var(--text-sm);flex:1;padding:8px 10px}.qc-cu-tasks{max-height:300px;margin-top:var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:1px;display:flex;overflow-y:auto}.qc-cu-task{background:var(--surface);color:var(--text);cursor:pointer;text-align:left;font-size:var(--text-sm);border:0;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:7px 12px;display:flex}.qc-cu-task:hover:not(:disabled){background:color-mix(in srgb, var(--primary) 8%, var(--surface))}.qc-cu-task:disabled{opacity:.5;cursor:default}.qc-cu-task.sub .qc-cu-task-name{color:var(--text-muted)}.qc-cu-task-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.qc-cu-status{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);background:var(--bg);border-radius:999px;flex-shrink:0;padding:2px 7px}.doc-result-head{justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.doc-result-head h3{font-size:var(--text-lg);margin:0}.doc-result-actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.doc-hint{font-size:var(--text-xs);margin:6px 0 0}.doc-preview{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;height:600px;margin-top:var(--space-md);background:#fff}.doc-skipped{margin-top:var(--space-sm);background:color-mix(in srgb, #d97706 10%, var(--surface));border:1px solid color-mix(in srgb, #d97706 35%, var(--surface));border-radius:var(--radius-sm);font-size:var(--text-sm);padding:10px 14px}.doc-skipped ul{margin:6px 0 0 20px}.fin-actions{align-items:center;gap:var(--space-sm);flex-wrap:wrap;padding:16px 20px;display:flex}.fin-lastsync{color:var(--text-muted);font-size:var(--text-xs);margin-left:auto}.fin-suggestion{justify-content:space-between;align-items:center;gap:var(--space-md);border-bottom:1px solid var(--border);padding:10px 0;display:flex}.fin-suggestion:last-child{border-bottom:none}.fin-suggestion-body{font-size:var(--text-sm);flex-wrap:wrap;align-items:center;gap:10px;display:flex}.fin-arrow{color:var(--text-muted);font-weight:700}.fin-amount{white-space:nowrap;font-weight:700}.fin-in{color:#16a34a}.fin-out{color:#dc2626}.fin-muted{color:var(--text-muted);font-size:var(--text-xs)}.fin-subhead{justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-sm);flex-wrap:wrap;display:flex}.fin-coverage{font-size:var(--text-sm);color:var(--text-heading);font-weight:600}.fin-table-wrap{overflow-x:auto}.fin-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.fin-table th{text-align:left;border-bottom:2px solid var(--border);color:var(--text-muted);font-weight:600;font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;padding:8px 12px}.fin-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:10px 12px}.fin-table tbody tr:last-child td{border-bottom:none}.fin-num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.fin-nowrap{white-space:nowrap}.fin-doctype{margin-left:6px}.fin-doc-cell{min-width:260px}.fin-doc-linked{align-items:center;gap:10px;display:flex}.fin-attach{align-items:center;gap:8px;display:flex}.fin-attach .select{max-width:340px;font-size:var(--text-xs)}.fin-stats{gap:var(--space-sm);margin-bottom:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.fin-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-direction:column;gap:4px;padding:14px 16px;display:flex}.fin-stat span{font-size:var(--text-xs);color:var(--text-muted)}.fin-stat strong{font-size:var(--text-lg);color:var(--text-heading)}.fin-stat-free{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 6%, var(--surface))}.fin-chart-svg{width:100%;height:auto;display:block}.fin-axis-label{fill:var(--text-muted);font-size:11px}.fin-reserve-row{gap:var(--space-sm);margin-bottom:var(--space-sm);align-items:center;display:flex}.fin-reserve-row .input{flex:1}.fin-reserve-amount{max-width:140px}.fin-folder-row{gap:var(--space-sm);align-items:center;display:flex}.fin-folder-row .input{flex:1}.fin-account-switch{margin-bottom:var(--space-md)}.modal-backdrop{z-index:100;background:#00000073;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:560px;max-height:85vh;padding:24px;overflow-y:auto}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:22px;line-height:1}.modal-close:hover{color:var(--text)}.fin-modal-head{justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-md);display:flex}.fin-modal-head h3{margin:0 0 4px}.fin-upload-box{background:var(--bg);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:10px;padding:12px;display:flex}.fin-modal-divider{text-align:center;margin:var(--space-md) 0;border-top:1px solid var(--border)}.fin-modal-divider span{background:var(--surface);font-size:var(--text-xs);color:var(--text-muted);padding:0 12px;position:relative;top:-10px}.fin-assign-list{margin-top:var(--space-sm);max-height:340px;overflow-y:auto}.fin-assign-item{justify-content:space-between;align-items:center;gap:var(--space-md);border-bottom:1px solid var(--border);padding:10px 0;display:flex}.fin-assign-item:last-child{border-bottom:none}.fin-assign-info{min-width:0}.fin-assign-info a{word-break:break-all}.fin-assign-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fin-assign-main{font-size:var(--text-sm);color:var(--text);margin-top:2px}.fin-assign-item.fin-match{border-radius:var(--radius-sm);background:#16a34a12;margin:0 -8px;padding:8px}.card-header-row{align-items:center;gap:10px;display:flex}.mapping-save-row{align-items:center;gap:8px;margin-left:auto;display:flex}.mapping-unsaved{color:#f59e0b;font-size:12px;font-weight:600}.docs-add-label{color:var(--text-muted);border-top:1px solid var(--border);margin:16px 0 8px;padding-top:12px;font-size:13px;font-weight:600}.doc-file-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.doc-file-list li{background:var(--bg);border-radius:6px;justify-content:space-between;align-items:center;padding:6px 10px;font-size:13px;display:flex}.doc-file-name{color:var(--text-heading)}.doc-file-date{color:var(--text-muted);font-size:12px}.empty{color:var(--text-muted);font-size:14px}.empty a{color:var(--primary)}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:40px 20px;display:flex}.empty-state-icon{opacity:.5;font-size:36px}.empty-state-title{color:var(--text-muted);font-size:15px;font-weight:600}.empty-state-desc{color:var(--text-muted);max-width:340px;font-size:13px}.task-select-list{flex-direction:column;gap:8px;display:flex}.task-select-item{background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;transition:border-color .15s,background .15s;display:flex}.task-select-item:hover{border-color:var(--primary);background:#f0f7ff}.task-select-name{color:var(--text-heading);font-size:14px;font-weight:500}.task-select-meta{flex-shrink:0;align-items:center;gap:8px;display:flex}.task-select-sub{color:var(--text-muted);font-size:12px}.import-desc{flex-direction:column;gap:4px;display:flex}.import-desc-text{color:var(--text-muted);white-space:pre-wrap;font-size:13px;line-height:1.5}.attachment-list{flex-direction:column;gap:6px;display:flex}.attachment-item{border:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:10px 14px;font-size:14px;transition:border-color .15s,background .15s;display:flex}.attachment-item:hover{background:var(--bg)}.attachment-item.selected{border-color:var(--primary);background:#eff6ff}.attachment-item input[type=checkbox]{cursor:pointer;width:16px;height:16px;accent-color:var(--primary)}.attachment-icon{font-size:16px}.attachment-name{color:var(--text-heading)}.airtable-layout{grid-template-columns:1fr 1fr;align-items:start;gap:20px;display:grid}@media (width<=800px){.airtable-layout{grid-template-columns:1fr}}.airtable-list{flex-direction:column;gap:10px;max-height:80vh;display:flex;overflow:hidden}.airtable-projects{flex-direction:column;gap:4px;display:flex;overflow-y:auto}.airtable-project-row{border:1.5px solid var(--border);cursor:pointer;border-radius:8px;padding:10px 12px;transition:border-color .15s}.airtable-project-row:hover{border-color:var(--primary)}.airtable-project-row.active{border-color:var(--primary);background:#eff6ff}.airtable-project-main{flex-direction:column;gap:2px;display:flex}.airtable-project-main strong{color:var(--text-heading);font-size:14px}.airtable-company{color:var(--text-muted);font-size:12px}.airtable-project-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.airtable-hours,.airtable-task-count{color:var(--text-muted);font-size:12px}.airtable-detail{flex-direction:column;gap:12px;display:flex}.airtable-stats{flex-wrap:wrap;gap:12px;display:flex}.airtable-stat{color:var(--text-muted);font-size:13px}.airtable-tasks{flex-direction:column;gap:6px;display:flex}.airtable-task-row{background:var(--bg);border:1px solid var(--border);border-radius:6px;justify-content:space-between;align-items:flex-start;gap:12px;padding:8px 12px;display:flex}.airtable-task-info{flex-direction:column;flex:1;gap:2px;display:flex}.airtable-task-info strong{color:var(--text-heading);font-size:13px}.airtable-task-info p{color:var(--text-muted);margin:0;font-size:12px}.airtable-task-hours{color:var(--primary);white-space:nowrap;flex-shrink:0;font-size:13px;font-weight:600}.airtable-filters{flex-direction:column;gap:8px;display:flex}.airtable-filter-toggle{color:var(--text-muted);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:flex}.est-card{gap:14px}.est-subtitle{color:var(--text-muted);margin-left:auto;font-size:12px}.est-fields{flex-wrap:wrap;gap:12px;display:flex}.est-field{flex-direction:column;flex:1;gap:4px;min-width:160px;display:flex}.est-dev-pills{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.est-actions{align-items:center;gap:12px;display:flex}.est-error{color:var(--error);margin:0;font-size:13px}.est-result{border-radius:10px;flex-direction:column;gap:12px;padding:16px 20px;display:flex}.est-result--ok{background:#f0fdf4;border:1px solid #bbf7d0}.est-result--warn{background:#fffbeb;border:1px solid #fde68a}.est-result-warn{color:#92400e;margin:0;font-size:13px}.est-result-dates{flex-wrap:wrap;gap:24px;display:flex}.est-result-date{flex-direction:column;gap:3px;display:flex}.est-result-date-label{text-transform:uppercase;letter-spacing:.05em;color:#15803d;font-size:11px;font-weight:600}.est-result-date--buffered .est-result-date-label{color:#0369a1}.est-result-date-val{color:var(--text-heading);letter-spacing:-.03em;font-size:22px;font-weight:800}.est-result-date--buffered .est-result-date-val{color:#0369a1}.est-result-breakdown{flex-wrap:wrap;gap:10px;display:flex}.est-result-dev{color:var(--text-muted);align-items:center;gap:5px;font-size:13px;display:flex}.sp-card{gap:16px}.sp-list{flex-direction:column;gap:6px;display:flex}.sp-row{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);align-items:center;gap:12px;padding:10px 12px;display:flex}.sp-row--inactive{opacity:.45}.sp-row-check input{cursor:pointer;width:16px;height:16px}.sp-row-order{flex-direction:column;gap:1px;display:flex}.sp-order-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:10px;line-height:1}.sp-order-btn:hover:not(:disabled){background:var(--bg);color:var(--text)}.sp-order-btn:disabled{opacity:.25;cursor:default}.sp-row-main{flex:1;align-items:center;gap:14px;min-width:0;display:flex}.sp-row-name{color:var(--text-heading);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.sp-row-hours{color:var(--text-muted);flex-shrink:0;font-size:12px}.sp-row-devs{flex-shrink:0;gap:4px;display:flex}.sp-result-pending{color:var(--text-muted);font-size:12px}.sp-result-warn{color:#92400e;max-width:220px;font-size:12px}.sp-result-dates{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;display:flex}.sp-result-date{color:#15803d;font-size:13px;font-weight:700}.sp-result-date--buffered{color:#0369a1;font-size:11px;font-weight:500}.sp-row-delete{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:14px}.sp-row-delete:hover{color:var(--error);background:#fee2e2}.sp-draft{border-top:1px dashed var(--border);flex-direction:column;gap:12px;padding-top:16px;display:flex}.sp-draft-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:13px;font-weight:600}.cap-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.cap-nav{align-items:center;gap:10px;display:flex}.cap-nav h1{text-align:center;letter-spacing:-.3px;min-width:190px;margin:0;font-size:20px;font-weight:700}.btn-icon{background:var(--surface);border:1px solid var(--border);cursor:pointer;color:var(--text);border-radius:8px;padding:5px 14px;font-size:15px;transition:background .1s,border-color .1s}.btn-icon:hover{background:var(--bg);border-color:#d1d5db}.cap-add-dev{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.cap-table-wrap{border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);background:var(--surface);overflow-x:auto}.cap-table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}.cap-table th,.cap-table td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:0}.cap-table tr td:last-child,.cap-table tr th:last-child{border-right:none}.cap-table tbody tr:last-child td{border-bottom:none}.cap-table tbody tr:hover td{box-shadow:inset 0 0 0 999px #2563eb0a}.cap-dev-col{text-align:left;text-transform:uppercase;letter-spacing:.6px;min-width:160px;color:var(--text-muted);background:var(--bg);z-index:2;font-size:11px;font-weight:600;position:sticky;left:0;padding:10px 16px!important}.cap-dev-name{white-space:nowrap;background:var(--surface);z-index:1;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:9px;transition:background .12s;display:flex;position:sticky;left:0;padding:8px 16px!important}.cap-dev-name:hover{background:var(--bg)}.cap-dev-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.cap-dev-label{color:var(--text-heading);flex:1;font-size:13.5px;font-weight:600}.cap-dev-arrow{color:var(--text-muted);opacity:.5;font-size:12px;transition:all .12s}.cap-dev-name:hover .cap-dev-arrow{color:var(--primary);opacity:1;transform:translate(1px,-1px)}.cap-day-head{text-align:center;background:var(--bg);min-width:46px;padding:7px 2px 6px!important}.cap-day-name{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-size:10px;font-weight:500;display:block}.cap-day-num{color:var(--text-heading);font-size:14px;font-weight:700;line-height:1.15;display:block}.cap-day-head.weekend{background:color-mix(in srgb, var(--text-muted) 8%, var(--bg))}.cap-day-head.weekend .cap-day-num,.cap-day-head.weekend .cap-day-name{color:var(--text-muted)}.cap-day-head.past{opacity:.5}.cap-day-head.today{background:color-mix(in srgb, var(--primary) 12%, var(--surface))}.cap-day-head.today .cap-day-num{color:var(--primary)}.cap-day-today{text-transform:uppercase;letter-spacing:.3px;color:#fff;background:var(--primary);border-radius:6px;margin-top:2px;padding:1px 5px;font-size:8px;font-weight:800;display:inline-block}.cap-cell{text-align:center;cursor:pointer;vertical-align:top;width:46px;min-height:50px;transition:background .12s;padding:5px 3px 4px!important}.cap-cell:hover{background:color-mix(in srgb, var(--primary) 7%, var(--surface))}.cap-cell.weekend{background:color-mix(in srgb, var(--text-muted) 6%, var(--surface))}.cap-cell.today{background:color-mix(in srgb, var(--primary) 5%, var(--surface))}.cap-cell.past{opacity:.45}.cap-cell.fill-free{background:color-mix(in srgb, var(--success) 9%, var(--surface))}.cap-cell.fill-partial{background:color-mix(in srgb, var(--primary) 6%, var(--surface))}.cap-cell.fill-full{background:color-mix(in srgb, var(--warning) 13%, var(--surface))}.cap-cell.fill-over{background:color-mix(in srgb, var(--error) 14%, var(--surface))}.cap-hours{letter-spacing:-.2px;border-radius:5px;padding:2px 6px;font-size:11.5px;font-weight:700;display:inline-block}.cap-cell-bar{background:color-mix(in srgb, var(--text-muted) 12%, transparent);border-radius:3px;width:100%;height:4px;margin:4px 0 3px;display:flex;overflow:hidden}.cap-cell-bar-seg{height:100%}.cap-remaining{font-size:10px;font-weight:700;line-height:1;display:block}.cap-total-head{background:var(--bg);text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);white-space:nowrap;text-align:center;min-width:76px;font-size:11px;font-weight:600;padding:8px 12px!important}.cap-total{text-align:center;white-space:nowrap;padding:10px 12px!important}.cap-total span{color:var(--text-heading);font-size:14px;font-weight:800}.cap-alloc-total{color:var(--text-muted);margin-top:2px;font-size:11px;font-weight:500}.cap-del-col{text-align:center;background:var(--surface);padding:6px!important}.cap-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:12px;display:flex}.cap-legend{color:var(--text-muted);gap:14px;font-size:12px;display:flex}.cap-legend span{align-items:center;gap:5px;display:flex}.cap-legend i{border:1px solid var(--border);border-radius:3px;width:12px;height:12px;display:inline-block}.cap-legend i.lg-free{background:color-mix(in srgb, var(--success) 20%, var(--surface))}.cap-legend i.lg-partial{background:color-mix(in srgb, var(--primary) 14%, var(--surface))}.cap-legend i.lg-full{background:color-mix(in srgb, var(--warning) 28%, var(--surface))}.cap-legend i.lg-over{background:color-mix(in srgb, var(--error) 28%, var(--surface))}.cap-hint{color:var(--text-muted);margin:0;font-size:12px}.cap-modal-stat-sub{color:var(--success);margin-top:3px;font-size:11px;font-weight:600;display:block}.cap-modal-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1000;background:#0f172a73;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.cap-modal{background:var(--surface);border-radius:16px;flex-direction:column;width:100%;max-width:600px;max-height:80vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #0003}.cap-modal-header{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:12px;padding:20px 24px 16px;display:flex}.cap-modal-dev-info{flex:1;align-items:center;gap:10px;display:flex}.cap-modal-dot{border-radius:50%;flex-shrink:0;width:14px;height:14px}.cap-modal-title{color:var(--text-heading);margin:0;font-size:18px;font-weight:700}.cap-modal-period{color:var(--text-muted);white-space:nowrap;font-size:13px;font-weight:500}.cap-modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;margin-left:8px;padding:0 4px;font-size:22px;line-height:1}.cap-modal-close:hover{background:var(--bg);color:var(--text)}.cap-modal-quickset{flex-shrink:0;justify-content:flex-end;padding:12px 24px 0;display:flex}.cap-modal-stats{border-bottom:1px solid var(--border);background:#f9fafb;flex-shrink:0;align-items:center;gap:0;padding:16px 24px;display:flex}.cap-modal-stat{text-align:center;flex:1}.cap-modal-stat-val{color:var(--text-heading);letter-spacing:-.5px;font-size:22px;font-weight:800;line-height:1;display:block}.cap-modal-stat-lbl{color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;margin-top:3px;font-size:11px;font-weight:500;display:block}.cap-modal-stat-div{background:var(--border);flex-shrink:0;width:1px;height:36px}.cap-modal-totalbar{background:#e5e7eb;flex-shrink:0;height:5px;display:flex}.cap-modal-totalbar-seg{height:100%;transition:width .3s}.cap-modal-body{flex-direction:column;gap:18px;padding:20px 24px;display:flex;overflow-y:auto}.cap-modal-empty{color:var(--text-muted);text-align:center;margin:0;padding:20px 0;font-size:14px}.cap-modal-proj{flex-direction:column;gap:8px;display:flex}.cap-modal-proj-header{align-items:center;gap:8px;display:flex}.cap-modal-proj-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.cap-modal-proj-name{color:var(--text-heading);flex:1;font-size:14px;font-weight:600}.cap-modal-proj-total{color:var(--text-muted);font-size:13px;font-weight:700}.cap-modal-proj-bar{background:#e5e7eb;border-radius:2px;height:4px;overflow:hidden}.cap-modal-proj-bar-fill{border-radius:2px;height:100%;transition:width .3s}.cap-modal-proj-days{flex-wrap:wrap;gap:5px;display:flex}.cap-modal-day-chip{white-space:nowrap;border:1px solid;border-radius:20px;padding:3px 9px;font-size:11px;font-weight:600}.mapping-block{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:10px;padding:16px;display:flex}.mapping-exec-header{align-items:center;gap:10px;display:flex}.mapping-exec-header strong{color:var(--text-heading);font-size:14px}.mapping-hours-total{color:var(--primary);background:color-mix(in srgb, var(--primary) 10%, var(--surface));border-radius:10px;padding:2px 8px;font-size:12px;font-weight:600}.mapping-airtable-tasks{flex-direction:column;gap:4px;padding-left:8px;display:flex}.mapping-at-row{cursor:default;color:var(--text-muted);border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 10px;font-size:13px;transition:background .1s;display:flex}.mapping-at-row:hover{background:var(--bg)}.mapping-at-row.selected{background:color-mix(in srgb, var(--primary) 8%, var(--surface));color:var(--text)}.mapping-exec-check{cursor:pointer;flex:1;align-items:center;gap:6px;min-width:180px;display:flex}.mapping-at-name{flex:1}.mapping-at-est{color:var(--text-muted);white-space:nowrap;font-size:12px}.mapping-bulk{background:var(--bg);border:1px dashed var(--border);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;padding:10px 14px;display:flex}.mapping-bulk .mapping-devs-label{color:var(--text);font-weight:600}.mapping-devs{flex-wrap:wrap;align-items:center;gap:6px;padding-left:8px;display:flex}.mapping-devs-label{color:var(--text-muted);font-size:12px}.mapping-dev-chip{cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);border-radius:20px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:500;transition:all .12s;display:flex}.mapping-dev-chip:hover{color:var(--text);border-color:#94a3b8}.mapping-dev-chip input{display:none}.mapping-dev-chip.selected{font-weight:600}.clockify-mode-toggle{border:1px solid var(--border);border-radius:var(--radius-md);gap:0;width:fit-content;margin-bottom:16px;display:flex;overflow:hidden}.btn-toggle{background:var(--surface);color:var(--text-muted);cursor:pointer;border:none;padding:8px 16px;font-size:13px;font-weight:500;transition:all .12s}.btn-toggle:hover{background:var(--bg)}.btn-toggle.active{background:var(--primary);color:#fff}.clockify-new-client{align-items:center;gap:8px;margin-top:8px;display:flex}.clockify-new-client .input{flex:1}.clockify-linked-actions{align-items:center;gap:16px;display:flex}.clockify-synced-at{color:var(--text-muted);margin:8px 0 0;font-size:12px}.clockify-table{border-collapse:collapse;width:100%;margin-top:16px;font-size:14px}.clockify-table th{text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border);padding:6px 12px;font-size:12px;font-weight:600}.clockify-table td{border-bottom:1px solid var(--border);padding:8px 12px}.clockify-table th:not(:first-child),.clockify-table td:not(:first-child){white-space:nowrap;width:1%}.hours-estimate{color:var(--text-muted)}.hours-actual{border-radius:10px;padding:2px 8px;font-size:12px;font-weight:600}.hours-actual.hours-over{color:var(--error);background:#fee2e2}.hours-actual.hours-under{color:#15803d;background:#dcfce7}.reports-search{width:220px}.task-remaining{color:var(--text-muted);white-space:nowrap;font-size:12px}.login-page{justify-content:center;align-items:center;min-height:80vh;display:flex}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);text-align:center;width:100%;max-width:380px;padding:44px 40px}.login-card h1{color:var(--text-heading);letter-spacing:-.02em;margin:0;font-size:26px;font-weight:800}.login-sub{color:var(--text-muted);margin:8px 0 28px;font-size:14px}.login-google{background:var(--primary);color:#fff;border-radius:var(--radius-md);align-items:center;gap:10px;padding:12px 22px;font-size:15px;font-weight:600;text-decoration:none;transition:background .15s;display:inline-flex}.login-google:hover{background:var(--primary-hover)}.login-google-icon{width:22px;height:22px;color:var(--primary);background:#fff;border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:800;display:inline-flex}.login-note{color:var(--text-muted);margin:20px 0 0;font-size:12px}.nav-logout{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:8px;padding:6px 14px;font-size:13px;font-weight:500;transition:background .15s}.nav-logout:hover{background:#fff3}.admin-active{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.mycap-weekhead{grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:6px;display:grid}.mycap-wh{text-align:center;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);font-size:11px;font-weight:700}.mycap-grid{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.mycap-empty{visibility:hidden}@media (width<=640px){.mycap-cell{padding:8px 3px}.mycap-num{font-size:14px}}.mycap-cell{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;flex-direction:column;align-items:center;gap:3px;padding:10px 6px;transition:background .12s,border-color .12s;display:flex}.mycap-cell:hover:not(:disabled){border-color:var(--primary);background:color-mix(in srgb, var(--primary) 6%, var(--surface))}.mycap-cell.weekend{background:color-mix(in srgb, var(--text-muted) 6%, var(--surface))}.mycap-cell.today{border-color:var(--primary)}.mycap-cell.past{opacity:.4;cursor:not-allowed}.mycap-cell.filled{background:color-mix(in srgb, var(--success) 8%, var(--surface))}.mycap-num{color:var(--text-heading);font-size:16px;font-weight:700}.mycap-h{border-radius:5px;margin-top:2px;padding:1px 6px;font-size:11px;font-weight:700}.calibration-main{align-items:center;gap:16px;display:flex}.calibration-bias{letter-spacing:-.02em;color:var(--text-heading);font-size:32px;font-weight:800}.calibration-bias.over{color:var(--error)}.calibration-bias.under{color:var(--success)}.calibration-desc{color:var(--text);font-size:14px}.calibration-detail{color:var(--text-muted);margin:8px 0 0;font-size:13px}.util-wrap{overflow-x:auto}.util-table{border-collapse:collapse;width:100%;font-size:13px}.util-table th{text-align:center;color:var(--text-muted);padding:6px 8px;font-size:12px;font-weight:600}.util-table th.util-dev-col{text-align:left}.util-dev-name{white-space:nowrap;align-items:center;gap:8px;padding:6px 12px 6px 0;font-weight:600;display:flex}.util-cell{text-align:center;border-radius:8px;min-width:66px;padding:6px 4px}.util-cell .util-pct{font-size:14px;font-weight:700;display:block}.util-cell .util-hrs{opacity:.75;font-size:11px;display:block}.util-cell.u-none{color:var(--text-muted)}.util-cell.u-free{color:#15803d;background:#dcfce7}.util-cell.u-ok{color:#1d4ed8;background:#dbeafe}.util-cell.u-full{color:#b45309;background:#fef3c7}.util-cell.u-over{color:#b91c1c;background:#fee2e2}.util-legend{color:var(--text-muted);gap:16px;margin-top:12px;font-size:12px;display:flex}.util-legend span{align-items:center;gap:5px;display:flex}.util-legend i{border-radius:3px;width:12px;height:12px;display:inline-block}.util-legend i.u-free{background:#dcfce7}.util-legend i.u-ok{background:#dbeafe}.util-legend i.u-full{background:#fef3c7}.util-legend i.u-over{background:#fee2e2}[data-theme=dark] .util-cell.u-free{color:#6ee7a8;background:#14321f}[data-theme=dark] .util-cell.u-ok{color:#93c5fd;background:#14233f}[data-theme=dark] .util-cell.u-full{color:#fcd34d;background:#3a2e12}[data-theme=dark] .util-cell.u-over{color:#fca5a5;background:#3b1418}[data-theme=dark] .util-legend i.u-free{background:#14321f}[data-theme=dark] .util-legend i.u-ok{background:#14233f}[data-theme=dark] .util-legend i.u-full{background:#3a2e12}[data-theme=dark] .util-legend i.u-over{background:#3b1418}.alloc-review{margin-bottom:16px}.alloc-review-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.alloc-review-title{margin:0}.alloc-review-desc{color:var(--text-muted);max-width:640px;margin:4px 0 0;font-size:12px}.alloc-review-summary{color:var(--text);background:var(--bg);border-radius:var(--radius-md);margin:14px 0;padding:12px 14px;font-size:14px}.alloc-review-ok{color:#15803d;margin:12px 0 0;font-weight:600}.alloc-review-list{flex-direction:column;gap:10px;margin-top:12px;display:flex}.alloc-finding{border:1px solid var(--border);border-radius:var(--radius-md);border-left-width:3px;padding:12px 14px}.alloc-finding--warn{border-left-color:var(--error);background:#fef2f2}.alloc-finding--info{border-left-color:var(--primary);background:color-mix(in srgb, var(--primary) 8%, var(--surface))}.alloc-finding-top{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.alloc-finding-cat{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);white-space:nowrap;font-size:11px;font-weight:600}.alloc-finding-title{color:var(--text-heading);font-size:14px}.alloc-finding-meta{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.alloc-finding-chip{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);border-radius:20px;padding:2px 8px;font-size:12px}.alloc-finding-detail{color:var(--text);margin:8px 0 0;font-size:13px}.alloc-finding-suggestion{color:var(--text-muted);margin:6px 0 0;font-size:13px}.alloc-finding-actions{margin-top:10px}.alloc-finding-done{color:#15803d;font-size:13px;font-weight:600}.alloc-review-rerun{color:var(--text-muted);margin:10px 0 0;font-size:13px}.clockify-overview-row{cursor:pointer;transition:background .12s}.clockify-overview-row:hover{background:var(--bg)}.clockify-overview-total td{color:var(--text-heading);border-top:2px solid var(--border);border-bottom:none;font-weight:700}.nav-right{align-items:center;gap:12px;display:flex}.theme-toggle{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;transition:background .15s;display:inline-flex}.theme-toggle:hover{background:#fff3}[data-theme=dark]{--bg:#161c18;--surface:#202a25;--border:#35423b;--text:#dce3dc;--text-muted:#94a297;--text-heading:#f2f5f0;--nav-bg:#141a16;--primary:#7fb98a;--primary-hover:#95c79e;--error:#f87171;--warning:#fbbf24;--success:#4ade80;--shadow-sm:0 1px 3px #00000073, 0 1px 2px #00000059;--shadow-md:0 4px 18px #00000080, 0 2px 5px #00000059;--shadow-lg:0 12px 44px #0009, 0 5px 14px #0006;--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg)}[data-theme=dark] body{background:var(--bg)}[data-theme=dark] .input,[data-theme=dark] .select,[data-theme=dark] .textarea{border-color:var(--border);color:var(--text);background:#0f1728}[data-theme=dark] .input::placeholder,[data-theme=dark] .textarea::placeholder{color:#64708a}[data-theme=dark] .badge-blue{color:#93c5fd;background:#1e3a5f}[data-theme=dark] .badge-green{color:#6ee7a8;background:#14432a}[data-theme=dark] .badge-orange{color:#fbbf24;background:#442a12}[data-theme=dark] .badge-gray{color:#b6c1d6;background:#2a3752}[data-theme=dark] .error-box{color:#fca5a5;background:#3b1418;border-color:#7f1d1d}[data-theme=dark] .setup-running-bar{color:#6ee7a8;background:#14321f;border-color:#1f5136}[data-theme=dark] .setup-task-row.assigned{background:#14321f;border-color:#1f5136}[data-theme=dark] .sync-result-bar--nochange{border-color:var(--border);color:var(--text-muted);background:#182135}[data-theme=dark] .sync-result-bar--changed{color:#6ee7a8;background:#14321f;border-color:#1f5136}[data-theme=dark] .btn-table-delete:hover,[data-theme=dark] .btn-remove:hover{background:#3b1418}[data-theme=dark] .home-card{background:var(--surface);border-color:var(--border)}[data-theme=dark] .alloc-finding--warn{border-left-color:var(--error);background:#2a1518}[data-theme=dark] .alloc-finding--info{border-left-color:var(--primary);background:#14233f}[data-theme=dark] .hours-actual.hours-over{color:#fca5a5;background:#3b1418}[data-theme=dark] .hours-actual.hours-under{color:#6ee7a8;background:#14321f}[data-theme=dark] .alloc-review-summary{background:#0f1728}[data-theme=dark] .cap-modal-stats{background:#101a2e}[data-theme=dark] .cap-modal-totalbar,[data-theme=dark] .cap-modal-proj-bar{background:#2a3752}[data-theme=dark] .cap-table-wrap{box-shadow:none}
