@charset "UTF-8";.admin-page{margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid var(--gray-400)}@media (max-width: 768px){.page-header{flex-direction:column;gap:1rem;text-align:center}}.page-header h1{color:var(--gray-900);margin:0;font-size:2rem;font-weight:600}@media (max-width: 768px){.page-header h1{font-size:1.5rem}}.page-header .page-description{margin:0;color:var(--gray-900);font-size:.95rem;line-height:1.4}.header-content{flex:1;min-width:0}.header-actions{display:flex;gap:.75rem;flex-shrink:0}@media (max-width: 768px){.header-actions{width:100%;justify-content:stretch}.header-actions .btn{width:100%;justify-content:center}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;border:none;border-radius:8px;font-size:.9rem;font-weight:500;text-decoration:none;cursor:pointer;transition:all .2s ease;white-space:nowrap;min-height:44px}@media (max-width: 768px){.btn{flex:1;padding:.875rem 1rem}}.btn:disabled{opacity:.6;cursor:not-allowed}.btn.btn-primary{background:var(--primary-color);color:#fff}.btn.btn-primary:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px)}.btn.btn-primary:active{transform:translateY(0)}.btn.btn-secondary{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color)}.btn.btn-secondary:hover:not(:disabled){background:var(--hover-color);color:var(--text-primary)}.btn.btn-danger{background:var(--error-color);color:#fff}.btn.btn-danger:hover:not(:disabled){background:#dc2626;transform:translateY(-1px)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:var(--text-secondary)}.loading-state .loading-spinner{width:40px;height:40px;border:4px solid var(--border-color);border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.loading-state p{margin:0;font-size:.9rem}.spinning{animation:spin 1s linear infinite}.modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:modalFadeIn .3s cubic-bezier(.16,1,.3,1)}.modal-container{background:var(--surface-color);border-radius:16px;box-shadow:0 25px 50px #00000040;max-width:calc(100vw - 200px);max-height:calc(100vh - 100px);width:100%;display:flex;flex-direction:column;animation:modalSlideIn .4s cubic-bezier(.16,1,.3,1);overflow:hidden}.modal-container.modal-large{max-width:800px}.modal-container.modal-small{max-width:400px}.modal-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--border-color);background:var(--primary-color)}.modal-title{margin:0;font-size:1.375rem;font-weight:600;color:var(--surface-color);display:flex;align-items:center;gap:.5rem}.close-button{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:8px;padding:.5rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.close-button:hover{background:#ffffff4d;transform:scale(1.05)}.modal-body{flex:1;overflow-y:auto;padding:1.5rem;min-height:0}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:4px}.modal-body::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.modal-body::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.modal-footer{flex-shrink:0;display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:1px solid var(--border-color);background:var(--surface-color)}@media (max-width: 768px){.modal-footer{flex-direction:column-reverse}.modal-footer .btn{width:100%}}.form-group{margin-bottom:1.5rem}.form-group:last-child{margin-bottom:0}.form-group.full-width{grid-column:1/-1}.form-label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary);font-size:.9rem}.form-input,.form-textarea,.form-select{width:100%;padding:.75rem 1rem;border:2px solid var(--border-color);border-radius:8px;background:var(--input-bg);color:var(--text-primary);font-size:.9rem;transition:all .2s ease;box-sizing:border-box}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--primary-color);background:var(--surface-color);box-shadow:0 0 0 3px #3b82f61a}.form-input.error,.form-textarea.error,.form-select.error{border-color:var(--error-color)}.form-input.error:focus,.form-textarea.error:focus,.form-select.error:focus{border-color:var(--error-color);box-shadow:0 0 0 3px #ef44441a}.form-input::placeholder,.form-textarea::placeholder,.form-select::placeholder{color:var(--text-muted)}.form-textarea{resize:vertical;min-height:80px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}@media (max-width: 768px){.form-grid{grid-template-columns:1fr}}.form-help{display:block;margin-top:.5rem;font-size:.8rem;color:var(--text-secondary);font-style:italic}.error-message{display:block;margin-top:.5rem;color:var(--error-color);font-size:.8rem;font-weight:500}.table-container{background:var(--surface-color);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #00000014;border:1px solid var(--border-color)}.status-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.status-badge.status-active{background:#dcfce7;color:#166534}.status-badge.status-inactive{background:#fee2e2;color:#991b1b}.status-badge.status-maintenance{background:#fef3c7;color:#92400e}.status-badge.status-pending{background:#dbeafe;color:#1e40af}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.refresh-btn,.add-user-btn,.add-role-btn,.add-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--wedo-blue);color:#fff;border:none;border-radius:.5rem;cursor:pointer;font-weight:500;transition:all .2s}.refresh-btn:hover:not(:disabled),.add-user-btn:hover:not(:disabled),.add-role-btn:hover:not(:disabled),.add-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.refresh-btn:disabled,.add-user-btn:disabled,.add-role-btn:disabled,.add-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.refresh-icon{transition:transform .2s}.refresh-icon.spinning{animation:spin 1s linear infinite}@media (max-width: 768px){.modal-container{max-width:95vw;margin:.5rem}.modal-header,.modal-body,.modal-footer{padding-left:1rem;padding-right:1rem}}@media (prefers-color-scheme: dark){.modal-container{box-shadow:0 25px 50px #00000080}.table-container{box-shadow:0 2px 8px #0003}}body{margin:unset;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--bright-blue: oklch(51.01% .274 263.83);--electric-violet: oklch(53.18% .28 296.97);--french-violet: oklch(47.66% .246 305.88);--vivid-pink: oklch(69.02% .277 332.77);--hot-red: oklch(61.42% .238 15.34);--orange-red: oklch(63.32% .24 31.68);--wedo-green: oklch(81.048% .27013 142.815);--wedo-black: oklch(0% 0 0);--wedo-white: oklch(100% 0 0);--wedo-blue: #2C7BB9;--wedo-light-blue: oklch(70% .15 263.83);--gray-900: oklch(19.37% .006 300.98);--gray-700: oklch(36.98% .014 302.71);--gray-400: oklch(70.9% .015 304.04);--primary-color: var(--wedo-blue);--primary-light: #e0e7ff;--primary-dark: var(--gray-900);--surface-color: #ffffff;--bg-secondary: #f8fafc;--text-primary: #1f2937;--text-secondary: #6b7280;--text-muted: #9ca3af;--border-color: #e2e8f0;--hover-color: #ccd6df;--input-bg: #ffffff;--error-color: #ef4444;--wedo-sidebar-menu-row-horizontal-gradient: linear-gradient( 90deg, var(--wedo-blue) 0%, var(--wedo-blue) 50%, transparent 100% );--wedo-nav-horizontal-gradient: linear-gradient( 90deg, var(--wedo-black) 0%, var(--wedo-blue) 100% )}h1{font-size:3.125rem;color:var(--gray-900);font-weight:500;line-height:100%;letter-spacing:-.125rem;margin:0;font-family:Inter Tight,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol}p{margin:0;color:var(--gray-700)}nav.navbar{display:flex;justify-content:space-between;align-items:center;padding:0 2rem;height:64px;background:var(--wedo-nav-horizontal-gradient);box-shadow:0 2px 8px #0000000a}.navbar-logo{display:flex;align-items:center;font-size:1.5rem;font-weight:700;color:#fff!important;text-decoration:none;gap:.5rem}.navbar-menu{display:flex;gap:.5rem}.navbar-menu a{color:#fff;text-decoration:none;font-weight:500;font-size:1rem;transition:color .2s;cursor:pointer}.navbar-menu a:hover{color:#fff}.navbar-menu .logout-btn{transition:all .3s ease}.navbar-menu .logout-btn:hover{background:#fff3;color:#fff;transform:translateY(-1px)}main.main-content{min-height:calc(100vh - 64px);box-sizing:border-box;width:100%}main{width:100%;min-height:100%;box-sizing:inherit;position:relative}.main-center{display:flex;justify-content:center;align-items:center;width:100%;min-height:calc(100vh - 64px);padding:2rem;box-sizing:border-box}
