:root{--primary:#1e50a2;--primary-dark:#17408a;--bg:#f4f6fb;--fg:#111827;--card:#ffffff;--muted-fg:#6b7280;--border:#e2e5ef;--radius:.625rem;--sidebar-w:15rem;--shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--fg);line-height:1.6;-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}ul{list-style:none}button{cursor:pointer;border:none;background:none}button,input,select,textarea{font-family:inherit}.portal-auth-body{min-height:100vh;background:linear-gradient(135deg,var(--primary) 0,#17408a 100%);display:flex;align-items:center;justify-content:center;padding:1.5rem}.portal-auth-wrap{width:100%;max-width:26rem}.portal-auth-card{background:#fff;border-radius:1rem;box-shadow:var(--shadow-lg);padding:2.5rem 2rem}.portal-auth-logo{text-align:center;margin-bottom:1.75rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.portal-auth-logo img{margin:0 auto;width:220px;height:auto;object-fit:contain}.portal-auth-divider{width:2.5rem;height:3px;background:var(--primary);margin:.875rem auto .75rem;border-radius:999px}.portal-auth-sub{font-size:.8125rem;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:.08em}.portal-flash{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem 1rem;border-radius:var(--radius);font-size:.875rem;margin-bottom:1.25rem}.portal-flash-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.portal-flash-success{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.portal-auth-form{gap:1rem}.portal-auth-form,.portal-field{display:flex;flex-direction:column}.portal-field{gap:.35rem}.portal-field label{font-size:.8125rem;font-weight:600;color:var(--fg);display:flex;align-items:center;gap:.4rem}.portal-field label i{color:var(--primary);font-size:.75rem}.portal-field input,.portal-field select,.portal-field textarea{padding:.625rem .875rem;border:1.5px solid var(--border);border-radius:var(--radius);font-size:.9375rem;color:var(--fg);transition:border-color .2s,box-shadow .2s;background:#fff}.portal-field input:focus,.portal-field select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(30,80,162,.15)}.portal-field-hint{font-size:.75rem;color:var(--muted-fg);line-height:1.4}.portal-pw-wrap{position:relative}.portal-pw-wrap input{width:100%;padding-right:2.75rem}.portal-pw-eye{position:absolute;right:.625rem;top:50%;transform:translateY(-50%);color:var(--muted-fg);font-size:.9375rem;padding:.25rem;background:none;border:none;cursor:pointer}.portal-pw-eye:hover{color:var(--primary)}.portal-auth-btn{margin-top:.5rem;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);font-size:.9375rem;font-weight:700;cursor:pointer;transition:background .2s}.portal-auth-btn:hover{background:var(--primary-dark)}.portal-auth-switch{text-align:center;margin-top:1.25rem;font-size:.875rem;color:var(--muted-fg)}.portal-auth-switch a{color:var(--primary);font-weight:600}.portal-auth-switch a:hover{text-decoration:underline}.portal-auth-back{text-align:center;margin-top:.75rem;font-size:.8125rem;color:var(--muted-fg)}.portal-auth-back a{color:var(--muted-fg);display:inline-flex;align-items:center;gap:.3rem;transition:color .2s}.portal-auth-back a:hover{color:var(--primary)}.portal-wrap{display:flex;min-height:100vh}.portal-sidebar{width:var(--sidebar-w);background:var(--primary);display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:100;overflow-y:auto;transition:transform .3s ease}@media (max-width:899px){.portal-sidebar{transform:translateX(-110%);box-shadow:var(--shadow-lg)}.portal-sidebar.open{transform:translateX(0)}}.portal-sidebar-logo{padding:1.25rem 1rem;border-bottom:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:space-between;gap:.5rem}.portal-sidebar-logo img{filter:brightness(0) invert(1);height:38px;width:auto}.portal-badge{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;background:rgba(255,255,255,.2);color:#fff;padding:.2rem .5rem;border-radius:.25rem;flex-shrink:0}.portal-nav{flex:1 1;padding:1rem 0}.portal-nav-link{display:flex;align-items:center;gap:.75rem;padding:.7rem 1.25rem;font-size:.875rem;font-weight:500;color:rgba(255,255,255,.75);transition:all .2s}.portal-nav-link:hover{color:#fff;background:rgba(255,255,255,.1)}.portal-nav-link.active{color:#fff;background:rgba(255,255,255,.18);font-weight:700;border-left:3px solid #fff}.portal-nav-link i{width:1.25rem;text-align:center}.portal-sidebar-footer{padding:.75rem 0 1rem;border-top:1px solid rgba(255,255,255,.15)}.portal-logout{color:rgba(255,120,120,.85)}.portal-logout:hover{color:#ff9090;background:rgba(255,80,80,.1)}.portal-main{flex:1 1;margin-left:var(--sidebar-w);display:flex;flex-direction:column;min-height:100vh}@media (max-width:899px){.portal-main{margin-left:0}}.portal-topbar{background:#fff;border-bottom:1px solid var(--border);height:3.75rem;display:flex;align-items:center;gap:1rem;padding:0 1.5rem;position:-webkit-sticky;position:sticky;top:0;z-index:50}.portal-menu-toggle{display:none;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;font-size:1.125rem;color:var(--fg);cursor:pointer}@media (max-width:899px){.portal-menu-toggle{display:flex}}.portal-page-title{font-size:1rem;font-weight:700;flex:1 1}.portal-topbar-right{display:flex;align-items:center;gap:.75rem}.portal-user{display:flex;align-items:center;gap:.4rem;font-size:.875rem;font-weight:500;color:var(--muted-fg)}.portal-user i{color:var(--primary);font-size:1rem}.portal-content{flex:1 1;padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}@media (min-width:1024px){.portal-content{padding:2rem}}.portal-welcome{background:linear-gradient(135deg,var(--primary),#17408a);border-radius:var(--radius);padding:1.5rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.portal-welcome h2{font-size:1.25rem;font-weight:700;color:#fff}.portal-welcome p{font-size:.875rem;color:rgba(255,255,255,.8);margin-top:.25rem}.portal-card{background:#fff;border-radius:var(--radius);border:1px solid var(--border);box-shadow:0 1px 3px rgba(0,0,0,.06);overflow:hidden}.portal-card-head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--border)}.portal-card-head h2{font-size:.9375rem;font-weight:700;display:flex;align-items:center;gap:.5rem}.portal-card-head h2 i{color:var(--primary)}.portal-count{color:var(--muted-fg);background:var(--bg);padding:.25rem .625rem;border-radius:999px}.portal-count,.portal-link{font-size:.8125rem;font-weight:600}.portal-link{color:var(--primary)}.portal-link:hover{text-decoration:underline}.portal-table-wrap{overflow-x:auto}.portal-table{width:100%;border-collapse:collapse;font-size:.875rem}.portal-table th{padding:.75rem 1rem;text-align:left;font-size:.75rem;font-weight:600;letter-spacing:.04em;color:var(--muted-fg);text-transform:uppercase;background:var(--bg);white-space:nowrap}.portal-table td,.portal-table th{border-bottom:1px solid var(--border)}.portal-table td{padding:.875rem 1rem;vertical-align:middle}.portal-table tr:last-child td{border-bottom:none}.portal-table tr:hover td{background:#fafbff}.portal-type-tag{font-size:.75rem;color:var(--muted-fg);margin-top:.2rem}.portal-muted{color:var(--muted-fg);font-style:italic}.portal-status{display:inline-block;padding:.25rem .625rem;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap}.status-new{background:#dbeafe;color:#1d4ed8}.status-reviewing{background:#fef9c3;color:#92400e}.status-shortlisted{background:#ede9fe;color:#6d28d9}.status-interviewed{background:#e0f2fe;color:#0369a1}.status-offered{background:#dcfce7;color:#15803d}.status-rejected{background:#fee2e2;color:#b91c1c}.portal-empty{padding:3rem 2rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem}.portal-empty i{font-size:2.5rem;color:var(--border)}.portal-empty p{color:var(--muted-fg);font-size:.9375rem}.portal-jobs-grid{display:grid;grid-gap:1rem;gap:1rem;padding:1.25rem;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr))}.portal-job-card{border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;display:flex;flex-direction:column;gap:.6rem;transition:box-shadow .2s}.portal-job-card:hover{box-shadow:var(--shadow)}.portal-job-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.25rem}.portal-dept{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--primary);background:rgba(30,80,162,.08);padding:.2rem .5rem;border-radius:.25rem}.portal-deadline{font-size:.6875rem;color:#b91c1c;font-weight:500}.portal-job-card h3{font-size:.9375rem;font-weight:700;color:var(--fg)}.portal-job-meta{display:flex;flex-wrap:wrap;gap:.4rem .75rem;font-size:.75rem;color:var(--muted-fg)}.portal-job-meta span{display:flex;align-items:center;gap:.25rem}.portal-job-meta i{color:var(--primary);font-size:.6875rem}.portal-job-summary{font-size:.8125rem;color:var(--muted-fg);line-height:1.5;flex:1 1}.portal-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1.25rem;border-radius:var(--radius);font-size:.875rem;font-weight:600;border:2px solid var(--border);color:var(--fg);background:#fff;cursor:pointer;transition:all .2s;white-space:nowrap}.portal-btn:hover{border-color:var(--primary);color:var(--primary)}.portal-btn-primary{background:rgba(255,255,255,.15);color:#fff;border-color:rgba(255,255,255,.4)}.portal-btn-primary:hover{background:rgba(255,255,255,.25);border-color:#fff;color:#fff}.portal-btn-sm{padding:.375rem .875rem;font-size:.8125rem}