*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#0a0a0f;--bg-secondary:#12121a;--bg-card:#1a1a24;--bg-card-hover:#22222e;--bg-input:#16161f;--border:#2a2a3a;--border-light:#353548;--text-primary:#f0f0f5;--text-secondary:#9898a8;--text-muted:#6b6b7b;--accent:#6366f1;--accent-hover:#818cf8;--accent-glow:#6366f140;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--info:#3b82f6;--sidebar-width:260px;--header-height:64px;--radius:10px;--radius-sm:6px;--shadow:0 4px 24px #0006;--transition:.2s ease}html{font-size:15px}body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5}#root{min-height:100vh}a{color:var(--accent);text-decoration:none}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;font-size:.933rem}.app-layout{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border);z-index:100;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-brand{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:24px 20px;display:flex}.brand-icon{color:var(--accent)}.brand-name{letter-spacing:-.02em;font-size:1.2rem;font-weight:700;display:block}.brand-tag{color:var(--text-muted);font-size:.733rem;display:block}.sidebar-nav{flex-direction:column;flex:1;gap:4px;padding:16px 12px;display:flex;overflow-y:auto}.nav-item{border-radius:var(--radius-sm);color:var(--text-secondary);transition:all var(--transition);text-align:left;background:0 0;border:none;align-items:center;gap:12px;width:100%;padding:10px 14px;font-size:.933rem;font-weight:500;display:flex}.nav-item:hover{background:var(--bg-card);color:var(--text-primary)}.nav-item.active{background:var(--accent-glow);color:var(--accent-hover)}.sidebar-footer{border-top:1px solid var(--border);padding:16px 12px}.user-info{align-items:center;gap:10px;margin-bottom:8px;padding:8px 14px;display:flex}.user-avatar{background:var(--accent);border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:.933rem;font-weight:600;display:flex}.user-name{font-size:.867rem;font-weight:600;display:block}.user-role{color:var(--text-muted);text-transform:capitalize;font-size:.733rem;display:block}.user-role-admin{color:#c084fc}.settings-fieldset{border:none;min-width:0;margin:0;padding:0}.settings-readonly-badge{color:#c084fc;border-radius:var(--radius-sm);background:#a855f726;align-items:center;gap:6px;padding:6px 12px;font-size:.867rem;display:inline-flex}.login-note{color:var(--text-muted);justify-content:center;align-items:center;gap:6px;margin:16px 0 0;font-size:.867rem;display:flex}.logout-btn{color:var(--danger)!important}.main-content{margin-left:var(--sidebar-width);flex-direction:column;flex:1;min-height:100vh;display:flex}.header{height:var(--header-height);border-bottom:1px solid var(--border);background:var(--bg-secondary);z-index:50;justify-content:space-between;align-items:center;padding:0 32px;display:flex;position:sticky;top:0}.page-title{letter-spacing:-.02em;font-size:1.333rem;font-weight:700}.header-date{color:var(--text-muted);font-size:.867rem}.page-content{flex:1;padding:28px 32px}.btn{border-radius:var(--radius-sm);transition:all var(--transition);white-space:nowrap;border:none;align-items:center;gap:8px;padding:9px 18px;font-size:.867rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 0 20px var(--accent-glow)}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--bg-card-hover);border-color:var(--border-light)}.btn-danger{background:var(--danger);color:#fff}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-sm{padding:6px 12px;font-size:.8rem}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-icon{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-secondary);transition:all var(--transition);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.btn-icon:hover{background:var(--bg-card);color:var(--text-primary)}.btn-icon.danger:hover{color:var(--danger);background:#ef444426}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--text-secondary);align-items:center;gap:6px;font-size:.8rem;font-weight:600;display:flex}.form-group input,.form-group select,.form-group textarea{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);transition:border-color var(--transition);padding:10px 14px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);outline:none}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-grid .full-width{grid-column:1/-1}.form-section-heading{border-top:1px solid var(--border);color:var(--text-primary);grid-column:1/-1;margin:8px 0 0;padding-top:16px;font-size:.933rem;font-weight:600}.recurring-badge{flex-direction:column;gap:2px;font-size:.8rem;display:inline-flex}.recurring-badge-amount{color:var(--accent);font-weight:600}.recurring-badge-meta{color:var(--text-muted);font-size:.733rem}.cost-recurring{color:var(--accent)}.input-with-icon{position:relative}.input-with-icon input{width:100%;padding-right:40px}.input-icon-btn{color:var(--text-muted);background:0 0;border:none;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.badge{text-transform:capitalize;white-space:nowrap;border-radius:20px;padding:3px 10px;font-size:.733rem;font-weight:600;display:inline-block}.badge-low{color:#9898a8;background:#6b6b7b33}.badge-normal{color:#94a3b8;background:#94a3b82e}.badge-medium{color:#60a5fa;background:#3b82f626}.badge-high{color:#fbbf24;background:#f59e0b26}.badge-critical{color:#f87171;background:#ef444426}.badge-success{color:#34d399;background:#10b98126}.badge-warning{color:#fbbf24;background:#f59e0b26}.badge-danger{color:#f87171;background:#ef444426}.badge-info{color:#60a5fa;background:#3b82f626}.badge-muted{color:#9898a8;background:#6b6b7b26}.badge-recurring{color:#c084fc;background:#a855f72e}.badge-default{background:var(--bg-card);color:var(--text-secondary)}.stats-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:24px;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--transition);padding:20px}.stat-card:hover{border-color:var(--border-light)}.stat-card-top{justify-content:space-between;align-items:flex-start;display:flex}.stat-card-title{color:var(--text-muted);font-size:.8rem;font-weight:500}.stat-card-value{letter-spacing:-.02em;margin-top:4px;font-size:1.6rem;font-weight:700;display:block}.stat-card-subtitle{color:var(--text-muted);font-size:.733rem}.stat-card-icon{border-radius:var(--radius-sm);background:var(--accent-glow);width:44px;height:44px;color:var(--accent);justify-content:center;align-items:center;display:flex}.dashboard-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.widget{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.widget-wide{grid-column:1/-1}.widget-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.widget-header h3{align-items:center;gap:8px;font-size:.933rem;font-weight:600;display:flex}.widget-link{color:var(--accent);font-size:.8rem;font-weight:500}.widget-body{padding:16px 20px}.widget-empty{color:var(--text-muted);text-align:center;padding:20px;font-size:.867rem}.chart-body{padding:8px 12px 16px}.priority-list{flex-direction:column;gap:12px;list-style:none;display:flex}.priority-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.priority-item:last-child{border-bottom:none}.priority-item-name{font-size:.867rem;font-weight:600;display:block}.priority-item-meta{color:var(--text-muted);font-size:.733rem}.priority-item-right{align-items:center;gap:10px;display:flex}.progress-bar{background:var(--bg-input);border-radius:3px;width:80px;height:6px;overflow:hidden}.progress-bar.mini{width:60px}.progress-fill{background:linear-gradient(90deg, var(--accent), var(--accent-hover));border-radius:3px;height:100%;transition:width .3s}.progress-text{color:var(--text-muted);min-width:32px;font-size:.733rem}.progress-cell{align-items:center;gap:8px;min-width:120px;display:flex}.progress-cell-full{flex-direction:column;align-items:stretch;gap:4px;width:100%}.progress-cell-full .progress-bar{width:100%}.progress-input-full{grid-column:1/-1}.progress-input-full input[type=range]{width:100%;display:block}.progress-input-full .progress-input-label{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.form-hint{border-radius:var(--radius-sm);color:var(--text-secondary);background:#6366f114;border:1px solid #6366f133;grid-column:1/-1;margin:0;padding:10px 12px;font-size:.867rem;line-height:1.5}.detail-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.detail-section{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:10px;padding:16px;display:flex}.detail-section-full{grid-column:1/-1}.detail-section-title{color:var(--text-primary);border-bottom:1px solid var(--border);margin:0 0 4px;padding-bottom:8px;font-size:.933rem;font-weight:600}.detail-row{justify-content:space-between;align-items:flex-start;gap:16px;font-size:.867rem;display:flex}.detail-label{color:var(--text-muted);flex-shrink:0;min-width:120px}.detail-value{color:var(--text-primary);text-align:right;word-break:break-word}.project-name-link{color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-weight:600}.project-name-link:hover{color:var(--accent);text-decoration:underline}.status-badge{border-radius:var(--radius-sm);text-transform:capitalize;align-items:center;padding:4px 10px;font-size:.8rem;font-weight:500;display:inline-flex}.status-active{color:#34d399;background:#10b98126}.status-inactive{color:#f87171;background:#ef444426}.row-inactive{opacity:.65}@media (width<=768px){.detail-grid{grid-template-columns:1fr}}.reminder-list{flex-direction:column;gap:10px;list-style:none;display:flex}.reminder-item{align-items:center;gap:12px;padding:8px 0;display:flex}.reminder-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}.reminder-info{flex:1}.reminder-title{font-size:.867rem;font-weight:500;display:block}.reminder-date{color:var(--text-muted);font-size:.733rem}.task-summary-ring{flex-direction:column;align-items:center;margin-bottom:16px;display:flex}.circular-chart{width:100px;height:100px}.circle-bg{fill:none;stroke:var(--bg-input);stroke-width:3px}.circle-fill{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linecap:round;transform-origin:50%;transform:rotate(-90deg)}.percentage{fill:var(--text-primary);text-anchor:middle;font-size:.45em;font-weight:700}.task-summary-label{color:var(--text-muted);margin-top:4px;font-size:.733rem}.task-status-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.task-status-item{color:var(--text-secondary);align-items:center;gap:8px;font-size:.8rem;display:flex}.task-status-item strong{color:var(--text-primary);margin-left:auto}.task-dot{border-radius:50%;width:8px;height:8px}.task-dot-todo{background:var(--text-muted)}.task-dot-in_progress{background:var(--warning)}.task-dot-review{background:var(--info)}.task-dot-done{background:var(--success)}.summary-stats{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px;margin-bottom:20px;display:grid}.summary-stat{text-align:center;background:var(--bg-input);border-radius:var(--radius-sm);padding:12px}.summary-stat-label{color:var(--text-muted);margin-bottom:4px;font-size:.733rem;display:block}.summary-stat-value{font-size:1.133rem;font-weight:700}.project-summary-table{overflow-x:auto}.project-summary-table table{border-collapse:collapse;width:100%;font-size:.867rem}.project-summary-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);padding:10px 12px;font-size:.733rem;font-weight:600}.project-summary-table td{border-bottom:1px solid var(--border);padding:12px}.page-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:24px;display:flex}.search-box{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);max-width:360px;color:var(--text-muted);flex:1;align-items:center;gap:10px;padding:0 14px;display:flex}.search-box input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;padding:10px 0}.toolbar-filters{align-items:center;gap:8px;display:flex}.page-toolbar select{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);padding:9px 14px}.page-header-inline{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.page-header-inline .page-title{align-items:center;gap:8px;margin:0 0 4px;font-size:1.25rem;display:flex}.page-subtitle{color:var(--text-muted);margin:0;font-size:.933rem}.text-muted{color:var(--text-muted);font-size:.867rem;font-weight:400}.role-badge{border-radius:var(--radius-sm);text-transform:capitalize;align-items:center;gap:6px;padding:4px 10px;font-size:.8rem;display:inline-flex}.role-admin{color:#c084fc;background:#a855f726}.role-manager{color:#60a5fa;background:#3b82f626}.toolbar-actions{flex-wrap:wrap;gap:8px;display:flex}.col-progress{min-width:140px}.checkbox-label{color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;font-size:.867rem;display:flex}.data-table-wrapper{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.data-table{border-collapse:collapse;width:100%;font-size:.867rem}.data-table th{text-align:left;background:var(--bg-input);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);padding:14px 16px;font-size:.733rem;font-weight:600}.data-table td{border-bottom:1px solid var(--border);padding:14px 16px}.data-table tbody tr:hover{background:var(--bg-card-hover)}.actions-cell{gap:4px;display:flex}.card-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.entity-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:all var(--transition);padding:20px}.entity-card:hover{border-color:var(--border-light);box-shadow:var(--shadow);transform:translateY(-2px)}.entity-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.entity-avatar{background:linear-gradient(135deg, var(--accent), #a855f7);border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.1rem;font-weight:700;display:flex}.entity-card-actions{gap:4px;display:flex}.entity-card h3{margin-bottom:4px;font-size:1.067rem}.entity-company{color:var(--text-secondary);align-items:center;gap:6px;margin-bottom:12px;font-size:.867rem;display:flex}.entity-meta{color:var(--text-muted);flex-direction:column;gap:6px;margin-bottom:16px;font-size:.8rem;display:flex}.entity-meta span{align-items:center;gap:8px;display:flex}.entity-footer{color:var(--text-muted);border-top:1px solid var(--border);justify-content:space-between;padding-top:12px;font-size:.733rem;display:flex}.kanban-board{grid-template-columns:repeat(4,1fr);gap:16px;min-height:400px;display:grid}.kanban-column{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:10px;padding:12px;display:flex}.kanban-column-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding-bottom:8px;display:flex}.kanban-count{color:var(--text-muted);background:var(--bg-card);border-radius:10px;padding:2px 8px;font-size:.733rem}.kanban-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);padding:14px}.kanban-card:hover{border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow)}.kanban-card-top{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.kanban-card-actions{gap:2px;display:flex}.kanban-card h4{margin-bottom:4px;font-size:.867rem}.kanban-project{color:var(--text-muted);margin-bottom:10px;font-size:.733rem}.kanban-card-footer{color:var(--text-muted);justify-content:space-between;font-size:.733rem;display:flex}.pricing-grid{flex-direction:column;gap:28px;display:flex}.pricing-category h3{color:var(--text-secondary);margin-bottom:12px;font-size:1rem}.pricing-items{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.pricing-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.pricing-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:8px;display:flex}.pricing-card h4{font-size:.933rem}.pricing-card p{color:var(--text-muted);margin-bottom:12px;font-size:.8rem}.pricing-amount{color:var(--accent-hover);font-size:1.2rem;font-weight:700}.pricing-card-actions{gap:4px;display:flex}.line-items{margin:20px 0}.line-items h4{color:var(--text-secondary);margin-bottom:12px;font-size:.867rem}.line-item-row{grid-template-columns:2fr 80px 120px 100px;align-items:center;gap:10px;margin-bottom:8px;display:grid}.line-item-row input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);padding:8px 12px}.line-item-row span{text-align:right;font-size:.867rem;font-weight:600}.invoice-totals{background:var(--bg-input);border-radius:var(--radius-sm);margin-bottom:16px;padding:16px}.invoice-totals div{color:var(--text-secondary);justify-content:space-between;padding:4px 0;font-size:.867rem;display:flex}.invoice-totals .total-row{border-top:1px solid var(--border);color:var(--text-primary);margin-top:8px;padding-top:12px;font-size:1rem}.pricing-quick-add{color:var(--text-secondary);align-items:center;gap:12px;margin:12px 0;font-size:.867rem;display:flex}.pricing-quick-add select{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);padding:8px 12px}.reminder-page-list{flex-direction:column;gap:10px;display:flex}.reminder-page-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:all var(--transition);align-items:flex-start;gap:14px;padding:16px 20px;display:flex}.reminder-page-item.overdue{background:#ef44440d;border-color:#ef444466}.reminder-page-item.completed{opacity:.5}.reminder-page-item.completed h4{text-decoration:line-through}.reminder-page-item input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent);margin-top:2px}.reminder-page-content{flex:1}.reminder-page-top{align-items:center;gap:10px;margin-bottom:4px;display:flex}.reminder-page-top h4{font-size:.933rem}.reminder-page-content p{color:var(--text-secondary);margin-bottom:4px;font-size:.867rem}.reminder-page-date{color:var(--text-muted);font-size:.733rem}.reminder-page-actions{gap:4px;display:flex}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:520px;max-height:90vh;box-shadow:var(--shadow);overflow-y:auto}.modal-wide{max-width:800px}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h2{font-size:1.133rem}.modal-body{padding:24px}.modal-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;margin-top:20px;padding-top:16px;display:flex}.login-page{justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.login-bg{background:radial-gradient(ellipse at 20% 50%, #6366f126 0%, transparent 50%), radial-gradient(ellipse at 80% 20%, #a855f71a 0%, transparent 50%), var(--bg-primary);position:absolute;inset:0}.login-container{width:100%;max-width:420px;padding:20px;position:relative}.login-brand{text-align:center;margin-bottom:32px}.login-brand svg{color:var(--accent);margin-bottom:12px}.login-brand h1{letter-spacing:-.03em;font-size:2rem;font-weight:800}.login-brand p{color:var(--text-muted);font-size:.933rem}.login-form{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:32px}.login-form h2{margin-bottom:4px;font-size:1.333rem}.login-subtitle{color:var(--text-muted);margin-bottom:24px;font-size:.867rem}.login-form .form-group{margin-bottom:16px}.login-submit{justify-content:center;width:100%;margin-top:8px;padding:12px}.login-toggle{text-align:center;color:var(--text-muted);margin-top:20px;font-size:.867rem}.login-toggle button{color:var(--accent);background:0 0;border:none;font-weight:600}.login-security{color:var(--text-muted);justify-content:center;align-items:center;gap:8px;margin-top:20px;font-size:.733rem;display:flex}.demo-credentials{text-align:center;background:var(--bg-card);border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);margin-top:12px;padding:10px 16px;font-size:.8rem}.alert{border-radius:var(--radius-sm);align-items:center;gap:10px;margin-bottom:16px;padding:12px 16px;font-size:.867rem;display:flex}.alert-error{color:#f87171;background:#ef44441a;border:1px solid #ef44444d}.alert-warning{color:#fbbf24;background:#f59e0b1a;border:1px solid #f59e0b4d}.alert-success{color:#34d399;background:#10b9811a;border:1px solid #10b9814d}.empty-state{text-align:center;color:var(--text-muted);padding:60px 20px}.empty-state-icon{opacity:.4;margin-bottom:16px}.empty-state h3{color:var(--text-secondary);margin-bottom:8px;font-size:1.133rem}.empty-state p{margin-bottom:20px}.loading-screen{min-height:100vh;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.cost-total{color:var(--success);font-weight:500}.cost-advance{color:var(--success)}.cost-pending{color:var(--warning)}.input-readonly{opacity:.7;cursor:not-allowed}.toolbar-badge{color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 12px;font-size:.8rem}.todo-list{flex-direction:column;gap:10px;display:flex}.todo-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:all var(--transition);align-items:flex-start;gap:14px;padding:16px 20px;display:flex}.todo-item.completed{opacity:.55}.todo-item.completed h4{text-decoration:line-through}.todo-item input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent);margin-top:2px}.todo-content{flex:1}.todo-top{align-items:center;gap:10px;margin-bottom:4px;display:flex}.todo-top h4{font-size:.933rem}.todo-content p{color:var(--text-secondary);margin-bottom:4px;font-size:.867rem}.todo-due{color:var(--text-muted);font-size:.733rem}.todo-actions{gap:4px;display:flex}.remember-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.remember-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:all var(--transition);padding:18px}.remember-card.pinned{border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow)}.remember-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:8px;display:flex}.remember-card-title{align-items:center;gap:8px;display:flex}.remember-card-title h4{font-size:.933rem}.pin-icon{color:var(--accent)}.remember-category{color:var(--accent-hover);background:var(--accent-glow);border-radius:12px;margin-bottom:10px;padding:2px 10px;font-size:.733rem;display:inline-block}.remember-content{color:var(--text-secondary);white-space:pre-wrap;margin-bottom:12px;font-size:.867rem;line-height:1.6}.remember-content-html{white-space:normal}.remember-content-html p{margin:0 0 .5em}.remember-content-html p:last-child{margin-bottom:0}.remember-content-html ul,.remember-content-html ol{margin:.25em 0 .5em 1.25em;padding:0}.remember-content-html a{color:var(--accent-hover);text-decoration:underline}.remember-content-html h2,.remember-content-html h3{color:var(--text-primary);margin:.5em 0 .25em;font-size:.95rem}.rich-text-editor{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);min-height:320px;overflow:hidden}.rich-text-editor .tox-tinymce{visibility:visible!important;border:none!important}.rich-text-editor .tox-editor-header{background:var(--bg-card)!important}.remember-date{color:var(--text-muted);font-size:.733rem}.remember-card-actions{gap:4px;display:flex}.customer-photo{object-fit:cover;border:2px solid var(--border);background:var(--bg-input);border-radius:50%}.customer-photo-sm{width:40px;height:40px}.customer-photo-md{width:48px;height:48px}.customer-photo-lg{width:96px;height:96px}.customer-photo-upload{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:20px;margin-bottom:20px;padding:16px;display:flex}.customer-photo-preview{object-fit:cover;border:2px solid var(--accent);border-radius:50%;width:80px;height:80px}.customer-photo-actions{flex-direction:column;gap:8px;display:flex}.photo-upload-btn{cursor:pointer;width:fit-content}.photo-hint{color:var(--text-muted);font-size:.733rem}.website-credentials{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);margin-top:12px;padding:12px}.website-credentials-header{color:var(--text-secondary);align-items:center;gap:8px;margin-bottom:8px;font-size:.8rem;font-weight:600;display:flex}.credentials-toggle{color:var(--accent);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;gap:4px;margin-left:auto;padding:2px 6px;font-size:.733rem;font-weight:600;display:inline-flex}.credentials-toggle:hover{background:var(--accent-glow)}.website-credentials-rows{flex-direction:column;gap:6px;display:flex}.credential-row{justify-content:space-between;gap:12px;font-size:.8rem;display:flex}.credential-label{color:var(--text-muted);flex-shrink:0}.credential-value{color:var(--text-primary);text-align:right;word-break:break-all;font-family:monospace}.website-credentials-form{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);margin:16px 0;padding:16px}.website-credentials-form h4{color:var(--text-secondary);align-items:center;gap:8px;margin-bottom:14px;font-size:.933rem;display:flex}.optional-tag{color:var(--text-muted);font-size:.733rem;font-weight:400}.settings-page{max-width:900px}.settings-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:28px;display:flex}.settings-header h2{margin-bottom:6px;font-size:1.4rem}.settings-header p{color:var(--text-muted);font-size:.933rem}.settings-saved{color:var(--success);border-radius:var(--radius-sm);white-space:nowrap;background:#10b9811a;border:1px solid #10b9814d;padding:8px 14px;font-size:.867rem}.settings-layout{flex-direction:column;gap:20px;display:flex}.settings-preview-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.settings-preview-card h3{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:14px;font-size:.867rem}.brand-preview{align-items:center;gap:16px;display:flex}.brand-preview-logo{border-radius:var(--radius-sm);object-fit:contain;background:var(--bg-input);border:1px solid var(--border);width:64px;height:64px;padding:4px}.brand-preview-logo-placeholder{border-radius:var(--radius-sm);background:var(--accent-glow);width:64px;height:64px;color:var(--accent);justify-content:center;align-items:center;display:flex}.brand-preview strong{margin-bottom:4px;font-size:1.133rem;display:block}.brand-preview span{color:var(--text-muted);align-items:center;gap:6px;margin-top:3px;font-size:.8rem;display:flex}.settings-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.settings-section h3{color:var(--text-secondary);border-bottom:1px solid var(--border);align-items:center;gap:8px;margin-bottom:18px;padding-bottom:12px;font-size:1rem;display:flex}.logo-upload-block{background:var(--bg-input);border-radius:var(--radius-sm);align-items:center;gap:20px;margin-bottom:20px;padding:16px;display:flex}.settings-logo-preview{object-fit:contain;border-radius:var(--radius-sm);background:#fff;width:72px;height:72px;padding:4px}.settings-logo-placeholder{border-radius:var(--radius-sm);background:var(--accent-glow);width:72px;height:72px;color:var(--accent);justify-content:center;align-items:center;display:flex}.logo-upload-actions{flex-direction:column;gap:8px;display:flex}.settings-actions{justify-content:flex-end;gap:12px;padding-top:8px;display:flex}.settings-backup-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-top:28px;padding:24px}.settings-backup-section h3{align-items:center;gap:8px;margin:0 0 10px;font-size:1rem;display:flex}.settings-backup-desc{color:var(--text-muted);margin:0 0 16px;font-size:.933rem;line-height:1.5}.settings-backup-stats{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.settings-backup-stats span{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);padding:6px 12px;font-size:.8rem}.settings-backup-actions{flex-wrap:wrap;gap:12px;margin-bottom:16px;display:flex}.settings-backup-steps{color:var(--text-muted);margin:0;padding-left:20px;font-size:.867rem;line-height:1.7}.settings-backup-steps strong{color:var(--text-secondary)}.sidebar-brand-logo{object-fit:contain;background:var(--bg-card);border-radius:6px;flex-shrink:0;width:32px;height:32px}@media (width<=1200px){.dashboard-grid{grid-template-columns:1fr}.kanban-board,.summary-stats{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.sidebar{transform:translate(-100%)}.main-content{margin-left:0}.page-content{padding:16px}.form-grid,.kanban-board,.line-item-row{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}}
