.employee-profile{padding:2rem;max-width:1400px;margin:0 auto;animation:fadeIn .3s ease-in}.profile-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:1rem;padding:2.5rem;margin-bottom:2rem;box-shadow:0 4px 6px #0000001a}.profile-header-content{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;flex-wrap:wrap}.profile-avatar-section{display:flex;gap:1.5rem;align-items:center}.profile-avatar{width:100px;height:100px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;border:4px solid rgba(255,255,255,.3);flex-shrink:0}.profile-avatar svg{width:56px;height:56px;color:#fff;stroke-width:1.5}.profile-info{color:#fff}.profile-name{font-size:2rem;font-weight:700;margin:0 0 .5rem;color:#fff}.profile-title{font-size:1.125rem;margin:0 0 1rem;opacity:.95;font-weight:500}.profile-meta{display:flex;gap:1.5rem;flex-wrap:wrap;align-items:center}.profile-meta-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;opacity:.9}.profile-meta-item svg{width:18px;height:18px;stroke-width:2}.profile-status{padding:.375rem .875rem;border-radius:9999px;font-size:.875rem;font-weight:600;background:#ffffff40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.profile-status.status-active{background:#10b98133;color:#d1fae5;border:1px solid rgba(16,185,129,.3)}.profile-actions{display:flex;gap:1rem}.btn-secondary{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:.5rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-secondary:hover{background:#ffffff4d;transform:translateY(-2px)}.quick-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:#fff;border-radius:1rem;padding:1.5rem;border:1px solid #e2e8f0;display:flex;align-items:center;gap:1rem;transition:all .2s}.stat-icon{width:56px;height:56px;border-radius:1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon svg{width:28px;height:28px;stroke-width:2}.stat-label{font-size:.875rem;color:#64748b;margin:0 0 .25rem;font-weight:500}.stat-value{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0}.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem}.profile-card{background:#fff;border-radius:1rem;border:1px solid #e2e8f0;overflow:hidden;transition:all .2s}.profile-card:hover{box-shadow:0 4px 12px #00000014}.card-title{font-size:1.125rem;font-weight:600;color:#1e293b;margin:0}.btn-icon{width:36px;height:36px;border-radius:.5rem;border:1px solid #e2e8f0;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;color:#64748b}.btn-icon:hover{background:#f8fafc;color:#1e293b}.btn-text{background:none;border:none;color:#667eea;font-size:.875rem;font-weight:600;cursor:pointer;transition:color .2s}.btn-text:hover{color:#764ba2}.card-content{padding:1.5rem}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.info-item label{display:block;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.info-item p{font-size:.9375rem;color:#1e293b;margin:0;font-weight:500}.text-muted{color:#94a3b8!important;font-style:italic}.groups-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.group-badge{padding:.5rem 1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:9999px;font-size:.875rem;font-weight:600}.access-list{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.access-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#f8fafc;border-radius:.5rem;font-size:.875rem;font-weight:500;color:#1e293b}.access-item svg{width:20px;height:20px;color:#10b981;stroke-width:2;flex-shrink:0}.badge{padding:.375rem .875rem;border-radius:9999px;font-size:.875rem;font-weight:600;display:inline-block}.badge-active{background:#d1fae5;color:#065f46}.activity-list{display:flex;flex-direction:column;gap:1rem}.activity-item{display:flex;gap:1rem;padding:1rem;background:#f8fafc;border-radius:.75rem;transition:all .2s}.activity-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.activity-icon svg{width:20px;height:20px;stroke-width:2}.activity-approved{background:#d1fae5;color:#065f46}.activity-completed{background:#dbeafe;color:#1e40af}.activity-content{flex:1}.activity-type{font-size:.875rem;font-weight:600;color:#1e293b;margin:0 0 .25rem}.activity-description{font-size:.875rem;color:#64748b;margin:0 0 .25rem}.activity-date{font-size:.75rem;color:#94a3b8;margin:0}@media(max-width:768px){.employee-profile{padding:1rem}.profile-header{padding:1.5rem}.profile-header-content{flex-direction:column}.profile-avatar-section{flex-direction:column;text-align:center}.profile-meta{justify-content:center}.profile-actions{width:100%}.btn-secondary{width:100%;justify-content:center}.profile-grid,.quick-stats,.info-grid{grid-template-columns:1fr}}.entity-selector{position:relative;z-index:50}.entity-selector-button{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background:#fff;border:1.5px solid #e2e8f0;border-radius:.75rem;cursor:pointer;transition:all .2s;width:100%;min-width:280px}.entity-selector-button:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000000d}.entity-selector-current{display:flex;align-items:center;gap:.875rem;flex:1;min-width:0}.entity-icon{width:40px;height:40px;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:.75rem;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.entity-icon svg{width:20px;height:20px;stroke-width:2}.entity-info{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:0}.entity-name{font-size:.9375rem;font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entity-type{font-size:.75rem;color:#64748b;font-weight:500}.chevron{width:20px;height:20px;color:#64748b;transition:transform .2s;flex-shrink:0;stroke-width:2}.chevron.open{transform:rotate(180deg)}.entity-selector-overlay{position:fixed;inset:0;background:#0000004d;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:40;animation:fadeIn .2s ease-out}.entity-selector-dropdown{position:absolute;top:calc(100% + .5rem);left:0;right:0;background:#fff;border:1px solid #e2e8f0;border-radius:1rem;box-shadow:0 12px 32px #0000001f;z-index:50;animation:slideDown .2s ease-out;max-height:480px;display:flex;flex-direction:column}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.entity-selector-header{padding:1.25rem 1.25rem 1rem;border-bottom:1px solid #e2e8f0}.entity-selector-header h3{font-size:1rem;font-weight:600;color:#1e293b;margin:0 0 .25rem}.entity-selector-header p{font-size:.8125rem;color:#64748b;margin:0}.entity-list{overflow-y:auto;max-height:360px;padding:.5rem}.entity-list::-webkit-scrollbar{width:6px}.entity-list::-webkit-scrollbar-track{background:transparent}.entity-list::-webkit-scrollbar-thumb{background:#94a3b84d;border-radius:3px}.entity-list::-webkit-scrollbar-thumb:hover{background:#94a3b880}.entity-item{display:flex;align-items:center;gap:.875rem;padding:.875rem;background:#fff;border:1.5px solid transparent;border-radius:.75rem;cursor:pointer;transition:all .2s;width:100%;text-align:left;margin-bottom:.375rem}.entity-item:last-child{margin-bottom:0}.entity-item:hover{background:#f8fafc;border-color:#e2e8f0}.entity-item.selected{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#fbbf24}.entity-item-icon{width:36px;height:36px;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:.625rem;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.entity-item.selected .entity-item-icon{background:linear-gradient(135deg,#d97706,#b45309)}.entity-item-icon svg{width:18px;height:18px;stroke-width:2}.entity-item-info{flex:1;min-width:0}.entity-item-name{font-size:.9375rem;font-weight:600;color:#1e293b;margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entity-item-details{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:#64748b;font-weight:500}.entity-item-separator{color:#cbd5e1}.check-icon{width:20px;height:20px;color:#d97706;flex-shrink:0;stroke-width:2.5}@media(max-width:768px){.entity-selector-button{min-width:100%}.entity-selector-dropdown{left:0;right:0;max-height:400px}.entity-list{max-height:280px}}.modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-out}.modal-content{background:#fff;border-radius:1rem;box-shadow:0 20px 60px #0000004d;max-height:90vh;min-height:400px;display:flex;flex-direction:column;animation:slideUp .3s ease-out}.modal-small{width:100%;max-width:400px;min-height:300px}.modal-medium{width:100%;max-width:600px;min-height:400px}.modal-large{width:100%;max-width:900px;min-height:500px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid #e2e8f0}.modal-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:.5rem;cursor:pointer;color:#64748b;transition:all .2s}.modal-close svg{width:20px;height:20px;stroke-width:2}@media(max-width:768px){.modal-overlay{padding:0;align-items:flex-end}.modal-content{max-height:95vh;border-bottom-left-radius:0;border-bottom-right-radius:0;animation:slideUpMobile .3s ease-out}@keyframes slideUpMobile{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-small,.modal-medium,.modal-large{max-width:100%}.modal-header{padding:1.25rem 1.5rem}.modal-header h2{font-size:1.25rem}.modal-body{padding:1.5rem}}.legal-entity-form{display:flex;flex-direction:column;gap:2rem}.form-group input,.form-group select{padding:.75rem 1rem;border:1.5px solid #e2e8f0;border-radius:.75rem;font-size:.9375rem;color:#1e293b;transition:all .2s;background:#fff}.form-group input:focus,.form-group select:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a}.form-group input.error,.form-group select.error{border-color:#ef4444}.form-group input.error:focus,.form-group select.error:focus{box-shadow:0 0 0 3px #ef44441a}.form-group input::placeholder{color:#94a3b8}.journal-entry-form{display:flex;flex-direction:column;gap:2rem}.mock-banner{padding:1rem 1.25rem;background:#fef3c7;border:2px solid #f59e0b;border-radius:.75rem;color:#92400e;font-size:.9375rem;font-weight:600;text-align:center}.journal-lines-table{overflow-x:auto;border:1.5px solid #e2e8f0;border-radius:.75rem;background:#fff}.journal-lines-table table{width:100%;border-collapse:collapse}.journal-lines-table thead{background:#f8fafc;border-bottom:1.5px solid #e2e8f0}.journal-lines-table th{padding:.875rem 1rem;text-align:left;font-size:.8125rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.05em}.journal-lines-table tbody tr{border-bottom:1px solid #f1f5f9}.journal-lines-table tbody tr:last-child{border-bottom:none}.journal-lines-table td{padding:.75rem 1rem;vertical-align:top}.journal-lines-table td select,.journal-lines-table td input{width:100%;padding:.5rem .75rem;border:1.5px solid #e2e8f0;border-radius:.5rem;font-size:.875rem;color:#1e293b;transition:all .2s}.journal-lines-table td select:focus,.journal-lines-table td input:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a}.journal-lines-table td select.error,.journal-lines-table td input.error{border-color:#ef4444}.totals-row{background:#f8fafc;border-top:2px solid #e2e8f0;font-weight:600}.totals-row td{padding:1rem}.total-debit,.total-credit{font-size:1.125rem;text-align:right}.total-debit.balanced,.total-credit.balanced{color:#059669}.total-debit.unbalanced,.total-credit.unbalanced{color:#dc2626}.difference-row{background:#fef2f2;border-top:1px solid #fecaca}.difference-row td{padding:.75rem 1rem}.difference-amount{color:#dc2626;font-size:1rem;text-align:right}.difference-label{display:block;font-size:.75rem;font-weight:400;margin-top:.25rem}.balanced-row{background:#f0fdf4;border-top:1px solid #bbf7d0}.balanced-message{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;color:#059669;font-weight:600}.balanced-message svg{width:20px;height:20px}.btn-primary:disabled{opacity:.7;cursor:not-allowed;transform:none;background:#9ca3af}@media(max-width:768px){.form-row{grid-template-columns:1fr}.journal-lines-table{font-size:.875rem}.journal-lines-table th,.journal-lines-table td{padding:.5rem}.form-actions{flex-direction:column-reverse}.btn-secondary,.btn-primary{width:100%;justify-content:center}}.field-hint{display:block;font-size:.85rem;color:#6b7280;margin-top:.25rem;font-weight:400}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:400}.checkbox-label input[type=checkbox]{width:auto;margin:0;cursor:pointer}.file-list{margin-top:.5rem;display:flex;flex-direction:column;gap:.5rem}.file-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#f3f4f6;border-radius:6px;font-size:.9rem;border:2px solid transparent;transition:all .2s}.file-item .file-icon{font-size:1.5rem;flex-shrink:0}.file-item .file-info{flex:1;display:flex;flex-direction:column;gap:.25rem;overflow:hidden}.file-item .file-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-item .file-status{font-size:.8rem;color:#6b7280}.file-status-pending{border-color:#d1d5db}.file-status-uploading{border-color:#3b82f6;background:#eff6ff}.file-status-pending-scan,.file-status-scanning{border-color:#f59e0b;background:#fffbeb}.file-status-clean{border-color:#10b981;background:#f0fdf4}.file-status-infected{border-color:#ef4444;background:#fef2f2}.file-status-scan-failed{border-color:#6b7280;background:#f9fafb}.file-item .btn-icon{width:28px;height:28px;padding:0;font-size:1.2rem;line-height:1;flex-shrink:0}.scanning-notice{display:flex;align-items:center;gap:.75rem;margin-top:.75rem;padding:.75rem 1rem;background:#fffbeb;border:1px solid #fcd34d;border-radius:6px;color:#92400e;font-size:.875rem;font-weight:500}.scanning-notice .spinner{width:16px;height:16px}.accounting-dashboard{padding:2rem;max-width:1600px;margin:0 auto;animation:fadeIn .3s ease-in}.header-actions{display:flex;align-items:center;gap:1rem}.btn-secondary{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#fff;color:#64748b;border:1.5px solid #e2e8f0;border-radius:.75rem;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#f8fafc;border-color:#cbd5e1;color:#475569}.entity-banner{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fbbf24;border-radius:1rem;padding:1.5rem;margin-bottom:2rem}.entity-banner-content{display:flex;align-items:center;gap:1rem}.entity-banner-icon{width:48px;height:48px;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:.75rem;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.entity-banner-icon svg{width:24px;height:24px;stroke-width:2}.entity-banner-info h3{font-size:1.125rem;font-weight:600;color:#1e293b;margin:0 0 .5rem}.entity-banner-details{display:flex;align-items:center;gap:.75rem;font-size:.875rem;color:#64748b;font-weight:500;flex-wrap:wrap}.stat-card{background:#fff;border-radius:1rem;padding:1.5rem;border:1px solid #e2e8f0;transition:all .2s}.stat-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001a}.stat-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.stat-icon{width:48px;height:48px;border-radius:.75rem;display:flex;align-items:center;justify-content:center}.stat-change{padding:.375rem .75rem;border-radius:9999px;font-size:.8125rem;font-weight:600}.stat-change.up{background:#d1fae5;color:#065f46}.stat-content{margin-top:1rem}.stat-label{font-size:.875rem;color:#64748b;margin:0 0 .5rem;font-weight:500}.stat-value{font-size:1.75rem;font-weight:700;color:#1e293b;margin:0}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:1.5rem}.dashboard-card{background:#fff;border-radius:1rem;border:1px solid #e2e8f0;overflow:hidden}.card-header{padding:1.5rem;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center}.btn-text{background:none;border:none;color:#f59e0b;font-size:.875rem;font-weight:600;cursor:pointer;transition:color .2s}.btn-text:hover{color:#d97706}.transactions-list{padding:1rem}.transaction-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f8fafc;border-radius:.75rem;margin-bottom:.75rem;transition:all .2s}.transaction-item:last-child{margin-bottom:0}.transaction-item:hover{background:#f1f5f9}.transaction-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.transaction-icon.income{background:#d1fae5;color:#065f46}.transaction-icon.expense{background:#fee2e2;color:#991b1b}.transaction-icon svg{width:20px;height:20px;stroke-width:2}.transaction-content{flex:1;min-width:0}.transaction-description{font-size:.9375rem;font-weight:500;color:#1e293b;margin:0 0 .25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transaction-date{font-size:.8125rem;color:#64748b;margin:0}.transaction-amount{text-align:right;flex-shrink:0}.transaction-amount>span:first-child{display:block;font-size:1rem;font-weight:600;margin-bottom:.25rem}.transaction-amount .income{color:#10b981}.transaction-amount .expense{color:#ef4444}.transaction-status{display:inline-block;padding:.25rem .625rem;border-radius:9999px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.transaction-status.completed{background:#d1fae5;color:#065f46}.transaction-status.pending{background:#fef3c7;color:#92400e}.quick-actions{padding:1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.action-button{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem 1rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1.5px solid #e2e8f0;border-radius:.75rem;cursor:pointer;transition:all .2s;color:#1e293b}.action-button:hover{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#fbbf24;transform:translateY(-2px);box-shadow:0 4px 12px #f59e0b33}.action-button svg{width:32px;height:32px;stroke-width:2;color:#f59e0b}.action-button span{font-size:.875rem;font-weight:600;text-align:center}@media(max-width:768px){.accounting-dashboard{padding:1rem}.header-content{flex-direction:column;align-items:stretch}.quick-stats-grid,.dashboard-grid,.quick-actions{grid-template-columns:1fr}.entity-banner-content{flex-direction:column;text-align:center}.entity-banner-details{justify-content:center}}.account-form{display:flex;flex-direction:column;gap:2rem}.field-hint{font-size:.8125rem;color:#64748b}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.9375rem;color:#1e293b;cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:500}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;margin:0}.btn-secondary{padding:.75rem 1.5rem;background:#fff;color:#64748b;border:1.5px solid #e2e8f0;border-radius:.75rem;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s}@media(max-width:768px){.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.btn-secondary,.btn-primary{width:100%;justify-content:center}}.form-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.form-section-header h3{margin:0}.toggle-label{display:flex;align-items:center;gap:8px;font-size:14px;color:#374151;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-label input[type=checkbox]{width:auto;margin:0;cursor:pointer}.toggle-label span{font-weight:500}input:disabled,select:disabled,textarea:disabled{background-color:#f3f4f6;color:#9ca3af;cursor:not-allowed;opacity:.6}select#template{border-color:#3b82f6;background-color:#eff6ff}select#template:focus{border-color:#2563eb;box-shadow:0 0 0 3px #3b82f61a}.confirm-dialog-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-out}.confirm-dialog{background:#fff;border-radius:1rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:500px;width:90%;animation:slideUp .2s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.confirm-dialog-header{padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #e2e8f0}.confirm-dialog-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#1e293b}.confirm-dialog-body{padding:1.5rem}.confirm-dialog-body p{margin:0 0 1rem;color:#64748b;line-height:1.6;font-size:.9375rem}.confirm-dialog-input{width:100%;padding:.75rem 1rem;border:1px solid #cbd5e1;border-radius:.5rem;font-size:.9375rem;transition:all .2s}.confirm-dialog-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.confirm-dialog-footer{padding:1rem 1.5rem 1.5rem;display:flex;gap:.75rem;justify-content:flex-end}.btn-dialog{padding:.625rem 1.25rem;border:none;border-radius:.5rem;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-cancel{background:#f1f5f9;color:#475569}.btn-cancel:hover{background:#e2e8f0}.btn-confirm{color:#fff}.btn-confirm:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:#3b82f6}.btn-primary:hover:not(:disabled){background:#2563eb}.btn-danger{background:#ef4444}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-success{background:#10b981}.btn-success:hover:not(:disabled){background:#059669}.chart-of-accounts{padding:2rem;max-width:1600px;margin:0 auto;animation:fadeIn .3s ease-in}.account-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-bottom:2rem}.summary-card{background:#fff;border-radius:1rem;padding:1.5rem;border:1px solid #e2e8f0;border-left-width:4px;display:flex;align-items:center;gap:1rem;transition:all .2s}.summary-card:hover{transform:translateY(-2px);box-shadow:0 8px 16px #00000014}.summary-icon{width:48px;height:48px;border-radius:.75rem;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.summary-content{flex:1;min-width:0}.summary-label{font-size:.875rem;color:#64748b;margin:0 0 .5rem;font-weight:500}.summary-value{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0}.accounts-toolbar{background:#fff;border-radius:1rem;padding:1.5rem;margin-bottom:1.5rem;border:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap}.toolbar-left{display:flex;align-items:center;gap:1.5rem;flex:1;flex-wrap:wrap}.search-box{position:relative;flex:0 1 300px}.search-box svg{position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:20px;height:20px;color:#94a3b8;stroke-width:2}.search-box input{width:100%;padding:.75rem 1rem .75rem 3rem;border:1.5px solid #e2e8f0;border-radius:.75rem;font-size:.9375rem;transition:all .2s}.search-box input:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a}.filter-tabs{display:flex;gap:.5rem;flex-wrap:wrap}.filter-tab{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:.75rem;font-size:.875rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s}.filter-tab:hover{background:#f1f5f9;border-color:#cbd5e1}.filter-tab.active{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#fbbf24;color:#92400e}.tab-icon{font-size:1rem}.tab-label{white-space:nowrap}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#64748b;cursor:pointer;-webkit-user-select:none;user-select:none}.btn-primary svg{width:20px;height:20px;stroke-width:2}.accounts-container{display:flex;flex-direction:column;gap:1.5rem}.account-group{background:#fff;border-radius:1rem;border:1px solid #e2e8f0;overflow:hidden}.group-header{padding:1.25rem 1.5rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;border-left-width:4px;border-left-style:solid;display:flex;justify-content:space-between;align-items:center}.account-count{font-size:.875rem;color:#64748b;font-weight:500}.accounts-table{display:flex;flex-direction:column}.table-header,.table-row{display:grid;grid-template-columns:100px 1fr 200px 180px 100px;gap:1rem;padding:1rem 1.5rem;align-items:center}.table-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;font-size:.75rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.table-row{border-bottom:1px solid #f1f5f9;transition:all .2s}.table-row:last-child{border-bottom:none}.table-row:hover{background:#f8fafc}.col-code,.col-name,.col-subtype,.col-balance,.col-actions{display:flex;align-items:center}.account-code{font-family:Monaco,Courier New,monospace;font-size:.875rem;font-weight:600;color:#64748b;padding:.375rem .75rem;background:#f1f5f9;border-radius:.5rem}.account-name{font-size:.9375rem;font-weight:500;color:#1e293b}.inactive-badge{margin-left:.5rem;padding:.25rem .625rem;background:#fee2e2;color:#991b1b;border-radius:9999px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.account-subtype{font-size:.875rem;color:#64748b}.account-balance{font-size:.9375rem;font-weight:600;color:#1e293b;font-family:Monaco,Courier New,monospace}.col-actions{gap:.5rem;justify-content:flex-end}.btn-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#fff;border:1.5px solid #e2e8f0;border-radius:.5rem;cursor:pointer;transition:all .2s;color:#64748b}.btn-icon:hover{background:#f8fafc;border-color:#f59e0b;color:#f59e0b}.btn-icon.btn-danger{color:#ef4444;border-color:#fee2e2;background:#fff}.btn-icon.btn-danger:hover{background:#fef2f2;border-color:#fca5a5;color:#dc2626}.btn-icon svg{width:18px;height:18px;stroke-width:2;display:block}.btn-icon svg.spinner{animation:spin 1s linear infinite}.empty-state{padding:4rem 2rem;text-align:center;background:#fff;border-radius:1rem;border:1px solid #e2e8f0}.empty-state svg{width:64px;height:64px;color:#cbd5e1;margin:0 auto 1.5rem;stroke-width:1.5}.empty-state p{font-size:.9375rem;color:#64748b;margin:0}@media(max-width:1200px){.table-header,.table-row{grid-template-columns:80px 1fr 150px 150px 80px}}@media(max-width:1024px){.filter-tabs{width:100%}.filter-tab{flex:1;justify-content:center}.tab-label{display:none}}@media(max-width:768px){.chart-of-accounts{padding:1rem}.header-content{flex-direction:column;align-items:stretch}.account-summary{grid-template-columns:1fr}.accounts-toolbar,.toolbar-left{flex-direction:column;align-items:stretch}.search-box{flex:1}.btn-primary{width:100%;justify-content:center}.table-header{display:none}.table-row{grid-template-columns:1fr;gap:.75rem;padding:1.25rem}.col-code,.col-name,.col-subtype,.col-balance,.col-actions{justify-content:space-between}.col-code:before{content:"Code:";font-size:.75rem;color:#64748b;font-weight:600;text-transform:uppercase}.col-subtype:before{content:"Type:";font-size:.75rem;color:#64748b;font-weight:600;text-transform:uppercase}.col-balance:before{content:"Balance:";font-size:.75rem;color:#64748b;font-weight:600;text-transform:uppercase}.col-actions{justify-content:flex-start}}.chart-of-accounts-empty{animation:fadeIn .3s ease-in}.empty-state-large{max-width:600px;margin:4rem auto;padding:3rem 2rem;text-align:center;background:#fff;border-radius:1.5rem;border:2px dashed #e2e8f0}.empty-icon{width:80px;height:80px;margin:0 auto 1.5rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:50%;display:flex;align-items:center;justify-content:center}.empty-icon svg{width:40px;height:40px;color:#f59e0b;stroke-width:2}.empty-state-large h2{font-size:1.75rem;font-weight:700;color:#1e293b;margin:0 0 .75rem}.empty-state-large>p{font-size:1rem;color:#64748b;margin:0 0 2rem;line-height:1.6}.btn-large{padding:1rem 2rem;font-size:1rem;margin-bottom:2.5rem}.empty-state-help{margin-top:2.5rem;padding-top:2.5rem;border-top:1px solid #e2e8f0;text-align:left}.help-title{font-size:.875rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin:0 0 1rem;text-align:center}.account-suggestions{display:flex;flex-direction:column;gap:1rem}.suggestion-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f8fafc;border-radius:.75rem;border:1px solid #e2e8f0;transition:all .2s}.suggestion-item:hover{background:#f1f5f9;border-color:#cbd5e1}.suggestion-icon{font-size:1.75rem;flex-shrink:0}.suggestion-item div{flex:1;display:flex;flex-direction:column;gap:.25rem}.suggestion-item strong{font-size:.9375rem;font-weight:600;color:#1e293b}.suggestion-item span{font-size:.8125rem;color:#64748b}.loading-state{padding:4rem 2rem;text-align:center;background:#fff;border-radius:1rem;border:1px solid #e2e8f0}.loading-state p{font-size:1rem;color:#64748b;margin:0}.error-state{padding:2rem;text-align:center;background:#fef2f2;border-radius:1rem;border:1px solid #fecaca;margin-bottom:2rem}.error-state p{font-size:.9375rem;color:#991b1b;margin:0;font-weight:500}@media(max-width:768px){.empty-state-large{margin:2rem auto;padding:2rem 1.5rem}.empty-icon{width:64px;height:64px}.empty-icon svg{width:32px;height:32px}.empty-state-large h2{font-size:1.5rem}.empty-state-large>p{font-size:.9375rem}}.invoice-management{padding:24px;max-width:1400px;margin:0 auto}.invoices-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.invoices-header h2{font-size:20px;font-weight:600;color:#111827;margin:0}.invoices-table{overflow-x:auto}.invoices-table table{width:100%;border-collapse:collapse}.invoices-table thead{background:#f9fafb;border-bottom:1px solid #e5e7eb}.invoices-table th{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.invoices-table td{padding:16px;border-bottom:1px solid #f3f4f6;font-size:14px;color:#374151}.invoices-table tbody tr:hover{background:#f9fafb}.invoices-table tbody tr:last-child td{border-bottom:none}.status-draft{background:#f3f4f6;color:#6b7280}.status-sent{background:#dbeafe;color:#1e40af}.invoice-form{display:flex;flex-direction:column;gap:2rem}.form-error{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:#fef2f2;border:1px solid #fecaca;border-radius:.75rem;color:#991b1b;font-size:.9375rem;font-weight:500}.form-error svg{width:20px;height:20px;flex-shrink:0;stroke-width:2}.form-section{display:flex;flex-direction:column;gap:1.5rem}.form-section h3{font-size:1.125rem;font-weight:600;color:#1e293b;margin:0;padding-bottom:.75rem;border-bottom:2px solid #e2e8f0}.section-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:.75rem;border-bottom:2px solid #e2e8f0}.section-header h3{font-size:1.125rem;font-weight:600;color:#1e293b;margin:0;padding:0;border:none}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem}.required{color:#ef4444}.form-group input,.form-group select,.form-group textarea{padding:.75rem 1rem;border:1.5px solid #e2e8f0;border-radius:.75rem;font-size:.9375rem;color:#1e293b;transition:all .2s;background:#fff;font-family:inherit}.form-group textarea{resize:vertical;min-height:80px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#ef4444}.form-group input.error:focus,.form-group select.error:focus,.form-group textarea.error:focus{box-shadow:0 0 0 3px #ef44441a}.error-message{font-size:.8125rem;color:#ef4444;font-weight:500}.form-group input::placeholder,.form-group textarea::placeholder{color:#94a3b8}.line-items-table{overflow-x:auto;border:1.5px solid #e2e8f0;border-radius:.75rem;background:#fff}.line-items-table table{width:100%;border-collapse:collapse}.line-items-table thead{background:#f8fafc;border-bottom:1.5px solid #e2e8f0}.line-items-table th{padding:.875rem 1rem;text-align:left;font-size:.8125rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.05em}.line-items-table tbody tr{border-bottom:1px solid #f1f5f9}.line-items-table tbody tr:last-child{border-bottom:none}.line-items-table td{padding:.75rem 1rem}.line-items-table td input{width:100%;padding:.5rem .75rem;border:1.5px solid #e2e8f0;border-radius:.5rem;font-size:.875rem;color:#1e293b;transition:all .2s}.line-items-table td input:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a}.line-items-table td input.error{border-color:#ef4444}.amount-cell{font-weight:600;color:#1e293b;text-align:right}.totals-section{display:flex;flex-direction:column;gap:1rem;padding:1.5rem;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:.75rem;max-width:400px;margin-left:auto}.total-row{display:flex;justify-content:space-between;align-items:center;font-size:.9375rem;color:#475569}.total-row strong{color:#1e293b;font-weight:600}.total-final{padding-top:1rem;border-top:2px solid #e2e8f0;font-size:1.125rem;font-weight:600;color:#1e293b}.total-final strong{font-size:1.25rem;color:#f59e0b}.form-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:1rem;border-top:1px solid #e2e8f0}.btn-secondary{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#fff;color:#64748b;border:1.5px solid #e2e8f0;border-radius:.75rem;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1;color:#475569}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary svg{width:18px;height:18px;stroke-width:2.5}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #f59e0b66}.btn-primary:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-primary svg{width:18px;height:18px;stroke-width:2.5}.btn-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:.5rem;cursor:pointer;transition:all .2s;color:#64748b}.btn-icon:hover{background:#f1f5f9;color:#475569}.btn-icon.btn-danger{color:#ef4444}.btn-icon.btn-danger:hover{background:#fef2f2;color:#dc2626}.btn-icon svg{width:18px;height:18px;stroke-width:2}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@media(max-width:768px){.form-row{grid-template-columns:1fr}.line-items-table{font-size:.875rem}.line-items-table th,.line-items-table td{padding:.5rem}.totals-section{max-width:100%}.form-actions{flex-direction:column-reverse}.btn-secondary,.btn-primary{width:100%;justify-content:center}}.expense-tracking{padding:24px;max-width:1400px;margin:0 auto}.page-header{margin-bottom:32px}.header-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.header-text h1{font-size:28px;font-weight:600;color:#111827;margin:0 0 4px}.header-text p{font-size:14px;color:#6b7280;margin:0}.entity-selector{display:flex;align-items:center;gap:12px}.entity-selector label{font-size:14px;font-weight:500;color:#374151}.entity-selector select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;min-width:200px}.page-content{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:24px}.expenses-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.expenses-header h2{font-size:20px;font-weight:600;color:#111827;margin:0}.expenses-table{overflow-x:auto}.expenses-table table{width:100%;border-collapse:collapse}.expenses-table thead{background:#f9fafb;border-bottom:1px solid #e5e7eb}.expenses-table th{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.expenses-table td{padding:16px;border-bottom:1px solid #f3f4f6;font-size:14px;color:#374151}.expenses-table tbody tr:hover{background:#f9fafb}.expenses-table tbody tr:last-child td{border-bottom:none}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;text-transform:capitalize}.status-paid{background:#d1fae5;color:#065f46}.status-overdue{background:#fee2e2;color:#991b1b}.status-cancelled{background:#f3f4f6;color:#9ca3af}.category-badge{display:inline-block;padding:4px 10px;background:#ede9fe;color:#5b21b6;border-radius:10px;font-size:12px;font-weight:500}.btn-primary{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#f97316;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.btn-primary:hover{background:#ea580c}.btn-primary svg{width:16px;height:16px}.empty-state,.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;text-align:center}.empty-icon,.empty-state svg,.error-state svg{width:64px;height:64px;stroke:#d1d5db;margin-bottom:16px}.error-state svg{stroke:#dc2626}.empty-state h3{font-size:18px;font-weight:600;color:#111827;margin:0 0 8px}.empty-state p,.error-state p{font-size:14px;color:#6b7280;margin:0 0 24px}.loading-state .spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#f97316;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}.expenses-container{animation:fadeIn .3s ease-in}.financial-reports{padding:2rem;max-width:1200px;margin:0 auto;animation:fadeIn .3s ease-in}.report-controls{background:#fff;border-radius:1rem;padding:1.5rem;margin-bottom:2rem;border:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap}.report-tabs{display:flex;gap:.75rem}.report-tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:.75rem;font-size:.9375rem;font-weight:600;color:#64748b;cursor:pointer;transition:all .2s}.report-tab:hover{background:#f1f5f9;border-color:#cbd5e1}.report-tab.active{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#fbbf24;color:#92400e}.report-tab svg{width:20px;height:20px;stroke-width:2}.report-actions{display:flex;gap:.75rem;align-items:center}.period-select{padding:.75rem 1rem;border:1.5px solid #e2e8f0;border-radius:.75rem;font-size:.9375rem;font-weight:500;color:#1e293b;background:#fff;cursor:pointer;transition:all .2s}.period-select:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a}.btn-secondary{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#fff;border:1.5px solid #e2e8f0;border-radius:.75rem;font-size:.9375rem;font-weight:600;color:#64748b;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#f8fafc;border-color:#f59e0b;color:#f59e0b}.btn-secondary svg{width:18px;height:18px;stroke-width:2}.report-container{background:#fff;border-radius:1rem;border:1px solid #e2e8f0;overflow:hidden;box-shadow:0 4px 12px #0000000d}.report-header{padding:2.5rem 3rem 2rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:2px solid #e2e8f0;text-align:center}.report-header h2{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0 0 .5rem}.report-header h3{font-size:1.25rem;font-weight:600;color:#475569;margin:0 0 .5rem}.report-header p{font-size:.9375rem;color:#64748b;margin:0}.report-content{padding:2rem 3rem 3rem}.report-section{margin-bottom:2.5rem}.report-section:last-child{margin-bottom:0}.section-title{font-size:1rem;font-weight:700;color:#1e293b;text-transform:uppercase;letter-spacing:.05em;margin:0 0 1.25rem;padding-bottom:.75rem;border-bottom:2px solid #e2e8f0}.subsection{margin-bottom:1.5rem}.subsection-title{font-size:.875rem;font-weight:600;color:#475569;margin:0 0 .75rem;padding-left:1rem}.report-line{display:flex;justify-content:space-between;align-items:center;padding:.625rem 1rem;transition:background .2s}.report-line:hover{background:#f8fafc}.line-label{font-size:.9375rem;color:#475569;font-weight:400}.line-value{font-size:.9375rem;color:#1e293b;font-weight:500;font-family:Monaco,Courier New,monospace;text-align:right}.report-line.subtotal{margin-top:.5rem;padding-top:.75rem;border-top:1px solid #e2e8f0}.report-line.subtotal .line-label{font-weight:600;color:#1e293b}.report-line.subtotal .line-value{font-weight:600}.report-line.total{margin-top:1rem;padding:1rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-top:2px solid #cbd5e1;border-bottom:2px solid #cbd5e1}.report-line.total .line-label{font-size:1rem;font-weight:700;color:#1e293b}.report-line.total .line-value{font-size:1.125rem;font-weight:700;color:#1e293b}.report-line.grand-total{margin-top:1.5rem;padding:1.25rem 1rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border-top:3px solid #f59e0b;border-bottom:3px solid #f59e0b}.report-line.grand-total .line-label{font-size:1.125rem;font-weight:700;color:#92400e}.report-line.grand-total .line-value{font-size:1.25rem;font-weight:700;color:#92400e}@media(max-width:1024px){.report-controls{flex-direction:column;align-items:stretch}.report-tabs{width:100%}.report-tab{flex:1;justify-content:center}.report-actions{width:100%;flex-wrap:wrap}.period-select{flex:1}}@media(max-width:768px){.financial-reports{padding:1rem}.header-content{flex-direction:column;align-items:stretch}.report-header{padding:2rem 1.5rem 1.5rem}.report-header h2{font-size:1.25rem}.report-header h3{font-size:1.125rem}.report-content{padding:1.5rem 1rem 2rem}.section-title{font-size:.875rem}.subsection-title{font-size:.8125rem;padding-left:.5rem}.report-line{padding:.5rem}.line-label,.line-value{font-size:.875rem}.report-line.total .line-label,.report-line.total .line-value{font-size:.9375rem}.report-line.grand-total .line-label{font-size:1rem}.report-line.grand-total .line-value{font-size:1.125rem}.report-tabs{flex-direction:column}.report-tab{width:100%}.btn-secondary{flex:1;justify-content:center}}@media print{.financial-reports{padding:0}.page-header,.report-controls{display:none}.report-container{border:none;box-shadow:none}.report-line:hover{background:transparent}}.trial-balance-table{width:100%;border:1px solid #e2e8f0;border-radius:.75rem;overflow:hidden}.trial-balance-header{display:grid;grid-template-columns:100px 1fr 120px 150px 150px;gap:1rem;padding:1rem 1.5rem;background:linear-gradient(135deg,#1e293b,#334155);color:#fff;font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.trial-balance-row{display:grid;grid-template-columns:100px 1fr 120px 150px 150px;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid #e2e8f0;transition:background .2s}.trial-balance-row:hover{background:#f8fafc}.trial-balance-totals{display:grid;grid-template-columns:100px 1fr 120px 150px 150px;gap:1rem;padding:1rem 1.5rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-top:2px solid #cbd5e1;border-bottom:2px solid #cbd5e1;font-weight:700;font-size:1rem}.trial-balance-check{display:grid;grid-template-columns:100px 1fr 120px 150px 150px;gap:1rem;padding:1rem 1.5rem;border:2px solid;font-weight:600;font-size:.9375rem}.tb-col{display:flex;align-items:center}.tb-code{font-family:Monaco,Courier New,monospace;font-size:.875rem;color:#64748b}.tb-name{font-size:.9375rem;color:#1e293b}.tb-type{justify-content:center}.tb-amount{justify-content:flex-end;font-family:Monaco,Courier New,monospace;font-size:.9375rem;color:#1e293b}.tb-total{font-weight:700;font-size:1rem;color:#1e293b}.type-badge{padding:.25rem .75rem;border-radius:.5rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.type-asset{background:#dbeafe;color:#1e40af}.type-liability{background:#fef3c7;color:#92400e}.type-equity{background:#e0e7ff;color:#4338ca}.type-revenue{background:#d1fae5;color:#065f46}.type-expense{background:#fee2e2;color:#991b1b}@media(max-width:1024px){.trial-balance-header,.trial-balance-row,.trial-balance-totals,.trial-balance-check{grid-template-columns:80px 1fr 100px 120px 120px;gap:.75rem;padding:.875rem 1rem}.tb-amount{font-size:.875rem}}@media(max-width:768px){.trial-balance-header,.trial-balance-row,.trial-balance-totals,.trial-balance-check{grid-template-columns:1fr;gap:.5rem;padding:1rem}.trial-balance-header{display:none}.trial-balance-row{border:1px solid #e2e8f0;border-radius:.5rem;margin-bottom:.75rem}.tb-col{justify-content:space-between;padding:.25rem 0}.tb-col:before{content:attr(data-label);font-weight:600;color:#64748b;font-size:.8125rem;text-transform:uppercase;letter-spacing:.05em}.tb-code:before{content:"Code: "}.tb-name:before{content:"Account: "}.tb-type:before{content:"Type: "}.tb-amount:before{content:attr(data-label)}.tb-type{justify-content:flex-start}.trial-balance-totals,.trial-balance-check{margin-top:1rem}}.accounting-admin{padding:2rem;max-width:1600px;margin:0 auto;animation:fadeIn .3s ease-in}.admin-header{margin-bottom:2rem}.admin-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;margin-bottom:2rem}.admin-tab{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:#fff;border:2px solid #e2e8f0;border-radius:1rem;cursor:pointer;transition:all .2s;text-align:left}.admin-tab:hover{border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.admin-tab.active{border-color:#f59e0b;background:linear-gradient(135deg,#fef3c7,#fde68a);box-shadow:0 4px 12px #f59e0b33}.tab-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:.75rem;flex-shrink:0}.admin-tab.active .tab-icon{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.tab-icon svg{width:24px;height:24px;stroke-width:2}.tab-content{display:flex;flex-direction:column;gap:.25rem}.tab-name{font-size:1rem;font-weight:600;color:#1e293b}.tab-description{font-size:.875rem;color:#64748b}.admin-content{background:#fff;border-radius:1rem;border:1px solid #e2e8f0;padding:2rem}.section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid #e2e8f0}.section-header h2{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0 0 .5rem}.section-header p{font-size:.9375rem;color:#64748b;margin:0}.btn-primary{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;border-radius:.75rem;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #f59e0b4d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #f59e0b66}.btn-primary svg{width:18px;height:18px;stroke-width:2}.templates-info{margin-bottom:2rem}.info-card{display:flex;gap:1.5rem;padding:1.5rem;background:#f8fafc;border-radius:1rem;border:1px solid #e2e8f0}.info-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:.75rem;flex-shrink:0}.info-icon svg{width:24px;height:24px;stroke-width:2}.info-content{flex:1}.info-content h3{font-size:1.125rem;font-weight:600;color:#1e293b;margin:0 0 .75rem}.info-content p{font-size:.9375rem;color:#64748b;line-height:1.6;margin:0 0 1rem}.info-content ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.info-content li{font-size:.875rem;color:#64748b;padding-left:1.5rem;position:relative}.info-content li:before{content:"✓";position:absolute;left:0;color:#10b981;font-weight:700}.templates-placeholder,.settings-placeholder{padding:4rem 2rem;text-align:center}.placeholder-icon{width:80px;height:80px;margin:0 auto 1.5rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:50%;display:flex;align-items:center;justify-content:center}.placeholder-icon svg{width:40px;height:40px;color:#f59e0b;stroke-width:2}.templates-placeholder h3,.settings-placeholder h3{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0 0 .75rem}.templates-placeholder p,.settings-placeholder p{font-size:1rem;color:#64748b;margin:0 0 2rem}@media(max-width:768px){.accounting-admin{padding:1rem}.admin-tabs{grid-template-columns:1fr}.admin-content{padding:1.5rem}.section-header{flex-direction:column;align-items:stretch}.info-card{flex-direction:column}.btn-primary{width:100%;justify-content:center}}.templates-table{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.templates-table table{width:100%;border-collapse:collapse}.templates-table thead{background:#f9fafb;border-bottom:1px solid #e5e7eb}.templates-table th{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.templates-table td{padding:16px;border-bottom:1px solid #f3f4f6;font-size:14px;color:#374151}.templates-table tbody tr:hover{background:#f9fafb}.templates-table tbody tr:last-child td{border-bottom:none}.type-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;text-transform:capitalize}.type-badge.type-asset{background:#dbeafe;color:#1e40af}.type-badge.type-liability{background:#fef3c7;color:#92400e}.type-badge.type-equity{background:#e0e7ff;color:#3730a3}.type-badge.type-revenue{background:#d1fae5;color:#065f46}.type-badge.type-expense{background:#fee2e2;color:#991b1b}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.status-badge.active{background:#d1fae5;color:#065f46}.status-badge.inactive{background:#f3f4f6;color:#6b7280}.action-buttons{display:flex;gap:8px}.btn-icon{padding:6px;background:transparent;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.btn-icon svg{width:16px;height:16px;stroke:#6b7280}.btn-icon:hover{background:#f9fafb;border-color:#d1d5db}.btn-icon.btn-danger:hover{background:#fee2e2;border-color:#fca5a5}.btn-icon.btn-danger:hover svg{stroke:#dc2626}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.loading-state .spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}.error-state svg{width:48px;height:48px;stroke:#dc2626;margin-bottom:16px}.error-state p{color:#dc2626;font-size:14px}@keyframes spin{to{transform:rotate(360deg)}}.journal-entries{padding:2rem;max-width:1600px;margin:0 auto;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.journal-entries.loading{display:flex;align-items:center;justify-content:center;min-height:400px;color:#64748b}.header-content{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;flex-wrap:wrap}.filters-section{margin-bottom:2rem}.status-filters{display:flex;gap:.5rem;background:#fff;padding:.5rem;border-radius:.75rem;border:1px solid #e2e8f0;width:fit-content}.filter-btn{padding:.5rem 1.25rem;border:none;border-radius:.5rem;background:transparent;color:#64748b;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.filter-btn:hover{background:#f1f5f9;color:#1e293b}.filter-btn.active{background:#3b82f6;color:#fff}.entries-table-container{background:#fff;border-radius:1rem;border:1px solid #e2e8f0;overflow:hidden}.entries-table{width:100%;border-collapse:collapse}.entries-table thead{background:#f9fafb;border-bottom:2px solid #e5e7eb}.entries-table th{padding:.75rem 1rem;text-align:left;font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.entries-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .15s}.entries-table tbody tr.clickable-row{cursor:pointer}.entries-table tbody tr:hover{background:#f9fafb}.entries-table td{padding:1rem;font-size:.9375rem;color:#111827}.entry-number{font-weight:600;color:#3b82f6}.description{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.amount{text-align:right;font-family:SF Mono,Monaco,Courier New,monospace;font-weight:500}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.status-draft{background:#fef3c7;color:#92400e}.status-posted{background:#d1fae5;color:#065f46}.status-voided{background:#fee2e2;color:#991b1b}.attachments-cell{text-align:center}.attachment-count{font-size:.875rem;color:#6b7280}.no-attachments{color:#d1d5db}.actions-cell{text-align:right}.btn-action{padding:.375rem .75rem;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-post{background:#10b981;color:#fff}.btn-post:hover{background:#059669}.btn-void{background:#ef4444;color:#fff}.btn-void:hover{background:#dc2626}.loading-state,.empty-state{text-align:center;padding:4rem 2rem;color:#6b7280}.empty-state svg{width:64px;height:64px;margin:0 auto 1rem;color:#d1d5db}.empty-state h3{font-size:1.25rem;font-weight:600;color:#111827;margin:0 0 .5rem}.empty-state p{margin:0}.entry-detail{padding:1rem}.detail-header{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:1rem;background:#f9fafb;border-radius:8px;margin-bottom:1.5rem}.detail-row{display:flex;flex-direction:column;gap:.25rem}.detail-row .label{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.detail-section{margin-bottom:2rem}.detail-section h3{font-size:1rem;font-weight:600;color:#111827;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid #e5e7eb}.memo-text{padding:1rem;background:#f9fafb;border-radius:6px;color:#374151;line-height:1.6;margin:0}.lines-table{width:100%;border-collapse:collapse;border:1px solid #e5e7eb;border-radius:6px;overflow:hidden}.lines-table thead{background:#f9fafb}.lines-table th{padding:.75rem 1rem;text-align:left;font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase}.lines-table td{padding:.75rem 1rem;border-top:1px solid #e5e7eb}.account-cell{display:flex;flex-direction:column;gap:.25rem}.account-code{font-weight:600;color:#3b82f6;font-size:.875rem}.account-name{font-size:.8125rem;color:#6b7280}.lines-table .amount{text-align:right;font-family:SF Mono,Monaco,Courier New,monospace}.totals-row{background:#f9fafb;font-weight:600}.totals-row td{border-top:2px solid #e5e7eb}.amount.total{color:#111827;font-weight:700}.attachments-list{display:flex;flex-direction:column;gap:.75rem}.attachment-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#f9fafb;border-radius:6px;border:1px solid #e5e7eb}.attachment-item svg{width:20px;height:20px;color:#6b7280;flex-shrink:0}.attachment-info{display:flex;flex-direction:column;gap:.25rem;flex:1}.attachment-name{font-size:.875rem;font-weight:500;color:#111827}.attachment-meta{font-size:.75rem;color:#6b7280}.detail-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:1.5rem;border-top:1px solid #e5e7eb}.btn-primary,.btn-secondary,.btn-danger{padding:.625rem 1.25rem;border:none;border-radius:6px;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem}.btn-primary:disabled{background:#9ca3af;cursor:not-allowed}.btn-secondary{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.btn-secondary:hover{background:#e5e7eb}.btn-danger{background:#ef4444;color:#fff}.btn-primary svg,.btn-secondary svg,.btn-danger svg{width:18px;height:18px}.leads-page{padding:2rem;max-width:1400px;margin:0 auto}.header-content{display:flex;justify-content:space-between;align-items:center}.header-text h1{font-size:1.875rem;font-weight:700;color:#1e293b;margin:0 0 .5rem}.header-text p{color:#64748b;margin:0}.btn-primary{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:#3b82f6;color:#fff;border:none;border-radius:.5rem;font-weight:500;cursor:pointer;transition:background .2s}.leads-filters{margin-bottom:1.5rem}.filter-tabs{display:flex;gap:.5rem;border-bottom:1px solid #e2e8f0}.filter-tab{padding:.75rem 1.5rem;background:none;border:none;border-bottom:2px solid transparent;color:#64748b;font-weight:500;cursor:pointer;transition:all .2s}.filter-tab:hover{color:#3b82f6}.filter-tab.active{color:#3b82f6;border-bottom-color:#3b82f6}.loading{text-align:center;padding:3rem;color:#64748b}.empty-state svg{width:4rem;height:4rem;color:#cbd5e1;margin-bottom:1rem;stroke-width:1.5}.empty-state h3{font-size:1.25rem;font-weight:600;color:#1e293b;margin:0 0 .5rem}.empty-state p{color:#64748b;margin:0 0 1.5rem}.leads-table{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;overflow:hidden}.leads-table table{width:100%;border-collapse:collapse;table-layout:fixed}.leads-table thead{background:#f8fafc;border-bottom:1px solid #e2e8f0}.leads-table th{padding:.75rem 1rem;text-align:left;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.leads-table th:last-child{width:180px;text-align:center}.leads-table td{padding:1rem;border-bottom:1px solid #f1f5f9;color:#334155}.leads-table td:last-child{text-align:center}.leads-table tbody tr:hover{background:#f8fafc}.lead-name{display:flex;flex-direction:column;gap:.25rem}.lead-name strong{color:#1e293b}.lead-title{font-size:.875rem;color:#64748b}.status-badge,.rating-badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:capitalize}.status-new{background:#dbeafe;color:#1e40af}.status-contacted{background:#fef3c7;color:#92400e}.status-qualified{background:#d1fae5;color:#065f46}.status-unqualified{background:#f3f4f6;color:#4b5563}.status-converted{background:#dcfce7;color:#166534}.rating-hot{background:#fee2e2;color:#991b1b}.rating-warm{background:#fed7aa;color:#9a3412}.rating-cold{background:#dbeafe;color:#1e40af}.btn-icon-success{color:#10b981;border-color:#d1fae5}.btn-icon-success:hover{background:#d1fae5;border-color:#10b981;color:#059669}.btn-secondary{padding:.5rem .875rem;background:#fff;border:1px solid #e2e8f0;border-radius:.375rem;color:#64748b;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#f8fafc;border-color:#cbd5e1;color:#1e293b}.btn-success{padding:.5rem .875rem;background:#10b981;border:none;border-radius:.375rem;color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-success:hover{background:#059669}.btn-danger{padding:.5rem .875rem;background:#ef4444;border:none;border-radius:.375rem;color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:flex-start;justify-content:center;z-index:1000;padding:2rem 1rem;overflow-y:auto;overflow-x:hidden}.modal-content{background:#fff;border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:600px;width:100%;max-height:calc(100vh - 4rem);margin:0 auto;overflow:hidden;display:flex;flex-direction:column;position:relative}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e2e8f0;flex-shrink:0}.modal-close{background:none;border:none;font-size:2rem;color:#64748b;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:.375rem;transition:all .2s}.modal-close:hover{background:#f1f5f9;color:#1e293b}.modal-body{padding:1.5rem;overflow-y:auto;overflow-x:hidden;flex:1 1 0;min-height:0;max-height:calc(100vh - 14rem)}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.modal-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.modal-body::-webkit-scrollbar-thumb:hover{background:#94a3b8}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-group{display:flex;flex-direction:column;margin-bottom:1rem}.form-group label{font-size:.875rem;font-weight:500;color:#334155;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{padding:.625rem .875rem;border:1px solid #e2e8f0;border-radius:.5rem;font-size:.9375rem;color:#1e293b;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group textarea{resize:vertical;font-family:inherit}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:1px solid #e2e8f0;flex-shrink:0}.btn-primary,.btn-secondary{padding:.625rem 1.25rem;border-radius:.5rem;font-weight:500;font-size:.9375rem;cursor:pointer;transition:all .2s;border:none}.btn-primary{background:#3b82f6;color:#fff}.btn-secondary{background:#fff;color:#64748b;border:1px solid #e2e8f0}.modal-large{max-width:700px}.modal-large .modal-body{max-height:calc(100vh - 8rem)}@media(max-width:640px){.form-row{grid-template-columns:1fr}.modal-content{max-width:100%;margin:0;border-radius:0;max-height:100vh}}.activity-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:flex-start;justify-content:center;z-index:1000;padding:2rem 1rem;overflow-y:auto;overflow-x:hidden}.activity-modal-content{background:#fff;border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:700px;width:100%;max-height:85vh;min-height:600px;margin:0 auto;overflow:hidden;display:flex;flex-direction:column;position:relative}.activity-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e2e8f0;flex-shrink:0}.activity-modal-header h2{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0}.activity-modal-close{background:none;border:none;font-size:2rem;color:#64748b;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:.375rem;transition:all .2s}.activity-modal-close:hover{background:#f1f5f9;color:#1e293b}.activity-modal-body{padding:1.5rem;overflow-y:auto;overflow-x:hidden;flex:1 1 0;min-height:400px}.activity-modal-body::-webkit-scrollbar{width:8px}.activity-modal-body::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.activity-modal-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.activity-modal-body::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media(max-width:640px){.activity-modal-content{max-width:100%;margin:0;border-radius:0;max-height:100vh}.activity-modal-body{max-height:calc(100vh - 5rem)}}.activity-feed{background:#fff;border-radius:.75rem;padding:0;margin:0}.activity-actions{margin-bottom:1.5rem}.activity-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.activity-header h3{font-size:1.125rem;font-weight:600;color:#1e293b;margin:0}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.btn-sm svg{width:1rem;height:1rem}.activity-form{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;padding:1.5rem;margin-bottom:1.5rem}.activity-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.activity-form .form-group{display:flex;flex-direction:column;margin-bottom:1rem}.activity-form .form-group label{font-size:.875rem;font-weight:500;color:#334155;margin-bottom:.5rem}.activity-form .form-group input,.activity-form .form-group select,.activity-form .form-group textarea{padding:.625rem .875rem;border:1px solid #e2e8f0;border-radius:.5rem;font-size:.9375rem;color:#1e293b;background:#fff;transition:all .2s;width:100%}.activity-form .form-group input:focus,.activity-form .form-group select:focus,.activity-form .form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.activity-form .form-group textarea{resize:vertical;font-family:inherit}.form-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.activity-timeline{position:relative}.activity-timeline:before{content:"";position:absolute;left:1.25rem;top:0;bottom:0;width:2px;background:#e2e8f0}.activity-item{display:flex;gap:1rem;margin-bottom:1.5rem;position:relative}.activity-item:last-child{margin-bottom:0}.activity-icon{flex-shrink:0;width:2.5rem;height:2.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;border:2px solid #e2e8f0;z-index:1}.activity-icon-call{border-color:#3b82f6;background:#eff6ff;color:#3b82f6}.activity-icon-meeting{border-color:#8b5cf6;background:#f5f3ff;color:#8b5cf6}.activity-icon-email{border-color:#10b981;background:#f0fdf4;color:#10b981}.activity-icon-task{border-color:#f59e0b;background:#fffbeb;color:#f59e0b}.activity-icon-note{border-color:#64748b;background:#f8fafc;color:#64748b}.activity-content{flex:1;padding-top:.25rem}.activity-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.activity-meta{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.activity-type{font-weight:600;color:#1e293b;text-transform:capitalize}.activity-separator{color:#cbd5e1}.activity-author{color:#64748b}.activity-time{color:#94a3b8}.activity-status{padding:.25rem .625rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:capitalize}.status-planned{background:#dbeafe;color:#1e40af}.status-completed{background:#dcfce7;color:#166534}.status-cancelled{background:#f3f4f6;color:#4b5563}.activity-subject{font-size:.9375rem;font-weight:500;color:#1e293b;margin-bottom:.5rem}.activity-description{font-size:.875rem;color:#64748b;line-height:1.5;margin-bottom:.5rem}.activity-detail{font-size:.8125rem;color:#94a3b8;margin-top:.25rem}.empty-activities{text-align:center;padding:3rem 1rem}.empty-activities svg{width:3rem;height:3rem;color:#cbd5e1;margin:0 auto 1rem;stroke-width:1.5}.empty-activities p{color:#64748b;margin:0}@media(max-width:640px){.activity-header{flex-direction:column;align-items:flex-start;gap:1rem}.activity-meta{flex-wrap:wrap}}.sales-flow-guide{position:relative}.guide-toggle{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#3b82f6;color:#fff;border:none;border-radius:.375rem;cursor:pointer;font-size:.875rem;font-weight:500;transition:background-color .2s}.guide-toggle:hover{background:#2563eb}.guide-icon{display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;background:#fff;color:#3b82f6;border-radius:50%;font-weight:700;font-size:.875rem}.guide-panel{position:fixed;top:50%;right:2rem;transform:translateY(-50%);width:400px;max-height:80vh;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 10px 25px #0000001a;z-index:1000;overflow:hidden;display:flex;flex-direction:column}.guide-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:#f9fafb;border-bottom:1px solid #e5e7eb}.guide-header h3{margin:0;font-size:1.125rem;font-weight:600;color:#111827}.guide-close{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:.25rem;transition:background-color .2s}.guide-close:hover{background:#e5e7eb;color:#111827}.guide-content{overflow-y:auto;padding:1.25rem}.guide-section{margin-bottom:1.5rem}.guide-section:last-child{margin-bottom:0}.guide-description{margin:0;color:#4b5563;line-height:1.6}.guide-section h4{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:#111827;text-transform:uppercase;letter-spacing:.05em}.guide-flow,.guide-tips,.guide-next-steps{margin:0;padding-left:1.5rem}.guide-flow li,.guide-tips li,.guide-next-steps li{margin-bottom:.5rem;color:#4b5563;line-height:1.6}.guide-flow li:last-child,.guide-tips li:last-child,.guide-next-steps li:last-child{margin-bottom:0}.guide-pipeline{background:#f9fafb;padding:1rem;border-radius:.375rem;border:1px solid #e5e7eb}.pipeline-flow{display:flex;align-items:center;gap:.5rem;overflow-x:auto;padding:.5rem 0}.pipeline-step{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:80px;padding:.75rem .5rem;background:#fff;border:2px solid #3b82f6;border-radius:.375rem}.pipeline-step strong{display:block;font-size:.875rem;font-weight:600;color:#3b82f6;margin-bottom:.25rem}.pipeline-step span{font-size:.75rem;color:#6b7280}.pipeline-arrow{color:#3b82f6;font-size:1.25rem;font-weight:700;flex-shrink:0}@media(max-width:768px){.guide-panel{right:1rem;left:1rem;width:auto;max-height:70vh}.guide-label{display:none}.pipeline-flow{flex-direction:column}.pipeline-arrow{transform:rotate(90deg)}}.contacts-page{padding:2rem;max-width:1400px;margin:0 auto}.contacts-table-container{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;overflow:hidden}.contacts-table{width:100%;border-collapse:collapse;table-layout:fixed}.contacts-table thead{background:#f8fafc;border-bottom:1px solid #e2e8f0}.contacts-table th{padding:.75rem 1rem;text-align:left;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.contacts-table th:last-child{width:140px;text-align:center}.contacts-table td{padding:1rem;border-bottom:1px solid #f1f5f9;color:#334155}.contacts-table td:last-child{text-align:center}.contacts-table tbody tr:hover{background:#f8fafc}.primary-badge{display:inline-block;margin-left:.5rem;padding:.125rem .5rem;background:#dcfce7;color:#166534;border-radius:9999px;font-size:.75rem;font-weight:600}.accounts-page{padding:2rem;max-width:1400px;margin:0 auto}.accounts-table-container{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;overflow:hidden}.accounts-table{width:100%;border-collapse:collapse;table-layout:fixed}.accounts-table thead{background:#f8fafc;border-bottom:1px solid #e2e8f0}.accounts-table th{padding:.75rem 1rem;text-align:left;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.accounts-table th:last-child{width:140px;text-align:center}.accounts-table td{padding:1rem;border-bottom:1px solid #f1f5f9;color:#334155}.accounts-table td:last-child{text-align:center}.accounts-table tbody tr:hover{background:#f8fafc}.type-badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:capitalize}.type-prospect{background:#dbeafe;color:#1e40af}.type-customer{background:#dcfce7;color:#166534}.type-partner{background:#fef3c7;color:#92400e}.type-reseller{background:#e0e7ff;color:#3730a3}.type-vendor{background:#fce7f3;color:#9f1239}.type-other{background:#f3f4f6;color:#4b5563}.opportunities-page{padding:2rem;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.page-header h1{font-size:1.875rem;font-weight:700;color:#1e293b;margin:0}.btn-primary{padding:.625rem 1.25rem;background:#3b82f6;color:#fff;border:none;border-radius:.5rem;font-weight:500;cursor:pointer;transition:background .2s}.btn-primary:hover{background:#2563eb}.btn-secondary{padding:.5rem 1rem;background:#fff;color:#3b82f6;border:1px solid #3b82f6;border-radius:.375rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#eff6ff}.btn-danger{padding:.5rem 1rem;background:#ef4444;color:#fff;border:none;border-radius:.375rem;font-weight:500;cursor:pointer;transition:background .2s}.btn-danger:hover{background:#dc2626}.btn-sm{padding:.375rem .75rem;font-size:.875rem}.pipeline-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.metric-card{background:#fff;padding:1.5rem;border-radius:.75rem;box-shadow:0 1px 3px #0000001a}.metric-label{font-size:.875rem;color:#64748b;margin-bottom:.5rem}.metric-value{font-size:2rem;font-weight:700;color:#1e293b}.filters{margin-bottom:1.5rem}.filter-select{padding:.625rem 1rem;border:1px solid #e2e8f0;border-radius:.5rem;font-size:.875rem;color:#334155;background:#fff;cursor:pointer}.loading-state,.error-state,.empty-state{text-align:center;padding:3rem;color:#64748b}.error-state p{margin-bottom:1rem;color:#ef4444}.opportunities-table-container{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;overflow:hidden}.opportunities-table{width:100%;border-collapse:collapse;table-layout:fixed}.opportunities-table thead{background:#f8fafc;border-bottom:1px solid #e2e8f0}.opportunities-table th{padding:.75rem 1rem;text-align:left;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.opportunities-table th:last-child{width:140px;text-align:center}.opportunities-table td{padding:1rem;border-bottom:1px solid #f1f5f9;color:#334155}.opportunities-table td:last-child{text-align:center}.opportunities-table tbody tr:hover{background:#f8fafc}.stage-badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:capitalize}.stage-prospecting{background:#dbeafe;color:#1e40af}.stage-qualification{background:#e0e7ff;color:#3730a3}.stage-needs-analysis{background:#fef3c7;color:#92400e}.stage-proposal{background:#fed7aa;color:#9a3412}.stage-negotiation{background:#fce7f3;color:#9f1239}.stage-closed-won{background:#dcfce7;color:#166534}.stage-closed-lost{background:#f3f4f6;color:#4b5563}.btn-icon{padding:.375rem;background:none;border:1px solid #e2e8f0;border-radius:.375rem;color:#64748b;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.btn-icon:hover{background:#f8fafc;border-color:#cbd5e1;color:#3b82f6}.btn-icon svg{width:1.125rem;height:1.125rem;display:block}.btn-icon-danger{color:#ef4444;border-color:#fee2e2}.btn-icon-danger:hover{background:#fee2e2;border-color:#ef4444;color:#dc2626}.btn-secondary{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#fff;color:#475569;border:1px solid #e2e8f0;border-radius:.5rem;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary svg{width:1.25rem;height:1.25rem;stroke-width:2}.hr-dashboard{padding:2rem;max-width:1600px;margin:0 auto}.dashboard-header{margin-bottom:2rem}.header-date{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#f8fafc;border-radius:.5rem;color:#475569;font-size:.9375rem;font-weight:500}.header-date svg{width:1.25rem;height:1.25rem;stroke-width:2}.quick-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:#fff;border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a;transition:all .2s}.stat-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.stat-icon{width:3rem;height:3rem;border-radius:.75rem;display:flex;align-items:center;justify-content:center}.stat-change{font-size:.8125rem;font-weight:600;padding:.25rem .625rem;border-radius:.375rem}.stat-change.up{background:#dcfce7;color:#166534}.stat-change.down{background:#fee2e2;color:#991b1b}.stat-change.neutral{background:#f1f5f9;color:#475569}.stat-label{font-size:.875rem;color:#64748b;font-weight:500;margin:0}.stat-value{font-size:1.875rem;font-weight:700;color:#1e293b;margin:0}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem}.dashboard-card{background:#fff;border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e2e8f0}.card-header h2{font-size:1.125rem;font-weight:600;color:#1e293b;margin:0}.headcount-chart{display:flex;flex-direction:column;gap:1rem}.headcount-item{display:flex;flex-direction:column;gap:.5rem}.headcount-info{display:flex;justify-content:space-between;align-items:center}.dept-name{font-size:.9375rem;font-weight:500;color:#475569;text-transform:capitalize}.dept-count{font-size:.9375rem;font-weight:700;color:#1e293b}.headcount-bar{height:.5rem;background:#f1f5f9;border-radius:.25rem;overflow:hidden}.headcount-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:.25rem;transition:width .3s ease}.activities-list{display:flex;flex-direction:column;gap:1rem}.activity-item{display:flex;gap:1rem;padding:1rem;background:#f8fafc;border-radius:.5rem;transition:all .2s}.activity-item:hover{background:#f1f5f9}.activity-icon{width:2.5rem;height:2.5rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.activity-icon svg{width:1.25rem;height:1.25rem;stroke-width:2}.activity-icon.new_hire{background:#dbeafe;color:#1e40af}.activity-icon.leave_approved{background:#dcfce7;color:#166534}.activity-icon.leave_request{background:#fef3c7;color:#92400e}.activity-icon.attendance{background:#e0e7ff;color:#4338ca}.activity-content{flex:1;display:flex;flex-direction:column;gap:.25rem}.activity-employee{font-size:.9375rem;font-weight:600;color:#1e293b;margin:0}.activity-action{font-size:.875rem;color:#475569;margin:0}.activity-meta{font-size:.8125rem;color:#94a3b8;margin:0}.events-list{display:flex;flex-direction:column;gap:1rem}.event-item{display:flex;gap:1rem;padding:1rem;background:#f8fafc;border-radius:.5rem;align-items:center;transition:all .2s}.event-item:hover{background:#f1f5f9}.event-date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;background:#fff;border-radius:.5rem;border:2px solid #e2e8f0;flex-shrink:0}.event-day{font-size:1.25rem;font-weight:700;color:#1e293b;line-height:1}.event-month{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;line-height:1}.event-content{flex:1;display:flex;flex-direction:column;gap:.25rem}.event-title{font-size:.9375rem;font-weight:600;color:#1e293b;margin:0}.event-description{font-size:.875rem;color:#64748b;margin:0}.event-badge{padding:.25rem .75rem;border-radius:.375rem;font-size:.75rem;font-weight:600;text-transform:capitalize}.event-badge.payroll{background:#dbeafe;color:#1e40af}.event-badge.review{background:#fce7f3;color:#9f1239}.event-badge.onboarding{background:#dcfce7;color:#166534}.event-badge.benefits{background:#fef3c7;color:#92400e}.quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}.action-button{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem 1rem;background:#f8fafc;border:2px solid #e2e8f0;border-radius:.75rem;cursor:pointer;transition:all .2s;font-size:.875rem;font-weight:600;color:#475569}.action-button:hover{background:#fff;border-color:#3b82f6;color:#3b82f6;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f626}.action-button svg{width:2rem;height:2rem;stroke-width:2}@media(max-width:1024px){.dashboard-grid{grid-template-columns:1fr}}@media(max-width:768px){.hr-dashboard{padding:1rem}.header-content{flex-direction:column;align-items:flex-start}.quick-stats-grid{grid-template-columns:1fr}.quick-actions{grid-template-columns:repeat(2,1fr)}}.employees-page{padding:2rem;max-width:1600px;margin:0 auto}.btn-primary{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#3b82f6;color:#fff;border:none;border-radius:.5rem;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.btn-primary svg{width:1.25rem;height:1.25rem;stroke-width:2}.filters-toolbar{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.search-box{flex:1;min-width:300px;position:relative;display:flex;align-items:center}.search-box svg{position:absolute;left:1rem;width:1.25rem;height:1.25rem;color:#94a3b8;stroke-width:2}.search-box input{width:100%;padding:.75rem 1rem .75rem 3rem;border:1px solid #e2e8f0;border-radius:.5rem;font-size:.9375rem;transition:all .2s}.search-box input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.employee-stats{display:flex;gap:1.5rem;margin-bottom:1.5rem;padding:1.5rem;background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a}.stat-item{display:flex;flex-direction:column;gap:.25rem}.stat-value{font-size:1.5rem;font-weight:700;color:#1e293b}.employees-container{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;overflow:hidden}.employees-table{overflow-x:auto}.employees-table table{width:100%;border-collapse:collapse}.employees-table thead{background:#f8fafc;border-bottom:1px solid #e2e8f0}.employees-table th{padding:1rem;text-align:left;font-size:.875rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.05em}.employees-table td{padding:1rem;border-bottom:1px solid #f1f5f9;font-size:.9375rem;color:#475569}.employees-table tbody tr:hover{background:#f8fafc}.employee-name-cell{display:flex;align-items:center;gap:.75rem}.employee-avatar{width:2.5rem;height:2.5rem;border-radius:.5rem;background:linear-gradient(135deg,#3b82f6,#60a5fa);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;flex-shrink:0}.employee-info{display:flex;flex-direction:column;gap:.125rem}.employee-name{font-weight:600;color:#1e293b}.employee-email{font-size:.8125rem;color:#94a3b8}.status-leave{background:#fef3c7;color:#92400e}.status-terminated{background:#fee2e2;color:#991b1b}.type-badge{display:inline-block;padding:.25rem .75rem;border-radius:.375rem;font-size:.8125rem;font-weight:600;background:#e0e7ff;color:#4338ca}.btn-icon{width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:.375rem;color:#64748b;cursor:pointer;transition:all .2s}.btn-icon:hover{background:#f1f5f9;color:#3b82f6}.btn-icon svg{width:1.125rem;height:1.125rem;stroke-width:2}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.empty-state svg{width:4rem;height:4rem;color:#cbd5e1;stroke-width:1.5;margin-bottom:1rem}.empty-state h3{font-size:1.25rem;font-weight:600;color:#475569;margin:0 0 .5rem}.empty-state p{font-size:.9375rem;color:#94a3b8;margin:0}.employee-profile{padding:1rem}.profile-header{display:flex;align-items:center;gap:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #e2e8f0;margin-bottom:1.5rem}.profile-avatar-large{width:5rem;height:5rem;border-radius:1rem;background:linear-gradient(135deg,#3b82f6,#60a5fa);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:600;flex-shrink:0}.profile-info h2{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0 0 .5rem}.profile-position{font-size:1rem;color:#64748b;margin:0 0 .75rem}.profile-details{display:flex;flex-direction:column;gap:1.5rem}.detail-section h3{font-size:1.125rem;font-weight:600;color:#1e293b;margin:0 0 1rem}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-label{font-size:.8125rem;color:#94a3b8;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.detail-value{font-size:.9375rem;color:#1e293b;font-weight:500}.btn-secondary{padding:.75rem 1.5rem;background:#fff;color:#475569;border:1px solid #e2e8f0;border-radius:.5rem;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s}@media(max-width:1024px){.employees-table{font-size:.875rem}.employees-table th,.employees-table td{padding:.75rem}}@media(max-width:768px){.employees-page{padding:1rem}.header-content{flex-direction:column;align-items:flex-start}.filters-toolbar{flex-direction:column}.search-box{min-width:100%}.filter-group{width:100%}.filter-select{flex:1}.employee-stats{flex-wrap:wrap}.stat-item{flex:1;min-width:120px}.detail-grid{grid-template-columns:1fr}}.employees-page .modal-content{max-height:90vh;height:auto;display:flex;flex-direction:column}.employees-page .modal-body{overflow-y:auto;max-height:calc(90vh - 80px);flex:1}.employee-profile{display:flex;flex-direction:column;gap:24px;padding:8px}.profile-header{display:flex;align-items:center;gap:20px;padding-bottom:20px;border-bottom:1px solid #e5e7eb}.profile-avatar-large{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:600;flex-shrink:0}.profile-info{flex:1}.profile-info h2{margin:0 0 8px;font-size:24px;color:#111827}.profile-position{margin:0 0 12px;color:#6b7280;font-size:16px}.profile-details{display:flex;flex-direction:column;gap:24px}.detail-section{background:#f9fafb;padding:20px;border-radius:8px}.detail-section h3{margin:0 0 16px;font-size:16px;font-weight:600;color:#111827}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-label{font-size:12px;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.detail-value{font-size:14px;color:#111827;font-weight:500}.employee-profile .modal-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:20px;border-top:1px solid #e5e7eb;margin-top:auto}.employees-page .modal-overlay{display:flex;align-items:center;justify-content:center;padding:20px}@media(max-height:700px){.employees-page .modal-content{max-height:95vh}.employees-page .modal-body{max-height:calc(95vh - 80px)}}@media(max-width:768px){.detail-grid{grid-template-columns:1fr}.profile-header{flex-direction:column;text-align:center}}.attendance-page{padding:2rem;max-width:1600px;margin:0 auto}.attendance-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card.highlight{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:2px solid #86efac}.work-hours{font-weight:600;color:#1e293b}.work-hours-zero{color:#cbd5e1}.notes{font-size:.875rem;color:#64748b;font-style:italic}.notes-empty{color:#cbd5e1}.status-present{background:#dcfce7;color:#166534}.status-absent{background:#fee2e2;color:#991b1b}.status-late{background:#fef3c7;color:#92400e}.status-half-day{background:#fce7f3;color:#9f1239}.status-remote{background:#e0e7ff;color:#4338ca}.date-picker{padding:.75rem 1rem;border:1px solid #e2e8f0;border-radius:.5rem;font-size:.9375rem;cursor:pointer}.date-picker:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.attendance-container{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;overflow:hidden}.attendance-table{overflow-x:auto}.attendance-table table{width:100%;border-collapse:collapse}.attendance-table thead{background:#f8fafc;border-bottom:1px solid #e2e8f0}.attendance-table th{padding:1rem;text-align:left;font-size:.875rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.05em}.attendance-table td{padding:1rem;border-bottom:1px solid #f1f5f9;font-size:.9375rem;color:#475569}.attendance-table tbody tr:hover{background:#f8fafc}.leave-management-page{padding:2rem;max-width:1600px;margin:0 auto}.leave-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-bottom:2rem}.leave-container{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;overflow:hidden}.leave-table{overflow-x:auto}.leave-table table{width:100%;border-collapse:collapse}.leave-table thead{background:#f8fafc;border-bottom:1px solid #e2e8f0}.leave-table th{padding:1rem;text-align:left;font-size:.875rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.05em}.leave-table td{padding:1rem;border-bottom:1px solid #f1f5f9;font-size:.9375rem;color:#475569}.leave-table tbody tr:hover{background:#f8fafc}.employee-cell{display:flex;flex-direction:column;gap:.125rem}.employee-id{font-size:.8125rem;color:#94a3b8}.reason-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.type-badge{display:inline-block;padding:.25rem .75rem;border-radius:.375rem;font-size:.8125rem;font-weight:600}.type-vacation{background:#dbeafe;color:#1e40af}.type-sick{background:#fee2e2;color:#991b1b}.type-personal{background:#fce7f3;color:#9f1239}.type-unpaid{background:#f1f5f9;color:#475569}.status-pending{background:#fef3c7;color:#92400e}.status-approved{background:#dcfce7;color:#166534}.status-rejected{background:#fee2e2;color:#991b1b}.btn-approve{color:#10b981}.btn-approve:hover{background:#dcfce7;color:#166534}.btn-reject{color:#ef4444}.btn-reject:hover{background:#fee2e2;color:#991b1b}.payroll-page{padding:2rem;max-width:1600px;margin:0 auto}.payroll-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-bottom:2rem}.period-select{padding:.75rem 1rem;border:1px solid #e2e8f0;border-radius:.5rem;font-size:.9375rem;background:#fff;cursor:pointer}.period-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.payroll-container{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;overflow:hidden}.payroll-table{overflow-x:auto}.payroll-table table{width:100%;border-collapse:collapse}.payroll-table thead{background:#f8fafc;border-bottom:1px solid #e2e8f0}.payroll-table th{padding:1rem;text-align:left;font-size:.875rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.05em}.payroll-table td{padding:1rem;border-bottom:1px solid #f1f5f9;font-size:.9375rem;color:#475569}.payroll-table tbody tr:hover{background:#f8fafc}.payroll-table tfoot{background:#f8fafc;border-top:2px solid #e2e8f0}.totals-row td{padding:1.25rem 1rem;font-size:1rem;font-weight:600;color:#1e293b}.bonus-cell{color:#10b981;font-weight:600}.deduction-cell{color:#ef4444;font-weight:600}.net-pay{color:#3b82f6;font-size:1rem}.net-pay-total{color:#3b82f6;font-size:1.125rem}.status-draft{background:#f1f5f9;color:#475569}.status-processed{background:#dcfce7;color:#166534}.status-paid{background:#dbeafe;color:#1e40af}.process-summary{padding:1rem 0}.process-summary h3{font-size:1.125rem;font-weight:600;color:#1e293b;margin:0 0 1rem}.summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem;padding:1rem;background:#f8fafc;border-radius:.5rem}.summary-item{display:flex;flex-direction:column;gap:.25rem}.summary-label{font-size:.875rem;color:#64748b;font-weight:500}.summary-value{font-size:1.5rem;font-weight:700;color:#1e293b}.warning-text{padding:1rem;background:#fef3c7;border-left:4px solid #f59e0b;border-radius:.375rem;color:#92400e;font-size:.9375rem;margin:0}.currency-conversion{font-size:.75rem;color:#64748b;margin-top:.25rem;font-style:italic}.file-info{padding:1rem;background:#f8fafc;border-radius:.5rem;margin:1rem 0;border:1px solid #e2e8f0}.file-info p{margin:.25rem 0;font-size:.875rem;color:#475569}.action-buttons{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.btn-icon{padding:.5rem;border:none;background:transparent;cursor:pointer;border-radius:.375rem;transition:all .15s ease;display:inline-flex;align-items:center;justify-content:center}.btn-icon:hover{background:#f1f5f9}.btn-icon:disabled{opacity:.5;cursor:not-allowed}.btn-icon svg{width:1.25rem;height:1.25rem;stroke-width:2;color:#64748b}.btn-icon:hover svg{color:#3b82f6}.status-pending_payment{background:#fef3c7;color:#92400e}.delete-details{padding:1rem;background:#f8fafc;border-radius:.5rem;margin:1rem 0}.delete-details p{margin:.5rem 0;font-size:.9375rem;color:#475569}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.form-group label{font-size:.875rem;font-weight:500;color:#1e293b}.form-control{padding:.75rem;border:1px solid #e2e8f0;border-radius:.5rem;font-size:.9375rem;transition:all .15s ease}.form-control:disabled{background:#f8fafc;color:#94a3b8;cursor:not-allowed}@media(max-width:768px){.form-grid{grid-template-columns:1fr}.action-buttons{flex-direction:column;align-items:stretch}.btn-icon{width:100%;justify-content:flex-start;padding:.75rem}}.payroll-page .modal-overlay{padding:2rem}.payroll-page .modal-content{max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.payroll-page .modal-header{flex-shrink:0;padding:1.5rem 2rem;border-bottom:1px solid #e2e8f0}.payroll-page .modal-body{flex:1;overflow-y:auto;padding:0;min-height:0;display:flex;flex-direction:column}.payroll-page .modal-body>form,.payroll-page .modal-body>.modal-content{display:flex;flex-direction:column;flex:1;padding:1.5rem 2rem}.payroll-page .form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem 1.5rem;margin-bottom:0;flex:1;overflow-y:auto;padding-right:.5rem}.payroll-page .form-group{display:flex;flex-direction:column;gap:.375rem}.payroll-page .form-group label{font-size:.8125rem;font-weight:600;color:#475569;line-height:1.2}.payroll-page .form-group label .required{color:#ef4444;margin-left:.125rem}.payroll-page .form-control{padding:.625rem .875rem;border:1px solid #cbd5e1;border-radius:.375rem;font-size:.875rem;color:#1e293b;background:#fff;transition:border-color .15s,box-shadow .15s;width:100%;box-sizing:border-box;line-height:1.5;min-height:38px}.payroll-page .form-control:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.payroll-page .form-control:disabled,.payroll-page .form-control:read-only{background:#f1f5f9;color:#64748b;cursor:not-allowed}.payroll-page .form-control::placeholder{color:#94a3b8}.payroll-page select.form-control{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2364748b'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .625rem center;background-size:1rem;padding-right:2.25rem}.payroll-page .modal-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1.25rem 2rem;border-top:1px solid #e2e8f0;background:#fff;flex-shrink:0;margin-top:0;position:sticky;bottom:0;z-index:10}.payroll-page .modal-body>form .modal-actions,.payroll-page .modal-body>.modal-content .modal-actions{margin:0 -2rem -1.5rem;padding:1.25rem 2rem}.payroll-page .modal-actions button{padding:.625rem 1.25rem;border-radius:.375rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s;border:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;white-space:nowrap;min-height:38px}.payroll-page .modal-actions .btn-secondary{background:#fff;color:#475569;border:1px solid #cbd5e1}.payroll-page .modal-actions .btn-secondary:hover:not(:disabled){background:#f8fafc;border-color:#94a3b8}.payroll-page .modal-actions .btn-primary{background:#3b82f6;color:#fff;border:1px solid #3b82f6}.payroll-page .modal-actions .btn-primary:hover:not(:disabled){background:#2563eb;border-color:#2563eb}.payroll-page .modal-actions .btn-danger{background:#ef4444;color:#fff;border:1px solid #ef4444}.payroll-page .modal-actions .btn-danger:hover:not(:disabled){background:#dc2626;border-color:#dc2626}.payroll-page .modal-actions button:disabled{opacity:.5;cursor:not-allowed}.payroll-page .modal-actions button svg{width:1rem;height:1rem;stroke-width:2}.payroll-page .process-summary{padding:0}.payroll-page .process-summary h3{font-size:1rem;font-weight:600;color:#1e293b;margin:0 0 1rem}.payroll-page .summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.25rem;padding:1rem;background:#f8fafc;border-radius:.5rem}.payroll-page .summary-item{display:flex;flex-direction:column;gap:.25rem}.payroll-page .summary-label{font-size:.75rem;color:#64748b;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.payroll-page .summary-value{font-size:1.25rem;font-weight:700;color:#1e293b}.payroll-page .warning-text{padding:.875rem 1rem;background:#fef3c7;border-left:3px solid #f59e0b;border-radius:.375rem;color:#92400e;font-size:.8125rem;margin:0;line-height:1.5}.payroll-page .delete-details{padding:1rem;background:#f8fafc;border-radius:.5rem;margin-bottom:1rem}.payroll-page .delete-details p{margin:.5rem 0;font-size:.875rem;color:#475569;line-height:1.5}.payroll-page .delete-details p:first-child{margin-top:0}.payroll-page .delete-details p:last-child{margin-bottom:0}.payroll-page .delete-details strong{color:#1e293b;font-weight:600}@media(max-width:768px){.payroll-page .modal-overlay{padding:0;align-items:flex-end}.payroll-page .modal-content{max-height:95vh;border-bottom-left-radius:0;border-bottom-right-radius:0}.payroll-page .modal-header{padding:1.25rem 1.5rem}.payroll-page .modal-body>form,.payroll-page .modal-body>.modal-content{padding:1.25rem 1.5rem}.payroll-page .form-grid{grid-template-columns:1fr;gap:.875rem}.payroll-page .modal-actions{flex-direction:column-reverse;padding:1rem 1.5rem}.payroll-page .modal-body>form .modal-actions,.payroll-page .modal-body>.modal-content .modal-actions{margin:1.25rem -1.5rem -1.25rem;padding:1rem 1.5rem}.payroll-page .modal-actions button{width:100%}.payroll-page .summary-grid{grid-template-columns:1fr}}.payroll-page .modal-small{max-width:450px}.payroll-page .modal-medium{max-width:600px}.payroll-page .modal-large{max-width:800px;width:100%}.payroll-page .modal-body::-webkit-scrollbar{width:8px}.payroll-page .modal-body::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.payroll-page .modal-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.payroll-page .modal-body::-webkit-scrollbar-thumb:hover{background:#94a3b8}.payroll-page .form-grid::-webkit-scrollbar{width:6px}.payroll-page .form-grid::-webkit-scrollbar-track{background:transparent}.payroll-page .form-grid::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.payroll-page .form-grid::-webkit-scrollbar-thumb:hover{background:#94a3b8}.payroll-page .form-group select.form-control[value=""]{color:#94a3b8}.payroll-page .form-group select.form-control:not([value=""]){color:#1e293b;font-weight:500}.payroll-page .form-grid>.form-group:first-child{background:#f8fafc;padding:1rem;border-radius:.5rem;border:2px solid #e2e8f0;margin-bottom:.5rem}.payroll-page .form-grid>.form-group:first-child label{color:#1e293b;font-size:.875rem}.payroll-page .form-grid>.form-group:first-child select{font-size:.9375rem;font-weight:500}.employee-self-service{padding:2rem;max-width:1400px;margin:0 auto}.employee-badge{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a}.employee-avatar-large{width:4rem;height:4rem;border-radius:.75rem;background:linear-gradient(135deg,#3b82f6,#60a5fa);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:600;flex-shrink:0}.employee-badge .employee-info{display:flex;flex-direction:column;gap:.25rem}.employee-badge .employee-info strong{font-size:1.125rem;color:#1e293b}.employee-badge .employee-info span{font-size:.875rem;color:#64748b}.employee-id-badge{display:inline-block;padding:.125rem .5rem;background:#f1f5f9;border-radius:.25rem;font-size:.75rem!important;font-weight:600!important;color:#475569!important;width:fit-content}.self-service-tabs{display:flex;gap:.5rem;margin:2rem 0 1.5rem;border-bottom:2px solid #e2e8f0;overflow-x:auto}.tab-button{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;color:#64748b;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;margin-bottom:-2px}.tab-button svg{width:1.25rem;height:1.25rem;stroke-width:2}.tab-button:hover{color:#3b82f6;background:#f8fafc}.tab-button.active{color:#3b82f6;border-bottom-color:#3b82f6;background:#eff6ff}.tab-content{margin-top:2rem}.content-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.content-header h2{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0}.overview-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));gap:1.5rem}.info-card{background:#fff;border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.info-card .card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e2e8f0}.info-card .card-header h2{font-size:1.125rem;font-weight:600;color:#1e293b;margin:0}.btn-text{background:none;border:none;color:#3b82f6;font-size:.875rem;font-weight:600;cursor:pointer;padding:.25rem .5rem;border-radius:.375rem;transition:all .2s}.btn-text:hover{background:#eff6ff}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.info-item{display:flex;flex-direction:column;gap:.25rem;min-width:0}.info-label{font-size:.8125rem;color:#94a3b8;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.info-value{font-size:.9375rem;color:#1e293b;font-weight:500;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;white-space:normal}.leave-balances{display:flex;flex-direction:column;gap:1.5rem}.balance-item{display:flex;flex-direction:column;gap:.5rem}.balance-header{display:flex;justify-content:space-between;align-items:center}.balance-type{font-size:.9375rem;font-weight:600;color:#1e293b}.balance-remaining{font-size:.875rem;font-weight:600;color:#3b82f6}.balance-bar{height:.5rem;background:#f1f5f9;border-radius:.25rem;overflow:hidden}.balance-fill{height:100%;border-radius:.25rem;transition:width .3s ease}.balance-details{display:flex;justify-content:space-between;font-size:.8125rem;color:#64748b}.attendance-list{display:flex;flex-direction:column;gap:.75rem}.attendance-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f8fafc;border-radius:.5rem;transition:all .2s}.attendance-item:hover{background:#f1f5f9}.attendance-date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:3rem;height:3rem;background:#fff;border-radius:.5rem;border:2px solid #e2e8f0;flex-shrink:0}.date-day{font-size:1.125rem;font-weight:700;color:#1e293b;line-height:1}.date-month{font-size:.6875rem;font-weight:600;color:#64748b;text-transform:uppercase;line-height:1}.attendance-details{flex:1;display:flex;flex-direction:column;gap:.25rem}.attendance-times{font-size:.9375rem;font-weight:500;color:#1e293b}.attendance-hours{font-size:.8125rem;color:#64748b}.payslips-list{display:flex;flex-direction:column;gap:.75rem}.payslip-item{padding:1rem;background:#f8fafc;border-radius:.5rem;cursor:pointer;transition:all .2s}.payslip-item:hover{background:#f1f5f9;transform:translate(4px)}.payslip-info{width:100%}.attendance-table-container,.leave-table-container{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;overflow:hidden}.data-table{width:100%;border-collapse:collapse}.data-table thead{background:#f8fafc;border-bottom:1px solid #e2e8f0}.data-table th{padding:1rem;text-align:left;font-size:.875rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.05em}.data-table td{padding:1rem;border-bottom:1px solid #f1f5f9;font-size:.9375rem;color:#475569}.data-table tbody tr:hover{background:#f8fafc}.leave-balances-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.balance-card{background:#fff;border-radius:.75rem;padding:1.25rem;box-shadow:0 1px 3px #0000001a}.balance-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.balance-card-header .balance-type{font-size:.9375rem;font-weight:600;color:#1e293b}.balance-card-header .balance-remaining{font-size:1.25rem;font-weight:700;color:#3b82f6}.payslips-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.payslip-card{background:#fff;border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a;cursor:pointer;transition:all .2s}.payslip-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.payslip-card-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e2e8f0}.payslip-card-header h3{font-size:1.125rem;font-weight:600;color:#1e293b;margin:0 0 .5rem}.payslip-date{font-size:.875rem;color:#64748b}.payslip-breakdown{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.breakdown-item{display:flex;justify-content:space-between;align-items:center;font-size:.9375rem}.breakdown-item.positive{color:#10b981}.breakdown-item.negative{color:#ef4444}.breakdown-item.total{padding-top:.75rem;border-top:2px solid #e2e8f0;font-weight:700;font-size:1.125rem;color:#1e293b}.btn-download{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;color:#475569;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-download:hover{background:#3b82f6;border-color:#3b82f6;color:#fff}.btn-download svg{width:1.125rem;height:1.125rem;stroke-width:2}.leave-request-form{display:flex;flex-direction:column;gap:1.25rem}.form-group label{font-size:.875rem;font-weight:600;color:#475569}.form-control{padding:.75rem;border:1px solid #e2e8f0;border-radius:.5rem;font-size:.9375rem;transition:all .2s}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.payslip-detail{padding:1rem 0}.payslip-detail-header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:1.5rem;margin-bottom:1.5rem;border-bottom:2px solid #e2e8f0}.payslip-detail-header h3{font-size:1.25rem;font-weight:700;color:#1e293b;margin:0 0 .25rem}.payslip-detail-header p{font-size:.875rem;color:#64748b;margin:0}.payslip-detail-date{text-align:right}.payslip-detail-date span{display:block;font-size:.8125rem;color:#94a3b8;margin-bottom:.25rem}.payslip-detail-date strong{font-size:1rem;color:#1e293b}.payslip-detail-breakdown{display:flex;flex-direction:column;gap:1rem}.payslip-detail-breakdown h4{font-size:.875rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin:1rem 0 .5rem}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;font-size:.9375rem;color:#475569}.detail-row.subtotal{border-top:1px solid #e2e8f0;font-weight:600;color:#1e293b}.detail-row.total{border-top:2px solid #e2e8f0;padding-top:1rem;margin-top:.5rem;font-size:1.25rem;font-weight:700;color:#3b82f6}@media(max-width:1024px){.overview-grid,.info-grid{grid-template-columns:1fr}}@media(max-width:768px){.employee-self-service{padding:1rem}.employee-badge{flex-direction:column;text-align:center}.self-service-tabs{gap:.25rem}.tab-button{padding:.75rem 1rem;font-size:.875rem}.tab-button svg{width:1rem;height:1rem}.overview-stats{grid-template-columns:1fr}.content-header{flex-direction:column;align-items:flex-start;gap:1rem}.form-row,.payslips-grid,.leave-balances-summary{grid-template-columns:1fr}}.holidays-info-banner{display:flex;align-items:center;gap:1rem;padding:1rem;background:#dbeafe;border:1px solid #93c5fd;border-radius:8px;margin-bottom:1.5rem;color:#1e40af}.holidays-info-banner svg{width:24px;height:24px;flex-shrink:0}.holidays-info-banner p{margin:0;font-size:.875rem}.holidays-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.holiday-card{display:flex;gap:1rem;padding:1.25rem;background:#fff;border:1px solid #e2e8f0;border-radius:8px;transition:all .2s}.holiday-card:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000000d}.holiday-card.today{border-color:#3b82f6;background:#eff6ff}.holiday-card.upcoming{border-left:3px solid #3b82f6}.holiday-date-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:70px;padding:.75rem;background:#f8fafc;border-radius:8px;text-align:center}.holiday-card.today .holiday-date-badge{background:#3b82f6;color:#fff}.date-month{font-size:.75rem;font-weight:600;text-transform:uppercase;color:#64748b}.holiday-card.today .date-month{color:#dbeafe}.date-day{font-size:1.75rem;font-weight:700;line-height:1;margin:.25rem 0;color:#0f172a}.holiday-card.today .date-day{color:#fff}.date-weekday{font-size:.75rem;color:#94a3b8}.holiday-card.today .date-weekday{color:#bfdbfe}.holiday-info h3{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:#0f172a}.holiday-info p{margin:0 0 .75rem;font-size:.875rem;color:#64748b}.holiday-meta{display:flex;flex-wrap:wrap;gap:.5rem}.meta-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;border-radius:4px}.meta-badge svg{width:14px;height:14px}.meta-badge.recurring{background:#fef3c7;color:#92400e}.meta-badge.universal{background:#ddd6fe;color:#5b21b6}.meta-badge.today-badge{background:#3b82f6;color:#fff}.header-info{display:flex;align-items:center;gap:.5rem}.info-badge{display:inline-flex;align-items:center;padding:.5rem 1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;font-size:.875rem;font-weight:500;color:#475569}.ytd-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.ytd-card{padding:1.5rem;background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e2e8f0}.ytd-card.highlight{background:linear-gradient(135deg,#3b82f6,#60a5fa);color:#fff;border:none}.ytd-label{font-size:.875rem;font-weight:500;color:#64748b;margin-bottom:.5rem}.ytd-card.highlight .ytd-label{color:#ffffffe6}.ytd-value{font-size:2rem;font-weight:700;color:#1e293b;margin-bottom:.25rem}.ytd-value.deduction{color:#ef4444}.ytd-card.highlight .ytd-value{color:#fff}.ytd-count{font-size:.8125rem;color:#94a3b8}.ytd-card.highlight .ytd-count{color:#fffc}.payslips-table-container{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;overflow:hidden}.payslips-table{width:100%;border-collapse:collapse}.payslips-table thead{background:#f8fafc;border-bottom:2px solid #e2e8f0}.payslips-table th{padding:1rem 1.5rem;text-align:left;font-size:.8125rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.05em}.payslips-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background .15s}.payslips-table tbody tr:hover{background:#f8fafc}.payslips-table td{padding:1rem 1.5rem;font-size:.9375rem;color:#475569}.payslips-table td.amount{font-family:SF Mono,Monaco,Courier New,monospace;font-weight:500}.payslips-table td.deduction{color:#ef4444}.payslips-table td.net-pay{color:#10b981;font-weight:600}.payslips-table .currency-conversion{font-size:.75rem;color:#94a3b8;margin-top:.25rem}.status-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .75rem;border-radius:.375rem;font-size:.8125rem;font-weight:600}.status-badge.status-paid{background:#dcfce7;color:#166534}.status-badge.status-pending_payment{background:#fef3c7;color:#92400e}.status-badge.status-draft{background:#f1f5f9;color:#475569}.table-actions{display:flex;gap:.5rem}.btn-table-action{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .875rem;background:#fff;border:1px solid #e2e8f0;border-radius:.375rem;font-size:.8125rem;font-weight:500;color:#475569;cursor:pointer;transition:all .15s}.btn-table-action:hover{background:#f8fafc;border-color:#cbd5e1;color:#1e293b}.btn-table-action svg{width:1rem;height:1rem;stroke-width:2}.payslip-detail{display:flex;flex-direction:column;gap:1.5rem}.payslip-detail-header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:1.5rem;border-bottom:2px solid #e2e8f0}.employee-info h3{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0 0 .5rem}.employee-meta{font-size:.9375rem;color:#64748b;margin:0 0 .25rem}.employee-email{font-size:.875rem;color:#94a3b8;margin:0}.payslip-detail-date{text-align:right;display:flex;flex-direction:column;gap:.5rem}.date-label{font-size:.8125rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.date-value{font-size:1rem;color:#1e293b;font-weight:600}.status-badge-large{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:600;margin-top:.5rem}.status-badge-large.status-paid{background:#dcfce7;color:#166534}.status-badge-large.status-pending_payment{background:#fef3c7;color:#92400e}.status-badge-large.status-draft{background:#f1f5f9;color:#475569}.payslip-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.detail-section{background:#f8fafc;padding:1.5rem;border-radius:.75rem}.section-title{font-size:.875rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.05em;margin:0 0 1rem;padding-bottom:.75rem;border-bottom:1px solid #e2e8f0}.detail-rows{display:flex;flex-direction:column;gap:.75rem}.detail-row{display:flex;justify-content:space-between;align-items:center;font-size:.9375rem}.detail-row span:first-child{color:#64748b}.detail-row span.amount{font-family:SF Mono,Monaco,Courier New,monospace;font-weight:500;color:#1e293b}.detail-row.positive span.amount{color:#10b981}.detail-row.negative span.amount{color:#ef4444}.detail-row.subtotal{padding-top:.75rem;margin-top:.5rem;border-top:1px solid #e2e8f0}.net-pay-section{background:linear-gradient(135deg,#3b82f6,#60a5fa);padding:1.5rem;border-radius:.75rem;color:#fff}.net-pay-row{display:flex;justify-content:space-between;align-items:center}.net-pay-label{font-size:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.net-pay-amount{font-size:2rem;font-weight:700;font-family:SF Mono,Monaco,Courier New,monospace}.currency-conversion-row{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.2);font-size:.875rem;color:#ffffffe6}.converted-amount{font-weight:600;font-family:SF Mono,Monaco,Courier New,monospace}.payment-info-section{background:#f8fafc;padding:1.5rem;border-radius:.75rem}.payment-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.info-item{display:flex;flex-direction:column;gap:.375rem}.info-label{font-size:.8125rem;color:#64748b;font-weight:500}.info-value{font-size:.9375rem;color:#1e293b;font-weight:600}@media(max-width:1024px){.payslip-detail-grid,.payment-info-grid{grid-template-columns:1fr}}@media(max-width:768px){.ytd-summary{grid-template-columns:1fr}.payslips-table-container{overflow-x:auto}.payslips-table{min-width:800px}.table-actions{flex-direction:column}.btn-table-action{width:100%;justify-content:center}.payslip-detail-header{flex-direction:column;gap:1rem}.payslip-detail-date{text-align:left}}.employee-self-service .modal-content{max-width:650px;width:100%}.employee-self-service .modal-body{padding:1.5rem 2rem 2rem;overflow-y:auto;max-height:calc(90vh - 80px)}.employee-self-service .modal-content>.modal-body>.modal-content{padding:0}.employee-self-service .leave-request-form{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:1.5rem}.employee-self-service .leave-request-form .form-group{display:flex;flex-direction:column;gap:.5rem}.employee-self-service .leave-request-form .form-group label{font-size:.875rem;font-weight:600;color:#475569;margin-bottom:.25rem}.employee-self-service .leave-request-form .form-control{padding:.75rem 1rem;border:1px solid #cbd5e1;border-radius:.5rem;font-size:.9375rem;color:#1e293b;background:#fff;transition:all .2s;width:100%;box-sizing:border-box}.employee-self-service .leave-request-form .form-control:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.employee-self-service .leave-request-form .form-control::placeholder{color:#94a3b8}.employee-self-service .leave-request-form .form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.employee-self-service .leave-request-form textarea.form-control{resize:vertical;min-height:80px;font-family:inherit}.employee-self-service .modal-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1.5rem;border-top:1px solid #e2e8f0;margin-top:1.5rem}.employee-self-service .modal-actions button{padding:.75rem 1.5rem;border-radius:.5rem;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s;border:none;display:flex;align-items:center;gap:.5rem}.employee-self-service .modal-actions .btn-secondary{background:#f8fafc;color:#475569;border:1px solid #e2e8f0}.employee-self-service .modal-actions .btn-secondary:hover{background:#f1f5f9;border-color:#cbd5e1}.employee-self-service .modal-actions .btn-primary{background:#3b82f6;color:#fff}.employee-self-service .modal-actions .btn-primary:hover{background:#2563eb}.employee-self-service .modal-actions .btn-primary svg{width:1.125rem;height:1.125rem;stroke-width:2}.employee-self-service .payslip-detail{padding:0}.employee-self-service .payslip-detail-header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:1.5rem;margin-bottom:1.5rem;border-bottom:2px solid #e2e8f0}.employee-self-service .payslip-detail-header h3{font-size:1.25rem;font-weight:700;color:#1e293b;margin:0 0 .5rem}.employee-self-service .payslip-detail-header p{font-size:.875rem;color:#64748b;margin:0}.employee-self-service .payslip-detail-date{text-align:right}.employee-self-service .payslip-detail-date span{display:block;font-size:.8125rem;color:#94a3b8;margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.05em}.employee-self-service .payslip-detail-date strong{font-size:1rem;color:#1e293b}.employee-self-service .payslip-detail-breakdown{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.employee-self-service .payslip-detail-breakdown h4{font-size:.875rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin:1.5rem 0 .75rem}.employee-self-service .payslip-detail-breakdown h4:first-child{margin-top:0}.employee-self-service .payslip-detail-breakdown .detail-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;font-size:.9375rem;color:#475569}.employee-self-service .payslip-detail-breakdown .detail-row.subtotal{border-top:1px solid #e2e8f0;padding-top:1rem;margin-top:.5rem;font-weight:600;color:#1e293b}.employee-self-service .payslip-detail-breakdown .detail-row.total{border-top:2px solid #e2e8f0;padding-top:1rem;margin-top:.75rem;font-size:1.25rem;font-weight:700;color:#3b82f6}@media(max-width:768px){.employee-self-service .modal-content{max-width:100%}.employee-self-service .modal-body{padding:1.25rem 1.5rem 1.5rem}.employee-self-service .leave-request-form .form-row{grid-template-columns:1fr}.employee-self-service .modal-actions{flex-direction:column-reverse}.employee-self-service .modal-actions button{width:100%;justify-content:center}.employee-self-service .payslip-detail-header{flex-direction:column;gap:1rem}.employee-self-service .payslip-detail-date{text-align:left}}.toast-container{position:fixed;top:1.5rem;right:1.5rem;z-index:9999;display:flex;flex-direction:column;gap:.75rem;max-width:420px;pointer-events:none}.toast{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:#fff;border-radius:12px;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;border-left:4px solid;min-width:320px;pointer-events:auto;animation:toast-slide-in .3s cubic-bezier(.4,0,.2,1)}.toast-exit{animation:toast-slide-out .3s cubic-bezier(.4,0,.2,1)}@keyframes toast-slide-in{0%{transform:translate(calc(100% + 1.5rem));opacity:0}to{transform:translate(0);opacity:1}}@keyframes toast-slide-out{0%{transform:translate(0);opacity:1}to{transform:translate(calc(100% + 1.5rem));opacity:0}}.toast-icon{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.toast-icon svg{width:100%;height:100%;stroke-width:2.5}.toast-message{flex:1;font-size:.9375rem;font-weight:500;line-height:1.5;color:#1e293b}.toast-close{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:#64748b;cursor:pointer;border-radius:4px;transition:all .2s;padding:0}.toast-close:hover{background:#f1f5f9;color:#1e293b}.toast-close svg{width:100%;height:100%}.toast-success{border-left-color:#10b981}.toast-success .toast-icon{color:#10b981}.toast-error{border-left-color:#ef4444}.toast-error .toast-icon{color:#ef4444}.toast-warning{border-left-color:#f59e0b}.toast-warning .toast-icon{color:#f59e0b}.toast-info{border-left-color:#3b82f6}.toast-info .toast-icon{color:#3b82f6}@media(max-width:640px){.toast-container{top:1rem;right:1rem;left:1rem;max-width:none}.toast{min-width:auto;width:100%}}.holiday-management-page{padding:2rem;max-width:1600px;margin:0 auto}.filters-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1rem 1.5rem;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.filter-group label{font-weight:600;color:#1e293b;font-size:.9375rem}.holiday-count{font-size:.9375rem;color:#64748b;font-weight:500}.holidays-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.holidays-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.holiday-card{display:flex;gap:1rem;padding:1.5rem;background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;transition:all .2s}.holiday-card:hover{border-color:#cbd5e1;box-shadow:0 4px 6px #0000000d}.holiday-card.past{opacity:.6}.holiday-date-badge{flex-shrink:0;width:80px;height:80px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center}.date-month{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.date-day{font-size:2rem;font-weight:700;line-height:1;margin:.25rem 0}.date-weekday{font-size:.75rem;font-weight:500;opacity:.9}.holiday-info{flex:1;min-width:0}.holiday-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.holiday-header h3{margin:0;font-size:1.125rem;font-weight:600;color:#1e293b}.recurring-badge{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:#dbeafe;color:#1e40af;border-radius:4px;font-size:.75rem;font-weight:600}.recurring-badge svg{width:14px;height:14px}.holiday-full-date{margin:0 0 .5rem;font-size:.875rem;color:#64748b;font-weight:500}.holiday-description{margin:0;font-size:.875rem;color:#94a3b8}.holiday-actions{display:flex;flex-direction:column;gap:.5rem;flex-shrink:0}.empty-state{padding:4rem 2rem;text-align:center;color:#64748b}.empty-state svg{width:64px;height:64px;margin-bottom:1rem;color:#cbd5e1}.empty-state h3{margin:0 0 .5rem;font-size:1.25rem;color:#1e293b}.empty-state p{margin:0 0 1.5rem;font-size:.9375rem}.form-control{width:100%;padding:.75rem;border:2px solid #e2e8f0;border-radius:6px;font-size:.9375rem;color:#1e293b;transition:all .2s}.form-control:hover{border-color:#cbd5e1}textarea.form-control{resize:vertical;font-family:inherit}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:600;color:#1e293b}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.form-hint{display:block;margin-top:.5rem;font-size:.8125rem;color:#64748b;font-weight:400}@media(max-width:1024px){.holiday-management-page{padding:1rem}.holidays-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media(max-width:640px){.filters-toolbar{flex-direction:column;align-items:flex-start;gap:1rem}.holidays-grid{grid-template-columns:1fr}.holiday-card{flex-direction:column}.holiday-date-badge{width:100%;height:60px;flex-direction:row;justify-content:center;gap:1rem}.date-day{font-size:1.5rem}.holiday-actions{flex-direction:row;justify-content:flex-end}}.header-actions{display:flex;gap:.75rem;align-items:center}.btn-primary{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.75rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 6px #667eea4d;text-transform:uppercase;letter-spacing:.05em}.btn-primary:hover{background:linear-gradient(135deg,#764ba2,#667eea);transform:translateY(-2px);box-shadow:0 8px 15px #667eea66}.btn-primary svg{width:1.25rem;height:1.25rem;stroke-width:2.5}.btn-secondary{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.75rem;background:#fff;color:#475569;border:2px solid #e2e8f0;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-transform:uppercase;letter-spacing:.05em}.btn-secondary:hover{background:linear-gradient(135deg,#f8fafc,#fff);border-color:#667eea;color:#667eea;transform:translateY(-2px);box-shadow:0 4px 6px #667eea26}.btn-secondary svg{width:1.25rem;height:1.25rem;stroke-width:2.5}.btn-icon{width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;background:#fff;border:2px solid #e2e8f0;border-radius:10px;color:#64748b;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-icon:hover{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#3b82f6;color:#3b82f6;transform:scale(1.1);box-shadow:0 4px 6px #3b82f633}.btn-icon svg{width:1.25rem;height:1.25rem;stroke-width:2.5}.stat-card{background:#fff;border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a;display:flex;align-items:center;gap:1rem;transition:all .2s}.stat-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.stat-icon{width:3rem;height:3rem;border-radius:.75rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon svg{width:1.5rem;height:1.5rem;stroke-width:2}.stat-content{display:flex;flex-direction:column;gap:.25rem}.stat-label{font-size:.875rem;color:#64748b;font-weight:500}.stat-value{font-size:1.875rem;font-weight:700;color:#1e293b}.filters-toolbar{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.filter-group{display:flex;gap:.75rem}.filter-select{padding:.75rem 1rem;border:1px solid #e2e8f0;border-radius:.5rem;font-size:.9375rem;background:#fff;cursor:pointer;transition:all .2s}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:.375rem;font-size:.8125rem;font-weight:600;text-transform:capitalize}.action-buttons{display:flex;gap:.5rem}.modal-content{padding:1rem}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e2e8f0}@media(max-width:768px){.header-content{flex-direction:column;align-items:flex-start}.header-actions{width:100%;flex-direction:column}.filters-toolbar{flex-direction:column}.filter-group{width:100%}.filter-select{flex:1}}.employee-form{max-height:70vh;overflow-y:auto;padding:.5rem}.form-sections{display:flex;flex-direction:column;gap:2rem}.form-section{background:#f8fafc;padding:1.5rem;border-radius:.75rem;border:1px solid #e2e8f0}.form-section h3{font-size:1.125rem;font-weight:600;color:#1e293b;margin:0 0 1.25rem;padding-bottom:.75rem;border-bottom:2px solid #e2e8f0}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.25rem}.form-group label{font-size:.875rem;font-weight:600;color:#475569;display:flex;align-items:center;gap:.25rem}.form-group .required{color:#ef4444;font-weight:700}.form-control{padding:.75rem;border:1px solid #cbd5e1;border-radius:.5rem;font-size:.9375rem;color:#1e293b;background:#fff;transition:all .2s}.form-control:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-control::placeholder{color:#94a3b8}.form-control:disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed}select.form-control{cursor:pointer}.btn-primary:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary:disabled:hover,.btn-secondary:disabled:hover{transform:none;box-shadow:none}.info-button{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;margin-left:.5rem;padding:0;background:#3b82f6;color:#fff;border:none;border-radius:50%;cursor:pointer;transition:all .2s;vertical-align:middle}.info-button:hover{background:#2563eb;transform:scale(1.1)}.info-button svg{width:.875rem;height:.875rem;stroke-width:2.5}.oid-guide{max-height:70vh;overflow-y:auto;padding:.5rem}.guide-intro{background:#eff6ff;border-left:4px solid #3b82f6;padding:1rem;margin-bottom:2rem;border-radius:.5rem}.guide-intro p{margin:0;color:#1e40af;line-height:1.6}.guide-steps{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.guide-step{display:flex;gap:1rem;align-items:flex-start}.step-number{flex-shrink:0;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;background:#3b82f6;color:#fff;border-radius:50%;font-weight:700;font-size:1.125rem}.step-content{flex:1}.step-content h3{font-size:1rem;font-weight:600;color:#1e293b;margin:0 0 .5rem}.step-content p{margin:0 0 .5rem;color:#475569;line-height:1.6}.step-content code{background:#f1f5f9;padding:.125rem .375rem;border-radius:.25rem;font-family:Monaco,Courier New,monospace;font-size:.875rem;color:#0f172a}.step-content strong{color:#1e293b;font-weight:600}.step-content a{color:#3b82f6;text-decoration:none;font-weight:500}.step-content a:hover{text-decoration:underline}.guide-tips{background:#fef3c7;border-left:4px solid #f59e0b;padding:1rem;margin-bottom:1.5rem;border-radius:.5rem}.guide-tips h3{font-size:1rem;font-weight:600;color:#92400e;margin:0 0 .75rem}.guide-tips ul{margin:0;padding-left:1.5rem;color:#78350f}.guide-tips li{margin-bottom:.5rem;line-height:1.5}.guide-tips li:last-child{margin-bottom:0}.guide-alternative{background:#f8fafc;border:1px solid #e2e8f0;padding:1rem;border-radius:.5rem;margin-bottom:1.5rem}.guide-alternative h3{font-size:.9375rem;font-weight:600;color:#475569;margin:0 0 .5rem}.guide-alternative p{margin:0;color:#64748b;line-height:1.6}.guide-alternative strong{color:#475569;font-weight:600}.guide-alternative a{color:#3b82f6;text-decoration:none;font-weight:500}.guide-alternative a:hover{text-decoration:underline}.btn-danger{background:#dc2626;color:#fff;border:none;padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;transition:all .2s}.btn-danger:hover{background:#b91c1c}.delete-details{background:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;padding:1rem;margin:1rem 0}.delete-details p{margin:.5rem 0;color:#991b1b}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem}.form-grid .form-group:last-child{grid-column:span 1}.required{color:#dc2626;margin-left:.25rem}.projects-dashboard-page{padding:2rem;max-width:1600px;margin:0 auto}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;align-items:center;gap:1rem;transition:all .2s}.stat-card:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.stat-icon{width:48px;height:48px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon svg{width:24px;height:24px;stroke-width:2}.stat-icon-blue{background:#dbeafe;color:#1e40af}.stat-icon-green{background:#dcfce7;color:#166534}.stat-icon-purple{background:#e9d5ff;color:#6b21a8}.stat-icon-orange{background:#fed7aa;color:#c2410c}.stat-label{font-size:.875rem;color:#64748b;margin-bottom:.25rem}.stat-value{font-size:2rem;font-weight:700;color:#1e293b}.quick-actions{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 1px 3px #0000001a}.quick-actions h2{margin:0 0 1.5rem;font-size:1.25rem;font-weight:600;color:#1e293b}.actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.action-card{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;text-decoration:none;transition:all .2s}.action-card:hover{background:#fff;border-color:#3b82f6;box-shadow:0 4px 6px #0000000d;transform:translateY(-2px)}.action-icon{width:48px;height:48px;background:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#3b82f6;flex-shrink:0}.action-icon svg{width:24px;height:24px;stroke-width:2}.action-content{flex:1}.action-content h3{margin:0 0 .25rem;font-size:1rem;font-weight:600;color:#1e293b}.action-content p{margin:0;font-size:.875rem;color:#64748b}.action-arrow{font-size:1.5rem;color:#cbd5e1;transition:all .2s}.action-card:hover .action-arrow{color:#3b82f6;transform:translate(4px)}@media(max-width:1024px){.projects-dashboard-page{padding:1rem}.dashboard-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.dashboard-stats,.actions-grid{grid-template-columns:1fr}.stat-value{font-size:1.5rem}}.project-management-page{padding:2rem;max-width:1600px;margin:0 auto}.loading-state{text-align:center;padding:4rem 2rem;color:#64748b;font-size:1.125rem}.filters-container{display:flex;align-items:center;gap:2rem;padding:1.5rem;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:.75rem}.filter-group label{font-weight:600;color:#475569;font-size:.875rem;white-space:nowrap}.filter-select{padding:.5rem .75rem;border:2px solid #e2e8f0;border-radius:6px;font-size:.875rem;color:#1e293b;background:#fff;cursor:pointer;transition:all .2s;min-width:150px}.filter-select:hover{border-color:#cbd5e1}.filter-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.filter-stats{display:flex;gap:1.5rem;margin-left:auto}.stat-item{font-size:.875rem;color:#64748b}.stat-item strong{color:#1e293b;font-size:1rem}.projects-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.empty-state{text-align:center;padding:4rem 2rem}.empty-state svg{width:64px;height:64px;color:#cbd5e1;margin-bottom:1rem;stroke-width:1.5}.empty-state h3{margin:0 0 .5rem;font-size:1.25rem;font-weight:600;color:#1e293b}.empty-state p{margin:0 0 1.5rem;color:#64748b;font-size:.9375rem}.table-wrapper{overflow-x:auto}.projects-table{width:100%;border-collapse:collapse;min-width:1200px}.projects-table thead{background:#f8fafc;border-bottom:2px solid #e2e8f0}.projects-table th{padding:1rem;text-align:left;font-weight:600;color:#475569;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.projects-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background-color .2s}.projects-table tbody tr:hover{background:#f8fafc}.projects-table td{padding:1rem;vertical-align:middle}.project-name-cell{display:flex;flex-direction:column;gap:.25rem;max-width:300px}.project-name{font-weight:600;color:#1e293b;font-size:.9375rem}.project-name-cell .project-description{font-size:.8125rem;color:#64748b;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-code{font-family:Monaco,Courier New,monospace;font-size:.8125rem;color:#64748b;font-weight:600;background:#f1f5f9;padding:.25rem .5rem;border-radius:4px;white-space:nowrap}.client-manager-cell{display:flex;flex-direction:column;gap:.25rem}.client-name{font-weight:600;color:#1e293b;font-size:.875rem}.manager-name{font-size:.8125rem;color:#64748b}.date-cell{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:#64748b;white-space:nowrap}.date-separator{color:#cbd5e1}.budget-amount{font-weight:600;color:#059669;font-size:.9375rem;white-space:nowrap}.no-budget{color:#cbd5e1;font-size:1.25rem}.hours-cell{display:flex;flex-direction:column;gap:.25rem;min-width:140px}.hours-allocated{font-weight:600;color:#1e293b;font-size:.9375rem}.hours-used{font-size:.75rem;color:#64748b}.hours-progress{width:100%;height:4px;background:#e2e8f0;border-radius:2px;overflow:hidden;margin-top:.25rem}.hours-progress-bar{height:100%;transition:width .3s ease,background-color .3s ease;border-radius:2px}.action-buttons{display:flex;gap:.5rem;justify-content:center}.type-badge{display:inline-block;padding:.25rem .75rem;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:capitalize;white-space:nowrap}.type-billable{background:#dcfce7;color:#166534}.type-non_billable{background:#e0e7ff;color:#3730a3}.type-internal{background:#dbeafe;color:#1e40af}.type-pto{background:#fef3c7;color:#92400e}.type-training{background:#e9d5ff;color:#6b21a8}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:capitalize;white-space:nowrap}.status-active{background:#dcfce7;color:#166534}.status-on_hold{background:#fef3c7;color:#92400e}.status-completed{background:#e0e7ff;color:#3730a3}.status-cancelled{background:#fee2e2;color:#991b1b}.project-form{padding:1rem 0}.form-group-full{grid-column:1 / -1}.form-group label{font-weight:600;color:#1e293b;font-size:.9375rem}.form-group .form-control{padding:.75rem;border:2px solid #e2e8f0;border-radius:6px;font-size:.9375rem;color:#1e293b;transition:all .2s}.form-group .form-control:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group textarea.form-control{resize:vertical;font-family:inherit}.form-hint{font-size:.8125rem;color:#64748b;margin-top:.25rem}@media(max-width:1024px){.project-management-page{padding:1rem}.form-grid{grid-template-columns:1fr}.filters-container{flex-direction:column;align-items:stretch}.filter-stats{margin-left:0;justify-content:space-between}.projects-table{min-width:900px}}@media(max-width:640px){.filter-group{flex-direction:column;align-items:stretch}.filter-select{width:100%}.projects-table{font-size:.875rem}.projects-table th,.projects-table td{padding:.75rem .5rem}}.project-assignments-page{padding:2rem;max-width:1400px;margin:0 auto;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.loading-state,.error-state{text-align:center;padding:4rem 2rem;color:#fff;font-size:1.25rem;font-weight:600}.assignments-container{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;padding:2.5rem;margin-top:2rem}.empty-state{text-align:center;padding:5rem 2rem}.empty-state svg{width:80px;height:80px;color:#cbd5e1;margin-bottom:1.5rem;stroke-width:1.5}.empty-state h3{margin:0 0 .75rem;font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.empty-state p{margin:0 0 2rem;color:#64748b;font-size:1rem}.assignments-list{background:#fff;border-radius:12px;overflow:hidden}.list-header{display:grid;grid-template-columns:2fr 1.5fr 1.5fr .8fr 1.2fr 1.2fr 1fr .8fr;gap:1rem;padding:1rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:700;font-size:.75rem;letter-spacing:.5px;align-items:center}.header-col{text-transform:uppercase}.list-body{display:flex;flex-direction:column}.list-row{display:grid;grid-template-columns:2fr 1.5fr 1.5fr .8fr 1.2fr 1.2fr 1fr .8fr;gap:1rem;padding:1.25rem 1.5rem;border-bottom:1px solid #e2e8f0;align-items:center;transition:all .2s ease;background:#fff}.list-row:hover{background:#f8fafc;box-shadow:inset 4px 0 #667eea}.list-row:last-child{border-bottom:none}.list-col{display:flex;align-items:center;min-width:0}.col-project{min-width:0}.project-info{display:flex;flex-direction:column;gap:.375rem;min-width:0}.project-name{font-weight:700;color:#1e293b;font-size:.9375rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-code{font-size:.6875rem;color:#667eea;font-family:Monaco,Courier New,monospace;background:#667eea14;padding:.125rem .5rem;border-radius:4px;font-weight:600;width:fit-content;letter-spacing:.3px}.employee-name{font-weight:600;color:#1e293b;font-size:.9375rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.role-name{color:#475569;font-weight:500;font-size:.9375rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hours-value{font-weight:700;color:#1e293b;font-family:Monaco,Courier New,monospace;font-size:.9375rem}.date-value{color:#475569;font-size:.875rem;white-space:nowrap;font-weight:500}.status-wrapper{display:flex;align-items:center;gap:.5rem}.action-buttons{display:flex;gap:.375rem;justify-content:flex-end}.btn-edit{background:#fff;border:1.5px solid #e2e8f0;color:#667eea;width:2rem;height:2rem;padding:0;display:flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;transition:all .2s ease}.btn-edit:hover{background:#eff6ff;border-color:#667eea;transform:scale(1.05)}.btn-edit svg{width:1rem;height:1rem;stroke-width:2}.btn-delete{background:#fff;border:1.5px solid #e2e8f0;color:#ef4444;width:2rem;height:2rem;padding:0;display:flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;transition:all .2s ease}.btn-delete:hover{background:#fef2f2;border-color:#ef4444;transform:scale(1.05)}.status-badge{padding:.375rem .875rem;border-radius:20px;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center}.status-badge.status-planned{background:#dbeafe;color:#1e40af}.status-badge.status-active{background:#d1fae5;color:#065f46}.status-badge.status-completed{background:#e9d5ff;color:#6b21a8}.status-badge.status-cancelled{background:#fee2e2;color:#991b1b}.billable-indicator{width:22px;height:22px;border-radius:50%;font-size:.75rem;font-weight:700;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #f59e0b40;flex-shrink:0}.assignment-form{padding:1rem 0}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:2rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:700;color:#1e293b;font-size:.9375rem}.form-group .form-control{padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9375rem;color:#1e293b;transition:all .2s;font-weight:500}.form-group .form-control:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a}.form-group .form-control:disabled{background:#f8fafc;color:#94a3b8;cursor:not-allowed}.form-hint{font-size:.8125rem;color:#64748b;margin-top:.25rem;font-style:italic}@media(max-width:1200px){.list-header,.list-row{grid-template-columns:1.8fr 1.3fr 1.3fr .7fr 1fr 1fr .9fr .7fr;gap:.75rem;padding:1rem 1.25rem}.project-name,.employee-name,.role-name{font-size:.875rem}.hours-value,.date-value{font-size:.8125rem}}@media(max-width:1024px){.project-assignments-page{padding:1.5rem}.form-grid{grid-template-columns:1fr}.list-header{display:none}.list-row{grid-template-columns:1fr;gap:1rem;padding:1.5rem;border-radius:12px;margin-bottom:.75rem;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d}.list-row:hover{box-shadow:0 4px 12px #667eea26}.list-col{display:grid;grid-template-columns:120px 1fr;gap:.75rem}.list-col:before{content:attr(data-label);font-weight:700;color:#64748b;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center}.col-project:before{content:"PROJECT"}.col-employee:before{content:"EMPLOYEE"}.col-role:before{content:"ROLE"}.col-hours:before{content:"HOURS"}.col-dates:nth-of-type(5):before{content:"START DATE"}.col-dates:nth-of-type(6):before{content:"END DATE"}.col-status:before{content:"STATUS"}.col-actions:before{content:"ACTIONS"}.col-actions{grid-template-columns:120px 1fr}.action-buttons{justify-content:flex-start}}@media(max-width:768px){.project-assignments-page{padding:1rem}.assignments-container{padding:1.25rem;border-radius:16px}.list-row{padding:1.25rem}}.timesheet-page{padding:2rem;max-width:1600px;margin:0 auto;background:linear-gradient(135deg,#f5f7fa,#e8ecf1);min-height:100vh}.week-navigation{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin:2rem 0;padding:2rem;background:linear-gradient(135deg,#fff,#f8fafc);border-radius:16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;border:1px solid rgba(255,255,255,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.week-info{display:flex;align-items:center;gap:1.5rem;min-width:400px;justify-content:center}.week-info h2{margin:0;font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.timesheet-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-bottom:2rem}.summary-card{background:linear-gradient(135deg,#fff,#f8fafc);padding:2rem;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;text-align:center;border:1px solid rgba(255,255,255,.8);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.summary-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2);transform:scaleX(0);transition:transform .3s ease}.summary-card:hover{transform:translateY(-4px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.summary-card:hover:before{transform:scaleX(1)}.summary-card.highlight{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 10px 25px -5px #667eea66}.summary-card.highlight:before{background:linear-gradient(90deg,#ffffff4d,#ffffff1a)}.summary-label{font-size:.875rem;color:#64748b;margin-bottom:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.summary-hint{font-size:.75rem;color:#94a3b8;margin-top:.5rem;font-weight:500}.summary-card.highlight .summary-label{color:#fffffff2}.summary-card.highlight .summary-hint{color:#fffc}.summary-value{font-size:2.5rem;font-weight:800;color:#1e293b;line-height:1}.summary-card.highlight .summary-value{color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.1)}.timesheet-container{background:linear-gradient(135deg,#fff,#f8fafc);border-radius:16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;overflow:hidden;margin-bottom:2rem;border:1px solid rgba(255,255,255,.8)}.timesheet-grid{overflow-x:auto}.timesheet-grid table{width:100%;border-collapse:separate;border-spacing:0;min-width:1200px;table-layout:fixed;display:table}.timesheet-grid thead{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:none;display:table-header-group}.timesheet-grid th{padding:1.25rem 1rem;text-align:center;font-weight:700;color:#fff;font-size:.875rem;text-transform:uppercase;letter-spacing:.1em;display:table-cell;vertical-align:middle}.timesheet-grid th.project-column{text-align:left;width:250px;min-width:250px}.timesheet-grid th.day-column{width:100px;min-width:100px}.timesheet-grid th.total-column{width:80px;min-width:80px;background:#fff3}.day-header{display:flex;flex-direction:column;gap:.25rem}.day-name{font-weight:800;color:#fff;font-size:.9375rem}.day-date{font-size:.75rem;color:#ffffffe6;font-weight:500}.timesheet-grid tbody tr{border-bottom:1px solid #e2e8f0;transition:all .3s cubic-bezier(.4,0,.2,1);display:table-row}.timesheet-grid tbody tr:hover{background:linear-gradient(90deg,#f8fafc,#fff);transform:scale(1.01);box-shadow:0 2px 8px #0000000d}.timesheet-grid td{padding:1rem;text-align:center;display:table-cell;vertical-align:middle}.project-cell{text-align:left;padding:1.5rem 1rem}.project-info{display:flex;flex-direction:column;gap:.25rem}.project-name{font-weight:700;color:#1e293b;font-size:1rem}.project-code{font-size:.8125rem;color:#64748b;font-family:Monaco,Courier New,monospace;background:#f1f5f9;padding:.125rem .5rem;border-radius:4px;display:inline-block}.billable-badge{display:inline-block;padding:.25rem .75rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:20px;font-size:.75rem;font-weight:700;margin-top:.5rem;width:fit-content;box-shadow:0 2px 4px #10b9814d;text-transform:uppercase;letter-spacing:.05em}.non-billable-badge{display:inline-block;padding:.25rem .75rem;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border-radius:20px;font-size:.75rem;font-weight:700;margin-top:.5rem;width:fit-content;box-shadow:0 2px 4px #6366f14d;text-transform:uppercase;letter-spacing:.05em}.hours-cell{padding:.5rem;white-space:nowrap}.hours-cell-wrapper{display:flex;align-items:center;gap:.25rem;justify-content:center;flex-wrap:nowrap}.hours-input{width:70px;padding:.625rem;border:2px solid #cbd5e1;border-radius:10px;text-align:center;font-size:1rem;font-weight:700;color:#1e293b;transition:all .3s cubic-bezier(.4,0,.2,1);background:#fff;box-shadow:0 1px 2px #0000000d}.notes-button{width:32px;height:32px;padding:0;border:2px solid #e2e8f0;border-radius:8px;background:#fff;color:#64748b;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);flex-shrink:0}.notes-button svg{width:16px;height:16px}.notes-button:hover:not(:disabled){border-color:#3b82f6;background:linear-gradient(135deg,#eff6ff,#dbeafe);color:#3b82f6;transform:scale(1.1);box-shadow:0 4px 6px #3b82f633}.notes-button.has-notes{border-color:#10b981;background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#059669;box-shadow:0 2px 4px #10b98133}.notes-button.has-notes:hover:not(:disabled){border-color:#059669;background:linear-gradient(135deg,#a7f3d0,#6ee7b7);transform:scale(1.1);box-shadow:0 4px 6px #10b9814d}.notes-button:disabled{opacity:.5;cursor:not-allowed}.hours-input:hover:not(:disabled){border-color:#94a3b8;transform:scale(1.05);box-shadow:0 2px 4px #0000001a}.hours-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px #667eea26;transform:scale(1.05)}.hours-input:disabled{background:#f8fafc;color:#94a3b8;cursor:not-allowed}.hours-input::placeholder{color:#cbd5e1}.hours-input::-webkit-outer-spin-button,.hours-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.hours-input[type=number]{-moz-appearance:textfield}.total-cell{background:linear-gradient(135deg,#f8fafc,#f1f5f9);font-size:1rem;color:#1e293b;font-weight:700}.timesheet-grid tfoot{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-top:3px solid #cbd5e1}.timesheet-grid tfoot td{padding:1.25rem 1rem;font-weight:700;color:#1e293b}.totals-row td{text-align:center}.totals-row td:first-child{text-align:left;font-size:1rem;text-transform:uppercase;letter-spacing:.05em}.day-total{font-size:1rem}.week-total{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1.25rem;box-shadow:0 4px 6px #667eea4d}.recent-timesheets{background:linear-gradient(135deg,#fff,#f8fafc);padding:2rem;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;border:1px solid rgba(255,255,255,.8)}.recent-timesheets h3{margin:0 0 1.5rem;font-size:1.25rem;font-weight:700;color:#1e293b}.timesheets-list{display:flex;flex-direction:column;gap:1rem}.timesheet-item{display:flex;justify-content:space-between;align-items:center;padding:1.25rem;background:linear-gradient(135deg,#f8fafc,#fff);border-radius:12px;border:2px solid #e2e8f0;transition:all .3s cubic-bezier(.4,0,.2,1)}.timesheet-item:hover{background:linear-gradient(135deg,#fff,#f8fafc);border-color:#667eea;transform:translate(4px);box-shadow:0 4px 6px #667eea26}.timesheet-item-info{display:flex;flex-direction:column;gap:.25rem}.timesheet-week{font-weight:600;color:#1e293b;font-size:.9375rem}.timesheet-hours{font-size:.8125rem;color:#64748b}.status-badge{padding:.5rem 1rem;border-radius:20px;font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 2px 4px #0000001a}.status-draft{background:linear-gradient(135deg,#94a3b8,#64748b);color:#fff}.status-submitted{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.status-approved{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.status-rejected{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.submit-summary{padding:1rem 0}.submit-summary h3{margin:0 0 1.5rem;font-size:1.125rem;font-weight:600;color:#1e293b}.submit-summary .summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem}.submit-summary .summary-item{display:flex;flex-direction:column;gap:.5rem;padding:1.25rem;background:linear-gradient(135deg,#f8fafc,#fff);border-radius:10px;border:2px solid #e2e8f0}.submit-summary .summary-label{font-size:.875rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.submit-summary .summary-value{font-size:1.5rem;font-weight:800;color:#1e293b}.warning-text{padding:1.25rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border-left:4px solid #f59e0b;border-radius:8px;color:#92400e;font-size:.9375rem;margin:0;font-weight:500;box-shadow:0 2px 4px #f59e0b33}@media(max-width:1024px){.timesheet-page{padding:1rem}.week-info{min-width:auto}.week-info h2{font-size:1rem}.timesheet-summary{grid-template-columns:repeat(2,1fr)}.summary-value{font-size:1.5rem}}@media(max-width:640px){.week-navigation{flex-wrap:wrap}.week-info{order:-1;width:100%;flex-direction:column;text-align:center}.timesheet-summary,.submit-summary .summary-grid{grid-template-columns:1fr}}.notes-modal-content{padding:1rem 0}.notes-header{margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:3px solid #e2e8f0}.notes-info{display:flex;flex-direction:column;gap:.75rem}.notes-info strong{font-size:1.25rem;color:#1e293b;font-weight:700}.notes-date{font-size:1rem;color:#64748b;font-weight:500}.notes-hours{font-size:.9375rem;color:#3b82f6;font-weight:700;background:#eff6ff;padding:.25rem .75rem;border-radius:20px;display:inline-block;width:fit-content}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#1e293b;font-size:.9375rem}.form-group .required{color:#ef4444}.form-group textarea.form-control{width:100%;padding:1rem;border:2px solid #e2e8f0;border-radius:10px;font-size:1rem;color:#1e293b;font-family:inherit;resize:vertical;transition:all .3s cubic-bezier(.4,0,.2,1)}.form-group textarea.form-control:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px #667eea26}.form-group textarea.form-control:disabled{background:#f8fafc;color:#94a3b8;cursor:not-allowed}.form-hint{display:block;margin-top:.5rem;font-size:.8125rem;color:#64748b}.notes-examples{padding:1.25rem;background:linear-gradient(135deg,#f8fafc,#fff);border-radius:10px;border-left:4px solid #3b82f6;margin-bottom:1rem;box-shadow:0 2px 4px #3b82f61a}.notes-examples strong{display:block;margin-bottom:.75rem;color:#1e293b;font-size:.9375rem;font-weight:700}.notes-examples ul{margin:0;padding-left:1.5rem}.notes-examples li{font-size:.8125rem;color:#64748b;margin-bottom:.25rem}.holiday-column{background:linear-gradient(135deg,#fef3c780,#fde68a80)!important}.holiday-indicator{font-size:1.125rem;margin-top:.25rem;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.holiday-cell{background:linear-gradient(135deg,#fef3c7,#fde68a)!important}.holiday-cell .hours-input{background:#fef9e7;cursor:not-allowed;border-color:#fbbf24}.project-selection-container{background:linear-gradient(135deg,#fff,#f8fafc);border-radius:16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;padding:2rem;margin-bottom:2rem;border:1px solid rgba(255,255,255,.8)}.project-selection-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.project-selection-header h3{margin:0;font-size:1.25rem;font-weight:700;color:#1e293b}.holiday-indicator{font-size:1rem;margin-top:.25rem}.holiday-cell{background:#fef3c7!important}.holiday-cell .hours-input{background:#fef9e7;cursor:not-allowed}.holiday-cell .hours-input:disabled{background:#fef9e7;border-color:#fbbf24;color:#92400e}.project-selection-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:1.5rem;margin-bottom:2rem}.project-selection-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.project-selection-header h3{margin:0;font-size:1.125rem;font-weight:600;color:#1e293b}.btn-sm{padding:.625rem 1.25rem;font-size:.875rem}.btn-sm svg{width:18px;height:18px}.empty-projects{text-align:center;padding:3rem 2rem;background:linear-gradient(135deg,#f8fafc,#fff);border-radius:12px;border:2px dashed #cbd5e1}.empty-projects p{margin:0;color:#64748b;font-size:1rem;font-weight:500}.selected-projects-list{display:flex;flex-direction:column;gap:1rem}.selected-project-item{display:flex;justify-content:space-between;align-items:center;padding:1.25rem;background:linear-gradient(135deg,#f8fafc,#fff);border:2px solid #e2e8f0;border-radius:12px;transition:all .3s cubic-bezier(.4,0,.2,1)}.selected-project-item:hover{background:linear-gradient(135deg,#fff,#f8fafc);border-color:#667eea;transform:translate(4px);box-shadow:0 4px 6px #667eea26}.project-item-info{display:flex;align-items:center;gap:.75rem;flex:1}.project-item-name{font-weight:700;color:#1e293b;font-size:1rem}.project-item-code{font-size:.8125rem;color:#64748b;font-family:Monaco,Courier New,monospace;background:#f1f5f9;padding:.125rem .5rem;border-radius:4px}.empty-timesheet{background:linear-gradient(135deg,#fff,#f8fafc);border-radius:16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;padding:5rem 2rem;text-align:center;border:2px dashed #cbd5e1}.empty-timesheet svg{width:80px;height:80px;color:#cbd5e1;margin-bottom:1.5rem;stroke-width:1.5}.empty-timesheet h3{margin:0 0 .75rem;font-size:1.5rem;font-weight:700;color:#1e293b}.empty-timesheet p{margin:0;color:#64748b;font-size:1rem}.project-selection-modal{padding:1rem 0}.modal-description{margin:0 0 1.5rem;color:#64748b;font-size:.9375rem;line-height:1.5}.projects-list{display:flex;flex-direction:column;gap:.75rem;max-height:450px;min-height:250px;overflow-y:auto;margin-bottom:1.5rem}.project-option{display:flex;gap:1rem;padding:1.25rem;background:linear-gradient(135deg,#f8fafc,#fff);border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.project-option:hover{background:linear-gradient(135deg,#fff,#f8fafc);border-color:#cbd5e1;transform:translate(4px);box-shadow:0 4px 6px #0000001a}.project-option.selected{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#3b82f6;box-shadow:0 4px 6px #3b82f633}.project-option-checkbox{display:flex;align-items:flex-start;padding-top:.125rem}.project-option-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.project-option-info{flex:1;display:flex;flex-direction:column;gap:.5rem}.project-option-header{display:flex;align-items:center;gap:.75rem}.project-option-name{font-weight:700;color:#1e293b;font-size:1rem}.project-option-code{font-size:.8125rem;color:#64748b;font-family:Monaco,Courier New,monospace;background:#f1f5f9;padding:.125rem .5rem;border-radius:4px}.project-option-description{font-size:.875rem;color:#64748b;line-height:1.4}.project-option-badges{display:flex;gap:.5rem;flex-wrap:wrap}.client-badge{display:inline-block;padding:.25rem .75rem;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;border-radius:20px;font-size:.75rem;font-weight:700;box-shadow:0 2px 4px #fbbf244d;text-transform:uppercase;letter-spacing:.05em}.assigned-badge{display:inline-block;padding:.25rem .75rem;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border-radius:20px;font-size:.75rem;font-weight:700;box-shadow:0 2px 4px #8b5cf64d;text-transform:uppercase;letter-spacing:.05em}.projects-section-header{display:flex;justify-content:space-between;align-items:center;padding:1rem .5rem;margin-top:1rem;border-bottom:2px solid #e2e8f0}.projects-section-header:first-child{margin-top:0}.section-title{font-size:.875rem;font-weight:700;color:#1e293b;text-transform:uppercase;letter-spacing:.05em}.section-hint{font-size:.75rem;color:#64748b;font-style:italic}.assigned-project{border-left:4px solid #8b5cf6;background:linear-gradient(135deg,#f5f3ff,#ede9fe)}.assigned-project:hover{border-color:#7c3aed;box-shadow:0 4px 6px #8b5cf633}@media(max-width:640px){.project-selection-header{flex-direction:column;align-items:flex-start;gap:1rem}.project-item-info{flex-wrap:wrap}.project-option{flex-direction:column;gap:.75rem}.project-option-header{flex-direction:column;align-items:flex-start;gap:.25rem}}.approval-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:1.5rem;margin-top:2rem}.approval-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;padding:1.5rem;color:#fff;box-shadow:0 4px 6px #0000001a;transition:transform .2s,box-shadow .2s}.approval-card:hover{transform:translateY(-2px);box-shadow:0 6px 12px #00000026}.approval-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.2)}.approval-card-header h3{margin:0;font-size:1.25rem;font-weight:600}.approval-card-subtitle{margin:.25rem 0 0;font-size:.875rem;opacity:.9}.status-submitted{background:#ffc107e6;color:#000}.approval-card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}.approval-card-stats .stat{display:flex;flex-direction:column;gap:.25rem}.approval-card-stats .stat-label{font-size:.75rem;opacity:.8;text-transform:uppercase;letter-spacing:.5px}.approval-card-stats .stat-value{font-size:1.5rem;font-weight:700}.approval-card-stats .stat-value-small{font-size:.875rem;font-weight:600}.approval-card-actions{display:flex;gap:.5rem}.approval-card-actions button{flex:1;font-size:.875rem;padding:.5rem 1rem}.timesheet-details{max-width:800px}.details-header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:1rem;margin-bottom:1.5rem;border-bottom:2px solid #e0e0e0}.details-header h3{margin:0;font-size:1.5rem;color:#333}.details-header p{margin:.5rem 0 0;color:#666}.details-stats{text-align:right;font-size:1rem;color:#333}.details-stats div{margin-bottom:.25rem}.details-entries,.project-section{margin-bottom:2rem}.project-section h4{margin:0 0 1rem;color:#667eea;font-size:1.125rem}.entries-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000000d}.entries-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.entries-table th{padding:.75rem;text-align:left;font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.entries-table td{padding:.75rem;border-bottom:1px solid #e0e0e0;color:#333}.entries-table tbody tr:last-child td{border-bottom:none}.entries-table tbody tr:hover{background:#f5f5f5}.reject-modal{max-width:500px}.reject-modal p{margin-bottom:1.5rem;color:#333;line-height:1.6}.reject-modal textarea{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:1rem;resize:vertical;transition:border-color .2s}.reject-modal textarea:focus{outline:none;border-color:#667eea}.psa-loading{text-align:center;padding:3rem;color:#666;font-size:1.125rem}.psa-empty-state{text-align:center;padding:4rem 2rem;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:12px;margin-top:2rem}.psa-empty-state p{margin:0;font-size:1.125rem;color:#666}.psa-page{padding:2rem}.psa-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.psa-header h1{font-size:2rem;font-weight:700;color:#1e293b;margin:0 0 .5rem}.psa-subtitle{font-size:1rem;color:#64748b;margin:0}@media(max-width:768px){.approval-grid,.approval-card-stats{grid-template-columns:1fr}.details-header{flex-direction:column;gap:1rem}.details-stats{text-align:left}.entries-table{font-size:.875rem}.entries-table th,.entries-table td{padding:.5rem}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}.admin-dashboard,.user-management,.group-management{padding:2rem;max-width:1400px;margin:0 auto;background:#f8fafc;min-height:100vh}.page-header{margin-bottom:2rem}.header-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.header-text h1{font-size:2rem;font-weight:700;color:#1e293b;margin:0 0 .5rem}.header-text p{font-size:1rem;color:#64748b;margin:0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2.5rem}.stat-card{background:#fff;border-radius:12px;padding:1.75rem;box-shadow:0 1px 3px #0000000d;border:1px solid #e2e8f0;transition:all .2s}.stat-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.stat-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.stat-icon{width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;border-radius:10px;font-size:1.5rem}.stat-icon.users{background:linear-gradient(135deg,#667eea,#764ba2)}.stat-icon.active{background:linear-gradient(135deg,#10b981,#059669)}.stat-icon.groups{background:linear-gradient(135deg,#f59e0b,#d97706)}.stat-content{flex:1}.stat-value{font-size:2.25rem;font-weight:700;color:#1e293b;line-height:1;margin-bottom:.25rem}.stat-label{color:#64748b;font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.quick-actions{margin-bottom:2.5rem}.quick-actions h2{font-size:1.5rem;font-weight:700;color:#1e293b;margin-bottom:1.5rem}.action-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}.action-card{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 1px 3px #0000000d;border:1px solid #e2e8f0;cursor:pointer;transition:all .2s;position:relative;overflow:hidden}.action-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#3b82f6,#8b5cf6);transform:scaleX(0);transition:transform .3s}.action-card:hover:before{transform:scaleX(1)}.action-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f;border-color:#cbd5e1}.action-icon{width:3.5rem;height:3.5rem;display:flex;align-items:center;justify-content:center;border-radius:12px;font-size:1.75rem;margin-bottom:1.25rem;background:linear-gradient(135deg,#3b82f6,#8b5cf6)}.action-card h3{font-size:1.25rem;font-weight:600;color:#1e293b;margin-bottom:.5rem}.action-card p{color:#64748b;font-size:.9375rem;line-height:1.5}.search-filters{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #0000000d;border:1px solid #e2e8f0}.search-bar{position:relative}.search-bar input{width:100%;padding:.875rem 1rem .875rem 3rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.9375rem;transition:all .2s;background:#f8fafc}.search-bar input:focus{outline:none;border-color:#3b82f6;background:#fff;box-shadow:0 0 0 3px #3b82f61a}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none}.users-table{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000d;border:1px solid #e2e8f0;overflow:hidden}.users-table table{width:100%;border-collapse:collapse}.users-table thead{background:#f8fafc;border-bottom:2px solid #e2e8f0}.users-table th{padding:1rem 1.5rem;text-align:left;font-weight:600;color:#475569;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.users-table td{padding:1.25rem 1.5rem;border-bottom:1px solid #f1f5f9;color:#334155;font-size:.9375rem}.users-table tbody tr{transition:background-color .15s}.users-table tbody tr:hover{background:#f8fafc}.users-table tr:last-child td{border-bottom:none}.status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .875rem;border-radius:6px;font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.status-badge.active{background:#dcfce7;color:#166534}.status-badge.inactive{background:#fee2e2;color:#991b1b}.status-badge.external{background:#dbeafe;color:#1e40af}.group-badges{display:flex;flex-wrap:wrap;gap:.5rem;max-width:400px}.group-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:linear-gradient(135deg,#ede9fe,#ddd6fe);color:#5b21b6;border-radius:6px;font-size:.8125rem;font-weight:500;transition:all .2s}.group-badge:hover{background:linear-gradient(135deg,#ddd6fe,#c4b5fd)}.remove-group-btn{background:none;border:none;color:#5b21b6;font-size:1.125rem;cursor:pointer;padding:0;margin-left:.125rem;line-height:1;transition:color .2s;font-weight:700}.remove-group-btn:hover{color:#dc2626}.no-groups{color:#94a3b8;font-style:italic;font-size:.875rem}.groups-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.group-card{background:#fff;border-radius:12px;padding:1.75rem;box-shadow:0 1px 3px #0000000d;border:1px solid #e2e8f0;transition:all .2s}.group-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.group-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.group-header h3{font-size:1.125rem;font-weight:600;color:#1e293b;margin:0}.user-count{background:linear-gradient(135deg,#ede9fe,#ddd6fe);color:#5b21b6;padding:.375rem .875rem;border-radius:6px;font-size:.8125rem;font-weight:600}.group-description{color:#64748b;margin-bottom:1.25rem;min-height:2.5rem;font-size:.9375rem;line-height:1.5}.btn-primary,.btn-secondary,.btn-danger{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border:none;border-radius:8px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 2px 8px #3b82f64d}.btn-primary:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #3b82f666;transform:translateY(-1px)}.btn-secondary{background:#fff;color:#475569;border:1px solid #e2e8f0}.btn-secondary:hover{background:#f8fafc;border-color:#cbd5e1}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 2px 8px #ef44444d}.btn-danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 12px #ef444466;transform:translateY(-1px)}.modal-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:#fff;border-radius:16px;width:90%;max-width:700px;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal.large{max-width:900px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.75rem 2rem;border-bottom:1px solid #e2e8f0;background:#f8fafc}.modal-header h2{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0}.close-btn{background:none;border:none;font-size:1.75rem;cursor:pointer;color:#94a3b8;line-height:1;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.close-btn:hover{background:#e2e8f0;color:#475569}.modal-body{padding:2rem;overflow-y:auto}.modal-body h3{font-size:1rem;font-weight:600;color:#475569;margin-bottom:1rem;margin-top:2rem;text-transform:uppercase;letter-spacing:.05em}.modal-body h3:first-child{margin-top:0}.current-groups,.available-groups{display:flex;flex-direction:column;gap:.75rem}.group-item{display:flex;justify-content:space-between;align-items:center;padding:1.25rem;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0;transition:all .2s}.group-item:hover{background:#fff;border-color:#cbd5e1;box-shadow:0 2px 8px #0000000d}.group-item-info{flex:1}.group-item strong{display:block;margin-bottom:.375rem;color:#1e293b;font-size:.9375rem;font-weight:600}.group-item p{color:#64748b;font-size:.875rem;margin:0;line-height:1.4}.loading{text-align:center;padding:4rem 2rem;color:#64748b;font-size:1rem}.loading:after{content:"...";animation:dots 1.5s steps(4,end) infinite}@keyframes dots{0%,20%{content:"."}40%{content:".."}60%,to{content:"..."}}.empty-state{text-align:center;padding:4rem 2rem;color:#64748b}.empty-state svg{width:4rem;height:4rem;margin-bottom:1rem;color:#cbd5e1}.empty-state h3{font-size:1.25rem;font-weight:600;color:#475569;margin-bottom:.5rem}.empty-state p{font-size:.9375rem;color:#64748b}.layout-container{display:flex;min-height:100vh;background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.sidebar{width:280px;background:#fffffffa;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border-right:1px solid rgba(226,232,240,.8);display:flex;flex-direction:column;position:fixed;left:0;top:0;bottom:0;z-index:100;transition:width .3s cubic-bezier(.4,0,.2,1);box-shadow:2px 0 12px #00000008}.sidebar.collapsed{width:80px}.sidebar-header{padding:1.5rem 1.25rem;border-bottom:1px solid rgba(226,232,240,.6);display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:80px}.logo-container{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}.logo-text{display:flex;align-items:center;gap:.875rem;flex:1;min-width:0;opacity:1;transition:opacity .2s}.sidebar.collapsed .logo-text{opacity:0;pointer-events:none;display:none}.logo-image{width:40px;height:40px;flex-shrink:0;object-fit:contain;transition:all .3s cubic-bezier(.4,0,.2,1)}.logo-text-content{flex:1;min-width:0}.logo-icon{flex-shrink:0;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border-radius:.75rem;overflow:hidden}.logo-icon-image{width:100%;height:100%;object-fit:contain}.logo-icon svg{width:1.5rem;height:1.5rem;stroke-width:2}.logo-title{font-size:1.25rem;font-weight:700;background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0;line-height:1.2;letter-spacing:-.025em}.logo-subtitle{font-size:.75rem;color:#64748b;margin:.25rem 0 0;font-weight:500}.sidebar-toggle{flex-shrink:0;width:2rem;height:2rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;color:#64748b;padding:0}.sidebar-toggle:hover{background:#f1f5f9;border-color:#cbd5e1;color:#475569}.sidebar-toggle svg{width:1.125rem;height:1.125rem;stroke-width:2.5;display:block}.sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:1.5rem 0}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:#94a3b84d;border-radius:3px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#94a3b880}.nav-section{margin-bottom:.5rem}.nav-section:last-child{margin-bottom:0}.nav-section-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.5rem 1.25rem;background:transparent;border:none;cursor:pointer;transition:all .2s;border-radius:.5rem;margin:0 0 .5rem}.nav-section-header:hover{background:#f1f5f999}.nav-section-title{font-size:.6875rem;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.1em;margin:0;padding:0;transition:opacity .2s}.nav-section-chevron{width:1rem;height:1rem;color:#94a3b8;transition:transform .2s cubic-bezier(.4,0,.2,1);flex-shrink:0}.nav-section-chevron.expanded{transform:rotate(180deg)}.sidebar.collapsed .nav-section-title{opacity:0;height:0;margin:0;overflow:hidden}.sidebar.collapsed .nav-section-header{display:none}.nav-items{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.25rem;max-height:1000px;overflow:hidden;transition:max-height .3s cubic-bezier(.4,0,.2,1),opacity .2s;opacity:1}.nav-items.collapsed{max-height:0;opacity:0;margin:0}.nav-item{display:flex;align-items:center;gap:.875rem;padding:.75rem 1.25rem;margin:0 .75rem;color:#64748b;text-decoration:none;border-radius:.75rem;font-size:.875rem;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.sidebar.collapsed .nav-item{justify-content:center;padding:.75rem}.nav-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(135deg,#6366f1,#8b5cf6);transform:scaleY(0);transition:transform .2s;border-radius:0 3px 3px 0}.nav-item:hover{background:linear-gradient(135deg,#f8fafc,#f1f5f9);color:#475569;transform:translate(2px)}.nav-item.active{background:linear-gradient(135deg,#eef2ff,#e0e7ff);color:#4f46e5;font-weight:600}.nav-item.active:before{transform:scaleY(1)}.nav-item-icon{flex-shrink:0;width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center}.nav-item-icon svg{width:100%;height:100%;stroke-width:2}.nav-item-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity .2s}.sidebar.collapsed .nav-item-text{opacity:0;width:0;overflow:hidden}.nav-item-badge{flex-shrink:0;padding:.125rem .5rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border-radius:9999px;font-size:.625rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 2px 8px #6366f14d;transition:opacity .2s}.sidebar.collapsed .nav-item-badge{opacity:0;width:0;overflow:hidden;padding:0}.sidebar-footer{border-top:1px solid rgba(226,232,240,.6);padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}.user-section{display:flex;align-items:center;gap:.875rem;padding:.75rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:.75rem;transition:all .2s}.sidebar.collapsed .user-section{justify-content:center;padding:.75rem}.user-avatar{flex-shrink:0;width:2.25rem;height:2.25rem;background:linear-gradient(135deg,#0ea5e9,#06b6d4);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 12px #0ea5e94d}.user-avatar svg{width:1.25rem;height:1.25rem;stroke-width:2}.user-info{flex:1;min-width:0;transition:opacity .2s}.sidebar.collapsed .user-info{opacity:0;width:0;overflow:hidden}.user-name{font-size:.875rem;font-weight:600;color:#0f172a;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:.75rem;color:#64748b;margin:.125rem 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sign-out-btn{display:flex;align-items:center;justify-content:center;gap:.625rem;padding:.75rem 1rem;background:#fff;color:#64748b;border:1.5px solid #e2e8f0;border-radius:.75rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);width:100%}.sidebar.collapsed .sign-out-btn{padding:.75rem}.sign-out-btn:hover{background:#fee2e2;border-color:#fecaca;color:#dc2626;transform:translateY(-1px);box-shadow:0 4px 12px #dc262626}.sign-out-btn svg{width:1.125rem;height:1.125rem;stroke-width:2.5}.sign-out-btn span{transition:opacity .2s}.sidebar.collapsed .sign-out-btn span{opacity:0;width:0;overflow:hidden}.main-content{flex:1;margin-left:280px;transition:margin-left .3s cubic-bezier(.4,0,.2,1);min-height:100vh}.sidebar.collapsed~.main-content{margin-left:80px}@media(max-width:1024px){.sidebar,.sidebar.collapsed{width:80px}.logo-text,.nav-section-title,.nav-item-text,.nav-item-badge,.user-info,.sign-out-btn span{opacity:0;width:0;overflow:hidden}.nav-item,.user-section,.sign-out-btn{justify-content:center;padding:.75rem}.main-content{margin-left:80px}.sidebar-toggle{display:none}}@media(max-width:768px){.sidebar{transform:translate(-100%);width:280px}.sidebar.collapsed{transform:translate(0);width:80px}.main-content{margin-left:0}.sidebar.collapsed~.main-content{margin-left:80px}.sidebar-toggle{display:flex}}@media(prefers-reduced-motion:reduce){.sidebar,.nav-item,.sign-out-btn,.main-content{transition:none}}.sidebar-toggle:focus-visible,.nav-item:focus-visible,.sign-out-btn:focus-visible{outline:2px solid #6366f1;outline-offset:2px}.sidebar.collapsed .nav-item:hover:after{content:attr(title);position:absolute;left:100%;top:50%;transform:translateY(-50%);margin-left:.75rem;padding:.5rem .875rem;background:#1e293b;color:#fff;font-size:.8125rem;font-weight:500;border-radius:.5rem;white-space:nowrap;pointer-events:none;z-index:1000;box-shadow:0 4px 12px #00000026;animation:tooltipFadeIn .2s ease-out}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-50%) translate(-4px)}to{opacity:1;transform:translateY(-50%) translate(0)}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#f8fafc,#f1f5f9);min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}html{scroll-behavior:smooth}button{font-family:inherit}a{color:inherit;text-decoration:none}*:focus-visible{outline:2px solid #6366f1;outline-offset:2px}
