:root{--bg:#f3f1eb;--card:#fffdf9;--ink:#142018;--muted:#6f786f;--line:#ddd9cf;--deep:#15251c;--green:#1e7a49;--green2:#e5f3e9;--amber:#9a6c08;--amber2:#fff4d8;--blue:#2f6191;--blue2:#e8f1fb;--red:#a94343;--red2:#fbeaea;--gray:#777;--shadow:0 16px 40px rgba(25,35,28,.08);--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,#ece9e1 0,#f7f5f0 340px);color:var(--ink);font-family:Inter,Pretendard,"Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif}button,input,select{font:inherit}button{cursor:pointer}.app-shell{max-width:1480px;margin:auto;padding:18px 18px 54px}
.hero{background:radial-gradient(circle at 85% 0,#294936 0,transparent 38%),linear-gradient(135deg,#0f1813,#1c2c21);color:#fff;border-radius:28px;padding:28px 30px 26px;box-shadow:var(--shadow)}.brandline{display:flex;align-items:center;justify-content:space-between;gap:12px}.brandmark{font-weight:900;letter-spacing:-.04em;font-size:15px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);padding:8px 11px;border-radius:999px}.update-chip{font-size:12px;color:#d7e2d9}.hero h1{font-size:clamp(28px,4vw,48px);line-height:1.08;letter-spacing:-.05em;margin:24px 0 10px}.hero p{margin:0;color:#cbd8ce;line-height:1.6;font-size:15px}.hero-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:24px}.hero-stat{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.07);color:#fff;border-radius:16px;padding:13px 15px;text-align:left}.hero-stat:hover{background:rgba(255,255,255,.12)}.hero-stat span{font-size:12px;color:#c6d2c9}.hero-stat b{display:block;font-size:25px;margin-top:4px;letter-spacing:-.04em}
.urgent-strip{display:none;margin:14px 2px 0;padding:12px 14px;border-radius:16px;background:#fff8e8;border:1px solid #ecdcae;color:#684c09;font-size:13px;line-height:1.55}.urgent-strip.show{display:block}.urgent-strip b{color:#423000}.urgent-strip a{color:inherit;font-weight:800;text-decoration:none}.control-card,.map-card,.results-card,.trust-card{background:rgba(255,253,249,.94);border:1px solid var(--line);box-shadow:0 8px 24px rgba(27,35,29,.045)}.control-card{margin-top:14px;border-radius:20px;padding:12px}.view-tabs{display:flex;gap:7px;overflow:auto;padding-bottom:9px}.view-tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 13px;white-space:nowrap;color:#4b544d;font-weight:700;font-size:13px}.view-tabs button.active{background:var(--deep);border-color:var(--deep);color:#fff}.filters{display:grid;grid-template-columns:minmax(220px,1fr) 150px 120px auto;gap:8px}.searchbox{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:12px;padding:0 12px}.searchbox input{border:0;outline:0;background:transparent;width:100%;padding:11px 0;color:var(--ink)}select,.filter-toggle{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 11px;color:var(--ink)}.filter-toggle.active{background:#e8f3eb;border-color:#9fc6aa;color:#1b6b3f;font-weight:800}
.workspace{display:grid;grid-template-columns:minmax(420px,.95fr) minmax(470px,1.05fr);gap:14px;margin-top:14px;align-items:start}.map-card,.results-card{border-radius:22px;padding:14px}.map-card{position:sticky;top:12px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 3px 12px}.section-head h2{margin:2px 0 0;font-size:19px;letter-spacing:-.03em}.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:900;color:#7e8a81}.map-legend{display:flex;flex-wrap:wrap;gap:8px;font-size:11px;color:#6c756e}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:3px}.dot.apply{background:var(--green)}.dot.call{background:#d39a22}.dot.check{background:var(--blue)}.dot.closed{background:#999}#map{height:620px;border-radius:17px;overflow:hidden;background:#e8e7e0;border:1px solid #d9d7cf}.map-note{font-size:11px;color:#7a817c;padding:9px 4px 0}.count-pill{background:#f1efe8;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:800;color:#5c625e}
.event-list{display:grid;gap:10px}.event-card{border:1px solid #e2ded5;background:#fff;border-radius:17px;padding:14px;transition:.18s ease;position:relative}.event-card:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(30,42,34,.07);border-color:#cac4b8}.event-card.focused{outline:2px solid #6c9b79;outline-offset:1px}.event-top{display:grid;grid-template-columns:62px 1fr auto;gap:12px;align-items:start}.datebox{background:#f3f1eb;border-radius:13px;text-align:center;padding:8px 5px;color:#495049}.datebox b{display:block;font-size:22px;color:#1d2b22;line-height:1}.datebox span{font-size:10px;font-weight:800}.event-title{font-size:16px;font-weight:900;line-height:1.35;letter-spacing:-.025em}.event-place{font-size:12px;color:var(--muted);margin-top:5px;line-height:1.45}.status-badge{font-size:11px;padding:6px 9px;border-radius:999px;font-weight:900;white-space:nowrap}.status-badge.apply{background:var(--green2);color:var(--green)}.status-badge.call{background:var(--amber2);color:var(--amber)}.status-badge.check{background:var(--blue2);color:var(--blue)}.status-badge.closed{background:#eee;color:#666}.status-badge.ineligible{background:var(--red2);color:var(--red)}.status-badge.partial{background:#f7e6e9;color:#983d4c}
.event-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}.meta{background:#f8f6f1;border-radius:11px;padding:9px 10px;min-width:0}.meta small{display:block;color:#8a8e89;font-size:10px;font-weight:800;margin-bottom:3px}.meta strong{display:block;font-size:12px;line-height:1.45;word-break:keep-all;overflow:hidden;text-overflow:ellipsis}.meta .good{color:var(--green)}.deadline.urgent{color:#a14b11}.event-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:11px}.source-tier{font-size:11px;color:#808680}.source-btn{display:inline-flex;align-items:center;gap:5px;text-decoration:none;background:var(--deep);color:#fff;border-radius:10px;padding:8px 11px;font-size:12px;font-weight:800}.map-focus{border:0;background:transparent;color:#446b51;font-size:12px;font-weight:800;padding:7px}.candidate-card .event-top{grid-template-columns:1fr auto}.candidate-card .event-meta{grid-template-columns:repeat(2,1fr)}.empty{padding:48px 15px;text-align:center;color:#818881}.empty b{display:block;color:#4a534d;margin-bottom:5px}.trust-card{border-radius:18px;padding:14px 16px;margin-top:14px}.trust-card summary{cursor:pointer;font-weight:800;font-size:13px}.trust-card p,#coverageSummary{font-size:12px;color:#707770;line-height:1.65}.coverage-rows{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.coverage-chip{font-size:10px;border:1px solid #ddd8cc;border-radius:999px;padding:5px 7px;background:#fff}footer{display:flex;justify-content:space-between;gap:10px;padding:22px 5px 0;color:#8b908c;font-size:11px}
.leaflet-popup-content-wrapper{border-radius:14px;box-shadow:0 12px 30px rgba(0,0,0,.16)}.leaflet-popup-content{margin:12px 14px;min-width:210px}.popup-title{font-weight:900;font-size:14px;line-height:1.35;margin-bottom:6px}.popup-meta{font-size:11px;color:#666;line-height:1.55}.popup-link{display:inline-block;margin-top:8px;background:#19251e;color:#fff!important;padding:6px 8px;border-radius:8px;text-decoration:none;font-size:11px;font-weight:800}.leaflet-control-zoom a{color:#253329}.leaflet-tile-pane{filter:saturate(.7) contrast(.98) brightness(1.02)}
@media(max-width:980px){.workspace{grid-template-columns:1fr}.map-card{position:static}.results-card{min-height:0}#map{height:460px}.filters{grid-template-columns:1fr 1fr}.searchbox{grid-column:1/-1}.filter-toggle{grid-column:1/-1}.hero-stats{grid-template-columns:repeat(4,1fr)}}@media(max-width:620px){.app-shell{padding:9px 9px 38px}.hero{border-radius:20px;padding:20px 17px}.hero h1{font-size:29px;margin-top:20px}.hero p{font-size:13px}.hero-stats{grid-template-columns:1fr 1fr;gap:7px}.hero-stat{padding:10px 11px}.hero-stat b{font-size:21px}.control-card{position:sticky;top:0;z-index:700;border-radius:15px;margin-top:9px;padding:8px}.filters{grid-template-columns:1fr 1fr;gap:6px}.filters select,.filter-toggle{font-size:12px;padding:9px}.workspace{margin-top:9px;gap:9px}.map-card,.results-card{border-radius:16px;padding:10px}#map{height:350px;border-radius:13px}.map-legend{display:none}.event-top{grid-template-columns:53px 1fr}.event-top .status-badge{grid-column:2;justify-self:start}.datebox b{font-size:19px}.event-title{font-size:15px}.event-meta{grid-template-columns:1fr 1fr}.meta:nth-child(3){grid-column:1/-1}.event-actions{align-items:flex-end}.source-tier{max-width:55%}.candidate-card .event-top{grid-template-columns:1fr}.candidate-card .status-badge{grid-column:1}.candidate-card .event-meta{grid-template-columns:1fr}.trust-card{margin-top:9px}footer{display:block;line-height:1.6}footer span{display:block}.section-head{padding-bottom:8px}}
html,body{max-width:100%;overflow-x:hidden}.app-shell,.workspace,.control-card,.map-card,.results-card,.event-card,.event-main{min-width:0;width:100%}.view-tabs{max-width:100%;overscroll-behavior-x:contain}.filters>*{min-width:0}.event-actions{flex-wrap:wrap}.event-actions>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:3px}.source-btn,.map-focus{white-space:nowrap}@media(max-width:620px){.brandline{min-width:0}.update-chip{max-width:48%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.view-tabs{overflow-x:auto;scrollbar-width:none}.view-tabs::-webkit-scrollbar{display:none}.event-actions>div{width:100%;justify-content:flex-end}.source-tier{max-width:100%}}

@media(max-width:620px){html,body{width:100%;max-width:100vw}.app-shell{width:100%;max-width:100vw;overflow:hidden}.hero,.control-card,.workspace,.map-card,.results-card,.trust-card{width:100%;max-width:100%;min-width:0}.hero{overflow:hidden}.hero p{overflow-wrap:anywhere}.hero-stats{grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%}.hero-stat{min-width:0;width:100%}.filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%}.searchbox,.filter-toggle{width:100%;max-width:100%}#map{width:100%;max-width:100%}}

.calendar-jump{border-color:#9fc6aa!important;background:#eef7f0!important;color:#1f6e43!important}.calendar-card{margin-top:14px;background:rgba(255,253,249,.96);border:1px solid var(--line);border-radius:22px;padding:16px;box-shadow:0 8px 24px rgba(27,35,29,.045)}
.calendar-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:10px}.calendar-head h2{margin:3px 0 3px;font-size:21px;letter-spacing:-.03em}.calendar-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.calendar-nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.calendar-nav button{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:10px;padding:7px 10px;font-weight:800}.calendar-nav strong{min-width:104px;text-align:center;font-size:16px}.calendar-legend{display:flex;gap:12px;flex-wrap:wrap;padding:5px 1px 11px;color:#6c756e;font-size:11px}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid #dedad0;border-radius:16px;overflow:hidden;background:#dedad0;gap:1px}.cal-week{background:#f1efe8;text-align:center;padding:9px 4px;font-size:11px;font-weight:900;color:#687169}.cal-day{background:#fff;min-height:128px;padding:8px;min-width:0}.cal-day.muted{background:#f7f5f0}.cal-day.today{box-shadow:inset 0 0 0 2px #5c8d6a}.cal-num{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:900;color:#3e4741;margin-bottom:6px}.cal-num span{background:#eef1ed;border-radius:999px;padding:2px 6px;font-size:9px;color:#687169}
.cal-events{display:grid;gap:4px}.cal-event,.cal-more{border:0;text-align:left;border-radius:7px;padding:5px 6px;font-size:10px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-event.apply{background:#e5f3e9;color:#1e7a49}.cal-event.call{background:#fff0c7;color:#8b650b}.cal-event.check{background:#e8f1fb;color:#2f6191}.cal-event.closed{background:#efefef;color:#777}.cal-event.partial{background:#f7e6e9;color:#983d4c}.cal-more{background:transparent;color:#6d766f;font-weight:800;padding-left:2px}
.calendar-day-panel{display:none;margin-top:12px;border:1px solid var(--line);border-radius:14px;padding:12px;background:#faf8f3}.calendar-day-panel:has(.cal-day-item){display:block}.calendar-day-panel h3{margin:0 0 8px;font-size:14px}.cal-day-list{display:grid;gap:6px}.cal-day-item{display:flex;align-items:center;gap:9px;width:100%;text-align:left;border:1px solid #e3dfd5;background:#fff;border-radius:10px;padding:9px}.cal-day-item i{width:9px;height:9px;border-radius:50%;flex:0 0 auto}.cal-day-item i.apply{background:var(--green)}.cal-day-item i.call{background:#d39a22}.cal-day-item i.check{background:var(--blue)}.cal-day-item i.closed{background:#999}.cal-day-item span{min-width:0}.cal-day-item b,.cal-day-item small{display:block}.cal-day-item b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-day-item small{font-size:10px;color:var(--muted);margin-top:2px}
@media(max-width:760px){.calendar-card{padding:10px;border-radius:16px}.calendar-head{align-items:flex-start;flex-direction:column}.calendar-nav{width:100%;justify-content:space-between}.calendar-grid{overflow-x:auto;grid-template-columns:repeat(7,minmax(112px,1fr));border-radius:12px}.calendar-card{overflow-x:auto}.cal-day{min-height:112px}.cal-week{min-width:112px}.calendar-legend{position:sticky;left:0;background:rgba(255,253,249,.96);z-index:2}.calendar-head{position:sticky;left:0;background:rgba(255,253,249,.96);z-index:2}.calendar-day-panel{position:sticky;left:0;max-width:calc(100vw - 40px)}}
.workspace.calendar-hidden{display:none}.calendar-card{display:none}.calendar-card.show{display:block}.calendar-jump.active{background:var(--deep)!important;border-color:var(--deep)!important;color:#fff!important}
/* v6 calendar-first layout */
.calendar-card,.region-card{background:rgba(255,253,249,.96);border:1px solid var(--line);box-shadow:0 8px 24px rgba(27,35,29,.045);border-radius:22px;margin-top:14px;padding:16px}.calendar-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.calendar-head h2{margin:3px 0 0;font-size:22px}.calendar-nav{display:flex;align-items:center;gap:7px}.calendar-nav button,.text-btn{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 11px;color:var(--ink);font-weight:800}.calendar-nav strong{min-width:110px;text-align:center;font-size:16px}.calendar-legend{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0 11px}.legend{font-size:11px;font-weight:900;padding:6px 9px;border-radius:999px;border:1px solid transparent}.legend.must{background:#ffe880;color:#5d4800;border-color:#e0c84b}.legend.green{background:#dff3e5;color:#17633a}.legend.orange{background:#fff0ce;color:#8a5d00}.legend.red{background:#fde0df;color:#a33333}.legend.blue{background:#e5effb;color:#285c8c}.legend.gray{background:#ecebe7;color:#686864}.dow,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.dow span{padding:8px 6px;text-align:center;font-size:11px;font-weight:900;color:#838981}.dow span:first-child{color:#c45d5d}.dow span:last-child{color:#5072a1}.calendar-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);border-radius:14px;overflow:hidden}.cal-day{min-height:128px;background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:7px;min-width:0}.cal-day.out{background:#f7f5ef;color:#bbb}.cal-day.today{box-shadow:inset 0 0 0 2px #213c2a}.day-num{font-size:12px;font-weight:900;margin-bottom:5px}.day-num.sun{color:#c65353}.day-num.sat{color:#47709f}.cal-item{display:block;width:100%;border:0;text-align:left;border-radius:8px;padding:5px 6px;margin:3px 0;font-size:10px;font-weight:800;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#263029}.cal-item.must{background:#ffe880;color:#594600}.cal-item.green{background:#dff3e5;color:#185f3a}.cal-item.orange{background:#fff0ce;color:#835700}.cal-item.red{background:#fde0df;color:#9b3030}.cal-item.blue{background:#e5effb;color:#285985}.cal-item.gray{background:#ecebe7;color:#656560}.cal-item.deadline{outline:1px dashed currentColor}.cal-more{font-size:10px;color:#777;padding:3px 2px}.calendar-note{font-size:11px;color:#747b75;margin:10px 2px 0;line-height:1.6}.region-card .section-head{padding-bottom:10px}.region-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}.region-btn{border:1px solid var(--line);background:#fff;border-radius:13px;padding:11px 12px;text-align:left;color:var(--ink)}.region-btn.active{border-color:#244c31;background:#edf6ef}.region-btn b{display:block;font-size:14px}.region-btn span{display:block;font-size:10px;color:#7d837e;margin-top:3px}.results-card{margin-top:14px}.event-list{grid-template-columns:repeat(2,minmax(0,1fr))}.map-card{margin-top:14px;position:static}.map-card #map{height:560px}.map-card .section-head{padding-bottom:10px}.workspace{display:block;margin:0}.calendar-badge{display:inline-flex;margin-left:5px;font-size:9px;padding:2px 5px;border-radius:999px;background:rgba(255,255,255,.7)}
@media(max-width:980px){.event-list{grid-template-columns:1fr}.cal-day{min-height:112px}.map-card #map{height:460px}}
@media(max-width:720px){.calendar-card,.region-card{border-radius:16px;padding:10px}.calendar-head{align-items:flex-start;flex-direction:column}.calendar-nav{width:100%;justify-content:space-between}.calendar-nav strong{min-width:90px}.calendar-legend{gap:5px}.legend{font-size:10px;padding:5px 7px}.dow span{font-size:10px}.cal-day{min-height:92px;padding:4px}.day-num{font-size:11px}.cal-item{font-size:9px;padding:4px}.region-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.results-card{padding:10px}.map-card #map{height:360px}.event-list{grid-template-columns:1fr}}
@media(max-width:480px){.cal-day{min-height:82px}.cal-item{padding:3px 4px}.calendar-grid{font-size:9px}.calendar-note{font-size:10px}.region-groups{grid-template-columns:1fr 1fr}}

/* v6 final overrides */
body .calendar-card{display:block!important}.workspace.calendar-hidden{display:block!important}

/* v7 compact premium hero */
.hero{background:linear-gradient(115deg,#13291f 0%,#1d3a2d 58%,#315344 100%);border:1px solid rgba(235,220,184,.18);border-radius:22px;padding:14px 20px 13px;box-shadow:0 12px 30px rgba(24,42,32,.10)}.brandmark{font-size:12px;padding:5px 9px;border-color:rgba(239,224,190,.28);background:rgba(255,250,237,.07);letter-spacing:-.02em}.update-chip{font-size:11px;color:#d8dfd9}.hero h1{font-size:clamp(24px,2.5vw,34px);line-height:1.1;margin:10px 0 4px;letter-spacing:-.045em}.hero p{font-size:13px;line-height:1.45;color:#d5ddd6}.hero-stats{gap:8px;margin-top:11px}.hero-stat{display:flex;align-items:center;justify-content:space-between;gap:8px;border-radius:11px;padding:7px 10px;background:rgba(255,252,243,.075);border-color:rgba(237,226,197,.15)}.hero-stat span{font-size:11px;color:#d4ddd5}.hero-stat b{font-size:19px;margin:0}.hero-stat:nth-child(1){box-shadow:inset 3px 0 #78b58d}.hero-stat:nth-child(2){box-shadow:inset 3px 0 #d3ad60}.hero-stat:nth-child(3){box-shadow:inset 3px 0 #87a9bf}.hero-stat:nth-child(4){box-shadow:inset 3px 0 #c8bfa8}
@media(max-width:620px){.hero{border-radius:17px;padding:12px 13px 11px}.brandmark{font-size:11px;padding:4px 7px}.update-chip{font-size:10px}.hero h1{font-size:23px;margin:8px 0 3px}.hero p{font-size:11.5px;line-height:1.4}.hero-stats{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:5px;margin-top:8px}.hero-stat{padding:6px 8px;border-radius:9px}.hero-stat span{font-size:10.5px}.hero-stat b{font-size:17px}}
