:root{--ps09e-blue:#08245c;--ps09e-blue2:#1554c0;--ps09e-green:#62a900;--ps09e-light:#f4f6f8;--ps09e-border:#dfe4e8;--ps09e-text:#20242a;--ps09e-muted:#65707b;--ps09e-shadow:0 12px 34px rgba(8,36,92,.09)}
.ps09e-wrap{max-width:1120px;margin:30px auto;color:var(--ps09e-text);font-family:Arial,Helvetica,sans-serif;line-height:1.55}.ps09e-heading{margin-bottom:28px}.ps09e-heading h1,.ps09e-dashboard-head h1{margin:7px 0 8px;color:var(--ps09e-blue);font-size:clamp(32px,5vw,52px);line-height:1.08}.ps09e-heading p{font-size:18px;color:var(--ps09e-muted);max-width:800px}.ps09e-kicker{display:inline-block;padding:6px 13px;border-radius:999px;background:#eaf3d9;color:#4d8100;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.ps09e-form{display:grid;gap:24px}.ps09e-section,.ps09e-card{padding:28px;border:1px solid var(--ps09e-border);border-radius:15px;background:#fff;box-shadow:var(--ps09e-shadow)}.ps09e-section h2,.ps09e-card h2{margin:0 0 20px;color:var(--ps09e-blue);font-size:25px}.ps09e-section h3{margin:22px 0 12px;color:var(--ps09e-blue);font-size:19px}.ps09e-intro,.ps09e-fine{color:var(--ps09e-muted)}.ps09e-fine{font-size:13px}.ps09e-grid{display:grid;gap:16px}.ps09e-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.ps09e-field{margin:0}.ps09e-field-full{grid-column:1/-1}.ps09e-field label{display:block;margin-bottom:6px;color:var(--ps09e-blue);font-weight:700;font-size:14px}.ps09e-field input,.ps09e-field select,.ps09e-field textarea,.ps09e-file-box input[type=file]{width:100%;box-sizing:border-box;padding:12px 13px;border:1px solid #cbd4dc;border-radius:8px;background:#fff;color:var(--ps09e-text);font:inherit}.ps09e-field textarea{min-height:110px;resize:vertical}.ps09e-field input:focus,.ps09e-field select:focus,.ps09e-field textarea:focus{outline:3px solid rgba(21,84,192,.14);border-color:var(--ps09e-blue2)}.ps09e-sector{margin:18px 0;padding:18px;border:1px solid var(--ps09e-border);border-radius:12px;background:#fafbfd}.ps09e-sector h3{margin:0 0 13px}.ps09e-position-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ps09e-position-item{display:grid;grid-template-columns:1fr 90px;align-items:center;gap:10px;padding:10px;border-radius:8px;background:#fff;border:1px solid #e8edf1}.ps09e-position-item label{font-size:14px}.ps09e-position-item input[type=number]{width:100%;padding:8px;border:1px solid #ccd5dc;border-radius:6px}.ps09e-checkline{display:block;margin:12px 0;color:#2d3a42}.ps09e-checkline input{margin-right:7px}.ps09e-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:18px 0}.ps09e-check-grid label{padding:10px;border:1px solid var(--ps09e-border);border-radius:8px;background:#fafbfd}.ps09e-availability-wrap{overflow-x:auto;margin-top:18px}.ps09e-availability{width:100%;border-collapse:collapse;min-width:520px}.ps09e-availability th,.ps09e-availability td{padding:10px;text-align:center;border:1px solid var(--ps09e-border)}.ps09e-availability thead th{background:var(--ps09e-blue);color:#fff}.ps09e-availability tbody th{text-align:left;background:#f5f7f9;color:var(--ps09e-blue)}.ps09e-availability input{width:20px;height:20px}.ps09e-experience-row{position:relative;margin:14px 0;padding:18px;border:1px solid var(--ps09e-border);border-radius:12px;background:#fafbfd}.ps09e-link-danger{border:0;background:none;padding:0;color:#b42318;text-decoration:underline;cursor:pointer}.ps09e-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid transparent;border-radius:8px;text-decoration:none!important;font-weight:750;cursor:pointer}.ps09e-btn-primary,.ps09e-btn:not(.ps09e-btn-light){background:var(--ps09e-green);color:#fff!important}.ps09e-btn-light{border-color:var(--ps09e-blue);background:#fff;color:var(--ps09e-blue)!important}.ps09e-submit-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.ps09e-submit-row p{margin:0;color:var(--ps09e-muted)}.ps09e-file-grid{align-items:start}.ps09e-file-box{padding:20px;border:1px dashed #b8c4ce;border-radius:12px;background:#fafbfd}.ps09e-file-box h3{margin-top:0}.ps09e-optional{font-size:12px;font-weight:500;color:var(--ps09e-muted)}.ps09e-cropper{margin-top:16px}.ps09e-cropper canvas{display:block;width:min(100%,400px);height:auto;border-radius:50%;border:5px solid #fff;box-shadow:0 0 0 1px #bbc6cf;background:#eef2f5}.ps09e-cropper label{display:grid;grid-template-columns:90px 1fr;gap:10px;margin-top:9px;font-size:13px}.ps09e-current-photo{display:block;width:150px;height:150px;object-fit:cover;border-radius:50%;margin:12px 0;border:4px solid #fff;box-shadow:0 0 0 1px #cbd4dc}.ps09e-notice{max-width:1120px;margin:16px auto;padding:15px 18px;border-radius:9px;border-left:5px solid}.ps09e-notice-ok{background:#edf8e4;border-color:var(--ps09e-green)}.ps09e-notice-error{background:#fff0f0;border-color:#d92d20}.ps09e-notice-info{background:#eef4ff;border-color:var(--ps09e-blue2)}.ps09e-dashboard-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.ps09e-progress{display:flex;flex-direction:column;align-items:center;justify-content:center;width:130px;height:130px;border-radius:50%;background:#eef4ff;border:8px solid var(--ps09e-blue2);color:var(--ps09e-blue)}.ps09e-progress strong{font-size:28px}.ps09e-progress span{font-size:12px;text-align:center}.ps09e-identity-summary{margin-bottom:24px}.ps09e-login{max-width:540px;margin:30px auto}.ps09e-login input[type=text],.ps09e-login input[type=password]{width:100%;padding:12px;box-sizing:border-box;border:1px solid #cbd4dc;border-radius:8px}.ps09e-login input[type=submit]{background:var(--ps09e-green);color:#fff;border:0;border-radius:8px;padding:12px 20px;font-weight:700}
@media(max-width:760px){.ps09e-wrap{margin:18px 12px}.ps09e-section,.ps09e-card{padding:20px}.ps09e-grid-2,.ps09e-position-grid,.ps09e-check-grid{grid-template-columns:1fr}.ps09e-dashboard-head{align-items:flex-start}.ps09e-progress{width:95px;height:95px;border-width:6px;flex:0 0 auto}.ps09e-position-item{grid-template-columns:1fr 80px}.ps09e-submit-row .ps09e-btn{width:100%}}
.ps09e-hp{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* PS09 Empleo 0.2.0 */
.ps09e-photo-source-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.ps09e-secondary-card{margin:18px 0}.ps09e-secondary-card summary,.ps09e-danger-zone summary{cursor:pointer}.ps09e-danger-zone{border-color:#d63638!important;background:#fffafa}.ps09e-btn-danger{background:#b32d2e!important;color:#fff!important}.ps09e-btn-danger:hover{background:#8f2424!important}.ps09e-current-photo{width:150px;height:150px;object-fit:cover;border-radius:12px;border:1px solid #dfe4e8}.ps09e-cropper canvas{max-width:100%;height:auto;border-radius:12px;border:1px solid #ccd3da;display:block;margin:12px auto}.ps09e-cropper label{display:block;margin:8px 0}.ps09e-cropper input[type=range]{width:100%}
.ps09e-primary-position{font-size:12px;color:#52606a;display:flex!important;align-items:center;gap:5px}.ps09e-primary-position input{width:auto!important}

/* PS09 Empleo 0.3.0: empresas y ofertas */
.ps09e-notice-success{background:#edf8e4;border-color:var(--ps09e-green)}
.ps09e-honeypot{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.ps09e-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ps09e-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 24px;padding:8px;border:1px solid var(--ps09e-border);border-radius:12px;background:#fff;box-shadow:var(--ps09e-shadow)}
.ps09e-tabs a{padding:10px 14px;border-radius:8px;text-decoration:none;color:var(--ps09e-blue);font-weight:700}
.ps09e-tabs a.is-active,.ps09e-tabs a:hover{background:var(--ps09e-blue);color:#fff}
.ps09e-stat-grid{margin-bottom:24px}.ps09e-stat-grid .ps09e-card{display:flex;flex-direction:column;gap:5px}.ps09e-big-number{font-size:34px;color:var(--ps09e-blue)}
.ps09e-section-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.ps09e-section-title h2{margin:0;color:var(--ps09e-blue)}
.ps09e-offer-plan{margin-bottom:20px;border-left:5px solid var(--ps09e-green)}.ps09e-offer-plan p{margin-bottom:0}
.ps09e-checkbox-grid{align-items:start}.ps09e-availability-table{display:grid;grid-template-columns:minmax(110px,1.3fr) repeat(3,minmax(70px,1fr));border:1px solid var(--ps09e-border);border-radius:10px;overflow:hidden;margin:15px 0}.ps09e-availability-table>*{padding:10px;border-right:1px solid var(--ps09e-border);border-bottom:1px solid var(--ps09e-border);text-align:center}.ps09e-availability-table>strong:nth-child(4n+1){text-align:left;background:#f7f9fb;color:var(--ps09e-blue)}.ps09e-availability-table>strong:nth-child(-n+4){background:var(--ps09e-blue);color:#fff}.ps09e-availability-table label{display:flex;align-items:center;justify-content:center;background:#fff}.ps09e-availability-table input{width:20px;height:20px}
.ps09e-offer-list{display:grid;gap:15px}.ps09e-offer-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px}.ps09e-offer-row h2,.ps09e-offer-row h3{margin:8px 0;color:var(--ps09e-blue)}.ps09e-offer-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.ps09e-tag{display:inline-block;padding:5px 10px;border-radius:999px;background:#eaf3d9;color:#4d8100;font-size:12px;font-weight:800}
.ps09e-offer-detail-head{margin-bottom:20px}.ps09e-inline-form{display:inline-flex;margin-left:8px}.ps09e-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0}.ps09e-profile-card{padding:22px}.ps09e-profile-card.is-full{border-top:5px solid var(--ps09e-green)}.ps09e-profile-card.is-partial{border-top:5px solid var(--ps09e-blue2)}.ps09e-profile-card .ps09e-profile-head{justify-content:flex-start;margin:0 0 16px;padding:0;border:0;background:none}.ps09e-profile-card .ps09e-profile-head img,.ps09e-avatar-placeholder{width:84px;height:84px;flex:0 0 84px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 0 0 1px #cbd4dc}.ps09e-avatar-placeholder{display:flex;align-items:center;justify-content:center;background:#eef4ff;font-size:34px}.ps09e-profile-card .ps09e-profile-head h3{margin:7px 0 2px;color:var(--ps09e-blue)}.ps09e-profile-card .ps09e-profile-head p{margin:0}.ps09e-profile-data{display:grid;grid-template-columns:140px 1fr;margin:0}.ps09e-profile-data dt,.ps09e-profile-data dd{margin:0;padding:8px 0;border-bottom:1px solid #edf0f2}.ps09e-profile-data dt{font-weight:700;color:#485862}.ps09e-experience-summary{padding:12px 0;border-bottom:1px solid #edf0f2}.ps09e-experience-summary p{margin:7px 0 0}.ps09e-offer-filters{margin:20px 0}.ps09e-public-offer-detail>a{display:inline-block;margin-bottom:15px}.ps09e-public-offer-detail h2{margin-top:28px}.ps09e-offer-meta{font-size:18px;color:var(--ps09e-muted)}
@media(max-width:760px){.ps09e-grid-3,.ps09e-profile-grid{grid-template-columns:1fr}.ps09e-offer-row{grid-template-columns:1fr}.ps09e-offer-actions{justify-content:flex-start}.ps09e-availability-table{grid-template-columns:minmax(95px,1.2fr) repeat(3,minmax(55px,1fr));font-size:12px}.ps09e-availability-table>*{padding:8px 4px}.ps09e-profile-data{grid-template-columns:1fr}.ps09e-profile-data dt{padding-bottom:2px}.ps09e-profile-data dd{padding-top:2px}.ps09e-dashboard-head{flex-direction:column}.ps09e-section-title{align-items:flex-start;flex-direction:column}}

/* =====================================================
   CANDIDATURA POR PASOS · v0.3.1
===================================================== */
.ps09e-registration-wrap{width:100%;max-width:1050px;margin:0 auto;padding:0 16px;box-sizing:border-box}
.ps09e-registration-form{gap:0;font-size:15px}
.ps09e-registration-form .ps09e-section{padding:34px 38px;border-radius:16px}
.ps09e-registration-form .ps09e-field label{font-size:14.5px}
.ps09e-registration-form .ps09e-field input,.ps09e-registration-form .ps09e-field select,.ps09e-registration-form .ps09e-field textarea,.ps09e-registration-form .ps09e-file-box input[type=file]{min-height:48px;padding:13px 14px;font-size:15px}
.ps09e-registration-form .ps09e-field textarea{min-height:120px}
.ps09e-wizard-head{display:none;margin:0 0 22px;padding:20px 22px;border:1px solid var(--ps09e-border);border-radius:15px;background:#fff;box-shadow:var(--ps09e-shadow);position:sticky;top:12px;z-index:20}
.ps09e-wizard-ready .ps09e-wizard-head{display:block}
.ps09e-wizard-status-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}
.ps09e-wizard-status,.ps09e-draft-status{margin:0}
.ps09e-wizard-status{display:flex;flex-direction:column;color:var(--ps09e-blue)}
.ps09e-wizard-status strong{font-size:17px}
.ps09e-wizard-status span:last-child{color:var(--ps09e-muted);font-size:13px}
.ps09e-draft-status{color:var(--ps09e-muted);font-size:12px;text-align:right;transition:.2s ease}
.ps09e-draft-status.is-saved{color:#4d8100;font-weight:700}
.ps09e-wizard-progress{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}
.ps09e-wizard-progress li{margin:0;padding:0;position:relative}
.ps09e-wizard-progress li:not(:last-child)::after{content:"";position:absolute;top:18px;left:calc(50% + 19px);right:calc(-50% + 19px);height:3px;background:#dfe5ea;z-index:0}
.ps09e-wizard-progress button{position:relative;z-index:1;width:100%;display:flex;flex-direction:column;align-items:center;gap:5px;border:0;background:transparent;color:#7a858e;font:inherit;cursor:pointer;padding:0}
.ps09e-wizard-progress button:disabled{cursor:not-allowed;opacity:.7}
.ps09e-wizard-progress button>span{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:#e8edf1;border:3px solid #fff;box-shadow:0 0 0 1px #d4dce2;font-weight:800;color:#66727b}
.ps09e-wizard-progress button small{font-size:11px;font-weight:700;white-space:nowrap}
.ps09e-wizard-progress button.is-active>span{background:var(--ps09e-blue);color:#fff;box-shadow:0 0 0 2px var(--ps09e-blue)}
.ps09e-wizard-progress button.is-active{color:var(--ps09e-blue)}
.ps09e-wizard-progress button.is-complete>span{background:var(--ps09e-green);color:#fff;box-shadow:0 0 0 1px var(--ps09e-green)}
.ps09e-wizard-progress button.is-complete{color:#4d8100}
.ps09e-wizard-ready .ps09e-wizard-step{display:none}
.ps09e-wizard-ready .ps09e-wizard-step.is-active{display:block;animation:ps09eStepIn .22s ease}
@keyframes ps09eStepIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.ps09e-step-heading{display:flex;align-items:flex-start;gap:15px;margin-bottom:26px;padding-bottom:20px;border-bottom:1px solid #e8edf1}
.ps09e-step-heading>span{display:flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;border-radius:12px;background:var(--ps09e-blue);color:#fff;font-size:20px;font-weight:800}
.ps09e-step-heading h2{margin:0 0 4px!important;font-size:27px!important}
.ps09e-step-heading p{margin:0;color:var(--ps09e-muted)}
.ps09e-wizard-actions{display:none;align-items:flex-end;justify-content:space-between;gap:20px;margin-top:30px;padding-top:24px;border-top:1px solid #e8edf1}
.ps09e-wizard-ready .ps09e-wizard-actions{display:flex}
.ps09e-wizard-actions-left,.ps09e-wizard-actions-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ps09e-wizard-actions-right{justify-content:flex-end;margin-left:auto}
.ps09e-btn-large{min-height:50px;padding:12px 24px}
.ps09e-btn-quiet{border-color:transparent!important;background:transparent!important;color:var(--ps09e-blue)!important;padding-left:5px;padding-right:5px}
.ps09e-btn-quiet:hover{text-decoration:underline!important}
.ps09e-step-error{margin:0;color:#b42318;font-size:13px;font-weight:700;max-width:330px;text-align:right}
.ps09e-field-error{border-color:#d92d20!important;outline:3px solid rgba(217,45,32,.12)!important}
.ps09e-subsection{margin-top:30px;padding-top:24px;border-top:1px solid #e8edf1}
.ps09e-consent-box{margin-top:24px;padding:20px;border:1px solid var(--ps09e-border);border-radius:12px;background:#fafbfd}
.ps09e-consent-box h3{margin:0 0 12px}

.ps09e-sector-accordion{margin:12px 0;padding:0;overflow:hidden;background:#fff}
.ps09e-sector-accordion summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 20px;cursor:pointer;list-style:none;background:#f7f9fb;color:var(--ps09e-blue);font-weight:800;border-radius:11px}
.ps09e-sector-accordion summary::-webkit-details-marker{display:none}
.ps09e-sector-accordion summary::after{content:"+";display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#fff;border:1px solid #ccd5dc;font-size:20px;line-height:1;order:3}
.ps09e-sector-accordion[open] summary::after{content:"−"}
.ps09e-sector-accordion.has-selection{border-color:#a5c66f}
.ps09e-sector-accordion.has-selection summary{background:#f1f7e7}
.ps09e-sector-summary-title{flex:1}
.ps09e-sector-summary-count{font-size:12px;font-weight:700;color:var(--ps09e-muted);white-space:nowrap}
.ps09e-sector-accordion .ps09e-position-grid{padding:15px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;background:#fff}
.ps09e-position-item{display:grid;grid-template-columns:minmax(0,1fr) 82px;align-items:start;gap:10px;padding:14px;border:1px solid #e2e8ed;border-radius:10px;background:#fafbfd;transition:.18s ease}
.ps09e-position-item.is-selected{border-color:#8db94e;background:#f5faed;box-shadow:0 0 0 2px rgba(98,169,0,.08)}
.ps09e-position-choice{display:flex!important;align-items:flex-start;gap:9px;margin:0!important;color:#25333a!important;font-weight:700!important;line-height:1.35}
.ps09e-position-choice input{width:18px!important;height:18px!important;margin-top:1px;flex:0 0 auto}
.ps09e-position-years{display:grid!important;grid-template-columns:1fr;gap:3px;margin:0!important;color:var(--ps09e-muted)!important;font-size:11px!important}
.ps09e-position-years input{width:100%!important;min-height:38px!important;padding:7px 8px!important;text-align:center;background:#fff}
.ps09e-primary-position{grid-column:1/-1;margin:0!important;padding-top:4px;border-top:1px solid #e5eaee;color:#52606a!important}
.ps09e-primary-position input{width:auto!important;height:auto!important}
.ps09e-confirm-experience{margin-top:18px;padding:14px 16px;border-radius:10px;background:#eef4ff}

.ps09e-experience-row{padding:22px;background:#fbfcfd}
.ps09e-availability th,.ps09e-availability td{padding:12px}
.ps09e-file-box{min-height:100%;box-sizing:border-box}

@media(max-width:850px){
  .ps09e-wizard-head{position:static}
  .ps09e-wizard-progress{grid-template-columns:repeat(6,1fr);gap:3px}
  .ps09e-wizard-progress button small{display:none}
  .ps09e-wizard-progress button>span{width:34px;height:34px}
  .ps09e-wizard-progress li:not(:last-child)::after{top:16px;left:calc(50% + 17px);right:calc(-50% + 17px)}
  .ps09e-sector-accordion .ps09e-position-grid{grid-template-columns:1fr}
}
@media(max-width:650px){
  .ps09e-registration-wrap{padding:0 10px}
  .ps09e-registration-form .ps09e-section{padding:22px 17px;border-radius:13px}
  .ps09e-wizard-head{padding:16px 12px;margin-bottom:14px}
  .ps09e-wizard-status-row{display:block;margin-bottom:14px}
  .ps09e-draft-status{text-align:left;margin-top:5px}
  .ps09e-step-heading{gap:11px;margin-bottom:20px}
  .ps09e-step-heading>span{width:38px;height:38px;flex-basis:38px;border-radius:10px;font-size:17px}
  .ps09e-step-heading h2{font-size:22px!important}
  .ps09e-step-heading p{font-size:13px}
  .ps09e-wizard-actions{align-items:stretch;flex-direction:column-reverse}
  .ps09e-wizard-actions-left,.ps09e-wizard-actions-right{width:100%;justify-content:stretch;margin:0}
  .ps09e-wizard-actions .ps09e-btn{flex:1;width:100%}
  .ps09e-step-error{width:100%;max-width:none;text-align:left}
  .ps09e-sector-accordion summary{padding:15px 13px}
  .ps09e-sector-summary-count{display:none}
  .ps09e-position-item{grid-template-columns:minmax(0,1fr) 72px;padding:12px}
  .ps09e-registration-form .ps09e-field input,.ps09e-registration-form .ps09e-field select,.ps09e-registration-form .ps09e-field textarea,.ps09e-registration-form .ps09e-file-box input[type=file]{font-size:16px}
}


/* Ajustes de anchura y pie · v0.3.2 */
.ps09-form-help{width:calc(100% - 32px)!important;max-width:1050px!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box}
.ps09e-already-card{width:100%;box-sizing:border-box}
@media(max-width:650px){.ps09-form-help{width:calc(100% - 20px)!important}}


/* Tarjeta compacta de acceso · v0.3.3 */
.ps09-form-help{
  padding:18px 24px!important;
  margin-top:20px!important;
  border-radius:12px!important;
}
.ps09-form-help h3{
  margin:0 0 4px!important;
  font-size:21px!important;
  line-height:1.2!important;
}
.ps09-form-help p{
  margin:0 0 12px!important;
  font-size:14px!important;
  line-height:1.45!important;
}
.ps09-form-help .ps09-btn{
  min-height:40px!important;
  padding:8px 16px!important;
  font-size:14px!important;
}
@media(max-width:650px){
  .ps09-form-help{padding:16px!important;margin-top:16px!important}
  .ps09-form-help h3{font-size:19px!important}
}


/* Alineación exacta con el cuestionario · v0.3.4 */
/* El contenedor del formulario mide 1050 px incluyendo 16 px de relleno a cada lado;
   por ello la tarjeta visible interior mide 1018 px. */
.ps09-form-help{
  width:calc(100% - 32px)!important;
  max-width:1018px!important;
}
@media(max-width:650px){
  .ps09-form-help{
    width:calc(100% - 20px)!important;
    max-width:none!important;
  }
}

/* Registro de empresas por pasos · v0.3.5 */
.ps09e-company-register-wrap{max-width:1050px!important;margin-top:0!important}
.ps09e-company-wizard-head{position:sticky;top:12px;z-index:15;margin:0 0 18px;padding:16px 20px;border:1px solid var(--ps09e-border);border-radius:14px;background:rgba(255,255,255,.97);box-shadow:0 10px 28px rgba(8,36,92,.08);backdrop-filter:blur(8px)}
.ps09e-company-progress-text{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin-bottom:13px;color:var(--ps09e-blue)}
.ps09e-company-progress-text strong{font-size:16px}.ps09e-company-progress-text span{color:var(--ps09e-muted);font-size:14px}
.ps09e-company-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding:0;list-style:none}
.ps09e-company-progress li{position:relative}.ps09e-company-progress li:not(:last-child)::after{content:"";position:absolute;top:18px;left:calc(50% + 23px);right:calc(-50% + 23px);height:2px;background:#dce3e9}
.ps09e-company-progress button{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:0;border:0;background:transparent;color:#687681;font:inherit;font-weight:700;cursor:pointer}
.ps09e-company-progress button>span{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#eef2f5;color:#667580;box-shadow:0 0 0 1px #d3dce3}
.ps09e-company-progress button.is-active>span{background:var(--ps09e-blue);color:#fff;box-shadow:0 0 0 2px var(--ps09e-blue)}
.ps09e-company-progress button.is-active{color:var(--ps09e-blue)}
.ps09e-company-progress button.is-complete>span{background:var(--ps09e-green);color:#fff;box-shadow:0 0 0 1px var(--ps09e-green)}
.ps09e-company-progress button:disabled{cursor:default;opacity:.65}
.ps09e-company-wizard-ready .ps09e-company-step{display:none}.ps09e-company-wizard-ready .ps09e-company-step.is-active{display:block;animation:ps09eStepIn .22s ease}
.ps09e-company-registration-form{gap:0!important}.ps09e-company-registration-form .ps09e-section{padding:34px 38px}
.ps09e-company-registration-form .ps09e-field-full{margin-top:18px}
.ps09e-company-file-box{margin-top:20px;padding:18px 20px;border:1px dashed #b9c7d1;border-radius:11px;background:#fafbfd}
.ps09e-company-file-box .ps09e-field{margin:0}.ps09e-company-file-box input[type=file]{width:100%;box-sizing:border-box;margin-top:4px;padding:10px;border:1px solid #cbd4dc;border-radius:8px;background:#fff}
.ps09e-company-file-box .ps09e-fine{display:block;margin-top:6px}
.ps09e-billing-block h3{margin:0 0 12px!important}.ps09e-billing-block [data-ps09e-billing-fields]{margin-top:17px}
.ps09e-checkline{display:flex!important;align-items:flex-start;gap:10px;margin:12px 0!important;line-height:1.45}
.ps09e-checkline input[type=checkbox]{flex:0 0 auto;width:18px!important;height:18px!important;margin:2px 0 0!important}
.ps09e-checkline>span{display:block;min-width:0}.ps09e-checkline-card{padding:13px 15px;border:1px solid var(--ps09e-border);border-radius:10px;background:#f7f9fb}
.ps09e-company-consents{margin-top:22px;padding:18px 20px;border:1px solid var(--ps09e-border);border-radius:12px;background:#fafbfd}
.ps09e-company-consents .ps09e-checkline:first-child{margin-top:0!important}.ps09e-company-consents .ps09e-checkline:last-child{margin-bottom:0!important}
.ps09e-company-step-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:28px;padding-top:22px;border-top:1px solid #e8edf1}
.ps09e-company-final-actions>div{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.ps09e-company-final-actions p{margin:0;color:var(--ps09e-muted);font-size:13px}
.ps09e-company-submit{min-width:245px;min-height:52px;padding:13px 26px;font-size:17px}
.ps09e-company-form-error{min-height:20px;margin:15px 0 0;color:#b42318;font-size:13px;font-weight:700;text-align:right}
.ps09e-company-registration-form [hidden]{display:none!important}
@media(max-width:760px){
  .ps09e-company-wizard-head{position:static;padding:14px 12px}.ps09e-company-progress button small{display:none}.ps09e-company-progress button{gap:0}.ps09e-company-progress li:not(:last-child)::after{left:calc(50% + 19px);right:calc(-50% + 19px)}
  .ps09e-company-registration-form .ps09e-section{padding:22px 17px}.ps09e-company-step-actions{align-items:stretch;flex-direction:column-reverse}.ps09e-company-step-actions .ps09e-btn{width:100%}.ps09e-company-final-actions>div{width:100%;align-items:stretch}.ps09e-company-final-actions p{text-align:center}.ps09e-company-submit{min-width:0;width:100%}.ps09e-company-form-error{text-align:left}
}


/* Alineación de módulos inferiores del registro de empresas · v0.3.6 */
.ps09-company-register-help{
  width:100%!important;
  max-width:1050px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
@media(max-width:700px){
  .ps09-company-register-help{
    width:100%!important;
    max-width:none!important;
  }
}

/* Localidades normalizadas y alineación de filtros · v0.3.7 */
.ps09e-field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.ps09e-field select{
  min-height:48px;
  height:48px;
  box-sizing:border-box;
}
.ps09e-location-field [data-ps09e-location-other]{
  margin-top:9px;
}
.ps09e-location-field [hidden]{display:none!important}
.ps09e-offer-filters .ps09e-grid{align-items:end}
.ps09e-offer-filters .ps09e-field input,
.ps09e-offer-filters .ps09e-field select{
  width:100%!important;
  min-height:48px!important;
  height:48px!important;
  margin:0!important;
  padding:0 14px!important;
  line-height:normal!important;
  box-sizing:border-box!important;
}
.ps09e-offer-filters .ps09e-field label{margin-bottom:7px!important}
.ps09e-offer-filters .ps09e-btn{margin-top:14px}
@media(max-width:650px){
  .ps09e-offer-filters .ps09e-grid{grid-template-columns:1fr}
}


/* Ajuste de alineación de contraseña en alta de candidatos · v0.3.8 */

/* Puestos dependientes e imagen de oferta · v0.3.9 */
.ps09e-offer-image-options{display:grid;gap:10px;margin:18px 0}
.ps09e-offer-image-options label{display:flex;align-items:flex-start;gap:9px;padding:12px 14px;border:1px solid var(--ps09e-border);border-radius:10px;background:#fafbfd;cursor:pointer}
.ps09e-offer-image-options input[type=radio]{width:18px;height:18px;margin:2px 0 0;flex:0 0 auto}
.ps09e-offer-image-upload{margin-top:14px;padding:18px;border:1px dashed #b8c4ce;border-radius:12px;background:#fafbfd}
.ps09e-offer-image-upload[hidden]{display:none!important}
.ps09e-offer-image-preview,.ps09e-offer-current-image{display:block;width:min(100%,360px);height:auto;margin-top:14px;border-radius:12px;border:1px solid #d7e0e7;background:#fff;box-shadow:0 7px 20px rgba(8,36,92,.08)}
.ps09e-offer-row.has-image{display:grid;grid-template-columns:150px minmax(0,1fr) auto;align-items:center;gap:22px}
.ps09e-offer-card-image{width:150px;height:120px;object-fit:cover;border-radius:10px;border:1px solid #dfe4e8;background:#f4f6f8}
.ps09e-offer-card-content{min-width:0}
.ps09e-public-offer-image{display:block;width:min(100%,760px);max-height:520px;object-fit:contain;margin:22px auto 28px;border-radius:14px;border:1px solid #dfe4e8;background:#f7f9fb}
@media(max-width:760px){
  .ps09e-offer-row.has-image{grid-template-columns:1fr}
  .ps09e-offer-card-image{width:100%;height:auto;max-height:300px;object-fit:cover}
  .ps09e-offer-row.has-image .ps09e-btn{width:100%}
}


/* Ajustes globales de validación, acceso y anchuras · v0.3.11 */
.ps09e-company-existing-wrap,
.ps09e-access-state-wrap{
  width:min(1050px,calc(100% - 32px))!important;
  max-width:1050px!important;
  margin:24px auto!important;
  box-sizing:border-box!important;
}
.ps09e-company-existing-card,
.ps09e-access-state-card{
  width:100%!important;
  box-sizing:border-box!important;
}
.ps09e-company-existing-card{padding:28px 34px!important}
.ps09e-company-existing-card p{margin:0 0 20px!important;font-size:17px}
.ps09e-session-mismatch{margin:0 0 16px!important}
@media(max-width:650px){
  .ps09e-company-existing-wrap,
  .ps09e-access-state-wrap{width:calc(100% - 20px)!important;margin:16px auto!important}
  .ps09e-company-existing-card{padding:20px!important}
}


/* Editor manual de fotografía tipo carnet en edición · v0.3.12 */
.ps09e-cropper-portrait{margin-top:18px;padding:18px;border:1px solid #d9e1e7;border-radius:12px;background:#f7f9fb}
.ps09e-photo-editor-help{max-width:620px;margin:0 auto 14px;color:#4e5d67;font-size:14px;line-height:1.5;text-align:center}
.ps09e-photo-editor-frame{position:relative;width:min(100%,360px);aspect-ratio:3/4;margin:0 auto;overflow:hidden;border:3px solid #08245c;border-radius:10px;background:#dfe6ec;box-shadow:0 10px 28px rgba(8,36,92,.16);touch-action:none}
.ps09e-photo-editor-frame canvas{display:block;width:100%!important;height:100%!important;max-width:none!important;margin:0!important;border:0!important;border-radius:0!important;cursor:grab;touch-action:none;user-select:none}
.ps09e-photo-editor-frame canvas.is-dragging{cursor:grabbing}
.ps09e-photo-safe-area{position:absolute;inset:7%;pointer-events:none;border:1px dashed rgba(255,255,255,.9);box-shadow:0 0 0 999px rgba(8,36,92,.08)}
.ps09e-photo-safe-area::before,.ps09e-photo-safe-area::after{content:"";position:absolute;background:rgba(255,255,255,.5)}
.ps09e-photo-safe-area::before{top:0;bottom:0;left:50%;width:1px}
.ps09e-photo-safe-area::after{left:0;right:0;top:50%;height:1px}
.ps09e-photo-editor-controls{display:flex;align-items:end;justify-content:center;gap:14px;flex-wrap:wrap;max-width:620px;margin:15px auto 0}
.ps09e-photo-editor-controls label{display:grid!important;grid-template-columns:62px minmax(180px,320px)!important;align-items:center;gap:10px;flex:1;max-width:410px;margin:0!important;color:#25333a;font-weight:700}
.ps09e-photo-editor-controls input[type=range]{width:100%}
.ps09e-photo-editor-controls .ps09e-btn{min-height:40px;padding:8px 14px;font-size:13px}
@media(max-width:650px){.ps09e-photo-editor-frame{width:min(100%,300px)}.ps09e-photo-editor-controls{align-items:stretch;flex-direction:column}.ps09e-photo-editor-controls label{grid-template-columns:55px 1fr!important;width:100%;max-width:none}.ps09e-photo-editor-controls .ps09e-btn{width:100%}}
