/* ============================================================
   사심팔체 — 계정/사이트 공통 스타일
   앱(app/index.html)의 디자인 토큰에 맞춰 통일 (세이지 그린·따뜻한 배경·Pretendard)
   ============================================================ */
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.css");

:root{
  --cream:#FCFBF8; --card:#FFFFFF; --ink:#23201B; --ink2:#6F6A60; --ink3:#9A958A;
  --line:#EFEBE2; --sage:#7E8C66; --sage-d:#5F6C4B; --sage-soft:#EAEEE0;
  --terra:#C2764A; --terra-soft:#F6E7D9; --gold:#C9A24B; --gold-soft:#F4E9C9;
  --blue:#356a9c;
  --shadow:0 8px 26px rgba(40,34,24,.06); --shadow-card:0 4px 18px rgba(40,34,24,.05);
  --radius:18px; --radius-sm:12px;
  --bg:#ECEAE3; --muted:var(--ink2);
  --font:'Pretendard Variable',Pretendard,-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Noto Sans KR',sans-serif;
}
*{box-sizing:border-box; -webkit-tap-highlight-color:transparent;}
body{margin:0; background:var(--bg); color:var(--ink); font-family:var(--font); line-height:1.6; letter-spacing:-.01em; -webkit-font-smoothing:antialiased;}
a{color:inherit;}

/* 상단바 */
.nav{display:flex; align-items:center; justify-content:space-between; padding:15px 20px; background:rgba(255,255,255,.92); backdrop-filter:blur(8px); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:50;}
.nav .brand{font-weight:800; display:flex; align-items:center; gap:9px; text-decoration:none; letter-spacing:-.02em;}
.nav .brand .dot{width:26px; height:26px; border-radius:9px; background:linear-gradient(135deg,#8aa06f,#5f6c4b); display:inline-block;}
.nav a.link{margin-left:16px; text-decoration:none; color:var(--ink3); font-size:14px; font-weight:600;}
.nav a.link.active,.nav a.link:hover{color:var(--ink);}

/* 공통 카드/폼 */
.wrap{max-width:840px; margin:0 auto; padding:30px 18px 90px;}
.card{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:22px; margin-bottom:16px; box-shadow:var(--shadow-card);}
.field{margin-bottom:15px;}
.field label{display:block; font-size:12.5px; color:var(--ink2); margin-bottom:7px; font-weight:600;}
.field input,.field textarea,.field select{width:100%; padding:12px 13px; border:1px solid var(--line); border-radius:var(--radius-sm); font-size:15px; font-family:inherit; background:#fff; color:var(--ink); transition:border-color .15s, box-shadow .15s;}
.field input:focus,.field textarea:focus,.field select:focus{outline:none; border-color:var(--sage); box-shadow:0 0 0 3px rgba(126,140,102,.15);}
.btn{display:inline-flex; align-items:center; gap:6px; justify-content:center; padding:13px 20px; border:none; border-radius:var(--radius-sm); background:var(--sage-d); color:#fff; font-weight:800; font-size:15px; cursor:pointer; text-decoration:none; font-family:inherit; transition:transform .08s, filter .15s;}
.btn:hover{filter:brightness(1.05);}
.btn:active{transform:scale(.98);}
.btn.outline{background:#fff; color:var(--sage-d); border:1.5px solid var(--sage);}
.btn.block{width:100%;}
.msg{font-size:13px; margin-top:10px;}
.msg.err{color:var(--terra);}
.msg.ok{color:var(--sage-d);}

/* 페이지 제목 */
h1{letter-spacing:-.02em;}

/* 게시판/표 (문의·관리자) */
table.board{width:100%; border-collapse:collapse; background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-card);}
table.board th,table.board td{padding:13px 12px; border-bottom:1px solid var(--line); font-size:14px; text-align:left;}
table.board th{background:#FAF8F2; color:var(--ink2); font-weight:700;}
.badge{display:inline-block; padding:3px 9px; border-radius:20px; font-size:11px; font-weight:800; color:#fff;}
.badge.notice{background:var(--blue);} .badge.event{background:var(--terra);}
.badge.edu{background:var(--gold);} .badge.free{background:var(--ink3);}
