@import"https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700&family=Noto+Serif+KR:wght@600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--navy: #0D1B2A;--navy2: #1B2E42;--blue: #1A5F9E;--sky: #3B82C4;--accent: #E8A020;--green: #2D8A5E;--red: #C04040;--purple: #6030B0;--teal: #1A8080;--bg: #F0F3F7;--surface: #FFFFFF;--border: #D4DBE8;--text: #1A2332;--muted: #64748B;--sidebar-w: 220px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Noto Sans KR,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#c0c8d8;border-radius:3px}.mono{font-family:JetBrains Mono,monospace}.serif{font-family:"Noto Serif KR",serif}.text-muted{color:var(--muted)}.text-blue{color:var(--blue)}.text-green{color:var(--green)}.text-red{color:var(--red)}.text-accent{color:var(--accent)}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;white-space:nowrap}.badge-blue{background:#ebf3ff;color:var(--blue)}.badge-green{background:#e4f5ee;color:var(--green)}.badge-orange{background:#fff4e0;color:#b87010}.badge-red{background:#fdeaea;color:var(--red)}.badge-purple{background:#f0eaff;color:var(--purple)}.badge-gray{background:#f0f3f7;color:var(--muted)}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:6px;border:none;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap;font-family:Noto Sans KR,sans-serif}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover:not(:disabled){background:var(--navy2)}.btn-blue{background:var(--blue);color:#fff}.btn-blue:hover:not(:disabled){background:var(--sky)}.btn-green{background:var(--green);color:#fff}.btn-green:hover:not(:disabled){background:#3aaa74}.btn-ghost{background:var(--surface);color:var(--text);border:1.5px solid var(--border)}.btn-ghost:hover:not(:disabled){background:var(--bg)}.btn-danger{background:var(--red);color:#fff}.btn-sm{padding:5px 11px;font-size:12px}.btn-lg{padding:11px 22px;font-size:14px}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px;box-shadow:0 1px 4px #0000000d}.card-title{font-size:13px;font-weight:700;color:var(--muted);letter-spacing:.05em;text-transform:uppercase;margin-bottom:8px}.table-wrap{overflow-x:auto;border-radius:8px;border:1px solid var(--border)}table{width:100%;border-collapse:collapse;font-size:13px;background:var(--surface)}thead th{background:var(--navy);color:#ffffffd9;padding:10px 12px;text-align:left;font-size:11px;font-weight:500;white-space:nowrap}tbody td{padding:9px 12px;border-bottom:1px solid var(--border);vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:#f7f9fc}.form-group{margin-bottom:16px}.form-label{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:5px}.form-input{width:100%;padding:8px 12px;border:1.5px solid var(--border);border-radius:6px;font-size:13px;font-family:Noto Sans KR,sans-serif;background:var(--surface);color:var(--text);transition:border-color .15s}.form-input:focus{outline:none;border-color:var(--blue)}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.alert{padding:12px 16px;border-radius:6px;font-size:13px;display:flex;gap:10px;align-items:flex-start}.alert-info{background:#ebf3ff;border-left:4px solid var(--blue)}.alert-warn{background:#fffaef;border-left:4px solid var(--accent)}.alert-success{background:#edfaf3;border-left:4px solid var(--green)}.alert-error{background:#fdeaea;border-left:4px solid var(--red)}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:20px;height:20px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--blue);animation:spin .7s linear infinite;display:inline-block}.page-wrap{padding:28px 32px;max-width:1300px}.page-header{margin-bottom:24px}.page-title{font-family:"Noto Serif KR",serif;font-size:20px;font-weight:700;color:var(--navy)}.page-subtitle{font-size:13px;color:var(--muted);margin-top:3px}
