:root{--red:#a41b20;--red-dark:#7e1117;--ink:#172027;--muted:#6b7880;--border:#e5e8e7;--paper:#f7f8f7;--good:#157a5b;--bad:#b02b38;--shadow:0 18px 60px rgba(20,30,35,.07)}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:15px/1.5 system-ui,-apple-system,'Segoe UI',Arial,sans-serif;background:var(--paper)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}input,select{border:1px solid #d5dcd9;background:#fff;border-radius:10px;padding:12px 13px;max-width:100%;outline:0}input:focus,select:focus{border-color:var(--red);box-shadow:0 0 0 3px #ae273116}input[type=file]{font-size:13px;padding:12px}input[type=checkbox]{width:17px;height:17px;accent-color:var(--red)}label{display:grid;gap:6px;color:#39434a;font-size:13px;font-weight:650}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.045em;font-weight:760;font-size:clamp(28px,3.3vw,42px);line-height:1.13;margin-bottom:12px}h2{letter-spacing:-.025em;font-size:21px}h3{font-size:16px}.muted,.help{color:var(--muted)}.help{font-size:12px;margin:10px 0 0}.tiny{font-size:12px}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:850;color:var(--red);margin-bottom:10px}.eyebrow.light{color:#f0a8aa}.topbar{background:#fff;border-bottom:1px solid #e9ecea}.navwrap{max-width:1200px;margin:auto;min-height:83px;padding:11px 25px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:15px}.brand img{height:54px;max-width:175px;object-fit:contain;object-position:left}.brandline{font-size:10px;font-weight:800;letter-spacing:.08em;color:#465157;padding-left:16px;border-left:1px solid #e2e5e3;white-space:nowrap}.brandline b{color:var(--red)}nav{display:flex;align-items:center;gap:23px;font-size:13px;font-weight:650;color:#515e66}nav a:hover,.navlink:hover{color:var(--red)}.current-user{color:#89939a;font-size:12px}.nav-form{margin:0}.navlink{background:none;border:0;padding:0;color:#515e66;font-size:13px;font-weight:650}.footer{display:flex;justify-content:space-between;gap:15px;max-width:1200px;margin:auto;padding:33px 25px;font-size:11px;color:#8b9497;border-top:1px solid #e8eeea}.content{max-width:1200px;padding:42px 25px 75px;margin:auto}.content.narrow{max-width:740px}.pagehead{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:30px}.pagehead p{margin:0}.panel{background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 19px;border-radius:9px;font-weight:750;border:1px solid transparent;line-height:1.2;font-size:13px;white-space:nowrap}.btn.primary{background:var(--red);color:#fff}.btn.primary:hover{background:var(--red-dark)}.btn.secondary{background:#25353a;color:#fff}.btn.outline{border-color:#d8dedb;background:#fff}.btn.small{font-size:12px;padding:8px 10px}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.wide{width:100%}.uploadbox{padding:30px;display:flex;gap:25px;align-items:flex-start;border:1.5px dashed #d5d9d6}.uploadbox h2{margin-bottom:6px}.uploadbox p{color:var(--muted);font-size:13px}.uploadicon{flex:none;width:60px;height:60px;background:#fcebec;color:var(--red);display:flex;align-items:center;justify-content:center;font-size:32px;border-radius:13px}.uploadmain{flex:1}.uploadform{display:flex;gap:13px;align-items:center;flex-wrap:wrap;margin-top:18px}.uploadform input{flex:1;min-width:240px}.info-stripe{background:#fff;padding:13px 20px;border-radius:9px;border:1px solid var(--border);color:#67737a;margin-top:16px;font-size:13px}.info-stripe b{color:#334047}.section-title{margin-top:38px;margin-bottom:15px;font-size:19px}.table-panel{overflow:hidden}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th{background:#f8faf9;color:#798288;font-size:10px;letter-spacing:.07em;text-transform:uppercase;font-weight:800;white-space:nowrap}td,th{padding:14px 15px;border-bottom:1px solid #eaf0eb;vertical-align:top}td{max-width:270px}tr:last-child td{border-bottom:0}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:700;font-size:12px}.subtle-link{color:var(--red);font-weight:800;white-space:nowrap}.pill{display:inline-flex;padding:4px 8px;border-radius:40px;font-weight:770;font-size:10px;white-space:normal}.pill.good{background:#e6f8ef;color:#14734d}.pill.danger{background:#fbecee;color:#a82b34}.pill.neutral{background:#edf2f0;color:#567068}.empty{text-align:center;color:var(--muted);padding:40px}.stats{display:flex;gap:14px;margin-bottom:22px}.stat{background:#fff;border:1px solid var(--border);padding:16px 23px;border-radius:13px;min-width:165px;display:flex;flex-direction:column}.stat span{font-size:11px;color:var(--muted)}.stat strong{font-size:28px}.rowbad{background:#fffafb}.actionbar{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-top:20px;padding:23px}.actionbar p{margin:8px 0 0}.actionbar label{max-width:340px}.revoke summary{font-size:11px;color:#a72a36;cursor:pointer}.revoke input{width:170px;font-size:11px;padding:5px}.mini-danger{border:0;background:#a52e36;color:#fff;border-radius:4px;font-size:10px;padding:5px}.success-panel{padding:40px;text-align:center}.success-icon{margin:0 auto 20px;display:grid;place-items:center;color:#11794f;font-size:25px;width:57px;height:57px;background:#e0f8eb;border-radius:50%}.download-list{margin:26px auto;max-width:440px;text-align:left;border:1px solid var(--border);border-radius:11px;overflow:hidden}.download-list a{display:flex;align-items:center;justify-content:space-between;padding:14px 17px;border-bottom:1px solid var(--border);gap:15px}.download-list a:last-child{border:0}.download-list b{color:var(--red);font-size:12px}.bottom-actions{display:flex;justify-content:center;gap:28px;margin-top:23px;color:var(--red);font-size:13px}.alert{padding:13px 16px;border-radius:8px;margin:16px 0;font-size:13px;text-align:left}.alert.bad{border:1px solid #f4cbcf;background:#fff0f1;color:#9d2a38}.alert.ok{border:1px solid #bfe8d4;background:#e8f8f0;color:#126445}.notice{padding:45px}.notice p{margin-bottom:25px}.stack{display:grid;gap:17px}.stack>label{display:grid;gap:8px}.auth-shell{min-height:66vh;display:grid;place-items:center;padding:55px 24px}.auth-card{padding:38px;width:min(100%,440px)}.auth-card .muted{font-size:14px;margin-bottom:25px}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:25px}.admindoc{padding:27px}.model-top{display:flex;justify-content:space-between;gap:8px;margin-bottom:24px}.admindoc form{margin-top:20px}.admin-users{padding:25px;margin-bottom:25px}.user-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;align-items:end}.verify-hero{background:radial-gradient(ellipse at 12% 20%,#344c50 0%,transparent 40%),linear-gradient(115deg,#152a30 0%,#1d3236 50%,#233c3a 100%);min-height:625px;padding:75px 24px 85px}.verify-layout{max-width:1150px;margin:auto;display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.verify-intro{color:#fff}.verify-intro h1{font-size:clamp(39px,4.5vw,62px);max-width:610px;line-height:1.07;margin:17px 0 22px;letter-spacing:-.055em}.verify-intro h1 em{color:#fa9b9e;font-weight:760;font-style:normal}.verify-intro>p{color:#cedbd7;font-size:17px;line-height:1.75;max-width:560px}.trust{display:flex;gap:18px;flex-wrap:wrap;margin:32px 0 45px;color:#d4e0dc;font-size:12px}.trust span{display:flex;gap:7px;align-items:center}.trust b{display:grid;place-items:center;background:#2f5950;color:#a8e2c6;width:21px;height:21px;border-radius:50%}.verify-mark{border-top:1px solid #54706a70;padding-top:23px;display:flex;align-items:center;gap:14px;max-width:460px}.shieldicon{width:45px;height:45px;border:1px solid #9aadaa77;border-radius:14px;display:grid;place-items:center;color:#9de6c9;font-size:21px}.verify-mark strong{font-size:12px;display:block}.verify-mark small{display:block;color:#afc1bf;margin-top:4px;font-size:11px}.verify-card{background:#fff;border-radius:19px;padding:30px;box-shadow:0 25px 65px #071a1d6a;max-width:530px;width:100%}.verify-label{display:flex;align-items:center;gap:9px;color:#748188;letter-spacing:.13em;font-size:10px;font-weight:850;border-bottom:1px solid #ebefec;padding-bottom:20px;margin-bottom:27px}.check-ring{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#fbe8e8;color:var(--red);font-size:13px}.verify-card h2{font-size:25px;margin-bottom:8px}.verify-card .muted{font-size:13px;line-height:1.7}.verify-card .stack{margin:24px 0 0}.verify-card .help{border-top:1px solid #edf0ef;margin-top:25px;padding-top:17px}.verify-foot{max-width:1100px;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin:0 auto;padding:50px 25px}.verify-foot>div{display:grid;grid-template-columns:36px 1fr;gap:0 9px}.verify-foot b{align-self:center;font-size:13px}.verify-foot p{grid-column:2;font-size:12px;color:#899399}.vf-no{font-size:12px;color:#bb333a;border:1px solid #f1d7d6;border-radius:10px;display:grid;place-items:center;width:30px;height:30px}.status-banner{display:flex;gap:13px;padding:17px;border-radius:11px}.status-banner.good{background:#e7f7ee;color:#146d4c}.status-banner.warn{background:#fff6dd;color:#876318}.status-banner.danger{background:#fcedf0;color:#a52835}.status-icon{font-size:20px;display:grid;place-items:center;width:38px;height:38px;flex:none;background:#ffffffa6;border-radius:50%}.status-banner small{display:block;font-size:9px;letter-spacing:.11em;font-weight:800;opacity:.7}.status-banner strong{display:block;font-size:23px;letter-spacing:-.03em}.status-banner div>span{display:block;font-size:11px}.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid #e9eeeb;border-radius:10px;overflow:hidden;margin:18px 0}.facts>div{border-bottom:1px solid #e9eeeb;padding:11px 13px;min-width:0}.facts>div:nth-child(odd){border-right:1px solid #e9eeeb}.facts dt{font-size:10px;color:#7a8588;margin-bottom:4px}.facts dd{margin:0;font-size:12px;color:#233137;font-weight:700;overflow-wrap:anywhere}.compare-section{padding-top:3px}.compare-section h3{font-size:14px;margin-bottom:4px}.compare-section>p{font-size:11px;color:#69787c}.compare-form{display:flex;gap:9px;flex-wrap:wrap}.compare-form input{width:100%;max-width:260px}.compare-form button{flex:none}.verify-result .tiny{margin:8px 0}.verify-result .alert{font-size:11px}@media(max-width:850px){.verify-layout{grid-template-columns:1fr;gap:35px}.verify-hero{padding:55px 20px}.verify-card{max-width:none}.verify-foot{gap:15px}.brandline{display:none}.navwrap{padding:10px 15px}.pagehead,.actionbar{flex-direction:column;align-items:stretch}.admin-grid{grid-template-columns:1fr}.user-grid{grid-template-columns:1fr 1fr}.footer{display:block}}@media(max-width:570px){.navwrap{flex-wrap:wrap;gap:8px}.brand img{height:44px}.topbar nav{gap:14px}.current-user{display:none}.content{padding:24px 14px 45px}.stats{flex-wrap:wrap}.stat{flex:1;min-width:105px}.uploadbox{padding:20px;display:block}.uploadicon{margin-bottom:16px}.uploadform{display:grid}.verify-hero{padding:40px 13px}.verify-intro h1{font-size:40px}.trust{gap:12px}.verify-card{padding:20px}.verify-foot{grid-template-columns:1fr;padding:35px 25px}.facts{grid-template-columns:1fr}.facts>div:nth-child(odd){border-right:0}.user-grid{grid-template-columns:1fr}.footer{padding:20px 15px}}

/* Identificação documental pública: campos completos e legíveis em ecrãs estreitos. */
.facts > .fact-identity{grid-column:1 / -1;border-right:0;background:#fcfdfd}
.facts > .fact-identity dd{font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.facts > div:last-child{grid-column:1 / -1;border-bottom:0}
@media(max-width:570px){.facts > .fact-identity{grid-column:1}}
