:root{--color-bg: #F5F5F5;--color-white: #ffffff;--color-black: #1E1E1E;--surface-primary: rgba(255, 255, 255, .82);--surface-primary-hover: rgba(255, 255, 255, .92);--surface-primary-pressed: rgba(255, 255, 255, .97);--surface-secondary: rgba(0, 0, 0, .06);--surface-secondary-hover: rgba(0, 0, 0, .1);--accent-primary: #F4B400;--accent-primary-soft: rgba(244, 180, 0, .14);--accent-primary-glow: rgba(244, 180, 0, .32);--accent-success: #F97316;--accent-success-soft: rgba(249, 115, 22, .14);--accent-danger: #ef4444;--accent-danger-soft: rgba(239, 68, 68, .12);--text-primary: #333333;--text-secondary: #6e6e73;--text-tertiary: #9a9a9f;--text-on-dark: #ffffff;--text-on-accent: #1E1E1E;--border-subtle: rgba(0, 0, 0, .04);--border-default: rgba(0, 0, 0, .08);--border-strong: rgba(0, 0, 0, .14);--blur-xs: 10px;--blur-sm: 14px;--blur-md: 22px;--radius-sm: 10px;--radius-md: 12px;--radius-lg: 16px;--radius-pill: 9999px;--ease-out: cubic-bezier(.25, .1, .25, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .15s;--duration-normal: .25s;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--font-small: 12px;--font-body: 14px;--font-title: 18px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--color-bg);color:var(--text-primary);-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}button{font-family:inherit}.admin-layout{display:flex;min-height:100vh}.sidebar{width:240px;background:#ffffffc7;backdrop-filter:blur(var(--blur-md)) saturate(180%);-webkit-backdrop-filter:blur(var(--blur-md)) saturate(180%);border-right:1px solid rgba(0,0,0,.06);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:50;padding:var(--space-lg) var(--space-md)}.sidebar-brand{font-size:var(--font-title);font-weight:800;letter-spacing:-.02em;color:var(--text-primary);margin-bottom:var(--space-xl);padding:0 var(--space-sm)}.sidebar nav{flex:1;display:flex;flex-direction:column;gap:var(--space-xs)}.sidebar-link{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-size:var(--font-body);font-weight:500;color:var(--text-secondary);transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.sidebar-link:hover{background:var(--surface-secondary);color:var(--text-primary)}.sidebar-link.active{background:var(--accent-primary-soft);color:var(--accent-primary);font-weight:600}.logout-btn{margin-top:auto;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);border:none;background:var(--surface-secondary);color:var(--text-secondary);font-size:var(--font-body);font-weight:500;cursor:pointer;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.logout-btn:hover{background:var(--accent-danger-soft);color:var(--accent-danger)}.admin-main{flex:1;margin-left:240px;padding:var(--space-xl);min-height:100vh}.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-xl)}.admin-title{font-size:26px;font-weight:800;letter-spacing:-.02em;margin:0}.card{background:var(--surface-primary);backdrop-filter:blur(var(--blur-sm));-webkit-backdrop-filter:blur(var(--blur-sm));border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-lg);box-shadow:0 2px 6px #0000000a}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);border:none;font-size:var(--font-body);font-weight:600;cursor:pointer;transition:transform var(--duration-fast) var(--ease-spring),box-shadow var(--duration-fast) var(--ease-out),filter var(--duration-fast) var(--ease-out)}.btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000014}.btn:active{transform:scale(.98)}.btn-primary{background:#f4b400;color:var(--text-on-accent)}.btn-primary:hover{background:#f97316;color:var(--text-on-accent);filter:brightness(1.08)}.btn-danger{background:var(--accent-danger-soft);color:var(--accent-danger)}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border-default)}.input{width:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:var(--font-body);background:#fff;color:var(--text-primary);outline:none;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-glow)}.table-wrapper{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:var(--font-body)}tbody tr{border-bottom:1px solid rgba(0,0,0,.06)}tbody tr:hover{background:#00000005}td,th{padding:var(--space-sm) var(--space-lg);text-align:left;white-space:nowrap}th{font-size:var(--font-small);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000003d;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;padding:var(--space-lg)}.modal{background:var(--surface-primary);backdrop-filter:blur(var(--blur-md)) saturate(180%);-webkit-backdrop-filter:blur(var(--blur-md)) saturate(180%);border:1px solid rgba(0,0,0,.1);border-radius:var(--radius-lg);width:100%;max-width:480px;padding:var(--space-xl);box-shadow:0 20px 40px #0000001a}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-xl)}.modal-title{font-size:var(--font-title);font-weight:700;margin:0}.modal-close{background:var(--surface-secondary);border:none;width:32px;height:32px;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background var(--duration-fast) var(--ease-out)}.modal-close:hover{background:var(--surface-secondary-hover)}.form-group{margin-bottom:var(--space-md)}.form-label{display:block;font-size:var(--font-small);font-weight:500;color:var(--text-secondary);margin-bottom:var(--space-xs);text-transform:uppercase;letter-spacing:.04em}.empty-state{padding:var(--space-xl);text-align:center;color:var(--text-tertiary);font-size:var(--font-body)}@media (max-width: 768px){.sidebar{display:none}.admin-main{margin-left:0;padding:var(--space-md)}}
