.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.subscription-modal{background:var(--panel);border-radius:16px;width:100%;max-width:700px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--border)}.modal-header h2{margin:0;font-size:20px;font-weight:600;color:var(--sidebar-text)}.close-button{background:none;border:none;color:var(--muted);cursor:pointer;padding:4px;border-radius:6px;transition:all .2s}.close-button:hover{background:var(--hover-bg);color:var(--sidebar-text)}.error-banner{background:var(--color-error-bg, #fee2e2);color:var(--color-error-text, #dc2626);padding:12px 24px;border-bottom:1px solid var(--border);font-size:14px}.modal-tabs{display:flex;gap:8px;padding:16px 24px 0;border-bottom:1px solid var(--border)}.modal-tab{background:none;border:none;padding:12px 16px;font-size:14px;font-weight:500;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;transition:all .2s;display:flex;align-items:center;gap:8px}.modal-tab:hover{color:var(--sidebar-text)}.modal-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.tab-badge{background:var(--primary);color:#fff;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:600}.modal-content{flex:1;overflow-y:auto;padding:16px 24px 24px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;color:var(--muted)}.loading-state .spinner{animation:spin 1s linear infinite}.loading-state p{margin-top:16px;font-size:14px}.channels-list{display:flex;flex-direction:column;gap:12px}.channel-item{display:flex;align-items:flex-start;gap:16px;padding:16px;background:var(--bg);border:1px solid var(--border);border-radius:12px;transition:all .2s}.channel-item:hover{border-color:var(--primary);box-shadow:0 4px 12px #0000001a}.channel-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.channel-info{flex:1;min-width:0}.channel-name{font-size:16px;font-weight:600;color:var(--sidebar-text);margin-bottom:4px}.channel-description{font-size:14px;color:var(--muted);margin-bottom:8px;line-height:1.4}.channel-meta{display:flex;align-items:center;gap:16px;font-size:12px;color:var(--muted)}.channel-stat{display:flex;align-items:center;gap:4px}.subscription-button{display:flex;align-items:center;gap:8px;padding:8px 16px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.subscription-button.subscribe{background:var(--primary);color:#fff}.subscription-button.subscribe:hover:not(:disabled){background:var(--primary-strong)}.subscription-button.subscribed{background:var(--bg);color:var(--muted);border:1px solid var(--border)}.subscription-button.subscribed:hover:not(:disabled){background:var(--color-error-bg, #fee2e2);color:var(--color-error-text, #dc2626);border-color:var(--color-error-text, #dc2626)}.subscription-button:disabled{opacity:.5;cursor:not-allowed}.subscription-button .spinner{animation:spin 1s linear infinite}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;text-align:center;color:var(--muted)}.empty-state svg{color:var(--muted);opacity:.5;margin-bottom:16px}.empty-state h3{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--sidebar-text)}.empty-state p{margin:0;font-size:14px;max-width:400px}.comments-modal{background:var(--panel);border-radius:16px;width:100%;max-width:500px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.comments-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.comments-modal-header h3{margin:0;font-size:18px;font-weight:600;color:var(--sidebar-text)}.comments-modal .close-btn{background:none;border:none;color:var(--muted);cursor:pointer;padding:4px;border-radius:6px;transition:all .2s;display:flex;align-items:center;justify-content:center}.comments-modal .close-btn:hover{background:var(--hover-bg);color:var(--sidebar-text)}.comments-original-post{padding:12px 16px;margin:12px 20px;background:var(--bg);border-radius:12px;border:1px solid var(--border)}.comments-original-post .original-author{font-size:13px;font-weight:600;color:var(--sidebar-text);margin-bottom:4px}.comments-original-post .original-content{font-size:13px;color:var(--muted);margin:0;line-height:1.4}.comments-list{flex:1;overflow-y:auto;padding:16px 20px;min-height:200px;max-height:400px}.comments-loading,.comments-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:150px;color:var(--muted);text-align:center}.comments-loading svg{color:var(--primary)}.comments-loading span,.comments-empty p{margin-top:12px;font-size:14px;color:var(--sidebar-text)}.comments-empty span{font-size:13px;color:var(--muted);margin-top:4px}.comment-item{display:flex;gap:12px;padding:12px 0}.comment-item:not(:last-child){border-bottom:1px solid var(--border)}.comment-avatar{flex-shrink:0}.comment-avatar img,.comment-avatar .avatar-placeholder{width:36px;height:36px;border-radius:50%;-o-object-fit:cover;object-fit:cover}.comment-avatar .avatar-placeholder{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-strong) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600}.comment-body{flex:1;min-width:0}.comment-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.comment-author{font-size:13px;font-weight:600;color:var(--sidebar-text)}.comment-date{font-size:12px;color:var(--muted)}.comment-delete-btn{margin-left:auto;background:none;border:none;color:var(--muted);cursor:pointer;padding:4px;border-radius:4px;opacity:0;transition:all .2s;display:flex;align-items:center;justify-content:center}.comment-item:hover .comment-delete-btn{opacity:1}.comment-delete-btn:hover{color:#ef4444;background:#ef44441a}.comment-delete-btn:disabled{opacity:.5;cursor:not-allowed}.comment-content{font-size:14px;color:var(--sidebar-text);margin:0;line-height:1.5;word-break:break-word}.comments-form{display:flex;gap:12px;padding:16px 20px;border-top:1px solid var(--border);background:var(--bg);border-radius:0 0 16px 16px}.comments-form textarea{flex:1;padding:10px 14px;border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--sidebar-text);font-size:14px;font-family:inherit;resize:none;transition:border-color .2s}.comments-form textarea:focus{outline:none;border-color:var(--primary)}.comments-form textarea::-moz-placeholder{color:var(--muted)}.comments-form textarea::placeholder{color:var(--muted)}.comments-form textarea:disabled{opacity:.5;cursor:not-allowed}.comments-form .send-btn{width:44px;height:44px;border:none;border-radius:10px;background:var(--primary);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.comments-form .send-btn:hover:not(:disabled){background:var(--primary-strong)}.comments-form .send-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 600px){.comments-modal{max-width:100%;max-height:90vh;border-radius:16px 16px 0 0;position:fixed;bottom:0;left:0;right:0}.comments-list{max-height:50vh}}.hidden-publications-modal{background:var(--panel);border-radius:16px;width:100%;max-width:500px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.hidden-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.hidden-modal-header h3{margin:0;font-size:18px;font-weight:600;color:var(--sidebar-text)}.hidden-publications-modal .close-btn{background:none;border:none;color:var(--muted);cursor:pointer;padding:4px;border-radius:6px;transition:all .2s;display:flex;align-items:center;justify-content:center}.hidden-publications-modal .close-btn:hover{background:var(--hover-bg);color:var(--sidebar-text)}.hidden-publications-list{flex:1;overflow-y:auto;padding:16px 20px;min-height:200px;max-height:500px}.hidden-loading,.hidden-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;color:var(--muted);text-align:center}.hidden-loading svg,.hidden-empty svg{color:var(--muted);margin-bottom:12px}.hidden-loading span,.hidden-empty p{font-size:14px;color:var(--sidebar-text);margin:0}.hidden-empty span{font-size:13px;color:var(--muted);margin-top:4px}.hidden-publication-item{padding:14px;background:var(--bg);border-radius:12px;border:1px solid var(--border);margin-bottom:12px}.hidden-publication-item:last-child{margin-bottom:0}.hidden-pub-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.hidden-pub-author{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.hidden-avatar img,.hidden-avatar .avatar-placeholder{width:36px;height:36px;border-radius:50%;-o-object-fit:cover;object-fit:cover}.hidden-avatar .avatar-placeholder{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-strong) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600}.hidden-pub-info{display:flex;flex-direction:column;gap:2px;min-width:0}.hidden-pub-info .author-name{font-size:13px;font-weight:600;color:var(--sidebar-text)}.hidden-pub-info .pub-meta{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:4px;flex-wrap:wrap}.hidden-pub-info .channel-badge{padding:2px 6px;border-radius:4px;font-size:11px;font-weight:500}.unhide-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;flex-shrink:0}.unhide-btn:hover:not(:disabled){background:var(--primary-strong)}.unhide-btn:disabled{opacity:.6;cursor:not-allowed}.hidden-pub-content{margin:0;font-size:13px;line-height:1.5;color:var(--sidebar-text)}@media (max-width: 600px){.hidden-publications-modal{max-width:100%;max-height:90vh;border-radius:16px 16px 0 0;position:fixed;bottom:0;left:0;right:0}.hidden-publications-list{max-height:60vh}.hidden-pub-header{flex-direction:column;gap:10px}.unhide-btn{width:100%;justify-content:center}}.comunicados-page{padding:24px;width:100%}.comunicados-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:16px;flex-wrap:wrap}.comunicados-header-left{display:flex;align-items:flex-start;gap:16px}.comunicados-icon{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-strong) 100%);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.comunicados-header h1{margin:0;font-size:24px;font-weight:700;color:var(--sidebar-text, #1e293b)}.comunicados-subtitle{margin:4px 0 0;font-size:14px;color:var(--muted)}.btn-icon.danger:hover{background:#fef2f2;color:#ef4444}.btn-sm{padding:6px 12px;font-size:13px}.btn-xs{padding:4px}.comunicados-filters{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}.search-input{width:100%;padding:10px 40px;border:1px solid var(--border);border-radius:10px;font-size:14px;background:var(--bg);color:var(--sidebar-text);transition:all .2s ease}.filter-buttons{display:flex;gap:8px}.filter-btn{display:flex;align-items:center;gap:6px;padding:10px 14px;background:var(--panel);border:1px solid var(--border);border-radius:10px;font-size:14px;color:var(--muted);cursor:pointer;transition:all .2s ease}.filter-btn:hover,.filter-btn.active{border-color:var(--primary);color:var(--primary)}.filter-btn svg.rotated{transform:rotate(180deg)}.filter-chips{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--panel);border:1px solid var(--border);border-radius:20px;font-size:13px;color:var(--muted);cursor:pointer;transition:all .2s ease}.comunicados-stats-row{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap}.stat-card{display:flex;flex-direction:column;padding:16px 24px;background:var(--panel);border-radius:12px;border:1px solid var(--border);min-width:120px}.stat-value{font-size:28px;font-weight:700;color:var(--sidebar-text, #1e293b)}.stat-value.draft{color:#f59e0b}.stat-value.published{color:var(--success)}.stat-label{font-size:13px;color:var(--muted);margin-top:4px}.comunicados-list{display:flex;flex-direction:column;gap:16px}.comunicados-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;background:var(--panel);border-radius:16px;border:1px solid var(--border);color:var(--muted);text-align:center}.comunicados-empty svg{opacity:.4;margin-bottom:16px}.comunicados-empty h3{margin:0 0 8px;color:var(--sidebar-text, #1e293b)}.comunicados-empty p{margin:0 0 20px;max-width:300px}.comunicado-card{background:var(--panel);border-radius:16px;border:1px solid var(--border);padding:20px;transition:all .2s ease}.comunicado-card:hover{box-shadow:0 4px 12px #0000000d}.comunicado-card.urgent{border-left:4px solid #ef4444}.comunicado-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.comunicado-badges{display:flex;gap:8px;flex-wrap:wrap}.status-badge.draft{background:#fef3c7;color:#d97706}.status-badge.published{background:#dcfce7;color:#16a34a}.status-badge.urgent{background:#fef2f2;color:#ef4444}.status-badge.ack{background:#ede9fe;color:#7c3aed}.comunicado-code{font-size:12px;color:var(--muted);font-family:monospace}.comunicado-title{margin:0 0 12px;font-size:18px;font-weight:600;color:var(--sidebar-text, #1e293b)}.comunicado-meta{display:flex;gap:20px;margin-bottom:16px;flex-wrap:wrap}.meta-item{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}.comunicado-stats{display:flex;align-items:center;gap:16px;padding:12px 0;border-top:1px solid var(--border);margin-bottom:12px}.read-progress{flex:1;display:flex;align-items:center;gap:12px}.progress-bar{flex:1;height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden;max-width:200px}.progress-bar.large{height:8px;max-width:none}.progress-fill{height:100%;background:var(--success);border-radius:3px;transition:width .3s ease}.progress-text{font-size:13px;color:var(--muted);white-space:nowrap}.ack-count{font-size:13px;color:#7c3aed;white-space:nowrap}.comunicado-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:12px;border-top:1px solid var(--border)}.modal-sm{max-width:400px}.modal-header-title h2{margin:0;font-size:18px;font-weight:600}.header-info{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.header-badges{display:flex;gap:8px}.modal-tabs{display:flex;padding:0 24px;border-bottom:1px solid var(--border);background:var(--bg)}.tab{display:flex;align-items:center;gap:8px;padding:14px 20px;background:none;border:none;font-size:14px;font-weight:500;color:var(--muted);cursor:pointer;position:relative;transition:color .2s ease}.tab:hover{color:var(--sidebar-text, #1e293b)}.tab.active{color:var(--primary)}.tab.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--primary)}.modal-body p{margin:0 0 12px;color:var(--sidebar-text, #1e293b)}.modal-body .text-muted{color:var(--muted);font-size:13px}.form-group label{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:14px;font-weight:600;color:var(--sidebar-text, #1e293b)}.form-group input[type=text],.form-group input[type=datetime-local],.form-group textarea,.form-group select{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:10px;font-size:14px;transition:all .2s ease;font-family:inherit}.form-group input.error,.form-group textarea.error{border-color:#ef4444}.form-group textarea{resize:vertical;min-height:150px}.error-text{display:block;margin-top:6px;font-size:13px;color:#ef4444}.help-text{display:block;margin-top:6px;font-size:13px;color:var(--muted)}.form-row{display:flex;gap:24px;margin-bottom:20px;flex-wrap:wrap}.checkbox-label{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--sidebar-text, #1e293b);cursor:pointer}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary)}.checkbox-label svg{color:var(--muted)}.checkbox-label .icon-urgent{color:#ef4444}.checkbox-label.highlight{padding:12px 16px;background:var(--bg);border-radius:10px;border:1px solid var(--border)}.form-section{margin-top:24px;padding-top:24px;border-top:1px solid var(--border)}.form-section h3{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:16px;font-weight:600}.assignments-section{margin-top:16px}.assignments-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.assignment-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 8px 6px 12px;background:var(--bg);border-radius:8px;font-size:13px}.assignment-type{color:var(--muted)}.assignment-name{font-weight:500}.assignment-picker{background:var(--bg);border-radius:10px;padding:12px;border:1px solid var(--border)}.picker-row{display:flex;gap:8px;flex-wrap:wrap}.picker-type{width:120px}.picker-value{flex:1;min-width:150px}.detail-content{display:flex;flex-direction:column;gap:24px}.detail-meta{display:flex;flex-wrap:wrap;gap:16px;padding:16px;background:var(--bg);border-radius:12px}.detail-meta .meta-item{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--sidebar-text, #1e293b)}.detail-meta .meta-item svg{color:var(--muted)}.detail-meta .meta-item.highlight{color:#7c3aed}.detail-meta .meta-item.highlight svg{color:#7c3aed}.detail-recipients-summary{padding:16px;background:var(--panel);border:1px solid var(--border);border-radius:12px}.detail-recipients-summary h4{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:14px;font-weight:600}.recipients-badges{display:flex;flex-wrap:wrap;gap:8px}.recipient-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg);border-radius:6px;font-size:13px}.recipient-badge.all{background:var(--primary);color:#fff}.no-recipients{color:var(--muted);font-size:13px}.detail-progress{padding:16px;background:var(--panel);border:1px solid var(--border);border-radius:12px}.progress-header{display:flex;justify-content:space-between;margin-bottom:12px;font-size:14px;font-weight:600}.progress-value{color:var(--success)}.progress-stats{display:flex;justify-content:space-between;margin-top:12px;font-size:13px;color:var(--muted)}.detail-body{padding:20px;background:var(--panel);border:1px solid var(--border);border-radius:12px}.detail-body h4{margin:0 0 16px;font-size:14px;font-weight:600;color:var(--muted)}.comunicado-content-preview{font-size:15px;line-height:1.7;color:var(--sidebar-text, #1e293b)}.comunicado-content-preview p{margin:0 0 16px}.detail-recipients{display:flex;flex-direction:column;gap:20px}.recipients-filters{display:flex;flex-wrap:wrap;gap:8px}.filter-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:var(--panel);border:1px solid var(--border);border-radius:8px;font-size:13px;cursor:pointer;transition:all .2s ease}.filter-chip:hover{border-color:var(--primary)}.filter-chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.recipients-table{background:var(--panel);border:1px solid var(--border);border-radius:12px;overflow:hidden}.table-header{display:flex;padding:12px 16px;background:var(--bg);font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.table-body{max-height:400px;overflow-y:auto}.table-row{display:flex;padding:14px 16px;border-top:1px solid var(--border);align-items:center}.table-row:first-child{border-top:none}.col-name{flex:1;display:flex;align-items:center;gap:10px;font-size:14px}.col-status{width:120px}.col-date{width:140px;font-size:13px;color:var(--muted)}.col-ack{width:160px}.avatar-sm{width:32px;height:32px;border-radius:8px;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600}.status-indicator{display:inline-flex;align-items:center;gap:4px;font-size:13px}.status-indicator.read{color:var(--success)}.status-indicator.unread{color:var(--muted)}.status-indicator.acknowledged{color:#7c3aed}.status-indicator.pending{color:var(--muted)}.detail-stats{display:flex;flex-direction:column;gap:32px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.stat-box{display:flex;align-items:center;gap:16px;padding:20px;background:var(--panel);border:1px solid var(--border);border-radius:12px}.stat-box .stat-icon{width:48px;height:48px;border-radius:12px;background:var(--bg);display:flex;align-items:center;justify-content:center;color:var(--muted)}.stat-box.success .stat-icon{background:#dcfce7;color:#16a34a}.stat-box.warning .stat-icon{background:#fef3c7;color:#d97706}.stat-box.primary .stat-icon{background:#ede9fe;color:#7c3aed}.stat-info{display:flex;flex-direction:column}.stat-number{font-size:28px;font-weight:700;color:var(--sidebar-text, #1e293b);line-height:1}.stat-box .stat-label{font-size:13px;color:var(--muted);margin-top:4px}.stats-progress-section{display:flex;flex-wrap:wrap;gap:32px;align-items:flex-start}.stats-progress-section h4{width:100%;margin:0 0 -16px;font-size:14px;font-weight:600;color:var(--sidebar-text, #1e293b)}.stats-progress-section h4:not(:first-child){margin-top:16px}.circular-progress{position:relative;width:160px;height:160px}.circular-progress svg{transform:rotate(-90deg)}.circular-progress circle{fill:none;stroke-width:8;stroke-linecap:round}.circular-progress circle.bg{stroke:#e2e8f0}.circular-progress circle.fill{stroke:var(--success);transition:stroke-dasharray .5s ease}.circular-progress circle.fill.ack{stroke:#7c3aed}.progress-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.progress-center .percentage{font-size:32px;font-weight:700;color:var(--sidebar-text, #1e293b)}.progress-center .label{font-size:13px;color:var(--muted)}.comunicados-page.employee{padding:24px;width:100%}.comunicados-page.employee .comunicados-header{margin-bottom:20px}.pending-alert{display:flex;align-items:center;gap:10px;padding:14px 18px;background:#fef3c7;border:1px solid #fbbf24;border-radius:12px;margin-bottom:20px;font-size:14px;color:#92400e}.comunicado-item{display:flex;align-items:center;gap:12px;width:100%;padding:16px 20px;background:var(--panel);border:1px solid var(--border);border-radius:14px;text-align:left;cursor:pointer;transition:all .2s ease;margin-bottom:12px}.comunicado-item:hover{border-color:var(--primary);box-shadow:0 4px 12px #4f46e51a}.comunicado-item.unread{background:var(--bg);border-color:var(--primary);border-left:4px solid var(--primary)}.comunicado-item.urgent{border-left-color:#ef4444}.comunicado-item-content{flex:1;min-width:0}.comunicado-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:12px;flex-wrap:wrap}.comunicado-badges{display:flex;gap:6px;flex-wrap:wrap}.badge.urgent{background:#fef2f2;color:#dc2626}.badge.ack-pending{background:#fef3c7;color:#92400e}.badge.ack-done{background:#dcfce7;color:#16a34a}.comunicado-date{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--muted);white-space:nowrap}.comunicado-item .comunicado-title{font-size:15px;font-weight:600;color:var(--sidebar-text, #1e293b);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comunicado-arrow{flex-shrink:0;color:var(--muted);opacity:.5;transition:all .2s ease}.comunicado-item:hover .comunicado-arrow{opacity:1;transform:translate(4px)}.comunicado-detail-meta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:16px;background:var(--bg);border-radius:12px;margin-bottom:20px}.status-badge.ack-pending{background:#fef3c7;color:#92400e}.status-badge.ack-done{background:#dcfce7;color:#16a34a}.comunicado-content-body{padding:20px;background:var(--panel);border:1px solid var(--border);border-radius:12px;font-size:15px;line-height:1.7;color:var(--sidebar-text, #1e293b)}.comunicado-content-body p{margin:0 0 16px}.comunicado-content-body p:last-child{margin-bottom:0}.comunicado-content-body ul,.comunicado-content-body ol{margin:0 0 16px;padding-left:24px}.comunicado-content-body li{margin-bottom:8px}.comunicado-content-body strong{font-weight:600}.comunicado-read-info{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border);font-size:13px}.read-status,.ack-status{display:flex;align-items:center;gap:6px;color:var(--muted)}.ack-status{color:#16a34a}@media (max-width: 768px){.comunicados-page{padding:16px}.comunicados-header{flex-direction:column;align-items:stretch}.comunicados-header .btn-primary{justify-content:center}.comunicados-filters{flex-direction:column}.search-container{max-width:none}.comunicados-stats-row{flex-direction:column}.stat-card{flex-direction:row;align-items:center;gap:12px}.modal{max-height:100vh;border-radius:0}.modal-body{padding:16px}.form-row{flex-direction:column;gap:12px}.picker-row{flex-direction:column}.picker-type,.picker-value{width:100%}.table-header,.table-row{font-size:12px}.col-date,.col-ack{display:none}.stats-grid{grid-template-columns:1fr}}.documentos-page{padding:24px;width:100%;max-width:1200px;margin:0 auto}.documentos-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:16px;flex-wrap:wrap}.documentos-header-left{display:flex;align-items:flex-start;gap:16px}.documentos-icon{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-strong) 100%);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.documentos-header h1{margin:0;font-size:24px;font-weight:700;color:var(--sidebar-text, #1e293b)}.documentos-subtitle{margin:4px 0 0;font-size:14px;color:var(--muted)}.documentos-header-right{display:flex;align-items:center;gap:12px}.unread-badge{background:var(--primary);color:#fff;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:600}.pending-alert{display:flex;align-items:center;gap:10px;padding:14px 18px;background:#fef3c7;border:1px solid #fbbf24;border-radius:12px;margin-bottom:20px;font-size:14px;color:#92400e;cursor:pointer;transition:all .2s ease}.pending-alert:hover{background:#fde68a}.pending-alert svg{flex-shrink:0;color:#d97706}.documentos-tabs{display:flex;gap:4px;margin-bottom:20px;background:var(--bg);border-radius:12px;padding:4px;border:1px solid var(--border)}.tab{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:transparent;border:none;border-radius:10px;font-size:14px;font-weight:500;color:var(--muted);cursor:pointer;transition:all .2s ease}.tab:hover{color:var(--sidebar-text, #1e293b);background:var(--panel)}.tab.active{background:var(--primary);color:#fff}.tab-count{background:#fff3;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:600}.tab:not(.active) .tab-count{background:var(--border);color:var(--muted)}.documentos-filters{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap;align-items:center}.search-input{width:100%;padding:10px 40px;border:1px solid var(--border);border-radius:10px;font-size:14px;background:var(--bg);color:var(--sidebar-text, #1e293b);transition:all .2s ease}.search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a}.search-clear:hover{background:var(--bg)}.filter-toggle{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--panel);border:1px solid var(--border);border-radius:10px;font-size:14px;color:var(--muted);cursor:pointer;transition:all .2s ease;position:relative}.filter-toggle:hover,.filter-toggle.active{border-color:var(--primary);color:var(--sidebar-text, #1e293b)}.filter-toggle.has-filters{background:var(--primary);color:#fff;border-color:var(--primary)}.filter-dot{position:absolute;top:-4px;right:-4px;width:10px;height:10px;background:var(--primary);border-radius:50%;border:2px solid var(--panel)}.filter-toggle.has-filters .filter-dot{display:none}.clear-filters{display:flex;align-items:center;gap:6px;padding:10px 16px;background:transparent;border:1px solid var(--border);border-radius:10px;font-size:14px;color:var(--muted);cursor:pointer;transition:all .2s ease}.clear-filters:hover{border-color:#ef4444;color:#ef4444}.expanded-filters{display:flex;gap:16px;padding:16px;background:var(--panel);border:1px solid var(--border);border-radius:12px;margin-bottom:20px;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:6px;min-width:150px}.filter-select,.filter-date{padding:8px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;background:var(--bg);color:var(--sidebar-text, #1e293b);cursor:pointer}.filter-select:focus,.filter-date:focus{outline:none;border-color:var(--primary)}.documentos-list{display:flex;flex-direction:column;gap:12px}.documentos-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;background:var(--panel);border-radius:16px;border:1px solid var(--border);color:var(--muted);text-align:center}.documentos-empty svg{opacity:.4;margin-bottom:16px}.documentos-empty h3{margin:0 0 8px;color:var(--sidebar-text, #1e293b)}.documentos-empty p{margin:0 0 20px;max-width:300px}.document-card{display:flex;align-items:flex-start;gap:16px;width:100%;padding:16px 20px;background:var(--panel);border:1px solid var(--border);border-radius:14px;text-align:left;cursor:pointer;transition:all .2s ease}.document-card:hover{border-color:var(--primary);box-shadow:0 4px 12px #4f46e51a}.document-card.unread{background:var(--bg);border-color:var(--primary);border-left:4px solid var(--primary)}.document-card.pending-sign{border-left-color:#f59e0b}.document-card.expired{opacity:.7;border-left-color:#ef4444}.document-card-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--bg);border-radius:10px;flex-shrink:0}.document-card-content{flex:1;min-width:0}.document-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px;gap:12px;flex-wrap:wrap}.document-card-badges{display:flex;gap:6px;flex-wrap:wrap}.document-card-date{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--muted);white-space:nowrap}.document-card-title{font-size:15px;font-weight:600;color:var(--sidebar-text, #1e293b);margin:0 0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-card-description{font-size:13px;color:var(--muted);margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.document-card-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.document-code{font-family:monospace;background:var(--bg);padding:2px 6px;border-radius:4px}.document-card-expiry{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--muted);margin-top:8px}.document-card-expiry.expiring{color:#d97706}.document-card-expiry.expired{color:#ef4444}.document-card-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.action-button{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg);border:1px solid var(--border);border-radius:8px;cursor:pointer;color:var(--muted);transition:all .2s ease}.action-button:hover{border-color:var(--primary);color:var(--primary)}.action-button.sign{background:var(--primary);border-color:var(--primary);color:#fff}.action-button.sign:hover{background:var(--primary-strong)}.document-card-arrow{color:var(--muted);opacity:.5;transition:all .2s ease}.document-card:hover .document-card-arrow{opacity:1;transform:translate(4px)}.badge.new{background:var(--primary);color:#fff}.badge.sign-pending{background:#fef3c7;color:#92400e}.badge.signed{background:#dcfce7;color:#16a34a}.badge.rejected{background:#fef2f2;color:#dc2626}.badge.expiring{background:#fef3c7;color:#d97706}.badge.expired{background:#fef2f2;color:#dc2626}.badge.sensitivity-green{background:#dcfce7;color:#16a34a}.badge.sensitivity-blue{background:#dbeafe;color:#2563eb}.badge.sensitivity-amber{background:#fef3c7;color:#d97706}.badge.sensitivity-red{background:#fef2f2;color:#dc2626}.pending-documents-section{background:var(--panel);border:2px solid #fbbf24;border-radius:16px;padding:20px}.pending-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;flex-wrap:wrap;gap:12px}.pending-section-title{display:flex;align-items:center;gap:12px}.pending-section-title h2{margin:0;font-size:18px;font-weight:600;color:var(--sidebar-text, #1e293b)}.pending-section-title svg{color:#d97706}.pending-count{background:#f59e0b;color:#fff;padding:4px 10px;border-radius:12px;font-size:13px;font-weight:600}.pending-section-alerts{display:flex;gap:8px}.alert-badge{display:flex;align-items:center;gap:4px;padding:4px 10px;border-radius:8px;font-size:12px;font-weight:500}.alert-badge.expired{background:#fef2f2;color:#dc2626}.alert-badge.expiring{background:#fef3c7;color:#d97706}.pending-section-description{margin-bottom:16px}.pending-section-description p{margin:0;font-size:14px;color:var(--muted)}.pending-documents-list{display:flex;flex-direction:column;gap:12px}.modal{background:var(--panel);border-radius:16px;width:100%;max-height:calc(100vh - 48px);display:flex;flex-direction:column;animation:slideUp .2s ease}.modal-lg{max-width:700px}.modal-xl{max-width:900px}.modal.fullscreen{max-width:100%;max-height:100vh;height:100vh;border-radius:0;margin:0}.modal-header-title{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.modal-header-title h2{margin:0;font-size:18px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-header-title svg{color:var(--primary);flex-shrink:0}.modal-header-actions{display:flex;align-items:center;gap:8px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border)}.btn-primary:disabled{background:#cbd5e1;cursor:not-allowed}.btn-secondary{background:var(--bg);color:var(--sidebar-text, #1e293b);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border)}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover{background:#dc2626}.btn-danger:disabled{background:#fca5a5;cursor:not-allowed}.btn-outline-danger{background:transparent;color:#ef4444;border:1px solid #ef4444}.btn-outline-danger:hover{background:#fef2f2}.btn-icon{padding:8px;background:transparent;color:var(--muted)}.btn-icon:hover{background:var(--bg);color:var(--sidebar-text, #1e293b)}.btn-lg{padding:14px 24px;font-size:16px}.btn-link{background:transparent;color:var(--primary);padding:8px 16px;text-decoration:underline}.btn-link:hover{color:var(--primary-strong)}.document-detail-meta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:16px;background:var(--bg);border-radius:12px;margin-bottom:20px}.meta-badges{display:flex;gap:8px}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600}.status-badge.sign-pending{background:#fef3c7;color:#92400e}.status-badge.signed,.status-badge.sensitivity-green{background:#dcfce7;color:#16a34a}.status-badge.sensitivity-blue{background:#dbeafe;color:#2563eb}.status-badge.sensitivity-amber{background:#fef3c7;color:#d97706}.status-badge.sensitivity-red{background:#fef2f2;color:#dc2626}.meta-date{font-size:13px;color:var(--muted)}.document-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:20px;padding:16px;background:var(--panel);border:1px solid var(--border);border-radius:12px}.info-item{display:flex;flex-direction:column;gap:4px}.info-item label{font-size:12px;color:var(--muted);font-weight:500}.info-item span{font-size:14px;color:var(--sidebar-text, #1e293b);font-weight:500}.info-item span.text-red{color:#ef4444}.document-description{padding:16px;background:var(--panel);border:1px solid var(--border);border-radius:12px;margin-bottom:20px}.document-description h4{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--muted)}.document-description p{margin:0;font-size:14px;line-height:1.6;color:var(--sidebar-text, #1e293b)}.document-preview-container{margin-bottom:20px;border:1px solid var(--border);border-radius:12px;overflow:hidden;min-height:400px}.document-preview-iframe{width:100%;height:500px;border:none}.modal.fullscreen .document-preview-container{min-height:calc(100vh - 300px)}.modal.fullscreen .document-preview-iframe{height:calc(100vh - 350px)}.document-status-info{display:flex;flex-wrap:wrap;gap:16px;padding-top:16px;border-top:1px solid var(--border);font-size:13px}.read-status,.sign-status{display:flex;align-items:center;gap:6px;color:var(--muted)}.read-status svg{color:var(--primary)}.sign-status{color:#16a34a}.sign-view{display:flex;flex-direction:column;gap:24px}.sign-info-box{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#dbeafe;border-radius:12px;color:#1e40af}.sign-info-box svg{flex-shrink:0;margin-top:2px}.sign-info-box p{margin:0;font-size:14px;line-height:1.5}.consent-section{padding:16px;background:var(--bg);border-radius:12px;border:1px solid var(--border)}.consent-label{display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-size:14px;color:var(--sidebar-text, #1e293b);line-height:1.5}.consent-label input[type=checkbox]{width:20px;height:20px;margin-top:2px;flex-shrink:0;cursor:pointer;accent-color:var(--primary)}.otp-section{padding:24px;background:var(--panel);border:1px solid var(--border);border-radius:12px;text-align:center}.otp-section h4{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--sidebar-text, #1e293b)}.otp-description{margin:0 0 20px;font-size:14px;color:var(--muted)}.otp-sent-message{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:20px;font-size:14px;color:#16a34a}.otp-input-group{display:flex;justify-content:center;gap:8px;margin-bottom:20px}.otp-input{width:48px;height:56px;border:2px solid var(--border);border-radius:12px;font-size:24px;font-weight:600;text-align:center;background:var(--bg);color:var(--sidebar-text, #1e293b);transition:all .2s ease}.otp-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a}.reject-view{display:flex;flex-direction:column;gap:24px}.reject-warning-box{display:flex;align-items:flex-start;gap:16px;padding:20px;background:#fef2f2;border-radius:12px;border:1px solid #fecaca}.reject-warning-box svg{flex-shrink:0;margin-top:2px}.reject-warning-box h4{margin:0 0 4px;font-size:16px;font-weight:600;color:#991b1b}.reject-warning-box p{margin:0;font-size:14px;color:#b91c1c;line-height:1.5}.reject-reason-section{display:flex;flex-direction:column;gap:8px}.reject-reason-section label{font-size:14px;font-weight:500;color:var(--sidebar-text, #1e293b)}.reject-reason-input{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:10px;font-size:14px;background:var(--bg);color:var(--sidebar-text, #1e293b);resize:vertical;min-height:100px}.reject-reason-input:focus{outline:none;border-color:var(--primary)}.success-view{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.success-view svg{margin-bottom:20px}.success-view h3{margin:0 0 8px;font-size:20px;font-weight:600;color:var(--sidebar-text, #1e293b)}.success-view p{margin:0;font-size:14px;color:var(--muted)}.error-message{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#dc2626;font-size:14px}.document-preview{display:flex;flex-direction:column;height:100%;min-height:400px;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--bg)}.document-preview.fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;border-radius:0}.document-preview-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--panel);border-bottom:1px solid var(--border);gap:12px}.toolbar-left,.toolbar-center,.toolbar-right{display:flex;align-items:center;gap:8px}.toolbar-left .file-name{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;border-radius:8px;color:var(--muted);cursor:pointer;transition:all .2s ease}.toolbar-button:hover:not(:disabled){background:var(--bg);color:var(--sidebar-text, #1e293b)}.toolbar-button:disabled{opacity:.5;cursor:not-allowed}.toolbar-button.zoom-level{width:auto;padding:0 12px;font-size:13px;font-weight:500}.document-preview-content{flex:1;position:relative;overflow:auto;background:#525659}.document-preview-loading,.document-preview-error{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--muted);background:var(--bg)}.document-preview-error svg{opacity:.4}.document-preview-error h3{margin:0;font-size:16px;color:var(--sidebar-text, #1e293b)}.document-preview-error p{margin:0;font-size:14px;max-width:300px;text-align:center}.document-preview-iframe{width:100%;height:100%;border:none;background:#fff}.documentos-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;color:var(--muted)}.documentos-loading svg{color:var(--primary);margin-bottom:16px}.documentos-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;background:var(--panel);border-radius:16px;border:1px solid var(--border);color:var(--muted);text-align:center}.documentos-error svg{color:#ef4444;margin-bottom:16px}.documentos-error h3{margin:0 0 8px;color:var(--sidebar-text, #1e293b)}.documentos-error p{margin:0 0 20px}.text-green-500{color:#22c55e}.text-red-500{color:#ef4444}@media (max-width: 768px){.documentos-page{padding:16px}.documentos-header{flex-direction:column;align-items:stretch}.documentos-tabs{flex-direction:column}.tab{justify-content:flex-start}.documentos-filters{flex-direction:column}.search-container{max-width:none}.expanded-filters{flex-direction:column}.filter-group{width:100%}.document-card{flex-direction:column;gap:12px}.document-card-icon{display:none}.document-card-actions{width:100%;justify-content:flex-end}.modal{max-height:100vh;border-radius:0}.modal-body{padding:16px}.otp-input-group{gap:4px}.otp-input{width:40px;height:48px;font-size:20px}.document-info-grid{grid-template-columns:1fr 1fr}.pending-section-header{flex-direction:column;align-items:flex-start}.pending-section-alerts{margin-top:8px}}@media (max-width: 480px){.otp-input{width:36px;height:44px;font-size:18px;border-radius:8px}.document-info-grid{grid-template-columns:1fr}}.date-calendar{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:20px}.date-calendar.compact{padding:16px}.date-calendar.compact .calendar-title{font-size:14px}.date-calendar.compact .calendar-day{font-size:12px}.date-calendar.compact .calendar-weekday{font-size:10px;padding:6px 0}.date-calendar .calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.date-calendar .calendar-title{font-size:16px;font-weight:600;color:var(--sidebar-text);margin:0}.date-calendar .calendar-nav-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--muted);cursor:pointer;transition:all .2s}.date-calendar .calendar-nav-btn:hover{background:var(--border);color:var(--sidebar-text)}.date-calendar .calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px}.date-calendar .calendar-weekday{text-align:center;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;padding:8px 0}.date-calendar .calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.date-calendar .calendar-day{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1;background:var(--bg);border:1px solid transparent;border-radius:8px;cursor:pointer;transition:all .15s;font-size:13px;color:var(--sidebar-text)}.date-calendar .calendar-day:hover:not(.disabled):not(.empty){border-color:var(--primary);background:#6366f11a}.date-calendar .calendar-day.empty{background:transparent;cursor:default}.date-calendar .calendar-day.disabled{opacity:.4;cursor:not-allowed}.date-calendar .calendar-day.weekend{background:#94a3b81a;color:var(--muted)}.date-calendar .calendar-day.holiday{background:#ef44441a;color:var(--color-error-dark, #dc2626)}.date-calendar .calendar-day.holiday .holiday-icon{position:absolute;top:2px;right:2px;color:var(--color-warning, #f59e0b)}.date-calendar .calendar-day.has-absence{position:relative}.date-calendar .calendar-day.absence-approved{background:#10b98126;color:var(--color-success-dark, #059669)}.date-calendar .calendar-day.absence-pending{background:#f59e0b26;color:var(--color-warning-dark, #d97706)}.date-calendar .calendar-day .absence-icon{position:absolute;top:2px;right:2px;color:var(--color-success, #10b981)}.date-calendar .calendar-day.absence-pending .absence-icon{color:var(--color-warning, #f59e0b)}.date-calendar .calendar-day.today{font-weight:700}.date-calendar .calendar-day.today:after{content:"";position:absolute;bottom:3px;width:4px;height:4px;background:var(--primary);border-radius:50%}.date-calendar .calendar-day.selected,.date-calendar .calendar-day.range-start,.date-calendar .calendar-day.range-end{background:var(--primary);color:#fff;border-color:var(--primary)}.date-calendar .calendar-day.in-range{background:#6366f133;border-color:#6366f14d}.date-calendar .calendar-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.date-calendar .legend-item{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.date-calendar .legend-dot{width:10px;height:10px;border-radius:3px}.date-calendar .legend-dot.holiday{background:#ef44444d;border:1px solid #ef4444}.date-calendar .legend-dot.weekend{background:#94a3b84d;border:1px solid #94a3b8}.date-calendar .legend-dot.selected{background:var(--primary)}.date-calendar .legend-dot.absence-approved{background:#10b9814d;border:1px solid #10b981}.date-calendar .legend-dot.absence-pending{background:#f59e0b4d;border:1px solid #f59e0b}.date-calendar .calendar-instructions{margin:12px 0 0;font-size:12px;color:var(--muted);text-align:center}@media (max-width: 480px){.date-calendar{padding:12px}.date-calendar .calendar-day{font-size:11px}.date-calendar .calendar-weekday{font-size:9px}.date-calendar .calendar-legend{gap:10px}.date-calendar .legend-item{font-size:10px}}.solicitudes-page{padding:24px;width:100%;min-height:100vh;background:var(--bg)}.solicitudes-page.solicitudes-form-view{min-height:auto}.solicitudes-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:16px;flex-wrap:wrap}.header-content h1{font-size:28px;font-weight:700;color:var(--sidebar-text);margin:0 0 4px}.header-content p{font-size:14px;color:var(--muted);margin:0}.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;background:var(--primary);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary:hover:not(:disabled){background:var(--primary-hover, #4338ca)}.btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;background:var(--panel);color:var(--sidebar-text);border:1px solid var(--border);border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:var(--bg)}.balances-section{margin-bottom:24px}.balances-section h3{font-size:13px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.balances-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.balance-card{background:var(--panel);border:1px solid var(--border);border-left:4px solid;border-radius:10px;padding:16px}.balance-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.balance-dot{width:8px;height:8px;border-radius:50%}.balance-name{font-size:14px;font-weight:500;color:var(--sidebar-text)}.balance-numbers{display:flex;justify-content:space-between;align-items:flex-end}.balance-available{display:flex;flex-direction:column}.balance-available .number{font-size:28px;font-weight:700;color:var(--primary);line-height:1}.balance-available .label{font-size:12px;color:var(--muted)}.balance-details{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.balance-details span{font-size:11px;color:var(--muted)}.filters-bar{display:flex;gap:16px;margin-bottom:20px;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:4px}.filter-group label{font-size:12px;font-weight:500;color:var(--muted)}.filter-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding:10px 36px 10px 14px;background:var(--panel) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center;border:1px solid var(--border);border-radius:8px;font-size:14px;color:var(--sidebar-text);cursor:pointer;min-width:150px}.filter-select:focus{outline:none;border-color:var(--primary)}.requests-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.request-card{--accent-color: #6366f1;position:relative;display:flex;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:12px;overflow:hidden;transition:all .2s}.request-card:hover{box-shadow:var(--shadow-elevation-2);transform:translateY(-2px)}.request-card-accent{width:4px;flex-shrink:0;background:var(--accent-color)}.request-card-content{flex:1;padding:14px;min-width:0}.request-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}.request-type-info{display:flex;flex-direction:column;gap:8px;flex:1;min-width:0}.request-days-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--color-accent-soft-bg);padding:8px 12px;border-radius:8px;flex-shrink:0}.request-days-badge .days-number{font-size:18px;font-weight:700;color:var(--color-accent-soft-text);line-height:1}.request-days-badge .days-label{font-size:10px;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.type-indicator{width:12px;height:12px;border-radius:4px}.type-name{font-size:14px;font-weight:600;color:var(--color-text-primary)}.status-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:20px;font-size:12px;font-weight:500}.status-pending{background:var(--color-warning-bg, #fef3c7);color:var(--color-warning-text, #92400e)}.status-approved,.status-completed{background:var(--color-success-bg, #d1fae5);color:var(--color-success-text, #065f46)}.status-rejected,.status-cancelled{background:var(--color-error-bg, #fee2e2);color:var(--color-error-text, #991b1b)}.status-draft{background:var(--color-bg-tertiary);color:var(--color-text-secondary);border:1px solid var(--color-border-primary)}.status-inprogress{background:var(--color-info-bg, #dbeafe);color:var(--color-info-text, #1e40af)}.status-badge-small{padding:3px 8px;font-size:11px;gap:4px}.request-card-body{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.request-dates{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--color-text-primary)}.request-dates svg{color:var(--color-text-tertiary)}.request-dates .date-separator{color:var(--color-text-tertiary);margin:0 4px}.request-days{background:var(--color-bg-tertiary);padding:4px 10px;border-radius:6px;font-size:13px;font-weight:500;color:var(--color-accent-600)}.request-comments{padding:12px;background:var(--color-bg-tertiary);border-radius:8px;margin-bottom:12px}.request-comments p{margin:0;font-size:13px;color:var(--color-text-primary);font-style:italic;line-height:1.5}.request-status-info{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:8px;font-size:13px;margin-bottom:12px}.request-status-info.approved{background:var(--color-success-bg, #d1fae5);color:var(--color-success-text, #065f46)}.request-status-info.approved svg{color:var(--color-success, #10b981)}.request-status-info.rejected{background:var(--color-error-bg, #fee2e2);color:var(--color-error-text, #991b1b)}.request-status-info.rejected svg{color:var(--color-error, #ef4444)}.request-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:10px;margin-top:4px;border-top:1px solid var(--color-border-primary);gap:10px}.request-card-footer .footer-left,.request-card-footer .footer-right{display:flex;align-items:center;gap:10px}.created-at{font-size:12px;color:var(--color-text-tertiary)}.btn-approvers{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--color-accent-soft-bg);border:none;border-radius:6px;color:var(--color-accent-soft-text);cursor:pointer;transition:all .2s}.btn-approvers:hover{background:var(--color-accent-soft-bg-hover);transform:scale(1.05)}.btn-cancel-request{padding:6px 14px;background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border-primary);border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.btn-cancel-request:hover{color:var(--color-error, #ef4444);border-color:var(--color-error, #ef4444);background:var(--color-error-bg, #fef2f2)}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;background:var(--panel);border:1px solid var(--border);border-radius:12px;text-align:center}.loading-state .spinner{animation:spin 1s linear infinite;color:var(--primary)}.loading-state span{margin-top:16px;color:var(--muted);font-size:14px}.loading-balance-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;background:var(--panel);border:1px solid var(--border);border-radius:12px;text-align:center;gap:12px}.loading-balance-container .spinner{animation:spin 1s linear infinite;color:var(--primary)}.loading-balance-container span{color:var(--muted);font-size:14px}.empty-state svg{color:var(--muted);opacity:.4;margin-bottom:16px}.empty-state h3{font-size:18px;font-weight:600;color:var(--sidebar-text);margin:0 0 8px}.empty-state p{font-size:14px;color:var(--muted);margin:0 0 24px;max-width:300px}.error-banner{display:flex;align-items:center;gap:10px;padding:14px 18px;background:var(--color-error-bg, #fef2f2);border:1px solid var(--color-error-light, #fecaca);border-radius:10px;color:var(--color-error-dark, #b91c1c);font-size:14px;margin-bottom:20px}.error-banner button{margin-left:auto;background:none;border:none;font-size:20px;cursor:pointer;color:var(--color-error-dark, #b91c1c);line-height:1}.page-header-nav{margin-bottom:24px}.solicitudes-form-view .page-header-nav{margin-bottom:12px}.back-link{display:inline-flex;align-items:center;gap:8px;padding:8px 0;background:none;border:none;color:var(--muted);font-size:14px;cursor:pointer;transition:color .2s}.back-link:hover{color:var(--primary)}.back-link svg{transition:transform .2s}.back-link:hover svg{transform:translate(-4px)}.page-title-section{margin-bottom:32px}.page-title-section h1{font-size:28px;font-weight:700;color:var(--sidebar-text);margin:0 0 8px}.page-title-section p{font-size:15px;color:var(--muted);margin:0}.type-selection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.type-card{display:flex;align-items:center;gap:16px;padding:20px;background:var(--panel);border:2px solid var(--border);border-radius:14px;cursor:pointer;transition:all .2s;text-align:left}.type-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 8px 20px #0000001a}.type-card-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:14px;color:#fff;flex-shrink:0}.type-card-content{flex:1;min-width:0}.type-card-content h3{font-size:16px;font-weight:600;color:var(--sidebar-text);margin:0 0 4px}.type-card-balance{font-size:13px;color:var(--primary);font-weight:500}.type-card-balance.muted{color:var(--muted);font-weight:400}.type-card-description{font-size:13px;color:var(--muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.type-categories{display:flex;flex-direction:column;gap:32px}.type-category{display:flex;flex-direction:column;gap:16px}.category-title{font-size:16px;font-weight:600;color:var(--sidebar-text);margin:0;padding-left:12px;border-left:4px solid}.form-description{font-size:14px;color:var(--muted);line-height:1.4}.form-page-header-row{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border)}.form-page-header{display:flex;align-items:center;gap:16px}.vacation-form-actions.header-actions{display:flex;align-items:center;gap:12px;padding-top:0;border-top:none;grid-column:auto}.form-type-icon{display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:16px;color:#fff;flex-shrink:0}.form-type-info h1{font-size:24px;font-weight:700;color:var(--sidebar-text);margin:0 0 4px}.form-balance-info{font-size:14px;color:var(--primary);font-weight:500}.request-form-page{max-width:700px}.form-section{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:24px;margin-bottom:20px}.form-section h2{font-size:16px;font-weight:600;color:var(--sidebar-text);margin:0 0 16px}.form-hint{display:block;font-size:12px;color:var(--muted);margin-top:6px}.radio-group-large{display:grid;grid-template-columns:1fr 1fr;gap:12px}.radio-option-large{display:flex;align-items:flex-start;gap:12px;padding:16px;background:var(--bg);border:2px solid var(--border);border-radius:10px;cursor:pointer;transition:all .2s}.radio-option-large:has(input:checked){border-color:var(--primary);background:#4f46e50d}.radio-option-large input[type=radio]{accent-color:var(--primary);width:18px;height:18px;margin-top:2px}.radio-content{display:flex;flex-direction:column;gap:2px}.radio-title{font-size:14px;font-weight:600;color:var(--sidebar-text)}.radio-desc{font-size:12px;color:var(--muted)}.documentation-notice.large{padding:16px 20px;align-items:flex-start;gap:14px}.documentation-notice.large strong{display:block;margin-bottom:4px}.documentation-notice.large p{margin:0;font-size:13px}.form-actions-page{display:flex;gap:12px;margin-top:24px}.form-actions-page .btn-secondary,.form-actions-page .btn-primary{flex:0 0 auto}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content{background:var(--panel);border-radius:16px;width:100%;max-width:600px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 40px #0003}.modal-header{display:flex;align-items:center;gap:12px;padding:20px 24px;border-bottom:1px solid var(--border);position:relative}.modal-header h2{font-size:20px;font-weight:600;color:var(--sidebar-text);margin:0}.modal-header p{font-size:14px;color:var(--muted);margin:4px 0 0}.modal-header-content{display:flex;align-items:center;gap:12px;flex:1}.modal-header-content h2{margin:0}.modal-header-content .balance-info{font-size:13px;color:var(--primary);margin:2px 0 0}.modal-close{position:absolute;right:16px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--bg);border:none;border-radius:8px;cursor:pointer;color:var(--muted);transition:all .2s}.modal-close:hover{background:var(--border);color:var(--sidebar-text)}.back-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--bg);border:none;border-radius:8px;cursor:pointer;color:var(--sidebar-text);transition:all .2s}.back-btn:hover{background:var(--border)}.selected-type-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;color:#fff}.modal-body{padding:24px;overflow-y:auto}.justification-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.justification-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px 16px;background:var(--bg);border:2px solid var(--border);border-radius:12px;cursor:pointer;transition:all .2s;text-align:center}.justification-card:hover{border-color:var(--primary);background:#4f46e50d;transform:translateY(-2px)}.justification-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;color:#fff}.justification-info{display:flex;flex-direction:column;gap:4px}.justification-name{font-size:14px;font-weight:600;color:var(--sidebar-text)}.justification-balance{font-size:12px;color:var(--muted)}.no-justifications{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:var(--muted);text-align:center}.no-justifications svg{margin-bottom:12px;opacity:.5}.no-justifications p{margin:0;font-size:14px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:14px;font-weight:500;color:var(--sidebar-text);margin-bottom:8px}.form-group input[type=date],.form-group input[type=time],.form-group textarea,.form-group select{width:100%;padding:12px 14px;background:var(--bg);border:1px solid var(--border);border-radius:10px;font-size:14px;color:var(--sidebar-text);transition:all .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a}.form-group textarea{resize:vertical;min-height:80px}.radio-group{display:flex;gap:16px}.radio-option{display:flex;align-items:center;gap:8px;cursor:pointer;padding:10px 14px;background:var(--bg);border:1px solid var(--border);border-radius:8px;transition:all .2s;font-size:14px;color:var(--sidebar-text)}.radio-option:has(input:checked){border-color:var(--primary);background:#4f46e50d}.radio-option input[type=radio]{accent-color:var(--primary)}.documentation-notice{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--color-warning-bg, #fef3c7);border:1px solid var(--color-warning-light, #fcd34d);border-radius:8px;color:var(--color-warning-text, #92400e);font-size:13px;margin-bottom:20px}.form-error{display:flex;align-items:center;gap:8px;padding:12px 14px;background:var(--color-error-bg, #fef2f2);border:1px solid var(--color-error-border, var(--color-error-light, #fecaca));border-radius:8px;color:var(--color-error-text, #b91c1c);font-size:13px;margin-bottom:20px}.form-content,.form-content .form-section{width:100%}.form-content .form-section textarea,.form-content .form-section input,.form-content .form-section select{width:100%;box-sizing:border-box}.form-section-title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:var(--sidebar-text);margin:0 0 16px}.form-section-title svg{color:var(--muted)}.form-label{display:block;font-size:14px;font-weight:500;color:var(--sidebar-text);margin-bottom:8px}.form-input{width:100%;padding:12px 14px;background:var(--bg);border:1px solid var(--border);border-radius:10px;font-size:14px;color:var(--sidebar-text);transition:all .2s;box-sizing:border-box}.form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a}.form-textarea{width:100%;padding:12px 14px;background:var(--bg);border:1px solid var(--border);border-radius:10px;font-size:14px;color:var(--sidebar-text);transition:all .2s;resize:vertical;min-height:100px;font-family:inherit;box-sizing:border-box}.form-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a}.form-select{width:100%;padding:12px 14px;background:var(--bg);border:1px solid var(--border);border-radius:10px;font-size:14px;color:var(--sidebar-text);transition:all .2s;cursor:pointer;box-sizing:border-box}.form-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a}.radio-option{display:flex;align-items:center;gap:12px;padding:16px;background:var(--bg);border:2px solid var(--border);border-radius:10px;cursor:pointer;transition:all .2s;flex:1}.radio-option.selected{border-color:var(--primary);background:#4f46e50d}.radio-option input[type=radio]{display:none}.radio-option .radio-content{display:flex;align-items:center;gap:10px}.radio-option .radio-icon{color:var(--muted)}.radio-option.selected .radio-icon{color:var(--primary)}.radio-option .radio-label{font-size:14px;font-weight:500;color:var(--sidebar-text)}.radio-description{font-size:12px;color:var(--muted);margin-top:2px}.form-notice{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;background:var(--color-warning-bg, #fef3c7);border:1px solid var(--color-warning-light, #fcd34d);border-radius:10px;color:var(--color-warning-text, #92400e);font-size:13px;margin-bottom:20px;line-height:1.5}.form-notice strong{flex-shrink:0}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px;padding-top:20px;border-top:1px solid var(--border)}.form-actions .spinner{animation:spin 1s linear infinite}@media (max-width: 768px){.type-selection-grid,.radio-group-large{grid-template-columns:1fr}.form-page-header-row{flex-direction:column;align-items:stretch;gap:16px}.form-page-header{flex-direction:column;align-items:flex-start;text-align:left}.vacation-form-actions.header-actions{justify-content:flex-end}.form-actions-page{flex-direction:column-reverse}.form-actions-page button{width:100%;justify-content:center}}@media (max-width: 640px){.solicitudes-page{padding:16px}.solicitudes-header{flex-direction:column;align-items:stretch}.solicitudes-header .btn-primary{width:100%;justify-content:center}.header-content h1,.page-title-section h1{font-size:24px}.form-type-info h1{font-size:20px}.requests-grid,.balances-grid,.form-row{grid-template-columns:1fr}.radio-group{flex-direction:column;gap:10px}.request-card-header{flex-direction:column;align-items:flex-start;gap:10px}.request-card-body{flex-direction:column;align-items:flex-start;gap:8px}.modal-content{max-height:100vh;border-radius:0}.justification-grid{grid-template-columns:repeat(2,1fr)}.form-actions{flex-direction:column}.form-actions button{width:100%;justify-content:center}.form-section,.type-card{padding:16px}.type-card-icon{width:48px;height:48px}}.vacation-form{display:grid;grid-template-columns:350px 1fr;gap:20px;width:100%}.vacation-form-left,.vacation-form-right{display:flex;flex-direction:column;gap:16px}.vacation-form-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:12px;padding-top:20px;border-top:1px solid var(--border)}.vacation-form-error{grid-column:1 / -1}.balance-panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:20px}.balance-loading,.balance-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 20px;color:var(--muted);text-align:center}.balance-loading .spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}.balance-summary-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.balance-card{padding:16px;border-radius:10px;text-align:center}.balance-card.available{background:#10b9811a;border:1px solid rgba(16,185,129,.2)}.balance-card.used{background:#f59e0b1a;border:1px solid rgba(245,158,11,.2)}.balance-card-value{font-size:28px;font-weight:700;color:var(--sidebar-text)}.balance-card-label{font-size:12px;color:var(--muted);margin-top:4px}.balance-expiry-alert{display:flex;gap:10px;padding:12px 14px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:8px;margin-bottom:16px;color:var(--color-warning-text, #92400e);font-size:13px}.balance-expiry-alert svg{flex-shrink:0;color:var(--color-warning, #d97706)}.alert-content{display:flex;flex-direction:column;gap:4px}.expiry-item{font-size:12px}.balance-breakdown{margin-top:16px}.breakdown-title{font-size:13px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.balance-year-card{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:14px;margin-bottom:10px}.balance-year-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.balance-year-name{font-weight:600;color:var(--sidebar-text);font-size:14px;display:flex;align-items:center;gap:8px}.carried-badge{font-size:10px;padding:2px 6px;background:var(--primary);color:#fff;border-radius:4px;font-weight:500}.balance-year-available{font-weight:700;color:var(--color-success, #10b981);font-size:14px}.balance-detail-row{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.balance-detail-row .detail-label{display:flex;align-items:center;gap:6px}.balance-detail-row .detail-value{font-weight:500}.balance-detail-row .detail-value.consumed{color:var(--color-warning, #f59e0b)}.balance-detail-row .detail-value.pending{color:var(--color-info, #6366f1)}.balance-detail-row .detail-value.expired{color:var(--color-error, #ef4444)}.balance-detail-row .detail-value.positive{color:var(--color-success, #10b981)}.balance-detail-row .detail-value.negative{color:var(--color-error, #ef4444)}.balance-expiry-date,.balance-validity-period{display:flex;align-items:center;gap:6px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--border);font-size:11px;color:var(--muted)}.balance-consumption{margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.consumption-title{font-size:14px;font-weight:600;color:var(--sidebar-text);margin:0 0 4px}.consumption-subtitle{font-size:12px;color:var(--muted);margin:0 0 12px}.consumption-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--bg);border-radius:6px;margin-bottom:8px}.consumption-info{display:flex;flex-direction:column;gap:2px}.consumption-source{font-size:13px;font-weight:500;color:var(--sidebar-text)}.consumption-expiry{font-size:11px;color:var(--muted)}.consumption-days{font-weight:600;color:var(--color-warning, #f59e0b);font-size:13px}.consumption-result{display:flex;justify-content:space-between;padding:12px;background:var(--bg);border-radius:6px;font-weight:600;margin-top:8px}.consumption-result .result-value{color:var(--color-success, #10b981)}.consumption-result .result-value.negative{color:var(--color-error, #ef4444)}.consumption-warning{display:flex;align-items:center;gap:8px;margin-top:10px;padding:10px 12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:var(--color-error-dark, #dc2626);font-size:12px}.vacation-comments{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px}.comments-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--sidebar-text);margin:0 0 12px}.comments-title svg{color:var(--muted)}.vacation-calendar{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:20px}.vacation-calendar-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 20px;background:var(--panel);border:1px solid var(--border);border-radius:12px;color:var(--muted)}.vacation-holidays-warning{padding:10px 14px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:8px;color:var(--color-warning-text, #92400e);font-size:13px}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.calendar-title{font-size:16px;font-weight:600;color:var(--sidebar-text);margin:0}.calendar-nav-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--muted);cursor:pointer;transition:all .2s}.calendar-nav-btn:hover{background:var(--border);color:var(--sidebar-text)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px}.calendar-weekday{text-align:center;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;padding:8px 0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-day{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1;background:var(--bg);border:1px solid transparent;border-radius:8px;cursor:pointer;transition:all .15s;font-size:13px;color:var(--sidebar-text)}.calendar-day:hover:not(.disabled):not(.empty){border-color:var(--primary);background:#6366f11a}.calendar-day.empty{background:transparent;cursor:default}.calendar-day.disabled{opacity:.4;cursor:not-allowed}.calendar-day.weekend{background:#94a3b8;color:#fff;border:2px solid #64748b}.calendar-day.holiday{background:#ef4444;color:#fff;border:2px solid #dc2626}.calendar-day.holiday .holiday-icon{position:absolute;top:4px;right:4px;color:#fff}.calendar-day.today{font-weight:700}.calendar-day.today:after{content:"";position:absolute;bottom:4px;width:4px;height:4px;background:var(--primary);border-radius:50%}.calendar-day.selected,.calendar-day.range-start,.calendar-day.range-end{background:var(--primary);color:#fff;border-color:var(--primary)}.calendar-day.in-range{background:#6366f133;border-color:#6366f14d}.calendar-day.existing-vacation{background:#10b981;color:#fff;border:2px solid #059669}.calendar-day.has-absence{position:relative}.calendar-day.absence-approved{background:#10b981;color:#fff;border:2px solid #059669}.calendar-day.absence-pending{background:#f59e0b;color:#fff;border:2px solid #d97706}.calendar-day .absence-icon{position:absolute;top:4px;right:4px;color:#fff}.calendar-day.absence-pending .absence-icon{color:#fff}.calendar-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.legend-item{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.legend-dot{width:10px;height:10px;border-radius:3px}.legend-dot.holiday{background:#ef44444d;border:1px solid #ef4444}.legend-dot.weekend{background:#94a3b84d;border:1px solid #94a3b8}.legend-dot.selected{background:var(--primary)}.legend-dot.existing,.legend-dot.absence-approved{background:#10b9814d;border:1px solid #10b981}.legend-dot.absence-pending{background:#f59e0b4d;border:1px solid #f59e0b}.calendar-instructions{margin:12px 0 0;font-size:12px;color:var(--muted);text-align:center}.selected-dates-summary{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px;padding:12px 16px;background:#6366f11a;border:1px solid rgba(99,102,241,.2);border-radius:8px}.selected-dates-summary span{font-size:13px;color:var(--sidebar-text)}.selected-dates-summary strong{color:var(--primary);margin-right:4px}.vacation-summary{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:20px}.vacation-summary.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 20px;color:var(--muted);text-align:center}.vacation-summary.empty p{margin:0}.summary-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.summary-header h4{font-size:14px;font-weight:600;color:var(--sidebar-text);margin:0}.summary-clear-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--muted);cursor:pointer;transition:all .2s}.summary-clear-btn:hover{background:#ef44441a;border-color:#ef44444d;color:var(--color-error, #ef4444)}.summary-dates{display:flex;flex-direction:column;gap:8px;padding-bottom:16px;border-bottom:1px solid var(--border);margin-bottom:16px}.summary-row{display:flex;justify-content:space-between;font-size:13px}.summary-label{color:var(--muted)}.summary-value{font-weight:500;color:var(--sidebar-text)}.summary-calculation{margin-bottom:16px}.calculation-main{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:#6366f11a;border:1px solid rgba(99,102,241,.2);border-radius:8px;margin-bottom:12px}.calculation-label{font-size:14px;font-weight:500;color:var(--sidebar-text)}.calculation-value.highlight{font-size:20px;font-weight:700;color:var(--primary)}.calculation-breakdown{display:flex;flex-direction:column;gap:6px;padding:0 4px}.breakdown-item{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.breakdown-item.excluded span:last-child{color:var(--color-warning, #f59e0b)}.summary-holidays{margin-top:12px;padding:12px;background:#f59e0b1a;border-radius:8px}.holidays-header{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--color-warning, #d97706);margin-bottom:8px}.holidays-list{margin:0;padding-left:20px;font-size:11px;color:var(--color-warning-text, #92400e)}.holidays-list li{margin-bottom:2px}.summary-balance-status{display:flex;flex-direction:column;gap:8px;padding:14px;background:var(--bg);border-radius:8px;margin-bottom:12px}.balance-status-row{display:flex;justify-content:space-between;font-size:13px;color:var(--muted)}.balance-status-row.result{padding-top:8px;border-top:1px dashed var(--border);font-weight:600;color:var(--sidebar-text)}.balance-status-row.result span:last-child{color:var(--color-success, #10b981)}.balance-status-row.result.negative span:last-child{color:var(--color-error, #ef4444)}.summary-warning{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:8px;color:var(--color-warning, #d97706);font-size:12px;margin-bottom:8px}.summary-warning.error{background:#ef44441a;border-color:#ef44444d;color:var(--color-error-dark, #dc2626)}.summary-warning svg{flex-shrink:0;margin-top:1px}.summary-warning p{margin:0 0 4px}.summary-warning p:last-child{margin-bottom:0}.summary-valid{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:8px;color:var(--color-success, #10b981);font-size:12px;font-weight:500}.request-detail-page{max-width:700px;margin:0 auto}.request-detail-header{display:flex;align-items:center;gap:16px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border)}.request-detail-accent{width:6px;height:60px;border-radius:4px;flex-shrink:0}.request-detail-title{display:flex;flex-direction:column;gap:8px}.request-detail-title h1{font-size:24px;font-weight:600;color:var(--sidebar-text);margin:0}.request-detail-content{display:flex;flex-direction:column;gap:24px}.request-detail-section{background:var(--panel);border-radius:12px;padding:20px;border:1px solid var(--border)}.request-detail-section h3{font-size:14px;font-weight:600;color:var(--sidebar-text);margin:0 0 16px;text-transform:uppercase;letter-spacing:.5px}.request-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.3px}.detail-value{font-size:15px;color:var(--sidebar-text);font-weight:500}.detail-comments{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.detail-comments .detail-value{font-weight:400;font-style:italic;color:var(--muted)}.workflow-status-card{display:flex;align-items:center;gap:16px;padding:16px;background:var(--bg);border-radius:10px;border:1px solid var(--border)}.workflow-status-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--color-accent-soft-bg);border-radius:12px;color:var(--color-accent-soft-text);flex-shrink:0}.workflow-status-info{display:flex;flex-direction:column;gap:4px}.workflow-status-label{font-size:16px;font-weight:600;color:var(--sidebar-text)}.workflow-status-detail{font-size:13px;color:var(--muted)}.workflow-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:24px;color:var(--muted)}.workflow-levels-info{margin-top:12px;padding:10px 14px;background:var(--color-accent-soft-bg);border-radius:8px;font-size:13px;color:var(--color-accent-soft-text)}.request-detail-actions{display:flex;justify-content:flex-end;padding-top:8px}.btn-cancel-large{display:flex;align-items:center;gap:8px;padding:12px 24px;background:transparent;border:1px solid var(--color-error, #ef4444);border-radius:8px;color:var(--color-error, #ef4444);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-cancel-large:hover{background:var(--color-error, #ef4444);color:#fff}.btn-view-detail{display:flex;align-items:center;justify-content:center;padding:6px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--muted);cursor:pointer;transition:all .2s ease}.btn-view-detail:hover{background:var(--color-accent-soft-bg);border-color:var(--color-accent-soft-text);color:var(--color-accent-soft-text)}@media (max-width: 600px){.request-detail-grid{grid-template-columns:1fr}.request-detail-header{flex-direction:column;align-items:flex-start;gap:12px}.request-detail-accent{width:100%;height:4px}}.approvers-modal{background:var(--panel);border-radius:14px;width:100%;max-width:400px;box-shadow:0 20px 40px #0003;overflow:hidden}.approvers-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.approvers-modal-header h3{font-size:16px;font-weight:600;color:var(--sidebar-text);margin:0}.approvers-modal-body{padding:20px}.approvers-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:30px 20px;color:var(--muted)}.approvers-step-info{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--color-accent-soft-bg);border-radius:8px;margin-bottom:16px}.approvers-step-info .step-label{font-size:12px;color:var(--muted)}.approvers-step-info .step-name{font-size:13px;font-weight:600;color:var(--color-accent-soft-text)}.approvers-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;text-align:center;color:var(--muted)}.approvers-empty p{margin:0;font-size:13px}.approvers-list{display:flex;flex-direction:column;gap:10px}.approver-item{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--bg);border-radius:10px;border:1px solid var(--border)}.approver-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--color-accent-soft-bg);border-radius:10px;color:var(--color-accent-soft-text)}.approver-info{display:flex;flex-direction:column;gap:2px}.approver-name{font-size:14px;font-weight:500;color:var(--sidebar-text)}.approver-type{font-size:12px;color:var(--muted)}@media (max-width: 1024px){.vacation-form{grid-template-columns:1fr}.vacation-form-left{order:2}.vacation-form-right{order:1}.vacation-form-actions{order:3}}@media (max-width: 640px){.vacation-form{gap:16px}.balance-panel,.vacation-calendar,.vacation-summary,.vacation-comments{padding:16px}.balance-summary-cards{grid-template-columns:1fr}.calendar-legend{gap:10px}.vacation-form-actions{flex-direction:column-reverse}.vacation-form-actions button{width:100%;justify-content:center}}[data-theme=dark] .request-card{background:#1e293b;border-color:#334155}[data-theme=dark] .request-card-content{background:#1e293b}[data-theme=dark] .type-name{color:#f1f5f9}[data-theme=dark] .request-days-badge{background:#818cf826}[data-theme=dark] .request-days-badge .days-number{color:#a5b4fc}[data-theme=dark] .request-days-badge .days-label{color:#64748b}[data-theme=dark] .request-dates{color:#f1f5f9}[data-theme=dark] .request-dates svg{color:#64748b}[data-theme=dark] .request-dates .date-separator{color:#64748b}[data-theme=dark] .request-days{background:#273549;color:#a5b4fc}[data-theme=dark] .request-comments{background:#273549}[data-theme=dark] .request-comments p{color:#cbd5e1}[data-theme=dark] .request-card-footer{border-color:#334155}[data-theme=dark] .created-at{color:#64748b}[data-theme=dark] .btn-cancel-request{color:#94a3b8;border-color:#334155}[data-theme=dark] .status-draft{background:#273549;color:#94a3b8;border-color:#334155}[data-theme=dark] .btn-approvers{background:#818cf826;color:#a5b4fc}[data-theme=dark] .btn-approvers:hover{background:#818cf840}[data-theme=dark] .approvers-modal{background:#1e293b}[data-theme=dark] .approvers-modal-header{border-color:#334155}[data-theme=dark] .approvers-modal-header h3{color:#f1f5f9}[data-theme=dark] .approvers-step-info{background:#818cf826}[data-theme=dark] .approvers-step-info .step-name{color:#a5b4fc}[data-theme=dark] .approver-item{background:#273549;border-color:#334155}[data-theme=dark] .approver-icon{background:#818cf826;color:#a5b4fc}[data-theme=dark] .approver-name{color:#f1f5f9}.balance-selection-hint{padding:10px 14px;background:#6366f11a;border:1px solid rgba(99,102,241,.2);border-radius:8px;color:var(--primary);font-size:12px;margin-bottom:12px;text-align:center}.balance-year-card.selectable{cursor:pointer;transition:all .2s}.balance-year-card.selectable:hover{border-color:var(--primary);box-shadow:0 0 0 2px #6366f11a}.balance-year-card.selected{border-color:var(--primary);background:#6366f10d;box-shadow:0 0 0 2px #6366f133}.balance-selected-indicator{display:flex;align-items:center;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border);color:var(--primary);font-size:12px;font-weight:500}.balance-detail-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.balance-detail-modal{background:var(--panel);border-radius:16px;width:100%;max-width:700px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.balance-detail-modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px;border-bottom:1px solid var(--border)}.balance-detail-modal-header h3{margin:0;font-size:20px;font-weight:600;color:var(--sidebar-text)}.balance-detail-modal-header p{margin:4px 0 0;font-size:14px;color:var(--muted)}.modal-close-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--muted);cursor:pointer;transition:all .2s}.modal-close-btn:hover{background:var(--border);color:var(--sidebar-text)}.balance-detail-modal-loading,.balance-detail-modal-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 20px;color:var(--muted)}.balance-detail-modal-error p{color:var(--color-error, #ef4444)}.balance-detail-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:20px 24px;background:var(--bg)}.summary-item{display:flex;flex-direction:column;gap:4px;padding:12px;background:var(--panel);border-radius:8px;border:1px solid var(--border)}.summary-item.highlight{background:#6366f11a;border-color:var(--primary)}.summary-label{font-size:11px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.summary-value{font-size:20px;font-weight:700;color:var(--sidebar-text)}.summary-value.consumed{color:var(--color-warning, #f59e0b)}.summary-value.pending{color:var(--color-info, #6366f1)}.summary-value.available{color:var(--color-success, #10b981)}.balance-movements-section{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--border)}.balance-movements-section h4{margin:0;font-size:16px;font-weight:600;color:var(--sidebar-text)}.movements-count{font-size:13px;color:var(--muted)}.balance-movements-table{overflow-x:auto;flex:1;min-height:0}.balance-movements-table table{width:100%;border-collapse:collapse}.balance-movements-table th{padding:12px 16px;background:var(--bg);font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;text-align:left;border-bottom:1px solid var(--border);position:sticky;top:0}.balance-movements-table td{padding:12px 16px;font-size:13px;color:var(--sidebar-text);border-bottom:1px solid var(--border)}.balance-movements-table tr:hover td{background:var(--bg)}.movement-type{display:inline-flex;padding:4px 8px;border-radius:12px;font-size:11px;font-weight:500}.movement-type.credit{background:#10b98126;color:var(--color-success, #10b981)}.movement-type.debit{background:#ef444426;color:var(--color-error, #ef4444)}.movement-type.adjustment{background:#6366f126;color:var(--primary)}.movement-type.carryover{background:#f59e0b26;color:var(--color-warning, #f59e0b)}.movement-type.expiration{background:#94a3b826;color:var(--muted)}.balance-movements-table td.positive{color:var(--color-success, #10b981);font-weight:500}.balance-movements-table td.negative{color:var(--color-error, #ef4444);font-weight:500}.movement-description{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.balance-no-movements{display:flex;align-items:center;justify-content:center;padding:40px 20px;color:var(--muted)}@media (max-width: 640px){.balance-detail-modal{max-height:90vh}.balance-detail-summary{grid-template-columns:repeat(2,1fr)}.balance-movements-table th,.balance-movements-table td{padding:10px 12px}.movement-description{max-width:120px}}.absence-type-display{padding:16px;background:var(--panel);border:1px solid var(--border);border-radius:10px}.absence-type-name{font-size:15px;font-weight:500;color:var(--sidebar-text)}.absence-balance-selector{display:flex;flex-direction:column;gap:12px}.balance-option{padding:14px 16px;background:var(--panel);border:2px solid var(--border);border-radius:10px;cursor:pointer;transition:all .2s ease}.balance-option:hover{border-color:var(--primary);background:var(--bg)}.balance-option.selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--panel))}.balance-option-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.balance-option-info{display:flex;flex-direction:column;gap:4px}.balance-option-info .balance-name{font-size:14px;font-weight:600;color:var(--sidebar-text);display:flex;align-items:center;gap:8px}.balance-option-info .balance-available{font-size:13px;color:var(--success, #10b981);font-weight:500}.balance-option .check-icon{color:var(--primary);flex-shrink:0}.balance-option-details{display:flex;flex-wrap:wrap;gap:12px 20px;padding-top:10px;border-top:1px solid var(--border)}.balance-option-details .detail-item{display:flex;flex-direction:column;gap:2px}.balance-option-details .detail-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.3px}.balance-option-details .detail-value{font-size:14px;font-weight:600;color:var(--sidebar-text)}.balance-option-details .detail-value.consumed{color:var(--danger, #ef4444)}.balance-option-details .detail-value.pending{color:var(--warning, #f59e0b)}.balance-expiry-date.compact{display:flex;align-items:center;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border);font-size:12px;color:var(--muted)}.balance-expiry-date.compact svg{color:var(--warning, #f59e0b)}.balance-expiry-alert.compact{display:flex;align-items:center;gap:8px;padding:10px 12px;background:color-mix(in srgb,var(--warning, #f59e0b) 10%,var(--panel));border:1px solid color-mix(in srgb,var(--warning, #f59e0b) 30%,var(--border));border-radius:8px;margin-bottom:12px;font-size:13px;color:var(--sidebar-text)}.balance-expiry-alert.compact svg{color:var(--warning, #f59e0b);flex-shrink:0}.carried-badge{font-size:10px;font-weight:500;padding:2px 6px;background:var(--primary);color:#fff;border-radius:4px;text-transform:uppercase;letter-spacing:.3px}.optional-label{font-size:12px;font-weight:400;color:var(--muted)}.schedule-visualizer{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:16px}.schedule-visualizer.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px;color:var(--muted)}.schedule-visualizer.compact{padding:12px}.schedule-title{font-size:13px;font-weight:600;color:var(--sidebar-text);margin:0 0 12px}.schedule-grid{display:flex;gap:8px;overflow-x:auto}.schedule-day{flex:1;min-width:80px;background:var(--bg);border-radius:8px;overflow:hidden}.schedule-day.rest-day{opacity:.6}.schedule-day.holiday{border:1px solid var(--warning, #f59e0b)}.schedule-day-header{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:var(--border);font-size:12px}.schedule-day-header .day-name{font-weight:600;color:var(--sidebar-text)}.schedule-day-header .day-date{color:var(--muted)}.schedule-day-content{padding:10px;display:flex;flex-direction:column;gap:6px}.shift-badge{display:inline-block;padding:3px 8px;font-size:11px;font-weight:600;color:#fff;border-radius:4px;text-align:center;text-transform:uppercase}.shift-times{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--sidebar-text)}.shift-times .time-entry,.shift-times .time-exit{display:flex;align-items:center;gap:3px}.shift-times .time-entry svg{color:var(--warning, #f59e0b)}.shift-times .time-exit svg{color:var(--primary)}.shift-times .time-separator{color:var(--muted)}.shift-duration{font-size:11px;color:var(--muted);text-align:center}.shift-breaks{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--muted);margin-top:4px}.schedule-day-rest{padding:16px 10px;text-align:center;font-size:12px;color:var(--muted)}.schedule-comparison{display:flex;align-items:stretch;gap:16px}.schedule-column{flex:1}.schedule-column.current .schedule-visualizer{border-color:var(--muted)}.schedule-column.proposed .schedule-visualizer{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 5%,var(--panel))}.schedule-arrow{display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--primary);font-weight:700}.schedule-exchange{background:var(--panel);border:1px solid var(--border);border-radius:10px;overflow:hidden}.exchange-header{padding:12px 16px;background:var(--border);font-size:14px;font-weight:600;color:var(--sidebar-text)}.exchange-content{display:flex;padding:16px;gap:16px}.exchange-employee{flex:1;display:flex;flex-direction:column;gap:8px}.exchange-employee .employee-name{font-size:13px;font-weight:600;color:var(--sidebar-text)}.exchange-arrow{text-align:center;font-size:20px;color:var(--primary);padding:8px 0}.exchange-label{font-size:12px;color:var(--muted);text-align:center;font-style:italic}.exchange-divider{width:1px;background:var(--border)}.shift-selector{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.shift-option{padding:12px;background:var(--panel);border:2px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s ease}.shift-option:hover{border-color:var(--primary)}.shift-option.selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--panel))}.shift-option-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.shift-option-color{width:12px;height:12px;border-radius:3px}.shift-option-name{font-size:14px;font-weight:600;color:var(--sidebar-text)}.shift-option-times{font-size:12px;color:var(--muted)}.teammate-selector{display:flex;flex-direction:column;gap:8px}.teammate-option{display:flex;align-items:center;gap:12px;padding:12px;background:var(--panel);border:2px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s ease}.teammate-option:hover{border-color:var(--primary);background:var(--bg)}.teammate-option.selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--panel))}.teammate-avatar{width:40px;height:40px;border-radius:50%;background:var(--primary);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:14px}.teammate-avatar img{width:100%;height:100%;border-radius:50%;-o-object-fit:cover;object-fit:cover}.teammate-info{flex:1}.teammate-name{font-size:14px;font-weight:600;color:var(--sidebar-text)}.teammate-group{font-size:12px;color:var(--muted)}.teammate-check{color:var(--primary)}.schedule-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:32px;color:var(--muted)}@media (max-width: 768px){.schedule-comparison{flex-direction:column}.schedule-arrow{transform:rotate(90deg);padding:8px 0}.exchange-content{flex-direction:column}.exchange-divider{width:100%;height:1px}.schedule-grid{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px}.schedule-day{min-width:70px}}.requests-list{display:flex;flex-direction:column;gap:8px}.request-list-item{display:flex;align-items:stretch;background:var(--card-bg);border-radius:8px;overflow:hidden;cursor:pointer;transition:all .15s ease;border:1px solid var(--border)}.request-list-item:hover{background:var(--hover-bg);border-color:var(--primary)}.request-list-accent{width:4px;flex-shrink:0}.request-list-content{flex:1;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;gap:16px}.request-list-main{display:flex;align-items:center;gap:24px;flex:1;min-width:0}.request-list-type{font-weight:500;color:var(--text);min-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.request-list-dates{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--muted);min-width:180px}.request-list-dates svg{flex-shrink:0;opacity:.7}.request-list-days{font-size:13px;color:var(--muted);background:var(--surface);padding:4px 10px;border-radius:12px;white-space:nowrap}.request-list-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.btn-cancel-small{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;transition:all .15s ease}.btn-cancel-small:hover{background:#ef44441a;color:#ef4444}@media (max-width: 768px){.request-list-content{flex-direction:column;align-items:flex-start;gap:8px}.request-list-main{flex-direction:column;align-items:flex-start;gap:4px;width:100%}.request-list-type{min-width:0;width:100%}.request-list-actions{width:100%;justify-content:space-between}}.clocking-datetime-container{display:flex;flex-direction:row;gap:20px;padding:16px;background:var(--panel);border:1px solid var(--border);border-radius:12px;align-items:stretch}.clocking-datetime-container .date-calendar{flex:1;min-width:0;border:none;padding:0;background:transparent}.clocking-datetime-container .date-calendar .calendar-header{margin-bottom:8px}.clocking-datetime-container .date-calendar .calendar-nav-btn{width:28px;height:28px}.clocking-datetime-container .date-calendar .calendar-title{font-size:13px}.clocking-datetime-container .date-calendar .calendar-weekdays{gap:2px;margin-bottom:4px}.clocking-datetime-container .date-calendar .calendar-weekday{font-size:9px;padding:4px 0}.clocking-datetime-container .date-calendar .calendar-grid{gap:2px}.clocking-datetime-container .date-calendar .calendar-day{font-size:11px;border-radius:6px}.clocking-datetime-container .date-calendar .calendar-day.today:after{width:3px;height:3px;bottom:2px}.header-form-actions{display:flex;gap:8px;align-items:center}.btn-sm{padding:8px 14px;font-size:13px}.btn-sm svg{width:16px;height:16px}.clocking-time-type-panel{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;gap:16px;padding:0 20px;border-left:1px solid var(--border);min-width:160px}.clocking-type-toggle{display:flex;gap:4px;padding:4px;background:var(--bg);border-radius:8px;border:1px solid var(--border)}.clocking-type-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:transparent;border:none;border-radius:6px;font-size:13px;font-weight:500;color:var(--muted);cursor:pointer;transition:all .2s}.clocking-type-btn:hover{color:var(--sidebar-text);background:var(--panel)}.clocking-type-btn.active{background:var(--primary);color:#fff}.clocking-time-input{display:flex;flex-direction:column;justify-content:center;align-items:center;flex:1}.form-input-time{width:100%;font-size:36px;font-weight:700;text-align:center;padding:20px 12px;border-radius:10px;letter-spacing:2px;background:var(--bg);border:2px solid var(--border);color:var(--sidebar-text);transition:border-color .2s}.form-input-time:focus{outline:none;border-color:var(--primary)}@media (max-width: 600px){.clocking-datetime-container{flex-direction:column;gap:16px}.clocking-time-type-panel{border-left:none;border-top:1px solid var(--border);padding:16px 0 0;min-width:0;width:100%}.clocking-time-input{width:100%}.form-input-time{font-size:32px;max-width:180px;margin:0 auto}.header-form-actions{flex-wrap:wrap}}.firmas-page{padding:24px;width:100%}.firmas-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;gap:1rem}.firmas-header .header-content{display:flex;align-items:flex-start;gap:.75rem}.firmas-header .header-icon{width:48px;height:48px;border-radius:12px;background:var(--accent-50, #eef2ff);color:var(--accent-600, #4f46e5);display:flex;align-items:center;justify-content:center;flex-shrink:0}.firmas-header h1{font-size:1.25rem;font-weight:600;color:var(--txt-primary, #1f2937);margin:0}.firmas-header p{font-size:.875rem;color:var(--txt-secondary, #6b7280);margin:.25rem 0 0}.btn-refresh{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--brd-primary, #e5e7eb);border-radius:8px;background:#fff;color:var(--txt-secondary, #6b7280);font-size:.875rem;cursor:pointer;transition:all .2s}.btn-refresh:hover{background:var(--bg-secondary, #f9fafb);color:var(--txt-primary, #1f2937)}.firmas-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:1rem;color:var(--txt-secondary, #6b7280)}.firmas-loading .spinner{animation:spin 1s linear infinite}.error-banner{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--error-bg, #fef2f2);color:var(--error-text, #dc2626);border-radius:8px;margin-bottom:1rem;font-size:.875rem}.error-banner button{margin-left:auto;background:none;border:none;font-size:1.25rem;cursor:pointer;color:inherit;padding:0 .25rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center;color:var(--txt-secondary, #6b7280)}.empty-state svg{margin-bottom:1rem;opacity:.5}.empty-state h3{font-size:1rem;font-weight:600;color:var(--txt-primary, #1f2937);margin:0 0 .5rem}.empty-state p{font-size:.875rem;margin:0}.requests-list{display:flex;flex-direction:column;gap:.75rem}.request-card{display:flex;align-items:center;gap:1rem;width:100%;padding:1rem;background:#fff;border:1px solid var(--brd-primary, #e5e7eb);border-radius:12px;cursor:pointer;transition:all .2s;text-align:left}.request-card:hover{border-color:var(--accent-300, #a5b4fc);box-shadow:0 2px 8px #0000000d}.request-card.expiring{border-color:var(--warning-text, #d97706);background:var(--warning-bg, #fffbeb)}.request-content{flex:1;min-width:0}.request-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.5rem}.request-badges{display:flex;flex-wrap:wrap;gap:.375rem}.request-date{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--txt-tertiary, #9ca3af);white-space:nowrap}.request-title{font-size:.9375rem;font-weight:600;color:var(--txt-primary, #1f2937);margin:0 0 .375rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.request-meta{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.75rem;color:var(--txt-secondary, #6b7280);margin-bottom:.375rem}.document-code{font-family:monospace;background:var(--bg-tertiary, #f3f4f6);padding:.125rem .375rem;border-radius:4px}.request-expires{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--txt-tertiary, #9ca3af)}.request-arrow{color:var(--txt-tertiary, #9ca3af);flex-shrink:0}.status-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:9999px;font-size:.6875rem;font-weight:500}.status-pending{background:var(--warning-bg, #fffbeb);color:var(--warning-text, #d97706)}.status-viewed{background:var(--info-bg, #eff6ff);color:var(--info-text, #2563eb)}.status-otp{background:var(--accent-50, #eef2ff);color:var(--accent-600, #4f46e5)}.status-signed{background:var(--success-bg, #f0fdf4);color:var(--success-text, #16a34a)}.status-rejected{background:var(--error-bg, #fef2f2);color:var(--error-text, #dc2626)}.status-expired,.status-cancelled{background:var(--bg-tertiary, #f3f4f6);color:var(--txt-secondary, #6b7280)}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:9999px;font-size:.6875rem;font-weight:500}.badge.expiring{background:var(--warning-bg, #fffbeb);color:var(--warning-text, #d97706)}.badge.group{background:var(--bg-tertiary, #f3f4f6);color:var(--txt-secondary, #6b7280)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000}.modal{background:#fff;border-radius:16px;width:100%;max-width:480px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 40px #00000026}.modal.modal-lg{max-width:560px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--brd-primary, #e5e7eb)}.modal-header-title{display:flex;align-items:center;gap:.5rem}.modal-header-title h2{font-size:1rem;font-weight:600;margin:0;color:var(--txt-primary, #1f2937)}.modal-header-title svg{color:var(--accent-600, #4f46e5)}.btn-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:none;background:transparent;color:var(--txt-secondary, #6b7280);cursor:pointer}.btn-close:hover{background:var(--bg-secondary, #f9fafb)}.modal-body{padding:1.25rem;overflow-y:auto;flex:1}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid var(--brd-primary, #e5e7eb)}.document-info{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem}.info-row{display:flex;gap:.75rem;align-items:flex-start}.info-row>svg{color:var(--txt-tertiary, #9ca3af);flex-shrink:0;margin-top:.125rem}.info-row>div{flex:1;min-width:0}.info-row label{display:block;font-size:.6875rem;text-transform:uppercase;letter-spacing:.025em;color:var(--txt-tertiary, #9ca3af);margin-bottom:.125rem}.info-row span{font-size:.875rem;color:var(--txt-primary, #1f2937)}.info-row span.text-warning{color:var(--warning-text, #d97706)}.consent-box{background:var(--info-bg, #eff6ff);border:1px solid var(--info-text, #2563eb);border-radius:8px;padding:1rem;margin-bottom:1.25rem}.consent-box h4{font-size:.875rem;font-weight:600;color:var(--info-text, #2563eb);margin:0 0 .5rem}.consent-box p{font-size:.8125rem;color:var(--txt-secondary, #6b7280);margin:0;line-height:1.5}.otp-channel-selector{margin-bottom:1rem}.otp-channel-selector>label{display:block;font-size:.875rem;font-weight:500;color:var(--txt-primary, #1f2937);margin-bottom:.75rem}.channel-options{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.channel-option{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;border:2px solid var(--brd-primary, #e5e7eb);border-radius:12px;background:#fff;cursor:pointer;transition:all .2s}.channel-option:hover{border-color:var(--accent-300, #a5b4fc)}.channel-option.active{border-color:var(--accent-600, #4f46e5);background:var(--accent-50, #eef2ff)}.channel-option svg{color:var(--txt-secondary, #6b7280)}.channel-option.active svg{color:var(--accent-600, #4f46e5)}.channel-option span{font-size:.875rem;font-weight:500;color:var(--txt-primary, #1f2937)}.otp-sent-message{display:flex;align-items:flex-start;gap:.75rem;background:var(--success-bg, #f0fdf4);border-radius:8px;padding:1rem;margin-bottom:1.5rem}.otp-sent-message svg{color:var(--success-text, #16a34a);flex-shrink:0}.otp-sent-message p{font-size:.875rem;color:var(--txt-primary, #1f2937);margin:0}.otp-input-section{text-align:center}.otp-input-section>label{display:block;font-size:.875rem;font-weight:500;color:var(--txt-primary, #1f2937);margin-bottom:.75rem}.otp-input{width:100%;max-width:200px;padding:1rem;font-size:1.5rem;font-family:monospace;letter-spacing:.5em;text-align:center;border:2px solid var(--brd-primary, #e5e7eb);border-radius:12px;outline:none;transition:border-color .2s}.otp-input:focus{border-color:var(--accent-600, #4f46e5)}.otp-hint{font-size:.8125rem;color:var(--txt-secondary, #6b7280);margin:.75rem 0 0}.link-button{background:none;border:none;color:var(--accent-600, #4f46e5);cursor:pointer;padding:0;margin-left:.25rem;font-size:inherit;text-decoration:underline}.link-button:hover{color:var(--accent-700, #4338ca)}.link-button:disabled{opacity:.5;cursor:not-allowed}.reject-warning{display:flex;align-items:flex-start;gap:.75rem;background:var(--warning-bg, #fffbeb);border-radius:8px;padding:1rem;margin-bottom:1.25rem}.reject-warning svg{color:var(--warning-text, #d97706);flex-shrink:0}.reject-warning p{font-size:.875rem;color:var(--txt-primary, #1f2937);margin:0}.reject-form label{display:block;font-size:.875rem;font-weight:500;color:var(--txt-primary, #1f2937);margin-bottom:.5rem}.reject-form textarea{width:100%;padding:.75rem;border:1px solid var(--brd-primary, #e5e7eb);border-radius:8px;font-size:.875rem;resize:vertical;min-height:100px}.reject-form textarea:focus{outline:none;border-color:var(--accent-600, #4f46e5);box-shadow:0 0 0 3px #4f46e51a}.success-content{text-align:center;padding:1rem 0}.success-icon{width:80px;height:80px;border-radius:50%;background:var(--success-bg, #f0fdf4);color:var(--success-text, #16a34a);display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.success-content h3{font-size:1.125rem;font-weight:600;color:var(--txt-primary, #1f2937);margin:0 0 .5rem}.success-content p{font-size:.875rem;color:var(--txt-secondary, #6b7280);margin:0 0 1.5rem;line-height:1.5}.verification-code{background:var(--bg-tertiary, #f3f4f6);border-radius:8px;padding:1rem;display:inline-block}.verification-code label{display:block;font-size:.6875rem;text-transform:uppercase;letter-spacing:.025em;color:var(--txt-tertiary, #9ca3af);margin-bottom:.375rem}.verification-code .code{font-family:monospace;font-size:1.125rem;font-weight:600;color:var(--txt-primary, #1f2937);letter-spacing:.05em}.btn-primary,.btn-secondary,.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-primary{background:var(--accent-600, #4f46e5);color:#fff}.btn-primary:hover{background:var(--accent-700, #4338ca)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:#fff;border:1px solid var(--brd-primary, #e5e7eb);color:var(--txt-secondary, #6b7280)}.btn-secondary:hover{background:var(--bg-secondary, #f9fafb);color:var(--txt-primary, #1f2937)}.btn-danger{background:var(--error-text, #dc2626);color:#fff}.btn-danger:hover{background:#b91c1c}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.spinner{animation:spin 1s linear infinite}@media (max-width: 480px){.firmas-header{flex-direction:column;gap:.75rem}.btn-refresh{width:100%;justify-content:center}.modal{max-height:100vh;border-radius:16px 16px 0 0;margin-top:auto}.channel-options{grid-template-columns:1fr}}.encuestas-page,.encuestas-page.employee{padding:24px;width:100%}.encuestas-loading,.encuestas-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;color:var(--muted);text-align:center}.encuestas-loading .spinner,.survey-loading .spinner{width:48px;height:48px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}.encuestas-error svg{color:var(--color-error-text, #ef4444);margin-bottom:16px}.encuestas-error h3{margin:0 0 8px;color:var(--sidebar-text)}.encuestas-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:16px;flex-wrap:wrap}.encuestas-header-left{display:flex;align-items:flex-start;gap:16px}.encuestas-icon{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-strong) 100%);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.encuestas-header h1{margin:0;font-size:24px;font-weight:700;color:var(--sidebar-text)}.encuestas-subtitle{margin:4px 0 0;font-size:14px;color:var(--muted)}.pending-badge{background:var(--primary);color:#fff;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:600}.pending-alert{display:flex;align-items:center;gap:10px;padding:14px 18px;background:var(--color-accent-50, rgba(79, 70, 229, .1));border:1px solid var(--primary);border-radius:12px;margin-bottom:20px;font-size:14px;color:var(--primary)}.pending-alert svg{flex-shrink:0;color:var(--primary)}.encuestas-filters{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap;align-items:center}.search-container{position:relative;flex:1;min-width:250px;max-width:400px}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted)}.search-input{width:100%;padding:3px 40px;border:1px solid var(--border);border-radius:20px;font-size:13px;background:var(--color-bg-primary, var(--panel, white));color:var(--sidebar-text);transition:all .2s ease}.search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--color-accent-50, rgba(79, 70, 229, .1))}.search-clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--muted);cursor:pointer;padding:4px;border-radius:4px}.search-clear:hover{background:var(--color-bg-tertiary, var(--bg))}.filter-chips{display:flex;gap:8px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 14px;background:var(--color-bg-primary, var(--panel, white));border:1px solid var(--border);border-radius:20px;font-size:13px;color:var(--muted);cursor:pointer;transition:all .2s ease}.chip:hover{border-color:var(--primary)}.chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.encuestas-list{display:flex;flex-direction:column;gap:12px}.encuestas-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;background:var(--color-bg-primary, var(--panel, white));border-radius:16px;border:1px solid var(--border);color:var(--muted);text-align:center}.encuestas-empty svg{opacity:.4;margin-bottom:16px}.encuestas-empty h3{margin:0 0 8px;color:var(--sidebar-text)}.encuestas-empty p{margin:0;max-width:300px}.encuesta-item{display:flex;align-items:center;gap:12px;width:100%;padding:16px 20px;background:var(--color-bg-primary, var(--panel, white));border:1px solid var(--border);border-radius:14px;text-align:left;cursor:pointer;transition:all .2s ease}.encuesta-item:hover:not(:disabled){border-color:var(--primary);box-shadow:0 4px 12px var(--color-accent-50, rgba(79, 70, 229, .1))}.encuesta-item:disabled{cursor:default;opacity:.7}.encuesta-item.pending{background:var(--color-accent-50, rgba(79, 70, 229, .05));border-left:4px solid var(--primary)}.encuesta-item.completed{background:var(--color-success-bg, rgba(16, 185, 129, .1));border-left:4px solid var(--success)}.encuesta-item-content{flex:1;min-width:0}.encuesta-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:12px;flex-wrap:wrap}.encuesta-badges{display:flex;gap:6px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:6px;font-size:11px;font-weight:600}.badge.pending{background:var(--color-accent-50, rgba(79, 70, 229, .1));color:var(--primary)}.badge.completed{background:var(--color-success-bg, rgba(16, 185, 129, .15));color:var(--color-success-text, var(--success))}.badge.anonymous{background:var(--color-bg-tertiary, var(--bg));color:var(--muted)}.badge.deadline{background:var(--color-warning-bg, rgba(245, 158, 11, .15));color:var(--color-warning-text, #d97706)}.encuesta-date{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--muted);white-space:nowrap}.encuesta-title{font-size:16px;font-weight:600;color:var(--sidebar-text);margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.encuesta-description{font-size:13px;color:var(--muted);margin:0 0 8px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.encuesta-meta{display:flex;gap:12px;font-size:12px;color:var(--muted)}.question-count{display:flex;align-items:center;gap:4px}.encuesta-arrow{flex-shrink:0;color:var(--muted);opacity:.5;transition:all .2s ease}.encuesta-item:hover:not(:disabled) .encuesta-arrow{opacity:1;transform:translate(4px)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:24px;z-index:1000;animation:fadeIn .2s ease}.modal{background:var(--color-bg-primary, var(--panel, white));border-radius:16px;width:100%;max-height:calc(100vh - 48px);display:flex;flex-direction:column;animation:slideUp .2s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-survey{max-width:600px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border);gap:16px}.modal-body{padding:24px;overflow-y:auto;flex:1}.modal-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 24px;border-top:1px solid var(--border)}.survey-loading,.survey-success{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;text-align:center}.survey-loading p,.survey-success p{margin:16px 0 0;color:var(--muted)}.survey-success h2{margin:20px 0 0;color:var(--sidebar-text)}.success-icon{color:var(--success)}.survey-header{background:var(--color-bg-tertiary, var(--bg))}.survey-header-info{flex:1;min-width:0}.survey-header-info h2{margin:0;font-size:18px;font-weight:600;color:var(--sidebar-text)}.anonymous-badge{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:4px 10px;background:var(--color-bg-primary, var(--panel, white));border:1px solid var(--border);border-radius:6px;font-size:12px;color:var(--muted)}.survey-progress{padding:16px 24px;background:var(--color-bg-primary, var(--panel, white));border-bottom:1px solid var(--border)}.progress-bar{height:6px;background:var(--border);border-radius:3px;overflow:hidden;margin-bottom:8px}.progress-fill{height:100%;background:var(--primary);border-radius:3px;transition:width .3s ease}.progress-text{font-size:13px;color:var(--muted)}.survey-body{padding:32px 24px}.survey-question{display:flex;flex-direction:column;gap:20px}.question-header{display:flex;align-items:flex-start;gap:16px}.question-number{flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600}.question-text{margin:0;font-size:18px;font-weight:600;color:var(--sidebar-text);line-height:1.4}.required{color:var(--color-error-text, #ef4444);margin-left:4px}.question-description{margin:0;font-size:14px;color:var(--muted);line-height:1.5}.question-input-wrapper{padding-left:52px}.question-input{width:100%;padding:14px 16px;border:1px solid var(--border);border-radius:10px;font-size:15px;background:var(--color-bg-primary, var(--panel, white));color:var(--sidebar-text);transition:all .2s ease}.question-input::-moz-placeholder{color:var(--muted)}.question-input::placeholder{color:var(--muted)}.question-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--color-accent-50, rgba(79, 70, 229, .1))}.question-input.date,.question-input.number{max-width:220px}.question-textarea{width:100%;padding:14px 16px;border:1px solid var(--border);border-radius:10px;font-size:15px;resize:vertical;min-height:100px;font-family:inherit;background:var(--color-bg-primary, var(--panel, white));color:var(--sidebar-text);transition:all .2s ease}.question-textarea::-moz-placeholder{color:var(--muted)}.question-textarea::placeholder{color:var(--muted)}.question-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--color-accent-50, rgba(79, 70, 229, .1))}.question-options{display:flex;flex-direction:column;gap:10px}.option-item{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--color-bg-tertiary, var(--bg));border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:all .2s ease}.option-item:hover{border-color:var(--primary);background:var(--color-accent-50, rgba(79, 70, 229, .05))}.option-item.selected{border-color:var(--primary);background:var(--color-accent-100, rgba(79, 70, 229, .15))}.option-item input{display:none}.option-radio,.option-checkbox{flex-shrink:0;width:20px;height:20px;border:2px solid var(--border);background:var(--color-bg-primary, var(--panel, white));transition:all .2s ease}.option-radio{border-radius:50%}.option-checkbox{border-radius:4px}.option-item.selected .option-radio{border-color:var(--primary);background:var(--primary);box-shadow:inset 0 0 0 4px var(--color-bg-primary, var(--panel, white))}.option-item.selected .option-checkbox{border-color:var(--primary);background:var(--primary);position:relative}.option-item.selected .option-checkbox:after{content:"";position:absolute;left:5px;top:2px;width:5px;height:9px;border:2px solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.option-text{font-size:15px;color:var(--sidebar-text)}.rating-input{display:flex;gap:8px}.rating-star{background:none;border:none;padding:4px;cursor:pointer;color:var(--border);transition:all .2s ease}.rating-star:hover,.rating-star.active{color:#fbbf24;transform:scale(1.1)}.linear-scale-input{display:flex;align-items:center;gap:16px}.scale-label{font-size:13px;color:var(--muted);white-space:nowrap}.scale-options{display:flex;gap:8px}.scale-option{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:2px solid var(--border);border-radius:10px;background:var(--color-bg-primary, var(--panel, white));cursor:pointer;transition:all .2s ease}.scale-option:hover{border-color:var(--primary)}.scale-option.selected{border-color:var(--primary);background:var(--primary)}.scale-option input{display:none}.scale-number{font-size:16px;font-weight:600;color:var(--sidebar-text)}.scale-option.selected .scale-number{color:#fff}.yesno-input{display:flex;gap:12px}.yesno-btn{flex:1;max-width:150px;padding:14px 24px;border:2px solid var(--border);border-radius:10px;background:var(--color-bg-primary, var(--panel, white));font-size:16px;font-weight:600;color:var(--sidebar-text);cursor:pointer;transition:all .2s ease}.yesno-btn:hover{border-color:var(--primary)}.yesno-btn.selected.yes{border-color:var(--success);background:var(--color-success-bg, rgba(16, 185, 129, .15));color:var(--color-success-text, var(--success))}.yesno-btn.selected.no{border-color:var(--color-error-border, #ef4444);background:var(--color-error-bg, rgba(239, 68, 68, .15));color:var(--color-error-text, #dc2626)}.survey-footer{background:var(--color-bg-tertiary, var(--bg))}.question-dots{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.dot{width:10px;height:10px;border-radius:50%;background:var(--border);border:none;cursor:pointer;transition:all .2s ease}.dot:hover{background:var(--muted)}.dot.active{background:var(--primary);transform:scale(1.2)}.dot.answered{background:var(--success)}.dot.active.answered{background:var(--primary)}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;border:none;transition:all .2s ease}.btn-primary:hover:not(:disabled){background:var(--primary-strong)}.btn-primary:disabled{background:var(--border);cursor:not-allowed}.btn-secondary{background:var(--color-bg-primary, var(--panel, white));color:var(--sidebar-text);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-tertiary, var(--bg))}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-success{background:var(--success);color:#fff}.btn-success:hover:not(:disabled){filter:brightness(1.1)}.btn-success:disabled{opacity:.5;cursor:not-allowed}.btn-icon{padding:8px;background:transparent;color:var(--muted);border:none}.btn-icon:hover{background:var(--color-bg-tertiary, var(--bg));color:var(--sidebar-text)}@media (max-width: 768px){.encuestas-page{padding:16px}.encuestas-header{flex-direction:column;align-items:stretch}.encuestas-filters{flex-direction:column}.search-container{max-width:none}.filter-chips{justify-content:center}.modal{max-height:100vh;border-radius:16px 16px 0 0;margin-top:auto}.modal-overlay{align-items:flex-end;padding:0}.question-input-wrapper{padding-left:0}.question-header{flex-direction:column;gap:12px}.linear-scale-input{flex-wrap:wrap}.scale-options{width:100%;justify-content:center}.scale-option{flex:1;min-width:36px;max-width:50px}.yesno-input{width:100%}.yesno-btn{max-width:none}.question-dots{display:none}.survey-footer{flex-wrap:wrap;gap:12px}.survey-footer .btn{flex:1;justify-content:center}}@media (max-width: 480px){.encuesta-item{padding:12px 16px}.encuesta-badges{flex-wrap:wrap}.badge{padding:2px 6px;font-size:10px}.encuesta-title{font-size:14px}.rating-star svg{width:28px;height:28px}}.tareas-page,.tareas-page.employee{padding:24px;width:100%}.tareas-loading,.tareas-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;color:var(--muted);text-align:center}.tareas-loading .spinner{width:48px;height:48px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}.tareas-error svg{color:var(--color-error-text, #ef4444);margin-bottom:16px}.tareas-error h3{margin:0 0 8px;color:var(--sidebar-text)}.tareas-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:16px;flex-wrap:wrap}.tareas-header-left{display:flex;align-items:flex-start;gap:16px}.tareas-icon{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-strong) 100%);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.tareas-header h1{margin:0;font-size:24px;font-weight:700;color:var(--sidebar-text)}.tareas-subtitle{margin:4px 0 0;font-size:14px;color:var(--muted)}.active-badge{background:#3b82f6;color:#fff;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:500}.tareas-header-actions{display:flex;align-items:center;gap:12px}.clock-out-button{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--color-error-bg, #fee2e2);color:var(--color-error-text, #dc2626);border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.clock-out-button:hover:not(:disabled){background:var(--color-error-text, #dc2626);color:#fff}.clock-out-button:disabled{opacity:.5;cursor:not-allowed}.pending-alert{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--color-warning-bg, #fef3c7);border:1px solid var(--color-warning-border, #fcd34d);border-radius:10px;margin-bottom:20px;color:var(--color-warning-text, #92400e);font-size:14px}.tareas-filters{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.search-container{display:flex;align-items:center;gap:10px;background:var(--panel, white);border:1px solid var(--border);border-radius:10px;padding:10px 14px;flex:1;min-width:200px;max-width:400px}.search-container svg{color:var(--muted)}.search-input{flex:1;border:none;background:transparent;font-size:14px;color:var(--sidebar-text);outline:none}.search-input::-moz-placeholder{color:var(--muted)}.search-input::placeholder{color:var(--muted)}.filter-tabs{display:flex;gap:8px;flex-wrap:wrap}.filter-tab{padding:8px 16px;border-radius:20px;border:1px solid var(--border);background:var(--panel);color:var(--muted);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.filter-tab:hover{border-color:var(--primary);color:var(--primary)}.filter-tab.active{background:var(--primary);border-color:var(--primary);color:#fff}.tareas-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;color:var(--muted);text-align:center}.tareas-empty svg{margin-bottom:16px;opacity:.5}.tareas-empty h3{margin:0 0 8px;color:var(--sidebar-text)}.tareas-list{display:flex;flex-direction:column;gap:24px}.project-group{background:var(--panel, white);border:1px solid var(--border);border-radius:12px;overflow:visible}.project-header{display:flex;align-items:center;gap:10px;padding:14px 16px;background:var(--bg);border-bottom:1px solid var(--border);font-weight:600;color:var(--sidebar-text)}.project-header .task-count{margin-left:auto;background:var(--border);color:var(--muted);padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500}.project-tasks{display:flex;flex-direction:column}.task-card{padding:16px;border-bottom:1px solid var(--border);position:relative;overflow:visible}.task-card:last-child{border-bottom:none}.task-main{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.task-info{flex:1;min-width:0}.task-title-row{display:flex;align-items:center;gap:10px;margin-bottom:4px}.task-title{margin:0;font-size:15px;font-weight:600;color:var(--sidebar-text)}.priority-badge{font-size:11px;font-weight:600;text-transform:uppercase}.task-description{margin:0 0 8px;font-size:13px;color:var(--muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.task-meta{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}.task-code{font-family:monospace;background:var(--bg-subtle);padding:2px 6px;border-radius:4px}.task-category{padding:2px 8px;background:#7c3aed26;color:var(--primary);border-radius:4px}.task-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.status-dropdown-container{position:relative}.status-button{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;border:1px solid;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.status-button:hover{opacity:.8}.status-dropdown{position:absolute;top:100%;right:0;margin-top:4px;background:var(--panel, white);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:140px;z-index:100;overflow:hidden}.status-option{display:block;width:100%;padding:10px 12px;border:none;border-left:4px solid transparent;background:transparent;text-align:left;font-size:13px;color:var(--sidebar-text);cursor:pointer;transition:all .2s}.status-option:hover:not(.active){background:var(--bg-subtle)}.status-option.active{font-weight:600}.clock-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:var(--primary);cursor:pointer;transition:all .2s}.clock-button:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.clock-button:disabled{opacity:.5;cursor:not-allowed}.detail-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:var(--muted);cursor:pointer;transition:all .2s}.detail-button:hover{background:var(--bg-subtle);color:var(--sidebar-text)}.task-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.task-modal{background:var(--panel, white);border-radius:16px;width:100%;max-width:500px;max-height:80vh;overflow-y:auto;box-shadow:0 20px 40px #0003}.task-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border)}.task-modal-title{display:flex;align-items:center;gap:12px}.task-color-dot{width:12px;height:12px;border-radius:50%}.task-modal-title h2{margin:0;font-size:18px;font-weight:600;color:var(--sidebar-text)}.close-button{width:32px;height:32px;border:none;background:var(--bg-subtle);border-radius:8px;font-size:20px;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center}.close-button:hover{background:var(--border);color:var(--sidebar-text)}.task-modal-content{padding:20px}.task-modal-section{margin-bottom:20px}.task-modal-section:last-child{margin-bottom:0}.task-modal-section label{display:block;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;margin-bottom:8px}.task-modal-section p{margin:0;font-size:14px;color:var(--sidebar-text);line-height:1.5}.status-chips{display:flex;flex-wrap:wrap;gap:8px}.status-chip{padding:6px 14px;border-radius:20px;border:2px solid;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.status-chip:hover{opacity:.8}.project-info{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--sidebar-text)}.clock-form{display:flex;flex-direction:column;gap:12px}.clock-form textarea{width:100%;padding:12px;border:1px solid var(--border);border-radius:8px;font-size:14px;resize:none;background:var(--panel);color:var(--sidebar-text)}.clock-form textarea:focus{outline:none;border-color:var(--primary)}.clock-submit{display:flex;align-items:center;justify-content:center;gap:8px}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;border:none;transition:all .2s}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-strong)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.spinner-small{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.events-loading{display:flex;align-items:center;gap:8px;padding:12px;color:var(--muted);font-size:13px}.task-events-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto}.task-event-item{padding:12px;background:var(--bg);border:1px solid var(--border);border-radius:8px}.event-header{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--sidebar-text);margin-bottom:4px}.event-header svg{color:var(--primary)}.event-date{font-weight:600}.event-time{color:var(--muted)}.event-duration{margin-left:auto;padding:2px 8px;background:var(--primary);color:#fff;border-radius:4px;font-size:11px;font-weight:600}.event-notes{margin-top:8px;padding:8px;background:var(--panel);border-left:3px solid var(--primary);border-radius:4px;font-size:13px;color:var(--muted);line-height:1.4}.no-events{margin:0;padding:12px;text-align:center;color:var(--muted);font-size:13px}.tarea-detail-page{padding:24px;width:100%;max-width:900px;margin:0 auto}.tarea-detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:16px}.tarea-detail-header .header-left{display:flex;align-items:center;gap:16px;flex:1;min-width:0}.tarea-detail-header .back-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;border:1px solid var(--border);background:var(--panel);color:var(--sidebar-text);cursor:pointer;transition:all .2s;flex-shrink:0}.tarea-detail-header .back-button:hover{background:var(--bg-subtle);border-color:var(--primary);color:var(--primary)}.tarea-detail-header .header-info{flex:1;min-width:0}.tarea-detail-header .header-title-row{display:flex;align-items:center;gap:12px}.tarea-detail-header .task-color-indicator{width:8px;height:24px;border-radius:4px;flex-shrink:0}.tarea-detail-header h1{margin:0;font-size:22px;font-weight:700;color:var(--sidebar-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tarea-detail-header .header-meta{display:flex;align-items:center;gap:12px;margin-top:6px;margin-left:20px}.task-code-badge{font-family:monospace;font-size:12px;background:var(--bg-subtle);color:var(--muted);padding:2px 8px;border-radius:4px}.priority-indicator{font-size:12px;font-weight:600}.tarea-detail-header .header-actions{display:flex;align-items:center;gap:8px}.tarea-detail-header .refresh-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;border:1px solid var(--border);background:var(--panel);color:var(--muted);cursor:pointer;transition:all .2s;flex-shrink:0}.tarea-detail-header .refresh-button:hover:not(:disabled){background:var(--bg-subtle);color:var(--primary)}.tarea-detail-header .refresh-button:disabled{opacity:.5;cursor:not-allowed}.clock-icon-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;border:2px solid;background:transparent;cursor:pointer;transition:all .2s;flex-shrink:0}.clock-icon-button.clock-in{border-color:#059669;color:#059669}.clock-icon-button.clock-in:hover:not(:disabled){background:#059669;color:#fff}.clock-icon-button.clock-out{border-color:#dc2626;color:#dc2626}.clock-icon-button.clock-out:hover:not(:disabled){background:#dc2626;color:#fff}.clock-icon-button:disabled{opacity:.5;cursor:not-allowed}.clock-icon-button.billable{border-color:#f59e0b;color:#f59e0b}.clock-icon-button.billable:hover:not(:disabled){background:#f59e0b;color:#fff}.error-alert{padding:12px 16px;background:var(--color-error-bg, #fee2e2);border:1px solid var(--color-error-border, #fecaca);border-radius:10px;color:var(--color-error-text, #dc2626);font-size:14px;margin-bottom:20px}.task-info-card{background:var(--panel, white);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:20px}.task-info-row{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:16px}.task-info-item{display:flex;flex-direction:column;gap:6px}.task-info-item label{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.project-badge{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--sidebar-text);font-weight:500}.category-badge{padding:4px 10px;background:#7c3aed26;color:var(--primary);border-radius:6px;font-size:13px;font-weight:500}.status-select-button{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:8px;border:2px solid;background:transparent;font-size:13px;font-weight:500;color:var(--sidebar-text);cursor:pointer;transition:all .2s}.status-select-button:hover{opacity:.8}.status-dot{width:8px;height:8px;border-radius:50%}.task-description-section{border-top:1px solid var(--border);padding-top:16px}.task-description-section label{display:block;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.task-description-content{font-size:14px;color:var(--sidebar-text);line-height:1.6}.task-description-content p{margin:0 0 8px}.task-description-content p:last-child{margin-bottom:0}.clock-section{background:var(--panel, white);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:20px}.clock-section-header{display:flex;align-items:center;gap:10px;margin-bottom:16px;color:var(--sidebar-text)}.clock-section-header h2{margin:0;font-size:16px;font-weight:600}.clock-form-container{display:flex;gap:12px;align-items:flex-start}.clock-notes-input{flex:1;padding:12px;border:1px solid var(--border);border-radius:8px;font-size:14px;resize:none;background:var(--bg);color:var(--sidebar-text);min-height:44px}.clock-notes-input:focus{outline:none;border-color:var(--primary)}.clock-submit-button{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.clock-submit-button:hover:not(:disabled){background:var(--primary-strong)}.clock-submit-button:disabled{opacity:.6;cursor:not-allowed}.events-section{background:var(--panel, white);border:1px solid var(--border);border-radius:12px;padding:20px}.events-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}.events-title{display:flex;align-items:center;gap:10px;color:var(--sidebar-text)}.events-title h2{margin:0;font-size:16px;font-weight:600}.total-time-badge{display:flex;align-items:center;gap:6px;padding:6px 14px;background:var(--primary);color:#fff;border-radius:20px;font-size:13px;font-weight:600}.events-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px;color:var(--muted)}.events-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px;text-align:center;color:var(--muted)}.events-empty svg{opacity:.4}.events-empty p{margin:0;font-size:15px;color:var(--sidebar-text)}.events-empty span{font-size:13px}.events-timeline{display:flex;flex-direction:column;gap:24px}.events-day-group{display:flex;flex-direction:column;gap:12px}.events-day-header{display:flex;align-items:center;gap:10px;padding-bottom:8px;border-bottom:1px solid var(--border);color:var(--sidebar-text)}.events-day-header svg{color:var(--primary)}.events-day-date{font-size:14px;font-weight:600;text-transform:capitalize}.events-day-total{margin-left:auto;padding:3px 10px;background:var(--bg-subtle);color:var(--primary);border-radius:12px;font-size:12px;font-weight:600}.events-day-list{display:flex;flex-direction:column;gap:10px;padding-left:8px}.event-card{display:flex;gap:16px;padding:14px;background:var(--bg);border:1px solid var(--border);border-radius:10px;transition:all .2s}.event-card:hover{border-color:var(--primary);box-shadow:0 2px 8px #0000000d}.event-time-column{display:flex;flex-direction:column;align-items:flex-end;gap:4px;min-width:70px;flex-shrink:0}.event-time-value{font-size:18px;font-weight:700;color:var(--sidebar-text);font-variant-numeric:tabular-nums}.event-duration-badge{padding:2px 8px;background:var(--primary);color:#fff;border-radius:4px;font-size:11px;font-weight:600}.event-content-column{flex:1;min-width:0;display:flex;align-items:center}.event-notes-text{margin:0;font-size:14px;color:var(--sidebar-text);line-height:1.5}.event-no-notes{margin:0;font-size:13px;color:var(--muted);font-style:italic}.tarea-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.tarea-stat-card{padding:16px;border-radius:12px;background:var(--bg-subtle, #f9fafb);border:1px solid var(--border)}.tarea-stat-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:13px;font-weight:500;color:var(--muted)}.tarea-stat-value{font-size:24px;font-weight:700;color:var(--sidebar-text)}.tarea-stat-card.blue{background:#3b82f61a;border-color:#3b82f633}.tarea-stat-card.blue .tarea-stat-header,.tarea-stat-card.blue .tarea-stat-value{color:#2563eb}.tarea-stat-card.purple{background:#9333ea1a;border-color:#9333ea33}.tarea-stat-card.purple .tarea-stat-header,.tarea-stat-card.purple .tarea-stat-value{color:#7c3aed}.tarea-stat-card.green{background:#10b9811a;border-color:#10b98133}.tarea-stat-card.green .tarea-stat-header,.tarea-stat-card.green .tarea-stat-value{color:#059669}.tarea-stat-card.orange{background:#f59e0b1a;border-color:#f59e0b33}.tarea-stat-card.orange .tarea-stat-header,.tarea-stat-card.orange .tarea-stat-value{color:#d97706}.clock-submit-button.clock-in{background:#059669}.clock-submit-button.clock-in:hover:not(:disabled){background:#047857}.clock-submit-button.clock-out{background:#dc2626}.clock-submit-button.clock-out:hover:not(:disabled){background:#b91c1c}@media (max-width: 768px){.tareas-page{padding:16px}.tareas-header{flex-direction:column;align-items:flex-start}.tareas-filters{flex-direction:column}.search-container{max-width:none}.task-main{flex-direction:column;gap:12px}.task-actions{width:100%;justify-content:flex-end}.tarea-detail-page{padding:16px}.tarea-detail-header h1{font-size:18px}.task-info-row{flex-direction:column;gap:16px}.clock-form-container{flex-direction:column}.clock-submit-button{width:100%}.event-card{flex-direction:column;gap:8px}.event-time-column{flex-direction:row;align-items:center;gap:10px;min-width:0}.tarea-stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.tarea-stat-card{padding:12px}.tarea-stat-value{font-size:20px}}.clock-button.clock-in{border-color:#059669;color:#059669}.clock-button.clock-in:hover{background:#059669;color:#fff;border-color:#059669}.clock-button.clock-out{border-color:#dc2626;color:#dc2626}.clock-button.clock-out:hover{background:#dc2626;color:#fff;border-color:#dc2626}.clock-button.billable{border-color:#f59e0b;color:#f59e0b}.clock-button.billable:hover{background:#f59e0b;color:#fff;border-color:#f59e0b}.clock-button-icon{position:relative;display:flex;align-items:center;justify-content:center}.billable-badge{position:absolute;bottom:-4px;right:-6px;background:currentColor;color:#fff;border-radius:50%;padding:1px}.clock-button.billable:hover .billable-badge{background:#fff;color:#f59e0b}.billable-indicator{display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;margin-left:8px}.billable-indicator.billable{background:#fef3c7;color:#d97706}.billable-indicator.mixed{background:#e0e7ff;color:#4f46e5}.time-summary-section{background:var(--panel, white);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:20px}.time-summary-header{display:flex;align-items:center;gap:10px;margin-bottom:16px;color:var(--sidebar-text)}.time-summary-header h2{margin:0;font-size:16px;font-weight:600}.period-navigator{display:flex;align-items:center;gap:16px;margin-bottom:16px;flex-wrap:wrap}.period-dropdown-container{position:relative}.period-dropdown-button{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:var(--sidebar-text);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;min-width:100px}.period-dropdown-button:hover{border-color:var(--primary)}.period-dropdown-button svg{transition:transform .2s;color:var(--muted)}.period-dropdown-button svg.rotated{transform:rotate(180deg)}.period-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;min-width:120px;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:100;overflow:hidden}.period-dropdown-menu button{display:block;width:100%;padding:10px 14px;border:none;background:transparent;color:var(--sidebar-text);font-size:14px;text-align:left;cursor:pointer;transition:background .15s}.period-dropdown-menu button:hover{background:var(--bg)}.period-dropdown-menu button.active{background:#7c3aed26;color:var(--primary);font-weight:500}.period-nav-arrows{display:flex;align-items:center;gap:8px}.period-nav-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:var(--sidebar-text);cursor:pointer;transition:all .2s}.period-nav-button:hover{background:var(--primary);border-color:var(--primary);color:#fff}.period-current-label{font-size:14px;font-weight:500;color:var(--sidebar-text);min-width:140px;text-align:center;text-transform:capitalize}.period-range-container{display:flex;gap:16px;margin-bottom:16px;flex-wrap:wrap}.period-range-field{display:flex;flex-direction:column;gap:4px}.period-range-field label{font-size:12px;font-weight:500;color:var(--muted)}.period-tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.period-tab{padding:8px 16px;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:var(--muted);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.period-tab:hover{border-color:var(--primary);color:var(--primary)}.period-tab.active{background:var(--primary);border-color:var(--primary);color:#fff}.day-picker-container{display:flex;align-items:center;gap:12px;margin-bottom:16px;color:var(--muted)}.day-picker-input{padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--sidebar-text);font-size:14px}.day-picker-input:focus{outline:none;border-color:var(--primary)}.time-summary-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:24px;color:var(--muted)}.time-summary-list{display:flex;flex-direction:column;gap:8px}.time-summary-day{display:flex;align-items:center;padding:12px 16px;background:var(--bg);border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:all .2s}.time-summary-day:hover{border-color:var(--primary)}.time-summary-day.expanded{border-color:var(--primary);background:#7c3aed26;border-bottom-left-radius:0;border-bottom-right-radius:0}.day-date{flex:1;font-size:14px;font-weight:500;color:var(--sidebar-text);text-transform:capitalize}.day-time{font-size:14px;font-weight:600;color:var(--primary);margin-right:8px}.day-expand-icon{color:var(--muted);transition:transform .2s}.day-events-container{padding:12px 16px;border:1px solid var(--primary);border-top:none;border-radius:0 0 10px 10px;background:var(--bg);margin-bottom:8px}.day-events-loading{display:flex;align-items:center;gap:8px;padding:8px;color:var(--muted);font-size:13px}.day-event-item{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px dashed var(--border)}.day-event-item:last-child{border-bottom:none}.day-event-time{font-size:14px;font-weight:600;color:var(--sidebar-text);min-width:50px}.day-event-duration{padding:2px 8px;background:var(--primary);color:#fff;border-radius:4px;font-size:11px;font-weight:600}.day-event-notes{flex:1;font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-events-empty{padding:8px;color:var(--muted);font-size:13px;text-align:center;margin:0}.time-summary-total{display:flex;flex-direction:column;gap:8px;padding:12px 16px;margin-top:8px;background:#7c3aed26;border-radius:8px;font-size:14px;color:var(--sidebar-text)}.time-summary-total-row{display:flex;justify-content:space-between;align-items:center}.time-summary-total strong{color:var(--primary);font-size:16px}.time-summary-breakdown{display:flex;gap:16px;font-size:12px;padding-top:4px;border-top:1px solid rgba(124,58,237,.2)}.time-summary-breakdown .breakdown-item{display:flex;align-items:center;gap:4px}.time-summary-breakdown .breakdown-item.billable{color:#f59e0b}.time-summary-breakdown .breakdown-item.non-billable{color:var(--muted)}.billable-filter-container{display:flex;gap:4px;background:var(--bg-subtle);border-radius:8px;padding:4px}.billable-filter-button{display:flex;align-items:center;gap:4px;padding:6px 12px;border:none;background:transparent;border-radius:6px;font-size:12px;color:var(--muted);cursor:pointer;transition:all .2s}.billable-filter-button:hover{color:var(--sidebar-text);background:var(--panel)}.billable-filter-button.active{background:var(--primary);color:#fff}.billable-filter-button.active svg{color:#fff}.fichajes-cell-billable-header{width:40px;text-align:center;color:#f59e0b}.fichajes-cell-billable{width:40px;text-align:center}.fichajes-cell-billable .billable-icon{color:#f59e0b}.time-summary-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;color:var(--muted);text-align:center}.time-summary-empty p{margin:8px 0 0;font-size:14px}@media (max-width: 768px){.period-navigator{flex-direction:column;align-items:stretch;gap:12px}.period-dropdown-button{width:100%;justify-content:space-between}.period-nav-arrows{justify-content:center}.period-current-label{min-width:120px;font-size:13px}.period-range-container{flex-direction:column;gap:12px}.period-range-field,.period-range-field input{width:100%}.period-tabs{flex-wrap:wrap}.period-tab{flex:1;min-width:70px;text-align:center;padding:8px 12px}.time-summary-day{padding:10px 12px}.day-date{font-size:13px}.day-events-container{padding:10px 12px}.day-event-item{flex-wrap:wrap;gap:8px}.day-event-notes{width:100%;flex:unset}}.tarea-detail-header .fichajes-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:var(--muted);cursor:pointer;transition:all .2s;flex-shrink:0}.tarea-detail-header .fichajes-button:hover{background:var(--bg-subtle);color:var(--primary);border-color:var(--primary)}.fichajes-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.fichajes-modal{background:var(--panel);border-radius:16px;width:100%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}.fichajes-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.fichajes-modal-title{display:flex;align-items:center;gap:10px;color:var(--sidebar-text)}.fichajes-modal-title h2{margin:0;font-size:18px;font-weight:600}.fichajes-modal-title svg{color:var(--primary)}.fichajes-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:none;background:transparent;color:var(--muted);cursor:pointer;transition:all .2s}.fichajes-modal-close:hover{background:var(--bg-subtle);color:var(--sidebar-text)}.fichajes-period-navigator{display:flex;align-items:center;gap:16px;padding:16px 20px;border-bottom:1px solid var(--border);flex-wrap:wrap}.fichajes-modal-content{flex:1;overflow-y:auto;padding:16px 20px}.fichajes-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:var(--muted);gap:12px}.fichajes-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:var(--muted);text-align:center}.fichajes-empty p{margin:8px 0 0;font-size:14px}.fichajes-list{display:flex;flex-direction:column;gap:16px}.fichajes-table-container{display:flex;flex-direction:column;gap:12px}.fichajes-table{width:100%;border-collapse:collapse;font-size:13px}.fichajes-table thead{background:#7c3aed1a}.fichajes-table th{padding:10px 12px;text-align:left;font-weight:600;color:var(--sidebar-text);font-size:12px;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border)}.fichajes-table th:last-child,.fichajes-table td:last-child{text-align:right}.fichajes-table th:nth-child(5),.fichajes-table td:nth-child(5){text-align:right}.fichajes-table tbody tr{border-bottom:1px solid var(--border);transition:background .15s}.fichajes-table tbody tr:hover{background:var(--bg-subtle)}.fichajes-table tbody tr:last-child{border-bottom:none}.fichajes-table td{padding:10px 12px;color:var(--sidebar-text)}.fichajes-cell-date{font-weight:500;white-space:nowrap}.fichajes-cell-time{font-family:SF Mono,Monaco,Inconsolata,Fira Mono,monospace;font-weight:500;white-space:nowrap}.fichajes-cell-task{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fichajes-cell-duration{font-weight:600;color:var(--primary);white-space:nowrap}.fichajes-cell-accumulated{font-weight:500;color:var(--muted);white-space:nowrap}.fichajes-table .en-curso{color:var(--color-warning-text, #f59e0b);font-style:italic;font-size:12px}.fichajes-total{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#7c3aed26;border-radius:10px;font-size:15px;color:var(--sidebar-text);margin-top:8px}.fichajes-total strong{color:var(--primary);font-size:16px}@media (max-width: 600px){.fichajes-modal{max-height:90vh}.fichajes-period-navigator{flex-direction:column;align-items:stretch;gap:12px}.fichajes-event-row{flex-wrap:wrap;gap:8px}.fichajes-event-accumulated{margin-left:0;width:100%;text-align:right}}.saldos-page{padding:24px}.saldos-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.saldos-header h1{margin:0;font-size:24px;font-weight:600;color:var(--color-text-primary, #1f2937)}.saldos-header .subtitle{margin:4px 0 0;font-size:14px;color:var(--color-text-secondary, #6b7280)}.header-actions{display:flex;align-items:center;gap:12px}.year-badge{padding:6px 12px;background:var(--color-accent-100, #e0e7ff);color:var(--color-accent-600, #4f46e5);border-radius:20px;font-size:14px;font-weight:500}.refresh-button{padding:8px;border:1px solid var(--color-border-primary, #e5e7eb);border-radius:8px;background:var(--color-bg-primary, white);cursor:pointer;color:var(--color-text-secondary, #6b7280);transition:all .2s}.refresh-button:hover{background:var(--color-bg-tertiary, #f3f4f6);color:var(--color-text-primary, #374151)}.saldos-loading,.saldos-error,.saldos-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;text-align:center;color:var(--color-text-secondary, #6b7280)}.saldos-error{color:#dc2626}.retry-button{margin-top:16px;padding:8px 16px;background:#4f46e5;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px}.retry-button:hover{background:#4338ca}.saldos-empty{background:var(--color-bg-secondary, #f9fafb);border-radius:12px}.saldos-empty .hint{font-size:13px;margin-top:8px}.saldos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.balance-card{background:var(--color-bg-primary, white);border-radius:12px;padding:16px;box-shadow:0 1px 3px #0000001a;border-left:4px solid var(--color-border-primary, #e5e7eb);transition:all .2s}.balance-card:hover{box-shadow:0 4px 12px #0000001a}.balance-card.good{border-left-color:#10b981}.balance-card.warning{border-left-color:#f59e0b}.balance-card.low{border-left-color:#ef4444}.balance-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.balance-header h3{margin:0;font-size:14px;font-weight:600;color:var(--color-text-primary, #1f2937)}.detail-button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--color-text-secondary, #9ca3af);border-radius:6px;cursor:pointer;transition:background .15s ease,color .15s ease}.detail-button:hover{background:var(--color-bg-tertiary, #e5e7eb);color:var(--color-text-primary, #1f2937)}.available-text{display:block;font-size:13px;font-weight:500;margin-bottom:12px}.available-text.good{color:#059669}.available-text.warning{color:#d97706}.available-text.low{color:#dc2626}.available-text.neutral{color:var(--color-text-secondary, #6b7280)}.balance-progress{margin-bottom:12px}.progress-bar{position:relative;height:6px;background:var(--color-border-primary, #e5e7eb);border-radius:4px;overflow:hidden}.progress-fill{position:absolute;top:0;height:100%;border-radius:4px;transition:width .3s ease}.progress-fill.used{background:#ef4444;left:0}.progress-fill.pending{background:#f59e0b}.progress-labels{display:flex;justify-content:space-between;margin-top:4px;font-size:10px;color:var(--color-text-tertiary, #9ca3af)}.balance-details{display:flex;flex-direction:column;gap:6px}.detail-row{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px}.detail-row .label{display:flex;align-items:center;gap:4px;color:var(--color-text-secondary, #6b7280)}.detail-row .value{font-weight:500;color:var(--color-text-primary, #1f2937)}.detail-row .value.negative{color:#dc2626}.detail-row .value.warning{color:#d97706}.detail-row .value.good{color:#059669}.detail-row .value.low{color:#dc2626}.detail-row.total{margin-top:6px;padding-top:8px;border-top:1px solid var(--color-border-primary, #e5e7eb)}.detail-row.total .label{font-weight:600;color:var(--color-text-primary, #374151)}.detail-row.total .value{font-size:16px;font-weight:700}.saldos-footer{margin-top:24px;padding:16px;background:var(--color-bg-secondary, #f9fafb);border-radius:8px;text-align:center}.saldos-footer p{margin:0;font-size:13px;color:var(--color-text-secondary, #6b7280)}.balance-card.clickable{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.balance-card.clickable:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}@media (max-width: 640px){.saldos-page{padding:16px}.saldos-header{flex-direction:column;gap:12px}.header-actions{width:100%;justify-content:space-between}.saldos-grid{grid-template-columns:1fr}}.balance-detail-page{padding:24px;max-width:1200px;margin:0 auto}.balance-detail-loading,.balance-detail-error,.balance-detail-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:48px;text-align:center;color:var(--color-text-secondary, #6b7280)}.balance-detail-error{color:var(--color-error, #dc2626)}.balance-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.balance-detail-header .header-left{display:flex;align-items:center;gap:16px}.balance-detail-header .back-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:var(--color-bg-secondary, #f3f4f6);border-radius:10px;color:var(--color-text-secondary, #6b7280);cursor:pointer;transition:background .15s ease,color .15s ease}.balance-detail-header .back-button:hover{background:var(--color-bg-tertiary, #e5e7eb);color:var(--color-text-primary, #1f2937)}.balance-detail-header .header-info h1{margin:0;font-size:24px;font-weight:700;color:var(--color-text-primary, #1f2937)}.balance-detail-header .header-meta{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:14px;color:var(--color-text-secondary, #6b7280)}.balance-detail-header .refresh-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--color-border-primary, #e5e7eb);background:var(--color-bg-primary, #ffffff);border-radius:10px;color:var(--color-text-secondary, #6b7280);cursor:pointer;transition:background .15s ease,border-color .15s ease}.balance-detail-header .refresh-button:hover{background:var(--color-bg-secondary, #f3f4f6);border-color:var(--color-border-secondary, #d1d5db)}.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:24px}.stat-card{padding:16px;border-radius:12px;background:var(--color-bg-secondary, #f9fafb)}.stat-card-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:13px;color:var(--color-text-secondary, #6b7280)}.stat-card-value{font-size:24px;font-weight:700;color:var(--color-text-primary, #1f2937)}.stat-card.purple{background:#9333ea1a}.stat-card.purple .stat-card-header,.stat-card.purple .stat-card-value{color:#7c3aed}.stat-card.blue{background:#3b82f61a}.stat-card.blue .stat-card-header,.stat-card.blue .stat-card-value{color:#2563eb}.stat-card.indigo{background:#6366f11a}.stat-card.indigo .stat-card-header,.stat-card.indigo .stat-card-value{color:#4f46e5}.stat-card.red{background:#ef44441a}.stat-card.red .stat-card-header,.stat-card.red .stat-card-value{color:#dc2626}.stat-card.yellow{background:#f59e0b1a}.stat-card.yellow .stat-card-header,.stat-card.yellow .stat-card-value{color:#d97706}.stat-card.green{background:#10b9811a}.stat-card.green .stat-card-header,.stat-card.green .stat-card-value{color:#059669}.movements-section{background:var(--color-bg-primary, #ffffff);border-radius:12px;border:1px solid var(--color-border-primary, #e5e7eb);overflow:hidden}.movements-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--color-border-primary, #e5e7eb)}.movements-header h2{margin:0;font-size:16px;font-weight:600;color:var(--color-text-primary, #1f2937)}.movements-count{font-size:13px;color:var(--color-text-secondary, #6b7280)}.movements-loading{display:flex;align-items:center;justify-content:center;padding:48px}.movements-empty{padding:48px;text-align:center;color:var(--color-text-secondary, #6b7280)}.movements-table-container{overflow-x:auto}.movements-table{width:100%;border-collapse:collapse}.movements-table thead{background:var(--color-bg-secondary, #f9fafb)}.movements-table th{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;color:var(--color-text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.5px}.movements-table th:nth-child(4),.movements-table th:nth-child(6){text-align:right}.movements-table tbody tr{border-bottom:1px solid var(--color-border-primary, #e5e7eb);transition:background .15s ease}.movements-table tbody tr:hover{background:var(--color-bg-secondary, #f9fafb)}.movements-table td{padding:12px 16px;font-size:14px;color:var(--color-text-primary, #1f2937)}.movements-table .origin-cell{color:var(--color-text-secondary, #6b7280)}.movements-table .amount-cell{text-align:right;font-weight:500}.movements-table .amount-cell.positive{color:#059669}.movements-table .amount-cell.negative{color:#dc2626}.movements-table .description-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-secondary, #6b7280)}.movements-table .balance-cell{text-align:right;color:var(--color-text-tertiary, #9ca3af)}.movement-type-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500}.movement-type-badge.type-credit{background:#10b9811a;color:#059669}.movement-type-badge.type-debit{background:#ef44441a;color:#dc2626}.movement-type-badge.type-adjustment{background:#3b82f61a;color:#2563eb}.movement-type-badge.type-initial{background:#9333ea1a;color:#7c3aed}.movement-type-badge.type-expiration{background:#f59e0b1a;color:#d97706}.movements-pagination{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-top:1px solid var(--color-border-primary, #e5e7eb)}.pagination-info{font-size:13px;color:var(--color-text-secondary, #6b7280)}.pagination-controls{display:flex;align-items:center;gap:8px}.pagination-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--color-border-primary, #e5e7eb);background:var(--color-bg-primary, #ffffff);border-radius:6px;color:var(--color-text-secondary, #6b7280);cursor:pointer;transition:background .15s ease,border-color .15s ease}.pagination-btn:hover:not(:disabled){background:var(--color-bg-secondary, #f3f4f6);border-color:var(--color-border-secondary, #d1d5db)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-current{font-size:13px;color:var(--color-text-primary, #1f2937);padding:0 8px}@media (max-width: 1024px){.stats-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 640px){.balance-detail-page{padding:16px}.balance-detail-header{flex-direction:column;align-items:flex-start;gap:16px}.balance-detail-header .refresh-button{position:absolute;top:16px;right:16px}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-card-value{font-size:20px}.movements-table th,.movements-table td{padding:10px 12px;font-size:13px}.movements-pagination{flex-direction:column;gap:12px}}.hrtickets-container{padding:20px;width:100%}.hrtickets-detail-container{display:flex;flex-direction:column;height:calc(100vh - 80px);max-height:calc(100vh - 80px)}.hrtickets-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:16px;flex-wrap:wrap}.hrtickets-title{font-size:1.5rem;font-weight:600;color:var(--color-text-primary);margin:0}.hrtickets-subtitle{font-size:.875rem;color:var(--color-text-secondary);margin:4px 0 0}.hrtickets-back-header{display:flex;align-items:center;gap:16px;margin-bottom:20px}.hrtickets-btn-back{display:flex;align-items:center;gap:6px;padding:8px 12px;background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;border-radius:8px;transition:all .2s}.hrtickets-btn-back:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.hrtickets-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;border:none;transition:all .2s}.hrtickets-btn-primary{background:var(--color-accent-600);color:#fff}.hrtickets-btn-primary:hover:not(:disabled){background:var(--color-accent-700)}.hrtickets-btn-primary:disabled{opacity:.6;cursor:not-allowed}.hrtickets-btn-secondary{background:var(--color-bg-secondary);color:var(--color-text-primary)}.hrtickets-btn-secondary:hover:not(:disabled){background:var(--color-bg-tertiary)}.hrtickets-loading,.hrtickets-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:var(--color-text-secondary)}.hrtickets-loading svg,.hrtickets-empty svg{margin-bottom:16px;opacity:.5}.hrtickets-empty h3{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:0 0 8px}.hrtickets-empty p{margin:0 0 20px}.hrtickets-error{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:8px;color:var(--color-error-text);margin-bottom:16px;font-size:.875rem}.hrtickets-list{display:flex;flex-direction:column;gap:12px}.hrtickets-card{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:12px;padding:16px;cursor:pointer;transition:all .2s}.hrtickets-card:hover{border-color:var(--color-accent-400);box-shadow:var(--shadow-elevation-1)}.hrtickets-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.hrtickets-code{font-size:.75rem;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em}.hrtickets-card-subject{font-size:1rem;font-weight:500;color:var(--color-text-primary);margin:0 0 12px;line-height:1.4}.hrtickets-card-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:.75rem}.hrtickets-status{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:12px;font-size:.75rem;font-weight:500}.status-pending{background:var(--color-warning-bg);color:var(--color-warning-text)}.status-inprogress{background:var(--color-info-bg);color:var(--color-info-text)}.status-resolved{background:var(--color-success-bg);color:var(--color-success-text)}.status-closed{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.hrtickets-category{padding:4px 8px;background:var(--color-bg-secondary);border-radius:6px;color:var(--color-text-secondary)}.hrtickets-priority{padding:4px 8px;border-radius:6px;font-weight:500}.priority-low{background:var(--color-info-bg);color:var(--color-info-text)}.priority-medium{background:var(--color-warning-bg);color:var(--color-warning-text)}.priority-high{background:var(--color-error-bg);color:var(--color-error-text)}.hrtickets-date{color:var(--color-text-tertiary)}.hrtickets-messages{display:flex;align-items:center;gap:4px;color:var(--color-text-tertiary)}.hrtickets-form{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:12px;padding:24px}.hrtickets-form-group{margin-bottom:20px}.hrtickets-form-group label{display:block;font-size:.875rem;font-weight:500;color:var(--color-text-primary);margin-bottom:8px}.hrtickets-form-group input,.hrtickets-form-group textarea{width:100%;padding:10px 12px;border:1px solid var(--color-border-secondary);border-radius:8px;font-size:.875rem;background:var(--color-input-bg);color:var(--color-text-primary);transition:border-color .2s}.hrtickets-form-group select{width:100%;padding:10px 36px 10px 12px;border:1px solid var(--color-border-secondary);border-radius:8px;font-size:.875rem;background:var(--color-input-bg);color:var(--color-text-primary);transition:border-color .2s;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}.hrtickets-form-group input:focus,.hrtickets-form-group select:focus,.hrtickets-form-group textarea:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-accent-100)}.hrtickets-form-group input::-moz-placeholder,.hrtickets-form-group textarea::-moz-placeholder{color:var(--color-input-placeholder)}.hrtickets-form-group input::placeholder,.hrtickets-form-group textarea::placeholder{color:var(--color-input-placeholder)}.hrtickets-form-group textarea{resize:vertical;min-height:120px}.hrtickets-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.hrtickets-form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--color-border-primary)}.hrtickets-detail-header{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:12px;padding:20px;margin-bottom:16px}.hrtickets-detail-info{display:flex;align-items:center;gap:12px;margin-bottom:12px}.hrtickets-detail-subject{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin:0 0 12px}.hrtickets-detail-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:.8125rem}.hrtickets-messages-container{flex:1;display:flex;flex-direction:column;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:12px;overflow:hidden;min-height:0}.hrtickets-messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px}.hrtickets-message{max-width:85%;padding:12px 16px;border-radius:12px}.hrtickets-message-employee{align-self:flex-end;background:var(--color-accent-100);border-bottom-right-radius:4px}.hrtickets-message-hr{align-self:flex-start;background:var(--color-bg-secondary);border-bottom-left-radius:4px}.hrtickets-message-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:6px}.hrtickets-message-sender{font-size:.75rem;font-weight:600;color:var(--color-text-secondary)}.hrtickets-message-hr .hrtickets-message-sender{color:var(--color-accent-500)}.hrtickets-message-time{font-size:.6875rem;color:var(--color-text-tertiary)}.hrtickets-message-content{font-size:.875rem;color:var(--color-text-primary);line-height:1.5;white-space:pre-wrap;word-break:break-word}.hrtickets-reply-box{display:flex;gap:12px;padding:16px;border-top:1px solid var(--color-border-primary);background:var(--color-bg-secondary)}.hrtickets-reply-box textarea{flex:1;padding:10px 12px;border:1px solid var(--color-border-secondary);border-radius:8px;font-size:.875rem;background:var(--color-input-bg);color:var(--color-text-primary);resize:none;min-height:60px}.hrtickets-reply-box textarea::-moz-placeholder{color:var(--color-input-placeholder)}.hrtickets-reply-box textarea::placeholder{color:var(--color-input-placeholder)}.hrtickets-reply-box textarea:focus{outline:none;border-color:var(--color-border-focus)}.hrtickets-reply-box .hrtickets-btn{align-self:flex-end;padding:10px 16px}.hrtickets-closed-notice{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;background:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:.875rem;border-top:1px solid var(--color-border-primary)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 640px){.hrtickets-container{padding:16px}.hrtickets-header{flex-direction:column;align-items:stretch}.hrtickets-form-row{grid-template-columns:1fr}.hrtickets-form-actions{flex-direction:column}.hrtickets-form-actions .hrtickets-btn{width:100%;justify-content:center}.hrtickets-message{max-width:95%}}:root{--color-bg-primary: #ffffff;--color-bg-secondary: #f9fafb;--color-bg-tertiary: #f3f4f6;--color-bg-inverse: #111827;--color-text-primary: #111827;--color-text-secondary: #4b5563;--color-text-tertiary: #9ca3af;--color-text-inverse: #ffffff;--color-border-primary: #e5e7eb;--color-border-secondary: #d1d5db;--color-border-focus: #4f46e5;--color-accent-50: #eef2ff;--color-accent-100: #e0e7ff;--color-accent-200: #c7d2fe;--color-accent-300: #a5b4fc;--color-accent-400: #818cf8;--color-accent-500: #6366f1;--color-accent-600: #4f46e5;--color-accent-700: #4338ca;--color-accent-800: #3730a3;--color-accent-900: #312e81;--color-accent-soft-bg: rgba(79, 70, 229, .1);--color-accent-soft-bg-hover: rgba(79, 70, 229, .2);--color-accent-soft-text: #4f46e5;--color-secondary-500: #10b981;--color-secondary-600: #059669;--color-secondary-700: #047857;--color-success-bg: #ecfdf5;--color-success-text: #065f46;--color-success-border: #10b981;--color-success: #10b981;--color-warning-bg: #fffbeb;--color-warning-text: #92400e;--color-warning-border: #f59e0b;--color-warning: #f59e0b;--color-warning-light: #fcd34d;--color-error-bg: #fef2f2;--color-error-text: #991b1b;--color-error-border: #ef4444;--color-error: #ef4444;--color-error-light: #fecaca;--color-error-dark: #b91c1c;--color-info-bg: #eff6ff;--color-info-text: #1e40af;--color-info-border: #3b82f6;--color-info: #3b82f6;--color-surface-elevated: #ffffff;--shadow-elevation-1: 0 1px 3px rgba(0, 0, 0, .1);--shadow-elevation-2: 0 4px 6px rgba(0, 0, 0, .1);--shadow-elevation-3: 0 10px 15px rgba(0, 0, 0, .1);--color-sidebar-bg: #ffffff;--color-sidebar-text: #374151;--color-sidebar-hover: #f3f4f6;--color-sidebar-active: #eef2ff;--color-sidebar-active-text: #4f46e5;--color-sidebar-border: #e5e7eb;--color-header-bg: #ffffff;--color-header-border: #e5e7eb;--color-scrollbar-thumb: #9ca3af;--color-scrollbar-thumb-hover: #6b7280;--color-scrollbar-track: transparent;--color-input-bg: #ffffff;--color-input-text: #111827;--color-input-placeholder: #9ca3af;--bg: #F3F4F6;--panel: #ffffff;--primary: #4F46E5;--primary-strong: #4338CA;--muted: #5b6478;--border: #dfe5f2;--accent: #ffb347;--success: #0f9d58;--radius: 18px;--sidebar: 280px;--sidebar-collapsed: 84px;--sidebar-text: #1d2433;--sidebar-muted: #6a7690}[data-theme=dark]{color-scheme:dark;--color-bg-primary: #1e293b;--color-bg-secondary: #0f172a;--color-bg-tertiary: #273549;--color-bg-inverse: #f1f5f9;--color-text-primary: #f1f5f9;--color-text-secondary: #94a3b8;--color-text-tertiary: #64748b;--color-text-inverse: #0f172a;--color-border-primary: #293548;--color-border-secondary: #334155;--color-border-focus: #818cf8;--color-accent-50: rgba(99, 102, 241, .08);--color-accent-100: rgba(99, 102, 241, .15);--color-accent-200: rgba(99, 102, 241, .25);--color-accent-300: #6366f1;--color-accent-400: #818cf8;--color-accent-500: #a5b4fc;--color-accent-600: #6366f1;--color-accent-700: #4f46e5;--color-accent-800: #c7d2fe;--color-accent-900: #e0e7ff;--color-accent-soft-bg: rgba(129, 140, 248, .2);--color-accent-soft-bg-hover: rgba(129, 140, 248, .3);--color-accent-soft-text: #a5b4fc;--color-secondary-500: #34d399;--color-secondary-600: #10b981;--color-secondary-700: #059669;--color-success-bg: #064e3b;--color-success-text: #6ee7b7;--color-success-border: #10b981;--color-success: #10b981;--color-warning-bg: #78350f;--color-warning-text: #fcd34d;--color-warning-border: #f59e0b;--color-warning: #f59e0b;--color-warning-light: #fcd34d;--color-error-bg: #7f1d1d;--color-error-text: #fca5a5;--color-error-border: #ef4444;--color-error: #ef4444;--color-error-light: #fca5a5;--color-error-dark: #dc2626;--color-info-bg: #1e3a8a;--color-info-text: #93c5fd;--color-info-border: #3b82f6;--color-info: #3b82f6;--color-surface-elevated: #1e293b;--shadow-elevation-1: 0 1px 3px rgba(0, 0, 0, .3);--shadow-elevation-2: 0 4px 6px rgba(0, 0, 0, .3);--shadow-elevation-3: 0 10px 15px rgba(0, 0, 0, .4);--color-sidebar-bg: #1e293b;--color-sidebar-text: #cbd5e1;--color-sidebar-hover: #334155;--color-sidebar-active: #312e81;--color-sidebar-active-text: #a5b4fc;--color-sidebar-border: #334155;--color-header-bg: #1e293b;--color-header-border: #334155;--color-scrollbar-thumb: #475569;--color-scrollbar-thumb-hover: #64748b;--color-scrollbar-track: transparent;--color-input-bg: #273549;--color-input-text: #f1f5f9;--color-input-placeholder: #64748b;--bg: #0f172a;--panel: #1e293b;--primary: #4f46e5;--primary-strong: #6366f1;--muted: #94a3b8;--border: #334155;--accent: #fbbf24;--success: #34d399;--sidebar-text: #f1f5f9;--sidebar-muted: #94a3b8}[data-theme=dark] *::-webkit-scrollbar{width:8px;height:8px}[data-theme=dark] *::-webkit-scrollbar-track{background:transparent}[data-theme=dark] *::-webkit-scrollbar-thumb{background-color:#475569;border-radius:4px}[data-theme=dark] *::-webkit-scrollbar-thumb:hover{background-color:#64748b}[data-theme=dark] .text-accent-600{color:#a5b4fc!important}[data-theme=dark] .text-accent-700{color:#c7d2fe!important}[data-theme=dark] .text-accent-800{color:#e0e7ff!important}[data-theme=dark] .bg-accent-600{background-color:#6366f1!important}[data-theme=dark] .bg-accent-700,[data-theme=dark] .hover\:bg-accent-700:hover{background-color:#4f46e5!important}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}body{background-color:var(--color-bg-secondary);font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .2s ease,color .2s ease}input,textarea,select{border-color:var(--color-border-primary);color:var(--color-text-primary);background-color:var(--color-input-bg)}input::-moz-placeholder,textarea::-moz-placeholder{color:var(--color-text-tertiary)}input::placeholder,textarea::placeholder{color:var(--color-text-tertiary)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-repeat:no-repeat;padding-right:2.5rem!important;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-size:1.5em 1.5em}[data-theme=dark] select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%2394a3b8' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e")}.border,.border-t,.border-b,.border-l,.border-r,.border-x,.border-y{border-color:var(--color-border-primary)}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.-left-1{left:-.25rem}.-right-1{right:-.25rem}.-top-1{top:-.25rem}.bottom-0{bottom:0}.bottom-1{bottom:.25rem}.bottom-4{bottom:1rem}.left-0{left:0}.left-1\/2{left:50%}.left-2{left:.5rem}.left-3{left:.75rem}.left-4{left:1rem}.left-\[2px\]{left:2px}.right-0{right:0}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1\/2{top:50%}.top-10{top:2.5rem}.top-3{top:.75rem}.top-\[2px\]{top:2px}.z-10{z-index:10}.z-50{z-index:50}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.ml-3{margin-left:.75rem}.ml-auto{margin-left:auto}.mr-4{margin-right:1rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-20{height:5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-full{height:100%}.min-h-\[100px\]{min-height:100px}.min-h-\[140px\]{min-height:140px}.min-h-screen{min-height:100vh}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-2{width:.5rem}.w-20{width:5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-48{width:12rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-auto{width:auto}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[200px\]{min-width:200px}.min-w-\[44px\]{min-width:44px}.max-w-5xl{max-width:64rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-2{row-gap:.5rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-brd-primary{border-color:var(--color-border-primary)}.border-error-border{border-color:var(--color-error-border)}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.bg-accent-600{background-color:var(--color-accent-600)}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-bg-primary{background-color:var(--color-bg-primary)}.bg-bg-secondary{background-color:var(--color-bg-secondary)}.bg-bg-tertiary{background-color:var(--color-bg-tertiary)}.bg-black\/50{background-color:#00000080}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-error-bg{background-color:var(--color-error-bg)}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.object-contain{-o-object-fit:contain;object-fit:contain}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pl-10{padding-left:2.5rem}.pr-12{padding-right:3rem}.pr-4{padding-right:1rem}.pt-1{padding-top:.25rem}.pt-12{padding-top:3rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-none{line-height:1}.tracking-wider{letter-spacing:.05em}.text-accent-600{color:var(--color-accent-600)}.text-amber-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-error-text{color:var(--color-error-text)}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-info-text{color:var(--color-info-text)}.text-primary{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-txt-inverse{color:var(--color-text-inverse)}.text-txt-primary{color:var(--color-text-primary)}.text-txt-secondary{color:var(--color-text-secondary)}.text-txt-tertiary{color:var(--color-text-tertiary)}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.placeholder-txt-tertiary::-moz-placeholder{color:var(--color-text-tertiary)}.placeholder-txt-tertiary::placeholder{color:var(--color-text-tertiary)}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.shadow-elevation-3{--tw-shadow: var(--shadow-elevation-3);--tw-shadow-colored: var(--shadow-elevation-3);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-inset{--tw-ring-inset: inset}.ring-opacity-70{--tw-ring-opacity: .7}.ring-offset-2{--tw-ring-offset-width: 2px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}*{box-sizing:border-box}a{color:inherit;text-decoration:none}.app-shell{display:grid;grid-template-columns:var(--sidebar) 1fr;min-height:100vh;transition:grid-template-columns .25s ease}.app-shell.collapsed,.app-shell.mobile-collapsed,.app-shell.mobile-open{grid-template-columns:1fr}.sidebar{background:var(--color-sidebar-bg, #fafbfc);color:var(--sidebar-text);display:flex;flex-direction:column;border-right:1px solid var(--color-border-primary, var(--border));transition:width .25s ease,transform .25s ease,opacity .2s ease;position:sticky;top:0;justify-content:flex-start;align-items:stretch;height:100vh;overflow-y:auto}.sidebar.collapsed{align-items:center;transform:translate(-110%);opacity:0;pointer-events:none;position:absolute;width:var(--sidebar)}.sidebar.mobile{position:fixed;left:0;top:0;bottom:0;z-index:20;width:var(--sidebar);box-shadow:0 14px 34px #061d5559}.sidebar.mobile-hidden{transform:translate(-110%);box-shadow:none}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000047;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:15}.sidebar-header{height:64px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px;border-bottom:1px solid var(--color-border-primary, var(--border))}.collapse-btn{background:var(--color-bg-primary, #ffffff);border:1px solid var(--color-border-primary, var(--border));color:var(--sidebar-text);padding:8px;border-radius:12px;cursor:pointer;box-shadow:0 10px 24px #4f46e514}.sidebar h1{font-size:20px;letter-spacing:.2px;margin:0 0 2px;color:var(--sidebar-text)}.sidebar .tagline{font-size:12px;color:var(--sidebar-muted);margin:0 0 6px}.company-selector-container{padding:16px;border-bottom:1px solid var(--color-sidebar-border, var(--border))}.tenant-badge{display:flex;align-items:center;gap:6px;margin-bottom:8px;padding:4px 8px;background:var(--color-warning-bg, #fffbeb);border:1px solid var(--color-warning-border, #fcd34d);border-radius:8px;color:var(--color-warning-text, #b45309);font-size:11px;font-weight:500}.company-selector-button{width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:8px;border:1px solid var(--color-sidebar-border, var(--border));background:var(--color-bg-primary, #ffffff);cursor:default;transition:all .2s ease}.company-selector-button.clickable{cursor:pointer}.company-selector-button.clickable:hover{border-color:var(--color-accent-300, #a5b4fc)}.company-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--color-accent-600, #4f46e5)}.company-icon.tenant{color:var(--color-warning-text, #b45309)}.company-name{font-size:14px;font-weight:500;color:var(--color-text-primary, #111827);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.company-chevron{color:var(--color-text-tertiary, #9ca3af);flex-shrink:0;transition:transform .2s ease}.company-selector-button[aria-expanded=true] .company-chevron{transform:rotate(180deg)}.company-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--color-bg-primary, #ffffff);border:1px solid var(--color-border-primary, var(--border));border-radius:8px;box-shadow:var(--shadow-elevation-3, 0 10px 15px rgba(0, 0, 0, .1));z-index:50;padding:4px 0;max-height:240px;overflow-y:auto}.company-option{width:100%;display:flex;align-items:center;gap:10px;padding:10px 14px;font-size:14px;color:var(--color-text-secondary, #6b7280);background:transparent;border:none;cursor:pointer;transition:all .15s ease;text-align:left}.company-option:hover{background:var(--color-bg-secondary, #f9fafb);color:var(--color-text-primary, #111827)}.company-option.active{background:var(--color-accent-50, #eef2ff);color:var(--color-accent-600, #4f46e5);font-weight:500}.nav-group{display:flex;flex-direction:column;gap:2px;padding:16px 8px;flex:1;overflow-y:auto;align-items:stretch}.nav-label{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--sidebar-muted);margin:6px 0 4px 10px}.nav-button{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:8px;border:none;background:transparent;color:var(--sidebar-muted);cursor:pointer;text-align:left;font-size:14px;font-weight:500;transition:all .2s ease}.nav-button:hover{background:var(--color-sidebar-hover, rgba(255, 255, 255, .6));color:var(--sidebar-text)}.nav-button.active{background:var(--color-sidebar-active, rgba(255, 255, 255, .85));color:var(--color-sidebar-active-text, var(--primary));font-weight:600;box-shadow:0 2px 8px #0000000a}.nav-button.active .nav-icon{color:var(--color-sidebar-active-text, var(--primary))}.nav-icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center}.sidebar.collapsed .nav-button{justify-content:center;padding:10px}.sidebar.collapsed .nav-button span:last-child{display:none}.sidebar.collapsed .nav-label{display:none}.mobile-toggle{display:inline-flex;align-items:center;justify-content:center;background:var(--color-bg-primary, #ffffff);border:1px solid var(--color-border-primary, var(--border));border-radius:12px;padding:10px;cursor:pointer;box-shadow:0 8px 18px #0f172a1a}.header{padding:20px 28px 0;display:flex;align-items:center;gap:12px;flex-shrink:0}.title{font-size:24px;margin:0 0 8px}.subtitle{margin:0;color:var(--muted)}.main{padding:20px 28px 28px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;flex:1;min-height:0;overflow-y:auto}.main:has(.chat-wrapper){display:flex;flex-direction:column;flex:1;min-height:0;padding-bottom:20px;width:100%}.chat-wrapper{width:320px;display:flex;min-height:0;height:100%;max-height:none;width:100%;padding:10px}.chat-shell{display:flex;flex:1;min-height:0;width:100%;background:var(--color-bg-primary, var(--panel));border:1px solid var(--color-border-primary, var(--border));border-radius:var(--radius);overflow:hidden;box-shadow:0 12px 30px #0f172a0f}.chat-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0003;z-index:30}.chat-sidebar.drawer{position:fixed;inset:0 auto 0 0;width:320px;z-index:40;transform:translate(-110%);transition:transform .2s ease;border-radius:0;max-height:100vh;background:var(--color-bg-primary, var(--panel));border-right:1px solid var(--color-border-primary, var(--border));box-shadow:0 12px 30px #0f172a29}.chat-sidebar.drawer.open{transform:translate(0)}.chat-hamburger{display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;padding:8px;border-radius:10px;cursor:pointer;color:var(--muted)}.chat-hamburger:hover{background:var(--color-bg-tertiary, var(--bg));color:var(--primary)}.card{background:var(--color-bg-primary, var(--panel));border-radius:var(--radius);padding:18px;border:1px solid var(--color-border-primary, var(--border));box-shadow:0 12px 30px #0f172a0f}.card h3{margin:0 0 12px;font-size:16px}.card p{margin:0 0 10px;color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:#0b5cff14;color:var(--primary);border-radius:10px;font-size:12px;font-weight:600}.pill-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.pill{padding:6px 10px;background:var(--color-accent-50, #eef2ff);color:var(--color-text-primary, #1e2a5a);border-radius:999px;font-size:12px;font-weight:600}.section-grid{display:grid;gap:10px}.section-item{padding:12px;border-radius:12px;border:1px solid var(--color-border-primary, var(--border));background:var(--color-bg-primary, #fdfefe)}.section-item strong{display:block;margin-bottom:6px}.chip-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.chip{padding:6px 10px;border-radius:10px;background:var(--color-accent-50, #EEF2FF);color:var(--color-accent-600, #4F46E5);font-size:12px;font-weight:600}.footer-note{margin-top:14px;color:var(--muted);font-size:13px}.portal-header{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:var(--color-header-bg, var(--panel));border-bottom:1px solid var(--color-header-border, var(--border));gap:16px}.header-left{display:flex;align-items:center;gap:16px}.header-menu-btn{display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--color-border-primary, var(--border));border-radius:10px;padding:8px;cursor:pointer;color:var(--muted);transition:all .2s ease}.header-menu-btn:hover{background:var(--color-bg-tertiary, var(--bg));color:var(--primary)}.header-logo{display:flex;align-items:center;gap:10px}.client-logo{height:36px;width:auto;-o-object-fit:contain;object-fit:contain}.logo-placeholder{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--primary),var(--accent));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:16px}.client-name{font-weight:600;font-size:15px;color:var(--sidebar-text)}.header-center{flex:1;text-align:center}.header-title{font-size:14px;color:var(--muted);font-weight:500}.header-right{display:flex;align-items:center;gap:8px}.api-status-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.api-status-icon.offline{color:#f59e0b}.api-status-icon.online{color:var(--muted);opacity:.6}.header-icon-btn{position:relative;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:10px;padding:10px;cursor:pointer;color:var(--muted);transition:all .2s ease}.header-icon-btn:hover{background:var(--color-bg-tertiary, var(--bg));color:var(--primary)}.notification-badge{position:absolute;top:4px;right:4px;min-width:18px;height:18px;padding:0 5px;background:#ea4335;color:#fff;border-radius:9px;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center}.header-profile-btn{display:flex;align-items:center;gap:8px;background:var(--color-bg-tertiary, var(--bg));border:1px solid var(--color-border-primary, var(--border));border-radius:24px;padding:6px 12px 6px 6px;cursor:pointer;transition:all .2s ease}.header-profile-btn:hover{border-color:var(--primary)}.user-avatar{width:28px;height:28px;border-radius:50%;-o-object-fit:cover;object-fit:cover}.avatar-placeholder.small{width:28px;height:28px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center}.user-name{font-size:13px;font-weight:500;color:var(--sidebar-text)}.profile-dropdown-container{position:relative}.header-profile-btn .dropdown-arrow{color:var(--muted);transition:transform .2s ease;margin-left:2px}.header-profile-btn .dropdown-arrow.open{transform:rotate(180deg)}.profile-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:var(--color-bg-primary, var(--panel));border:1px solid var(--color-border-primary, var(--border));border-radius:12px;box-shadow:0 10px 40px #0000001f;padding:6px;z-index:100;animation:dropdownFadeIn .15s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:transparent;border:none;border-radius:8px;font-size:14px;font-weight:500;color:var(--sidebar-text);cursor:pointer;transition:all .15s ease;text-align:left}.dropdown-item:hover{background:var(--color-bg-tertiary, var(--bg))}.dropdown-item svg{color:var(--muted);flex-shrink:0}.dropdown-item:hover svg{color:var(--primary)}.dropdown-item.logout{color:#dc2626}.dropdown-item.logout svg{color:#dc2626}.dropdown-item.logout:hover{background:#dc262614}.dropdown-divider{height:1px;background:var(--color-border-primary, var(--border));margin:6px 0}.notifications-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0000004d;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.notifications-panel{position:fixed;top:12px;right:12px;bottom:12px;width:calc(100% - 24px);max-width:400px;height:auto;background:var(--color-bg-primary, var(--panel));box-shadow:0 8px 32px #0000002e;border-radius:20px;display:flex;flex-direction:column;animation:slideIn .2s ease;z-index:201;overflow:hidden}@keyframes slideIn{0%{transform:translate(calc(100% + 12px));opacity:0}to{transform:translate(0);opacity:1}}.notifications-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border-primary, var(--border));flex-shrink:0}.notifications-title{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:600;color:var(--sidebar-text)}.notifications-title svg{color:var(--primary)}.notifications-close{background:none;border:none;padding:8px;border-radius:8px;cursor:pointer;color:var(--muted);transition:all .15s ease}.notifications-close:hover{background:var(--color-bg-tertiary, var(--bg));color:var(--sidebar-text)}.notifications-content{flex:1;overflow-y:auto}.notifications-loading,.notifications-error,.notifications-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 20px;color:var(--muted);text-align:center}.notifications-loading .spinner{width:32px;height:32px;border:3px solid var(--color-border-primary, var(--border));border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.notifications-error button{margin-top:8px;padding:8px 16px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:14px;cursor:pointer;transition:opacity .15s ease}.notifications-error button:hover{opacity:.9}.notifications-list{padding:8px}.notification-item{display:flex;align-items:flex-start;gap:12px;padding:12px;border-radius:10px;cursor:pointer;transition:background .15s ease;margin-bottom:4px}.notification-item:hover{background:var(--color-bg-tertiary, var(--bg))}.notification-item.unread{background:var(--color-accent-soft-bg, rgba(59, 130, 246, .08))}.notification-item.unread:hover{background:var(--color-accent-soft-bg-hover, rgba(59, 130, 246, .12))}.notification-icon{flex-shrink:0;width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center}.notification-body{flex:1;min-width:0}.notification-body h4{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--sidebar-text);line-height:1.3}.notification-body p{margin:0 0 6px;font-size:13px;color:var(--muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-time{font-size:11px;color:var(--muted);opacity:.8}.notification-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s ease}.notification-item:hover .notification-actions{opacity:1}.notification-actions button{background:none;border:none;padding:6px;border-radius:6px;cursor:pointer;color:var(--muted);transition:all .15s ease}.notification-actions button:hover{background:var(--color-bg-primary, var(--panel));color:var(--primary)}.main-container{display:flex;flex-direction:column;height:100vh;overflow:hidden}.page-header{padding:20px 28px 0;flex-shrink:0}.main.full-width{padding:0;flex:1;min-height:0;overflow-y:auto}.home-page{padding:20px 28px 28px}.welcome-section{margin-bottom:24px}.welcome-section h2{font-size:24px;margin:0 0 6px;color:var(--sidebar-text)}.welcome-section p{margin:0;color:var(--muted)}.home-grid{display:grid;grid-template-columns:320px 1fr;gap:20px;align-items:start}.home-column{display:flex;flex-direction:column;gap:16px;min-width:0}@media (max-width: 768px){.home-grid{grid-template-columns:1fr}}.chat-sidebar{width:320px;max-width:320px;flex:0 0 320px;flex-shrink:0;background:var(--color-bg-primary, var(--panel));border:none;border-right:1px solid var(--color-border-primary, var(--border));border-radius:0;padding:0;display:flex;flex-direction:column;gap:0;min-height:0;max-height:100%;overflow:hidden}.chat-sidebar-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 16px;border-bottom:1px solid var(--color-border-primary, var(--border))}.chat-title{display:flex;gap:10px;align-items:center;min-width:0}.chat-app-icon{width:36px;height:36px;border-radius:10px;background:var(--color-accent-soft-bg, rgba(11, 92, 255, .08));color:var(--primary);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.chat-title-text{min-width:0}.chat-title-strong{display:block;font-weight:600;color:var(--sidebar-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-title-row{display:inline-flex;align-items:center;gap:8px}.chat-label{font-size:12px;color:var(--muted);margin:0}.chat-sidebar-header .status-dot{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;position:static;border:none}.chat-sidebar-header .status-dot.connected{background:#22c55e}.chat-sidebar-header .status-dot.connecting,.chat-sidebar-header .status-dot.disconnected{background:#f59e0b}.chat-banner{display:flex;align-items:center;gap:8px;background:var(--color-bg-tertiary, #f8fafc);border:1px solid var(--color-border-primary, var(--border));border-radius:12px;padding:10px;color:var(--muted);font-size:13px}.chat-banner.error{background:var(--color-error-bg, #fff5f5);border-color:var(--color-error-border, #fecdd3);color:var(--color-error-text, #b91c1c)}.chat-search{padding:12px 16px;border-bottom:1px solid var(--color-border-primary, var(--border));background:var(--color-bg-primary, var(--panel))}.chat-search-inner{position:relative}.chat-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);opacity:.7}.chat-search input{width:100%;font-size:14px;background:var(--color-bg-tertiary, var(--bg));border:1px solid var(--color-border-primary, var(--border));border-radius:12px;padding:10px 12px 10px 36px;outline:none}.chat-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:0;padding-right:0;min-height:0}.chat-list-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:0;border:none;border-bottom:1px solid rgba(15,23,42,.06);background:transparent;cursor:pointer;text-align:left}.chat-list-item:hover{background:var(--color-bg-tertiary, var(--bg))}.chat-list-item.active{background:var(--color-accent-soft-bg, rgba(11, 92, 255, .08))}.chat-list-main{min-width:0;flex:1}.chat-list-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.chat-list-name{font-weight:600;color:var(--sidebar-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-list-meta{font-size:12px;color:var(--muted);opacity:.7;flex-shrink:0}.chat-list-secondary{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-list-text strong{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-list-text small{color:var(--muted);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unread-badge{background:var(--primary);color:#fff;font-size:12px;font-weight:600;min-width:auto;height:auto;border-radius:9999px;display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;margin-left:8px}.avatar-sm,.avatar-md{width:40px;height:40px;border-radius:12px;background:var(--color-accent-50, #eef2ff);display:inline-flex;align-items:center;justify-content:center;font-weight:600}.avatar-md{width:48px;height:48px}.avatar-sm img,.avatar-md img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:inherit}.chat-wrapper .avatar-sm{width:36px;height:36px;border-radius:9999px;background:var(--color-bg-tertiary, var(--bg));overflow:hidden}.chat-thread{background:var(--color-bg-primary, var(--panel));border:none;border-radius:0;display:flex;flex-direction:column;min-height:0;max-height:100%;overflow:hidden;width:100%}.chat-thread-header{padding:16px 24px;border-bottom:1px solid var(--color-border-primary, var(--border));display:flex;align-items:center;gap:12px}.thread-user{display:flex;gap:10px;align-items:center}.thread-user>div:last-child{display:flex;flex-direction:column}.thread-user strong{display:block;font-size:14px;font-weight:600}.thread-user p{margin:0;font-size:12px}.chat-messages{flex:1;padding:16px 24px;display:flex;flex-direction:column;gap:12px;overflow-y:auto;background:var(--color-bg-secondary, var(--bg));min-height:0}.chat-bubble{background:var(--color-bg-primary, #ffffff);border:1px solid var(--color-border-primary, var(--border));border-radius:16px;padding:10px 12px;max-width:75%}.chat-bubble.mine{margin-left:auto;background:var(--color-accent-50, #eef2ff);color:inherit;border-color:#4f46e533}.chat-bubble-header{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);gap:12px;margin-bottom:4px}.chat-bubble-header span{font-weight:600;color:var(--sidebar-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-bubble-header small{flex-shrink:0;opacity:.7}.chat-bubble-content{white-space:pre-wrap}.chat-composer{border-top:1px solid var(--color-border-primary, var(--border));padding:16px 24px;display:flex;gap:12px;background:var(--color-bg-primary, var(--panel));box-shadow:none;flex-shrink:0}.chat-composer textarea{width:100%;min-width:0;flex:1;resize:none;border:1px solid var(--color-border-primary, var(--border));border-radius:12px;padding:10px 12px;font-size:14px;box-sizing:border-box;background:var(--color-bg-tertiary, var(--bg));outline:none}.send-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;background:var(--primary);color:#fff;border:none;border-radius:12px;cursor:pointer}.send-btn:disabled{opacity:.6;cursor:not-allowed}.chat-empty{flex:1;display:grid;place-items:center;color:var(--muted);gap:10px}.text-center{text-align:center}.text-sm{font-size:13px}.muted{color:var(--muted)}@media (max-width: 1024px){.chat-wrapper{padding:0}}.clock-in-card{background:var(--color-bg-primary, var(--panel));border-radius:var(--radius);padding:20px;border:2px solid var(--color-border-primary, var(--border));box-shadow:0 12px 30px #0f172a0f;transition:border-color .3s ease,background .3s ease}.clock-in-card.inside{border-color:var(--success);background:linear-gradient(135deg,rgba(15,157,88,.05),transparent)}.clock-in-card.outside{border-color:var(--accent);background:linear-gradient(135deg,rgba(255,179,71,.08),transparent)}.clock-in-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.clock-in-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-tertiary, var(--bg));color:var(--primary)}.clock-in-card.inside .clock-in-icon{background:#0f9d5826;color:var(--success)}.clock-in-card.outside .clock-in-icon{background:#ffb34733;color:#e67e00}.clock-in-status{display:flex;align-items:center;gap:8px}.status-label{font-weight:600;color:var(--sidebar-text)}.clock-in-current{display:flex;flex-direction:column;align-items:center;gap:2px;margin-bottom:16px;padding:16px;background:var(--color-bg-tertiary, var(--bg));border-radius:12px}.current-time{font-size:42px;font-weight:700;color:var(--primary);line-height:1}.current-date{font-size:14px;color:var(--muted);text-transform:capitalize}.clock-in-last{display:flex;flex-direction:column;gap:2px;margin-bottom:16px;padding:12px;background:var(--color-bg-tertiary, var(--bg));border-radius:12px}.last-label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.last-date{font-size:14px;color:var(--sidebar-text);text-transform:capitalize}.last-time{font-size:24px;font-weight:700;color:var(--sidebar-text)}.clock-in-button{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 20px;border:none;border-radius:14px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.clock-in-button.enter{background:var(--primary);color:#fff}.clock-in-button.enter:hover{background:var(--primary-strong);transform:translateY(-1px)}.clock-in-button.exit{background:#ea4335;color:#fff}.clock-in-button.exit:hover{background:#d33426;transform:translateY(-1px)}.clock-in-history{margin-top:16px;padding:12px;background:var(--color-bg-tertiary, var(--bg));border-radius:12px}.history-label{display:block;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.history-list{display:flex;flex-direction:column;gap:8px}.history-item{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--color-bg-primary, var(--panel));border-radius:8px;border-left:3px solid transparent}.history-item.in{border-left-color:var(--success)}.history-item.out{border-left-color:#ea4335}.history-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px}.history-icon.in{background:#0f9d5826;color:var(--success)}.history-icon.out{background:#ea433526;color:#ea4335}.history-time{font-size:16px;font-weight:600;color:var(--sidebar-text)}.history-type{font-size:13px;color:var(--muted);margin-left:auto}.inbox-card{background:var(--color-bg-primary, var(--panel));border-radius:var(--radius);padding:18px;border:1px solid var(--color-border-primary, var(--border));box-shadow:0 12px 30px #0f172a0f}.inbox-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.inbox-title{display:flex;align-items:center;gap:8px;color:var(--sidebar-text)}.inbox-title h3{margin:0;font-size:16px}.inbox-badge{padding:4px 10px;background:var(--primary);color:#fff;border-radius:12px;font-size:12px;font-weight:600}.inbox-messages{display:flex;flex-direction:column;gap:2px}.inbox-message{display:flex;align-items:flex-start;gap:12px;padding:10px;border-radius:12px;cursor:pointer;transition:background .2s ease}.inbox-message:hover{background:var(--color-bg-tertiary, var(--bg))}.inbox-message.unread{background:var(--color-accent-soft-bg, rgba(79, 70, 229, .04))}.inbox-message.unread:hover{background:var(--color-accent-soft-bg-hover, rgba(79, 70, 229, .08))}.message-avatar{position:relative;flex-shrink:0}.message-avatar img,.message-avatar .avatar-placeholder{width:40px;height:40px;border-radius:50%;-o-object-fit:cover;object-fit:cover}.avatar-placeholder{background:linear-gradient(135deg,var(--primary),#6366f1);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px}.unread-dot{position:absolute;bottom:0;right:0;color:var(--primary)}.message-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.message-header{display:flex;justify-content:space-between;align-items:center}.message-sender{font-weight:600;font-size:14px;color:var(--sidebar-text)}.message-date{font-size:12px;color:var(--muted)}.message-subject{font-size:13px;color:var(--sidebar-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-preview{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inbox-view-all{width:100%;display:flex;align-items:center;justify-content:center;gap:6px;padding:12px;margin-top:10px;background:transparent;border:1px solid var(--color-border-primary, var(--border));border-radius:12px;color:var(--primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.inbox-view-all:hover{background:var(--color-bg-tertiary, var(--bg));border-color:var(--primary)}.comunicados-home-alert{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--color-warning-bg, #fef3c7);border:1px solid var(--color-warning-border, #fbbf24);border-radius:10px;font-size:13px;color:var(--color-warning-text, #92400e);margin-bottom:14px}.comunicados-home-alert svg{flex-shrink:0;color:#d97706}.urgent-label{color:#dc2626;font-weight:600;font-size:11px;text-transform:uppercase}.avatar-placeholder.urgent{background:linear-gradient(135deg,#ef4444,#dc2626)}.comunicado-status{margin-top:4px}.status-confirmed{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#16a34a;font-weight:500}.status-pending{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#d97706;font-weight:500}.company-links-card.single-section{gap:0}.company-links-card{background:var(--color-bg-primary, var(--panel));border-radius:var(--radius);padding:18px;border:1px solid var(--color-border-primary, var(--border));box-shadow:0 12px 30px #0f172a0f;display:flex;flex-direction:column;gap:20px}.links-section .section-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:var(--sidebar-text)}.links-section h4{margin:0;font-size:14px;font-weight:600}.links-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.company-link{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--color-bg-tertiary, var(--bg));border-radius:10px;font-size:13px;color:var(--sidebar-text);text-decoration:none;transition:all .2s ease}.company-link:hover{background:var(--primary);color:#fff}.holidays-list,.events-list{display:flex;flex-direction:column;gap:8px}.holiday-item,.event-item{display:flex;align-items:center;gap:12px;padding:8px;background:var(--color-bg-tertiary, var(--bg));border-radius:10px}.holiday-date,.event-date{width:44px;height:44px;background:var(--color-bg-primary, white);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--color-border-primary, var(--border))}.date-day{font-size:16px;font-weight:700;color:var(--sidebar-text);line-height:1}.date-month{font-size:10px;color:var(--muted);text-transform:uppercase}.holiday-info,.event-info{flex:1;display:flex;flex-direction:column;gap:2px}.holiday-name,.event-title{font-size:13px;font-weight:500;color:var(--sidebar-text)}.holiday-countdown{font-size:11px;color:var(--primary);font-weight:500}.event-location{font-size:11px;color:var(--muted)}.publications-card{background:var(--color-bg-primary, var(--panel));border-radius:var(--radius);padding:18px;border:1px solid var(--color-border-primary, var(--border));box-shadow:0 12px 30px #0f172a0f}.publications-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.publications-header h3{margin:0;font-size:16px;color:var(--sidebar-text)}.publications-header-actions{display:flex;align-items:center;gap:8px}.view-hidden-btn{display:flex;align-items:center;justify-content:center;padding:8px;background:var(--hover-bg);color:var(--muted);border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.view-hidden-btn:hover{background:var(--border);color:var(--sidebar-text)}.create-publication-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--primary);color:#fff;border:none;border-radius:10px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.create-publication-btn:hover{background:var(--primary-strong);transform:translateY(-1px)}.manage-subscriptions-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--primary);color:#fff;border:none;border-radius:10px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.manage-subscriptions-btn:hover{background:var(--primary-strong);transform:translateY(-1px)}.publications-list{display:flex;flex-direction:column;gap:16px}.publication-item{padding:16px;background:var(--color-bg-tertiary, var(--bg));border-radius:14px}.publication-author{display:flex;align-items:center;gap:10px;margin-bottom:12px}.author-avatar img,.author-avatar .avatar-placeholder{width:40px;height:40px;border-radius:50%;-o-object-fit:cover;object-fit:cover}.author-info{flex:1;display:flex;flex-direction:column}.author-name{font-weight:600;font-size:14px;color:var(--sidebar-text)}.author-meta{font-size:12px;color:var(--muted)}.publication-menu{background:transparent;border:none;padding:6px;cursor:pointer;color:var(--muted);border-radius:8px;transition:background .2s ease}.publication-menu:hover{background:var(--color-bg-primary, var(--panel))}.publication-menu-container{position:relative}.publication-dropdown{position:absolute;top:100%;right:0;background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 4px 16px #00000026;min-width:180px;z-index:100;overflow:hidden}.publication-dropdown .dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:none;border:none;color:var(--sidebar-text);font-size:14px;cursor:pointer;transition:background .15s ease;text-align:left}.publication-dropdown .dropdown-item:hover{background:var(--hover-bg)}.publication-dropdown .dropdown-item svg{color:var(--muted);flex-shrink:0}.publication-content p{margin:0 0 12px;font-size:14px;line-height:1.5;color:var(--sidebar-text)}.publication-image{width:100%;max-height:300px;-o-object-fit:cover;object-fit:cover;border-radius:10px;margin-bottom:12px}.publication-actions{display:flex;align-items:center;gap:8px;padding-top:12px;border-top:1px solid var(--color-border-primary, var(--border))}.action-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:transparent;border:none;border-radius:10px;font-size:13px;color:var(--muted);cursor:pointer;transition:all .2s ease}.action-btn:hover{background:var(--color-bg-primary, var(--panel));color:var(--sidebar-text)}.action-btn.liked{color:#ea4335}.connect-btn{margin-left:auto;padding:8px 16px;background:transparent;border:1px solid var(--primary);border-radius:10px;color:var(--primary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.connect-btn:hover{background:var(--primary);color:#fff}.publications-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.publications-empty-icon{color:var(--muted);opacity:.5;margin-bottom:12px}.publications-empty p{margin:0;font-size:14px;color:var(--sidebar-text);font-weight:500}.publications-empty-hint{font-size:12px;color:var(--muted);margin-top:4px}.channel-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:500}.team-card{background:var(--color-bg-primary, var(--panel));border-radius:var(--radius);padding:18px;border:1px solid var(--color-border-primary, var(--border));box-shadow:0 12px 30px #0f172a0f}.team-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.team-title{display:flex;align-items:center;gap:8px;color:var(--sidebar-text)}.team-title h3{margin:0;font-size:16px}.present-count{font-size:13px;color:var(--success);font-weight:500}.team-list{display:flex;flex-direction:column;gap:4px;max-height:280px;overflow-y:auto}.team-member{display:flex;align-items:center;gap:12px;padding:10px;border-radius:12px;cursor:pointer;transition:background .2s ease;border:2px solid transparent}.team-member:hover{background:var(--color-bg-tertiary, var(--bg))}.team-member.selected{background:var(--color-accent-soft-bg, rgba(79, 70, 229, .08));border-color:var(--primary)}.member-avatar{position:relative;flex-shrink:0}.member-avatar img,.member-avatar .avatar-placeholder{width:38px;height:38px;border-radius:50%;-o-object-fit:cover;object-fit:cover}.member-avatar .status-dot{position:absolute;bottom:0;right:0;border:2px solid var(--color-bg-primary, var(--panel));border-radius:50%}.member-info{flex:1;display:flex;flex-direction:column}.member-name{font-weight:500;font-size:14px;color:var(--sidebar-text)}.member-status{font-size:12px;color:var(--muted)}.member-message-btn{padding:8px;background:transparent;border:1px solid var(--color-border-primary, var(--border));border-radius:10px;color:var(--muted);cursor:pointer;transition:all .2s ease}.member-message-btn:hover{background:var(--primary);border-color:var(--primary);color:#fff}.team-actions{margin-top:14px;padding-top:14px;border-top:1px solid var(--color-border-primary, var(--border))}.team-action-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border:none;border-radius:12px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.team-action-btn.primary{background:var(--primary);color:#fff}.team-action-btn.primary:hover{background:var(--primary-strong);transform:translateY(-1px)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.login-background{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#f9fafb,#eef2ff);z-index:0}[data-theme=dark] .login-background{background:linear-gradient(135deg,#0f172a,#1e1b4b)}.login-gradient-1{position:absolute;top:-20%;left:-10%;width:60%;height:60%;background:radial-gradient(circle,rgba(255,209,170,.5) 0%,transparent 70%);animation:float 20s ease-in-out infinite}[data-theme=dark] .login-gradient-1{background:radial-gradient(circle,rgba(99,102,241,.3) 0%,transparent 70%)}.login-gradient-2{position:absolute;bottom:-20%;right:-10%;width:70%;height:70%;background:radial-gradient(circle,rgba(165,180,252,.5) 0%,transparent 70%);animation:float 25s ease-in-out infinite reverse}[data-theme=dark] .login-gradient-2{background:radial-gradient(circle,rgba(129,140,248,.2) 0%,transparent 70%)}@keyframes float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.05)}66%{transform:translate(-20px,20px) scale(.95)}}.login-container{position:relative;z-index:1;width:100%;max-width:420px;padding:20px}.login-card{background:#ffffffd9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;padding:40px 36px;box-shadow:0 4px 24px #0000000a,0 12px 48px #4f46e514;border:1px solid rgba(255,255,255,.8)}[data-theme=dark] .login-card{background:#1e293bd9;border:1px solid rgba(51,65,85,.8);box-shadow:0 4px 24px #0003,0 12px 48px #6366f126}.login-header{text-align:center;margin-bottom:32px}.login-logo{display:inline-flex;margin-bottom:16px}.login-logo img{height:56px;width:auto;-o-object-fit:contain;object-fit:contain}.login-logo-placeholder{width:64px;height:64px;border-radius:16px;background:linear-gradient(135deg,var(--primary),#6366f1);display:flex;align-items:center;justify-content:center;color:#fff}.login-company{font-size:22px;font-weight:700;color:var(--sidebar-text);margin:0 0 4px}.login-subtitle{font-size:14px;color:var(--muted);margin:0}.login-form{display:flex;flex-direction:column;gap:20px}.login-welcome{text-align:center;margin-bottom:8px}.login-welcome h2{font-size:20px;font-weight:600;color:var(--sidebar-text);margin:0 0 4px}.login-welcome p{font-size:14px;color:var(--muted);margin:0}.login-error{padding:12px 16px;background:var(--color-error-bg, rgba(234, 67, 53, .08));border:1px solid var(--color-error-border, rgba(234, 67, 53, .2));border-radius:12px;color:var(--color-error-text, #c62828);font-size:14px;text-align:center}.login-field{display:flex;flex-direction:column;gap:8px}.login-field label{font-size:13px;font-weight:600;color:var(--sidebar-text)}.login-field input{width:100%;padding:14px 16px;border:1px solid var(--color-border-primary, var(--border));border-radius:12px;font-size:15px;color:var(--sidebar-text);background:var(--color-bg-primary, white);transition:all .2s ease}.login-field input::-moz-placeholder{color:#a0aec0}.login-field input::placeholder{color:#a0aec0}.login-field input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a}.login-field input:disabled{background:var(--color-bg-tertiary, var(--bg));cursor:not-allowed}.password-input-wrapper{position:relative}.password-input-wrapper input{padding-right:48px}.password-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--muted);cursor:pointer;border-radius:10px;transition:all .2s ease}.password-toggle:hover{background:var(--color-bg-tertiary, var(--bg));color:var(--sidebar-text)}.login-user-badge{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--color-bg-tertiary, var(--bg));border-radius:12px;font-size:14px;color:var(--sidebar-text)}.login-user-badge span{flex:1;font-weight:500}.login-user-badge button{background:none;border:none;color:var(--primary);font-size:12px;font-weight:500;cursor:pointer;padding:0}.login-user-badge button:hover{text-decoration:underline}.login-forgot{align-self:flex-end;background:none;border:none;color:var(--primary);font-size:13px;font-weight:500;cursor:pointer;padding:0;margin-top:-8px}.login-forgot:hover{text-decoration:underline}.login-submit{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:16px 24px;background:var(--primary);color:#fff;border:none;border-radius:14px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:8px}.login-submit:hover:not(:disabled){background:var(--primary-strong);transform:translateY(-1px);box-shadow:0 8px 24px #4f46e540}.login-submit:disabled{opacity:.7;cursor:not-allowed}.login-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-footer{text-align:center;margin-top:28px;padding-top:20px;border-top:1px solid var(--color-border-primary, var(--border))}.login-footer p{font-size:12px;color:var(--muted);margin:0}.login-footer strong{color:var(--primary);font-weight:600}@media (max-width: 480px){.login-card{padding:32px 24px;border-radius:20px}.login-company{font-size:20px}}@media (max-width: 960px){.app-shell{grid-template-columns:1fr}.sidebar{position:absolute}.mobile-toggle{display:inline-flex;margin-right:10px}.nav-group{flex:1}}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-thin{scrollbar-width:thin}.scrollbar-thin::-webkit-scrollbar{width:8px;height:8px}.scrollbar-thin::-webkit-scrollbar-track{background:var(--color-scrollbar-track);border-radius:4px}.scrollbar-thin::-webkit-scrollbar-thumb{background-color:var(--color-scrollbar-thumb);border-radius:4px;border:2px solid transparent;background-clip:padding-box}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:var(--color-scrollbar-thumb-hover)}.scrollbar-thumb-gray-300::-webkit-scrollbar-thumb{background-color:var(--color-scrollbar-thumb)}.scrollbar-thumb-gray-400::-webkit-scrollbar-thumb{background-color:var(--color-scrollbar-thumb)}.scrollbar-track-gray-200::-webkit-scrollbar-track{background-color:var(--color-scrollbar-track)}.scrollbar-track-transparent::-webkit-scrollbar-track{background-color:transparent}.hover\:scrollbar-thumb-gray-400:hover::-webkit-scrollbar-thumb{background-color:var(--color-scrollbar-thumb-hover)}*{transition:background-color .15s ease,border-color .15s ease,color .15s ease}.placeholder\:text-txt-tertiary::-moz-placeholder{color:var(--color-text-tertiary)}.placeholder\:text-txt-tertiary::placeholder{color:var(--color-text-tertiary)}.hover\:-translate-y-0\.5:hover{--tw-translate-y: -.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:bg-accent-700:hover{background-color:var(--color-accent-700)}.hover\:bg-bg-tertiary:hover{background-color:var(--color-bg-tertiary)}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-red-200:hover{--tw-bg-opacity: 1;background-color:rgb(254 202 202 / var(--tw-bg-opacity, 1))}.hover\:text-accent-700:hover{color:var(--color-accent-700)}.hover\:text-txt-primary:hover{color:var(--color-text-primary)}.hover\:text-txt-secondary:hover{color:var(--color-text-secondary)}.hover\:shadow-lg:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-accent-500:focus{--tw-ring-color: var(--color-accent-500)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width: 640px){.sm\:inline{display:inline}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width: 768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:gap-6{gap:1.5rem}}.dark\:border-red-800:where([data-theme=dark],[data-theme=dark] *){--tw-border-opacity: 1;border-color:rgb(153 27 27 / var(--tw-border-opacity, 1))}.dark\:bg-red-900\/20:where([data-theme=dark],[data-theme=dark] *){background-color:#7f1d1d33}.dark\:bg-red-900\/30:where([data-theme=dark],[data-theme=dark] *){background-color:#7f1d1d4d}.dark\:text-red-300:where([data-theme=dark],[data-theme=dark] *){--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.dark\:text-red-400:where([data-theme=dark],[data-theme=dark] *){--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.dark\:hover\:bg-gray-700:hover:where([data-theme=dark],[data-theme=dark] *){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-red-900\/50:hover:where([data-theme=dark],[data-theme=dark] *){background-color:#7f1d1d80}
