.portal-main{padding-block:64px 88px;min-height:75vh}.portal-title{font-size:clamp(2.3rem,5vw,3.8rem);line-height:1.14}.portal-intro{color:var(--muted);max-width:650px;margin-top:22px;font-size:1rem}.job-filters{display:grid;grid-template-columns:1.7fr 1fr;gap:20px;padding:25px;background:var(--pale);border:1px solid var(--line);border-radius:8px;margin-block:35px 20px}label{display:flex;flex-direction:column;gap:7px;font-size:.9rem;font-weight:600}input,select,textarea{font:inherit;font-weight:400;font-size:1rem;background:white;border:1px solid #c7d1e2;border-radius:5px;padding:12px;color:var(--ink);width:100%;min-height:48px}input:focus,select:focus,textarea:focus{outline:3px solid #afc9ff;outline-offset:1px}textarea{resize:vertical;line-height:1.6}label small{font-size:.8rem;font-weight:400;color:var(--muted)}.results-caption{font-size:.875rem;color:var(--muted);margin-bottom:23px}.job-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.job-card{border:1px solid var(--line);border-radius:8px;padding:29px;display:flex;flex-direction:column;align-items:flex-start}.job-card h2{font-size:1.55rem;letter-spacing:-.03em}.job-location{color:var(--blue);font-size:.9rem;margin-top:12px}.job-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}.job-meta span,.status-label{padding:5px 10px;background:var(--pale);font-size:.8rem;border-radius:4px}.job-card .job-salary{font-size:1rem;font-weight:600;margin-top:19px}.job-card .job-card-actions{margin-top:25px;display:flex;gap:18px;align-items:center;flex-wrap:wrap}.job-card .button{font-size:.9rem;min-height:46px;padding:10px 15px}.job-card .text-link{font-size:.9rem}.empty-state{padding:35px;border:1px solid var(--line);border-radius:8px;grid-column:1/-1}.empty-state p{color:var(--muted);margin-top:12px}.job-detail{max-width:850px;padding-block:30px}.job-detail>h2{font-size:clamp(2rem,4vw,3rem);margin-top:22px}.detail-section{margin-top:30px}.detail-section h3{font-size:1.1rem;margin-bottom:12px}.detail-section p{white-space:pre-wrap;color:var(--muted)}.detail-section ul{padding-left:21px;color:var(--muted);line-height:1.85}.detail-contact{border-top:1px solid var(--line);padding-top:25px;margin-top:33px}.detail-contact p{font-size:.85rem;color:var(--muted);margin-top:14px}.admin-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:25px}.admin-list{margin-top:35px}.admin-row{padding:22px 0;display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid var(--line)}.admin-row h2{font-size:1.25rem;letter-spacing:-.02em}.admin-row p{font-size:.875rem;color:var(--muted);margin-top:9px}.admin-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.button-outline{color:var(--blue);background:white;border-color:var(--line)}.editor{padding:35px;background:var(--pale);border:1px solid var(--line);border-radius:8px;margin-top:35px}.editor h2{font-size:1.8rem}.editor>p{font-size:.85rem;color:var(--muted);margin-top:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:26px}.wide{grid-column:1/-1}.form-actions{display:flex;gap:13px;margin-top:27px}#mensagem,#form-mensagem{margin-top:20px;font-size:1rem;color:var(--blue)}.error-message{color:#a32425!important}.success-message{color:#255940!important}button:disabled{opacity:.55;cursor:wait}.admin-row .status-label{margin-left:10px}.status-open{color:#164b84;background:#e6f0ff}.status-closed{color:#596371;background:#eef0f3}.status-draft{color:#885115;background:#fff1dc}[hidden]{display:none!important}
@media(max-width:800px){.portal-main{padding-block:40px 60px}.job-filters{grid-template-columns:1fr;padding:20px;gap:16px}.job-grid{grid-template-columns:1fr;gap:18px}.job-card{padding:24px}.admin-heading{flex-direction:column;align-items:flex-start}.admin-row{flex-direction:column;align-items:flex-start;gap:15px}.editor{padding:23px}.form-grid{grid-template-columns:1fr;gap:18px}.wide{grid-column:auto}.header-inner>.nav-contact{font-size:.75rem;padding:9px 12px;margin:0}.admin-row .status-label{display:inline-block;margin-left:0;margin-top:8px}.job-card .job-card-actions{gap:14px}.portal-title{font-size:2.4rem}}
.footer>span a{font-size:.875rem;color:var(--blue)}

.portal-main{position:relative;padding-block:52px 80px}
.portal-title{font-size:clamp(2.25rem,4.5vw,3.35rem);color:var(--navy)}
.empty-state{background:linear-gradient(125deg,#f2f7fb,#fff);border-left:3px solid var(--blue);padding:30px}
.empty-state h2{font-size:1.55rem;line-height:1.35;letter-spacing:-.02em}
.job-card{border-top:3px solid var(--blue);background:#fff}
.job-card:hover{box-shadow:0 8px 24px #0827520b}
.job-card h2,.job-detail>h2{color:var(--navy)}
.editor{border-top:3px solid var(--blue);scroll-margin-top:140px}
.job-filters{background:#f2f7fa}
@media(max-width:800px){.portal-main{padding-block:32px 60px}.portal-title{font-size:2.3rem}.empty-state{padding:24px}.empty-state h2{font-size:1.35rem}.header-inner>.nav-contact{font-size:.72rem;line-height:1.35;max-width:105px;flex-shrink:0;text-align:center}.header-inner:has(>.nav-contact) .brand-name{font-size:.85rem}.header-inner:has(>.nav-contact) .brand-logo{width:64px;height:64px}.header-inner:has(>.nav-contact) .brand-name small{font-size:.46rem}.editor{scroll-margin-top:110px}}
@media(max-width:390px){.header-inner:has(>.nav-contact) .brand-name{font-size:.75rem}.header-inner:has(>.nav-contact) .brand-name small{font-size:.4rem}.header-inner:has(>.nav-contact) .brand-logo{width:52px;height:52px}.header-inner>.nav-contact{max-width:90px;font-size:.67rem;padding:9px}}

/* O portal acompanha o azul institucional, com leitura clara nos cartões. */
.header-inner>.nav-contact{margin-top:0}
.portal-banner{padding:38px 40px;background:radial-gradient(ellipse at 95% 12%,#0d73a4 0%,transparent 50%),linear-gradient(115deg,#082752,#0c4f83);border-radius:16px 16px 36px 16px;border-bottom:4px solid var(--cyan);color:#fff;position:relative;overflow:hidden}
.portal-banner:after{content:'';position:absolute;width:280px;height:280px;border:1px solid #6fcae94d;border-radius:50%;right:-110px;top:-160px;pointer-events:none}
.portal-banner .eyebrow{color:#a4e6f7}
.portal-banner .portal-title{color:#fff}
.portal-banner .portal-title em{color:#8bdef7}
.portal-banner .portal-intro{color:#d5eaf5;margin-top:17px}
.job-filters{background:#e5f2fc;border-color:#ccdfed;border-radius:12px;margin-top:28px}
.job-card{border-radius:12px;border-top-color:#1876af}
.job-meta span{background:#e5f2fc;color:#0d4b83}
.job-detail{padding:32px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--blue);border-radius:12px;margin-top:30px;max-width:none}
.job-detail .detail-section{max-width:850px}
.empty-state{background:#eaf5fd}
.admin-row{background:#fff;padding:22px 25px;margin-bottom:12px;border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:9px}
.editor{background:#eaf4fc;border-radius:12px}
@media(max-width:800px){.portal-banner{padding:29px 25px}.header-inner:has(>.nav-contact) .brand-name small{color:#b8ddf4}.job-detail{padding:25px}.admin-row{padding:20px}.header-inner>.nav-contact{color:#fff;border-color:#83b3d1}}
@media(max-width:390px){.header-inner:has(>.nav-contact){gap:9px}.header-inner:has(>.nav-contact) .brand{gap:8px}.header-inner:has(>.nav-contact) .brand-name{font-size:.7rem}.header-inner:has(>.nav-contact) .brand-name small{font-size:.36rem}.header-inner:has(>.nav-contact) .brand-logo{width:46px;height:46px}.header-inner>.nav-contact{max-width:86px;padding:9px 7px}.portal-banner{padding:26px 21px}.portal-banner .portal-title{font-size:2.1rem}.job-detail{padding:22px}}

.job-image-link{display:block;width:100%;margin-bottom:23px;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#eaf4fb}
.job-card-image{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;max-height:400px}
.job-art{margin:30px 0 0;max-width:680px}
.job-art>a{display:block;background:#eaf4fb;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.job-detail-image{width:100%;height:auto;max-height:1000px;object-fit:contain}
.job-art figcaption{font-size:.8rem;color:var(--muted);margin-top:9px}
.admin-job-info{display:flex;align-items:center;gap:17px;min-width:0}
.admin-job-info>div{min-width:0;overflow-wrap:anywhere}
.admin-card-thumbnail{width:76px;height:76px;object-fit:contain;border:1px solid var(--line);border-radius:7px;background:#eaf4fb;flex-shrink:0}
.card-upload{padding:25px;border:1px dashed #82adcc;background:#f5faff;border-radius:10px;min-width:0}
.card-upload>p{font-size:.88rem;color:var(--muted);margin-top:9px;line-height:1.7}
.card-upload input[type=file]{margin-top:17px;background:#fff;font-size:.88rem;min-width:0}
.card-upload input::file-selector-button{font:inherit;font-weight:600;background:#e3effa;color:var(--navy);border:0;border-radius:4px;padding:8px 12px;margin-right:12px;cursor:pointer}
.card-upload-preview{margin-top:20px;display:flex;align-items:flex-start;flex-direction:column;gap:15px}
.card-upload-preview img{max-width:100%;width:auto;max-height:440px;object-fit:contain;border:1px solid var(--line);border-radius:7px;background:#fff}
.card-upload-preview .button{font-size:.85rem;min-height:42px;padding:9px 15px}
@media(max-width:800px){.card-upload{padding:18px}.job-art{margin-top:25px}.admin-card-thumbnail{width:64px;height:64px}.card-upload input[type=file]{font-size:.78rem;padding:9px}.card-upload input::file-selector-button{padding:8px;margin-right:8px}.card-upload-preview img{max-height:400px}}
