:root{color:#14382d;--forest:#004b36;--green:#007b59;--mint:#8fd5b3;--teal:#009b96;--ink:#14382d;--paper:#fffef9;--line:#d5e2d9;--muted:#687d73;--shadow:0 18px 55px #00372717;background:#eef4ef;font-family:Inter,Pretendard,Noto Sans KR,Arial,sans-serif}*{box-sizing:border-box}html{background:#eef4ef;min-height:100%}body{background:radial-gradient(circle at 10% 0,#009b9621,#0000 32rem),linear-gradient(145deg,#f7f8f2 0%,#edf5ef 50%,#f5f6f0 100%);min-height:100vh;margin:0}a{color:inherit;text-decoration:none}.app-header{z-index:10;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffef9e6;border-bottom:1px solid #0060441f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;min-height:78px;padding:12px clamp(18px,3vw,42px);display:flex;position:sticky;top:0;box-shadow:0 8px 35px #004b3612}.brand{color:var(--forest);align-items:center;gap:16px;font-weight:850;display:flex}.brand img{width:132px;height:auto;display:block}.brand span{border-left:1px solid var(--line);white-space:nowrap;padding:8px 0 8px 16px}.nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px;display:flex}.nav a,.nav button{color:var(--muted);background:0 0;border-radius:10px;padding:9px 11px;font-size:14px;font-weight:700;transition:all .18s}.nav a:hover{color:var(--green);background:#e6f2eb;transform:translateY(-1px)}main{max-width:1240px;margin:auto;padding:44px clamp(18px,3vw,38px) 70px}.page-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:30px;display:flex}.page-heading h1{letter-spacing:-.04em;margin:6px 0 8px;font-size:clamp(34px,5vw,54px)}.eyebrow{color:var(--green);letter-spacing:.16em;margin:0;font-size:12px;font-weight:900}.status-pill{color:#18704f;white-space:nowrap;background:#effaf3;border:1px solid #b9dbc8;border-radius:999px;padding:9px 13px;font-size:13px;font-weight:800}.card{background:#fffef9f0;border:1px solid #00604421;border-radius:22px;margin-bottom:18px;padding:24px;transition:transform .18s,box-shadow .18s,border-color .18s;overflow:auto;box-shadow:0 10px 35px #173b300e}.card:hover{box-shadow:var(--shadow);border-color:#007b5947;transform:translateY(-2px)}.grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.metric-grid{margin-bottom:42px}.metric-card{align-content:center;gap:7px;min-height:168px;display:grid}.metric-card strong{letter-spacing:-.04em;color:var(--forest);font-size:42px}.metric-card small{color:var(--muted)}.section-heading{margin:10px 0 18px}.section-heading h2{margin:7px 0;font-size:26px}.action-grid{grid-template-columns:repeat(3,1fr)}.action-card{flex-direction:column;min-height:230px;display:flex;position:relative}.action-card>span{width:36px;height:36px;color:var(--green);background:#e1f3e8;border-radius:11px;place-items:center;font-weight:900;display:grid}.action-card h2{margin:24px 0 9px;font-size:21px}.action-card p{color:var(--muted);line-height:1.65}.action-card b{color:var(--green);margin-top:auto}input,select,button,textarea{font:inherit;color:var(--ink);background:#fff;border:1px solid #c5d7cc;border-radius:11px;padding:11px 13px}input:focus,select:focus,textarea:focus{border-color:var(--teal);outline:4px solid #009b9621}button{background:linear-gradient(135deg,var(--forest),#078167);color:#fff;cursor:pointer;border:0;font-weight:800}button:disabled{opacity:.55;cursor:not-allowed}.primary-action{min-height:50px;font-size:15px}table{border-collapse:collapse;background:var(--paper);width:100%}th,td{text-align:left;border-bottom:1px solid #e1e8e3;padding:13px;font-size:14px}th{color:var(--green);background:#f2f8f3}.muted{color:var(--muted)}.error{color:#b3473e;min-height:20px;font-weight:700}.filters{flex-wrap:wrap;align-items:end;gap:14px;margin:20px 0;display:flex}label{gap:7px;font-weight:750;display:grid}input[type=checkbox]{width:auto}form{margin-bottom:20px}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}h1,h2,h3{color:var(--ink)}h3,p,td{overflow-wrap:anywhere}textarea{font:inherit}iframe{background:#fff}.login-page{place-items:center;max-width:none;min-height:calc(100vh - 78px);padding:clamp(24px,6vw,76px);display:grid}.login-shell{background:#fffef9f5;border:1px solid #00604426;border-radius:32px;grid-template-columns:1.08fr .92fr;width:min(1080px,100%);display:grid;overflow:hidden;box-shadow:0 28px 90px #00372729}.login-intro{color:#fff;background:linear-gradient(145deg,#003425f0,#007051e6),url(/vita-logo.svg) 50% 88%/72% no-repeat;padding:clamp(42px,6vw,76px);position:relative;overflow:hidden}.login-intro:after{content:"";border:1px solid #8fd5b347;border-radius:50%;width:260px;height:260px;position:absolute;top:-100px;right:-90px}.login-intro .eyebrow{color:#a9e7c8}.login-intro h1{letter-spacing:-.045em;color:#fff;margin:22px 0;font-size:clamp(34px,4vw,54px);line-height:1.15}.login-intro p{color:#ffffffc7;max-width:450px;font-size:16px;line-height:1.75}.login-points{flex-wrap:wrap;gap:9px;margin-top:42px;display:flex}.login-points span{background:#ffffff14;border:1px solid #fff3;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:750}.login-card{align-self:center;padding:clamp(40px,5vw,66px)}.login-card h2{letter-spacing:-.035em;margin:10px 0;font-size:34px}.login-form{grid-template-columns:minmax(0,1fr);gap:15px;margin-top:28px;display:grid}.login-form input{min-height:48px}@media (max-width:900px){.action-grid,.login-shell{grid-template-columns:1fr}.login-intro{padding:38px}.login-intro h1{font-size:36px}.login-card{padding:38px}.nav{justify-content:flex-start}.page-heading{flex-direction:column;align-items:flex-start}}@media (max-width:720px){main{padding:24px 16px 48px}.app-header{padding:11px 16px}.brand img{width:108px}.brand span{font-size:13px}.nav{font-size:12px}.nav a,.nav button{padding:7px}.login-page{padding:18px}.login-shell{border-radius:24px}.login-intro{padding:30px 24px}.login-card{padding:32px 24px}.status-pill{align-self:flex-start}}.pagination{justify-content:center;align-items:center;gap:14px;margin:26px 0;display:flex}.pagination a,.table-action,.back-link{color:var(--green);font-weight:850}.pagination a{border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:9px 14px}.empty-state{text-align:center;color:var(--muted);padding:42px}.board-shell{padding:0;overflow-x:auto}.board-table th:first-child{width:72px}.board-table th:nth-child(2){width:110px}.board-table th:nth-child(4){width:150px}.board-table th:nth-child(5),.board-table th:nth-child(6){width:105px}.board-title{font-weight:850}.board-title span{color:var(--green)}.board-badge{color:var(--green);background:#e6f4ec;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:800;display:inline-block}.pinned-row{background:#f4faf6}.post-detail{margin-top:18px}.post-detail h1{font-size:clamp(30px,4vw,46px)}.post-body{white-space:pre-wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:24px 0;padding:28px 0;line-height:1.8}.comment-row{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.record-thumb{object-fit:cover;border-radius:10px;width:100px;height:72px;display:block}.thumb-empty{width:100px;height:72px;color:var(--muted);background:#edf3ef;border-radius:10px;place-items:center;font-size:12px;display:grid}.observation-table td{vertical-align:middle}.back-link{margin-bottom:12px;display:inline-block}@media (max-width:720px){.board-table,.observation-table{min-width:820px}.comment-row{display:block}.record-thumb,.thumb-empty{width:82px;height:62px}}.expert-review{flex-wrap:wrap;align-items:center;gap:7px;min-width:160px;display:flex}.verified-badge,.pending-badge{white-space:nowrap;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:900;display:inline-flex}.verified-badge{color:#08734e;background:#dff5e7}.pending-badge{color:#687d73;background:#f0f1ed}.small-button{padding:7px 9px;font-size:12px}.verification-panel{z-index:40;border:1px solid var(--line);background:var(--paper);border-radius:20px;gap:14px;width:min(520px,100vw - 32px);padding:26px;display:grid;position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 30px 100px #001e1452}.verification-panel:before{content:"전문가 검증";font-size:24px;font-weight:900}.verification-panel textarea{resize:vertical}.card:hover,.observation-table .card:hover,.board-table .card:hover{transform:none}.species-upload{margin-bottom:1.5rem;padding:1.25rem}.species-upload form,.species-upload label{gap:.65rem;margin:.75rem 0;display:grid}.species-upload textarea{min-height:5rem}
