@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap');

:root{font-family:'DM Sans',ui-sans-serif,system-ui,sans-serif;color:#18283b;background:#f4f6f8;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--navy:#1b39c7;--ink:#18283b;--muted:#8793a2;--line:#e4e9ee;--pink:#dca0bd;--pink-soft:#f8e8f0;--blue:#eef0ff;--paper:#fff}
*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid rgba(231,131,171,.38);outline-offset:3px}
.onboarding-page{position:relative;display:flex;flex-direction:column;min-height:100vh;padding:36px max(24px,5vw) 28px;overflow:hidden;background:#f6f8fa}.ambient{position:absolute;pointer-events:none;border-radius:50%;filter:blur(1px)}.ambient--pink{width:430px;height:430px;right:-210px;top:-170px;background:radial-gradient(circle,rgba(231,131,171,.2),rgba(231,131,171,0) 68%)}.ambient--blue{width:560px;height:560px;left:-370px;bottom:-340px;background:radial-gradient(circle,rgba(76,113,153,.12),rgba(76,113,153,0) 70%)}.onboarding-header{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;max-width:1180px;width:100%;margin:0 auto}.school-mark{display:flex;align-items:center;gap:11px;color:var(--navy)}.school-mark__brand{display:block;width:154px;height:auto;object-fit:contain;mix-blend-mode:multiply}.school-mark--compact .school-mark__brand{width:120px}.secure-label{display:flex;align-items:center;gap:6px;color:#8793a2;font-size:11px;font-weight:600}.secure-label svg{color:#6c9f90}.onboarding-content{position:relative;z-index:1;width:min(600px,100%);margin:auto;padding:56px 0 46px}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--pink);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.eyebrow--dark{color:#bf6a8e}.onboarding-copy h1{margin:22px 0 18px;color:var(--navy);font-family:'Space Grotesk',sans-serif;font-size:clamp(43px,7vw,73px);font-weight:600;letter-spacing:-.085em;line-height:.98}.onboarding-copy h1 em{color:var(--pink);font-style:normal}.onboarding-copy p{max-width:465px;margin:0;color:#758394;font-size:15px;line-height:1.7}.id-form{width:min(100%,430px);margin-top:42px}.id-form>label{display:block;margin-bottom:10px;color:#405066;font-size:12px;font-weight:700}.id-input-wrap{display:flex;align-items:center;gap:12px;height:59px;padding:0 15px;color:#97a2af;background:#fff;border:1px solid #dce4ea;border-radius:16px;box-shadow:0 12px 34px rgba(30,53,75,.055);transition:.2s}.id-input-wrap:focus-within{border-color:var(--pink);box-shadow:0 0 0 4px rgba(231,131,171,.12),0 12px 34px rgba(30,53,75,.055)}.id-input-wrap--error{border-color:#d56b79}.id-input-wrap input{min-width:0;flex:1;height:100%;padding:0;background:transparent;border:0;outline:0;color:var(--ink);font-size:16px}.id-input-wrap input::placeholder{color:#aab4bf}.clear-input{display:grid;width:25px;height:25px;place-items:center;color:#8996a4;background:#edf1f4;border:0;border-radius:50%}.form-hint,.form-error{margin:9px 2px 0;font-size:11px;line-height:1.45}.form-hint{color:#9ba6b2}.form-error{color:#c55566}.primary-button{display:flex;width:100%;height:57px;align-items:center;justify-content:center;gap:10px;margin-top:25px;padding:0 20px;color:#fff;background:var(--navy);border:0;border-radius:16px;box-shadow:0 14px 28px rgba(19,38,62,.19);font-size:13px;font-weight:700;transition:transform .2s,background .2s,box-shadow .2s}.primary-button:hover:not(:disabled){background:#1b3656;box-shadow:0 17px 30px rgba(19,38,62,.25);transform:translateY(-2px)}.primary-button:disabled{cursor:not-allowed;opacity:.5}.button-loader{width:15px;height:15px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .75s linear infinite}.onboarding-footnote{display:flex;align-items:flex-start;gap:8px;margin-top:32px;color:#9aa5b0;font-size:11px;line-height:1.5}.onboarding-footnote svg{flex:none;margin-top:1px;color:#6c9f90}.onboarding-footer{position:relative;z-index:1;display:flex;justify-content:space-between;max-width:1180px;width:100%;margin:0 auto;color:#a2acb7;font-family:'Space Grotesk',sans-serif;font-size:9px;font-weight:600;letter-spacing:.11em}
.dashboard-page{min-height:100vh;padding-bottom:95px;background:#f5f7f9}.dashboard-header{display:flex;align-items:center;justify-content:space-between;width:min(100%,760px);margin:auto;padding:25px 24px 16px}.header-actions{display:flex;gap:8px}.icon-button{display:grid;width:38px;height:38px;place-items:center;color:#8290a0;background:#fff;border:1px solid #e8edf1;border-radius:13px}.icon-button:first-child{color:#bc6e8f;background:#fff7fa}.dashboard-main{width:min(100%,760px);margin:auto;padding:18px 24px 0}.welcome-row{display:flex;align-items:center;justify-content:space-between}.small-label{display:block;margin-bottom:5px;color:#9aa4af;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.welcome-row h1,.page-heading h1{margin:0;color:var(--navy);font-family:'Space Grotesk',sans-serif;font-size:34px;font-weight:600;letter-spacing:-.075em}.welcome-row h1 span{color:var(--pink);font-weight:400}.avatar{width:48px;height:48px;padding:3px;background:#fff;border-radius:50%;box-shadow:0 5px 20px rgba(28,47,68,.1)}.avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.access-banner{display:flex;align-items:center;gap:11px;margin-top:28px;padding:14px 15px;background:var(--navy);border-radius:17px;color:#fff;box-shadow:0 12px 25px rgba(19,38,62,.15)}.access-banner__icon{display:grid;width:31px;height:31px;place-items:center;color:#fff;background:rgba(231,131,171,.95);border-radius:10px}.access-banner strong,.access-banner span{display:block}.access-banner strong{font-size:12px}.access-banner span{margin-top:3px;color:#b7c5d2;font-size:10px}.access-banner>svg{margin-left:auto;color:#9eacba}.section-heading{display:flex;align-items:baseline;justify-content:space-between;margin:31px 1px 13px}.section-heading h2{margin:0;color:var(--navy);font-size:14px}.section-heading span{color:#a0aab4;font-size:10px}.card-stage{position:relative;display:flex;flex-direction:column;align-items:center;padding:0 0 6px}.food-card{position:relative;width:100%;aspect-ratio:1.62;min-height:260px;transform-style:preserve-3d;transition:transform .62s cubic-bezier(.2,.8,.2,1);cursor:grab;touch-action:pan-y}.food-card--dragging{transition:none;cursor:grabbing}.food-card__face{position:absolute;inset:0;display:flex;flex-direction:column;padding:23px 25px;color:#fff;border-radius:24px;overflow:hidden;backface-visibility:hidden;background:var(--navy);box-shadow:0 18px 32px rgba(19,38,62,.22)}.food-card__face::after{content:'';position:absolute;width:290px;height:290px;right:-105px;bottom:-180px;border:1px solid rgba(231,131,171,.42);border-radius:50%;box-shadow:0 0 0 27px rgba(231,131,171,.06),0 0 0 55px rgba(231,131,171,.045),0 0 0 83px rgba(231,131,171,.035)}.food-card__back{transform:rotateY(180deg);background:#1023bb}.food-card__back::before{content:'';position:absolute;inset:0;opacity:.45;background:linear-gradient(130deg,transparent 30%,rgba(231,131,171,.12));pointer-events:none}.food-card__top,.food-card__student,.food-card__middle{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between}.card-overline{color:#aab9c6;font-size:9px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.card-mini-mark{display:grid;width:29px;height:29px;place-items:center;color:var(--pink);background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.14);border-radius:10px}.food-card__middle{flex:1;align-items:center}.card-kicker{display:block;margin-bottom:7px;color:#f0a9c4;font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.food-card h2{margin:0;font-family:'Space Grotesk',sans-serif;font-size:35px;font-weight:600;letter-spacing:-.08em;line-height:.95}.food-card h2 em{color:var(--pink);font-style:normal}.meal-orbit{display:grid;width:77px;height:77px;place-items:center;align-content:center;gap:4px;color:#fff;background:rgba(231,131,171,.18);border:1px solid rgba(231,131,171,.48);border-radius:50%;text-align:center}.meal-orbit svg{color:#f1b6cb}.meal-orbit span{font-family:'Space Grotesk',sans-serif;font-size:9px;font-weight:600;line-height:1.2}.food-card__student{justify-content:flex-start;gap:10px}.food-card__student img{width:39px;height:39px;object-fit:cover;border:2px solid rgba(255,255,255,.45);border-radius:12px}.food-card__student div{display:flex;flex:1;flex-direction:column;min-width:0}.food-card__student strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.food-card__student span{margin-top:3px;color:#9aabba;font-size:9px}.food-card__student>svg{color:#eeb0c8}.card-swipe-hint{position:relative;z-index:1;display:flex;align-items:center;gap:6px;align-self:flex-end;margin-top:12px;color:#8397a9;font-size:9px;font-weight:600}.card-swipe-hint svg{transform:rotate(180deg)}.food-card__back .card-swipe-hint svg{transform:none}.back-details{position:relative;z-index:1;flex:1;padding-top:28px}.back-details h2{max-width:300px;font-size:23px;line-height:1.03}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:22px}.detail-grid span{display:block;margin-bottom:4px;color:#8da1b3;font-size:8px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.detail-grid strong{display:block;color:#f6f8fa;font-size:11px}.card-shadow{position:absolute;z-index:-1;bottom:2px;width:82%;height:25px;background:rgba(19,38,62,.22);filter:blur(17px);border-radius:50%}.card-flip-button{display:flex;align-items:center;gap:6px;margin-top:16px;padding:0;color:#8c98a5;background:none;border:0;font-size:10px;font-weight:700}.card-flip-button:hover{color:var(--pink)}.quick-section{padding-bottom:12px}.meal-row{display:flex;align-items:center;gap:11px;padding:14px 15px;background:#fff;border:1px solid #edf0f2;border-radius:16px;box-shadow:0 8px 22px rgba(30,53,75,.04)}.meal-row__icon{display:grid;width:34px;height:34px;place-items:center;color:#c36d8e;background:var(--pink-soft);border-radius:11px}.meal-row strong,.meal-row span{display:block}.meal-row strong{color:var(--navy);font-size:12px}.meal-row span{margin-top:4px;color:#9aa5b0;font-size:10px}.meal-status{margin-left:auto;color:#6da38e;font-size:9px;font-weight:700}.tab-content{min-height:560px}.page-heading{padding:25px 0 27px}.page-heading h1{font-size:39px}.page-heading p{max-width:330px;margin:12px 0 0;color:#8995a3;font-size:13px;line-height:1.6}.history-list{padding:4px 0}.history-date{margin:12px 0 11px;color:#a1abb5;font-size:9px;font-weight:700;letter-spacing:.12em}.history-item{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #e7ecef}.history-item__icon{display:grid;width:37px;height:37px;place-items:center;color:#ba6c8c;background:var(--pink-soft);border-radius:12px}.history-item strong,.history-item span{display:block}.history-item strong{color:var(--navy);font-size:12px}.history-item div:nth-child(2){flex:1}.history-item div:nth-child(2) span{margin-top:4px;color:#9ba6b1;font-size:10px}.history-ok{color:#71a08c;font-size:9px}.profile-card{display:flex;align-items:center;gap:12px;padding:16px;background:#fff;border-radius:18px;box-shadow:0 8px 25px rgba(30,53,75,.05)}.profile-card img{width:52px;height:52px;object-fit:cover;border-radius:15px}.profile-card div{flex:1}.profile-card strong,.profile-card span{display:block}.profile-card strong{color:var(--navy);font-size:13px}.profile-card span{margin-top:4px;color:#9ba6b1;font-size:10px}.profile-card>svg{color:#6da38e}.info-list{margin-top:18px;padding:0 3px}.info-list>div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 0;border-bottom:1px solid #e5eaed}.info-list span{color:#9ca7b2;font-size:10px}.info-list strong{color:#3c5065;font-size:11px;text-align:right}.privacy-note{display:flex;align-items:flex-start;gap:8px;margin-top:26px;padding:13px;color:#8292a0;background:#edf4f4;border-radius:13px;font-size:10px;line-height:1.45}.privacy-note svg{flex:none;color:#699d8d}.bottom-nav{position:fixed;z-index:5;right:0;bottom:0;left:0;display:flex;justify-content:center;gap:18px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:rgba(255,255,255,.9);border-top:1px solid rgba(222,229,234,.8);box-shadow:0 -8px 25px rgba(26,45,65,.04);backdrop-filter:blur(18px)}.bottom-nav button{display:flex;min-width:82px;flex-direction:column;align-items:center;gap:4px;padding:3px 12px;color:#a1abb5;background:none;border:0;font-size:9px;font-weight:700}.bottom-nav button.active{color:var(--pink)}.bottom-nav button.active svg{stroke-width:2.5}.reset-student{position:fixed;right:14px;top:13px;z-index:6;display:flex;align-items:center;gap:4px;padding:5px 8px;color:#9ca6b0;background:transparent;border:0;font-size:9px}.reset-student:hover{color:var(--pink)}
@keyframes spin{to{transform:rotate(360deg)}}
@media (min-width:760px){.dashboard-page{padding-bottom:0}.dashboard-header{padding-top:35px}.bottom-nav{position:relative;width:min(100%,760px);margin:20px auto 0;border:1px solid #e6ebef;border-radius:18px;box-shadow:none}.reset-student{top:24px;right:calc(50% - 370px)}.dashboard-main{padding-top:30px}.food-card{min-height:325px}.food-card__face{padding:28px 31px}.food-card h2{font-size:47px}}
@media (max-width:540px){.onboarding-page{padding:25px 20px 22px}.secure-label{font-size:0}.secure-label svg{width:17px;height:17px}.onboarding-content{padding-top:34px}.onboarding-copy h1{font-size:52px}.onboarding-copy p{font-size:14px}.onboarding-footer{font-size:8px}.dashboard-header{padding-right:18px;padding-left:18px}.dashboard-main{padding-right:18px;padding-left:18px}.welcome-row h1{font-size:32px}.food-card{aspect-ratio:auto;height:280px}.food-card__face{padding:20px}.food-card h2{font-size:34px}.meal-orbit{width:68px;height:68px}.bottom-nav{gap:3px}.bottom-nav button{min-width:74px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

.access-banner__open{display:flex;align-items:center;gap:6px;margin-left:auto;padding:8px 10px;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:10px;font-size:10px;font-weight:700;white-space:nowrap}.access-banner__open:hover{background:rgba(231,131,171,.28)}.card-qr{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:5px;padding:7px 7px 6px;background:#fff;border-radius:12px;box-shadow:0 10px 22px rgba(4,18,49,.2)}.card-qr>svg{display:block;width:63px;height:63px}.card-qr span{color:#1729d9;font-size:7px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.qr-sheet-backdrop{position:fixed;z-index:20;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:18px;background:rgba(8,20,39,.48);backdrop-filter:blur(8px);animation:sheet-in .24s ease-out}.qr-sheet{position:relative;width:min(100%,420px);padding:30px 24px 25px;color:var(--navy);background:#fff;border-radius:28px 28px 20px 20px;box-shadow:0 -10px 45px rgba(8,20,39,.25);text-align:center;animation:sheet-up .34s cubic-bezier(.2,.8,.2,1)}.qr-sheet__close{position:absolute;top:16px;right:17px;display:grid;width:34px;height:34px;place-items:center;color:#8290a0;background:#f0f3f5;border:0;border-radius:50%}.qr-sheet__eyebrow{display:inline-flex;align-items:center;gap:6px;color:#bd6b8c;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.qr-sheet h2{margin:13px 0 20px;font-family:'Space Grotesk',sans-serif;font-size:28px;line-height:1;letter-spacing:-.07em}.qr-sheet h2 em{color:var(--pink);font-style:normal}.qr-sheet__code{display:flex;justify-content:center;width:max-content;margin:0 auto 16px;padding:13px;background:#fff;border:1px solid #edf0f2;border-radius:18px;box-shadow:0 7px 25px rgba(25,49,72,.08)}.qr-sheet__code svg{display:block}.qr-sheet>strong{display:block;color:var(--navy);font-size:13px}.qr-sheet__id{display:block;margin-top:4px;color:#97a3af;font-size:10px}.qr-sheet__hint{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:18px;padding-top:15px;color:#779181;border-top:1px solid #eef1f2;font-size:10px}.qr-sheet__hint svg{color:#6da38e}@keyframes sheet-in{from{opacity:0}to{opacity:1}}@keyframes sheet-up{from{transform:translateY(35px);opacity:0}to{transform:translateY(0);opacity:1}}
@media (min-width:760px){.qr-sheet-backdrop{align-items:center}.qr-sheet{border-radius:28px}}
@media (max-width:540px){.access-banner{gap:8px}.access-banner__open{padding:8px 8px;font-size:9px}.access-banner>div:nth-child(2){min-width:0}.access-banner strong,.access-banner span{white-space:nowrap}.card-qr{padding:6px}.card-qr>svg{width:58px;height:58px}}

/* Tela da carteirinha inspirada na referência enviada pela escola. */
.dashboard-page{color:#fff;background:linear-gradient(154deg,#183c9b 0%,#12328a 48%,#10286f 100%)}.dashboard-header{padding-top:18px}.dashboard-header .school-mark{color:#fff}.dashboard-header .school-mark strong{color:#fff}.dashboard-header .school-mark span{color:rgba(255,255,255,.66)}.dashboard-greeting{display:flex;align-items:center;gap:10px}.dashboard-greeting>img{width:36px;height:36px;object-fit:cover;border:2px solid rgba(255,255,255,.85);border-radius:50%}.dashboard-greeting span,.dashboard-greeting strong{display:block}.dashboard-greeting span{color:rgba(255,255,255,.68);font-size:10px}.dashboard-greeting strong{margin-top:2px;color:#fff;font-size:14px;letter-spacing:.06em}.logout-button{display:flex;align-items:center;gap:6px;padding:10px 14px;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:22px;font-size:11px;font-weight:700}.logout-button:hover{background:rgba(231,131,171,.3)}.dashboard-main{padding-top:20px}.access-banner{margin-top:0;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.13);box-shadow:none}.access-banner__icon{color:#fff;background:var(--pink)}.access-banner span{color:rgba(255,255,255,.65)}.section-heading h2{color:#fff}.section-heading span{color:rgba(255,255,255,.6)}.food-card{aspect-ratio:auto;height:640px;min-height:0}.food-card__face{padding:25px 25px 21px;background:linear-gradient(145deg,#2a5edc 0%,#1d4eca 45%,#1539a3 100%);border:1px solid rgba(255,255,255,.24);box-shadow:0 19px 35px rgba(3,17,67,.3)}.food-card__face::after{right:-140px;bottom:-130px;border-color:rgba(231,131,171,.45);box-shadow:0 0 0 32px rgba(231,131,171,.08),0 0 0 64px rgba(231,131,171,.05)}.food-card__top{align-items:flex-start}.card-school-logo{display:block;width:42px;height:42px;object-fit:cover;border:2px solid rgba(255,255,255,.88);border-radius:50%}.food-card__title{position:relative;z-index:1;margin-top:23px}.food-card__title h2{font-size:30px;letter-spacing:-.065em}.food-card__title .card-kicker{margin-bottom:7px;color:#eab0c6;letter-spacing:.2em}.food-card__student{margin-top:24px;padding:0 0 0}.food-card__student img{width:64px;height:64px;border-radius:16px}.food-card__student strong{font-size:13px}.food-card__student span{color:rgba(255,255,255,.68);font-size:9px}.card-detail-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.card-detail-grid>div{padding:11px 12px;background:rgba(7,32,115,.38);border:1px solid rgba(255,255,255,.05);border-radius:11px}.card-detail-grid span{display:block;margin-bottom:5px;color:rgba(255,255,255,.62);font-size:8px;font-weight:700;letter-spacing:.1em}.card-detail-grid strong{display:block;overflow:hidden;color:#fff;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.card-qr--large{align-self:center;margin-top:22px;padding:14px 14px 9px;border-radius:17px;box-shadow:0 9px 23px rgba(8,24,89,.23)}.card-qr--large>svg{width:176px;height:176px}.card-qr--large span{margin-top:0;color:#1729d9;font-family:'Space Grotesk',sans-serif;font-size:8px;letter-spacing:.32em}.food-card__front .card-swipe-hint{margin-top:auto;color:rgba(255,255,255,.58)}.food-card__back{background:linear-gradient(145deg,#173da7,#10286f)}.card-shadow{background:rgba(1,13,52,.38)}.card-flip-button{color:rgba(255,255,255,.72)}.card-flip-button:hover{color:#f2b2c8}.quick-section{padding-bottom:12px}.meal-row{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.15);box-shadow:none}.meal-row strong{color:#fff}.meal-row span{color:rgba(255,255,255,.65)}.meal-row__icon{color:#fff;background:rgba(231,131,171,.3)}.bottom-nav{background:rgba(10,27,78,.88);border-top-color:rgba(255,255,255,.13)}.bottom-nav button{color:rgba(255,255,255,.55)}.bottom-nav button.active{color:#f0a9c3}.reset-student{color:rgba(255,255,255,.58)}.reset-student:hover{color:#f0a9c3}.tab-content{color:#fff}.page-heading h1{color:#fff}.page-heading p{color:rgba(255,255,255,.65)}.history-date{color:rgba(255,255,255,.6)}.history-item{border-bottom-color:rgba(255,255,255,.14)}.history-item strong{color:#fff}.history-item div:nth-child(2) span{color:rgba(255,255,255,.62)}.history-item__icon{color:#fff;background:rgba(231,131,171,.3)}.profile-card{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.14);box-shadow:none}.profile-card strong{color:#fff}.profile-card span{color:rgba(255,255,255,.62)}.info-list>div{border-bottom-color:rgba(255,255,255,.14)}.info-list span{color:rgba(255,255,255,.62)}.info-list strong{color:#fff}.privacy-note{color:rgba(255,255,255,.72);background:rgba(255,255,255,.1)}
@media (max-width:540px){.dashboard-header{padding-top:15px}.dashboard-main{padding-top:18px}.access-banner{margin-bottom:17px}.food-card{height:610px}.food-card__face{padding:22px 20px 18px}.card-qr--large{margin-top:18px}.card-qr--large>svg{width:164px;height:164px}.food-card__student{margin-top:20px}}

/* Modo carteirinha em foco: o cartão é a primeira coisa visível e ocupa a tela. */
.tab-content--focus{min-height:calc(100svh - 126px);display:flex;flex-direction:column}.tab-content--focus .card-stage{flex:1;min-height:0;justify-content:center}.tab-content--focus .food-card{height:calc(100svh - 190px);max-height:720px;min-height:540px}.tab-content--focus .card-flip-button{margin-top:8px}.tab-content--focus .card-shadow{bottom:2px}
@media (max-width:540px){.dashboard-main{padding-top:8px}.tab-content--focus{min-height:calc(100svh - 104px)}.tab-content--focus .card-stage{padding-bottom:0}.tab-content--focus .food-card{height:calc(100svh - 155px);min-height:555px;max-height:none}.tab-content--focus .card-flip-button{margin-top:5px;margin-bottom:1px}.dashboard-page{padding-bottom:78px}}

.card-qr-expand{display:flex;align-items:center;gap:4px;margin-top:7px;padding:4px 7px;color:#1729d9;background:#edf2ff;border:0;border-radius:7px;font-size:8px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.card-qr-expand:hover{background:#e5d0da;color:#a64e73}.qr-sheet-backdrop{animation:qr-backdrop-in .32s cubic-bezier(.22,.8,.28,1)}.qr-sheet{transform-origin:center bottom;animation:qr-sheet-rise .48s cubic-bezier(.16,1,.3,1)}.qr-sheet__code{animation:qr-code-pop .58s .08s cubic-bezier(.16,1,.3,1) both}.qr-sheet__close{transition:transform .2s ease,background .2s ease}.qr-sheet__close:hover{background:#f8e4ed;transform:rotate(90deg)}@keyframes qr-backdrop-in{from{opacity:0;backdrop-filter:blur(0)}to{opacity:1;backdrop-filter:blur(8px)}}@keyframes qr-sheet-rise{from{opacity:0;transform:translateY(38px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes qr-code-pop{from{opacity:0;transform:scale(.76) rotate(-2deg)}to{opacity:1;transform:scale(1) rotate(0)}}

/* Retrato completo, centralizado e sem cortes laterais. */
.food-card__student img{object-fit:contain;object-position:center center;background:#fff;padding:2px}.avatar img,.profile-card img{object-fit:contain;object-position:center center;background:#fff}

/* QR Code com área de segurança completa, sem cortes e alinhamento central. */
.card-qr--large{width:max-content;max-width:calc(100% - 16px);align-items:center;justify-content:center;margin-left:auto;margin-right:auto;overflow:visible;flex-shrink:0}.card-qr--large>svg{display:block;width:176px;height:176px;max-width:100%;flex:none}.card-qr--large span{text-align:center;white-space:nowrap}.qr-sheet__code{width:max-content;max-width:calc(100% - 8px);align-items:center;justify-content:center;overflow:visible}.qr-sheet__code svg{display:block;max-width:100%;height:auto}

/* Viewports compactos: toda a área útil da carteirinha fica acima da barra inferior. */
@media (max-width:540px) and (max-height:720px){.dashboard-header{padding-top:9px}.dashboard-main{padding-top:3px}.tab-content--focus{min-height:0}.tab-content--focus .food-card{height:calc(100svh - 176px);min-height:0}.tab-content--focus .card-flip-button{display:none}.food-card__face{padding:17px 18px 13px}.food-card__title{margin-top:12px}.food-card__title h2{font-size:28px}.food-card__student{margin-top:12px}.food-card__student img{width:55px;height:55px}.card-detail-grid{gap:7px;margin-top:12px}.card-detail-grid>div{padding:8px 9px}.card-detail-grid span{margin-bottom:3px;font-size:7px}.card-detail-grid strong{font-size:9px}.card-qr--large{margin-top:10px;padding:8px 8px 6px}.card-qr--large>svg{width:132px;height:132px}.card-qr--large span{font-size:7px}.card-qr-expand{margin-top:4px;padding:3px 6px;font-size:7px}.food-card__front .card-swipe-hint{display:none}}

/* Paleta integral baseada na referência: branco frio, azul royal, lavanda e rosa suave. */
:root{--navy:#1b39c7;--pink:#dca0bd;--pink-soft:#f8e8f0;--blue:#eef0ff;--ink:#263142;--muted:#8c95a3}body{background:#f7f8fa}.onboarding-page{background:linear-gradient(145deg,#fbfbfd 0%,#f4f5fa 100%)}.ambient--pink{background:radial-gradient(circle,rgba(220,160,189,.18),rgba(220,160,189,0) 68%)}.ambient--blue{background:radial-gradient(circle,rgba(128,135,229,.12),rgba(128,135,229,0) 70%)}.onboarding-copy h1{color:#1838c9}.onboarding-copy h1 em{color:#dca0bd}.eyebrow--dark{color:#c68aa8}.primary-button{background:#8589e6;box-shadow:0 14px 28px rgba(116,120,218,.2)}.primary-button:hover:not(:disabled){background:#7378d8;box-shadow:0 17px 30px rgba(116,120,218,.25)}.id-input-wrap:focus-within{border-color:#b7b8f1;box-shadow:0 0 0 4px rgba(133,137,230,.13),0 12px 34px rgba(30,53,75,.055)}.form-error{color:#c56f95}.dashboard-page{color:var(--ink);background:linear-gradient(154deg,#f8f8fc 0%,#eff0fb 100%)}.dashboard-header .school-mark{color:var(--navy)}.dashboard-header .school-mark strong{color:var(--navy)}.dashboard-header .school-mark span{color:#8d96a4}.dashboard-greeting span{color:#8a93a0}.dashboard-greeting strong{color:var(--navy)}.dashboard-greeting>img{border-color:#fff}.logout-button{color:#5e66be;background:#ececff;border-color:#dfe0fb}.logout-button:hover{color:#fff;background:#8589e6}.food-card__face{background:linear-gradient(145deg,#4161d9 0%,#536bdc 45%,#7e84e7 100%);border-color:rgba(255,255,255,.42);box-shadow:0 19px 35px rgba(76,86,190,.22)}.food-card__back{background:linear-gradient(145deg,#5269da,#8589e6)}.food-card__face::after{border-color:rgba(220,160,189,.55);box-shadow:0 0 0 32px rgba(220,160,189,.1),0 0 0 64px rgba(220,160,189,.06)}.access-banner{color:var(--navy);background:rgba(255,255,255,.72);border-color:#e4e5f7}.access-banner strong{color:var(--navy)}.access-banner span{color:#9299a9}.access-banner__icon{color:#fff;background:#dca0bd}.section-heading h2{color:var(--navy)}.section-heading span{color:#9299a9}.card-kicker{color:#f5d4e1}.card-qr-expand{color:#5b62c2;background:#f0efff}.card-qr-expand:hover{color:#a85d83;background:#f8e8f0}.card-flip-button{color:#8a91a0}.card-flip-button:hover{color:#c57799}.meal-row{background:rgba(255,255,255,.78);border-color:#e8e9f5}.meal-row strong{color:var(--navy)}.meal-row span{color:#9299a9}.meal-row__icon{color:#bb7294;background:#f8e8f0}.meal-status{color:#7b81d9}.bottom-nav{background:rgba(255,255,255,.92);border-top-color:#e7e8f3}.bottom-nav button{color:#9aa1ad}.bottom-nav button.active{color:#777bd8}.reset-student{color:#9098a6}.reset-student:hover{color:#bb7193}.qr-sheet-backdrop{background:rgba(35,43,105,.28)}.qr-sheet{color:var(--navy)}.qr-sheet__eyebrow{color:#c17b9a}.qr-sheet h2 em{color:#dca0bd}.qr-sheet__hint{color:#7d84d3}.page-heading h1{color:var(--navy)}.page-heading p{color:#9299a9}.history-item strong{color:var(--navy)}.history-item__icon{color:#b66f91;background:#f8e8f0}.profile-card strong{color:var(--navy)}.info-list strong{color:#526080}.privacy-note{color:#7c8492;background:#f0f0ff}

/* Direção final da referência: base branca, tipografia rosa e azul institucional como apoio. */
:root{--navy:#bf7899;--pink:#d59ab7;--pink-soft:#faedf3;--blue:#f2f1ff;--ink:#3f4654;--muted:#969ca7}body{color:var(--ink);background:#fff}.onboarding-page{background:#fff}.ambient--pink{background:radial-gradient(circle,rgba(213,154,183,.12),rgba(213,154,183,0) 68%)}.ambient--blue{background:radial-gradient(circle,rgba(119,126,224,.08),rgba(119,126,224,0) 70%)}.school-mark strong,.dashboard-header .school-mark strong{color:#bd7698}.school-mark span,.dashboard-header .school-mark span{color:#9da2aa}.eyebrow--dark,.onboarding-copy .eyebrow{color:#c782a2}.onboarding-copy h1{color:#c1799c}.onboarding-copy h1 em{color:#d89db9}.onboarding-copy p,.field-note,.secure-note{color:#9a9ea7}.onboarding-copy label{color:#8e939d}.id-input-wrap{background:#fff;border-color:#e9cbd9;box-shadow:0 8px 24px rgba(180,114,145,.06)}.id-input-wrap:focus-within{border-color:#d69ab7;box-shadow:0 0 0 4px rgba(213,154,183,.14),0 12px 34px rgba(180,114,145,.08)}.primary-button{color:#fff;background:#d49ab7;box-shadow:0 14px 28px rgba(199,123,157,.2)}.primary-button:hover:not(:disabled){background:#c888a8;box-shadow:0 17px 30px rgba(199,123,157,.24)}.dashboard-page{color:var(--ink);background:#fff}.dashboard-header{background:#fff}.dashboard-greeting span{color:#a2a5ad}.dashboard-greeting strong{color:#bf7899}.logout-button{color:#bd7899;background:#fff3f7;border-color:#f0dbe5}.logout-button:hover{color:#fff;background:#d49ab7}.dashboard-main{background:#fff}.food-card__face{background:linear-gradient(145deg,#f9eaf1 0%,#f7e4ed 55%,#f4dce8 100%);border-color:#e9bfd2;box-shadow:0 19px 35px rgba(186,113,147,.16)}.food-card__back{background:linear-gradient(145deg,#f8e7ef,#f1d4e1)}.food-card__face::after{border-color:rgba(191,120,153,.3);box-shadow:0 0 0 32px rgba(213,154,183,.08),0 0 0 64px rgba(213,154,183,.04)}.card-overline,.card-kicker{color:#c27c9d}.food-card__title h2{color:#bf7899}.food-card__title h2 em{color:#d59ab7}.food-card__student strong{color:#4b5360}.food-card__student span{color:#989da6}.card-detail-grid>div{background:rgba(255,255,255,.76);border-color:#efd9e3}.card-detail-grid span{color:#a08f99}.card-detail-grid strong{color:#59616d}.card-qr{box-shadow:0 10px 22px rgba(170,104,135,.12)}.card-qr-expand{color:#b56f91;background:#fff1f6}.card-qr-expand:hover{color:#9d597a;background:#f8e3ed}.card-swipe-hint{color:#aa8c9b}.card-flip-button{color:#b38d9d}.card-flip-button:hover{color:#bf7899}.access-banner{color:#bd7899;background:#fff7fa;border-color:#f0dce6}.access-banner strong{color:#bd7899}.access-banner span{color:#a3a0a5}.access-banner__icon{color:#fff;background:#d59ab7}.section-heading h2,.page-heading h1{color:#bf7899}.section-heading span,.page-heading p{color:#a0a4ad}.meal-row{background:#fff;border-color:#f0dfe7;box-shadow:0 8px 20px rgba(179,111,143,.06)}.meal-row strong{color:#bf7899}.meal-row span{color:#999fa8}.meal-row__icon{color:#bd7899;background:#faedf3}.meal-status{color:#ba7897}.bottom-nav{background:rgba(255,255,255,.97);border-top-color:#f0e3e8}.bottom-nav button{color:#aaa3a9}.bottom-nav button.active{color:#c47b9d}.reset-student{color:#a89ba3}.reset-student:hover{color:#bf7899}.history-date{color:#a39da2}.history-item{border-bottom-color:#f3e7eb}.history-item strong,.profile-card strong{color:#bf7899}.history-item div:nth-child(2) span,.profile-card span{color:#9ea2aa}.history-item__icon{color:#bd7899;background:#faedf3}.profile-card{background:#fff8fb;border-color:#f1dfe7;box-shadow:none}.info-list>div{border-bottom-color:#f2e4e9}.info-list span{color:#9da1a9}.info-list strong{color:#59616d}.privacy-note{color:#9a9298;background:#fff5f8}.qr-sheet-backdrop{background:rgba(110,71,91,.2)}.qr-sheet{color:#bf7899}.qr-sheet__eyebrow{color:#bf7899}.qr-sheet h2 em{color:#d59ab7}.qr-sheet__hint{color:#b07d96}

.card-utensils-logo{display:grid;place-items:center;color:#c47a9c;background:#fff;border:2px solid rgba(255,255,255,.9);border-radius:50%;box-shadow:0 7px 16px rgba(174,103,136,.12)}.card-utensils-logo svg{display:block}

/* Aplicação da edição do preview: frente da carteirinha em azul solicitado. */
.food-card__front{background:#002aff}

/* Edição seguinte do preview: frente da carteirinha em branco puro. */
.food-card__front{background:#ffffff}

/* Refinos de produção: contraste, foco, superfície e comportamento responsivo. */
button:focus-visible,input:focus-visible{outline:3px solid rgba(191,120,153,.38);outline-offset:3px}.food-card__front{color:#4b5360;border:1px solid #ead7e0;box-shadow:0 20px 42px rgba(174,103,136,.12)}.food-card__front::after{border-color:rgba(191,120,153,.18);box-shadow:0 0 0 27px rgba(213,154,183,.045),0 0 0 55px rgba(213,154,183,.025),0 0 0 83px rgba(213,154,183,.018)}.food-card__front .card-overline{color:#b77d98}.food-card__front .card-kicker{color:#c382a0}.food-card__front .card-detail-grid>div{background:#fff8fb;border-color:#f0dce5}.food-card__front .card-detail-grid span{color:#a8919d}.food-card__front .card-detail-grid strong{color:#56606c}.food-card__front .card-swipe-hint{color:#ae8e9e}.food-card__front .card-school-logo{border-color:#efd8e3}.food-card__front .card-qr{box-shadow:0 10px 26px rgba(166,94,127,.11)}.qr-sheet__close:focus-visible{outline-color:#d59ab7}.qr-sheet__code svg{shape-rendering:crispEdges}.primary-button[aria-busy=true]{cursor:wait}.primary-button:disabled{filter:saturate(.75)}.bottom-nav button{min-height:42px}.reset-student:focus-visible{outline-offset:2px}.form-error{font-weight:600}@media (max-width:540px){.food-card__front .card-detail-grid>div{min-width:0}.food-card__front .card-detail-grid strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qr-sheet{max-height:calc(100svh - 24px);overflow:auto}}

/* Correções de robustez para telas pequenas e acessibilidade de interação. */
.onboarding-page{overflow-x:hidden;overflow-y:auto}.card-meal-window{display:block;margin-top:8px;color:#b58b9d;font-size:9px;font-weight:700;letter-spacing:.04em}.food-card__front .card-meal-window{color:#b58b9d}.food-card[tabindex="0"]:focus-visible{outline:3px solid rgba(191,120,153,.38);outline-offset:5px}.qr-sheet__code svg{display:block;shape-rendering:crispEdges}@media (max-width:540px){.reset-student{display:none}.tab-content--focus .card-flip-button{display:flex;min-height:40px;align-items:center;justify-content:center;margin-top:2px}.tab-content--focus .food-card{height:calc(100svh - 154px)}.food-card__front .card-meal-window{margin-top:5px;font-size:8px}}@media (max-width:540px) and (max-height:720px){.tab-content--focus .food-card{height:calc(100svh - 154px);min-height:0}.food-card__face{padding:12px 14px 9px}.food-card__title{margin-top:8px}.food-card__title h2{font-size:25px}.food-card__student{margin-top:8px}.food-card__student img{width:46px;height:46px}.card-detail-grid{gap:5px;margin-top:8px}.card-detail-grid>div{padding:6px 7px}.card-detail-grid span{margin-bottom:2px;font-size:7px}.card-detail-grid strong{font-size:8px}.card-qr--large{margin-top:7px;padding:6px 6px 4px;gap:3px}.card-qr--large>svg{width:108px;height:108px}.card-qr--large span{font-size:6px}.card-qr-expand{margin-top:2px;padding:3px 5px;font-size:7px}.food-card__front .card-swipe-hint{display:flex;margin-top:auto;font-size:8px}.tab-content--focus .card-flip-button{display:flex;padding-bottom:2px;font-size:9px}}

/* Edição do preview: margem interna ampla para o bloco do QR Code. */
.card-qr--large{padding:30px}

/* Edição do preview: verso da carteirinha em branco puro. */
.food-card__back{background:#ffffff}

/* Harmonia tipográfica da frente no verso branco da carteirinha. */
.food-card__back{background:#ffffff;color:#4b5360}.food-card__back .card-overline{color:#b77d98}.food-card__back .card-mini-mark{color:#bf7899;background:#fff1f6;border-color:#efd8e3}.food-card__back .card-kicker{color:#c382a0}.food-card__back .back-details h2{color:#bf7899}.food-card__back .detail-grid span{color:#a8919d}.food-card__back .detail-grid strong{color:#56606c}.food-card__back .card-swipe-hint{color:#ae8e9e}.food-card__back .card-swipe-hint svg{color:#bf7899}


/* Ajuste mobile final: proporções calculadas pela altura real do aparelho. */
@media (max-width: 540px) {
  .onboarding-page { padding: 22px 18px 20px; }
  .onboarding-header { gap: 12px; }
  .school-mark { gap: 8px; }
  .school-mark__logo { width: 36px; height: 36px; }
  .school-mark strong { font-size: 14px; }
  .school-mark span { font-size: 8px; }
  .onboarding-content { padding: 28px 0 30px; }
  .onboarding-copy h1 { margin: 16px 0 14px; font-size: clamp(39px, 11.5vw, 50px); }
  .onboarding-copy p { font-size: 13px; line-height: 1.55; }
  .id-form { margin-top: 28px; }
  .id-input-wrap { height: 53px; border-radius: 14px; }
  .primary-button { height: 53px; margin-top: 20px; border-radius: 14px; }

  .dashboard-page { padding-bottom: 72px; }
  .dashboard-header { padding: 12px 14px 8px; }
  .dashboard-greeting { gap: 8px; }
  .dashboard-greeting > img { width: 32px; height: 32px; }
  .dashboard-greeting span { font-size: 9px; }
  .dashboard-greeting strong { font-size: 12px; }
  .logout-button { padding: 8px 11px; font-size: 10px; }
  .dashboard-main { padding: 4px 12px 0; }
  .tab-content--focus { min-height: calc(100svh - 86px); }
  .tab-content--focus .card-stage { justify-content: flex-start; }
  .tab-content--focus .food-card {
    width: 100%;
    height: min(610px, calc(100svh - 142px));
    min-height: 0;
    max-height: none;
  }
  .food-card__face { padding: clamp(13px, 2.8svh, 22px) 16px 12px; border-radius: 21px; }
  .food-card__title { margin-top: clamp(12px, 2.7svh, 23px); }
  .food-card__title h2 { font-size: clamp(26px, 7.8vw, 34px); }
  .card-kicker { margin-bottom: 5px; font-size: 8px; }
  .card-meal-window { display: block; margin-top: 5px; font-size: 8px; }
  .food-card__student { gap: 8px; margin-top: clamp(12px, 2.6svh, 20px); }
  .food-card__student img { width: clamp(45px, 10.5vw, 60px); height: clamp(45px, 10.5vw, 60px); border-radius: 13px; }
  .food-card__student strong { font-size: clamp(10px, 2.8vw, 13px); }
  .food-card__student span { margin-top: 2px; font-size: 8px; }
  .card-detail-grid { gap: 7px; margin-top: clamp(11px, 2.3svh, 18px); }
  .card-detail-grid > div { padding: 8px 9px; border-radius: 9px; }
  .card-detail-grid span { margin-bottom: 3px; font-size: 7px; }
  .card-detail-grid strong { font-size: clamp(8px, 2.25vw, 10px); }
  .card-qr--large { margin-top: clamp(10px, 2.5svh, 18px); padding: clamp(7px, 1.8svh, 12px) clamp(7px, 1.8svh, 12px) 7px; border-radius: 14px; }
  .card-qr--large > svg { width: clamp(118px, 22svh, 164px); height: clamp(118px, 22svh, 164px); }
  .card-qr--large span { font-size: 7px; }
  .card-qr-expand { margin-top: 4px; padding: 3px 6px; font-size: 7px; }
  .food-card__front .card-swipe-hint { margin-top: auto; font-size: 8px; }
  .card-flip-button { margin-top: 4px; font-size: 9px; }
  .bottom-nav { gap: 0; padding: 9px 10px calc(9px + env(safe-area-inset-bottom)); }
  .bottom-nav button { min-width: 0; flex: 1; padding: 2px 6px; font-size: 8px; }
  .reset-student { top: 8px; right: 8px; padding: 4px 6px; font-size: 8px; }

  .page-heading { padding: 18px 0 20px; }
  .page-heading h1 { font-size: 32px; }
  .page-heading p { margin-top: 8px; font-size: 12px; }
  .profile-card { padding: 13px; border-radius: 15px; }
  .profile-card img { width: 46px; height: 46px; border-radius: 12px; }
  .info-list > div { align-items: flex-start; padding: 12px 0; }
  .info-list strong { max-width: 68%; line-height: 1.35; }
}

@media (max-width: 540px) and (max-height: 700px) {
  .dashboard-header { padding-top: 8px; }
  .tab-content--focus .food-card { height: calc(100svh - 124px); }
  .food-card__face { padding-top: 11px; padding-bottom: 9px; }
  .food-card__title { margin-top: 9px; }
  .food-card__student { margin-top: 10px; }
  .card-detail-grid { margin-top: 9px; }
  .card-qr--large { margin-top: 8px; }
  .card-qr--large > svg { width: clamp(108px, 20svh, 144px); height: clamp(108px, 20svh, 144px); }
}

@media (max-width: 360px) {
  .dashboard-main { padding-right: 9px; padding-left: 9px; }
  .food-card__face { padding-right: 13px; padding-left: 13px; }
  .card-detail-grid > div { padding-right: 7px; padding-left: 7px; }
  .card-qr--large > svg { width: clamp(104px, 19svh, 132px); height: clamp(104px, 19svh, 132px); }
}


/* Refinamento iPhone: hierarquia mais leve, campo sem contorno duplicado e menos desperdício vertical. */
.id-input-wrap input:focus-visible { outline: 0; }
@media (max-width: 540px) {
  .school-mark__brand { width: 124px; }
  .onboarding-page { padding: 16px 18px 16px; }
  .onboarding-content { padding: 20px 0 24px; }
  .onboarding-copy h1 { margin: 13px 0 13px; font-size: clamp(38px, 10.8vw, 47px); }
  .onboarding-copy p { max-width: 340px; font-size: 12px; line-height: 1.55; }
  .id-form { margin-top: 23px; }
  .id-input-wrap { height: 52px; }
  .form-hint, .form-error { font-size: 10px; }
  .primary-button { height: 52px; margin-top: 18px; }
  .onboarding-footnote { margin-top: 24px; font-size: 10px; }
}
@media (max-width: 540px) and (max-height: 720px) {
  .onboarding-page { padding-top: 11px; padding-bottom: 12px; }
  .onboarding-content { padding-top: 8px; padding-bottom: 14px; }
  .onboarding-copy h1 { margin: 9px 0 10px; font-size: 39px; }
  .onboarding-copy p { font-size: 11px; }
  .id-form { margin-top: 18px; }
  .id-input-wrap, .primary-button { height: 49px; }
  .primary-button { margin-top: 15px; }
  .onboarding-footnote { margin-top: 18px; }
}


/* Cartão mobile com proporção estável: evita ficar comprido em iPhones altos e apertado em iPhones baixos. */
@media (max-width: 540px) {
  .tab-content--focus .food-card { height: min(150vw, calc(100svh - 142px)); }
  .card-qr--large > svg { width: clamp(128px, 40vw, 164px); height: clamp(128px, 40vw, 164px); }
}
@media (max-width: 540px) and (max-height: 720px) {
  .tab-content--focus .food-card { height: min(150vw, calc(100svh - 176px)); }
  .card-qr--large > svg { width: clamp(120px, 38vw, 144px); height: clamp(120px, 38vw, 144px); }
}
@media (max-width: 360px) {
  .tab-content--focus .food-card { height: min(150vw, calc(100svh - 176px)); }
  .card-qr--large > svg { width: clamp(112px, 38vw, 136px); height: clamp(112px, 38vw, 136px); }
}


/* Paleta oficial iFraga: azul institucional, rosa vibrante, branco e lavanda de apoio. */
:root {
  --navy: #122cc0;
  --pink: #e65b92;
  --pink-soft: #fff0f5;
  --blue: #eef2ff;
  --ink: #24304c;
  --muted: #7d879b;
}
body { color: var(--ink); background: #fff; }
.onboarding-page { background: linear-gradient(145deg, #fff 0%, #f7f8ff 100%); }
.ambient--pink { background: radial-gradient(circle, rgba(230,91,146,.16), rgba(230,91,146,0) 68%); }
.ambient--blue { background: radial-gradient(circle, rgba(18,44,192,.12), rgba(18,44,192,0) 70%); }
.onboarding-copy h1 { color: var(--navy); }
.onboarding-copy h1 em, .eyebrow--dark, .onboarding-copy .eyebrow { color: var(--pink); }
.primary-button { background: var(--navy); box-shadow: 0 14px 28px rgba(18,44,192,.2); }
.primary-button:hover:not(:disabled) { background: #0c218f; box-shadow: 0 17px 30px rgba(18,44,192,.28); }
.id-input-wrap { border-color: #dfe4ff; box-shadow: 0 8px 24px rgba(18,44,192,.06); }
.id-input-wrap:focus-within { border-color: #9ba8f1; box-shadow: 0 0 0 4px rgba(18,44,192,.12), 0 12px 34px rgba(18,44,192,.08); }
.dashboard-page { background: #fff; }
.dashboard-greeting strong, .section-heading h2, .page-heading h1 { color: var(--navy); }
.logout-button { color: var(--navy); background: #eef2ff; border-color: #dce3ff; }
.logout-button:hover { color: #fff; background: var(--navy); }
.access-banner { color: var(--navy); background: #f3f5ff; border-color: #dfe5ff; }
.access-banner strong { color: var(--navy); }
.access-banner__icon, .meal-row__icon { background: var(--pink); }
.food-card__front, .food-card__back { color: #fff; background: linear-gradient(145deg, #2449d6 0%, #122cc0 56%, #0c218f 100%); border-color: rgba(18,44,192,.35); box-shadow: 0 20px 42px rgba(18,44,192,.22); }
.food-card__front::after { border-color: rgba(230,91,146,.6); box-shadow: 0 0 0 27px rgba(230,91,146,.11), 0 0 0 55px rgba(230,91,146,.07), 0 0 0 83px rgba(230,91,146,.04); }
.food-card__back { background: linear-gradient(145deg, #1638bd, #091b7d); }
.food-card__front .card-overline, .food-card__front .card-kicker { color: #ffd3e2; }
.food-card__title h2 { color: #fff; }
.food-card__student strong { color: #fff; }
.food-card__student span { color: rgba(255,255,255,.72); }
.card-detail-grid > div { background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.18); }
.card-detail-grid span { color: rgba(255,255,255,.72); }
.card-detail-grid strong { color: #fff; }
.card-utensils-logo { color: var(--pink); background: #fff; border-color: rgba(255,255,255,.92); }
.card-qr-expand { color: var(--navy); background: #eef2ff; }
.card-qr-expand:hover { color: #fff; background: var(--pink); }
.card-swipe-hint, .card-flip-button { color: rgba(255,255,255,.72); }
.card-flip-button:hover { color: var(--pink); }
.meal-row { border-color: #e0e5ff; }
.meal-row strong { color: var(--navy); }
.bottom-nav { border-top-color: #e0e5ff; }
.bottom-nav button.active { color: var(--navy); }
.reset-student:hover { color: var(--pink); }
.history-item strong, .profile-card strong { color: var(--navy); }
.history-item__icon { color: var(--navy); background: var(--blue); }
.profile-card { border-color: #e3e7ff; background: #f8f9ff; }
.info-list strong { color: #33416b; }
.privacy-note { color: #52618a; background: #f1f4ff; }
.qr-sheet { color: var(--navy); }
.qr-sheet__eyebrow, .qr-sheet h2 em { color: var(--pink); }
.qr-sheet__hint { color: #5265c4; }


/* Fundo branco integral, seguindo a tela de ampliação do QR Code. */
body, .dashboard-page, .dashboard-header, .dashboard-main, .onboarding-page { background: #fff; }
.dashboard-page { color: #24304c; }
.dashboard-greeting span, .secure-label, .onboarding-copy p, .form-hint, .onboarding-footnote, .onboarding-footer { color: #8791a4; }
.dashboard-greeting strong, .section-heading h2, .page-heading h1 { color: #122cc0; }

/* Carteirinha em superfície branca, com a mesma leitura azul/rosa do QR ampliado. */
.food-card__front, .food-card__back {
  color: #24304c;
  background: #fff;
  border: 1px solid #dfe5ff;
  box-shadow: 0 20px 42px rgba(18,44,192,.12);
}
.food-card__back { background: #fff; }
.food-card__front::after { border-color: rgba(18,44,192,.2); box-shadow: 0 0 0 27px rgba(18,44,192,.04), 0 0 0 55px rgba(230,91,146,.045), 0 0 0 83px rgba(230,91,146,.025); }
.food-card__front .card-overline, .food-card__front .card-kicker, .food-card__back .card-overline, .food-card__back .card-kicker { color: #e65b92; }
.food-card__title h2, .back-details h2 { color: #122cc0; }
.food-card__student strong { color: #24304c; }
.food-card__student span { color: #8791a4; }
.card-detail-grid > div { background: #f3f5ff; border-color: #e1e6ff; }
.card-detail-grid span, .detail-grid span { color: #6472a5; }
.card-detail-grid strong, .detail-grid strong { color: #24304c; }
.food-card__front .card-swipe-hint, .food-card__back .card-swipe-hint { color: #6472a5; }
.card-flip-button { color: #6472a5; }
.card-flip-button:hover { color: #e65b92; }
.card-qr-expand { color: #122cc0; background: #eef2ff; }
.card-qr-expand:hover { color: #fff; background: #e65b92; }
.bottom-nav { background: rgba(255,255,255,.98); border-top-color: #e1e6ff; }
.bottom-nav button { color: #8a94a8; }
.bottom-nav button.active { color: #122cc0; }
.reset-student { color: #8791a4; }
.profile-card { background: #f8f9ff; border-color: #e1e6ff; }
.profile-card strong { color: #122cc0; }
.info-list strong { color: #24304c; }
.privacy-note { color: #6472a5; background: #f3f5ff; }


/* Verso da carteirinha: mesma hierarquia cromática da logo iFraga. */
.food-card__back {
  background: #fff;
  border-color: #d7defc;
  box-shadow: inset 0 4px 0 #122cc0, 0 20px 42px rgba(18,44,192,.12);
}
.food-card__back .card-overline { color: #122cc0; }
.food-card__back .card-mini-mark { color: #e65b92; background: #eef2ff; border-color: #d9e0ff; }
.food-card__back .card-kicker { color: #e65b92; }
.food-card__back .back-details h2 { color: #122cc0; }
.food-card__back .detail-grid > div { background: #f3f5ff; border-color: #dfe5ff; }
.food-card__back .detail-grid span { color: #6472a5; }
.food-card__back .detail-grid strong { color: #24304c; }
.food-card__back .card-swipe-hint { color: #6472a5; }
.food-card__back::before { background: linear-gradient(130deg, transparent 30%, rgba(18,44,192,.035)); }


/* Quadradinhos da carteirinha: rosa iFraga com contraste profissional. */
.card-detail-grid > div, .detail-grid > div {
  background: #fff0f5;
  border: 1px solid #f1c6d8;
  box-shadow: 0 5px 12px rgba(230,91,146,.08);
}
.card-detail-grid span, .detail-grid span {
  color: #b9577d;
}
.card-detail-grid strong, .detail-grid strong {
  color: #24304c;
}
.food-card__back .detail-grid > div {
  background: #fff0f5;
  border-color: #f1c6d8;
}
.food-card__back .detail-grid span {
  color: #b9577d;
}
.food-card__back .detail-grid strong {
  color: #24304c;
}
@media (max-width: 540px) {
  .card-detail-grid > div, .detail-grid > div { padding: 8px 9px; border-radius: 11px; }
}


/* Desktop premium: composição ampla, foco no cartão e navegação em painel. */
@media (min-width: 900px){
  .onboarding-page{padding:42px max(48px,6vw) 30px}
  .onboarding-header,.onboarding-footer{max-width:1240px}
  .onboarding-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,430px);column-gap:clamp(70px,10vw,150px);align-items:center;width:min(1240px,100%);padding:60px 0 58px}
  .onboarding-copy{grid-column:1;grid-row:1}
  .onboarding-copy h1{max-width:650px;font-size:clamp(58px,6.2vw,88px)}
  .onboarding-copy p{font-size:16px}
  .id-form{grid-column:2;grid-row:1;margin-top:0;padding:30px;background:rgba(255,255,255,.82);border:1px solid #f0dce5;border-radius:26px;box-shadow:0 24px 70px rgba(174,103,136,.1)}
  .onboarding-footnote{grid-column:1;grid-row:2;max-width:480px;margin-top:18px}
  .dashboard-page{min-height:100vh;padding-bottom:32px;background:linear-gradient(180deg,#fff 0%,#fffafd 100%)}
  .dashboard-header{width:min(1180px,calc(100% - 80px));padding:30px 0 24px;border-bottom:1px solid #f0e4e9}
  .dashboard-greeting{gap:14px}
  .dashboard-greeting>img{width:48px;height:48px;border-width:3px;box-shadow:0 8px 24px rgba(191,120,153,.14)}
  .dashboard-greeting span{font-size:11px}
  .dashboard-greeting strong{font-size:16px;letter-spacing:.08em}
  .logout-button{padding:11px 17px;font-size:12px;box-shadow:0 7px 18px rgba(191,120,153,.08)}
  .dashboard-main{width:min(1180px,calc(100% - 80px));padding:48px 0 0}
  .tab-content--focus{min-height:0}
  .tab-content--focus .card-stage{justify-content:flex-start;align-items:center}
  .tab-content--focus .food-card{width:min(900px,100%);height:600px;max-height:none;min-height:0}
  .food-card__face{padding:38px 42px 30px;border-radius:30px}
  .food-card__title{margin-top:35px}
  .food-card__title h2{font-size:54px}
  .food-card__student{margin-top:30px}
  .food-card__student img{width:76px;height:76px;border-radius:19px}
  .food-card__student strong{font-size:15px}
  .card-detail-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:26px}
  .card-detail-grid>div{padding:14px 15px;border-radius:13px}
  .card-detail-grid span{font-size:9px}
  .card-detail-grid strong{font-size:12px}
  .card-qr--large{margin-top:24px;padding:15px 15px 10px}
  .card-qr--large>svg{width:190px;height:190px}
  .card-flip-button{margin-top:18px;padding:8px 12px;border:1px solid #f0dce5;border-radius:12px;background:#fff8fb}
  .card-flip-button:hover{background:#faedf3}
  .bottom-nav{width:min(520px,100%);margin:34px auto 0;padding:8px;border:1px solid #f0e3e8;border-radius:18px;box-shadow:0 12px 32px rgba(179,111,143,.08)}
  .bottom-nav button{min-width:145px;min-height:46px;flex-direction:row;justify-content:center;gap:8px;border-radius:12px;font-size:11px}
  .bottom-nav button.active{background:#fff3f7}
  .reset-student{top:35px;right:max(40px,calc((100% - 1180px)/2));padding:7px 10px;border-radius:9px}
  .tab-content:not(.tab-content--focus){width:min(760px,100%);margin:0 auto}
  .page-heading{padding-top:6px;padding-bottom:34px}
  .page-heading h1{font-size:48px}
  .history-list,.info-list{background:#fff;border:1px solid #f0e3e8;border-radius:20px;padding:8px 24px;box-shadow:0 14px 40px rgba(179,111,143,.06)}
  .history-date{margin:14px 0 4px}
  .history-item{padding:18px 0}
  .profile-card{padding:20px;border:1px solid #f0e3e8;box-shadow:0 12px 30px rgba(179,111,143,.06)}
  .info-list{margin-top:20px}
  .privacy-note{border:1px solid #f2e0e8}
}


/* Correção urgente de tipografia iPhone: limites consistentes entre larguras e alturas diferentes. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-x:hidden}
@media (max-width: 540px){
  .dashboard-header,.dashboard-main,.food-card__face,.food-card__student,.card-detail-grid,.detail-grid,.profile-card{min-width:0}
  .dashboard-greeting{min-width:0;max-width:calc(100% - 60px)}
  .dashboard-greeting>div{min-width:0}
  .dashboard-greeting strong{max-width:100%;overflow:hidden;font-size:clamp(10px,3.15vw,12px);letter-spacing:.045em;text-overflow:ellipsis;white-space:nowrap}
  .food-card__title{min-width:0}
  .food-card__title h2{font-size:clamp(25px,7.2vw,32px);letter-spacing:-.055em;line-height:1.02}
  .card-meal-window{max-width:100%;overflow:hidden;font-size:clamp(7px,2.1vw,8px);text-overflow:ellipsis;white-space:nowrap}
  .food-card__student strong{max-width:100%;font-size:clamp(9px,2.9vw,12px);line-height:1.2}
  .food-card__student span{font-size:clamp(7px,2vw,8px)}
  .card-detail-grid strong,.detail-grid strong{font-size:clamp(8px,2.25vw,10px);line-height:1.15}
  .card-detail-grid span,.detail-grid span{font-size:clamp(6px,1.8vw,7px)}
  .food-card__back .back-details h2{max-width:100%;font-size:clamp(18px,5.2vw,24px);line-height:1.08;overflow-wrap:anywhere}
  .page-heading h1{font-size:clamp(30px,9vw,36px)}
  .page-heading p{font-size:clamp(11px,3.2vw,13px)}
  .profile-card strong{font-size:clamp(11px,3.3vw,13px);line-height:1.2}
  .profile-card span,.info-list span,.info-list strong{font-size:clamp(9px,2.7vw,11px)}
}
@media (max-width: 380px){
  .dashboard-greeting>img{width:30px;height:30px}
  .dashboard-greeting strong{font-size:10px}
  .logout-button{padding:7px 9px;font-size:9px}
  .food-card__face{padding-left:13px;padding-right:13px}
  .food-card__title h2{font-size:25px}
  .food-card__student{gap:7px}
  .food-card__student img{width:44px;height:44px}
  .card-detail-grid{gap:5px}
  .card-detail-grid>div{padding:7px 7px}
  .card-qr--large>svg{width:116px;height:116px}
  .card-qr-expand{font-size:6.5px}
}


/* Compatibilidade Safari iOS: evita composição simultânea e texto espelhado nas duas faces. */
.food-card{
  isolation:isolate;
  -webkit-transform-style:preserve-3d;
  transform-style:preserve-3d;
  -webkit-backface-visibility:visible;
  backface-visibility:visible;
  will-change:transform;
}
.food-card__face{
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
  -webkit-transform-style:preserve-3d;
  transform-style:preserve-3d;
  -webkit-transform:translateZ(0);
  transform:translateZ(0);
}
.food-card__front{
  -webkit-transform:rotateY(0deg) translateZ(1px);
  transform:rotateY(0deg) translateZ(1px);
}
.food-card__back{
  -webkit-transform:rotateY(180deg) translateZ(1px);
  transform:rotateY(180deg) translateZ(1px);
}
@supports (-webkit-touch-callout:none){
  .food-card__face{overflow:hidden;-webkit-backface-visibility:hidden}
}


/* Fallback iOS/Safari: troca de faces por visibilidade, evitando texto espelhado ou verso ausente. */
@supports (-webkit-touch-callout:none){
  .food-card{
    -webkit-transform:none!important;
    transform:none!important;
    -webkit-transform-style:flat;
    transform-style:flat;
  }
  .food-card__face{
    -webkit-transform:none!important;
    transform:none!important;
    transition:opacity .28s ease,visibility .28s ease;
  }
  .food-card__front{
    z-index:2;
    opacity:1;
    visibility:visible;
  }
  .food-card__back{
    z-index:1;
    opacity:0;
    visibility:hidden;
  }
  .food-card--flipped .food-card__front{
    z-index:1;
    opacity:0;
    visibility:hidden;
  }
  .food-card--flipped .food-card__back{
    z-index:2;
    opacity:1;
    visibility:visible;
  }
  .food-card__back .back-details,
  .food-card__back .detail-grid,
  .food-card__back .card-swipe-hint{
    position:relative;
    z-index:3;
  }
}


/* Mobile profissional: no iPhone e tablets, troca de faces sem espelhamento; desktop mantém 3D. */
@media (max-width:899px){
  .food-card{
    -webkit-transform:none!important;
    transform:none!important;
    -webkit-transform-style:flat;
    transform-style:flat;
    transition:none;
  }
  .food-card__face{
    -webkit-transform:none!important;
    transform:none!important;
    transition:opacity .34s cubic-bezier(.22,.8,.28,1),visibility .34s ease;
    will-change:opacity;
  }
  .food-card__front{z-index:2;opacity:1;visibility:visible}
  .food-card__back{z-index:1;opacity:0;visibility:hidden}
  .food-card--flipped .food-card__front{z-index:1;opacity:0;visibility:hidden}
  .food-card--flipped .food-card__back{z-index:2;opacity:1;visibility:visible}
  .food-card__back .back-details,.food-card__back .detail-grid,.food-card__back .card-swipe-hint{position:relative;z-index:3}
  .food-card--dragging .food-card__face{transition:none}
}

/* Acabamento dos dados: cartões legíveis, estáveis e com hierarquia visual profissional. */
.card-detail-grid>div,.detail-grid>div{
  position:relative;
  min-width:0;
  overflow:hidden;
  border-radius:13px;
  background:linear-gradient(145deg,#fff5f8 0%,#fff0f5 100%);
  border-color:#efc7d8;
  box-shadow:0 7px 16px rgba(230,91,146,.09),inset 0 1px 0 rgba(255,255,255,.86);
}
.card-detail-grid>div::before,.detail-grid>div::before{
  content:"";
  position:absolute;
  top:0;right:0;left:0;height:3px;
  background:#e65b92;
  opacity:.72;
}
.card-detail-grid span,.detail-grid span{font-weight:800;letter-spacing:.12em}
.card-detail-grid strong,.detail-grid strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Logo HD: renderização nítida em telas Retina sem mudar a identidade visual. */
.school-mark__brand{display:block;image-rendering:auto;object-fit:contain}


/* Primeiro acesso: cadastro em etapas com leitura clara e gestos leves. */
.secondary-action,.back-action{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;margin-top:14px;padding:10px 8px;color:#122cc0;background:transparent;border:0;font-size:11px;font-weight:800}.secondary-action:hover,.back-action:hover{color:#e65b92}.registration-form{display:flex;flex-direction:column;gap:9px}.registration-form>label{margin-top:4px;margin-bottom:0}.registration-form .id-input-wrap{height:50px}.form-step-head{display:flex;align-items:center;gap:11px;margin-bottom:7px;padding-bottom:15px;border-bottom:1px solid #edf0ff}.form-step-head>div{display:flex;flex-direction:column;gap:3px}.form-step-head strong{color:#122cc0;font-size:14px}.form-step-head span:not(.step-index){color:#8791a4;font-size:10px}.step-index{display:grid;width:34px;height:34px;place-items:center;color:#fff;background:#122cc0;border-radius:11px;font-family:'Space Grotesk',sans-serif;font-size:11px;font-weight:700}.step-index--active{background:#e65b92}.otp-form{align-items:stretch}.otp-symbol{display:grid;width:54px;height:54px;place-items:center;margin:4px auto 2px;color:#e65b92;background:#fff0f5;border:1px solid #f1c6d8;border-radius:18px}.otp-copy{margin:0;color:#8791a4;font-size:11px;line-height:1.55;text-align:center}.otp-copy strong{color:#122cc0}.otp-input{width:100%;height:58px;padding:0 14px;color:#122cc0;background:#f8f9ff;border:1px solid #dfe5ff;border-radius:15px;outline:0;font-family:'Space Grotesk',sans-serif;font-size:26px;font-weight:700;letter-spacing:.28em;text-align:center;transition:.2s}.otp-input:focus{border-color:#9ba8f1;box-shadow:0 0 0 4px rgba(18,44,192,.12)}.otp-input--error{border-color:#c56f95}.form-success{display:flex;align-items:center;justify-content:center;gap:5px;margin:0;color:#5b9b82;font-size:10px;font-weight:700}.demo-note{margin:3px 0 0;padding:9px 10px;color:#8791a4;background:#f8f9ff;border-radius:10px;font-size:9px;line-height:1.45;text-align:center}.demo-note strong{color:#122cc0}.registration-form .primary-button{margin-top:9px}
@media (min-width:900px){.registration-form{gap:8px}.registration-form .id-input-wrap{height:48px}.registration-form .primary-button{margin-top:12px}.otp-input{height:62px}}
@media (max-width:540px){.secondary-action,.back-action{font-size:10px}.registration-form{gap:7px}.registration-form .id-input-wrap{height:48px}.form-step-head{padding-bottom:11px}.form-step-head strong{font-size:13px}.form-step-head span:not(.step-index){font-size:9px}.otp-input{height:54px;font-size:23px;letter-spacing:.22em}.demo-note{font-size:8px}}


/* Cadastro por identidade: ID opcional com orientação explícita. */
.optional-label{margin-left:5px;color:#b9577d;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.field-note{margin:0 2px 1px;color:#8791a4;font-size:9px;line-height:1.35}


/* Agenda escolar e anotações pessoais. */
.agenda-tab{padding-bottom:24px}.agenda-calendar{padding:16px;background:#fff;border:1px solid #e1e6ff;border-radius:20px;box-shadow:0 12px 30px rgba(18,44,192,.06)}.agenda-calendar__head{display:flex;align-items:center;justify-content:space-between;color:#122cc0}.agenda-calendar__head strong{font-family:'Space Grotesk',sans-serif;font-size:16px;text-transform:capitalize}.agenda-calendar__head button{display:grid;width:32px;height:32px;place-items:center;color:#122cc0;background:#f3f5ff;border:0;border-radius:10px}.agenda-weekdays,.agenda-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.agenda-weekdays{margin-top:18px}.agenda-weekdays span{color:#9aa4b5;font-size:9px;font-weight:800;text-align:center;text-transform:uppercase}.agenda-days{margin-top:8px}.agenda-days>button,.agenda-days>span{position:relative;display:grid;min-height:38px;place-items:center;background:transparent;border:0;border-radius:11px;color:#4f5d78;font-size:12px}.agenda-days>button:hover{background:#f8e8f0}.agenda-days>button.selected{color:#fff;background:#122cc0;font-weight:800}.agenda-days>button.has-event:not(.selected){color:#122cc0;background:#eef2ff;font-weight:800}.agenda-days>button.has-note i,.agenda-days>button.has-event i{position:absolute;right:5px;bottom:4px;width:4px;height:4px;background:#e65b92;border-radius:50%}.agenda-days>button.has-event i{background:#122cc0}.agenda-selected{margin-top:16px;padding:16px;background:#fff;border:1px solid #f0dce6;border-radius:18px}.agenda-selected__date{display:flex;align-items:center;gap:8px;color:#122cc0}.agenda-selected__date svg{color:#e65b92}.agenda-selected__date strong{font-size:13px;text-transform:capitalize}.agenda-event,.agenda-note{display:flex;align-items:center;gap:9px;margin-top:11px;padding:10px 11px;border-radius:11px;font-size:10px}.agenda-event{background:#f3f5ff}.agenda-event span{color:#122cc0;font-size:8px;font-weight:800;letter-spacing:.08em}.agenda-event strong{color:#33416b;font-size:10px}.agenda-event--feriado{background:#fff0f5}.agenda-event--feriado span{color:#b9577d}.agenda-event--recesso{background:#fff7e9}.agenda-event--recesso span{color:#a86a20}.agenda-event--avaliacao{background:#eef9f5}.agenda-event--avaliacao span{color:#4d917b}.agenda-note{color:#bf7899;background:#fff8fb}.agenda-note span{color:#59616d;line-height:1.35}.agenda-empty{margin:15px 0;color:#9aa4b5;font-size:10px}.agenda-note-form{display:flex;gap:7px;margin-top:15px}.agenda-note-form input{min-width:0;flex:1;height:40px;padding:0 11px;color:#33416b;background:#fafbff;border:1px solid #e1e6ff;border-radius:11px;font-size:10px;outline:0}.agenda-note-form input:focus{border-color:#9ba8f1;box-shadow:0 0 0 3px rgba(18,44,192,.1)}.agenda-note-form button{display:flex;align-items:center;gap:4px;padding:0 10px;color:#fff;background:#122cc0;border:0;border-radius:11px;font-size:9px;font-weight:800}.agenda-note-form button:disabled{opacity:.45}.notification-action,.calendar-source{display:flex;align-items:center;justify-content:center;gap:5px;margin:13px auto 0;color:#bf7899;background:transparent;border:0;font-size:9px;font-weight:800;text-decoration:none}.calendar-source{margin-top:18px;color:#122cc0}.calendar-source:hover,.notification-action:hover{color:#e65b92}

/* Gesto mobile: deslocamento físico durante o arraste + troca estável de faces. */
@media (max-width:899px){.food-card{transform:translateX(var(--card-offset,0px))!important;transition:transform .42s cubic-bezier(.22,.8,.28,1)}.food-card--dragging{transition:none}.food-card__face{transition:opacity .36s cubic-bezier(.22,.8,.28,1),visibility .36s ease}.qr-sheet-backdrop{animation:ios-backdrop-in .34s cubic-bezier(.22,.8,.28,1)}.qr-sheet{animation:ios-sheet-rise .48s cubic-bezier(.16,1,.3,1)}}
@keyframes ios-backdrop-in{from{opacity:0;backdrop-filter:blur(0)}to{opacity:1;backdrop-filter:blur(10px)}}@keyframes ios-sheet-rise{from{opacity:0;transform:translateY(42px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@media (max-width:540px){.agenda-tab .page-heading{padding-bottom:17px}.agenda-calendar{padding:13px;border-radius:17px}.agenda-days>button,.agenda-days>span{min-height:35px;font-size:11px}.agenda-note-form{flex-direction:column}.agenda-note-form button{height:38px;justify-content:center}.registration-form{max-height:calc(100svh - 150px);overflow-y:auto;padding-right:2px}}

/* Anotações maiores, legíveis e sincronizadas na conta privada. */
.agenda-note-form textarea{min-width:0;min-height:112px;flex:1;resize:vertical;padding:12px;color:#33416b;background:#fafbff;border:1px solid #e1e6ff;border-radius:13px;font-family:inherit;font-size:12px;line-height:1.45;outline:0}.agenda-note-form textarea::placeholder{color:#9aa4b5}.agenda-note-form textarea:focus{border-color:#9ba8f1;box-shadow:0 0 0 3px rgba(18,44,192,.1)}.agenda-note-form button{align-self:flex-end;min-height:40px}.agenda-sync-status,.agenda-sync-error{margin:9px 0 0;font-size:9px;line-height:1.35}.agenda-sync-status{color:#9aa4b5}.agenda-sync-error{color:#b9577d}.agenda-selected{overflow:hidden}@media (max-width:540px){.agenda-note-form textarea{min-height:128px;width:100%;font-size:13px}.agenda-note-form button{align-self:stretch}}

/* Assinatura institucional. */
.onboarding-footer small{flex-basis:100%;color:#8791a4;font-size:9px;font-weight:700;letter-spacing:.08em;text-align:center;text-transform:uppercase}.developed-by{padding:6px 0 18px;color:#9aa4b5;font-size:9px;font-weight:700;letter-spacing:.08em;text-align:center;text-transform:uppercase}

/* Gestão, feedback anônimo e perfil editável. */
.admin-page{min-height:100svh;padding:24px 18px;background:linear-gradient(145deg,#f9fbff 0%,#fff 58%,#fff5f9 100%);color:#122044}.admin-shell{width:min(100%,620px);margin:0 auto}.admin-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:35px}.admin-intro{max-width:480px;color:#7d879b;font-size:13px;line-height:1.5}.admin-role-row{display:flex;flex-wrap:wrap;gap:6px;margin:20px 0}.admin-role-row span{padding:7px 10px;color:#122cc0;background:#eef2ff;border-radius:999px;font-size:9px;font-weight:800;text-transform:uppercase}.admin-card{display:flex;flex-direction:column;gap:10px;margin-top:16px;padding:18px;background:#fff;border:1px solid #e3e8fb;border-radius:20px;box-shadow:0 14px 35px rgba(18,44,192,.07)}.admin-card h2,.profile-edit-card h2{margin:0;color:#122044;font-family:'Space Grotesk',sans-serif;font-size:17px}.admin-card p{margin:0;color:#8791a4;font-size:11px;line-height:1.45}.admin-card input,.admin-card select,.profile-edit-card input,.profile-edit-card textarea,.feedback-card input,.feedback-card select,.feedback-card textarea{width:100%;min-height:42px;padding:0 12px;color:#33416b;background:#fafbff;border:1px solid #e1e6ff;border-radius:11px;font:inherit;font-size:11px;outline:0}.admin-card input:focus,.admin-card select:focus,.profile-edit-card input:focus,.feedback-card select:focus,.feedback-card textarea:focus{border-color:#9ba8f1;box-shadow:0 0 0 3px rgba(18,44,192,.1)}.admin-security-note{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:18px;color:#9aa4b5;font-size:10px}.admin-entry{display:flex;align-items:center;justify-content:center;gap:6px;margin:14px auto 0;padding:6px;color:#9aa4b5;background:transparent;border:0;font-size:10px;font-weight:700}.admin-card-head{display:flex;align-items:center;justify-content:space-between}.feedback-average{color:#e65b92;font-family:'Space Grotesk',sans-serif;font-size:25px}.feedback-average small{color:#9aa4b5;font-size:10px}.admin-feedback-list{display:flex;flex-direction:column;gap:8px;max-height:420px;overflow:auto;margin-top:8px}.admin-feedback-list article{padding:11px;background:#fff8fb;border:1px solid #f4dfeb;border-radius:12px}.admin-feedback-list article div{display:flex;flex-direction:column;gap:3px}.admin-feedback-list article strong{color:#e65b92;letter-spacing:.08em}.admin-feedback-list article span,.admin-feedback-list article p{font-size:9px}.admin-empty{padding:14px 0}.feedback-tab{padding-bottom:24px}.feedback-card{display:flex;flex-direction:column;gap:11px;padding:17px;background:#fff;border:1px solid #e3e8fb;border-radius:20px;box-shadow:0 14px 35px rgba(18,44,192,.06)}.feedback-card label,.profile-edit-card label{margin-top:3px;color:#58657e;font-size:10px;font-weight:800}.feedback-private-note{display:flex;align-items:center;gap:8px;padding:10px;color:#4d917b;background:#eef9f5;border-radius:11px;font-size:10px;line-height:1.35}.feedback-scale{display:flex;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:1px solid #f0f2f8}.feedback-scale>span{color:#58657e;font-size:10px}.feedback-scale>div{display:flex;gap:2px}.feedback-scale button{padding:3px;color:#c5ccda;background:transparent;border:0}.feedback-scale button.selected{color:#e65b92}.feedback-card textarea{min-height:110px;padding:12px;resize:vertical;line-height:1.4}.profile-edit-card{display:flex;flex-direction:column;gap:9px;margin-top:16px;padding:17px;background:#fff;border:1px solid #e3e8fb;border-radius:18px}.profile-edit-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:3px;color:#122cc0}.profile-edit-card input{height:42px}.agenda-calendar{touch-action:pan-y}.agenda-month--next{animation:agenda-month-next .36s cubic-bezier(.22,.8,.28,1)}.agenda-month--previous{animation:agenda-month-previous .36s cubic-bezier(.22,.8,.28,1)}@keyframes agenda-month-next{0%{opacity:.55;transform:translateX(22px)}100%{opacity:1;transform:translateX(0)}}@keyframes agenda-month-previous{0%{opacity:.55;transform:translateX(-22px)}100%{opacity:1;transform:translateX(0)}}
@media(max-width:540px){.admin-page{padding:18px 15px}.admin-top{margin-bottom:25px}.admin-card{padding:15px}.bottom-nav button{min-width:0}.bottom-nav span{font-size:8px}.admin-role-row span{font-size:8px}.feedback-scale>span{font-size:9px}}
.admin-count{color:#122cc0;font-family:'Space Grotesk',sans-serif;font-size:22px}.admin-filters{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:7px}.admin-filters input,.admin-filters select,.admin-announcement-form input,.admin-announcement-form textarea{width:100%;min-height:40px;padding:0 10px;color:#33416b;background:#fafbff;border:1px solid #e1e6ff;border-radius:10px;font:inherit;font-size:10px;outline:0}.student-admin-list{display:flex;flex-direction:column;gap:7px;max-height:420px;overflow:auto;margin-top:4px}.student-admin-list article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;background:#fbfcff;border:1px solid #edf0fb;border-radius:11px}.student-admin-list article>div{display:flex;min-width:0;flex-direction:column;gap:3px}.student-admin-list strong{overflow:hidden;color:#26345b;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.student-admin-list span{overflow:hidden;color:#929caf;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.student-admin-list select{min-width:108px;padding:7px;color:#122cc0;background:#eef2ff;border:0;border-radius:8px;font-size:9px;font-weight:700}.admin-announcement-form{display:flex;flex-direction:column;gap:8px}.admin-announcement-form textarea{min-height:92px;padding:10px;resize:vertical}.agenda-event--school{border-color:#e6b3cb;background:#fff5fa}.agenda-event--school p{margin:4px 0 0;color:#7f849b;font-size:10px;line-height:1.35}.leadership-card textarea{min-height:120px;padding:12px}@media(max-width:680px){.admin-filters{grid-template-columns:1fr}.student-admin-list article{align-items:stretch;flex-direction:column}.student-admin-list select{width:100%}.bottom-nav{gap:0}.bottom-nav button{flex:1;padding-inline:2px}}
.registration-select{width:100%;height:59px;padding:0 15px;color:var(--ink);background:#fff;border:1px solid #dce4ea;border-radius:16px;box-shadow:0 12px 34px rgba(30,53,75,.055);font-size:15px;outline:0}.registration-select:focus{border-color:var(--pink);box-shadow:0 0 0 4px rgba(231,131,171,.12),0 12px 34px rgba(30,53,75,.055)}
.menu-heading{padding-bottom:16px}.menu-heading h1{display:flex;align-items:center;gap:9px}.menu-period-switch{display:flex;gap:5px;padding:4px;background:#e9edff;border-radius:14px}.menu-period-switch button{flex:1;padding:11px 8px;color:#7380a4;background:transparent;border:0;border-radius:10px;font-size:11px;font-weight:800;transition:.25s}.menu-period-switch button.active{color:#fff;background:var(--navy);box-shadow:0 5px 13px rgba(27,57,199,.2)}.menu-date-strip{display:flex;align-items:center;justify-content:space-between;margin-top:18px;padding:13px 9px;background:#fff;border:1px solid #edf0f4;border-radius:18px;box-shadow:0 9px 24px rgba(30,53,75,.05)}.menu-date-strip button{display:grid;width:35px;height:35px;place-items:center;color:var(--navy);background:#f1f3ff;border:0;border-radius:12px}.menu-date-strip div{display:flex;align-items:center;flex-direction:column;gap:3px}.menu-date-strip span{color:#596989;font-size:12px;font-weight:700;text-transform:capitalize}.menu-date-strip strong{color:var(--pink);font-size:9px;letter-spacing:.12em;text-transform:uppercase}.menu-day-picker{display:flex;gap:5px;margin:13px 0 17px;overflow-x:auto;padding:2px 1px 7px;scrollbar-width:none}.menu-day-picker::-webkit-scrollbar{display:none}.menu-day-picker button{flex:none;width:31px;height:31px;color:#8f9ab2;background:#fff;border:1px solid #e9edf5;border-radius:10px;font-size:10px;font-weight:700}.menu-day-picker button.active{color:#fff;background:var(--pink);border-color:var(--pink);box-shadow:0 5px 12px rgba(220,160,189,.35);transform:translateY(-2px)}.menu-hero{position:relative;overflow:hidden;padding:22px 20px 17px;color:#fff;background:linear-gradient(135deg,#1734c4,#4e67d8);border-radius:24px;box-shadow:0 18px 32px rgba(27,57,199,.23);animation:menu-card-in .35s cubic-bezier(.2,.8,.2,1)}.menu-hero::after{content:'';position:absolute;width:200px;height:200px;right:-75px;bottom:-100px;border:1px solid rgba(255,255,255,.23);border-radius:50%;box-shadow:0 0 0 27px rgba(255,255,255,.05),0 0 0 53px rgba(255,255,255,.04)}.menu-hero--status{background:linear-gradient(135deg,#bd6a90,#dc9ebc)}.menu-hero__top{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;color:#c6d0ff;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.menu-hero__top svg{color:#f7bfd6}.menu-hero>strong{position:relative;z-index:1;display:block;max-width:92%;margin:23px 0 22px;color:#fff;font-family:'Space Grotesk',sans-serif;font-size:24px;line-height:1.08;letter-spacing:-.055em}.menu-snack{position:relative;z-index:1;padding:11px 12px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:13px}.menu-snack span{display:flex;align-items:center;gap:5px;color:#f7c2d6;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.menu-snack p{margin:6px 0 0;color:#fff;font-size:11px;line-height:1.35}.menu-hero__bottom{position:relative;z-index:1;display:flex;justify-content:space-between;margin-top:20px;color:#cbd4ff;font-size:9px;font-weight:700}.menu-empty{display:flex;align-items:center;flex-direction:column;gap:9px;padding:55px 20px;color:#8490ab;background:#fff;border:1px dashed #dce3f3;border-radius:24px;text-align:center}.menu-empty svg{color:var(--pink)}.menu-empty strong{color:var(--navy);font-size:14px}.menu-empty span{font-size:11px}.menu-source{margin:15px 2px;color:#a2abbc;font-size:9px;line-height:1.45;text-align:center}.assistant-fab{position:fixed;right:18px;bottom:92px;z-index:8;display:flex;align-items:center;gap:7px;padding:11px 14px;color:#fff;background:var(--navy);border:0;border-radius:17px;box-shadow:0 12px 25px rgba(27,57,199,.27);font-size:10px;font-weight:800;transition:.25s}.assistant-fab:hover,.assistant-fab.active{background:#d07d9f;transform:translateY(-3px)}.assistant-sheet{position:fixed;right:18px;bottom:145px;z-index:9;display:flex;width:min(350px,calc(100vw - 36px));height:430px;flex-direction:column;overflow:hidden;background:#fff;border:1px solid #e8ecf6;border-radius:23px;box-shadow:0 20px 55px rgba(29,47,86,.2);animation:assistant-in .28s cubic-bezier(.2,.8,.2,1)}.assistant-sheet__head{display:flex;align-items:center;justify-content:space-between;padding:16px 17px;color:#fff;background:linear-gradient(135deg,var(--navy),#596edf)}.assistant-sheet__head div{display:flex;flex-direction:column;gap:3px}.assistant-sheet__head span{color:#cad3ff;font-size:8px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.assistant-sheet__head strong{font-size:16px}.assistant-sheet__head button{display:grid;width:29px;height:29px;place-items:center;color:#fff;background:rgba(255,255,255,.14);border:0;border-radius:50%}.assistant-messages{display:flex;flex:1;flex-direction:column;gap:9px;overflow:auto;padding:14px;background:#f8faff}.assistant-messages p{max-width:86%;margin:0;padding:10px 12px;border-radius:14px;color:#425170;font-size:11px;line-height:1.45}.assistant-messages p.bot{align-self:flex-start;background:#fff;border:1px solid #edf0f6;border-bottom-left-radius:4px}.assistant-messages p.user{align-self:flex-end;color:#fff;background:var(--pink);border-bottom-right-radius:4px}.assistant-sheet form{display:flex;gap:7px;padding:10px;border-top:1px solid #eef0f5}.assistant-sheet input{min-width:0;flex:1;height:38px;padding:0 11px;color:var(--ink);background:#f5f7fb;border:0;border-radius:11px;font-size:11px;outline:0}.assistant-sheet form button{display:grid;width:38px;height:38px;place-items:center;color:#fff;background:var(--navy);border:0;border-radius:11px}
@keyframes menu-card-in{from{opacity:0;transform:translateX(14px) scale(.985)}to{opacity:1;transform:none}}@keyframes assistant-in{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:540px){.assistant-fab{right:13px;bottom:91px}.assistant-sheet{right:13px;bottom:143px}.bottom-nav{overflow-x:auto;justify-content:flex-start;padding-inline:7px}.bottom-nav button{min-width:67px;padding-inline:5px}.menu-hero>strong{font-size:22px}}
.admin-request-note{margin:0 0 12px;color:#8f99ad;font-size:10px;line-height:1.45}.admin-preview-stage{margin-top:14px;overflow:hidden;padding:12px 0}.admin-preview-stage .food-card{min-height:270px}.admin-preview-stage .card-stage{width:100%}.admin-preview-card .secondary-action{margin:0;padding:8px 10px;font-size:9px}.admin-preview-card .admin-card-head{align-items:center}
.admin-profile-card{display:flex;align-items:center;gap:12px}.admin-profile-avatar{display:grid;width:52px;height:52px;flex:none;place-items:center;overflow:hidden;color:#8290a0;background:#eef1ff;border-radius:17px}.admin-profile-avatar img{width:100%;height:100%;object-fit:cover}.admin-profile-card h2{margin:0;color:var(--navy);font-size:15px}.admin-profile-card p{margin:4px 0 0;color:#98a1b0;font-size:9px}.admin-photo-button{margin-left:auto;padding:8px 10px;color:var(--navy);background:#eef1ff;border-radius:9px;font-size:9px;font-weight:800;white-space:nowrap}.admin-photo-button input{display:none}
.menu-swipe--next{animation:menu-swipe-next .34s cubic-bezier(.2,.8,.2,1)}.menu-swipe--previous{animation:menu-swipe-previous .34s cubic-bezier(.2,.8,.2,1)}
@keyframes menu-swipe-next{from{opacity:.35;transform:translateX(24px)}to{opacity:1;transform:none}}@keyframes menu-swipe-previous{from{opacity:.35;transform:translateX(-24px)}to{opacity:1;transform:none}}
.agenda-note{display:flex;align-items:flex-start;gap:9px}.agenda-note>span{flex:1}.agenda-note-actions{display:flex;gap:4px}.agenda-note-actions button{display:grid;width:25px;height:25px;place-items:center;color:#8c6a7b;background:#f9eaf1;border:0;border-radius:8px}.agenda-note-actions button:last-child{color:#b45c72}.agenda-notification-note{margin:8px 0 0;color:#9aa6b5;font-size:9px;line-height:1.45;text-align:center}
.menu-tab{touch-action:pan-y}.menu-period-switch>span.active{display:block;width:100%;padding:12px 14px;color:#b7688a;background:#fff7fa;border:1px solid #f1d7e3;border-radius:14px;text-align:center;font-size:10px;font-weight:800}
.menu-meal-label{display:block;margin:14px 0 7px;color:#f0a9c4;font-size:10px;font-weight:800;letter-spacing:.12em}

.official-qr{display:block;width:176px;height:176px;max-width:100%;object-fit:contain;image-rendering:pixelated}.official-qr--sheet{width:214px;height:214px;max-width:72vw;max-height:42svh}.qr-sheet__code .official-qr{margin:auto}
@media (max-width:540px){.card-qr--large>.official-qr{width:clamp(104px,38vw,164px);height:auto}.qr-sheet__code .official-qr--sheet{width:min(214px,68vw);height:auto}}

.simep-brand{display:flex;flex-direction:column;gap:2px;color:var(--navy);line-height:1}.simep-brand strong{font-family:'Space Grotesk',sans-serif;font-size:38px;font-weight:700;letter-spacing:-.09em}.simep-brand strong span{color:#df6594}.simep-brand small{max-width:180px;color:#9a9fa8;font-size:6px;font-weight:700;letter-spacing:.04em;line-height:1.15;text-transform:uppercase}.school-mark--compact .simep-brand strong{font-size:28px}.school-mark--compact .simep-brand small{max-width:140px;font-size:5px}

.simep-logo-image{display:block;width:170px;height:92px;object-fit:contain;object-position:left center}.school-mark--compact .simep-logo-image{width:128px;height:70px}
.dashboard-greeting__logo{object-fit:contain!important;background:#fff;border:2px solid rgba(255,255,255,.85);border-radius:10px!important;padding:2px}

/* SIMEP accessibility layer */
html{font-size:100%;scroll-behavior:smooth}html[data-font-scale="large"]{font-size:112.5%}html[data-font-scale="xlarge"]{font-size:125%}body{font-size:1rem;line-height:1.5;overflow-x:hidden}img{max-width:100%}p,h1,h2,h3,span,strong,label,button,input,select,textarea{overflow-wrap:anywhere}.dashboard-page,.onboarding-page,.admin-page{font-size:1rem}.dashboard-page p,.dashboard-page label,.dashboard-page input,.dashboard-page select,.dashboard-page textarea,.dashboard-page button,.admin-page p,.admin-page label,.admin-page input,.admin-page select,.admin-page textarea,.admin-page button{font-size:max(1rem,1em)}.small-label,.card-overline,.card-kicker,.form-hint,.form-error,.field-note,.secure-label{font-size:max(.875rem,1em);line-height:1.45;letter-spacing:.04em}.food-card__student strong,.card-detail-grid strong,.detail-grid strong,.profile-card strong,.info-list strong,.meal-row strong{font-size:max(1rem,1em);line-height:1.35;white-space:normal;overflow:visible}.food-card__student span,.card-detail-grid span,.detail-grid span,.profile-card span,.info-list span,.meal-row span{font-size:max(.875rem,1em);line-height:1.4;white-space:normal}.bottom-nav button{font-size:1rem;min-height:48px}.bottom-nav button svg{width:22px;height:22px}.primary-button,.secondary-action,.logout-button,.admin-entry,.card-qr-expand{min-height:48px;font-size:1rem!important}.id-input-wrap{min-height:60px;height:auto}.id-input-wrap input{font-size:1rem!important;line-height:1.4}.onboarding-copy p,.page-heading p,.privacy-note,.accessibility-note{font-size:1rem;line-height:1.65}.dashboard-header{gap:12px;flex-wrap:wrap}.dashboard-header-actions{display:flex;align-items:center;gap:8px}.accessibility-trigger{display:grid;width:48px;height:48px;place-items:center;color:var(--navy);background:#fff;border:1px solid #e6d9e0;border-radius:14px}.dashboard-greeting__logo{object-fit:contain!important;background:#fff!important;border:2px solid rgba(255,255,255,.9)!important;border-radius:10px!important;padding:2px}.accessibility-panel{width:min(100% - 32px,760px);margin:0 auto 18px;padding:20px;background:#fff;border:1px solid #eadce4;border-radius:20px;box-shadow:0 14px 32px rgba(37,24,34,.1)}.accessibility-panel__head{display:flex;align-items:center;justify-content:space-between;gap:14px}.accessibility-panel__head h2{margin:0;color:var(--navy);font-size:1.35rem}.accessibility-group{margin-top:18px}.accessibility-group>span{display:block;margin-bottom:8px;color:#6e6a72;font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.accessibility-options{display:flex;flex-wrap:wrap;gap:8px}.accessibility-options button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:9px 13px;color:#69636a;background:#fff;border:1px solid #e7dce3;border-radius:12px;font-weight:700}.accessibility-options button.active{color:#fff;background:#1839c5;border-color:#1839c5}.accessibility-note{margin:16px 0 0;color:#726d74}.card-qr--large>.official-qr{max-width:100%;height:auto}.official-qr--sheet{max-width:100%;height:auto}
@media (max-width:540px){html[data-font-scale="large"]{font-size:108%}html[data-font-scale="xlarge"]{font-size:116%}.onboarding-page{padding-right:16px;padding-left:16px}.onboarding-content{padding-top:28px}.onboarding-copy h1{font-size:clamp(2.25rem,12vw,3.8rem);letter-spacing:-.06em}.food-card{height:auto!important;min-height:calc(100svh - 188px);aspect-ratio:auto}.food-card__face{overflow-y:auto}.dashboard-header{padding-right:14px;padding-left:14px}.dashboard-greeting{min-width:0;flex:1}.dashboard-greeting>div{min-width:0}.dashboard-greeting strong{font-size:1rem;white-space:normal}.dashboard-header-actions{flex:none}.accessibility-panel{width:calc(100% - 24px);padding:16px}.accessibility-options button{flex:1 1 45%;min-width:0}.bottom-nav{gap:2px;padding-right:8px;padding-left:8px}.bottom-nav button{min-width:0;flex:1;padding-right:5px;padding-left:5px;font-size:.875rem!important}.card-detail-grid,.detail-grid{gap:8px}.back-details h2{max-width:100%;font-size:1.45rem}.qr-sheet{padding:28px 16px 20px}.qr-sheet__code{max-width:100%;padding:10px}.simep-logo-image{width:145px;height:78px}}
@media (min-width:541px){.dashboard-main,.dashboard-header{width:min(100% - 48px,760px)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
html[data-theme="dark"],html[data-theme="dark"] body{color-scheme:dark;background:#0d1324;color:#f4f6ff}html[data-theme="dark"] .dashboard-page,html[data-theme="dark"] .onboarding-page,html[data-theme="dark"] .admin-page{color:#f4f6ff;background:#0d1324}html[data-theme="dark"] .dashboard-header,html[data-theme="dark"] .dashboard-main{background:#0d1324}html[data-theme="dark"] .dashboard-header .dashboard-greeting span{color:#b8c2dc}html[data-theme="dark"] .dashboard-header .dashboard-greeting strong{color:#fff}html[data-theme="dark"] .welcome-row h1,html[data-theme="dark"] .page-heading h1,html[data-theme="dark"] .section-heading h2{color:#fff}html[data-theme="dark"] .page-heading p,html[data-theme="dark"] .section-heading span,html[data-theme="dark"] .small-label{color:#b9c1d6}html[data-theme="dark"] .accessibility-trigger,html[data-theme="dark"] .icon-button,html[data-theme="dark"] .accessibility-panel,html[data-theme="dark"] .accessibility-options button,html[data-theme="dark"] .profile-card,html[data-theme="dark"] .meal-row,html[data-theme="dark"] .id-input-wrap{color:#f4f6ff;background:#18233d;border-color:#334362;box-shadow:none}html[data-theme="dark"] .accessibility-panel__head h2,html[data-theme="dark"] .accessibility-group>span{color:#fff}html[data-theme="dark"] .accessibility-note,html[data-theme="dark"] .accessibility-group>span,html[data-theme="dark"] .profile-card span,html[data-theme="dark"] .meal-row span,html[data-theme="dark"] .onboarding-copy p{color:#c2cbe0}html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea{color:#fff;background:#18233d;border-color:#445473}html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder{color:#aeb8ce}html[data-theme="dark"] .info-list>div,html[data-theme="dark"] .history-item{border-color:#334362}html[data-theme="dark"] .info-list span,html[data-theme="dark"] .history-item div:nth-child(2) span{color:#b7c1d7}html[data-theme="dark"] .info-list strong,html[data-theme="dark"] .history-item strong,html[data-theme="dark"] .profile-card strong,html[data-theme="dark"] .meal-row strong{color:#fff}html[data-theme="dark"] .bottom-nav{background:rgba(13,19,36,.96);border-color:#334362}html[data-theme="dark"] .bottom-nav button{color:#b8c2d9}html[data-theme="dark"] .bottom-nav button.active{color:#f29bc0}html[data-theme="dark"] .onboarding-copy h1,html[data-theme="dark"] .onboarding-copy h1 em{color:#fff}html[data-theme="dark"] .onboarding-page .id-input-wrap{background:#18233d}html[data-theme="dark"] .onboarding-page .id-input-wrap input{color:#fff}html[data-theme="dark"] .food-card__front{background:linear-gradient(145deg,#244db8,#14275f);color:#fff;border-color:#4563bb}html[data-theme="dark"] .food-card__back{background:linear-gradient(145deg,#182c6d,#101b42)}html[data-theme="dark"] .food-card__front .card-detail-grid>div{background:rgba(7,17,55,.62);border-color:#3d5596}html[data-theme="dark"] .food-card__front .card-detail-grid span,html[data-theme="dark"] .food-card__front .card-detail-grid strong,html[data-theme="dark"] .food-card__student strong{color:#fff}html[data-theme="dark"] .simep-logo-image{filter:drop-shadow(0 2px 8px rgba(255,255,255,.12))}
@media (prefers-color-scheme:dark){html[data-theme="system"]{color-scheme:dark}html[data-theme="system"] body{background:#0d1324}}
.session-restore{display:flex;min-height:100svh;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;color:#1739c6;background:#fff;text-align:center}.session-restore .button-loader{border-color:rgba(23,57,198,.25);border-top-color:#1739c6}.session-restore strong{font-size:1.15rem}.session-restore span{color:#737b89;font-size:1rem}
html[data-theme="dark"] .session-restore{color:#fff;background:#0d1324}html[data-theme="dark"] .session-restore span{color:#c2cbe0}

/* Correção estrutural mobile: a carteirinha mantém o corpo inteiro visível após a tipografia ampliada. */
@media (max-width:540px){
  .tab-content--focus .food-card{display:block!important;width:100%!important;height:min(620px,max(480px,calc(100svh - 142px)))!important;min-height:480px!important;aspect-ratio:auto!important;overflow:visible!important}
  .tab-content--focus .food-card__face{inset:0!important;overflow:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:22px 18px!important}
  .tab-content--focus .food-card__title{min-width:0}
  .tab-content--focus .food-card__title h2{font-size:clamp(2rem,9vw,2.7rem);line-height:1.05;overflow-wrap:anywhere}
  .tab-content--focus .food-card__student strong{white-space:normal;overflow:visible;text-overflow:clip}
  .tab-content--focus .card-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}
  .tab-content--focus .card-qr--large{margin-top:18px;flex-shrink:0}
  .tab-content--focus .card-qr--large .official-qr{display:block;width:clamp(128px,40vw,164px);height:auto;aspect-ratio:1/1}
  .menu-tab{width:100%;overflow:visible;touch-action:pan-y}
  .menu-hero,.menu-empty{width:100%;min-height:260px;height:auto;overflow:visible}
  .menu-hero strong,.menu-snack p,.menu-hero__bottom span,.menu-empty span{overflow-wrap:anywhere;white-space:normal;line-height:1.5}
}
@media (min-width:541px){.food-card{height:auto;min-height:325px}.food-card__face{min-height:325px}}

.admin-password-card{border:1px solid #eadce4}.admin-password-card h2{margin:0;color:var(--navy);font-size:1.35rem;line-height:1.25}.admin-password-card>p{color:#717887;font-size:1rem;line-height:1.55}.admin-password-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}.admin-password-form input{width:100%;min-height:50px;padding:12px 14px;color:var(--ink);background:#fff;border:1px solid #dfe5ff;border-radius:12px}.admin-password-form .primary-button{margin:0;min-width:0}@media (max-width:680px){.admin-password-form{grid-template-columns:1fr}.admin-password-form .primary-button{width:100%}}html[data-theme="dark"] .admin-password-card{background:#18233d;border-color:#334362}html[data-theme="dark"] .admin-password-card h2{color:#fff}html[data-theme="dark"] .admin-password-card>p{color:#c2cbe0}
.password-eye{display:grid;flex:none;width:30px;height:30px;place-items:center;padding:0;color:#8491a0;background:transparent;border:0;border-radius:9px;transition:color .2s,background .2s}.password-eye:hover,.password-eye:focus-visible{color:var(--pink);background:var(--pink-soft)}.id-input-wrap .password-eye:focus-visible{outline:2px solid rgba(231,131,171,.45);outline-offset:1px}

/* Carteirinha final: área dedicada, proporção vertical estável e leitura sem transbordo. */
.card-stage{width:100%;padding:0 4px 10px;overflow:visible}
.food-card{width:100%;max-width:560px;margin:0 auto;min-height:440px}
.food-card__face{padding:24px 26px}
.food-card__title h2,.back-details h2{font-size:clamp(30px,5vw,42px);line-height:1.04;letter-spacing:-.055em;overflow-wrap:anywhere}
.food-card__student strong{font-size:13px;line-height:1.25;white-space:normal}
.food-card__student span{font-size:10px}
.card-overline{font-size:10px}.card-kicker{font-size:11px}.card-detail-grid,.detail-grid{gap:10px}.card-detail-grid strong,.detail-grid strong{font-size:12px;line-height:1.25}.card-detail-grid span,.detail-grid span{font-size:9px;line-height:1.2}
@media (max-width:540px){
  .card-stage{padding-right:0;padding-left:0}
  .tab-content--focus .food-card{width:100%!important;max-width:none!important;height:min(560px,max(430px,calc(100svh - 170px)))!important;min-height:430px!important}
  .tab-content--focus .food-card__face{padding:20px 19px!important}
  .tab-content--focus .food-card__title h2,.tab-content--focus .back-details h2{font-size:clamp(28px,8.6vw,38px);line-height:1.06}
  .tab-content--focus .card-overline{font-size:9px}.tab-content--focus .card-kicker{font-size:10px}
  .tab-content--focus .food-card__student strong{font-size:12px}.tab-content--focus .food-card__student span{font-size:10px}
  .tab-content--focus .card-detail-grid,.tab-content--focus .detail-grid{gap:8px;margin-top:16px}
  .tab-content--focus .card-detail-grid>div,.tab-content--focus .detail-grid>div{padding:9px 8px}
  .tab-content--focus .card-detail-grid strong,.tab-content--focus .detail-grid strong{font-size:11px}
  .tab-content--focus .card-detail-grid span,.tab-content--focus .detail-grid span{font-size:8px}
}
@media (min-width:900px){.card-stage{padding-right:0;padding-left:0}.food-card{max-width:540px}}

/* Enquadramento final do cartão: sem transbordo horizontal e com QR visível na área reservada. */
.tab-content--focus,.tab-content--focus .card-stage,.tab-content--focus .food-card{min-width:0;max-width:100%;overflow-x:hidden}
@media (max-width:540px){
  .dashboard-main,.tab-content--focus{overflow-x:hidden}
  .tab-content--focus .food-card{height:min(520px,max(390px,calc(100svh - 180px)))!important;min-height:390px!important;overflow:hidden!important}
  .tab-content--focus .food-card__face{overflow:hidden!important;padding:16px 16px!important}
  .tab-content--focus .food-card__title{margin-top:12px}
  .tab-content--focus .food-card__title h2{font-size:clamp(26px,8vw,34px);line-height:1}
  .tab-content--focus .food-card__student{margin-top:12px}
  .tab-content--focus .card-detail-grid{margin-top:11px;gap:6px}
  .tab-content--focus .card-detail-grid>div{padding:7px 7px}
  .tab-content--focus .card-qr--large{margin-top:10px;padding:5px 6px 4px;gap:2px}
  .tab-content--focus .card-qr--large .official-qr{width:clamp(96px,28vw,128px)!important;height:auto;max-width:100%}
  .tab-content--focus .card-qr--large span{font-size:7px}
  .tab-content--focus .card-qr-expand{min-height:30px;padding:4px 7px;font-size:9px!important}
  .tab-content--focus .card-swipe-hint{margin-top:6px;font-size:8px}
}

/* Refinamento de proporção: controles compactos e QR sempre contido no próprio espaço. */
.logout-button,.accessibility-trigger{width:44px;height:44px;min-width:44px;min-height:44px;padding:0;display:grid;place-items:center;border-radius:13px}
.card-qr--large{width:min(170px,38%);max-width:100%;margin-left:auto;margin-right:auto;overflow:hidden}
.card-qr--large .official-qr{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:1/1;object-fit:contain}
@media (max-width:540px){
  .logout-button,.accessibility-trigger{width:40px;height:40px;min-width:40px;min-height:40px;border-radius:11px}
  .logout-button svg,.accessibility-trigger svg{width:18px;height:18px}
  .tab-content--focus .card-qr--large{width:clamp(104px,31vw,136px);max-width:calc(100% - 20px);padding:5px 6px 4px}
  .tab-content--focus .card-qr--large .official-qr{width:100%!important;height:auto!important;max-width:100%}
}

/* Cabeçalho compacto: Sair acompanha o texto e nunca ultrapassa a caixa. */
.logout-button{display:inline-flex!important;width:auto!important;max-width:88px;min-width:0!important;align-items:center;justify-content:center;gap:5px;padding:0 10px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.82rem!important;line-height:1}
.logout-button svg{flex:none;width:15px;height:15px}
@media (max-width:540px){.logout-button{max-width:76px;padding:0 8px!important;font-size:.72rem!important}.logout-button svg{width:14px;height:14px}.dashboard-header-actions{gap:5px;min-width:0}.dashboard-header{overflow:visible}}
/* Modo escuro com contraste AA, preservando o azul e o rosa SIMEP. */
html[data-theme="dark"] .logout-button{color:#ffd8e8;background:#26376d;border-color:#536fc1;box-shadow:0 4px 14px rgba(0,0,0,.22)}
html[data-theme="dark"] .logout-button:hover{color:#fff;background:#d95b91;border-color:#f18ab5}
html[data-theme="dark"] .accessibility-trigger{color:#ffd8e8;background:#26376d;border-color:#536fc1}
html[data-theme="dark"] .accessibility-panel{background:#18233d;border-color:#415a98;box-shadow:0 16px 36px rgba(0,0,0,.3)}
html[data-theme="dark"] .accessibility-panel__head h2,html[data-theme="dark"] .accessibility-group>span{color:#fff}
html[data-theme="dark"] .accessibility-options button{color:#edf2ff;background:#24345d;border-color:#5069a9}
html[data-theme="dark"] .accessibility-options button.active{color:#fff;background:#d95b91;border-color:#f18ab5}
html[data-theme="dark"] .accessibility-note{color:#d0d9ef}
html[data-theme="dark"] .page-heading p,html[data-theme="dark"] .menu-source,html[data-theme="dark"] .menu-date-strip strong,html[data-theme="dark"] .menu-hero__bottom,html[data-theme="dark"] .menu-empty span{color:#cbd6ef}
html[data-theme="dark"] .menu-date-strip,html[data-theme="dark"] .menu-day-picker button,html[data-theme="dark"] .menu-period-switch>span.active{color:#eef3ff;background:#182b55;border-color:#4563a5}
html[data-theme="dark"] .menu-day-picker button.active{color:#fff;background:#d95b91;border-color:#f18ab5}
html[data-theme="dark"] .menu-hero,html[data-theme="dark"] .menu-empty{color:#fff;background:linear-gradient(145deg,#1d3d91,#14275f);border-color:#4664ac}
html[data-theme="dark"] .menu-hero strong,html[data-theme="dark"] .menu-empty strong{color:#fff}
html[data-theme="dark"] .menu-snack{background:rgba(255,255,255,.1);border-color:#5571b3;color:#fff}
html[data-theme="dark"] .menu-snack p{color:#e6edff}
html[data-theme="dark"] .history-date,html[data-theme="dark"] .agenda-calendar__weekday,html[data-theme="dark"] .agenda-empty,html[data-theme="dark"] .feedback-tab p{color:#c4d0e9}
html[data-theme="dark"] .agenda-calendar,html[data-theme="dark"] .feedback-card,html[data-theme="dark"] .note-editor,html[data-theme="dark"] .announcement-card{background:#18233d;border-color:#3e568e;color:#f4f7ff}
html[data-theme="dark"] .agenda-calendar button,html[data-theme="dark"] .feedback-scale button{color:#dce6ff}
html[data-theme="dark"] .agenda-calendar button.active,html[data-theme="dark"] .feedback-scale button.selected{color:#fff;background:#d95b91}
html[data-theme="dark"] .food-card__front .card-overline,html[data-theme="dark"] .food-card__front .card-kicker,html[data-theme="dark"] .food-card__back .card-overline,html[data-theme="dark"] .food-card__back .card-kicker{color:#ffd1e3}
html[data-theme="dark"] .food-card__student span,html[data-theme="dark"] .card-detail-grid span,html[data-theme="dark"] .detail-grid span{color:#d5e0fb}
html[data-theme="dark"] .food-card__front .card-swipe-hint,html[data-theme="dark"] .food-card__back .card-swipe-hint,html[data-theme="dark"] .card-flip-button{color:#d3ddf7}

/* Identidade por tema: logo clara no tema claro e selo oficial da escola no tema escuro. */
.dashboard-greeting__logo-wrap{position:relative;display:block;flex:none;width:38px;height:38px}
.dashboard-greeting__logo-wrap .dashboard-greeting__logo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:10px}
.dashboard-greeting__logo--dark{display:none}
html[data-theme="dark"] .dashboard-greeting__logo--light{display:none}
html[data-theme="dark"] .dashboard-greeting__logo--dark{display:block;border:1px solid #4164c4;box-shadow:0 0 0 2px rgba(20,42,100,.65)}
/* Carteirinha realmente escura: nenhuma superfície branca estrutural no tema dark. */
html[data-theme="dark"] .food-card__front,html[data-theme="dark"] .food-card__back{background:linear-gradient(145deg,#182b61 0%,#0d1428 72%);border-color:#3b5aaf;box-shadow:0 20px 44px rgba(0,0,0,.44)}
html[data-theme="dark"] .food-card__back{background:linear-gradient(145deg,#14285d,#090f20)}
html[data-theme="dark"] .food-card__front::after{border-color:rgba(230,91,146,.62);box-shadow:0 0 0 27px rgba(230,91,146,.12),0 0 0 55px rgba(41,82,194,.1),0 0 0 83px rgba(41,82,194,.06)}
html[data-theme="dark"] .card-detail-grid>div,html[data-theme="dark"] .food-card__back .detail-grid>div{background:#17264d;border-color:#3f5fa9;box-shadow:none}
html[data-theme="dark"] .card-qr--large{background:#0b1120;border-color:#405da1;box-shadow:0 10px 24px rgba(0,0,0,.3)}
html[data-theme="dark"] .card-qr-expand{color:#eef3ff;background:#263e83;border-color:#5374ce}
html[data-theme="dark"] .card-qr-expand:hover{color:#fff;background:#df6399}
html[data-theme="dark"] .card-utensils-logo{color:#f08bb5;background:#0c1324;border-color:#5875c6}
html[data-theme="dark"] .food-card__back .card-mini-mark{color:#f08bb5;background:#17264d;border-color:#4968b2}
html[data-theme="dark"] .card-qr--large .official-qr{background:#fff}

/* Cardápio abre no topo e revela imediatamente o cabeçalho da refeição. */
@media (max-width:540px){
  .menu-tab{padding-top:0}
  .menu-heading{padding-top:8px;padding-bottom:12px}
  .menu-hero{padding-top:18px}
  .menu-hero__top{min-height:24px;line-height:1.35}
  .menu-hero>strong{margin-top:17px}
}
/* No dark, Alimentação usa rosa luminoso; sem branco estrutural ou borda clara. */
html[data-theme="dark"] .food-card__title h2{color:#ff8fbb;text-shadow:0 2px 14px rgba(255,89,151,.18)}
html[data-theme="dark"] .menu-heading,html[data-theme="dark"] .menu-period-switch,html[data-theme="dark"] .menu-date-strip,html[data-theme="dark"] .menu-day-picker button{border-color:#263b72}
html[data-theme="dark"] .menu-hero__top{color:#f0a6c5}
html[data-theme="dark"] .menu-hero__top svg{color:#ff8fbb}

/* Ajustes do Preview wpe_61492b4209c4a2707dfd9fa9: contraste direto no tema escuro. */
html[data-theme="dark"] .dashboard-greeting__logo--dark{background:#000!important;border-color:#000!important}
html[data-theme="dark"] .food-card__front .card-overline{color:#f55c96!important}
html[data-theme="dark"] .food-card__front .card-kicker{color:#fff!important}
html[data-theme="dark"] .food-card__front .card-meal-window{color:#fff!important}

/* Ampliação do QR acompanha o tema ativo, inclusive no modo escuro. */
html[data-theme="dark"] .qr-sheet-backdrop{background:rgba(0,0,0,.78)}
html[data-theme="dark"] .qr-sheet{color:#f4f7ff;background:#0d1324;border:1px solid #30477f;box-shadow:0 24px 70px rgba(0,0,0,.62)}
html[data-theme="dark"] .qr-sheet__close{color:#f4f7ff;background:#1c2d58;border-color:#405da1}
html[data-theme="dark"] .qr-sheet__eyebrow{color:#ff8fbb}
html[data-theme="dark"] .qr-sheet h2{color:#fff}
html[data-theme="dark"] .qr-sheet h2 em{color:#ff8fbb}
html[data-theme="dark"] .qr-sheet strong{color:#fff}
html[data-theme="dark"] .qr-sheet__id{color:#cbd8f5}
html[data-theme="dark"] .qr-sheet__code{background:#fff;border-color:#fff;box-shadow:0 14px 34px rgba(0,0,0,.45)}
html[data-theme="dark"] .qr-sheet__hint{color:#d5e1ff;background:#182b55;border-color:#3f5fa9}
/* Escala previsível: Padrão mantém o tamanho atual; Normal e Ampliado sobem gradualmente. */
html[data-font-scale="normal"]{font-size:100%}
html[data-font-scale="large"]{font-size:112.5%}
html[data-font-scale="xlarge"]{font-size:125%}
@media (max-width:540px){html[data-font-scale="normal"]{font-size:100%}html[data-font-scale="large"]{font-size:112.5%}html[data-font-scale="xlarge"]{font-size:125%}}

/* iFraga no tema escuro: central de conhecimento com contraste alto e identidade SIMEP. */
html[data-theme="dark"] .assistant-fab{color:#fff;background:#d95b91;box-shadow:0 12px 28px rgba(0,0,0,.42)}
html[data-theme="dark"] .assistant-fab:hover,html[data-theme="dark"] .assistant-fab.active{background:#f08bb5;color:#10182d}
html[data-theme="dark"] .assistant-sheet{color:#f5f7ff;background:#0d1324;border:1px solid #30477f;box-shadow:0 24px 70px rgba(0,0,0,.58)}
html[data-theme="dark"] .assistant-sheet__head{background:linear-gradient(135deg,#142d76,#0d1735);border-bottom:1px solid #3654a0}
html[data-theme="dark"] .assistant-sheet__head span{color:#ff9bc4}
html[data-theme="dark"] .assistant-sheet__head strong{color:#fff}
html[data-theme="dark"] .assistant-sheet__head button{color:#fff;background:#263e83;border:1px solid #5571b3}
html[data-theme="dark"] .assistant-messages{background:#101a32}
html[data-theme="dark"] .assistant-messages p{color:#edf2ff}
html[data-theme="dark"] .assistant-messages p.bot{background:#1a2b54;border:1px solid #3d5b9e;color:#f2f5ff}
html[data-theme="dark"] .assistant-messages p.user{color:#fff;background:#d95b91}
html[data-theme="dark"] .assistant-sheet form{background:#0d1324;border-top-color:#30477f}
html[data-theme="dark"] .assistant-sheet input{color:#fff;background:#1a2b54;border:1px solid #3d5b9e}
html[data-theme="dark"] .assistant-sheet input::placeholder{color:#b9c8e7}
html[data-theme="dark"] .assistant-sheet form button{color:#fff;background:#d95b91}

/* iFraga em azul: identidade preservada no cabeçalho do assistente. */
.assistant-sheet__head strong{color:#e65b92!important}
html[data-theme="dark"] .assistant-sheet__head strong{color:#ff8fbb!important}

/* Edições do Preview wpe_9d8b2ca20e7113d5a7a70e6f: leitura do verso no tema escuro. */
html[data-theme="dark"] .food-card__back .detail-grid strong{color:#fff!important}
html[data-theme="dark"] .food-card__back .back-details>h2{color:#f231ab!important}

/* Edições do Preview wpe_fa984694c87d7f86c3eb6bab: acabamento preto no dashboard escuro. */
html[data-theme="dark"] .food-card__back .card-overline,
html[data-theme="dark"] .food-card__back .card-kicker{color:#fff!important}
html[data-theme="dark"] .food-card__back .card-mini-mark{background:#000!important;border-color:#000!important}
html[data-theme="dark"] .food-card__back .card-mini-mark svg{border-color:#000!important}
html[data-theme="dark"] .accessibility-trigger{color:#fff!important;background:#000!important;border-color:#000!important}
html[data-theme="dark"] .logout-button{color:#fff!important;background:#000!important;border-color:#000!important}
html[data-theme="dark"] .dashboard-greeting{border-color:#fff!important}
html[data-theme="dark"] .dashboard-header{background:#000!important;border-color:#000!important}

/* Edições do Preview wpe_ca477e8e4dbe28b7b475ebdf: destaque no dashboard escuro. */
html[data-theme="dark"] .assistant-fab{background:#5d52ff!important}
html[data-theme="dark"] .dashboard-header .dashboard-greeting span{color:#fff!important}

/* Logo SIMEP um pouco maior na entrada, sem corte em telas móveis. */
.simep-logo-image{width:190px;height:103px}
@media (max-width:540px){.simep-logo-image{width:165px;height:89px}}

.admin-feedback-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.admin-feedback-actions .secondary-action{margin:0;padding:8px 10px;font-size:10px}

/* Gestão SIMEP: navegação e operação em telas pequenas */
.admin-tabs{display:flex;gap:7px;overflow-x:auto;margin:18px 0 16px;padding:4px 0 8px;scrollbar-width:none}.admin-tabs::-webkit-scrollbar{display:none}.admin-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:0 0 auto;min-height:44px;padding:0 13px;color:#67728c;background:#f6f8ff;border:1px solid #e1e6f7;border-radius:13px;font:inherit;font-size:10px;font-weight:800;white-space:nowrap}.admin-tabs button.active{color:#fff;background:#122cc0;border-color:#122cc0;box-shadow:0 8px 18px rgba(18,44,192,.18)}.admin-metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:14px}.admin-metric-grid article{display:flex;min-height:112px;flex-direction:column;justify-content:space-between;padding:14px;background:#fff;border:1px solid #e6eaf6;border-radius:16px;box-shadow:0 10px 24px rgba(18,44,192,.05)}.admin-metric-grid span{color:#8c96aa;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.admin-metric-grid strong{color:#122cc0;font-family:'Space Grotesk',sans-serif;font-size:25px}.admin-metric-grid strong em{color:#e65b92;font-size:12px;font-style:normal}.admin-metric-grid small{color:#9aa4b5;font-size:9px;line-height:1.3}.report-filters{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:12px}.report-filters label{display:flex;flex-direction:column;gap:5px;color:#69758d;font-size:9px;font-weight:800;text-transform:uppercase}.report-filters input,.report-filters select{min-height:42px;padding:0 10px;color:#33416b;background:#fafbff;border:1px solid #e1e6ff;border-radius:10px;font:inherit;font-size:10px;text-transform:none}.report-filters>.secondary-action{align-self:end;min-height:42px}.report-print-button{display:inline-flex;align-items:center;gap:6px;margin:0;padding:9px 11px;font-size:10px}.admin-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px}.admin-summary-grid article{display:flex;min-height:64px;flex-direction:column;justify-content:center;gap:4px;padding:10px;background:#f8f9ff;border:1px solid #e8ebf6;border-radius:11px}.admin-summary-grid strong{color:#273760;font-size:10px}.admin-summary-grid span{color:#8792a8;font-size:9px}.facility-category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:14px}.facility-category-grid button{display:flex;min-height:64px;align-items:center;gap:8px;padding:10px;color:#26345b;background:#fafbff;border:1px solid #e5e9f5;border-radius:12px;text-align:left}.facility-category-grid button svg:first-child{flex:0 0 auto;color:#e65b92}.facility-category-grid button span{flex:1;font-size:9px;font-weight:800;line-height:1.3}.facility-category-grid button svg:last-child{flex:0 0 auto;color:#122cc0}.admin-page .admin-card h2{margin:2px 0 0}.admin-page .admin-card>p{line-height:1.45}.admin-page .admin-feedback-list article span{color:#7f8ba3}.admin-page .admin-feedback-list article p{line-height:1.45}@media(max-width:680px){.admin-metric-grid{grid-template-columns:1fr}.report-filters,.admin-summary-grid,.facility-category-grid{grid-template-columns:1fr}.report-print-button{width:100%;justify-content:center}.admin-tabs button{font-size:9px;padding-inline:11px}}
@media print{.admin-page{padding:0}.admin-tabs,.admin-top,.eyebrow,.admin-intro,.admin-page>h1{display:none}}

/* Ajustes de leitura mobile e identidade de seleção */
.dashboard-main{padding-bottom:132px}
.menu-tab{padding-bottom:32px}
.menu-hero{min-height:0!important;padding-bottom:18px!important}
.menu-hero strong{display:block;line-height:1.24!important}
.menu-snack{padding:12px 14px!important}
.menu-snack p{margin-bottom:0!important;line-height:1.32!important}
.agenda-days>button.selected{color:#fff!important;background:#e65b92!important;box-shadow:0 5px 12px rgba(230,91,146,.2)}
.agenda-days>button.has-event:not(.selected){color:#122cc0;background:#eef2ff}
.bottom-nav button.active{color:#e65b92!important}
.bottom-nav button.active svg{color:#e65b92!important}
@media(max-width:540px){.menu-heading p{margin-bottom:12px}.menu-period-switch>span.active{padding:10px 12px}.menu-date-strip{margin-top:10px}.menu-day-picker{margin-top:12px}.menu-hero{border-radius:22px!important;padding:22px 18px 16px!important}.menu-hero>strong{font-size:clamp(20px,5.6vw,28px)!important}.menu-snack p{font-size:clamp(15px,4.2vw,19px)!important}.dashboard-main{padding-bottom:144px}}

/* Atalhos de fontes oficiais e segurança do iFraga */
.assistant-quick-actions{display:flex;gap:6px;overflow-x:auto;padding:8px 11px 7px;background:#fff;border-bottom:1px solid #eef0f5;scrollbar-width:none}.assistant-quick-actions::-webkit-scrollbar{display:none}.assistant-quick-actions button{flex:0 0 auto;padding:7px 9px;color:#30448c;background:#f1f4ff;border:1px solid #dce4ff;border-radius:999px;font-size:9px;font-weight:800;white-space:nowrap}.assistant-quick-actions button:hover{color:#fff;background:var(--pink);border-color:var(--pink)}
html[data-theme="dark"] .assistant-quick-actions{background:#0d1324;border-bottom-color:#30477f}html[data-theme="dark"] .assistant-quick-actions button{color:#eaf0ff;background:#1a2b54;border-color:#3d5b9e}

/* Cardápio editorial SIMEP: leitura rápida, camadas e fotografia de alimentos */
.menu-tab{position:relative;isolation:isolate}
.menu-tab::before{content:"";position:absolute;inset:-18px -18px auto;height:330px;z-index:-1;opacity:.32;pointer-events:none;background-image:linear-gradient(135deg,transparent 47%,rgba(28,53,135,.1) 48%,transparent 50%),linear-gradient(35deg,transparent 46%,rgba(215,105,150,.08) 47%,transparent 50%);background-size:72px 72px,110px 110px}
.menu-heading h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(36px,8vw,58px);letter-spacing:-.06em;color:var(--navy)}
.menu-date-strip{border:0;box-shadow:none;background:transparent;padding-inline:2px}
.menu-date-strip span{font-family:Georgia,'Times New Roman',serif;color:#14234d;font-size:clamp(19px,4.8vw,29px);font-weight:700}
.menu-date-strip strong{font-size:10px;color:#7b7f91}
.menu-day-picker button{background:rgba(255,255,255,.42);border-color:rgba(80,92,133,.16);font-size:11px}
.menu-hero{padding:20px 18px 18px;border-radius:26px;background:linear-gradient(145deg,#16369d 0%,#2b52c6 56%,#385fd2 100%);box-shadow:0 22px 38px rgba(26,54,152,.25)}
.menu-hero::before{content:"";position:absolute;inset:10px;border:1px solid rgba(255,255,255,.14);border-radius:21px;pointer-events:none}
.menu-main-copy{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:5px;min-height:145px;padding:6px 0 12px}
.menu-main-copy>div{min-width:0;flex:1}
.menu-hero>strong{margin:0}
.menu-main-copy small{display:block;margin-top:10px;color:#bfcaff;font-size:9px;letter-spacing:.1em;text-transform:uppercase;font-weight:800}
.menu-food-image{display:block;object-fit:contain;filter:drop-shadow(0 12px 12px rgba(10,24,91,.3));mix-blend-mode:normal}
.menu-food-image--main{width:42%;max-width:175px;max-height:155px;margin-right:-3px}
.menu-snack{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:120px;padding:12px 12px 12px 14px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.2);border-radius:18px}
.menu-snack__copy{min-width:0;flex:1}
.menu-snack p{font-size:clamp(14px,3.8vw,18px);line-height:1.25}
.menu-food-image--snack{width:46%;max-width:210px;max-height:125px}
.menu-hero__bottom{margin-top:15px}
@media(max-width:540px){.menu-main-copy{min-height:132px}.menu-food-image--main{max-height:135px}.menu-food-image--snack{max-height:108px}.menu-snack{min-height:108px}}


/* Escuta estrutural detalhada */
.facility-report-card input,.facility-report-card select,.facility-report-card textarea{font-size:1rem!important;min-height:48px;padding:10px 12px}
.facility-report-card textarea{min-height:140px}
.facility-report-card label{font-size:.9rem!important}
.admin-facility-list{display:flex;flex-direction:column;gap:8px;margin-top:12px;max-height:560px;overflow:auto}
.admin-facility-list article{padding:12px;background:#fbfcff;border:1px solid #e5e9f5;border-radius:12px}
.admin-facility-list article>div{display:flex;flex-direction:column;gap:3px}.admin-facility-list strong{color:var(--navy);font-size:11px}.admin-facility-list span,.admin-facility-list p{color:#7c879b;font-size:10px;line-height:1.4}.admin-facility-list p{margin:8px 0 0}.facility-status{display:inline-flex;margin-top:7px;padding:4px 7px;border-radius:999px;font-size:9px;text-transform:uppercase;letter-spacing:.05em}.facility-status--pendente{color:#9a6a26;background:#fff4db}.facility-status--em_andamento{color:#3156b8;background:#e8eeff}.facility-status--resolvido{color:#277957;background:#e3f6ed}
.menu-heading h1{font-family:inherit}.menu-date-strip span{font-family:inherit}

.menu-visual-details{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:6px;margin:-7px 0 12px}.menu-visual-details span{padding:5px 8px;color:#f9d5e2;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:999px;font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:lowercase}.menu-visual-details--snack{margin:7px 0 2px}.menu-visual-details--snack span{color:#ffe0ea;background:rgba(255,255,255,.1)}

.agenda-menu-today{margin:0 0 14px;padding:14px 16px;background:linear-gradient(135deg,#fff3f8,#fff);border:1px solid #f2cfe0;border-radius:18px;box-shadow:0 10px 24px rgba(230,91,146,.1)}.agenda-menu-today>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.agenda-menu-today span{color:#bd5d89;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.agenda-menu-today strong{color:#122cc0;font-size:10px}.agenda-menu-today p{margin:8px 0 0;color:#33416b;font-size:11px;line-height:1.45}

/* Correções de compatibilidade Android/Redmi e enquadramento do cardápio */
.school-mark{background:#fff!important;color-scheme:light;border-radius:14px;padding:6px 10px}
.school-mark__brand{background:#fff!important;mix-blend-mode:normal!important;border-radius:9px;padding:3px}
.menu-food-image{object-position:center;aspect-ratio:4/3;background:#fff;border-radius:14px;overflow:hidden}

/* O cardápio exibe somente a fotografia, sem moldura, fundo ou recorte artificial. */
.menu-food-image{aspect-ratio:auto;background:transparent;border-radius:0;overflow:visible;object-fit:contain;object-position:center}
