:root{--ink:#193631;--muted:#63746f;--green:#176653;--line:#dce5e0;--paper:#f5f8f5}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,sans-serif;font-size:15px;line-height:1.5}
.masthead{display:flex;align-items:center;gap:16px;padding:22px max(24px,calc((100vw - 1120px)/2));background:#fff;border-bottom:1px solid var(--line)}
.brand-mark{display:grid;place-items:center;width:56px;height:56px;border-radius:12px;background:var(--green);color:white;font-weight:700;letter-spacing:1px}
.institution{font-weight:700;letter-spacing:1px}.location{color:var(--muted);font-size:14px}.page{max-width:1120px;margin:auto;padding:36px 24px}
.intro{max-width:760px;margin-bottom:28px}.eyebrow{color:var(--green);font-size:12px;font-weight:700;letter-spacing:2px}h1{font-size:34px;margin:8px 0}h2{font-size:20px;margin:0}h3{font-size:16px;margin:0 0 8px}.intro p,.hint{color:var(--muted)}
.section-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px;margin:20px 0}
.section-title{display:flex;gap:14px;align-items:center;margin-bottom:24px}.section-title>span{background:#edf5ef;border-radius:8px;padding:7px 10px;color:var(--green);font-size:12px;font-weight:700}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:22px 26px}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field label{font-weight:600;font-size:14px}.full{grid-column:1/-1}
.field>input,.field>textarea,.field .ui-inputfield,.field .p-inputtext,.field .ui-selectonemenu,.field .p-selectonemenu,.field .ui-calendar,.field .p-datepicker,.field .ui-inputnumber{width:100%}
.field .ui-calendar>input,.field .p-datepicker>input{width:100%}.recruitment{display:flex;align-items:center;justify-content:space-between;gap:24px}.recruitment .field{flex:1;max-width:620px}.status-block{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.status-badge{background:#edf5ef;padding:5px 12px;border-radius:18px;color:var(--green);font-weight:700;font-size:12px}.application-number{font-weight:700}
.hint{font-size:13px}.actions{display:flex;gap:12px;justify-content:flex-end;margin:24px 0}.secondary-button{background:#fff!important;color:var(--green)!important;border:1px solid var(--green)!important}
.document-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.document-card{border:1px solid var(--line);border-radius:10px;padding:20px;min-width:0}.document-card .hint{min-height:38px}.document-card .ui-fileupload,.document-card .p-fileupload{max-width:100%}.declaration{padding:22px 0}.review-dialog .ui-dialog-content,.review-dialog .p-dialog-content{max-height:75vh;overflow:auto}.review-table td{white-space:pre-wrap;word-break:break-word}footer{padding:20px;text-align:center;color:var(--muted);font-size:12px}
@media(max-width:720px){.fields,.document-grid{grid-template-columns:1fr}.full{grid-column:auto}.page{padding:20px 12px}.section-card{padding:20px 16px}.masthead{padding:16px}.institution{font-size:12px}h1{font-size:28px}.recruitment{flex-direction:column;align-items:stretch}.status-block{align-items:flex-start}.actions{flex-wrap:wrap}.ui-datatable-tablewrapper,.p-datatable-table-container{overflow-x:auto}}
.account-bar{display:flex;gap:20px;align-items:center;justify-content:flex-end;flex-wrap:wrap;margin:20px 0}.auth-page{max-width:620px}.auth-page .field{margin-bottom:20px}.auth-links{display:flex;gap:20px;margin-top:22px}
.hr-page{max-width:1450px}.hr-row-actions{display:flex;flex-direction:column;gap:10px}.hr-review-title{margin-top:28px} .hr-page .section-card{overflow-wrap:anywhere}
/* RCC visual refinement: no external font or asset dependencies. */
:root{--ink:#203a36;--muted:#62766f;--green:#176653;--line:#dce7e3;--paper:#f3f7f6;--accent:#972727;--shadow:0 10px 32px rgba(24,62,52,.055)}
body{font-family:"Segoe UI",Arial,sans-serif;background:radial-gradient(ellipse at top left,#e8f1ee 0,transparent 48%),var(--paper);line-height:1.6}
a{color:var(--green);text-decoration:none;font-weight:600}a:hover{text-decoration:underline;color:#0b493b}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #ba8b47;outline-offset:3px}
.masthead{justify-content:space-between;padding-top:18px;padding-bottom:18px;border-top:4px solid var(--accent);box-shadow:0 3px 16px rgba(20,55,46,.035);gap:24px}
.brand-identity{display:flex;align-items:center;gap:20px;min-width:0}.rcc-logo{display:block;width:82px;height:82px;object-fit:contain;border-radius:50%;flex-shrink:0;background:#fff}
.institution{font-size:18px;letter-spacing:1.15px;color:#21453c}.location{font-size:14px}.brand-caption{font-size:12px;letter-spacing:.5px;color:#7a5858;margin-top:3px}.portal-badge{font-size:12px;border:1px solid #d8e6df;background:#f2f7f4;color:var(--green);padding:8px 14px;border-radius:999px;white-space:nowrap}
.page{padding-top:42px;padding-bottom:44px}.intro{margin-bottom:30px}.intro h1{font-size:34px;line-height:1.25;letter-spacing:-.7px;font-weight:700}.intro p{font-size:15px}.eyebrow{font-size:11px;letter-spacing:1.8px}
.section-card{border-radius:16px;box-shadow:var(--shadow);padding:30px;background:white;border-color:var(--line)}.section-title{padding-bottom:18px;border-bottom:1px solid #edf1ef}.section-title>span{background:#eaf3ef;color:#176653;border:1px solid #dcebe4}
.field label{font-size:13px;color:#334f47;font-weight:600}.field .ui-inputfield,.field .p-inputtext,.field>input,.field>textarea,.field .ui-selectonemenu,.field .p-selectonemenu{border-radius:8px;border:1px solid #cadbd3;min-height:44px;font-family:inherit;font-size:14px;box-shadow:none}.field .ui-inputfield,.field>input,.field>textarea{padding:11px 13px}.field .ui-inputfield:focus,.field>input:focus,.field>textarea:focus{border-color:#33846c;box-shadow:0 0 0 3px rgba(23,102,83,.1)}
.ui-button,.p-button,input[type=submit],button{font-family:inherit}.ui-button,.p-button,input[type=submit]{border-radius:8px;font-size:14px;font-weight:600;transition:background-color .15s,box-shadow .15s}.ui-button:not(.ui-button-secondary):not(.ui-button-danger):not(.secondary-button),input[type=submit]{background:var(--green);border:1px solid var(--green);color:white}.ui-button:not(.secondary-button):hover,input[type=submit]:hover{background:#125642;border-color:#125642;box-shadow:0 3px 10px rgba(23,102,83,.15)}input[type=submit]{padding:11px 19px;cursor:pointer;min-height:44px}.secondary-button:hover{background:#edf5f1!important}.ui-state-disabled,input:disabled{cursor:not-allowed}
.account-bar{font-size:13px;padding:14px 18px;background:#eaf2ee;border:1px solid #d7e5dd;border-radius:10px;justify-content:flex-start}.account-bar form{margin-left:auto}.account-bar input[type=submit]{background:#fff;color:var(--green);padding:7px 15px;min-height:36px}.account-bar input[type=submit]:hover{background:#dcece3;color:#134d3e}
.auth-page{max-width:590px;padding-top:46px}.auth-page .intro{text-align:center;margin:0 auto 28px}.auth-page .intro h1{font-size:30px}.auth-page .section-card{padding:32px 34px}.auth-page .actions{margin:26px 0 0}.auth-page .actions input[type=submit]{width:100%;min-height:48px}.auth-page .auth-links{justify-content:center;font-size:14px;margin:25px 0}.auth-page .intro .eyebrow{color:#91605b}.auth-page .field{margin-bottom:22px}
.document-card{background:#fbfdfc;border-color:#dce7e0;border-radius:12px}.document-card h3{font-size:15px}.hint{line-height:1.65}.status-badge{border:1px solid #d4e6db;padding:6px 14px}.application-number{color:var(--green)}
.ui-datatable .ui-datatable-thead>tr>th,.p-datatable thead th{background:#eef4f0;color:#284c40;border-color:#dce7e0;font-size:12px;padding:14px 12px;font-weight:700}.ui-datatable .ui-datatable-data>tr>td,.p-datatable tbody td{padding:14px 12px;border-color:#e4ece7;font-size:13px}.ui-datatable .ui-datatable-data>tr:nth-child(even){background:#fafcfb}.ui-datatable-tablewrapper{border-radius:8px}.review-table td:first-child{font-weight:600}.hr-row-actions{font-size:12px}.hr-page h3{margin-top:25px}.hr-page .intro{max-width:900px}
.ui-messages{border-radius:8px}.ui-dialog{border-radius:14px;overflow:hidden}.site-footer,footer{border-top:1px solid #e0e8e4;color:#6d7e76;font-size:12px;padding:24px 16px;text-align:center;background:rgba(255,255,255,.6)}
@media(max-width:720px){.masthead{padding:14px 16px}.rcc-logo{width:62px;height:62px}.brand-identity{gap:12px}.institution{font-size:13px;letter-spacing:.5px}.location{font-size:12px}.brand-caption{font-size:10px}.portal-badge{display:none}.page{padding-top:26px}.intro h1{font-size:27px}.section-card,.auth-page .section-card{padding:22px 18px}.auth-page{padding-top:30px}.auth-page .intro h1{font-size:27px}.account-bar{gap:12px}.account-bar form{margin-left:0}.actions{gap:10px}.actions .ui-button{max-width:100%}}
@media print{.masthead{box-shadow:none}.portal-badge,.account-bar,.site-footer{display:none}.section-card{box-shadow:none}.page{padding:12px}body{background:#fff}}
/* Scoped RCC header geometry, shared by HTTP and HTTPS. */
header.masthead.rcc-masthead{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:24px;width:100%;min-height:122px}
header.rcc-masthead .brand-identity{display:flex;flex-direction:row;align-items:center;gap:20px;min-width:0;flex:1 1 auto}
header.rcc-masthead img.rcc-logo{display:block;width:82px;height:82px;max-width:82px;min-width:82px;object-fit:contain;flex:0 0 82px;border-radius:50%}
header.rcc-masthead .rcc-brand-text{display:flex;flex-direction:column;align-items:flex-start;min-width:0;gap:2px;text-align:left}
header.rcc-masthead .institution{white-space:normal;overflow-wrap:break-word;line-height:1.35}
header.rcc-masthead .location,header.rcc-masthead .brand-caption{line-height:1.45}
header.rcc-masthead .portal-badge{flex:0 0 auto}
@media(max-width:720px){header.masthead.rcc-masthead{min-height:94px;gap:12px;padding:14px 16px}header.rcc-masthead .brand-identity{gap:12px}header.rcc-masthead img.rcc-logo{width:62px;height:62px;min-width:62px;max-width:62px;flex-basis:62px}header.rcc-masthead .portal-badge{display:none}}
