@import "https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:oklch(97% .014 254.604);--surface:#fff;--border:#e5e5e0;--text-primary:#1a1a1a;--text-secondary:#666;--red:#ef4444;--red-light:#fee2e2;--green:#22c55e;--blue:#3b82f6;--blue-light:#eff6ff;--orange:#f97316;--tag-bg:#f3f4f6;--radius:10px;--shadow:0 1px 3px #00000014}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg);color:var(--text-primary);font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,Roboto,Helvetica Neue,Segoe UI,Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,sans-serif;font-size:14px;line-height:1.6}a{color:inherit;text-decoration:none}.page-wrapper{flex-direction:column;min-height:100vh;display:flex}.top-bar{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:14px 24px;display:flex}.top-bar-left h2{font-size:16px;font-weight:600}.top-bar-left p{color:var(--text-secondary);font-size:14px}.top-bar-right{align-items:center;gap:8px;display:flex}.page-body{flex:1;gap:20px;padding:20px 24px;display:grid}.two-col{grid-template-columns:1fr 1fr;gap:20px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.card-title{color:var(--text-primary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:14px;font-size:16px;font-weight:600}input.placeholder::placeholder{font-size:14px}.btn{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:600;transition:opacity .15s;display:inline-flex}.btn:hover{opacity:.85}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{color:#fff;background:#053d86}.btn-danger{background:var(--red);color:#fff}.btn-ghost{background:var(--tag-bg);color:var(--text-primary)}.btn-outline{color:var(--text-primary);border:1px solid var(--border);background:0 0}.badge{border-radius:20px;align-items:center;gap:5px;padding:3px 10px;font-size:14px;font-weight:600;display:inline-flex}.badge-gray{background:var(--tag-bg);color:var(--text-secondary)}.badge-red{background:var(--red-light);color:var(--red)}.badge-orange{color:#c2410c;background:#ffedd5}.badge-green{color:#16a34a;background:#dcfce7}.badge-blue{color:#193cb8;background:#bedbff}.dot{border-radius:50%;width:8px;height:8px;display:inline-block}.dot-green{background:var(--green)}.dot-red{background:var(--red)}.dot-orange{background:var(--orange)}.dot-gray{background:#9ca3af}.score-bar-wrap{margin-bottom:14px}.score-bar-header{justify-content:space-between;margin-bottom:6px;font-size:16px;display:flex}.score-bar-header .score-val{font-weight:600}.score-bar-track{background:#f0f0ec;border-radius:4px;height:6px;overflow:hidden}.score-bar-fill{border-radius:4px;height:100%;transition:width .5s}.score-bar-fill.danger{background:var(--red)}.score-bar-fill.normal{background:var(--blue)}.score-bar-sub{color:var(--text-secondary);justify-content:space-between;margin-top:5px;font-size:14px;display:flex}.emotion-row{border-bottom:1px solid var(--border);justify-content:space-between;padding:12px 0;font-size:14px;display:flex}.emotion-row:last-child{border-bottom:none}.emotion-val{font-weight:500}.alert-card{background:#fffaf7;border:1px solid #fecaca;border-radius:8px;margin-bottom:20px;padding:12px 14px}.alert-card-title{color:var(--red);margin-bottom:4px;font-size:14px;font-weight:600}.alert-card-meta{color:var(--text-secondary);font-size:14px}.alert-card-meta strong{color:var(--text-primary)}.webcam-box{aspect-ratio:4/3;background:#f3f4f6;border-radius:8px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.webcam-box video,.webcam-box canvas{object-fit:cover;border-radius:8px;width:100%;height:100%}.webcam-placeholder{color:var(--text-secondary);flex-direction:column;align-items:center;gap:8px;font-size:16px;display:flex}.webcam-icon{border:2px solid #d1d5db;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;font-size:30px;display:flex}.webcam-col{grid-template-columns:2fr 3fr;align-items:start;gap:20px;display:grid}.mic-status{align-items:center;gap:8px;margin-bottom:12px;font-size:13px;font-weight:500;display:flex}.transcript-box{border:1px solid var(--border);background:#f9f9f7;border-radius:8px;min-height:60px;margin-bottom:8px;padding:12px 14px;font-size:13px;font-style:italic}.transcript-meta{color:var(--text-secondary);font-size:11px}.stats-row{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.stat-box{text-align:center;background:var(--tag-bg);border-radius:8px;padding:16px}.stat-box .stat-val{font-size:28px;font-weight:700;line-height:1.5}.stat-box .stat-val.red{color:var(--red)}.stat-box .stat-val.blue{color:var(--blue)}.stat-box .stat-label{color:var(--text-secondary);margin-top:2px;font-size:14px}.tab-group{gap:6px;display:flex}.tab-btn{cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);border-radius:8px;padding:8px 14px;font-size:13px;font-weight:500;transition:all .15s}.tab-btn.active{color:#fff;border-color:var(--text-primary);background:#053d86}.dashboard-layout{flex:1;grid-template-columns:240px minmax(0,1fr);gap:16px;padding:20px 24px;display:grid}.dashboard-layout.sidebar-collapsed{grid-template-columns:minmax(0,1fr)}.dashboard-sidebar{align-self:start}.dashboard-sidebar-card{position:sticky;top:20px}.dashboard-sidebar-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px;display:flex}.dashboard-main{flex-direction:column;gap:16px;min-width:0;display:flex}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center;padding:16px}.kpi-card .kpi-val{font-size:28px;font-weight:700;line-height:1.2}.kpi-card .kpi-val.red{color:var(--red)}.kpi-card .kpi-label{color:var(--text-secondary);margin-top:4px;font-size:14px}.data-table{border-collapse:collapse;width:100%;font-size:14px}.data-table th{text-align:left;color:var(--text-secondary);border-bottom:1px solid var(--border);background:#fafafa;padding:8px 12px;font-size:14px;font-weight:600}.data-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:10px 12px}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:#fafaf8}.tag{background:var(--tag-bg);color:var(--text-primary);border-radius:20px;align-items:center;margin:2px;padding:3px 10px;font-size:14px;display:inline-flex}.section-divider{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.section-divider h3{font-size:16px;font-weight:600}.text-red{color:var(--red)}.text-muted{color:var(--text-secondary)}.text-sm{font-size:14px}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.nav-bar{background:var(--surface);border-bottom:1px solid var(--border);gap:4px;padding:0 24px;font-size:13px;display:flex}.nav-bar a{color:var(--text-secondary);border-bottom:2px solid #0000;padding:10px 14px;font-weight:500;transition:all .15s}.nav-bar a:hover{color:var(--text-primary)}.nav-bar a.active{color:var(--text-primary);border-bottom-color:var(--text-primary)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}@media (width<=768px){.two-col{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-layout,.dashboard-layout.sidebar-collapsed{grid-template-columns:1fr;padding:20px 24px}.dashboard-sidebar-card{position:static}.tab-group{flex-wrap:wrap}}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-main{flex:1}.app-footer{--footer-bg-base:#dde3e8;--footer-bg-top:#f4f6f8e6;--footer-bg-bottom:#e0e5eaf5;--footer-highlight:#ffffff80;--footer-border:#c8d0d7;--footer-text-primary:#2f3b46;--footer-text-secondary:#5f6b78;--footer-text-strong:#24313b;--footer-github-bg:#fff9;--footer-github-border:#a8b3bed9;--footer-github-text:#31404d;--footer-github-hover:#566473;color:#4f5b68;border-top:1px solid var(--footer-border);background:linear-gradient(180deg, var(--footer-bg-top), var(--footer-bg-bottom)), linear-gradient(135deg, #ffffff38, #c9d0d829), var(--footer-bg-base);margin-top:32px;position:relative;overflow:hidden}.app-footer:before{content:"";pointer-events:none;background:radial-gradient(circle, var(--footer-highlight), transparent 68%);border-radius:50%;width:360px;height:360px;position:absolute;inset:auto -10% 55% auto}.app-footer-inner{justify-content:space-between;align-items:center;gap:24px;width:min(1120px,100% - 32px);margin:0 auto;padding:22px 0 24px;display:flex;position:relative}.app-footer-title{max-width:620px;color:var(--footer-text-primary);text-align:left;text-shadow:0 1px #ffffff59;flex:1;margin:0;font-size:14px;font-weight:700;line-height:1.7}.app-footer-members{flex-direction:column;justify-content:flex-start;align-items:flex-end;gap:10px;display:flex}.app-footer-member{align-items:center;gap:10px;display:inline-flex}.app-footer-name{color:var(--footer-text-strong);font-size:14px;font-weight:700}.app-footer-email{color:var(--footer-text-secondary);font-size:13px;transition:color .2s}.app-footer-email:hover{color:var(--footer-github-text)}.app-footer-github{background:var(--footer-github-bg);border:1px solid var(--footer-github-border);width:30px;height:30px;color:var(--footer-github-text);border-radius:999px;justify-content:center;align-items:center;font-size:16px;transition:transform .18s,background-color .18s,color .18s,border-color .18s;display:inline-flex;box-shadow:inset 0 1px #fff6}.app-footer-github:hover{background:var(--footer-github-hover);border-color:var(--footer-github-hover);color:#fff;transform:translateY(-1px)}@media (width<=640px){.app-footer{margin-top:20px}.app-footer-inner{flex-direction:column;align-items:center;gap:14px;width:min(100% - 24px,1120px);padding:22px 0 24px}.app-footer-title{text-align:center}.app-footer-members{justify-content:center;align-items:center}.app-footer-member{flex-wrap:wrap;justify-content:center;gap:8px}}
