:root{--gray-0:#fff;--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-500:#64748b;--gray-700:#334155;--gray-900:#0f172a;--border:var(--gray-200);--muted:var(--gray-500);--accent:#16a34a;--accent-strong:#15803d;--accent-weak:#f0fdf4;--danger:#dc2626;--danger-weak:#fef2f2;--danger-border:#fecaca;--status-screening:#1d4ed8;--status-screening-weak:#eff6ff;--status-offer:#0f766e;--status-offer-weak:#f0fdfa;--status-joined:#15803d;--status-joined-weak:#f0fdf4;--status-rejected:#475569;--status-rejected-weak:#f1f5f9;--status-withdrawn:#c2410c;--status-withdrawn-weak:#fff7ed;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--text-xs:12px;--text-sm:14px;--text-base:15px;--text-lg:20px;--text-xl:26px;--leading:1.6;--font:"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--radius:8px;--radius-sm:6px;--shadow-sm:0 1px 2px #0f172a0f,0 1px 3px #0f172a14;--sidebar-width:240px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--font);font-size:var(--text-base);line-height:var(--leading);color:var(--gray-900);background:var(--gray-50)}h1{font-size:var(--text-xl);margin:0}h1,h2{font-weight:700}h2{font-size:var(--text-lg);margin:0 0 var(--space-3)}h3{font-size:var(--text-base);margin:0 0 var(--space-2);font-weight:700}p{margin:0 0 var(--space-3)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.btn,button{font:inherit;padding:var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--gray-0);color:var(--gray-900);cursor:pointer;line-height:1.2}.btn{white-space:nowrap;display:inline-block}.btn:hover,button:hover{background:var(--gray-100)}.btn:disabled,button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-strong)}.btn-danger{color:var(--danger)}.btn-danger:hover{background:var(--danger-weak)}.btn-ghost{background:0 0}.btn-ghost:hover{background:var(--gray-100)}.btn-sm{padding:var(--space-1) var(--space-2)}.btn-sm,label{font-size:var(--text-sm)}label{margin-bottom:var(--space-3);color:var(--gray-700);font-weight:600;display:block}input,select,textarea{font:inherit;width:100%;max-width:460px;margin-top:var(--space-1);padding:var(--space-2) var(--space-3);border:1px solid var(--gray-300);border-radius:var(--radius-sm);background:var(--gray-0);color:var(--gray-900);display:block}input[type=file]{border:none;padding-left:0}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak);outline:none}fieldset{border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4);margin:0 0 var(--space-4)}legend{font-weight:700;font-size:var(--text-sm);padding:0 var(--space-2)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}td,th{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border)}th{color:var(--gray-700);white-space:nowrap;font-weight:600}tbody tr:hover,th{background:var(--gray-50)}.card{background:var(--gray-0);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5);box-shadow:var(--shadow-sm);margin-bottom:var(--space-4)}.page-header{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.muted{font-size:var(--text-sm)}.empty,.muted{color:var(--muted)}.empty{text-align:center;padding:var(--space-6)}.alert{background:var(--danger-weak);color:var(--danger);border:1px solid var(--danger-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-4);font-size:var(--text-sm)}.badge{padding:2px var(--space-2);font-size:var(--text-xs);white-space:nowrap;border-radius:999px;font-weight:600;display:inline-block}.badge-screening{background:var(--status-screening-weak);color:var(--status-screening)}.badge-offer{background:var(--status-offer-weak);color:var(--status-offer)}.badge-joined{background:var(--status-joined-weak);color:var(--status-joined)}.badge-rejected{background:var(--status-rejected-weak);color:var(--status-rejected)}.badge-withdrawn{background:var(--status-withdrawn-weak);color:var(--status-withdrawn)}
