:root{
  --ink:#161b28; --sub:#5b647a; --line:#e3e7f0; --bg:#f3f5fb; --card:#fff;
  --brand:#2f5bea; --brand-soft:#eaf0ff; --accent:#12b981; --accent-soft:#e5f8f0;
  --warn:#f59e0b; --warn-soft:#fff5e6; --danger:#ef4444; --danger-soft:#fdecec;
  --kakao:#FEE500; --kakao-ink:#3A1D1D;
  --chip:#eef1f7; --star:#eab308;
  --radius:14px;
}
*{box-sizing:border-box}
html,body{margin:0;max-width:100%}
html{overflow-x:hidden}
body{background:var(--bg);color:var(--ink);line-height:1.6;
  overflow-x:hidden;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Apple SD Gothic Neo","Malgun Gothic",sans-serif;}
a{color:inherit}
img{max-width:100%}

/* layout */
.app{max-width:560px;margin:0 auto;min-height:100vh;background:var(--card);display:flex;flex-direction:column;
  box-shadow:0 0 40px rgba(20,30,60,.06)}
.app.wide{max-width:1100px;background:var(--bg);box-shadow:none}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:14px 18px;border-bottom:1px solid var(--line);
  position:sticky;top:0;background:var(--card);z-index:5}
.brand{display:inline-flex;align-items:center;flex:0 1 auto;min-width:0;font-weight:800;font-size:15px;white-space:nowrap}
.brand img{display:block;width:132px;height:auto}
.brand i{color:var(--brand);font-style:normal}
.steps{display:flex;align-items:center;justify-content:flex-end;flex:1 1 auto;min-width:0;gap:6px;overflow-x:auto;white-space:nowrap;font-size:11px;color:var(--sub)}
.step-divider{color:#aab4c2;font-size:13px;line-height:1;user-select:none}
.steps .s{padding:3px 9px;border-radius:20px;background:var(--chip)}
.steps .s.on{background:var(--brand);color:#fff;font-weight:700}
.page{flex:1;padding:22px 18px 30px}
.foot-cta{position:sticky;bottom:0;background:var(--card);border-top:1px solid var(--line);padding:12px 18px}

/* hero */
.hero{text-align:center;padding:22px 6px 12px}
.hero h1{font-size:23px;line-height:1.35;margin:0 0 10px;letter-spacing:-.4px}
.hero p{color:var(--sub);font-size:14px;margin:0}
.hero-photo{margin:16px auto 0;height:150px;max-width:220px;border:1.5px dashed #c3ccdd;border-radius:12px;
  background:#f7f9fd;color:#94a0b8;font-size:12px;display:flex;align-items:center;justify-content:center}
.rep-photo{margin:18px auto 8px;width:150px;height:190px;border-radius:14px;overflow:hidden;
  background:#f2f5fb;box-shadow:0 4px 16px rgba(20,30,60,.12)}
.rep-photo img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.rep-firm{font-size:13px;color:var(--sub);margin:0}
.rep-firm a{color:var(--brand);font-weight:700;text-decoration:none}
.rep-firm a:hover{text-decoration:underline}
.three{display:flex;gap:8px;margin:20px 0}
.three .st{flex:1;border:1px solid var(--line);border-radius:12px;padding:14px 8px;text-align:center;font-size:12px}
.three .st b{display:block;font-size:13px;margin:6px 0 2px}
.three .st .c{width:28px;height:28px;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-weight:800;
  display:flex;align-items:center;justify-content:center;margin:0 auto;font-size:13px}

/* buttons */
.btn{display:block;width:100%;text-align:center;background:var(--brand);color:#fff;border:0;border-radius:11px;
  padding:14px;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;text-decoration:none}
.btn:disabled{background:#e7eaf1;color:#a6adbd;cursor:not-allowed}
.btn.ghost{background:#fff;color:var(--brand);border:1.5px solid var(--brand)}
.btn.accent{background:var(--accent)}
.btn.kko{background:var(--kakao);color:var(--kakao-ink)}
.btn.sm{padding:10px;font-size:13px}
.btn+.btn{margin-top:8px}
.legal{font-size:11px;color:var(--sub);text-align:center;margin-top:10px}
.legal u{cursor:pointer}

/* chat */
.chat{display:flex;flex-direction:column;gap:2px}
.tags{margin-bottom:8px;min-height:24px}
.chip{display:inline-block;font-size:11.5px;background:var(--brand-soft);color:var(--brand);border-radius:20px;
  padding:3px 10px;margin:2px 4px 2px 0;font-weight:600}
.bubble{max-width:82%;padding:10px 13px;border-radius:15px;font-size:14px;margin:6px 0;white-space:pre-wrap;word-break:break-word}
.bubble.bot{background:var(--chip);border-bottom-left-radius:4px;align-self:flex-start}
.bubble.me{background:var(--brand);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}
.bubble.typing{color:var(--sub);font-style:italic}
.composer{display:flex;gap:8px;align-items:flex-end}
.composer textarea{flex:1;border:1px solid var(--line);border-radius:12px;padding:11px 12px;font-size:14px;
  font-family:inherit;resize:none;max-height:120px;background:#fbfcfe}
.composer button{flex:0 0 auto;background:var(--brand);color:#fff;border:0;border-radius:12px;padding:0 16px;height:44px;
  font-weight:700;cursor:pointer}

/* summary / cards */
.sectitle{font-size:11px;color:var(--sub);font-weight:700;letter-spacing:.4px;margin:16px 0 6px;text-transform:uppercase}
.card-lite{border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:6px 0;font-size:14px;white-space:pre-wrap}
.card-lite.hl{background:var(--brand-soft);border-color:#bcd0ff}
.divider{height:1px;background:var(--line);margin:16px 0}

/* forms */
.field{margin:12px 0}
.label{font-size:12px;color:var(--sub);font-weight:600;margin-bottom:4px;display:block}
.input{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 12px;font-size:14px;font-family:inherit;background:#fbfcfe}
textarea.input{resize:vertical;min-height:70px}
.opt{display:flex;gap:8px;flex-wrap:wrap}
.opt label{border:1px solid var(--line);border-radius:20px;padding:7px 14px;font-size:13px;cursor:pointer;background:#fff}
.opt input{display:none}
.opt input:checked+span{color:var(--brand);font-weight:700}
.opt label:has(input:checked){border-color:var(--brand);background:var(--brand-soft)}

/* plans (W-3) */
.plans{display:flex;gap:10px;margin:6px 0}
.plan{flex:1;border:1.5px solid var(--line);border-radius:12px;padding:14px;position:relative;background:#fff;cursor:pointer}
.plan.on{border-color:var(--brand);background:var(--brand-soft);box-shadow:0 2px 10px rgba(47,91,234,.12)}
.plan .pv{font-size:10.5px;font-weight:800;color:var(--brand);letter-spacing:.3px}
.plan .pt{font-size:14px;font-weight:800;margin:3px 0}
.plan .pd{font-size:12px;color:var(--sub);line-height:1.45;min-height:52px}
.plan .pp{font-size:15px;font-weight:800;margin-top:8px}
.plan .radio{position:absolute;top:12px;right:12px;width:16px;height:16px;border-radius:50%;border:1.5px solid #c3ccdd}
.plan.on .radio{border-color:var(--brand);background:var(--brand);box-shadow:inset 0 0 0 3px #fff}

.acctbox{background:#0f1626;color:#e7ecf7;border-radius:12px;padding:16px;font-size:14px;margin:14px 0}
.acctbox .row{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px dashed #2a3350}
.acctbox .row:last-child{border:0}
.acctbox .amt{font-size:19px;font-weight:800;color:#8fb4ff}
.callout{border-radius:10px;padding:11px 13px;font-size:13px;font-weight:600;margin:10px 0}
.callout.warn{background:var(--warn-soft);color:#8a5a06;border:1px solid #f2d99a}
.callout.info{background:var(--brand-soft);color:#274bb5;border:1px solid #bcd0ff}

/* done */
.done-check{width:58px;height:58px;border-radius:16px;background:var(--accent-soft);color:var(--accent);
  display:flex;align-items:center;justify-content:center;font-size:28px;margin:8px auto 12px}

/* status line */
.status{font-size:13px;color:var(--sub);margin:10px 0;min-height:20px}
.status.error{color:var(--danger)}
.empty{text-align:center;color:var(--sub);padding:38px 12px;font-size:14px}
.upload-zone{display:block;border:1.5px dashed #b9c6e8;border-radius:14px;padding:18px;text-align:center;background:#fafbff;cursor:pointer;color:var(--sub);font-size:13px}
.upload-zone:hover{border-color:var(--brand);background:var(--brand-soft)}
.upload-zone input{display:none}.file-list{display:grid;gap:7px;margin-top:10px}
.file-item{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:11px;padding:9px 11px;background:#fff;font-size:12px}
.file-item .file-meta{flex:1;min-width:0}.file-item b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px}
.file-item small{color:var(--sub)}.file-item button{border:0;background:var(--chip);border-radius:20px;padding:5px 9px;cursor:pointer}
.privacy-note{margin:9px 0 0;color:var(--sub);font-size:11.5px;line-height:1.55}

/* badges */
.badge{font-size:11px;font-weight:700;border-radius:20px;padding:3px 10px;display:inline-block}
.b-wait{background:var(--warn-soft);color:#b4740b}.b-review{background:var(--brand-soft);color:var(--brand)}
.b-done{background:var(--accent-soft);color:#0a875f}.b-retain{background:#f3e8ff;color:#7c3aed}.b-rejected{background:#fff0f0;color:#b42318}
.b-draft{background:#fff4db;color:#a86708}.b-send{background:#eaf0ff;color:#2f5bea}
.b-pay0{background:var(--danger-soft);color:#c0392b}.b-pay1{background:var(--accent-soft);color:#0a875f}
.star{color:var(--star);font-weight:800}

@media(max-width:520px){
  .topbar{padding:10px 12px;gap:8px}
  .topbar .brand{font-size:12px}
  .topbar .brand img{width:108px}
  .steps{gap:4px;justify-content:flex-start}
  .steps .s{padding:3px 7px}
  .step-divider{font-size:11px}
  .three{flex-wrap:wrap}.plans{flex-direction:column}
}

/* ===== 관리자 ===== */
html:not([data-auth-ready="1"]) .admin{visibility:hidden}
html:not([data-auth-ready="1"]) body[data-page]::before{content:"로메이트 화면을 불러오는 중입니다.";position:fixed;inset:0;z-index:90;display:grid;place-items:center;background:#f3f6fb;color:#536079;font-size:13px;font-weight:750;letter-spacing:-.01em}
.admin-loading{display:grid;place-items:center;min-height:220px;padding:32px;color:var(--sub);font-size:13px;font-weight:700;text-align:center}.admin-loading[hidden]{display:none}.admin-loading .action{margin-top:14px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.admin{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:100vh;background:#f5f7fb}
.side{position:sticky;top:0;height:100vh;background:#101827;color:#aab5ca;padding:28px 18px 20px;font-size:14px;display:flex;flex-direction:column}
.side .logo{display:block;width:158px;margin:0 6px 26px;padding:10px 12px;background:#fff;border-radius:12px;color:#fff;text-decoration:none}.side .logo img{display:block;width:100%;height:auto}.side .logo small{display:block;color:#71809c;font-size:10px;letter-spacing:.13em;margin-top:3px}
.side .logo::before{display:none}
.side-group{margin:14px 10px 7px;color:#64718a;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.side a{display:flex;align-items:center;gap:10px;color:#aab5ca;padding:11px 12px;border-radius:11px;margin-bottom:4px;text-decoration:none;cursor:pointer;font-weight:650;transition:.16s}
.side a::before{content:"";width:7px;height:7px;border:1.5px solid currentColor;border-radius:50%;opacity:.7}.side a.on,.side a:hover{background:#21314f;color:#fff}.side a.on::before{background:#6f92ff;border-color:#6f92ff;box-shadow:0 0 0 4px rgba(111,146,255,.14)}
.side-foot{margin-top:auto;padding:14px 10px 0;border-top:1px solid rgba(255,255,255,.08);font-size:11px;line-height:1.6;color:#71809c}.side-foot b{display:block;color:#dbe3f2;font-size:12px}
.admin-main{padding:42px clamp(24px,4vw,64px) 72px;max-width:1500px;width:100%;overflow-x:auto;margin:0 auto}
.admin-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;flex-wrap:wrap;margin-bottom:26px}.admin-title{min-width:0}
.admin-eyebrow{display:block;color:var(--brand);font-size:11px;font-weight:850;letter-spacing:.12em;margin-bottom:7px}.admin-head h1{font-size:30px;letter-spacing:-1.1px;line-height:1.2;margin:0}.admin-sub{margin:8px 0 0;color:var(--sub);font-size:14px}
.connection{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.connection span{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid var(--line);background:#fff;border-radius:99px;font-size:11px;color:var(--sub)}.connection span::before{content:"";width:6px;height:6px;border-radius:50%;background:#18a875}
.admin-panel{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 12px 36px rgba(28,43,78,.045);overflow:hidden;margin-bottom:18px}.admin-panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 22px;border-bottom:1px solid var(--line)}.admin-panel-head h2{font-size:16px;margin:0;letter-spacing:-.3px}.admin-panel-head p{font-size:12px;color:var(--sub);margin:3px 0 0}
.kpi{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;margin-bottom:18px}.kpi .box{min-width:0;border:1px solid var(--line);border-radius:16px;padding:17px 18px;background:#fff;box-shadow:0 8px 24px rgba(28,43,78,.035)}
.kpi .box b{font-size:28px;line-height:1.1;display:block;letter-spacing:-1px}.kpi .box span{display:block;font-size:12px;color:var(--sub);margin-top:7px}.kpi .box:first-child{border-color:#cbd8ff;background:linear-gradient(145deg,#fff,#f4f7ff)}
.filters{display:flex;gap:8px;padding:14px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;background:#fbfcfe}
.filters .fchip{padding:7px 12px;border-radius:20px;background:#eef1f6;font:inherit;font-size:12px;font-weight:700;cursor:pointer;border:1px solid transparent;color:var(--ink)}
.filters .fchip.on{background:#18243a;color:#fff}
.filters input{margin-left:auto;border:1px solid var(--line);border-radius:10px;padding:9px 12px;font-size:12px;min-width:240px;background:#fff}
.table-wrap{overflow:auto}table.t{width:100%;border-collapse:collapse;font-size:13px;background:#fff;min-width:820px}
table.t th{text-align:left;color:#7d879a;font-weight:700;padding:12px 14px;border-bottom:1px solid var(--line);font-size:11px;background:#fbfcfe}
table.t td{padding:14px;border-bottom:1px solid #edf0f5;vertical-align:middle}table.t tbody tr:last-child td{border-bottom:0}
table.t tr.row{cursor:pointer}table.t tr.row:hover td{background:#f7f9fd}table.t tr.imp td{background:#fffdf5}
.admin-empty{padding:56px 24px;text-align:center}.admin-empty i{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:var(--brand-soft);color:var(--brand);font-style:normal;font-weight:900;margin:0 auto 14px}.admin-empty b{display:block;font-size:16px}.admin-empty p,.admin-empty span{display:block;font-size:12px;color:var(--sub);margin:6px 0 12px}.admin-empty.error i{background:var(--danger-soft);color:var(--danger)}
.pill-input{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px;font-size:14px;font-family:inherit}
.profile-history{margin:18px 0;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#fbfcfe}
.history-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:15px 16px;border-bottom:1px solid var(--line);background:#fff}
.history-intro .label{font-size:14px;color:var(--ink);margin:0}.history-intro p{font-size:12px;color:var(--sub);margin:3px 0 0}
.history-badge{flex:0 0 auto;padding:4px 9px;border-radius:20px;background:var(--chip);color:var(--sub);font-size:10.5px;font-weight:750}
.history-editor{display:grid;gap:0}.history-group{padding:15px 16px;border-bottom:1px solid var(--line)}.history-group:last-child{border-bottom:0}
.history-group-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.history-group-head b{display:block;font-size:13px}.history-group-head span{display:block;color:var(--sub);font-size:11px;margin-top:2px}
.history-add{flex:0 0 auto;border:1px solid #cbd8ff;border-radius:9px;background:#fff;color:var(--brand);padding:6px 9px;font:inherit;font-size:11px;font-weight:750;cursor:pointer}.history-add:hover{background:var(--brand-soft)}
.history-list{display:grid;gap:7px}.history-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:center}.history-input{background:#fff}
.history-remove{border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--sub);padding:10px 9px;font:inherit;font-size:11px;cursor:pointer}.history-remove:hover{border-color:#f3cdcd;background:#fff7f7;color:#c53d3d}
.history-caution{margin:8px 0 0;color:#9a5d09;font-size:10.5px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.pdfrow{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:11px;font-size:13px;background:#fff}
.pdfrow .fic{width:28px;height:34px;background:#fde8e8;border-radius:4px;color:var(--danger);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800}
.chatlog{border:1px solid var(--line);border-radius:10px;padding:12px;max-height:280px;overflow:auto;background:#fbfcfe;font-size:13px}
.chatlog p{margin:5px 0}
.back{color:var(--brand);text-decoration:none;font-size:13px;font-weight:700}
.muted{color:var(--sub)}
.route-redirect{min-height:100vh;display:grid;place-content:center;gap:12px;text-align:center;padding:24px;color:var(--sub)}
.route-redirect p{margin:0}.route-redirect a{color:var(--brand);font-weight:750}
.attachment-list{display:grid;gap:7px}
.profile-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:18px;align-items:start}
.profile-form-panel{min-width:0}.profile-form{padding:8px 22px 24px}.profile-form textarea{resize:vertical}.field-help{display:block;text-align:right;color:var(--sub);font-size:11px;margin-top:4px}
.profile-photo-upload{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fafbfe}.profile-photo-thumb{width:72px;height:88px;flex:0 0 72px;display:grid;place-items:center;overflow:hidden;border-radius:7px;background:var(--brand-soft);color:var(--brand);font-size:12px;font-weight:800}.profile-photo-thumb img{width:100%;height:100%;object-fit:cover}.profile-photo-controls{display:grid;gap:6px;min-width:0}.profile-photo-controls>div{display:flex;gap:7px}.profile-photo-controls .action{display:inline-flex;align-items:center;cursor:pointer}.profile-photo-controls small{color:var(--sub);font-size:11px}.profile-photo-controls .status{margin:0;font-size:11px}
.form-actions{display:flex;align-items:center;gap:12px;margin-top:20px}.form-actions .btn{width:auto;min-width:120px}.form-actions .status{margin:0}
.completion{font-size:11px;font-weight:750;color:#9a5d09;background:var(--warn-soft);padding:5px 9px;border-radius:20px;white-space:nowrap}.completion.done{color:#087b58;background:var(--accent-soft)}
.profile-aside{display:grid;gap:18px}.preview-panel,.drive-panel{margin:0}.profile-preview{display:grid;grid-template-columns:72px minmax(0,1fr);gap:16px;padding:22px}.preview-avatar{width:72px;height:88px;overflow:hidden;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand);font-size:24px;font-weight:850;border-radius:8px}.preview-avatar img{width:100%;height:100%;object-fit:cover}.preview-copy h3{font-size:18px;margin:0}.preview-title{font-size:12px;color:var(--sub);margin:2px 0 10px}.preview-tagline{font-size:13px;line-height:1.55;margin:0 0 10px;word-break:break-word}.drive-body{padding:18px 22px}.drive-body p{font-size:12px;color:var(--sub);margin:0 0 12px}.drive-body .btn{width:auto;display:inline-block}
.publication-control{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);padding:10px 12px}.publication-control b,.publication-control small{display:block}.publication-control b{font-size:12px}.publication-control small{font-size:10.5px;color:var(--sub);margin-top:1px}.switch{position:relative;display:inline-flex;align-items:center;cursor:pointer}.switch input{position:absolute;opacity:0;pointer-events:none}.switch>span[aria-hidden]{width:44px;height:24px;border-radius:24px;background:#c7ceda;position:relative;transition:background .16s}.switch>span[aria-hidden]::after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;transition:transform .16s}.switch input:checked+span{background:var(--accent)}.switch input:checked+span::after{transform:translateX(20px)}.switch input:focus-visible+span{outline:3px solid rgba(47,91,234,.24);outline-offset:2px}.switch input:disabled+span{opacity:.55;cursor:wait}
.publish-dialog{width:min(480px,calc(100% - 32px));border:0;padding:0;background:#fff;color:var(--ink)}.publish-dialog::backdrop{background:rgba(16,24,39,.58)}.publish-dialog form{padding:28px}.publish-dialog h2{font-size:21px;line-height:1.35;margin:4px 0 10px}.publish-dialog p{color:var(--sub);font-size:13px;line-height:1.7;margin:0 0 18px}.modal-icon{width:40px;height:40px;display:grid;place-items:center;background:var(--accent-soft);color:#087b58;font-weight:900;margin-bottom:16px}.consent-check{display:flex;gap:9px;align-items:flex-start;padding:12px;background:#f6f8fc;font-size:12px;cursor:pointer}.consent-check input{margin-top:3px}.modal-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:8px;margin-top:18px}.modal-actions .btn{margin:0}
.publish-dialog .sent-recipient{margin:0;color:var(--ink);font-size:14px;font-weight:800}.publish-dialog #sentEmail{color:var(--ink)}.sent-timing{margin-top:4px;padding:12px 14px;border:1px solid var(--line);background:#f8fafc;color:var(--ink);font-size:12px;font-weight:700}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(47,91,234,.24);outline-offset:2px}
@media(max-width:900px){.admin{grid-template-columns:1fr}.side{position:sticky;top:0;z-index:20;height:auto;display:flex;flex-direction:row;gap:5px;overflow-x:auto;padding:10px 14px}.side .logo,.side-group,.side-foot{display:none}.side a{white-space:nowrap;margin:0;min-height:44px}.admin-main{padding:26px 18px 50px}.grid2,.profile-layout{grid-template-columns:1fr}.kpi{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.history-group-head{display:block}.history-add{margin-top:8px}.history-intro{display:block}.history-badge{display:inline-block;margin-top:8px}.history-row{grid-template-columns:1fr}.history-remove{justify-self:end;padding:6px 9px}}
@media(max-width:560px){.kpi{grid-template-columns:1fr}.filters input{margin-left:0;width:100%;min-width:0}.admin-head h1{font-size:25px}.publication-control{width:100%;justify-content:space-between}.profile-preview{grid-template-columns:60px minmax(0,1fr)}.preview-avatar{width:60px;height:74px}.modal-actions{grid-template-columns:1fr}}

/* authentication / operator approval */
.auth-gate{position:fixed;inset:0;z-index:100;background:linear-gradient(145deg,#eef2fb 0%,#f8f9fc 58%,#eaf0ff 100%);display:grid;place-items:center;padding:24px}
.auth-card{width:min(460px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;padding:34px;box-shadow:0 24px 70px rgba(22,35,68,.12)}
.auth-tabs{display:flex;gap:6px;margin:6px 0 20px;padding:4px;background:#eef1f6;border-radius:12px}
.auth-tabs button{flex:1;padding:10px 0;border:0;border-radius:9px;background:transparent;font:inherit;font-size:13px;font-weight:750;color:var(--sub);cursor:pointer}
.auth-tabs button.on{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(15,27,46,.14)}
.auth-mark{display:block;width:176px;height:auto;margin-bottom:22px;background:transparent}.auth-mark img{display:block;width:100%;height:auto}
.auth-card h1{font-size:25px;line-height:1.3;margin:0 0 10px;letter-spacing:-.7px}.auth-card p{font-size:14px;color:var(--sub);margin:0 0 22px}.auth-card .auth-state{border-radius:13px;padding:13px 15px;background:#f6f8fc;font-size:13px;color:#44506a;margin-bottom:16px}
.auth-logout{border:0;background:none;color:var(--sub);font:inherit;font-size:12px;text-decoration:underline;cursor:pointer;margin-top:14px}
.approval-toolbar{display:flex;gap:10px;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line);background:#fbfcfe;flex-wrap:wrap}
.approval-toolbar input{flex:1;min-width:220px;border:1px solid var(--line);border-radius:11px;padding:10px 12px;font:inherit;font-size:13px;background:#fff}
.approval-list{display:grid;gap:0}.approval-row{display:grid;grid-template-columns:minmax(140px,.9fr) minmax(180px,1.25fr) minmax(100px,.62fr) minmax(150px,.9fr) minmax(112px,.7fr) auto;gap:16px;align-items:center;padding:17px 20px;border-bottom:1px solid #edf0f5}.approval-row:last-child{border-bottom:0}
.expert-id{display:flex;align-items:center;gap:12px;min-width:0}.expert-avatar{width:42px;height:42px;flex:0 0 42px;border-radius:13px;overflow:hidden;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;font-size:16px;font-weight:850}.expert-avatar img{width:100%;height:100%;object-fit:cover}.expert-id b{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expert-id small,.approval-meta small{display:block;color:var(--sub);font-size:11px;margin-top:2px}.approval-meta b{display:block;font-size:12px}.approval-actions{display:flex;gap:7px;justify-content:flex-end;flex-wrap:wrap}.action{border:1px solid var(--line);background:#fff;border-radius:9px;padding:7px 10px;font:inherit;font-size:11.5px;font-weight:750;cursor:pointer}.action.primary{background:var(--brand);border-color:var(--brand);color:#fff}.action.danger{color:#c53d3d;background:#fff7f7;border-color:#f3cdcd}.action:disabled{opacity:.45;cursor:wait}
.status-badge{display:inline-flex;align-items:center;gap:6px;border-radius:99px;padding:5px 9px;font-size:10.5px;font-weight:800}.status-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status-pending{background:var(--warn-soft);color:#a76808}.status-approved{background:var(--accent-soft);color:#087b58}.status-suspended,.status-rejected{background:var(--danger-soft);color:#bd3d3d}.drive-ok{color:#087b58}.drive-wait{color:#8a6470}

/* expert workspace */
.home-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:18px;align-items:start}.calendar{display:grid;grid-template-columns:repeat(7,minmax(54px,1fr));padding:16px}.cal-head{text-align:center;padding:8px;color:var(--sub);font-size:11px}.cal-cell{min-height:86px;border-top:1px solid var(--line);padding:8px;display:flex;flex-direction:column;gap:4px;font-size:12px}.cal-cell.blank{background:#fafbfc}.cal-cell.today{background:#f1f5ff}.cal-cell>b{font-size:12px}.cal-cell small{font-size:9px;padding:3px 4px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-cell .phone{background:#eaf0ff;color:#2f5bea}.cal-cell .visit{background:#e5f8f1;color:#087b58}.cal-cell .deadline{background:#fff0f0;color:#c53d3d}.calendar-legend{display:flex;gap:14px;padding:0 20px 18px;color:var(--sub);font-size:10px}.calendar-legend span::before{content:"";display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:2px}.calendar-legend .phone::before{background:#7d9cff}.calendar-legend .visit::before{background:#56c59c}.calendar-legend .deadline::before{background:#ef7777}.task-list,.consultation-list{display:grid}.task-row,.consultation-row{display:grid;grid-template-columns:82px minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px 18px;border-bottom:1px solid #edf0f5}.task-row:last-child,.consultation-row:last-child{border-bottom:0}.task-row>div b,.consultation-copy b{display:block;font-size:13px}.task-row small,.consultation-copy small{display:block;color:var(--sub);font-size:11px;margin-top:3px}.task-row .btn,.consultation-row .btn{width:auto;margin:0}.due{display:inline-flex;justify-content:center;padding:7px 8px;border-radius:8px;background:#eef1f6;color:#566177;font-size:11px;font-weight:800}.due.urgent,.urgent .due{background:#fff0f0;color:#c53d3d}.consultation-row.urgent{background:#fffafa}.filter-divider{width:1px;height:24px;background:var(--line)}
.consultation-price{color:var(--ink);font-weight:800}.consultation-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:nowrap}.consultation-actions .btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;white-space:nowrap}
.payment-strip{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid #cbd8ff;background:#f4f7ff;padding:14px 18px;margin-bottom:18px}.payment-strip b,.payment-strip span{display:block}.payment-strip b{font-size:18px}.payment-strip span{color:var(--sub);font-size:11px;margin-top:3px}.payment-strip .btn{width:auto;margin:0}.case-head{margin-top:18px}.facts-panel .facts-grid{display:grid;grid-template-columns:1fr}.facts-grid>div{padding:18px 22px}.facts-grid>div+div{border-top:1px solid var(--line)}.facts-grid b{font-size:12px;color:var(--sub)}.facts-grid p{white-space:pre-wrap;line-height:1.7;font-size:13px;margin:8px 0 0}.consult-workspace{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr);gap:18px;align-items:start}.sticky-editor{position:sticky;top:18px}.answers{padding:18px;display:grid;gap:12px}.answer-card{border:1px solid var(--line);padding:16px;background:#fff}.answer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.answer-head>div{display:flex;align-items:flex-start;gap:9px}.answer-head span{flex:0 0 auto;padding:4px 7px;background:#7138e8;color:#fff;font-size:10px;font-weight:800;border-radius:5px}.answer-head b{font-size:13px;line-height:1.55}.answer-input{resize:vertical;line-height:1.65}.case-section{padding:18px 20px}.case-section .label{margin-top:13px}.amount-input,.profile-price{position:relative}.amount-input input,.profile-price input{padding-right:28px;text-align:right}.amount-input span,.profile-price span{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:11px;color:var(--sub)}.answer-style{padding:12px;background:#f6f8fc;margin-top:14px}.answer-style b{font-size:11px}.answer-style p{font-size:11px;color:var(--sub);white-space:pre-wrap;margin:5px 0 0}.case-actions{display:grid;grid-template-columns:1fr 1.2fr;gap:8px;margin-top:16px}.case-actions .btn{margin:0}.transcript{margin-top:14px}.transcript summary{cursor:pointer;color:var(--brand);font-size:12px;font-weight:700}.event-list{list-style:none;padding:10px 18px 16px;margin:0}.event-list li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #edf0f5;font-size:11px}.event-list li:last-child{border:0}.event-list span{color:var(--sub);white-space:nowrap}.profile-plan-list{display:grid}.profile-plan-row{display:grid;grid-template-columns:auto minmax(0,1fr) 105px;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid #edf0f5}.profile-plan-row b,.profile-plan-row small{display:block}.profile-plan-row b{font-size:12px}.profile-plan-row small{font-size:10px;color:var(--sub);margin-top:2px}.profile-plan-row .pill-input{padding:9px;font-size:12px}.profile-plan-actions{display:flex;align-items:center;gap:10px;padding:14px 16px}.profile-plan-actions .btn{width:auto;margin:0}.profile-plan-actions .status{margin:0}.preparation-layout{margin-top:0}.question-editor{display:grid}.question-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto auto;gap:9px;align-items:center;padding:11px 16px;border-bottom:1px solid #edf0f5}.question-order{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#eef2ff;color:#2f5bea;font-size:11px;font-weight:800}.required-check{font-size:11px;white-space:nowrap}.operator-detail{display:grid;grid-template-columns:1fr 1fr .7fr;gap:0}.operator-detail>div{padding:20px;border-right:1px solid var(--line)}.operator-detail>div:last-child{border:0}.operator-detail>div>b{font-size:12px;color:var(--sub)}.operator-detail p{white-space:pre-wrap;font-size:12px;line-height:1.65}.audit-answer{border-top:1px solid var(--line);padding:10px 0}.audit-answer small{color:var(--brand);font-weight:700}.audit-answer p{margin:5px 0 0}
/* editable consultation products */
.profile-plan-card{padding:15px 16px;border-bottom:1px solid #edf0f5}.profile-plan-card:last-child{border-bottom:0}.profile-plan-head{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;margin-bottom:12px}.profile-plan-head b{font-size:12px}.profile-plan-card>.label{margin-top:10px}.profile-plan-card textarea{resize:vertical}.profile-plan-numbers{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.profile-plan-numbers .label{margin-top:0}
@media(max-width:1100px){.home-grid,.consult-workspace{grid-template-columns:1fr}.sticky-editor{position:static}.operator-detail{grid-template-columns:1fr}.operator-detail>div{border-right:0;border-bottom:1px solid var(--line)}}
@media(max-width:680px){.calendar{padding:8px}.cal-cell{min-height:65px;padding:5px}.cal-cell small{font-size:0}.cal-cell small::before{content:"";display:block;width:7px;height:7px;border-radius:50%;background:currentColor}.task-row,.consultation-row{grid-template-columns:70px minmax(0,1fr)}.task-row .btn,.consultation-row>.btn{grid-column:2;justify-self:start}.consultation-actions{grid-column:2;justify-content:flex-start}.facts-panel .facts-grid{grid-template-columns:1fr}.facts-grid>div+div{border-left:0;border-top:1px solid var(--line)}.answer-head{display:block}.answer-head .action{margin-top:10px}.question-row{grid-template-columns:28px minmax(0,1fr)}.question-row .required-check,.question-row .action{grid-column:2}.profile-plan-row{grid-template-columns:auto minmax(0,1fr)}.profile-plan-row .profile-price{grid-column:2}.profile-plan-numbers{grid-template-columns:1fr}.filter-divider{display:none}}
@media(max-width:1100px){.approval-row{grid-template-columns:minmax(130px,.8fr) minmax(180px,1.2fr) minmax(120px,.7fr) minmax(110px,.65fr) auto}.approval-row .approval-meta:nth-child(4){display:none}}
@media(max-width:680px){.approval-row{grid-template-columns:1fr}.approval-actions{justify-content:flex-start}.auth-card{padding:26px}}

/* consultation response workspace */
.case-main{max-width:1480px;padding-top:30px}.case-main .admin-panel{border-radius:8px;box-shadow:none}.case-back{display:inline-flex;align-items:center;gap:7px;margin-bottom:18px;font-size:12px}.case-back::before{content:"←";font-size:15px}.case-head{align-items:center;margin:0 0 18px;padding-bottom:20px;border-bottom:1px solid var(--line)}.case-title h1{font-size:27px;letter-spacing:0}.case-badges{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.case-deadline{display:flex;align-items:center;gap:9px;border-right:1px solid var(--line);padding-right:14px;margin-right:4px}.case-deadline small{color:var(--sub);font-size:10px}.case-deadline b{font-size:12px}.case-global-status:not(:empty){position:fixed;left:50%;bottom:22px;z-index:60;transform:translateX(-50%);min-width:260px;max-width:min(520px,calc(100vw - 32px));margin:0;padding:11px 16px;border:1px solid #bdd2ff;background:#f6f9ff;box-shadow:0 10px 28px rgba(28,43,78,.12);text-align:center}.section-kicker{display:block;margin-bottom:4px;color:#60708c;font-size:9px;font-weight:850;letter-spacing:.12em}.compact-head{padding:17px 20px}.compact-head h2,.rail-head h2,.answer-panel-head h2{font-size:16px;letter-spacing:0}
.payment-strip{border-radius:8px;background:#fff;padding:13px 16px}.payment-strip.payment-pending{border-color:#f0cf91;border-left:4px solid #d99720}.payment-strip.payment-ready{border-color:#b8ddcf;border-left:4px solid #168d69}.payment-copy{display:grid;grid-template-columns:auto auto;column-gap:11px;align-items:center}.payment-copy .payment-label{grid-column:1/-1;margin:0 0 2px;color:#8a5a09;font-size:10px;font-weight:800}.payment-ready .payment-label{color:#087b58}.payment-copy b{font-size:17px}.payment-copy small{font-size:10.5px;color:var(--sub)}.payment-actions{display:flex;align-items:center;gap:12px}.payment-actions p{margin:0;color:var(--sub);font-size:10.5px}.payment-actions .btn{min-width:96px}.case-summary-panel{margin-bottom:16px}.case-summary-panel .admin-panel-head{border-bottom:1px solid var(--line)}.facts-grid>div{padding:17px 20px}.facts-grid b{font-size:10.5px;text-transform:none}.facts-grid p{max-width:82ch;margin-top:7px;font-size:13px;line-height:1.75}
.consult-workspace{grid-template-columns:minmax(0,1fr) 370px;gap:16px}.case-primary,.case-rail{min-width:0}.answer-panel-head{padding:18px 20px}.answer-panel-head .completion{align-self:center}.answers{padding:0;gap:0}.answer-card{border:0;border-bottom:1px solid var(--line);padding:19px 20px;background:#fff}.answer-card:last-child{border-bottom:0}.answer-head{align-items:center;margin-bottom:11px}.answer-question{min-width:0}.answer-question>span{margin-top:1px;padding:5px 7px;border-radius:5px;background:#2f5bea}.answer-question small{display:block;margin-bottom:3px;color:var(--sub);font-size:9.5px;font-weight:700}.answer-question b{display:block;font-size:13px;line-height:1.5;letter-spacing:0}.draft-action{flex:0 0 auto;color:#234ec4;background:#f6f8ff;border-color:#cfdafd}.answer-input{min-height:132px;max-height:360px;padding:14px 15px;background:#fbfcfe;border-color:#dce2ed;border-radius:6px;line-height:1.7;overflow-y:auto}.answer-input:focus{background:#fff}.case-empty-row{padding:24px 20px;color:var(--sub);font-size:12px;text-align:center}
.attachment-panel{margin-top:16px}.case-files{display:grid}.case-file{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:10px 0}.case-file:last-child{border-bottom:0}.case-file .action{margin-left:auto}.case-file .fic{border-radius:4px}.transcript{padding-top:12px;border-top:1px solid var(--line)}.transcript summary{display:flex;align-items:center;justify-content:space-between;color:var(--ink)}.transcript summary::after{content:"펼치기";color:var(--brand);font-size:10px}.transcript[open] summary::after{content:"접기"}.chatlog{margin-top:12px;padding:13px 15px;background:#f7f8fb;border:1px solid var(--line)}.chatlog p{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;margin:0;padding:8px 0;border-bottom:1px solid #e7eaf0;font-size:11px;line-height:1.6}.chatlog p:last-child{border-bottom:0}.chatlog b{color:#526078}
.sticky-editor{top:14px}.rail-head{padding:17px 18px}.sticky-editor .case-section{padding:17px 18px}.sticky-editor textarea{resize:vertical;line-height:1.6}.followup-fields{margin-top:17px;padding-top:16px;border-top:1px solid var(--line)}.followup-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.followup-title b{font-size:12px}.followup-title span{color:var(--sub);font-size:9.5px}.followup-fields .label{margin-top:10px}.answer-style{margin-top:15px;padding:0;border:1px solid var(--line);background:#f8f9fc}.answer-style summary{padding:10px 12px;cursor:pointer;font-size:10.5px;font-weight:750}.answer-style p{padding:0 12px 11px}.reply-readiness{display:flex;align-items:center;gap:9px;margin-top:14px;padding:10px 11px;background:#fff8e9;border:1px solid #f0d49c}.reply-readiness>span{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#d99720}.reply-readiness b,.reply-readiness small{display:block}.reply-readiness b{font-size:10.5px}.reply-readiness small{margin-top:2px;color:var(--sub);font-size:9.5px}.reply-readiness.ready{background:#eefaf6;border-color:#b8ddcf}.reply-readiness.ready>span{background:#168d69}.case-actions{grid-template-columns:.85fr 1.15fr;margin-top:12px}.case-actions .btn{min-height:42px}.history-panel{margin-top:16px}.event-list{padding:7px 17px 12px}.event-list li{position:relative;justify-content:flex-start;gap:9px;padding:9px 0;border:0}.event-list li+li{border-top:1px solid #edf0f5}.event-dot{width:7px;height:7px;flex:0 0 7px;margin-top:4px;border-radius:50%;background:#b9c4d8}.event-list li>div{display:flex;width:100%;justify-content:space-between;gap:10px}.event-list b{font-size:10.5px}.event-list span{font-size:9.5px}.amount-input input{text-align:left}
@media(max-width:1100px){.case-main .consult-workspace{grid-template-columns:1fr}.case-main .sticky-editor{position:static}.case-rail{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:16px}.history-panel{margin-top:0}}
@media(max-width:680px){.case-main{padding-top:20px}.case-head{align-items:flex-start}.case-badges{justify-content:flex-start}.case-deadline{width:100%;border-right:0;padding-right:0}.payment-strip,.payment-actions{align-items:flex-start}.payment-strip{display:grid}.payment-actions{justify-content:space-between}.payment-actions p{max-width:180px}.facts-panel .facts-grid{grid-template-columns:1fr}.facts-grid>div+div{border-left:0;border-top:1px solid var(--line)}.case-rail{grid-template-columns:1fr}.answer-card{padding:16px}.answer-question>span{display:inline-flex}.answer-head .draft-action{margin:10px 0 0 35px}.chatlog p{grid-template-columns:1fr;gap:3px}}

/* delivery settings and consultation delivery composer */
.delivery-health{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid var(--line);background:#fff;color:#8a5a09;font-size:11px;font-weight:750}.delivery-health i,.channel-pending i{width:7px;height:7px;border-radius:50%;background:#d99720}.delivery-health.ready{color:#087b58}.delivery-health.ready i{background:#168d69}.delivery-settings-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:18px;align-items:start}.delivery-settings-main,.delivery-settings-side .admin-panel{border-radius:8px;box-shadow:none}.delivery-settings-side{display:grid;gap:18px}.delivery-settings-side .admin-panel{margin:0}.delivery-settings-body{display:grid;gap:16px;padding:20px 22px}.delivery-settings-body .field{margin:0}.delivery-settings-body textarea{resize:vertical;line-height:1.65}.template-vars{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding-top:4px;color:var(--sub);font-size:10px}.template-vars b{margin-right:3px;color:var(--ink)}.template-vars code{padding:5px 7px;border:1px solid var(--line);background:#f7f8fb;color:#42516d;font-size:10px}.channel-pending{display:flex;align-items:flex-start;gap:9px;padding:11px 12px;border:1px solid #efd39f;background:#fff8e9}.channel-pending i{margin-top:4px;flex:0 0 7px}.channel-pending b,.channel-pending span{display:block}.channel-pending b{font-size:11px}.channel-pending span{margin-top:2px;color:var(--sub);font-size:10px}.question-tone-panel details summary{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;cursor:pointer;list-style:none}.question-tone-panel details summary::-webkit-details-marker{display:none}.question-tone-panel details summary b,.question-tone-panel details summary small{display:block}.question-tone-panel details summary b{font-size:14px}.question-tone-panel details summary small{margin-top:3px;color:var(--sub);font-size:10px}.question-tone-panel details summary>span{color:var(--brand);font-size:10px;font-weight:750}.question-tone-panel details[open] summary{border-bottom:1px solid var(--line)}.question-tone-panel details[open] summary>span{font-size:0}.question-tone-panel details[open] summary>span::after{content:"닫기";font-size:10px}.settings-savebar{position:sticky;bottom:14px;z-index:15;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding:13px 15px;border:1px solid #cbd4e4;background:rgba(255,255,255,.96);box-shadow:0 10px 28px rgba(28,43,78,.1);backdrop-filter:blur(8px)}.settings-savebar>div{display:flex;align-items:center;gap:10px}.settings-savebar b,.settings-savebar span{display:block}.settings-savebar b{font-size:11px}.settings-savebar>div:first-child span{margin-top:2px;color:var(--sub);font-size:9.5px}.settings-savebar .btn{width:auto;margin:0;min-width:108px}
.delivery-compose{display:grid;gap:10px;margin-bottom:17px;padding-bottom:17px;border-bottom:1px solid var(--line)}.delivery-recipient{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;background:#f6f8fc;border:1px solid var(--line)}.delivery-recipient span{color:var(--sub);font-size:9.5px}.delivery-recipient b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px}.delivery-channels{display:grid;grid-template-columns:1fr 1fr;gap:7px}.channel-option{display:flex;align-items:center;gap:8px;padding:9px;border:1px solid #c9d7ff;background:#f7f9ff;cursor:pointer}.channel-option input{margin:0}.channel-option b,.channel-option small{display:block}.channel-option b{font-size:10.5px}.channel-option small{margin-top:1px;color:var(--sub);font-size:9px}.channel-option.off{border-color:var(--line);background:#fafbfc;color:#8b94a5;cursor:not-allowed}.delivery-summary{margin:0;color:var(--sub);font-size:9.5px;line-height:1.55}.reply-file-check{display:flex;align-items:center;gap:5px;margin-left:auto;white-space:nowrap;color:var(--sub);font-size:9.5px;cursor:pointer}.reply-file-check input{margin:0}.case-file .reply-file-check+.action{margin-left:0}
.case-support-panel,.response-delivery-panel{margin-top:16px}.case-muted{margin:0;padding:18px 20px;color:var(--sub);font-size:11px}.case-file-list{display:grid;padding:0 20px 16px}.case-file-list .case-file{display:flex;align-items:center;gap:12px;min-height:46px;color:var(--ink);text-decoration:none}.case-file-list .case-file>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700}.case-file-list .case-file>small{margin-left:auto;color:var(--brand);font-size:10px;font-weight:700}.response-delivery-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:0 20px 20px}.response-delivery-grid label,.response-delivery-panel>label{display:grid;gap:7px;color:var(--ink);font-size:11px;font-weight:700}.response-delivery-grid label:first-child,.response-delivery-grid label:nth-child(3){grid-column:1/-1}.response-delivery-panel>label{padding:0 20px 16px}.response-delivery-grid small,.response-delivery-panel label small,.reply-file-toolbar small{color:var(--sub);font-size:9px;font-weight:500}.reply-file-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 20px 12px}.reply-file-toolbar>div{display:flex;align-items:baseline;gap:6px}.reply-file-toolbar b{font-size:11px}.reply-file-toolbar .btn{width:auto;margin:0}.preview-extra{padding:18px 20px;border-top:1px solid var(--line)}.preview-extra>b{display:block;margin-bottom:7px;color:var(--sub);font-size:10px}.preview-extra h3{margin:0 0 7px;font-size:14px}.preview-extra p{margin:0;white-space:pre-wrap;font-size:11px;line-height:1.7}.preview-extra strong{display:block;margin-top:10px;color:var(--brand);font-size:15px}
.reply-upload-head{display:flex;align-items:center;justify-content:space-between;margin-top:3px}.reply-upload-head b{font-size:10.5px}.reply-upload-head .action{cursor:pointer}.reply-upload-head .action.disabled{opacity:.45;pointer-events:none}.reply-upload-list{display:grid;border:1px solid var(--line)}.reply-upload-file{display:grid;grid-template-columns:28px minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:9px 10px}.reply-upload-file+.reply-upload-file{border-top:1px solid var(--line)}.reply-upload-file .fic{width:25px;height:30px;display:grid;place-items:center;border-radius:3px;background:#fde8e8;color:var(--danger);font-size:8px;font-weight:850}.reply-upload-file b,.reply-upload-file small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-upload-file b{font-size:10px}.reply-upload-file small{margin-top:1px;color:var(--sub);font-size:8.5px}.reply-upload-file .reply-file-check{margin:0}.reply-upload-file .action{padding:5px 7px;font-size:9px}.reply-upload-empty{padding:12px;color:var(--sub);font-size:9.5px;text-align:center}
@media(max-width:1000px){.delivery-settings-layout{grid-template-columns:1fr}.delivery-settings-side{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.delivery-settings-side{grid-template-columns:1fr}.settings-savebar{align-items:flex-start;flex-direction:column}.settings-savebar>div{width:100%;justify-content:space-between}.delivery-recipient{align-items:flex-start;flex-direction:column}.delivery-recipient b{width:100%}.case-file{align-items:flex-start;flex-wrap:wrap}.case-file>div{min-width:calc(100% - 44px)}.reply-file-check{margin-left:38px}.case-file .reply-file-check+.action{margin-left:auto}.delivery-channels{grid-template-columns:1fr}.reply-upload-file{grid-template-columns:25px minmax(0,1fr) auto}.reply-upload-file .reply-file-check{grid-column:2;margin:0}.reply-upload-file .action{grid-column:3;grid-row:1/3}}
@media(max-width:680px){.response-delivery-grid{grid-template-columns:1fr}.response-delivery-grid label{grid-column:1!important}.reply-file-toolbar{align-items:flex-start;flex-direction:column}.case-file-list .case-file{align-items:center;flex-wrap:nowrap}.case-file-list .case-file>span{max-width:calc(100vw - 150px)}}

/* customer account workspace */
.customer-page{min-height:100vh;background:#f4f6fb}.customer-shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}
.customer-side{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:28px 20px;background:#101b2d;color:#fff}.customer-brand{display:flex;align-items:center;gap:11px;text-decoration:none}.customer-brand .cb-mark{flex:0 0 auto;width:40px;height:40px;display:grid;place-items:center}.customer-brand .cb-mark svg{width:27px;height:30px;display:block}.customer-brand .cb-txt{font-size:20px;font-weight:800;color:#fff;line-height:1.05;letter-spacing:-.4px}.customer-brand .cb-txt small{display:block;margin-top:3px;color:#8190ac;font-size:9px;font-weight:600;letter-spacing:.18em}.customer-side nav{display:grid;gap:5px;margin-top:48px}.customer-side nav button{padding:12px 14px;border:0;border-radius:6px;background:transparent;color:#aeb9cc;font:inherit;font-size:13px;font-weight:700;text-align:left;cursor:pointer}.customer-side nav button:hover,.customer-side nav button.on{background:#243b61;color:#fff}.customer-account{margin-top:auto;padding-top:18px;border-top:1px solid #29374d}.customer-account b,.customer-account small{display:block}.customer-account b{font-size:12px}.customer-account small{margin-top:4px;color:#8391a9;font-size:10px;overflow:hidden;text-overflow:ellipsis}.customer-main{min-width:0;padding:42px clamp(22px,5vw,72px)}.customer-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:25px}.customer-eyebrow{color:var(--brand);font-size:9px;font-weight:850;letter-spacing:.15em}.customer-top h1{margin:4px 0 4px;font-size:30px;letter-spacing:0}.customer-top p{margin:0;color:var(--sub);font-size:13px}.customer-close{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);background:#fff;text-decoration:none;font-size:24px}.customer-global-status:not(:empty){margin:0 0 14px;padding:10px 12px;border:1px solid #bdd2ff;background:#f4f7ff;font-size:12px}.customer-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.customer-kpis>div{padding:20px;border:1px solid var(--line);background:#fff}.customer-kpis b,.customer-kpis span{display:block}.customer-kpis b{font-size:28px}.customer-kpis span{margin-top:5px;color:var(--sub);font-size:11px}.customer-panel{margin-bottom:18px;border:1px solid var(--line);background:#fff}.customer-panel>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--line)}.customer-panel h2{margin:0;font-size:16px}.customer-panel header p{margin:3px 0 0;color:var(--sub);font-size:10px}.customer-panel-body{padding:18px 20px}.customer-list{display:grid}.customer-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;padding:14px 0;border:0;border-bottom:1px solid #edf0f5;background:#fff;color:inherit;font:inherit;text-align:left}.customer-row:last-child{border-bottom:0}.customer-row b,.customer-row small{display:block}.customer-row b{font-size:13px}.customer-row small{margin-top:3px;color:var(--sub);font-size:10px}.customer-row i{color:var(--brand);font-size:10px;font-style:normal}.customer-row-actions,.customer-inline-actions,.customer-form-actions{display:flex;align-items:center;gap:7px}.action{padding:8px 10px;border:1px solid var(--line);background:#fff;color:var(--ink);font:inherit;font-size:10px;font-weight:750;cursor:pointer}.action.primary{border-color:var(--brand);background:var(--brand);color:#fff}.action.danger{border-color:#f2b7b7;color:#c33}.action:disabled{opacity:.42;cursor:not-allowed}.status-badge{display:inline-flex;min-width:58px;justify-content:center;padding:5px 8px;border-radius:20px;background:#eef3ff;color:#2655d9;font-size:9px;font-weight:800}.sheet-icon{display:grid;place-items:center;width:38px;height:42px;background:#eef2ff;color:#315be0;font-size:9px}.customer-empty{padding:38px;color:var(--sub);font-size:12px;text-align:center}.customer-favorites{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.customer-favorite{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;padding:15px;border:1px solid var(--line)}.customer-favorite>div:last-child{grid-column:1/-1;display:flex;gap:7px}.customer-avatar{display:grid;place-items:center;width:52px;height:62px;background:#e9efff;color:var(--brand);font-weight:850;overflow:hidden}.customer-avatar img{width:100%;height:100%;object-fit:cover}.customer-favorite b,.customer-favorite small{display:block}.customer-favorite small,.customer-favorite p{color:var(--sub);font-size:10px}.customer-favorite p{margin:5px 0}.customer-profile-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:18px}.customer-form,.customer-settings{display:grid;gap:13px}.customer-form label{display:grid;gap:5px;font-size:10px;font-weight:750}.customer-form .input{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:5px;background:#fff;font:inherit;font-size:12px}.customer-form textarea.input{resize:vertical;line-height:1.65}.phone-code{display:flex;gap:7px}.customer-setting{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid var(--line)}.customer-setting b,.customer-setting small{display:block}.customer-setting b{font-size:12px}.customer-setting small{color:var(--sub);font-size:9px}.switch input{position:absolute;opacity:0}.switch>span{display:block;width:38px;height:22px;padding:3px;border-radius:20px;background:#cbd2df;cursor:pointer}.switch>span::after{content:"";display:block;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s}.switch input:checked+span{background:var(--accent)}.switch input:checked+span::after{transform:translateX(16px)}.customer-dialog{width:min(680px,calc(100vw - 28px));max-height:88vh;padding:0;border:0;background:#fff;box-shadow:0 24px 70px rgba(11,24,48,.22)}.customer-dialog::backdrop{background:rgba(10,20,38,.5)}.customer-dialog header{position:sticky;top:0;z-index:2;padding:18px 20px;border-bottom:1px solid var(--line);background:#fff}.customer-dialog header span{color:var(--brand);font-size:8px;font-weight:850;letter-spacing:.14em}.customer-dialog header h2{margin:3px 40px 0 0;font-size:19px}.customer-dialog header button{position:absolute;right:15px;top:15px;border:0;background:transparent;font-size:25px;cursor:pointer}.customer-dialog-content{padding:20px;overflow:auto}.customer-dialog-content h3{margin:18px 0 6px;font-size:11px}.preserve{white-space:pre-wrap;font-size:12px;line-height:1.75}.customer-detail{display:grid;grid-template-columns:repeat(3,1fr);margin:0;border:1px solid var(--line)}.customer-detail>div{padding:11px;border-right:1px solid var(--line)}.customer-detail>div:last-child{border:0}.customer-detail dt{color:var(--sub);font-size:8px}.customer-detail dd{margin:3px 0 0;font-size:10px;font-weight:750}.version-list{display:grid;border:1px solid var(--line)}.version-list>div{display:flex;justify-content:space-between;padding:9px 11px;border-bottom:1px solid var(--line);font-size:10px}.version-list>div:last-child{border:0}.consent-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center}.entry-route{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f4f6fb}.entry-route-body{width:min(460px,100%);padding:38px;border:1px solid var(--line);background:#fff;text-align:center}.entry-route-body h1{margin:15px 0 5px;font-size:24px}.entry-route-body p{color:var(--sub);font-size:12px}.customer-empty{padding:38px;color:var(--sub);font-size:12px;text-align:center}.entry-spinner{width:34px;height:34px;margin:auto;border:3px solid #dce5ff;border-top-color:var(--brand);border-radius:50%;animation:entry-spin .8s linear infinite}@keyframes entry-spin{to{transform:rotate(360deg)}}
.customer-alerts{display:grid;gap:8px;margin-bottom:18px}.customer-alert{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;border:1px solid #d5def2;background:#f7f9ff;font-size:11px}.customer-alert strong{font-size:12px}.customer-alert.warning{border-color:#f1d39b;background:#fffaf0;color:#744d09}.customer-alert.danger{border-color:#efb7b7;background:#fff7f7;color:#a32727}.customer-filter-tabs{display:flex;flex-wrap:wrap;gap:7px}.customer-filter-tabs button{padding:8px 12px;border:1px solid var(--line);border-radius:20px;background:#fff;color:var(--sub);font:inherit;font-size:10px;font-weight:750;cursor:pointer}.customer-filter-tabs button.on{border-color:#17243a;background:#17243a;color:#fff}.consult-card-list{display:grid}.consult-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:18px 20px;border-bottom:1px solid #e8ecf3;background:#fff}.consult-card:last-child{border-bottom:0}.consult-card-top{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.consult-card h3{margin:0;font-size:14px}.consult-card p{margin:8px 0 0;color:var(--sub);font-size:11px;line-height:1.65}.consult-expert{display:flex;align-items:center;gap:10px;margin-top:12px}.consult-expert .customer-avatar{width:38px;height:44px}.consult-expert b,.consult-expert small{display:block}.consult-expert small{margin-top:2px;color:var(--sub);font-size:9px}.consult-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.consult-detail-grid>div{padding:10px 11px;border:1px solid #e2e7ef;background:#fafbfc}.consult-detail-grid span,.consult-detail-grid b{display:block}.consult-detail-grid span{color:var(--sub);font-size:8px}.consult-detail-grid b{margin-top:4px;font-size:10px}.consult-deadline{color:#a86808!important;font-weight:750}.consult-refund{color:#b42b2b!important;font-weight:750}.customer-status-wait{background:#fff4da;color:#98610b}.customer-status-progress{background:#eaf0ff;color:#2655d9}.customer-status-done{background:#e8f8f0;color:#08734b}.customer-status-rejected,.customer-status-cancelled{background:#fff0f0;color:#b62b2b}.notification-group{padding:6px 0 14px;border-bottom:1px solid var(--line)}.notification-group:last-child{border-bottom:0}.notification-group>h3{margin:11px 0 2px;font-size:12px}.notification-group>p{margin:0 0 5px;color:var(--sub);font-size:9px}.answer-item{padding:16px 0;border-bottom:1px solid #e8ecf3}.answer-item:last-child{border-bottom:0}.answer-item h4{margin:0 0 8px;font-size:12px}.answer-item p{margin:0;font-size:12px;line-height:1.75;white-space:pre-wrap}.answer-item aside{margin-top:10px;padding:10px 12px;border-left:3px solid var(--brand);background:#f6f8fc;color:#475467;font-size:10px;line-height:1.65}.review-attributes{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.review-attributes label{display:flex;align-items:center;gap:7px;padding:9px 10px;border:1px solid var(--line);font-size:10px;font-weight:650}.review-attributes input{margin:0}
@media(max-width:880px){.customer-shell{grid-template-columns:1fr}.customer-side{position:sticky;top:0;z-index:30;height:auto;display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:10px;padding:9px 12px;box-shadow:0 1px 0 rgba(255,255,255,.08)}.customer-brand .cb-txt small{display:none}.customer-side nav{display:flex;gap:4px;margin:0;overflow-x:auto;scrollbar-width:none}.customer-side nav::-webkit-scrollbar{display:none}.customer-side nav button{flex:0 0 auto;min-height:38px;padding:8px 10px;white-space:nowrap}.customer-account{display:none}.customer-main{padding:25px 16px}.customer-profile-grid,.customer-favorites{grid-template-columns:1fr}}
@media(max-width:560px){.customer-side{grid-template-columns:92px minmax(0,1fr);padding-inline:10px}.customer-brand{width:92px}.customer-side nav{display:flex}.customer-side nav button{font-size:11px}.customer-kpis{grid-template-columns:1fr}.customer-row{grid-template-columns:1fr}.customer-row-actions{justify-content:flex-start}.customer-detail{grid-template-columns:1fr}.customer-detail>div{border-right:0;border-bottom:1px solid var(--line)}.customer-alert{align-items:flex-start;flex-direction:column}.consult-card{grid-template-columns:1fr;padding:16px}.consult-detail-grid,.review-attributes{grid-template-columns:1fr!important}}
.review-dialog{width:min(1040px,calc(100vw - 32px));max-height:calc(100vh - 32px);padding:0;border:0;background:transparent;color:var(--ink,#111827)}
.review-dialog::backdrop{background:rgba(15,23,42,.62)}
.review-shell{display:flex;max-height:calc(100vh - 32px);flex-direction:column;overflow:hidden;border:1px solid #dce2ec;background:#fff;box-shadow:0 24px 80px rgba(15,23,42,.24)}
.review-head{display:flex;align-items:flex-start;justify-content:space-between;padding:28px 32px 24px;border-bottom:1px solid #e5e9f1}
.review-head h2{margin:6px 0 4px;font-size:26px}.review-head p{margin:0;color:#667085}
.review-close{width:40px;height:40px;border:1px solid #dce2ec;background:#fff;font-size:28px;line-height:1;cursor:pointer}
.review-body{overflow:auto;padding:24px 32px;background:#f7f8fb}
.review-section{margin-bottom:18px;border:1px solid #dce2ec;background:#fff}
.review-section-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #e5e9f1}
.review-section-head h3{margin:0;font-size:17px}.review-section-head span{font-size:12px;color:#667085}
.review-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.review-field{display:flex;min-height:72px;flex-direction:column;gap:7px;padding:16px 20px;border-right:1px solid #edf0f5;border-bottom:1px solid #edf0f5}
.review-field:nth-child(2n){border-right:0}.review-field span{font-size:12px;color:#667085}.review-field b{font-size:14px;line-height:1.55;white-space:pre-wrap;word-break:break-word}
.review-documents{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:16px}
.review-document{display:grid;grid-template-columns:42px 1fr;gap:11px;min-width:0;padding:14px;border:1px solid #dce2ec;color:inherit;text-decoration:none}
.review-document:hover{border-color:#315fed;background:#f5f8ff}.review-document-icon{display:grid;width:42px;height:42px;place-items:center;background:#edf2ff;color:#315fed;font-size:10px;font-weight:800}
.review-document span:nth-child(2){min-width:0}.review-document b,.review-document small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-document small{margin-top:5px;color:#667085}.review-document i{grid-column:2;font-size:12px;color:#315fed;font-style:normal}
.review-history{padding:8px 20px}.review-history-item{display:grid;grid-template-columns:160px 1fr;gap:8px 16px;padding:13px 0;border-bottom:1px solid #edf0f5}.review-history-item:last-child{border-bottom:0}.review-history-item span{font-size:12px;color:#667085}.review-history-item b{font-size:13px}.review-history-item p{grid-column:2;margin:0;color:#475467;white-space:pre-wrap}
.review-empty{padding:24px;color:#667085;text-align:center}
.review-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:end;padding:20px 32px;border-top:1px solid #dce2ec;background:#fff}
.review-reason{display:flex;flex-direction:column;gap:7px}.review-reason span{font-size:13px;font-weight:700}.review-reason textarea{width:100%;min-height:76px;padding:12px;border:1px solid #cfd6e2;resize:vertical;font:inherit}
.review-actions{display:flex;gap:8px}.review-row .approval-meta small{margin-top:6px}
@media(max-width:760px){.review-head,.review-body,.review-footer{padding-left:18px;padding-right:18px}.review-info-grid,.review-documents{grid-template-columns:1fr}.review-field{border-right:0}.review-footer{grid-template-columns:1fr}.review-actions{justify-content:flex-end}.review-history-item{grid-template-columns:1fr}.review-history-item p{grid-column:1}}

/* client-approved single-column consultation response */
.case-single{max-width:1040px}.case-single .case-summary-panel,.case-single .response-panel,.case-single .response-style{margin-bottom:16px}.case-notice{margin-bottom:16px;padding:14px 16px;border:1px solid #e8c5c5;background:#fff7f7;color:#a92d2d;font-size:12px}.response-list{display:grid}.response-item{padding:22px;border-bottom:1px solid var(--line)}.response-item:last-child{border-bottom:0}.response-question{display:flex;align-items:flex-start;gap:10px;margin-bottom:18px}.response-question span,.customer-question span{display:grid;min-width:30px;height:30px;place-items:center;border-radius:6px;background:var(--brand);color:#fff;font-size:11px;font-weight:850}.response-question b{padding-top:5px;font-size:14px;line-height:1.55}.response-item>label{display:block;margin:14px 0 7px;font-size:11px;font-weight:800}.response-item>label small{color:var(--sub);font-weight:500}.response-compose{position:relative}.response-compose textarea{min-height:150px;padding:15px;line-height:1.75;resize:vertical}.response-compose .draft-action{position:absolute;top:10px;right:10px}.response-comment{min-height:78px;padding:13px;line-height:1.65;resize:vertical;background:#f8f9fc}.response-style{padding:0}.response-style summary{padding:14px 18px;cursor:pointer;font-size:12px;font-weight:750}.response-style p{margin:0;padding:0 18px 16px;color:var(--sub);white-space:pre-wrap;font-size:11px;line-height:1.65}.response-actions{position:sticky;bottom:12px;z-index:10;display:grid;grid-template-columns:1fr 1.35fr;gap:9px;margin-top:18px;padding:12px;border:1px solid var(--line);background:rgba(255,255,255,.96);box-shadow:0 8px 24px rgba(20,34,63,.1);backdrop-filter:blur(8px)}.response-actions .btn{margin:0}.preview-sheet{overflow:hidden}.preview-heading{padding:28px 26px;border-bottom:1px solid var(--line);text-align:center}.preview-heading>span{color:var(--brand);font-size:10px;font-weight:850}.preview-heading h2{margin:8px 0 4px;font-size:23px}.preview-heading p{margin:0;color:var(--sub);font-size:11px}.preview-summary{display:grid;grid-template-columns:1fr;border-bottom:1px solid var(--line)}.preview-summary>div{padding:20px 22px}.preview-summary>div+div{border-top:1px solid var(--line)}.preview-summary b{font-size:11px;color:var(--sub)}.preview-summary p{margin:8px 0 0;white-space:pre-wrap;font-size:13px;line-height:1.7}.customer-answer{padding:22px;border-bottom:1px solid var(--line)}.customer-answer:last-child{border-bottom:0}.customer-question{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px}.customer-question b{padding-top:5px;font-size:14px}.customer-copy{font-size:13px;line-height:1.85}.customer-comment{margin-top:16px;padding:13px 14px;border-left:3px solid var(--brand);background:#f5f7fb}.customer-comment b{font-size:10px}.customer-comment p{margin:5px 0 0;font-size:12px;line-height:1.7}.publish-dialog h2{letter-spacing:0}.completion{display:inline-flex;padding:6px 9px;border-radius:99px;background:#fff6df;color:#95600b;font-size:10px;font-weight:800}
@media(max-width:680px){.response-item{padding:17px}.response-compose .draft-action{position:static;margin:8px 0 0}.preview-summary{grid-template-columns:1fr}.preview-summary>div+div{border-left:0;border-top:1px solid var(--line)}.response-actions{bottom:6px}}

/* expert account withdrawal */
.account-withdraw-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:18px;padding:20px 22px;border-color:#efd0d0;background:#fffafa;box-shadow:none}.account-withdraw-panel h2{margin:3px 0 5px;font-size:16px}.account-withdraw-panel p{margin:0;color:#7f4a4a;font-size:11px;line-height:1.65}.withdraw-trigger{border-color:#d9a5a5!important;background:#fff!important;color:#b22f2f!important}.withdraw-dialog .modal-icon.danger{background:#fff0f0;color:#bd2f2f}.withdraw-warning{display:grid;gap:4px;margin:0 0 16px;padding:12px 13px;border:1px solid #efd0d0;background:#fff7f7}.withdraw-warning b{font-size:11px;color:#a32b2b}.withdraw-warning span{color:#7f4a4a;font-size:10px;line-height:1.55}.withdraw-dialog .field{margin-top:13px}.withdraw-dialog .label small{color:var(--sub);font-weight:500}.withdraw-consent{margin-top:15px;border:1px solid #ead1d1;background:#fffafa}.danger-confirm{border-color:#b92f2f!important;background:#b92f2f!important;color:#fff!important}.danger-confirm:disabled{border-color:#d9dce3!important;background:#d9dce3!important;color:#87909f!important}
@media(max-width:680px){.account-withdraw-panel{align-items:flex-start;flex-direction:column}.account-withdraw-panel .withdraw-trigger{width:100%}}

/* customer profile and consultation sheet */
.customer-profile-single{max-width:720px}.profile-readonly,.profile-password-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}.profile-readonly small{grid-column:1/-1;color:var(--sub);font-weight:500}.profile-password-row .action{height:100%;white-space:nowrap}.customer-profile-save{width:100%;margin-top:4px;padding:12px}.profile-withdraw-link{justify-self:start;padding:2px 0;border:0;background:transparent;color:#b52f2f;font:inherit;font-size:10px;text-decoration:underline;cursor:pointer}.sheet-consultations{display:grid;border:1px solid var(--line)}.sheet-consultation-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px;border:0;border-bottom:1px solid var(--line);background:#fff;color:inherit;font:inherit;text-align:left;cursor:pointer}.sheet-consultation-row:last-child{border-bottom:0}.sheet-consultation-row:hover{background:#f7f9fd}.sheet-consultation-row b,.sheet-consultation-row small{display:block}.sheet-consultation-row b{font-size:11px}.sheet-consultation-row small{margin-top:3px;color:var(--sub);font-size:9px}.sheet-lock-notice{padding:10px;border:1px solid #ead6a5;background:#fffaf0;color:#765b1b;font-size:10px}.expert-overall-comment{border-color:#cbd8f7;background:#f7f9ff}.customer-withdraw-warning{padding:13px;border:1px solid #efb5b5;background:#fff5f5;color:#a32c2c;font-size:11px;font-weight:750;line-height:1.6}.withdraw-blocking{padding:12px;border:1px solid #ead0d0;background:#fffafa}.withdraw-blocking h3{margin:0 0 7px}.withdraw-blocking>div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid #f1dddd}.withdraw-blocking>div:last-of-type{border-bottom:0}.withdraw-blocking b,.withdraw-blocking small{font-size:10px}.withdraw-blocking small{color:var(--sub)}.withdraw-blocking p{margin:9px 0 0;color:#a32c2c;font-size:9px}.customer-withdraw-submit{border:1px solid #b52f2f;background:#fff;color:#b52f2f;padding:11px;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.customer-withdraw-submit:disabled{border-color:#d9dce3;background:#f0f1f4;color:#9299a5;cursor:not-allowed}
@media(max-width:620px){.profile-readonly,.profile-password-row{grid-template-columns:1fr}.profile-readonly small{grid-column:auto}.profile-password-row .action{width:100%}.withdraw-blocking>div{align-items:flex-start;flex-direction:column}}

/* customer authentication and consultation entry */
.customer-auth{min-height:100vh;background:#f4f6fb;color:#101828}
.customer-auth .auth-shell{display:grid;min-height:100vh;place-items:center;padding:84px 20px 42px;position:relative}
.customer-auth .auth-logo{position:absolute;top:28px;left:max(24px,calc(50% - 230px));display:block;width:150px;text-decoration:none}.customer-auth .auth-logo img{display:block;width:100%;height:auto}
.customer-auth .customer-auth-card{width:min(460px,100%);padding:32px;border:1px solid #dce2ec;border-radius:8px;background:#fff;box-shadow:0 18px 50px rgba(26,39,68,.09)}
.customer-auth .auth-eyebrow{display:block;margin-bottom:7px;color:var(--brand);font-size:9px;font-weight:850;letter-spacing:.14em}
.customer-auth .customer-auth-card h1{margin:0 0 7px;font-size:27px;letter-spacing:0}
.customer-auth .auth-copy{margin:0 0 22px;color:var(--sub);font-size:12px;line-height:1.7}
.field-hint{margin:6px 0 0;font-size:11px;color:var(--sub);line-height:1.6}
.customer-auth .google-button{position:relative;border:1px solid #cfd6e2;background:#fff;color:#172033}
.customer-auth .google-button::before{content:"G";position:absolute;left:16px;color:#315fed;font-weight:900}
.customer-auth .btn.quiet{border:1px solid #d8dee9;background:#f7f8fa;color:#344054}
.customer-auth .auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:#98a2b3;font-size:10px}
.customer-auth .auth-divider::before,.customer-auth .auth-divider::after{content:"";height:1px;flex:1;background:#e4e7ec}
.customer-auth .auth-options{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:8px 0 13px}
.customer-auth .remember{display:flex;align-items:center;gap:7px;color:#667085;font-size:11px}
.customer-auth .text-button{padding:0;border:0;background:transparent;color:#344054;font:inherit;font-size:11px;text-decoration:underline;cursor:pointer}
.customer-auth .back-button{display:block;margin:14px auto 0}
.customer-auth .auth-switch{margin:17px 0 0!important;color:#667085!important;font-size:11px!important;text-align:center}
.customer-auth .auth-switch a{color:#172033;font-weight:750}
.customer-auth .inline-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}
.customer-auth .inline-field .btn{width:auto;margin:0;white-space:nowrap}
.customer-auth .phone-code{display:block;margin:8px 0 0}
.customer-auth .signup-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.customer-auth .password-rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:7px 0 12px;padding:11px;background:#f7f8fa}
.customer-auth .password-rules span{color:#98a2b3;font-size:9px}
.customer-auth .password-rules span::before{content:"○";margin-right:4px}.customer-auth .password-rules span.ok{color:#08734b}.customer-auth .password-rules span.ok::before{content:"✓"}
.customer-auth .password-rules.compact{grid-template-columns:repeat(2,minmax(0,1fr))}
.customer-auth .consent-list{display:grid;margin:16px 0;border:1px solid #e4e7ec}
.customer-auth .consent-list label{display:flex;align-items:center;gap:8px;padding:9px 11px;border-bottom:1px solid #edf0f5;color:#475467;font-size:10px}
.customer-auth .consent-list label:last-child{border-bottom:0}.customer-auth .consent-list .consent-all{background:#f8f9fb;color:#101828}
.customer-auth .auth-success{text-align:center}.customer-auth .auth-success .success-icon{display:grid;width:58px;height:58px;margin:0 auto 18px;place-items:center;border-radius:50%;background:#e7f8f0;color:#08734b;font-size:28px}
.customer-auth .auth-success p{line-height:1.7}.customer-auth .auth-success p b{display:block;color:#172033}.customer-auth .dev-link{display:block;margin-top:13px;color:#667085;font-size:10px}
.entry-route{position:relative;display:grid;min-height:100vh;place-items:center;padding:90px 24px 34px;background:#f4f6fb}.entry-route>.auth-logo{position:absolute;top:28px;left:max(24px,calc(50% - 230px));display:block;width:150px}.entry-route>.auth-logo img{display:block;width:100%;height:auto}
.entry-route-body{width:min(460px,100%);padding:42px 38px;border:1px solid #dce2ec;border-radius:8px;background:#fff;text-align:center;box-shadow:0 18px 50px rgba(26,39,68,.09)}
.entry-route-body h1{margin:12px 0 8px;font-size:28px;letter-spacing:0}.entry-route-body p{color:#667085;font-size:12px;line-height:1.7}.entry-route .entry-lead{margin-bottom:24px;font-size:13px}.entry-access-actions{display:grid}.entry-route .entry-privacy{margin:24px 0 0;padding-top:18px;border-top:1px solid #e4e7ec;font-size:10px}.entry-route .entry-phone{text-align:left}.entry-route .entry-phone h1,.entry-route .entry-phone>p{text-align:center}.entry-route .entry-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px}.entry-route .entry-actions .btn{margin:0}.entry-error-icon{display:grid;width:46px;height:46px;margin:auto;place-items:center;border-radius:50%;background:#fff0f0;color:#b42318;font-size:24px;font-weight:850}
.entry-spinner{display:block;width:34px;height:34px;margin:auto;border:3px solid #dce5ff;border-top-color:var(--brand);border-radius:50%;animation:entry-spin .8s linear infinite}
@media(max-width:520px){.customer-auth .auth-shell{padding:72px 14px 20px}.customer-auth .auth-logo,.entry-route>.auth-logo{top:20px;left:20px}.customer-auth .customer-auth-card,.entry-route-body{padding:26px 20px}.customer-auth .signup-grid{grid-template-columns:1fr}.customer-auth .password-rules{grid-template-columns:repeat(2,minmax(0,1fr))}.entry-route{padding:72px 14px 20px}.entry-route .entry-actions{grid-template-columns:1fr}}

/* customer cancellation and refund workflow */
.customer-status-waiting{background:#fff4da;color:#98610b}.customer-status-cancel_pending{background:#fff4da;color:#98610b}.customer-status-completed{background:#e8f8f0;color:#08734b}.customer-status-cancel_rejected{background:#fff0f0;color:#b62b2b}
.review-anonymous-notice{padding:13px 14px;border:1px solid #dbe3ef;background:#f7f9fc}.review-anonymous-notice b{display:block;color:#172033;font-size:11px}.review-anonymous-notice p{margin:5px 0 0!important;color:#667085!important;font-size:10px!important;line-height:1.65}
.sheet-content-section{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;margin:16px 0;padding:16px;border:1px solid #e4e7ec;background:#fff}.sheet-content-section>span{display:grid;width:32px;height:32px;place-items:center;background:#edf2ff;color:#2f5ee7;font-size:10px;font-weight:850}.sheet-content-section h3{margin:0 0 8px}.sheet-content-section p{margin:0}
.consult-cancellation{grid-column:1/-1;display:grid;gap:5px;margin-top:13px;padding:12px 13px;border:1px solid #efdba9;background:#fffbf2}.consult-cancellation b{font-size:11px;color:#7b540b}.consult-cancellation small{font-size:9px;color:#8d7449}.consult-cancellation p{margin:0;color:#5f5138;font-size:10px;line-height:1.6}
.cancellation-receipt{display:grid;grid-template-columns:48px 1fr;gap:14px;margin-top:18px;padding:20px;border:1px solid #ead6ae;background:#fffaf0}.cancellation-receipt.is-complete{border-color:#bee5d3;background:#f3fcf8}.cancellation-receipt .receipt-icon,.cancellation-requested .receipt-icon{display:grid;width:44px;height:44px;place-items:center;border-radius:50%;background:#fff0cb;color:#8b5b00;font-size:20px;font-weight:850}.cancellation-receipt.is-complete .receipt-icon,.cancellation-requested .receipt-icon{background:#dff7ec;color:#08734b}.cancellation-receipt h3{margin:0 0 6px;font-size:15px}.cancellation-receipt>div>p{margin:0;color:#667085;font-size:11px;line-height:1.7}.cancellation-receipt dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:16px 0 0;border-top:1px solid rgba(102,112,133,.18);border-left:1px solid rgba(102,112,133,.18)}.cancellation-receipt dl>div{padding:10px;border-right:1px solid rgba(102,112,133,.18);border-bottom:1px solid rgba(102,112,133,.18)}.cancellation-receipt dt{color:#667085;font-size:9px}.cancellation-receipt dd{margin:4px 0 0;font-size:11px;font-weight:750}.cancellation-receipt .receipt-reason{margin-top:12px}.cancellation-receipt .receipt-reason b{margin-right:5px}.cancellation-receipt .receipt-reason.danger{color:#b42318}.cancellation-requested{text-align:center}.cancellation-requested .receipt-icon{margin:0 auto 14px}.cancellation-requested p{margin:0;color:#475467;line-height:1.7}
@media(max-width:620px){.cancellation-receipt{grid-template-columns:1fr}.cancellation-receipt .receipt-icon{margin:auto}.cancellation-receipt dl{grid-template-columns:1fr}}
.home-kpi-link{color:inherit;text-decoration:none;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.home-kpi-link:hover{border-color:#aebcd5;box-shadow:0 8px 24px rgba(17,31,54,.08);transform:translateY(-1px)}.home-kpi-link:focus-visible{outline:3px solid rgba(47,94,231,.25);outline-offset:2px}

/* legal documents shared by customer and expert registration */
.legal-page{margin:0;background:#f5f7fb;color:#101828}.legal-header{position:sticky;z-index:10;top:0;display:flex;align-items:center;justify-content:space-between;min-height:72px;padding:0 max(24px,calc((100vw - 940px)/2));border-bottom:1px solid #e4e7ec;background:rgba(255,255,255,.96);backdrop-filter:blur(10px)}.legal-header img{display:block;width:142px;max-height:40px}.legal-document{width:min(860px,calc(100% - 40px));margin:48px auto 80px;padding:48px;border:1px solid #dfe4ec;background:#fff}.legal-eyebrow{margin:0 0 12px;color:#2c5aa8;font-size:12px;font-weight:850;letter-spacing:1.6px}.legal-document h1{margin:0;font-size:36px;line-height:1.25}.legal-effective{margin:12px 0 40px;color:#667085;font-size:13px}.legal-document section{padding:24px 0;border-top:1px solid #eaecf0}.legal-document h2{margin:0 0 12px;font-size:18px;line-height:1.45}.legal-document p{margin:7px 0;color:#344054;font-size:14px;line-height:1.85}.legal-company{display:grid;gap:5px;margin-top:24px;padding:22px;background:#f4f7fb;color:#475467;font-size:12px;line-height:1.65}.legal-company b{color:#101828;font-size:14px}.consent-list a{color:inherit;text-decoration:underline;text-underline-offset:2px}
@media(max-width:640px){.legal-header{min-height:62px;padding:0 18px}.legal-header img{width:124px}.legal-document{width:100%;margin:0;padding:30px 20px 56px;border-width:0}.legal-document h1{font-size:28px}.legal-effective{margin-bottom:30px}}

/* ── 마이페이지 클라이언트 사양(M-1~M-13) 보강 ── */
.customer-side nav button[data-action="logout"]{color:#e2675f}
.customer-side nav button[data-action="logout"]:hover{background:#3a2530;color:#ff8f86}
/* M-1 홈 알림: 색점 + 사건명 + 전문가 소속·이름 + 경과시간 */
.customer-alert{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:flex-start;gap:11px;border-color:#e6ebf4;background:#fff}
.customer-alert .alert-dot{flex:0 0 auto;width:9px;height:9px;margin-top:4px;border-radius:50%;background:#9aa5b4}
.customer-alert.success .alert-dot{background:#12b76a}
.customer-alert.danger{color:inherit}
.customer-alert.danger .alert-dot{background:#e5484d}
.customer-alert.info .alert-dot{background:#3a63c4}
.customer-alert .alert-body{min-width:0}
.customer-alert .alert-body b{display:block;font-size:12px;color:#101828}
.customer-alert .alert-body small{display:block;margin-top:3px;color:var(--sub);font-size:10.5px}
.customer-alert .alert-body small.alert-firm{color:#8a93a3}
.customer-alert .alert-time{flex:0 0 auto;color:#98a2b3;font-size:10px;white-space:nowrap}
.alert-see-all{display:block;width:100%;margin-top:2px;padding:12px;border:1px solid #e6ebf4;background:#fff;color:var(--brand);font:inherit;font-size:11px;font-weight:750;cursor:pointer}
.alert-see-all:hover{background:#f7f9ff}
/* M-2 상담내역 카드(컴팩트) */
.consult-card{display:block;grid-template-columns:none}
.consult-card .cc-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.consult-card .cc-date{color:var(--sub);font-size:11px}
.consult-card .cc-expert{margin-top:11px}
.consult-card .cc-expert b{font-size:14px}
.consult-card .cc-expert small{margin-left:7px;color:var(--sub);font-size:11px}
.consult-card .cc-title{margin-top:9px;font-size:13px;font-weight:750;color:#1f2a3d}
.consult-card .cc-meta{margin-top:5px;color:var(--sub);font-size:11.5px}
.consult-card .customer-row-actions{margin-top:14px;flex-wrap:wrap}
.customer-filter-tabs button .cnt{margin-left:5px;opacity:.7;font-weight:800}
/* M-3 답변보기 Q&A */
.customer-dialog-content h3{margin:20px 0 8px;font-size:13px;color:#101828}
.qa-block{border:1px solid #e6ebf4;border-radius:8px;padding:15px 16px;margin-top:10px}
.qa-block .qa-q{margin:0 0 9px;font-size:12.5px;font-weight:800;color:#111}
.qa-block .qa-a{margin:0;padding-top:9px;border-top:1px solid #eef1f6;font-size:12px;line-height:1.7;color:#344054;white-space:pre-wrap}
.qa-block .qa-a+.qa-a{border-top:0;padding-top:8px}
/* M-4 후기쓰기: 별점 + 항목 칩 */
.star-rating{display:flex;gap:6px;justify-content:center;margin:6px 0 4px}
.star-rating button{border:0;background:transparent;font-size:34px;line-height:1;color:#d7dce5;cursor:pointer;padding:0}
.star-rating button.on{color:#f5b301}
.review-chips{display:flex;flex-wrap:wrap;gap:8px}
.review-chip{padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#475467;font:inherit;font-size:11px;font-weight:700;cursor:pointer}
.review-chip.on{border-color:var(--brand);background:#eef3ff;color:#2655d9}
/* M-9 관심 전문가 */
.fav-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.fav-sort{display:flex;align-items:center;gap:9px;font-size:11px}
.fav-sort button{border:0;background:transparent;color:var(--sub);font:inherit;font-size:11px;font-weight:750;cursor:pointer}
.fav-sort button.on{color:#101828;text-decoration:underline;text-underline-offset:3px}
.fav-sort .sep{color:#d0d5dd}
.fav-list{display:grid;gap:12px}
.fav-card{border:1px solid var(--line);border-radius:10px;padding:16px 18px}
.fav-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.fav-head b{font-size:14px}
.fav-head .fav-role{color:#475467;font-size:12px;font-weight:700}
.fav-head small{color:var(--sub);font-size:11px}
.fav-tags{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.fav-tags span{padding:4px 9px;border-radius:6px;background:#eef2ff;color:#3355c4;font-size:10.5px;font-weight:700}
.fav-desc{margin:0 0 13px;color:var(--sub);font-size:11.5px;line-height:1.6}
.fav-card .action{width:auto}
/* M-10 상담지 선택 팝업 */
.sheet-pick{display:grid;gap:10px}
.sheet-pick .pick{display:block;width:100%;text-align:left;padding:14px 16px;border:1.5px solid var(--line);border-radius:8px;background:#fff;font:inherit;cursor:pointer}
.sheet-pick .pick.on{border-color:var(--brand);box-shadow:0 0 0 3px rgba(47,91,234,.12)}
.sheet-pick .pick b{display:block;font-size:13px}
.sheet-pick .pick small{display:block;margin-top:4px;color:var(--sub);font-size:10.5px}
.sheet-pick-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
@media(max-width:560px){.fav-toolbar{align-items:flex-start;flex-direction:column}}

/* 모바일 마이페이지 헤더에서 워드마크가 두 줄로 꺾이지 않도록 고정한다. */
.customer-brand .cb-txt{white-space:nowrap}
@media(max-width:560px){.customer-side{grid-template-columns:112px minmax(0,1fr)}.customer-brand{width:112px}.customer-brand .cb-mark{width:34px}.customer-brand .cb-txt{font-size:17px}}
