:root{--navy:#652858;--navy2:#54214b;--forest:#8a3978;--gold:#c6a351;--paper:#fbf8fb;--text:#322635;--mute:#6b6170;--line:#e7dbe5;--white:#fff;--pink:#f8eef5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:var(--paper);font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #c8aa63;outline-offset:3px}.shell{width:min(1200px,calc(100% - 40px));margin:auto}.site-header{background:#fff;border-bottom:1px solid var(--line)}.header-row{display:flex;align-items:center;gap:14px;min-height:96px}.mark{display:grid;place-items:center;width:56px;height:56px;border:2px solid #a89056;border-radius:50%;color:#f5eac7;background:var(--navy);font-weight:800;font-size:15px;letter-spacing:.09em;flex-shrink:0}.brand{display:flex;flex-direction:column;line-height:1.25;gap:3px}.brand strong{font-size:19px}.brand small{font-size:12px;color:var(--mute)}.eyebrow{text-transform:uppercase;letter-spacing:.11em;font-weight:750;font-size:11px;color:#927844;margin:0}.pill{margin-left:auto;border:1px solid #dbe6df;background:#f2f7f4;color:var(--forest);padding:7px 12px;border-radius:999px;font-size:12px;font-weight:650;white-space:nowrap}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#477c59;margin-right:5px}.intro{display:flex;align-items:end;justify-content:space-between;gap:24px;padding:34px 0 28px}.intro h1{font-size:clamp(29px,4vw,42px);margin:4px 0 4px;letter-spacing:-.035em}.intro p:not(.eyebrow){margin:0;max-width:710px;color:var(--mute);font-size:15px}.badge-privacy{background:#ecf4ef;padding:14px 16px;border-radius:12px;min-width:215px;max-width:250px;border-left:3px solid #4d7b63;display:flex;flex-direction:column;line-height:1.45}.badge-privacy strong{font-size:13px}.badge-privacy span{font-size:12px;color:#4c6457;margin-top:3px}.workbench{display:grid;grid-template-columns:265px minmax(0,1fr);background:white;border:1px solid var(--line);border-radius:17px;overflow:hidden;box-shadow:0 12px 36px #172a2220}.sidebar{background:#f1f5f1;border-right:1px solid var(--line);padding:26px 17px;display:flex;flex-direction:column}.sidebar-heading{display:flex;justify-content:space-between;align-items:center;padding:0 10px 14px;font-size:13px;font-weight:700}.sidebar-heading small{color:var(--forest)}.section-nav{display:flex;flex-direction:column;gap:3px}.section-link{width:100%;border:none;text-align:left;background:transparent;border-radius:8px;padding:10px;font-weight:600;color:#56675f;font-size:12.5px;line-height:1.35;display:flex;align-items:center;gap:9px}.section-link:hover{background:#e7eee9}.section-link.active{color:#fff;background:var(--navy)}.section-link .number{background:#e2eae4;color:#35534a;flex-shrink:0;min-width:25px;height:25px;display:grid;place-items:center;border-radius:6px;font-size:11px}.section-link.active .number{background:#395d50;color:#fff}.sidebar-foot{margin-top:auto;padding:22px 8px 0;font-size:12px;color:var(--mute)}.content{position:relative;padding:30px 38px 26px;min-width:0}.progress-line{height:4px;background:#ebefec;position:absolute;top:0;left:0;right:0}.progress-bar{height:100%;width:0;background:var(--gold);transition:width .2s}.content-head{display:flex;justify-content:space-between;gap:15px;align-items:center}.content-head h2{font-size:clamp(19px,3vw,26px);letter-spacing:-.025em;margin:5px 0 0}.notice{border:1px solid #e8ead8;background:#fafaf3;border-radius:9px;font-size:12.5px;color:#646649;padding:12px 15px;margin:20px 0 22px}.fields{display:flex;flex-direction:column;gap:23px}.field{border-bottom:1px solid #eef1ee;padding-bottom:22px}.field:last-child{border:0}.field-heading{display:flex;gap:9px;align-items:baseline}.field-number{font-size:12px;color:#82928a;flex-shrink:0;min-width:26px}.field-label{font-weight:650;font-size:14px;line-height:1.55}.field-note{color:var(--mute);font-size:12px;margin:5px 0 6px 35px}.input-wrap{padding-left:35px;margin-top:9px}.input-text,.input-area,.input-date,.upload-input{width:100%;border:1px solid #d1ddd6;background:#fff;border-radius:8px;padding:10px 13px;color:var(--text);font-size:14px;min-height:42px}.input-text:focus,.input-area:focus,.input-date:focus{border-color:var(--forest)}.input-area{min-height:82px;resize:vertical}.choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(225px,1fr));gap:9px;margin-top:10px;padding-left:35px}.option{display:flex;align-items:flex-start;gap:10px;border:1px solid #e0e7e2;border-radius:8px;padding:11px;background:#fff;cursor:pointer;font-size:13px;line-height:1.45}.option:hover{background:#f8faf8}.option:has(input:checked){border-color:#7ba98d;background:#f0f7f2}.option input{accent-color:var(--forest);flex-shrink:0;margin-top:3px;width:16px;height:16px}.another{margin-top:10px}.signature-box{margin-top:10px;max-width:540px;border:1px solid #cbd9d0;border-radius:8px;overflow:hidden;background:white}.signature-head{display:flex;justify-content:space-between;align-items:center;background:#f6f8f6;padding:6px 11px;font-size:11px;color:#62766d}.signature-head button{border:0;background:none;color:#165d50;text-decoration:underline;font-size:12px}.signature-pad{display:block;width:100%;height:125px;touch-action:none;cursor:crosshair;background:linear-gradient(white,white) padding-box,linear-gradient(#eee,#ddd) border-box}.upload-desc{font-size:12px;color:var(--mute);margin:7px 0 0}.navigation{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:28px;padding-top:19px;border-top:1px solid var(--line)}.navigation span{font-size:12px;color:var(--mute)}.primary,.outline,.danger{border-radius:9px;padding:11px 16px;font-size:13px;font-weight:750;border:1px solid transparent;min-height:43px}.primary{color:white;background:var(--navy)}.primary:hover{background:#315a4d}.outline{color:#315b4e;background:white;border-color:#ccd9d1}.outline:hover{background:#f6f8f6}.danger{background:#9e3c42;color:white}.mini{font-size:11px;min-height:35px;padding:7px 10px;white-space:nowrap}.export-panel{margin-top:28px;border:1px solid #d9e1db;border-radius:16px;background:linear-gradient(110deg,#e9f0eb,#fff);padding:28px 34px;display:grid;grid-template-columns:1fr 280px;gap:35px;align-items:center}.export-panel h2{font-size:23px;margin:2px 0 8px}.export-panel p:not(.eyebrow){font-size:13px;line-height:1.65;color:#50675b;max-width:680px;margin:0 0 8px}.export-panel small{font-size:11px;color:#6d7771}.export-actions{display:flex;flex-direction:column;gap:10px}.download{font-size:14px}.link-button{text-decoration:none;text-align:center}.status{min-height:22px;font-size:12px;color:#37674e}.status.error{color:#9c3333}footer{font-size:11px;color:#79877e;text-align:center;padding:26px 15px 36px}dialog{border:0;border-radius:16px;box-shadow:0 30px 120px #0006;max-width:min(480px,92vw)}dialog::backdrop{background:#1628229c}.modal{padding:24px}.modal h3{margin:0}.modal p{font-size:13px;color:var(--mute)}.modal div{display:flex;justify-content:flex-end;gap:10px}@media(max-width:800px){.shell{width:min(100% - 26px,800px)}.intro{align-items:flex-start;flex-direction:column}.workbench{grid-template-columns:1fr}.sidebar{border-bottom:1px solid var(--line);border-right:0;padding:14px}.sidebar-heading{padding-bottom:5px}.section-nav{display:flex;overflow-x:auto;flex-direction:row;padding:5px 0;scrollbar-width:thin}.section-link{flex:0 0 auto;max-width:190px}.sidebar-foot{display:none}.content{padding:25px 18px}.choices{grid-template-columns:1fr}.export-panel{grid-template-columns:1fr;padding:24px 19px}.pill{display:none}}@media(max-width:420px){.header-row{min-height:79px}.brand strong{font-size:16px}.mark{width:43px;height:43px;font-size:12px}.content-head{align-items:flex-start}.content-head .mini{font-size:10px}.intro{padding-top:22px}.navigation .primary,.navigation .outline{padding:9px;font-size:12px}.export-panel h2{font-size:20px}}@media print{.sidebar,.navigation,.export-panel,footer,.notice{display:none}}

/* Acesso por QRA e matrícula, sem etapa de cadastro */
[hidden]{display:none!important}
body.access-locked{background:linear-gradient(145deg,#eff4f0,#f5eaf2)}
.login-view{min-height:100dvh;display:grid;place-items:center;padding:30px 16px}
.login-card{width:min(100%,470px);background:white;border:1px solid var(--line);border-radius:19px;box-shadow:0 18px 60px #15382b1a;padding:32px}
.login-mark{margin-bottom:18px}
.login-card h1{font-size:clamp(26px,5vw,34px);line-height:1.18;letter-spacing:-.035em;margin:5px 0 12px}
.login-lead{color:var(--mute);font-size:14px;margin:0 0 24px}
.login-label{display:block;font-size:13px;font-weight:750;margin:15px 0 6px}
.login-card input{width:100%;height:48px;padding:11px 14px;border:1px solid #cbd9d0;border-radius:9px;outline-offset:3px;background:#fff}
.login-card input:focus{border-color:#246859}
.login-submit{margin-top:12px;width:100%}
.login-error{font-size:12px;color:#98353b;min-height:17px;margin:8px 0 0}
.login-security{border-top:1px solid var(--line);padding-top:14px;font-size:11px;color:#7a7468;line-height:1.5;margin:20px 0 0}
.session-box{margin-left:auto;display:flex;align-items:center;gap:10px}
.session-box .pill{margin-left:0}
@media(max-width:800px){.session-box .pill{display:block;white-space:normal;max-width:180px;line-height:1.25}.session-box{margin-left:auto;gap:5px}.session-box .mini{padding:6px 8px}}
@media(max-width:500px){.login-card{padding:22px}.session-box{align-self:stretch;flex-direction:column;justify-content:center}.session-box .pill{font-size:10px}.brand .eyebrow{font-size:9px}.brand small{display:none}}

/* Identidade visual oficial da PRODAMU e brasão da GCM Osasco, sem mudanças no PDF. */
.crest-link{display:inline-flex;justify-content:center;align-items:center;flex-shrink:0;border-radius:50%;text-decoration:none;transition:transform .15s ease, box-shadow .15s ease}
.crest-link:hover{transform:translateY(-1px)}
.crest-link:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.crest-logo{display:block;object-fit:contain;max-width:100%;height:auto}
.prodamu-logo{border-radius:50%}
.login-crests{display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:23px}
.login-crests .gcm-logo{width:72px;height:auto}
.login-crests .prodamu-logo{width:102px;height:102px}
.header-home .prodamu-logo{width:62px;height:62px}
.header-gcm{width:52px;max-height:67px}
.login-view{background:radial-gradient(circle at 50% 0,#f3e1ef 0,transparent 60%),linear-gradient(145deg,#faf4fa,#f5eff5)}
.login-card{border-color:#e7cfe1;box-shadow:0 18px 58px #6e26691b}
.login-card h1,.brand strong,.intro h1{color:var(--navy2)}
.login-card input:focus,.input-text:focus,.input-date:focus,.input-area:focus{border-color:var(--forest)}
.login-security{background:#fff9f2;padding:14px;border-radius:8px;border:1px solid #e9ddcf}
.site-header{border-bottom:2px solid #e7cfe0}
.eyebrow{color:#95477e}
.pill{border-color:#ecd7e6;background:#fcf4fa;color:#74305e}
.section-link.active{background:var(--navy)}
.option:has(input:checked){border-color:#c48db5;background:#fff4fb}
.option input{accent-color:var(--forest)}
.primary{background:var(--navy)}.primary:hover{background:#7e386d}
.outline{color:var(--navy);border-color:#dfc7d7}.outline:hover{background:#faf0f7}
.badge-privacy{background:#faf0f7;border-left-color:#b05b99}
.sidebar{background:#fcf7fb}
.export-panel{background:linear-gradient(110deg,#f8edf5,#fff)} .pdf-format-note{font-size:0.87rem;line-height:1.5;max-width:35rem;margin:8px 0 0;color:var(--mute)}
.site-footer{display:flex;align-items:center;flex-direction:column;gap:12px}
.footer-identity{display:inline-flex;align-items:center;gap:9px;text-decoration:none;color:var(--navy)}
.footer-identity img{object-fit:contain;border-radius:50%}
.footer-identity:hover{text-decoration:underline}
@media(max-width:720px){.header-row{gap:7px}.header-gcm{width:35px;max-height:42px}.header-home .prodamu-logo{width:48px;height:48px}.site-header .brand strong{font-size:15px}}
@media(max-width:420px){.header-gcm{width:30px}.header-home .prodamu-logo{width:40px;height:40px}.header-row{gap:6px}.brand .eyebrow{font-size:8px}.site-header .brand strong{font-size:14px}.site-header .session-box .pill{font-size:9px}}
@media(prefers-reduced-motion:reduce){.crest-link{transition:none}html{scroll-behavior:auto}}

.free-answer-wrap {margin-top:12px;}
.free-answer-label {display:block;font-size:0.84rem;font-weight:700;color:#6a3563;margin:2px 0 8px;}
.free-answer-wrap textarea {min-height:70px;width:100%;resize:vertical;}

.admin-entry{margin-top:22px;padding:21px 18px;border:1px solid #dec3d6;background:#fbf6fa;border-radius:15px;text-align:center}
.admin-access-link{display:block;padding:14px 12px;color:#fff;background:#63305d;border-radius:10px;font-weight:750;text-decoration:none;margin-top:10px}
.admin-entry p:last-child{font-size:0.86rem;line-height:1.5;color:#60565c}

.photo-preview{width:112px;height:142px;box-sizing:border-box;border:1px solid #bab4b9;border-radius:7px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;margin:0 0 12px;flex-shrink:0}.photo-preview-image{width:100%;height:100%;object-fit:contain;display:none}.photo-preview.filled .photo-preview-image{display:block}.photo-preview:not(.filled):after{content:"Foto";font-size:13px;color:#777}
/* Responsividade mantendo a identidade visual rosa, roxo e branco */
html,body{max-width:100%;overflow-x:clip}
.mobile-step-bar{display:none}
.choices .option,.field-label{min-width:0;overflow-wrap:anywhere}
@media(max-width:800px){
 .shell{width:calc(100% - 26px);max-width:720px}
 .workbench{grid-template-columns:minmax(0,1fr);overflow:visible}
 .sidebar{min-width:0;padding:12px;background:#fcf7fb}
 .section-nav{overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-inline:contain}
 .section-link{flex:0 0 auto;max-width:185px;min-width:135px;scroll-snap-align:start}
 .content{padding:20px 16px 26px;min-width:0}
 .content-head{flex-wrap:wrap;align-items:flex-start}.content-head>div{flex:1 1 185px;min-width:0}
 .field-heading{align-items:flex-start}.fields{gap:17px}.field{min-width:0}
 .input-wrap,.choices{padding-left:0}.choices{grid-template-columns:minmax(0,1fr)}
 .input-text,.input-area,.input-date,.upload-input{font-size:16px;max-width:100%}
 .signature-box{max-width:100%}
 .site-header .header-row{flex-wrap:wrap;gap:8px;padding:10px 0}
 .header-home{flex:0 0 44px}.site-header .brand{flex:1 1 calc(100% - 68px);min-width:0}
 .session-box{flex:1 0 100%;margin-left:0;flex-direction:row;justify-content:space-between;align-items:center}
 .session-box .pill{font-size:11px;max-width:none;white-space:normal;line-height:1.4}
 .navigation{flex-wrap:wrap;margin-top:20px}.navigation button{flex:1 1 105px;min-height:46px}
 .export-panel{grid-template-columns:minmax(0,1fr);margin-top:16px}
 .mobile-step-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;gap:9px;align-items:center;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid #e7d2e1;box-shadow:0 -6px 22px #48203922;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
 .mobile-step-bar button{flex:1 1 36%;min-width:0;min-height:46px;padding:9px 8px;touch-action:manipulation;font-size:14px}
 .mobile-step-bar span{font-size:12px;white-space:nowrap;color:#71335f;font-weight:700}
 body:not(.access-locked){padding-bottom:calc(80px + env(safe-area-inset-bottom))}
 .login-card{padding:clamp(18px,5vw,28px)}
}
@media(max-width:420px){
 .shell{width:calc(100% - 20px)}.content{padding:17px 12px 22px}
 .content-head h2{font-size:20px}.mobile-step-bar{gap:7px}
 .mobile-step-bar button{font-size:13px}.mobile-step-bar span{font-size:11px}
 .navigation button{order:1}.navigation span{order:2;flex:1 0 100%}
}
@media(max-height:430px) and (max-width:950px){.mobile-step-bar{padding-top:5px;padding-bottom:max(5px,env(safe-area-inset-bottom))}.mobile-step-bar button{min-height:37px}}

/* GMP: melhorias pontuais de leitura e navegacao sem alterar a identidade original */
#site-view[hidden] .mobile-step-bar{display:none!important}
@media(min-width:801px){
 .content{min-width:0}
 .navigation{position:sticky;bottom:12px;z-index:18;background:rgba(255,255,255,.98);border:1px solid #ebdce7;border-radius:12px;padding:12px;box-shadow:0 3px 14px #49253d14}
 .navigation button{min-height:44px}
}
@media(max-width:800px){
 .mobile-step-bar{display:flex!important;position:fixed;inset:auto 0 0 0;z-index:99;box-sizing:border-box;width:100%;padding:10px max(12px,env(safe-area-inset-right)) calc(11px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:rgba(255,255,255,.985);box-shadow:0 -3px 16px #49253d26;border-top:1px solid #e8d7e3}
 .mobile-step-bar>button{min-height:48px;max-width:50%;border-radius:10px;touch-action:manipulation}
 body:not(.access-locked){padding-bottom:calc(110px + env(safe-area-inset-bottom))}
 input,select,textarea{max-width:100%;box-sizing:border-box}
 .content,.sidebar,.field,.field-heading,.workbench{min-width:0}
 .field-label,.option,.input-wrap{overflow-wrap:anywhere}
 .navigation{scroll-margin-bottom:120px}
}
@media(max-width:390px){
 .mobile-step-bar{gap:6px;padding-left:8px;padding-right:8px}
 .mobile-step-bar>button{min-width:0;font-size:13px;padding:9px 6px}
 .mobile-step-bar>span{flex:0 0 auto;font-size:11px}
}
.ficha-individual-title{font-size:1.15rem;text-align:center;color:#652858;margin:14px 0 24px;padding:12px 4px;border-top:1px solid #dfc9d9;border-bottom:1px solid #dfc9d9}
