:root{--blue:#557bea;--blue2:#355cdb;--ink:#17213d;--muted:#68708a;--line:#e7eaf2;--bg:#f3f6fc;--danger:#dc3f4f}*{box-sizing:border-box}html{font-family:Pretendard,"Noto Sans KR",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}body{margin:0;background:linear-gradient(145deg,#eff4ff,#f8f9fd);min-height:100vh}.page-shell{width:min(100%,760px);margin:auto;padding:34px 20px 70px}.landing-card{background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 24px 70px rgba(27,47,104,.14)}.hero{display:block;width:100%;height:auto}.form-wrap{padding:42px 48px 52px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.16em;color:var(--blue)}h1{font-size:32px;line-height:1.2;margin:8px 0 10px}.intro{margin:0 0 30px;color:var(--muted)}form{display:grid;gap:18px}.field{display:grid;gap:8px}.field span{font-size:14px;font-weight:750}.field input,.field select{width:100%;height:54px;border:1px solid var(--line);border-radius:13px;background:#fafbfe;padding:0 16px;font:inherit;color:var(--ink);outline:none;transition:.2s}.field select{appearance:auto;cursor:pointer}.field input:focus,.field select:focus{border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px rgba(85,123,234,.12)}.agree{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.55;color:var(--muted)}.agree input{margin-top:3px;accent-color:var(--blue)}button,.small-btn{border:0;border-radius:13px;background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;font-weight:800;font-size:16px;text-decoration:none;cursor:pointer}form>button{height:58px;margin-top:3px;box-shadow:0 12px 24px rgba(53,92,219,.25)}button:hover,.small-btn:hover{filter:brightness(1.05)}.trap{position:absolute!important;left:-9999px!important}.alert{padding:14px 16px;border-radius:12px;margin:0 0 22px;font-size:14px;font-weight:650}.alert.success{color:#087443;background:#eaf9f1}.alert.error{color:#b52c3b;background:#fff0f2}.alert.warning{color:#7b5700;background:#fff7d8}.admin-body{display:grid;place-items:center;padding:20px}.login-card{width:min(100%,420px);background:#fff;border-radius:22px;padding:38px;box-shadow:0 20px 60px rgba(25,39,83,.15)}.login-card h1{font-size:25px}.admin-mark{display:inline-flex;padding:6px 10px;border-radius:7px;color:#fff;background:var(--blue);font-size:11px;font-weight:900;letter-spacing:.12em}.dashboard-body{background:var(--bg)}.admin-header{height:68px;padding:0 max(24px,calc((100vw - 1320px)/2));background:#17213d;color:#fff;display:flex;align-items:center;justify-content:space-between}.admin-header nav{display:flex;gap:18px}.admin-header a{color:#dce4ff;text-decoration:none;font-size:14px}.dashboard{width:min(1320px,calc(100% - 40px));margin:32px auto 70px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.stats>div{background:#fff;border-radius:16px;padding:22px;box-shadow:0 6px 20px rgba(24,34,69,.05)}.stats span{font-size:13px;color:var(--muted)}.stats strong{display:block;font-size:30px;margin-top:9px}.panel{background:#fff;border-radius:18px;margin-top:22px;overflow:hidden;box-shadow:0 6px 20px rgba(24,34,69,.05)}.panel-head{padding:22px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.panel-head h2{font-size:19px;margin:0 0 4px}.panel-head p,.muted{margin:0;color:var(--muted);font-size:13px}.small-btn{padding:10px 14px;font-size:13px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}th,td{text-align:left;padding:15px 18px;border-bottom:1px solid #eff1f6}th{color:#58617a;background:#fafbfe;font-size:12px}td.clip{max-width:320px;overflow:hidden;text-overflow:ellipsis}.delete{background:none;color:var(--danger);font-size:12px;padding:5px}.empty{text-align:center!important;color:var(--muted);padding:44px!important}@media(max-width:700px){.page-shell{padding:0 0 36px}.landing-card{border-radius:0;box-shadow:none}.form-wrap{padding:32px 22px 42px}h1{font-size:27px}.stats{grid-template-columns:repeat(2,1fr)}.admin-header{padding:0 18px}.dashboard{width:calc(100% - 24px);margin-top:18px}.panel-head{align-items:flex-start;gap:16px}.login-card{padding:30px 24px}}
