body{background:#fff;color:#191f28} .sim-app{max-width:1280px;margin:0 auto;padding:44px 28px 70px;font-size:16px;line-height:1.65}.sim-app *{box-sizing:border-box}.sim-app h1{font-size:38px;margin:0 0 12px;letter-spacing:-1.2px}.sim-app h2{font-size:24px}.sim-app h3{font-size:20px;margin:0 0 16px}.sim-intro>p{color:#4e5968;margin:0 0 20px}.eyebrow{font-size:16px;letter-spacing:1.4px;color:#2164d7!important;font-weight:700}.sim-app small,.sim-app .source{display:block;font-size:16px;color:#6b7684;line-height:1.55}.sim-tabs{display:flex;gap:28px;border-bottom:1px solid #e5e8eb;margin:30px 0 24px}.sim-tabs a{padding:12px 0;color:#6b7684;text-decoration:none;font-weight:700;font-size:19px;border-bottom:3px solid transparent}.sim-tabs a[aria-current=page]{color:#2164d7;border-color:#3182f6}.scenario-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.scenario-bar #slots{display:flex;gap:8px;flex-wrap:wrap}.sim-app button{font:inherit;cursor:pointer;border:1px solid #dfe4eb;border-radius:10px;padding:9px 16px;background:#fff;color:#4e5968}.sim-app button[aria-pressed=true]{border-color:#3182f6;background:#edf5ff;color:#2164d7;font-weight:700}.sim-app input,.sim-app select{font:inherit;min-height:48px;width:100%;padding:10px 12px;border:1px solid #d6dce5;border-radius:8px;background:#fff;color:#191f28;min-width:0}.sim-app input:focus,.sim-app select:focus{outline:2px solid #3182f6;outline-offset:1px}.sim-app .rename{display:flex;align-items:center;gap:8px;margin-left:auto}.rename input{width:150px}.save-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:16px 0 28px;color:#6b7684}.save-bar button{color:#2164d7;background:#f2f6fc;border:0}.calc-grid{display:grid;grid-template-columns:400px minmax(0,1fr);gap:28px;align-items:start}#inputs details{border:1px solid #e5e8eb;border-radius:14px;margin-bottom:16px;overflow:hidden}#inputs summary{padding:20px;background:#f2f4f6;cursor:pointer;font-weight:700;font-size:20px}.fields{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;padding:22px}.fields label{display:grid;gap:6px;font-weight:600}.fields small{font-weight:400}#results{position:sticky;top:20px;min-width:0}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px}.metric{background:#f2f4f6;border-radius:14px;padding:24px 20px;min-width:0}.metric strong{display:block;font-size:30px;line-height:1.4;letter-spacing:-1px;color:#2164d7;margin:10px 0;overflow-wrap:anywhere}.metric small{color:#6b7684}.sim-card{padding:24px;border:1px solid #e5e8eb;border-radius:14px;margin-bottom:20px;min-width:0}.sim-card p{margin:8px 0 16px}.chart svg{width:100%;height:auto;display:block;overflow:visible}.chart svg text{font:16px -apple-system,sans-serif;fill:#6b7684}.chart-legend{font-size:16px;margin:0!important}.sim-app table{width:100%;border-collapse:collapse;text-align:left;font-size:16px}.sim-app th,.sim-app td{border-bottom:1px solid #e5e8eb;padding:13px 8px;vertical-align:top}.sim-app th{font-weight:600}.sim-app td{text-align:right;font-variant-numeric:tabular-nums}.warnings{background:#f8fafc}.warnings ul{padding-left:22px;margin:0}.warnings li{margin:10px 0}.secondary{color:#6b7684}.incomplete{background:#f2f4f6}.location-selectors{display:flex;gap:16px;margin-top:20px}.location-selectors label{min-width:180px;display:grid;gap:6px}.location-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(300px,1fr);gap:24px}#map{height:460px;border-radius:14px;background:#edf1f5;z-index:0}.legend{color:#3182f6}.legend span{color:#8b95a1}.legend em{color:#219468;font-style:normal}.sim-card dl{margin:0}.sim-card dt{color:#6b7684}.sim-card dd{margin:0 0 14px;font-size:21px;font-weight:700}.table-scroll{max-width:100%;overflow:auto;border:1px solid #e5e8eb;border-radius:14px}.table-scroll table{min-width:780px}.table-scroll th,.table-scroll td{padding:18px}.table-scroll thead{background:#f2f4f6}.table-scroll thead th:not(:first-child){color:#2164d7}.table-scroll tbody th{background:#fafbfc;width:28%}.sim-app .campus-cta{padding:24px;border-radius:14px;background:#edf5ff;margin:20px 0}.sim-app .campus-cta .btn{display:inline-flex}.sim-panel[hidden],[hidden]{display:none!important}#mobile-summary,#print-report{display:none}#app-error{padding:16px;background:#fff3e8}.sheet .sheet-l,.sheet .login-terms{font-size:16px}.leaflet-control-attribution{font-size:12px!important}
@media(max-width:900px){.sim-app{padding:30px 20px 90px}.calc-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:18px}.metric{padding:16px}.metric strong{font-size:25px}.location-grid{grid-template-columns:1fr}.sim-app .rename{margin-left:0}}
@media(max-width:650px){.sim-app{padding:24px 16px 80px}.sim-app h1{font-size:30px}.sim-tabs{gap:22px;margin:22px 0}.sim-tabs a{font-size:18px}.scenario-bar{gap:10px}.scenario-bar #slots{width:100%}.scenario-bar #slots button{padding:8px 12px;max-width:100%;overflow-wrap:anywhere}.rename{flex:1}.rename input{width:130px}.calc-grid{display:block}#results{position:static}.metric strong{font-size:26px}.metric{padding:18px 14px}.sim-card{padding:20px 16px}.fields{padding:20px 16px}.location-selectors{gap:12px}.location-selectors label{min-width:0;flex:1}#map{height:320px}.location-grid{display:block}#mobile-summary{display:block;position:sticky;top:0;z-index:40;background:#edf5ff;border-bottom:1px solid #cbdfff;color:#2164d7;padding:12px 16px;font-size:16px;font-weight:700}body:not([data-sim-tab=calc]) #mobile-summary{display:none}.sim-app .source{overflow-wrap:anywhere}.chart svg text{font-size:18px}.save-bar{margin-bottom:24px}.sim-intro .eyebrow{font-size:16px}}
@media print{@page{size:A4;margin:12mm}body>*{display:none!important}body>.sim-app{display:block!important;padding:0;margin:0;max-width:none}.sim-app>*{display:none!important}.sim-app>#print-report{display:block!important;font-size:10pt;line-height:1.4}#print-report h1{font-size:22pt;margin:0 0 12px}#print-report h3{font-size:12pt;margin:0 0 6px}#print-report p{margin:8px 0;font-size:10pt}#print-report .sim-card{padding:8px 12px;margin:8px 0;break-inside:avoid}#print-report svg{max-height:190px}#print-report .print-metrics{padding:12px;background:#f2f4f6;font-size:14pt;color:#2164d7}#print-report .chart-legend{font-size:10pt}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* 주소·장소 찾기 */
.geo-form{margin:0 0 16px;max-width:620px;position:relative}.geo-form label{display:block;font-weight:600;margin-bottom:6px}.geo-form>div{display:flex;gap:8px}.geo-form input{flex:1;height:44px;border:1px solid #d1d6db;border-radius:10px;padding:0 14px;font-size:16px}.geo-form button[type=submit]{height:44px;padding:0 18px;border:0;border-radius:10px;background:#1F5FD6;color:#fff;font-weight:600;font-size:15px}
.geo-results{list-style:none;margin:6px 0 0;padding:6px;border:1px solid #e5e8eb;border-radius:12px;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.08);position:absolute;left:0;right:0;z-index:1000}.geo-results button{display:block;width:100%;text-align:left;background:none;border:0;padding:10px 12px;border-radius:8px;cursor:pointer}.geo-results button:hover{background:#f2f4f6}.geo-results b{display:block;font-size:15px}.geo-results span{font-size:13px;color:#6b7684}.geo-results .muted{padding:10px 12px;color:#6b7684;font-size:14px}
