:root{--purple:#6c3fb5;--purple-dark:#4b258b;--ink:#241b33;--muted:#746d7d;--bg:#f7f5fb;--card:#fff;--line:#e6e0ef;--success:#0f7b50;--danger:#b52e3b;--shadow:0 18px 45px rgba(53,31,82,.12)}.site-header{height:76px;padding:0 clamp(18px,4vw,60px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:14px;color:var(--ink);text-decoration:none;font-weight:700}.brand img{width:136px;height:auto}.site-header nav{display:flex;align-items:center;gap:18px}.site-header nav a,.link-button{border:0;background:none;color:var(--ink);text-decoration:none;cursor:pointer;padding:8px 0}.site-header nav a:hover,.link-button:hover{color:var(--purple)}.human-link{background:var(--purple)!important;color:#fff!important;padding:10px 16px!important;border-radius:999px}.layout{max-width:1180px;margin:0 auto;padding:48px 24px 70px;display:grid;grid-template-columns:.72fr 1.28fr;gap:34px}.hero{padding:30px 14px}.eyebrow{color:var(--purple);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.hero h1{font-size:clamp(2.4rem,5vw,4.6rem);line-height:.98;margin:14px 0 22px}.hero p{color:var(--muted);font-size:1.08rem;line-height:1.65}.health{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);padding:13px 16px;border-radius:14px;margin-top:28px}.health span{width:10px;height:10px;border-radius:50%;background:#aaa}.health.online span{background:#22a66a}.health.unstable span{background:#e39d25}.health.offline span{background:#d44}.usage{margin-top:14px;color:var(--muted);font-size:.92rem}.chat-panel{background:var(--card);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);min-height:680px;display:flex;flex-direction:column;overflow:hidden}.messages{padding:26px;display:flex;flex-direction:column;gap:14px;overflow:auto;flex:1;max-height:600px}.message{display:flex}.message.user{justify-content:flex-end}.message>div{max-width:88%;padding:14px 16px;border-radius:18px;background:#f0ecf7;line-height:1.45;white-space:pre-wrap}.message.user>div{background:var(--purple);color:#fff;border-bottom-right-radius:5px}.message.assistant>div{border-bottom-left-radius:5px}.message.error>div{background:#fff0f1;color:var(--danger)}.product-grid{display:grid;gap:10px;margin-top:12px}.product-card{display:grid;grid-template-columns:76px 1fr;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px}.product-card img{width:76px;height:76px;object-fit:contain;background:#fafafa;border-radius:10px}.product-card h3{font-size:.95rem;margin:0 0 6px}.product-card strong{color:var(--purple-dark)}.product-card button,.candidate-list button{margin-top:8px;border:0;background:var(--purple);color:#fff;border-radius:9px;padding:8px 11px;cursor:pointer}.candidate-list{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.candidate-list details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px}.candidate-list button{display:block;width:100%;text-align:left;background:#f6f2fb;color:var(--ink)}.suggestions{padding:0 20px 12px;display:flex;gap:8px;flex-wrap:wrap}.suggestions button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 11px;cursor:pointer}.chat-form{display:grid;grid-template-columns:auto 1fr auto;gap:8px;padding:16px;border-top:1px solid var(--line)}.chat-form textarea{resize:none;border:1px solid var(--line);border-radius:14px;padding:12px 14px;min-height:48px}.chat-form button{border:0;border-radius:13px;padding:0 18px;background:var(--purple);color:#fff;font-weight:700;cursor:pointer}.chat-form .attach{background:#eee8f7;color:var(--purple);font-size:1.35rem}.privacy-note{margin:0;padding:0 18px 16px;color:var(--muted);font-size:.78rem}.privacy-note a{color:var(--purple)}dialog{border:0;border-radius:22px;box-shadow:var(--shadow);width:min(620px,calc(100% - 28px));padding:24px}dialog::backdrop{background:rgba(25,14,38,.56)}.dialog-head{display:flex;align-items:center;justify-content:space-between}.dialog-head h2{margin:0}.dialog-head button{border:0;background:none;font-size:1.7rem;cursor:pointer}.stack{display:grid;gap:12px;margin-top:18px}.stack input,.stack textarea{width:100%;border:1px solid var(--line);border-radius:11px;padding:12px}.primary{border:0;background:var(--purple);color:#fff;border-radius:11px;padding:12px 16px;font-weight:700;cursor:pointer}.check{display:flex;gap:9px;font-size:.9rem;color:var(--muted)}.tabs{display:flex;gap:8px;margin-top:16px}.tabs button{border:1px solid var(--line);background:#fff;padding:8px 14px;border-radius:9px}.tabs .active{background:var(--purple);color:#fff}.cart-item{display:grid;grid-template-columns:1fr auto;gap:10px;border-bottom:1px solid var(--line);padding:12px 0}.cart-item input{width:78px}.cart-total{display:flex;justify-content:space-between;padding:18px 0;font-size:1.15rem}.form-status{color:var(--muted);white-space:pre-wrap}.success{color:var(--success)}.danger{color:var(--danger)}footer{padding:24px clamp(18px,4vw,60px);border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted)}footer nav{display:flex;gap:18px}footer a{color:var(--muted)}@media(max-width:850px){.site-header{height:auto;padding:14px 18px;align-items:flex-start}.site-header nav{gap:10px;flex-wrap:wrap;justify-content:flex-end}.brand span{display:none}.layout{grid-template-columns:1fr;padding:24px 12px}.hero{padding:12px}.hero h1{font-size:3rem}.chat-panel{min-height:650px}.site-header nav a,.link-button{font-size:.875rem}footer{flex-direction:column;gap:12px}}

/* P04 — confirmação persistente e encaminhamento do pedido */
.order-confirmation{display:grid;gap:.55rem;margin:0 0 1rem;padding:1rem;border:1px solid rgba(108,63,181,.22);border-radius:14px;background:rgba(108,63,181,.06)}
.order-confirmation[hidden]{display:none}
.order-confirmation strong{font-size:1.05rem;color:#4f2e89}
.order-confirmation span,.order-confirmation small{display:block}
.order-confirmation b{letter-spacing:.035em}
.order-confirmation .primary{justify-self:start;margin-top:.25rem}
.order-whatsapp-status{min-height:1.2em;margin:0;font-size:.9rem}
.order-whatsapp-actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;margin-top:.25rem}
.order-whatsapp-actions .primary,.order-whatsapp-actions .secondary-button{margin-top:0}
.order-follow-link{justify-self:start}
.order-message .order-confirmation{margin:.35rem 0 0;background:rgba(255,255,255,.72)}
#orderStatus{white-space:pre-line}
#orderSubmit:disabled{cursor:not-allowed;opacity:.55}

/* P05A — processamento assíncrono de listas escolares */
.product-card.is-expired{opacity:.72;background:#faf9fc}
.product-card button:disabled{cursor:not-allowed;opacity:.58}
.notice{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}



/* P05B — seleção contextual, edição e contribuições da lista escolar */
.school-bulk-actions{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap;margin:1rem 0;padding:.8rem;border:1px solid var(--line);border-radius:12px;background:#fff}
.school-bulk-actions button,.school-line button,.school-line-edit button{border:0;background:var(--purple);color:#fff;border-radius:9px;padding:8px 11px;cursor:pointer}
.school-line button.secondary,.school-line-edit button.secondary{background:#eee8f7;color:var(--purple-dark)}
.school-line{margin-top:1rem}
.school-line strong{font-size:1rem}
.school-line-heading{display:flex;gap:1rem;align-items:flex-start;justify-content:space-between}
.school-line-heading small{display:block;margin-top:.35rem;color:var(--muted)}
.school-line-edit{display:grid;grid-template-columns:minmax(220px,2fr) minmax(110px,.6fr) minmax(120px,.8fr);gap:.7rem;margin:1rem 0;padding:1rem;border:1px dashed var(--line);border-radius:12px;background:#faf9fc}
.school-line-edit label{display:grid;gap:.35rem;font-size:.875rem;color:var(--muted)}
.school-line-edit input{width:100%;padding:.65rem;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}
.school-line-edit-actions{grid-column:1/-1;display:flex;gap:.5rem}
.school-not-buy{display:grid;gap:.45rem;margin:1rem 0;padding:1rem;border:1px solid #d6cfdf;border-radius:12px;background:#f4f1f8}
.school-not-buy strong{color:var(--purple-dark)}
.school-line.is-ignored{opacity:.82}
.school-selection-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.school-ignore-button{margin-top:1rem}
#schoolActionStatus.error{color:var(--danger)}
@media(max-width:760px){.school-line-edit{grid-template-columns:1fr}.school-line-heading{align-items:stretch}.school-line-heading>button{flex:0 0 auto}}

/* P06B — verificação contra abuso e logout seguro */
.human-gate{border:1px solid #d9d0ea;border-radius:16px;padding:18px;margin-bottom:14px;background:#fbf9ff}
.human-gate[hidden]{display:none}
.human-gate>div{display:grid;gap:10px;justify-items:start}
.human-gate p{margin:0;color:#5f5870}
#turnstileMount{min-height:1px;max-width:100%}
#humanFallbackForm{width:min(320px,100%)}
.is-human-locked{opacity:.55;pointer-events:none}



/* P07A — portal principal responsivo, visual e acessível */
.public-body{
    --blue-950:#14244f;
    --blue-900:#1d3268;
    --blue-800:#294686;
    --blue-700:#365aa0;
    --blue-100:#edf3ff;
    --orange:#f28b2d;
    --orange-dark:#b95d13;
    --surface:#ffffff;
    --surface-soft:#f5f7fc;
    --line-public:#dce3f0;
    --muted-public:#687187;
    --public-shadow:0 22px 60px rgba(25,44,91,.13);
    color:var(--blue-950);
    background:
        radial-gradient(circle at 7% 8%,rgba(242,139,45,.10),transparent 28rem),
        radial-gradient(circle at 90% 18%,rgba(54,90,160,.11),transparent 32rem),
        #f7f8fc;
}
.public-body button,.public-body input,.public-body textarea{font:inherit}
.public-body button:focus-visible,.public-body a:focus-visible,.public-body input:focus-visible,.public-body textarea:focus-visible,.public-body summary:focus-visible{outline:3px solid rgba(242,139,45,.58);outline-offset:3px}
.skip-link{position:fixed;left:18px;top:12px;z-index:1000;transform:translateY(-160%);padding:10px 14px;border-radius:10px;background:#fff;color:var(--blue-950);box-shadow:var(--public-shadow);font-weight:800;text-decoration:none}
.skip-link:focus{transform:translateY(0)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

.public-body .site-header{height:84px;padding:0 clamp(18px,4vw,64px);background:rgba(255,255,255,.94);border-bottom:1px solid rgba(220,227,240,.9);box-shadow:0 7px 30px rgba(20,36,79,.05);backdrop-filter:blur(14px);z-index:30}
.public-body .brand{gap:12px;color:var(--blue-950);font-weight:850;letter-spacing:-.01em}
.public-body .brand img{width:128px;max-height:68px;object-fit:contain}
.public-body .brand span{padding-left:12px;border-left:1px solid var(--line-public);font-size:.92rem}
.public-body .primary-nav{display:flex;align-items:center;gap:8px}
.public-body .primary-nav>a,.public-body .primary-nav>.link-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 12px;border-radius:11px;color:var(--blue-950);font-size:.91rem;font-weight:750;text-decoration:none}
.public-body .primary-nav>a:hover,.public-body .primary-nav>.link-button:hover{background:var(--blue-100);color:var(--blue-800)}
.public-body .primary-nav .human-link{padding:10px 16px!important;border:1px solid var(--blue-800);background:var(--blue-900)!important;color:#fff!important;box-shadow:0 8px 20px rgba(29,50,104,.18)}
.public-body #cartBadge{display:inline-grid;place-items:center;min-width:24px;height:24px;margin-left:6px;padding:0 6px;border-radius:999px;background:var(--orange);color:#fff;font-size:.76rem;font-weight:900}
.menu-toggle,.nav-mobile-head,.nav-overlay{display:none}

.public-body .layout{width:min(1220px,calc(100% - 40px));max-width:none;margin:0 auto;padding:clamp(34px,5vw,68px) 0 clamp(54px,7vw,90px);grid-template-columns:minmax(300px,.78fr) minmax(520px,1.22fr);gap:clamp(28px,4vw,58px);align-items:start}
.public-body .hero{padding:24px 0;position:sticky;top:112px}
.public-body .eyebrow{display:inline-flex;color:var(--orange-dark);font-size:.75rem;font-weight:900;letter-spacing:.105em}
.public-body .hero h1{max-width:570px;margin:16px 0 20px;color:var(--blue-950);font-size:clamp(3.1rem,6.2vw,5.35rem);line-height:.94;letter-spacing:-.055em}
.public-body .hero h1 span{color:var(--blue-700)}
.public-body .hero-copy{max-width:610px;margin:0;color:var(--muted-public);font-size:1.08rem;line-height:1.72}
.public-body .trust-grid{display:grid;gap:10px;margin:28px 0 20px}
.public-body .trust-grid article{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid rgba(220,227,240,.9);border-radius:15px;background:rgba(255,255,255,.78)}
.public-body .trust-grid article>span{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:11px;background:var(--blue-100);color:var(--blue-800);font-size:1.1rem;font-weight:900}
.public-body .trust-grid strong,.public-body .trust-grid small{display:block}
.public-body .trust-grid strong{color:var(--blue-950);font-size:.91rem}
.public-body .trust-grid small{margin-top:2px;color:var(--muted-public);font-size:.77rem;line-height:1.35}
.public-body .health{margin:16px 0 0;padding:14px 16px;border-color:var(--line-public);border-radius:15px;background:#fff;box-shadow:0 8px 24px rgba(25,44,91,.06)}
.public-body .health .health-dot{flex:0 0 11px;width:11px;height:11px;box-shadow:0 0 0 5px rgba(104,113,135,.10)}
.public-body .health.online .health-dot{box-shadow:0 0 0 5px rgba(34,166,106,.12)}
.public-body .health.unstable .health-dot{box-shadow:0 0 0 5px rgba(227,157,37,.14)}
.public-body .health.offline .health-dot{box-shadow:0 0 0 5px rgba(212,68,68,.12)}
.public-body .health strong,.public-body .health small{display:block}
.public-body .health strong{color:var(--blue-950);font-size:.9rem}
.public-body .health-detail{margin-top:2px;color:var(--muted-public);font-size:.75rem}
.public-body .usage{min-height:1.2em;margin-top:12px;color:var(--muted-public);font-size:.86rem}
.public-body .price-note{margin:14px 0 0;color:var(--muted-public);font-size:.76rem;line-height:1.45}

.public-body .chat-panel{position:relative;min-height:min(735px,calc(100dvh - 130px));max-height:820px;border:1px solid var(--line-public);border-radius:27px;background:#fff;box-shadow:var(--public-shadow);overflow:hidden}
.public-body .chat-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line-public);background:linear-gradient(135deg,#fff 35%,#f1f5ff)}
.public-body .assistant-avatar{display:grid;place-items:center;width:44px;height:44px;border:3px solid #fff;border-radius:15px;background:linear-gradient(145deg,var(--blue-700),var(--blue-950));box-shadow:0 8px 20px rgba(29,50,104,.22);color:#fff;font-size:1.15rem;font-weight:900}
.public-body .chat-header h2{margin:0;color:var(--blue-950);font-size:1.02rem;letter-spacing:-.01em}
.public-body .chat-header p{margin:3px 0 0;color:var(--muted-public);font-size:.76rem}
.public-body .secure-label{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid #bfe3d3;border-radius:999px;background:#eefaf5;color:#167353;font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.045em}
.public-body .secure-label span{font-size:.75rem}

.public-body .human-gate{margin:14px 18px 0;padding:15px;border:1px solid #d8e1f2;border-radius:17px;background:linear-gradient(135deg,#f7f9ff,#fff);display:grid;grid-template-columns:auto 1fr;gap:12px}
.public-body .human-gate[hidden]{display:none}
.public-body .human-gate-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:var(--blue-100);color:var(--blue-800);font-weight:950}
.public-body .human-gate-content{display:grid;gap:8px;min-width:0}
.public-body .human-gate-content>strong{color:var(--blue-950);font-size:.91rem}
.public-body .human-gate p{font-size:.82rem;line-height:1.45}
.public-body #humanFallbackButton{justify-self:start;padding:7px 0;color:var(--blue-800);font-weight:800;text-decoration:underline;text-underline-offset:3px}
.public-body #humanFallbackForm{margin-top:3px}

.public-body .messages{min-height:280px;max-height:none;padding:22px 20px 18px;gap:13px;scroll-behavior:smooth;overscroll-behavior:contain}
.public-body .message>div{max-width:min(88%,570px);padding:13px 15px;border:1px solid #e3e8f2;border-radius:18px;background:#f4f6fb;color:var(--blue-950);font-size:.94rem;line-height:1.5;box-shadow:0 4px 14px rgba(29,50,104,.035)}
.public-body .message>div>p{margin:0}
.public-body .message>div>small{display:block;margin-top:6px;color:var(--muted-public);font-size:.76rem;line-height:1.4}
.public-body .message.assistant>div{border-bottom-left-radius:5px}
.public-body .message.user>div{border-color:var(--blue-800);border-bottom-right-radius:5px;background:linear-gradient(145deg,var(--blue-700),var(--blue-900));color:#fff;box-shadow:0 8px 22px rgba(29,50,104,.19)}
.public-body .message.error>div{border-color:#f2c9cd;background:#fff5f5;color:#a42432}
.public-body .message.notice>div{border-color:#f1d29a;background:#fff9ea;color:#765017}

.public-body .product-grid{gap:11px;margin-top:14px}
.public-body .product-card{grid-template-columns:92px minmax(0,1fr);gap:13px;padding:12px;border-color:var(--line-public);border-radius:16px;background:#fff;box-shadow:0 7px 22px rgba(29,50,104,.055)}
.public-body .product-image-button{display:grid;place-items:center;width:92px;height:92px;padding:0;border:0;border-radius:13px;background:#f5f7fb;overflow:hidden;cursor:zoom-in}
.public-body .product-card img{width:92px;height:92px;border-radius:0;background:transparent}
.public-body .product-card h3{margin:0 0 5px;color:var(--blue-950);font-size:.9rem;line-height:1.36}
.public-body .product-card small{color:var(--muted-public);font-size:.75rem}
.public-body .product-card p{margin:8px 0 0}
.public-body .product-card strong{color:var(--blue-900);font-size:1.06rem}
.public-body .product-card button[data-add]{min-height:38px;margin-top:9px;padding:8px 12px;border-radius:10px;background:var(--blue-800);font-size:.875rem;font-weight:850}
.public-body .product-card button[data-add]:hover{background:var(--blue-950)}
.public-body .product-card button:disabled{background:#e6eaf2;color:#737c8e}
.public-body .candidate-list{margin-top:13px;padding-top:11px;border-color:var(--line-public)}
.public-body .candidate-list details{border-color:var(--line-public);background:#fbfcff}
.public-body .candidate-list summary{cursor:pointer;color:var(--blue-800);font-size:.875rem;font-weight:850}
.public-body .candidate-list button{min-height:38px;background:#edf3ff;color:var(--blue-900);font-size:.875rem;font-weight:750}

.public-body .suggestions{align-items:center;padding:9px 18px 12px;gap:7px;border-top:1px solid rgba(220,227,240,.75)}
.public-body .suggestions>span{color:var(--muted-public);font-size:.75rem;font-weight:800}
.public-body .suggestions button{min-height:34px;padding:6px 11px;border-color:#d7dfed;background:#fff;color:var(--blue-800);font-size:.875rem;font-weight:750}
.public-body .suggestions button:hover{border-color:var(--blue-700);background:var(--blue-100)}
.public-body .chat-form{grid-template-columns:46px minmax(0,1fr) auto;align-items:end;padding:13px 16px calc(13px + env(safe-area-inset-bottom));border-color:var(--line-public);background:#fff}
.public-body .chat-form textarea{max-height:128px;min-height:46px;padding:12px 14px;border-color:#cfd8e8;border-radius:14px;color:var(--blue-950);line-height:1.45;overflow-y:auto}
.public-body .chat-form textarea::placeholder{color:#8690a4}
.public-body .chat-form button{min-height:46px;border-radius:13px;background:var(--blue-800);font-weight:850}
.public-body .chat-form #send{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 17px}
.public-body .chat-form #send:hover{background:var(--blue-950)}
.public-body .chat-form .attach{width:46px;padding:0;background:#edf3ff;color:var(--blue-800);font-size:1.35rem}
.public-body .chat-form button:disabled,.public-body .suggestions button:disabled{cursor:not-allowed;opacity:.48}
.public-body .privacy-note{padding:0 18px 13px;color:var(--muted-public);font-size:.75rem;text-align:center}

.public-body .app-dialog{width:min(680px,calc(100% - 24px));max-height:min(88dvh,860px);padding:0;border:1px solid var(--line-public);border-radius:24px;background:#fff;box-shadow:0 30px 90px rgba(10,23,55,.30);overflow:auto}
.public-body .compact-dialog{width:min(540px,calc(100% - 24px))}
.public-body .app-dialog::backdrop,.public-body .image-dialog::backdrop{background:rgba(13,25,55,.62);backdrop-filter:blur(4px)}
.public-body .dialog-head{position:sticky;top:0;z-index:2;padding:20px 22px 15px;border-bottom:1px solid var(--line-public);background:rgba(255,255,255,.97)}
.public-body .dialog-head h2{margin:4px 0 0;color:var(--blue-950);font-size:1.45rem;letter-spacing:-.025em}
.public-body .dialog-head>button{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;color:var(--blue-950)}
.public-body .dialog-head>button:hover{background:var(--blue-100)}
.public-body .app-dialog>#cartItems,.public-body .app-dialog>.cart-total,.public-body .app-dialog>.cart-toolbar,.public-body .app-dialog>form,.public-body .app-dialog>#accountState,.public-body .app-dialog>.tabs,.public-body .app-dialog>p,.public-body .app-dialog>#accessText,.public-body .app-dialog>#accessLogin,.public-body .app-dialog>#orderConfirmation{margin-left:22px;margin-right:22px}
.public-body .cart-items{margin-top:8px}
.public-body .app-dialog>#cartEditing{margin-left:22px;margin-right:22px}
@media(max-width:760px){.public-body .app-dialog>#cartEditing{margin-left:16px;margin-right:16px}}
.public-body .cart-item{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:14px 0;border-color:var(--line-public)}
.public-body .cart-item strong{color:var(--blue-950);font-size:.9rem}
.public-body .cart-item small{color:var(--muted-public);font-size:.75rem}
.public-body .cart-item-controls{display:flex;align-items:center;gap:7px}
.public-body .cart-item input{width:76px;padding:8px;border:1px solid #cfd8e8;border-radius:9px;text-align:center}
.public-body .cart-item button{display:grid;place-items:center;width:36px;height:36px;border:1px solid #f1c9cc;border-radius:10px;background:#fff5f5;color:#a42432;cursor:pointer}
.public-body .cart-item button[data-quantity-delta]{border-color:#cfd8e8;background:#f7f9fd;color:var(--blue-800);font-weight:900}
.public-body .cart-item button:disabled{opacity:.45;cursor:not-allowed}
.public-body .origin-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.public-body .origin-badge{display:inline-flex;padding:4px 7px;border-radius:999px;background:#edf3ff;color:var(--blue-800);font-size:.75rem;font-weight:800}
.public-body .origin-badge.school{background:#fff2e5;color:#985018}
.public-body .cart-total{margin-top:4px;padding:16px 0;border-top:1px solid var(--line-public);color:var(--muted-public)}
.public-body .cart-total strong{color:var(--blue-950);font-size:1.35rem}
.public-body .cart-toolbar{display:flex;justify-content:flex-end;margin-top:-6px;margin-bottom:4px}
.public-body .secondary-button{border:1px solid #cfd8e8;border-radius:10px;background:#fff;color:var(--blue-800);padding:9px 12px;font-weight:750;cursor:pointer}
.public-body .secondary-button:hover{background:var(--blue-100)}
.public-body .stack{gap:13px;margin-top:15px;margin-bottom:22px}
.public-body .field-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.public-body .field-grid .full{grid-column:1/-1}
.public-body .field{display:grid;gap:6px;color:var(--blue-900);font-size:.78rem;font-weight:800}
.public-body .field span small{color:var(--muted-public);font-weight:500}
.public-body .field input,.public-body .field textarea,.public-body .stack>input,.public-body .stack>textarea{width:100%;padding:11px 12px;border:1px solid #cfd8e8;border-radius:11px;background:#fff;color:var(--blue-950)}
.public-body .file-field input{padding:8px}
.public-body .primary{min-height:44px;border-radius:11px;background:var(--blue-800)}
.public-body .primary:hover{background:var(--blue-950)}
.public-body .check{display:grid;grid-template-columns:19px minmax(0,1fr);align-items:start;gap:9px;color:var(--muted-public);font-size:.82rem;line-height:1.45}
.public-body .check input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--blue-800)}
.public-body .tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:5px;border-radius:13px;background:var(--surface-soft)}
.public-body .tabs button{border:0;background:transparent;color:var(--muted-public);font-weight:850;cursor:pointer}
.public-body .tabs .active{background:#fff;color:var(--blue-900);box-shadow:0 5px 15px rgba(29,50,104,.08)}
.public-body .form-status{min-height:1.2em;font-size:.8rem;line-height:1.45}
.public-body .order-confirmation{margin-top:16px;border-color:#cdd9ef;background:#f3f7ff}
.public-body .image-dialog{width:min(760px,calc(100% - 24px));padding:0;border:1px solid var(--line-public);border-radius:22px;background:#fff;box-shadow:0 30px 90px rgba(10,23,55,.3)}
.public-body .image-dialog img{display:block;width:100%;max-height:72dvh;padding:18px;object-fit:contain;background:#f7f9fd}

.public-body footer{padding:28px clamp(20px,4vw,64px);border-color:var(--line-public);background:#fff;color:var(--muted-public);font-size:.84rem}
.public-body footer a{color:var(--blue-800);font-weight:700}
.noscript{margin:20px;padding:16px;border:1px solid #f0c8cb;border-radius:12px;background:#fff4f4;color:#9d2632;text-align:center}

@media(max-width:980px){
    .public-body .layout{grid-template-columns:1fr;width:min(820px,calc(100% - 28px));padding-top:30px}
    .public-body .hero{position:static;display:grid;grid-template-columns:1fr 1fr;gap:0 22px;padding:10px 2px}
    .public-body .hero>.eyebrow,.public-body .hero>h1,.public-body .hero>.hero-copy{grid-column:1/-1}
    .public-body .hero h1{max-width:720px;font-size:clamp(3rem,9vw,5rem)}
    .public-body .trust-grid{grid-column:1/2}
    .public-body .health,.public-body .usage,.public-body .price-note{grid-column:2/3;align-self:start}
    .public-body .health{margin-top:28px}
    .public-body .chat-panel{min-height:700px;max-height:none}
}

@media(max-width:760px){
    .public-body.nav-open{overflow:hidden}
    .public-body .site-header{height:70px;padding:0 14px;align-items:center}
    .public-body .brand img{width:103px;max-height:58px}
    .public-body .brand span{display:none}
    .menu-toggle{display:grid;gap:4px;place-content:center;width:44px;height:44px;margin-left:auto;border:0;border-radius:12px;background:var(--blue-100);cursor:pointer}
    .menu-toggle span{display:block;width:21px;height:2px;border-radius:2px;background:var(--blue-900)}
    .public-body .primary-nav{position:fixed;top:0;right:0;z-index:60;display:flex;flex-direction:column;align-items:stretch;width:min(330px,88vw);height:100dvh;padding:18px;background:#fff;box-shadow:-18px 0 60px rgba(15,28,62,.25);transform:translateX(105%);transition:transform .2s ease}
    .public-body.nav-open .primary-nav{transform:translateX(0)}
    .public-body .primary-nav>a,.public-body .primary-nav>.link-button{justify-content:flex-start;width:100%;min-height:48px;padding:11px 12px;border-bottom:1px solid #eef1f6;border-radius:8px}
    .public-body .primary-nav .human-link{justify-content:center!important;margin-top:12px;border-radius:12px!important}
    .nav-mobile-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--line-public)}
    .nav-mobile-head strong{color:var(--blue-950);font-size:1.1rem}
    .nav-mobile-head button{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:10px;background:var(--surface-soft);color:var(--blue-950);font-size:1.5rem;cursor:pointer}
    .nav-overlay{position:fixed;inset:0;z-index:50;display:block;background:rgba(13,25,55,.56)}
    .nav-overlay[hidden]{display:none}
    .public-body .layout{width:100%;padding:22px 12px 48px}
    .public-body .hero{display:block;padding:10px 6px}
    .public-body .hero h1{font-size:clamp(2.9rem,16vw,4.35rem)}
    .public-body .hero-copy{font-size:1rem}
    .public-body .trust-grid{margin-top:22px}
    .public-body .health{margin-top:18px}
    .public-body .chat-panel{min-height:calc(100dvh - 96px);border-radius:22px}
    .public-body .chat-header{padding:13px 14px}
    .public-body .assistant-avatar{width:40px;height:40px;border-radius:13px}
    .public-body .secure-label{padding:6px 8px;font-size:.75rem}
    .public-body .human-gate{margin:11px 12px 0;padding:12px}
    .public-body .messages{padding:17px 13px 14px}
    .public-body .message>div{max-width:93%;font-size:.91rem}
    .public-body .product-card{grid-template-columns:76px minmax(0,1fr)}
    .public-body .product-image-button,.public-body .product-card img{width:76px;height:76px}
    .public-body .suggestions{padding-left:13px;padding-right:13px}
    .public-body .suggestions>span{width:100%}
    .public-body .chat-form{grid-template-columns:44px minmax(0,1fr) 48px;padding-left:11px;padding-right:11px}
    .public-body .chat-form #send{width:48px;padding:0;font-size:0}
    .public-body .chat-form #send span:last-child{font-size:1.15rem}
    .public-body .chat-form .attach{width:44px}
    .public-body .privacy-note{padding-left:12px;padding-right:12px}
    .public-body .field-grid{grid-template-columns:1fr}
    .public-body .field-grid .full{grid-column:auto}
    .public-body .app-dialog{width:calc(100% - 16px);max-height:92dvh;border-radius:20px}
    .public-body .dialog-head{padding:17px 16px 13px}
    .public-body .app-dialog>#cartItems,.public-body .app-dialog>.cart-total,.public-body .app-dialog>.cart-toolbar,.public-body .app-dialog>form,.public-body .app-dialog>#accountState,.public-body .app-dialog>.tabs,.public-body .app-dialog>p,.public-body .app-dialog>#accessText,.public-body .app-dialog>#accessLogin,.public-body .app-dialog>#orderConfirmation{margin-left:16px;margin-right:16px}
    .public-body .cart-item{grid-template-columns:1fr;gap:9px}
    .public-body .cart-item-controls{justify-content:flex-end}
    .public-body footer{flex-direction:column;gap:12px;text-align:center}
    .public-body footer nav{justify-content:center;flex-wrap:wrap}
}

@media(max-width:390px){
    .public-body .chat-header p{display:none}
    .public-body .secure-label{max-width:88px;text-align:center}
    .public-body .product-card{grid-template-columns:1fr}
    .public-body .product-image-button{width:100%;height:150px}
    .public-body .product-card img{width:100%;height:150px}
}

@media(prefers-reduced-motion:reduce){
    *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

@media(forced-colors:active){
    .public-body .secure-label,.public-body .health,.public-body .product-card,.public-body .human-gate{border:1px solid CanvasText}
}


/* P07A REV1 — correções funcionais sem alterar contratos do portal */
.public-body .product-card.no-image{grid-template-columns:minmax(0,1fr)}
@media(max-width:760px){
    .public-body.nav-open .site-header{z-index:70}
    .public-body .primary-nav{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}
}

/* P07B1 — continuidade e paginação do histórico */
.history-load-more{display:flex;justify-content:center;padding:.45rem 0 .75rem}
.history-load-more button{min-height:40px;padding:.55rem .9rem;border-radius:999px}
.message.welcome small{display:block;margin-top:.35rem;color:var(--muted,#5f6472)}
.order-recovery-link{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:.35rem;padding:.75rem;border:1px solid rgba(36,63,124,.18);border-radius:10px;background:#fff}
.order-recovery-link small{flex:1 1 100%;color:#475569}
.order-recovery-link a,.order-recovery-link button{font-size:.9rem}

/* P10G2B — retomada de conversa e estabilidade móvel */
.public-body .conversation-choice-summary{display:grid;gap:10px;margin:0 24px 18px}
.public-body .conversation-choice-summary>div{display:grid;gap:4px;padding:13px 14px;border:1px solid var(--line-public);border-radius:12px;background:var(--surface-soft)}
.public-body .conversation-choice-summary strong{color:var(--blue-950);font-size:.88rem}
.public-body .conversation-choice-summary span{color:var(--muted-public);font-size:.78rem;line-height:1.45}
.public-body .conversation-choice-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 24px 12px}
.public-body .message-action-button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;margin-top:9px;padding:7px 11px;border:1px solid #cfd8e8;border-radius:9px;background:#fff;color:var(--blue-800);font:inherit;font-size:.875rem;font-weight:800;cursor:pointer}
.public-body .message-action-button:hover{background:var(--blue-100)}
.public-body[data-choice-locked="true"] .chat-form{opacity:.65}
@media(max-width:760px){
    .public-body .field input,.public-body .field textarea,.public-body .stack>input,.public-body .stack>textarea,.public-body .chat-form input,.public-body .chat-form textarea{font-size:16px}
    .public-body .conversation-choice-summary{margin-left:16px;margin-right:16px}
    .public-body .conversation-choice-actions{grid-template-columns:1fr;margin-left:16px;margin-right:16px}
}


/* P10H1 — totais explícitos e acordeão de outros produtos. */
.public-body .candidate-list-items{display:grid;gap:6px;margin-top:9px}
.public-body .candidate-list-items button{display:grid;gap:3px;margin-top:0}
.public-body .candidate-list-items button span{font-weight:800}
.public-body .candidate-list-items button small{color:var(--muted-public);font-size:.75rem;font-weight:650}
.public-body .catalog-result-note{margin:11px 0 0;padding:9px 11px;border-left:3px solid var(--blue-500);background:#f6f9ff;color:var(--muted-public);font-size:.76rem;line-height:1.45;white-space:normal}
@media(forced-colors:active){.public-body .catalog-result-note{border:1px solid CanvasText}}

/* P10H2 — ações institucionais dentro das mensagens. */
.public-body .message-action-list{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap;margin-top:11px;padding-top:10px;border-top:1px solid rgba(32,72,135,.14);white-space:normal}
.public-body .message-action-link,.public-body .message-action-list .message-action-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;margin:0;padding:8px 12px;border:1px solid #b9c9e3;border-radius:10px;background:#fff;color:var(--blue-800);font-size:.875rem;font-weight:800;line-height:1.25;text-align:center;text-decoration:none;overflow-wrap:anywhere;cursor:pointer}
.public-body .message-action-link:hover,.public-body .message-action-list .message-action-button:hover{border-color:var(--blue-500);background:var(--blue-100);color:var(--blue-950)}
.public-body .message-action-link:focus-visible,.public-body .message-action-list .message-action-button:focus-visible{outline:3px solid rgba(37,99,235,.28);outline-offset:2px}
@media(max-width:520px){.public-body .message-action-list{display:grid;grid-template-columns:1fr}.public-body .message-action-link,.public-body .message-action-list .message-action-button{width:100%}}
@media(forced-colors:active){.public-body .message-action-link,.public-body .message-action-list .message-action-button{border:1px solid CanvasText}}


/* P10K3B2E — Fase 01A: feedback acessível e fallback persistente. */
.public-body #accountDialog .field-error{display:block;min-height:1.25em;margin-top:4px;color:var(--danger,#b42318);font-size:.875rem;line-height:1.35}
.public-body #accountDialog [aria-invalid="true"]{border-color:var(--danger,#b42318);box-shadow:0 0 0 3px rgba(180,35,24,.12)}
.public-body #accountDialog .form-status[role="alert"]:not(:empty){margin-top:10px;padding:9px 11px;border-left:3px solid var(--danger,#b42318);background:#fff7f6;color:#7a271a}
.whatsapp-fallback-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;margin-top:10px;padding:8px 12px;border:1px solid currentColor;border-radius:10px;font-weight:800;text-decoration:none}

/* P10K3B2F — Fase 01B: acessibilidade, tipografia e separação visual. */
.public-body #accountDialog [role="tablist"]{margin-top:16px}
.public-body #accountDialog [role="tab"]{min-height:42px;font-size:.875rem}
.public-body #accountDialog [role="tab"][aria-selected="true"]{background:#fff;color:var(--blue-900);box-shadow:0 5px 15px rgba(29,50,104,.08)}
.public-body #accountDialog [role="tab"][aria-selected="false"]{background:transparent;color:var(--muted-public);box-shadow:none}
.public-body #accountDialog [role="tabpanel"]:focus{outline:none}
.public-body .product-card button[data-add],
.public-body .candidate-list button,
.public-body .suggestions button,
.public-body .field,
.public-body .check,
.public-body .form-status,
.public-body .catalog-result-note,
.public-body .message-action-button,
.public-body .message-action-link,
.public-body .message-action-list .message-action-button{font-size:.875rem}

.school-list-main{display:grid;gap:22px;max-width:980px}
.school-list-intro{max-width:760px}
.school-list-intro h1{margin:10px 0 12px;color:var(--blue-950);font-size:clamp(2.2rem,5vw,3.8rem);line-height:1;letter-spacing:-.045em}
.school-list-intro p{margin:0;color:var(--muted-public);font-size:1rem;line-height:1.65}
.school-card,.school-account-summary,.school-line-card{border:1px solid var(--line-public);border-radius:18px;background:#fff;box-shadow:0 8px 28px rgba(29,50,104,.055)}
.school-card{padding:clamp(20px,4vw,30px)}
.school-card-heading,.school-login-card,.school-account-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.school-card-heading h2,.school-login-card h2,.school-result-header h2{margin:7px 0 8px;color:var(--blue-950);font-size:1.45rem;letter-spacing:-.025em}
.school-card p,.school-login-card p{color:var(--muted-public);line-height:1.6}
.school-card-icon{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:14px;background:var(--blue-100);color:var(--blue-800);font-size:1.25rem;font-weight:900}
.school-card-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.school-account-summary{align-items:center;padding:16px 18px}
.school-account-summary>div{display:grid;gap:3px}
.school-account-summary span,.school-account-summary small{color:var(--muted-public);font-size:.75rem}
.school-account-summary strong{color:var(--blue-950);font-size:1rem}
.school-account-summary>a{font-weight:800;text-decoration:none}
.school-retention-note{font-size:.875rem}
.school-upload-form{display:grid;gap:14px;margin-top:20px}
.school-upload-form .public-submit{justify-self:start}
.school-result{display:grid;gap:16px}
.school-result-header{padding:22px}
.school-result-header>p{margin:7px 0}
.school-lines{display:grid;gap:15px}
.school-line-card{padding:20px}
.school-line-card.is-ignored{background:#fafbfe;opacity:.86}
.school-line-heading{display:flex;gap:18px;align-items:flex-start;justify-content:space-between}
.school-line-heading strong{color:var(--blue-950);font-size:1rem;line-height:1.45}
.school-line-heading small{display:block;margin-top:5px;color:var(--muted-public);font-size:.875rem}
.school-line-card button,.school-bulk-actions button,.school-line-edit button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border:1px solid var(--blue-800);border-radius:10px;background:var(--blue-800);color:#fff;padding:8px 12px;font:inherit;font-size:.875rem;font-weight:800;cursor:pointer}
.school-line-card button.secondary,.school-line-edit button.secondary{border-color:#cfd8e8;background:#fff;color:var(--blue-800)}
.school-line-card button:disabled,.school-bulk-actions button:disabled{cursor:not-allowed;opacity:.58}
.school-line-edit{display:grid;grid-template-columns:minmax(220px,2fr) minmax(110px,.6fr) minmax(120px,.8fr);gap:12px;margin:16px 0;padding:16px;border:1px dashed #cfd8e8;border-radius:13px;background:#f8faff}
.school-line-edit label{display:grid;gap:6px;color:var(--blue-900);font-size:.875rem;font-weight:800}
.school-line-edit input{width:100%;min-height:42px;padding:9px 11px;border:1px solid #cfd8e8;border-radius:10px;background:#fff;color:var(--blue-950);font:inherit}
.school-line-edit-actions{grid-column:1/-1;display:flex;gap:9px}
.school-not-buy{display:grid;gap:7px;margin:16px 0;padding:15px;border:1px solid #ead6aa;border-radius:13px;background:#fffaf0}
.school-not-buy span{color:#765017;font-size:.875rem}
.school-selection-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.school-ignore-button{margin-top:14px}
.school-bulk-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:18px 0;padding:14px;border:1px solid var(--line-public);border-radius:13px;background:#f8faff}
#schoolActionStatus.error,#schoolConnectionStatus.error{color:var(--danger)}
@media(max-width:680px){
  .school-card-heading,.school-login-card,.school-account-summary,.school-line-heading{align-items:stretch;flex-direction:column}
  .school-account-summary>a{align-self:flex-start}
  .school-line-edit{grid-template-columns:1fr}
  .school-line-edit input,.school-upload-form input,.school-upload-form textarea,.school-upload-form select{font-size:16px}
  .school-line-edit-actions,.school-card-actions{display:grid;grid-template-columns:1fr}
  .school-line-edit-actions button,.school-card-actions a,.school-upload-form .public-submit{width:100%}
}

/* F-09 PATCH-20 - resumo das quatro cestas antes dos acordeoes. */
.school-result-overview{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:16px;align-items:start}
.school-quote-summary{position:sticky;top:18px;display:grid;gap:14px;padding:22px}
.school-quote-summary h2{margin:5px 0 0;color:var(--blue-950);font-size:1.25rem;letter-spacing:-.02em}
.school-quote-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.school-quote-options{display:grid;gap:9px}
.school-quote-option{display:grid;gap:5px;padding:12px;border:1px solid #d3ddef;border-radius:12px;background:#f8faff}
.school-quote-option>span{color:var(--muted-public);font-size:.76rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.school-quote-option>strong{color:var(--blue-950);font-size:1rem}
.school-quote-option>small{color:var(--muted-public);font-size:.72rem;line-height:1.4}
.school-quote-option>button{justify-self:start;min-height:38px;margin-top:4px;padding:7px 10px;border:1px solid var(--blue-800);border-radius:9px;background:var(--blue-800);color:#fff;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer}
.school-quote-option>button:disabled{cursor:wait;opacity:.58}
.school-quote-comparison-notice{display:grid;gap:5px;padding:11px 12px;border:1px solid #d7b86a;border-radius:10px;background:#fff9e8;color:#5e4610}
.school-quote-comparison-notice>strong{font-size:.78rem;letter-spacing:.02em}
.school-quote-comparison-notice>p{margin:0!important;font-size:.75rem;line-height:1.45!important}
.school-quote-guidance{margin:0!important;font-size:.76rem;line-height:1.45!important}
.school-quote-pdf{display:inline-flex;align-items:center;justify-content:center;min-height:40px;text-align:center;text-decoration:none}
@media(max-width:900px){
  .school-result-overview{grid-template-columns:1fr}
  .school-quote-summary{position:static}
  .school-quote-options{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .school-quote-options{grid-template-columns:1fr}
  .school-quote-option>button,.school-quote-pdf{width:100%}
}

/* P10K3B2F — apresentação da lista escolar e controles do chat. */
.school-card-actions .public-submit{width:auto}
.public-body button,
.public-body input,
.public-body select,
.public-body textarea,
.public-body .auth-tab,
.public-body .candidate-button,
.public-body .list-item-select,
.public-body .message-action-link,
.public-body .message-action-button{
  font-size:.875rem;
}
@media(max-width:680px){
  .school-card-actions .public-submit{width:100%}
  .public-body input,.public-body select,.public-body textarea{font-size:16px}
}

/* B02 — escolha explícita da origem ao ajustar um item misto. */
.public-body .cart-origin-choice{display:flex;align-items:center;gap:6px;color:var(--muted-public);font-size:.75rem;white-space:nowrap}
.public-body .cart-origin-choice select{width:auto;max-width:130px;padding:7px 8px;border:1px solid #cfd8e8;border-radius:9px;background:#fff;color:var(--blue-950)}
.public-body #cartBadge[hidden]{display:none}
@media(max-width:680px){
  .public-body .cart-origin-choice{width:100%;justify-content:flex-end}
  .public-body .cart-item-controls{flex-wrap:wrap}
}

/* B02 REV04 - retomada, progresso e seleção independente da lista escolar. */
.school-progress-wrap{display:grid;gap:7px;margin:16px 0}
.school-progress-label{display:flex;justify-content:space-between;gap:12px;color:var(--muted-public);font-size:.82rem}
.school-progress-label strong{color:var(--blue-900)}
.school-progress{height:12px;overflow:hidden;border-radius:999px;background:#e9eef7}
.school-progress-bar{display:block;width:var(--school-progress,8%);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue-800),var(--orange));transition:width .28s ease}
.school-progress-bar.is-indeterminate{width:34%;animation:school-progress-indeterminate 1.25s ease-in-out infinite}
.school-processing-guidance{margin:.65rem 0;padding:.7rem .8rem;border-radius:.65rem;background:#eef3ff;color:#30446f;font-size:.86rem;line-height:1.45}
.school-stage-card,.school-review-card{display:grid;gap:6px;margin:.65rem 0;padding:12px 14px;border:1px solid #cbd8f2;border-radius:12px;background:#f7f9ff;color:#1a376f}
.school-stage-card span,.school-stage-card small,.school-review-card span{line-height:1.4}
.school-review-card{border-color:#e4b94f;background:#fff8df;color:#624500}
.school-review-card.is-acknowledged{border-color:#8bcbb2;background:#effaf5;color:#176044}
.school-review-card button{justify-self:start;margin-top:4px}
.school-review-card.is-informational{border-color:#e4b94f;background:#fff8df;color:#624500}
.school-review-support{justify-self:start;display:inline-flex;align-items:center;margin-top:5px;padding:.68rem .85rem;border-radius:.65rem;background:#24438e;color:#fff;text-decoration:none;font-weight:800}
.school-review-support:hover,.school-review-support:focus-visible{background:#173478;color:#fff}
.school-context-card{margin:.8rem 0;padding:1rem;border:1px solid #ccd8f0;border-radius:.85rem;background:#f8faff}
.school-context-card>strong{display:block;color:#10295f;font-size:.98rem}
.school-context-card>p{margin:.35rem 0 .75rem;color:#566784;font-size:.86rem}
.school-context-options{display:flex;flex-wrap:wrap;gap:.55rem}
.school-context-options button{border:1px solid #24438e;border-radius:.65rem;background:#fff;color:#173478;padding:.65rem .8rem;font-weight:750;cursor:pointer}
.school-context-options button:hover,.school-context-options button:focus-visible{background:#24438e;color:#fff}
.school-context-options button:disabled{opacity:.55;cursor:wait}
.school-context-options small{display:block;margin-top:.15rem;font-weight:500}
@keyframes school-progress-indeterminate{0%{transform:translateX(-110%)}100%{transform:translateX(300%)}}
.school-line-card{padding:0;overflow:hidden}
.school-line-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,max-content) max-content 20px;align-items:center;gap:18px;padding:20px;cursor:pointer;list-style:none}
.school-line-summary::-webkit-details-marker{display:none}
.school-line-summary-main{min-width:0}
.school-line-summary-main>strong{display:block;overflow-wrap:anywhere;color:var(--blue-950);line-height:1.45}
.school-line-summary-main>small{display:block;margin-top:5px;color:var(--muted-public);font-size:.875rem;line-height:1.4}
.school-line-summary-quantity{display:flex;align-items:baseline;justify-content:flex-end;gap:6px;white-space:nowrap;color:var(--muted-public);font-size:.75rem;font-weight:800;letter-spacing:.04em}
.school-line-summary-quantity>strong{color:var(--blue-950);font-size:.95rem;letter-spacing:0}
.school-line-duplicate{display:inline-flex;max-width:230px;justify-content:center;padding:5px 8px;border:1px solid #e4b94f;border-radius:999px;background:#fff8df;color:#735000;font-size:.75rem;font-weight:900;line-height:1.25;text-align:center}
.school-line-summary::after{content:'+';color:var(--blue-800);font-size:1.35rem;font-weight:900;line-height:1;text-align:right}
.school-line-card[open]>.school-line-summary::after{content:'−'}
.school-line-summary:focus-visible{outline:3px solid rgba(49,94,166,.28);outline-offset:-3px}
.school-material-group{border:1px solid #c8d5eb;border-radius:20px;background:#f5f8ff;overflow:hidden;box-shadow:0 10px 30px rgba(29,50,104,.07)}
.school-material-group>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px;cursor:pointer;list-style:none;color:var(--blue-950)}
.school-material-group>summary::-webkit-details-marker{display:none}
.school-material-group>summary span:first-child{display:grid;gap:5px;min-width:0}
.school-material-group>summary strong{overflow-wrap:anywhere;line-height:1.4}
.school-material-group-title{display:-webkit-box;max-width:100%;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3}
.school-material-group>summary small{color:var(--muted-public);font-weight:600}
.school-material-group-toggle{font-size:1.35rem;font-weight:900;color:var(--blue-800)}
.school-material-group[open] .school-material-group-toggle{font-size:0}
.school-material-group[open] .school-material-group-toggle::after{content:'−';font-size:1.35rem}
.school-material-group-lines{display:grid;gap:12px;padding:0 12px 12px}
.school-material-group-lines .school-line-card{box-shadow:none}
.school-line-review{display:grid;gap:4px;padding:12px 14px;border:1px solid #e4b94f;border-radius:12px;background:#fff8df;color:#624500}
.school-line-review strong{font-size:.92rem}
.school-line-review span{font-size:.84rem;line-height:1.45}
.school-line-body{padding:0 20px 20px;border-top:1px solid var(--line-public)}
.school-line-body>.secondary:first-child{margin-top:16px}
.school-line-body>.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.school-product-card{grid-template-columns:72px minmax(0,1fr)!important;height:100%}
.school-product-card>img{width:72px!important;height:72px!important}
.school-product-card.is-selected{border-color:#8bc6ad;box-shadow:0 0 0 2px rgba(15,123,80,.1)}
.school-selected-badge{display:inline-flex;margin-top:8px;padding:4px 8px;border-radius:999px;background:#e9f7f0;color:#0f6846;font-size:.75rem;font-weight:850}
.school-product-controls{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin-top:11px}
.school-product-controls label{display:grid;gap:4px;color:var(--muted-public);font-size:.75rem;font-weight:800}
.school-product-controls input{width:88px;min-height:40px;padding:8px;border:1px solid #cfd8e8;border-radius:9px;background:#fff;color:var(--blue-950)}
.school-product-controls button{margin-top:0}
.school-order-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px;border:1px solid #cbd8ed;border-radius:18px;background:#f3f7ff;box-shadow:0 10px 30px rgba(29,50,104,.07)}
.school-order-summary>div{display:grid;gap:4px}
.school-order-summary span,.school-order-summary small{color:var(--muted-public);font-size:.82rem}
.school-order-summary strong{color:var(--blue-950);font-size:1.06rem}
.school-order-empty{max-width:300px;text-align:right}
.account-school-lists{margin-top:24px}
.account-school-list-actions{display:flex;justify-content:flex-end}
@media(max-width:760px){
  .school-line-summary{grid-template-columns:minmax(0,1fr) max-content 18px;gap:10px;padding:17px}
  .school-line-duplicate{grid-column:1/2;justify-self:start;max-width:100%}
  .school-line-summary-quantity{gap:4px}
  .school-line-body>.product-grid{grid-template-columns:1fr}
  .school-product-card{grid-template-columns:76px minmax(0,1fr)!important}
  .school-order-summary{align-items:stretch;flex-direction:column}
  .school-order-summary .public-submit{width:100%;text-align:center}
  .school-order-empty{max-width:none;text-align:left}
}
@media(prefers-reduced-motion:reduce){.school-progress-bar{transition:none}.school-progress-bar.is-indeterminate{animation:none;width:12%}}

/* B02 REV08 - ocorrências escolares sob demanda e preço por consulta explícita. */
.school-line-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:16px}
.school-candidate-dialog{width:min(880px,calc(100% - 28px));max-height:min(86vh,820px);overflow:hidden;padding:0}
.school-candidate-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid var(--line-public);background:#f8faff}
.school-candidate-dialog-head>div{display:grid;gap:4px}
.school-candidate-dialog-head strong{color:var(--blue-950);font-size:1.1rem}
.school-candidate-dialog-head small{color:var(--muted-public);line-height:1.4}
.school-candidate-dialog button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 12px;border:1px solid var(--blue-800);border-radius:10px;background:var(--blue-800);color:#fff;font:inherit;font-size:.875rem;font-weight:800;cursor:pointer}
.school-candidate-dialog button.secondary{border-color:#cfd8e8;background:#fff;color:var(--blue-800)}
.school-candidate-dialog button:disabled{cursor:not-allowed;opacity:.58}
.school-candidate-dialog>[data-candidate-status]{margin:0;padding:13px 22px;border-bottom:1px solid var(--line-public);background:#fff}
.school-candidate-dialog>[data-candidate-status].error{color:var(--danger)}
.school-candidate-list{display:grid;gap:10px;max-height:calc(86vh - 150px);overflow:auto;padding:16px 22px 22px}
.school-candidate-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--line-public);border-radius:13px;background:#fff}
.school-candidate-identity{display:grid;gap:4px;min-width:0}
.school-candidate-identity strong{overflow-wrap:anywhere;color:var(--blue-950);line-height:1.4}
.school-candidate-identity small{color:var(--muted-public)}
.school-candidate-actions{display:flex;justify-content:flex-end}
.school-candidate-price-result{grid-column:1/-1}
.school-candidate-price-result:empty{display:none}
.school-candidate-priced-card{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;padding-top:13px;border-top:1px solid var(--line-public)}
.school-candidate-priced-card>img{width:72px;height:72px;object-fit:contain;border-radius:10px;background:#fafafa}
.school-candidate-priced-card>div{display:grid;gap:5px}
.school-candidate-priced-card small{color:var(--muted-public)}
.school-candidate-price{color:var(--purple-dark);font-size:1.05rem;font-weight:900}
.school-candidate-selection{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin-top:6px}
.school-candidate-selection label{display:grid;gap:4px;color:var(--muted-public);font-size:.75rem;font-weight:800}
.school-candidate-selection input{width:88px;min-height:40px;padding:8px;border:1px solid #cfd8e8;border-radius:9px;background:#fff;color:var(--blue-950);font:inherit}
#schoolHeader h2{overflow-wrap:anywhere}
@media(max-width:680px){
  .school-line-actions{display:grid;grid-template-columns:1fr}
  .school-line-actions button{width:100%}
  .school-candidate-dialog-head{align-items:stretch;flex-direction:column}
  .school-candidate-dialog-head button{width:100%}
  .school-candidate-row{grid-template-columns:1fr}
  .school-candidate-actions{justify-content:stretch}
  .school-candidate-actions button{width:100%}
  .school-candidate-price-result{grid-column:1}
  .school-candidate-priced-card{grid-template-columns:56px minmax(0,1fr)}
  .school-candidate-priced-card>img{width:56px;height:56px}
  .school-candidate-selection{display:grid;grid-template-columns:1fr}
  .school-candidate-selection input,.school-candidate-selection button{width:100%}
}
