*{box-sizing:border-box}:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;color:#212529;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}.input-wrapper{width:100%;margin-bottom:1.5rem}.input-label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.input-field{width:100%;padding:.75rem 1rem;font-size:1rem;border:1px solid #d1d5db;border-radius:.5rem;transition:all .2s ease;background-color:#fff;color:#1f2937}.input-field:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.input-field::placeholder{color:#9ca3af}.input-field.input-error{border-color:#ef4444}.input-field.input-error:focus{box-shadow:0 0 0 3px #ef44441a}.input-error-message{display:block;margin-top:.5rem;font-size:.875rem;color:#ef4444}.btn{padding:.75rem 1.5rem;font-size:1rem;font-weight:500;border:none;border-radius:.5rem;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background-color:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background-color:#f3f4f6;color:#374151}.btn-secondary:hover:not(:disabled){background-color:#e5e7eb}.btn-full{width:100%}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:1rem}.login-card{background:#fff;border-radius:1rem;box-shadow:0 20px 60px #0000004d;width:100%;max-width:440px;padding:2.5rem;animation:slideUp .5s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:2rem}.login-logo{height:60px;width:auto;margin-bottom:1.5rem;object-fit:contain}.login-title{font-size:1.875rem;font-weight:700;color:#1f2937;margin:0 0 .5rem}.login-subtitle{font-size:1rem;color:#6b7280;margin:0}.login-form{margin-bottom:1.5rem}.error-message{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:.75rem 1rem;border-radius:.5rem;font-size:.875rem;margin-bottom:1rem;text-align:center}.login-actions{display:flex;justify-content:flex-end;margin-bottom:1.5rem}.forgot-password{font-size:.875rem;color:#3b82f6;text-decoration:none;font-weight:500;transition:color .2s ease}.forgot-password:hover{color:#2563eb;text-decoration:underline}.login-footer{text-align:center;padding-top:1.5rem;border-top:1px solid #e5e7eb}.login-footer p{font-size:.875rem;color:#9ca3af;margin:0}@media(max-width:640px){.login-card{padding:2rem 1.5rem}.login-title{font-size:1.5rem}.login-logo{height:50px}}.dashboard{background:#f9fafb;padding:0}.key-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:2rem;position:relative;z-index:1}.metric-card{background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a;transition:transform .2s ease,box-shadow .2s ease}.metric-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.metric-card.large{display:flex;align-items:center;gap:1.5rem;padding:2rem}.metric-card.blue{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.metric-card.grey{background:#f3f4f6}.metric-icon{flex-shrink:0}.metric-content{flex:1}.metric-label{font-size:.875rem;color:#6b7280;margin-bottom:.5rem;font-weight:500}.metric-value{font-size:2rem;font-weight:700;color:#1f2937}.metric-title{font-size:.875rem;color:#6b7280;margin-bottom:.75rem;font-weight:500}.metric-value-large{font-size:1.75rem;font-weight:700;color:#1f2937;margin-bottom:1rem}.metric-chart{width:100%;height:60px}.time-period-selector{display:flex;gap:1rem;margin-bottom:2rem;position:relative;z-index:1}.period-btn{padding:.5rem 1.5rem;border:none;background:transparent;color:#6b7280;font-size:1rem;font-weight:500;cursor:pointer;border-radius:.5rem;transition:all .2s ease}.period-btn.active{background:#f3f4f6;color:#1f2937;font-weight:600}.period-btn:hover{background:#f3f4f6}.metrics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;position:relative;z-index:1}@media(max-width:1024px){.key-metrics,.metrics-grid{grid-template-columns:1fr}}@media(max-width:640px){.dashboard{padding:1rem}.metric-card.large{padding:1.5rem}.metric-value,.metric-value-large{font-size:1.5rem}}.filters-container{background:#fff;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #0000001a}.filters-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr auto;gap:1rem;align-items:end}.filter-group{display:flex;flex-direction:column}.filter-label{font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.filter-input,.filter-select{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.9375rem;color:#1f2937;background:#fff;transition:border-color .2s ease}.filter-input:focus,.filter-select:focus{outline:none;border-color:#3b82f6}.filter-input::placeholder{color:#9ca3af}.filter-clear-btn{padding:.5rem 1rem;background:#ef4444;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s ease;white-space:nowrap}.filter-clear-btn:hover{background:#dc2626}@media(max-width:1024px){.filters-row{grid-template-columns:1fr 1fr}.filter-group:last-child{grid-column:1 / -1}}@media(max-width:640px){.filters-row{grid-template-columns:1fr}.filter-group:last-child{grid-column:1}}.tbl-wrapper{width:100%;overflow-x:auto;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.tbl{width:100%;border-collapse:collapse;min-width:640px}.tbl thead th{text-align:left;padding:12px 14px;border-bottom:1px solid #e5e7eb;color:#374151;font-weight:600;font-size:14px;background:#f9fafb}.tbl tbody td{padding:12px 14px;border-bottom:1px solid #f3f4f6;color:#111827;font-size:14px}.tbl-empty{text-align:center;color:#6b7280;padding:16px 0}.table-avatar{display:flex;align-items:center}.table-avatar img{width:40px;height:40px;border-radius:50%;object-fit:cover}.table-avatar-fallback{width:40px;height:40px;border-radius:50%;background:#e5e7eb;display:flex;align-items:center;justify-content:center;color:#374151;font-weight:600;font-size:14px}.users-page{padding:24px}.users-title{margin:0 0 16px}.users-status{color:#6c757d}.users-error{color:#b00020;margin-top:8px}.users-list{display:flex;flex-direction:column;gap:20px}.user-card{display:flex;align-items:center;gap:16px;padding:16px;background:#fff;border-radius:12px;box-shadow:0 6px 18px #0000000f}.user-avatar{width:88px;height:88px;border-radius:50%;overflow:hidden;flex:0 0 auto}.user-avatar img{width:100%;height:100%;object-fit:cover}.user-avatar-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#e5e7eb;color:#374151;font-weight:600;font-size:20px}.user-info{display:flex;flex-direction:column}.user-name-row{display:flex;align-items:center;gap:8px}.user-name{font-size:20px;font-weight:600}.user-crown{font-size:18px}.user-specialty{color:#6b7280;margin-top:2px}.user-meta{display:flex;gap:24px;margin-top:8px;flex-wrap:wrap}.user-meta-item .label{color:#6b7280;margin-right:8px}.user-meta-item .value{font-weight:600}.users-empty{color:#6c757d;text-align:center;padding:16px 0}.user-details-page{padding:2rem;max-width:1200px;margin:0 auto}.back-button{margin-bottom:1.5rem;padding:.625rem 1rem;border-radius:8px;border:1px solid #e5e7eb;background:#fff;cursor:pointer;font-size:.9375rem;font-weight:500;color:#374151;transition:all .2s ease;display:inline-flex;align-items:center;gap:.5rem}.back-button:hover{background:#f9fafb;border-color:#d1d5db}.user-details-card{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 1px 3px #0000001a;margin-bottom:1.5rem}.profile-header{display:flex;gap:1.5rem;align-items:flex-start;padding-bottom:1.5rem;border-bottom:1px solid #e5e7eb}.profile-avatar{width:120px;height:120px;border-radius:50%;overflow:"hidden";background:#e5e7eb;flex-shrink:0;border:3px solid #ffffff;box-shadow:0 4px 6px #0000001a}.profile-info{flex:1;display:flex;flex-direction:column;gap:.5rem}.profile-name{font-size:1.75rem;font-weight:700;color:#111827;margin:0}.profile-email{color:#6b7280;font-size:1rem}.profile-specialty{color:#3b82f6;font-size:1rem;font-weight:500;margin-top:.25rem}.info-section{margin-top:1.5rem}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:1rem}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-label{font-size:.875rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.info-value{font-size:1rem;color:#111827;line-height:1.5}.section-title{font-size:1.25rem;font-weight:700;color:#111827;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #e5e7eb}.section-content{margin-top:1.5rem}.loading-state,.error-state{text-align:center;padding:3rem;color:#6b7280}.error-state{color:#dc2626;background:#fef2f2;border-radius:8px;padding:1rem;margin-bottom:1rem}@media(max-width:768px){.user-details-page{padding:1rem}.profile-header{flex-direction:column;align-items:center;text-align:center}.info-grid{grid-template-columns:1fr}}.profile-loading{font-size:.95rem;color:#6b7280}.profile-error{padding:.75rem 1rem;border-radius:.75rem;background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;font-size:.9375rem}.profile-card{display:flex;flex-direction:column;gap:2rem}.profile-header{display:flex;align-items:center;gap:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #e5e7eb}.profile-avatar-wrapper{position:relative;display:inline-flex}.profile-avatar{width:96px;height:96px;border-radius:50%;overflow:hidden;background:#e5e7eb;color:#374151;display:flex;align-items:center;justify-content:center;font-size:2.5rem;font-weight:600;text-transform:uppercase;flex-shrink:0}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-avatar-input{display:none}.profile-avatar-edit{position:absolute;bottom:-4px;right:-4px;width:32px;height:32px;border-radius:50%;border:none;background:#1f2937;color:#f9fafb;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.9rem;box-shadow:0 4px 8px #0f172a33;transition:transform .2s ease,background-color .2s ease}.profile-avatar-edit:hover:not(:disabled){transform:scale(1.05);background:#111827}.profile-avatar-edit:disabled{opacity:.6;cursor:wait}.profile-avatar-initial{line-height:1}.profile-meta{display:flex;flex-direction:column;gap:.5rem}.profile-name{margin:0;font-size:1.75rem;font-weight:700;color:#111827}.profile-email{margin:0;font-size:1rem;color:#6b7280}.profile-status{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;border-radius:9999px;font-size:.8125rem;font-weight:600;background:#eef2ff;color:#4338ca}.profile-status-active{background:#ecfdf5;color:#047857}.profile-status-inactive{background:#fef2f2;color:#b91c1c}.profile-status-pending{background:#fef3c7;color:#b45309}.profile-content{display:flex;flex-direction:column;gap:2rem}.profile-form-error{font-size:.9rem;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;padding:.5rem .75rem;border-radius:.75rem}.profile-upload-status{font-size:.9rem;color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe;padding:.5rem .75rem;border-radius:.75rem}.profile-section{display:flex;flex-direction:column;gap:1.25rem}.profile-section-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.profile-edit-btn{border:none;background:#1f2937;color:#f9fafb;padding:.5rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:background-color .2s ease,transform .2s ease}.profile-edit-btn:hover{background:#111827;transform:translateY(-1px)}.profile-edit-btn:disabled{opacity:.6;cursor:not-allowed}.profile-section-title{margin:0;font-size:1.125rem;font-weight:600;color:#111827}.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem}.profile-grid-split{grid-template-columns:2fr 3fr;gap:2rem}.profile-section-password{max-width:640px;width:100%}.profile-section-form,.profile-section-info,.profile-section-password{background:#f9fafb;border-radius:1rem;padding:1.5rem;border:1px solid #e5e7eb}.profile-form{display:flex;flex-direction:column;gap:1rem}.profile-label{font-size:.875rem;font-weight:600;color:#374151}.profile-input{border:1px solid #d1d5db;border-radius:.5rem;padding:.65rem .85rem;font-size:.95rem;transition:border-color .2s ease,box-shadow .2s ease}.profile-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.profile-input-wrapper{position:relative;display:flex;align-items:center}.profile-input-wrapper .profile-input{width:100%;padding-right:2.75rem}.profile-input-toggle{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);border:none;background:transparent;cursor:pointer;font-size:1.1rem;line-height:1;color:#6b7280;transition:color .2s ease,transform .2s ease}.profile-input-toggle:hover{color:#1f2937;transform:translateY(-50%) scale(1.05)}@media(hover:none){.profile-input-toggle:hover{transform:translateY(-50%)}}.profile-form-actions{display:flex;justify-content:flex-end;gap:.75rem}.profile-cancel-btn{padding:.65rem 1.25rem;background:#f3f4f6;color:#1f2937;border:none;border-radius:.5rem;font-size:.95rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.profile-cancel-btn:hover:not(:disabled){background:#e5e7eb}.profile-cancel-btn:disabled{opacity:.6;cursor:wait}.profile-save-btn{padding:.65rem 1.5rem;background:#2563eb;color:#fff;border:none;border-radius:.5rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:background-color .2s ease,transform .2s ease}.profile-save-btn:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px)}.profile-save-btn:disabled{opacity:.6;cursor:wait}.profile-details-readonly{display:grid;gap:1rem}.profile-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem}.profile-password-form{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.profile-password-feedback{padding:.625rem .75rem;border-radius:.75rem;font-size:.9rem;font-weight:500}.profile-password-feedback-success{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.profile-password-feedback-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.profile-field{display:flex;flex-direction:column;gap:.25rem}.profile-field-label{font-size:.8125rem;text-transform:uppercase;letter-spacing:.6px;color:#6b7280;font-weight:600}.profile-field-value{font-size:1rem;color:#111827;word-break:break-word}.profile-field-mono{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.875rem;color:#1f2937}@media(max-width:768px){.settings-page{padding:1.5rem}.profile-header{flex-direction:column;align-items:center;text-align:center}.profile-grid,.profile-grid-split,.profile-info-grid{grid-template-columns:1fr}.profile-section-form,.profile-section-info{padding:1rem}.profile-section-password{max-width:none}.profile-form-actions{flex-direction:column-reverse;justify-content:stretch;gap:.5rem}.profile-save-btn,.profile-cancel-btn{width:100%}}@media(max-width:480px){.settings-page{padding:1rem}.profile-avatar{width:80px;height:80px;font-size:2rem}}.roles-feedback{padding:.75rem 1rem;border-radius:.75rem;font-size:.9375rem;font-weight:500}.roles-feedback-success{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.roles-feedback-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.roles-layout{display:flex;gap:1.5rem;align-items:flex-start;flex-wrap:wrap}.roles-main{flex:2;min-width:320px}.roles-sidebar{flex:1;min-width:280px;display:flex;flex-direction:column;gap:1.5rem}.roles-card-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.roles-card-title{margin:0;font-size:1.125rem;font-weight:600;color:#111827}.roles-refresh,.roles-reset{border:none;background:#f3f4f6;color:#1f2937;padding:.5rem .875rem;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.roles-refresh:disabled{cursor:wait;opacity:.7}.roles-refresh:hover:not(:disabled),.roles-reset:hover:not(:disabled){background:#e5e7eb}.roles-status{color:#6b7280;font-size:.95rem}.roles-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;border-radius:.75rem;padding:.75rem 1rem;font-size:.9375rem;margin-bottom:1rem}.roles-actions{display:flex;gap:.5rem;flex-wrap:wrap}.roles-action-btn{border:none;background:#e5e7eb;color:#1f2937;padding:.5rem .75rem;border-radius:.5rem;font-size:.8125rem;font-weight:500;cursor:pointer;transition:background-color .2s ease,color .2s ease}.roles-action-btn:hover:not(:disabled){background:#d1d5db}.roles-action-btn.active{background:#dbeafe;color:#1d4ed8;font-weight:600}.roles-action-btn.danger{background:#fee2e2;color:#b91c1c}.roles-action-btn.danger:hover:not(:disabled){background:#fecaca}.roles-action-btn:disabled{opacity:.6;cursor:not-allowed}.roles-form{display:flex;flex-direction:column;gap:.75rem}.roles-label{font-size:.875rem;font-weight:500;color:#374151}.roles-input,.roles-textarea{width:100%;border:1px solid #d1d5db;border-radius:.5rem;padding:.625rem .75rem;font-size:.95rem;color:#111827;transition:border-color .2s ease,box-shadow .2s ease}.roles-textarea{resize:vertical;min-height:120px}.roles-input:focus,.roles-textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.roles-details{display:flex;flex-direction:column;gap:.75rem}.roles-details-item{display:flex;flex-direction:column;gap:.25rem}.roles-details-label{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.6px}.roles-details-value{font-size:.95rem;color:#111827;word-break:break-word}.roles-empty-details{margin:0;color:#6b7280;font-size:.95rem}@media(max-width:1024px){.roles-layout{flex-direction:column}.roles-sidebar{width:100%}}@media(max-width:640px){.settings-page{padding:1rem}.roles-card-header{flex-direction:column;align-items:flex-start}.roles-refresh,.roles-reset{width:100%}}.settings-page{display:flex;flex-direction:column;gap:1.5rem;padding:2rem}.settings-header{display:flex;flex-direction:column;gap:.5rem}.settings-title{margin:0;font-size:1.75rem;font-weight:700;color:#111827}.settings-subtitle{margin:0;font-size:1rem;color:#6b7280}.settings-card{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 1px 3px #0000001a}.settings-placeholder{margin:0;color:#6b7280;font-size:1rem}.status-feedback{padding:.75rem 1rem;border-radius:.75rem;font-size:.9375rem;font-weight:500}.status-feedback-success{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.status-feedback-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.status-layout{display:flex;gap:1.5rem;align-items:flex-start;flex-wrap:wrap}.status-main{flex:2;min-width:320px}.status-sidebar{flex:1;min-width:280px;display:flex;flex-direction:column;gap:1.5rem}.status-card-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.status-card-title{margin:0;font-size:1.125rem;font-weight:600;color:#111827}.status-refresh,.status-reset{border:none;background:#f3f4f6;color:#1f2937;padding:.5rem .875rem;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.status-refresh:disabled{cursor:wait;opacity:.7}.status-refresh:hover:not(:disabled),.status-reset:hover:not(:disabled){background:#e5e7eb}.status-status{color:#6b7280;font-size:.95rem}.status-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;border-radius:.75rem;padding:.75rem 1rem;font-size:.9375rem;margin-bottom:1rem}.status-actions{display:flex;gap:.5rem;flex-wrap:wrap}.status-action-btn{border:none;background:#e5e7eb;color:#1f2937;padding:.5rem .75rem;border-radius:.5rem;font-size:.8125rem;font-weight:500;cursor:pointer;transition:background-color .2s ease,color .2s ease}.status-action-btn:hover:not(:disabled){background:#d1d5db}.status-action-btn.active{background:#dbeafe;color:#1d4ed8;font-weight:600}.status-action-btn.danger{background:#fee2e2;color:#b91c1c}.status-action-btn.danger:hover:not(:disabled){background:#fecaca}.status-action-btn:disabled{opacity:.6;cursor:not-allowed}.status-form{display:flex;flex-direction:column;gap:.75rem}.status-label{font-size:.875rem;font-weight:500;color:#374151}.status-input{width:100%;border:1px solid #d1d5db;border-radius:.5rem;padding:.625rem .75rem;font-size:.95rem;color:#111827;transition:border-color .2s ease,box-shadow .2s ease}.status-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.status-details{display:flex;flex-direction:column;gap:.75rem}.status-details-item{display:flex;flex-direction:column;gap:.25rem}.status-details-label{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.6px}.status-details-value{font-size:.95rem;color:#111827;word-break:break-word}.status-empty-details{margin:0;color:#6b7280;font-size:.95rem}@media(max-width:1024px){.status-layout{flex-direction:column}.status-sidebar{width:100%}}@media(max-width:640px){.settings-page{padding:1rem}.status-card-header{flex-direction:column;align-items:flex-start}.status-refresh,.status-reset{width:100%}}.admin-layout{display:flex;min-height:100vh;background:#f9fafb}.sidebar{width:260px;background:#fff;border-right:1px solid #e5e7eb;transition:width .3s ease;display:flex;flex-direction:column;position:fixed;left:0;top:0;height:100vh;z-index:100}.sidebar.closed{width:80px}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.25rem;border-bottom:1px solid #e5e7eb}.sidebar-logo{font-size:1.25rem;font-weight:700;color:#1f2937}.sidebar.closed .sidebar-logo{display:none}.sidebar-toggle{background:none;border:none;font-size:1.25rem;cursor:pointer;color:#6b7280;padding:.5rem;border-radius:.375rem;transition:background-color .2s ease}.sidebar-toggle:hover{background-color:#f3f4f6}.sidebar-nav{flex:1;padding:1rem .75rem;display:flex;flex-direction:column;gap:.5rem}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:.5rem;text-decoration:none;color:#6b7280;transition:all .2s ease;font-weight:500}.nav-parent{width:100%;background:none;border:none;text-align:left;cursor:pointer;padding:0}.nav-caret{margin-left:auto;font-size:.875rem;color:#6b7280;transition:transform .2s ease}.nav-submenu{display:none;flex-direction:column;gap:.25rem;padding:.25rem 0 .25rem 2.75rem}.nav-submenu.open{display:flex}.nav-subitem{color:#6b7280;text-decoration:none;font-size:.875rem;font-weight:500;padding:.5rem .75rem;border-radius:.5rem;transition:background-color .2s ease,color .2s ease}.nav-subitem.active{background-color:#dbeafe;color:#3b82f6}.nav-group.collapsed .nav-submenu{padding-left:1rem;align-items:center}.nav-group.collapsed .nav-subitem{padding:.5rem;font-size:.75rem}.nav-item:hover{background-color:#f3f4f6;color:#1f2937}.nav-item.active{background-color:#dbeafe;color:#3b82f6}.sidebar.closed .nav-label{display:none}.nav-icon{font-size:1.25rem;flex-shrink:0}.nav-label{font-size:.9375rem}.nav-item.nav-parent{border:none;background:transparent;width:100%;cursor:pointer;display:flex;align-items:center;gap:.75rem;font:inherit;color:inherit;text-align:left;padding:.75rem 1rem}.nav-item.nav-parent:hover{background-color:#f3f4f6;color:#1f2937}.nav-group{display:flex;flex-direction:column}.nav-caret{margin-left:auto;font-size:.75rem;color:#9ca3af;transition:transform .2s ease}.nav-caret.open{transform:rotate(180deg)}.nav-submenu{max-height:0;overflow:hidden;display:flex;flex-direction:column;margin-left:2.5rem;transition:max-height .25s ease}.nav-submenu.open{max-height:160px}.nav-subitem{padding:.5rem .75rem;border-radius:.5rem;color:#6b7280;text-decoration:none;font-size:.875rem;transition:background-color .2s ease,color .2s ease}.nav-subitem:hover{background-color:#f3f4f6;color:#1f2937}.nav-subitem.active{background-color:#eff6ff;color:#2563eb;font-weight:600}.sidebar.closed .nav-submenu{margin-left:0;align-items:center}.sidebar.closed .nav-subitem{width:40px;height:32px;display:flex;align-items:center;justify-content:center;font-size:.8125rem}.main-content{flex:1;margin-left:260px;display:flex;flex-direction:column;transition:margin-left .3s ease;min-height:100vh}.admin-layout .sidebar.closed~.main-content{margin-left:80px}.navbar{background:#fff;border-bottom:1px solid #e5e7eb;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:10}.navbar-left{display:flex;align-items:center}.navbar-profile{display:flex;align-items:center;gap:.75rem}.navbar-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;background:#e5e7eb;color:#374151;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem;text-transform:uppercase}.navbar-avatar img{width:100%;height:100%;object-fit:cover}.navbar-avatar-initial{line-height:1}.navbar-profile-info{display:flex;flex-direction:column}.profile-name{font-weight:600;color:#1f2937;font-size:.9375rem}.profile-role{font-size:.8125rem;color:#6b7280}.navbar-right{display:flex;align-items:center;gap:1rem}.notification-bell{position:relative;cursor:pointer;padding:.5rem;border-radius:.375rem;transition:background-color .2s ease}.notification-bell:hover{background-color:#f3f4f6}.notification-badge{position:absolute;top:0;right:0;background:#ef4444;color:#fff;font-size:.75rem;font-weight:700;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center}.logout-btn{padding:.5rem 1.25rem;background:#ef4444;color:#fff;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:background-color .2s ease}.logout-btn:hover{background:#dc2626}.content-wrapper{flex:1;padding:2rem}@media(max-width:768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-content{margin-left:0}.admin-layout .sidebar.closed~.main-content{margin-left:0}.content-wrapper,.navbar{padding:1rem}.profile-name,.profile-role{display:none}}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background-color:#f8f9fa;padding:2rem;text-align:center;border-bottom:1px solid #e9ecef}.app-header h1{margin:0 0 .5rem;color:#212529;font-size:2.5rem;font-weight:600}.app-header p{margin:0;color:#6c757d;font-size:1.1rem}.app-main{flex:1;padding:2rem;max-width:1200px;margin:0 auto;width:100%}.content{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.content h2{margin:0 0 1rem;color:#212529;font-size:1.5rem}.content p{margin:0;color:#6c757d;line-height:1.6}
