:root{--paper:#f4f5f8;--paper-raised:#fff;--ink:#1c1e26;--ink-soft:#5b6270;--line:#e2e4ea;--line-strong:#c7cbd4;--navy:#1b2a5c;--navy-soft:#e8eaf3;--accent:#ea5455;--accent-soft:#fce6e6;--red:#a1382f;--red-soft:#f4e1de}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:var(--accent)}.topbar{display:flex;align-items:center;justify-content:space-between;padding:18px 28px;border-bottom:1px solid var(--line);flex-wrap:wrap;gap:10px;background:var(--paper-raised)}.brand{font-size:20px;font-weight:800;color:var(--navy);letter-spacing:.2px}.role-chip{font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:20px;background:var(--navy-soft);color:var(--navy);text-transform:capitalize}.tabs{display:flex;gap:4px;padding:0 28px;border-bottom:1px solid var(--line);flex-wrap:wrap;background:var(--paper-raised)}.tabs a{padding:12px 16px 11px;font-size:14px;font-weight:500;text-decoration:none;color:var(--ink-soft);border-bottom:2px solid transparent}.tabs a.active{color:var(--accent);border-bottom-color:var(--accent)}main{max-width:1100px;margin:0 auto;padding:24px 28px 60px}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:18px;flex-wrap:wrap}.toolbar input,.toolbar select{padding:8px 11px;border:1px solid var(--line);border-radius:3px;font-size:13.5px;background:var(--paper-raised)}.spacer{flex:1 1}button{font-size:13.5px;font-weight:500;padding:8px 14px;border-radius:4px;cursor:pointer;border:1px solid var(--line-strong);background:var(--paper-raised);color:var(--ink)}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}button.danger{border:none;background:none;color:var(--red);padding:4px 6px;border-radius:3px}.badge{display:inline-block;font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:20px;white-space:nowrap}.badge-pending{background:var(--line);color:var(--ink-soft)}.badge-sent{background:var(--navy-soft);color:var(--navy)}.badge-paid{background:#e2f3e6;color:#1f7a3d}.badge-overdue{background:var(--red-soft);color:var(--red)}.badge-submitted{background:var(--line);color:var(--ink-soft)}.badge-interviewing{background:var(--accent-soft);color:var(--accent)}.badge-offer{background:var(--navy-soft);color:var(--navy)}.badge-placed{background:#e2f3e6;color:#1f7a3d}.badge-rejected,.badge-withdrawn{background:var(--red-soft);color:var(--red)}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:4px;background:var(--paper-raised)}table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:600px}thead th{text-align:left;font-size:12px;color:var(--ink-soft);padding:10px 14px;border-bottom:1px solid var(--line);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}thead th:hover{color:var(--ink)}tbody td{padding:10px 14px;border-bottom:1px solid var(--line)}tbody tr:hover{background:var(--navy-soft);cursor:pointer}.muted{color:var(--ink-soft)}.overlay{position:fixed;inset:0;background:rgba(20,22,40,.5);display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px;z-index:50;overflow-y:auto}.modal{background:#fff;border-radius:10px;padding:26px;width:100%;max-width:440px;border:1px solid var(--line)}.modal h2{color:var(--navy)}.field{margin-bottom:14px}.field label{display:block;font-size:12px;color:var(--ink-soft);margin-bottom:5px;text-transform:uppercase}.field input,.field select,.field textarea{width:100%;padding:8px 10px;border:1px solid var(--line-strong);border-radius:6px;font-size:14px}.field input:disabled,.field select:disabled{background:#eee;opacity:.6}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.auth-wrap{max-width:380px;margin:10vh auto;padding:0 20px}.auth-wrap h1{font-size:22px;color:var(--navy);font-weight:800}.error-text{color:var(--red)}.error-text,.note-text{font-size:13px;margin:8px 0}.note-text{color:var(--ink-soft)}.list-detail{display:grid;grid-template-columns:300px 1fr;grid-gap:20px;gap:20px;align-items:start}@media (max-width:760px){.list-detail{grid-template-columns:1fr}}.side-list{border:1px solid var(--line);border-radius:4px;background:var(--paper-raised);overflow:hidden}.side-row{padding:12px 14px;border-bottom:1px solid var(--line);cursor:pointer}.side-row:last-child{border-bottom:none}.side-row.selected,.side-row:hover{background:var(--navy-soft)}.side-row .name{font-weight:600;font-size:13.5px}.side-row .sub{font-size:12px;color:var(--ink-soft)}.detail-panel{border:1px solid var(--line);border-radius:4px;background:var(--paper-raised);padding:20px;min-height:200px}.detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:14px}.detail-header h2{font-size:21px;margin:0 0 3px;color:var(--navy)}.detail-actions a,.detail-actions button.linklike{font-size:13px;color:var(--accent);cursor:pointer;background:none;border:none;padding:4px 6px}.meta-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:10px 20px;gap:10px 20px;margin:14px 0;font-size:13px}.meta-grid .k{color:var(--ink-soft);font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}.sub-section{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.sub-section h3{font-size:14px;font-weight:600;margin:0 0 8px}.sub-row{display:flex;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line);gap:10px;cursor:pointer}.sub-row:last-child{border-bottom:none}.sub-row:hover{background:var(--navy-soft)}