.portal-body{min-height:100vh;background:#edf1ec}.portal-header{background:var(--paper)}.portal-main{padding:64px 0 100px}.portal-intro{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px}.portal-intro h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(42px,6vw,70px);letter-spacing:-.045em;line-height:1;margin:12px 0}.portal-intro p{color:#607068;max-width:620px}.auth-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px}.portal-card{background:#fff;border:1px solid var(--line);padding:32px;box-shadow:0 18px 45px rgba(18,37,31,.06)}.portal-card h2{font-family:Georgia,serif;font-size:30px;font-weight:400;margin:0 0 10px}.portal-card>p{color:#65736c}.portal-form{display:grid;gap:15px;margin-top:24px}.portal-form label,.filter-bar label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:750;color:#506159}.portal-form input,.portal-form textarea,.portal-form select,.filter-bar select{display:block;width:100%;margin-top:6px;padding:12px 13px;border:1px solid #c6d0cb;background:#fbfcfa;color:var(--ink);outline:none}.portal-form input:focus,.portal-form textarea:focus,.portal-form select:focus,.filter-bar select:focus{border-color:#39705a}.portal-form textarea{resize:vertical}.portal-form .button{justify-self:start}.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 14px;margin-top:8px}.check-grid label{display:flex;align-items:center;gap:8px;text-transform:none;letter-spacing:0;font-size:13px;font-weight:500}.check-grid input{width:auto;margin:0}.form-message{min-height:22px;margin:4px 0 0;font-size:13px}.form-message.error{color:#a22e2e}.form-message.success{color:#246246}.switch-link{border:0;background:none;color:#285b47;text-decoration:underline;padding:0;cursor:pointer}.portal-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--green);color:#fff;padding:22px 25px;margin-bottom:25px}.portal-topbar p{margin:3px 0 0;color:#aec3ba}.portal-topbar .button{border:1px solid rgba(255,255,255,.5);color:#fff;background:transparent}.pending-box{background:var(--sand);padding:25px;margin-bottom:25px}.filter-bar{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;align-items:end;margin:25px 0}.job-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.job-card{background:#fff;border:1px solid var(--line);padding:25px;display:flex;flex-direction:column}.job-meta{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:15px}.tag{font-size:10px;text-transform:uppercase;letter-spacing:.08em;background:var(--mint);padding:5px 8px}.tag.sand{background:var(--sand)}.job-card h3{font-family:Georgia,serif;font-size:25px;font-weight:400;margin:0 0 10px}.job-card p{color:#5d6b64}.job-card .job-description{white-space:pre-wrap;flex:1}.job-card .button{align-self:start;margin-top:12px}.empty-state{background:#fff;border:1px dashed #aebbb4;padding:35px;text-align:center;color:#65736c}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:30px}.stat{background:var(--green);color:#fff;padding:23px}.stat strong{font-family:Georgia,serif;font-size:38px;font-weight:400;display:block}.stat span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#b7cbc3}.admin-section{margin:38px 0}.admin-section>h2{font-family:Georgia,serif;font-weight:400;font-size:34px}.admin-list{display:grid;gap:12px}.admin-row{background:#fff;border:1px solid var(--line);padding:20px;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}.admin-row h3{margin:0 0 5px}.admin-row p{margin:4px 0;color:#5d6b64}.admin-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.admin-actions .button{padding:9px 12px;font-size:12px}.button-approve{background:#2c6a51;color:#fff}.button-close{background:#ded8ca}.button-block{background:#7a3333;color:#fff}.status-pill{display:inline-block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;padding:4px 7px;background:#e3e7e4}.status-pill.published,.status-pill.approved{background:#d1eadb;color:#23523f}.status-pill.pending{background:#f0e3bd}.status-pill.closed,.status-pill.blocked{background:#ead2d2;color:#6b2929}@media(max-width:850px){.auth-grid,.job-grid{grid-template-columns:1fr}.portal-intro{align-items:start;flex-direction:column}.admin-stats{grid-template-columns:1fr 1fr}.admin-row{grid-template-columns:1fr}.admin-actions{justify-content:flex-start}}@media(max-width:560px){.portal-main{padding-top:38px}.portal-card{padding:23px}.filter-bar{grid-template-columns:1fr}.check-grid,.admin-stats{grid-template-columns:1fr}.portal-topbar{align-items:flex-start;flex-direction:column}}
