:root{--bg:#f7f8f3;--bg-soft:#fbfbf9;--panel:#fff;--panel2:#f2f3ef;--text:#232323;--muted:#6e6e68;--accent:#2f72ff;--danger:#d43b3b;--warn:#b26a00;--ok:#2f8f4e;--border:#e4e6df;--border-strong:#d7d9d1;--shadow:0 10px 30px rgba(22,24,32,.07)}*{box-sizing:border-box}body,html{height:100%}body{margin:0;color:var(--text);background:radial-gradient(1200px 840px at 10% -20%,rgba(47,114,255,.08),transparent 62%),radial-gradient(1100px 840px at 90% -10%,rgba(252,194,82,.08),transparent 60%),var(--bg);font-family:Pretendard,Noto Sans KR,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}.container{max-width:1040px;margin:0 auto;padding:30px 20px 72px}.pageMain{margin-top:20px;display:grid;grid-gap:16px;gap:16px}.actionRow{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.actionRowLg{margin-top:14px}.actionRowTight{margin-top:-2px;margin-bottom:10px}.header{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--border);border-radius:16px;background:hsla(0,0%,100%,.9);box-shadow:var(--shadow);position:-webkit-sticky;position:sticky;top:10px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:10}.brand{display:flex;flex-direction:column;line-height:1.15}.brand strong{font-size:15px;letter-spacing:.01em;color:#1d1d1b}.brand span{font-size:12px;color:var(--muted)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);border-radius:12px;padding:10px 14px;background:var(--bg-soft);color:var(--text);font-weight:600;cursor:pointer;transition:transform .12s ease,background .12s ease,border-color .12s ease,box-shadow .12s ease}.btn:hover{background:#fcfcfb;border-color:var(--border-strong);transform:translateY(-1px);box-shadow:0 8px 14px rgba(22,24,32,.06)}.btn:focus-visible{outline:2px solid rgba(47,114,255,.35);outline-offset:2px}.btnSmall{padding:8px 10px;border-radius:12px;font-size:12px}.btnPrimary{color:#fff;border-color:#2f72ff;background:linear-gradient(180deg,#3f7cff,#2f72ff)}.btnPrimary:hover{border-color:#245fe0;background:linear-gradient(180deg,#3672f2,#245fe0)}.btnWarn{color:#8a5200;border-color:#edcf96;background:linear-gradient(180deg,#fff7ea,#fff2dd)}.link{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:1fr;margin-top:20px}.grid>*{min-width:0}@media (min-width:960px){.dashboardTopGrid{grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr)}}@media (min-width:860px){.grid{grid-template-columns:1.2fr .8fr}}.card{border:1px solid var(--border);border-radius:16px;background:var(--panel);box-shadow:var(--shadow);padding:18px}.heroCard{padding:24px}.heroTitle{margin:0;font-size:clamp(24px,3vw,31px);line-height:1.28;letter-spacing:-.02em;color:#1f211d}.heroLead{margin:10px 0 0;max-width:62ch;font-size:15px;line-height:1.7;color:var(--muted)}.card h2{margin:0 0 12px;font-size:19px;letter-spacing:-.01em;color:#262624}.muted{color:var(--muted);font-size:14px;line-height:1.6}.kpiRow{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:10px;gap:10px}.kpi{padding:13px;border-radius:14px;border:1px solid var(--border);background:var(--bg-soft)}.kpi .label{font-size:13px;color:var(--muted)}.kpi .value{font-size:24px;font-weight:800;margin-top:4px;letter-spacing:-.01em}.pill{display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border-radius:999px;border:1px solid var(--border);background:var(--bg-soft);font-size:13px;color:#555650}.pillRow{display:flex;gap:8px;flex-wrap:wrap}.pillActive{border-color:rgba(47,114,255,.38);background:rgba(47,114,255,.12);color:#1a4fc2}.list{display:grid;grid-gap:8px;gap:8px;margin-top:10px}.row{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--bg-soft)}.row .left{min-width:0}.row .right{color:#66675f;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.input{width:100%;border:1px solid var(--border);border-radius:12px;background:#fff;color:var(--text);padding:10px 12px;font:inherit}.input:focus-visible{outline:2px solid rgba(47,114,255,.25);outline-offset:1px}.hint{margin-top:8px;font-size:12px;color:var(--muted)}.danger{color:var(--danger)}.ok{color:var(--ok)}.consentRow{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:#44463f;line-height:1.5}.consentRow input{margin-top:2px}.consentRow.optional{color:#5c5f57}.consentSummary{font-size:12px;color:#66695f;border:1px solid var(--border);border-radius:10px;padding:8px 10px;line-height:1.45}.consentSummary,.details{background:var(--bg-soft)}.details{border:1px solid var(--border);border-radius:12px;padding:10px 12px}.checklist{list-style:none;padding:0;margin:10px 0 0;display:grid;grid-gap:8px;gap:8px}.checkItem{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--bg-soft)}.checkBox{flex:0 0 auto;width:18px;height:18px;border-radius:6px;border:1px solid var(--border-strong);background:#fff;margin-top:2px}.checkText{min-width:0;font-size:13px;line-height:1.55;color:#5d5f58}.checkText strong{color:#252624}.detailsSummary{cursor:pointer;color:#373933;font-weight:700}.tableWrap{overflow:auto;border:1px solid var(--border);border-radius:12px;background:#fff}.table{width:100%;border-collapse:collapse;min-width:520px}.table td,.table th{border-bottom:1px solid var(--border);padding:10px 12px;text-align:left;font-size:12px;vertical-align:top;max-width:360px;white-space:normal;overflow:hidden;text-overflow:ellipsis}.table th{color:#4f514a;position:-webkit-sticky;position:sticky;top:0;background:#f6f7f3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap}.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:#fff;color:#2b2c29;font-size:12px;font-weight:700;letter-spacing:.02em;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none;z-index:50;animation:toastIn .14s ease-out,toastOut .18s ease-in 1.2s forwards}@keyframes toastIn{0%{opacity:0;transform:translateX(-50%) translateY(8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes toastOut{to{opacity:0;transform:translateX(-50%) translateY(8px)}}.cellBtn{display:block;width:100%;background:transparent;border:0;padding:0;text-align:left;cursor:pointer;color:inherit;font:inherit;line-height:1.4;white-space:pre-wrap;word-break:break-word}.cellBtn:hover{text-decoration:underline}.modalOverlay{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:18px}.modalBackdrop{position:absolute;inset:0;background:rgba(35,38,35,.24);border:0;padding:0;cursor:pointer}.modal{position:relative;width:min(860px,100%);max-height:min(78vh,720px);overflow:hidden;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);z-index:1}.modalHeader{display:flex;justify-content:space-between;gap:12px;padding:14px 14px 10px;border-bottom:1px solid var(--border)}.modalBody{padding:14px;overflow:auto;max-height:calc(78vh - 90px);font-size:13px;color:#33352f}@media (max-width:768px){.container{padding:18px 14px 52px}.pageMain{gap:14px}.heroCard{padding:18px}.card{padding:16px}}