@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap";:root{--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--font-logo:"Inter", sans-serif;--font-name:"Inter", sans-serif;--font-tag:"Inter", sans-serif;--bg-app:#f8fafc;--bg-app-subtle:#f1f5f9;--bg-card:#fff;--bg-card-hover:#f8fafc;--primary:#059669;--primary-hover:#047857;--primary-darker:#065f46;--primary-soft:#ecfdf5;--primary-soft-border:#a7f3d0;--primary-focus-ring:#05966929;--sidebar-bg:#f8fafc;--sidebar-bg-elevated:#fff;--sidebar-border:#e2e8f0;--sidebar-hover:#f1f5f9;--sidebar-active-bg:#fff;--sidebar-active-border:#059669;--sidebar-text-primary:#1e293b;--sidebar-text-muted:#64748b;--sidebar-width:240px;--success:#15803d;--success-soft:#f0fdf4;--success-border:#bbf7d0;--success-text:#166534;--warning:#b45309;--warning-soft:#fffbeb;--warning-border:#fde68a;--warning-text:#92400e;--danger:#b91c1c;--danger-soft:#fef2f2;--danger-border:#fecaca;--danger-text:#991b1b;--info:#0f766e;--info-soft:#f0fdfa;--info-border:#99f6e4;--info-text:#115e59;--border-subtle:#e2e8f0;--border-strong:#cbd5e1;--border-focus:#059669;--text-primary:#1e293b;--text-secondary:#334155;--text-muted:#64748b;--text-label:#475569;--text-placeholder:#94a3b8;--brand-red:#dc2626;--brand-red-dark:#b91c1c;--brand-red-glow:#dc262626;--brand-red-soft:#dc26260d;--shadow-xs:0 1px 2px 0 #00000008;--shadow-sm:0 1px 3px 0 #0000000d, 0 1px 2px -1px #00000008;--shadow-md:0 4px 6px -1px #0000000f, 0 2px 4px -2px #00000008;--shadow-lg:0 10px 15px -3px #0000000f, 0 4px 6px -4px #00000008;--shadow-modal:0 20px 25px -5px #00000014, 0 8px 10px -6px #0000000a;--shadow-sidebar:1px 0 0 #e2e8f0;--radius-xs:3px;--radius-sm:5px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-2xl:16px;--radius-full:9999px;--transition-fast:.12s ease;--transition-base:.15s ease;--transition-slow:.22s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;height:100%}body{font-family:var(--font-family);background-color:var(--bg-app);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%;font-size:13px;line-height:1.5;overflow:hidden}.font-medium{font-weight:500}.font-semibold,.font-bold{font-weight:600}.font-mono{font-family:var(--font-mono)}.uppercase{text-transform:uppercase}.text-xs{font-size:11px}.text-sm{font-size:13px}.text-slate-400{color:#94a3b8}.text-slate-500{color:#64748b}.text-slate-600{color:#475569}.text-slate-700{color:#334155}.text-slate-800{color:#1e293b}.text-emerald-700{color:#15803d}.text-amber-800{color:#92400e}.text-rose-600{color:#e11d48}.text-rose-700,.hover\:text-rose-700:hover{color:#be123c}.text-required{color:#dc2626}.mr-0\.5{margin-right:2px}.mr-1{margin-right:4px}.mr-2{margin-right:8px}.ml-1{margin-left:4px}.ml-auto{margin-left:auto}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.flex-shrink-0{flex-shrink:0}.inline{display:inline}.flex{display:flex}.items-center{align-items:center}.gap-1{gap:4px}.gap-1\.5{gap:6px}.gap-2{gap:8px}.flex-wrap{flex-wrap:wrap}.tracking-wider{letter-spacing:.05em}.align-self-end{align-self:flex-end}.justify-end{justify-content:flex-end}.app-layout-root{background-color:var(--bg-app);width:100vw;height:100vh;display:flex;overflow:hidden}.app-sidebar{width:var(--sidebar-width);background-color:var(--sidebar-bg);color:var(--sidebar-text-primary);border-right:1px solid var(--sidebar-border);z-index:20;flex-direction:column;flex-shrink:0;display:flex;position:relative}.sidebar-brand{border-bottom:1px solid var(--sidebar-border);background-color:#fff;align-items:center;gap:10px;padding:16px 14px;display:flex}.brand-logo-box{color:#fff;width:30px;height:30px;font-family:var(--font-family);letter-spacing:-.02em;border-radius:var(--radius-md);background:linear-gradient(135deg,#059669 0%,#047857 100%);border:1px solid #04785733;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex;box-shadow:0 1px 2px #05966933}.brand-info{flex-direction:column;display:flex;overflow:hidden}.brand-name{letter-spacing:-.01em;color:var(--text-primary);font-size:13.5px;font-weight:600;line-height:1.25}.brand-subtitle{color:var(--sidebar-text-muted);letter-spacing:.02em;margin-top:1px;font-size:10px;font-weight:500}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:12px 8px;display:flex;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#cbd5e1}.nav-item{color:var(--sidebar-text-muted);border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:all var(--transition-base);letter-spacing:-.01em;background:0 0;border:1px solid #0000;align-items:center;gap:9px;width:100%;padding:7px 10px;font-size:13px;font-weight:500;display:flex;position:relative}.nav-item:hover{background-color:var(--sidebar-hover);color:var(--text-primary)}.nav-item.active{background-color:var(--sidebar-active-bg);border-color:var(--border-subtle);color:#047857;box-shadow:var(--shadow-xs);font-weight:600}.nav-item.active:before{content:"";background:var(--sidebar-active-border);border-radius:0 var(--radius-xs) var(--radius-xs) 0;width:3px;height:64%;position:absolute;top:18%;left:0}.nav-icon{color:#64748b;transition:color var(--transition-base);flex-shrink:0}.nav-item:hover .nav-icon{color:var(--text-primary)}.nav-item.active .nav-icon{color:#059669}.nav-group{flex-direction:column;display:flex}.nav-sub-list{flex-direction:column;gap:1px;padding-top:2px;padding-bottom:4px;padding-left:20px;display:flex;position:relative}.nav-sub-list:before{content:"";background:#e2e8f0;width:1px;position:absolute;top:4px;bottom:8px;left:17px}.nav-sub-item{color:#64748b;border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:all var(--transition-base);background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:5px 8px;font-size:12px;font-weight:500;display:flex}.nav-sub-item:hover{background-color:var(--sidebar-hover);color:var(--text-primary)}.nav-sub-item.active{color:#047857;background-color:#ecfdf5;font-weight:600}.nav-sub-bullet{width:6px;height:6px;transition:all var(--transition-base);background-color:#cbd5e1;border-radius:50%;flex-shrink:0}.nav-sub-bullet.bullet-gst{background-color:#10b981}.nav-sub-bullet.bullet-pf{background-color:#f59e0b}.nav-sub-bullet.bullet-esi{background-color:#0d9488}.nav-sub-bullet.bullet-it{background-color:#f97316}.nav-sub-bullet.bullet-mca{background-color:#8b5cf6}.nav-sub-bullet.bullet-pending-tasks{background-color:#f43f5e}.nav-sub-item:hover .nav-sub-bullet{opacity:1;transform:scale(1.15)}.nav-sub-item.active .nav-sub-bullet{transform:scale(1.2);box-shadow:0 0 0 2px #05966940}.active-filter-pill{background-color:var(--primary-soft);border:1px solid var(--primary-soft-border);color:#047857;border-radius:var(--radius-full);align-items:center;gap:6px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.active-filter-pill strong{font-weight:600}.active-filter-clear-btn{color:var(--text-primary);cursor:pointer;opacity:.7;transition:opacity var(--transition-fast);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0 2px;font-size:13px;line-height:1;display:inline-flex}.active-filter-clear-btn:hover{opacity:1}.sidebar-footer{border-top:1px solid var(--sidebar-border);background-color:#fff;flex-direction:column;gap:8px;padding:10px 10px 12px;display:flex}.user-profile-badge{border-radius:var(--radius-md);border:1px solid var(--border-subtle);background-color:#f8fafc;align-items:center;gap:9px;padding:6px 8px;display:flex}.user-avatar-circle{border-radius:var(--radius-sm);color:#475569;background-color:#f1f5f9;border:1px solid #e2e8f0;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.user-details-text{flex:1;min-width:0}.user-full-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.01em;font-size:12.5px;font-weight:600;overflow:hidden}.user-role-tag{color:#64748b;text-transform:capitalize;font-size:10.5px;font-weight:500}.logout-button{border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:#64748b;cursor:pointer;transition:all var(--transition-base);font-size:12px;font-weight:500;font-family:var(--font-family);background:#fff;justify-content:center;align-items:center;gap:6px;width:100%;padding:6px 10px;display:flex}.logout-button:hover{color:#dc2626;background-color:#fef2f2;border-color:#fecaca}.app-main-viewport{background-color:var(--bg-app);flex:1;height:100vh;padding:24px 32px;overflow-y:auto}.app-main-viewport::-webkit-scrollbar{width:6px}.app-main-viewport::-webkit-scrollbar-track{background:0 0}.app-main-viewport::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#cbd5e1}.app-main-viewport::-webkit-scrollbar-thumb:hover{background:#94a3b8}.page-wrapper{max-width:1400px;margin:0 auto}.page-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:16px;display:flex}.page-title{color:var(--text-primary);letter-spacing:-.02em;font-size:20px;font-weight:600;line-height:1.25}.page-subtitle{color:var(--text-muted);margin-top:3px;font-size:13px;font-weight:400}.header-actions{align-items:center;gap:8px;display:flex}.kpi-metrics-grid{grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:18px;display:grid}@media (width<=1200px){.kpi-metrics-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=768px){.kpi-metrics-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.kpi-metrics-grid{grid-template-columns:1fr}}.kpi-card{border:1px solid var(--border-subtle);border-radius:var(--radius-xl);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;align-items:center;gap:12px;padding:13px 14px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;position:relative;box-shadow:0 1px 3px #00000008}.kpi-card:hover{border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 6px 14px -2px #0000000d,0 2px 4px -1px #00000008}.kpi-card.active{background:#fbfdfc;border-color:#059669;box-shadow:0 0 0 1.5px #059669,0 4px 12px #0596691a}.kpi-icon-box{border-radius:var(--radius-lg);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:transform .2s;display:flex}.kpi-card:hover .kpi-icon-box{transform:scale(1.06)}.kpi-icon-total{color:#475569;background-color:#f1f5f9;border:1px solid #e2e8f0}.kpi-icon-todo{color:#475569;background-color:#f8fafc;border:1px solid #cbd5e1}.kpi-icon-progress{color:#b45309;background-color:#fffbeb;border:1px solid #fde68a}.kpi-icon-review{color:#0f766e;background-color:#f0fdfa;border:1px solid #99f6e4}.kpi-icon-approved{color:#059669;background-color:#ecfdf5;border:1px solid #a7f3d0}.kpi-body{flex-direction:column;flex:1;min-width:0;display:flex}.kpi-title{color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-size:10.5px;font-weight:600}.kpi-value-row{justify-content:space-between;align-items:baseline;gap:6px;margin-top:2px;display:flex}.kpi-count{color:#0f172a;letter-spacing:-.02em;font-size:20px;font-weight:600;font-family:var(--font-family);line-height:1.2}.kpi-tag{border-radius:var(--radius-xs);letter-spacing:.02em;padding:1px 5px;font-size:9.5px;font-weight:500}.kpi-tag-neutral{color:#475569;background-color:#f1f5f9}.kpi-tag-warning{color:#92400e;background-color:#fef3c7}.kpi-tag-info{color:#115e59;background-color:#ccfbf1}.kpi-tag-success{color:#065f46;background-color:#d1fae5}.filter-toolbar{background-color:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);flex-direction:column;gap:12px;margin-bottom:16px;padding:14px 16px;display:flex}.search-input-wrapper{width:100%;position:relative}.search-icon{color:#94a3b8;pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.search-input{width:100%;height:36px;font-size:13px;font-family:var(--font-family);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);transition:all var(--transition-base);background-color:#fff;outline:none;padding:0 12px 0 34px}.search-input::placeholder{color:var(--text-placeholder)}.search-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--primary-focus-ring)}.filters-row{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.filter-select-group{flex-direction:column;flex:1;gap:5px;min-width:130px;display:flex}.filter-label{color:var(--text-label);letter-spacing:.01em;font-size:11px;font-weight:500}.filter-select{height:34px;font-size:12.5px;font-family:var(--font-family);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);transition:all var(--transition-base);cursor:pointer;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 8px center;background-repeat:no-repeat;background-size:14px;outline:none;padding:0 28px 0 10px}.filter-select:hover{border-color:var(--border-strong)}.filter-select:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--primary-focus-ring)}.table-card{background-color:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);overflow:hidden}.table-responsive{width:100%;overflow-x:auto}.business-table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.business-table thead th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-subtle);white-space:nowrap;background-color:#f8fafc;padding:10px 14px;font-size:11px;font-weight:500}.business-table tbody tr{transition:background-color var(--transition-fast);border-bottom:1px solid #f1f5f9}.business-table tbody tr:hover{background-color:#f8fafc}.business-table tbody tr.row-has-feedback{background-color:#fffbeb;border-left:2px solid #b45309}.business-table tbody td{vertical-align:middle;color:var(--text-secondary);padding:11px 14px}.table-empty-row{background-color:#fff!important}.table-empty-notice{text-align:center;color:var(--text-muted);padding:48px 16px;font-size:13px}.table-footer-summary{border-top:1px solid var(--border-subtle);color:var(--text-muted);background-color:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;font-size:12px;display:flex}.table-footer-summary strong{color:var(--text-primary);font-weight:600}.summary-pills-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.summary-pill{border-radius:var(--radius-full);padding:2px 9px;font-size:11.5px;font-weight:500}.summary-pill.todo{color:#4b5563;background-color:#f3f4f6;border:1px solid #e5e7eb}.summary-pill.in_progress{color:#92400e;background-color:#fffbeb;border:1px solid #fde68a}.summary-pill.completed{color:#115e59;background-color:#f0fdfa;border:1px solid #99f6e4}.summary-pill.approved{color:#166534;background-color:#f0fdf4;border:1px solid #bbf7d0}.status-badge{border-radius:var(--radius-full);white-space:nowrap;border:1px solid #0000;align-items:center;gap:5px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.status-badge-dot{border-radius:50%;flex-shrink:0;width:5px;height:5px}.status-badge-todo{color:#4b5563;background-color:#f3f4f6;border-color:#e5e7eb}.status-badge-todo .status-badge-dot{background-color:#9ca3af}.status-badge-in-progress{background-color:var(--warning-soft);color:var(--warning-text);border-color:var(--warning-border)}.status-badge-in-progress .status-badge-dot{background-color:var(--warning)}.status-badge-completed{background-color:var(--info-soft);color:var(--info-text);border-color:var(--info-border)}.status-badge-completed .status-badge-dot{background-color:var(--info)}.status-badge-approved{background-color:var(--success-soft);color:var(--success-text);border-color:var(--success-border)}.status-badge-approved .status-badge-dot{background-color:var(--success)}.task-cat-badge{border-radius:var(--radius-xs);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border:1px solid #0000;align-items:center;padding:1px 6px;font-size:10px;font-weight:500;display:inline-flex}.task-cat-badge.cat-gst{color:#15803d;background-color:#f0fdf4;border-color:#bbf7d0}.task-cat-badge.cat-pf{color:#b45309;background-color:#fffbeb;border-color:#fde68a}.task-cat-badge.cat-esi{color:#0f766e;background-color:#f0fdfa;border-color:#99f6e4}.task-cat-badge.cat-it{color:#c2410c;background-color:#fff7ed;border-color:#fed7aa}.task-cat-badge.cat-mca{color:#7e22ce;background-color:#faf5ff;border-color:#e9d5ff}.task-cat-badge.cat-pending-tasks{color:#be123c;background-color:#fff1f2;border-color:#fecdd3}.task-cat-badge.cat-general{color:#475569;border-color:var(--border-subtle);background-color:#f8fafc}.action-button-group{justify-content:flex-end;align-items:center;gap:6px;display:flex}.btn{font-family:var(--font-family);border-radius:var(--radius-md);cursor:pointer;height:34px;transition:all var(--transition-base);white-space:nowrap;letter-spacing:-.01em;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;display:inline-flex}.btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn-xs{border-radius:var(--radius-sm);gap:4px;height:24px;padding:0 8px;font-size:11px}.btn-sm{height:30px;padding:0 10px;font-size:12px}.btn-primary{background-color:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 1px 2px #05966933}.btn-primary:hover{background-color:var(--primary-hover);border-color:var(--primary-hover)}.btn-primary:active{background-color:var(--primary-darker);transform:translateY(.5px)}.btn-secondary{color:var(--text-secondary);border-color:var(--border-subtle);box-shadow:var(--shadow-xs);background-color:#fff}.btn-secondary:hover{border-color:var(--border-strong);color:var(--text-primary);background-color:#f8fafc}.btn-warning{color:#fff;background-color:#b45309;border-color:#b45309;box-shadow:0 1px 2px #0000000d}.btn-warning:hover{background-color:#92400e}.btn-subtle{color:var(--text-muted);background:0 0;border-color:#0000}.btn-subtle:hover{color:var(--text-primary);background-color:#f1f5f9}.btn-danger{background-color:var(--danger);color:#fff;border-color:var(--danger);box-shadow:0 1px 2px #b91c1c33}.btn-danger:hover{background-color:#991b1b;border-color:#991b1b}.btn-danger:active{background-color:#7f1d1d;transform:translateY(.5px)}.btn-outline-danger{color:var(--danger);border-color:var(--danger-border);box-shadow:var(--shadow-xs);background-color:#fff}.btn-outline-danger:hover{background-color:var(--danger-soft);color:var(--danger-text);border-color:var(--danger)}.btn-outline-danger:active{background-color:#fee2e2;transform:translateY(.5px)}.btn-block{width:100%}.btn-action-start{background-color:var(--warning-soft);color:var(--warning-text);border:1px solid var(--warning-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);font-size:11px;font-weight:500;font-family:var(--font-family);padding:2px 8px}.btn-action-start:hover{background-color:#fde68a}.btn-action-complete{background-color:var(--info-soft);color:var(--info-text);border:1px solid var(--info-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);font-size:11px;font-weight:500;font-family:var(--font-family);padding:2px 8px}.btn-action-complete:hover{background-color:#99f6e4}.admin-review-actions{gap:4px;display:flex}.btn-action-approve{background-color:var(--success-soft);color:var(--success-text);border:1px solid var(--success-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);font-size:11px;font-weight:500;font-family:var(--font-family);align-items:center;gap:3px;padding:2px 8px;display:inline-flex}.btn-action-approve:hover{background-color:#bbf7d0}.btn-action-sendback{background-color:var(--danger-soft);color:var(--danger-text);border:1px solid var(--danger-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);font-size:11px;font-weight:500;font-family:var(--font-family);align-items:center;gap:3px;padding:2px 8px;display:inline-flex}.btn-action-sendback:hover{background-color:#fecaca}.admin-crud-actions{align-items:center;gap:4px;display:flex}.table-mini-status-select{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);height:26px;color:var(--text-secondary);font-size:11.5px;font-family:var(--font-family);cursor:pointer;transition:border-color var(--transition-fast);background-color:#fff;outline:none;padding:2px 6px}.table-mini-status-select:focus{border-color:var(--border-focus)}.icon-action-btn{color:#94a3b8;cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:4px;display:inline-flex}.icon-action-btn:hover{color:var(--text-primary);background-color:#f1f5f9}.icon-action-btn.delete-btn:hover{background-color:var(--danger-soft);color:#dc2626}.client-group-row{border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--transition-fast);background-color:#f8fafc}.client-group-row:hover{background-color:#f1f5f9}.client-group-row.group-row-pending{background-color:#fefdf9;border-left:3px solid #f59e0b}.client-group-row.group-row-pending:hover{background-color:#fef9ee}.client-group-row.group-row-others{background-color:#f8fafc;border-left:3px solid #94a3b8}.client-group-cell{padding:9px 14px!important}.client-group-header-flex{justify-content:space-between;align-items:center;width:100%;display:flex}.client-group-title-group{align-items:center;gap:8px;display:flex}.client-group-chevron{color:#64748b;width:18px;height:18px;transition:transform var(--transition-base);justify-content:center;align-items:center;display:inline-flex}.client-avatar-badge{border-radius:var(--radius-sm);color:#047857;background-color:#ecfdf5;border:1px solid #a7f3d0;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.client-avatar-badge.avatar-pending{color:#b45309;background-color:#fffbeb;border-color:#fde68a}.client-group-name{color:var(--text-primary);letter-spacing:-.01em;font-size:13px;font-weight:600}.client-group-tags{align-items:center;gap:4px;display:inline-flex}.client-group-count-pill{color:#475569;border-radius:var(--radius-full);background-color:#fff;border:1px solid #cbd5e1;padding:2px 9px;font-size:11px;font-weight:600;box-shadow:0 1px 2px #0000000a}.task-sub-row{transition:background-color var(--transition-fast);background-color:#fff}.task-sub-row:hover{background-color:#fafbfc}.task-sub-cell-name{padding-left:36px!important}.assignee-cell-wrapper{align-items:center;gap:8px;display:flex}.assignee-avatar-mini{border-radius:var(--radius-full);color:#334155;letter-spacing:-.02em;background:#f1f5f9;border:1px solid #cbd5e1;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:10px;font-weight:600;display:flex}.assignee-cell-name{color:var(--text-primary);font-size:12.5px;font-weight:500;line-height:1.25}.empty-subgroup-row{background-color:#fff}.empty-subgroup-cell{color:var(--text-placeholder);font-size:12px;padding:12px 36px!important}.clients-layout-grid{grid-template-columns:310px 1fr;gap:16px;height:calc(100vh - 120px);display:grid}.clients-list-pane{background-color:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);flex-direction:column;display:flex;overflow:hidden}.clients-search-box{border-bottom:1px solid var(--border-subtle);background-color:#fff;padding:12px}.clients-scroll-list{flex:1;overflow-y:auto}.clients-scroll-list::-webkit-scrollbar{width:4px}.clients-scroll-list::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#cbd5e1}.client-list-item{cursor:pointer;transition:all var(--transition-fast);border-bottom:1px solid #f1f5f9;padding:10px 14px}.client-list-item:hover{background-color:#f8fafc}.client-list-item.selected{border-left:3px solid var(--primary);background-color:#f1f5f9}.client-item-name{color:var(--text-primary);letter-spacing:-.01em;font-size:13px;font-weight:600}.client-item-meta{color:var(--text-muted);justify-content:space-between;margin-top:2px;font-size:11px;display:flex}.empty-clients-notice{text-align:center;color:var(--text-muted);padding:32px 16px;font-size:12.5px}.client-detail-pane{background-color:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);padding:24px;overflow-y:auto}.client-info-header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.client-header-title{color:var(--text-primary);letter-spacing:-.02em;font-size:18px;font-weight:600}.client-header-tags{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.tax-id-tag{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-label);font-size:11px;font-family:var(--font-mono);background-color:#f8fafc;padding:2px 7px}.client-meta-grid{border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background-color:#f8fafc;grid-template-columns:repeat(2,1fr);gap:12px 20px;margin-bottom:20px;padding:14px 16px;display:grid}.meta-field{flex-direction:column;display:flex}.meta-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:500}.meta-value{color:var(--text-primary);margin-top:2px;font-size:12.5px;font-weight:500}.detail-divider{border:none;border-top:1px solid var(--border-subtle);margin:20px 0}.credentials-section{margin-top:8px}.credentials-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.credentials-title-group{align-items:center;gap:8px;display:flex}.credentials-title{color:var(--text-primary);font-size:14px;font-weight:600}.credentials-count-badge{color:var(--text-muted);border:1px solid var(--border-subtle);border-radius:var(--radius-full);background-color:#f1f5f9;padding:1px 7px;font-size:11px;font-weight:500}.credentials-list{flex-direction:column;gap:8px;display:flex}.empty-credentials-box{border:1px dashed var(--border-strong);border-radius:var(--radius-md);text-align:center;color:var(--text-muted);background-color:#f8fafc;padding:24px;font-size:12.5px}.credential-row-item{border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:all var(--transition-fast);background-color:#f8fafc;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.credential-row-item:hover{border-color:var(--border-strong);box-shadow:var(--shadow-xs);background-color:#fff}.cred-portal-col{flex-shrink:0;width:140px}.cred-portal-name{color:var(--text-primary);font-size:13px;font-weight:600}.cred-portal-link{color:var(--primary);margin-top:2px;font-size:11px;text-decoration:underline;display:inline-block}.cred-fields-col{flex-direction:column;flex:1;gap:4px;display:flex}.cred-field-inline{align-items:center;gap:8px;font-size:12px;display:flex}.field-hint{color:var(--text-muted);flex-shrink:0;width:64px;font-size:11px;font-weight:500}.field-val{color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-xs);font-size:11.5px;font-family:var(--font-mono);background-color:#fff;padding:2px 7px}.visibility-toggle-btn{border:1px solid var(--border-subtle);color:var(--text-muted);border-radius:var(--radius-xs);cursor:pointer;transition:all var(--transition-fast);font-size:10.5px;font-weight:500;font-family:var(--font-family);background:#fff;align-items:center;gap:4px;padding:2px 6px;display:inline-flex}.visibility-toggle-btn:hover{color:var(--text-primary);background-color:#f1f5f9}.copy-action-btn{color:#94a3b8;cursor:pointer;border-radius:var(--radius-xs);transition:all var(--transition-fast);background:0 0;border:none;align-items:center;padding:2px;display:inline-flex}.copy-action-btn:hover{color:var(--primary)}.cred-notes-subtext{color:var(--text-muted);margin-top:2px;font-size:11px}.cred-actions-col{gap:4px;display:flex}.no-selection-pane{height:100%;color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:40px;display:flex}.team-cell-name{color:var(--text-primary);font-size:13px;font-weight:600}.role-tag{text-transform:uppercase;border-radius:var(--radius-full);letter-spacing:.05em;padding:2px 7px;font-size:10px;font-weight:500;display:inline-block}.role-tag.admin{color:#047857;background-color:#ecfdf5;border:1px solid #a7f3d0}.role-tag.assistant{color:#64748b;background-color:#f8fafc;border:1px solid #e2e8f0}.user-status-badge{border-radius:var(--radius-full);align-items:center;gap:5px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.user-status-badge.active{background-color:var(--success-soft);color:var(--success-text);border:1px solid var(--success-border)}.user-status-badge.inactive{background-color:var(--danger-soft);color:var(--danger-text);border:1px solid var(--danger-border)}.btn-toggle-status{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);font-size:11px;font-weight:500;font-family:var(--font-family);border:1px solid #0000;padding:3px 8px}.btn-deactivate{background-color:var(--danger-soft);color:#b91c1c;border-color:var(--danger-border)}.btn-deactivate:hover{background-color:#fecaca}.btn-activate{background-color:var(--success-soft);color:#15803d;border-color:var(--success-border)}.btn-activate:hover{background-color:#bbf7d0}.modal-backdrop{-webkit-backdrop-filter:blur(4px);z-index:1000;background-color:#0f172a59;justify-content:center;align-items:center;width:100vw;height:100vh;padding:16px;animation:.15s backdropFadeIn;display:flex;position:fixed;top:0;left:0}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}.modal-container{border:1px solid var(--border-subtle);border-radius:var(--radius-xl);width:100%;max-width:500px;max-height:90vh;box-shadow:var(--shadow-modal);background-color:#fff;flex-direction:column;animation:.18s cubic-bezier(.16,1,.3,1) modalSlideIn;display:flex;overflow:hidden}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.98)translateY(6px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-container.max-w-lg{max-width:540px}.modal-container.modal-wide{max-width:680px}.modal-header{border-bottom:1px solid var(--border-subtle);background-color:#fff;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.modal-title{color:var(--text-primary);letter-spacing:-.01em;font-size:15px;font-weight:600}.modal-close-btn{color:#94a3b8;cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.modal-close-btn:hover{color:var(--text-primary);background-color:#f1f5f9}.modal-body{flex:auto;min-height:0;padding:18px 20px;overflow-y:auto}.modal-body.modal-body-flush{flex-direction:column;padding:0;display:flex;overflow:hidden}.modal-form-layout{flex-direction:column;flex:auto;height:100%;min-height:0;display:flex;overflow:hidden}.modal-form-scrollable{flex-direction:column;flex:auto;gap:14px;min-height:0;padding:18px 20px;display:flex;overflow-y:auto}.modal-actions-sticky{border-top:1px solid var(--border-subtle);z-index:10;background-color:#f8fafc;flex-shrink:0;margin-top:0;padding:12px 20px}.modal-helper-text{color:var(--text-muted);margin-bottom:12px;font-size:12px;line-height:1.5}.compact-form{flex-direction:column;gap:12px;display:flex}.form-group{flex-direction:column;gap:5px;display:flex}.form-grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-label{color:var(--text-label);font-size:12px;font-weight:500}.form-input{width:100%;height:34px;font-size:13px;font-family:var(--font-family);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);transition:all var(--transition-base);background-color:#fff;outline:none;padding:0 10px}.form-input::placeholder{color:var(--text-placeholder)}.form-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--primary-focus-ring)}.form-textarea{resize:vertical;height:auto;font-family:var(--font-family);padding:8px 10px;line-height:1.5}.modal-actions-bar{border-top:1px solid var(--border-subtle);justify-content:flex-end;gap:8px;margin-top:8px;padding-top:14px;display:flex}.modal-actions-split{border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:8px;margin-top:8px;padding-top:14px;display:flex}.notification-toast{border-radius:var(--radius-md);box-shadow:var(--shadow-xs);align-items:center;gap:8px;margin-bottom:14px;padding:9px 12px;font-size:12.5px;font-weight:500;display:flex}.notification-toast.success{background-color:var(--success-soft);color:var(--success-text);border:1px solid var(--success-border)}.notification-toast.info{background-color:var(--info-soft);color:var(--info-text);border:1px solid var(--info-border)}.login-screen-wrapper{background-color:#f1f5f9;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative;overflow:hidden}.login-card-container{border-radius:var(--radius-xl);z-index:1;background-color:#fff;border:1px solid #e2e8f0;width:100%;max-width:390px;padding:32px 32px 28px;animation:.25s cubic-bezier(.16,1,.3,1) cardAppear;position:relative;box-shadow:0 20px 25px -5px #0000000f,0 8px 10px -6px #0000000a}@keyframes cardAppear{0%{opacity:0;transform:scale(.98)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.login-header{text-align:center;margin-bottom:24px}.login-brand-icon{color:#fff;width:42px;height:42px;font-family:var(--font-family);border-radius:var(--radius-lg);background:linear-gradient(135deg,#059669 0%,#047857 100%);border:1px solid #04785733;justify-content:center;align-items:center;margin:0 auto 12px;font-size:16px;font-weight:600;display:flex;box-shadow:0 2px 6px #05966940}.login-title{color:var(--text-primary);letter-spacing:-.02em;font-size:20px;font-weight:600;line-height:1.25}.login-subtext{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin-top:4px;font-size:11px;font-weight:500}.login-alert-banner{background-color:var(--danger-soft);border:1px solid var(--danger-border);color:var(--danger-text);border-radius:var(--radius-md);align-items:center;gap:8px;margin-bottom:16px;padding:8px 11px;font-size:12px;font-weight:500;display:flex}.login-form{flex-direction:column;gap:14px;margin-bottom:16px;display:flex}.input-with-icon{position:relative}.input-icon{color:#94a3b8;pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.input-with-icon .form-input{padding-left:34px}.login-card-container .form-input{border-radius:var(--radius-md);background-color:#fff;border-color:#cbd5e1;height:38px;font-size:13.5px}.login-card-container .form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-focus-ring)}.login-card-container .btn-primary{border-radius:var(--radius-md);height:38px;font-size:13.5px}.demo-credentials-box{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background-color:#f8fafc;margin-top:16px;padding:12px}.demo-header{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:6px;margin-bottom:8px;font-size:11px;font-weight:500;display:flex}.demo-actions-grid{flex-direction:column;gap:4px;display:flex}.btn-demo-pill{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);text-align:left;cursor:pointer;color:var(--text-secondary);transition:all var(--transition-fast);font-size:11.5px;font-family:var(--font-family);background:#fff;padding:6px 10px;font-weight:500}.btn-demo-pill:hover{border-color:var(--border-strong);color:var(--text-primary);background-color:#f1f5f9}.demo-direct-row{border-top:1px solid var(--border-subtle);color:var(--text-muted);align-items:center;gap:6px;margin-top:8px;padding-top:8px;font-size:11px;display:flex}.direct-login-label{text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:500}.link-btn{color:var(--primary);cursor:pointer;font-size:11.5px;font-weight:600;font-family:var(--font-family);background:0 0;border:none;padding:0;text-decoration:underline}.link-btn:hover{color:var(--primary-hover)}.login-footer-notice{color:var(--text-muted);text-align:center;margin-top:14px;font-size:11px;line-height:1.4}.client-type-badge{border-radius:var(--radius-xs);color:var(--text-primary);background-color:#f1f5f9;border:1px solid #cbd5e1;align-items:center;padding:1px 6px;font-size:10px;font-weight:500;display:inline-flex}.client-type-badge.badge-pending{background-color:var(--warning-soft);color:var(--warning-text);border:1px solid var(--warning-border)}.client-item-types-row{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.client-header-types-list{flex-wrap:wrap;gap:5px;display:inline-flex}.client-types-selection-grid{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.client-type-chip{border-radius:var(--radius-md);border:1px solid var(--border-subtle);color:var(--text-label);cursor:pointer;transition:all var(--transition-fast);font-size:11.5px;font-weight:500;font-family:var(--font-family);background-color:#fff;align-items:center;padding:4px 10px;display:inline-flex}.client-type-chip:hover:not(:disabled){border-color:var(--border-strong);background-color:#f8fafc}.client-type-chip.selected{color:#065f46;background-color:#ecfdf5;border-color:#059669;font-weight:600}.client-type-chip.chip-pending.selected{color:#854d0e;background-color:#fffbeb;border-color:#b45309}.client-type-chip.disabled{opacity:.45;cursor:not-allowed;background-color:#f8fafc}.client-types-selected-row{flex-wrap:wrap;align-items:center;gap:4px;margin-top:6px;display:flex}.modal-credentials-block{border-top:1px solid var(--border-subtle);margin-top:14px;padding-top:12px}.modal-credentials-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.empty-inline-creds-hint{color:var(--text-muted);border:1px dashed var(--border-strong);border-radius:var(--radius-md);text-align:center;background-color:#f8fafc;padding:12px;font-size:11.5px}.inline-credentials-stack{flex-direction:column;gap:10px;display:flex}.inline-cred-card,.compact-cred-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background-color:#f8fafc;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.inline-cred-card-top,.compact-cred-card-top{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;margin-bottom:2px;padding-bottom:6px;display:flex}.inline-cred-title{color:var(--text-secondary);font-size:12px;font-weight:600}.compact-cred-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (width<=540px){.compact-cred-grid{grid-template-columns:1fr}}.cred-fields-horizontal-row{align-items:flex-start;gap:8px;width:100%;display:flex}.cred-fields-horizontal-row .cred-field-type{flex:0 0 115px}.cred-fields-horizontal-row .cred-field-username,.cred-fields-horizontal-row .cred-field-password{flex:1;min-width:0}@media (width<=580px){.cred-fields-horizontal-row{flex-direction:column}.cred-fields-horizontal-row .cred-field-type{flex:1;width:100%}}.password-input-relative{align-items:center;display:flex;position:relative}.password-toggle-btn-inline{color:#94a3b8;cursor:pointer;border-radius:var(--radius-xs);transition:color var(--transition-fast);background:0 0;border:none;align-items:center;padding:3px;display:flex;position:absolute;right:6px}.password-toggle-btn-inline:hover{color:var(--text-secondary)}.form-error-banner{background-color:var(--danger-soft);border:1px solid var(--danger-border);color:var(--danger-text);border-radius:var(--radius-md);align-items:center;gap:8px;padding:8px 12px;font-size:12px;font-weight:500;display:flex}.input-error{background-color:#fef2f2!important;border-color:#dc2626!important}.form-input-sm{height:28px;padding:0 8px;font-size:12px}.btn-action-move-others{border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);font-size:11px;font-weight:500;font-family:var(--font-family);background-color:#fff;align-items:center;gap:4px;padding:2px 7px;display:inline-flex}.btn-action-move-others:hover{border-color:var(--border-strong);color:var(--text-primary);background-color:#f1f5f9}.task-preview-box{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background-color:#f8fafc;padding:10px 12px}@media (width<=768px){.app-layout-root{flex-direction:column}.app-sidebar{border-right:none;border-bottom:1px solid var(--sidebar-border);width:100%}.sidebar-nav{flex-direction:row;overflow-x:auto}.clients-layout-grid{grid-template-columns:1fr;height:auto}}
