:root{--primary: #7c3aed;--primary-dark: #6d28d9;--primary-light: #a78bfa;--secondary: #1e3a5f;--secondary-light: #2563eb;--success: #059669;--success-light: #d1fae5;--warning: #f59e0b;--warning-light: #fef3c7;--danger: #dc2626;--danger-light: #fee2e2;--info: #0891b2;--info-light: #cffafe;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .15);--sidebar-width: 260px;--sidebar-collapsed-width: 70px;--transition-fast: .15s ease;--transition-normal: .3s ease;--bg-card: #ffffff;--bg-main: #f9fafb;--border: #e5e7eb;--text-dark: #1f2937;--text-gray: #6b7280;--text-light: #9ca3af;--primary-bg: #f5f3ff}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:14px;scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--gray-100);color:var(--gray-800);line-height:1.5;min-height:100vh}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:var(--spacing-md)}.loading-spinner{width:40px;height:40px;border:3px solid var(--gray-200);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-container{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--secondary);color:#fff;display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;z-index:100;transition:width var(--transition-normal)}.sidebar-collapsed .sidebar{width:var(--sidebar-collapsed-width)}.sidebar-header{padding:var(--spacing-md);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1)}.logo{display:flex;align-items:center;gap:var(--spacing-sm)}.logo-icon{font-size:24px}.logo-text{font-size:18px;font-weight:700}.sidebar-collapsed .logo-text{display:none}.sidebar-toggle{background:none;border:none;color:#fff;cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm)}.sidebar-toggle:hover{background:#ffffff1a}.sidebar-nav{flex:1;padding:var(--spacing-md) 0;overflow-y:auto}.sidebar-nav ul{list-style:none}.sidebar-nav li{margin:var(--spacing-xs) var(--spacing-sm)}.sidebar-nav a{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);color:#fffc;border-radius:var(--radius-md);transition:all var(--transition-fast)}.sidebar-nav a:hover{background:#ffffff1a;color:#fff;text-decoration:none}.sidebar-nav li.active a{background:var(--primary);color:#fff}.nav-icon{font-size:18px;width:24px;text-align:center}.sidebar-collapsed .nav-text{display:none}.nav-group{margin-bottom:2px}.nav-group-header{display:flex;align-items:center;gap:10px;width:100%;padding:6px 12px 6px 10px;background:none;border:none;color:#ffffff80;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border-radius:var(--radius-md);transition:color var(--transition-fast),background var(--transition-fast)}.nav-group-header:hover{color:#ffffffd9;background:#ffffff0f}.nav-group.has-active .nav-group-header{color:#ffffffbf}.nav-group-icon{font-size:16px;width:24px;text-align:center;flex-shrink:0}.nav-group-label{flex:1;text-align:left}.nav-group-arrow{font-size:10px;transition:transform var(--transition-fast);transform:rotate(-90deg)}.nav-group.open .nav-group-arrow{transform:rotate(0)}.nav-group-body{list-style:none;overflow:hidden;max-height:0;transition:max-height .22s ease}.nav-group.open .nav-group-body{max-height:400px}.nav-group .sidebar-nav li,.nav-group-body li{margin:1px 6px 1px 10px}.nav-group-body li a{display:flex;align-items:center;gap:var(--spacing-md);padding:7px var(--spacing-md);color:#ffffffbf;border-radius:var(--radius-md);transition:all var(--transition-fast)}.nav-group-body li a:hover{background:#ffffff1a;color:#fff;text-decoration:none}.nav-group-body li.active a{background:var(--primary);color:#fff}.sidebar-collapsed .nav-group-label,.sidebar-collapsed .nav-group-arrow{display:none}.sidebar-collapsed .nav-group-header{justify-content:center;padding:6px}.sidebar-collapsed .nav-group-body{max-height:0!important}.sidebar-footer{padding:var(--spacing-md);border-top:1px solid rgba(255,255,255,.1)}.user-info{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.user-avatar{width:36px;height:36px;background:var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600}.user-details{display:flex;flex-direction:column}.sidebar-collapsed .user-details{display:none}.user-name{font-weight:600;font-size:13px}.user-role{font-size:11px;opacity:.7;text-transform:capitalize}.btn-logout{width:100%;padding:var(--spacing-sm);background:#ffffff1a;border:none;color:#fff;border-radius:var(--radius-md);cursor:pointer;font-size:12px}.btn-logout:hover{background:#fff3}.main-content{flex:1;margin-left:var(--sidebar-width);transition:margin-left var(--transition-normal)}.sidebar-collapsed .main-content{margin-left:var(--sidebar-collapsed-width)}.main-header{background:#fff;padding:var(--spacing-md) var(--spacing-lg);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--gray-200);position:sticky;top:0;z-index:50}.header-left{display:flex;align-items:center;gap:10px;min-width:0}.page-title{font-size:20px;font-weight:600;color:var(--gray-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tenant-name{font-size:13px;color:var(--gray-500)}.content-area{padding:var(--spacing-lg)}.login-container{display:flex;min-height:100vh;background:#f8f7ff}.login-panel-form{width:480px;flex-shrink:0;display:flex;flex-direction:column;padding:36px 48px;background:#fff;overflow-y:auto}.login-brand{display:flex;align-items:center;gap:10px;margin-bottom:40px}.login-brand-icon{font-size:28px;line-height:1}.login-brand-name{font-size:22px;font-weight:800;color:var(--secondary);letter-spacing:-.5px}.login-card{flex:1;display:flex;flex-direction:column;justify-content:center}.login-card-header{margin-bottom:28px}.login-card-header h2{font-size:26px;font-weight:700;color:var(--gray-900);margin:0 0 6px;letter-spacing:-.4px}.login-card-header p{font-size:14px;color:var(--gray-500);margin:0}.login-tabs{display:flex;gap:0;margin-bottom:28px;background:var(--gray-100);border-radius:var(--radius-md);padding:3px}.login-tabs .tab-btn{flex:1;padding:8px 16px;border:none;background:transparent;border-radius:calc(var(--radius-md) - 2px);cursor:pointer;font-weight:600;font-size:13px;color:var(--gray-500);transition:all var(--transition-fast)}.login-tabs .tab-btn.active{background:#fff;color:var(--secondary);box-shadow:0 1px 4px #0000001f}.login-form{display:flex;flex-direction:column;gap:18px}.lf-group{display:flex;flex-direction:column;gap:6px}.lf-group label{font-size:13px;font-weight:600;color:var(--gray-700)}.lf-input-wrap{position:relative}.lf-input{width:100%;box-sizing:border-box;padding:11px 14px;border:1.5px solid var(--gray-200);border-radius:var(--radius-md);font-size:14px;color:var(--gray-900);background:#fff;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none}.lf-input-wrap .lf-input{padding-right:40px}.lf-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #7c3aed1a}.lf-input::placeholder{color:var(--gray-300)}.lf-eye{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:16px;opacity:.5;padding:2px;line-height:1;transition:opacity var(--transition-fast)}.lf-eye:hover{opacity:.85}.lf-forgot{text-align:right;margin-top:-8px}.lf-forgot a{font-size:12px;color:var(--primary);font-weight:500}.lf-submit{width:100%;padding:12px;background:var(--secondary);color:#fff;border:none;border-radius:var(--radius-md);font-size:15px;font-weight:700;cursor:pointer;letter-spacing:.02em;transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);box-shadow:0 2px 8px #1e3a5f33;margin-top:4px}.lf-submit:hover{background:#162f4a;box-shadow:0 4px 16px #1e3a5f4d;transform:translateY(-1px)}.lf-submit:active{transform:translateY(0)}.lf-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--gray-400);font-size:12px}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--gray-200)}.btn-google{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:11px 16px;border:1.5px solid var(--gray-200);background:#fff;border-radius:var(--radius-md);cursor:pointer;font-weight:600;font-size:14px;color:var(--gray-700);transition:all var(--transition-fast)}.btn-google:hover{background:var(--gray-50);border-color:var(--gray-300);box-shadow:0 2px 6px #0000000f}.btn-portal-client{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:11px 16px;border:1.5px solid rgba(37,99,235,.35);background:#eff6ff;color:#1d4ed8;border-radius:var(--radius-md);cursor:pointer;font-weight:600;font-size:14px;transition:all var(--transition-fast)}.btn-portal-client:hover{background:#dbeafe;border-color:#1d4ed8}.lf-terms{font-size:11px;color:var(--gray-400);text-align:center;margin:12px 0 0;line-height:1.6}.lf-terms a{color:var(--primary)}.login-panel-brand{flex:1;background:linear-gradient(150deg,var(--secondary) 0%,#0f2440 40%,#1a1060 100%);display:flex;align-items:center;justify-content:center;padding:48px;position:relative;overflow:hidden}.login-panel-brand:before{content:"";position:absolute;width:500px;height:500px;border-radius:50%;background:#7c3aed1f;top:-150px;right:-120px}.login-panel-brand:after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:#2563eb1a;bottom:-80px;left:-60px}.login-panel-brand-inner{position:relative;z-index:1;max-width:440px;color:#fff}.lpb-badge{display:inline-block;background:#7c3aed59;border:1px solid rgba(167,139,250,.4);color:#c4b5fd;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border-radius:var(--radius-full);margin-bottom:24px}.lpb-title{font-size:46px;font-weight:800;line-height:1.1;letter-spacing:-1.5px;margin:0 0 20px;color:#fff}.lpb-sub{font-size:13px;color:#ffffff80;margin:0 0 40px;letter-spacing:.02em;line-height:1.6}.lpb-features{list-style:none;display:flex;flex-direction:column;gap:20px;margin:0 0 48px;padding:0}.lpb-features li{display:flex;align-items:flex-start;gap:16px}.lpb-feat-icon{font-size:26px;line-height:1;flex-shrink:0;margin-top:2px;filter:drop-shadow(0 0 8px rgba(167,139,250,.4))}.lpb-features strong{display:block;font-size:15px;font-weight:700;color:#fff;margin-bottom:3px}.lpb-features span{font-size:13px;color:#ffffff8c;line-height:1.5}.lpb-footer{font-size:12px;color:#ffffff59;padding-top:24px;border-top:1px solid rgba(255,255,255,.1)}.lpb-footer strong{color:#ffffff8c}@media (max-width: 900px){.login-panel-brand{display:none}.login-panel-form{width:100%;padding:32px 24px}}@media (max-width: 400px){.login-panel-form{padding:24px 16px}.lpb-title{font-size:34px}}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-group label{font-weight:500;color:var(--gray-700);font-size:13px}textarea{resize:none;width:100%;box-sizing:border-box;overflow:hidden;field-sizing:content;min-height:60px;font-family:inherit;line-height:1.5}.form-input,.form-select{padding:var(--spacing-sm) var(--spacing-md);border:1.5px solid var(--gray-300);border-radius:var(--radius-md);font-size:14px;transition:border-color var(--transition-fast)}.form-input:focus,.form-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #7c3aed1a}.login-footer{margin-top:var(--spacing-lg);text-align:center;font-size:13px}.login-footer a{color:var(--primary)}.terms{color:var(--gray-500);font-size:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-md);font-weight:600;font-size:13px;cursor:pointer;transition:all var(--transition-fast)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{background:var(--gray-200);color:var(--gray-700)}.btn-secondary:hover{background:var(--gray-300)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#b91c1c}.btn-full{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}.toast-container{position:fixed;top:var(--spacing-lg);right:var(--spacing-lg);z-index:10000;display:flex;flex-direction:column;gap:var(--spacing-sm)}.toast{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);transform:translate(120%);transition:transform var(--transition-normal);min-width:280px}.toast-show{transform:translate(0)}.toast-hide{transform:translate(120%)}.toast-icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.toast-success .toast-icon{background:var(--success-light);color:var(--success)}.toast-error .toast-icon{background:var(--danger-light);color:var(--danger)}.toast-warning .toast-icon{background:var(--warning-light);color:var(--warning)}.toast-info .toast-icon{background:var(--info-light);color:var(--info)}.toast-message{flex:1;font-size:13px}.toast-close{background:none;border:none;color:var(--gray-400);cursor:pointer;font-size:18px;padding:0;line-height:1}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;opacity:0;transition:opacity var(--transition-normal)}.modal-overlay.modal-show{opacity:1}.modal-overlay.modal-hide{opacity:0}.modal{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-height:90vh;overflow:hidden;display:flex;flex-direction:column;transform:scale(.9);transition:transform var(--transition-normal)}.modal-show .modal{transform:scale(1)}.modal-small{width:400px}.modal-medium{width:600px}.modal-large{width:800px}.modal-full{width:95vw;max-width:1200px}.modal-fullscreen{width:98vw;max-width:none;height:96vh;max-height:96vh;border-radius:var(--radius-lg)}.modal-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;align-items:center}.modal-title{font-size:16px;font-weight:600}.modal-close{background:none;border:none;font-size:24px;color:var(--gray-400);cursor:pointer;line-height:1}.modal-close:hover{color:var(--gray-600)}.modal-body{padding:var(--spacing-lg);overflow-y:auto;flex:1}.modal-footer{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--gray-200);display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.dashboard-header-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.board-search-inline{width:220px;padding:6px 12px;font-size:13px}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.stat-card{background:#fff;padding:var(--spacing-lg);border-radius:var(--radius-lg);display:flex;align-items:center;gap:var(--spacing-md);box-shadow:var(--shadow-sm)}.stat-icon{font-size:32px}.stat-value{font-size:24px;font-weight:700;color:var(--gray-800);display:block}.stat-label{font-size:12px;color:var(--gray-500)}.kanban-board{display:flex;gap:var(--spacing-md);overflow-x:auto;padding-bottom:var(--spacing-md)}.kanban-column{min-width:280px;max-width:320px;background:var(--gray-100);border-radius:var(--radius-lg);display:flex;flex-direction:column;transition:min-width .2s,max-width .2s}.kanban-column.expanded{min-width:420px;max-width:520px}.kanban-column.collapsed{min-width:48px;max-width:48px;overflow:hidden;cursor:pointer}.kanban-column.collapsed .kanban-column-body{display:none}.kanban-column.collapsed .kanban-column-header{flex-direction:column;align-items:center;justify-content:flex-start;padding:var(--spacing-sm) 6px;gap:6px}.kanban-column.collapsed .column-header-actions{display:none}.kanban-column.collapsed .column-title{writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-height:180px;font-size:12px}.kanban-column-header{padding:var(--spacing-md);font-weight:600;display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid}.kanban-column-count{background:#fff;padding:2px 8px;border-radius:var(--radius-full);font-size:12px}.kanban-column-body{padding:var(--spacing-sm);flex:1;overflow-y:auto;max-height:60vh}.kanban-card{background:#fff;padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-sm);box-shadow:var(--shadow-sm);cursor:pointer;transition:box-shadow var(--transition-fast)}.kanban-card:hover{box-shadow:var(--shadow-md)}.kanban-card-title{font-weight:600;margin-bottom:var(--spacing-xs)}.kanban-card-meta{font-size:12px;color:var(--gray-500)}.loading{text-align:center;padding:var(--spacing-xl);color:var(--gray-500)}.error{text-align:center;padding:var(--spacing-xl);color:var(--danger)}.text-muted{color:var(--gray-500)}.text-center{text-align:center}.hamburger-btn{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:8px;background:none;border:none;cursor:pointer;border-radius:var(--radius-md);flex-shrink:0}.hamburger-btn:hover{background:var(--gray-100)}.hamburger-btn span{display:block;height:2px;width:100%;background:var(--gray-700);border-radius:2px;transition:all var(--transition-fast)}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sidebar-overlay.active{display:block}@media (max-width: 768px){.hamburger-btn{display:flex}.sidebar{transform:translate(-100%);transition:transform var(--transition-normal);z-index:100;width:280px!important}.sidebar.mobile-open{transform:translate(0);box-shadow:4px 0 24px #00000040}.sidebar-collapsed .sidebar{width:280px!important;transform:translate(-100%)}.sidebar-collapsed .sidebar.mobile-open{transform:translate(0)}.sidebar-collapsed .nav-text,.sidebar-collapsed .nav-group-label,.sidebar-collapsed .nav-group-arrow,.sidebar-collapsed .user-details,.sidebar-collapsed .logo-text{display:revert!important}.sidebar-collapsed .nav-group-header{justify-content:flex-start;padding:6px 12px 6px 10px}.sidebar-collapsed .nav-group-body{max-height:unset}.sidebar-toggle{display:none}.main-content{margin-left:0!important}.main-header{padding:10px 14px;gap:10px}.header-left{gap:8px}.page-title{font-size:16px}.tenant-name{display:none}.dashboard-stats{grid-template-columns:1fr 1fr;gap:8px}.stat-card{padding:12px}.stat-value{font-size:20px}.kanban-board{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:12px}.kanban-columns{min-width:max-content}.modal-overlay{align-items:flex-end;padding:0}.modal,.modal-small,.modal-medium,.modal-large,.modal-full{width:100%!important;max-width:100%!important;max-height:92vh;border-radius:20px 20px 0 0!important;transform:translateY(40px)}.modal-show .modal,.modal-show .modal-small,.modal-show .modal-medium,.modal-show .modal-large,.modal-show .modal-full{transform:translateY(0)}.modal-header:before{content:"";display:block;width:36px;height:4px;background:var(--gray-200);border-radius:2px;margin:0 auto 12px}.form-row{flex-direction:column!important;gap:12px!important}.data-table-wrap,.tasks-list-table,.billing-table,.clients-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.clients-table thead{display:none}.clients-table tr{display:flex;flex-direction:column;padding:12px 14px;border-bottom:1px solid var(--gray-200);gap:4px}.clients-table td{border:none;padding:0;font-size:13px}.clients-table td:first-child{font-weight:700;font-size:14px;color:var(--gray-900)}.btn,.btn-icon,.nav-group-body li a,.sidebar-nav a,.tab-btn{min-height:44px}.btn-sm{min-height:36px}.page-header{flex-direction:column;align-items:flex-start;gap:10px}.page-header>div{width:100%;flex-wrap:wrap}.dashboard-header{flex-direction:column;align-items:flex-start;gap:10px}.board-search-inline{width:100%}.billing-stats-row{grid-template-columns:1fr}.content-area{padding:12px}}.data-table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.data-table th,.data-table td{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:1px solid var(--gray-100)}.data-table th{background:var(--gray-50);font-weight:600;font-size:12px;text-transform:uppercase;color:var(--gray-600)}.data-table .client-name{display:flex;flex-direction:column}.data-table .client-name small{color:var(--gray-500);font-size:11px}.badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-full);font-size:11px;font-weight:600;text-transform:capitalize}.badge-secondary{background:var(--gray-200);color:var(--gray-600)}.action-buttons{display:flex;gap:var(--spacing-xs)}.btn-icon{width:32px;height:32px;border:none;background:var(--gray-100);border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.btn-icon:hover{background:var(--gray-200)}.btn-icon-danger:hover{background:var(--danger-light)}.btn-icon-warning:hover{background:var(--warning-light)}.summary-card{background:#fff;padding:var(--spacing-lg);border-radius:var(--radius-lg);display:flex;align-items:center;gap:var(--spacing-md);box-shadow:var(--shadow-sm)}.summary-card.success{border-left:4px solid var(--success)}.summary-card.danger{border-left:4px solid var(--danger)}.summary-icon{font-size:28px}.summary-value{font-size:20px;font-weight:700;display:block}.cartera-aging{background:#fff;padding:var(--spacing-lg);border-radius:var(--radius-lg);margin-bottom:var(--spacing-lg)}.cartera-aging h4{margin-bottom:var(--spacing-md)}.aging-item{display:grid;grid-template-columns:100px 1fr 120px;align-items:center;gap:var(--spacing-md)}.aging-label{font-size:13px;color:var(--gray-600)}.aging-bar{height:8px;background:var(--gray-200);border-radius:var(--radius-full);overflow:hidden}.aging-fill{height:100%;border-radius:var(--radius-full);transition:width var(--transition-normal)}.aging-value{font-size:13px;font-weight:600;text-align:right}.billing-actions{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.billing-filters .form-select{min-width:200px}.portal-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(150deg,var(--secondary) 0%,#0f2440 45%,#1a1060 100%);padding:24px;position:relative;overflow:hidden}.plp-blob{position:absolute;border-radius:50%;pointer-events:none}.plp-blob-1{width:600px;height:600px;background:#7c3aed1a;top:-200px;right:-150px}.plp-blob-2{width:400px;height:400px;background:#2563eb14;bottom:-120px;left:-100px}.plp-card{position:relative;z-index:1;background:#fff;border-radius:20px;padding:40px 44px;width:100%;max-width:420px;box-shadow:0 24px 80px #00000059}.plp-brand{display:flex;align-items:center;gap:8px;margin-bottom:32px}.plp-brand-icon{font-size:24px}.plp-brand-name{font-size:19px;font-weight:800;color:var(--secondary);letter-spacing:-.4px}.plp-header{margin-bottom:28px}.plp-badge{display:inline-block;background:#7c3aed14;color:var(--primary);font-size:11px;font-weight:700;letter-spacing:.04em;padding:4px 10px;border-radius:var(--radius-full);margin-bottom:10px;border:1px solid rgba(124,58,237,.18)}.plp-header h2{font-size:24px;font-weight:700;color:var(--gray-900);margin:0 0 6px;letter-spacing:-.3px}.plp-header p{font-size:13px;color:var(--gray-500);margin:0}.plp-form{display:flex;flex-direction:column;gap:18px;margin-bottom:24px}.plp-submit{width:100%;padding:13px;background:linear-gradient(135deg,var(--secondary),#162f4a);color:#fff;border:none;border-radius:var(--radius-md);font-size:15px;font-weight:700;cursor:pointer;letter-spacing:.02em;transition:opacity var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);box-shadow:0 4px 14px #1e3a5f47;margin-top:4px}.plp-submit:hover{opacity:.92;transform:translateY(-1px);box-shadow:0 6px 20px #1e3a5f59}.plp-submit:active{transform:translateY(0)}.plp-footer{text-align:center;font-size:12px;color:var(--gray-400);display:flex;flex-direction:column;gap:8px}.plp-back{font-size:12px;color:var(--primary);font-weight:500}.client-portal{min-height:100vh;background:#f1f5f9}.portal-header-bar{background:linear-gradient(90deg,var(--secondary) 0%,#162f4a 100%);color:#fff;padding:0 32px;height:58px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 12px #0000002e}.portal-brand{display:flex;align-items:center;gap:10px}.portal-brand-icon{font-size:22px}.portal-brand-name{font-size:17px;font-weight:800;letter-spacing:-.3px}.portal-brand-sep{opacity:.35;font-size:18px;margin:0 2px}.portal-brand-firm{font-size:12px;opacity:.65;font-weight:400}.portal-user{display:flex;align-items:center;gap:10px}.portal-user-avatar{width:32px;height:32px;border-radius:50%;background:#ffffff2e;border:1.5px solid rgba(255,255,255,.35);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}.portal-user-name{font-size:13px;font-weight:500;opacity:.9}.portal-logout-btn{padding:5px 14px;background:#ffffff1f;border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:var(--radius-md);font-size:12px;font-weight:600;cursor:pointer;transition:background var(--transition-fast)}.portal-logout-btn:hover{background:#ffffff38}.portal-hero{background:linear-gradient(135deg,var(--secondary) 0%,#1a3560 60%,#1a1060 100%);color:#fff;padding:40px 32px}.portal-hero-inner{max-width:820px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.portal-hero-tag{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffffff80;margin:0 0 8px}.portal-hero h1{font-size:34px;font-weight:800;letter-spacing:-.8px;margin:0 0 8px;color:#fff}.portal-hero-sub{font-size:14px;color:#fff9;margin:0;max-width:380px}.portal-hero-actions{display:flex;gap:12px;flex-wrap:wrap}.quick-card{background:#ffffff1f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.22);padding:10px 18px;border-radius:var(--radius-lg);display:flex;align-items:center;gap:8px;color:#fff;font-size:13px;font-weight:600;text-decoration:none;transition:all var(--transition-fast)}.quick-card:hover{background:#fff3;text-decoration:none;transform:translateY(-1px);color:#fff}.quick-icon{font-size:20px}.portal-main{max-width:820px;margin:0 auto;padding:24px 16px 48px}.portal-card{background:#fff;padding:20px 24px;border-radius:var(--radius-lg);margin-bottom:16px;box-shadow:0 1px 4px #0000000f,0 2px 12px #0000000a;border:1px solid rgba(0,0,0,.04)}.portal-card h3{margin:0 0 16px;font-size:15px;font-weight:700;color:var(--gray-800);display:flex;align-items:center;gap:6px}.portal-card.highlight{border-left:4px solid var(--primary)}.progress-display{display:flex;align-items:center;gap:20px}.progress-circle{width:84px;height:84px;border-radius:50%;background:conic-gradient(var(--primary) calc(var(--progress) * 1%),var(--gray-100) calc(var(--progress) * 1%));display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0;box-shadow:0 2px 12px #7c3aed33}.progress-circle:before{content:"";position:absolute;width:62px;height:62px;background:#fff;border-radius:50%}.progress-value{position:relative;font-size:18px;font-weight:800;color:var(--primary)}.progress-info p{margin:0;font-size:14px;color:var(--gray-700)}.due-date{font-size:12px;color:var(--gray-500);margin-top:6px}.portal-chat{border:1px solid var(--gray-200);border-radius:var(--radius-md);overflow:hidden}.portal-chat .chat-messages{height:220px;overflow-y:auto;padding:14px;background:#f8fafc;display:flex;flex-direction:column;gap:8px}.chat-message{max-width:78%;padding:8px 12px;border-radius:12px;font-size:13px;line-height:1.45}.chat-message.sent{background:var(--primary);color:#fff;margin-left:auto;border-bottom-right-radius:4px}.chat-message.received{background:#fff;border:1px solid var(--gray-200);border-bottom-left-radius:4px;color:var(--gray-800)}.message-time{font-size:10px;opacity:.6;margin-top:3px;display:block}.portal-chat .chat-input{display:flex;gap:8px;padding:10px;background:#fff;border-top:1px solid var(--gray-200)}.portal-chat .chat-input input{flex:1}.tax-simulator{max-width:420px}.simulator-results{background:var(--gray-50);padding:var(--spacing-md);border-radius:var(--radius-md);margin-top:var(--spacing-md);border:1px solid var(--gray-200)}.result-item{display:flex;justify-content:space-between;padding:var(--spacing-xs) 0}.result-item.highlight{font-size:18px;font-weight:600;color:var(--primary);border-top:1px solid var(--gray-200);margin-top:var(--spacing-sm);padding-top:var(--spacing-sm)}.billing-summary-mini{display:flex;gap:12px;flex-wrap:wrap}.billing-item{flex:1;min-width:100px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:12px 16px;display:flex;flex-direction:column;gap:4px}.billing-item .label{font-size:11px;color:var(--gray-500);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.billing-item .value{font-size:16px;font-weight:700;color:var(--gray-800)}@media (max-width: 640px){.portal-header-bar{padding:0 16px}.portal-brand-firm,.portal-user-name{display:none}.portal-hero{padding:28px 16px}.portal-hero h1{font-size:26px}.portal-hero-inner{flex-direction:column;align-items:flex-start}.plp-card{padding:32px 24px}}.client-detail{max-height:90vh;overflow-y:auto}.client-header-bar{display:flex;align-items:center;justify-content:space-between;padding:6px 0 8px;border-bottom:1px solid var(--gray-200);margin-bottom:8px;gap:12px;flex-wrap:wrap}.client-header-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--gray-600)}.client-header-doc{font-weight:600;color:var(--gray-800)}.client-header-sep{color:var(--gray-300)}.client-header-progress{color:var(--primary);font-weight:600}.btn-header-toggle{background:none;border:1px solid var(--gray-300);border-radius:var(--radius-md);padding:3px 10px;font-size:12px;color:var(--gray-500);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast)}.btn-header-toggle:hover{border-color:var(--primary);color:var(--primary)}.client-header{margin-bottom:var(--spacing-lg)}.client-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.info-item{display:flex;flex-direction:column}.info-label{font-size:11px;color:var(--gray-500);margin-bottom:2px}.info-value{font-weight:500}.client-indicators{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;margin-bottom:var(--spacing-md)}.indicator{padding:4px 12px;border-radius:var(--radius-full);font-size:12px;text-decoration:none}.indicator-danger{background:#fee2e2;color:#991b1b}.indicator-orange{background:#ffedd5;color:#9a3412}.indicator-neutral{background:#f1f5f9;color:#475569}.client-progress{background:var(--gray-50);padding:var(--spacing-md);border-radius:var(--radius-md)}.progress-header{display:flex;justify-content:space-between;margin-bottom:var(--spacing-sm);font-size:13px}.progress-bar-large{height:8px;background:var(--gray-200);border-radius:var(--radius-full);overflow:hidden}.progress-bar-large .progress-fill{height:100%;background:var(--primary);border-radius:var(--radius-full);transition:width var(--transition-normal)}.client-tabs{display:flex;gap:var(--spacing-xs);border-bottom:1px solid var(--gray-200);margin-bottom:var(--spacing-md)}.client-tabs .tab-btn{padding:var(--spacing-sm) var(--spacing-md);border:none;background:none;cursor:pointer;font-size:13px;color:var(--gray-500);border-bottom:2px solid transparent;transition:all var(--transition-fast)}.client-tabs .tab-btn:hover{color:var(--gray-700)}.client-tabs .tab-btn.active{color:var(--primary);border-bottom-color:var(--primary)}.tasks-list{max-height:300px;overflow-y:auto}.tasks-list-view{overflow-y:auto;max-height:calc(90vh - 160px)}.tasks-list-table{width:100%;border-collapse:collapse;font-size:13px}.tasks-list-table thead th{position:sticky;top:0;background:var(--gray-100);padding:7px 10px;text-align:left;font-weight:600;color:var(--gray-600);border-bottom:2px solid var(--gray-200);z-index:1}.task-list-row td{padding:7px 10px;border-bottom:1px solid var(--gray-100);vertical-align:middle}.task-list-row:hover td{background:var(--gray-50)}.task-list-row-done td{opacity:.5}.task-list-row-done .task-list-name{text-decoration:line-through}.task-list-order{color:var(--gray-400);font-size:11px;font-weight:600;white-space:nowrap}.task-list-phase-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;white-space:nowrap}.task-select-inline{border:1px solid var(--gray-200);border-radius:5px;padding:3px 6px;font-size:12px;background:#fff;width:100%;max-width:150px}.task-list-actions{display:flex;align-items:center;gap:4px}#tabContent{overflow-y:auto;transition:max-height .2s ease}.tasks-kanban{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;min-height:200px}.task-phase-col{flex:1;min-width:180px;max-width:260px;background:var(--gray-50);border:1.5px solid var(--gray-200);border-radius:var(--radius-md);display:flex;flex-direction:column;cursor:default;transition:border-color .15s,box-shadow .15s,min-width .2s,max-width .2s}.task-phase-col:hover{border-color:var(--primary);box-shadow:0 0 0 2px #6366f114}.task-phase-col .task-phase-header{cursor:pointer}.task-phase-col.focused{flex:3;min-width:320px;max-width:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f11f}.task-phase-col.collapsed{flex:0 0 44px;min-width:44px;max-width:44px;overflow:hidden;cursor:pointer}.task-phase-col.collapsed .task-phase-body{display:none}.task-phase-col.collapsed .task-phase-header{flex-direction:column;align-items:center;padding:10px 4px;gap:6px}.task-phase-col.collapsed .task-phase-name{writing-mode:vertical-rl;transform:rotate(180deg);font-size:11px;max-height:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-phase-col.collapsed .task-phase-count,.task-phase-col.collapsed .task-phase-bar{display:none}.task-phase-header{display:flex;align-items:center;gap:6px;padding:8px 10px;border-bottom:2px solid var(--gray-200);background:#fff;border-radius:var(--radius-md) var(--radius-md) 0 0;flex-shrink:0}.task-phase-name{font-size:12px;font-weight:600;color:var(--gray-700);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-phase-count{font-size:11px;color:var(--gray-500);white-space:nowrap}.task-phase-bar{width:40px;height:3px;background:var(--gray-200);border-radius:2px;overflow:hidden;flex-shrink:0}.task-phase-body{overflow-y:auto;flex:1;padding:6px;max-height:340px}.phase-title{font-size:13px;color:var(--gray-500);margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--gray-100)}.task-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);border-radius:var(--radius-md);transition:background var(--transition-fast)}.task-item.completed{opacity:.6}.task-item.completed .task-name{text-decoration:line-through}.task-checkbox{position:relative;cursor:pointer}.task-checkbox input{position:absolute;opacity:0}.task-checkbox .checkmark{width:18px;height:18px;border:2px solid var(--gray-300);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.task-checkbox input:checked+.checkmark{background:var(--success);border-color:var(--success)}.task-checkbox input:checked+.checkmark:after{content:"✓";color:#fff;font-size:12px}.task-info{flex:1}.task-name{display:block;font-size:13px}.task-assigned{font-size:11px;color:var(--gray-500)}.task-meta-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:2px}.task-resource{font-size:11px;color:var(--primary);background:var(--primary-light, #eff6ff);padding:1px 6px;border-radius:4px}.task-assigned-client{color:var(--warning, #d97706)}.task-assigned-pending{color:var(--gray-400);font-style:italic}.task-details{display:none;flex-direction:column;gap:6px;margin-top:6px}.task-phase-col.focused .task-details{display:flex}.task-details-selects{display:flex;gap:4px;flex-wrap:wrap}.task-select-resource,.task-select-user{flex:1;min-width:100px;font-size:11px;padding:3px 6px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-white);color:var(--text-dark);cursor:pointer}.task-details-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.task-action-btn{font-size:10px;font-weight:600;padding:3px 8px;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;gap:3px;white-space:nowrap}.task-action-wa{background:#25d366;color:#fff}.task-action-drive{background:#4285f4;color:#fff}.task-action-ext{background:#fef3c7;color:#92400e;border-color:#fcd34d}.task-action-module{background:#dbeafe;color:#1d4ed8;border-color:#93c5fd}.task-action-config{background:#f3f4f6;color:#6b7280;border:1px dashed #d1d5db}.task-edit-btn{font-size:11px;opacity:.6;padding:2px 4px;background:none;border:none;cursor:pointer}.billing-summary-mini{display:flex;gap:var(--spacing-lg);margin-bottom:var(--spacing-md)}.billing-summary-mini .billing-item{display:flex;flex-direction:column}.docs-summary{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.docs-list-mini{max-height:150px;overflow-y:auto}.doc-item-mini{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) 0;font-size:13px}.empty-state{text-align:center;padding:var(--spacing-xl);color:var(--gray-500)}.empty-state p{margin-bottom:var(--spacing-md)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.form-section{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--gray-200)}.form-section h4{margin-bottom:var(--spacing-md);font-size:14px}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-danger{color:var(--danger)}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:12px}.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}@media (max-width: 1024px){.team-grid{grid-template-columns:1fr}}.team-section{background:#fff;padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-md)}.team-section h3{font-size:16px;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--gray-200)}.team-form{margin-bottom:var(--spacing-md);padding:var(--spacing-md);background:var(--gray-50);border-radius:var(--radius-md)}.team-form .form-row{display:flex;gap:var(--spacing-sm);align-items:flex-end;margin-bottom:var(--spacing-sm)}.team-form .form-actions{display:flex;gap:var(--spacing-sm)}.read-only-banner{background:var(--warning-light);color:#92400e;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:13px;margin-bottom:var(--spacing-md);text-align:center}.cargos-list{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.cargo-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm)}.cargo-delete-btn{background:none;border:none;color:var(--gray-500);cursor:pointer;font-size:14px;line-height:1;padding:0 2px;border-radius:50%}.cargo-delete-btn:hover{color:var(--danger);background:var(--danger-light)}.board-toolbar{display:flex;gap:var(--spacing-md);align-items:center;margin-bottom:var(--spacing-md);padding:var(--spacing-sm) 0}.board-toolbar .form-input{flex:1;max-width:400px}.kanban-columns{display:flex;gap:var(--spacing-md);overflow-x:auto;padding-bottom:var(--spacing-md);min-height:400px}.kanban-column{min-width:280px;max-width:320px;flex-shrink:0;background:var(--gray-50);border-radius:var(--radius-md);display:flex;flex-direction:column}.kanban-column-header{padding:var(--spacing-sm) var(--spacing-md);border-top:3px solid var(--primary);display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:14px}.column-header-actions{display:flex;align-items:center;gap:var(--spacing-xs)}.kanban-column-count{background:var(--gray-200);color:var(--gray-600);padding:2px 8px;border-radius:10px;font-size:12px;font-weight:500}.kanban-column-body{flex:1;padding:var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-sm);min-height:100px}.kanban-card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;transition:box-shadow .15s,transform .15s}.kanban-card:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.kanban-card-ghost{opacity:.4;background:var(--primary-light)}.crm-card-ghost{opacity:.35;background:#e0e7ff;border:1px dashed #6366f1!important}.crm-card-dragging{box-shadow:0 8px 24px #6366f140;cursor:grabbing!important;transform:rotate(1.5deg)}.kanban-card-title{font-weight:600;font-size:13px;margin-bottom:4px;color:var(--gray-800)}.kanban-card-meta{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--gray-500);margin-bottom:6px}.kanban-card-progress{display:flex;align-items:center;gap:8px}.kanban-card-progress .progress-bar{flex:1}.due-overdue{color:var(--danger)}.due-today{color:var(--danger);font-weight:600}.due-soon{color:var(--warning)}.due-normal{color:var(--gray-500)}.client-detail .client-header{margin-bottom:var(--spacing-md)}.client-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-md)}.info-item{display:flex;flex-direction:column;gap:2px}.info-label{font-size:11px;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px}.info-value{font-size:14px;color:var(--gray-800)}.form-input-sm{padding:4px 8px;font-size:13px}.client-indicators{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);flex-wrap:wrap}.client-module-shortcuts{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:var(--spacing-md)}.module-shortcut-btn{font-size:11px;padding:4px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-main);color:var(--text-gray);cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}.module-shortcut-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.module-shortcut-highlight{background:#eff6ff;border-color:#3b82f6;color:#1d4ed8;font-weight:600}.module-shortcut-highlight:hover{background:#1d4ed8;color:#fff;border-color:#1d4ed8}.indicator{display:inline-block;padding:4px 10px;border-radius:var(--radius-sm);font-size:12px;text-decoration:none}.indicator-success{background:var(--success-light);color:var(--success)}.indicator-warning{background:var(--warning-light);color:#92400e}.client-progress{margin-bottom:var(--spacing-md)}.progress-header{display:flex;justify-content:space-between;font-size:13px;margin-bottom:4px}.progress-percent{font-weight:600;color:var(--primary)}.progress-bar-large{height:8px;background:var(--gray-200);border-radius:4px;overflow:hidden}.progress-bar-large .progress-fill{height:100%;background:var(--primary);border-radius:4px;transition:width .3s}.client-tabs{display:flex;gap:0;border-bottom:2px solid var(--gray-200);margin-bottom:var(--spacing-md)}.tab-btn{background:none;border:none;padding:var(--spacing-sm) var(--spacing-md);font-size:13px;color:var(--gray-500);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s}.tab-btn:hover{color:var(--gray-700)}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.tasks-tab-toolbar{display:flex;justify-content:flex-end;margin-bottom:var(--spacing-sm)}.phase-group{margin-bottom:var(--spacing-md)}.phase-title{font-size:13px;font-weight:600;color:var(--gray-700);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--gray-200);margin-bottom:var(--spacing-sm)}.phase-count{font-weight:400;color:var(--gray-400);font-size:12px}.task-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:6px var(--spacing-sm);border-radius:var(--radius-sm);transition:background .1s}.task-item:hover{background:var(--gray-50)}.task-item.completed .task-name{text-decoration:line-through;color:var(--gray-400)}.task-checkbox{display:flex;align-items:center;cursor:pointer}.task-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary)}.task-info{flex:1;display:flex;flex-direction:column;gap:1px}.task-name{font-size:13px;color:var(--gray-700)}.task-assigned{font-size:11px;color:var(--gray-400)}.task-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s}.task-item:hover .task-actions{opacity:1}.comments-tab{display:flex;flex-direction:column;gap:var(--spacing-md);max-height:400px}.comments-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--spacing-sm);max-height:280px;padding-right:var(--spacing-xs)}.comment-item{background:var(--gray-50);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md)}.comment-header{display:flex;justify-content:space-between;margin-bottom:4px}.comment-author{font-weight:600;font-size:12px;color:var(--gray-700)}.comment-time{font-size:11px;color:var(--gray-400)}.comment-text{font-size:13px;color:var(--gray-600);white-space:pre-wrap}.comment-form{display:flex;gap:var(--spacing-sm);align-items:flex-end}.comment-form textarea{flex:1}.task-help-content textarea{width:100%}.task-help-readonly{font-size:14px;color:var(--gray-600);line-height:1.6;white-space:pre-wrap}.client-edit-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.billing-summary-mini{display:flex;gap:var(--spacing-lg);margin-bottom:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--gray-50);border-radius:var(--radius-md)}.billing-summary-mini .summary-item{display:flex;flex-direction:column}.billing-summary-mini .label{font-size:11px;color:var(--gray-500)}.billing-summary-mini .value{font-size:16px;font-weight:600}.billing-record{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) 0;border-bottom:1px solid var(--gray-100)}.record-info{flex:1}.record-concept{font-size:13px;font-weight:500}.record-type{font-size:11px;color:var(--gray-400);margin-left:var(--spacing-sm)}.record-amount{font-weight:600;font-size:14px}.docs-summary{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md);font-size:13px}.docs-list{display:flex;flex-direction:column;gap:4px}.doc-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:4px var(--spacing-sm);font-size:13px;border-radius:var(--radius-sm)}.doc-item.doc-recibido{background:var(--success-light)}.doc-item.doc-pendiente{background:var(--warning-light)}.doc-status{width:20px;text-align:center}.badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500}.badge-success{background:var(--success-light);color:var(--success)}.badge-warning{background:var(--warning-light);color:#92400e}.badge-info{background:var(--info-light);color:var(--info)}.badge-danger{background:var(--danger-light);color:var(--danger)}.badge-secondary{background:var(--gray-100);color:var(--gray-600)}.btn-icon{background:none;border:none;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;color:var(--gray-500);transition:background .1s,color .1s}.btn-icon:hover{background:var(--gray-100);color:var(--gray-700)}.btn-icon-danger:hover{background:var(--danger-light);color:var(--danger)}.billing-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.summary-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md)}.summary-card.success{border-left:3px solid var(--success)}.summary-card.danger{border-left:3px solid var(--danger)}.summary-icon{font-size:24px}.summary-info{display:flex;flex-direction:column}.summary-value{font-size:18px;font-weight:700;color:var(--gray-800)}.summary-label{font-size:12px;color:var(--gray-500)}.billing-stats-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.cartera-aging h4,.cumplimiento-stats h4{font-size:14px;margin-bottom:var(--spacing-sm);color:var(--gray-700)}.aging-bars{display:flex;flex-direction:column;gap:var(--spacing-sm)}.aging-item{display:flex;align-items:center;gap:var(--spacing-sm)}.aging-label{font-size:12px;color:var(--gray-500);min-width:70px}.aging-bar{flex:1;height:8px;background:var(--gray-100);border-radius:4px;overflow:hidden}.aging-fill{height:100%;border-radius:4px;transition:width .3s}.aging-fill.success{background:var(--success)}.aging-fill.warning{background:var(--warning)}.aging-fill.orange{background:#f97316}.aging-fill.danger{background:var(--danger)}.aging-value{font-size:12px;font-weight:600;min-width:100px;text-align:right}.cumplimiento-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm)}.cumplimiento-item{text-align:center;padding:var(--spacing-sm);background:var(--gray-50);border-radius:var(--radius-md)}.cumplimiento-value{display:block;font-size:20px;font-weight:700;color:var(--gray-800)}.cumplimiento-label{font-size:11px;color:var(--gray-500)}.billing-actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;margin-bottom:var(--spacing-lg)}.billing-filters{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{text-align:left;padding:var(--spacing-sm) var(--spacing-md);background:var(--gray-50);border-bottom:2px solid var(--gray-200);font-size:11px;text-transform:uppercase;color:var(--gray-500);letter-spacing:.5px}.data-table td{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--gray-100);vertical-align:middle}.data-table tr:hover{background:var(--gray-50)}.data-table.small th,.data-table.small td{padding:4px 8px;font-size:12px}.row-anulado{opacity:.5;text-decoration:line-through}.action-buttons{display:flex;gap:2px}.billing-detail .detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.billing-detail .detail-info p{margin:4px 0;font-size:13px}.mensajes-cobro-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.mensaje-cobro-item{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);display:flex;justify-content:space-between;align-items:center}.mensaje-cobro-header{display:flex;flex-direction:column;gap:2px}.mensaje-cobro-header strong{font-size:13px}.mensaje-cobro-header span{font-size:11px;color:var(--gray-500)}.quotes-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.quotes-filters{margin-bottom:var(--spacing-md)}.service-row{display:flex;align-items:center;gap:var(--spacing-sm);padding:6px 0;border-bottom:1px solid var(--gray-100)}.service-checkbox{display:flex;align-items:center;gap:var(--spacing-sm);flex:1;cursor:pointer;font-size:13px}.service-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary)}.payment-methods{display:flex;flex-direction:column;gap:var(--spacing-sm)}.radio-option{display:flex;align-items:center;gap:var(--spacing-sm);font-size:13px;cursor:pointer}.radio-option input[type=radio]{accent-color:var(--primary)}.contract-preview h3,.contract-preview h4{margin:16px 0 8px}.contract-preview ul{margin:8px 0;padding-left:20px}.executive-dashboard .page-header{margin-bottom:var(--spacing-lg)}.dashboard-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.kpi-card{padding:var(--spacing-md);border-radius:var(--radius-md);background:linear-gradient(135deg,var(--gray-50),white);border:1px solid var(--gray-200);text-align:center}.kpi-card.kpi-blue{border-left:3px solid #3b82f6}.kpi-card.kpi-orange{border-left:3px solid #f97316}.kpi-card.kpi-purple{border-left:3px solid var(--primary)}.kpi-card.kpi-green{border-left:3px solid var(--success)}.kpi-card.kpi-red{border-left:3px solid var(--danger)}.kpi-card.kpi-cyan{border-left:3px solid var(--info)}.kpi-card.kpi-yellow{border-left:3px solid var(--warning)}.kpi-card.kpi-teal{border-left:3px solid #14b8a6}.kpi-value{font-size:24px;font-weight:700;color:var(--gray-800)}.kpi-title{font-size:12px;font-weight:600;color:var(--gray-600);margin-top:4px}.kpi-subtitle{font-size:11px;color:var(--gray-400)}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}.dashboard-section{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:var(--spacing-md)}.dashboard-section h3{font-size:14px;font-weight:600;margin-bottom:var(--spacing-md);color:var(--gray-700)}.declarations-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xs);font-size:13px;margin-top:var(--spacing-sm)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.dot-orange{background:#f97316}.dot-purple{background:var(--primary)}.dot-green{background:var(--success)}.dot-red{background:var(--danger)}.cartera-breakdown{display:flex;flex-direction:column;gap:6px;font-size:13px}.recent-comments-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.recent-comment{padding:var(--spacing-sm);background:var(--gray-50);border-radius:var(--radius-sm)}.recent-comment-header{display:flex;justify-content:space-between;font-size:12px;margin-bottom:4px}.recent-comment-text{font-size:12px;color:var(--gray-600);margin:0}.recent-comment-time{font-size:10px;color:var(--gray-400)}.team-mini-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.team-mini-item{display:flex;align-items:center;gap:var(--spacing-sm)}.team-mini-avatar{width:28px;height:28px;border-radius:50%;background:var(--primary-light);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.team-mini-info{display:flex;flex-direction:column}.team-mini-name{font-size:13px;font-weight:500}.team-mini-role{font-size:11px;color:var(--gray-400)}.personal-dashboard{padding:var(--spacing-md)}.personal-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.personal-kpi-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-lg);text-align:center;display:flex;flex-direction:column;gap:var(--spacing-xs)}.personal-kpi-value{font-size:28px;font-weight:700;color:var(--primary)}.personal-kpi-label{font-size:12px;color:var(--gray-500);text-transform:uppercase}.gamification-section{margin-bottom:var(--spacing-lg)}.rank-card{background:linear-gradient(135deg,var(--primary),#6366f1);border-radius:var(--radius-lg);padding:var(--spacing-xl);color:#fff;text-align:center}.rank-stars{font-size:24px;margin-bottom:var(--spacing-xs)}.rank-name{font-size:20px;font-weight:700;margin-bottom:var(--spacing-md)}.performance-bar{height:8px;background:#ffffff4d;border-radius:4px;overflow:hidden;margin-bottom:var(--spacing-xs)}.performance-fill{height:100%;background:#fff;border-radius:4px;transition:width .3s ease}.performance-text{font-size:13px;opacity:.9}.leaderboard-section{margin-bottom:var(--spacing-lg)}.leaderboard-section h3{margin-bottom:var(--spacing-md)}.leaderboard-list{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);overflow:hidden}.leaderboard-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--gray-100)}.leaderboard-item:last-child{border-bottom:none}.leaderboard-me{background:var(--primary-light)}.leaderboard-pos{font-size:16px;width:28px;text-align:center}.leaderboard-name{flex:1;font-size:13px;font-weight:500}.leaderboard-completed{font-size:12px;color:var(--gray-500)}.leaderboard-pct{font-size:12px;font-weight:600;color:var(--primary)}.my-tasks-section h3{margin-bottom:var(--spacing-md)}.my-tasks-list{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);overflow:hidden}.my-task-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--gray-100)}.my-task-item:last-child{border-bottom:none}.my-task-name{font-size:13px}.my-task-client{font-size:11px;color:var(--gray-500)}.chat-container{display:flex;flex-direction:column;height:calc(100vh - 120px);background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--gray-200);overflow:hidden}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--gray-200)}.chat-header h2{margin:0;font-size:16px}.chat-online{font-size:12px;color:var(--gray-500)}.chat-messages{flex:1;overflow-y:auto;padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.chat-message{max-width:70%;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);background:var(--gray-100)}.chat-message-mine{align-self:flex-end;background:var(--primary-light)}.chat-message-header{display:flex;gap:var(--spacing-sm);margin-bottom:2px}.chat-sender{font-size:11px;font-weight:600;color:var(--primary)}.chat-time{font-size:10px;color:var(--gray-400)}.chat-message-body{font-size:13px;line-height:1.4}.chat-mention{color:var(--primary);font-weight:600}.chat-input-area{position:relative;display:flex;gap:var(--spacing-sm);padding:var(--spacing-md);border-top:1px solid var(--gray-200)}.chat-input{flex:1;border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);font-size:13px;font-family:inherit}.chat-send-btn{align-self:flex-end}.mention-dropdown{position:absolute;bottom:100%;left:var(--spacing-md);background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-md);box-shadow:var(--shadow-md);max-height:150px;overflow-y:auto;z-index:100}.mention-item{padding:var(--spacing-xs) var(--spacing-md);cursor:pointer;font-size:13px}.mention-item:hover{background:var(--gray-100)}.schedule-container{padding:var(--spacing-md)}.schedule-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.schedule-stat{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-lg);text-align:center;display:flex;flex-direction:column;gap:var(--spacing-xs)}.schedule-stat-value{font-size:28px;font-weight:700;color:var(--primary)}.schedule-stat-label{font-size:12px;color:var(--gray-500);font-weight:500}.schedule-stat-sub{font-size:11px;color:var(--gray-400);margin-top:2px}.schedule-stat-danger .schedule-stat-value{color:var(--danger)}.schedule-stat-success .schedule-stat-value{color:var(--success)}.schedule-stat-urgent .schedule-stat-value{color:#dc2626}.schedule-stat-near .schedule-stat-value{color:#d97706}.schedule-stat{transition:border-color .15s,box-shadow .15s}.schedule-stat:hover{border-color:var(--primary);box-shadow:0 2px 8px #6366f11f}.schedule-section{margin-bottom:var(--spacing-lg)}.schedule-section h3{margin-bottom:var(--spacing-md)}.schedule-overdue h3{color:var(--danger)}.schedule-done h3{color:var(--success)}.schedule-list{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);overflow:hidden}.schedule-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--gray-100);transition:background .1s}.schedule-item:hover{background:#6366f10a!important}.schedule-item:last-child{border-bottom:none}.schedule-item-overdue{background:#ef444412;border-left:3px solid rgba(239,68,68,.5)}.schedule-item-urgent{background:#f9731612;border-left:3px solid rgba(249,115,22,.5)}.schedule-item-near{background:#eab3080f;border-left:3px solid rgba(234,179,8,.4)}.schedule-item-done{background:#22c55e0d;border-left:3px solid rgba(34,197,94,.35);opacity:.75}.schedule-item-no-presentar{background:#9ca3af12;border-left:3px solid rgba(156,163,175,.4)}.schedule-item-client{display:flex;flex-direction:column;gap:2px}.schedule-item-name{font-size:13px;font-weight:500}.schedule-item-nit{font-size:11px;color:var(--gray-500)}.schedule-item-date{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.schedule-item-due{font-size:13px;font-weight:500}.schedule-item-days{font-size:11px;color:var(--gray-500)}.text-danger{color:var(--danger)!important}.knowledge-container{padding:var(--spacing-md)}.knowledge-tabs{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg);border-bottom:2px solid var(--gray-200);padding-bottom:var(--spacing-xs)}.knowledge-tab{padding:var(--spacing-sm) var(--spacing-md);border:none;background:none;cursor:pointer;font-size:14px;color:var(--gray-500);border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .2s,border-color .2s}.knowledge-tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.knowledge-empty{text-align:center;padding:var(--spacing-xl);color:var(--gray-500)}.knowledge-category{margin-bottom:var(--spacing-lg)}.knowledge-category h3{margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--gray-200)}.knowledge-article{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-sm)}.knowledge-article h4{margin:0 0 var(--spacing-xs) 0;font-size:14px}.knowledge-article-body{font-size:13px;color:var(--gray-600);line-height:1.5}.simulator-container{max-width:600px}.simulator-container h3{margin-bottom:var(--spacing-xs)}.simulator-form{display:flex;gap:var(--spacing-md);align-items:flex-end;margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg)}.simulator-field{flex:1}.simulator-field label{display:block;font-size:12px;margin-bottom:4px;color:var(--gray-600)}.simulator-result{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.simulator-result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--spacing-md)}.sim-result-item{display:flex;flex-direction:column;gap:4px}.sim-result-label{font-size:11px;color:var(--gray-500);text-transform:uppercase}.sim-result-value{font-size:16px;font-weight:600}.sim-result-highlight .sim-result-value{color:var(--primary);font-size:20px}.simulator-table{margin-top:var(--spacing-lg)}.simulator-table h4{margin-bottom:var(--spacing-sm)}.ai-config-container{padding:var(--spacing-md);max-width:600px}.ai-status{display:flex;align-items:center;gap:var(--spacing-sm)}.ai-status-badge{width:10px;height:10px;border-radius:50%;background-color:#94a3b8}.ai-status-text{font-size:12px;color:var(--gray-500)}.ai-config-form{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.input-with-toggle{display:flex;gap:var(--spacing-xs);align-items:center}.input-with-toggle .form-input{flex:1}.input-with-toggle .btn-icon{font-size:18px;cursor:pointer;background:none;border:none}.validation-container{padding:var(--spacing-md)}.validation-progress{margin-bottom:var(--spacing-md)}.validation-progress-bar{height:8px;background:var(--gray-200);border-radius:4px;overflow:hidden;margin-top:var(--spacing-xs)}.validation-progress-fill{height:100%;background:var(--success);border-radius:4px;transition:width .3s}.validation-badges{margin-bottom:var(--spacing-md)}.validation-badge-signed{background:#dcfce7;color:#166534;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.validation-badge-pending{background:#fef3c7;color:#92400e;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.validation-checklist{display:flex;flex-direction:column;gap:var(--spacing-lg)}.validation-category{border:1px solid var(--gray-200);border-radius:var(--radius-lg);overflow:hidden}.validation-category-header{background:#1e3a5f;color:#fff;padding:var(--spacing-sm) var(--spacing-md);display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:14px}.validation-category-count{background:#fff3;padding:4px 10px;border-radius:12px;font-size:11px}.validation-category-body{padding:var(--spacing-sm) var(--spacing-md)}.validation-subcategory{margin-bottom:var(--spacing-sm)}.validation-subcategory-title{font-weight:600;font-size:12px;color:#1e3a5f;margin-bottom:var(--spacing-xs);padding-left:4px;border-left:3px solid #3b82f6}.validation-item{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);cursor:pointer;transition:background .2s}.validation-item:hover{background:var(--gray-50)}.validation-item-checked{background:#f0fdf4}.validation-item-checked:hover{background:#dcfce7}.validation-item-checked .validation-item-name{text-decoration:line-through;opacity:.8;color:#166534}.validation-item input[type=checkbox]{margin-top:2px;width:18px;height:18px;accent-color:#10b981;cursor:pointer}.validation-item-content{flex:1}.validation-item-name{font-size:13px;display:block}.validation-badge-required{background:#fee2e2;color:#dc2626;padding:2px 6px;border-radius:4px;font-size:9px;font-weight:600}.validation-badge-optional{background:#f3f4f6;color:#6b7280;padding:2px 6px;border-radius:4px;font-size:9px;font-weight:600}.validation-section{border:1px solid var(--gray-200);border-radius:var(--radius-lg);overflow:hidden;margin-top:var(--spacing-md)}.validation-section-title{background:#1e3a5f;color:#fff;padding:var(--spacing-sm) var(--spacing-md);font-weight:700;font-size:14px}.validation-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-sm);padding:var(--spacing-md)}.validation-status-option{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);border:2px solid var(--gray-200);border-radius:var(--radius-md);cursor:pointer;transition:all .2s}.validation-status-option.selected{border-color:var(--status-color);background:color-mix(in srgb,var(--status-color) 10%,white)}.validation-status-icon{font-size:18px}.validation-status-label{font-size:12px}.validation-observations{width:100%;min-height:80px;padding:var(--spacing-md);margin:var(--spacing-md);box-sizing:border-box}.validation-signature{padding:var(--spacing-lg);text-align:center}.validation-signed{background:#f0fdf4;border:1px solid #86efac;border-radius:var(--radius-lg);padding:var(--spacing-lg)}.validation-signed-icon{font-size:36px;margin-bottom:var(--spacing-sm)}.validation-signed-title{font-weight:700;color:#166534;font-size:16px;margin-bottom:4px}.validation-signed-info{color:#166534;font-size:13px;margin-bottom:var(--spacing-md)}.validation-unsigned p{color:var(--gray-500);font-size:13px;margin-bottom:var(--spacing-md)}.validation-empty{text-align:center;padding:var(--spacing-xl);color:var(--gray-500)}.survey-rating{display:flex;gap:var(--spacing-sm);justify-content:center;margin:var(--spacing-md) 0}.survey-star{font-size:28px;background:none;border:none;cursor:pointer;opacity:.3;transition:opacity .2s}.survey-star:hover{opacity:.7}.survey-rating-text{text-align:center;font-size:13px;color:var(--gray-500)}.provisional-password{font-family:monospace;font-size:24px;font-weight:700;letter-spacing:3px;text-align:center;padding:var(--spacing-md);background:var(--gray-50);border:2px dashed var(--gray-300);border-radius:var(--radius-md);color:var(--primary)}.contract-preview{padding:var(--spacing-md);border:1px solid var(--gray-200);border-radius:var(--radius-md);background:var(--gray-50);font-size:13px;line-height:1.6}.contract-preview h4{text-align:center;margin-bottom:var(--spacing-md)}@media (max-width: 768px){.billing-stats-row,.dashboard-grid{grid-template-columns:1fr}.dashboard-kpis,.personal-kpis{grid-template-columns:repeat(2,1fr)}.schedule-summary{grid-template-columns:1fr}.simulator-form{flex-direction:column}.chat-message{max-width:85%}.validation-status-grid{grid-template-columns:1fr}}.audit-lbl{display:block;font-size:.68rem;font-weight:700;color:var(--text-gray);margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.04em}.audit-input{width:100%;padding:.45rem .65rem;border:1px solid var(--border);border-radius:var(--radius-md);font-size:.82rem;color:var(--text-dark);outline:none}.audit-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}@media (max-width: 860px){#auditTopPanel{grid-template-columns:1fr!important}}.audit-planning-wrap{margin-top:1.5rem;background:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border);box-shadow:var(--shadow-md)}.audit-planning-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end;padding:1rem 1.25rem;border-bottom:1px solid var(--border);background:var(--bg-main)}.audit-planning-params{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border);background:#f8fafc}.audit-planning-table-scroll{overflow:auto;max-height:60vh}.audit-planning-table{width:100%;border-collapse:collapse;font-size:.78rem;min-width:900px}.audit-planning-table th,.audit-planning-table td{border:1px solid var(--border);padding:.35rem .5rem;text-align:right;white-space:nowrap}.audit-planning-table th{background:#1e3a5f;color:#fff;font-weight:700;position:sticky;top:0;z-index:3}.audit-planning-table th.row-label{left:0;z-index:4;background:#1e3a5f;color:#fff;text-align:left}.audit-planning-table th .year-actions{opacity:0;transition:opacity .2s}.audit-planning-table th:hover .year-actions{opacity:1}.audit-planning-table th .year-actions span:hover{opacity:1!important;transform:scale(1.2)}.audit-planning-table .row-label{text-align:left;font-weight:600;color:var(--text-dark);background:#f1f5f9;position:sticky;left:0;z-index:1;min-width:220px;max-width:220px}.audit-planning-table .row-label.section{background:#e2e8f0;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-gray)}.audit-planning-table tr.highlight-green td{background:#dcfce7;font-weight:700}.audit-planning-table tr.highlight-green .row-label{background:#bbf7d0}.audit-planning-table input.cell-input{width:100%;min-width:88px;border:1px solid transparent;background:transparent;text-align:right;font-size:.78rem;padding:.2rem .25rem;border-radius:4px;color:var(--text-dark)}.audit-planning-table input.cell-input:focus{border-color:var(--primary);background:#fff;outline:none}.audit-planning-table .cell-calc{color:var(--text-dark);font-variant-numeric:tabular-nums}.audit-planning-table .cell-na{color:var(--text-light);font-style:italic;text-align:center}@media print{.sidebar,.main-header,.audit-planning-toolbar,.audit-planning-params{display:none!important}.audit-planning-table-scroll{max-height:none;overflow:visible}}#calc-widget{position:fixed;bottom:24px;right:24px;z-index:10001;font-family:Outfit,sans-serif}#calc-toggle{width:48px;height:48px;border-radius:50%;background:var(--primary);color:#fff;border:none;font-size:22px;cursor:pointer;box-shadow:0 4px 16px #0000002e;display:flex;align-items:center;justify-content:center;transition:background .15s,transform .15s;margin-left:auto}#calc-toggle:hover{background:var(--primary-dark, #1e40af);transform:scale(1.08)}#calc-panel{background:#1e293b;border-radius:16px;box-shadow:0 8px 32px #00000052;padding:12px;width:224px;margin-bottom:10px}#calc-display{background:#0f172a;border-radius:10px;padding:10px 14px;margin-bottom:10px;min-height:56px;display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end}#calc-expr{font-size:11px;color:#64748b;min-height:16px;word-break:break-all}#calc-result{font-size:26px;font-weight:700;color:#fff;word-break:break-all;line-height:1.2}#calc-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.calc-btn{height:48px;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;background:#334155;color:#fff;transition:background .1s,transform .1s}.calc-btn:hover{background:#475569;transform:scale(1.06)}.calc-btn:active{transform:scale(.96)}.calc-fn{background:#475569;color:#e2e8f0}.calc-op{background:var(--primary);color:#fff}.calc-op:hover{background:var(--primary-dark, #1e40af)}.calc-eq{background:#10b981;color:#fff}.calc-eq:hover{background:#059669}.calc-zero{grid-column:span 2;text-align:left;padding-left:18px}.borrador-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;margin:20px 0;overflow:hidden;transition:all .2s ease}.borrador-card:hover{box-shadow:0 4px 12px #0000001f}.borrador-card-new{border:2px dashed var(--gray-300);background:var(--gray-50)}.borrador-card-active{border:2px solid var(--primary)}.borrador-card-header{display:flex;align-items:center;gap:16px;padding:20px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-bottom:1px solid var(--gray-200)}.borrador-card-new .borrador-card-header{background:linear-gradient(135deg,var(--gray-50) 0%,var(--gray-100) 100%)}.borrador-card-icon{font-size:36px;line-height:1}.borrador-card-title{flex:1}.borrador-card-title h3{margin:0 0 4px;font-size:18px;font-weight:700;color:var(--gray-900)}.borrador-card-title p{margin:0;font-size:13px;color:var(--gray-600)}.borrador-card-status{display:flex;gap:8px}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge-warning{background:var(--warning-light);color:#92400e}.status-badge-success{background:var(--success-light);color:#065f46}.borrador-card-body{padding:20px}.borrador-card-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:20px}.meta-item{display:flex;flex-direction:column;gap:4px}.meta-label{font-size:12px;color:var(--gray-500);font-weight:500}.meta-value{font-size:14px;color:var(--gray-900);font-weight:600}.borrador-card-actions{display:flex;gap:12px}.btn-large{font-size:16px;padding:12px 24px}
