/* Educar Kids · identidade móvel aprovada. Acima de 600px, preserva o portal. */
.mobile-topbar,.mobile-bottom-nav,.mobile-home-summary,.mobile-month-calendar,
.mobile-tia-lo,.mobile-back,.score-status{display:none}

@media screen and (max-width:600px){
  :root{
    --bg:#f8f9fa;--surface:#fff;--ink:#202b3d;--muted:#667085;--line:#e5e7eb;
    --teal:#057c80;--teal-soft:#edf7f6;--sky:#f3f6f8;--navy:#263752;
    --shadow:none;--display:'DM Sans',Arial,sans-serif;
    --mobile-good:#17663d;--mobile-good-bg:#edf8ef;
    --mobile-warn:#855000;--mobile-warn-bg:#fff7e5;
    --mobile-attention:#a32332;--mobile-attention-bg:#fff0f1;
    --mobile-nav-height:78px;
  }
  html[data-theme=night]{
    --bg:#101c2e;--surface:#17263c;--ink:#ecf2fb;--muted:#b8c5d8;
    --line:#344258;--navy:#ecf2fb;--teal:#80ddd6;--teal-soft:#163d42;--sky:#1d2e44;
    --mobile-good:#9de7b7;--mobile-good-bg:#173b30;
    --mobile-warn:#f5d283;--mobile-warn-bg:#3b3220;
    --mobile-attention:#ffb2bc;--mobile-attention-bg:#412a36;
  }
  html{scroll-padding-top:24px;scroll-padding-bottom:120px}
  body{font-size:16px;line-height:1.55}
  .shell{display:block;min-height:100dvh}
  .shell>.sidebar,.shell.menu-open::before,.workspace>.topbar{display:none!important}
  .workspace{width:100%;min-width:0}
  .content{padding:24px 18px calc(var(--mobile-nav-height) + env(safe-area-inset-bottom,0px) + 34px);max-width:100%;overflow-wrap:anywhere}
  .portal-password-required .content{padding-bottom:32px}
  h1{font:700 26px/1.2 var(--body);letter-spacing:-.025em;color:var(--ink)}
  h2{font:600 20px/1.3 var(--body);letter-spacing:-.015em;color:var(--ink)}
  h3{font-size:16px;line-height:1.4}
  .page-heading{gap:18px;margin-bottom:24px}
  .page-heading>.heading-copy{width:100%;min-width:0}
  .page-heading .eyebrow{display:none}
  .page-heading p{font-size:15px;margin-top:8px}
  .heading-actions{gap:12px;align-items:stretch}
  .heading-actions>.btn{flex:1}
  .card{padding:18px;border-radius:8px;box-shadow:none;border-color:var(--line)}
  .card-head{gap:12px;margin-bottom:18px}
  .card-head p,.class-card p,.calendar-item p,.account-info p{font-size:14px}
  .stack{gap:18px}
  .grid-2,.grid-equal,.class-grid,.form-grid,.ratings{grid-template-columns:minmax(0,1fr)}
  .btn{font-size:15px;min-height:48px;border-radius:8px;padding:11px 15px;line-height:1.4}
  .btn.small,.btn.quiet{min-height:44px;font-size:14px}
  .btn .icon{width:20px;height:20px}
  .icon{stroke-width:1.75}
  .icon-btn{min-width:44px;width:44px;height:44px;border-radius:8px}
  input,select,textarea{font-size:16px;min-height:48px;border-radius:8px}
  textarea{line-height:1.6}
  input[type=checkbox],input[type=radio]{min-height:0}
  input[type=file]{font-size:14px}
  label,legend{font-size:15px}
  label small{font-size:13px}
  .field-help,.files-hint,.teacher-meta,.inline-error,.notice,.form-error{font-size:14px;line-height:1.55}
  .summary-text{font-size:16px;line-height:1.65}
  .notice,.empty{border-radius:8px}
  .empty{font-size:15px}
  .toolbar{gap:12px}
  .toolbar>label{flex:1 1 145px;min-width:0}
  .toolbar .btn{width:auto;flex:1 1 100%}
  .form-actions{gap:10px}
  .form-actions .btn{min-width:0;flex:1 1 130px}
  .avatar,.avatar.teal{border-radius:50%;background:var(--bg);color:var(--ink)}
  .child-picker{border-radius:8px;padding:10px 12px}
  .child-picker label{font-size:12px}
  .child-picker select{font-size:16px;min-height:32px}
  .child-picker .avatar{background:var(--bg);color:var(--ink)}
  .tag{font-size:12px;line-height:1.4;padding:5px 9px;white-space:normal}
  .tag.published,.tag.done,.tag.present{background:var(--mobile-good-bg);color:var(--mobile-good)}
  .tag.review,.tag.new{background:var(--mobile-warn-bg);color:var(--mobile-warn)}
  .tag.absent{background:var(--bg);color:var(--muted)}
  .mobile-topbar{display:block;padding:12px 18px 14px;padding-top:max(12px,env(safe-area-inset-top,0px));border-bottom:1px solid var(--line);background:var(--surface)}
  .mobile-brand-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
  .mobile-brand-row .row{gap:4px;flex:none}
  .mobile-topbar .brand{margin:0;justify-content:flex-start;gap:6px;min-width:0}
  .mobile-topbar .brand-symbol{width:42px;height:42px}
  .mobile-topbar .brand-wordmark{width:125px;height:30px}
  .mobile-topbar .icon-btn{border:0}
  .mobile-notifications{position:relative}
  .mobile-notifications>span{position:absolute;right:0;top:0;min-width:18px;min-height:18px;border-radius:10px;background:var(--mobile-attention);color:var(--surface);font-size:11px;font-weight:700;padding:1px 4px}
  .mobile-direction-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
  .mobile-account-link{display:flex;align-items:center;gap:8px;background:none;border:0;padding:0;min-height:44px;text-align:left;min-width:0;font-size:14px}
  .mobile-account-link>span:last-child{min-width:0;overflow-wrap:anywhere}
  .mobile-account-link small{display:block;font-size:12px}
  .mobile-account-link .avatar{width:34px;height:34px;font-size:12px}
  .mobile-direction-row .academic-picker{order:0;flex:none;align-items:center;gap:6px}
  .mobile-direction-row .academic-picker label{font-size:11px;margin:0}
  .mobile-direction-row .academic-picker select{width:88px;min-width:0;min-height:44px;font-size:15px;padding:7px}
  .mobile-direction-row .academic-picker>.btn{padding:7px;min-width:40px;min-height:44px}
  .mobile-bottom-nav{position:fixed;z-index:30;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));height:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom,0px));padding:8px 0 env(safe-area-inset-bottom,0px);border-top:1px solid var(--line);background:var(--surface);isolation:isolate;clip-path:inset(-40px 0 0 0)}
  .mobile-nav-item{position:relative;z-index:1;display:grid;grid-template-rows:28px 14px;align-content:start;justify-items:center;row-gap:5px;min-width:0;min-height:60px;border:0;padding:6px 1px 4px;background:none;color:var(--muted);font:400 11px/1.2 var(--body)}
  .mobile-nav-item>span:last-child{grid-row:2}
  .mobile-nav-symbol{display:grid;place-items:center;width:30px;height:28px;flex:none;transition:opacity .16s ease,transform .2s ease}
  .mobile-nav-symbol .icon{width:24px;height:24px}
  .mobile-nav-item.active{color:var(--ink);font-weight:700}
  .mobile-nav-item.active>.mobile-nav-symbol{opacity:0;transform:translateY(-16px)}
  .mobile-nav-item.active::before{content:'';position:absolute;top:-36px;left:0;right:0;height:58px;background:transparent}
  .mobile-nav-indicator{position:absolute;left:var(--mobile-active-offset,0%);top:-30px;width:20%;height:76px;pointer-events:none;transition:left .24s cubic-bezier(.22,.7,.3,1)}
  .mobile-nav-curve{position:absolute;left:-10px;top:0;width:calc(100% + 20px);height:32px;fill:var(--surface)}
  .mobile-nav-orb{position:absolute;left:50%;top:10px;transform:translateX(-50%);display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#263752;color:#fff}
  .mobile-nav-orb .icon{width:24px;height:24px;stroke-width:1.75}
  .mobile-nav-item:focus-visible{outline-offset:-2px}
  .mobile-back{display:inline-flex;gap:5px;margin-bottom:18px;min-height:44px}
  .mobile-back .icon{transform:rotate(180deg);width:17px}
  .footer-note{font-size:12px;gap:14px;margin-top:30px}
  .footer-note a{min-height:44px;display:inline-flex;align-items:center}
  .has-mobile-navigation #toast,.has-mobile-navigation #session-warning{bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom,0px) + 14px)}
  #toast{font-size:15px;max-width:calc(100% - 28px);width:max-content;border-radius:8px}
  dialog,.portal-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 32px);padding:20px;border-radius:12px}
  dialog h2,.portal-dialog h2{font-size:23px}
  dialog .form-actions,.portal-dialog .form-actions{display:flex;flex-wrap:wrap}
  .daily-card{border-radius:8px}
  .daily-card>summary{padding:16px 12px;align-items:center}
  .daily-card>summary .row{min-width:0}
  .daily-card summary h3{font-size:16px;overflow-wrap:anywhere}
  .daily-card summary small,.daily-card>summary>.tag{font-size:12px}
  .daily-body{padding:16px}
  .presence label{min-height:48px;border-radius:8px;font-size:15px}
  .scale{gap:8px}
  .scale label{width:44px;min-height:44px;font-size:16px;border-radius:8px}
  .scale-help{font-size:12px;max-width:100%}
  .scale-note{min-height:44px;font-size:14px}
  .common-day-note label{font-size:16px}
  .common-day-note{margin-bottom:20px}
  .score-chips{display:grid;gap:7px;margin:18px 0}
  .score-chip{display:grid;grid-template-columns:minmax(75px,.8fr) minmax(0,1.4fr);gap:8px;align-items:center;width:100%;padding:11px 12px;border:0;border-left:4px solid currentColor;border-radius:6px;font-size:14px;font-weight:600;line-height:1.45}
  .score-chip .score-number{display:none}
  .score-status{display:block;text-align:right;font-size:14px}
  .score-status small{display:block;font-size:12px;font-weight:400;color:inherit;margin-top:3px}
  .score-good{background:var(--mobile-good-bg);color:var(--mobile-good)}
  .score-developing{background:var(--mobile-warn-bg);color:var(--mobile-warn)}
  .score-attention{background:var(--mobile-attention-bg);color:var(--mobile-attention)}
  .timeline-item .date{font-size:14px}
  .agenda-day-message{border-radius:0;padding:16px 0;border-left:0;border-top:1px solid var(--line);background:none}
  .read-confirmed{font-size:14px}
  .agenda-top input{font-size:16px;width:100%;min-height:48px}
  .agenda-top>label{width:100%}
  .portal-view-home .welcome,.portal-view-home .stats{display:none}
  .portal-role-parent.portal-view-home .heading-copy{position:relative;min-height:100px;padding-right:103px;display:flex;flex-direction:column;justify-content:center}
  .mobile-tia-lo{display:block;position:absolute;right:0;bottom:0;width:100px;height:100px;object-fit:contain}
  .mobile-tia-lo img{display:block;width:100%;height:100%;object-fit:contain;animation:none;transform:none}
  .mobile-home-summary{display:block;margin:0 0 24px;background:var(--surface);border:1px solid var(--line);padding:18px;border-radius:8px}
  .mobile-home-summary h2{font-size:17px}
  .mobile-agenda-quick{display:flex;align-items:center;justify-content:space-between;gap:12px;border-left:4px solid var(--teal);padding-left:13px}
  .mobile-agenda-quick p{color:var(--muted);font-size:13px;margin-top:5px}
  .mobile-agenda-quick .btn{padding:4px 0;flex:none;font-size:14px}
  .mobile-school-counts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}
  .mobile-school-counts span{font-size:14px;color:var(--muted)}
  .mobile-school-counts strong{font-size:26px;color:var(--ink);display:block}
  .mobile-quick-list{margin-top:16px}
  .mobile-quick-list>.btn{display:flex;align-items:center;justify-content:flex-start;gap:12px;width:100%;padding:14px 0;text-align:left;border-radius:0;border-top:1px solid var(--line);color:var(--ink);font-weight:400}
  .mobile-quick-list>.btn>span{flex:1;min-width:0}
  .mobile-quick-list>.btn>span strong{display:block;color:var(--muted);font-weight:400;font-size:13px;margin-top:3px}
  .mobile-quick-list>.btn>.icon:last-child{margin-left:auto;width:17px}
  .portal-view-home .grid-2>.stack:first-child{order:2}
  .portal-view-home .grid-2>.stack:last-child{order:1}
  .stat{border-radius:8px;box-shadow:none}
  .stat-icon,.stat.pink .stat-icon,.stat.gold .stat-icon,.class-card .class-icon,.class-card.primary .class-icon{background:none;color:var(--muted);padding:0}
  .stat-value{font:600 26px/1.3 var(--body)}
  .stat-label{font-size:13px}
  .class-card{border-bottom:1px solid var(--line);padding-bottom:18px}
  .class-card:last-child{border-bottom:0;padding-bottom:0}
  .class-card .class-icon{margin-bottom:12px}
  .class-card p{font-size:15px}
  .birthday-card{border-top:1px solid var(--line)}
  .birthday-date{background:var(--bg);border-radius:8px;font-family:var(--body);font-size:20px}
  .birthday-list strong{font-size:15px}
  .birthday-list small{font-size:13px}
  .mobile-more-profile{display:flex;align-items:center;gap:14px;padding:0 0 24px;border-bottom:1px solid var(--line)}
  .mobile-more-profile .avatar{width:56px;height:56px}
  .mobile-more-profile h2{font-size:18px;overflow-wrap:anywhere}
  .mobile-more-profile p{font-size:14px;color:var(--muted);margin-top:4px}
  .mobile-more-groups{display:grid;gap:24px;margin-top:24px}
  .mobile-more-group{min-width:0}
  .mobile-more-group h2{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding-bottom:9px;font-weight:600}
  .mobile-more-row{display:flex;align-items:center;gap:14px;border:0;border-bottom:1px solid var(--line);width:100%;min-height:58px;background:none;color:var(--ink);font-size:16px;text-align:left;padding:14px 0;line-height:1.4}
  .mobile-more-row>span{flex:1;min-width:0}
  .mobile-more-row>.icon:last-child{width:17px;height:17px;color:var(--muted)}
  .mobile-more-row:hover{text-decoration:none;background:var(--bg)}
  .mobile-month-calendar{display:block;background:var(--surface);border:1px solid var(--line);padding:16px 10px;margin-bottom:24px;border-radius:8px}
  .mobile-calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}
  .mobile-calendar-heading h2{font-size:18px;text-transform:capitalize;text-align:center}
  .mobile-calendar-heading .btn{min-height:44px;min-width:44px;padding:9px;border:0}
  .mobile-calendar-prev .icon{transform:rotate(180deg)}
  .mobile-calendar-week,.mobile-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;gap:2px}
  .mobile-calendar-week{font-size:11px;color:var(--muted);padding:5px 0 9px}
  .mobile-calendar-grid>span,.mobile-calendar-grid>button{min-width:0;min-height:44px;display:grid;place-items:center;font-size:15px;padding:4px 0;background:none;border:0;border-radius:50%;position:relative}
  .mobile-calendar-grid>span{color:var(--muted);opacity:.6}
  .mobile-calendar-grid>.selected{background:var(--teal);color:var(--surface)}
  .mobile-calendar-day i{position:absolute;width:5px;height:5px;background:var(--teal);border-radius:50%;bottom:3px;left:calc(50% - 2.5px)}
  .mobile-calendar-day.selected i{background:var(--surface)}
  .mobile-month-calendar>.field-help{font-size:12px;padding:8px 4px 0}
  .portal-view-calendar .content>.toolbar{display:none}
  .calendar-day-filter{margin-bottom:18px;font-size:14px}
  .calendar-layout>.calendar-publication{order:2}
  .calendar-layout>.stack{order:1}
  .calendar-item{border-radius:8px;padding:14px;gap:12px}
  .calendar-item>div:last-child{min-width:0;flex:1}
  .calendar-date{background:var(--bg);border-radius:6px;min-width:45px;height:56px;font-size:11px}
  .calendar-date b{font:600 22px/1.3 var(--body)}
  .calendar-item .row{flex-wrap:wrap}
  .tabs{flex-wrap:nowrap;overflow-x:auto;max-width:100%;overscroll-behavior-x:contain;padding-bottom:12px}
  .tabs button{white-space:nowrap;flex:none;min-height:44px;font-size:14px;border-radius:8px}
  .table-wrap{border-radius:0;overscroll-behavior-x:contain}
  table{font-size:14px}
  th{font-size:11px}
  td,th{padding:12px 10px}
  .finance-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .finance-stats .card{padding:14px}
  .finance-stats strong{font:600 21px/1.3 var(--body);overflow-wrap:anywhere}
  .finance-stats p{font-size:12px}
  .finance-values{flex-wrap:wrap;gap:14px}
  .finance-values strong{font:600 28px/1.3 var(--body)}
  .finance-values small,.finance-values p,.finance-payment-stamp,.finance-payment-history{font-size:14px}
  .finance-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}
  .finance-filters label{width:100%;font-size:14px}
  .finance-list{gap:18px}
  .finance-invoice .item-head{flex-wrap:wrap;gap:12px}
  .finance-invoice .item-head h3{font-size:17px}
  .finance-status.paid_on_time,.finance-status.paid_late{background:var(--mobile-good-bg);color:var(--mobile-good)}
  .finance-status.overdue{background:var(--mobile-attention-bg);color:var(--mobile-attention)}
  .finance-status.pending{background:var(--bg);color:var(--muted)}
  .finance-calculation dl>div{flex-wrap:wrap;gap:6px;font-size:14px}
  .finance-calculation dd{white-space:normal}
  .mail-settings,.mail-preview-card{min-width:0}
  .mail-quota-grid{gap:12px}
  .mail-frame-wrap{max-width:100%}
  .mail-size select{font-size:16px}
  .mail-envelope,.mail-facts{font-size:14px}
  .login-story{padding:24px;background:var(--surface);border-bottom:1px solid var(--line)}
  .login-story .brand{margin-bottom:22px}
  .login-story h1{font:600 25px/1.3 var(--body)}
  .login-story .eyebrow{display:none}
  .login-side{padding:28px 24px}
  .login-box h2{font:600 25px/1.3 var(--body)}
  .login-box>p{font-size:15px}
  .login-box .field-help{font-size:14px}
  .profile-photo-controls p{font-size:14px}
  .demo-bar{font-size:12px;padding:12px 18px}
  .demo-bar select{font-size:16px}
  .birthday-banner{border-radius:8px;font-size:14px}
  .academic-banner{border-radius:8px;font-size:14px}
  .academic-banner p{font-size:14px}
}
@media screen and (max-width:350px){
  .content{padding-left:14px;padding-right:14px}
  .mobile-topbar{padding-left:14px;padding-right:14px}
  .mobile-topbar .brand-wordmark{width:105px}
  .mobile-topbar .brand-symbol{width:36px}
  .mobile-direction-row{gap:6px}
  .mobile-account-link{font-size:12px}
  .mobile-account-link .avatar{display:none}
  .score-chip{grid-template-columns:minmax(70px,.7fr) minmax(0,1.4fr);font-size:13px;padding:10px 8px}
  .score-status{font-size:13px}
  .mobile-agenda-quick{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){.mobile-tia-lo{animation:none!important}}
@media print{
  .mobile-topbar,.mobile-bottom-nav,.mobile-home-summary,.mobile-month-calendar,
  .mobile-tia-lo,.mobile-back,.mobile-more-groups,.mobile-more-profile{display:none!important}
}
