:root{color-scheme:light;font-family:Pretendard,Apple SD Gothic Neo,Noto Sans KR,sans-serif;line-height:1.5;font-weight:400;color:#1a1a1a;background:#f3f1ec;--ink: #1a1a1a;--muted: #6b6560;--line: #d9d4cc;--panel: #fffdf9;--bg: #f3f1ec;--accent: #1f4d3a;--accent-soft: #e8efe9;--danger: #9b2c2c;--danger-soft: #f8eaea}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}#root{min-height:100vh}.page header h2{margin:0 0 8px;font-size:1.55rem;font-weight:700}.page header p{margin:0 0 24px;color:var(--muted);font-size:.92rem}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px;margin-bottom:14px}.panel h3{margin:0 0 14px;font-size:1rem;font-weight:600}.error{margin:0 0 12px;color:var(--danger);font-size:.9rem}.msg{margin:0 0 12px;font-size:.88rem;color:var(--muted)}.muted{color:var(--muted);margin:0}.empty{border:1px dashed var(--line);border-radius:12px;padding:28px;background:var(--panel);color:var(--muted);text-align:center}.form-grid{display:grid;grid-template-columns:1fr 100px 1fr 1fr auto;gap:8px}.form-grid input,.form-grid select,.inline-edit input,.modal input{border:1px solid var(--line);border-radius:8px;padding:9px 11px;background:#fff;color:var(--ink)}.btn{border:none;border-radius:8px;padding:8px 12px;background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap}.btn:disabled{opacity:.45;cursor:default}.btn-ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn-ghost:hover{background:var(--accent-soft)}.btn-danger{background:#fff;color:var(--danger);border:1px solid #e2bdbd}.btn-danger:hover{background:var(--danger-soft)}.btn-sm{padding:6px 10px;font-size:.85rem}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.stat-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px}.stat-card h3{margin:0;font-size:.88rem;color:var(--muted);font-weight:600}.stat-card .value{margin:10px 0 0;font-size:1.9rem;font-weight:700}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--line);padding:12px 10px;font-size:.9rem;vertical-align:middle}.data-table th{color:var(--muted);font-weight:600;font-size:.82rem}.row-actions{display:flex;flex-wrap:wrap;gap:6px}.inline-edit{display:flex;gap:6px;align-items:center}.tabs{display:flex;gap:8px;margin-bottom:14px}.tabs button{border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:8px 14px;cursor:pointer;color:var(--muted)}.tabs button.active{background:var(--accent);border-color:var(--accent);color:#fff}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a1a1a59;display:grid;place-items:center;padding:20px;z-index:50}.modal{width:min(420px,100%);background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px;display:grid;gap:12px;max-height:min(90vh,900px);overflow:auto}.modal h3{margin:0;font-size:1.1rem}.modal p{margin:0;color:var(--muted);font-size:.9rem}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}@media(max-width:900px){.form-grid{grid-template-columns:1fr}.inline-edit{flex-direction:column;align-items:stretch}}
