*{box-sizing:border-box}
:root{
  --bg:#fff9f2; --card:#fff; --text:#3f3a36; --muted:#8b837b;
  --line:#f0e7dd; --accent:#f29b7a; --accent2:#f7c96b;
  --shadow:0 8px 24px rgba(112,82,56,.08);
}
body{margin:0;background:linear-gradient(180deg,#fff8ef 0,#fffdf9 45%,#f8fbff 100%);
font-family:-apple-system,BlinkMacSystemFont,"Noto Sans KR","Segoe UI",sans-serif;color:var(--text)}
button,input{font:inherit}.wrap{max-width:720px;margin:auto;padding:18px 14px 45px}
.hero{background:#fff;border:1px solid #f4e8dc;border-radius:28px;padding:24px 18px 18px;box-shadow:var(--shadow);text-align:center}
.logo{font-size:34px}.title{font-size:27px;font-weight:800;margin-top:5px}.subtitle{font-size:13px;color:var(--muted);margin-top:5px}
.datebar{display:flex;align-items:center;gap:8px;margin-top:18px}
.datebar button{width:44px;height:44px;border:0;border-radius:14px;background:#fff4e8;cursor:pointer}
.datebar select{flex:1;height:44px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:0 12px;text-align:center;color:var(--text)}
.todaybtn{margin-top:10px;border:0;background:#fff;border-bottom:1px dashed #d8c8bb;color:#8b6b58;padding:4px 8px;cursor:pointer}
.card{margin-top:15px;background:var(--card);border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:var(--shadow)}
.card-head{display:flex;align-items:center;gap:9px;margin-bottom:10px}
.card-icon{font-size:24px}.card-title{font-size:20px;font-weight:800}.card-sub{font-size:12px;color:var(--muted);margin-left:auto}
.menu-item{padding:10px 3px;border-bottom:1px solid #f4eee8;font-size:16px;line-height:1.55}
.menu-item:last-child{border-bottom:0}
.subhead{margin:15px 0 5px;padding:8px 10px;border-radius:12px;background:#fff7ee;color:#7b6556;font-weight:800;font-size:14px}
.notice{font-size:12px;color:var(--muted);line-height:1.65;padding:16px 4px}
.admin-wrap{max-width:760px;margin:auto;padding:18px 14px 50px}.admin-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:var(--shadow);margin-top:14px}
h1,h2{margin:0}.admin-title{font-size:25px}.small{font-size:13px;color:var(--muted);line-height:1.6}
input[type=file]{width:100%;padding:13px;border:1px dashed #d8c8bb;border-radius:14px;background:#fffaf5}
.action{margin-top:12px;width:100%;padding:13px;border:0;border-radius:14px;background:#f29b7a;color:#fff;font-weight:800;cursor:pointer}
.action.secondary{background:#f3eee9;color:#5f554d}.action:disabled{opacity:.5;cursor:not-allowed}
.status{margin-top:12px;padding:12px;border-radius:12px;background:#f8f5f2;white-space:pre-wrap;font-size:13px}
.preview{margin-top:14px;overflow:auto;border:1px solid var(--line);border-radius:14px}.preview table{width:100%;border-collapse:collapse;font-size:13px}.preview th,.preview td{padding:8px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
.hidden{display:none}
