:root{color-scheme:light;--bg:#f4f1e8;--panel:#fffdf8;--panel-strong:#f8f4ea;--text:#1f2722;--muted:#66756b;--line:#d9d1c1;--accent:#0d6b50;--accent-soft:#dff0e7;--danger:#b43f3f;--shadow:0 18px 40px rgba(31,39,34,0.08)}*{box-sizing:border-box}body,html{margin:0;padding:0;background:radial-gradient(circle at top left,rgba(13,107,80,.12),transparent 28%),linear-gradient(180deg,#f7f4ec,#efeadf);color:var(--text);font-family:Pretendard Variable,Noto Sans KR,sans-serif}body{min-height:100vh}a{color:inherit}button,input,select,textarea{font:inherit}.page{max-width:1280px;margin:0 auto;padding:40px 20px 80px}.hero{display:grid;grid-template-columns:1.4fr 1fr;grid-gap:24px;gap:24px;align-items:stretch;margin-bottom:24px}.hero-card,.panel{background:rgba(255,253,248,.92);border:1px solid rgba(217,209,193,.9);border-radius:24px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hero-card{padding:28px}.hero-title{margin:0;font-size:clamp(2rem,4vw,3.3rem);line-height:1.04;letter-spacing:-.04em}.hero-copy{margin:16px 0 0;max-width:48rem;color:var(--muted);font-size:1rem;line-height:1.6}.hero-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:var(--panel-strong);border:1px solid var(--line);color:var(--muted);font-size:.9rem}.status-card{padding:24px;display:flex;flex-direction:column;justify-content:space-between}.panel h2,.status-card h2{margin:0;font-size:1rem}.status-card strong{display:block;margin-top:12px;font-size:2.5rem;letter-spacing:-.04em}.caption,.empty,.helper,.panel-head p,.status-card p{color:var(--muted)}.grid{grid-template-columns:1.2fr 1fr;align-items:start}.grid,.stack{display:grid;grid-gap:24px;gap:24px}.panel{padding:22px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.panel-head p{margin:6px 0 0;font-size:.95rem}.auth-box{max-width:480px;margin:40px auto 0}.form-grid{display:grid;grid-gap:14px;gap:14px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field{display:grid;grid-gap:8px;gap:8px}.field label{font-size:.9rem;color:var(--muted)}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px 14px;color:var(--text)}.field textarea{resize:vertical;min-height:96px}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid rgba(13,107,80,.12);border-color:var(--accent)}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}.button{border:0;border-radius:14px;padding:12px 16px;cursor:pointer;transition:transform .12s ease,opacity .12s ease}.button:hover{transform:translateY(-1px)}.button:disabled{cursor:wait;opacity:.7;transform:none}.button.primary{background:var(--accent);color:#fff}.button.secondary{background:#fff;color:var(--text);border:1px solid var(--line)}.button.ghost{background:transparent;color:var(--muted);border:1px dashed var(--line)}.message{margin-top:12px;padding:12px 14px;border-radius:14px;background:var(--panel-strong);color:var(--muted)}.message.error{background:rgba(180,63,63,.1);color:var(--danger)}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px}.stat{padding:18px;border-radius:18px;background:var(--panel-strong);border:1px solid var(--line)}.stat strong{display:block;margin-top:10px;font-size:2rem;letter-spacing:-.04em}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:14px 10px;border-bottom:1px solid rgba(217,209,193,.8);vertical-align:top}th{color:var(--muted);font-size:.88rem;font-weight:600}td strong{display:block}.badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.8rem;font-weight:700}.list{display:grid;grid-gap:12px;gap:12px}.list-item{border:1px solid var(--line);border-radius:18px;padding:14px 16px;background:#fff}.list-item strong{display:block}.toolbar{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.toolbar .field{min-width:180px}@media (max-width:980px){.grid,.hero,.stats{grid-template-columns:1fr}}@media (max-width:720px){.page{padding:24px 14px 64px}.hero-card,.panel,.status-card{border-radius:20px}.form-grid.two{grid-template-columns:1fr}td,th{padding:12px 8px;font-size:.92rem}}