.admin-layout{display:flex;min-height:100vh;background:#f5f5f5}.admin-sidebar{width:260px;background:linear-gradient(180deg,#2c3e50,#34495e);color:#fff;position:fixed;height:100vh;overflow-y:auto;box-shadow:2px 0 10px #0000001a}.admin-sidebar-header{padding:25px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.admin-sidebar-header h2{font-size:20px;font-weight:700;margin:0;display:flex;align-items:center;gap:10px}.admin-nav{padding:20px 0}.admin-nav-item{display:flex;align-items:center;gap:12px;padding:14px 20px;color:#fffc;text-decoration:none;transition:all .2s;font-size:15px;border-left:3px solid transparent}.admin-nav-item:hover{background:#ffffff0d;color:#fff}.admin-nav-item.active{background:#ffffff1a;color:#fff;border-left-color:#3498db;font-weight:600}.admin-content{flex:1;margin-left:260px}.admin-topbar{background:#fff;padding:20px 30px;box-shadow:0 2px 4px #0000000d;display:flex;justify-content:space-between;align-items:center}.admin-topbar h1{font-size:24px;font-weight:700;margin:0;color:#2c3e50}.admin-topbar-actions{display:flex;gap:15px;align-items:center}.admin-main{padding:30px}.admin-card{background:#fff;border-radius:8px;padding:25px;box-shadow:0 2px 8px #00000014;margin-bottom:20px}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 8px #00000014;display:flex;align-items:center;gap:15px;transition:transform .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.stat-icon{width:60px;height:60px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:28px}.stat-icon.blue{background:linear-gradient(135deg,#667eea,#764ba2)}.stat-icon.green{background:linear-gradient(135deg,#f093fb,#f5576c)}.stat-icon.purple{background:linear-gradient(135deg,#4facfe,#00f2fe)}.stat-icon.orange{background:linear-gradient(135deg,#43e97b,#38f9d7)}.stat-content h3{font-size:14px;color:#7f8c8d;margin:0 0 5px;font-weight:500}.stat-content p{font-size:28px;font-weight:700;margin:0;color:#2c3e50}.admin-table{width:100%;border-collapse:collapse}.admin-table th{background:#f8f9fa;padding:12px;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #dee2e6}.admin-table td{padding:12px;border-bottom:1px solid #dee2e6}.admin-table tr:hover{background:#f8f9fa}.btn-group{display:flex;gap:8px}.btn-sm{padding:6px 12px;font-size:13px}.admin-form-group{margin-bottom:20px}.admin-form-group label{display:block;margin-bottom:8px;font-weight:600;color:#2c3e50}.admin-form-group input,.admin-form-group select,.admin-form-group textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:5px;font-size:14px}.admin-form-group textarea{min-height:120px;resize:vertical}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:10px;padding:30px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-header h3{margin:0;font-size:20px;color:#2c3e50}.close-btn{background:none;border:none;font-size:28px;cursor:pointer;color:#95a5a6;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.close-btn:hover{color:#2c3e50}:root{--font-family: "Malgun Gothic", "맑은 고딕", "Noto Sans KR", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--radius: 14px;--radius-sm: 10px;--radius-md: 12px;--radius-lg: 16px;--success: #28a745;--warning: #ffc107;--error: #dc3545;--info: #17a2b8}:root,:root[data-theme=dark]{color-scheme:dark;--primary: #ff7a18;--primary-light: #ff9a3d;--primary-dark: #e86a12;--primary-rgb: 255 122 24;--secondary: #3b82f6;--secondary-light: #60a5fa;--secondary-rgb: 59 130 246;--accent: #22c55e;--accent-light: #4ade80;--bg-primary: #0b0f15;--bg-secondary: #0e1520;--bg-card: #121a25;--bg-hover: #172335;--bg-dark: #070a0f;--surface-1: rgba(255, 255, 255, .04);--surface-2: rgba(255, 255, 255, .07);--field-bg: rgba(255, 255, 255, .04);--panel-bg: linear-gradient(180deg, rgba(20, 24, 33, .92), rgba(11, 15, 21, .92));--topbar-bg: rgba(20, 24, 33, .72);--menu-bg: rgba(9, 12, 18, .98);--soft-bg: rgba(255, 255, 255, .03);--text-primary: #e5e7eb;--text-secondary: #a8b0bf;--text-muted: #7b8496;--text-light: #ffffff;--border: rgba(148, 163, 184, .18);--border-light: rgba(148, 163, 184, .12);--shadow: 0 12px 28px rgba(0, 0, 0, .32);--shadow-hover: 0 18px 44px rgba(0, 0, 0, .42);--shadow-sm: 0 10px 22px rgba(0, 0, 0, .22)}:root[data-theme=light]{color-scheme:light;--primary: #f97316;--primary-light: #fb923c;--primary-dark: #ea580c;--primary-rgb: 249 115 22;--secondary: #2563eb;--secondary-light: #60a5fa;--secondary-rgb: 37 99 235;--accent: #16a34a;--accent-light: #22c55e;--bg-primary: #f6f8fb;--bg-secondary: #eef2f7;--bg-card: #ffffff;--bg-hover: #f1f5f9;--bg-dark: #e2e8f0;--surface-1: rgba(15, 23, 42, .04);--surface-2: rgba(15, 23, 42, .06);--field-bg: rgba(15, 23, 42, .04);--panel-bg: linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(246, 248, 251, .92));--topbar-bg: rgba(255, 255, 255, .72);--menu-bg: rgba(255, 255, 255, .98);--soft-bg: rgba(15, 23, 42, .03);--text-primary: #0f172a;--text-secondary: #334155;--text-muted: #64748b;--text-light: #ffffff;--border: rgba(15, 23, 42, .12);--border-light: rgba(15, 23, 42, .08);--shadow: 0 12px 28px rgba(2, 6, 23, .08);--shadow-hover: 0 18px 44px rgba(2, 6, 23, .12);--shadow-sm: 0 10px 24px rgba(2, 6, 23, .06)}:root[data-theme=green]{color-scheme:light;--primary: #2fae6a;--primary-light: #6ddba5;--primary-dark: #1f7e4d;--primary-rgb: 47 174 106;--secondary: #2563eb;--secondary-light: #60a5fa;--secondary-rgb: 37 99 235;--accent: #10b981;--accent-light: #34d399;--bg-primary: #f3fbf6;--bg-secondary: #ecf7f0;--bg-card: #ffffff;--bg-hover: #e3f3ea;--bg-dark: #d8efe2;--surface-1: rgba(20, 83, 45, .05);--surface-2: rgba(20, 83, 45, .08);--field-bg: rgba(20, 83, 45, .04);--panel-bg: linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(243, 251, 246, .92));--topbar-bg: rgba(243, 251, 246, .78);--menu-bg: rgba(255, 255, 255, .98);--soft-bg: rgba(20, 83, 45, .04);--text-primary: #0f1f14;--text-secondary: #2f4a39;--text-muted: #6a8a78;--text-light: #ffffff;--border: rgba(20, 83, 45, .14);--border-light: rgba(20, 83, 45, .1);--shadow: 0 12px 28px rgba(2, 6, 23, .08);--shadow-hover: 0 18px 44px rgba(2, 6, 23, .12);--shadow-sm: 0 10px 24px rgba(2, 6, 23, .06)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh}html,body,#root{max-width:100%;overflow-x:hidden}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:rgb(var(--primary-rgb) / .35);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:rgb(var(--primary-rgb) / .55)}.container{max-width:1200px;margin:0 auto;padding:0 20px}.btn{padding:10px 16px;border:none;border-radius:var(--radius-sm);font-family:var(--font-family);font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:8px}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff;box-shadow:var(--shadow)}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.btn-secondary{background:var(--surface-1);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--surface-2);border-color:rgb(var(--primary-rgb) / .35)}.card{background:var(--bg-card);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);transition:all .3s ease}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;display:inline-block}.badge-new{background:var(--accent);color:var(--text-primary)}.badge-hot{background:var(--primary);color:#fff}.badge-member{background:var(--secondary);color:#fff}.badge-adult{background:var(--error);color:#fff}input,textarea{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-family);font-size:14px;transition:all .3s ease;background:var(--field-bg);color:var(--text-primary)}input:focus,textarea:focus{outline:none;border-color:rgb(var(--primary-rgb) / .6);box-shadow:0 0 0 4px rgb(var(--primary-rgb) / .15)}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.loading{animation:bounce 1s infinite}@keyframes heart-beat{0%,to{transform:scale(1)}25%{transform:scale(1.2)}50%{transform:scale(1.1)}}.heart-beat{animation:heart-beat .5s ease}.hover-lift{transition:transform .3s ease}.hover-lift:hover{transform:translateY(-4px)}.grid{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media(max-width:1024px){.grid-4{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.app-modal-backdrop{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:18px;background:#080b127a}.app-modal{width:min(92vw,var(--app-modal-width, 420px));border-radius:16px;border:1px solid var(--border);background:var(--bg-card);box-shadow:0 10px 28px #00000047;padding:14px;display:grid;gap:12px;animation:appModalIn .1s ease-out}.app-modal-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.app-modal-header h4{margin:0;color:var(--text-primary);font-size:21px;font-weight:900;letter-spacing:-.01em}.app-modal-close{border:0;background:transparent;color:var(--text-secondary);font-size:28px;line-height:1;cursor:pointer;padding:2px 6px;border-radius:8px}.app-modal-close:hover{background:var(--surface-2);color:var(--text-primary)}.app-modal-body{color:var(--text-secondary);font-size:14px;line-height:1.6;display:grid;gap:10px}.app-modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}@keyframes appModalIn{0%{transform:translateY(8px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@media(max-width:640px){.app-modal{width:100%}}
