:root{font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17211e;background:#f5f7f5;font-synthesis:none;text-rendering:optimizeLegibility;--green-950: #102d27;--green-900: #173f35;--green-700: #276856;--green-100: #e5f2ed;--cream: #f7f4ec;--line: #dce3df;--muted: #66746e;--danger: #b42318;--warning: #a15c0b;--blue: #155eef}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:#f5f7f5}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.page-shell{min-height:100vh}.hero{background:var(--green-950);color:#fff;border-bottom:5px solid #d5b75f}.hero__inner{width:min(900px,calc(100% - 40px));margin:0 auto;padding:42px 0 38px;display:flex;align-items:flex-start;gap:18px}.brand-mark{flex:0 0 auto;width:52px;height:52px;display:grid;place-items:center;background:#d5b75f;color:var(--green-950);font-weight:900;font-size:24px;border:1px solid rgba(255,255,255,.25)}.eyebrow{margin:0 0 7px;color:#d7e6e0;font-size:12px;font-weight:800;letter-spacing:.14em}.hero h1{margin:0;font-size:clamp(26px,5vw,38px);line-height:1.2;letter-spacing:-.04em}.hero__description{margin:12px 0 0;color:#c6d5d0;font-size:15px;line-height:1.7}.main-content{width:min(900px,calc(100% - 32px));margin:28px auto 70px}.status-panel{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:13px;margin-bottom:20px;padding:17px 18px;border:1px solid;background:#fff}.status-panel--success{border-color:#9dc8b8;background:#f1faf6}.status-panel--warning{border-color:#e7bd76;background:#fff9ed}.status-panel--error{border-color:#e8a39d;background:#fff5f4}.status-dot{width:10px;height:10px;margin-top:6px;border-radius:50%;background:#268562}.status-panel--warning .status-dot{background:#d18115}.status-panel--error .status-dot{background:#c4372b}.status-panel__body{display:flex;flex-direction:column;gap:3px;font-size:13px;color:#53615b}.status-panel__body strong{color:#24312c;font-size:14px}.status-panel button{border:0;padding:3px 0;color:var(--green-700);background:transparent;font-size:13px;font-weight:700;white-space:nowrap}.form-stack{display:flex;flex-direction:column;gap:18px}.section-card{padding:27px;border:1px solid var(--line);background:#fff}.section-heading{display:flex;align-items:flex-start;gap:13px;margin-bottom:23px}.section-number{flex:0 0 auto;width:29px;height:29px;display:grid;place-items:center;background:var(--green-900);color:#fff;font-size:13px;font-weight:800}.section-heading h2{margin:0;font-size:20px;letter-spacing:-.025em}.section-heading p{margin:5px 0 0;color:var(--muted);font-size:14px;line-height:1.55}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field-grid--applicant{grid-template-columns:repeat(3,minmax(0,1fr))}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field--wide{grid-column:1 / -1}.field>span{color:#34423c;font-size:13px;font-weight:750}.field b{color:#c23d31}.field input,.field select,.field textarea{width:100%;border:1px solid #cdd7d2;border-radius:0;outline:none;background:#fff;color:#17211e;transition:border-color .15s,box-shadow .15s}.field input,.field select{height:47px;padding:0 13px}.field textarea{resize:vertical;padding:13px;line-height:1.6}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green-700);box-shadow:0 0 0 3px #2768561f}.field input::placeholder,.field textarea::placeholder{color:#98a39f}.field small{align-self:flex-end;color:#7b8883;font-size:12px}.selection-builder{padding:20px;border:1px solid #d4ded9;background:#f8faf9}.selection-filters{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(260px,1.6fr);gap:12px}.location-result-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:22px 0 10px}.location-result-heading h3{margin:0;font-size:15px}.location-result-heading p{margin:4px 0 0;color:var(--muted);font-size:12px}.location-result-heading>span{color:var(--green-700);font-size:12px;font-weight:800;white-space:nowrap}.location-explorer{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:start;gap:10px}.location-list-panel{min-width:0;max-height:536px;overflow-y:auto;padding-right:3px;scrollbar-gutter:stable}.location-card-list{display:grid;grid-template-columns:1fr;gap:10px}.location-card{min-width:0;border:1px solid #cfd9d4;padding:0;background:#fff;color:inherit;text-align:left;transition:border-color .15s,background .15s}.location-card:hover:not(:disabled){border-color:#79a998}.location-card--selected{border:2px solid var(--green-700);background:#f5fbf8}.location-card__inner{display:block;padding:15px}.location-card--selected .location-card__inner{padding:14px}.location-card__meta{display:flex;align-items:center;gap:6px;margin-bottom:8px}.location-code-chip,.location-district-chip,.location-selected-chip{display:inline-flex;align-items:center;min-height:21px;padding:2px 6px;font-size:10px;font-weight:800}.location-code-chip{background:var(--green-900);color:#fff}.location-district-chip{border:1px solid #d0d9d5;background:#f5f7f6;color:#56635e}.location-selected-chip{margin-left:auto;background:var(--green-100);color:#176147}.location-card__title{display:block;overflow:hidden;color:#24312c;font-size:15px;font-weight:800;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.location-card__address{display:block;margin-top:4px;color:#6c7873;font-size:12px}.location-card__facts{display:grid;grid-template-columns:1.4fr .75fr;gap:8px;margin-top:13px;padding-top:11px;border-top:1px solid #e3e8e5}.location-fact{display:flex;flex-direction:column;gap:3px;min-width:0}.location-fact>span{color:#7b8782;font-size:10px}.location-fact strong{overflow:hidden;color:#314039;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.location-fact--available strong{color:#176147}.location-competition{display:block;margin-top:9px;color:#75621f;font-size:11px}.location-results-empty{padding:24px;border:1px solid #d8e0dc;background:#fff;color:#7a8781;text-align:center;font-size:13px}.naver-map{min-width:0;border:1px solid #cfd9d4;background:#fff}.naver-map__heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:13px 14px;border-bottom:1px solid #dfe6e2}.naver-map__heading h3{margin:0;font-size:14px}.naver-map__heading p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.45}.naver-map__count{flex:0 0 auto;color:var(--green-700);font-size:11px;font-weight:800;white-space:nowrap}.naver-map__stage{position:relative;min-height:470px;overflow:hidden;background:#edf2ef}.naver-map__canvas{width:100%;min-height:470px}.naver-map__status{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;padding:24px;background:#f5f8f6f0;color:#5f6d67;text-align:center;font-size:13px}.naver-map__status strong{color:#2c3934;font-size:14px}.naver-map__status span{line-height:1.5}.naver-map__status--error{color:#7f443d}.naver-map__retry{margin-top:7px;border:1px solid var(--green-700);padding:8px 11px;background:#fff;color:var(--green-700);font-size:12px;font-weight:800}.naver-map__retry:hover{background:var(--green-100)}.naver-map__meta{margin:0;padding:9px 12px;border-top:1px solid #dfe6e2;color:#78847f;font-size:10px;line-height:1.5}.naver-map__marker{cursor:pointer;-webkit-user-select:none;user-select:none}.button{min-height:46px;border:1px solid transparent;padding:11px 18px;font-weight:800;transition:background .15s,border-color .15s,transform .05s}.button:active:not(:disabled){transform:translateY(1px)}.button--primary{background:var(--green-900);color:#fff}.button--primary:hover:not(:disabled){background:#0d332a}.button--submit{width:100%;min-height:58px;font-size:16px}.selected-heading{display:flex;align-items:center;justify-content:space-between;margin-top:26px;padding-bottom:10px;border-bottom:1px solid var(--line)}.selected-heading h3{margin:0;font-size:15px}.selected-heading span{color:var(--muted);font-size:12px}.selected-empty{padding:28px 10px;text-align:center;color:#87928e;font-size:13px}.selected-list{margin:0;padding:0;list-style:none}.selected-item{display:grid;grid-template-columns:auto 1fr auto;gap:13px;padding:17px 0;border-bottom:1px solid #e6ebe8}.priority-badge{width:27px;height:27px;display:grid;place-items:center;background:var(--cream);color:#6d5c25;font-size:12px;font-weight:900}.selected-item__body{display:flex;flex-direction:column;min-width:0;gap:3px}.selected-item__body strong{font-size:14px}.selected-item__body>span{color:#66736e;font-size:12px}.selected-item__body>.selected-item__availability{margin-top:6px;color:#1a6d50;font-size:11px;font-weight:700}.remove-button{align-self:start;border:0;background:transparent;color:#a3443c;font-size:12px;font-weight:700}.empty-state{display:flex;flex-direction:column;gap:6px;padding:22px;border:1px solid #e0a7a2;background:#fff5f4;color:#6c302b}.empty-state span{font-size:13px;line-height:1.55}.notice-card{padding:20px 22px;border:1px solid #dccd98;background:#fffdf5}.notice-check{display:flex;align-items:flex-start;gap:12px;cursor:pointer}.notice-check input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--green-900)}.notice-check span{display:flex;flex-direction:column;gap:4px;color:#665f48;font-size:13px;line-height:1.55}.notice-check strong{color:#3b382c}.form-error{padding:13px 15px;border:1px solid #df9992;background:#fff3f2;color:var(--danger);font-size:13px;font-weight:700}.submit-help{margin:-8px 0 0;text-align:center;color:#75817c;font-size:12px}footer{padding:28px 16px 34px;border-top:1px solid #dde4e0;text-align:center;color:#75817c;background:#fff;font-size:12px}footer p{margin:4px 0}.receipt-page{min-height:100vh;display:grid;place-items:center;padding:30px 16px;background:#eff4f1}.receipt-card{width:min(680px,100%);padding:42px;border:1px solid #ccd8d2;border-top:5px solid var(--green-900);background:#fff;text-align:center}.success-icon{width:58px;height:58px;display:grid;place-items:center;margin:0 auto 18px;border-radius:50%;background:#e4f4ed;color:#137052;font-size:28px;font-weight:900}.receipt-card .eyebrow{color:var(--green-700)}.receipt-card h1{margin:5px 0 0;font-size:clamp(25px,5vw,34px);letter-spacing:-.04em}.receipt-lead{margin:15px auto 25px;max-width:540px;color:#5e6b66;line-height:1.7}.receipt-summary{display:grid;grid-template-columns:1fr 1fr;margin:0;border:1px solid var(--line);text-align:left}.receipt-summary div{padding:14px;border-bottom:1px solid var(--line)}.receipt-summary div:nth-child(odd){border-right:1px solid var(--line)}.receipt-summary div:nth-last-child(-n+2){border-bottom:0}.receipt-summary dt{color:#7a8681;font-size:11px}.receipt-summary dd{margin:4px 0 0;color:#26332e;font-size:14px;font-weight:800;overflow-wrap:anywhere}.receipt-selections{margin:24px 0;text-align:left}.receipt-selections h2{margin:0 0 10px;font-size:15px}.receipt-selections>div{display:flex;flex-direction:column;gap:3px;padding:11px 0;border-bottom:1px solid #e8ecea}.receipt-selections b{font-size:13px}.receipt-selections span{color:#69756f;font-size:12px}.receipt-notice{margin-bottom:22px;padding:14px;border:1px solid #dfd2a5;background:#fffbec;color:#6b6243;font-size:13px;line-height:1.6}.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}@media(max-width:720px){.hero__inner{width:min(100% - 30px,900px);padding:30px 0 28px}.brand-mark{width:43px;height:43px;font-size:20px}.main-content{width:min(100% - 22px,900px);margin-top:16px}.status-panel{grid-template-columns:auto 1fr}.status-panel button{grid-column:2;justify-self:start}.section-card{padding:21px 17px}.field-grid,.field-grid--applicant,.selection-filters{grid-template-columns:1fr}.field--wide{grid-column:auto}.selection-builder{padding:15px}.location-explorer{grid-template-columns:1fr}.location-list-panel{max-height:none;overflow:visible;padding-right:0}.location-card-list{grid-template-columns:1fr 1fr}.naver-map__stage,.naver-map__canvas{min-height:400px}.selected-item{grid-template-columns:auto 1fr}.remove-button{grid-column:2;justify-self:start;padding:0}.receipt-card{padding:30px 18px}.receipt-summary{grid-template-columns:1fr}.receipt-summary div,.receipt-summary div:nth-child(odd),.receipt-summary div:nth-last-child(-n+2){border-right:0;border-bottom:1px solid var(--line)}.receipt-summary div:last-child{border-bottom:0}}@media(max-width:560px){.location-card-list{grid-template-columns:1fr}.naver-map__heading{align-items:flex-start;flex-direction:column}.naver-map__stage,.naver-map__canvas{min-height:330px}}
