html{background:#f6f5f2}body{min-width:320px;margin:0}#root{min-height:100vh}:root{--bg:#f6f5f2;--surface:#fff;--surface-muted:#eeebe5;--text:#1f2328;--muted:#6b7280;--line:#d9d6cf;--primary:#145c4a;--primary-hover:#0f493b;--accent:#d9893d;--danger:#b42318;--success:#1f7a4d;--info:#2563a8;--radius:8px}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:Pretendard,Noto Sans KR,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:var(--primary);align-items:center;gap:4px;display:inline-flex}.app-shell{min-height:100vh}.toast{z-index:50;color:#fff;background:#1f2328;border-radius:8px;padding:12px 16px;position:fixed;top:18px;right:18px;box-shadow:0 12px 35px #1f23282e}.auth-page{background:linear-gradient(135deg, #145c4a14, transparent 35%), var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;width:min(100%,430px);padding:32px}.brand-mark,.sidebar-brand{color:var(--primary);align-items:center;gap:10px;font-weight:800;display:flex}.auth-panel h1{margin:22px 0 10px;font-size:30px;line-height:1.15}.auth-panel p{color:var(--muted);margin:0 0 24px}.auth-form,.form-page,.form-section,.participant-stack,.stack{gap:16px;display:grid}label{color:#343a40;gap:7px;font-size:14px;font-weight:700;display:grid}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--text);background:#fff;border-radius:6px;outline:none;padding:10px 12px}textarea{resize:vertical;min-height:96px}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #145c4a1f}.primary-button,.ghost-button,.text-button,.danger-button,.row-actions button,.toolbar button,.user-chip button{border:1px solid var(--line);color:var(--text);background:#fff;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:10px 14px;text-decoration:none;display:inline-flex}.primary-button{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:800}.primary-button:hover{background:var(--primary-hover)}.primary-button.compact,.toolbar button,.row-actions button{padding:8px 10px;font-size:13px}.ghost-button{background:0 0}.text-button{color:var(--primary);background:0 0;border:0;margin-top:12px;padding-left:0}.danger-button{background:var(--danger);color:#fff;border-color:var(--danger)}.form-error,.warning-box,.reject-box{color:var(--danger);background:#fff1f0;border:1px solid #f2b8b5;border-radius:6px;padding:11px 12px}.warning-box{align-items:center;gap:8px;display:flex}.demo-accounts{background:var(--surface-muted);color:var(--muted);border-radius:6px;gap:5px;margin-top:20px;padding:12px;font-size:13px;display:grid}.admin-layout{grid-template-columns:220px 1fr;min-height:100vh;display:grid}.admin-sidebar{color:#fff;background:#12231f;padding:18px 14px}.admin-sidebar .sidebar-brand{color:#fff;margin-bottom:30px}.admin-sidebar nav{gap:8px;display:grid}.admin-sidebar button{color:#d6ddd9;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;width:100%;padding:11px 12px;display:flex}.admin-sidebar button svg{width:18px}.admin-sidebar button.active,.admin-sidebar button:hover{color:#fff;background:#203b34}.admin-main{min-width:0;padding:18px}.topbar,.participant-header{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.topbar h1,.participant-header h1{margin:3px 0 0;font-size:26px}.eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:0;font-size:12px;font-weight:800}.user-chip{background:var(--surface);border:1px solid var(--line);border-radius:999px;align-items:center;gap:10px;padding:6px 6px 6px 12px;font-size:14px;display:flex}.metric-grid{grid-template-columns:repeat(6,minmax(120px,1fr));gap:12px;display:grid}.metric{background:var(--surface);border:1px solid var(--line);border-radius:8px;gap:8px;min-height:96px;padding:14px;display:grid}.metric svg{color:var(--primary)}.metric small{color:var(--muted);font-weight:700}.metric strong{font-size:24px}.metric.warn svg,.metric.warn strong{color:var(--accent)}.metric.success svg,.metric.success strong{color:var(--success)}.split-grid{grid-template-columns:1.4fr .8fr;gap:16px;display:grid}.panel,.form-section{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:16px}.panel-header,.panel-header.standalone{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.panel-header h2,.form-section h2{margin:0;font-size:18px}.panel-header p{color:var(--muted);margin:4px 0 0}.toolbar{background:var(--surface);border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:12px;display:flex}.toolbar-summary{color:var(--muted);font-size:13px;font-weight:700}.search-field{border:1px solid var(--line);background:#fff;border-radius:6px;align-items:center;gap:8px;min-width:240px;padding:0 10px;display:flex}.search-field input{box-shadow:none;border:0;padding-left:0}.table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:8px;width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:12px}.checkbox-cell{text-align:center;width:38px}.checkbox-cell input{width:16px;height:16px}th{color:var(--muted);background:#faf9f6;font-size:12px}td pre{max-width:240px;max-height:90px;margin:0;font-size:11px;overflow:auto}.subtext{color:var(--muted);margin-top:4px;font-size:12px;display:block}.row-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.status-badge{color:#4b5563;white-space:nowrap;background:#eceff3;border-radius:999px;align-items:center;min-height:24px;padding:3px 8px;font-size:12px;font-weight:800;display:inline-flex}.platform-badge{color:#3f4d43;white-space:nowrap;background:#eef0ea;border-radius:6px;align-items:center;min-height:24px;padding:3px 8px;font-size:12px;font-weight:800;display:inline-flex}.platform-badge.youtube{color:#b42318;background:#fff0f0}.platform-badge.tiktok{color:#175cd3;background:#eff8ff}.status-badge.recruiting,.status-badge.pending,.status-badge.invoiced{color:var(--info);background:#eaf2ff}.status-badge.active,.status-badge.confirmed,.status-badge.approved,.status-badge.success,.status-badge.paid{color:var(--success);background:#eaf7ef}.status-badge.rejected,.status-badge.failed,.status-badge.canceled{color:var(--danger);background:#fff1f0}.status-badge.planned{color:#a85f15;background:#fff5e8}.billing-summary{gap:10px;display:grid}.billing-summary div,.challenge-row-list button{justify-content:space-between;align-items:center;gap:10px;display:flex}.challenge-row-list{gap:8px;display:grid}.challenge-row-list button{border:1px solid var(--line);background:#fff;border-radius:6px;padding:12px}.form-page{max-width:980px}.compact-form{max-width:none}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-helper-actions{justify-content:flex-end;margin-top:-4px;display:flex}.form-helper-actions button{border:1px solid var(--line);background:#fff;border-radius:6px;padding:8px 12px;font-weight:700}.participant-layout{max-width:760px;margin:0 auto;padding:18px}.participant-header{margin-bottom:14px}.participant-tabs{z-index:5;background:var(--bg);grid-template-columns:repeat(3,1fr);gap:6px;padding:8px 0 14px;display:grid;position:sticky;top:0}.participant-tabs button{border:1px solid var(--line);background:#fff;border-radius:6px;padding:10px;font-weight:800}.participant-tabs button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.challenge-card,.submission-card,.submit-card,.detail-page{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:18px}.challenge-card h2,.detail-page h2,.submit-card h2{margin:12px 0 8px;font-size:22px}.challenge-card p,.detail-page p,.submission-card p{color:var(--muted);line-height:1.55}.image-preview{border:1px solid var(--line);background:#faf9f6;border-radius:8px;grid-template-columns:96px 1fr;align-items:center;gap:12px;padding:10px;display:grid}.image-preview img,.proof-thumb,.submission-image{object-fit:cover;border:1px solid var(--line);background:#fff;border-radius:6px;width:100%}.image-preview img{height:72px}.proof-thumb{width:72px;height:54px;margin-top:8px;display:block}.submission-image{object-fit:contain;max-height:260px;margin:10px 0}.card-top,.card-actions{justify-content:space-between;align-items:center;gap:8px;display:flex}.mini-grid,.detail-metrics{gap:8px;margin:14px 0;display:grid}.detail-metrics{grid-template-columns:repeat(3,1fr)}.sticky-cta{width:100%;margin-top:16px}.progress-block{gap:8px;margin:14px 0;display:grid}.progress-label{justify-content:space-between;font-size:13px;display:flex}.progress{background:#e6e2da;border-radius:999px;height:8px;overflow:hidden}.progress span{background:var(--primary);height:100%;display:block}.empty-state{color:var(--muted);background:var(--surface);border:1px dashed var(--line);border-radius:8px;place-items:center;gap:10px;padding:34px;display:grid}.modal-backdrop{z-index:40;background:#00000052;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:8px;gap:14px;width:min(100%,460px);padding:20px;display:grid}.modal h2,.modal p{margin:0}.modal-actions{justify-content:flex-end;gap:8px;display:flex}code{font-family:Roboto Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}@media (width<=1180px){.metric-grid{grid-template-columns:repeat(3,1fr)}.split-grid{grid-template-columns:1fr}}@media (width<=820px){.admin-layout{grid-template-columns:1fr}.admin-sidebar{z-index:10;padding:12px;position:sticky;top:0}.admin-sidebar nav{grid-template-columns:repeat(4,1fr)}.admin-sidebar button{justify-content:center;font-size:12px}.admin-sidebar button span{display:none}.sidebar-brand{margin-bottom:10px!important}.topbar,.participant-header{align-items:flex-start;gap:12px}.metric-grid,.detail-metrics,.form-grid{grid-template-columns:1fr}}@media (width<=560px){.participant-layout,.admin-main{padding:14px}.auth-panel{padding:22px}.participant-header,.card-actions{display:grid}}
