:root{--nexus-cyan:#03d9ff;--nexus-ink:#031729;--nexus-panel:rgba(3,25,44,.91)}
body{background-color:#031524}.portal-login{min-height:100vh;background:linear-gradient(90deg,rgba(1,15,28,.22),rgba(1,16,30,.48)),url('/nexus-industrial-bg.png') center/cover fixed;color:#fff}.portal-login .topbar{display:none}.portal-login .container{max-width:1240px;padding:54px 24px 20px}
.nexus-login{min-height:650px;display:grid;grid-template-columns:1.45fr .82fr;align-items:center;gap:42px;padding:35px 42px;border:1px solid rgba(142,220,255,.52);border-radius:22px;background:linear-gradient(90deg,rgba(1,20,36,.3),rgba(1,17,31,.68));box-shadow:0 25px 80px #00101dcc,inset 0 0 45px rgba(4,152,212,.1)}
.nexus-showcase{text-align:center}.nexus-showcase>img{width:min(48%,330px);filter:drop-shadow(0 8px 12px rgba(0,0,0,.32))}.nexus-hero-word,.nexus-mobile-logo strong{font-weight:900;letter-spacing:.06em;line-height:.88;background:linear-gradient(180deg,#fff 0%,#f8fdff 42%,#dce7ec 72%,#fff 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;filter:none}.nexus-hero-word{font-size:clamp(64px,7.2vw,106px)}
.nexus-hero-word span,.nexus-mobile-logo strong span,.nexus-auth-card h1 span,.nexus-wordmark span{background:linear-gradient(180deg,#bcf8ff,#00c7f4);-webkit-background-clip:text;background-clip:text;color:transparent}.nexus-platform{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px;font-weight:700;letter-spacing:.05em}.nexus-platform i,.nexus-bottom-brand i{display:block;width:54px;height:3px;background:var(--nexus-cyan);box-shadow:0 0 12px var(--nexus-cyan)}.nexus-showcase p{font-size:23px;letter-spacing:.2em;color:#dce8f1}
.nexus-auth-card{padding:42px;border:1px solid rgba(108,198,238,.5);border-radius:22px;background:linear-gradient(145deg,rgba(2,24,43,.96),rgba(6,39,64,.88));box-shadow:0 20px 54px #0009,inset 0 0 35px rgba(10,149,205,.08)}.nexus-auth-card .eyebrow{color:#64dff8}.nexus-auth-card h1{margin:.25em 0 .15em;font-size:34px;color:#fff}.nexus-auth-card>p{color:#dbe9f2}.nexus-auth-card label{color:#fff;font-weight:700}.nexus-auth-card input{height:52px;border:1px solid rgba(144,200,225,.52);background:rgba(33,61,83,.72);color:#fff;box-shadow:inset 0 0 16px #00101d}.nexus-auth-card input::placeholder{color:#a7bdca}.nexus-auth-card .primary{min-height:52px;border:0;background:linear-gradient(180deg,#15ddff,#00bbed);color:#001c2b;font-size:18px;font-weight:900;box-shadow:0 0 24px rgba(0,206,255,.24)}.nexus-auth-card a{color:#5be6ff}.nexus-protected{display:flex;justify-content:center;gap:10px;border-top:1px solid rgba(136,199,225,.25);padding-top:22px!important;margin-top:22px!important}.nexus-mobile-logo{display:none}
.nexus-bottom-brand{display:flex;align-items:center;justify-content:center;gap:20px;margin:18px 0 0;text-align:center}.nexus-bottom-brand strong{font-size:22px;letter-spacing:.04em}.nexus-bottom-brand small{display:block;font-size:12px;font-weight:400;letter-spacing:.15em;color:#c9d7df}.portal-login footer{background:transparent;color:#a8bcc8;border:0}.portal-login .install-app{background:var(--nexus-cyan);color:#002033}
.portal-authenticated{background:linear-gradient(rgba(5,37,59,.74),rgba(6,43,68,.82)),url('/nexus-industrial-bg.png') center/cover fixed;color:#eef9ff}.portal-authenticated .topbar{background:rgba(5,35,55,.94);border-bottom:1px solid rgba(47,220,255,.5)}.portal-authenticated .card,.portal-authenticated .panel,.portal-authenticated .hero,.portal-authenticated .point-card,.portal-authenticated .portal-tile,.portal-authenticated .how-it-works,.portal-authenticated .metrics article,.portal-authenticated .document-card,.portal-authenticated .admin-shortcuts a{background:linear-gradient(145deg,rgba(13,64,94,.96),rgba(9,48,75,.96));border-color:rgba(91,204,241,.5);box-shadow:0 14px 34px rgba(0,18,31,.42);color:#f4fbff}.portal-authenticated .portal-tile:nth-child(2n),.portal-authenticated .admin-shortcuts a:nth-child(2n){background:linear-gradient(145deg,rgba(17,77,111,.97),rgba(11,56,84,.97))}.portal-authenticated .portal-tile:nth-child(3n){background:linear-gradient(145deg,rgba(20,86,116,.97),rgba(12,59,86,.97))}.portal-authenticated h1,.portal-authenticated h2,.portal-authenticated h3,.portal-authenticated strong,.portal-authenticated label{color:#fff}.portal-authenticated p,.portal-authenticated td,.portal-authenticated th,.portal-authenticated small,.portal-authenticated .portal-tile small,.portal-authenticated .how-it-works li span{color:#d6edf7}.portal-authenticated input,.portal-authenticated select,.portal-authenticated textarea,.portal-authenticated .point-location,.portal-authenticated .anonymous-choice,.portal-authenticated .report-text{background:#e7f5fb;color:#12384c;border-color:#7ab9d2}.portal-authenticated .point-location strong,.portal-authenticated .point-location span,.portal-authenticated .point-location small{color:#17445a}.portal-authenticated .daily-punch-date,.portal-authenticated .daily-punches-table thead th:first-child{background:#164d6d;color:#fff}.portal-authenticated .daily-punches-wrap{border-color:#5798b6}.portal-authenticated th,.portal-authenticated td{border-color:#427c99}.portal-authenticated .tile-icon{background:#dff5fd;color:#075c80}.portal-authenticated .primary,.portal-authenticated .secondary{background:linear-gradient(#29dfff,#09bce8);color:#002c42}.portal-authenticated footer{background:#082f49;color:#c8e7f3}
.nexus-brand{display:flex;align-items:center;gap:9px}.nexus-mini-emblem{width:45px;height:45px;object-fit:contain}.nexus-wordmark{font-size:25px;font-weight:900;letter-spacing:.06em;color:#edf8ff;line-height:.8}.nexus-wordmark small{display:block;margin-top:7px;font-size:7px;letter-spacing:.12em;color:#8ecfe3}.nexus-brand .brand-portal{border-left:1px solid #287a98;padding-left:10px;color:#bfdae6}.portal-authenticated .live-camera{aspect-ratio:1/1!important;border-radius:18px;background:#000;border-color:#36cdeb}.portal-authenticated .live-camera video[data-camera-preview]{position:absolute;inset:0;width:100%;height:100%;filter:blur(10px) brightness(.22);transform:scaleX(-1) scale(1.12)}.portal-authenticated .live-camera .face-focus{position:absolute;z-index:1;inset:0;width:100%;height:100%;object-fit:cover;transform:scaleX(-1);clip-path:circle(32% at 50% 48%);filter:brightness(1.08) contrast(1.06)}.face-guide{top:16%!important;width:64%!important;aspect-ratio:1/1!important;border:5px dotted #72ffba!important;border-radius:50%!important;box-shadow:0 0 0 999px rgba(0,0,0,.7),0 0 28px rgba(74,255,176,.72),inset 0 0 18px rgba(74,255,176,.4)!important;transition:.18s}.face-guide::before,.face-guide::after{content:"";position:absolute;pointer-events:none;background:rgba(210,255,239,.55)}.face-guide::before{width:1px;height:100%;left:50%;top:0}.face-guide::after{height:1px;width:100%;left:0;top:50%}.face-guide.aligned{border-style:solid!important;border-color:#48ffb4!important;box-shadow:0 0 0 999px rgba(0,0,0,.72),0 0 38px #48ffb4!important}
@media(max-width:820px){.portal-login .container{padding:15px 12px}.nexus-login{display:block;min-height:auto;padding:20px 16px;background:rgba(2,18,32,.88)}.nexus-showcase{display:none}.nexus-auth-card{padding:22px 18px}.nexus-mobile-logo{display:flex;flex-direction:column;align-items:center;margin-bottom:22px}.nexus-mobile-logo img{width:150px}.nexus-mobile-logo strong{font-size:54px}.nexus-mobile-logo small{font-size:9px;letter-spacing:.1em;color:#d4e9f2}.nexus-mobile-logo em{font-style:normal;margin-top:5px;color:#c9dce5}.nexus-auth-card h1{font-size:27px}.nexus-bottom-brand{margin-top:20px}.nexus-bottom-brand i{width:35px}.nexus-mini-emblem{width:38px;height:38px}.nexus-wordmark{font-size:19px}.nexus-brand .brand-portal{display:none}}
@media(max-width:420px){.portal-login .container{padding-left:0;padding-right:0}.nexus-login,.nexus-auth-card{border-radius:0;border-left:0;border-right:0}.nexus-auth-card{padding:18px}.nexus-mobile-logo img{width:128px}.nexus-mobile-logo strong{font-size:47px}}
.portal-authenticated .brand-logo-motion{width:48px;height:48px;border-radius:50%;overflow:hidden;background:url('/nexus-avatar.jpg') center 17%/cover no-repeat;border:2px solid #4de8ff;box-shadow:0 0 0 2px rgba(0,211,255,.13)}.portal-authenticated .brand-logo-motion img{display:none}.portal-authenticated .brand-logo-motion::after{content:"NEXUS";position:absolute;left:55px;top:7px;color:#fff;font-size:22px;font-weight:900;letter-spacing:.06em;text-shadow:none}.portal-authenticated .brand{padding-right:72px}.portal-authenticated .brand-portal{color:#bde0ed}
.nexus-login{position:relative}.nexus-switch-access{position:absolute;z-index:4;right:28px;top:24px;display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:9px 18px;border:1px solid #27d9ff;border-radius:10px;background:linear-gradient(180deg,#118bb5,#086c93);color:#fff!important;font-size:13px;font-weight:900;text-decoration:none;box-shadow:0 8px 24px rgba(0,190,236,.2)}.nexus-switch-access:hover{background:linear-gradient(180deg,#19a5d2,#087aa5)}.nexus-external-access{position:fixed;z-index:12;left:18px;bottom:18px;display:grid;gap:9px;width:214px}.nexus-external-access a{display:flex;align-items:center;min-height:42px;padding:9px 13px;border:1px solid #22cdeb;border-radius:9px;background:linear-gradient(145deg,#105d7d,#0a4663);color:#fff;text-decoration:none;font-size:12px;font-weight:800;box-shadow:0 8px 20px rgba(0,18,31,.28)}.nexus-external-access a::after{content:"↗";margin-left:auto;color:#58e7ff}
@media(min-width:901px){.portal-authenticated .topbar{position:fixed;inset:0 auto 0 0;z-index:20;width:252px;height:100vh;padding:24px 12px 142px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;overflow-y:auto}.portal-authenticated .brand{min-height:92px;display:flex;justify-content:center;align-items:center;padding:0 0 22px!important;border-bottom:1px solid rgba(84,194,229,.28)}.portal-authenticated .brand-logo-motion{width:72px;height:72px}.portal-authenticated .brand-logo-motion::after{display:none}.portal-authenticated .brand-portal{margin-left:0;padding:0;border:0;font-size:13px}.portal-authenticated .desktop-nav{display:flex!important;width:100%;margin-top:20px;flex-direction:column;align-items:stretch;gap:7px}.portal-authenticated .desktop-nav>a,.portal-authenticated .desktop-nav>details>summary,.portal-authenticated .desktop-nav .link-button{width:100%;min-height:42px;display:flex;align-items:center;padding:10px 13px!important;border:1px solid transparent;border-radius:10px;color:#dff5fc!important;text-align:left}.portal-authenticated .desktop-nav>a:hover,.portal-authenticated .desktop-nav>details>summary:hover{background:#155b75;border-color:#237e9f}.portal-authenticated .desktop-nav details div{position:static;width:100%;margin-top:5px;background:#082f46;border-color:#235f78}.portal-authenticated .desktop-nav form{width:100%}.portal-authenticated .container{max-width:none;margin-left:252px;padding:38px 42px 80px}.portal-authenticated footer{margin-left:252px}.portal-authenticated .nexus-external-access{left:18px;bottom:18px}.portal-authenticated .install-app{left:auto}.portal-login .nexus-external-access{position:fixed}}
@media(max-width:900px){.nexus-switch-access{position:static;width:100%;margin-bottom:16px}.nexus-external-access{position:static;width:auto;margin:18px 16px}.portal-authenticated .nexus-external-access{display:grid;grid-template-columns:1fr 1fr}.portal-authenticated .brand{padding-right:72px}.portal-authenticated footer{margin-left:0}}
@media(max-width:480px){.portal-authenticated .nexus-external-access{grid-template-columns:1fr}}
.portal-authenticated .admin-session-notice{background:linear-gradient(90deg,#0f6387,#123f5b);border-color:#2ccdeb;color:#fff}.portal-authenticated .admin-session-notice strong,.portal-authenticated .admin-session-notice span,.portal-authenticated .metrics span,.portal-authenticated .admin-shortcuts span{color:#d9f1fa}.portal-authenticated a{color:#54e5ff}.portal-authenticated .nexus-external-access{z-index:25}.portal-authenticated .nexus-external-access a{background:linear-gradient(145deg,#1688b2,#0d658c);border-color:#47ddf7;color:#fff}
@media(min-width:901px){.portal-authenticated .brand{flex-direction:column;gap:8px}.portal-authenticated .brand-portal{white-space:nowrap}.portal-authenticated .nexus-external-access{width:216px}}
.portal-authenticated .point-hero{grid-template-columns:minmax(0,1fr) 470px;gap:24px;min-height:250px;padding:26px 30px;background:linear-gradient(130deg,rgba(9,54,82,.96),rgba(12,79,108,.9));border:1px solid rgba(75,208,244,.5);box-shadow:0 18px 45px rgba(0,17,31,.36),inset 0 1px rgba(255,255,255,.06)}.portal-authenticated .point-hero>div:first-child{align-self:center}.portal-authenticated .point-hero h1{font-size:clamp(36px,4.2vw,58px);margin:5px 0 8px}.portal-authenticated .point-hero-actions{grid-template-columns:minmax(210px,1fr) 150px;grid-template-rows:auto auto;align-items:center;gap:12px}.portal-authenticated .point-hero .server-clock{height:132px;display:grid;place-content:center;background:rgba(4,37,57,.62);border-color:#2ab8e0}.portal-authenticated .point-action-home{grid-column:2;grid-row:1}.portal-authenticated .point-action-home .hero-register-button{width:132px!important;height:132px;min-height:132px!important;margin:auto}.portal-authenticated .portal-access{grid-column:1/-1;background:rgba(23,100,132,.44);border-color:rgba(92,218,249,.46)}.portal-authenticated .point-location{padding:14px 4px!important;background:transparent!important;border:0!important;border-top:1px solid rgba(88,210,244,.38)!important;border-bottom:1px solid rgba(88,210,244,.38)!important;border-radius:0!important;box-shadow:none!important}.portal-authenticated .point-location strong,.portal-authenticated .point-location span,.portal-authenticated .point-location small{color:#e8f8ff}.portal-authenticated .point-location strong{color:#52e4ff}.portal-authenticated .point-card{align-content:start}.portal-authenticated .point-card-heading{align-items:center}.portal-authenticated .point-privacy{color:#b8dce9}
.portal-authenticated .admin-session-notice{display:grid;grid-template-columns:max-content 1fr;align-items:center;gap:12px;padding:0;background:transparent;border:0;box-shadow:none}.portal-authenticated .admin-session-notice strong{display:flex;align-items:center;min-height:48px;padding:0 20px;border:1px solid #35d8f6;border-radius:12px;background:linear-gradient(145deg,#168bb4,#0e668b);box-shadow:0 10px 25px rgba(0,187,229,.2)}.portal-authenticated .admin-session-notice span{display:flex;align-items:center;min-height:48px;padding:0 18px;border:1px solid rgba(62,177,214,.48);border-radius:12px;background:rgba(11,61,88,.82)}.portal-authenticated .admin-session-notice+.page-head{position:relative;align-items:center;padding:24px 28px;border:1px solid rgba(69,203,239,.52);border-radius:18px;background:linear-gradient(120deg,rgba(14,82,113,.94),rgba(8,54,82,.86));box-shadow:0 18px 42px rgba(0,17,29,.32),inset 0 1px rgba(255,255,255,.07)}.portal-authenticated .admin-session-notice+.page-head h1{margin-top:5px}.portal-authenticated .admin-session-notice+.page-head p{margin-bottom:0}
@media(min-width:901px){.portal-authenticated .desktop-nav>a:first-child{position:fixed;z-index:30;top:22px;right:30px;width:auto;min-width:105px;justify-content:center;padding:10px 22px!important;background:linear-gradient(180deg,#1ba4ce,#0c78a1);border:1px solid #48dbf6;color:#fff!important;box-shadow:0 10px 26px rgba(0,35,52,.3);text-transform:uppercase;letter-spacing:.06em}.portal-authenticated .desktop-nav>a:first-child::before{content:"⌂";margin-right:7px}.portal-authenticated .point-layout{grid-template-columns:minmax(360px,.72fr) minmax(0,1.28fr);gap:22px}}
@media(max-width:900px){.portal-authenticated .point-hero{grid-template-columns:1fr;padding:22px 18px}.portal-authenticated .point-hero-actions{grid-template-columns:1fr 132px}.portal-authenticated .point-action-home .hero-register-button{width:122px!important;height:122px;min-height:122px!important}.portal-authenticated .admin-session-notice{grid-template-columns:1fr}.portal-authenticated .admin-session-notice strong,.portal-authenticated .admin-session-notice span{padding:12px 16px}.portal-authenticated .admin-session-notice+.page-head{padding:20px}}
@media(max-width:520px){.portal-authenticated .point-hero-actions{grid-template-columns:1fr}.portal-authenticated .point-action-home{grid-column:1;grid-row:auto}.portal-authenticated .portal-access{grid-column:1}.portal-authenticated .point-hero h1{font-size:36px}}
@media(min-width:901px){.portal-authenticated .container{padding-top:92px}.portal-authenticated .desktop-nav>a:first-child{top:20px;right:30px}.portal-authenticated .point-hero{grid-template-columns:minmax(480px,620px) minmax(430px,500px);justify-content:center;gap:28px;min-height:235px}.portal-authenticated .point-hero-actions{grid-template-columns:minmax(240px,1fr) 138px;gap:10px}.portal-authenticated .point-hero .server-clock{height:124px}.portal-authenticated .point-action-home .hero-register-button{width:124px!important;height:124px;min-height:124px!important}.portal-authenticated .point-hero h1{font-size:clamp(38px,3.5vw,54px)}}
@media(min-width:901px) and (max-width:1300px){.portal-authenticated .point-hero{grid-template-columns:1fr;gap:18px}.portal-authenticated .point-hero-actions{width:min(100%,620px)}}

/* Acessos externos integrados ao menu; sair permanece como a ultima acao. */
.portal-authenticated .desktop-nav>.nexus-external-access,.portal-authenticated .mobile-menu nav>.nexus-external-access{position:static;display:grid;width:100%;margin:0;gap:7px}.portal-authenticated .desktop-nav>.nexus-external-access a,.portal-authenticated .mobile-menu nav>.nexus-external-access a{width:100%;min-height:42px;padding:9px 13px}.portal-authenticated .desktop-nav>form,.portal-authenticated .mobile-menu nav>form{order:99;width:100%;margin-top:0}

/* Avatar ampliado, acesso ao portal separado e inclusão manual de ponto. */
.portal-authenticated .brand-logo-motion{width:62px;height:62px}.portal-authenticated .brand-logo-motion::after{left:70px;top:13px}.portal-authenticated .point-hero-actions{grid-template-columns:minmax(240px,1fr) 138px;grid-template-rows:auto}.portal-authenticated .point-portal-access{max-width:100%;margin:-14px 0 28px;padding:17px 20px;background:linear-gradient(105deg,rgba(18,102,137,.94),rgba(9,64,94,.94));border-color:rgba(82,220,248,.62);box-shadow:0 12px 30px rgba(0,18,31,.3)}.portal-authenticated .manual-punch-card{margin-bottom:24px}.portal-authenticated .manual-punch-form{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:14px;align-items:end}.portal-authenticated .manual-punch-form label{margin:0}.portal-authenticated .manual-punch-reason{grid-column:1/-2}.portal-authenticated .manual-punch-form button{min-height:46px}
@media(max-width:900px){.portal-authenticated .brand-logo-motion{width:50px;height:50px}.portal-authenticated .point-portal-access{margin:-12px 0 20px}.portal-authenticated .manual-punch-form{grid-template-columns:1fr 1fr}.portal-authenticated .manual-punch-reason{grid-column:1/-1}.portal-authenticated .manual-punch-form button{grid-column:1/-1}}
@media(max-width:560px){.portal-authenticated .manual-punch-form{grid-template-columns:1fr}.portal-authenticated .manual-punch-reason,.portal-authenticated .manual-punch-form button{grid-column:1}.portal-authenticated .point-hero-actions{grid-template-columns:1fr 122px}}

/* No celular, o acesso administrativo encerra o painel de login. */
@media(max-width:900px){.portal-login .nexus-login{position:relative;padding-bottom:84px}.portal-login .nexus-switch-access[href="/login/administrativo"]{position:absolute;left:16px;right:16px;top:auto;bottom:18px;width:auto;margin:0;text-transform:uppercase}}

/* Ponto responsivo: relógio de ponta a ponta e ação centralizada. */
@media(max-width:900px){.portal-authenticated .point-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}.portal-authenticated .point-hero>div:first-child{width:100%}.portal-authenticated .point-hero-actions{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;width:100%;max-width:none;gap:18px;justify-items:stretch}.portal-authenticated .point-hero .server-clock{grid-column:1;grid-row:1;width:100%;max-width:none;margin:0;box-sizing:border-box}.portal-authenticated .point-action-home{grid-column:1;grid-row:2;width:100%;display:flex;justify-content:center}.portal-authenticated .point-action-home .hero-register-button{margin:0 auto}}
@media(max-width:520px){.portal-authenticated .point-hero{padding:24px 20px}.portal-authenticated .point-hero-actions{grid-template-columns:minmax(0,1fr);width:100%}.portal-authenticated .point-hero .server-clock{min-width:0;width:100%}.portal-authenticated .point-action-home{grid-column:1;grid-row:2;justify-self:stretch;justify-content:center}}

/* Identificação móvel do portal e ação de ponto retangular. */
.portal-authenticated .point-action-home .hero-register-button{width:100%!important;height:124px;min-height:124px!important;padding:16px 22px;border-width:1px;border-radius:14px!important;flex-direction:row;gap:16px;text-align:center}.portal-authenticated .point-action-home .hero-register-button strong{text-transform:uppercase;letter-spacing:.035em}
@media(max-width:900px){.portal-authenticated .brand{display:flex;align-items:center;gap:14px;padding-right:76px}.portal-authenticated .brand-portal{display:inline-flex;min-height:38px;padding:0 14px;border:1px solid rgba(47,211,245,.62);border-radius:9px;font-size:12px;font-weight:800;white-space:nowrap}.portal-authenticated .point-action-home .hero-register-button{width:100%!important;height:124px;min-height:124px!important;margin:0;border-radius:14px!important}.portal-authenticated .point-action-home .hero-register-icon{font-size:36px}}
@media(max-width:380px){.portal-authenticated .brand{gap:9px}.portal-authenticated .brand-logo-motion{width:46px;height:46px}.portal-authenticated .brand-portal{padding:0 9px;font-size:10px}}

/* Centro independente no cabeçalho e hierarquia tipográfica padronizada. */
.portal-authenticated h1,.portal-authenticated h2,.portal-authenticated h3,.portal-authenticated h4,.portal-login h1,.portal-login h2,.portal-login h3,.portal-login h4,.eyebrow,.section-title h2,.section-title h3,.portal-tile strong,.portal-access span,.point-ready-badge,.admin-session-notice strong,.brand-portal{text-transform:uppercase}
@media(max-width:900px){.portal-authenticated .topbar{position:sticky}.portal-authenticated .brand{position:static}.portal-authenticated .brand-portal{position:absolute;z-index:2;left:50%;top:50%;margin:0;transform:translate(-50%,-50%);max-width:calc(100vw - 180px);overflow:hidden;text-overflow:ellipsis;justify-content:center;text-align:center}.portal-authenticated .brand-portal::after{display:none}}
@media(max-width:380px){.portal-authenticated .brand-portal{max-width:calc(100vw - 150px)}}

/* Fluxo compacto de ponto e reconhecimento facial em janela dedicada. */
.portal-authenticated .point-hero{position:relative;overflow:hidden}
.portal-authenticated .point-hero-copy{position:relative;z-index:1}
.portal-authenticated .thermoeng-signature{position:static;display:flex;align-items:center;justify-content:flex-start;gap:10px;margin-bottom:12px;text-align:left;opacity:1;pointer-events:none;line-height:1}
.portal-authenticated .thermoeng-logo-mark{display:block;width:72px;height:72px;flex:0 0 72px;border-radius:50%;background:url('/logo-thermoeng-fundo-preto.png?v=20260817') 50% 0/174% auto no-repeat;box-shadow:0 0 22px rgba(65,225,255,.24)}
.portal-authenticated .thermoeng-logo-name{font-size:30px;font-weight:900;letter-spacing:.08em;color:#b8f4ff}
.portal-authenticated .thermoeng-logo-name small{display:block;margin-top:5px;font-size:8px;font-weight:800;letter-spacing:.2em;color:#fff}
.portal-authenticated .point-results-layout{grid-template-columns:1fr}
.point-modal[hidden]{display:none!important}
.point-modal{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:20px;background:rgba(0,10,18,.82);backdrop-filter:blur(12px)}
.point-modal-panel{width:min(560px,100%);max-height:calc(100vh - 40px);overflow:auto;border-radius:20px;box-shadow:0 28px 90px rgba(0,0,0,.7)}
.portal-authenticated .point-modal .point-card{position:relative;margin:0;padding:24px}
.point-modal-close{position:absolute;z-index:5;right:14px;top:14px;width:40px;height:40px;border:1px solid rgba(93,223,249,.6);border-radius:10px;background:rgba(3,27,43,.86);color:#fff;font-size:28px;line-height:1;cursor:pointer}
.point-modal-open{overflow:hidden}
.portal-authenticated .point-modal .live-camera{width:min(100%,430px);margin-inline:auto}

@media(max-width:520px){
  .portal-authenticated .point-hero{min-height:0;padding:16px 16px 18px;gap:12px;border-radius:20px}
  .portal-authenticated .point-hero-copy{padding-right:0}
  .portal-authenticated .point-hero-copy .eyebrow{font-size:11px}
  .portal-authenticated .point-hero h1{margin:4px 0 5px;font-size:29px;line-height:1.03}
  .portal-authenticated .point-hero p{margin:0;font-size:14px;line-height:1.38;max-width:88%}
  .portal-authenticated .thermoeng-signature{position:absolute;right:-2px;top:-8px;gap:6px;margin:0;opacity:1}
  .portal-authenticated .thermoeng-logo-mark{width:52px;height:52px;flex-basis:52px}
  .portal-authenticated .thermoeng-logo-name{display:none}
  .portal-authenticated .point-hero-actions{gap:10px}
  .portal-authenticated .point-hero .server-clock{height:88px;min-height:88px;padding:10px}
  .portal-authenticated .point-hero .server-clock strong{font-size:42px;line-height:1}
  .portal-authenticated .point-action-home .hero-register-button{height:76px;min-height:76px!important;padding:10px 18px;gap:12px}
  .portal-authenticated .point-action-home .hero-register-icon{font-size:29px}
  .portal-authenticated .point-action-home .hero-register-button strong{font-size:18px}
  .portal-authenticated .point-action-home .hero-register-button small{font-size:11px}
  .portal-authenticated .point-portal-access{margin:-6px 0 16px;padding:14px 16px}
  .point-modal{padding:0;align-items:stretch}
  .point-modal-panel{width:100%;max-height:100vh;border-radius:0;overflow:auto}
  .portal-authenticated .point-modal .point-card{min-height:100vh;padding:58px 16px 22px;border:0;border-radius:0}
  .point-modal-close{position:fixed;right:14px;top:14px}
  .portal-authenticated .point-modal .point-card-heading{gap:10px}
  .portal-authenticated .point-modal .point-card-heading h2{font-size:22px}
  .portal-authenticated .point-modal .live-camera{width:100%;max-height:62vh}
}

/* Identidade THERMOENG centralizada sobre o relógio. */
.portal-authenticated .point-greeting{display:inline-flex;align-items:center;min-height:58px;padding:11px 20px;border:1px solid rgba(88,225,250,.72);border-radius:14px;background:linear-gradient(135deg,rgba(20,132,171,.94),rgba(9,78,112,.94));box-shadow:0 10px 28px rgba(0,190,231,.2);color:#fff;font-size:clamp(25px,2.6vw,38px);font-weight:900;letter-spacing:.035em;text-transform:uppercase}
.portal-authenticated .point-hero-copy>p{margin:14px 0 0;font-size:13px;font-weight:800;letter-spacing:.055em}
.portal-authenticated .point-hero-actions{grid-template-columns:minmax(240px,1fr) 138px;grid-template-rows:auto auto}
.portal-authenticated .thermoeng-point-logo{display:block;grid-column:1;grid-row:1;width:148px;max-height:98px;object-fit:contain;justify-self:center;filter:drop-shadow(0 5px 12px rgba(0,0,0,.28))}
.portal-authenticated .point-hero .server-clock{grid-column:1;grid-row:2}
.portal-authenticated .point-action-home{grid-column:2;grid-row:2}

@media(max-width:900px){
  .portal-authenticated .point-hero-actions{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto}
  .portal-authenticated .thermoeng-point-logo{grid-column:1;grid-row:1;width:118px;max-height:82px}
  .portal-authenticated .point-hero .server-clock{grid-column:1;grid-row:2}
  .portal-authenticated .point-action-home{grid-column:1;grid-row:3}
}
@media(max-width:520px){
  .portal-authenticated .point-hero-copy{text-align:center}
  .portal-authenticated .point-greeting{display:flex;justify-content:center;width:100%;min-height:52px;padding:9px 14px;font-size:25px}
  .portal-authenticated .point-hero-copy>p{margin-top:9px;font-size:10px;line-height:1.35}
  .portal-authenticated .thermoeng-point-logo{width:104px;max-height:74px}
}

/* Mensagem centralizada e vitrine de obras da THERMOENG. */
.portal-authenticated .point-hero-copy{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.portal-authenticated .point-hero-copy>p{width:100%;max-width:560px;text-align:center;text-wrap:balance}
.portfolio-showcase{display:grid;grid-template-columns:minmax(250px,330px) minmax(0,1fr);gap:22px;align-items:center;margin:-10px 0 28px;padding:20px;border:1px solid rgba(74,216,246,.58);border-radius:20px;background:linear-gradient(115deg,#0b4b6b,#07334f);box-shadow:0 16px 40px rgba(0,15,27,.34);overflow:hidden}
.portfolio-showcase-copy{padding:8px 4px 8px 10px}.portfolio-showcase-copy h2{margin:6px 0 8px;color:#fff;font-size:24px;line-height:1.08}.portfolio-showcase-copy p{margin:0 0 16px;color:#c7e9f3;font-size:12px;font-weight:700;line-height:1.5}.portfolio-showcase-copy>a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:9px 14px;border:1px solid #4cdef8;border-radius:10px;background:#08bde8;color:#03263a;font-size:12px;font-weight:900;text-decoration:none;box-shadow:0 8px 22px rgba(0,198,238,.22)}
.portfolio-carousel-shell{position:relative;min-width:0}.portfolio-viewport{position:relative;overflow:hidden;border-radius:14px}.portfolio-track{display:flex;gap:12px}.portfolio-slide{position:relative;flex:0 0:calc(50% - 6px);height:210px;margin:0;overflow:hidden;border:1px solid rgba(97,225,250,.5);border-radius:14px;background:#06283c}.portfolio-slide img{width:100%;height:100%;display:block;object-fit:cover}.portfolio-slide figcaption{position:absolute;left:0;right:0;bottom:0;padding:28px 12px 10px;background:linear-gradient(transparent,rgba(0,19,31,.96));color:#fff;font-size:11px;font-weight:900;letter-spacing:.035em;text-align:center}
.portfolio-control{position:absolute;z-index:2;top:50%;width:38px;height:46px;margin-top:-23px;padding:0;border:1px solid rgba(95,228,252,.75);border-radius:10px;background:rgba(1,28,44,.88);color:#fff;font-size:30px;line-height:1;cursor:pointer}.portfolio-prev{left:8px}.portfolio-next{right:8px}
.whatsapp-float{position:fixed;z-index:80;right:20px;bottom:78px;display:flex;align-items:center;gap:9px;min-height:52px;padding:10px 15px;border:1px solid rgba(255,255,255,.75);border-radius:28px;background:#12b85a;color:#fff;font-size:12px;font-weight:900;text-decoration:none;box-shadow:0 12px 35px rgba(0,0,0,.42);transition:transform .2s ease,background .2s ease}.whatsapp-float:hover,.whatsapp-float:focus-visible{background:#0b9f4b;transform:translateY(-3px)}.whatsapp-float svg{width:27px;height:27px;fill:currentColor}
@media(max-width:900px){.portfolio-showcase{grid-template-columns:1fr;margin:-4px 0 20px}.portfolio-showcase-copy{text-align:center}.portfolio-showcase-copy p{max-width:540px;margin-inline:auto;margin-bottom:14px}.portfolio-slide{height:190px}.whatsapp-float{right:16px;bottom:74px;width:54px;height:54px;min-height:54px;padding:12px;border-radius:50%}.whatsapp-float span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}
@media(max-width:560px){.portfolio-showcase{gap:14px;padding:14px;border-radius:18px}.portfolio-showcase-copy{padding:4px}.portfolio-showcase-copy h2{font-size:20px}.portfolio-slide{flex-basis:100%;height:180px}.portfolio-control{width:34px;height:42px;margin-top:-21px}.portal-authenticated .point-hero-copy>p{max-width:100%}}

/* Avisos de documentos integrados ao mesmo padrão azul dos painéis. */
.portal-authenticated .attention-banner,.portal-authenticated .point-document-notice{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:18px 0 24px;padding:16px 20px;border:1px solid rgba(74,216,246,.5);border-radius:16px;background:linear-gradient(110deg,#0d4c6c,#0a3c59);color:#eafaff;text-decoration:none;box-shadow:0 12px 28px rgba(0,17,29,.26)}
.portal-authenticated .attention-banner strong,.portal-authenticated .attention-banner small,.portal-authenticated .point-document-notice strong,.portal-authenticated .point-document-notice small{display:block;color:inherit}.portal-authenticated .attention-banner strong,.portal-authenticated .point-document-notice strong{font-size:14px;letter-spacing:.025em}.portal-authenticated .attention-banner small,.portal-authenticated .point-document-notice small{margin-top:3px;color:#b9deeb;font-size:12px}.portal-authenticated .attention-banner b,.portal-authenticated .point-document-notice b{flex:0 0 auto;color:#52e5ff;font-size:12px;text-transform:uppercase}
.portal-authenticated .point-document-notice{margin:-10px 0 24px;padding-block:13px;background:linear-gradient(110deg,#0b4563,#083650)}
@media(max-width:620px){.portal-authenticated .attention-banner,.portal-authenticated .point-document-notice{align-items:flex-start;flex-direction:column;gap:10px;padding:14px 16px}.portal-authenticated .point-document-notice{margin:-4px 0 18px}}

/* Primeira tela móvel compacta: ponto e obras aparecem juntos. */
@media(max-width:560px){
  .portal-authenticated .topbar{height:96px;min-height:96px;padding:10px 16px}
  .portal-authenticated .brand-logo-motion{width:46px;height:46px}
  .portal-authenticated .mobile-menu>summary{width:48px;height:48px}
  .portal-authenticated .container{padding-top:14px}
  .portal-authenticated .point-hero{padding:10px 12px 12px;gap:7px;border-radius:18px}
  .portal-authenticated .point-greeting{min-height:42px;padding:6px 12px;font-size:21px;border-radius:11px}
  .portal-authenticated .point-hero-copy>p{margin-top:5px;font-size:9px;line-height:1.25}
  .portal-authenticated .point-hero-actions{gap:6px}
  .portal-authenticated .thermoeng-point-logo{width:82px;max-height:52px}
  .portal-authenticated .point-hero .server-clock{height:70px;min-height:70px;padding:6px}
  .portal-authenticated .point-hero .server-clock span{font-size:9px}
  .portal-authenticated .point-hero .server-clock strong{font-size:34px}
  .portal-authenticated .point-hero .server-clock small{font-size:9px}
  .portal-authenticated .point-action-home .hero-register-button{height:58px;min-height:58px!important;padding:7px 14px}
  .portal-authenticated .point-action-home .hero-register-icon{font-size:25px}
  .portal-authenticated .point-action-home .hero-register-button strong{font-size:16px}
  .portal-authenticated .point-action-home .hero-register-button small{font-size:9px}
  .portfolio-showcase{gap:8px;margin:10px 0 14px;padding:10px;border-radius:16px}
  .portfolio-showcase-copy{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 10px;padding:0;text-align:left}
  .portfolio-showcase-copy .eyebrow{grid-column:1;font-size:9px}
  .portfolio-showcase-copy h2{grid-column:1;margin:0;font-size:16px}
  .portfolio-showcase-copy p{display:none}
  .portfolio-showcase-copy>a{grid-column:2;grid-row:1/3;min-height:38px;max-width:132px;padding:7px 9px;font-size:9px;text-align:center}
  .portfolio-slide{height:126px}
  .portfolio-slide figcaption{padding:22px 9px 7px;font-size:9px}
}
