@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&display=swap";:root{font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#root,.team-members{width:100%}.team-members .data-table td:last-child{white-space:nowrap}.team-members .data-table td:last-child .btn{margin-right:var(--space-xs)}.team-members .data-table td:last-child .btn:last-child{margin-right:0}.expand-toggle{display:inline-block;transition:transform .2s ease;font-size:var(--text-base);color:var(--text-muted);width:16px;cursor:pointer;-webkit-user-select:none;user-select:none}.expand-toggle.expanded{transform:rotate(90deg)}.expanded-parent{background:var(--bg-hover)!important}.salary-history-row>td{padding:0!important;border-bottom:2px solid var(--primary)!important}.salary-history-panel{background:var(--bg-surface);padding:var(--space-lg) var(--space-xl);border-left:3px solid var(--primary)}.salary-history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg)}.salary-history-header h4{margin:0;font-size:var(--text-md);font-weight:600;color:var(--text);font-family:Outfit,sans-serif}.salary-history-table{margin-bottom:var(--space-lg)}.salary-history-table .current-entry{background:var(--primary-glow)!important}.salary-change-form{background:var(--bg-card);border-radius:var(--radius);padding:var(--space-lg);border:1px solid var(--border);margin-top:var(--space-md)}.salary-change-form h4{margin:0 0 var(--space-md) 0;font-size:var(--text-base);font-weight:600;color:var(--primary);font-family:Outfit,sans-serif}.salary-change-form .form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md)}@media(max-width:768px){.salary-change-form .form-grid{grid-template-columns:1fr 1fr}}.ledger-section{margin-top:var(--space-2xl, 2.5rem)}.ledger-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg)}.ledger-section-header h3{margin:0;font-family:Outfit,sans-serif;font-size:var(--text-lg);font-weight:600;color:var(--text)}.ledger-total-badge{background:var(--bg-card);border:1px solid var(--primary);color:var(--text);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius);font-size:var(--text-sm);font-family:DM Sans,sans-serif}.ledger-total-badge strong{color:var(--primary);margin-left:var(--space-xs)}.month-group-header td{background:var(--bg-hover)!important;font-family:Outfit,sans-serif;font-size:var(--text-sm);text-transform:capitalize;color:var(--text-secondary);padding-top:var(--space-sm)!important;padding-bottom:var(--space-sm)!important;border-bottom:1px solid var(--border)!important}.ledger-entry-row td:first-child{width:1px}.ledger-edit-input{width:140px;padding:var(--space-xs) var(--space-sm);background:var(--bg-surface);border:1px solid var(--primary);border-radius:var(--radius-sm, 4px);color:var(--text);font-size:var(--text-sm);font-family:DM Sans,sans-serif;text-align:right}.ledger-edit-input:focus{outline:none;box-shadow:0 0 0 2px var(--primary-glow, rgba(56, 189, 248, .15))}.ledger-table .btn{margin-right:var(--space-xs)}.ledger-table .btn:last-child{margin-right:0}.user-management{padding:var(--space-lg)}.user-management.loading{display:flex;justify-content:center;align-items:center;min-height:200px;color:var(--text-muted);font-family:DM Sans,sans-serif}.user-management .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xl)}.user-management .section-header h2{margin:0;font-family:Outfit,sans-serif;color:var(--text);letter-spacing:-.01em}.error-message{background:var(--danger-bg);border:1px solid var(--danger);color:var(--danger);padding:var(--space-lg) var(--space-lg);border-radius:var(--radius);margin-bottom:var(--space-lg);font-family:DM Sans,sans-serif;font-size:var(--text-base)}.modal-overlay{position:fixed;inset:0;background:#000000a6;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:overlayFadeIn var(--transition-base) ease-out}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-content{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--space-xl);width:100%;max-width:clamp(360px,30vw,500px);border:1px solid var(--border);box-shadow:var(--shadow-xl);animation:modalSlideIn var(--transition-slow) ease-out}.modal-content h3{margin:0 0 var(--space-xl) 0;color:var(--primary);font-family:Outfit,sans-serif;font-weight:600;letter-spacing:-.01em}.form-group{margin-bottom:var(--space-lg)}.form-group label{display:block;font-family:DM Sans,sans-serif;font-size:var(--text-base);color:var(--text-muted);text-transform:uppercase;font-weight:600;margin-bottom:var(--space-sm);letter-spacing:.04em}.form-group input[type=text],.form-group input[type=password],.form-group select{width:100%;padding:var(--space-md) var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text);font-family:DM Sans,sans-serif;font-size:var(--text-base);transition:border-color var(--transition-base) ease,box-shadow var(--transition-base) ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.form-group.checkbox label{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer;font-size:var(--text-base);text-transform:none;font-weight:400;color:var(--text);letter-spacing:normal}.form-group.checkbox input[type=checkbox]{width:auto;accent-color:var(--primary)}.form-hint{display:block;font-size:var(--text-sm);color:var(--text-muted);margin-top:var(--space-sm);font-style:italic;font-family:DM Sans,sans-serif}.form-actions{display:flex;gap:var(--space-lg);margin-top:var(--space-xl)}.form-actions .btn{flex:1}.users-table-container{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden;box-shadow:var(--shadow)}.users-table{width:100%;border-collapse:collapse;font-family:DM Sans,sans-serif}.users-table th,.users-table td{padding:var(--space-lg) var(--space-lg);text-align:left;border-bottom:1px solid var(--border-light)}.users-table th{background:var(--bg-dark);font-size:var(--text-sm);text-transform:uppercase;color:var(--text-muted);font-weight:600;letter-spacing:.04em}.users-table tbody tr:last-child td{border-bottom:none}.users-table tbody tr{transition:background-color var(--transition-fast) ease}.users-table tbody tr:hover{background:var(--bg-card-hover)}.users-table tbody tr.inactive{opacity:.5}.users-table .username{font-weight:600;color:var(--text)}.role-badge{display:inline-block;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-family:DM Sans,sans-serif;font-size:var(--text-sm);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.role-badge.admin{background:var(--primary-glow);color:var(--primary)}.role-badge.cto{background:#ff165429;color:var(--primary-light);box-shadow:inset 0 0 0 1px #ff165459}.role-badge.member{background:var(--info-bg);color:var(--info)}.role-badge.product_owner{background:#a78bfa1f;color:var(--secondary)}.role-badge.secretary{background:#2dd4bf1f;color:#2dd4bf}.role-badge.stakeholder{background:#f871711f;color:#f87171}.role-badge.sales{background:#34d39926;color:#34d399}.status-badge{display:inline-block;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-family:DM Sans,sans-serif;font-size:var(--text-sm);font-weight:600;letter-spacing:.03em}.status-badge.active{background:var(--success-bg);color:var(--success)}.status-badge.inactive{background:#94a3b81a;color:var(--text-muted)}.users-table .actions{display:flex;gap:var(--space-sm)}.no-users{padding:var(--space-3xl);text-align:center;color:var(--text-muted);background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);font-family:DM Sans,sans-serif}@media(max-width:768px){.users-table-container{overflow-x:auto}.users-table{min-width:clamp(500px,50vw,700px)}.modal-content{margin:var(--space-lg)}}.section-tabs-page{display:flex;flex-direction:column;gap:1rem}.section-tabs{display:flex;gap:.35rem;border-bottom:1px solid var(--border, rgba(255, 255, 255, .08));padding-bottom:0}.section-tab{appearance:none;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary, #9aa3b2);font-size:var(--text-md, .95rem);font-weight:600;padding:.55rem .9rem;cursor:pointer;transition:color .15s ease,border-color .15s ease}.section-tab:hover{color:var(--text-primary, #e8ecf3)}.section-tab.active{color:var(--primary, #4f8cff);border-bottom-color:var(--primary, #4f8cff)}.expenses{width:100%}.expenses .stats-row{display:flex;gap:var(--space-lg);margin-bottom:var(--space-xl);flex-wrap:wrap}.expenses .stat-mini{background:var(--bg-card);border-radius:var(--radius);padding:var(--space-lg) var(--space-xl);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:var(--space-xs);min-width:clamp(140px,12vw,200px);border:1px solid var(--border);border-left:3px solid var(--primary);transition:transform var(--transition-base)}.expenses .stat-mini:hover{transform:translateY(-1px)}.expenses .stat-mini:nth-child(1){border-left-color:var(--warning)}.expenses .stat-mini:nth-child(2){border-left-color:var(--info)}.expenses .stat-mini:nth-child(3){border-left-color:var(--success)}.expenses .stat-mini:nth-child(4){border-left-color:#f97316}.expenses .stat-mini .stat-label{font-size:var(--text-sm);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600;font-family:DM Sans,sans-serif}.expenses .stat-mini .stat-value{font-size:var(--text-xl);font-weight:700;color:var(--primary);font-family:Outfit,sans-serif}.expenses-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--space-xl)}.section-title{font-size:var(--text-md);font-weight:600;color:var(--text);margin:var(--space-xl) 0 var(--space-lg) 0;padding-bottom:var(--space-sm);border-bottom:2px solid var(--border);font-family:Outfit,sans-serif}.total-cell{font-weight:700!important;color:var(--primary)!important;background:var(--primary-glow)}.subscriptions-list{display:flex;flex-direction:column;gap:var(--space-lg)}.subscription-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow);border-left:4px solid var(--success);transition:transform var(--transition-base),box-shadow var(--transition-base)}.subscription-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg)}.subscription-card.inactive{border-left-color:var(--text-muted);opacity:.7}.subscription-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.subscription-header h4{font-size:var(--text-md);font-weight:600;color:var(--text);margin:0;font-family:Outfit,sans-serif}.subscription-details{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:var(--space-md)}.subscription-amount{font-size:var(--text-xl);font-weight:700;color:var(--primary);font-family:Outfit,sans-serif}.billing-cycle{font-size:var(--text-base);font-weight:400;color:var(--text-muted)}.subscription-meta{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-xs)}.subscription-meta .start-date{font-size:var(--text-sm);color:var(--text-muted)}.subscription-actions{display:flex;gap:var(--space-sm);padding-top:var(--space-md);border-top:1px solid var(--border)}@media(max-width:1024px){.expenses-grid{grid-template-columns:1fr}}@media(max-width:768px){.expenses .stats-row{flex-direction:column}.expenses .stat-mini{min-width:auto}.subscription-details{flex-direction:column;align-items:flex-start;gap:var(--space-sm)}.subscription-meta{align-items:flex-start}}.custom-items-section{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--border)}.custom-items-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.custom-items-header label{font-size:var(--text-sm);font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:.05em}.custom-items-list{display:flex;flex-direction:column;gap:var(--space-sm)}.custom-item-row{display:grid;grid-template-columns:1fr 120px auto;gap:var(--space-sm);align-items:center}.custom-item-row input[type=text],.custom-item-row input[type=number]{padding:var(--space-sm) var(--space-md);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:var(--text-sm)}.expandable-row{cursor:pointer}.expandable-row:hover{background:var(--bg-hover)!important}.month-cell{display:flex;align-items:center;gap:var(--space-sm)}.expand-icon{display:inline-block;transition:transform .2s ease;font-size:var(--text-sm);color:var(--text-muted);width:12px}.expand-icon.expanded{transform:rotate(90deg)}.custom-badge{font-size:.65rem;padding:1px 6px;border-radius:10px;background:var(--secondary);color:#fff;font-weight:600;white-space:nowrap}.custom-item-detail-row{background:var(--bg-surface)!important}.custom-item-detail-row td{padding-top:var(--space-xs)!important;padding-bottom:var(--space-xs)!important;font-size:var(--text-sm);color:var(--text-muted);border-bottom:1px solid var(--border)!important}.custom-item-name{padding-left:calc(var(--space-xl) + 12px)!important;font-style:italic}.expense-section-header{display:flex;justify-content:space-between;align-items:center}.expense-section-header .section-title{margin:0;border-bottom:none;padding-bottom:0}.expenses .section-header-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.overhead-section{margin-top:var(--space-2xl)}.overhead-section .section-header{margin-bottom:var(--space-lg)}.overhead-section .section-desc{font-size:var(--text-base);color:var(--text-muted);margin-top:var(--space-xs)}.purchases{width:100%}.stats-row{display:flex;gap:var(--space-lg);margin-bottom:var(--space-xl);flex-wrap:wrap}.stat-mini{background:var(--bg-card);border-radius:var(--radius);padding:var(--space-lg) var(--space-xl);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:var(--space-xs);min-width:clamp(120px,10vw,170px);border:1px solid var(--border);border-top:3px solid var(--primary);transition:transform var(--transition-base),box-shadow var(--transition-base)}.stat-mini:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.stat-mini:first-child{border-top-color:var(--success)}.stat-mini .stat-label{font-family:DM Sans,sans-serif;font-size:var(--text-sm);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.stat-mini .stat-value{font-family:Outfit,sans-serif;font-size:var(--text-lg);font-weight:700;color:var(--primary)}.purchases .data-table td:last-child{white-space:nowrap;font-family:DM Sans,sans-serif;color:var(--text)}.purchases .section-header h2{font-family:Outfit,sans-serif;color:var(--text)}.personal-budgets{width:100%}.personal-budgets .section-desc{font-size:var(--text-base);color:var(--text-muted);margin-top:var(--space-xs)}.personal-budgets .stats-row{display:flex;gap:var(--space-lg);margin-bottom:var(--space-xl);flex-wrap:wrap}.personal-budgets .stat-mini{background:var(--bg-card);border-radius:var(--radius);padding:var(--space-lg) var(--space-xl);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:var(--space-xs);min-width:clamp(140px,12vw,200px);border:1px solid var(--border);border-left:3px solid var(--primary);transition:transform var(--transition-base)}.personal-budgets .stat-mini:hover{transform:translateY(-1px)}.personal-budgets .stat-mini:nth-child(1){border-left-color:var(--primary)}.personal-budgets .stat-mini:nth-child(2){border-left-color:var(--warning)}.personal-budgets .stat-mini:nth-child(3){border-left-color:var(--success)}.personal-budgets .stat-mini:nth-child(4){border-left-color:var(--info)}.personal-budgets .stat-mini:nth-child(5){border-left-color:#f97316}.personal-budgets .stat-mini .stat-label{font-size:var(--text-sm);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600;font-family:DM Sans,sans-serif}.personal-budgets .stat-mini .stat-value{font-size:var(--text-xl);font-weight:700;color:var(--primary);font-family:Outfit,sans-serif}.personal-budgets .section-title{font-size:var(--text-md);font-weight:600;color:var(--text);margin:var(--space-xl) 0 var(--space-lg) 0;padding-bottom:var(--space-sm);border-bottom:2px solid var(--border);font-family:Outfit,sans-serif}.personal-budgets .member-row{cursor:pointer}.personal-budgets .member-row.selected{background:var(--primary-glow)}.personal-budgets .amount.negative{color:var(--danger, #ef4444);font-weight:700}.personal-budgets .budget-detail{margin-top:var(--space-2xl);padding-top:var(--space-lg);border-top:2px solid var(--border)}.personal-budgets .month-group{margin-top:var(--space-xl)}.personal-budgets .month-group h4{font-size:var(--text-base);font-weight:600;color:var(--text-muted);margin:0 0 var(--space-sm) 0;font-family:Outfit,sans-serif}.personal-budgets .tax-preview{font-size:var(--text-sm);color:var(--text-muted);margin-top:var(--space-xs)}.personal-budgets .tax-preview strong{color:var(--text)}.personal-budgets .muted{color:var(--text-muted)}.promises{max-width:900px}.prm-subtitle{color:var(--text-secondary);font-size:var(--text-sm);margin:4px 0 0;max-width:60ch}.prm-muted{color:var(--text-muted)}.prm-error{background:var(--danger-bg);color:var(--danger);border:1px solid rgba(251,113,133,.3);border-radius:var(--radius);padding:10px 14px;margin-bottom:16px;font-size:var(--text-sm)}.prm-scope{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.prm-scope-tab{background:var(--bg-card);border:1px solid var(--border-medium);color:var(--text-secondary);border-radius:var(--radius-pill, 999px);padding:6px 14px;font-size:var(--text-sm);cursor:pointer;transition:all .15s ease}.prm-scope-tab:hover{background:var(--bg-card-hover);color:var(--text)}.prm-scope-tab.active{background:var(--primary);border-color:var(--primary);color:#fff}.prm-count{color:var(--text-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;margin:0 0 10px}.prm-groups{display:flex;flex-direction:column;gap:20px}.prm-group-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-bottom:6px;margin-bottom:10px;border-bottom:1px solid var(--border-medium)}.prm-group-name{font-family:Outfit,sans-serif;font-size:var(--text-md);font-weight:600;color:var(--text)}.prm-group-count{font-size:var(--text-xs);color:var(--text-muted)}.prm-dot{flex-shrink:0;width:24px;height:24px;margin-top:2px;border-radius:50%;border:2px solid var(--border-medium);color:#fff;font-size:13px;font-weight:700;line-height:1;display:flex;align-items:center;justify-content:center}.prm-dot.checked{background:var(--success);border-color:var(--success)}.prm-list{display:flex;flex-direction:column;gap:10px}.prm-card{display:flex;flex-wrap:wrap;align-items:flex-start;gap:14px;background:var(--bg-card);border:1px solid var(--border-medium);border-left:3px solid var(--primary);border-radius:var(--radius-md);padding:14px 16px;transition:border-color .15s ease,background .15s ease}.prm-card:hover{background:var(--bg-card-hover)}.prm-card.overdue{border-left-color:var(--danger)}.prm-card.done{border-left-color:var(--success);opacity:.7}.prm-check{flex-shrink:0;width:24px;height:24px;margin-top:2px;border-radius:50%;border:2px solid var(--border-focus);background:transparent;color:#fff;font-size:13px;font-weight:700;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.prm-check:hover{border-color:var(--success)}.prm-check.checked{background:var(--success);border-color:var(--success)}.prm-body{flex:1;min-width:0}.prm-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px}.prm-type{font-size:var(--text-xs);font-weight:600;padding:2px 8px;border-radius:var(--radius-sm);background:var(--primary-subtle);color:var(--primary-light)}.prm-type.type-recurring{background:#a78bfa1f;color:var(--secondary)}.prm-author{font-size:var(--text-xs);font-weight:600;color:var(--text-secondary);background:var(--bg-elevated);padding:2px 8px;border-radius:var(--radius-sm)}.prm-badge{font-size:var(--text-xs);font-weight:700;padding:2px 8px;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.03em}.prm-badge.overdue{background:var(--danger-bg);color:var(--danger)}.prm-badge.done{background:var(--success-bg);color:var(--success)}.prm-text{margin:0 0 6px;color:var(--text);font-size:var(--text-base);line-height:1.45;word-break:break-word}.prm-card.done .prm-text{text-decoration:line-through;color:var(--text-secondary)}.prm-meta{font-size:var(--text-sm);color:var(--text-muted)}.prm-actions{display:flex;flex-shrink:0;gap:6px}.prm-history-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000}.prm-history{background:var(--bg-card);border:1px solid var(--border-medium);border-radius:var(--radius-md);width:100%;max-width:480px;max-height:80vh;overflow-y:auto;padding:18px 20px;box-shadow:0 10px 40px #00000059}.prm-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.prm-history-head h4{margin:0;font-family:Outfit,sans-serif;font-size:var(--text-md);color:var(--text)}.prm-history-head .prm-muted{margin:4px 0 0;font-size:var(--text-sm)}.prm-history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.prm-history-list li{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;padding-bottom:10px;border-bottom:1px solid var(--border-medium);font-size:var(--text-sm)}.prm-history-list li:last-child{border-bottom:none;padding-bottom:0}.prm-history-when{grid-column:1 / -1;font-size:var(--text-xs);color:var(--text-muted)}.prm-history-who{font-weight:600;color:var(--text)}.prm-history-what{color:var(--text-secondary)}@media(max-width:640px){.prm-card{flex-wrap:wrap}.prm-actions{width:100%;justify-content:flex-end}}.prm-comments-toggle{margin-left:12px;background:none;border:none;padding:0;color:var(--primary-light);font-size:var(--text-sm);cursor:pointer}.prm-comments-toggle:hover{text-decoration:underline}.prm-comments{flex:0 0 100%;margin-top:12px;padding-top:12px;border-top:1px solid var(--border-medium)}.prm-comments-empty{font-size:var(--text-sm);margin:0 0 10px}.prm-comment-list{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:8px}.prm-comment{background:var(--bg-elevated);border-radius:var(--radius-sm);padding:8px 10px}.prm-comment-head{display:flex;align-items:baseline;gap:8px;margin-bottom:2px}.prm-comment-author{font-weight:600;font-size:var(--text-sm);color:var(--text)}.prm-comment-when{font-size:var(--text-xs);color:var(--text-muted)}.prm-comment-del{margin-left:auto;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:16px;line-height:1;padding:0 2px}.prm-comment-del:hover{color:var(--danger)}.prm-comment-text{margin:0;font-size:var(--text-sm);color:var(--text-secondary);word-break:break-word;white-space:pre-wrap}.prm-comment-add{display:flex;gap:8px}.prm-comment-add input{flex:1;background:var(--bg-card);border:1px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text);padding:6px 10px;font-size:var(--text-sm)}.techq{max-width:900px}.tq-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.tq-header h2{margin:0}.tq-subtitle{color:var(--text-secondary);font-size:var(--text-sm);margin:4px 0 0;max-width:60ch}.tq-muted{color:var(--text-muted)}.tq-error{background:var(--danger-bg);color:var(--danger);border:1px solid rgba(251,113,133,.3);border-radius:var(--radius);padding:10px 14px;margin-bottom:16px;font-size:var(--text-sm)}.tq-week-nav{display:flex;align-items:center;gap:8px}.tq-week-current{display:flex;flex-direction:column;align-items:center;min-width:92px}.tq-week-label{font-size:var(--text-sm);font-weight:600;color:var(--text)}.tq-week-code{font-size:var(--text-xs);color:var(--text-muted)}.tq-raise{display:flex;gap:10px;align-items:flex-end;background:var(--bg-card);border:1px solid var(--border-medium);border-radius:var(--radius-md);padding:14px;margin-bottom:18px}.tq-raise textarea{flex:1;resize:vertical;background:var(--bg-input);border:1px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text);padding:10px 12px;font:inherit;font-size:var(--text-base)}.tq-raise textarea:focus{outline:none;border-color:var(--border-focus)}.tq-count{color:var(--text-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;margin:0 0 10px}.tq-groups{display:flex;flex-direction:column;gap:20px}.tq-group-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-bottom:6px;margin-bottom:10px;border-bottom:1px solid var(--border-medium)}.tq-group-name{font-family:Outfit,sans-serif;font-size:var(--text-md);font-weight:600;color:var(--text)}.tq-group-count{font-size:var(--text-xs);color:var(--text-muted)}.tq-list{display:flex;flex-direction:column;gap:10px}.tq-card{background:var(--bg-card);border:1px solid var(--border-medium);border-left:3px solid var(--secondary);border-radius:var(--radius-md);padding:14px 16px}.tq-card.status-answered{border-left-color:var(--warning)}.tq-card.status-resolved{border-left-color:var(--success);opacity:.78}.tq-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.tq-status{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:2px 8px;border-radius:var(--radius-sm);background:var(--primary-subtle);color:var(--primary-light)}.tq-status.status-answered{background:var(--warning-bg);color:var(--warning)}.tq-status.status-resolved{background:var(--success-bg);color:var(--success)}.tq-time{font-size:var(--text-xs);color:var(--text-muted)}.tq-question{margin:0;color:var(--text);font-size:var(--text-base);line-height:1.5;word-break:break-word}.tq-answer{margin-top:10px;padding:10px 12px;background:var(--bg-inset);border-radius:var(--radius-sm);border-left:2px solid var(--success)}.tq-answer-label{display:block;font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--success);margin-bottom:4px}.tq-answer p{margin:0;color:var(--text);font-size:var(--text-sm);line-height:1.5;white-space:pre-wrap}.tq-respond{margin-top:10px}.tq-respond textarea,.tq-edit textarea{width:100%;resize:vertical;background:var(--bg-input);border:1px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text);padding:8px 10px;font:inherit;font-size:var(--text-sm)}.tq-respond textarea:focus,.tq-edit textarea:focus{outline:none;border-color:var(--border-focus)}.tq-respond-actions,.tq-edit-actions,.tq-owner-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.tq-owner-actions{margin-top:10px}@media(max-width:640px){.tq-raise{flex-direction:column;align-items:stretch}.tq-week-nav{flex-wrap:wrap}}.project-admin{margin-top:var(--space-lg);border-top:1px solid var(--border);padding-top:var(--space-lg)}.pa-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:var(--space-md)}.pa-tab{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-secondary);font-size:var(--text-xs);font-weight:600;padding:.4em .9em;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.pa-tab.active{background:#f800581a;color:#f80058;border-color:#f8005859}.pa-tab-count{background:var(--bg-surface);border-radius:999px;padding:0 .5em;font-size:.85em}.pa-tab-count.warn{background:#fbbf2426;color:#fbbf24}.pa-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm)}.pa-panel-header h5{margin:0;font-size:var(--text-sm)}.pa-error{color:var(--danger);font-size:var(--text-sm);margin-bottom:var(--space-sm)}.pa-muted{color:var(--text-muted);font-size:var(--text-xs)}.pa-hint{margin:-4px 0 var(--space-sm)}.pa-form{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-md);margin-bottom:var(--space-md)}.pa-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--space-md);margin-bottom:var(--space-md)}.pa-form-grid .form-group{display:flex;flex-direction:column;gap:4px}.pa-form-grid label{font-size:var(--text-xs);color:var(--text-muted);font-weight:600}.pa-span-2{grid-column:span 2}.pa-inline-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:var(--space-md)}.pa-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-md);margin-bottom:var(--space-sm)}.pa-card.pa-inactive{opacity:.6}.pa-card-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.pa-card-title{margin-left:6px}.pa-card-actions{display:flex;gap:6px;align-items:center}.pa-card-meta{display:flex;flex-wrap:wrap;gap:14px;margin-top:6px;font-size:var(--text-xs);color:var(--text-secondary);align-items:center}.pa-pill{font-size:var(--text-xs);font-weight:600;padding:.1em .6em;border-radius:999px;border:1px solid var(--border);background:var(--bg-surface);color:var(--text-secondary)}.pa-pill.doctype-contract{color:#38bdf8;border-color:#38bdf859}.pa-pill.doctype-sla{color:#34d399;border-color:#34d39959}.pa-pill.doctype-garantie{color:#fbbf24;border-color:#fbbf2459}.pa-pill.doctype-mentenanta{color:#a78bfa;border-color:#a78bfa59}.pa-pill.doctype-licenta{color:#f80058;border-color:#f8005859}.pa-pill.sev-critic{color:#f87171;border-color:#f8717166;background:#f871711a}.pa-pill.sev-major{color:#fbbf24;border-color:#fbbf2466;background:#fbbf241a}.pa-pill.sev-minor{color:#38bdf8;border-color:#38bdf866;background:#38bdf81a}.pa-pill.sev-informativ{color:var(--text-muted)}.pa-pill.action-create{color:#34d399}.pa-pill.action-delete{color:#f87171}.pa-pill.action-status{color:#38bdf8}.pa-expiry.expired{color:#f87171;font-weight:700}.pa-expiry.expiring{color:#fbbf24;font-weight:700}.pa-docs{margin-top:8px;display:flex;flex-direction:column;gap:4px}.pa-doc-row{display:flex;align-items:center;gap:10px;font-size:var(--text-xs)}.pa-doc-link{background:none;border:none;color:#38bdf8;cursor:pointer;padding:0;font-size:var(--text-xs);text-align:left}.pa-doc-link:hover{text-decoration:underline}.pa-upload{display:inline-block;font-size:var(--text-xs);color:var(--text-secondary);border:1px dashed var(--border);border-radius:6px;padding:.25em .7em;cursor:pointer;width:fit-content}.pa-upload:hover{color:#f80058;border-color:#f8005859}.pa-status-select{font-size:var(--text-xs);padding:.2em .4em;margin-left:4px}.pa-ticket-detail{margin-top:var(--space-sm);border-top:1px dashed var(--border);padding-top:var(--space-sm)}.pa-ticket-desc{font-size:var(--text-sm);color:var(--text-secondary);white-space:pre-wrap}.pa-comments{display:flex;flex-direction:column;gap:8px;margin:var(--space-sm) 0}.pa-comment{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:6px 10px}.pa-comment-meta{font-size:var(--text-xs);color:var(--text-muted);display:flex;align-items:center;gap:8px}.pa-comment-del{margin-left:auto}.pa-comment p{margin:2px 0 0;font-size:var(--text-sm);white-space:pre-wrap}.pa-key span{font-family:ui-monospace,Consolas,monospace;font-size:var(--text-xs);cursor:pointer}.projects{width:100%}.blended-rate-info{display:flex;align-items:center;gap:var(--space-2xl);padding:var(--space-lg) var(--space-xl);background:var(--primary-glow);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:var(--space-xl);flex-wrap:wrap}.rate-card{display:flex;flex-direction:column;padding-right:var(--space-2xl);border-right:1px solid var(--border)}.rate-label{font-size:var(--text-sm);color:var(--text-muted);text-transform:uppercase;font-weight:600;letter-spacing:.05em}.rate-value{font-size:var(--text-2xl);font-weight:700;font-family:Outfit,sans-serif;color:var(--primary)}.rate-breakdown{display:flex;flex-direction:column;gap:var(--space-xs)}.breakdown-item{display:flex;gap:var(--space-md);font-size:var(--text-base);color:var(--text)}.breakdown-item span:first-child{color:var(--text-muted)}.breakdown-item span:last-child{font-weight:600}.breakdown-item.muted{font-size:var(--text-sm);color:var(--text-muted)}.breakdown-item.muted span{color:var(--text-muted);font-weight:400}.breakdown-item.note{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px dashed var(--border);font-style:italic}.calculated-budget{background:var(--success-bg);border:1px solid var(--success);border-radius:var(--radius-sm);padding:var(--space-lg)!important}.budget-preview{display:flex;flex-direction:column;gap:var(--space-xs)}.budget-amount{font-size:var(--text-xl);font-weight:700;font-family:Outfit,sans-serif;color:var(--success)}.budget-formula{font-size:var(--text-sm);color:var(--text-muted)}.auto-calc-hint{display:flex;align-items:center;gap:var(--space-md);margin-top:var(--space-xs);flex-wrap:wrap}.hint-text{font-size:var(--text-sm);color:var(--text-muted);font-style:italic}.btn-reset-auto{padding:.15rem var(--space-md);border:1px solid var(--primary);background:transparent;color:var(--primary);border-radius:var(--radius-sm);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-base)}.btn-reset-auto:hover{background:var(--primary-glow);color:var(--primary)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(clamp(340px,30vw,520px),1fr));gap:var(--space-xl)}.project-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow);border:1px solid var(--border);border-top:3px solid var(--success);cursor:pointer;transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base);position:relative}.project-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--border-medium);border-top-color:var(--success)}.project-card.completed{border-top-color:var(--text-muted);opacity:.65}.project-card.completed:hover{opacity:.85}.project-card.on-hold{border-top-color:var(--warning)}.card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-lg)}.card-title-row{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap;min-width:0}.card-title-row h3{font-size:var(--text-lg);font-weight:700;font-family:Outfit,sans-serif;color:var(--text);margin:0;line-height:1.3}.card-status{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.2em .7em;border-radius:999px;white-space:nowrap;background:var(--success-bg);color:var(--success)}.card-status.status-completed{background:#64748b1f;color:var(--text-muted)}.card-status.status-on-hold{background:var(--warning-bg);color:var(--warning)}.card-actions{display:flex;gap:4px;flex-shrink:0;opacity:0;transition:opacity var(--transition-base)}.project-card:hover .card-actions{opacity:1}.card-action-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card-hover);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.card-action-btn:hover{background:var(--bg-elevated);color:var(--text);border-color:var(--border-medium)}.card-action-btn.danger:hover{background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}.card-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--space-lg)}.meta-pill{font-size:var(--text-xs);font-weight:500;padding:.15em .65em;border-radius:999px;background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border)}.meta-pill.overdue{background:var(--danger-bg);color:var(--danger);border-color:transparent}.meta-pill.muted{color:var(--text-muted)}.admin-alerts{background:var(--bg-surface);border:1px solid rgba(251,191,36,.4);border-left:3px solid #fbbf24;border-radius:var(--radius);padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-lg)}.admin-alerts h4{margin:0 0 6px;font-size:var(--text-sm);color:#fbbf24}.admin-alerts ul{margin:0;padding-left:1.2em}.admin-alerts li{font-size:var(--text-xs);color:var(--text-secondary);margin:2px 0}.admin-alerts li.alert-danger{color:#f87171}.admin-alerts li.alert-warn{color:#fbbf24}.project-code{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;padding:.15em .5em;border-radius:6px;background:#f800581a;color:#f80058;border:1px solid rgba(248,0,88,.3);flex-shrink:0}.meta-pill.category-support{background:#38bdf81f;color:#38bdf8;border-color:#38bdf859}.meta-pill.category-internal{background:#a78bfa1f;color:#a78bfa;border-color:#a78bfa59}.meta-pill.category-outsource{background:#f800581a;color:#f80058;border-color:#f8005859}.card-budget{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-lg)}.budget-row{display:flex;align-items:baseline;gap:var(--space-xs);margin-bottom:var(--space-sm)}.budget-spent{font-size:var(--text-md);font-weight:700;font-family:Outfit,sans-serif;color:var(--text)}.budget-total{font-size:var(--text-sm);color:var(--text-muted);font-weight:400}.budget-pct{margin-left:auto;font-size:var(--text-sm);font-weight:700;color:var(--success)}.budget-pct.warn{color:var(--warning)}.budget-pct.over{color:var(--danger)}.card-progress{height:6px;background:var(--bg-card-hover);border-radius:3px;overflow:hidden}.card-progress-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--success),#6ee7b7);transition:width var(--transition-slow) ease}.card-progress-fill.high{background:linear-gradient(90deg,var(--warning),#fcd34d)}.card-progress-fill.over-budget{background:linear-gradient(90deg,var(--danger),#fda4af)}.budget-remaining{display:block;font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-xs)}.budget-remaining.negative{color:var(--danger);font-weight:600}.card-figures{display:flex;gap:var(--space-md);flex-wrap:wrap;margin-bottom:var(--space-sm)}.card-figures .figure{flex:1;min-width:80px;text-align:center;padding:var(--space-md) var(--space-sm);background:var(--bg-card-hover);border-radius:var(--radius-sm);border:1px solid var(--border-light)}.figure-value{display:block;font-size:var(--text-md);font-weight:700;font-family:Outfit,sans-serif;color:var(--text);line-height:1.3}.figure-value.positive{color:var(--success)}.figure-value.negative{color:var(--danger)}.figure-label{display:block;font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600;margin-top:2px}.figure-sub{display:block;font-size:var(--text-xs);color:var(--info);margin-top:2px;font-weight:500}.card-expand-hint{display:flex;justify-content:center;padding-top:var(--space-sm);color:var(--text-faint);transition:transform var(--transition-base),color var(--transition-base)}.card-expand-hint.expanded{transform:rotate(180deg)}.project-card:hover .card-expand-hint{color:var(--text-muted)}.project-details{margin-top:var(--space-xl);padding-top:var(--space-xl);border-top:1px solid var(--border)}.allocation-section h4{font-size:var(--text-md);font-weight:600;font-family:Outfit,sans-serif;margin-bottom:var(--space-lg);color:var(--primary)}.allocation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg)}.allocation-form{background:var(--primary-glow);padding:var(--space-lg);border-radius:var(--radius-sm);margin-bottom:var(--space-lg);border:1px solid var(--border)}.allocation-form h5{font-size:var(--text-base);font-weight:600;color:var(--primary);margin-bottom:var(--space-lg)}.member-summary{margin-bottom:var(--space-xl)}.member-summary h5,.allocations-list h5{font-size:var(--text-base);font-weight:600;color:var(--primary);margin-bottom:var(--space-md);text-transform:uppercase;letter-spacing:.05em}.no-allocations{color:var(--text-muted);font-style:italic;font-size:var(--text-md);padding:var(--space-lg);background:var(--bg-card-hover);border-radius:var(--radius-sm);text-align:center;border:1px dashed var(--border)}.allocations-list{max-height:350px;overflow-y:auto}.allocations-list .mini-table tr.editing{background:var(--primary-glow)!important}.subtask-section{margin-top:var(--space-xl);padding-top:var(--space-xl);border-top:1px solid var(--border)}.subtask-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg)}.subtask-header h4{font-size:var(--text-md);font-weight:600;font-family:Outfit,sans-serif;color:var(--primary);margin:0}.subtask-add-form{display:flex;gap:var(--space-md);margin-bottom:var(--space-lg)}.subtask-add-form input{flex:1;padding:var(--space-sm) var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text);font-size:var(--text-base)}.subtask-add-form input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-glow)}.subtask-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-xs)}.subtask-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);background:var(--bg-card-hover);border:1px solid var(--border);border-radius:var(--radius-sm);gap:var(--space-md)}.subtask-item.completed .subtask-title{text-decoration:line-through;color:var(--text-muted)}.subtask-checkbox{display:flex;align-items:center;gap:var(--space-md);cursor:pointer;flex:1;min-width:0}.subtask-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary);cursor:pointer;flex-shrink:0}.subtask-checkbox input[type=checkbox]:disabled{cursor:default;opacity:.6}.subtask-title{font-size:var(--text-base);color:var(--text)}.subtask-delete{flex-shrink:0;padding:.15rem var(--space-sm);font-size:var(--text-sm);line-height:1}.no-subtasks{color:var(--text-muted);font-style:italic;font-size:var(--text-base);padding:var(--space-lg);background:var(--bg-card-hover);border-radius:var(--radius-sm);text-align:center;border:1px dashed var(--border)}.proposals-panel{background:var(--bg-card);border:2px solid var(--warning);border-radius:var(--radius-lg);padding:var(--space-lg) var(--space-xl);margin-bottom:var(--space-xl)}.proposals-panel-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer}.proposals-panel-header h3{margin:0;font-size:var(--text-lg);font-family:Outfit,sans-serif;color:var(--warning)}.proposals-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(clamp(320px,30vw,480px),1fr));gap:var(--space-lg);margin-top:var(--space-lg)}.proposal-review-card{background:var(--bg-dark);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-xl);border-left:4px solid var(--warning)}.proposal-review-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-lg)}.proposal-review-header h4{margin:0;font-size:var(--text-lg);font-family:Outfit,sans-serif;color:var(--text)}.proposal-proposer{font-size:var(--text-base);color:var(--text-muted)}.proposal-review-section{margin:var(--space-md) 0}.proposal-review-section label{font-size:var(--text-sm);color:var(--text-muted);text-transform:uppercase;font-weight:600;display:block;margin-bottom:var(--space-xs)}.proposal-review-section p{margin:0;font-size:var(--text-md);color:var(--text);line-height:1.5}.proposal-review-section ul{margin:0;padding-left:var(--space-xl);font-size:var(--text-base);color:var(--text)}.proposal-review-meta{font-size:var(--text-base);color:var(--text);margin:var(--space-xs) 0}.proposal-review-meta span{color:var(--text-muted)}.proposal-review-meta-grid{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-xl)}.proposal-message{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);font-size:var(--text-sm);margin-bottom:var(--space-md)}.proposal-message.success{background:#22c55e1f;border:1px solid rgba(34,197,94,.3);color:#22c55e}.proposal-message.error{background:#ef44441f;border:1px solid rgba(239,68,68,.3);color:#ef4444}.proposal-review-actions{display:flex;gap:var(--space-md);margin-top:var(--space-lg)}.approval-form{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--border)}.approval-form h5{margin:0 0 var(--space-lg) 0;font-size:var(--text-md);color:var(--text)}.approval-form .form-row{display:flex;flex-wrap:wrap;gap:var(--space-lg);margin-bottom:var(--space-lg)}.approval-form .form-group{display:flex;flex-direction:column;gap:var(--space-xs);min-width:140px}.approval-form .form-group label{font-size:var(--text-sm);color:var(--text-muted);text-transform:uppercase;font-weight:600}.approval-form .form-group input,.approval-form .form-group select{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);color:var(--text);font-size:var(--text-base)}.badge.status-pending{background:var(--warning-bg);color:var(--warning)}.project-specs{background:var(--bg-card-hover);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-lg);margin-bottom:var(--space-lg)}.project-specs h4{margin:0 0 var(--space-lg) 0;font-size:var(--text-md);font-family:Outfit,sans-serif;color:var(--primary);text-transform:uppercase;letter-spacing:.03em}.specs-description{font-size:var(--text-md);color:var(--text);line-height:1.5;margin:0 0 var(--space-lg) 0}.specs-section{margin:var(--space-md) 0}.specs-section label{font-size:var(--text-sm);color:var(--text-muted);text-transform:uppercase;font-weight:600;display:block;margin-bottom:var(--space-xs)}.specs-section ul{margin:0;padding-left:var(--space-xl);font-size:var(--text-base);color:var(--text)}.subtask-extended-form{background:var(--bg-dark);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-lg);margin-bottom:var(--space-lg)}.subtask-extended-form h5{margin:0 0 var(--space-lg) 0;color:var(--text);font-size:var(--text-md)}.subtask-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg);margin-bottom:var(--space-lg)}.subtask-form-grid .form-group{display:flex;flex-direction:column;gap:var(--space-xs)}.subtask-form-grid .form-group label{font-size:var(--text-sm);color:var(--text-muted);text-transform:uppercase;font-weight:600}.subtask-form-grid .form-group input,.subtask-form-grid .form-group select,.subtask-form-grid .form-group textarea{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);color:var(--text);font-size:var(--text-base)}.subtask-form-grid .form-group textarea{resize:vertical}.subtask-extended-list{display:flex;flex-direction:column;gap:var(--space-md)}.subtask-extended-item{background:var(--bg-dark);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-lg);border-left:3px solid var(--text-muted)}.subtask-extended-item.priority-low{border-left-color:var(--info)}.subtask-extended-item.priority-medium{border-left-color:var(--warning)}.subtask-extended-item.priority-high,.subtask-extended-item.priority-urgent{border-left-color:var(--danger)}.subtask-extended-item.completed{opacity:.6}.subtask-extended-main{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-lg)}.subtask-extended-info{flex:1;min-width:0}.subtask-extended-title-row{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-xs)}.priority-badge{font-size:var(--text-xs);padding:.15rem var(--space-sm);border-radius:var(--radius-sm);font-weight:600;text-transform:uppercase;white-space:nowrap}.priority-badge.priority-low{background:var(--info-bg);color:var(--info)}.priority-badge.priority-medium{background:var(--warning-bg);color:var(--warning)}.priority-badge.priority-high,.priority-badge.priority-urgent{background:var(--danger-bg);color:var(--danger)}.subtask-extended-title{font-weight:600;color:var(--text);font-size:var(--text-md)}.subtask-extended-title.done{text-decoration:line-through;opacity:.6}.subtask-extended-desc{margin:var(--space-xs) 0;font-size:var(--text-base);color:var(--text-secondary);line-height:1.4}.subtask-extended-meta{display:flex;flex-wrap:wrap;gap:var(--space-lg);margin-top:var(--space-xs)}.subtask-meta-item{font-size:var(--text-sm);color:var(--text-muted)}.subtask-meta-item strong{color:var(--text)}.subtask-meta-item.overdue,.subtask-meta-item.overdue strong{color:var(--danger)}.subtask-extended-actions{display:flex;align-items:center;gap:var(--space-xs);flex-shrink:0}.subtask-status-select{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-xs);color:var(--text);font-size:var(--text-sm)}.subtask-status-badge{font-size:var(--text-sm);padding:.15rem var(--space-md);border-radius:var(--radius-sm);font-weight:600}.subtask-status-badge.status-todo{background:#94a3b826;color:var(--text-muted)}.subtask-status-badge.status-in-progress{background:var(--info-bg);color:var(--info)}.subtask-status-badge.status-done{background:var(--success-bg);color:var(--success)}@media(max-width:900px){.projects-grid{grid-template-columns:1fr}}@media(max-width:768px){.card-top{flex-direction:column}.card-actions{opacity:1;justify-content:flex-start}.card-figures{flex-direction:column}.card-figures .figure{min-width:auto}.form-row{flex-direction:column;align-items:stretch}.form-row input,.form-row select{width:100%!important;min-width:auto!important}}.assigned-team-section{margin-bottom:var(--space-xl)}.assigned-team-section h4{font-size:var(--text-md);font-weight:600;font-family:Outfit,sans-serif;color:var(--primary)}.assigned-team-grid{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-lg)}.assigned-team-item{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--text-base);cursor:pointer;-webkit-user-select:none;user-select:none}.assigned-team-chip{background:var(--primary-glow);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px var(--space-sm);font-size:var(--text-sm)}.assigned-team-empty{color:var(--text-muted);font-size:var(--text-sm)}.assigned-team-hint{color:var(--text-muted);font-size:var(--text-sm);margin-top:var(--space-sm)}.assigned-team-error{color:var(--danger, #e5484d);font-size:var(--text-sm);margin-top:var(--space-sm)}.dashboard h2{margin-bottom:var(--space-xl);color:var(--text);font-family:Outfit,sans-serif}.dashboard-meta{margin:calc(-1 * var(--space-lg)) 0 var(--space-xl);font-size:var(--text-sm);color:var(--text-muted)}.dashboard-error{background:var(--danger-bg);border:1px solid var(--danger);border-radius:var(--radius-lg);padding:var(--space-xl);color:var(--text);display:flex;flex-direction:column;gap:var(--space-sm);max-width:560px}.dashboard-error p{margin:0}.dashboard-retry{align-self:flex-start;margin-top:var(--space-sm);padding:var(--space-sm) var(--space-lg);background:var(--danger);color:#fff;border:none;border-radius:var(--radius-sm);font-weight:600;cursor:pointer;font-family:DM Sans,sans-serif}.dashboard-retry:hover{filter:brightness(1.1)}.dashboard-bands{display:flex;flex-direction:column;gap:var(--space-xl);margin-bottom:var(--space-2xl)}.dashboard-band{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow);border:1px solid var(--border)}.band-header{display:flex;align-items:baseline;gap:var(--space-md);width:100%;background:none;border:none;border-bottom:1px solid var(--border);padding:0 0 var(--space-md);margin-bottom:var(--space-lg);text-align:left;cursor:default}.band-header.clickable{cursor:pointer}.band-title{font-size:var(--text-md);font-weight:600;color:var(--text);font-family:Outfit,sans-serif;text-transform:uppercase;letter-spacing:.05em}.band-header.clickable:hover .band-title{color:var(--primary)}.band-meta{font-size:var(--text-sm);color:var(--text-muted);font-family:DM Sans,sans-serif}.band-arrow{margin-left:auto;color:var(--text-muted);font-size:var(--text-md);transition:transform var(--transition-fast) ease,color var(--transition-fast) ease}.band-header.clickable:hover .band-arrow{color:var(--primary);transform:translate(3px)}.band-stats{margin-bottom:var(--space-lg)}.money-secondary{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.money-chip{font-size:var(--text-sm);color:var(--text-secondary);background:#94a3b814;border:1px solid var(--border);border-radius:999px;padding:.25rem .75rem}.flag-chip{font-size:var(--text-xs);font-weight:600;padding:.15rem .6rem;border-radius:999px;white-space:nowrap}.flag-chip.flag-danger{color:var(--danger);background:var(--danger-bg)}.flag-chip.flag-warning{color:var(--warning);background:var(--warning-bg)}.flag-chip.flag-ok{color:var(--success);background:var(--success-bg)}.budget-bars{display:flex;flex-direction:column;gap:var(--space-lg)}.budget-bar-head{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs)}.budget-bar-name{font-weight:600;color:var(--text);font-size:var(--text-base)}.budget-bar-figures{margin-left:auto;font-size:var(--text-sm);color:var(--text-secondary);font-variant-numeric:tabular-nums}.budget-bar-track{height:8px;background:#94a3b826;border-radius:999px;overflow:hidden}.budget-bar-fill{height:100%;background:var(--success);border-radius:999px;transition:width var(--transition-fast) ease}.budget-bar-fill.near{background:var(--warning)}.budget-bar-fill.over{background:var(--danger)}.budget-bar-sub{display:flex;justify-content:space-between;gap:var(--space-md);margin-top:var(--space-xs);font-size:var(--text-sm);color:var(--text-muted)}.budget-bar-sub .negative{color:var(--danger);font-weight:600}.team-week-list{display:flex;flex-direction:column;gap:var(--space-md)}.team-week-row{display:grid;grid-template-columns:minmax(120px,180px) 1fr auto auto;align-items:center;gap:var(--space-md)}.team-week-name{font-weight:600;color:var(--text);font-size:var(--text-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-week-track{position:relative;height:8px;background:#94a3b826;border-radius:999px;overflow:hidden}.team-week-planned{position:absolute;inset:0 auto 0 0;background:var(--info);border-radius:999px;opacity:.45}.team-week-planned.over{background:var(--danger);opacity:.55}.team-week-done{position:absolute;inset:0 auto 0 0;background:var(--success);border-radius:999px}.team-week-hours{font-size:var(--text-sm);color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}@media(max-width:720px){.team-week-row{grid-template-columns:1fr auto}.team-week-track{grid-column:1 / -1}}.leads-band-body{display:flex;flex-direction:column;gap:var(--space-md)}.leads-overdue{align-self:flex-start;font-size:var(--text-sm)}.leads-stages{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.lead-stage-chip{display:inline-flex;align-items:center;gap:var(--space-sm);font-size:var(--text-sm);color:var(--text-secondary);background:#94a3b814;border:1px solid var(--border);border-radius:999px;padding:.25rem .75rem}.lead-stage-chip.stage-customer{color:var(--success);border-color:var(--success);background:var(--success-bg)}.lead-stage-chip.stage-lost{color:var(--text-muted)}.lead-stage-count{font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.lead-stage-chip.stage-customer .lead-stage-count{color:var(--success)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(clamp(160px,14vw,220px),1fr));gap:var(--space-lg);margin-bottom:var(--space-2xl)}.stat-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow);border:1px solid var(--border);border-left:3px solid var(--border);transition:transform var(--transition-fast) ease,box-shadow var(--transition-fast) ease}.stat-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg)}.stat-card.primary{border-left-color:var(--primary)}.stat-card.highlight{border-left-color:var(--secondary)}.stat-card.highlight .stat-value{color:var(--secondary)}.stat-card.accent{border-left-color:var(--success)}.stat-card.danger{border-left-color:var(--danger)}.stat-card.danger .stat-value{color:var(--danger)}.stat-card.warning{border-left-color:var(--warning)}.stat-card.warning .stat-value{color:var(--warning)}.stat-card.info{border-left-color:var(--info)}.stat-card.info .stat-value{color:var(--info)}.stat-card h3{font-size:var(--text-xs);font-weight:600;color:var(--text-muted);margin-bottom:var(--space-sm);text-transform:uppercase;letter-spacing:.06em;font-family:DM Sans,sans-serif}.stat-card .stat-value{font-size:var(--text-2xl);font-weight:700;color:var(--primary);margin-bottom:var(--space-xs);font-family:Outfit,sans-serif;letter-spacing:-.02em}.stat-card .stat-detail{display:flex;flex-direction:column;gap:.15rem;font-size:var(--text-sm);color:var(--text-secondary)}.dashboard-sections{display:flex;flex-direction:column;gap:var(--space-xl)}.dashboard-section{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow);border:1px solid var(--border)}.dashboard-section h3{font-size:var(--text-md);font-weight:600;margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--border);color:var(--text);font-family:Outfit,sans-serif}.dashboard-section .data-table{box-shadow:none;border:none}.highlight-cell{background:#a78bfa1a!important;font-weight:600!important;color:var(--secondary)!important}.empty-message{color:var(--text-muted);font-style:italic;text-align:center;padding:var(--space-xl);background:#94a3b80a;border-radius:var(--radius-sm);border:1px dashed var(--border);font-size:var(--text-base)}.brm-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-lg)}.brm-modal{background:var(--bg-card);border:1px solid var(--border-medium);border-radius:var(--radius-lg);padding:var(--space-xl);width:min(640px,100%);max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl)}.brm-header{display:flex;align-items:center;justify-content:space-between}.brm-header h3{margin:0;color:var(--text)}.brm-close{background:transparent;border:none;color:var(--text-muted);font-size:var(--text-xl);line-height:1;cursor:pointer;padding:2px 6px;border-radius:var(--radius-sm)}.brm-close:hover{background:var(--bg-card-hover);color:var(--text)}.brm-hint{margin:var(--space-xs) 0 var(--space-lg);color:var(--text-muted);font-size:var(--text-sm)}.brm-body{display:flex;flex-direction:column;gap:var(--space-md)}.brm-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}@media(max-width:520px){.brm-row{grid-template-columns:1fr}}.brm-field{display:flex;flex-direction:column;gap:4px}.brm-field label{font-size:var(--text-xs);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.brm-optional{text-transform:none;font-weight:400;color:var(--text-muted)}.brm-field input,.brm-field select,.brm-field textarea{background:var(--bg-input);border:1px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text);padding:8px 10px;font-size:var(--text-sm);font-family:inherit}.brm-field textarea{resize:vertical}.brm-field input:focus,.brm-field select:focus,.brm-field textarea:focus{outline:none;border-color:var(--border-focus)}.brm-steps{display:flex;flex-direction:column;gap:4px;padding:var(--space-sm);background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--radius-sm)}.brm-step{display:flex;align-items:center;gap:var(--space-sm)}.brm-step-num{color:var(--text-muted);font-size:var(--text-sm);min-width:18px;text-align:right}.brm-step input{flex:1}.brm-step-remove{background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:var(--text-base);padding:2px 6px;border-radius:var(--radius-sm)}.brm-step-remove:hover{background:var(--danger-bg);color:var(--danger)}.brm-add-step{align-self:flex-start;background:transparent;border:1px dashed var(--border-medium);color:var(--text-muted);font-size:var(--text-xs);padding:4px 8px;border-radius:var(--radius-sm);cursor:pointer;margin-top:2px}.brm-add-step:hover{color:var(--text);border-color:var(--text-muted)}.brm-error{background:var(--danger-bg);border:1px solid var(--danger);color:var(--danger);border-radius:var(--radius-sm);padding:8px 10px;font-size:var(--text-sm)}.brm-footer{display:flex;justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-lg)}.myweek{padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-lg)}.mw-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md);flex-wrap:wrap}.mw-header-left h2{margin:0;font-size:var(--text-2xl);color:var(--text)}.mw-subtitle{margin:4px 0 0;color:var(--text-secondary);font-size:var(--text-sm)}.mw-week-nav{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap}.mw-week-current{display:flex;flex-direction:column;align-items:center;min-width:96px;padding:0 var(--space-sm)}.mw-week-label{font-weight:600;color:var(--text);font-size:var(--text-sm)}.mw-week-code{color:var(--text-muted);font-size:var(--text-xs)}.mw-body{display:grid;grid-template-columns:minmax(260px,320px) 1fr;gap:var(--space-lg);align-items:start}@media(max-width:900px){.mw-body{grid-template-columns:1fr}}.mw-tickets{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm)}.mw-tickets-head{display:flex;justify-content:space-between;align-items:center}.mw-tickets-head h3{margin:0;font-size:var(--text-md);color:var(--text)}.mw-tickets-head-actions{display:flex;gap:var(--space-xs);flex-wrap:wrap;justify-content:flex-end}.mw-ticket-search{width:100%;padding:6px 10px;background:var(--bg-input);border:1px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text);font-size:var(--text-sm)}.mw-ticket-search:focus{outline:none;border-color:var(--border-focus)}.mw-ticket-search::placeholder{color:var(--text-muted)}.mw-show-more{width:100%;padding:6px 10px;background:transparent;border:1px dashed var(--border-medium);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--text-xs);cursor:pointer}.mw-show-more:hover{color:var(--text);border-color:var(--text-muted)}.mw-empty{color:var(--text-muted);font-size:var(--text-sm);padding:var(--space-md);background:var(--bg-inset);border-radius:var(--radius);line-height:1.4}.mw-empty-banner{margin:var(--space-2xl) auto;max-width:520px;text-align:center;color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-xl);line-height:1.5}.mw-ticket-list{display:flex;flex-direction:column;gap:var(--space-sm)}.mw-ticket{background:var(--bg-surface);border:1px solid var(--border);border-left:3px solid var(--text-faint);border-radius:var(--radius);padding:var(--space-sm) var(--space-md);display:flex;flex-direction:column;gap:4px}.mw-ticket-todo{border-left-color:var(--text-faint)}.mw-ticket-in_progress{border-left-color:var(--info)}.mw-ticket-done{border-left-color:var(--success);opacity:.75}.mw-ticket-blocked{border-left-color:var(--danger)}.mw-ticket-top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-xs)}.mw-ticket-title{font-weight:600;color:var(--text);font-size:var(--text-sm);line-height:1.3}.mw-ticket-actions{display:flex;gap:2px;flex-shrink:0}.mw-ticket-epic{color:var(--secondary);font-size:var(--text-xs)}.mw-ticket-meta{display:flex;gap:var(--space-sm);flex-wrap:wrap;font-size:var(--text-xs);color:var(--text-muted)}.mw-est{color:var(--text-secondary)}.mw-sched{color:var(--info)}.mw-ac-count{color:var(--secondary)}.mw-ticket-foot{margin-top:2px}.mw-status-select,.mw-task-hours,.mw-add-form select,.mw-add-form input{background:var(--bg-input);border:1px solid var(--border-medium);color:var(--text);border-radius:var(--radius-sm);padding:3px 6px;font-size:var(--text-xs)}.mw-status-select{width:100%}.mw-icon-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:var(--text-base);line-height:1;padding:2px 5px;border-radius:var(--radius-xs)}.mw-icon-btn:hover{background:var(--bg-card-hover);color:var(--text)}.mw-icon-danger:hover{color:var(--danger);background:var(--danger-bg)}.mw-grid{display:flex;flex-direction:column;gap:var(--space-sm)}.mw-grid-summary{color:var(--text-secondary);font-size:var(--text-sm)}.mw-days{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-sm)}@media(max-width:1100px){.mw-days{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.mw-days{grid-template-columns:1fr}}.mw-day{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-sm);display:flex;flex-direction:column;gap:var(--space-xs);min-height:140px}.mw-day-over{border-color:var(--warning)}.mw-day-head{display:flex;justify-content:space-between;align-items:center}.mw-day-name{font-weight:600;color:var(--text);font-size:var(--text-sm)}.mw-day-total{font-size:var(--text-xs);color:var(--text-muted)}.mw-day-total.mw-over{color:var(--warning);font-weight:700}.mw-day-warn{font-size:var(--text-xs);margin:0}.mw-day-tasks{display:flex;flex-direction:column;gap:4px}.mw-task{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:5px 7px;display:flex;flex-direction:column;gap:3px}.mw-task-finalized{opacity:.7}.mw-task-title{font-size:var(--text-xs);color:var(--text);line-height:1.3}.mw-task-orphan{color:var(--danger);font-style:italic}.mw-task-bottom{display:flex;justify-content:space-between;align-items:center;gap:var(--space-xs)}.mw-task-hours{width:56px}.mw-task-hours-static{font-size:var(--text-xs);color:var(--text-secondary);font-weight:600}.mw-task-locked{font-size:var(--text-xs)}.mw-add-btn{margin-top:auto;background:transparent;border:1px dashed var(--border-medium);color:var(--text-muted);border-radius:var(--radius-sm);padding:4px;cursor:pointer;font-size:var(--text-xs)}.mw-add-btn:hover:not(:disabled){color:var(--primary);border-color:var(--border-focus)}.mw-add-btn:disabled{opacity:.5;cursor:not-allowed}.mw-add-form{display:flex;flex-direction:column;gap:4px;margin-top:auto}.mw-add-form select{width:100%}.mw-add-actions{display:flex;gap:4px}.mw-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-lg)}.mw-modal{background:var(--bg-card);border:1px solid var(--border-medium);border-radius:var(--radius-lg);padding:var(--space-xl);width:min(560px,100%);max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl)}.mw-modal h3{margin:0 0 var(--space-md);color:var(--text)}.mw-form-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-sm)}@media(max-width:520px){.mw-form-row{grid-template-columns:1fr}}.mw-readonly{padding:8px 10px;background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-sm)}.mw-project-line{margin-top:4px;font-size:var(--text-sm);color:var(--secondary)}.mw-ac-list{display:flex;flex-direction:column;gap:4px}.mw-ac-item{display:flex;justify-content:space-between;align-items:center;background:var(--bg-inset);border-radius:var(--radius-sm);padding:4px 8px;font-size:var(--text-sm);color:var(--text-secondary)}.mw-ac-add{display:flex;gap:var(--space-xs)}.mw-ac-add input{flex:1}.mw-form-error{color:var(--danger);background:var(--danger-bg);border-radius:var(--radius-sm);padding:var(--space-sm);font-size:var(--text-sm);margin-top:var(--space-sm)}.mw-modal-actions{display:flex;justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-lg)}.mw-task-completed{border-left:3px solid var(--success)}.mw-task-logged{color:var(--success);font-size:var(--text-xs);font-weight:600}.mw-log-btn{background:transparent;border:1px dashed var(--border-medium);color:var(--text-muted);border-radius:var(--radius-sm);padding:3px;cursor:pointer;font-size:var(--text-xs)}.mw-log-btn:hover{color:var(--primary);border-color:var(--border-focus)}.mw-log-form{display:flex;flex-direction:column;gap:4px}.mw-log-form input{background:var(--bg-input);border:1px solid var(--border-medium);color:var(--text);border-radius:var(--radius-sm);padding:3px 6px;font-size:var(--text-xs);min-width:0}.mw-log-row{display:flex;gap:4px}.mw-log-row input[type=number]{width:52px;flex-shrink:0}.mw-log-row input[type=date]{flex:1}.mw-panels{display:flex;flex-direction:column;gap:var(--space-md)}.mw-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg)}.mw-panel-head{width:100%;display:flex;align-items:center;gap:var(--space-sm);background:transparent;border:none;cursor:pointer;padding:var(--space-md);text-align:left}.mw-panel-head:hover .mw-panel-title{color:var(--primary)}.mw-panel-title{font-weight:600;color:var(--text);font-size:var(--text-md);white-space:nowrap}.mw-panel-meta{color:var(--text-muted);font-size:var(--text-xs);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mw-panel-chev{color:var(--text-muted);font-size:var(--text-sm);flex-shrink:0}.mw-panel-body{padding:0 var(--space-md) var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm)}.mw-panel-foot{display:flex;justify-content:flex-end}.mw-muted{color:var(--text-muted);font-size:var(--text-sm)}.mw-quiet-hint{color:var(--text-muted);font-size:var(--text-sm);font-style:italic}.mw-inline-error{color:var(--danger);background:var(--danger-bg);border-radius:var(--radius-sm);padding:4px 8px;font-size:var(--text-xs)}.mw-inline-notice{color:var(--success);font-size:var(--text-xs)}.mw-rsta-list{display:flex;flex-direction:column;gap:var(--space-xs)}.mw-rsta-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface)}.mw-rsta-row{width:100%;display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;background:transparent;border:none;cursor:pointer;padding:var(--space-sm) var(--space-md);text-align:left}.mw-rsta-row:hover{background:var(--bg-card-hover)}.mw-rsta-title{font-weight:600;color:var(--text);font-size:var(--text-sm);flex:1;min-width:160px}.mw-rsta-company{color:var(--secondary);font-size:var(--text-xs)}.mw-rsta-priority{font-size:var(--text-xs);font-weight:700;padding:1px 6px;border-radius:var(--radius-sm);background:var(--bg-inset);color:var(--text-secondary)}.mw-p-P1{color:var(--danger)}.mw-p-P2{color:var(--warning)}.mw-rsta-status{font-size:var(--text-xs);padding:1px 6px;border-radius:var(--radius-sm);background:var(--bg-inset);color:var(--text-secondary)}.mw-rs-InProgress{color:var(--info)}.mw-rs-Resolved,.mw-rs-Closed{color:var(--success)}.mw-rs-Waiting{color:var(--warning)}.mw-rsta-sla{font-size:var(--text-xs);color:var(--text-muted)}.mw-rsta-sla.overdue{color:var(--danger);font-weight:700}.mw-rsta-detail{border-top:1px solid var(--border);padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm)}.mw-rsta-controls{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap;font-size:var(--text-xs)}.mw-rsta-controls label{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-xs);color:var(--text-muted)}.mw-rsta-controls select,.mw-rsta-logtime input{background:var(--bg-input);border:1px solid var(--border-medium);color:var(--text);border-radius:var(--radius-sm);padding:3px 6px;font-size:var(--text-xs)}.mw-rsta-desc{margin:0;color:var(--text-secondary);font-size:var(--text-sm);white-space:pre-wrap}.mw-rsta-logtime{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap;font-size:var(--text-xs);color:var(--text-muted)}.mw-rsta-logtime input[type=number]{width:56px}.mw-rsta-logdesc{flex:1;min-width:140px}.mw-rsta-messages{display:flex;flex-direction:column;gap:var(--space-xs);max-height:260px;overflow-y:auto}.mw-rsta-message{background:var(--bg-inset);border-radius:var(--radius-sm);padding:var(--space-sm);font-size:var(--text-sm)}.mw-rsta-message.internal{border-left:3px solid var(--warning)}.mw-rsta-message-meta{display:flex;gap:var(--space-xs);flex-wrap:wrap;font-size:var(--text-xs);color:var(--text-muted);margin-bottom:2px}.mw-rsta-message p{margin:0;color:var(--text-secondary);white-space:pre-wrap}.mw-rsta-reply{display:flex;flex-direction:column;gap:var(--space-xs)}.mw-rsta-reply textarea{background:var(--bg-input);border:1px solid var(--border-medium);color:var(--text);border-radius:var(--radius-sm);padding:var(--space-sm);font-size:var(--text-sm);resize:vertical}.mw-rsta-reply-actions{display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm)}.mw-internal-toggle{display:flex;align-items:center;gap:4px;font-size:var(--text-xs);color:var(--text-muted)}.mw-leave-balance{display:flex;gap:var(--space-sm);flex-wrap:wrap}.mw-balance-chip{background:var(--bg-inset);border-radius:var(--radius-sm);padding:4px 10px;font-size:var(--text-xs);color:var(--text-secondary)}.mw-balance-chip strong{color:var(--text)}.mw-leave-form{display:flex;align-items:flex-end;gap:var(--space-sm);flex-wrap:wrap}.mw-leave-form label{display:flex;flex-direction:column;gap:2px;font-size:var(--text-xs);color:var(--text-muted)}.mw-leave-form input,.mw-leave-form select{background:var(--bg-input);border:1px solid var(--border-medium);color:var(--text);border-radius:var(--radius-sm);padding:4px 6px;font-size:var(--text-xs)}.mw-leave-preview{font-size:var(--text-xs);color:var(--text-muted)}.mw-leave-list{display:flex;flex-direction:column;gap:4px;max-height:220px;overflow-y:auto}.mw-leave-item{display:flex;align-items:center;gap:var(--space-sm);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 8px;font-size:var(--text-xs);color:var(--text-secondary)}.mw-leave-type{font-weight:600}.mw-lt-vacation{color:var(--info)}.mw-lt-sick{color:var(--warning)}.mw-lt-personal{color:var(--secondary)}.mw-leave-desc{flex:1;color:var(--text-muted)}.mw-ask{display:flex;gap:var(--space-xs)}.mw-ask input{flex:1;background:var(--bg-input);border:1px solid var(--border-medium);color:var(--text);border-radius:var(--radius-sm);padding:6px 8px;font-size:var(--text-sm)}.mw-question-list{display:flex;flex-direction:column;gap:var(--space-xs)}.mw-question{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);display:flex;flex-direction:column;gap:4px}.mw-question-top{display:flex;align-items:flex-start;gap:var(--space-sm)}.mw-question-text{flex:1;color:var(--text);font-size:var(--text-sm)}.mw-question-status{font-size:var(--text-xs);padding:1px 6px;border-radius:var(--radius-sm);background:var(--bg-inset);color:var(--text-muted);text-transform:capitalize;flex-shrink:0}.mw-question-status.answered,.mw-question-status.resolved{color:var(--success)}.mw-question-answer{background:var(--bg-inset);border-left:3px solid var(--success);border-radius:var(--radius-sm);padding:var(--space-sm);font-size:var(--text-sm);color:var(--text-secondary);white-space:pre-wrap}.mw-question-meta{font-size:var(--text-xs);color:var(--text-muted)}.mw-icon-done{color:var(--success, #2e9e6b)}.mw-icon-done:hover{color:var(--success, #2e9e6b);background:#2e9e6b1f}.mw-proj-log{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap;font-size:var(--text-xs)}.mw-proj-log select,.mw-proj-log input{background:var(--bg-input);border:1px solid var(--border-medium);color:var(--text);border-radius:var(--radius-sm);padding:3px 6px;font-size:var(--text-xs)}.mw-proj-log input[type=number]{width:56px}.mw-proj-logdesc{flex:1;min-width:140px}.mw-proj-success{color:var(--success, #4ade80);font-size:var(--text-sm);margin-top:var(--space-xs)}.mw-link-btn{background:none;border:none;color:var(--primary);font-size:var(--text-sm);cursor:pointer;padding:0;margin-top:var(--space-xs);text-align:left}.mw-link-btn:hover{text-decoration:underline}.mw-epic-draft{display:flex;flex-direction:column;gap:var(--space-xs);margin-top:var(--space-sm);padding:var(--space-sm);border:1px dashed var(--border-medium);border-radius:var(--radius-sm)}.mw-epic-draft select,.mw-epic-draft input,.mw-epic-draft textarea{background:var(--bg-input);border:1px solid var(--border-medium);color:var(--text);border-radius:var(--radius-sm);padding:4px 6px;font-size:var(--text-sm)}.mw-epic-draft textarea{resize:vertical;font-family:inherit}.mw-epic-review-hint{color:var(--text-muted);font-size:var(--text-xs);font-style:italic}.mw-combobox{position:relative;width:100%}.mw-combobox-input{width:100%;background:var(--bg-input);border:1px solid var(--border-medium);color:var(--text);border-radius:var(--radius-sm);padding:6px 8px;font-size:var(--text-sm);box-sizing:border-box}.mw-combobox-input:focus{outline:none;border-color:var(--border-focus)}.mw-combobox-input:disabled{opacity:.6;cursor:not-allowed}.mw-combobox-input::placeholder{color:var(--text-muted)}.mw-combobox-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:30;min-width:100%;width:max-content;max-width:340px;max-height:280px;overflow-y:auto;background:var(--bg-card);border:1px solid var(--border-medium);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);padding:4px}.mw-combobox-group{padding:4px 8px 2px;font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.mw-combobox-option{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:1px;background:transparent;border:none;border-radius:var(--radius-xs);padding:5px 8px;cursor:pointer;text-align:left}.mw-combobox-option:hover:not(:disabled){background:var(--bg-card-hover)}.mw-combobox-option-selected{background:var(--bg-inset)}.mw-combobox-option-disabled{opacity:.5;cursor:not-allowed}.mw-combobox-option-label{color:var(--text);font-size:var(--text-sm)}.mw-combobox-option-sub{color:var(--text-muted);font-size:var(--text-xs)}.mw-combobox-empty{padding:8px;color:var(--text-muted);font-size:var(--text-sm)}.team-week{padding:var(--space-md);min-height:calc(100vh - 100px);display:flex;flex-direction:column}.tw-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);margin-bottom:var(--space-lg);flex-wrap:wrap}.tw-header h2{margin:0;font-size:var(--text-xl);color:var(--text);font-family:Outfit,sans-serif;font-weight:700}.tw-week-controls{display:flex;align-items:center;gap:var(--space-sm)}.tw-week-btn{width:32px;height:32px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);border-radius:var(--radius-sm);font-size:var(--text-md);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.tw-week-btn:hover{background:var(--primary);border-color:var(--primary);color:#fff}.tw-week-controls input[type=week]{padding:var(--space-sm) var(--space-md);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text);font-size:var(--text-base);font-family:DM Sans,sans-serif}.tw-btn-today,.tw-btn-action{padding:var(--space-sm) var(--space-lg);border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-base);font-weight:500;transition:all var(--transition-fast);font-family:DM Sans,sans-serif}.tw-btn-today:hover,.tw-btn-action:hover:not(:disabled){background:var(--primary);border-color:var(--primary);color:#fff}.tw-btn-action:disabled{opacity:.5;cursor:not-allowed}.tw-header-actions{display:flex;gap:var(--space-sm)}.tw-summary{display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-md) var(--space-lg);background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);margin-bottom:var(--space-lg);font-size:var(--text-base)}.tw-summary-stat{color:var(--text-muted);padding:var(--space-xs) var(--space-md);background:#94a3b80f;border-radius:20px;font-size:var(--text-sm)}.tw-summary-stat.completed{color:var(--success);background:var(--success-bg)}.tw-grid{display:flex;flex-direction:column;background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);overflow-x:auto}.tw-grid-header{display:grid;grid-template-columns:clamp(120px,10vw,160px) repeat(5,1fr);background:var(--bg-surface);border-bottom:1px solid var(--border)}.tw-grid-corner{padding:var(--space-lg);font-weight:600;font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;display:flex;align-items:center}.tw-day-header{padding:var(--space-md);text-align:center;border-left:1px solid var(--border)}.tw-day-header.today{background:var(--primary-glow)}.tw-day-header.holiday{background:#a78bfa14}.tw-day-header .tw-day-name{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;font-weight:600;letter-spacing:.04em}.tw-day-header .tw-day-num{font-size:var(--text-xl);font-weight:700;color:var(--text);font-family:Outfit,sans-serif}.tw-day-header .tw-day-holiday{font-size:var(--text-xs);color:var(--secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tw-empty{padding:var(--space-xl);color:var(--text-muted);font-size:var(--text-base);text-align:center}.tw-grid-row{display:grid;grid-template-columns:clamp(120px,10vw,160px) repeat(5,1fr);border-bottom:1px solid var(--border-light);min-height:170px}.tw-grid-row:last-child{border-bottom:none}.tw-grid-member{padding:var(--space-md);background:var(--bg-surface);border-right:1px solid var(--border);display:flex;flex-direction:column;justify-content:center}.tw-member-name{font-weight:600;font-size:var(--text-base);color:var(--text);margin-bottom:var(--space-sm);font-family:Outfit,sans-serif}.tw-member-stat{display:flex;justify-content:space-between;font-size:var(--text-xs);padding:.12rem 0}.tw-stat-label{color:var(--text-muted)}.tw-capacity-value{color:var(--text-secondary);font-weight:600}.tw-planned-value{color:var(--info);font-weight:600}.tw-remaining-value{color:var(--success);font-weight:600}.tw-member-remaining.over .tw-remaining-value,.tw-member-remaining.over .tw-stat-label{color:var(--danger)}.tw-cell{padding:var(--space-sm);border-left:1px solid var(--border-light);display:flex;flex-direction:column;gap:var(--space-sm);background:transparent;position:relative}.tw-cell.today{background:#ff165408}.tw-cell.on-leave{background:var(--warning-bg)}.tw-cell.holiday{background:#a78bfa0f}.tw-tasks-list{display:flex;flex-direction:column;gap:var(--space-sm);flex:1}.tw-task{background:var(--bg-surface);border-radius:var(--radius-sm);padding:var(--space-sm);border-left:3px solid var(--text-muted);transition:background var(--transition-fast)}.tw-task.clickable{cursor:pointer}.tw-task.clickable:hover{background:var(--bg-card-hover)}.tw-task.planned{border-left-color:var(--text-muted)}.tw-task.in-progress{border-left-color:var(--info);background:#60a5fa0f}.tw-task.completed{border-left-color:var(--success);background:#34d3990f}.tw-task.completed .tw-task-name{text-decoration:line-through;opacity:.6}.tw-task.finalized{border-left-color:var(--text-muted);background:#94a3b80a;opacity:.5;cursor:default}.tw-task.finalized .tw-task-name{text-decoration:line-through}.tw-task-finalized{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;font-weight:600;letter-spacing:.05em;margin-top:var(--space-xs);padding-top:var(--space-xs);border-top:1px solid var(--border-light)}.tw-task-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xs)}.tw-task-project{font-size:var(--text-xs);color:var(--primary);text-transform:uppercase;font-weight:600;letter-spacing:.03em}.tw-task-hours{font-size:var(--text-xs);color:var(--text-muted);font-weight:600}.tw-task-name{font-size:var(--text-sm);color:var(--text);line-height:1.3;word-break:break-word}.tw-ticket-badge{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;font-size:9px;font-weight:700;background:#a78bfa33;color:var(--secondary);border-radius:3px;margin-right:3px;flex-shrink:0;vertical-align:middle}.tw-task-actions{display:flex;align-items:center;gap:var(--space-xs);margin-top:var(--space-xs);padding-top:var(--space-xs);border-top:1px solid var(--border-light)}.tw-status-label{flex:1;font-size:var(--text-xs);font-weight:600;color:var(--text-muted)}.tw-status-label.in-progress{color:var(--info)}.tw-status-label.completed{color:var(--success)}.tw-edit-btn,.tw-del-btn{width:22px;height:22px;border:none;background:#94a3b80f;color:var(--text-muted);border-radius:var(--radius-xs);cursor:pointer;font-size:var(--text-base);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.tw-edit-btn:disabled,.tw-del-btn:disabled{opacity:.4;cursor:not-allowed}.tw-edit-btn:hover:not(:disabled){background:var(--warning-bg);color:var(--warning)}.tw-del-btn:hover:not(:disabled){background:var(--danger-bg);color:var(--danger)}.tw-add-btn{width:100%;padding:var(--space-sm);border:1px dashed var(--border);background:transparent;color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);transition:all var(--transition-fast);margin-top:auto}.tw-add-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--primary-glow)}.tw-add-btn:disabled{opacity:.5;cursor:not-allowed}.tw-add-form{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-sm);background:var(--bg-surface);border-radius:var(--radius-sm);border:1px solid var(--primary);margin-top:auto}.tw-add-form select,.tw-add-form input[type=text]{width:100%;padding:var(--space-xs);border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--bg-input);color:var(--text);font-size:var(--text-sm);font-family:DM Sans,sans-serif}.tw-add-form select:focus,.tw-add-form input:focus{outline:none;border-color:var(--primary)}.tw-ticket-select{border-color:#a78bfa4d!important;background:#a78bfa14!important}.tw-ticket-select:focus{border-color:var(--secondary)!important}.tw-form-row{display:flex;align-items:center;gap:var(--space-xs)}.tw-form-row input[type=number]{width:48px;padding:var(--space-xs);border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--bg-input);color:var(--text);font-size:var(--text-sm);text-align:center}.tw-form-row span{font-size:var(--text-xs);color:var(--text-muted)}.tw-btn-add{flex:1;padding:var(--space-xs);border:none;border-radius:var(--radius-xs);background:var(--primary);color:#fff;font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:background var(--transition-fast)}.tw-btn-add:hover:not(:disabled){background:var(--primary-light)}.tw-btn-add:disabled{opacity:.5;cursor:not-allowed}.tw-btn-cancel{padding:var(--space-xs) var(--space-sm);border:none;border-radius:var(--radius-xs);background:var(--bg-card);color:var(--text-muted);font-size:var(--text-base);cursor:pointer;transition:background var(--transition-fast)}.tw-btn-cancel:hover{background:var(--bg-card-hover)}.tw-day-total{position:absolute;bottom:var(--space-xs);right:var(--space-xs);font-size:var(--text-xs);color:var(--primary);font-weight:600;background:var(--primary-glow);padding:.1rem var(--space-xs);border-radius:var(--radius-xs)}.tw-leave-badge,.tw-holiday-badge{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);background:var(--bg-surface);border-radius:var(--radius-sm);border-left:3px solid var(--warning);font-size:var(--text-base);font-weight:500}.tw-leave-badge.vacation{border-left-color:var(--info);background:#60a5fa0f}.tw-leave-badge.sick{border-left-color:var(--danger);background:#fb71850f}.tw-leave-badge.personal{border-left-color:var(--secondary);background:#a78bfa0f}.tw-holiday-badge{border-left-color:var(--secondary);background:#a78bfa14;font-size:var(--text-sm)}.tw-holiday-badge span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tw-hours-warning{margin-top:6px;padding:6px 10px;background:#f59e0b1f;border:1px solid rgba(245,158,11,.45);border-radius:6px;color:#fbbf24;font-size:12px;line-height:1.35}.tw-modal-overlay{position:fixed;inset:0;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.tw-modal{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--space-xl);width:100%;max-width:400px;border:1px solid var(--border);box-shadow:var(--shadow-xl);animation:twModalSlide var(--transition-base)}@keyframes twModalSlide{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.tw-modal h3{margin:0 0 var(--space-xl) 0;color:var(--text);font-size:var(--text-lg);font-family:Outfit,sans-serif;font-weight:600}.tw-modal-form{display:flex;flex-direction:column;gap:var(--space-md)}.tw-modal-form label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;font-weight:600;letter-spacing:.04em}.tw-modal-form select,.tw-modal-form input{padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text);font-size:var(--text-base);font-family:DM Sans,sans-serif}.tw-modal-form select:focus,.tw-modal-form input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.tw-modal-actions{display:flex;gap:var(--space-md);margin-top:var(--space-xl)}.tw-modal-actions button{flex:1;padding:var(--space-md) var(--space-lg);border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-base);font-weight:600;transition:all var(--transition-fast);font-family:DM Sans,sans-serif}.tw-modal-actions button:disabled{opacity:.5;cursor:not-allowed}.tw-btn-primary{background:var(--primary);color:#fff}.tw-btn-secondary{background:var(--bg-surface);color:var(--text);border:1px solid var(--border)!important}.tw-btn-danger{background:var(--danger);color:#fff}.tw-legend{display:flex;align-items:center;gap:var(--space-xl);padding:var(--space-md) var(--space-lg);margin-top:var(--space-lg);background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);flex-wrap:wrap}.tw-legend span{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--text-sm);color:var(--text-secondary)}.tw-legend .tw-dot{width:10px;height:10px;border-radius:3px}.tw-dot.planned{background:var(--text-muted)}.tw-dot.in-progress{background:var(--info)}.tw-dot.completed{background:var(--success)}.tw-dot.finalized{background:#555}.tw-legend-hint{margin-left:auto;color:var(--text-muted);font-style:italic}@media(max-width:1200px){.tw-grid-header,.tw-grid-row{min-width:900px}}@media(max-width:768px){.tw-header{flex-direction:column;align-items:flex-start}.tw-header-actions{flex-wrap:wrap}.tw-summary{flex-wrap:wrap;gap:var(--space-sm)}}.roadmap{width:100%;min-height:calc(100vh - 200px)}.roadmap-loading{display:flex;align-items:center;justify-content:center;padding:var(--space-3xl);color:var(--text-muted);font-size:var(--text-lg);font-family:DM Sans,sans-serif}.roadmap-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xl);margin-bottom:var(--space-xl);flex-wrap:wrap}.roadmap-header h2{margin:0;font-size:var(--text-2xl);font-family:Outfit,sans-serif;color:var(--text)}.roadmap-nav{display:flex;align-items:center;gap:var(--space-md)}.roadmap-nav .current-month{font-size:var(--text-lg);font-weight:600;font-family:Outfit,sans-serif;color:var(--primary);min-width:clamp(100px,8vw,140px);text-align:center}.roadmap-actions{display:flex;align-items:center;gap:var(--space-lg);flex-wrap:wrap}.view-toggle{display:flex;gap:var(--space-xs)}.view-toggle .btn{border-radius:var(--radius-sm)}.view-toggle .btn:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.view-toggle .btn:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.view-toggle .btn:not(:first-child):not(:last-child){border-radius:0}.pptx-buttons{display:flex;gap:var(--space-xs)}.btn-pptx-plan{display:flex;align-items:center;gap:var(--space-xs);background:#38bdf81f;border:1px solid rgba(56,189,248,.3);color:var(--primary);font-size:var(--text-sm);transition:all var(--transition-base)}.btn-pptx-plan:hover{background:#38bdf833;border-color:var(--primary)}.btn-pptx-delivery{display:flex;align-items:center;gap:var(--space-xs);background:#22c55e1f;border:1px solid rgba(34,197,94,.3);color:var(--success);font-size:var(--text-sm);transition:all var(--transition-base)}.btn-pptx-delivery:hover{background:#22c55e33;border-color:var(--success)}.roadmap-filters{display:flex;gap:var(--space-lg);margin-bottom:var(--space-lg);flex-wrap:wrap}.roadmap-filters .search-input{flex:1;min-width:clamp(160px,14vw,220px);padding:var(--space-sm) var(--space-md);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:var(--text-base);font-family:DM Sans,sans-serif;transition:border-color var(--transition-base)}.roadmap-filters .search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-glow)}.roadmap-filters .filter-select{padding:var(--space-sm) var(--space-md);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:var(--text-base);font-family:DM Sans,sans-serif;min-width:clamp(120px,10vw,160px);transition:border-color var(--transition-base)}.roadmap-filters .filter-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-glow)}.roadmap-legend{display:flex;align-items:center;gap:var(--space-xl);padding:var(--space-md) var(--space-lg);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:var(--space-xl);flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--text-base);color:var(--text-secondary);font-family:DM Sans,sans-serif}.legend-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.legend-dot.status-proposed{background:var(--text-muted)}.legend-dot.status-committed{background:var(--info)}.legend-dot.status-in-progress{background:var(--warning)}.legend-dot.status-done{background:var(--success)}.legend-separator{width:1px;height:20px;background:var(--border)}.confidence-example{color:var(--warning);font-size:var(--text-base)}.roadmap-board{display:flex;gap:var(--space-lg);overflow-x:auto;padding-bottom:var(--space-lg)}.month-column{flex:0 0 clamp(240px,20vw,320px);min-width:clamp(240px,20vw,320px);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;flex-direction:column;max-height:calc(100vh - 350px)}.month-column.current-sprint{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary-glow)}.month-header{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-lg);border-bottom:1px solid var(--border);background:var(--primary-glow);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.sprint-header-content{flex:1;display:flex;flex-direction:column;gap:2px}.sprint-dates{font-size:var(--text-sm);color:var(--text-muted);font-family:DM Sans,sans-serif}.month-title{font-weight:600;font-family:Outfit,sans-serif;color:var(--text);flex:1}.month-count{color:var(--text-muted);font-size:var(--text-base)}.month-header .btn-ghost{background:transparent;border:1px dashed var(--border);color:var(--text-muted);padding:.15rem var(--space-sm);font-size:var(--text-md);line-height:1;border-radius:var(--radius-sm);transition:border-color var(--transition-base),color var(--transition-base)}.month-header .btn-ghost:hover{border-color:var(--primary);color:var(--primary)}.month-tickets{flex:1;overflow-y:auto;padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-md)}.empty-month{color:var(--text-muted);font-style:italic;text-align:center;padding:var(--space-xl) var(--space-md);font-size:var(--text-base)}.sprint-quick-add{border-top:1px solid var(--border);padding:var(--space-sm);flex-shrink:0}.sprint-qa-trigger{width:100%;padding:var(--space-sm) var(--space-md);background:transparent;border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--text-sm);font-family:DM Sans,sans-serif;cursor:pointer;display:flex;align-items:center;gap:var(--space-sm);transition:border-color var(--transition-base),color var(--transition-base),background var(--transition-base)}.sprint-qa-trigger:hover{border-color:var(--primary);color:var(--primary);background:#38bdf80d}.sprint-qa-plus{font-size:var(--text-md);font-weight:700;line-height:1}.sprint-qa-form{display:flex;flex-direction:column;gap:var(--space-sm)}.sprint-qa-title{width:100%;padding:var(--space-sm) var(--space-md);background:var(--bg-input);border:1px solid var(--primary);border-radius:var(--radius-sm);color:var(--text);font-size:var(--text-base);font-family:DM Sans,sans-serif;outline:none;box-shadow:0 0 0 2px var(--primary-glow)}.sprint-qa-title::placeholder{color:var(--text-muted)}.sprint-qa-fields{display:flex;gap:var(--space-xs)}.sprint-qa-select{flex:1;min-width:0;padding:var(--space-xs) var(--space-xs);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:var(--text-xs);font-family:DM Sans,sans-serif;outline:none;transition:border-color var(--transition-fast)}.sprint-qa-select:focus{border-color:var(--primary)}.sprint-qa-hours{width:50px;padding:var(--space-xs);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:var(--text-xs);font-family:DM Sans,sans-serif;text-align:center;outline:none;transition:border-color var(--transition-fast);-moz-appearance:textfield}.sprint-qa-hours::-webkit-outer-spin-button,.sprint-qa-hours::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.sprint-qa-hours:focus{border-color:var(--primary)}.sprint-qa-hours::placeholder{color:var(--text-muted)}.sprint-qa-actions{display:flex;gap:var(--space-xs);justify-content:flex-end}.ticket-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-md);border-left:4px solid var(--text-muted);transition:transform var(--transition-base),box-shadow var(--transition-base),background var(--transition-base);cursor:default}.ticket-card.dragging{opacity:.5;transform:rotate(2deg)}.ticket-card:hover{box-shadow:var(--shadow);background:var(--bg-card)}.ticket-card.status-proposed{border-left-color:var(--text-muted)}.ticket-card.status-committed{border-left-color:var(--info)}.ticket-card.status-in-progress{border-left-color:var(--warning)}.ticket-card.status-done{border-left-color:var(--success);opacity:.8}.ticket-top{display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.ticket-project{font-size:var(--text-sm);text-transform:uppercase;font-weight:600;color:var(--primary);letter-spacing:.03em;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ticket-project-missing{color:var(--warning, #fbbf24);font-weight:600;white-space:nowrap}.ticket-status-badge{font-size:var(--text-xs);padding:.15rem var(--space-sm);border-radius:var(--radius-sm);text-transform:uppercase;font-weight:600;white-space:nowrap}.ticket-status-badge.status-proposed{background:#64748b26;color:var(--text-muted)}.ticket-status-badge.status-committed{background:var(--info-bg);color:var(--info)}.ticket-status-badge.status-in-progress{background:var(--warning-bg);color:var(--warning)}.ticket-status-badge.status-done{background:var(--success-bg);color:var(--success)}.ticket-bug-badge{font-size:var(--text-xs);padding:.15rem var(--space-sm);border-radius:var(--radius-sm);text-transform:uppercase;font-weight:600;white-space:nowrap;background:var(--danger-bg);color:var(--danger)}.ticket-card-bug{border-left:3px solid var(--danger)}.ticket-review-badge{font-size:var(--text-xs);padding:.15rem var(--space-sm);border-radius:var(--radius-sm);text-transform:uppercase;font-weight:600;white-space:nowrap}.ticket-review-badge.review-pending{background:#fbbf2426;color:var(--warning, #fbbf24)}.ticket-review-badge.review-rejected{background:var(--danger-bg);color:var(--danger)}.review-queue{border:1px solid var(--warning, #fbbf24);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-lg);background:#fbbf240d}.review-queue-header{display:flex;align-items:baseline;gap:var(--space-md);flex-wrap:wrap;margin-bottom:var(--space-md)}.review-queue-header h3{margin:0;font-size:var(--text-base);color:var(--warning, #fbbf24)}.review-queue-hint{font-size:var(--text-xs);color:var(--text-muted)}.review-item{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-lg);padding:var(--space-md) 0;border-top:1px solid var(--border)}.review-item-main{min-width:0}.review-item-top{display:flex;align-items:baseline;gap:var(--space-sm);flex-wrap:wrap}.review-item-title{font-size:var(--text-sm)}.review-item-meta{font-size:var(--text-xs);color:var(--text-muted)}.review-item-desc{margin:var(--space-xs) 0 0;font-size:var(--text-sm);color:var(--text-secondary, var(--text-muted));white-space:pre-wrap}.review-item-desc.review-item-missing{color:var(--text-muted);font-style:italic}.review-item-acs{margin:var(--space-xs) 0 0;padding-left:var(--space-lg);font-size:var(--text-sm);color:var(--text-secondary, var(--text-muted))}.review-item-prev{margin-top:var(--space-xs);font-size:var(--text-xs);color:var(--warning, #fbbf24);font-style:italic}.review-item-actions{display:flex;gap:var(--space-sm);align-items:center;flex-shrink:0}.btn-approve{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);color:var(--success)}.btn-approve:hover{background:#22c55e33;border-color:var(--success)}.backlog-column{border-style:dashed;border-color:var(--border-medium)}.btn-bug{background:var(--danger-bg);color:var(--danger);border:1px solid transparent}.btn-bug:hover{border-color:var(--danger)}.ticket-title{margin:0 0 var(--space-sm) 0;font-size:var(--text-base);font-weight:600;font-family:Outfit,sans-serif;color:var(--text);line-height:1.3}.ticket-description{margin:0 0 var(--space-sm) 0;font-size:var(--text-base);color:var(--text-secondary);line-height:1.4}.ticket-meta{display:flex;gap:var(--space-md);font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-sm)}.ticket-hours{color:var(--info);font-weight:600}.ticket-creator{font-style:italic}.ticket-assignee{color:var(--secondary);font-weight:500}.ticket-plan-progress{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.progress-bar{flex:1;height:6px;background:var(--bg-input);border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:var(--success);border-radius:3px;transition:width .3s ease}.progress-text{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap}.confidence-stars{margin-bottom:var(--space-sm)}.confidence-stars .star{color:var(--text-muted);font-size:var(--text-md);transition:color var(--transition-base)}.confidence-stars .star.filled{color:var(--warning)}.confidence-stars .star.clickable{cursor:pointer}.confidence-stars .star.clickable:hover{color:var(--warning);transform:scale(1.1)}.ticket-actions{display:flex;gap:var(--space-xs);align-items:center;flex-wrap:wrap}.ticket-actions .status-select{flex:1;min-width:90px;max-width:120px;padding:var(--space-xs) var(--space-xs);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:var(--text-sm);font-family:DM Sans,sans-serif}.ticket-actions .btn-xs{padding:var(--space-xs) var(--space-sm);font-size:var(--text-sm)}.btn-spec{background:#a78bfa1f;border:1px solid rgba(167,139,250,.3);color:var(--secondary)}.btn-spec:hover{background:#a78bfa33;border-color:var(--secondary)}.roadmap-list{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.tickets-table{width:100%;border-collapse:collapse}.tickets-table th,.tickets-table td{padding:var(--space-md) var(--space-lg);text-align:left;border-bottom:1px solid var(--border)}.tickets-table th{background:var(--primary-glow);font-size:var(--text-sm);text-transform:uppercase;font-weight:600;font-family:DM Sans,sans-serif;color:var(--text-muted);letter-spacing:.03em}.tickets-table tbody tr{transition:background var(--transition-fast)}.tickets-table tbody tr:hover{background:var(--bg-card-hover)}.tickets-table tbody tr.status-done{opacity:.7}.ticket-desc-preview{font-size:var(--text-sm);color:var(--text-muted);margin-top:var(--space-xs)}.status-select-sm{padding:var(--space-xs) var(--space-sm);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:var(--text-base);font-family:DM Sans,sans-serif}.status-badge{display:inline-block;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:600;text-transform:capitalize}.status-badge.status-proposed{background:#64748b26;color:var(--text-muted)}.status-badge.status-committed{background:var(--info-bg);color:var(--info)}.status-badge.status-in-progress{background:var(--warning-bg);color:var(--warning)}.status-badge.status-done{background:var(--success-bg);color:var(--success)}.empty-table{text-align:center;color:var(--text-muted);font-style:italic;padding:var(--space-2xl)!important}.actions-cell{white-space:nowrap}.actions-cell .btn{margin-right:var(--space-xs)}.actions-cell .btn:last-child{margin-right:0}.modal-overlay{position:fixed;inset:0;background:#080a0fcc;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-lg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl)}.ticket-modal{border-top:4px solid var(--primary);max-width:600px}.spec-modal{border-top:4px solid var(--secondary);max-width:700px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--border)}.modal-header h3{margin:0;font-size:var(--text-lg);font-family:Outfit,sans-serif;color:var(--text)}.modal-close{background:none;border:none;font-size:var(--text-2xl);color:var(--text-muted);cursor:pointer;padding:0;line-height:1;transition:color var(--transition-base)}.modal-close:hover{color:var(--danger)}.modal-body{padding:var(--space-xl)}.modal-body .form-group{margin-bottom:var(--space-lg)}.modal-body .form-group label{display:block;font-size:var(--text-base);color:var(--text-muted);text-transform:uppercase;font-weight:600;font-family:DM Sans,sans-serif;margin-bottom:var(--space-xs);letter-spacing:.03em}.modal-body .form-group input,.modal-body .form-group select,.modal-body .form-group textarea{width:100%;padding:var(--space-md) var(--space-md);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:var(--text-base);font-family:DM Sans,sans-serif;transition:border-color var(--transition-base)}.modal-body .form-group input:focus,.modal-body .form-group select:focus,.modal-body .form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-glow)}.modal-body .form-group textarea{resize:vertical;font-family:DM Sans,sans-serif}.modal-body .form-row{display:flex;gap:var(--space-lg)}.modal-body .form-row .form-group{flex:1}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-md);padding:var(--space-lg) var(--space-xl);border-top:1px solid var(--border);background:var(--bg-surface);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.spec-section{margin-bottom:var(--space-xl)}.spec-section h4{margin:0 0 var(--space-md) 0;font-size:var(--text-md);font-family:Outfit,sans-serif;color:var(--primary);text-transform:uppercase;letter-spacing:.05em}.spec-meta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md)}.spec-meta-item{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-md)}.spec-meta-label{display:block;font-size:var(--text-xs);text-transform:uppercase;color:var(--text-muted);font-weight:600;margin-bottom:var(--space-xs)}.spec-meta-value{font-size:var(--text-base);color:var(--text);font-weight:500}.spec-description{margin:0;color:var(--text-secondary);line-height:1.6;font-size:var(--text-base);white-space:pre-wrap}.spec-checklist{display:flex;flex-direction:column;gap:var(--space-sm)}.spec-checklist-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:var(--text-base)}.spec-bullet{color:var(--primary);font-weight:700;flex-shrink:0}.spec-checklist-item span:nth-child(2){flex:1}.spec-remove-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:var(--text-lg);line-height:1;padding:0 var(--space-xs);flex-shrink:0;transition:color var(--transition-base)}.spec-remove-btn:hover{color:var(--danger)}.spec-add-row{display:flex;gap:var(--space-sm);align-items:center}.spec-add-row input{flex:1;padding:var(--space-sm) var(--space-md);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:var(--text-base);font-family:DM Sans,sans-serif}.spec-add-row input:focus{outline:none;border-color:var(--primary)}.spec-empty{color:var(--text-muted);font-style:italic;margin:0;padding:var(--space-sm) 0}.spec-list{display:flex;flex-direction:column;gap:var(--space-sm)}.spec-list-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:var(--text-base)}.spec-list-item span{flex:1}.spec-plan-list{display:flex;flex-direction:column;gap:var(--space-sm)}.spec-plan-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-base)}.spec-plan-member{color:var(--secondary);font-weight:600;min-width:80px}.spec-plan-task{flex:1;color:var(--text)}.spec-plan-hours{color:var(--info);font-weight:600}.spec-plan-status{text-transform:capitalize;font-size:var(--text-sm);font-weight:600;padding:2px var(--space-sm);border-radius:var(--radius-sm)}.spec-plan-status.planned{color:var(--text-muted)}.spec-plan-status.in-progress{color:var(--warning)}.spec-plan-status.completed{color:var(--success)}.spec-plan-status.finalized{color:var(--info)}.ticket-card[draggable=true]{cursor:grab}.ticket-card[draggable=true]:active{cursor:grabbing}.btn-xs{padding:var(--space-xs) var(--space-sm);font-size:var(--text-sm)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#f43f5e}.sheet-view{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.sheet-sprint-label{padding:var(--space-lg) var(--space-xl);font-family:Outfit,sans-serif;font-size:var(--text-lg);font-weight:600;color:var(--primary);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:var(--space-lg)}.sheet-count{font-size:var(--text-sm);font-weight:400;color:var(--text-muted);font-family:DM Sans,sans-serif}.sheet-table-wrapper{overflow-x:auto}.sheet-table{width:100%;border-collapse:collapse;table-layout:fixed}.sheet-table th{padding:var(--space-sm) var(--space-md);text-align:left;font-size:var(--text-xs);text-transform:uppercase;font-weight:600;font-family:DM Sans,sans-serif;color:var(--text-muted);letter-spacing:.05em;background:var(--bg-surface);border-bottom:2px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none}.sheet-col-num{width:40px;text-align:center}.sheet-col-title{width:25%;min-width:180px}.sheet-col-project{width:16%;min-width:120px}.sheet-col-assignee{width:14%;min-width:110px}.sheet-col-status{width:12%;min-width:110px}.sheet-col-hours{width:8%;min-width:70px}.sheet-col-desc{width:auto;min-width:140px}.sheet-col-actions{width:50px}.sheet-row{border-bottom:1px solid var(--border);transition:background var(--transition-fast)}.sheet-row:hover{background:var(--bg-card-hover)}.sheet-row-new{background:#38bdf808}.sheet-row-new:hover{background:#38bdf80f}.sheet-row-dirty{background:#f59e0b0a}.sheet-row-saving{opacity:.7;pointer-events:none}.sheet-cell{padding:0;position:relative}.sheet-cell-num{text-align:center;padding:var(--space-sm);color:var(--text-muted);font-size:var(--text-sm);font-family:DM Sans,sans-serif;-webkit-user-select:none;user-select:none}.sheet-new-indicator{color:var(--primary);font-weight:700;font-size:var(--text-md)}.sheet-input,.sheet-select{width:100%;padding:var(--space-sm) var(--space-md);background:transparent;border:1px solid transparent;border-radius:0;color:var(--text);font-size:var(--text-base);font-family:DM Sans,sans-serif;outline:none;transition:border-color var(--transition-fast),background var(--transition-fast);box-sizing:border-box}.sheet-input::placeholder{color:var(--text-muted);opacity:.5}.sheet-input:focus,.sheet-select:focus{background:var(--bg-input);border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary-glow);z-index:1;position:relative}.sheet-cell.editing{background:var(--bg-input)}.sheet-input:read-only,.sheet-select:disabled{cursor:default;color:var(--text-secondary)}.sheet-input-hours{text-align:right}.sheet-input-hours::-webkit-outer-spin-button,.sheet-input-hours::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.sheet-input-hours{-moz-appearance:textfield}.sheet-status-proposed{color:var(--text-muted)}.sheet-status-committed{color:var(--info)}.sheet-status-in-progress{color:var(--warning)}.sheet-status-done{color:var(--success)}.sheet-cell-actions{padding:var(--space-xs);text-align:center;white-space:nowrap}.sheet-saving-dot,.sheet-dirty-dot{display:inline-block;width:8px;height:8px;border-radius:50%;vertical-align:middle}.sheet-saving-dot{background:var(--primary);animation:sheetPulse .8s ease-in-out infinite}.sheet-dirty-dot{background:var(--warning)}@keyframes sheetPulse{0%,to{opacity:1}50%{opacity:.3}}.sheet-del-btn{padding:2px 6px;font-size:var(--text-sm);line-height:1;opacity:0;transition:opacity var(--transition-fast)}.sheet-row:hover .sheet-del-btn{opacity:1}.sheet-hint{padding:var(--space-sm) var(--space-xl);font-size:var(--text-xs);color:var(--text-muted);background:var(--bg-surface);border-top:1px solid var(--border);font-family:DM Sans,sans-serif}.sheet-hint kbd{display:inline-block;padding:1px 5px;font-size:var(--text-xs);font-family:DM Sans,monospace;background:var(--bg-card);border:1px solid var(--border);border-radius:3px;color:var(--text-secondary);margin:0 2px}@media(max-width:768px){.roadmap-header{flex-direction:column;align-items:flex-start}.roadmap-filters{flex-direction:column}.roadmap-filters .search-input,.roadmap-filters .filter-select{width:100%}.roadmap-legend{flex-wrap:wrap;gap:var(--space-lg)}.month-column{flex:0 0 260px;min-width:260px}.modal-body .form-row{flex-direction:column;gap:0}.spec-meta-grid{grid-template-columns:repeat(2,1fr)}.pptx-buttons{flex-direction:column;width:100%}}.spec-section-hint{font-weight:400;color:var(--text-muted, #94a3b8);font-size:12px;margin-left:6px}.epic-children-list{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.epic-child{display:grid;grid-template-columns:1fr auto auto auto auto auto;align-items:center;gap:10px;padding:8px 12px;background:var(--surface, #111520);border:1px solid var(--border, #243044);border-radius:6px;font-size:13px}.epic-child-wrap{display:flex;flex-direction:column;gap:4px}.epic-child-editor{display:flex;flex-direction:column;gap:4px;padding:10px 12px;margin:0 0 4px;background:var(--bg-inset, rgba(0, 0, 0, .2));border:1px solid var(--border, #243044);border-radius:6px}.epic-child-editor-label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #64748b)}.epic-child-editor-input{background:var(--bg-input, #121620);border:1px solid var(--border-medium, rgba(148, 163, 184, .12));color:var(--text, #e2e8f0);border-radius:6px;padding:6px 8px;font-size:13px;font-family:inherit;resize:vertical}.epic-child-editor-input:focus{outline:none;border-color:var(--border-focus, rgba(255, 22, 84, .4))}.epic-child-done{opacity:.6}.epic-child-done .epic-child-title{text-decoration:line-through}.epic-child-title{color:var(--text, #e2e8f0);font-weight:500}.epic-child-member{font-size:11px;color:var(--secondary, #a78bfa);background:#a78bfa1a;padding:2px 8px;border-radius:10px;font-weight:600}.epic-child-hours{font-size:11px;color:var(--primary, #38bdf8);font-weight:600;font-variant-numeric:tabular-nums}.epic-child-status{padding:4px 8px;background:var(--card, #171c28);border:1px solid var(--border, #243044);border-radius:4px;color:var(--text, #cbd5e1);font-size:11px;text-transform:uppercase;letter-spacing:.04em;cursor:pointer}.epic-child-status-todo{color:#94a3b8}.epic-child-status-in_progress{color:#f59e0b;border-color:#f59e0b4d}.epic-child-status-done{color:#22c55e;border-color:#22c55e4d}.epic-child-status-blocked{color:#ef4444;border-color:#ef44444d}.epic-child-add{display:grid;grid-template-columns:1fr 70px auto;gap:8px;align-items:center;padding:8px;background:#38bdf80a;border:1px dashed var(--border, #243044);border-radius:6px}.epic-child-input,.epic-child-hours-input{padding:8px 12px;background:var(--card, #171c28);border:1px solid var(--border, #243044);border-radius:4px;color:var(--text, #e2e8f0);font-size:13px;font-family:DM Sans,sans-serif;outline:none}.epic-child-input:focus,.epic-child-hours-input:focus{border-color:var(--primary, #38bdf8)}.epic-child-hours-input{text-align:right;font-variant-numeric:tabular-nums}.epic-status-add{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.epic-status-input{width:100%;padding:10px 12px;background:var(--surface, #111520);border:1px solid var(--border, #243044);border-radius:6px;color:var(--text, #e2e8f0);font-size:13px;font-family:DM Sans,sans-serif;resize:vertical;outline:none}.epic-status-input:focus{border-color:var(--primary, #38bdf8)}.epic-status-list{display:flex;flex-direction:column;gap:8px;max-height:320px;overflow-y:auto}.epic-status-entry{padding:10px 12px;background:var(--surface, #111520);border:1px solid var(--border, #243044);border-left:3px solid var(--primary, #38bdf8);border-radius:6px}.epic-status-meta{display:flex;align-items:center;gap:10px;margin-bottom:4px;font-size:11px}.epic-status-date{font-weight:600;color:var(--primary, #38bdf8);font-variant-numeric:tabular-nums}.epic-status-member{color:var(--secondary, #a78bfa);font-weight:600}.epic-status-del{margin-left:auto;background:transparent;border:none;color:var(--text-muted, #64748b);cursor:pointer;font-size:16px;line-height:1;padding:0 4px}.epic-status-del:hover{color:#ef4444}.epic-status-note{margin:0;color:var(--text, #cbd5e1);font-size:13px;line-height:1.5;white-space:pre-wrap}.task-hours-warning{margin:6px 0 0;padding:6px 10px;background:#f59e0b1f;border:1px solid rgba(245,158,11,.45);border-radius:6px;color:#fbbf24;font-size:12px;line-height:1.35}.hr-report{display:flex;flex-direction:column;gap:1.25rem}.hr-report-header{display:flex;flex-direction:column;gap:.25rem}.hr-report-title-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.hr-report-title-row h2{margin:0;font-family:Outfit,sans-serif;font-size:1.5rem;color:var(--text-primary)}.hr-report-controls{display:flex;align-items:center;gap:.5rem}.hr-select{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary);padding:.5rem .75rem;border-radius:8px;font-size:.85rem;cursor:pointer;outline:none;transition:border-color .2s}.hr-select:hover,.hr-select:focus{border-color:var(--primary)}.hr-export-btn{display:flex;align-items:center;gap:.4rem;font-size:.85rem;padding:.5rem 1rem}.hr-report-subtitle{margin:0;color:var(--text-secondary);font-size:.9rem}.hr-holidays-bar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.75rem 1rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px}.hr-holidays-label{font-size:.8rem;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.hr-holiday-tag{font-size:.78rem;color:var(--text-primary);background:#a78bfa1f;border:1px solid rgba(167,139,250,.25);padding:.2rem .6rem;border-radius:6px}.hr-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem}.hr-summary-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;padding:1rem 1.25rem;text-align:center}.hr-summary-value{font-family:Outfit,sans-serif;font-size:1.75rem;font-weight:700;color:var(--primary);line-height:1.2}.hr-summary-label{font-size:.78rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-top:.25rem}.hr-view-toggle{display:inline-flex;background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;padding:.25rem;gap:.25rem;align-self:flex-start}.hr-view-btn{background:transparent;border:none;color:var(--text-secondary);font-size:.85rem;font-weight:600;padding:.45rem 1rem;border-radius:7px;cursor:pointer;transition:background .15s,color .15s}.hr-view-btn:hover{color:var(--text-primary)}.hr-view-btn.active{background:var(--primary);color:#0c1017}.hr-empty-state{text-align:center;color:var(--text-secondary);padding:2rem!important;font-style:italic}.col-people{width:80px;text-align:center}.hr-table{width:100%}.hr-table th{white-space:nowrap;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.hr-table td{vertical-align:middle}.col-nr{width:40px;text-align:center}.col-hours,.col-days,.col-holidays,.col-effective,.col-leave,.col-worked,.col-total,.col-planned{text-align:center;width:90px}.col-type{width:110px}.hr-employee-cell{display:flex;flex-direction:column;gap:.1rem}.hr-employee-name{font-weight:600;color:var(--text-primary)}.hr-employee-role{font-size:.78rem;color:var(--text-secondary)}.hr-expand-icon{display:inline-block;margin-right:.35rem;font-size:.8rem;color:var(--text-secondary)}.hr-row.clickable{cursor:pointer;transition:background .15s}.hr-row.clickable:hover{background:var(--bg-hover)!important}.hr-row.expanded{background:var(--bg-hover)!important;border-bottom:none}.hr-type-badge{display:inline-block;font-size:.75rem;font-weight:600;padding:.2rem .6rem;border-radius:6px;text-transform:capitalize}.hr-type-badge.salariat{background:#38bdf81f;color:#38bdf8;border:1px solid rgba(56,189,248,.25)}.hr-type-badge.colaborator{background:#a78bfa1f;color:#a78bfa;border:1px solid rgba(167,139,250,.25)}.hr-type-badge.contribuitor{background:#34d3991f;color:#34d399;border:1px solid rgba(52,211,153,.25)}.hr-hours-badge{display:inline-block;font-size:.8rem;font-weight:700;padding:.2rem .6rem;border-radius:6px;min-width:36px;text-align:center}.hr-hours-badge.h8{background:#38bdf826;color:#38bdf8}.hr-hours-badge.h6{background:#facc1526;color:#facc15}.hr-hours-badge.h4{background:#a78bfa26;color:#a78bfa}.hr-planned-active{color:var(--secondary, #a78bfa)}.hr-leave-highlight{display:inline-block;background:#ef444426;color:#ef4444;font-weight:600;padding:.15rem .5rem;border-radius:4px;font-size:.85rem}.hr-leave-zero{color:var(--text-muted, var(--text-secondary));opacity:.5}.hr-breakdown-row td{padding:0!important;background:var(--bg-surface)!important;border-top:none!important}.hr-breakdown{padding:.75rem 1.25rem .75rem 3rem;display:flex;flex-direction:column;gap:.5rem}.hr-breakdown-title{font-size:.78rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.hr-breakdown-items{display:flex;flex-direction:column;gap:.6rem}.hr-breakdown-project{font-size:.85rem;color:var(--text-primary);min-width:180px;font-weight:500}.hr-breakdown-hours{font-size:.85rem;color:var(--primary);font-weight:700;min-width:50px;text-align:right}.hr-breakdown-bar{flex:1;max-width:200px;height:6px;background:#38bdf81a;border-radius:3px;overflow:hidden}.hr-breakdown-fill{height:100%;background:var(--primary);border-radius:3px;transition:width .3s ease}.hr-totals-row{background:var(--bg-surface)!important;border-top:2px solid var(--primary)}.hr-totals-label{text-align:right!important;font-weight:700;font-size:.9rem;color:var(--text-primary);padding-right:1rem!important;text-transform:uppercase;letter-spacing:.04em}.hr-totals-row .col-total,.hr-totals-row .col-planned{font-size:1.05rem;color:var(--primary)}.col-tasks{text-align:center;width:100px}.hr-task-summary{display:flex;flex-direction:column;align-items:center;gap:.2rem}.hr-task-count{font-weight:700;font-size:.9rem;color:var(--text-primary)}.hr-status-dots{display:flex;gap:.25rem;justify-content:center}.hr-dot{font-size:.65rem;font-weight:600;padding:.1rem .35rem;border-radius:4px;line-height:1.2}.hr-dot.completed{background:#34d39926;color:#34d399}.hr-dot.in-progress{background:#38bdf826;color:#38bdf8}.hr-dot.planned{background:#94a3b826;color:#94a3b8}.hr-dot.finalized{background:#facc1526;color:#facc15}.hr-breakdown-item{display:flex;flex-direction:column;gap:.35rem}.hr-breakdown-project-header{display:flex;align-items:center;gap:.75rem}.hr-task-list{display:flex;flex-direction:column;gap:.25rem;padding-left:1rem;border-left:2px solid var(--border-color);margin-left:.5rem}.hr-task-item{display:flex;align-items:center;gap:.5rem;font-size:.82rem;padding:.2rem 0}.hr-task-status{font-size:.75rem;width:18px;text-align:center;flex-shrink:0}.hr-task-status.completed{color:#34d399}.hr-task-status.in-progress{color:#38bdf8}.hr-task-status.planned{color:#94a3b8}.hr-task-status.finalized{color:#facc15}.hr-task-name{color:var(--text-primary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hr-task-hours{color:var(--primary);font-weight:600;font-size:.8rem;min-width:35px;text-align:right;flex-shrink:0}.hr-task-date{color:var(--text-secondary);font-size:.75rem;min-width:50px;flex-shrink:0}.hr-task-status-label{font-size:.7rem;font-weight:600;padding:.1rem .4rem;border-radius:4px;text-transform:capitalize;flex-shrink:0}.hr-task-status-label.completed{background:#34d3991f;color:#34d399}.hr-task-status-label.in-progress{background:#38bdf81f;color:#38bdf8}.hr-task-status-label.planned{background:#94a3b81f;color:#94a3b8}.hr-task-status-label.finalized{background:#facc151f;color:#facc15}.hr-totals-row .col-tasks{font-size:1.05rem;color:var(--primary)}@media(max-width:768px){.hr-report-title-row{flex-direction:column;align-items:flex-start}.hr-report-controls{width:100%;flex-wrap:wrap}.hr-select{flex:1;min-width:100px}.hr-export-btn{flex:1;justify-content:center}.hr-summary-cards{grid-template-columns:repeat(2,1fr)}.table-container{overflow-x:auto}.hr-breakdown-project{min-width:120px}}.hr-export-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem 1rem;margin-bottom:1rem}.hr-export-info{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.hr-range-control{display:flex;align-items:center;gap:.4rem;font-size:.9rem;color:var(--text-muted)}.hr-range-input{width:56px;padding:.3rem .4rem;background:var(--bg-dark);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.9rem;text-align:center}.hr-range-input:disabled{opacity:.4;cursor:not-allowed}.hr-alltime{display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem;color:var(--text-muted);cursor:pointer}.hr-alltime input[type=checkbox]{width:15px;height:15px;accent-color:var(--primary);cursor:pointer}.hr-range-text{font-size:.9rem;font-weight:600;color:var(--text);padding:.2rem .6rem;background:var(--bg-dark);border-radius:var(--radius-sm)}.hr-filter-toggle{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;padding:.35rem .7rem;background:var(--bg-dark);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer}.hr-filter-toggle:hover{border-color:var(--primary)}.hr-filter-toggle.active{border-color:var(--primary);color:var(--primary)}.hr-filter-caret{font-size:.7rem;color:var(--text-muted)}.hr-filter-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem;margin-bottom:1rem}.hr-filter-panel-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.6rem}.hr-filter-hint{font-size:.8rem;color:var(--text-muted)}.hr-filter-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.35rem 1rem;max-height:260px;overflow-y:auto}.hr-filter-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem;padding:.25rem .4rem;border-radius:var(--radius-sm);cursor:pointer}.hr-filter-item:hover{background:var(--bg-dark)}.hr-filter-item input[type=checkbox]{width:15px;height:15px;accent-color:var(--primary);cursor:pointer;flex-shrink:0}.hr-filter-code{font-size:.7rem;font-weight:700;color:var(--primary);background:var(--primary-glow);padding:.05rem .3rem;border-radius:3px;flex-shrink:0}.hr-filter-name{color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hr-filter-stat{margin-left:auto;font-size:.75rem;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.hr-export-count{font-size:.9rem;color:var(--text-muted)}.hr-link-btn{background:none;border:none;padding:0;cursor:pointer;font-size:.9rem;color:var(--primary);text-decoration:underline}.hr-link-btn:hover{color:var(--text)}.col-select{width:36px;text-align:center}.col-cost{text-align:center;width:110px}.col-select input[type=checkbox],.hr-export-toolbar input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.hr-row.row-selected{background:var(--primary-glow)}.hr-totals-row .col-cost{font-size:1.05rem;color:var(--primary)}.hr-breakdown-cost{font-size:.85rem;color:var(--text);font-weight:700;min-width:80px;text-align:right}.alloc-matrix{display:flex;flex-direction:column;gap:var(--space-lg);min-height:100%}.alloc-matrix-header{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:var(--space-md)}.alloc-matrix-title{margin:0;font-size:var(--text-2xl);font-family:Outfit,sans-serif;color:var(--text)}.alloc-matrix-subtitle{margin:.25rem 0 0;font-size:var(--text-sm);color:var(--text-secondary)}.alloc-matrix-subtitle strong{color:var(--text);font-weight:600}.alloc-controls{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-sm)}.alloc-range-tabs{display:inline-flex;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:4px;gap:2px;flex-wrap:wrap}.alloc-range-tab{background:transparent;border:0;color:var(--text-secondary);font-size:var(--text-sm);font-weight:500;padding:.45rem .85rem;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);font-family:inherit}.alloc-range-tab:hover{color:var(--text);background:var(--bg-card-hover)}.alloc-range-tab.active{background:var(--primary);color:#fff;box-shadow:0 0 0 1px var(--primary),0 4px 10px -2px var(--primary-glow)}.alloc-sort-controls{display:inline-flex;gap:var(--space-md);flex-wrap:wrap;align-items:center}.alloc-sort-group{display:inline-flex;align-items:center;gap:4px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:3px 6px 3px 10px}.alloc-sort-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:600;margin-right:2px}.alloc-sort-btn{background:transparent;border:0;color:var(--text-secondary);font-size:.78rem;font-weight:500;padding:.3rem .6rem;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);font-family:inherit}.alloc-sort-btn:hover{color:var(--text);background:var(--bg-card-hover)}.alloc-sort-btn.active{background:var(--bg-elevated);color:var(--primary-light);box-shadow:inset 0 0 0 1px var(--border-medium)}.alloc-matrix-body{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-lg);align-items:start}.alloc-matrix-body.with-detail{grid-template-columns:minmax(0,1fr) clamp(280px,26vw,360px)}.alloc-matrix-scroll{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:auto;max-width:100%;box-shadow:var(--shadow)}.alloc-table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--text-sm)}.alloc-table th,.alloc-table td{text-align:center;padding:0;border-right:1px solid var(--border-light);border-bottom:1px solid var(--border-light);background:var(--bg-card);vertical-align:middle}.alloc-table thead th{position:sticky;top:0;background:var(--bg-elevated);z-index:3;border-bottom:1px solid var(--border-medium);font-weight:600;color:var(--text);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em}.alloc-table tfoot td,.alloc-table tfoot th{position:sticky;bottom:0;background:var(--bg-elevated);z-index:3;border-top:1px solid var(--border-medium);font-weight:700;color:var(--text)}.alloc-corner,.alloc-project-row-head{position:sticky;left:0;z-index:4;text-align:left;background:var(--bg-elevated);min-width:200px;max-width:240px}.alloc-table thead .alloc-corner,.alloc-table tfoot .alloc-project-row-head{z-index:5}.alloc-corner{padding:.85rem 1rem;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-right:1px solid var(--border-medium)}.alloc-corner-row{color:var(--text);font-weight:700}.alloc-corner-divider{color:var(--text-faint);margin:0 .35rem}.alloc-corner-col{color:var(--text-secondary);font-weight:500}.alloc-person-head{padding:.65rem .4rem .55rem;min-width:96px;max-width:130px;vertical-align:top!important}.alloc-person-avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;font-weight:600;font-size:.85rem;display:flex;align-items:center;justify-content:center;margin:0 auto .35rem;box-shadow:0 2px 6px -1px var(--primary-glow)}.alloc-person-name{font-weight:600;color:var(--text);font-size:var(--text-xs);text-transform:none;letter-spacing:normal;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alloc-person-role{font-size:.62rem;color:var(--text-muted);font-weight:400;text-transform:none;letter-spacing:normal;margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alloc-person-total{margin-top:.4rem;font-size:.78rem;font-weight:700;color:var(--primary-light);font-variant-numeric:tabular-nums;text-transform:none;letter-spacing:normal}.alloc-total-head{background:var(--bg-elevated);padding:.65rem .85rem;min-width:80px;color:var(--text);border-left:1px solid var(--border-medium);vertical-align:middle!important}.alloc-project-row-head{padding:.65rem .85rem;border-right:1px solid var(--border-medium)}.alloc-project-row-name{font-weight:600;color:var(--text);font-size:var(--text-sm);text-transform:none;letter-spacing:normal;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alloc-project-row-total{margin-top:.2rem;font-size:.72rem;font-weight:600;color:var(--primary-light);font-variant-numeric:tabular-nums;text-transform:none;letter-spacing:normal}.alloc-foot-label{color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:var(--text-xs)}.alloc-foot-label.alloc-project-row-head{padding:.7rem .85rem}.alloc-cell{height:56px;padding:.4rem .5rem;cursor:default;position:relative;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.alloc-cell.has-hours{cursor:pointer}.alloc-cell.has-hours:hover{outline:1px solid var(--primary);outline-offset:-1px;z-index:1}.alloc-cell.selected{outline:2px solid var(--primary);outline-offset:-2px;z-index:2;box-shadow:0 0 0 4px var(--primary-glow)}.alloc-cell.empty{background:linear-gradient(135deg,transparent 49.5%,var(--border-light) 49.5%,var(--border-light) 50.5%,transparent 50.5%);background-size:8px 8px;background-color:var(--bg-card)!important}.alloc-cell-hours{display:block;font-weight:600;font-size:.95rem;color:var(--text);font-variant-numeric:tabular-nums}.alloc-cell-tasks{display:block;font-size:.65rem;color:var(--text-muted);margin-top:2px}.alloc-cell-dash{color:var(--text-faint);font-size:1rem}.alloc-row-total,.alloc-col-total{font-weight:600;color:var(--text);background:var(--bg-elevated)!important;font-variant-numeric:tabular-nums;padding:.6rem .85rem}.alloc-row-total{border-left:1px solid var(--border-medium)}.alloc-grand-total{font-weight:700;color:var(--primary-light);background:var(--bg-elevated)!important;border-left:1px solid var(--border-medium);font-variant-numeric:tabular-nums;padding:.6rem .85rem;font-size:var(--text-base)}.alloc-table th:last-child,.alloc-table td:last-child{border-right:0}.alloc-detail-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-md);position:sticky;top:var(--space-md);max-height:calc(100vh - var(--topbar-height) - var(--space-2xl));display:flex;flex-direction:column;animation:alloc-detail-in .2s ease}@keyframes alloc-detail-in{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}.alloc-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:var(--space-md);padding-bottom:var(--space-md);border-bottom:1px solid var(--border)}.alloc-detail-eyebrow{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--primary-light);font-weight:600;margin-bottom:.2rem}.alloc-detail-title{font-family:Outfit,sans-serif;font-size:var(--text-lg);font-weight:600;color:var(--text);line-height:1.2}.alloc-detail-sub{margin-top:.3rem;font-size:var(--text-sm);color:var(--text-secondary)}.alloc-detail-close{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-secondary);width:28px;height:28px;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);flex-shrink:0}.alloc-detail-close:hover{color:var(--text);border-color:var(--border-medium)}.alloc-task-list{list-style:none;margin:0;padding:0;overflow-y:auto;display:flex;flex-direction:column;gap:.4rem}.alloc-task{display:grid;grid-template-columns:auto 1fr auto;gap:.65rem;align-items:center;padding:.6rem .7rem;background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-sm);transition:border-color var(--transition-fast)}.alloc-task:hover{border-color:var(--border-medium)}.alloc-status-dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted);flex-shrink:0}.alloc-status-dot.status-planned{background:var(--info)}.alloc-status-dot.status-in-progress{background:var(--warning)}.alloc-status-dot.status-completed{background:var(--success)}.alloc-status-dot.status-finalized{background:var(--secondary)}.alloc-task-body{min-width:0}.alloc-task-name{font-size:var(--text-sm);color:var(--text);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alloc-task-date{font-size:.7rem;color:var(--text-muted);margin-top:2px;font-variant-numeric:tabular-nums}.alloc-task-hours{font-size:var(--text-sm);font-weight:600;color:var(--primary-light);font-variant-numeric:tabular-nums}.alloc-empty{background:var(--bg-card);border:1px dashed var(--border-medium);border-radius:var(--radius-lg);padding:var(--space-3xl);display:flex;flex-direction:column;align-items:center;gap:var(--space-md);color:var(--text-secondary)}.alloc-empty-icon{color:var(--text-faint)}@media(max-width:960px){.alloc-matrix-body.with-detail{grid-template-columns:minmax(0,1fr)}.alloc-detail-panel{position:static;max-height:none}}@media(max-width:640px){.alloc-matrix-header{flex-direction:column;align-items:flex-start}.alloc-controls{align-items:flex-start;width:100%}.alloc-corner,.alloc-project-row-head{min-width:150px;max-width:180px}.alloc-person-head{min-width:80px}.alloc-person-role{display:none}}.alloc-load{padding:.5rem!important;line-height:1.15}.alloc-load-num{display:block;font-weight:700;color:var(--text);font-size:.95rem;font-variant-numeric:tabular-nums}.alloc-load-cap{display:block;margin-top:1px;font-size:.7rem;font-weight:500;color:var(--text-muted);font-variant-numeric:tabular-nums}.alloc-load.over{background:#22c55e2e!important;box-shadow:inset 0 2px #22c55e8c}.alloc-load.over .alloc-load-num{color:#4ade80}.alloc-load.over .alloc-load-cap{color:#4ade80bf}.alloc-load.under{background:#f59e0b2e!important;box-shadow:inset 0 2px #f59e0b8c}.alloc-load.under .alloc-load-num{color:#fbbf24}.alloc-load.under .alloc-load-cap{color:#fbbf24bf}.timeoff{padding:var(--space-lg)}.timeoff-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:var(--space-lg);margin-bottom:var(--space-lg)}.timeoff-header h2{margin:0;font-family:Outfit,sans-serif;font-size:var(--text-2xl);color:var(--text)}.timeoff-subtitle{margin:var(--space-sm) 0 0 0;color:var(--text-muted);font-size:var(--text-base)}.timeoff-controls{display:flex;align-items:center;gap:var(--space-lg);flex-wrap:wrap}.to-nav{display:flex;align-items:center;gap:var(--space-xs)}.to-nav-btn,.to-today-btn{background:var(--bg-dark);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-base);padding:.4rem .7rem;line-height:1}.to-nav-btn{font-size:1.2rem;width:34px}.to-nav-btn:hover,.to-today-btn:hover{border-color:var(--primary);color:var(--primary)}.to-range-control{display:flex;align-items:center;gap:.4rem;font-size:var(--text-base);color:var(--text-muted)}.to-select{padding:.35rem .5rem;background:var(--bg-dark);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:var(--text-base)}.timeoff-toolbar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-lg);flex-wrap:wrap;margin-bottom:var(--space-md)}.to-legend{display:flex;gap:var(--space-sm);flex-wrap:wrap}.to-legend-item{display:inline-flex;align-items:center;gap:.4rem;font-size:var(--text-sm);color:var(--text);background:var(--bg-card);border:1px solid var(--border);border-radius:1rem;padding:.25rem .7rem;cursor:pointer}.to-legend-item.off{opacity:.4;text-decoration:line-through}.to-swatch{width:12px;height:12px;border-radius:3px;flex-shrink:0}.to-legend-item.tv .to-swatch{background:#22c55e}.to-legend-item.ts .to-swatch{background:#f97316}.to-legend-item.tp .to-swatch{background:#6366f1}.to-legend-item.tx .to-swatch{background:#94a3b8}.to-checkbox{display:inline-flex;align-items:center;gap:.5rem;font-size:var(--text-base);color:var(--text-muted);cursor:pointer}.to-checkbox input[type=checkbox]{width:15px;height:15px;accent-color:var(--primary);cursor:pointer}.timeoff-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card)}.timeoff-grid{min-width:max-content}.to-row{display:flex;align-items:stretch;border-bottom:1px solid var(--border)}.to-row:last-child{border-bottom:none}.to-name{position:sticky;left:0;z-index:2;width:180px;min-width:180px;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:0 var(--space-md);background:var(--bg-card);border-right:1px solid var(--border);font-size:var(--text-base);color:var(--text)}.to-name-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.to-count{font-size:var(--text-sm);font-weight:600;color:var(--primary);background:var(--primary-glow);border-radius:.75rem;padding:.1rem .45rem;flex-shrink:0}.to-track{display:flex;position:relative}.to-head .to-name,.to-corner{background:var(--bg-dark);font-weight:600;color:var(--text-muted)}.to-head{border-bottom:1px solid var(--border)}.to-month{box-sizing:border-box;border-right:1px solid var(--border);background:var(--bg-dark);font-size:var(--text-sm);font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:.04em;padding:.35rem .5rem;white-space:nowrap;overflow:hidden}.to-day-h{box-sizing:border-box;text-align:center;font-size:.7rem;color:var(--text-muted);padding:.3rem 0;background:var(--bg-dark)}.to-day-h.we{color:var(--text-muted);opacity:.55}.to-day-h.today{color:var(--primary);font-weight:700}.to-day-h.mstart{border-left:1px solid var(--border)}.to-cell{box-sizing:border-box;height:34px;display:flex;align-items:center;position:relative}.to-cell.we{background:#94a3b80f}.to-cell.mstart{border-left:1px solid var(--border)}.to-cell.today{background:var(--primary-glow)}.to-bar{flex:1;height:18px}.to-cell.tv .to-bar{background:#22c55e}.to-cell.ts .to-bar{background:#f97316}.to-cell.tp .to-bar{background:#6366f1}.to-cell.tx .to-bar{background:#94a3b8}.to-cell.run-start .to-bar{border-top-left-radius:9px;border-bottom-left-radius:9px;margin-left:3px}.to-cell.run-end .to-bar{border-top-right-radius:9px;border-bottom-right-radius:9px;margin-right:3px}.timeoff-empty{padding:var(--space-2xl);text-align:center;color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius)}.timeoff-empty.subtle{margin-top:var(--space-md);padding:var(--space-lg);font-size:var(--text-sm)}.to-legend-item.hol-legend{cursor:default}.to-legend-item.hol-legend .to-swatch{background:#eab308}.to-day-h.hol{color:#eab308;opacity:.9}.to-cell.hol{background:#eab3081f;cursor:not-allowed}.to-cell.addable{cursor:pointer}.to-cell.addable:hover{background:var(--primary-glow);box-shadow:inset 0 0 0 1px var(--primary)}.to-cell.removable{cursor:pointer}.to-cell.removable:hover .to-bar{opacity:.55}.to-modal-overlay{position:fixed;inset:0;z-index:50;background:#0a0c1499;display:flex;align-items:center;justify-content:center}.to-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-xl);width:320px;box-shadow:var(--shadow-xl)}.to-modal h3{margin:0 0 var(--space-xs) 0;font-size:var(--text-lg);color:var(--text)}.to-modal-sub{margin:0 0 var(--space-md) 0;color:var(--text-muted);font-size:var(--text-sm)}.to-modal-desc{width:100%;box-sizing:border-box;padding:.5rem .7rem;margin-bottom:var(--space-md);background:var(--bg-dark);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:var(--text-base)}.to-modal-types{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-md)}.to-modal-type{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .8rem;background:var(--bg-dark);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:var(--text-base);cursor:pointer}.to-modal-type:hover{border-color:var(--primary)}.to-modal-type:disabled{opacity:.5;cursor:wait}.to-modal-type.tv .to-swatch{background:#22c55e}.to-modal-type.ts .to-swatch{background:#f97316}.to-modal-type.tp .to-swatch{background:#6366f1}.to-modal-cancel{width:100%;padding:.45rem;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer}.to-modal-cancel:hover{color:var(--text);border-color:var(--text-muted)}.to-allowance{font-size:var(--text-sm);font-weight:600;color:var(--success, #2e9e6b);background:#2e9e6b1f;border-radius:.75rem;padding:.1rem .45rem;flex-shrink:0}.to-allowance.depleted{color:var(--danger, #d64545);background:#d645451f}.to-allowance.editable{cursor:pointer}.to-allowance.editable:hover{filter:brightness(1.15)}.minai-dock{position:fixed;right:18px;bottom:18px;z-index:1200;display:flex;flex-direction:column;align-items:flex-end;gap:10px}.minai-fab{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:999px;padding:10px 18px;font:inherit;font-weight:600;cursor:pointer;color:#fff;background:#1f2937;box-shadow:0 6px 24px #00000059}.minai-fab-dot{width:9px;height:9px;border-radius:50%;background:#9aa4b0}.minai-fab.up .minai-fab-dot{background:#2f9e7d}.minai-fab.down .minai-fab-dot{background:#c0392b}.minai-card{width:380px;height:560px;max-height:calc(100vh - 110px);display:none;flex-direction:column;border-radius:14px;overflow:hidden;background:#0e1420;box-shadow:0 12px 40px #00000073;border:1px solid #ffffff1c}.minai-dock.open .minai-card{display:flex}.minai-card-head{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;color:#dfe7f0;font-size:.82rem;background:#131b2a}.minai-card-head button{border:0;background:none;color:inherit;cursor:pointer;font:inherit}.minai-card-frame{flex:1;width:100%;border:0}@media(max-width:480px){.minai-card{width:calc(100vw - 36px)}}.minai-screen{position:fixed;inset:0;z-index:1400;background:#04080e9e;display:flex;align-items:center;justify-content:center;padding:24px;animation:minai-fade .18s ease-out}@keyframes minai-fade{0%{opacity:0}}.minai-screen-card{width:min(760px,92vw);max-height:86vh;overflow-y:auto;background:#0e1420;color:#dfe7f0;border:1px solid #ffffff1e;border-radius:16px;padding:20px 22px;box-shadow:0 24px 70px #0000008c}.minai-screen-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.minai-screen-head h2{font-size:1.05rem;color:#7fd4ff;margin:0}.minai-screen-head button{background:none;border:0;color:inherit;font-size:1.1rem;cursor:pointer;opacity:.6}.minai-screen-head button:hover{opacity:1}.minai-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.minai-stat{background:#0d1524;border-radius:10px;padding:12px 14px}.minai-stat-label{font-size:.72rem;opacity:.55;text-transform:uppercase;letter-spacing:.05em}.minai-stat-value{font-size:1.5rem;font-weight:700;margin-top:3px}.minai-stat-delta{font-size:.8rem;margin-left:7px}.minai-stat-delta.up{color:#2f9e7d}.minai-stat-delta.down{color:#e07a5f}.minai-bars{display:flex;flex-direction:column;gap:9px}.minai-bar-row{display:flex;align-items:center;gap:12px;font-size:.92rem}.minai-bar-label{flex:0 0 28%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.minai-bar-track{flex:1;height:22px;background:#0d1524;border-radius:6px;overflow:hidden}.minai-bar-fill{height:100%;border-radius:6px;background:linear-gradient(90deg,#2f9e7d,#4a90d9);transition:width .7s cubic-bezier(.2,.9,.3,1)}.minai-bar-fill.neg{background:linear-gradient(90deg,#c0392b,#e07a5f)}.minai-bar-val{flex:0 0 auto;font-size:.82rem;opacity:.8;min-width:9rem;text-align:right}.minai-tasklist{display:flex;flex-direction:column}.minai-task{display:flex;gap:9px;align-items:baseline;padding:6px 0;border-bottom:1px solid #ffffff0d}.minai-task-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;background:#5a6675}.minai-task-dot.s-done,.minai-task-dot.s-completed{background:#2f9e7d}.minai-task-dot.s-in_progress{background:#d9a441}.minai-task-meta{opacity:.55;font-size:.78rem;margin-left:auto;white-space:nowrap}.minai-empty{opacity:.5;padding:12px 0}.minai-say{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1500;width:min(560px,90vw);background:#0e1420;color:#dfe7f0;border:1px solid #ffffff24;border-radius:14px;box-shadow:0 18px 60px #0000008c;animation:minai-fade .18s ease-out}.minai-say.lifted{top:24px;transform:translate(-50%)}.minai-say-head{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;font-size:.78rem;color:#7fd4ff;border-bottom:1px solid #ffffff12}.minai-say-head button{background:none;border:0;color:inherit;cursor:pointer;opacity:.6}.minai-say-head button:hover{opacity:1}.minai-say-text{padding:12px 16px 14px;font-size:.95rem;line-height:1.45;max-height:40vh;overflow-y:auto}.minai-plan-card{width:min(1080px,96vw)}.minai-plan-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}@media(max-width:900px){.minai-plan-grid{grid-template-columns:repeat(2,1fr)}}.minai-plan-day{background:#0d1524;border-radius:10px;padding:9px;min-height:130px}.minai-plan-day.over{outline:1px solid #c0392b88}.minai-plan-dayhead{display:flex;justify-content:space-between;align-items:baseline;font-weight:600;margin-bottom:7px;font-size:.86rem}.minai-plan-daymeta{font-weight:400;font-size:.72rem;opacity:.55}.minai-plan-day.over .minai-plan-daymeta{color:#e07a5f;opacity:1}.minai-plan-item{display:flex;align-items:center;gap:5px;border-radius:7px;padding:5px 7px;margin-bottom:5px;font-size:.82rem}.minai-plan-item.existing{background:#131b2a;opacity:.62}.minai-plan-item.fresh{background:#16283f;border:1px solid #2f9e7d55}.minai-plan-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.minai-plan-item input{background:none;border:0;border-bottom:1px dashed #ffffff2a;color:inherit;font:inherit;padding:0 1px}.minai-plan-item input:focus{outline:none;border-bottom-color:#7fd4ff}.minai-plan-h{flex:0 0 34px;text-align:right;opacity:.8}input.minai-plan-h{width:34px}.minai-plan-rm{background:none;border:0;color:#e07a5f;cursor:pointer;font-size:.8rem;opacity:.7}.minai-plan-rm:hover{opacity:1}.minai-plan-addbtn{width:100%;background:none;border:1px dashed #ffffff22;border-radius:7px;color:#9aa4b0;font:inherit;font-size:.78rem;padding:4px;cursor:pointer}.minai-plan-addbtn:hover{color:#dfe7f0;border-color:#fff4}.minai-plan-addform{display:flex;flex-direction:column;gap:4px;background:#16283f;border-radius:7px;padding:6px}.minai-plan-addform input{background:#0d1524;border:1px solid #ffffff1c;border-radius:5px;color:inherit;font:inherit;font-size:.8rem;padding:3px 6px;width:100%}.minai-plan-addrow2{display:flex;gap:4px}.minai-plan-addrow2 .minai-plan-hours-in{width:44px;flex:0 0 auto}.minai-plan-addrow2 button{flex:1;background:#2f9e7d;border:0;border-radius:5px;color:#fff;font:inherit;font-size:.78rem;cursor:pointer;padding:3px 0}.minai-plan-addrow2 button.ghost{flex:0 0 auto;background:none;color:#9aa4b0;padding:3px 8px}.minai-plan-foot{display:flex;align-items:center;gap:10px;margin-top:14px}.minai-plan-hint{flex:1;font-size:.76rem;opacity:.55;line-height:1.35}.minai-plan-foot button{border:0;border-radius:8px;font:inherit;font-size:.85rem;padding:8px 16px;cursor:pointer}.minai-plan-foot button.primary{background:#2f9e7d;color:#fff}.minai-plan-foot button.ghost{background:none;color:#9aa4b0;border:1px solid #ffffff22}.minai-plan-foot button:disabled{opacity:.4;cursor:default}.minai-page{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:14px;font-size:.8rem;opacity:.85}.minai-page button{background:#0d1524;border:1px solid #ffffff22;border-radius:6px;color:#dfe7f0;font:inherit;font-size:.95rem;line-height:1;padding:4px 12px;cursor:pointer}.minai-page button:hover:not(:disabled){border-color:#7fd4ff66}.minai-page button:disabled{opacity:.3;cursor:default}.minai-plan-note{border-radius:8px;padding:8px 12px;margin-bottom:12px;font-size:.85rem}.minai-plan-note.err{background:#c0392b22;color:#e07a5f}.minai-plan-note.ok{background:#2f9e7d22;color:#2f9e7d}.agent-proposals{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--bg-card);border:1px solid var(--warning);border-radius:var(--radius-lg)}.ap-header{display:flex;align-items:center;gap:8px;font-size:var(--text-sm)}.ap-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--warning);color:#000;font-size:var(--text-xs);font-weight:700}.ap-hint{color:var(--text-muted);font-size:var(--text-xs)}.ap-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated)}.ap-summary{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;background:none;border:none;color:inherit;cursor:pointer;text-align:left;font-size:var(--text-sm)}.ap-title{font-weight:600}.ap-meta{margin-left:auto;color:var(--text-muted);font-size:var(--text-xs);white-space:nowrap}.ap-chevron{color:var(--text-muted)}.ap-detail{padding:4px 10px 10px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.ap-rationale{margin:6px 0 0;color:var(--text-muted);font-size:var(--text-xs);white-space:pre-wrap}.ap-loading,.ap-error{font-size:var(--text-xs);margin:4px 0}.ap-error{color:var(--danger)}.ap-story{border:1px solid var(--border);border-radius:var(--radius-xs);padding:6px 8px}.ap-story-head{display:flex;align-items:center;gap:8px;font-size:var(--text-sm)}.ap-desc{margin:4px 0 2px;color:var(--text-muted);font-size:var(--text-xs);white-space:pre-wrap}.ap-task{display:flex;align-items:center;gap:8px;padding:3px 0 3px 16px;font-size:var(--text-xs)}.ap-kind{flex-shrink:0;padding:1px 6px;border-radius:var(--radius-xs);background:var(--bg-input);color:var(--text-muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.ap-nums{margin-left:auto;color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.ap-actions{display:flex;align-items:center;gap:8px;margin-top:4px}.ap-actions input{flex:1;padding:6px 8px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-xs);color:inherit;font-size:var(--text-xs)}.ap-actions button{padding:6px 12px;border-radius:var(--radius-xs);border:1px solid var(--border-medium);background:var(--bg-elevated);color:inherit;cursor:pointer;font-size:var(--text-xs);font-weight:600}.ap-actions button:disabled{opacity:.5;cursor:default}.ap-approve{border-color:var(--success);color:var(--success)}.ap-reject{border-color:var(--danger);color:var(--danger)}.sprint-desk{display:flex;flex-direction:column;gap:var(--space-md);min-width:0}.sd-row{display:grid;grid-template-columns:24px minmax(200px,1fr) 140px 76px 72px 72px 62px 62px 150px 120px;align-items:center;gap:10px;padding:6px 10px;min-height:36px}.sd-hours{text-align:right;font-variant-numeric:tabular-nums;font-size:var(--text-sm);white-space:nowrap}.sd-sched-note{font-size:10px;color:var(--text-muted)}.sd-delta,.sd-delta-cell{text-align:right;font-variant-numeric:tabular-nums;font-size:var(--text-xs);white-space:nowrap}.sd-muted{color:var(--text-muted)}.sd-faint{color:var(--text-faint)}.sd-note{font-size:var(--text-xs);font-weight:400}.sd-text-danger{color:var(--danger)}.sd-text-warning{color:var(--warning)}.sd-text-success{color:var(--success)}.sd-strike{text-decoration:line-through;color:var(--text-muted)}.sd-dimmed{opacity:.35}.sd-done{opacity:.7}.sd-header{position:sticky;top:var(--topbar-height);z-index:10;display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 12px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg)}.sd-input{background:var(--bg-input);border:1px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text);font-size:var(--text-sm);padding:6px 8px;min-width:0}.sd-input:focus{outline:none;border-color:var(--border-focus)}.sd-input-error{border-color:var(--danger)!important}.sd-search{width:220px}.sd-check{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;white-space:nowrap}.sd-textbtn{background:none;border:none;color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;padding:4px 6px;border-radius:var(--radius-xs);white-space:nowrap}.sd-textbtn:hover{color:var(--text);background:var(--bg-card-hover)}.sd-bugbtn{background:var(--danger-bg);border:1px solid transparent;color:var(--danger);font-size:var(--text-sm);cursor:pointer;padding:4px 10px;border-radius:var(--radius-xs);white-space:nowrap}.sd-bugbtn:hover{border-color:var(--danger)}.sd-addbtn{background:var(--primary);border:none;color:#fff;font-size:var(--text-sm);font-weight:600;padding:6px 14px;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast)}.sd-addbtn:hover{background:var(--primary-light)}.sd-addbtn:disabled{opacity:.45;cursor:not-allowed}.sd-finalize-btn{white-space:nowrap}.sd-viewtoggle{display:inline-flex;border:1px solid var(--border-medium);border-radius:var(--radius-sm);overflow:hidden;flex:none}.sd-viewtoggle button{background:var(--bg-input);border:none;color:var(--text-secondary);font-size:var(--text-sm);padding:6px 10px;cursor:pointer;white-space:nowrap}.sd-viewtoggle button+button{border-left:1px solid var(--border-medium)}.sd-viewtoggle button:hover{color:var(--text)}.sd-viewtoggle .sd-viewtoggle-active{background:var(--primary);color:#fff}.sd-summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:0 4px}.sd-sumchip{display:inline-flex;align-items:center;gap:4px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:999px;padding:4px 12px;font-size:var(--text-xs);font-weight:600;color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}button.sd-sumchip{cursor:pointer}button.sd-sumchip:hover{background:var(--bg-card-hover)}.sd-sumchip-active{outline:2px solid var(--accent);outline-offset:-1px;color:var(--text)}.sd-footnotes{display:flex;gap:14px;margin-left:auto;font-size:11px;color:var(--text-faint)}.sd-colhead{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);border-bottom:1px solid var(--border);min-height:28px;padding-top:0;padding-bottom:4px}.sd-tree{display:flex;flex-direction:column;gap:var(--space-md);min-width:0}.sd-project{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:visible}.sd-project-inactive>.sd-project-row{opacity:.7}.sd-project-row{min-height:44px;border-radius:var(--radius-lg)}.sd-project-name{font-size:var(--text-md);font-weight:600;display:flex;align-items:center;gap:8px;min-width:0}.sd-project-children{border-top:1px solid var(--border)}.sd-caret{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:12px;padding:2px;transition:transform var(--transition-fast)}.sd-caret-open{transform:rotate(90deg)}.sd-story-group{border-top:1px solid var(--border-light)}.sd-story-group:first-child{border-top:none}.sd-story-row{background:var(--bg-card-hover);font-weight:600;font-size:var(--text-base)}.sd-story-proposed{border-left:2px dashed var(--text-muted)}.sd-story-approved{border-left:2px solid var(--accent)}.sd-story-title{display:flex;align-items:center;gap:8px;min-width:0}.sd-title-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.sd-story-children{padding:2px 0 8px}.sd-chip{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:2px 8px;white-space:nowrap;flex:none}.sd-chip-proposed{border:1px dashed var(--text-muted);color:var(--text-muted);background:none}.sd-chip-approved{background:var(--primary-glow);color:var(--accent);border:1px solid transparent}.sd-chip:not(.sd-chip-proposed):not(.sd-chip-approved):not(.sd-chip-plain):not(.sd-chip-archived):not(.sd-chip-bug){background:var(--info-bg);color:var(--info);border:1px solid transparent}.sd-chip-bug{background:var(--danger-bg);color:var(--danger);border:1px solid transparent}.sd-chip-plain{background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border);cursor:pointer}.sd-chip-plain:hover{color:var(--text)}.sd-chip-archived{background:var(--warning-bg, rgba(234, 179, 8, .12));color:var(--warning);border:1px solid transparent}.sd-archived{opacity:.55}.sd-archived .sd-title-text{text-decoration:line-through;text-decoration-thickness:1px}.sd-derived{font-style:italic;color:var(--text-secondary)}.sd-drift{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap}.sd-warn-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--warning);margin:0 4px;flex:none}.sd-task-row{font-size:var(--text-sm);padding-left:34px;grid-template-columns:20px minmax(180px,1fr) 140px 76px 72px 72px 62px 62px 150px 120px}.sd-task-row:hover{background:var(--bg-card-hover)}.sd-task-title{display:flex;align-items:center;gap:6px;min-width:0}.sd-flag{font-size:10px}.sd-status-dot{width:12px;height:12px;border-radius:50%;border:2px solid var(--text-faint);background:none;cursor:pointer;padding:0;flex:none}.sd-status-dot.sd-status-in-progress{border-color:var(--accent);background:var(--accent)}.sd-status-dot.sd-status-done{border-color:var(--success);background:var(--success)}.sd-status-dot.sd-status-blocked{border-color:var(--warning);background:var(--warning)}.sd-status-dot.sd-status-derived{background:none;box-shadow:inset 0 0 0 2px var(--surface, #fff)}.sd-status-label{font-size:var(--text-xs);white-space:nowrap}.sd-deadline{font-size:11px;color:var(--text-muted);white-space:nowrap;flex:none}.sd-ppl{background:none;border:none;color:var(--text-muted);font-size:11px;cursor:pointer;padding:0 2px;white-space:nowrap;flex:none}.sd-ppl:hover{color:var(--accent)}.sd-cellbtn{background:none;border:none;color:inherit;font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;padding:2px 4px;border-radius:var(--radius-xs)}.sd-cellbtn:hover{background:var(--bg-elevated)}.sd-mgrest-set{color:var(--accent)}.sd-rowmenu-wrap{position:relative;flex:none}.sd-menu-open{position:relative;z-index:50}.sd-rowmenu-btn{background:none;border:none;color:var(--text-faint);cursor:pointer;padding:0 6px;font-size:var(--text-sm);visibility:hidden}.sd-task-row:hover .sd-rowmenu-btn,.sd-story-row:hover .sd-rowmenu-btn,.sd-rowmenu-btn:focus{visibility:visible}.sd-menu-open .sd-rowmenu-btn{visibility:visible}.sd-rowmenu{position:absolute;top:100%;right:0;z-index:30;display:flex;flex-direction:column;min-width:200px;max-width:280px;background:var(--bg-elevated);border:1px solid var(--border-medium);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:4px}.sd-rowmenu-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);padding:4px 8px}.sd-rowmenu-scroll{display:flex;flex-direction:column;max-height:200px;overflow-y:auto}.sd-rowmenu button{background:none;border:none;color:var(--text);text-align:left;font-size:var(--text-sm);padding:6px 8px;cursor:pointer;border-radius:var(--radius-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-rowmenu button:hover{background:var(--bg-card-hover)}.sd-rowmenu-danger{color:var(--danger)!important;border-top:1px solid var(--border);margin-top:4px}.sd-rowmenu-empty{font-size:var(--text-xs);color:var(--text-faint);padding:6px 8px}.sd-link-btn{visibility:visible;color:var(--accent);font-size:var(--text-xs);white-space:nowrap}.sd-link-btn:hover{text-decoration:underline}.sd-status-picker{display:flex;flex-wrap:wrap;gap:4px;padding:2px 6px 6px}.sd-rowmenu .sd-status-opt{flex:1 1 44%;padding:4px 6px;border:1px solid var(--border);border-radius:var(--radius-xs);font-size:var(--text-xs);text-align:center;background:var(--bg-elevated)}.sd-rowmenu .sd-status-opt:hover{border-color:var(--accent)}.sd-rowmenu .sd-status-opt-active{background:var(--accent);color:#fff;border-color:var(--accent)}.sd-split-row{font-size:var(--text-xs);color:var(--text-secondary);min-height:26px;padding-top:2px;padding-bottom:2px}.sd-indent-1{padding-left:34px}.sd-indent-2{padding-left:58px}.sd-split-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sd-split-bar{height:4px;border-radius:999px;background:var(--bg-elevated);overflow:hidden;width:120px;justify-self:start}.sd-split-fill{height:100%;background:var(--accent);opacity:.7;border-radius:999px}.sd-assignee{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:var(--text-secondary);font-size:var(--text-xs);cursor:pointer;padding:2px 4px;border-radius:var(--radius-xs);max-width:100%;overflow:hidden}.sd-assignee:hover{background:var(--bg-elevated)}.sd-assignee-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-avatar{width:18px;height:18px;border-radius:50%;background:var(--primary-glow);color:var(--accent);font-size:9px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex:none}.sd-avatar-none{background:none;border:1px dashed var(--border-medium);color:var(--text-faint)}.sd-bar-track{position:relative;display:flex;height:8px;border-radius:999px;background:var(--bg-elevated);border:1px solid var(--border);overflow:hidden;min-width:0}.sd-bar-empty{opacity:.4}.sd-bar-noest{border-style:dashed;border-color:var(--border-medium)}.sd-bar-seg{height:100%;flex:none;transition:width .3s ease}.sd-bar-fill{background:linear-gradient(90deg,#38bdf8,#f80058)}.sd-bar-done{background:var(--success)}.sd-bar-warning{background:var(--warning)}.sd-bar-danger{background:var(--danger)}.sd-bar-grey{background:#94a3b840}.sd-bar-unattrib{background:repeating-linear-gradient(45deg,rgba(255,22,84,.25),rgba(255,22,84,.25) 4px,transparent 4px,transparent 8px)}.sd-bar-unattrib-solid{background:var(--warning);opacity:.4}.sd-bar-sched{background:repeating-linear-gradient(45deg,#94a3b866,#94a3b866 4px,#94a3b81f 4px 8px)}.sd-bar-sched-active{background:repeating-linear-gradient(45deg,#ff16548c,#ff16548c 4px,#ff16542e 4px 8px)}.sd-bar-tick{position:absolute;top:-1px;bottom:-1px;width:2px;background:#ffffffd9;transform:translate(-1px)}.sd-bucket-row{background:none;font-weight:400}.sd-direct{padding-top:4px}.sd-plan-row{opacity:.85}.sd-plan-dot{width:12px;height:12px;border:2px dashed var(--text-faint);border-radius:3px;flex:none;justify-self:center}.sd-plan-title{font-style:italic;color:var(--text-secondary)}.sd-unattrib-row{font-size:var(--text-sm);color:var(--text-secondary);font-style:italic}.sd-warn-tri{color:var(--warning);text-align:center;font-style:normal;font-size:var(--text-sm)}.sd-unattrib-entry{opacity:.92}.sd-unattrib-entry .sd-title-text{font-style:normal}.sd-unattrib-dot{border-color:var(--warning);border-style:solid}.sd-composer{margin:6px 10px 6px 34px;border:1px dashed var(--border-medium);border-radius:var(--radius);padding:6px 8px 0;transition:border-color var(--transition-fast)}.sd-composer:focus-within{border-left:2px solid var(--accent)}.sd-story-composer{border-style:solid;margin-left:10px;margin-bottom:10px}.sd-composer-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.sd-composer-title{flex:1;min-width:160px}.sd-composer-est{width:64px}.sd-composer-assignee{max-width:150px}.sd-composer-priority{width:90px}.sd-composer-deadline{width:130px}.sd-composer-sprint{width:110px}.sd-composer-month{width:130px}.sd-composer-desc{display:block;width:100%;margin-top:6px;resize:vertical;font-family:inherit}.sd-composer-msg{min-height:18px;font-size:11px;padding:2px 0 4px}.sd-story-plus{color:var(--accent);font-weight:700;font-size:var(--text-sm);white-space:nowrap}.sd-pending{border-left:2px dashed var(--accent);opacity:.8}.sd-failed{background:var(--danger-bg);opacity:1}.sd-row-error{font-size:11px;color:var(--danger);padding:0 10px 4px 58px}.sd-inline-edit{background:var(--bg-input);border:1px solid var(--border-focus);border-radius:var(--radius-xs);color:var(--text);font-size:inherit;padding:2px 6px;max-width:100%;width:auto;min-width:60px}.sd-hours .sd-inline-edit{width:100%;min-width:0}.sd-inline-edit:focus{outline:none}.sd-empty{text-align:center;color:var(--text-muted);padding:48px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg)}.sd-error-card{color:var(--danger);display:flex;flex-direction:column;gap:12px;align-items:center}.sd-empty-line{font-size:var(--text-xs);color:var(--text-muted);padding:8px 10px 8px 34px;font-style:italic}.sd-members{display:flex;flex-direction:column;gap:var(--space-md);min-width:0}.sd-members-note{padding:0 4px}.sd-member{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding-bottom:6px}.sd-member-head{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border-light)}.sd-member-name{font-weight:600;font-size:var(--text-md)}.sd-member-cap{margin-left:auto;display:inline-flex;align-items:center;gap:8px}.sd-cap-bar{display:inline-block;width:120px;height:6px;border-radius:999px;background:var(--bg-elevated);border:1px solid var(--border);overflow:hidden}.sd-cap-fill{display:block;height:100%;background:var(--accent);opacity:.7;border-radius:999px;transition:width .3s ease}.sd-cap-over{background:var(--warning);opacity:1}.sd-mrow{display:grid;grid-template-columns:72px minmax(90px,170px) minmax(200px,1fr) 56px 130px;align-items:center;gap:10px;padding:4px 12px;min-height:32px;font-size:var(--text-sm)}.sd-mrow:hover{background:var(--bg-card-hover)}.sd-mday{white-space:nowrap;font-variant-numeric:tabular-nums}.sd-mproj{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--text-xs)}.sd-mtitle{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden}.sd-mstatus{font-size:var(--text-xs);padding:3px 6px}.sd-mrow-unsched{opacity:.85}.sd-support{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg)}.sd-support-off{font-size:var(--text-xs);padding:4px 8px}.sd-support-head{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;-webkit-user-select:none;user-select:none}.sd-support-title-h{font-weight:600;font-size:var(--text-md)}.sd-support-body{border-top:1px solid var(--border-light);padding:4px 0 8px}.sd-support-row{display:grid;grid-template-columns:36px minmax(200px,1fr) 110px 120px 120px 80px;align-items:center;gap:10px;padding:4px 12px;min-height:32px;font-size:var(--text-sm)}.sd-support-row:hover{background:var(--bg-card-hover)}.sd-support-prio{font-size:10px;font-weight:700;text-align:center;border-radius:var(--radius-xs);padding:2px 0;background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border)}.sd-prio-P1{color:var(--danger);border-color:var(--danger)}.sd-prio-P2{color:var(--warning);border-color:var(--warning)}.sd-support-cell{font-size:var(--text-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sd-sla{font-size:var(--text-xs);white-space:nowrap}.sd-plan-btn{color:var(--accent);text-align:right}.sd-support-plan{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:4px 12px 8px 46px;padding:8px;border:1px dashed var(--border-medium);border-radius:var(--radius)}@media(max-width:1100px){.sd-row,.sd-task-row{grid-template-columns:20px minmax(150px,1fr) 100px 0px 54px 54px 48px 48px 100px 90px}.sd-status-label{visibility:hidden}.sd-footnotes{display:none}.sd-mrow{grid-template-columns:60px minmax(70px,120px) minmax(140px,1fr) 48px 110px}.sd-support-row{grid-template-columns:32px minmax(140px,1fr) 90px 0px 110px 64px}}.settings-page{max-width:860px}.settings-section{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-lg);margin-bottom:var(--space-xl)}.settings-section h3{margin:0 0 var(--space-sm)}.settings-desc{color:var(--text-muted);font-size:var(--text-sm);margin:0 0 var(--space-md)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);margin-bottom:var(--space-md)}@media(max-width:700px){.settings-grid{grid-template-columns:1fr}}.settings-row{display:flex;align-items:flex-end;gap:var(--space-md);flex-wrap:wrap}.settings-page .form-group{display:flex;flex-direction:column;gap:4px;min-width:240px}.settings-page label{font-size:var(--text-xs);font-weight:600;color:var(--text-muted)}.settings-hint{font-size:var(--text-xs);color:var(--text-muted);margin-top:4px;display:block}.settings-ok{color:#34d399;font-size:var(--text-sm)}.settings-err{color:var(--danger);font-size:var(--text-sm)}.settings-status{font-size:var(--text-xs);font-weight:600;border-radius:var(--radius);padding:6px 12px;margin-bottom:var(--space-md);border:1px solid var(--border)}.settings-status.ok{color:#34d399;border-color:#34d39959;background:#34d39912}.settings-status.warn{color:#fbbf24;border-color:#fbbf2459;background:#fbbf2412}.settings-projects-grid{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-lg);margin-bottom:var(--space-lg)}.settings-project-item{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--text-base);cursor:pointer;-webkit-user-select:none;user-select:none}.settings-project-status{color:var(--text-muted);font-size:var(--text-xs);font-style:normal;border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 var(--space-xs)}.settings-snippet{margin-top:var(--space-md);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-sm) var(--space-md)}.settings-snippet summary{cursor:pointer;font-size:var(--text-sm);font-weight:600;color:var(--text-muted)}.settings-snippet[open] summary{margin-bottom:var(--space-sm)}.settings-steps{margin:0 0 var(--space-sm);padding-left:var(--space-lg);font-size:var(--text-sm);color:var(--text-muted)}.settings-snippet pre{background:var(--bg-input, rgba(0, 0, 0, .25));border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);font-size:var(--text-xs);overflow-x:auto;white-space:pre;-webkit-user-select:all;user-select:all;margin:0 0 var(--space-sm)}.support-tickets .st-subtitle{margin:4px 0 0;color:var(--text-muted);font-size:var(--text-sm);max-width:760px}.st-toolbar{display:flex;gap:8px;align-items:center}.st-toolbar input{min-width:220px}.st-error{color:var(--danger);font-size:var(--text-sm);margin-bottom:var(--space-sm)}.st-muted{color:var(--text-muted);font-size:var(--text-xs)}.st-board{display:grid;grid-template-columns:repeat(6,minmax(180px,1fr));gap:var(--space-md);overflow-x:auto;align-items:start}@media(max-width:1100px){.st-board{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.st-board{grid-template-columns:1fr}}.st-column{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-sm);min-height:160px}.st-column-head{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);padding:4px 6px 8px;border-bottom:2px solid var(--border);margin-bottom:var(--space-sm)}.st-column.status-New .st-column-head{border-bottom-color:#38bdf8}.st-column.status-Assigned .st-column-head{border-bottom-color:#a78bfa}.st-column.status-InProgress .st-column-head{border-bottom-color:#f80058}.st-column.status-Waiting .st-column-head{border-bottom-color:#fbbf24}.st-column.status-Resolved .st-column-head{border-bottom-color:#34d399}.st-column.status-Closed .st-column-head{border-bottom-color:var(--text-muted)}.st-column-count{background:var(--bg-elevated);border-radius:999px;padding:0 .6em}.st-column-cards{display:flex;flex-direction:column;gap:8px}.st-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;cursor:pointer}.st-card.draggable{cursor:grab}.st-card.draggable:active{cursor:grabbing}.st-card:hover{border-color:#f8005873}.st-card-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:4px}.st-priority{font-size:.65rem;font-weight:800;padding:.1em .5em;border-radius:4px}.st-priority.p-P1{background:#f871712e;color:#f87171}.st-priority.p-P2{background:#fbbf242e;color:#fbbf24}.st-priority.p-P3{background:#38bdf826;color:#38bdf8}.st-priority.p-P4{background:var(--bg-surface);color:var(--text-muted)}.st-company{font-size:.65rem;font-weight:600;border:1px solid var(--border);border-radius:999px;padding:.05em .55em;color:var(--text-secondary)}.st-sla{font-size:.65rem;color:var(--text-muted);margin-left:auto}.st-sla.overdue,.st-overdue{color:#f87171;font-weight:700}.st-card-title{font-size:var(--text-sm);font-weight:600;margin-bottom:4px}.st-card-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:var(--text-xs);color:var(--text-secondary)}.st-linked{color:#38bdf8;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.st-allocate{margin-top:6px}.st-allocate select{width:100%;font-size:var(--text-xs);padding:.25em .4em}.st-overlay{position:fixed;inset:0;background:#0000008c;display:flex;justify-content:flex-end;z-index:200}.st-drawer{width:min(640px,100%);height:100%;overflow-y:auto;background:var(--bg-surface);border-left:1px solid var(--border);padding:var(--space-lg)}.st-drawer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-md)}.st-drawer-head h3{margin:6px 0}.st-drawer-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:var(--text-xs);color:var(--text-secondary)}.st-close{background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;padding:4px 10px;font-size:var(--text-sm)}.st-drawer-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-md);margin-bottom:var(--space-md)}.st-drawer-controls label{display:flex;flex-direction:column;gap:4px;font-size:var(--text-xs);color:var(--text-muted);font-weight:600}.st-assignee{font-size:var(--text-sm);color:var(--text);font-weight:600}.st-logtime{display:flex;flex-wrap:wrap;gap:8px;align-items:center;border:1px dashed var(--border);border-radius:var(--radius);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-md)}.st-logtime-label{font-size:var(--text-xs);color:var(--text-muted);font-weight:600}.st-description{font-size:var(--text-sm);color:var(--text-secondary);white-space:pre-wrap;border-left:3px solid var(--border);padding-left:10px;margin-bottom:var(--space-md)}.st-conversation h4{margin:0 0 var(--space-sm);font-size:var(--text-sm)}.st-message{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;margin-bottom:8px}.st-message.customer{border-left:3px solid #38bdf8}.st-message.staff{border-left:3px solid #34d399}.st-message.internal{background:#fbbf240f;border-color:#fbbf2459;border-style:dashed}.st-message-meta{display:flex;gap:8px;align-items:center;font-size:var(--text-xs)}.st-message p{margin:4px 0 0;font-size:var(--text-sm);color:var(--text-secondary);white-space:pre-wrap}.st-reply{margin-top:var(--space-md)}.st-reply textarea{width:100%;resize:vertical}.st-reply-actions{display:flex;justify-content:space-between;align-items:center;margin-top:6px;gap:8px;flex-wrap:wrap}.st-internal-toggle{display:flex;align-items:center;gap:6px;font-size:var(--text-xs);color:var(--text-secondary);cursor:pointer}.sales{padding:var(--space-lg);color:var(--text)}.sales h2,.sales h3,.sales h4{font-family:Outfit,sans-serif}.sales-offline{background:var(--warning-bg);border:1px solid var(--warning);color:var(--warning);padding:var(--space-md);border-radius:var(--radius);margin-bottom:var(--space-lg);font-size:var(--text-sm)}.sales-pills{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-bottom:var(--space-md)}.sales-pill{display:inline-flex;align-items:center;gap:6px;background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);padding:4px 12px;border-radius:999px;font-size:var(--text-xs);font-weight:600;font-family:inherit;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.sales-pill:hover{background:var(--bg-card-hover);border-color:var(--border-medium);color:var(--text)}.sales-pill.active{background:var(--primary-subtle);border-color:var(--primary);color:var(--primary)}.sales-pill-count{font-family:JetBrains Mono,ui-monospace,monospace;font-weight:500;color:var(--text-muted)}.sales-pill.active .sales-pill-count{color:var(--primary)}.sales-filters{display:flex;flex-wrap:wrap;gap:var(--space-sm);padding:var(--space-md);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:var(--space-lg)}.sales-filters input,.sales-filters select{background:var(--bg-input);border:1px solid var(--border-medium);color:var(--text);padding:6px 10px;border-radius:var(--radius-sm);font-size:var(--text-sm);font-family:inherit;min-height:32px}.sales-filters input[type=search]{flex:1 1 220px;min-width:200px}.sales-filters input:focus,.sales-filters select:focus{outline:none;border-color:var(--border-focus)}.sales-error{background:var(--danger-bg);border:1px solid var(--danger);color:var(--danger);padding:var(--space-md);border-radius:var(--radius);margin-bottom:var(--space-lg);font-size:var(--text-sm)}.sales-layout{display:grid;grid-template-columns:1fr;gap:var(--space-lg);align-items:start}.sales-layout.with-detail{grid-template-columns:minmax(280px,1fr) minmax(380px,2fr)}@media(max-width:1100px){.sales-layout.with-detail{grid-template-columns:1fr}}.sales-list{display:flex;flex-direction:column;gap:var(--space-sm);max-height:calc(100vh - 220px);overflow-y:auto;padding-right:4px}.sales-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-md);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.sales-card:hover{background:var(--bg-card-hover);border-color:var(--border-medium)}.sales-card.selected{border-color:var(--primary);background:var(--bg-card-hover)}.sales-card-top{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;margin-bottom:6px}.sales-card-value{margin-left:auto;font-weight:600;color:var(--text);font-size:var(--text-sm)}.sales-card-name{font-weight:600;color:var(--text);margin-bottom:4px}.sales-card-meta{display:flex;flex-wrap:wrap;gap:var(--space-sm);font-size:var(--text-xs);color:var(--text-secondary);margin-bottom:4px}.sales-card-contact{font-size:var(--text-xs);color:var(--text-secondary);margin-bottom:4px}.sales-card-foot{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:space-between;font-size:var(--text-xs);color:var(--text-muted)}.sales-followup{color:var(--text-secondary)}.sales-followup.overdue,.sales-field-value .overdue{color:var(--danger);font-weight:600}.sales-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-xs);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;background:var(--bg-elevated);color:var(--text-secondary)}.sales-badge.status-lead{background:#94a3b824;color:var(--text-secondary)}.sales-badge.status-contacted{background:#38bdf81f;color:#38bdf8}.sales-badge.status-qualified{background:#a78bfa24;color:#a78bfa}.sales-badge.status-proposal{background:#fbbf2424;color:var(--warning)}.sales-badge.status-negotiation{background:#ff165424;color:var(--primary)}.sales-badge.status-customer{background:var(--success-bg);color:var(--success)}.sales-badge.status-lost{background:var(--danger-bg);color:var(--danger)}.sales-badge.rating-hot{background:#fb923c26;color:#fb923c}.sales-badge.rating-warm{background:#fbbf241f;color:var(--warning)}.sales-badge.rating-cold{background:#38bdf81a;color:#38bdf8}.sales-badge.sa-type-call{background:#ff16541f;color:var(--primary)}.sales-badge.sa-type-email{background:#38bdf81f;color:#38bdf8}.sales-badge.sa-type-meeting{background:#a78bfa24;color:#a78bfa}.sales-badge.sa-type-demo{background:var(--success-bg);color:var(--success)}.sales-badge.sa-type-other{background:#94a3b824;color:var(--text-muted)}.sales-badge.outcome-interested{background:var(--success-bg);color:var(--success)}.sales-badge.outcome-follow_up{background:var(--warning-bg);color:var(--warning)}.sales-badge.outcome-no_answer{background:#94a3b824;color:var(--text-muted)}.sales-badge.outcome-not_interested{background:var(--danger-bg);color:var(--danger)}.sales-badge.outcome-closed_won{background:var(--success-bg);color:var(--success)}.sales-badge.outcome-closed_lost{background:var(--danger-bg);color:var(--danger)}.sales-badge.outcome-other{background:#94a3b824;color:var(--text-muted)}.sales-badge[class*=project-status-]{background:var(--bg-elevated);color:var(--text-secondary)}.sales-badge.project-status-active{background:var(--success-bg);color:var(--success)}.sales-badge.project-status-completed{background:#94a3b824;color:var(--text-muted)}.sales-badge.project-status-on-hold{background:var(--warning-bg);color:var(--warning)}.sales-detail{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-lg);max-height:calc(100vh - 220px);overflow-y:auto}.sales-detail-header{display:flex;gap:var(--space-md);align-items:flex-start;justify-content:space-between;flex-wrap:wrap}.sales-detail-header h3{margin:0 0 6px;font-size:var(--text-xl)}.sales-detail-badges{display:flex;gap:6px;flex-wrap:wrap}.sales-detail-actions{display:flex;gap:var(--space-xs);flex-wrap:wrap}.sales-detail-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-md)}.sales-field-full{grid-column:1 / -1}.sales-field-label{text-transform:uppercase;font-size:10px;letter-spacing:.06em;color:var(--text-muted);margin-bottom:4px}.sales-field-value{color:var(--text);font-size:var(--text-sm);overflow-wrap:anywhere}.sales-field-value.pre{white-space:pre-wrap}.sales-field-value a{color:var(--primary);text-decoration:none}.sales-field-value a:hover{text-decoration:underline}.sales-edit-form{display:flex;flex-direction:column;gap:var(--space-md)}.sales-detail-section{border-top:1px solid var(--border);padding-top:var(--space-md)}.sales-detail-section h4{margin:0;font-size:var(--text-md)}.sales-section-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-md)}.sales-section-note{font-size:var(--text-xs);color:var(--text-muted);margin:4px 0 var(--space-sm) 0}.sales-section-empty{color:var(--text-muted);font-size:var(--text-sm);padding:var(--space-sm) 0}.sales-project-chips{display:flex;flex-direction:column;gap:var(--space-xs);margin-top:var(--space-sm)}.sales-project-chip{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-sm)}.sales-project-name{font-weight:500;color:var(--text)}.sales-table-wrap{overflow-x:auto;margin-top:var(--space-sm)}.sales-contracts-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.sales-contracts-table th{text-align:left;text-transform:uppercase;font-size:10px;letter-spacing:.06em;color:var(--text-muted);padding:6px 10px;border-bottom:1px solid var(--border);white-space:nowrap}.sales-contracts-table td{padding:8px 10px;border-bottom:1px solid var(--border-light);color:var(--text-secondary);white-space:nowrap}.sales-contracts-table td:first-child{color:var(--text);white-space:normal}.sales-inline-form{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-md);margin-bottom:var(--space-md)}.sales-form-wide{grid-column:1 / -1}.sales-checkbox-group{justify-content:center}.sales-checkbox{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;text-transform:none;letter-spacing:normal;font-weight:400}.sales-checkbox input[type=checkbox]{accent-color:var(--primary);width:15px;height:15px;flex-shrink:0}.sales-project-picker{display:flex;flex-direction:column;gap:var(--space-xs);max-height:180px;overflow-y:auto;padding:var(--space-sm);background:var(--bg-input);border:1px solid var(--border-medium);border-radius:var(--radius-sm)}.sc-list{display:flex;flex-direction:column;gap:var(--space-sm)}.sc-card{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md);padding:var(--space-md);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.sc-card-main{min-width:0;flex:1}.sc-card-top{display:flex;align-items:baseline;gap:var(--space-sm);flex-wrap:wrap;margin-bottom:4px}.sc-name{font-weight:600;color:var(--text)}.sc-primary{color:var(--warning);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.sc-role{color:var(--text-secondary);font-size:var(--text-xs)}.sc-channel{background:#94a3b81f;color:var(--text-secondary);padding:1px 8px;border-radius:999px;font-size:11px;font-weight:600}.sc-card-links{display:flex;gap:var(--space-md);flex-wrap:wrap;font-size:var(--text-xs);margin-bottom:4px}.sc-card-links a{color:var(--text-secondary);text-decoration:none}.sc-card-links a:hover{color:var(--primary)}.sc-approach{border-left:3px solid var(--secondary, #a78bfa);background:#a78bfa0f;border-radius:0 var(--radius-xs) var(--radius-xs) 0;padding:var(--space-sm) var(--space-md);margin:var(--space-xs) 0}.sc-approach-title{text-transform:uppercase;font-size:10px;letter-spacing:.06em;color:var(--text-muted);margin-bottom:2px}.sc-approach-text{font-style:italic;color:var(--text-secondary);font-size:var(--text-sm);white-space:pre-wrap}.sc-notes{color:var(--text-muted);font-size:var(--text-xs);white-space:pre-wrap}.sc-card-actions{display:flex;gap:var(--space-xs);flex-shrink:0}.sa-list{display:flex;flex-direction:column;gap:var(--space-xs)}.sa-entry{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.sa-entry-main{min-width:0;flex:1}.sa-entry-top{display:flex;align-items:baseline;gap:var(--space-sm);flex-wrap:wrap;margin-bottom:2px}.sa-when{font-size:var(--text-xs);color:var(--text-secondary)}.sa-by,.sa-contact{font-size:var(--text-xs);color:var(--text-muted)}.sa-summary{font-size:var(--text-sm);color:var(--text);white-space:pre-wrap;margin-top:2px}.sa-next{font-size:var(--text-xs);color:var(--warning);margin-top:2px}.sales-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-xl);width:min(680px,92vw);max-height:90vh;overflow-y:auto}.sales-modal h3{margin:0 0 var(--space-md) 0;font-size:var(--text-xl)}.sales .muted{color:var(--text-muted)}.sales .mono{font-family:JetBrains Mono,ui-monospace,monospace}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-base);padding:var(--space-lg);position:relative;overflow:hidden}.login-spline-bg{position:absolute;inset:0;z-index:0;opacity:0;transition:opacity 1.2s ease}.login-spline-bg.loaded{opacity:1}.login-spline-bg canvas{width:100%!important;height:100%!important;display:block}.login-card{background:#171c28d1;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:var(--radius-xl);padding:var(--space-2xl);width:100%;max-width:clamp(340px,28vw,420px);box-shadow:var(--shadow-xl);border:1px solid rgba(148,163,184,.12);position:relative;z-index:1;animation:loginFadeIn .5s ease}@keyframes loginFadeIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.login-header{text-align:center;margin-bottom:var(--space-2xl)}.login-logo{height:clamp(36px,3vw,52px);width:auto;margin-bottom:var(--space-md);filter:brightness(0) invert(1)}.login-header p{color:var(--text-muted);font-size:var(--text-base)}.login-card .form-group{margin-bottom:var(--space-lg)}.login-card .form-group label{display:block;margin-bottom:var(--space-sm);font-size:var(--text-sm);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.login-card .form-group input{width:100%;padding:var(--space-md) var(--space-lg);border:1px solid rgba(148,163,184,.15);border-radius:var(--radius);font-size:var(--text-base);background:#14182299;color:var(--text);transition:all var(--transition-fast) ease;font-family:DM Sans,sans-serif}.login-card .form-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow);background:#141822d9}.login-card .form-group input::placeholder{color:var(--text-faint)}.login-error{background:var(--danger-bg);border:1px solid rgba(251,113,133,.3);color:var(--danger);padding:var(--space-md) var(--space-lg);border-radius:var(--radius);margin-bottom:var(--space-lg);font-size:var(--text-base);text-align:center;font-weight:500}.login-notice{background:var(--warning-bg);border:1px solid rgba(251,191,36,.35);color:var(--warning);padding:var(--space-md) var(--space-lg);border-radius:var(--radius);margin-bottom:var(--space-lg);font-size:var(--text-base);text-align:center;font-weight:500}.login-btn{width:100%;padding:var(--space-md);font-size:var(--text-base);margin-top:var(--space-sm);font-family:DM Sans,sans-serif;font-weight:600;border-radius:var(--radius);transition:all var(--transition-fast) ease}.login-btn:disabled{opacity:.5;cursor:not-allowed}*{box-sizing:border-box;margin:0;padding:0}:root{--primary: #FF1654;--primary-light: #FF4D7A;--primary-dark: #D91245;--primary-glow: rgba(255, 22, 84, .12);--primary-subtle: rgba(255, 22, 84, .06);--secondary: #a78bfa;--accent: #FF1654;--success: #34d399;--success-bg: rgba(52, 211, 153, .1);--danger: #fb7185;--danger-bg: rgba(251, 113, 133, .1);--warning: #fbbf24;--warning-bg: rgba(251, 191, 36, .1);--info: #60a5fa;--info-bg: rgba(96, 165, 250, .1);--bg-dark: #080a0f;--bg-base: #0b0e14;--bg-surface: #0f1219;--bg-card: #151921;--bg-card-hover: #1a1f2b;--bg-input: #121620;--bg-elevated: #1e2433;--bg-inset: rgba(0, 0, 0, .2);--text: #e2e8f0;--text-secondary: #94a3b8;--text-muted: #64748b;--text-faint: #475569;--border: rgba(148, 163, 184, .08);--border-light: rgba(148, 163, 184, .05);--border-medium: rgba(148, 163, 184, .12);--border-focus: rgba(255, 22, 84, .4);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .15);--shadow: 0 1px 3px rgba(0, 0, 0, .2), 0 1px 2px rgba(0, 0, 0, .12);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .2), 0 2px 4px -2px rgba(0, 0, 0, .15);--shadow-lg: 0 8px 20px -4px rgba(0, 0, 0, .3);--shadow-xl: 0 16px 40px -8px rgba(0, 0, 0, .4);--sidebar-width: clamp(220px, 16vw, 260px);--sidebar-collapsed: 52px;--topbar-height: clamp(48px, 4vw, 56px);--radius-xs: 4px;--radius-sm: 6px;--radius: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 16px;--space-xs: clamp(.25rem, .5vw, .375rem);--space-sm: clamp(.375rem, .6vw, .5rem);--space-md: clamp(.5rem, .8vw, .75rem);--space-lg: clamp(.75rem, 1.2vw, 1.25rem);--space-xl: clamp(1rem, 1.6vw, 1.75rem);--space-2xl: clamp(1.5rem, 2.4vw, 2.5rem);--space-3xl: clamp(2rem, 3.2vw, 3.5rem);--text-xs: clamp(.65rem, .6rem + .15vw, .75rem);--text-sm: clamp(.75rem, .7rem + .15vw, .85rem);--text-base: clamp(.82rem, .76rem + .18vw, .95rem);--text-md: clamp(.9rem, .84rem + .2vw, 1.05rem);--text-lg: clamp(1rem, .92rem + .25vw, 1.2rem);--text-xl: clamp(1.15rem, 1.05rem + .3vw, 1.4rem);--text-2xl: clamp(1.35rem, 1.2rem + .4vw, 1.7rem);--text-3xl: clamp(1.6rem, 1.4rem + .5vw, 2rem);--transition-fast: .12s ease;--transition-base: .18s ease;--transition-slow: .3s cubic-bezier(.4, 0, .2, 1)}body{font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-base);color:var(--text);line-height:1.6;min-height:100vh;font-size:var(--text-base)}h1,h2,h3,h4,h5,h6{font-family:Outfit,DM Sans,sans-serif;letter-spacing:-.025em;line-height:1.3}.app{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-collapsed);height:100vh;position:fixed;top:0;left:0;background:var(--bg-surface);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:200;transition:width .25s ease;overflow:hidden}.sidebar-expanded .main-wrapper{margin-left:var(--sidebar-width)}.sidebar-expanded .sidebar{width:var(--sidebar-width)}.sidebar-expanded .sidebar-section-label,.sidebar-expanded .sidebar-status,.sidebar-expanded .sidebar-user .user-info,.sidebar-expanded .sidebar-logout,.sidebar-expanded .nav-item .nav-badge{opacity:1}.sidebar-logo{padding:var(--space-lg) var(--space-lg);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:var(--space-md);white-space:nowrap;overflow:hidden}.sidebar-logo .logo-mark{width:clamp(24px,2vw,32px);height:clamp(24px,2vw,32px);flex-shrink:0}.sidebar-logo .logo-mark img{width:100%;height:100%;object-fit:contain}.sidebar-logo .logo-text{font-family:Outfit,sans-serif;font-size:var(--text-base);font-weight:700;color:var(--text);letter-spacing:-.02em;line-height:1.2}.sidebar-logo .logo-sub{font-size:var(--text-xs);color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.06em}.sidebar-nav{flex:1;overflow-y:auto;padding:var(--space-sm) var(--space-sm)}.sidebar-section-label{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);padding:var(--space-lg) var(--space-md) var(--space-sm);white-space:nowrap;overflow:hidden;opacity:0;transition:opacity .2s ease}.nav-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);transition:all var(--transition-fast);border:1px solid transparent;background:transparent;width:100%;text-align:left;position:relative;font-family:DM Sans,sans-serif;margin-bottom:1px;white-space:nowrap;overflow:hidden}.nav-item:hover{background:#94a3b80f;color:var(--text)}.nav-item.active{background:var(--primary-glow);color:var(--primary);font-weight:600}.nav-item.active:before{content:"";position:absolute;left:calc(var(--space-sm) * -1);top:50%;transform:translateY(-50%);width:3px;height:18px;background:var(--primary);border-radius:0 3px 3px 0}.nav-item .nav-icon{width:20px;min-width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:.5}.nav-item:hover .nav-icon{opacity:.8}.nav-item.active .nav-icon{opacity:1}.nav-item .nav-badge{margin-left:auto;background:var(--danger);color:#fff;font-size:.6rem;font-weight:700;padding:.1rem .4rem;border-radius:10px;min-width:16px;text-align:center;line-height:1.4;opacity:0;transition:opacity .2s ease}.sidebar-footer{padding:var(--space-sm);border-top:1px solid var(--border);overflow:hidden;white-space:nowrap}.sidebar-status{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);margin-bottom:var(--space-xs);opacity:0;transition:opacity .2s ease}.sidebar-user{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);background:#94a3b808;border:1px solid var(--border)}.sidebar-user .user-avatar{width:clamp(28px,2vw,34px);height:clamp(28px,2vw,34px);border-radius:50%;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:700;color:#fff;flex-shrink:0;font-family:Outfit,sans-serif}.sidebar-user .user-info{flex:1;min-width:0;opacity:0;transition:opacity .2s ease}.sidebar-user .user-name{font-size:var(--text-sm);font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user .user-role{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.sidebar-logout{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--space-xs);border-radius:var(--radius-sm);transition:all var(--transition-fast);opacity:0;display:flex;align-items:center;justify-content:center}.sidebar-logout:hover{color:var(--danger);background:var(--danger-bg)}.main-wrapper{flex:1;margin-left:var(--sidebar-collapsed);min-height:100vh;display:flex;flex-direction:column;transition:margin-left .25s ease}.topbar{height:var(--topbar-height);background:#0b0e14cc;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-xl);position:sticky;top:0;z-index:100}.topbar-left{display:flex;align-items:center;gap:var(--space-md)}.topbar-title{font-family:Outfit,sans-serif;font-size:var(--text-md);font-weight:600;color:var(--text);letter-spacing:-.01em}.topbar-status{display:flex;gap:var(--space-sm);align-items:center}.server-status{padding:var(--space-xs) var(--space-sm);border-radius:20px;font-size:var(--text-xs);font-weight:600;display:flex;align-items:center;gap:.35rem}.server-status:before{content:"";width:6px;height:6px;border-radius:50%}.server-status.online{background:var(--success-bg);color:var(--success)}.server-status.online:before{background:var(--success);box-shadow:0 0 8px #34d39980}.server-status.offline{background:var(--warning-bg);color:var(--warning)}.server-status.offline:before{background:var(--warning)}.save-status{padding:var(--space-xs) var(--space-sm);border-radius:20px;font-size:var(--text-xs);font-weight:500;background:var(--info-bg);color:var(--info);animation:fadeIn .2s ease}.live-status{display:inline-flex;align-items:center;gap:6px;padding:var(--space-xs) var(--space-sm);border-radius:20px;font-size:var(--text-xs);font-weight:600;background:var(--success-bg);color:var(--success)}.live-status.reconnecting{background:var(--warning-bg);color:var(--warning)}.live-status .live-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.live-status.live .live-dot{box-shadow:0 0 0 0 currentColor;animation:livePulse 1.8s ease-out infinite}@keyframes livePulse{0%{box-shadow:0 0 #34d39980}70%{box-shadow:0 0 0 6px #34d39900}to{box-shadow:0 0 #34d39900}}.offline-banner{padding:var(--space-sm) var(--space-xl);background:var(--danger-bg);border-bottom:1px solid rgba(251,113,133,.3);color:var(--danger);font-size:var(--text-sm);font-weight:600;text-align:center}.app-content{flex:1;padding:var(--space-xl) var(--space-xl) var(--space-2xl);max-width:1800px;width:100%;margin:0 auto;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.loading-screen{display:flex;justify-content:center;align-items:center;height:100vh;color:var(--text-secondary);flex-direction:column;gap:var(--space-lg)}.loading-screen h2{font-family:Outfit,sans-serif;font-weight:600;font-size:var(--text-lg)}.loading-spinner{width:32px;height:32px;border:2.5px solid var(--border-medium);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn{padding:var(--space-sm) var(--space-lg);border:1px solid transparent;border-radius:var(--radius);cursor:pointer;font-size:var(--text-sm);font-weight:600;font-family:DM Sans,sans-serif;transition:all var(--transition-base);display:inline-flex;align-items:center;gap:var(--space-xs);letter-spacing:.01em;line-height:1.4;white-space:nowrap}.btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover:not(:disabled){background:var(--primary-light);box-shadow:0 0 20px var(--primary-glow),0 2px 8px #ff165433}.btn-secondary{background:var(--bg-card);color:var(--text);border-color:var(--border-medium)}.btn-secondary:hover:not(:disabled){background:var(--bg-card-hover);border-color:#94a3b833}.btn-success{background:var(--success);color:#0c1017;border-color:var(--success)}.btn-success:hover:not(:disabled){box-shadow:0 0 20px #34d39933;filter:brightness(1.05)}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-danger:hover:not(:disabled){box-shadow:0 0 20px #fb718533;filter:brightness(1.05)}.btn-warning{background:var(--warning);color:#0c1017;border-color:var(--warning)}.btn-warning:hover:not(:disabled){box-shadow:0 0 20px #fbbf2433;filter:brightness(1.05)}.btn-sm{padding:var(--space-xs) var(--space-md);font-size:var(--text-xs);border-radius:var(--radius-sm)}.btn-xs{padding:.15rem .45rem;font-size:var(--text-xs);border-radius:var(--radius-xs)}.form-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-xl);margin-bottom:var(--space-xl);box-shadow:var(--shadow-sm)}.form-card h3{margin-bottom:var(--space-lg);font-size:var(--text-md);color:var(--text);font-family:Outfit,sans-serif;font-weight:600}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(clamp(180px,15vw,240px),1fr));gap:var(--space-lg)}.form-group{display:flex;flex-direction:column;gap:var(--space-xs)}.form-group label{font-size:var(--text-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.form-group input,.form-group select,.form-group textarea{padding:var(--space-sm) var(--space-md);border:1px solid var(--border-medium);border-radius:var(--radius);font-size:var(--text-sm);transition:all var(--transition-base);background:var(--bg-input);color:var(--text);font-family:DM Sans,sans-serif;line-height:1.5}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow);background:var(--bg-card)}.form-group input::placeholder{color:var(--text-faint)}.form-group.checkbox{flex-direction:row;align-items:center;gap:var(--space-sm)}.form-group.checkbox input{width:auto;accent-color:var(--primary)}.checkbox-inline{display:flex;align-items:center;gap:var(--space-sm)}.checkbox-inline input{accent-color:var(--primary)}.form-actions{display:flex;gap:var(--space-sm);margin-top:var(--space-lg)}.form-row{display:flex;gap:var(--space-sm);align-items:center;flex-wrap:wrap}.form-row input,.form-row select{padding:var(--space-sm);border:1px solid var(--border-medium);border-radius:var(--radius);font-size:var(--text-sm);background:var(--bg-input);color:var(--text)}.form-row select{min-width:clamp(160px,14vw,220px)}.data-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--bg-card);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--border)}.data-table th,.data-table td{padding:var(--space-md) var(--space-lg);text-align:left;border-bottom:1px solid var(--border-light)}.data-table th{background:var(--bg-surface);font-weight:600;font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-family:DM Sans,sans-serif;position:sticky;top:0;z-index:2}.data-table td{font-size:var(--text-sm)}.data-table tbody tr{transition:background var(--transition-fast)}.data-table tbody tr:hover{background:var(--primary-subtle)}.data-table tbody tr:last-child td{border-bottom:none}.data-table tfoot{background:var(--bg-surface);font-weight:600}.data-table tfoot td{border-bottom:none;color:var(--primary);font-size:var(--text-sm);border-top:1px solid var(--border)}.data-table .amount{font-family:DM Mono,SF Mono,Consolas,monospace;text-align:right;color:var(--text);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.data-table .amount.negative{color:var(--danger);font-weight:600}.data-table .editing-row{background:var(--primary-subtle)!important}.data-table .editing-row input{width:100%;padding:var(--space-xs) var(--space-sm);border:1px solid var(--primary);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text);font-size:var(--text-sm)}.badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:20px;font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.03em;line-height:1.4;white-space:nowrap}.badge.internal{background:var(--primary-glow);color:var(--primary)}.badge.external{background:#a78bfa1f;color:var(--secondary)}.badge.contributor{background:#fbbf241f;color:#fbbf24}.badge.category{background:var(--info-bg);color:var(--info)}.badge.status-active{background:var(--success-bg);color:var(--success)}.badge.status-completed{background:#94a3b814;color:var(--text-secondary)}.badge.status-on-hold{background:var(--warning-bg);color:var(--warning)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xl);gap:var(--space-md)}.section-header h2{font-size:var(--text-xl);font-weight:700;color:var(--text);font-family:Outfit,sans-serif}.empty-state{text-align:center;padding:var(--space-3xl);color:var(--text-muted);background:var(--bg-card);border-radius:var(--radius-lg);border:1px dashed rgba(148,163,184,.12);font-size:var(--text-sm)}.filter-bar{display:flex;gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap}.filter-bar .form-group{flex:1;min-width:clamp(160px,14vw,220px)}.mini-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--text-sm)}.mini-table th,.mini-table td{padding:var(--space-sm);text-align:left;border-bottom:1px solid var(--border-light)}.mini-table th{background:var(--primary-subtle);font-weight:600;font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.mini-table tbody tr:hover{background:var(--primary-subtle)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#94a3b81a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#94a3b833}.sidebar-toggle{display:none;background:none;border:none;color:var(--text);cursor:pointer;padding:var(--space-xs);font-size:1.15rem;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.sidebar-toggle:hover{background:#94a3b814}.sidebar-overlay{display:none}@media(min-width:1920px){:root{--sidebar-width: 270px}.app-content{max-width:1900px}}@media(min-width:2560px){:root{--sidebar-width: 300px}.app-content{max-width:2400px}}@media(max-width:1440px){.app-content{max-width:100%}}@media(max-width:1280px){:root{--sidebar-width: 220px}}@media(max-width:1024px){.sidebar{width:var(--sidebar-width);transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-section-label,.sidebar-status,.sidebar-user .user-info,.sidebar-logout{opacity:1}.sidebar-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:199;opacity:0;pointer-events:none;transition:opacity var(--transition-slow)}.sidebar-overlay.open{display:block;opacity:1;pointer-events:auto}.main-wrapper,.sidebar-expanded .main-wrapper{margin-left:0}.sidebar-expanded .sidebar{width:var(--sidebar-width)}.sidebar-toggle{display:flex;align-items:center;justify-content:center}.topbar{padding:0 var(--space-lg)}.app-content{padding:var(--space-lg)}.section-header{flex-direction:column;gap:var(--space-md);text-align:center}}@media(max-width:768px){.data-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.form-grid{grid-template-columns:1fr}.filter-bar{flex-direction:column}.filter-bar .form-group{min-width:100%}}@media(max-width:480px){.app-content{padding:var(--space-md)}.form-card{padding:var(--space-lg)}.btn{padding:var(--space-sm) var(--space-md)}}
