.admin-dashboard{--admin-bg:#f8fafc;--admin-card-bg:#fff;--admin-border:#e2e8f0;--admin-text:#1e293b;--admin-text-muted:#64748b;--admin-primary:#3b82f6;--admin-primary-hover:#2563eb;--admin-success:#22c55e;--admin-warning:#f59e0b;--admin-danger:#ef4444;--admin-info:#06b6d4;--font-sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--admin-bg);min-height:100vh;font-family:var(--font-sans)}.admin-header{background:var(--admin-card-bg);border-bottom:1px solid var(--admin-border);z-index:10;padding:1.5rem 2rem;position:sticky;top:0}.admin-header-container{justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;display:flex}.admin-header-content{align-items:center;gap:1.25rem;display:flex}.admin-logo-link{align-items:center;text-decoration:none;transition:transform .2s;display:flex}.admin-logo-link:hover{transform:scale(1.05)}.admin-logo{border-radius:8px}.admin-header-text h1{color:var(--admin-text);margin:0 0 .25rem;font-size:1.75rem;font-weight:700}.admin-header-subtitle{color:var(--admin-text-muted);margin:0;font-size:.9375rem}.admin-header-controls{align-items:center;gap:.75rem;display:flex}.admin-expand-btn,.admin-collapse-btn{border:1px solid var(--admin-border);color:var(--admin-text);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;padding:.625rem 1.125rem;font-size:.875rem;font-weight:600;transition:all .2s}.admin-expand-btn:hover,.admin-collapse-btn:hover{background:var(--admin-surface-hover);border-color:var(--accent-primary);color:var(--accent-primary);transform:translateY(-1px)}.header-content{justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;display:flex}.header-left{align-items:center;gap:1rem;display:flex}.home-link{font-size:1.75rem;text-decoration:none;transition:transform .2s}.home-link:hover{transform:scale(1.1)}.header-title h1{color:var(--admin-text);margin:0;font-size:1.5rem;font-weight:700}.header-title p{color:var(--admin-text-muted);margin:.25rem 0 0;font-size:.875rem}.header-controls{align-items:center;gap:.5rem;display:flex}.header-control-btn{border:1px solid var(--admin-border);color:var(--admin-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:.375rem;align-items:center;gap:.25rem;padding:.5rem .875rem;font-size:.8125rem;font-weight:500;transition:all .15s;display:inline-flex}.header-control-btn:hover{background:var(--admin-card-bg);color:var(--admin-text);border-color:var(--admin-text-muted);transform:translateY(-1px)}.header-actions{align-items:center;gap:.75rem;display:flex}.dashboard-button{background:var(--admin-primary);color:#fff;border-radius:.375rem;align-items:center;gap:.25rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.dashboard-button:hover{background:var(--admin-primary-hover);transform:translateY(-1px)}.logout-button{border:1px solid var(--admin-border);color:var(--admin-text-muted);cursor:pointer;background:0 0;border-radius:.375rem;padding:.5rem 1rem;font-size:.875rem;transition:all .15s}.logout-button:hover{background:var(--admin-bg);color:var(--admin-text)}.logout-button:disabled{opacity:.5;cursor:not-allowed}.admin-main{max-width:1400px;margin:0 auto;padding:2rem 1.5rem 1.5rem}.empty-state{text-align:center;color:var(--admin-text-muted);padding:4rem 2rem}.empty-hint{margin-top:.5rem;font-size:.875rem}.dashboard-section{margin-bottom:2rem}.dashboard-section:last-child{margin-bottom:0}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.section-title-button{cursor:pointer;background:0 0;border:none;border-radius:.5rem;align-items:center;gap:.75rem;margin:-.5rem;padding:.5rem;transition:background .15s;display:flex}.section-title-button:hover{background:#0000000d}.section-expand-icon{color:var(--admin-text-muted);font-size:.75rem;transition:transform .2s}.section-title{color:var(--admin-text);align-items:center;gap:.5rem;margin:0;font-size:1.25rem;font-weight:700;display:flex}.section-icon{font-size:1.25rem}.section-controls{gap:.5rem;display:flex}.section-controls .control-button{border:1px solid var(--admin-border);color:var(--admin-text-muted);cursor:pointer;background:0 0;border-radius:.375rem;padding:.375rem .75rem;font-size:.75rem;transition:all .15s}.section-controls .control-button:hover{background:var(--admin-card-bg);color:var(--admin-text);border-color:var(--admin-text-muted)}.analytics-section{background:var(--admin-card-bg);border:1px solid var(--admin-border);border-radius:.75rem;padding:1.25rem}.analytics-content{flex-direction:column;gap:1.25rem;display:flex}.chart-header{background:var(--admin-bg);cursor:pointer;border:none;border-radius:.5rem .5rem 0 0;justify-content:space-between;align-items:center;width:100%;padding:1rem 1.25rem;transition:background .15s;display:flex}.chart-header:hover{background:var(--admin-border)}.chart-header.expanded{border-bottom:1px solid var(--admin-border)}.chart-header-left{flex-direction:column;flex:1;align-items:flex-start;gap:.5rem;display:flex}.chart-stats{color:var(--admin-text-muted);flex-wrap:wrap;gap:.75rem;font-size:.75rem;display:flex}.stat-item{background:var(--admin-card-bg);border:1px solid var(--admin-border);white-space:nowrap;border-radius:.375rem;align-items:center;gap:.25rem;padding:.25rem .5rem;font-weight:500;display:inline-flex}.chart-expand-icon{color:var(--admin-text-muted);text-align:center;flex-shrink:0;width:1.5rem;font-size:1.25rem;font-weight:300}.projects-section{background:var(--admin-card-bg);border:1px solid var(--admin-border);border-radius:.75rem;padding:1.25rem}.projects-list{flex-direction:column;gap:1.5rem;display:flex}.project-card{background:var(--admin-card-bg);border:1px solid var(--admin-border);border-radius:.75rem;overflow:hidden}.project-header{border-bottom:1px solid var(--admin-border);background:#f8fafc;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.project-name{color:var(--admin-text);margin:0;font-size:1.125rem;font-weight:600}.project-client{color:var(--admin-text-muted);margin:.25rem 0 0;font-size:.875rem}.project-actions{flex-direction:column;align-items:flex-end;gap:.75rem;display:flex}.view-tracker-button{background:var(--admin-primary);color:#fff;border-radius:.375rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .15s}.view-tracker-button:hover{background:var(--admin-primary-hover)}.project-stats{gap:1rem;display:flex}.stat{color:var(--admin-text-muted);background:var(--bg-primary);border:1px solid var(--admin-border);border-radius:9999px;padding:.375rem .75rem;font-size:.875rem}.phase-table-wrapper{max-height:calc(100vh - 300px);position:relative;overflow:auto}.phase-table{border-collapse:collapse;width:100%;font-size:.875rem}.phase-table thead{z-index:10;position:sticky;top:0}.phase-table th{text-align:center;border-bottom:2px solid var(--admin-border);color:var(--admin-text-muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;background:#f8fafc;border-top:none;padding:.75rem 1rem;font-size:.75rem;font-weight:600}.phase-table td{border-bottom:1px solid var(--admin-border);vertical-align:middle;border-top:none;padding:1rem}.phase-table td:nth-child(3){text-align:center}.phase-table tbody tr:hover{background:#f8fafc}.phase-order{color:var(--admin-text);width:50px;font-weight:600}.phase-name-cell{max-width:250px}.phase-name-button{cursor:pointer;text-align:left;background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:.25rem;width:100%;padding:0;display:flex;position:relative}.phase-name-button:hover{background:#3b82f60d;border-radius:.25rem}.phase-name-text{color:var(--admin-text);text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-weight:600;display:block;overflow:hidden}.phase-description-preview{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:.8rem;display:block;overflow:hidden}.expand-hint{color:var(--admin-text-muted);opacity:0;font-size:.625rem;transition:opacity .15s;position:absolute;top:50%;right:0;transform:translateY(-50%)}.phase-name-button:hover .expand-hint,.phase-name-button:focus .expand-hint{opacity:1}.phase-table tbody tr.expanded{background:#eff6ff}.phase-details-row{background:#f8fafc}.phase-details-row td{border-bottom:2px solid var(--admin-primary)!important;padding:0!important}.phase-full-details{border-left:3px solid var(--admin-primary);background:linear-gradient(90deg,#f0f9ff,#f8fafc);padding:1rem 1.5rem}.phase-full-details h4{color:var(--admin-text);margin:0 0 .5rem;font-size:1rem;font-weight:600}.phase-full-details .full-description{color:#374151;margin:0 0 .75rem;font-size:.9rem;line-height:1.5}.phase-full-details .phase-notes{color:#6b7280;margin:0 0 .75rem;font-size:.875rem;font-style:italic}.phase-full-details .details-meta{color:#4b5563;flex-wrap:wrap;gap:1rem;font-size:.8125rem;display:flex}.phase-full-details .details-meta strong{color:#374151}.date-cell{white-space:nowrap;color:#374151}.extended{color:var(--admin-warning);font-weight:500}.extension-indicator{color:var(--admin-warning);text-transform:uppercase;margin-top:.125rem;font-size:.7rem;display:block}.status-badge{text-transform:uppercase;white-space:nowrap;border-radius:9999px;padding:.25rem .625rem;font-size:.75rem;font-weight:500;display:inline-block}.status-badge.not_started{color:#64748b;background:#f1f5f9}.status-badge.in_progress{color:#1d4ed8;background:#dbeafe}.status-badge.completed{color:#16a34a;background:#dcfce7}.status-badge.on_hold{color:#d97706;background:#fef3c7}.status-badge.delayed{color:#dc2626;background:#fee2e2}.extensions-cell{white-space:nowrap;text-align:center}.history-link{color:var(--admin-primary);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.history-link:hover{color:var(--admin-primary-hover)}.no-extensions{color:var(--admin-text-muted)}.actions-cell{text-align:center}.extend-button{background:var(--admin-primary);color:#fff;cursor:pointer;border:none;border-radius:.375rem;padding:.375rem .75rem;font-size:.8rem;font-weight:500;transition:background .15s}.extend-button:hover{background:var(--admin-primary-hover)}.modal-backdrop{z-index:100;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-primary);border-radius:.75rem;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040}.modal-header{border-bottom:1px solid var(--admin-border);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-header h2{color:var(--admin-text);margin:0;font-size:1.125rem;font-weight:600}.modal-close{color:var(--admin-text-muted);cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1.5rem;line-height:1}.modal-close:hover{color:var(--admin-text)}.modal-phase-info{border-bottom:1px solid var(--admin-border);background:#f8fafc;padding:1rem 1.5rem}.modal-phase-info .phase-name{color:var(--admin-text);margin:0 0 .25rem;font-weight:600}.modal-phase-info .current-end{color:var(--admin-text-muted);margin:0;font-size:.875rem}.extension-form{padding:1.5rem}.form-error{color:#dc2626;background:#fee2e2;border:1px solid #fecaca;border-radius:.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.form-section{margin-bottom:1.25rem}.section-label{color:var(--admin-text);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.quick-buttons{flex-wrap:wrap;gap:.5rem;display:flex}.quick-button{background:var(--bg-primary);border:1px solid var(--admin-border);cursor:pointer;border-radius:.375rem;padding:.5rem 1rem;font-size:.875rem;transition:all .15s}.quick-button:hover{border-color:var(--admin-primary);background:#f8fafc}.quick-button.selected{background:var(--admin-primary);border-color:var(--admin-primary);color:#fff}.custom-duration{gap:.5rem;display:flex}.duration-input{border:1px solid var(--admin-border);border-radius:.375rem;width:100px;padding:.5rem .75rem;font-size:.875rem}.duration-input:focus{border-color:var(--admin-primary);outline:none;box-shadow:0 0 0 3px #3b82f61a}.unit-select{border:1px solid var(--admin-border);background:var(--bg-primary);cursor:pointer;border-radius:.375rem;padding:.5rem .75rem;font-size:.875rem}.unit-select:focus{border-color:var(--admin-primary);outline:none}.date-preview{background:#dbeafe;border:1px solid #93c5fd;border-radius:.5rem;margin-bottom:1.25rem;padding:.75rem 1rem}.preview-label{color:#1d4ed8;margin-bottom:.25rem;font-size:.8rem;display:block}.preview-date{color:#1e40af;font-weight:600}.reason-input{border:1px solid var(--admin-border);resize:vertical;border-radius:.375rem;width:100%;padding:.75rem;font-family:inherit;font-size:.875rem}.reason-input:focus{border-color:var(--admin-primary);outline:none;box-shadow:0 0 0 3px #3b82f61a}.reason-hint{color:var(--admin-text-muted);margin:.5rem 0 0;font-size:.75rem}.modal-actions{border-top:1px solid var(--admin-border);justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1.25rem;display:flex}.cancel-button{background:var(--bg-primary);border:1px solid var(--admin-border);color:var(--admin-text);cursor:pointer;border-radius:.375rem;padding:.625rem 1.25rem;font-size:.875rem;transition:background .15s}.cancel-button:hover{background:#f8fafc}.cancel-button:disabled{opacity:.5;cursor:not-allowed}.submit-button{background:var(--admin-primary);color:#fff;cursor:pointer;border:none;border-radius:.375rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;transition:background .15s}.submit-button:hover:not(:disabled){background:var(--admin-primary-hover)}.submit-button:disabled{cursor:not-allowed;background:#93c5fd}.history-backdrop{z-index:100;background:#00000080;position:fixed;inset:0}.history-panel{background:var(--bg-primary);flex-direction:column;width:100%;max-width:400px;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-4px 0 25px #00000026}.history-header{border-bottom:1px solid var(--admin-border);justify-content:space-between;align-items:flex-start;padding:1.25rem 1.5rem;display:flex}.history-header h2{color:var(--admin-text);margin:0;font-size:1.125rem;font-weight:600}.history-phase-name{color:var(--admin-text-muted);margin:.25rem 0 0;font-size:.875rem}.history-close{color:var(--admin-text-muted);cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1.5rem;line-height:1}.history-close:hover{color:var(--admin-text)}.history-content{flex:1;padding:1.5rem;overflow-y:auto}.no-history{text-align:center;color:var(--admin-text-muted);padding:2rem 0}.history-timeline{flex-direction:column;gap:1rem;display:flex}.timeline-item{gap:1rem;display:flex}.timeline-marker{flex-direction:column;flex-shrink:0;align-items:center;display:flex}.timeline-dot{background:var(--admin-primary);border-radius:50%;width:12px;height:12px}.timeline-line{background:var(--admin-border);flex:1;width:2px;margin-top:.5rem}.timeline-content{flex:1;padding-bottom:1rem}.extension-date{color:var(--admin-text-muted);margin-bottom:.25rem;font-size:.75rem}.extension-duration{color:var(--admin-text);margin-bottom:.5rem;font-size:.875rem}.extension-reason{border:1px solid var(--admin-border);background:#f8fafc;border-radius:.375rem;padding:.75rem}.reason-label{color:var(--admin-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.reason-text{color:var(--admin-text);margin:.25rem 0 0;font-size:.875rem;line-height:1.5}.history-summary{border-top:1px solid var(--admin-border);background:#f8fafc;gap:1rem;padding:1rem 1.5rem;display:flex}.summary-item{text-align:center;flex:1}.summary-label{color:var(--admin-text-muted);text-transform:uppercase;margin-bottom:.25rem;font-size:.75rem;display:block}.summary-value{color:var(--admin-text);font-size:1.25rem;font-weight:600}.history-footer{border-top:1px solid var(--admin-border);padding:1rem 1.5rem}.close-button{background:var(--bg-primary);border:1px solid var(--admin-border);width:100%;color:var(--admin-text);cursor:pointer;border-radius:.375rem;padding:.625rem 1.25rem;font-size:.875rem;transition:background .15s}.close-button:hover{background:#f8fafc}:root[data-theme=dark] .history-panel{background:#1e293b}:root[data-theme=dark] .history-header{background:#0f172a;border-bottom-color:#334155}:root[data-theme=dark] .history-header h2{color:#f1f5f9}:root[data-theme=dark] .history-phase-name{color:#cbd5e1}:root[data-theme=dark] .history-close{color:#94a3b8}:root[data-theme=dark] .history-close:hover{color:#f1f5f9}:root[data-theme=dark] .no-history{color:#94a3b8}:root[data-theme=dark] .timeline-dot{background:#60a5fa}:root[data-theme=dark] .timeline-line{background:#334155}:root[data-theme=dark] .extension-date{color:#cbd5e1}:root[data-theme=dark] .extension-duration{color:#f1f5f9}:root[data-theme=dark] .extension-duration strong{color:#60a5fa}:root[data-theme=dark] .extension-reason{background:#0f172a;border-color:#334155}:root[data-theme=dark] .reason-label{color:#94a3b8}:root[data-theme=dark] .reason-text{color:#e2e8f0}:root[data-theme=dark] .history-summary{background:#0f172a;border-top-color:#334155}:root[data-theme=dark] .summary-label{color:#94a3b8}:root[data-theme=dark] .summary-value{color:#f1f5f9}:root[data-theme=dark] .close-button{color:#f1f5f9;background:#1e293b;border-color:#334155}:root[data-theme=dark] .close-button:hover{background:#334155}:root[data-theme=dark] .modal-content{background:#1e293b}:root[data-theme=dark] .modal-header{background:#0f172a;border-bottom-color:#334155}:root[data-theme=dark] .modal-header h2{color:#f1f5f9}:root[data-theme=dark] .modal-close{color:#94a3b8}:root[data-theme=dark] .modal-close:hover{color:#f1f5f9}:root[data-theme=dark] .modal-phase-info{background:#0f172a;border-bottom-color:#334155}:root[data-theme=dark] .modal-phase-info .phase-name{color:#f1f5f9}:root[data-theme=dark] .modal-phase-info .current-end{color:#cbd5e1}:root[data-theme=dark] .extension-form{background:#1e293b}:root[data-theme=dark] .section-label{color:#f1f5f9}:root[data-theme=dark] .quick-button{color:#e2e8f0;background:#0f172a;border-color:#334155}:root[data-theme=dark] .quick-button:hover{color:#f1f5f9;background:#1e293b;border-color:#60a5fa}:root[data-theme=dark] .quick-button.selected{background:var(--admin-primary);border-color:var(--admin-primary);color:#fff}:root[data-theme=dark] .duration-input,:root[data-theme=dark] .unit-select{color:#f1f5f9;background:#0f172a;border-color:#334155}:root[data-theme=dark] .duration-input:focus,:root[data-theme=dark] .unit-select:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa1a}:root[data-theme=dark] .date-preview{background:#3b82f626;border-color:#3b82f64d}:root[data-theme=dark] .preview-label{color:#cbd5e1}:root[data-theme=dark] .preview-date{color:#93c5fd}:root[data-theme=dark] .reason-input{color:#f1f5f9;background:#0f172a;border-color:#334155}:root[data-theme=dark] .reason-input::placeholder{color:#64748b}:root[data-theme=dark] .reason-input:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa1a}:root[data-theme=dark] .reason-hint{color:#94a3b8}:root[data-theme=dark] .form-error{color:#fca5a5;background:#dc262626;border-color:#dc26264d}:root[data-theme=dark] .modal-actions{border-top-color:#334155}:root[data-theme=dark] .cancel-button{color:#e2e8f0;background:#0f172a;border-color:#334155}:root[data-theme=dark] .cancel-button:hover{color:#f1f5f9;background:#1e293b;border-color:#475569}:root[data-theme=dark] .submit-button:disabled{opacity:.5;background:#1e40af}:root[data-theme=dark] .admin-dashboard,:root[data-theme=dark] .admin-login,:root[data-theme=dark] .client-login{--admin-bg:#0f172a;--admin-card-bg:#1e293b;--admin-border:#334155;--admin-text:#f1f5f9;--admin-text-muted:#94a3b8;--client-header-bg:linear-gradient(to right,#1e293b,#334155);--client-header-hover:linear-gradient(to right,#334155,#475569);--stat-badge-bg:#6366f133;--stat-badge-text:#a5b4fc;--login-container-bg:#1e293b;--login-border:#334155;--login-title:#f1f5f9;--login-subtitle:#94a3b8;--login-label:#e2e8f0;--login-input-bg:#0f172a;--login-input-text:#f1f5f9;--login-input-border:#475569;--login-input-disabled:#334155;--login-placeholder:#64748b;--login-muted:#94a3b8;--login-link:#94a3b8;--login-link-hover:#60a5fa}:root[data-theme=dark] .admin-dashboard{background:#0f172a}:root[data-theme=dark] .admin-header{background:#1e293b;border-color:#334155}:root[data-theme=dark] .admin-header-text h1{color:#f1f5f9}:root[data-theme=dark] .admin-header-subtitle{color:#94a3b8}:root[data-theme=dark] .admin-expand-btn,:root[data-theme=dark] .admin-collapse-btn{color:#94a3b8;background:0 0;border-color:#475569}:root[data-theme=dark] .admin-expand-btn:hover,:root[data-theme=dark] .admin-collapse-btn:hover{color:#f1f5f9;background:#334155;border-color:#60a5fa}:root[data-theme=dark] .header-title h1{color:#f1f5f9}:root[data-theme=dark] .header-title p{color:#94a3b8}:root[data-theme=dark] .header-control-btn{color:#94a3b8;background:0 0;border-color:#475569}:root[data-theme=dark] .header-control-btn:hover{color:#f1f5f9;background:#334155;border-color:#60a5fa}:root[data-theme=dark] .control-button{color:#e2e8f0;background:#334155;border-color:#475569}:root[data-theme=dark] .control-button:hover{background:#475569}:root[data-theme=dark] .client-section{background:#1e293b;border-color:#334155}:root[data-theme=dark] .client-name{color:#f1f5f9}:root[data-theme=dark] .client-company{color:#94a3b8}:root[data-theme=dark] .project-card{background:#0f172a;border-color:#334155}:root[data-theme=dark] .project-name{color:#f1f5f9}:root[data-theme=dark] .project-description{color:#94a3b8}:root[data-theme=dark] .phase-table th{color:#94a3b8;background:#0f172a;border-color:#334155}:root[data-theme=dark] .phase-table td{color:#e2e8f0;border-color:#334155}:root[data-theme=dark] .phase-table tbody tr:hover{background:#334155}:root[data-theme=dark] .phase-name-text{color:#f1f5f9}:root[data-theme=dark] .date-cell{color:#e2e8f0}:root[data-theme=dark] .no-extensions{color:#64748b}:root[data-theme=dark] .extend-button{color:#fff;background:#3b82f6}:root[data-theme=dark] .extend-button:hover{background:#2563eb}:root[data-theme=dark] .history-link{color:#60a5fa}:root[data-theme=dark] .view-tracker-button{color:#60a5fa;background:#3b82f633}:root[data-theme=dark] .view-tracker-button:hover{background:#3b82f64d}:root[data-theme=dark] .phase-details-row{background:#0f172a}:root[data-theme=dark] .phase-full-details{background:linear-gradient(90deg,#1e293b,#0f172a);border-color:#3b82f6}:root[data-theme=dark] .phase-full-details h4{color:#f1f5f9}:root[data-theme=dark] .phase-full-details .full-description{color:#e2e8f0}:root[data-theme=dark] .phase-full-details .phase-notes{color:#cbd5e1}:root[data-theme=dark] .phase-full-details .phase-notes strong{color:#f1f5f9}:root[data-theme=dark] .phase-full-details .details-meta{color:#cbd5e1}:root[data-theme=dark] .phase-full-details .details-meta strong{color:#f1f5f9}:root[data-theme=dark] .phase-description-preview{color:#94a3b8}:root[data-theme=dark] .phase-table tbody tr.expanded{background:#3b82f626}:root[data-theme=dark] .empty-state,:root[data-theme=dark] .stat{color:#94a3b8}:root[data-theme=dark] .section-title-button:hover{background:#ffffff0d}:root[data-theme=dark] .section-title{color:#f1f5f9}:root[data-theme=dark] .section-expand-icon{color:#94a3b8}:root[data-theme=dark] .section-controls .control-button{color:#94a3b8;border-color:#334155}:root[data-theme=dark] .section-controls .control-button:hover{color:#f1f5f9;background:#334155;border-color:#475569}:root[data-theme=dark] .analytics-section,:root[data-theme=dark] .projects-section{background:#1e293b;border-color:#334155}:root[data-theme=dark] .chart-header{background:#0f172a}:root[data-theme=dark] .chart-header:hover{background:#1e293b}:root[data-theme=dark] .chart-header.expanded{border-color:#334155}:root[data-theme=dark] .chart-expand-icon{color:#94a3b8}@media (max-width:768px){.admin-header{padding:1rem}.admin-header-container{flex-direction:column;align-items:flex-start;gap:1rem}.admin-header-controls{justify-content:center;width:100%}.admin-expand-btn,.admin-collapse-btn{flex:1;justify-content:center;padding:.5rem .75rem;font-size:.75rem}.header-content{flex-direction:column;align-items:flex-start;gap:1rem}.header-controls{justify-content:center;width:100%}.header-control-btn{flex:1;justify-content:center;padding:.5rem .75rem;font-size:.75rem}.admin-main{padding:1rem}.project-header{flex-direction:column;align-items:flex-start;gap:1rem}.phase-table th,.phase-table td{padding:.75rem .5rem;font-size:.8rem}.modal-content{max-width:100%;margin:0 1rem}.history-panel{max-width:100%}}.admin-login,.client-login{background:linear-gradient(to bottom,var(--page-bg-start,#f8fafc),var(--page-bg-mid,#e0f2fe),var(--page-bg-end,#f1f5f9));justify-content:center;align-items:center;min-height:100vh;padding:1rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex}.login-container{background:var(--bg-primary);border:1px solid var(--login-border,#0000001a);border-radius:1rem;width:100%;max-width:400px;padding:2rem;box-shadow:0 25px 50px -12px #00000026}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{color:var(--login-title,#1e293b);margin:0 0 .5rem;font-size:1.75rem;font-weight:700}.login-header p{color:var(--login-subtitle,#4b5563);margin:.5rem 0 0;font-size:.95rem}.login-title{color:var(--login-title,#1e293b);margin:0 0 .5rem;font-size:1.75rem;font-weight:700}.login-subtitle{color:var(--login-subtitle,#64748b);margin:0;font-size:.95rem}.login-form{flex-direction:column;gap:1.5rem;display:flex}.login-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.9rem;display:flex}.error-icon{flex-shrink:0}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:var(--login-label,#1f2937);font-size:.95rem;font-weight:600}.form-group input::placeholder{color:var(--login-placeholder,#9ca3af)}.form-label{color:var(--login-label,#374151);font-size:.9rem;font-weight:500}.password-input-wrapper{display:flex;position:relative}.form-input,.form-group input{border:1px solid var(--login-input-border,#d1d5db);width:100%;color:var(--login-input-text,#111827);background:var(--bg-primary);border-radius:.5rem;padding:.75rem 1rem;font-size:1rem;transition:border-color .15s,box-shadow .15s}.form-group input[type=password]{padding-right:3rem}.form-input:focus,.form-group input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.form-input:disabled,.form-group input:disabled{background:var(--login-input-disabled,#f3f4f6);cursor:not-allowed}.password-toggle{cursor:pointer;opacity:.6;background:0 0;border:none;padding:.25rem;font-size:1.1rem;transition:opacity .15s;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.password-toggle:hover{opacity:1}.login-button{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:background .15s}.login-button:hover:not(:disabled){background:#2563eb}.login-button:disabled{cursor:not-allowed;background:#93c5fd}.login-footer{text-align:center;margin-top:1.5rem}.back-link{color:var(--login-link,#64748b);font-size:.9rem;text-decoration:none;transition:color .15s}.back-link:hover{color:#3b82f6}.login-alt{border-top:1px solid var(--login-border,#e2e8f0);text-align:center;flex-direction:column;gap:.5rem;margin-top:1.5rem;padding-top:1.5rem;display:flex}.login-alt span{color:var(--login-muted,#64748b);font-size:.875rem}.alt-link{color:#3b82f6;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .15s}.alt-link:hover{color:#2563eb;text-decoration:underline}.client-login .login-icon{font-size:3rem}.client-login .login-header h1{color:#3b82f6}.text-outlined{-webkit-text-stroke:2px #21335e;paint-order:stroke fill}:root[data-theme=dark] .text-outlined{-webkit-text-stroke:2px #060f38}.client-controls{justify-content:flex-end;gap:.5rem;margin-bottom:1rem;display:flex}.control-button{border:1px solid var(--admin-border);color:var(--admin-text-muted);cursor:pointer;background:0 0;border-radius:.375rem;padding:.375rem .75rem;font-size:.75rem;transition:all .15s}.control-button:hover{background:var(--admin-card-bg);border-color:var(--admin-primary);color:var(--admin-primary)}.clients-list{flex-direction:column;gap:1rem;display:flex}.client-section{background:var(--admin-card-bg);border:1px solid var(--admin-border);border-radius:.75rem;overflow:hidden}.client-header{background:var(--client-header-bg,linear-gradient(to right,#f3f4f6,#e5e7eb));cursor:pointer;text-align:left;border:none;justify-content:space-between;align-items:center;width:100%;padding:1rem 1.25rem;transition:background .15s;display:flex}.client-header:hover{background:var(--client-header-hover,linear-gradient(to right,#e5e7eb,#d1d5db))}.client-header.expanded{border-bottom:1px solid var(--admin-border)}.client-info{align-items:center;gap:.75rem;display:flex}.expand-icon{color:var(--admin-text-muted);font-size:.75rem;transition:transform .15s}.client-name{color:var(--admin-text);margin:0;font-size:1.125rem;font-weight:600}.client-company{color:var(--admin-text-muted);margin:.125rem 0 0;font-size:.875rem}.client-stats{gap:.5rem;display:flex}.stat-badge{background:var(--stat-badge-bg,#e0e7ff);color:var(--stat-badge-text,#4338ca);border-radius:9999px;padding:.25rem .625rem;font-size:.75rem;font-weight:500}.stat-badge.completed{color:#16a34a;background:#dcfce7}.client-projects{background:var(--admin-bg);flex-direction:column;gap:1rem;padding:1rem;display:flex}.client-projects .project-card{background:var(--admin-card-bg);border:1px solid var(--admin-border);border-radius:.5rem;overflow:hidden}.client-projects .project-header{background:var(--admin-card-bg);border-bottom:1px solid var(--admin-border);padding:.875rem 1rem}.client-projects .project-name{color:var(--admin-text);margin:0;font-size:1rem;font-weight:600}.client-projects .project-description{color:var(--admin-text-muted);max-width:600px;margin:.25rem 0 0;font-size:.8125rem}:root[data-theme=dark] .client-projects{background:#0f172a}:root[data-theme=dark] .client-projects .project-card,:root[data-theme=dark] .client-projects .project-header{background:#1e293b;border-color:#334155}:root[data-theme=dark] .client-projects .project-name{color:#f1f5f9}:root[data-theme=dark] .client-projects .project-description{color:#94a3b8}.login-tabs{border-bottom:2px solid #e5e7eb;gap:0;margin-bottom:1.5rem;display:flex}.tab-button{color:#6b7280;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;flex:1;padding:.75rem 1rem;font-size:1rem;font-weight:500;transition:all .2s}.tab-button:hover{color:#374151;background:#f9fafb}.tab-button.active{color:#2563eb;border-bottom-color:#2563eb;font-weight:600}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.required{color:#ef4444}.form-hint{color:#6b7280;margin-top:.25rem;font-size:.875rem;display:block}.password-strength{margin-top:.5rem;font-size:.875rem;font-weight:600;display:block}.strength-weak{color:#ef4444}.strength-medium{color:#f59e0b}.strength-strong{color:#10b981}.strength-very-strong{color:#059669}.password-requirements{margin-top:.5rem;font-size:.875rem}.password-requirements summary{cursor:pointer;color:#2563eb;-webkit-user-select:none;user-select:none}.password-requirements ul{color:#6b7280;margin-top:.5rem;margin-left:1.25rem}.password-requirements li{margin-top:.25rem}.form-notice{background:#dbeafe;border:1px solid #93c5fd;border-radius:.5rem;margin:1rem 0;padding:.75rem 1rem}.form-notice p{color:#1e40af;margin:0;font-size:.875rem}.register-form{max-height:70vh;padding-right:.5rem;overflow-y:auto}@media (max-width:640px){.form-row{grid-template-columns:1fr}}
