:root{--primary-color: #6366f1;--primary-hover: #4f46e5;--primary-light: #e0e7ff;--bg-color: #f8fafc;--card-bg: #ffffff;--sidebar-bg: #1e293b;--sidebar-hover: #334155;--text-main: #1e293b;--text-muted: #64748b;--border-color: #e2e8f0;--danger-color: #ef4444;--success-color: #10b981;--warning-color: #f59e0b;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-main);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,textarea,select{font-family:inherit;font-size:14px;outline:none}button{cursor:pointer;border:none;background:none;transition:all .2s}.admin-shell{display:flex;height:100vh;overflow:hidden}.sidebar{width:240px;background:var(--sidebar-bg);color:#f8fafc;flex-shrink:0;display:flex;flex-direction:column;box-shadow:4px 0 10px #0000001a;z-index:20}.logo{padding:32px 24px;display:flex;align-items:center;gap:12px}.logo-image{width:40px;height:40px;border-radius:10px;object-fit:cover;background:#fff}.logo-fallback{max-width:100px;font-size:12px;color:#fff;opacity:.85}.logo-title{display:block;font-size:16px;font-weight:700;letter-spacing:.5px}.logo-subtitle{font-size:12px;opacity:.5;margin-top:2px}.sidebar-nav{flex:1;padding:0 16px;display:flex;flex-direction:column;gap:8px}.nav-item{padding:14px 16px;border-radius:var(--radius-md);color:#94a3b8;text-decoration:none;transition:all .2s;display:flex;flex-direction:column}.nav-item:hover{background:var(--sidebar-hover);color:#fff}.nav-item.active{background:var(--primary-color);color:#fff}.nav-title{font-weight:600;font-size:14px}.nav-desc{font-size:11px;opacity:.6;margin-top:4px}.nav-item.active .nav-desc{opacity:.8}.main-layout{flex:1;display:flex;flex-direction:column;min-width:0}.header{height:64px;background:var(--card-bg);padding:0 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-color);z-index:10}.breadcrumb{display:flex;align-items:center;gap:8px;color:var(--text-muted)}.breadcrumb strong{color:var(--text-main);font-weight:600}.header-right{display:flex;align-items:center;gap:24px}.user-meta{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2}.user-meta strong{font-size:14px;color:var(--text-main)}.user-meta span{font-size:11px;color:var(--text-muted)}.content{flex:1;padding:32px;overflow-y:auto;scroll-behavior:smooth}.card{background:var(--card-bg);border-radius:var(--radius-md);padding:24px;border:1px solid var(--border-color);box-shadow:var(--shadow-sm);transition:box-shadow .3s}.card:hover{box-shadow:var(--shadow-md)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border-radius:var(--radius-sm);font-weight:500;gap:8px}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-danger{background:#fee2e2;color:var(--danger-color)}.btn-danger:hover{background:#fecaca}.btn-ghost{border:1px solid var(--border-color);background:#fff;color:var(--text-main)}.btn-ghost:hover{background:#f1f5f9}.global-loading-bar{position:fixed;top:0;left:0;right:0;height:3px;background:linear-gradient(to right,transparent,var(--primary-color),transparent);background-size:200% 100%;animation:loading-flow 1.5s infinite;z-index:9999}@keyframes loading-flow{0%{background-position:200% 0}to{background-position:-200% 0}}.toast-container{position:fixed;top:24px;left:50%;transform:translate(-50%);z-index:10000;display:flex;flex-direction:column;gap:12px}.toast{padding:12px 24px;border-radius:var(--radius-sm);background:var(--card-bg);box-shadow:var(--shadow-lg);border-left:4px solid var(--primary-color);display:flex;align-items:center;gap:12px;animation:toast-in .3s ease-out}@keyframes toast-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.toast.error{border-left-color:var(--danger-color)}.toast.success{border-left-color:var(--success-color)}.table-container{width:100%;overflow-x:auto;border-radius:var(--radius-sm)}.modern-table{width:100%;border-collapse:collapse;white-space:nowrap}.modern-table th{background:#f8fafc;padding:16px;text-align:left;font-weight:600;color:var(--text-muted);border-bottom:2px solid var(--border-color)}.modern-table td{padding:16px;border-bottom:1px solid var(--border-color);transition:background .2s}.modern-table tbody tr:hover td{background:#f1f5f9}.modern-table.compact th,.modern-table.compact td{padding:8px 12px;font-size:13px}.modern-table.zebra tbody tr:nth-child(2n){background:#fafafa}.modern-table.zebra tbody tr:hover td{background:#f1f5f9}.sim-switch{display:inline-flex;align-items:center;cursor:pointer}.sim-switch input{display:none}.switch-track{width:36px;height:20px;background:#cbd5e1;border-radius:10px;position:relative;transition:background .2s}.switch-thumb{width:16px;height:16px;background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;transition:transform .2s;box-shadow:0 1px 3px #0003}.sim-switch input:checked+.switch-track{background:var(--success-color)}.sim-switch input:checked+.switch-track .switch-thumb{transform:translate(16px)}.filter-section{background:#fdfaf5;border:1px solid #f1e9df;border-radius:var(--radius-md);padding:16px 20px;display:grid;gap:16px;margin-bottom:20px}.filter-group{display:flex;align-items:center;gap:16px}.filter-label{font-size:13px;font-weight:600;color:#8c7355;min-width:60px}.filter-tags{display:flex;flex-wrap:wrap;gap:8px}.filter-tag{padding:4px 14px;border-radius:999px;font-size:13px;background:#fff;border:1px solid #e8e0d5;color:var(--text-muted);cursor:pointer;transition:all .2s}.filter-tag:hover{border-color:var(--primary-color);color:var(--primary-color)}.filter-tag.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff;font-weight:500}.badge{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.badge-success{background:#dcfce7;color:#166534}.badge-danger{background:#fee2e2;color:#991b1b}.badge-info{background:#e0f2fe;color:#075985}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}
