/* Production adaptation of the supplied ProBridge design. */
:root{--ink:#000;--muted:#000}
@font-face{font-family:Public Sans;src:url('assets/public-sans.woff2') format('woff2');font-display:swap;font-weight:100 900}
:root{color-scheme:light;--display:'Public Sans',Arial,sans-serif;--body:'Public Sans',Arial,sans-serif;--serif:Georgia,serif;--shell-bg:#f4f8f5;--shell-ink:#1c2a22;--shell-bar:#fff;--shell-line:#dde7e0}
body{font-family:var(--body);background:#f4f8f5;color:var(--ink);font-size:16px;line-height:1.5}
[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;top:-100px;left:12px;z-index:1000;padding:12px;background:#fff;color:#006040}.skip-link:focus{top:12px}
.stage{display:block;max-width:none;margin:0;min-height:calc(100vh - 90px)}
.app{display:block;overflow:visible;min-height:calc(100vh - 90px);border-left:1px solid var(--line);border-right:1px solid var(--line)}
.app-head{padding:12px 40px;position:relative}.home-link{border:0;background:none;text-align:left;padding:0;min-height:44px;display:inline-flex;align-items:center;gap:12px}.brand-emblem{display:flex;align-items:center;justify-content:center;width:56px;height:56px;overflow:hidden;flex:none}.app-head .brand-emblem img{width:160%;height:160%;max-width:none;flex:none;object-fit:contain}
.head-note{font-size:14px!important}.screen{padding:34px 40px 48px}.landing-hero{gap:42px;padding:18px 0 38px}.landing-hero .screen-title{font-size:clamp(32px,4vw,49px)}
.entry-grid{gap:18px}.entry-card{min-height:275px}.entry-card p{font-size:15px}.entry-card .go{font-size:15px}.entry-meta{font-size:12px}.entry-card .go svg{display:none}.hero-proof span{font-size:14px}.hero-proof strong{font-size:13px}
.hero-sheet-foot{font-size:12px}.hero-sheet-foot strong{font-size:12px}.hero-bar{display:none}.hero-float strong,.hero-float span{font-size:13px}.hero-person strong{white-space:normal}.hero-contact{white-space:normal}
.trust-row{font-size:14px}.site-footer{max-width:none;margin:0;display:flex;gap:16px;justify-content:space-between;padding:20px 40px;font-size:13px;color:#526459;flex-wrap:wrap}
.draft-notice{display:flex;gap:14px;align-items:center;background:#e6f2ec;border:1px solid #b5d4c2;border-left:4px solid #006040;padding:18px;margin-bottom:24px;border-radius:8px;flex-wrap:wrap}.draft-notice div{flex:1;min-width:180px}.draft-notice p{margin:3px 0 0;font-size:14px}
.btn{min-height:46px;font-size:16px}.btn:disabled{cursor:not-allowed;opacity:.55}.mini-link{min-height:44px;font-size:14px}.btn.small{font-size:14px;min-height:44px}.tpl-toggle button{min-height:44px;font-size:14px}.badge{font-size:12px}.template-card p{font-size:16px}
.pstep{min-height:52px}.pstep::before{display:none!important;pointer-events:none}.pstep .plabel{font-size:14px}.progress{margin-bottom:24px}.builder-layout{align-items:start;gap:32px}.form-col{min-width:0}.preview-col{position:sticky;top:16px;min-width:0}.preview-head{flex-wrap:wrap;gap:8px}.pv-label{font-size:14px}.live-dot{display:none}
.field label,.checkline,.skill-check{font-size:16px}.field input,.field select,.field textarea{font-size:16px;min-height:48px;line-height:1.5}.field label .opt{font-size:14px}.step-hint{font-size:16px}.step-panel h3{font-size:25px;letter-spacing:-.025em}.photo-note{font-size:14px}.photo-circle{flex-shrink:0}.photo-row{align-items:flex-start}.no-experience{margin:18px 0;padding:14px;background:#f4f8f5;border:1px solid var(--line);border-radius:8px;min-height:48px}.checkline input{width:20px;height:20px;flex:none;accent-color:#006040}.skills-grid label{min-height:48px;font-size:15px}
.error{color:#a32b22;font-size:14px;margin:6px 0 12px}.error:empty{display:none}[aria-invalid=true]{border-color:#b7352a!important;box-shadow:0 0 0 1px #b7352a}.field-error{display:block;color:#a32b22;font-size:14px;margin:6px 0}.notice{padding:14px;background:#faf1dc;border-radius:6px;margin:16px;color:#614809}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #a67c26;outline-offset:4px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #006040;outline-offset:2px}.photo-row:focus-within{outline:2px solid #006040;outline-offset:4px;border-radius:8px}
.resume{font-family:var(--body);font-size:13px;overflow-wrap:anywhere;line-height:1.55;background:#fff}.resume .r-name{font-family:var(--display)}.resume.classic .r-sec h5{color:#1c2a22}.resume .r-contact{overflow-wrap:anywhere;white-space:normal;font-size:12px}.resume .r-sec{break-inside:avoid}.resume .r-body{padding:20px 24px}.resume .r-meta{font-size:12px}.resume .r-band{display:flex;align-items:center;gap:12px}.resume .r-band .r-name{color:#fff}.resume .r-band>div:first-child{flex:1;min-width:0}.resume .r-photo{margin-left:auto;width:64px;height:64px;flex:none}.resume .r-photo img{width:100%;height:100%;object-fit:cover}.resume .resume-icon{width:34px;height:34px;object-fit:contain;background:white;border-radius:4px;padding:2px}.resume .empty-preview{color:#76837b;font-style:italic}.resume-edit{display:block;text-align:right;font-size:13px;margin:2px 0;border:0;background:transparent;color:#006040;min-height:32px;text-decoration:underline}.resume .r-skills{display:block}.resume .r-skills span{display:inline}.resume ul{padding-left:18px}.resume .r-sec h5{margin-bottom:7px}.resume .role-description{white-space:pre-line}.resume .r-sec h5{font-size:13px}.review-block dd{overflow-wrap:anywhere}.review-block dt,.review-block dd{font-size:14px}.review-block .edit-link{min-height:44px;font-size:14px}
.download-wrap{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}.consent-check{font-size:16px;line-height:1.6}.consent-check input{width:22px;height:22px;flex:none;accent-color:#006040}.consent-card .c-sub{font-size:16px}.consent-done{font-size:15px}.consent-card .btn{width:100%;margin-top:12px}#directory-status{font-size:14px}#download-status,#removal-contact{grid-column:1;font-size:15px}#download-status:empty,#removal-contact:empty{display:none}#removal-contact a{color:#006040}#source-text{white-space:pre-wrap;max-height:220px;overflow:auto;font:14px/1.5 var(--body)}
dialog{border:1px solid #c5d9cc;border-radius:12px;padding:28px;max-width:560px;width:calc(100% - 32px);color:#1c2a22}dialog::backdrop{background:rgba(10,30,20,.5)}dialog h2{margin-top:0}dialog .btn{margin-top:18px;margin-right:8px}dialog p{line-height:1.6}.toast{max-width:min(520px,calc(100vw - 32px));font-size:15px;visibility:hidden}.toast.show{visibility:visible}.import-source{margin-bottom:18px;font-size:14px}.save-warning{color:#a32b22!important}.template-card .thumb{height:280px}.thumb .t-head{font-size:11px}.thumb .t-role{font-size:12px}.role-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:8px}.role-head .role-title{margin:0;padding:0;background:none;border:0}.role-head .mini-link{flex:none}
@media(max-width:760px){.stage.mobile .app-head{padding:12px 18px}.stage.mobile .screen{padding:24px 18px 36px}.stage.mobile .landing-hero .screen-title{font-size:36px}.stage.mobile .landing-hero .screen-sub{font-size:16px}.stage.mobile .hero-proof{display:none}.stage.mobile .hero-visual{display:none}.stage.mobile .landing-hero{display:block}.stage.mobile .hero-copy{margin-bottom:26px}.stage.mobile .entry-card{min-height:unset;padding:18px}.stage.mobile .entry-card p{font-size:15px}.stage.mobile .entry-card .entry-meta{display:none}.stage.mobile .entry-card .go{padding-top:6px}.stage.mobile .entry-card h3{font-size:19px}.stage.mobile .entry-grid{gap:12px}.stage.mobile .entry-icon{width:38px;height:38px}.stage.mobile .head-note{display:none}.stage.mobile .builder-layout{display:block}.stage.mobile .form-col.hidden-m{display:none}.stage.mobile .preview-col{display:none;position:static}.stage.mobile .preview-col.shown-m{display:block}.stage.mobile .seg-toggle{display:flex;position:sticky;top:0;z-index:10;background:#f4f8f5}.stage.mobile .seg-toggle button{font-size:15px;min-height:46px}.stage.mobile .pstep .plabel{font-size:12px}.stage.mobile .progress{gap:1px}.stage.mobile .pstep{padding:4px 1px}.stage.mobile .resume{padding:22px 18px}.stage.mobile .resume.modern{padding:0}.stage.mobile .field-row{grid-template-columns:1fr}.stage.mobile .skills-grid{grid-template-columns:1fr}.stage.mobile .download-wrap{display:block}.stage.mobile .download-wrap .screen-title{font-size:30px}.stage.mobile .consent-card{margin-top:26px}.stage.mobile .template-grid{grid-template-columns:1fr}.stage.mobile .photo-row{gap:12px}.stage.mobile .wordmark{font-size:18px}.site-footer{padding:20px 18px}.stage.mobile .draft-notice .btn{flex:1}.stage.mobile .step-nav{position:static}.stage.mobile .review-block dl{grid-template-columns:90px minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{body{background:white}.app-head,.site-footer,.progress,.seg-toggle,.form-col,.preview-head,.resume-edit{display:none!important}.stage,.app,.screen,.builder-layout,.preview-col{display:block!important;padding:0!important;border:0!important}.screen:not([data-screen=builder]){display:none!important}.resume{box-shadow:none;border:0}.resume.modern .r-band{background:white;color:#111}.resume.modern .r-band .r-name,.resume.modern .r-band .r-contact{color:#111}}
.resume.modern .r-body .r-contact{color:#526459}.field input[type],.field select,.field textarea,.step-panel .step-hint{font-size:16px}.resume-edit{min-height:44px}.pstep{min-width:0}.pstep .plabel{overflow-wrap:anywhere}.pstep .dot{flex-shrink:0}
.screen h2[tabindex="-1"]:focus,.step-panel h3[tabindex="-1"]:focus{outline:none}
.education-block{min-width:0;margin:0 0 20px}.education-block legend{padding:0 8px;font-weight:700;color:#006040;font-size:16px}.education-actions{display:flex;justify-content:flex-end}.education-actions button:disabled{opacity:.45;cursor:not-allowed}.resume-education+.resume-education{margin-top:14px}.field textarea[data-field="duties"]{min-height:160px;resize:vertical}
.stage.mobile .pstep:nth-child(2){flex:1.15}.stage.mobile .pstep:nth-child(3){flex:1.3}.stage.mobile .pstep:nth-child(4){flex:.8}
.stage.mobile .brand-emblem{width:48px;height:48px}
.app-head .wordmark,.stage.mobile .app-head .wordmark{font-size:21px;letter-spacing:-.025em;white-space:nowrap}.app-head .wordmark b{color:#a87418;margin-left:.12em}
.date-fields{border:0;padding:0;margin:0;min-width:0}.date-fields legend{font-weight:700;margin-bottom:8px}.date-fields .field label{font-size:14px;font-weight:500}.editor-toolbar{display:flex;gap:6px;flex-wrap:wrap;background:#edf2ee;padding:8px;border:1px solid var(--line);border-radius:6px 6px 0 0}.editor-toolbar button{background:#fff;color:#000;border:1px solid #b5c8bd;border-radius:4px;padding:8px 12px;min-height:44px}.editor-toolbar button:hover{background:#e6f2ec}.editor-help{font-size:13px;margin:6px 0 0;color:#000}.timeline-warnings{padding:16px;border:1px solid #d0a040;border-radius:8px;background:#fff8e8;color:#000;margin:20px 0}.timeline-warnings ul{padding-left:20px}.timeline-warnings li+li{margin-top:8px}.timeline-warnings p{margin-bottom:0;font-size:14px}

/* Neutral text stays black, including hints and browser placeholders. */
.phone-input{display:flex;gap:8px;align-items:start}.phone-input>input{min-width:0;flex:1}.phone-input>div{flex:none}.country-picker{position:relative}.country-picker summary{list-style:none;display:flex;align-items:center;gap:6px;min-height:48px;padding:8px;border:1px solid #c5d9cc;border-radius:6px;cursor:pointer;background:#fff;color:#000;font-size:14px}.country-picker summary::-webkit-details-marker{display:none}.country-picker img{width:24px;height:16px;object-fit:cover;flex:none}.country-menu{position:absolute;top:calc(100% + 4px);left:0;width:300px;max-width:calc(100vw - 72px);z-index:100;background:white;border:1px solid #b5c8bd;border-radius:8px;padding:8px;box-shadow:0 8px 24px #0002}.country-options{max-height:250px;overflow:auto;margin-top:8px}.country-options button{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;text-align:left;background:#fff;color:#000;border:0;padding:8px}.country-options button span:nth-child(2){flex:1}.country-options button:hover,.country-options button[aria-pressed="true"]{background:#e6f2ec}.custom-skill-entry{display:flex;gap:10px}.custom-skill-entry input{min-width:0;flex:1}.custom-skill-entry .btn{white-space:nowrap}.custom-skills{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.custom-skill{display:inline-flex;align-items:center;gap:8px;padding:2px 6px 2px 12px;background:#e6f2ec;border:1px solid #b5d4c2;border-radius:20px;color:#000}.custom-skill button{border:0;background:transparent;color:#006040;min-height:36px;min-width:36px;font-size:22px;cursor:pointer}
.import-reference{border:1px solid var(--line);border-radius:8px;padding:14px;margin-bottom:20px;background:#f4f8f5;color:#000}.import-reference summary{cursor:pointer;font-weight:700}.import-reference pre{max-height:260px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.5 var(--body)}
.country-menu>input{width:100%}
.country-picker summary img{width:36px;height:24px;object-fit:contain}.country-options img{width:30px;height:20px;object-fit:contain}
#discard-dialog{max-height:calc(100dvh - 32px);overflow-y:auto;overflow-x:hidden}#discard-dialog p{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;max-height:none}.dialog-actions{display:flex;gap:12px;flex-wrap:wrap}.dialog-actions .btn{margin-right:0;flex:1;white-space:normal}
.duties-editor.ql-container{font:16px/1.5 var(--body);border:1px solid var(--line);border-top:0;border-radius:0 0 6px 6px;background:white;height:220px;resize:vertical;overflow:auto;min-height:160px}
.duties-editor .ql-editor{padding:14px;min-height:160px;white-space:pre-wrap;color:#000;overflow-wrap:anywhere}
.duties-editor .ql-editor.ql-blank::before{color:#000;font-style:normal}
.duties-editor:focus-within{outline:2px solid #006040;outline-offset:2px}
.editor-toolbar button.ql-active{background:#006040;color:white;border-color:#006040}
.description-line{white-space:pre-wrap;overflow-wrap:anywhere}.description-list{display:flex;align-items:baseline}.description-list>span:last-child{flex:1;min-width:0}.description-marker{width:1.5em;flex:none}
.description-line.indent-1{margin-left:2em}.description-line.indent-2{margin-left:4em}.description-line.indent-3{margin-left:6em}.description-line.indent-4{margin-left:8em}.description-line.indent-5{margin-left:10em}.description-line.indent-6{margin-left:12em}.description-line.indent-7{margin-left:14em}.description-line.indent-8{margin-left:16em}
.site-footer,dialog,.entry-card::after,.thumb .t-name,.resume,
.resume .r-name,.resume .r-role,.resume .r-contact,.resume .r-meta,
.resume .empty-preview,.resume.classic .r-sec h5,
.resume.modern .r-body .r-contact{color:#000}
input::placeholder,textarea::placeholder{color:#000;opacity:1}

/* Keep long resumes inside the preview, with template controls always visible. */
.stage.desktop .preview-col{position:sticky;top:16px;display:flex;flex-direction:column;height:calc(100dvh - 32px);min-height:400px;overflow:hidden}
.preview-fit{display:flex;gap:4px;margin-left:auto}.preview-fit button{min-height:36px;border:1px solid #b5c8bd;border-radius:4px;background:#fff;color:#000;padding:6px 10px;font-size:13px}.preview-fit button[aria-pressed="true"]{background:#e0eee5;border-color:#006040;font-weight:700}.resume-role+.resume-role{margin-top:24px}
.preview-head{flex:none}
.preview-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:4px 8px 20px}
.preview-scroll:focus-visible{outline:2px solid #006040;outline-offset:0;border-radius:4px}
.preview-scroll .resume{width:100%;max-width:794px;min-height:900px;margin:0 auto}
@media(max-width:760px){.stage.mobile .preview-col.shown-m{display:flex;flex-direction:column;height:70dvh;min-height:320px;overflow:hidden}.preview-scroll{padding:4px 2px 16px}.preview-scroll .resume{min-height:600px}.site-footer{padding:20px 18px}}
@media print{.stage.desktop .preview-col,.stage.mobile .preview-col.shown-m,.preview-scroll{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;position:static!important}.preview-scroll{padding:0;display:block;scrollbar-gutter:auto}.preview-scroll .resume{zoom:1!important;width:auto!important;max-width:none;min-height:0!important}}

/* Export the paper independently of the preview viewport and mobile layout. */
.resume.pdf-export{padding:0;font-size:13px}
.resume.pdf-export .r-sec{break-inside:auto}
.resume.pdf-export .r-sec h5{break-after:avoid}
.resume.pdf-export .r-body{padding:20px 24px 0}
.resume.pdf-export .r-photo{border-radius:50%;overflow:hidden}
