:root{--ink:#17223b;--muted:#667085;--line:#dbe2ea;--soft:#f5f7fa;--panel:#fff;--navy:#173b66;--blue:#2563eb;--teal:#0f766e;--danger:#b42318;--warning:#9a6700;--shadow:0 12px 30px #173b6614}*{box-sizing:border-box}html{background:var(--soft);color:var(--ink);font-family:Pretendard,Noto Sans KR,Malgun Gothic,Arial,sans-serif}body{min-height:100vh;margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.auth-shell{background:radial-gradient(circle at 8% 10%,#2563eb2e,#0000 28%),linear-gradient(135deg,#102a4c,#1f4c7f 55%,#0f766e);grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);min-height:100vh;display:grid}.auth-brand{color:#fff;flex-direction:column;justify-content:space-between;padding:clamp(36px,7vw,96px);display:flex}.auth-brand h1{letter-spacing:-.05em;max-width:620px;margin:20px 0 12px;font-size:clamp(36px,5vw,70px);line-height:1.05}.auth-brand p{color:#ffffffc7;max-width:560px;font-size:17px;line-height:1.7}.brand-mark{letter-spacing:.04em;align-items:center;gap:10px;font-weight:800;display:inline-flex}.brand-square{border:2px solid #fffc;border-radius:10px 4px;place-items:center;width:34px;height:34px;display:grid}.auth-panel-wrap{background:#f7f9fcf5;border-radius:38px 0 0 38px;place-items:center;padding:28px;display:grid}.auth-panel{width:min(100%,480px)}.auth-panel h2{letter-spacing:-.04em;margin:0 0 8px;font-size:30px}.auth-panel>p{color:var(--muted);margin:0 0 28px;line-height:1.6}.field{gap:8px;margin-bottom:18px;display:grid}.field label{font-size:14px;font-weight:700}.field legend{margin-bottom:8px;padding:0;font-size:14px;font-weight:700}.field input,.field select,.field textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:12px;outline:none;padding:12px 14px}.field textarea{resize:vertical;min-height:110px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2563eb1f}.birth-date-field{border:0;min-width:0;margin-inline:0;padding:0}.birth-date-controls{grid-template-columns:minmax(124px,1.35fr) minmax(86px,1fr) minmax(86px,1fr);gap:8px;display:grid}.birth-date-part{min-width:0;position:relative}.birth-date-part input,.birth-date-part select{margin:0}.birth-date-year input{padding-right:38px}.birth-date-year>span[aria-hidden=true]{color:var(--muted);pointer-events:none;font-weight:500;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.field-help{color:var(--muted);font-size:12px}.money-input{width:100%;position:relative}.money-input>input[type=text]{border:1px solid var(--line);width:100%;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums;background:#fff;border-radius:12px;outline:none;padding:12px 40px 12px 14px}.money-input>input[type=text]:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2563eb1f}.money-input>span{color:var(--muted);pointer-events:none;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.priority-options{grid-template-columns:repeat(6,minmax(82px,1fr));gap:8px;display:grid}.preference-options{grid-template-columns:repeat(4,minmax(110px,1fr))}.policy-status-options{grid-template-columns:repeat(3,minmax(110px,1fr))}.health-status-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.health-status-option{cursor:pointer;border:1px solid var(--line);background:#fff;border-radius:14px;align-content:center;gap:7px;min-height:108px;padding:16px;display:grid}.health-status-option input{opacity:0;pointer-events:none;position:absolute}.health-status-option span{color:var(--muted);font-size:13px;line-height:1.5}.health-status-option.selected.clear{background:#f6fef9;border:2px solid #12b76a}.health-status-option.selected.history{background:#fffaeb;border:2px solid #f79009}.priority-option{cursor:pointer}.priority-option input{opacity:0;pointer-events:none;position:absolute}.priority-option span{border:1px solid var(--line);min-height:44px;color:var(--muted);text-align:center;background:#fff;border-radius:12px;place-items:center;padding:10px 8px;transition:border-color .15s,background .15s,color .15s;display:grid}.priority-option input:checked+span{border-color:var(--blue);color:var(--blue);background:#2563eb1a;font-weight:800}.priority-option input:focus-visible+span{box-shadow:0 0 0 3px #2563eb29}.coverage-editor{gap:12px;display:grid}.coverage-row{border:1px solid var(--line);background:var(--soft);border-radius:14px;grid-template-columns:minmax(180px,1.4fr) minmax(180px,1fr) auto;align-items:end;gap:10px;padding:14px;display:grid}.coverage-row .field{margin-bottom:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.button{background:var(--navy);color:#fff;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-weight:800;display:inline-flex}.button:hover{filter:brightness(1.08)}.button:disabled{cursor:not-allowed;opacity:.55}.button.secondary{color:var(--navy);border:1px solid var(--line);background:#fff}.button.danger{background:var(--danger)}.button.full{width:100%}.error-box,.notice-box,.warning-box{border-radius:12px;margin:14px 0;padding:12px 14px;font-size:14px;line-height:1.5}.error-box{color:var(--danger);background:#fff1f0;border:1px solid #fecdca}.notice-box{color:#175cd3;background:#eff8ff;border:1px solid #b2ddff}.warning-box{color:var(--warning);background:#fffaeb;border:1px solid #fedf89}.policy-empty-confirmation{background:#eff8ff;border:1px solid #b2ddff;border-radius:14px;justify-content:space-between;align-items:center;gap:18px;margin:14px 0 20px;padding:16px;display:flex}.policy-empty-confirmation.confirmed{background:#ecfdf3;border-color:#abefc6}.policy-empty-confirmation p{color:var(--muted);margin:5px 0 0;font-size:13px;line-height:1.5}.qr-card{border:1px solid var(--line);text-align:center;background:#fff;border-radius:16px;padding:20px}.qr-card img{width:220px;max-width:100%}.secret-code{word-break:break-all;background:var(--soft);border-radius:8px;padding:10px;font-family:Consolas,monospace;font-size:13px}.app-shell{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#fff;background:linear-gradient(#15395f,#0c2c4b 70%,#0d4b53);flex-direction:column;height:100vh;padding:24px 18px;display:flex;position:sticky;top:0}.sidebar .brand-mark{margin:0 8px 30px}.nav-list{gap:7px;display:grid}.nav-link{color:#ffffffc2;border-radius:10px;padding:11px 13px;font-weight:650}.nav-link:hover{color:#fff;background:#ffffff1a}.sidebar-user{border-top:1px solid #ffffff24;margin-top:auto;padding:16px 10px 0}.sidebar-user strong,.sidebar-user span{display:block}.sidebar-user span{color:#ffffff9e;margin-top:5px;font-size:12px}.main-area{min-width:0}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe0;justify-content:space-between;align-items:center;min-height:72px;padding:14px clamp(22px,4vw,54px);display:flex}.topbar-title{letter-spacing:-.03em;font-weight:850}.page{max-width:1480px;margin:0 auto;padding:clamp(24px,4vw,54px)}.page-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:26px;display:flex}.page-header h1{letter-spacing:-.045em;margin:0 0 7px;font-size:clamp(26px,3vw,38px)}.page-header p{color:var(--muted);margin:0}.grid{gap:18px;display:grid}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;padding:20px}.metric-card span{color:var(--muted);font-size:13px;font-weight:700}.metric-card strong{letter-spacing:-.05em;margin-top:10px;font-size:32px;display:block}.section-title{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.section-title h2,.section-title h3{letter-spacing:-.035em;margin:0}.flow-section{scroll-margin-top:22px}.consultation-guide{background:linear-gradient(135deg,#f7fbff,#fff);border-color:#b2ddff}.consultation-guide .section-title p{margin:6px 0 0}.consultation-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.consultation-step{border:1px solid var(--line);background:#fff;border-radius:13px;align-content:start;gap:7px;min-height:112px;padding:14px;display:grid}.consultation-step span{font-size:13px;font-weight:800}.consultation-step strong{color:var(--muted)}.consultation-step small{color:var(--muted);line-height:1.4}.consultation-step.done{background:#f6fef9;border-color:#abefc6}.consultation-step.done strong{color:#067647}.consultation-step.current{border:2px solid var(--blue);background:#eff8ff}.consultation-step.current strong{color:var(--blue)}.consultation-step.waiting{opacity:.72}.table-wrap{border:1px solid var(--line);background:#fff;border-radius:14px;overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:13px 15px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;background:#f8fafc;font-size:12px}tr:last-child td{border-bottom:0}.badge{color:#3538cd;background:#eef4ff;border-radius:999px;align-items:center;padding:5px 9px;font-size:12px;font-weight:800;display:inline-flex}.badge.green{color:#067647;background:#ecfdf3}.badge.orange{color:#b54708;background:#fffaeb}.badge.red{color:var(--danger);background:#fff1f0}.source-link{color:var(--blue);text-underline-offset:3px;font-weight:700;text-decoration:underline}.stack{gap:16px;display:grid}.inline{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.muted{color:var(--muted)}.empty-state{text-align:center;color:var(--muted);padding:46px 20px}@media (max-width:980px){.auth-shell{grid-template-columns:1fr}.auth-brand{min-height:280px}.auth-panel-wrap{border-radius:28px 28px 0 0}.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.grid.cols-4,.grid.cols-3,.grid.cols-2{grid-template-columns:1fr}.priority-options{grid-template-columns:repeat(3,minmax(82px,1fr))}.preference-options{grid-template-columns:repeat(2,minmax(110px,1fr))}.consultation-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.coverage-row{grid-template-columns:1fr 1fr}.coverage-remove{grid-column:1/-1}}@media (max-width:560px){.priority-options{grid-template-columns:repeat(2,minmax(82px,1fr))}.coverage-row,.birth-date-controls,.consultation-steps,.policy-status-options,.health-status-options{grid-template-columns:1fr}.policy-empty-confirmation{flex-direction:column;align-items:stretch}}
