:root{--ink:#172033;--muted:#647087;--line:#dfe4ec;--bg:#f4f6f9;--card:#fff;--navy:#162d5a;--blue:#2868d8;--blue2:#eaf1ff;--danger:#c73842;--ok:#167b55;--gold:#f2a51a;--radius:18px;--shadow:0 18px 55px rgba(18,38,72,.09)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,"Noto Sans KR","Noto Sans SC","Noto Sans JP",system-ui,sans-serif;line-height:1.55}.shell{min-height:100vh}.topbar{height:72px;padding:0 max(24px,calc((100vw - 1100px)/2));background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:5}.hidden{display:none!important}.brand{font-weight:800;text-decoration:none;color:var(--navy);letter-spacing:-.03em}.top-actions{display:flex;gap:14px;align-items:center;color:var(--muted);font-size:14px}main{width:min(100% - 32px,980px);margin:0 auto;padding:56px 0 90px}.login-wrap{min-height:calc(100vh - 112px);display:grid;place-items:center}.login-card{width:min(100%,420px);background:var(--card);padding:42px;border-radius:24px;box-shadow:var(--shadow);border:1px solid rgba(223,228,236,.8)}.eyebrow{color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.login-card h1,.hero h1{margin:8px 0 8px;font-size:clamp(28px,5vw,42px);line-height:1.12;letter-spacing:-.04em}.sub{color:var(--muted);margin:0 0 30px}.field{display:grid;gap:8px;margin:16px 0}.field label{font-size:14px;font-weight:700}.field input,.field textarea,.field select,.admin-card textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:11px;padding:13px 14px;font:inherit;color:var(--ink);outline:none;transition:.18s}.field textarea,.admin-card textarea{min-height:120px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus,.admin-card textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(40,104,216,.12)}button,.button{border:0;border-radius:11px;padding:12px 18px;font:inherit;font-weight:750;cursor:pointer;background:var(--blue);color:#fff;transition:.16s;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px}button:hover,.button:hover{transform:translateY(-1px);filter:brightness(.97)}button:disabled{background:#b8c0cf;cursor:not-allowed;transform:none}.wide{width:100%;margin-top:8px}.ghost{background:transparent;color:var(--navy);padding:8px 10px}.secondary{background:var(--blue2);color:var(--blue)}.danger{background:#fff0f1;color:var(--danger)}.hero{margin-bottom:30px}.hero-row{display:flex;align-items:end;justify-content:space-between;gap:25px}.progress-card{background:var(--navy);color:white;border-radius:var(--radius);padding:24px;min-width:220px}.progress-number{font-size:30px;font-weight:850;line-height:1}.progress-track{height:7px;background:rgba(255,255,255,.19);border-radius:9px;margin-top:16px;overflow:hidden}.progress-track i{display:block;height:100%;background:#68a0ff;border-radius:9px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:30px;box-shadow:0 8px 30px rgba(25,44,77,.05);margin:18px 0}.card h2,.card h3{margin:0 0 12px;letter-spacing:-.025em}.policy{white-space:pre-wrap;color:#3e4a60}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.stepbar{display:flex;gap:8px;margin-bottom:24px}.step{height:5px;flex:1;border-radius:5px;background:var(--line)}.step.active{background:var(--blue)}.char-help{font-size:13px;color:var(--muted);display:flex;justify-content:space-between}.ratings{display:grid;gap:12px}.rating-row{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}.rating-row:last-child{border:0}.rating-copy strong{display:block}.rating-copy span{font-size:14px;color:var(--muted)}.stars{display:flex;flex-direction:row-reverse;justify-content:flex-end}.stars input{position:absolute;opacity:0;pointer-events:none}.stars label{font-size:31px;line-height:1;color:#d9deE7;cursor:pointer;padding:0 3px}.stars label:hover,.stars label:hover~label,.stars input:checked~label{color:var(--gold)}.consent-grid{display:grid;grid-template-columns:130px 1fr;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:20px 0}.consent-grid>*{padding:13px;border-bottom:1px solid var(--line)}.consent-grid dt{font-weight:750;background:#f7f9fc}.consent-grid dt:last-of-type,.consent-grid dd:last-of-type{border-bottom:0}.consent-grid dd{margin:0}.checkline{display:flex;gap:10px;align-items:flex-start;background:#f6f9ff;padding:16px;border-radius:12px}.admin-tabs{display:flex;gap:6px;flex-wrap:wrap}.admin-tabs button{background:#fff;color:var(--muted);border:1px solid var(--line)}.admin-tabs button.active{background:var(--navy);color:#fff}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px}.admin-card label{font-size:13px;font-weight:700;display:block;margin:12px 0 6px}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:15px;margin-top:18px}table{border-collapse:collapse;width:100%;min-width:760px}th,td{text-align:left;padding:13px 14px;border-bottom:1px solid var(--line);font-size:14px}th{background:#f7f9fc;color:var(--muted);font-size:12px;text-transform:uppercase}.status{display:inline-block;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:700}.status.ok{background:#e7f6ef;color:var(--ok)}.status.wait{background:#fff6df;color:#8d6200}.inline-input{width:82px;padding:7px;border:1px solid var(--line);border-radius:7px}.empty{text-align:center;color:var(--muted);padding:40px}.success{text-align:center;padding:55px 20px}.success-mark{width:65px;height:65px;border-radius:50%;background:#e7f6ef;color:var(--ok);font-size:34px;display:grid;place-items:center;margin:0 auto 18px}#toast{position:fixed;right:22px;bottom:22px;background:var(--ink);color:#fff;padding:13px 18px;border-radius:10px;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s;max-width:380px;z-index:20}#toast.show{opacity:1;transform:none}#toast.error{background:var(--danger)}
@media(max-width:700px){main{padding-top:30px}.login-card{padding:28px}.hero-row{display:block}.progress-card{margin-top:22px}.card{padding:21px}.rating-row{grid-template-columns:1fr}.stars label{font-size:35px}.admin-grid{grid-template-columns:1fr}.consent-grid{grid-template-columns:1fr}.consent-grid dt{border-bottom:0}.topbar{padding:0 16px}.top-actions span{display:none}}
