:root{--ink:#111827;--muted:#6b7280;--line:#e5e7eb;--brand:#155eef;--brand2:#0ea5e9;--bg:#f7f9fc;--ok:#059669;--warn:#b45309;--danger:#dc2626;--card:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR",sans-serif;background:var(--bg);color:var(--ink)}a{color:inherit;text-decoration:none}.wrap{max-width:1180px;margin:auto;padding:0 20px}.topbar{background:#0b1220;color:#fff;font-size:13px;padding:9px 0}.header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.head{height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}.logo{font-size:24px;font-weight:900;letter-spacing:-1px}.logo b{color:var(--brand)}.nav{display:flex;gap:18px;font-size:14px;color:#374151}.hero{padding:68px 0 40px;background:linear-gradient(180deg,#fff 0,#eef6ff 100%)}.hero h1{font-size:46px;line-height:1.12;letter-spacing:-2px;margin:0 0 16px}.hero p{font-size:18px;color:#4b5563;margin:0}.pill{display:inline-flex;background:#eaf2ff;color:#174ea6;border-radius:999px;padding:7px 12px;font-weight:800;font-size:13px;margin-bottom:16px}.selector{margin-top:30px;background:#fff;border:1px solid #dbe4f0;border-radius:22px;padding:22px;box-shadow:0 15px 45px rgba(31,41,55,.08)}.selector-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.field label{display:block;font-size:13px;font-weight:800;margin-bottom:8px}.field select,.field input{width:100%;height:48px;border:1px solid #d1d5db;border-radius:12px;padding:0 12px;background:#fff;font-size:15px}.btn{border:0;border-radius:12px;height:48px;padding:0 18px;font-weight:850;cursor:pointer}.btn-primary{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff}.btn-light{background:#fff;border:1px solid var(--line)}.section{padding:46px 0}.section h2{font-size:30px;letter-spacing:-1px;margin:0 0 8px}.sub{color:var(--muted);margin:0 0 22px}.notice{padding:12px 14px;border-radius:12px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:14px;margin:18px 0}.sorts{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.sorts a{padding:9px 13px;background:#fff;border:1px solid var(--line);border-radius:999px;font-size:13px}.sorts a.on{background:#111827;color:#fff;border-color:#111827}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.product{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;position:relative}.product.featured{border:2px solid #9ec5ff}.badge{display:inline-block;background:#edf4ff;color:#1d4ed8;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:850}.carrier{font-size:20px;font-weight:900;margin:12px 0 6px}.product-title{font-size:15px;color:#4b5563}.price{font-size:32px;font-weight:950;letter-spacing:-1px;margin:15px 0 4px}.price small{font-size:14px;font-weight:700}.kv{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.kv div{background:#f8fafc;border-radius:12px;padding:11px}.kv span{display:block;font-size:12px;color:#6b7280}.kv b{display:block;margin-top:3px;font-size:15px}.product .actions{display:flex;gap:8px;margin-top:16px}.product .actions a{flex:1;text-align:center;padding:12px;border-radius:11px;font-weight:850;font-size:14px}.a1{background:#111827;color:white}.a2{background:#eff6ff;color:#1d4ed8}.fine{font-size:12px;color:#6b7280;line-height:1.55;margin-top:12px}.footer{background:#0b1220;color:#b8c0cc;padding:36px 0;font-size:13px}.footer strong{color:#fff}.empty{background:#fff;border:1px dashed #cbd5e1;border-radius:18px;padding:40px;text-align:center;color:#64748b}
/* admin */
.admin{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.sidebar{background:#0b1220;color:#cbd5e1;padding:24px 18px}.sidebar h2{color:#fff;margin:0 0 24px}.sidebar a{display:block;padding:11px 12px;border-radius:9px;margin:4px 0}.sidebar a:hover{background:#172033;color:#fff}.content{padding:28px}.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;margin-bottom:18px}.panel h3{margin-top:0}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.input label{display:block;font-size:12px;font-weight:800;margin-bottom:6px;color:#475569}.input input,.input select,.input textarea{width:100%;border:1px solid #d1d5db;border-radius:10px;padding:10px 11px;background:#fff}.input textarea{min-height:90px}.table{width:100%;border-collapse:collapse;font-size:13px}.table th,.table td{padding:11px 8px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:top}.table th{color:#64748b;font-size:12px}.tag{padding:4px 7px;border-radius:999px;background:#eef2ff;font-size:11px}.danger{color:var(--danger)}.ok{color:var(--ok)}.loginbox{max-width:420px;margin:9vh auto;background:#fff;padding:28px;border:1px solid var(--line);border-radius:18px}.stat{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px}.stat b{font-size:28px}.top-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:12px}.flash{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46;padding:11px;border-radius:10px;margin-bottom:14px}
@media(max-width:800px){.nav{display:none}.hero{padding-top:42px}.hero h1{font-size:35px}.selector-grid,.cards,.grid2,.grid3{grid-template-columns:1fr}.admin{grid-template-columns:1fr}.sidebar{padding:16px}.sidebar a{display:inline-block}.content{padding:16px}.kv{grid-template-columns:1fr 1fr}}
