.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#16213e);padding:20px}.login-container{background:#fff;border-radius:12px;padding:40px;width:100%;max-width:400px;box-shadow:0 20px 60px #0000004d}.login-header{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:30px;color:#3687a1}.login-header h1{font-size:28px;margin:0}.login-form h2{text-align:center;margin:0 0 24px;color:#222;font-size:22px}.login-error{background:#ffe6e6;border:1px solid #ff9999;color:#c00;padding:12px;border-radius:6px;margin-bottom:20px;font-size:14px;text-align:center}.login-success{background:#e3f4e8;border:1px solid #9ed4ad;color:#2f7d4b;padding:12px;border-radius:6px;margin-bottom:20px;font-size:14px;text-align:center}.login-form .form-group{margin-bottom:20px}.login-form .form-group label{display:block;font-weight:600;margin-bottom:8px;color:#333;font-size:14px}.login-form .form-group input{width:100%;padding:12px 14px;border:1px solid #ddd;border-radius:6px;font-size:15px;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.login-form .form-group input:focus{outline:none;border-color:#3687a1;box-shadow:0 0 0 3px #3687a126}.login-btn{width:100%;padding:14px;background:#3687a1;color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s}.login-btn:hover:not(:disabled){background:#2a5f80}.login-btn:disabled{opacity:.7;cursor:not-allowed}@media(max-width:768px){.login-container{padding:30px 25px;max-width:360px}.login-header h1{font-size:24px}.login-form h2{font-size:20px}}@media(max-width:480px){.login-page{padding:15px}.login-container{padding:25px 20px}.login-header{margin-bottom:25px}.login-header h1{font-size:22px}.login-form h2{font-size:18px;margin-bottom:20px}.login-form .form-group{margin-bottom:16px}.login-form .form-group label{font-size:13px}.login-form .form-group input{padding:10px 12px;font-size:16px}.login-btn{padding:12px;font-size:15px}}.login-footer{margin-top:24px;text-align:center;color:#666;font-size:14px}.login-footer p{margin:0}.toggle-btn{background:none;border:none;color:#3687a1;font-weight:600;cursor:pointer;margin-left:6px;font-size:14px}.toggle-btn:hover{text-decoration:underline}.login-link{color:#3687a1;font-weight:600;text-decoration:none}.login-link:hover{text-decoration:underline}.client-form textarea{resize:vertical}.clients-table{width:100%}.client-name-link{color:var(--accent-color);text-decoration:none}.client-name-link:hover{text-decoration:underline}.focused-row{animation:focusPulse 1.8s ease-out;background:color-mix(in srgb,var(--accent-color) 16%,transparent)!important;outline:2px solid var(--focus-ring);outline-offset:-2px}@keyframes focusPulse{0%{background:color-mix(in srgb,var(--accent-color) 32%,transparent)}to{background:color-mix(in srgb,var(--accent-color) 16%,transparent)}}.retainer-badge{display:inline-block;padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);background:var(--status-info-bg);color:var(--status-info-text);font-size:12px;font-weight:600}.client-workspace-button{color:var(--text-primary);text-decoration:none}.client-workspace-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.client-workspace-summary a{display:flex;min-width:0;flex-direction:column;gap:var(--space-1);padding:var(--space-5);border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--surface-subtle);color:var(--text-secondary);text-decoration:none}.client-workspace-summary a:hover{border-color:var(--accent-color);box-shadow:var(--shadow-sm)}.client-workspace-summary strong{overflow:hidden;color:var(--text-primary);font-size:25px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.client-workspace-summary span{font-size:13px;font-weight:600}.client-workspace-grid{display:grid;grid-template-columns:minmax(250px,.65fr) minmax(0,1.6fr);align-items:start;gap:var(--space-5)}.client-workspace-profile,.client-workspace-panel{padding:var(--space-5);border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--surface-page);box-shadow:var(--shadow-sm)}.client-workspace-profile h2,.client-workspace-panel h2{margin:0;color:var(--text-primary);font-size:18px}.client-workspace-profile dl{display:flex;flex-direction:column;margin-top:var(--space-4)}.client-workspace-profile dl>div{padding:var(--space-3) 0;border-top:1px solid var(--border-light)}.client-workspace-profile dt{margin-bottom:var(--space-1);color:var(--text-secondary);font-size:12px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.client-workspace-profile dd{margin:0;overflow-wrap:anywhere}.client-workspace-profile dd a{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--accent-color)}.client-workspace-notes{padding-top:var(--space-4);border-top:1px solid var(--border-light)}.client-workspace-notes h3{margin-bottom:var(--space-2);font-size:14px}.client-workspace-notes p{color:var(--text-secondary);overflow-wrap:anywhere;white-space:pre-wrap}.client-workspace-records{display:grid;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}.client-workspace-panel__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.client-workspace-panel__heading span{color:var(--text-secondary);font-size:13px}.client-workspace-panel__heading>a{flex:0 0 auto;color:var(--accent-color);font-size:14px;font-weight:600}.client-workspace-list{display:flex;flex-direction:column}.client-workspace-record{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--border-light);color:var(--text-primary);text-decoration:none}.client-workspace-record:first-child{padding-top:0;border-top:0}.client-workspace-record:last-child{padding-bottom:0}.client-workspace-record[href]:hover strong{color:var(--accent-color)}.client-workspace-record>div{display:flex;min-width:0;flex-direction:column;gap:var(--space-1)}.client-workspace-record strong,.client-workspace-record span:not(.ui-badge){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-workspace-record span:not(.ui-badge){color:var(--text-secondary);font-size:13px}.client-workspace-record .ui-badge{flex:0 0 auto}.client-workspace-empty{color:var(--text-secondary);font-size:14px}@media(max-width:1100px){.client-workspace-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.client-workspace-grid{grid-template-columns:1fr}}@media(max-width:720px){.client-workspace-records{grid-template-columns:1fr}}@media(max-width:480px){.client-workspace-summary{grid-template-columns:1fr 1fr;gap:var(--space-3)}.client-workspace-summary a,.client-workspace-profile,.client-workspace-panel{padding:var(--space-4)}.client-workspace-summary strong{font-size:21px}.client-workspace-record{align-items:flex-start}}.lead-form,.leads-table{width:100%}.lead-subtext{color:var(--text-secondary);display:block;font-size:12px;margin-top:4px}.linked-records{display:flex;flex-direction:column;gap:6px}.linked-record{align-items:center;color:var(--text-secondary);display:inline-flex;gap:6px;max-width:220px}.linked-record-link{border-radius:6px;padding:2px 4px;text-decoration:none;transition:background .2s,color .2s}.linked-record-link:hover{background:var(--bg-hover);color:var(--accent-color)}.linked-record__type{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);font-size:11px;font-weight:700;line-height:1;padding:3px 6px;white-space:nowrap}.conversion-empty{color:var(--text-secondary);font-size:13px}.lead-actions-cell{min-width:190px;vertical-align:middle}.lead-actions{align-items:center;display:grid;flex-wrap:wrap;grid-template-columns:repeat(2,max-content);justify-content:start}.lead-action-text,.lead-mobile-list{display:none}.lead-action-btn{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--accent-color);cursor:pointer;display:inline-flex;font-size:12px;font-weight:700;gap:6px;min-height:30px;padding:5px 8px;transition:all .2s;white-space:nowrap}.lead-action-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--accent-color);color:var(--accent-hover)}.lead-action-btn:disabled{cursor:not-allowed;opacity:.45}.leads-table .ui-icon-action:disabled{cursor:not-allowed;opacity:.45}@media(max-width:768px){.leads-desktop-records{display:none}.lead-mobile-list{display:grid;gap:var(--space-4)}.lead-mobile-card{padding:var(--space-4);border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-secondary);box-shadow:var(--shadow-sm)}.lead-mobile-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-light)}.lead-mobile-card__header h2,.lead-mobile-card__header p{margin:0}.lead-mobile-card__header h2{color:var(--text-primary);font-size:17px;line-height:1.35}.lead-mobile-card__header p{margin-top:var(--space-1);color:var(--text-secondary);font-size:13px}.lead-mobile-card__details{margin:0}.lead-mobile-card__details>div{display:grid;grid-template-columns:88px minmax(0,1fr);gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border-light)}.lead-mobile-card__details dt,.lead-mobile-card__label{color:var(--text-secondary);font-size:12px;font-weight:700;letter-spacing:.02em}.lead-mobile-card__details dd{min-width:0;margin:0;color:var(--text-primary);font-size:14px;overflow-wrap:anywhere}.lead-mobile-card__details dd span{display:block;margin-top:var(--space-1);color:var(--text-secondary)}.lead-mobile-card__linked{display:grid;grid-template-columns:88px minmax(0,1fr);gap:var(--space-3);padding:var(--space-3) 0}.lead-mobile-card .linked-record{max-width:100%;overflow-wrap:anywhere}.lead-mobile-card .lead-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);min-width:0;padding-top:var(--space-3);border-top:1px solid var(--border-light)}.lead-mobile-card .lead-action-btn,.lead-mobile-card .lead-icon-action{width:100%;min-height:44px;justify-content:center}.lead-mobile-card .lead-icon-action{gap:6px;border:1px solid var(--border-color);background:var(--bg-tertiary);font-size:12px;font-weight:700}.lead-action-text{display:inline}}.retainer-form .price-info{display:flex;flex-direction:column}.retainer-form .price-display{padding:10px;border:1px solid var(--accent-color);border-radius:var(--radius-sm);background:var(--accent-light);color:var(--accent-color);font-size:16px;font-weight:700}.warning-banner{display:flex;gap:var(--space-3);padding:var(--space-4)}.warning-banner svg{flex-shrink:0;margin-top:2px}.warning-banner strong{display:block;margin-bottom:var(--space-2)}.warning-banner ul{margin:0;padding-left:var(--space-5)}.warning-banner li{margin:var(--space-1) 0}.status-filter{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5)}.status-filter label{color:var(--text-primary);font-weight:600}.status-filter select{background:var(--bg-secondary);color:var(--text-primary)}@media(max-width:768px){.warning-banner{padding:var(--space-3);font-size:14px}.status-filter{flex-direction:column;align-items:stretch;gap:var(--space-2)}}.dashboard{background:transparent}.dashboard-section{margin-bottom:var(--space-6)}.dashboard-section-heading,.dashboard-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.dashboard-section-heading{margin-bottom:var(--space-4)}.dashboard-panel-heading{margin-bottom:var(--space-5)}.dashboard-section-heading h2,.dashboard-panel-heading h2{margin:0;color:var(--text-primary);font-size:18px}.dashboard-section-heading p,.dashboard-panel-heading p{margin:var(--space-1) 0 0;color:var(--text-secondary);font-size:14px}.dashboard-attention-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.dashboard-attention-card{display:flex;min-width:0;flex-direction:column;gap:var(--space-2);padding:var(--space-5);border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--surface-page);box-shadow:var(--shadow-sm);color:var(--text-secondary);text-decoration:none}.dashboard-attention-card:hover{border-color:var(--accent-color);box-shadow:var(--shadow-md);transform:translateY(-1px)}.dashboard-attention-card:focus-visible{border-color:var(--accent-color)}.dashboard-attention-card.is-urgent{border-color:var(--danger-border);background:var(--danger-bg)}.dashboard-attention-card.is-urgent strong{color:var(--danger-text)}.dashboard-attention-card strong{color:var(--text-primary);font-size:32px;line-height:1}.dashboard-metric-label{color:var(--text-secondary);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.dashboard-content-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);align-items:start;gap:var(--space-5)}.dashboard-side-stack{display:flex;min-width:0;flex-direction:column;gap:var(--space-5)}.dashboard-panel{min-width:0;padding:var(--space-5);border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--surface-page);box-shadow:var(--shadow-sm)}.dashboard-view-link{flex:0 0 auto;color:var(--accent-color);font-size:14px;font-weight:600;text-decoration:none}.dashboard-view-link:hover{text-decoration:underline}.dashboard-task-list,.dashboard-metric-list{display:flex;flex-direction:column}.dashboard-task-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0;border-top:1px solid var(--border-light);color:var(--text-primary);text-decoration:none}.dashboard-task-row:first-child{padding-top:0;border-top:0}.dashboard-task-row:last-child{padding-bottom:0}.dashboard-task-row:hover .dashboard-task-copy strong{color:var(--accent-color)}.dashboard-task-copy{display:flex;min-width:0;flex-direction:column;gap:var(--space-1)}.dashboard-task-copy strong,.dashboard-task-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-task-copy span{color:var(--text-secondary);font-size:13px}.dashboard-task-row .ui-badge{flex:0 0 auto}.dashboard-metric-list>a{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0;border-top:1px solid var(--border-light);color:var(--text-secondary);text-decoration:none}.dashboard-metric-list>a:first-child{padding-top:0;border-top:0}.dashboard-metric-list>a:last-child{padding-bottom:0}.dashboard-metric-list>a:hover span{color:var(--accent-color)}.dashboard-metric-list strong{color:var(--text-primary);font-size:17px;text-align:right}.dashboard-error{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}@media(max-width:1000px){.dashboard-content-grid{grid-template-columns:1fr}.dashboard-side-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.dashboard-attention-grid,.dashboard-side-stack{grid-template-columns:1fr}.dashboard-task-row{align-items:flex-start;flex-direction:column;gap:var(--space-2)}.dashboard-task-copy strong,.dashboard-task-copy span{white-space:normal}}@media(max-width:480px){.dashboard-attention-card,.dashboard-panel{padding:var(--space-4)}.dashboard-panel-heading{align-items:flex-start;flex-direction:column}.dashboard-error{align-items:stretch;flex-direction:column}}.employee-form textarea{resize:vertical}.employees-table,.purchase-form{width:100%}.purchase-form .form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:20px}.purchase-form .form-group{display:flex;flex-direction:column}.purchase-form .form-group-full{grid-column:1 / -1}.purchase-form .form-group label{font-weight:600;margin-bottom:8px;color:var(--text-primary);font-size:14px}.purchase-form .form-group input,.purchase-form .form-group textarea,.purchase-form .form-group select{padding:10px;border:1px solid var(--border-color);border-radius:4px;font-size:14px;font-family:inherit;transition:border-color .2s;background:var(--bg-secondary);color:var(--text-primary)}.purchase-form .form-group input:focus,.purchase-form .form-group textarea:focus,.purchase-form .form-group select:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px var(--focus-ring)}.purchase-form .file-input-wrapper{position:relative;display:flex;align-items:center;gap:10px;margin-bottom:10px}.purchase-form .file-input-wrapper input[type=file]{flex:1;padding:10px;border:1px dashed var(--accent-color);border-radius:4px;background:var(--accent-light);cursor:pointer;color:var(--text-primary)}.purchase-form .file-input-wrapper input[type=file]:hover{border-color:var(--accent-hover);opacity:.8}.purchase-form .file-input-hint{font-size:12px;color:var(--text-secondary);white-space:nowrap}.purchase-form .file-selected{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--accent-light);border:1px solid var(--accent-color);border-radius:4px;margin-top:8px}.purchase-form .file-name{flex:1;font-size:14px;color:var(--text-primary);word-break:break-all}.purchase-form .btn-remove-file{background:none;border:none;color:var(--danger-text);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .2s}.purchase-form .btn-remove-file:hover{color:var(--danger-solid-hover)}.purchase-form .checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:600;margin-bottom:0!important}.purchase-form .checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;margin:0}.purchase-form .checkbox-label span{-webkit-user-select:none;user-select:none}.purchase-form .checkbox-label.is-disabled{cursor:not-allowed;color:var(--text-tertiary)}.purchase-form .checkbox-label input[type=checkbox]:disabled{cursor:not-allowed}.purchase-form .field-hint{margin-top:6px;color:var(--text-secondary);font-size:12px;line-height:1.4}@media(max-width:768px){.purchase-form .form-grid{grid-template-columns:1fr;gap:15px}.purchase-form .form-group label{font-size:15px}.purchase-form .form-group input,.purchase-form .form-group textarea,.purchase-form .form-group select{font-size:16px;padding:12px}.purchase-form .file-input-wrapper{flex-direction:column;align-items:stretch}.purchase-form .file-input-hint{text-align:center;white-space:normal}.purchase-form .form-actions{flex-direction:column-reverse;gap:10px}.purchase-form .btn-save,.purchase-form .btn-cancel{width:100%;padding:12px 20px;justify-content:center}}@media(max-width:480px){.purchase-form .form-group label{font-size:14px}.purchase-form .form-group input,.purchase-form .form-group textarea,.purchase-form .form-group select{padding:10px}.purchase-form .file-name{font-size:13px}}.filters-container{display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:2rem;padding:1.5rem;border-radius:var(--radius-md);background:var(--bg-secondary);box-shadow:var(--shadow-sm)}.filters-container .filter-group{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;min-height:38px}.filters-container .filter-group label{display:flex;align-items:center;color:var(--text-primary);font-size:.875rem;font-weight:500;white-space:nowrap}.filters-container .filter-select{min-width:150px;cursor:pointer}.purchases-table{width:100%}.invoice-actions,.amount-cell{display:flex;align-items:center;gap:var(--space-2)}.reimbursement-cell{white-space:nowrap}.btn-download-invoice,.btn-send-email{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--accent-color);border-radius:var(--radius-sm);background:transparent;color:var(--accent-color)}.btn-download-invoice:hover,.btn-send-email:hover{border-color:var(--accent-hover);background:var(--accent-light);color:var(--accent-hover)}.btn-send-email{border-color:var(--success-border);color:var(--success-text)}.btn-download-invoice:disabled,.btn-send-email:disabled{cursor:not-allowed;opacity:.6;background:var(--surface-subtle)}.sending-text{font-size:12px}.no-invoice{color:var(--text-tertiary);font-size:14px}@media(max-width:768px){.filters-container{align-items:stretch;padding:var(--space-4)}.filters-container .filter-group{width:100%}}.task-form{padding:2rem;border-radius:var(--radius-md);background:var(--bg-secondary);box-shadow:var(--shadow-sm)}.task-form textarea{resize:vertical}.ui-form-drawer .task-form{padding:0;background:transparent;box-shadow:none}.ui-form-drawer .task-form .form-actions{position:sticky;bottom:0;z-index:1;padding:var(--space-4) 0 var(--space-1);background:var(--bg-primary);border-top:1px solid var(--border-light)}@media(max-width:768px){.task-form{padding:var(--space-4)}}.ui-form-drawer__overlay{position:fixed;inset:0;z-index:450;display:flex;justify-content:flex-end;background:#00000085}.ui-form-drawer{width:min(720px,100vw);height:100%;display:flex;flex-direction:column;border-left:1px solid var(--border-color);background:var(--bg-primary);box-shadow:var(--shadow-md);animation:formDrawerEnter .18s ease-out}.ui-form-drawer__header{display:flex;flex-shrink:0;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-light);background:var(--bg-secondary)}.ui-form-drawer__header h2,.ui-form-drawer__header p{margin:0}.ui-form-drawer__header h2{color:var(--text-primary);font-size:22px}.ui-form-drawer__header p{margin-top:var(--space-1);color:var(--text-secondary);font-size:14px}.ui-form-drawer__close{min-width:var(--control-height);min-height:var(--control-height);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:var(--space-2);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer}.ui-form-drawer__close:hover:not(:disabled){border-color:var(--accent-color);color:var(--accent-color)}.ui-form-drawer__close:disabled{cursor:not-allowed;opacity:.55}.ui-form-drawer__body{flex:1;min-height:0;overflow-y:auto;padding:var(--space-6)}.ui-form-drawer__body>.ui-form{min-height:100%}@keyframes formDrawerEnter{0%{transform:translate(24px);opacity:0}}@media(max-width:768px){.ui-form-drawer{width:100%;border-left:0}.ui-form-drawer__header{padding:var(--space-4)}.ui-form-drawer__header h2{font-size:20px}.ui-form-drawer__body{padding:var(--space-4)}.ui-form-drawer .ui-form .form-actions{flex-direction:row}.ui-form-drawer .ui-form .form-actions button{width:auto;flex:1}}@media(prefers-reduced-motion:reduce){.ui-form-drawer{animation:none}}.tasks-page .page-container{padding:2rem;max-width:1400px;margin:0 auto}.tasks-page .header-actions{display:flex;align-items:center;gap:1rem}.tasks-page .view-toggle{display:flex;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.tasks-page .view-toggle-btn{padding:.625rem .875rem;background:var(--bg-secondary);border:none;cursor:pointer;color:var(--text-secondary);transition:all .2s;display:flex;align-items:center}.tasks-page .view-toggle-btn:first-child{border-right:1px solid var(--border-color)}.tasks-page .view-toggle-btn:hover{background:var(--bg-hover);color:var(--accent-color)}.tasks-page .view-toggle-btn.active{background:var(--accent-color);color:#fff}.tasks-page .form-container{margin-bottom:2rem}.tasks-page .filters-container{display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:2rem;padding:1.5rem;background:var(--bg-secondary);border-radius:8px;box-shadow:var(--shadow-sm)}.tasks-page .filter-group{display:flex;align-items:flex-start;gap:.75rem;min-height:38px;justify-content:end}.tasks-page .filter-group label{font-weight:500;color:var(--text-primary);font-size:.875rem;display:flex;align-items:center;cursor:pointer;white-space:nowrap}.tasks-page .filter-group input[type=checkbox]{cursor:pointer;width:16px;height:16px;margin:0;accent-color:var(--accent-color)}.tasks-page .filter-select{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.875rem;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer}.tasks-page .filter-select:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px var(--focus-ring)}.tasks-page .filter-control-with-help{display:flex;flex-direction:column;gap:.35rem}.tasks-page .filter-help{max-width:220px;color:var(--text-secondary);font-size:.75rem;line-height:1.35}.tasks-page .ui-empty-state .btn-filter-reset{margin-top:1rem}.tasks-page .tasks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.tasks-page .task-card{background:var(--bg-secondary);border-radius:8px;padding:1.5rem;box-shadow:var(--shadow-sm);transition:box-shadow .2s;border-left:4px solid var(--border-color)}.tasks-page .task-card:hover{box-shadow:var(--shadow-md)}.tasks-page .focused-task{animation:focusTaskPulse 1.8s ease-out;outline:2px solid var(--accent-color);outline-offset:2px}@keyframes focusTaskPulse{0%{background:var(--accent-light)}}.tasks-page .task-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.tasks-page .task-badges{display:flex;gap:.5rem;flex-wrap:wrap}.tasks-page .priority-score-badge{background:var(--status-success-bg);color:var(--status-success-text);border:1px solid var(--success-border);padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600}.tasks-page .task-actions{display:flex;gap:.5rem}.tasks-page .task-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem}.tasks-page .task-description{color:var(--text-secondary);font-size:.875rem;margin:0 0 1rem;line-height:1.5}.tasks-page .task-meta{display:flex;flex-direction:column;gap:.5rem;padding-top:1rem;border-top:1px solid var(--border-light)}.tasks-page .meta-item{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.875rem}.tasks-page .meta-item svg{flex-shrink:0}.tasks-page .meta-item.overdue{color:var(--danger-text);font-weight:500}.tasks-page .tasks-list{display:flex;flex-direction:column;gap:.75rem}.tasks-page .task-list-item{background:var(--bg-secondary);border-radius:8px;padding:1.25rem;box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;transition:box-shadow .2s;border-left:4px solid var(--border-color)}.tasks-page .task-list-item:hover{box-shadow:var(--shadow-md)}.tasks-page .task-list-main{flex:1;min-width:0}.tasks-page .task-list-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem}.tasks-page .task-list-header .task-title{margin:0;font-size:1rem;flex:1}.tasks-page .task-list-header .task-badges{display:flex;gap:.5rem;flex-wrap:wrap;flex-shrink:0}.tasks-page .task-list-item .task-description{margin:.5rem 0;font-size:.875rem;color:var(--text-secondary)}.tasks-page .task-list-meta{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.75rem}.tasks-page .task-list-meta .meta-item{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.875rem}.tasks-page .task-list-actions{display:flex;gap:.5rem;flex-shrink:0}@media(max-width:1024px){.tasks-page .page-container{padding:1.5rem}}@media(max-width:768px){.tasks-page .page-container{padding:1rem}.tasks-page .page-header{flex-direction:column;align-items:flex-start;gap:1rem}.tasks-page .page-header h1{font-size:1.5rem}.tasks-page .header-actions{width:100%;flex-direction:column}.tasks-page .view-toggle{width:100%}.tasks-page .view-toggle-btn{flex:1;justify-content:center}.tasks-page .task-board{grid-template-columns:1fr}.tasks-page .task-card{padding:.875rem}.tasks-page .task-list-item{flex-direction:column;align-items:flex-start;padding:.875rem}.tasks-page .task-list-content,.tasks-page .task-list-meta{width:100%}.tasks-page .task-list-actions{width:100%;justify-content:flex-start;margin-top:.5rem}}@media(max-width:480px){.tasks-page .page-container{padding:.75rem}.tasks-page .page-header h1{font-size:1.25rem}.tasks-page .task-card-header h3{font-size:.875rem}.tasks-page .task-item{padding:.75rem}}.proposal-form textarea{min-height:80px;resize:vertical}.proposal-form .file-preview{display:flex;align-items:center;gap:10px;margin-top:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--surface-subtle)}.proposal-form .file-name{flex:1;overflow:hidden;color:var(--text-primary);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.proposal-form .file-link{padding:0;border:0;background:transparent;color:var(--accent-color);font-size:13px;font-weight:500;text-decoration:none}.proposal-form .file-link:hover{text-decoration:underline}.proposal-form .file-link:disabled{cursor:not-allowed;opacity:.6}.proposal-form .btn-remove-file{display:inline-flex;padding:var(--space-1);border-radius:var(--radius-sm);background:transparent;color:var(--danger-text)}.proposal-form .btn-remove-file:hover{background:var(--danger-bg)}.proposals-table th,.proposals-table td{padding:12px 16px}.document-link{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--accent-color);padding:0;border:0;background:transparent;text-decoration:none;font-size:13px}.document-link:hover{text-decoration:underline}.document-link:disabled{cursor:not-allowed;opacity:.6}@media(max-width:768px){.proposals-table th,.proposals-table td{padding:10px 12px}}.sage-page{max-width:920px}.sage-intro,.sage-connection-heading p,.sage-next-step{color:var(--text-secondary)}.sage-intro{margin:8px 0 0}.sage-connection-card{margin-top:24px;padding:24px;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-secondary);box-shadow:var(--shadow-sm)}.sage-connection-heading{display:flex;align-items:flex-start;gap:16px}.sage-connection-heading h2,.sage-connection-heading p{margin:0}.sage-connection-heading p{margin-top:6px}.sage-status-icon{display:grid;flex:0 0 48px;width:48px;height:48px;place-items:center;border-radius:50%;background:var(--bg-tertiary);color:var(--text-secondary)}.sage-status-icon.is-connected{background:var(--status-success-bg);color:var(--status-success-text)}.sage-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:24px 0 0}.sage-details div{padding:14px;border:1px solid var(--border-light);border-radius:8px;background:var(--bg-primary)}.sage-details dt{color:var(--text-secondary);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.sage-details dd{margin:6px 0 0;color:var(--text-primary);overflow-wrap:anywhere}.sage-config-error{display:grid;gap:4px;margin-top:20px;padding:14px;border:1px solid var(--danger-border);border-radius:8px;background:var(--danger-bg);color:var(--danger-text)}.sage-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.sage-actions button{display:inline-flex;align-items:center;gap:8px}.sage-next-step{margin-top:16px;font-size:14px}@media(max-width:640px){.sage-connection-card{padding:18px}.sage-details{grid-template-columns:1fr}.sage-actions button{width:100%;justify-content:center}}.sage-report-page{max-width:1440px}.sage-report-meta{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);margin:-14px 0 var(--space-5);color:var(--text-secondary);font-size:13px}.sage-report-meta span:not(:last-child):after{content:"";display:inline-block;width:4px;height:4px;margin-left:var(--space-5);border-radius:50%;background:var(--border-color);vertical-align:middle}.sage-report-filters,.sage-report-panel,.sage-report-metric{border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--surface-subtle);box-shadow:var(--shadow-sm)}.sage-report-filters{margin-bottom:var(--space-5);padding:var(--space-5)}.sage-report-filters__heading,.sage-report-panel__heading,.sage-report-documents__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.sage-report-filters h2,.sage-report-panel h2,.sage-report-blocked h2{margin:0;color:var(--text-primary);font-size:18px}.sage-report-filters p,.sage-report-panel__heading p,.sage-report-blocked p{margin:3px 0 0;color:var(--text-secondary);font-size:14px}.sage-report-presets{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-5) 0 var(--space-4)}.sage-report-presets button{min-height:34px;border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-secondary);font-weight:600}.sage-report-presets button.is-active{border-color:var(--accent-color);background:var(--accent-light);color:var(--accent-hover)}.sage-report-filter-grid{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:var(--space-3)}.sage-report-filter-grid .filter-group,.sage-report-document-tools{display:flex;flex-direction:column;gap:5px}.sage-report-filter-grid label,.sage-report-document-tools label{color:var(--text-secondary);font-size:12px;font-weight:700;letter-spacing:.02em}.sage-report-filter-grid input,.sage-report-filter-grid select,.sage-report-document-tools input,.sage-report-document-tools select{width:100%;min-height:40px;background:var(--bg-primary)}.sage-report-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4);margin-bottom:var(--space-5)}.sage-report-metric{display:block;min-width:0;padding:var(--space-5)}.sage-report-metric__heading{display:flex;align-items:center;gap:var(--space-2);min-width:0;margin-bottom:var(--space-3)}.sage-report-metric__icon{display:grid;flex:0 0 30px;width:30px;height:30px;place-items:center;border-radius:var(--radius-md);background:var(--accent-light);color:var(--accent-hover)}.sage-report-metric p,.sage-report-metric>span{color:var(--text-secondary)}.sage-report-metric p{margin:0;font-size:12px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.sage-report-metric strong{display:block;color:var(--text-primary);font-size:clamp(20px,2vw,26px);line-height:1.2;white-space:nowrap}.sage-report-metric>span{display:block;overflow:hidden;margin-top:6px;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.sage-report-analysis-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:var(--space-5);margin-bottom:var(--space-5)}.sage-report-panel{min-width:0;margin-bottom:var(--space-5);padding:var(--space-5)}.sage-report-analysis-grid .sage-report-panel{margin-bottom:0}.sage-month-chart{margin-top:var(--space-5);overflow-x:auto;padding:4px 2px var(--space-2)}.sage-month-chart__plot{display:flex;align-items:flex-end;gap:9px;min-width:max-content;height:260px;padding-top:28px;border-bottom:1px solid var(--border-color)}.sage-month-bar{display:grid;grid-template-rows:20px 1fr 26px;align-items:end;width:44px;height:100%;text-align:center}.sage-month-bar__value{overflow:hidden;color:var(--text-secondary);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.sage-month-bar__track{position:relative;display:block;width:24px;height:100%;margin:0 auto;border-radius:5px 5px 0 0;background:var(--bg-tertiary)}.sage-month-bar__track>span{position:absolute;right:0;bottom:0;left:0;border-radius:5px 5px 0 0;background:linear-gradient(180deg,var(--accent-color),var(--accent-hover))}.sage-month-bar__label{padding-top:7px;color:var(--text-secondary);font-size:10px;white-space:nowrap}.sage-customer-chart{display:grid;gap:var(--space-4);margin:var(--space-5) 0 0;padding:0;list-style:none}.sage-customer-chart li>div,.sage-annual-list>div{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.sage-customer-chart li,.sage-customer-chart li>div{min-width:0}.sage-customer-chart li>div span{overflow:hidden;color:var(--text-primary);font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.sage-customer-chart strong,.sage-annual-list strong{flex:0 0 auto;color:var(--text-primary);font-size:12px;white-space:nowrap}.sage-customer-track,.sage-annual-track{display:block;overflow:hidden;height:7px;margin-top:6px;border-radius:var(--radius-pill);background:var(--bg-tertiary)}.sage-customer-track span,.sage-annual-track span{display:block;height:100%;border-radius:inherit;background:var(--accent-color)}.sage-customer-chart small{color:var(--text-secondary);font-size:11px}.sage-annual-list{display:grid;gap:var(--space-3);margin-top:var(--space-5)}.sage-annual-list>div{display:grid;grid-template-columns:52px minmax(80px,1fr) 120px}.sage-annual-list>div>span:first-child{color:var(--text-primary);font-weight:700}.sage-annual-track{margin:0}.sage-report-documents__heading{align-items:end;margin-bottom:var(--space-4)}.sage-report-document-tools{display:grid;grid-template-columns:minmax(200px,1fr) 150px;align-items:end;min-width:min(100%,430px)}.sage-report-document-tools label:first-of-type{grid-column:1}.sage-report-document-tools input{grid-column:1}.sage-report-document-tools label:last-of-type,.sage-report-document-tools select{grid-column:2}.sage-report-document-tools label:last-of-type{grid-row:1}.sage-report-document-tools select{grid-row:2}.sage-documents-table{min-width:980px}.sage-documents-table td:nth-child(n+5),.sage-documents-table th:nth-child(n+5){text-align:right}.sage-report-pagination{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-4)}.sage-report-pagination span{color:var(--text-secondary);font-size:13px;font-weight:600}.sage-report-blocked{display:grid;justify-items:center;gap:var(--space-3);min-height:320px;padding:64px var(--space-5);text-align:center;color:var(--accent-color)}.sage-report-blocked__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3);margin-top:var(--space-2)}.sage-report-blocked__actions a{text-decoration:none}.sage-report-blocked>.btn-primary{margin-top:var(--space-2);text-decoration:none}.sage-report-stale{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.is-spinning{animation:sage-spin .9s linear infinite}@keyframes sage-spin{to{transform:rotate(360deg)}}@media(max-width:1400px){.sage-report-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1180px){.sage-report-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.sage-report-analysis-grid{grid-template-columns:1fr}}@media(max-width:768px){.sage-report-meta{display:grid;gap:4px}.sage-report-meta span:after{display:none!important}.sage-report-filters{padding:var(--space-4)}.sage-report-filter-grid{grid-template-columns:1fr}.sage-report-metrics{grid-template-columns:1fr;gap:var(--space-3)}.sage-report-panel{padding:var(--space-4)}.sage-report-filters__heading,.sage-report-documents__heading{flex-direction:column;align-items:stretch}.sage-report-document-tools{grid-template-columns:1fr;width:100%}.sage-report-document-tools label,.sage-report-document-tools input,.sage-report-document-tools select{grid-column:1!important;grid-row:auto!important}.sage-report-pagination{justify-content:space-between}.sage-report-pagination button{width:auto}}@media(max-width:480px){.sage-report-presets{display:grid;grid-template-columns:repeat(2,1fr)}.sage-report-presets button:first-child{grid-column:1 / -1}.sage-report-metric{padding:var(--space-4)}.sage-annual-list>div{grid-template-columns:42px minmax(60px,1fr) 105px}.sage-report-stale{align-items:stretch;flex-direction:column}.sage-report-blocked__actions{align-items:stretch;flex-direction:column;width:100%}}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--bg-secondary);border-radius:8px;padding:24px;width:100%;max-width:400px;box-shadow:var(--shadow-md);transition:background-color .3s ease;max-height:calc(100vh - 32px);overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-header h2{margin:0;font-size:20px;color:var(--text-primary)}.modal-close{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px}.modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-error{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text);padding:10px;border-radius:4px;margin-bottom:16px;font-size:14px}.modal-content .form-group{margin-bottom:16px}.modal-content .form-group label{display:block;font-weight:600;margin-bottom:6px;font-size:14px;color:var(--text-primary)}.modal-content .form-group input{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:4px;font-size:14px;box-sizing:border-box;background:var(--bg-secondary);color:var(--text-primary)}.modal-content .form-group input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px var(--focus-ring)}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.modal-actions .btn-cancel{background:var(--surface-subtle);color:var(--text-secondary);padding:10px 20px;border-radius:4px;font-weight:600;border:none;cursor:pointer}.modal-actions .btn-cancel:hover{background:var(--surface-hover)}.modal-actions .btn-save{background:var(--accent-color);color:var(--text-on-accent);color:#fff;padding:10px 20px;border-radius:4px;font-weight:600;border:none;cursor:pointer}.modal-actions .btn-save:hover:not(:disabled){background:var(--accent-hover)}.modal-actions .btn-save:disabled{opacity:.7;cursor:not-allowed}.modal-content .success-message{text-align:center;padding:30px 20px;color:var(--success-text);font-weight:600;font-size:16px}@media(max-width:768px){.modal-overlay{padding:15px}.modal-content{padding:20px;max-width:360px}.modal-header h2{font-size:18px}.modal-content .form-group input{font-size:16px;padding:12px}}@media(max-width:480px){.modal-content{padding:16px}.modal-header{margin-bottom:16px}.modal-header h2{font-size:16px}.modal-content .form-group input{padding:10px}.modal-actions{gap:8px}.modal-content .success-message{padding:25px 15px;font-size:15px}}.app{min-height:100vh;display:flex}.mobile-header{display:none;position:fixed;top:0;left:0;right:0;height:60px;background:var(--bg-secondary);border-bottom:1px solid var(--border-light);padding:0 16px;align-items:center;justify-content:space-between;z-index:200}.mobile-menu-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:8px;border-radius:4px;display:flex;align-items:center;transition:all .2s}.mobile-menu-btn:hover{background:var(--bg-hover);color:var(--accent-color)}.mobile-brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px;color:var(--accent-color)}.mobile-user{font-size:14px;color:var(--text-secondary);font-weight:500}.mobile-backdrop{display:none;position:fixed;inset:0;background:#00000080;z-index:150}.sidebar{width:260px;background:var(--bg-secondary);border-right:1px solid var(--border-light);display:flex;flex-direction:column;position:fixed;left:0;top:0;bottom:0;transition:width .3s ease,background-color .3s ease;z-index:100}.sidebar.collapsed{width:70px}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--border-light);height:70px}.sidebar-brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:18px;color:var(--accent-color);white-space:nowrap;overflow:hidden}.sidebar-toggle{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:6px;border-radius:4px;display:flex;align-items:center;transition:all .2s}.sidebar-toggle:hover{background:var(--bg-hover);color:var(--accent-color)}.sidebar-nav{flex:1;padding:var(--space-2) 0 var(--space-3);overflow-y:auto}.sidebar-nav-group+.sidebar-nav-group{margin-top:var(--space-1)}.sidebar-nav-group__label{display:block;padding:var(--space-2) 20px 2px;color:var(--text-tertiary);font-size:11px;font-weight:700;letter-spacing:.08em;line-height:1.2;text-transform:uppercase;white-space:nowrap}.sidebar-link{display:flex;align-items:center;gap:12px;padding:9px 20px;color:var(--text-secondary);text-decoration:none;font-weight:500;transition:all .2s;white-space:nowrap;border-left:3px solid transparent}.sidebar-link:hover{background:var(--bg-hover);color:var(--accent-color)}.sidebar-link.active{background:var(--accent-light);color:var(--accent-color);border-left-color:var(--accent-color)}.sidebar.collapsed .sidebar-link{justify-content:center;padding:12px}.sidebar.collapsed .sidebar-nav-group__label{height:1px;margin:var(--space-2) 12px;padding:0;overflow:hidden;background:var(--border-light);color:transparent}.sidebar-footer{border-top:1px solid var(--border-light);padding:16px}.dark-mode-toggle{width:100%;display:flex;align-items:center;gap:12px;padding:12px;margin-bottom:12px;background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:6px;cursor:pointer;transition:all .2s;font-weight:500}.dark-mode-toggle:hover{background:var(--bg-hover);border-color:var(--accent-color);color:var(--accent-color)}.sidebar.collapsed .dark-mode-toggle{justify-content:center;padding:12px 8px}.sidebar-user{display:flex;align-items:center;gap:8px}.sidebar.collapsed .sidebar-user{flex-direction:column;gap:8px}.sidebar-user .user-name{flex:1;font-size:14px;color:var(--text-secondary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-btn{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);padding:8px;border-radius:4px;cursor:pointer;display:flex;align-items:center;transition:all .2s}.sidebar-btn:hover{background:var(--bg-hover);color:var(--accent-color);border-color:var(--accent-color)}.sidebar-btn.logout:hover{color:var(--danger-text);border-color:var(--danger-text)}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--text-secondary)}.main-content{flex:1;min-width:0;width:auto;max-width:100%;background:var(--bg-primary);padding:30px;margin-left:260px;min-height:100vh;transition:margin-left .3s ease,background-color .3s ease;box-sizing:border-box}.sidebar.collapsed~.main-content{margin-left:70px}@media(max-width:1024px){.sidebar{width:240px}.main-content{margin-left:240px;padding:25px 20px}.sidebar.collapsed{width:60px}.sidebar.collapsed~.main-content{margin-left:60px}}@media(max-width:768px){.mobile-header{display:flex}.mobile-backdrop{display:block}.sidebar-toggle{display:none}.sidebar{position:fixed;width:280px;left:-280px;top:0;bottom:0;transition:left .3s ease;z-index:160;box-shadow:2px 0 8px #0000001a;visibility:hidden}.sidebar.mobile-open{left:0;visibility:visible}.sidebar .sidebar-brand span,.sidebar .sidebar-link span,.sidebar .sidebar-user .user-name,.sidebar .sidebar-nav-group__label{display:block}.sidebar .sidebar-nav-group__label{height:auto;margin:0;padding:var(--space-2) 20px 2px;overflow:visible;background:transparent;color:var(--text-tertiary)}.sidebar-nav-group+.sidebar-nav-group{margin-top:var(--space-1)}.sidebar-link{padding:12px 20px;justify-content:flex-start}.sidebar-user{flex-direction:row}.main-content{margin-left:0;margin-top:60px;padding:16px 12px;width:100%;max-width:100vw;overflow-x:hidden}.sidebar.collapsed~.main-content{margin-left:0}}.page-container{width:100%;max-width:var(--content-max-width);margin:0 auto;padding:30px;border-radius:var(--radius-md);background:var(--surface-page);box-shadow:var(--shadow-sm)}.ui-page-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:30px;padding-bottom:var(--space-5);border-bottom:2px solid var(--border-light)}.ui-page-header h1,.dashboard-header h1{margin:0;color:var(--text-primary);font-size:28px;letter-spacing:-.02em}.ui-page-header__subtitle{margin-top:var(--space-1);color:var(--text-secondary)}.ui-page-header__actions{display:flex;align-items:center;gap:var(--space-3)}.btn-primary,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-height);padding:10px 20px;border-radius:var(--radius-md);font-size:.95rem;font-weight:500}.btn-primary{background:var(--accent-color);color:var(--text-on-accent)}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{border:1px solid var(--border-color);background:var(--surface-subtle);color:var(--text-primary)}.btn-secondary:hover{background:var(--surface-hover)}.form-container{margin-bottom:30px;padding:var(--space-5);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--surface-subtle)}.ui-form{width:100%}.ui-form .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}.ui-form .form-group{display:flex;flex-direction:column;gap:6px}.ui-form .form-group-full{grid-column:1 / -1}.ui-form .form-group label{color:var(--text-primary);font-size:14px;font-weight:600}.ui-form .form-group input,.ui-form .form-group textarea,.ui-form .form-group select{width:100%;min-height:var(--control-height)}.ui-form .form-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-6)}.ui-form .btn-save,.ui-form .btn-cancel{min-height:var(--control-height);padding:10px 20px;border-radius:var(--radius-md);font-weight:600}.ui-form .btn-save{background:var(--accent-color);color:var(--text-on-accent)}.ui-form .btn-save:hover{background:var(--accent-hover)}.ui-form .btn-cancel{border:1px solid var(--border-color);background:var(--surface-subtle);color:var(--text-primary)}.ui-form .btn-cancel:hover{background:var(--surface-hover)}.ui-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-5);margin-bottom:30px}.ui-summary-card{padding:var(--space-5);border-radius:var(--radius-md);background:var(--accent-color);color:var(--text-on-accent)}.ui-summary-card__label{margin-bottom:var(--space-2);color:#fffffff2;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.ui-summary-card__value{color:var(--text-on-accent);font-size:28px;font-weight:700}.actions{display:flex;gap:var(--space-2)}.btn-primary,.btn-secondary,.btn-save,.btn-cancel{min-height:40px}.btn-primary:disabled,.btn-secondary:disabled,.btn-save:disabled,.btn-cancel:disabled{cursor:not-allowed;opacity:.6}.btn-filter-reset{min-height:36px;padding:8px 14px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;font:inherit;font-weight:600}.btn-filter-reset:hover{border-color:var(--accent-color);color:var(--accent-color)}.btn-icon,.icon-button,.sidebar-btn,.sidebar-toggle,.mobile-menu-btn,.modal-close{min-width:36px;min-height:36px;align-items:center;justify-content:center}.ui-loading-state{min-height:220px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-weight:600}.ui-loading-state:before{width:18px;height:18px;margin-right:10px;border:2px solid var(--border-color);border-top-color:var(--accent-color);border-radius:50%;content:"";animation:loading-spin .8s linear infinite}@keyframes loading-spin{to{transform:rotate(360deg)}}.ui-feedback{margin-bottom:var(--space-5);padding:var(--space-3);border:1px solid;border-radius:var(--radius-md);font-weight:500}.ui-feedback--error{border-color:var(--error-border);background:var(--error-bg);color:var(--error-text)}.ui-feedback--success{border-color:var(--success-border);background:var(--success-bg);color:var(--success-text)}.ui-feedback--warning{border-color:var(--warning-border);background:var(--warning-bg);color:var(--warning-text)}.ui-empty-state{padding:60px 20px;color:var(--text-secondary);text-align:center;font-size:16px}.ui-scroll-region{overflow-x:auto;scrollbar-gutter:stable}.ui-scroll-region:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.toast-viewport{position:fixed;top:20px;right:20px;z-index:500;display:grid;gap:10px;width:min(380px,calc(100vw - 32px))}.toast-message{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--success-border);border-radius:8px;background:var(--success-bg);color:var(--success-text);box-shadow:var(--shadow-md)}.toast-message.toast-error{border-color:var(--error-border);background:var(--error-bg);color:var(--error-text)}.toast-message button,.confirm-close{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:34px;padding:5px;background:transparent;color:inherit}.confirm-overlay{position:fixed;inset:0;z-index:450;display:flex;align-items:center;justify-content:center;padding:16px;background:#0000008c}.confirm-dialog{width:min(440px,100%);padding:22px;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-secondary);color:var(--text-primary);box-shadow:var(--shadow-md)}.confirm-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-bottom:12px;color:var(--error-text)}.confirm-header h2{margin:0;font-size:20px;color:var(--text-primary)}.confirm-dialog>p{margin:0;color:var(--text-secondary)}.confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.btn-danger{min-height:40px;padding:9px 16px;border-radius:6px;background:var(--danger-solid);color:var(--text-on-accent);font-weight:600}.btn-danger:hover{background:var(--danger-solid-hover)}.field-error{display:block;margin-top:6px;color:var(--error-text);font-size:13px;font-weight:600}[aria-invalid=true]{border-color:var(--error-border)!important}.ui-scroll-hint{display:none}.ui-icon-action{display:inline-flex;align-items:center;justify-content:center;min-width:var(--control-height-sm);min-height:var(--control-height-sm);padding:var(--space-1);border-radius:var(--radius-sm);background:transparent;color:var(--accent-color)}.ui-icon-action:hover{background:var(--surface-hover);color:var(--accent-hover)}.ui-icon-action--danger{color:var(--danger-text)}.ui-icon-action--danger:hover{background:var(--danger-bg);color:var(--danger-solid)}.ui-icon-action:disabled{cursor:not-allowed;opacity:.55}.ui-badge{display:inline-block;padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);font-size:12px;font-weight:600;line-height:1.25;text-transform:capitalize;white-space:nowrap}.ui-badge--success{background:var(--status-success-bg);color:var(--status-success-text)}.ui-badge--warning{background:var(--status-warning-bg);color:var(--status-warning-text)}.ui-badge--info{background:var(--status-info-bg);color:var(--status-info-text)}.ui-badge--danger{background:var(--status-danger-bg);color:var(--status-danger-text)}.ui-badge--neutral{background:var(--status-neutral-bg);color:var(--status-neutral-text)}.ui-badge--special{background:var(--status-special-bg);color:var(--status-special-text)}.list-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:14px;margin-bottom:18px;padding:16px;border:1px solid var(--border-light);border-radius:8px;background:var(--bg-secondary)}.list-toolbar .filter-group{margin:0;display:flex;flex-direction:column;gap:6px}.list-toolbar label{color:var(--text-secondary);font-size:13px;font-weight:600}.list-toolbar input,.list-toolbar select{min-height:40px;padding:8px 10px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary)}.list-search{min-width:min(280px,100%)}.results-count{margin-left:auto;color:var(--text-secondary);font-size:14px;font-weight:600}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media(max-width:480px){.sidebar{width:260px;left:-260px}.main-content{padding:12px 10px}.mobile-brand span{font-size:16px}}@media(max-width:768px){.toast-viewport{top:72px;right:16px}.confirm-actions{flex-direction:column-reverse}.confirm-actions button{width:100%}.ui-scroll-hint{display:block;margin:-4px 0 8px;color:var(--text-secondary);font-size:13px;font-weight:600}.list-toolbar{align-items:stretch}.list-toolbar .filter-group,.results-count{width:100%;margin-left:0}.ui-page-header{flex-direction:column;align-items:stretch;gap:var(--space-4);margin-bottom:25px;padding-bottom:15px}.ui-page-header h1{font-size:24px}.ui-page-header__actions{width:100%}.ui-page-header__actions>*{flex:1}.ui-form .form-grid{grid-template-columns:1fr}.ui-form .form-actions{flex-direction:column}.ui-form .form-actions button{width:100%}.ui-summary-grid{grid-template-columns:1fr;gap:15px}.ui-summary-card{padding:var(--space-4)}.ui-summary-card__value{font-size:24px}.form-container{padding:15px}}:root{--bg-primary: #f5f5f5;--bg-secondary: white;--bg-tertiary: #f9f9f9;--bg-hover: #f5f5f5;--text-primary: #222;--text-secondary: #666;--text-tertiary: #999;--border-color: #ddd;--border-light: #eee;--shadow-sm: 0 2px 4px rgba(0,0,0,.05);--shadow-md: 0 4px 8px rgba(0,0,0,.1);--accent-color: #3687a1;--accent-hover: #2a5f80;--accent-light: #f0f9fc;--error-bg: #ffe6e6;--error-border: #ff9999;--error-text: #c00;--success-bg: #e6f7e6;--success-border: #99cc99;--success-text: #0a0;--warning-bg: #fff3cd;--warning-border: #ffc107;--warning-text: #856404;--focus-ring: rgba(54, 135, 161, .45);--surface-page: var(--bg-secondary);--surface-subtle: var(--bg-tertiary);--surface-hover: var(--bg-hover);--text-on-accent: #fff;--danger-bg: var(--error-bg);--danger-border: var(--error-border);--danger-text: #b42318;--danger-solid: #c9302c;--danger-solid-hover: #a92320;--info-bg: #e8f1f6;--info-text: #286b82;--neutral-bg: #eef2f7;--neutral-text: #546179;--status-success-bg: #e3f4e8;--status-success-text: #246b3d;--status-warning-bg: #fff4d6;--status-warning-text: #755b11;--status-info-bg: #e8f1f6;--status-info-text: #286b82;--status-danger-bg: #fde8e6;--status-danger-text: #9f342e;--status-neutral-bg: #eef2f7;--status-neutral-text: #546179;--status-special-bg: #ede7f6;--status-special-text: #5e3f8f;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 10px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--control-height-sm: 36px;--control-height: 40px;--content-max-width: 1440px}.dark-mode{--bg-primary: #1a1a1a;--bg-secondary: #2d2d2d;--bg-tertiary: #3a3a3a;--bg-hover: #404040;--text-primary: #e0e0e0;--text-secondary: #b0b0b0;--text-tertiary: #808080;--border-color: #404040;--border-light: #333;--shadow-sm: 0 2px 4px rgba(0,0,0,.3);--shadow-md: 0 4px 8px rgba(0,0,0,.5);--accent-color: #4a9bb5;--accent-hover: #5cb3cf;--accent-light: #1f3a42;--error-bg: #3d1a1a;--error-border: #6b2c2c;--error-text: #ff6b6b;--success-bg: #1a3d1a;--success-border: #2c6b2c;--success-text: #6bff6b;--warning-bg: #3d3d1a;--warning-border: #6b6b2c;--warning-text: #ffeb3b;--focus-ring: rgba(92, 179, 207, .6);--danger-text: #ff8a84;--danger-solid: #b93b37;--danger-solid-hover: #cf4b46;--info-bg: #1f3a42;--info-text: #79c5dc;--neutral-bg: #343b45;--neutral-text: #d0d7e2;--status-success-bg: #173d27;--status-success-text: #85d69d;--status-warning-bg: #433814;--status-warning-text: #f1cf68;--status-info-bg: #173746;--status-info-text: #80c9e1;--status-danger-bg: #451f21;--status-danger-text: #ff9a94;--status-neutral-bg: #343b45;--status-neutral-text: #d0d7e2;--status-special-bg: #342a4a;--status-special-text: #c7afea}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-primary);color:var(--text-primary);line-height:1.5;transition:background-color .3s ease,color .3s ease}button{cursor:pointer;border:none;font-family:inherit;font-size:14px;padding:8px 16px;border-radius:var(--radius-sm);transition:all .2s}button:hover{opacity:.9}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}input,textarea,select{font-family:inherit;font-size:14px;padding:8px;border:1px solid var(--border-color);border-radius:var(--radius-sm);transition:border-color .2s;background:var(--bg-secondary);color:var(--text-primary)}input:focus,textarea:focus,select:focus{border-color:var(--accent-color);box-shadow:0 0 0 2px var(--focus-ring)}table{width:100%;border-collapse:collapse;background:var(--bg-secondary)}th,td{padding:12px;text-align:left;border-bottom:1px solid var(--border-light)}th{background:var(--bg-tertiary);font-weight:600;color:var(--text-primary)}tr:hover{background:var(--bg-hover)}@media(max-width:1024px){input,textarea,select{font-size:15px}}@media(max-width:768px){body{font-size:14px}button{font-size:14px;padding:10px 14px}input,textarea,select{font-size:16px;padding:10px 12px;width:100%;max-width:100%}.page-container{padding:20px 16px!important;margin:0!important;max-width:100%!important;overflow-x:hidden}.form-container{padding:16px!important;margin-left:0!important;margin-right:0!important;max-width:100%!important}.form-grid{gap:15px!important}.form-group{width:100%;max-width:100%}.form-group input,.form-group textarea,.form-group select{width:100%;max-width:100%;box-sizing:border-box}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -16px;padding:0 16px;box-shadow:inset -10px 0 10px -10px #0000001a}table{min-width:650px;font-size:14px}th,td{padding:12px 10px;white-space:nowrap}th:first-child,td:first-child{position:sticky;left:0;background:var(--bg-secondary);z-index:1;box-shadow:2px 0 5px #0000000d}th:first-child{background:var(--bg-tertiary)}}@media(max-width:480px){button{font-size:13px;padding:9px 12px}.page-container{padding:15px 12px!important}.form-container{padding:12px!important}.table-wrapper{margin:0 -12px;padding:0 12px}table{min-width:500px;font-size:13px}th,td{padding:10px 8px}}
