:root{--bg-body: #f5f5f5;--bg-card: #ffffff;--bg-sidebar: #f5f5f5;--bg-header: #ffffff;--bg-input: #ffffff;--bg-profile: var(--brand-blue);--bg-hover: #eaf2fa;--bg-hover-subtle: #f8fafc;--bg-modal-overlay: rgba(0, 0, 0, .7);--bg-sidebar-gradient: linear-gradient(135deg, #F2FAF4 0%, #F2F7FA 25%, #F5F2FA 50%, #FAF9F2 75%, #FAF2F2 100% );--text-sidebar-item: #4b5563;--text-sidebar-item-hover: #111827;--bg-sidebar-item-hover: rgba(255, 255, 255, .6);--bg-sidebar-item-active: rgba(255, 255, 255, .8);--icon-sidebar: #6b7280;--bg-header-actions: #f8f9fb;--icon-header-action: #64748b;--border-header: #eee;--shadow-header-custom: 0 2px 6px rgba(0,0,0,.04);--bg-icon-btn-hover: rgba(0,0,0,.05);--text-main: #333333;--text-secondary: #64748b;--text-inverse: #ffffff;--text-link: #4A90E2;--border-color: #e0e0e0;--border-focus: #4A90E2;--border-dashed: #4A90E2;--icon-color: #4a5568;--logo-color: #F05E22;--logo-filter: none;--shadow-card: 0 2px 8px rgba(0, 0, 0, .05);--shadow-header: 0 2px 10px rgba(0, 0, 0, .1);--brand-blue: #4A90E2;--brand-orange: #FF9265;--brand-green: #50C878;--brand-purple: #9b59b6;--brand-red: #ef4444}.dark-mode{--bg-body: #09090b;--bg-sidebar: #18181b;--bg-header: #18181b;--bg-card: #18181b;--bg-input: #27272a;--bg-profile: linear-gradient(135deg, #27272a 0%, #09090b 100%);--bg-hover: #27272a;--bg-hover-subtle: #27272a;--bg-modal-overlay: rgba(0, 0, 0, .85);--bg-sidebar-gradient: linear-gradient(135deg, #18181b 0%, #202024 50%, #18181b 100% );--text-sidebar-item: #a1a1aa;--text-sidebar-item-hover: #f4f4f5;--bg-sidebar-item-hover: rgba(255, 255, 255, .05);--bg-sidebar-item-active: rgba(255, 255, 255, .1);--icon-sidebar: #a1a1aa;--bg-header-actions: #27272a;--icon-header-action: #a1a1aa;--border-header: #27272a;--shadow-header-custom: 0 2px 6px rgba(0,0,0,.3);--bg-icon-btn-hover: rgba(255,255,255,.1);--text-main: #f4f4f5;--text-secondary: #d4d4d8;--text-inverse: #09090b;--text-link: #60a5fa;--border-color: #3f3f46;--border-focus: #4A90E2;--border-dashed: #4A90E2;--icon-color: #e4e4e7;--logo-color: #F05E22;--logo-filter: brightness(1.2) drop-shadow(0 0 5px rgba(240, 94, 34, .9)) drop-shadow(0 0 10px rgba(240, 94, 34, .6)) drop-shadow(0 0 20px rgba(240, 94, 34, .4));--shadow-card: 0 4px 6px -1px rgba(0, 0, 0, .5), 0 2px 4px -1px rgba(0, 0, 0, .3);--shadow-header: 0 1px 0 0 #3f3f46}html,body{margin:0;padding:0;height:100%;width:100%;overflow:hidden;font-family:Roboto;background-color:var(--bg-body);color:var(--text-main);transition:background-color .3s ease,color .3s ease}*{box-sizing:border-box}body.no-scroll{overflow:hidden!important;position:fixed!important;width:100%!important;height:100%!important}[data-tooltip]{position:relative;cursor:pointer}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;top:125%;left:50%;transform:translate(-50%) translateY(-10px);background-color:#2d3748;color:#fff;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;letter-spacing:.02em;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;z-index:1100;box-shadow:0 4px 12px #00000026,0 2px 4px #0000001a;transition:opacity .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1),visibility .2s}[data-tooltip]:before{content:"";position:absolute;top:105%;left:50%;transform:translate(-50%) translateY(-10px);border-width:6px;border-style:solid;border-color:transparent transparent #2D3748 transparent;opacity:0;visibility:hidden;pointer-events:none;z-index:1100;transition:opacity .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1),visibility .2s}[data-tooltip].tooltip-right:after{top:50%;left:100%;margin-left:10px;transform:translateY(-50%) translate(-10px)}[data-tooltip].tooltip-right:before{top:50%;left:100%;margin-left:-2px;transform:translateY(-50%) translate(-10px);border-color:transparent #2D3748 transparent transparent}@media(hover:hover){[data-tooltip]:hover:after{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}[data-tooltip]:hover:before{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}[data-tooltip].tooltip-right:hover:after{transform:translateY(-50%) translate(0)}[data-tooltip].tooltip-right:hover:before{transform:translateY(-50%) translate(0)}}body.dark-mode .access-management{background:#000!important}body.dark-mode .header{background:#121212!important;border-color:#27272a!important}body.dark-mode .tabs,body.dark-mode .rfid-codes-panel,body.dark-mode .rfid-users-panel,body.dark-mode .rfid-assignment-panel,body.dark-mode .generate-code-users-panel,body.dark-mode .generate-code-assignment-panel,body.dark-mode .generate-info-panel,body.dark-mode .create-rfid-info-panel,body.dark-mode .create-rfid-card,body.dark-mode .nfc-table-container{background-color:#121212!important;background:#121212!important;border-color:#27272a!important;color:#fff!important}body.dark-mode .panel-header,body.dark-mode .nfc-table thead th{background:#18181b!important;background-color:#18181b!important;border-bottom-color:#27272a!important}body.dark-mode .search-input-sidebar,body.dark-mode .rfid-search-container,body.dark-mode .generate-code-search-container,body.dark-mode .nfc-table-search-container{background-color:#09090b!important;background:#09090b!important;border-color:#27272a!important}body.dark-mode .rfid-code-item,body.dark-mode .rfid-user-item,body.dark-mode .generate-code-user-item,body.dark-mode .summary-item,body.dark-mode .form-group-checkbox{background:#18181b!important;background-color:#18181b!important;border-color:#27272a!important}body.dark-mode .nfc-table tbody tr{background-color:#121212!important}body.dark-mode .nfc-table td{border-bottom-color:#27272a!important;background-color:transparent!important}body.dark-mode .search-input-sidebar{background-color:#09090b!important;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='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:12px center!important;background-size:16px 16px!important;color:#fff!important;border:1px solid #27272a!important;filter:none!important}body.dark-mode .search-input-sidebar::placeholder{color:#71717a!important}body.dark-mode .nfc-table-title{color:#fff!important;font-weight:800!important;text-shadow:0 0 10px rgba(255,255,255,.1)!important}body.dark-mode .page-content{background-color:#000!important}body.dark-mode .create-rfid-header{background-color:#121212!important;border-bottom-color:#27272a!important}body.dark-mode .create-rfid-header h3{color:#fff!important}body.dark-mode .create-rfid-subtitle{color:#a1a1aa!important}body.dark-mode .rfid-code-live-preview{background-color:#09090b!important;border-color:#27272a!important}body.dark-mode .preview-label{color:#71717a!important}body.dark-mode .preview-code{color:#fff!important}body.dark-mode .toggle-btn{background-color:#18181b!important;border-color:#27272a!important;color:#71717a!important}body.dark-mode .toggle-btn.active{background-color:#10b98133!important;color:#4ade80!important;border-color:#166534!important}body.dark-mode .toggle-btn.inactive-selected{background-color:#ef444433!important;color:#f87171!important;border-color:#991b1b!important}body.dark-mode .rfid-code-item,body.dark-mode .rfid-user-item,body.dark-mode .generate-code-user-item{border-color:#27272a!important}body.dark-mode .rfid-code-item.selected,body.dark-mode .rfid-user-item.selected,body.dark-mode .generate-code-user-item.selected{border-color:#f97316!important;box-shadow:0 0 0 1px #f97316,0 10px 15px -3px #00000080!important}body.dark-mode .rfid-code-item.disabled-code,body.dark-mode .rfid-user-item.disabled-user{border-color:#27272a!important;box-shadow:none!important;background-image:repeating-linear-gradient(45deg,rgba(239,68,68,.15) 0px,rgba(239,68,68,.15) 1px,transparent 1px,transparent 8px)!important;background-color:#09090b!important;cursor:not-allowed!important;opacity:1!important}body.dark-mode .rfid-code-item.disabled-code.assignment-colored,body.dark-mode .rfid-user-item.disabled-user.assignment-colored{background-image:repeating-linear-gradient(45deg,rgba(239,68,68,.15) 0px,rgba(239,68,68,.15) 1px,transparent 1px,transparent 8px),linear-gradient(90deg,var(--assignment-color) -220%,#09090b 45%)!important}body.dark-mode .rfid-code-item.assignment-colored,body.dark-mode .rfid-user-item.assignment-colored{border-color:#27272a!important}body.dark-mode .create-role-page{background-color:#000!important;color:#fff!important}body.dark-mode .page-container,body.dark-mode .page-container.embedded{background-color:#121212!important;background-image:none!important;border-color:#27272a!important}body.dark-mode .page-header{background-color:#18181b!important;background:#18181b!important;border-bottom-color:#27272a!important}body.dark-mode .page-header h2,body.dark-mode .page-header h3,body.dark-mode .page-header .header-text h2{color:#fff!important}body.dark-mode .page-subtitle,body.dark-mode .mode-hint{color:#a1a1aa!important}body.dark-mode .form-row{background-color:#18181b!important;border-color:#27272a!important}body.dark-mode .form-group label{color:#fff!important}body.dark-mode .create-role-page input[type=text],body.dark-mode .create-role-page input[type=password]{background-color:#09090b!important;border-color:#3f3f46!important;color:#fff!important}body.dark-mode .status-option{background-color:#09090b!important;border-color:#27272a!important}body.dark-mode .status-label{background-color:transparent!important}body.dark-mode .mode-selector-container{background-color:#18181b!important;background:#18181b!important;border-color:#27272a!important}body.dark-mode .mode-label{color:#f97316!important}body.dark-mode .toggle-switch{background-color:#09090b!important;border-color:#27272a!important}body.dark-mode .switch-option{color:#71717a!important}body.dark-mode .switch-option.active{background-color:#1c1c1c!important;color:#f97316!important}body.dark-mode .permissions-section{background-color:#121212!important;border-color:#27272a!important}body.dark-mode .permissions-header{border-bottom-color:#27272a!important}body.dark-mode .category-title{color:#71717a!important;border-bottom-color:#27272a!important}body.dark-mode .permission-chip{background-color:#18181b!important;border-color:#27272a!important}body.dark-mode .permission-chip .perm-name{color:#e4e4e7!important}body.dark-mode .permission-chip.selected{border-color:#f97316!important;background-color:#f973161a!important}body.dark-mode .permission-chip.selected .perm-name{color:#fff!important}body.dark-mode .check-icon{color:#f97316!important}body.dark-mode .btn-link{color:#fb923c!important}body.dark-mode .page-footer{background-color:#18181b!important;border-top-color:#27272a!important}body.dark-mode .btn-cancel{background-color:#121212!important;border-color:#3f3f46!important;color:#fff!important}body.dark-mode .btn-back{border-color:#3f3f46!important;color:#e4e4e7!important}body.dark-mode .btn-back:hover{background-color:#1c1c1c!important}body.dark-mode .tab-note{background-color:#1c1c1c!important;border-color:#27272a!important;color:#fb923c!important}body.dark-mode .module-card-selectable,body.dark-mode .module-card-readonly{background-color:#18181b!important;border-color:#27272a!important}body.dark-mode .module-card-selectable label{color:#e4e4e7!important}body.dark-mode .module-card-selectable input[type=radio],body.dark-mode .module-card-selectable input[type=checkbox]{accent-color:#f97316}body.dark-mode .attendance-container,body.dark-mode .detail-container{background-color:#000!important}body.dark-mode .header-section,body.dark-mode .top-bar,body.dark-mode .profile-card,body.dark-mode .table-container,body.dark-mode .logs-container{background-color:#121212!important;border-color:#27272a!important;box-shadow:0 10px 25px -5px #00000080!important}body.dark-mode .header-section h1,body.dark-mode .page-title h1,body.dark-mode .profile-info h2,body.dark-mode .logs-title,body.dark-mode .stat-info h3{color:#fff!important}body.dark-mode .stat-card{background-color:#121212!important;border-color:#27272a!important}body.dark-mode .stat-info p,body.dark-mode .header-subtitle,body.dark-mode .page-title p,body.dark-mode .profile-role{color:#a1a1aa!important}body.dark-mode .custom-table,body.dark-mode .detail-table{background-color:transparent!important}body.dark-mode .custom-table th,body.dark-mode .detail-table th{background-color:#09090b!important;color:#a1a1aa!important;border-bottom-color:#27272a!important}body.dark-mode .custom-table td,body.dark-mode .detail-table td{border-bottom-color:#1c1c1c!important;color:#e4e4e7!important}body.dark-mode .custom-table tr:hover,body.dark-mode .detail-table tr:hover{background-color:#18181b!important}body.dark-mode .filters-panel,body.dark-mode .pagination-panel{background-color:#09090b!important;border-color:#27272a!important}body.dark-mode .filter-input,body.dark-mode .search-input{background-color:#000!important;border-color:#3f3f46!important;color:#fff!important}body.dark-mode .avatar-circle,body.dark-mode .avatar-large{background-color:#27272a!important;color:#fff!important;border-color:#121212!important}body.dark-mode .btn-action-detail,body.dark-mode .btn-back{background-color:#18181b!important;border-color:#27272a!important;color:#fff!important}body.dark-mode .btn-action-detail:hover,body.dark-mode .btn-back:hover{background-color:#27272a!important}@media print{html,body{height:auto!important;overflow:visible!important;background:#fff!important}app-header,app-sidebar,app-global-toast,.sidebar-overlay,.main-header,.sidebar-container{display:none!important}.layout-wrapper,.below-header-container,.page-content{display:block!important;height:auto!important;min-height:0!important;overflow:visible!important;background:#fff!important}.page-content{width:100%!important;margin:0!important;padding:0!important}}
