:root{--primary: #1a73e8;--primary-dark: #1557b0;--primary-light: #e8f0fe;--secondary: #5f6368;--secondary-light: #80868b;--success: #34a853;--success-light: #e6f4ea;--warning: #fbbc04;--warning-light: #fef7e0;--danger: #ea4335;--danger-light: #fce8e6;--info: #4285f4;--info-light: #e8f0fe;--white: #ffffff;--gray-50: #f8f9fa;--gray-100: #f1f3f4;--gray-200: #e8eaed;--gray-300: #dadce0;--gray-400: #bdc1c6;--gray-500: #9aa0a6;--gray-600: #80868b;--gray-700: #5f6368;--gray-800: #3c4043;--gray-900: #202124;--red-50: #fef2f2;--red-100: #fee2e2;--red-200: #fecaca;--red-300: #fca5a5;--red-400: #f87171;--red-500: #ef4444;--red-600: #dc2626;--red-700: #b91c1c;--red-800: #991b1b;--red-900: #7f1d1d;--green-50: #f0fdf4;--green-100: #dcfce7;--green-200: #bbf7d0;--green-300: #86efac;--green-400: #4ade80;--green-500: #22c55e;--green-600: #16a34a;--green-700: #15803d;--green-800: #166534;--green-900: #14532d;--blue-50: #eff6ff;--blue-100: #dbeafe;--blue-200: #bfdbfe;--blue-300: #93c5fd;--blue-400: #60a5fa;--blue-500: #3b82f6;--blue-600: #2563eb;--blue-700: #1d4ed8;--blue-800: #1e40af;--blue-900: #1e3a8a;--yellow-50: #fefce8;--yellow-100: #fef9c3;--yellow-200: #fef08a;--yellow-300: #fde047;--yellow-400: #facc15;--yellow-500: #eab308;--yellow-600: #ca8a04;--yellow-700: #a16207;--yellow-800: #854d0e;--yellow-900: #713f12;--shadow-sm: 0 1px 2px rgba(60, 64, 67, .1);--shadow-md: 0 2px 6px rgba(60, 64, 67, .15);--shadow-lg: 0 4px 12px rgba(60, 64, 67, .2);--shadow-xl: 0 8px 24px rgba(60, 64, 67, .25);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "Fira Code", "Consolas", monospace}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-family);font-size:1rem;line-height:1.6;color:var(--gray-800);background-color:var(--gray-50);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-dark)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;font-family:var(--font-family);font-size:.875rem;font-weight:500;line-height:1.5;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--white)}.btn-primary:hover:not(:disabled){background:var(--primary-dark);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--white);color:var(--gray-700);border:1px solid var(--gray-300)}.btn-secondary:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-400)}.btn-success{background:var(--success);color:var(--white)}.btn-success:hover:not(:disabled){background:#2d9249}.btn-danger{background:var(--danger);color:var(--white)}.btn-danger:hover:not(:disabled){background:#d93025}.btn-ghost{background:transparent;color:var(--gray-700)}.btn-ghost:hover:not(:disabled){background:var(--gray-100)}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.btn-md{padding:.625rem 1.25rem;font-size:.875rem}.btn-lg{padding:.875rem 1.75rem;font-size:1rem}.btn-icon{width:2.5rem;height:2.5rem;padding:0;border-radius:var(--radius-full)}.card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);overflow:hidden;transition:box-shadow var(--transition-normal)}.card:hover{box-shadow:var(--shadow-md)}.card-header{padding:1rem 1.25rem;border-bottom:1px solid var(--gray-200);background:var(--gray-50)}.card-body{padding:1.25rem}.card-footer{padding:1rem 1.25rem;border-top:1px solid var(--gray-200);background:var(--gray-50)}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;font-size:.75rem;font-weight:500;border-radius:var(--radius-full)}.badge-primary{background:var(--primary-light);color:var(--primary)}.badge-success{background:var(--success-light);color:var(--success)}.badge-warning{background:var(--warning-light);color:#9d7600}.badge-danger{background:var(--danger-light);color:var(--danger)}.form-input{width:100%;padding:.625rem .875rem;font-family:var(--font-family);font-size:.9375rem;color:var(--gray-800);background:var(--white);border:1px solid var(--gray-300);border-radius:var(--radius-md);transition:all var(--transition-fast)}.form-input:hover{border-color:var(--gray-400)}.form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.form-input::placeholder{color:var(--gray-500)}.form-label{display:block;margin-bottom:.375rem;font-size:.875rem;font-weight:500;color:var(--gray-700)}textarea.form-input{min-height:100px;resize:vertical}.form-select{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='%235f6368' 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 .75rem center;padding-right:2.5rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}.animate-fadeIn{animation:fadeIn var(--transition-normal) ease-out}.animate-slideUp{animation:slideUp var(--transition-normal) ease-out}.spinner{width:2rem;height:2rem;border:3px solid var(--gray-200);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@media (max-width: 768px){html{font-size:15px}.hide-mobile{display:none!important}}@media (max-width: 480px){html{font-size:14px}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--gray-400);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--gray-500)}@media print{body{background:#fff}.no-print{display:none!important}}.page-container{min-height:100%;background:var(--gray-50)}.page-header{background:var(--white);border-bottom:1px solid var(--gray-200);padding:1.5rem 2rem}.header-content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:1rem}.header-title h1{font-size:1.5rem;font-weight:600;color:var(--gray-900);margin:0;display:flex;align-items:center;gap:.75rem}.header-title h1 i{color:var(--primary)}.subtitle{margin:.25rem 0 0;color:var(--gray-500);font-size:.875rem}.page-content{max-width:1400px;margin:0 auto;padding:1.5rem 2rem}.search-bar{margin-bottom:1.5rem}.search-input-group{display:flex;align-items:center;background:var(--white);border:1px solid var(--gray-300);border-radius:8px;padding:0 1rem;max-width:400px}.search-input-group i{color:var(--gray-400)}.search-input{flex:1;border:none;padding:.75rem;font-size:.875rem;outline:none;background:transparent}.btn-clear{background:none;border:none;color:var(--gray-400);cursor:pointer;padding:.25rem}.btn-clear:hover{color:var(--gray-600)}.table-container{background:var(--white);border-radius:12px;border:1px solid var(--gray-200);overflow:hidden}.data-table{width:100%;border-collapse:collapse}.data-table th{background:var(--gray-50);padding:1rem;text-align:left;font-weight:600;font-size:.75rem;text-transform:uppercase;color:var(--gray-600);border-bottom:1px solid var(--gray-200)}.data-table td{padding:1rem;border-bottom:1px solid var(--gray-100);vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tr.locked,.data-table tr.warning-row{background:var(--red-50)}.data-table tr:hover{background:var(--gray-50)}.role-badge{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.role-admin{background:var(--red-100);color:var(--red-700)}.role-manager{background:var(--blue-100);color:var(--blue-700)}.role-user{background:var(--gray-100);color:var(--gray-700)}.role-none{background:var(--gray-50);color:var(--gray-400)}.status-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:4px;font-size:.75rem}.status-badge.active{background:var(--green-100);color:var(--green-700)}.status-badge.locked{background:var(--red-100);color:var(--red-700)}.status-badge.unconfirmed,.status-badge.pending{background:var(--yellow-100);color:var(--yellow-700)}.status-badge.expired{background:var(--red-100);color:var(--red-700)}.quota-badge,.subscription-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:4px;font-size:.75rem}.quota-badge.unlimited,.subscription-badge.unlimited{background:var(--green-100);color:var(--green-700)}.quota-badge.limited{background:var(--blue-100);color:var(--blue-700)}.subscription-badge.active{background:var(--green-100);color:var(--green-700)}.subscription-badge.expired{background:var(--red-100);color:var(--red-700)}.subscription-badge.none{background:var(--gray-100);color:var(--gray-500)}.actions-menu{display:flex;gap:.25rem}.btn-icon{width:32px;height:32px;border:none;background:var(--gray-100);border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--gray-600);transition:all .2s}.btn-icon:hover{background:var(--gray-200);color:var(--gray-900)}.btn-icon.btn-danger:hover{background:var(--red-100);color:var(--red-700)}.btn-icon.btn-success:hover{background:var(--green-100);color:var(--green-700)}.empty-state,.loading-state{padding:4rem 2rem;text-align:center}.empty-icon{font-size:3rem;color:var(--gray-300);margin-bottom:1rem}.empty-state h2{color:var(--gray-700);margin-bottom:.5rem}.empty-state p{color:var(--gray-500)}.loading-state .spinner{width:3rem;height:3rem;margin:0 auto 1rem}.loading-state p{color:var(--gray-500)}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem}.page-info{display:flex;flex-direction:column;align-items:center}.page-info small{color:var(--gray-500)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:var(--white);border-radius:12px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-content.modal-sm{max-width:400px}.modal-content.modal-lg{max-width:700px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--gray-200)}.modal-header h2{margin:0;font-size:1.125rem;display:flex;align-items:center;gap:.5rem}.btn-close{background:none;border:none;font-size:1.25rem;color:var(--gray-500);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center}.btn-close:hover{color:var(--gray-700)}.modal-body{padding:1.5rem}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--gray-200)}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-weight:500;margin-bottom:.5rem;color:var(--gray-700)}.form-group input[type=text],.form-group input[type=email],.form-group input[type=password],.form-group input[type=number],.form-group input[type=date],.form-group input[type=tel],.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--gray-300);border-radius:6px;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.form-group input:disabled{background:var(--gray-100);cursor:not-allowed}.form-group small{display:block;margin-top:.25rem;color:var(--gray-500);font-size:.75rem}.password-requirements{display:flex;flex-direction:column;gap:.25rem;margin-top:.5rem}.password-requirements small{display:flex;align-items:center;gap:.5rem;color:var(--red-500);font-size:.75rem}.password-requirements small.valid{color:var(--green-600)}.password-requirements small i{width:14px;text-align:center}.error-text{color:var(--red-500)!important;display:flex!important;align-items:center;gap:.25rem}.success-text{color:var(--green-600)!important;display:flex!important;align-items:center;gap:.25rem}.warning-text{color:var(--red-600);font-size:.875rem}.checkbox-group{display:flex;gap:1rem;flex-wrap:wrap}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.checkbox-label input[type=checkbox],.checkbox-label input[type=radio]{width:1rem;height:1rem;cursor:pointer}.date-inputs{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.date-field label{font-size:.75rem;color:var(--gray-500)}.form-divider,hr{border:none;border-top:1px solid var(--gray-200);margin:1.5rem 0}.user-info{display:flex;align-items:center;gap:.75rem}.user-avatar{width:40px;height:40px;border-radius:50%;background:var(--gray-100);display:flex;align-items:center;justify-content:center;color:var(--gray-500);font-size:1.5rem}.user-avatar.sm{width:32px;height:32px;font-size:1.25rem}.user-avatar.lg{width:56px;height:56px;font-size:2rem}.user-details{display:flex;flex-direction:column}.user-name{font-weight:500;color:var(--gray-900)}.user-email{font-size:.75rem;color:var(--gray-500)}.usage-card{text-align:center;padding:1.5rem;background:var(--gray-50);border-radius:8px}.usage-month{font-size:.875rem;color:var(--gray-500);text-transform:capitalize}.usage-value{font-size:2.5rem;font-weight:700;margin:.5rem 0}.usage-current{color:var(--primary)}.usage-separator{color:var(--gray-400);margin:0 .25rem}.usage-limit{color:var(--gray-600)}.usage-label{color:var(--gray-500);font-size:.875rem}.usage-bar{height:8px;background:var(--gray-200);border-radius:4px;margin-top:1rem;overflow:hidden}.usage-progress{height:100%;background:var(--primary);border-radius:4px;transition:width .3s}.subscription-info{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1rem;padding:.75rem;background:var(--yellow-50);border-radius:6px;color:var(--yellow-700);font-size:.875rem}.roles-list{display:flex;gap:.25rem;flex-wrap:wrap}.btn-danger{background:var(--red-600);color:#fff}.btn-danger:hover:not(:disabled){background:var(--red-700)}@media (max-width: 768px){.page-header,.page-content{padding:1rem}.header-content{flex-direction:column;align-items:flex-start}.data-table{display:block;overflow-x:auto}.actions-menu{flex-wrap:wrap}.search-input-group{max-width:100%}.date-inputs{grid-template-columns:1fr}.modal-content{margin:.5rem;max-height:calc(100vh - 1rem)}}
