:root {font-family:Pretendard,"Noto Sans KR","Malgun Gothic",system-ui,sans-serif;color:#18302c;background:#f4f5f0;font-synthesis:none}
* {box-sizing:border-box}
html,body {margin:0;max-width:100%;overflow-x:hidden}
button,input,select,textarea {font:inherit}
button,a,label.file-button {touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {outline:3px solid #83ad43;outline-offset:3px}
.hero {background:#102723;color:#f1f3e9;padding:22px clamp(18px,5vw,72px) 48px;position:relative;overflow:hidden}
.hero::before {content:"";position:absolute;width:400px;height:400px;right:-100px;top:30px;background:radial-gradient(circle,#436b4b 0%,transparent 68%);opacity:.6;pointer-events:none}
.sites {display:flex;flex-wrap:wrap;gap:8px;position:relative;z-index:1}
.sites a {display:inline-flex;align-items:center;min-height:40px;padding:10px 15px;border:1px solid #597169;border-radius:8px;color:#f0f5e9;font-size:13px;font-weight:700;text-decoration:none}
.sites a[aria-current="page"] {background:#d8f09c;color:#153329;border-color:#d8f09c}
.sites a:hover {border-color:#c6dfba}
.hero-content {display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-top:56px;position:relative;z-index:1}
.eyebrow,.kicker {font-size:11px;letter-spacing:.16em;font-weight:800}
.eyebrow {color:#afccad;margin:0 0 16px}
h1 {font-size:clamp(33px,5vw,68px);line-height:1.17;letter-spacing:-.055em;margin:0;font-weight:800}
h1 em {color:#d8f09c;font-style:normal}
.subtitle {font-size:15px;color:#c5d4cb;line-height:1.7;max-width:610px;margin:19px 0 0}
.hero-aside {flex:0 0 230px;display:grid;gap:8px;padding:19px 20px;border:1px solid #4b6b61;background:rgb(250 255 242 / 6%);border-radius:15px;font-size:12px}
.hero-aside strong {font-size:22px;font-weight:800}
.hero-aside small {color:#b7cbc0}
.pulse {height:8px;width:8px;background:#d8f09c;border-radius:50%;box-shadow:0 0 0 5px #d8f09c27}
main {max-width:1500px;margin:0 auto;padding:24px clamp(18px,5vw,72px) 60px}
.notice {padding:15px 18px;border:1px solid #f1dbad;border-left:4px solid #b3883c;border-radius:11px;background:#fff9ed;color:#645027;font-size:13px;line-height:1.7}
.overview {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}
.metric {display:grid;gap:5px;min-width:0;background:#fff;border:1px solid #dce4db;border-radius:15px;padding:19px 20px}
.metric small {font-size:12px;font-weight:750;color:#597066}
.metric strong {font-size:34px;line-height:1.1;font-weight:850;font-variant-numeric:tabular-nums}
.metric span {font-size:12px;color:#798780}
.panel {background:#fff;border:1px solid #dce4db;border-radius:18px;padding:26px;margin-top:18px}
.section-head {display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}
.section-head h2,.tools h2 {font-size:23px;letter-spacing:-.035em;margin:3px 0 8px}
.section-head p:not(.kicker),.tools p:not(.kicker) {margin:0;color:#6c7c74;font-size:13px;line-height:1.7}
.kicker {color:#52806a;margin:0}
.outline,.solid {display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:10px;min-height:42px;padding:10px 15px;font-size:13px;font-weight:800;cursor:pointer;text-decoration:none;white-space:nowrap}
.outline {background:#fff;color:#234b3d;border:1px solid #acc3b5}
.solid {background:#184738;color:white;border:1px solid #184738}
.outline:hover {background:#f0f6f1}.solid:hover {background:#28644d}
.profile-fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 18px;border-top:1px solid #e2eae3;padding-top:20px}
.profile-fields[hidden] {display:none}
.profile-fields label,.filters label {display:grid;gap:8px;font-size:12px;color:#4b6558;font-weight:750}
.profile-fields input,.profile-fields select,.filters input,.filters select {width:100%;min-width:0;border:1px solid #cbd7ce;border-radius:10px;background:#fff;color:#1c382e;min-height:43px;padding:9px 12px}
.profile-fields input::placeholder,.filters input::placeholder {color:#8d9e94}
.profile-foot {grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:20px}
.profile-foot p {font-size:12px;line-height:1.7;color:#748278;margin:0}
.profile-summary {font-size:13px;color:#57705f;margin:14px 0 0}
.filters {display:grid;grid-template-columns:minmax(230px,2fr) repeat(3,minmax(145px,1fr));gap:12px;padding-bottom:22px;border-bottom:1px solid #e5ebe5}
.count {border-radius:30px;background:#eef4ed;padding:8px 12px;color:#3d6851;font-size:12px;font-weight:800;white-space:nowrap}
.cards {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}
.card {min-width:0;padding:22px;border:1px solid #dbe4dc;border-radius:15px;background:#fcfdf9;display:flex;flex-direction:column;gap:12px}
.card-top {display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.chip {display:inline-block;border-radius:6px;background:#e4eee6;color:#375a46;font-size:11px;padding:6px 8px;font-weight:800}
.chip.open {background:#daf0df;color:#245b3d}
.chip.closed {background:#f4e6e2;color:#8d4234}
.chip.soon {background:#fff1d6;color:#79571f}
.card h3 {font-size:20px;line-height:1.4;letter-spacing:-.04em;margin:0}
.card .benefit {font-size:15px;color:#266243;font-weight:850;line-height:1.5}
.card .summary {font-size:13px;color:#596d60;line-height:1.7;margin:0}
.card .meta {font-size:12px;color:#718078;display:flex;flex-wrap:wrap;gap:7px 13px}
.card details {border-top:1px solid #e1e8e1;border-bottom:1px solid #e1e8e1;padding:13px 0}
.card summary {cursor:pointer;font-size:13px;font-weight:800;color:#234c3c;min-height:24px}
.card .detail-body {font-size:12px;line-height:1.75;color:#586b5e;padding-top:10px}
.card .detail-body strong {display:block;margin-top:10px;color:#345e49}
.card .detail-body ul {margin:5px 0 8px;padding-left:20px}
.card .detail-body p {margin:5px 0 8px}
.card .links {display:flex;gap:12px;flex-wrap:wrap}
.card .links a {font-size:12px;color:#1c604a;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.card .tracking {display:grid;grid-template-columns:1fr;gap:10px;margin-top:auto;padding-top:5px}
.tracking label {display:grid;gap:6px;font-size:12px;font-weight:800;color:#486452}
.tracking select,.tracking textarea {border:1px solid #cddbcf;border-radius:9px;background:#fff;padding:10px;color:#254331;min-width:0;width:100%;font-size:13px}
.tracking textarea {resize:vertical;min-height:55px}
.card .bottom {font-size:11px;line-height:1.6;color:#7c877e}
.card.is-closed {background:#e7e9e7;border-color:#c9cdc8;color:#6b726c;filter:grayscale(1);opacity:.72;box-shadow:inset 4px 0 0 #aab1aa;transition:opacity .15s ease}
.card.is-closed:hover,.card.is-closed:focus-within {opacity:.92}
.card.is-closed h3 {color:#5a615b}
.card.is-closed .benefit {color:#6d766e}
.card.is-closed .summary,.card.is-closed .meta,.card.is-closed .detail-body,.card.is-closed .bottom {color:#7a817b}
.card.is-closed .links a {color:#6a7a6e}
.card.is-closed .assessment {background:#e2e4e0;color:#5f665f}
.assessment {border-radius:9px;background:#eef3e9;padding:10px 12px;color:#446148;font-size:12px;line-height:1.65}
.assessment.mismatch {background:#fff3e6;color:#895629}
.empty {margin-top:20px;padding:40px;text-align:center;color:#738378;background:#f6f8f4;border-radius:12px}
.empty[hidden] {display:none}
.tools {display:flex;justify-content:space-between;align-items:center;gap:20px}
.tools p:not(.kicker) {max-width:640px}
.tool-buttons {display:flex;gap:8px;flex-wrap:wrap}
footer {font-size:12px;line-height:1.7;color:#7d8a82;margin-top:28px}
@media (max-width:1050px){.overview {grid-template-columns:repeat(2,minmax(0,1fr))}.filters {grid-template-columns:repeat(2,minmax(0,1fr))}.cards {grid-template-columns:1fr}.tools {align-items:flex-start;flex-direction:column}}
@media (max-width:650px){.hero {padding:16px 18px 30px}.hero-content {margin-top:36px;display:block}.hero-aside {margin-top:25px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.hero-aside strong {font-size:16px}.hero-aside small {width:100%}main {padding:14px 14px 42px}.overview {gap:9px;margin:12px 0}.metric {padding:14px 13px}.metric strong {font-size:28px}.panel {padding:18px 15px;margin-top:12px}.section-head {display:grid}.section-head h2,.tools h2 {font-size:20px}.profile-fields,.filters {grid-template-columns:1fr}.profile-foot {flex-direction:column;align-items:stretch}.cards {gap:12px;margin-top:14px}.card {padding:16px}.card h3 {font-size:18px}.tool-buttons {width:100%}.tool-buttons > * {flex:1}h1 {font-size:36px}}
