*{box-sizing:border-box}body{margin:0;font-family:Pretendard,Apple SD Gothic Neo,system-ui,sans-serif;background:#f4f5f7;color:#1a1d21}.sample-banner{background:#fff3cd;color:#664d03;padding:8px 16px;font-size:14px;display:flex;gap:12px;align-items:center;border-bottom:1px solid #e5d08a}.sample-banner a{color:#664d03}.page{max-width:860px;margin:0 auto;padding:24px 16px}h1{font-size:22px}.sub,.muted{color:#6b7280}.role-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:16px}.role-card{display:flex;flex-direction:column;gap:6px;padding:20px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;text-decoration:none;color:inherit}.role-card:hover{border-color:#2563eb}.role-card span{font-size:13px;color:#6b7280}.mode-tabs{display:flex;gap:8px;margin:16px 0}.mode-tabs button{padding:10px 18px;border:1px solid #d1d5db;background:#fff;border-radius:8px;cursor:pointer;font-size:15px}.mode-tabs button.active{background:#2563eb;color:#fff;border-color:#2563eb}.scan-widget{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px}.scan-manual{display:flex;gap:8px}.scan-manual input{flex:1;padding:10px;border:1px solid #d1d5db;border-radius:8px;font-size:14px}button{padding:10px 16px;border:1px solid #d1d5db;background:#fff;border-radius:8px;cursor:pointer}button[type=submit],.scan-manual button{background:#2563eb;color:#fff;border-color:#2563eb}.camera-toggle{margin-top:10px}.qr-reader{margin-top:12px;max-width:320px}.error{color:#b91c1c;background:#fef2f2;padding:10px 14px;border-radius:8px}.ok{color:#166534;background:#f0fdf4;padding:10px 14px;border-radius:8px}.result-card{margin-top:16px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:6px}.badge-late{background:#fee2e2;color:#b91c1c;padding:2px 8px;border-radius:999px;font-size:12px}.row-actions{display:flex;gap:8px;margin-top:8px}.stat-row{display:flex;gap:12px;margin:16px 0}.stat{flex:1;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px;text-align:center}.stat b{display:block;font-size:28px}.stat span{color:#6b7280;font-size:13px}.data-table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden}.data-table th,.data-table td{padding:10px 12px;border-bottom:1px solid #f3f4f6;text-align:left;font-size:14px}.data-table th{background:#f9fafb}.modal{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center}.modal-box{background:#fff;border-radius:12px;padding:24px;width:360px;display:flex;flex-direction:column;gap:12px}.modal-box label{display:flex;flex-direction:column;gap:4px;font-size:14px}.modal-box input{padding:8px;border:1px solid #d1d5db;border-radius:6px}.modal-actions{display:flex;gap:8px;justify-content:flex-end}.monitor{min-height:100vh;background:#0f172a;color:#fff;padding:32px}.monitor h1{font-size:34px}.monitor-empty{color:#94a3b8;font-size:20px}.monitor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;margin-top:24px}.call-card{background:#1e293b;border-radius:16px;padding:28px;border-left:8px solid #64748b}.call-card[data-status=calling]{border-left-color:#f59e0b}.call-card[data-status=answered]{border-left-color:#22c55e}.call-card[data-status=consulting]{border-left-color:#3b82f6}.call-status{font-size:30px;font-weight:800;margin-bottom:16px}.call-names{display:flex;gap:32px}.call-names small{display:block;color:#94a3b8;font-size:14px}.call-names b{font-size:26px}.call-slot{margin-top:14px;color:#fbbf24;font-size:18px;font-weight:700}.field{display:flex;flex-direction:column;gap:6px;margin:12px 0;font-size:14px}.field select,.draft-form input,.draft-form textarea{padding:10px;border:1px solid #d1d5db;border-radius:8px;font-size:14px}.draft-form{display:flex;flex-direction:column;gap:12px;margin-top:16px;background:#fff;padding:20px;border-radius:10px;border:1px solid #e5e7eb}.draft-form label{display:flex;flex-direction:column;gap:4px;font-size:14px}.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-top:16px}.badge-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.badge-card code{font-size:10px;color:#6b7280;word-break:break-all}@media print{.sample-banner,button{display:none}.badge-card{break-inside:avoid}}
