.app-shell{background-color:var(--bg-primary,#f8fafc);min-height:100vh;color:var(--text-primary,#0f172a);flex-direction:column;display:flex}.app-body{flex-direction:row;flex:1;width:100%;min-height:calc(100vh - 57px);display:flex}.sidebar{box-sizing:border-box;background:#fff;border-right:1px solid #e2e8f0;flex-direction:column;padding:16px 12px;display:flex;flex-shrink:0!important;width:234px!important}.brand-section{border-bottom:1px solid var(--border-color);align-items:center;gap:12px;margin-bottom:24px;padding:0 8px 32px;display:flex}.brand-logo{background:linear-gradient(135deg, var(--primary), var(--accent));border-radius:var(--radius-md);width:36px;height:36px;color:var(--bg-primary);box-shadow:var(--shadow-glow);justify-content:center;align-items:center;font-weight:700;display:flex}.brand-title{letter-spacing:-.03em;background:linear-gradient(to right, var(--text-primary), var(--text-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.25rem;font-weight:700}.nav-menu{flex-direction:column;flex-grow:1;gap:6px;display:flex}.nav-item{border-radius:var(--radius-sm);color:var(--text-secondary);transition:all var(--transition-fast);cursor:pointer;align-items:center;gap:12px;padding:10px 14px;font-weight:500;text-decoration:none;display:flex}.nav-item:hover,.nav-item.active{color:var(--primary);background:#4dccd30f}.nav-item.active{border-left:3px solid var(--primary);border-top-left-radius:0;border-bottom-left-radius:0;font-weight:600}.sidebar-footer{border-top:1px solid var(--border-color);align-items:center;gap:10px;padding-top:16px;display:flex}.user-avatar{border-radius:var(--radius-full);background:var(--bg-tertiary);width:36px;height:36px;color:var(--primary);border:1px solid var(--border-color);justify-content:center;align-items:center;font-weight:600;display:flex}.user-info{flex-direction:column;display:flex}.user-name{font-size:.85rem;font-weight:600}.user-role{color:var(--text-muted);font-size:.75rem}.main-content{background-color:var(--bg-primary,#f8fafc);flex-direction:column;flex:1;min-width:0;padding:24px 32px;display:flex;overflow-y:auto}.header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:16px;margin-bottom:32px;padding-bottom:16px;display:flex}.header-title-section h1{margin-bottom:4px;font-size:1.75rem;font-weight:700}.header-title-section p{color:var(--text-secondary);font-size:.9rem}.header-actions{align-items:center;gap:12px;display:flex}.badge{border-radius:var(--radius-full);align-items:center;gap:6px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-success{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.badge-info{background:var(--info-bg);color:var(--info);border:1px solid var(--info-border)}.badge-warning{background:var(--warning-bg);color:var(--warning);border:1px solid var(--warning-border)}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:32px;display:grid}.stat-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all var(--transition-fast);flex-direction:column;padding:20px;display:flex}.stat-card:hover{border-color:var(--border-hover);transform:translateY(-2px)}.stat-header{color:var(--text-secondary);justify-content:space-between;align-items:center;margin-bottom:12px;font-size:.85rem;font-weight:500;display:flex}.stat-icon{color:var(--primary);opacity:.85}.stat-value{margin-bottom:4px;font-size:1.75rem;font-weight:700}.stat-change{align-items:center;gap:4px;font-size:.75rem;display:flex}.stat-change.up{color:var(--success)}.stat-change.down{color:var(--danger)}.dashboard-grid{grid-template-columns:2fr 1fr;gap:24px;margin-bottom:32px;display:grid}.panel{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:24px}.panel-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.panel-title{font-size:1.1rem;font-weight:600}.btn{border-radius:var(--radius-sm);transition:all var(--transition-fast);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-weight:600;display:inline-flex}.btn-primary{background:var(--primary);color:var(--bg-primary)}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary)}.btn-secondary:hover{background:var(--border-color)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{opacity:.9}.table-container{overflow-x:auto}.custom-table{border-collapse:collapse;text-align:left;width:100%}.custom-table th{background:var(--bg-tertiary);color:var(--text-secondary);border-bottom:1px solid var(--border-color);padding:14px 16px;font-size:.85rem;font-weight:600}.custom-table td{border-bottom:1px solid var(--border-color);vertical-align:middle;padding:14px 16px}.custom-table tr:hover td{background:var(--bg-tertiary)}.form-group{margin-bottom:20px}.form-group label{color:var(--text-secondary);margin-bottom:8px;font-size:.85rem;font-weight:600;display:block}.form-input,.form-select,.form-textarea{background:var(--bg-input,#fff);border:1px solid var(--border-input,#cbd5e1);border-radius:var(--radius-sm);width:100%;color:var(--text-primary,#0f172a);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);padding:10px 14px;font-family:inherit;font-size:.875rem}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--border-focus,#2976bb);box-shadow:0 0 0 3px var(--focus-ring,#2976bb33)}.modal-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);width:500px;max-width:90%;animation:slideUp var(--transition-normal);padding:24px;position:relative}@media (width<=992px){.dashboard-grid{grid-template-columns:1fr}}@media (width<=768px){.app-container{flex-direction:column}.sidebar{border-right:none;border-bottom:1px solid var(--border-color);width:100%;padding:16px}.brand-section{margin-bottom:16px;padding-bottom:16px}.nav-menu{flex-direction:row;padding-bottom:8px;overflow-x:auto}.nav-item{white-space:nowrap;padding:8px 12px}.nav-item.active{border-left:none;border-bottom:3px solid var(--primary);border-bottom-right-radius:0;border-bottom-left-radius:0}.sidebar-footer{display:none}.header{flex-direction:column;align-items:flex-start;gap:12px}}:root{--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-tertiary:#f1f5f9;--border-color:#e2e8f0;--border-hover:#cbd5e1;--primary:#2976bb;--primary-hover:#308cc2;--primary-glow:#2976bb1f;--accent:#4dccd3;--accent-hover:#42b6ce;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--text-placeholder:#94a3b8;--bg-input:#fff;--border-input:#cbd5e1;--border-focus:#2976bb;--focus-ring:#2976bb33;--success:#059669;--success-bg:#05966914;--success-border:#05966933;--danger:#dc2626;--danger-bg:#dc262614;--danger-border:#dc262633;--warning:#d97706;--warning-bg:#d9770614;--warning-border:#d9770633;--info:#2563eb;--info-bg:#2563eb14;--info-border:#2563eb33;--font-sans:"Poppins", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #00000026, 0 10px 10px -5px #0000000a;--shadow-glow:0 0 20px #4dccd31a;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:9999px;--transition-fast:.15s ease;--transition-normal:.25s cubic-bezier(.4, 0, .2, 1)}.dark-mode{--bg-primary:#0a0b0e;--bg-secondary:#12141a;--bg-tertiary:#1a1d26;--bg-input:#1a1d26;--border-color:#242834;--border-hover:#363d4f;--border-input:#363d4f;--border-focus:#4dccd3;--focus-ring:#4dccd340;--text-primary:#f3f4f6;--text-secondary:#9ca3af;--text-muted:#6b7280;--text-placeholder:#9ca3af;--success-bg:#10b9811a;--success-border:#10b98133;--danger-bg:#ef44441a;--danger-border:#ef444433;--warning-bg:#f59e0b1a;--warning-border:#f59e0b33;--info-bg:#3b82f61a;--info-border:#3b82f633;--shadow-glow:0 0 20px #4dccd333}*{box-sizing:border-box;border-style:solid;border-width:0;border-color:var(--border-color);margin:0;padding:0}html,body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%;font-size:14px;line-height:1.5;overflow-x:hidden}#root{flex-direction:column;min-height:100vh;display:flex}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}h1,h2,h3,h4,h5,h6{color:var(--text-primary);letter-spacing:-.02em;font-weight:600}a{color:var(--primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--primary-hover)}button{font-family:inherit;font-size:inherit;color:inherit;cursor:pointer;background:0 0;outline:none}.input-field,.form-input,.form-select,.form-textarea,input[type=text],input[type=number],input[type=email],input[type=password],input[type=date],input[type=datetime-local],input[type=time],input[type=search],input[type=url],input[type=tel],input:not([type]),select,textarea{box-sizing:border-box;padding:8px 12px;font-family:inherit;font-size:.875rem;line-height:1.5;transition:border-color .15s,box-shadow .15s,background-color .15s;box-shadow:0 1px 2px #0000000d;border-style:solid!important;border-width:1px!important;border-color:var(--border-input,#cbd5e1)!important;background-color:var(--bg-input,#fff)!important;color:var(--text-primary,#0f172a)!important;-webkit-text-fill-color:var(--text-primary,#0f172a)!important;border-radius:6px!important;outline:none!important}.input-field::placeholder,.form-input::placeholder,.form-textarea::placeholder,input::placeholder,textarea::placeholder{font-weight:400;color:var(--text-placeholder,#94a3b8)!important;-webkit-text-fill-color:var(--text-placeholder,#94a3b8)!important;opacity:1!important}.input-field:hover:not(:disabled):not([readonly]),.form-input:hover:not(:disabled):not([readonly]),.form-select:hover:not(:disabled):not([readonly]),.form-textarea:hover:not(:disabled):not([readonly]),input[type=text]:hover:not(:disabled):not([readonly]),input[type=number]:hover:not(:disabled):not([readonly]),input[type=email]:hover:not(:disabled):not([readonly]),input[type=password]:hover:not(:disabled):not([readonly]),input[type=date]:hover:not(:disabled):not([readonly]),input[type=datetime-local]:hover:not(:disabled):not([readonly]),input[type=time]:hover:not(:disabled):not([readonly]),input[type=search]:hover:not(:disabled):not([readonly]),input[type=url]:hover:not(:disabled):not([readonly]),input[type=tel]:hover:not(:disabled):not([readonly]),input:not([type]):hover:not(:disabled):not([readonly]),select:hover:not(:disabled):not([readonly]),textarea:hover:not(:disabled):not([readonly]){border-color:var(--border-hover,#94a3b8)!important}.input-field:focus,.form-input:focus,.form-select:focus,.form-textarea:focus,input[type=text]:focus,input[type=number]:focus,input[type=email]:focus,input[type=password]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=time]:focus,input[type=search]:focus,input[type=url]:focus,input[type=tel]:focus,input:not([type]):focus,select:focus,textarea:focus{border-color:var(--border-focus,#2976bb)!important;box-shadow:0 0 0 3px var(--focus-ring,#2976bb33)!important;outline:none!important}.input-field:disabled,.form-input:disabled,.form-select:disabled,.form-textarea:disabled,input:disabled,input[readonly],select:disabled,textarea:disabled,textarea[readonly]{cursor:not-allowed;opacity:.85;background-color:var(--bg-tertiary,#f1f5f9)!important;color:var(--text-muted,#64748b)!important;-webkit-text-fill-color:var(--text-muted,#64748b)!important;border-color:var(--border-color,#e2e8f0)!important}select option{background-color:var(--bg-secondary,#fff);color:var(--text-primary,#0f172a);padding:8px 12px}.dark-mode select option{background-color:var(--bg-tertiary,#1a1d26);color:var(--text-primary,#f3f4f6)}input:-webkit-autofill{transition:background-color 5000s ease-in-out;-webkit-text-fill-color:var(--text-primary,#0f172a)!important;-webkit-box-shadow:0 0 0px 1000px var(--bg-input,#fff) inset!important;caret-color:var(--text-primary,#0f172a)!important}input:-webkit-autofill:hover{transition:background-color 5000s ease-in-out;-webkit-text-fill-color:var(--text-primary,#0f172a)!important;-webkit-box-shadow:0 0 0px 1000px var(--bg-input,#fff) inset!important;caret-color:var(--text-primary,#0f172a)!important}input:-webkit-autofill:focus{transition:background-color 5000s ease-in-out;-webkit-text-fill-color:var(--text-primary,#0f172a)!important;-webkit-box-shadow:0 0 0px 1000px var(--bg-input,#fff) inset!important;caret-color:var(--text-primary,#0f172a)!important}input:-webkit-autofill:active{transition:background-color 5000s ease-in-out;-webkit-text-fill-color:var(--text-primary,#0f172a)!important;-webkit-box-shadow:0 0 0px 1000px var(--bg-input,#fff) inset!important;caret-color:var(--text-primary,#0f172a)!important}textarea:-webkit-autofill{transition:background-color 5000s ease-in-out;-webkit-text-fill-color:var(--text-primary,#0f172a)!important;-webkit-box-shadow:0 0 0px 1000px var(--bg-input,#fff) inset!important;caret-color:var(--text-primary,#0f172a)!important}textarea:-webkit-autofill:hover{transition:background-color 5000s ease-in-out;-webkit-text-fill-color:var(--text-primary,#0f172a)!important;-webkit-box-shadow:0 0 0px 1000px var(--bg-input,#fff) inset!important;caret-color:var(--text-primary,#0f172a)!important}textarea:-webkit-autofill:focus{transition:background-color 5000s ease-in-out;-webkit-text-fill-color:var(--text-primary,#0f172a)!important;-webkit-box-shadow:0 0 0px 1000px var(--bg-input,#fff) inset!important;caret-color:var(--text-primary,#0f172a)!important}select:-webkit-autofill{transition:background-color 5000s ease-in-out;-webkit-text-fill-color:var(--text-primary,#0f172a)!important;-webkit-box-shadow:0 0 0px 1000px var(--bg-input,#fff) inset!important;caret-color:var(--text-primary,#0f172a)!important}.dark-mode input:-webkit-autofill{-webkit-text-fill-color:var(--text-primary,#f3f4f6)!important;-webkit-box-shadow:0 0 0px 1000px var(--bg-input,#1a1d26) inset!important;caret-color:var(--text-primary,#f3f4f6)!important}.dark-mode input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text-primary,#f3f4f6)!important;-webkit-box-shadow:0 0 0px 1000px var(--bg-input,#1a1d26) inset!important;caret-color:var(--text-primary,#f3f4f6)!important}.dark-mode input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text-primary,#f3f4f6)!important;-webkit-box-shadow:0 0 0px 1000px var(--bg-input,#1a1d26) inset!important;caret-color:var(--text-primary,#f3f4f6)!important}.dark-mode input:-webkit-autofill:active{-webkit-text-fill-color:var(--text-primary,#f3f4f6)!important;-webkit-box-shadow:0 0 0px 1000px var(--bg-input,#1a1d26) inset!important;caret-color:var(--text-primary,#f3f4f6)!important}.dark-mode textarea:-webkit-autofill{-webkit-text-fill-color:var(--text-primary,#f3f4f6)!important;-webkit-box-shadow:0 0 0px 1000px var(--bg-input,#1a1d26) inset!important;caret-color:var(--text-primary,#f3f4f6)!important}.dark-mode select:-webkit-autofill{-webkit-text-fill-color:var(--text-primary,#f3f4f6)!important;-webkit-box-shadow:0 0 0px 1000px var(--bg-input,#1a1d26) inset!important;caret-color:var(--text-primary,#f3f4f6)!important}input[type=password]{letter-spacing:.08em}input[type=checkbox],input[type=radio]{cursor:pointer;vertical-align:middle;accent-color:var(--primary,#2976bb)!important;border-radius:4px!important;width:16px!important;height:16px!important;padding:0!important}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn var(--transition-normal)}.animate-slide-up{animation:slideUp var(--transition-normal)}.glassmorphism{-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);background:#12141ab3}
