:root{--white: #FFFFFF;--grey: #F6F6F6;--black: #000000;--red: #FF4400;--violet: #B650FE;--bg: #F6F6F6;--bg-dark: #000000;--surface: #FFFFFF;--surface-2: #F0F0F0;--fg: #000000;--fg-inv: #FFFFFF;--muted: #666666;--border: #E0E0E0;--accent: #FF4400;--accent-hover: #DD3300;--accent-light: rgba(255, 68, 0, .1);--violet-light: rgba(182, 80, 254, .12);--success: #1A7A3C;--success-light:rgba(26, 122, 60, .12);--warning: #D97706;--warning-light:rgba(217, 119, 6, .12);--info: #0369A1;--info-light: rgba(3, 105, 161, .12);--font-display: Arial, Helvetica, sans-serif;--font-body: Arial, Helvetica, sans-serif;--font-mono: "Courier New", Courier, monospace;--text-xs: 11px;--text-sm: 13px;--text-base: 15px;--text-lg: 18px;--text-xl: 22px;--text-2xl: 28px;--text-3xl: 36px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--radius-sm: 3px;--radius: 6px;--radius-lg: 8px;--sidebar-w: 248px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:var(--text-base);line-height:1.55;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--grey)}::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#aaa}h1,h2,h3,h4,h5{font-family:var(--font-display);font-weight:700;color:var(--fg)}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:8px 18px;border-radius:var(--radius);font-family:var(--font-body);font-size:var(--text-sm);font-weight:700;cursor:pointer;border:2px solid transparent;transition:all .15s;text-decoration:none;white-space:nowrap;letter-spacing:.02em}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-secondary{background:#fff;color:var(--fg);border-color:var(--border)}.btn-secondary:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn-ghost{background:transparent;color:var(--muted);border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--fg)}.btn-danger{background:transparent;color:var(--accent);border-color:var(--accent)}.btn-danger:hover:not(:disabled){background:var(--accent-light)}.btn-violet{background:var(--violet);color:#fff;border-color:var(--violet)}.btn-violet:hover:not(:disabled){background:#9b3fe0;border-color:#9b3fe0}.btn-sm{padding:4px 10px;font-size:var(--text-xs)}.btn-lg{padding:12px 28px;font-size:var(--text-base)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:0 1px 4px #0000000f}.field-group{display:flex;flex-direction:column;gap:var(--space-2)}.field-label{font-size:var(--text-sm);font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.field-input,input[type=text],input[type=password],input[type=email],input[type=number],input[type=date],select,textarea{width:100%;padding:9px 12px;background:#fff;border:1.5px solid var(--border);border-radius:var(--radius);color:var(--fg);font-family:var(--font-body);font-size:var(--text-base);transition:border-color .15s;outline:none}.field-input:focus,input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}select option{background:#fff;color:var(--fg)}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em}.badge-admin{background:var(--accent-light);color:var(--accent)}.badge-user{background:var(--violet-light);color:#8b30cc}.badge-success{background:var(--success-light);color:var(--success)}.badge-warning{background:var(--warning-light);color:var(--warning)}.badge-info{background:var(--info-light);color:var(--info)}.divider{border:none;border-top:1px solid var(--border);margin:var(--space-4) 0}.data-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.data-table th{text-align:left;padding:10px 14px;font-size:var(--text-xs);font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:2px solid var(--border);background:var(--grey)}.data-table td{padding:10px 14px;border-bottom:1px solid var(--border);vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:#fff5f2}.rating-btn{background:none;border:none;cursor:pointer;padding:2px;color:#ddd;font-size:20px;transition:color .1s,transform .1s}.rating-btn.active{color:var(--accent)}.rating-btn:hover{transform:scale(1.2)}.toast{position:fixed;bottom:24px;right:24px;padding:12px 18px;border-radius:var(--radius);font-size:var(--text-sm);font-weight:700;z-index:9999;animation:slideIn .2s ease;max-width:360px;box-shadow:0 4px 16px #00000026}.toast-success{background:var(--success);color:#fff}.toast-error{background:var(--accent);color:#fff}.toast-info{background:var(--info);color:#fff}@keyframes slideIn{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.app-layout{display:flex;height:100vh;overflow:hidden}.sidebar{width:var(--sidebar-w);min-width:var(--sidebar-w);background:var(--bg-dark);border-right:none;display:flex;flex-direction:column;overflow-y:auto}.main-content{flex:1;overflow-y:auto;padding:var(--space-8);background:var(--bg)}.nav-item{display:flex;align-items:center;gap:var(--space-3);padding:10px var(--space-4);font-size:var(--text-sm);font-weight:400;color:#ffffffa6;cursor:pointer;border:none;background:none;width:100%;text-align:left;border-radius:var(--radius);margin:1px 0;transition:all .15s}.nav-item:hover{background:#ffffff14;color:#fff}.nav-item.active{background:var(--accent);color:#fff;font-weight:700}.page-header{margin-bottom:var(--space-8)}.page-header h1{font-size:var(--text-2xl);margin-bottom:4px;color:var(--fg)}.page-header p{color:var(--muted);font-size:var(--text-sm)}.page-header h1:after{content:"";display:block;width:40px;height:3px;background:var(--accent);margin-top:8px;border-radius:2px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-4)}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:0 1px 4px #0000000f;border-top:3px solid var(--accent)}.stat-value{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:700;color:var(--accent)}.stat-label{font-size:var(--text-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-top:4px;font-weight:700}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4)}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-8);width:100%;max-width:560px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 40px #0000002e}.modal-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:2px solid var(--accent)}.accordion-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);cursor:pointer;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);font-weight:700;transition:background .15s;-webkit-user-select:none;user-select:none}.accordion-header:hover{background:var(--grey)}.checkbox-label{display:flex;align-items:center;gap:var(--space-3);cursor:pointer;font-size:var(--text-sm);padding:4px 0}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.radar-container{display:flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4)}
