:root{--primary:#10c7bb;--primary-dark:#057f89;--blue:#2367e8;--bg:#eef6ff;--text:#152033;--muted:#7b8797;--card:#fff;--danger:#de4960;--warning:#f3b42f;--success:#1bbd78}*{box-sizing:border-box}body{margin:0;background:#dfeeff;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--text)}.app-shell{max-width:560px;min-height:100vh;margin:auto;background:#f4f9ff;position:relative;overflow:hidden;padding-bottom:92px;box-shadow:0 0 30px #bdd5ee}#loader{position:fixed;inset:0;background:rgba(255,255,255,.76);display:none;z-index:99;align-items:center;justify-content:center}.spinner{width:46px;height:46px;border:5px solid #d8f7f4;border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.splash{height:100vh;background:white;display:flex;flex-direction:column;align-items:center;justify-content:center}.brand-mark{width:116px;height:116px;border-radius:32px;overflow:hidden;display:grid;place-items:center}.brand-mark img,.login-logo{width:120px;height:120px;object-fit:cover;border-radius:28px}.splash h1{font-size:42px;margin:16px 0 0;color:var(--primary);letter-spacing:-1px}.splash p{margin:4px 0;color:#526075}.login-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center}.login-page h2{margin:20px 0 4px}.card{background:var(--card);border-radius:22px;box-shadow:0 12px 30px rgba(24,73,125,.08)}.form-card{width:100%;padding:18px;display:grid;gap:12px;margin-top:20px}input,select{width:100%;border:1px solid #dbe7f3;border-radius:14px;padding:15px;font-size:16px;background:white}.btn-primary,.btn-light{border:0;border-radius:16px;padding:15px 18px;font-weight:800;text-decoration:none;display:block;text-align:center}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--blue));color:white}.btn-light{background:#eef7ff;color:var(--primary-dark);margin-top:12px}.hero{background:linear-gradient(145deg,var(--primary),#2367e8);padding:28px 26px 32px;color:white;border-bottom-left-radius:0;border-bottom-right-radius:0}.hero p{margin:0 0 4px;font-size:16px}.hero h1{font-size:29px;line-height:1.25;margin:0;font-weight:900}.bell{position:absolute;right:26px;top:26px;width:58px;height:58px;border:0;border-radius:22px;background:rgba(255,255,255,.18);font-size:24px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:28px}.stats div{background:rgba(255,255,255,.14);border-radius:18px;text-align:center;padding:18px 5px}.stats b{font-size:32px;display:block}.stats span{font-size:14px;opacity:.9}.warn{color:#ffe66d}.ok{color:#7dffb4}.page-pad{padding:22px}.section-title{display:flex;align-items:center;justify-content:space-between;margin:2px 0 14px}.section-title h2{font-size:23px;margin:0}.section-title a{color:#1762c5;font-weight:800;text-decoration:none}.child-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:28px}.child-card{text-align:center;padding:22px 12px}.avatar{width:88px;height:88px;margin:auto;border-radius:50%;display:grid;place-items:center;font-size:42px}.pink{background:#ffd3df;color:#de2c70}.boy{background:#d8ebff;color:#1965dc}.child-card h3{margin:14px 0 0}.child-card p{margin:2px 0 12px;color:var(--muted)}.pill{border-radius:999px;padding:7px 13px;font-weight:800;font-size:13px;display:inline-block}.pill.warn{background:#fff4c6;color:#b77c00}.pill.ok{background:#cdf8df;color:#117a4e}.pill.sus{background:#e8f3ff;color:#1762c5}.pill.private{background:#fff0dc;color:#b3630d}.pill.danger{background:#ffe1e7;color:#bc334a}.list{display:grid;gap:14px}.vaccine-row,.child-row{background:white;border-radius:18px;padding:16px;box-shadow:0 8px 22px rgba(24,73,125,.06);display:flex;gap:14px;align-items:center}.vicon{width:48px;height:48px;border-radius:14px;background:#fff3d6;display:grid;place-items:center}.vaccine-row .main{flex:1}.vaccine-row h3,.child-row h3{margin:0 0 4px;font-size:18px}.vaccine-row p,.child-row p{margin:0;color:var(--muted)}.topbar{height:88px;background:white;display:flex;align-items:center;justify-content:center;padding:18px;position:relative;box-shadow:0 2px 0 #edf3fa}.topbar h1{font-size:24px;margin:0}.topbar button{position:absolute;right:22px;top:23px;border:0;background:#eff6ff;color:#1762c5;border-radius:16px;width:48px;height:48px;font-size:30px}.child-row{display:block}.child-head{display:flex;gap:16px;align-items:center}.actions{display:flex;gap:10px;border-top:1px solid #eef1f5;margin-top:18px;padding-top:14px}.actions button{border:0;border-radius:14px;background:#f1f7ff;padding:12px 16px;color:#1762c5;font-size:18px}.actions button.del{background:#fff0f3;color:var(--danger)}.fab{position:fixed;right:calc(50% - 248px);bottom:96px;width:66px;height:66px;border:0;border-radius:22px;background:linear-gradient(135deg,var(--primary),var(--blue));color:white;font-size:36px;box-shadow:0 12px 28px rgba(35,103,232,.35)}.search-area{background:#f4faff;padding:14px 20px}.tabs{display:flex;gap:12px;margin-top:14px}.tabs button{border:0;border-radius:999px;padding:12px 22px;background:#edf2f7;color:#6a7482;font-weight:800}.tabs button.active{background:linear-gradient(135deg,var(--primary),var(--blue));color:white}.profile{text-align:center;padding:28px}.profile img{width:100px;height:100px;border-radius:25px}.bottom-nav{position:fixed;left:50%;transform:translateX(-50%);bottom:0;max-width:560px;width:100%;height:82px;background:rgba(255,255,255,.96);display:grid;grid-template-columns:repeat(4,1fr);box-shadow:0 -8px 24px rgba(22,54,94,.08);border-top:1px solid #edf3fa;z-index:20;backdrop-filter:blur(14px)}.bottom-nav .nav-item{text-decoration:none;color:#94a0ae;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:12px;font-weight:700;position:relative;-webkit-tap-highlight-color:transparent;transition:.22s ease}.bottom-nav .nav-icon{width:31px;height:31px;display:grid;place-items:center}.bottom-nav svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round;transition:.22s ease}.bottom-nav .nav-label{font-size:13px;line-height:1}.bottom-nav .nav-item.on{color:#08aeb2;font-weight:900}.bottom-nav .nav-item.on svg{stroke-width:2.35;filter:drop-shadow(0 5px 10px rgba(8,174,178,.18))}.bottom-nav .nav-item.on::before{content:"";position:absolute;top:7px;width:46px;height:36px;border-radius:18px;background:linear-gradient(135deg,rgba(16,199,187,.14),rgba(35,103,232,.10));z-index:-1}.bottom-nav .nav-item:active{transform:scale(.94)}@media(max-width:420px){.hero h1{font-size:26px}.child-grid{gap:12px}.fab{right:22px}.app-shell{box-shadow:none}.stats b{font-size:28px}.page-pad{padding:18px}}
.login-help{display:block;text-align:center;margin-top:15px;color:#057f89;font-weight:800}.modal-backdrop{position:fixed;inset:0;background:rgba(8,20,40,.45);display:none;align-items:flex-end;z-index:50}.modal-backdrop.show{display:flex}.modal-card{background:#fff;width:100%;max-width:560px;margin:auto;border-radius:28px 28px 0 0;padding:24px;box-shadow:0 -10px 30px rgba(0,0,0,.16)}.modal-card h2{margin:0 0 16px}.modal-card label{display:block;font-weight:800;margin:12px 0 6px}.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.row-actions,.v-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.row-actions button,.v-actions button,.menu-card button,.menu-card a{border:0;border-radius:13px;padding:10px 12px;background:#eef7ff;font-weight:800;color:#057f89;text-decoration:none}.row-actions .danger,.menu-card .danger{background:#fff0f0;color:#d53535}.badge{font-size:12px;font-weight:900;border-radius:99px;padding:6px 9px}.badge.green{background:#e8fff6;color:#11945f}.badge.red{background:#ffeaea;color:#d53535}.badge.yellow{background:#fff8dc;color:#9b7600}.empty{background:#fff;border-radius:18px;padding:18px;text-align:center;color:#7b8797}.profile-card{text-align:center;background:#fff;border-radius:24px;padding:24px;box-shadow:0 10px 28px rgba(24,73,125,.08);margin-bottom:16px}.profile-card img{width:92px;height:92px;border-radius:24px;object-fit:cover}.profile-card h2{margin:12px 0 4px}.profile-card p{color:#7b8797;margin:0}.menu-card{display:grid;gap:10px}.child-line{align-items:flex-start}.search-area{margin-bottom:12px}
.item{background:white;border-radius:18px;padding:16px;box-shadow:0 8px 22px rgba(24,73,125,.06);display:flex;gap:14px;align-items:center;justify-content:space-between}.item p{margin:4px 0 0;color:var(--muted);font-size:14px}.item b{font-size:16px}.child-open{display:block;text-decoration:none;color:var(--text);flex:1}.back-link{position:absolute;left:18px;top:24px;width:42px;height:42px;border-radius:14px;background:#eff6ff;color:#1762c5;text-decoration:none;display:grid;place-items:center;font-size:34px;font-weight:700;line-height:1}.in-page{padding:0;background:transparent;margin-bottom:16px}.detail-card{background:white;border-radius:24px;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:0 10px 28px rgba(24,73,125,.08);margin-bottom:14px}.detail-avatar{width:72px;height:72px;border-radius:22px;background:#eef7ff;display:grid;place-items:center;font-size:38px}.detail-card h2{margin:0 0 4px;font-size:24px}.detail-card p{margin:0;color:var(--muted)}.stats.soft{background:white;color:var(--text);border-radius:22px;padding:12px;margin:0 0 18px;box-shadow:0 10px 28px rgba(24,73,125,.08)}.stats.soft div{background:#f4f9ff}.stats.soft span{color:var(--muted)}.mini-tabs{margin-top:10px}.mini-tabs button{padding:10px 13px;font-size:13px}.v-actions{min-width:96px}.child-line{justify-content:space-between}.child-line .row-actions{margin-left:auto}@media(max-width:420px){.item{align-items:flex-start;flex-direction:column}.v-actions,.row-actions{justify-content:flex-start}.detail-card{align-items:flex-start}.stats.soft{grid-template-columns:repeat(3,1fr)}}


/* Etapa 01 Premium */
.premium-hero{background:linear-gradient(135deg,#0b6cff,var(--primary));color:#fff;padding:26px 20px 24px;border-bottom-left-radius:32px;border-bottom-right-radius:32px;display:flex;gap:14px;align-items:flex-start;box-shadow:0 16px 38px rgba(24,73,125,.18)}
.premium-back{width:42px;height:42px;border-radius:16px;background:rgba(255,255,255,.18);color:#fff;display:grid;place-items:center;text-decoration:none;font-size:34px;line-height:1;flex:0 0 42px}
.premium-hero p{margin:0 0 3px;opacity:.9;font-weight:800}.premium-hero h1{margin:0;font-size:27px}.premium-hero small{display:block;margin-top:5px;opacity:.92}
.premium-page{display:grid;gap:14px}.premium-card,.wallet-card,.education-card,.loyalty-card{background:#fff;border-radius:24px;padding:16px;box-shadow:0 10px 28px rgba(24,73,125,.07)}
.premium-card{display:grid;gap:12px}.premium-card label{font-size:12px;font-weight:900;color:#526073}.premium-2cols{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.wallet-card{display:flex;align-items:center;gap:13px;background:linear-gradient(135deg,#fff,#eef8ff)}.wallet-card img{width:66px;height:66px;border-radius:22px;object-fit:cover}.wallet-card h2{margin:2px 0;font-size:21px}.wallet-card p,.wallet-card small{margin:0;color:#667085}.wallet-qr{width:50px;height:50px;border-radius:16px;background:#152033;color:#fff;display:grid;place-items:center;font-weight:900;margin-left:auto}
.premium-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.premium-stats div{background:#fff;border-radius:20px;padding:14px 8px;text-align:center;box-shadow:0 8px 22px rgba(24,73,125,.06)}.premium-stats b{display:block;font-size:24px;color:#0b6cff}.premium-stats small{font-size:11px;color:#667085;font-weight:900}.premium-stats .danger b{color:#cf3347}.premium-stats .success b{color:#148556}
.premium-action-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.premium-action{background:#fff;border-radius:22px;padding:15px;text-decoration:none;color:#152033;box-shadow:0 8px 22px rgba(24,73,125,.06);display:grid;gap:4px}.premium-action span{font-size:24px}.premium-action b{font-size:15px}.premium-action small{color:#667085}
.premium-list{display:grid;gap:10px}.premium-row,.education-card{display:flex;align-items:center;gap:11px;background:#fff;border-radius:22px;padding:13px;box-shadow:0 8px 24px rgba(24,73,125,.06)}.premium-icon{width:48px;height:48px;flex:0 0 48px;border-radius:16px;background:#eaf2ff;display:grid;place-items:center}.premium-row div:nth-child(2),.education-card div:nth-child(2){flex:1;min-width:0}.premium-row b,.education-card b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.premium-row p,.premium-row small,.education-card p,.education-card small{display:block;margin:4px 0 0;color:#667085;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.loyalty-card{text-align:center;background:linear-gradient(135deg,#fff7d6,#fff)}.loyalty-card span{font-size:34px}.loyalty-card b{display:block;font-size:42px;color:#f5a400}.loyalty-card p{color:#667085;margin:6px 0 0}
@media(max-width:430px){.premium-stats{grid-template-columns:repeat(2,1fr)}.premium-2cols,.premium-action-grid{grid-template-columns:1fr}.wallet-card{align-items:flex-start}.premium-hero h1{font-size:23px}}


/* ETAPA 02 */
.pdf-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.wallet-pdf-sheet,.school-paper{background:#fff;border-radius:22px;padding:18px;box-shadow:0 10px 28px rgba(24,73,125,.07)}
.wallet-pdf-head{display:flex;justify-content:space-between;gap:16px;border-bottom:2px solid #eef2f7;padding-bottom:14px}
.wallet-pdf-head small{font-weight:900;color:#0b6cff}.wallet-pdf-head h2{margin:4px 0}.wallet-pdf-head p{margin:0;color:#667085}
.wallet-pdf-qr{width:72px;height:72px;border-radius:18px;background:#152033;color:#fff;display:grid;place-items:center;font-weight:900}
.wallet-pdf-info{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}
.wallet-pdf-info span{background:#f8fbff;border-radius:16px;padding:10px}.wallet-pdf-info b{display:block;font-size:11px;color:#667085;margin-bottom:4px}
.wallet-pdf-table{width:100%;border-collapse:collapse;font-size:12px}.wallet-pdf-table th,.wallet-pdf-table td{border-bottom:1px solid #edf2f7;text-align:left;padding:9px 6px}.wallet-pdf-table th{color:#0b6cff}
.wallet-pdf-footer{margin-top:14px;color:#667085;font-size:12px;text-align:center}
.validate-card{background:#fff;border-radius:28px;padding:26px;text-align:center;box-shadow:0 12px 32px rgba(24,73,125,.08)}
.validate-qr{width:160px;height:160px;border-radius:26px;background:#152033;color:#fff;margin:0 auto 18px;display:grid;place-items:center;position:relative;font-size:34px}.validate-qr div{position:absolute;width:34px;height:34px;border:6px solid #fff}.validate-qr div:nth-child(1){left:18px;top:18px}.validate-qr div:nth-child(2){right:18px;top:18px}.validate-qr div:nth-child(3){left:18px;bottom:18px}.validate-qr div:nth-child(4){right:18px;bottom:18px}
.school-paper h2{text-align:center;margin-top:0}.school-paper p{line-height:1.65;color:#334155}.school-sign{text-align:center;margin-top:30px;border-top:1px solid #cbd5e1;padding-top:12px;font-weight:900}
.team-card{background:#fff;border-radius:24px;padding:14px;display:flex;gap:13px;align-items:center;box-shadow:0 8px 24px rgba(24,73,125,.06)}.team-card img{width:58px;height:58px;border-radius:20px;object-fit:cover}.team-card div{min-width:0}.team-card b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-card p,.team-card small{display:block;margin:4px 0 0;color:#667085;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.campaign-big-card{background:linear-gradient(135deg,#0b6cff,var(--primary));color:#fff;border-radius:28px;padding:22px;box-shadow:0 14px 34px rgba(11,108,255,.18)}.campaign-big-card span{font-size:34px}.campaign-big-card h2{margin:10px 0 6px}.campaign-big-card p{opacity:.93;line-height:1.45}.campaign-big-card small{font-weight:900;opacity:.9}
@media print{body{background:#fff}.app-shell{max-width:none;box-shadow:none;padding:0}.premium-hero,.pdf-toolbar,.bottom-nav,.floating-support-btn{display:none!important}.wallet-pdf-sheet,.school-paper{box-shadow:none;border-radius:0}}
@media(max-width:430px){.pdf-toolbar,.wallet-pdf-info{grid-template-columns:1fr}.wallet-pdf-table{font-size:10px}.wallet-pdf-head{align-items:flex-start}}


/* ETAPA 04 CRM */
.premium-row .badge{flex:0 0 auto}


/* Patch: login premium */
.login-premium-page{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:28px 18px;
    background:
        radial-gradient(circle at top left, rgba(11,108,255,.18), transparent 34%),
        linear-gradient(180deg,#f4fbff,#ffffff);
}
.login-premium-card{
    width:100%;
    max-width:430px;
    background:rgba(255,255,255,.96);
    border:1px solid #e5eef8;
    border-radius:32px;
    padding:28px 22px;
    box-shadow:0 22px 65px rgba(21,32,51,.14);
    text-align:center;
}
.login-brand{
    width:92px;
    height:92px;
    margin:0 auto 16px;
    border-radius:30px;
    background:linear-gradient(135deg,#0b6cff,var(--primary,#10c7bb));
    display:grid;
    place-items:center;
    overflow:hidden;
    box-shadow:0 16px 34px rgba(11,108,255,.22);
}
.login-brand img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.login-brand span{
    font-size:40px;
    color:#fff;
}
.login-premium-card h1{
    margin:0;
    font-size:27px;
    color:#152033;
    font-weight:900;
}
.login-premium-card p{
    margin:9px auto 22px;
    color:#667085;
    font-size:14px;
    line-height:1.45;
    max-width:330px;
}
.login-form-premium{
    display:grid;
    gap:13px;
    text-align:left;
}
.login-form-premium label{
    color:#475569;
    font-size:12px;
    font-weight:900;
}
.login-form-premium input{
    width:100%;
    min-height:52px;
    border:1px solid #dce8f5;
    border-radius:18px;
    background:#f8fbff;
    padding:0 15px;
    margin-top:7px;
    font-size:15px;
    outline:none;
}
.login-form-premium input:focus{
    border-color:#0b6cff;
    box-shadow:0 0 0 4px rgba(11,108,255,.08);
}
.login-submit{
    min-height:54px;
    border-radius:18px;
    margin-top:4px;
    font-weight:900;
}
.login-create-user{
    display:inline-flex;
    margin-top:18px;
    color:#0b6cff;
    text-decoration:none;
    font-size:13px;
    font-weight:900;
}
.login-premium-page .install-app-modal,
.login-premium-page .floating-support-btn,
.login-premium-page .global-chat-badge{
    display:none!important;
}


/* ETAPA 05 - Segurança */
.security-score-card,.lgpd-seal-card,.backup-card{
    background:linear-gradient(135deg,#fff,#eef8ff);
    border-radius:28px;
    padding:20px;
    box-shadow:0 12px 32px rgba(24,73,125,.08);
}
.security-score-card{
    display:flex;
    align-items:center;
    gap:16px;
}
.security-score-card span,.lgpd-seal-card span,.backup-card span{
    width:58px;
    height:58px;
    border-radius:22px;
    background:linear-gradient(135deg,#0b6cff,var(--primary));
    color:#fff;
    display:grid;
    place-items:center;
    font-size:28px;
    flex:0 0 58px;
}
.security-score-card b,.lgpd-seal-card h2,.backup-card h2{
    color:#152033;
    margin:4px 0;
}
.security-score-card p,.lgpd-seal-card p,.backup-card p{
    color:#667085;
    line-height:1.45;
    margin:6px 0 0;
}
.security-option{
    background:#fff;
    border-radius:22px;
    padding:13px;
    display:flex;
    align-items:center;
    gap:11px;
    box-shadow:0 8px 24px rgba(24,73,125,.06);
}
.security-option div:nth-child(2){
    flex:1;
    min-width:0;
}
.security-option b,.security-option p{
    display:block;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.security-option p{
    margin:4px 0 0;
    color:#667085;
    font-size:12px;
}
.lgpd-seal-card,.backup-card{
    text-align:left;
}
@media(max-width:430px){
    .security-score-card{align-items:flex-start}
}


/* ETAPA 06 */
.share-card,.unit-card{
    background:#fff;border-radius:22px;padding:13px;display:flex;align-items:center;gap:11px;box-shadow:0 8px 24px rgba(24,73,125,.06)
}
.share-card div:nth-child(2),.unit-card div:nth-child(2){flex:1;min-width:0}
.share-card b,.unit-card b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.share-card p,.share-card small,.unit-card p,.unit-card small{display:block;margin:4px 0 0;color:#667085;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.share-options-grid{display:grid;gap:12px}
.share-wallet-card{background:#fff;border-radius:24px;padding:14px;display:flex;align-items:center;gap:12px;box-shadow:0 8px 24px rgba(24,73,125,.06)}
.share-wallet-card img{width:58px;height:58px;border-radius:20px;object-fit:cover}
.share-wallet-card div:nth-child(2){flex:1;min-width:0}
.share-wallet-card b{display:block;color:#152033;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.share-wallet-card p{margin:4px 0 0;color:#667085;font-size:12px}
.share-wallet-actions{display:flex;gap:6px}
.share-wallet-actions a{border-radius:999px;background:#eaf2ff;color:#0b6cff;text-decoration:none;padding:8px 10px;font-size:11px;font-weight:900}


/* ETAPA 07 */
.share-card,.unit-card{background:#fff}


/* ETAPA 09 - Organização premium da Home, menus e botões */
.home-pro-hero{
    background:linear-gradient(135deg,#0b6cff,var(--primary,#10c7bb));
    color:#fff;
    padding:28px 20px 26px;
    border-bottom-left-radius:34px;
    border-bottom-right-radius:34px;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    box-shadow:0 16px 38px rgba(24,73,125,.18);
}
.home-pro-hero.admin{background:linear-gradient(135deg,#152033,#0b6cff)}
.home-pro-hero p{margin:0 0 5px;font-weight:800;opacity:.9}
.home-pro-hero h1{margin:0;font-size:29px;line-height:1.1;font-weight:900}
.home-pro-hero small{display:block;margin-top:8px;opacity:.94}
.home-pro-avatar{
    width:48px;height:48px;border-radius:18px;background:rgba(255,255,255,.18);
    color:#fff;text-decoration:none;display:grid;place-items:center;font-size:22px;flex:0 0 48px
}
.home-pro-page{display:grid;gap:18px}
.home-pro-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:-4px}
.home-pro-stats div{
    background:#fff;border-radius:22px;padding:13px 8px;text-align:center;
    box-shadow:0 8px 24px rgba(24,73,125,.07)
}
.home-pro-stats span{font-size:20px}.home-pro-stats b{display:block;font-size:24px;color:#0b6cff;line-height:1.05}.home-pro-stats small{font-size:11px;color:#667085;font-weight:900}.home-pro-stats .danger b{color:#cf3347}.home-pro-stats .success b{color:#148556}
.home-section-title{display:flex;align-items:center;justify-content:space-between}.home-section-title h2{margin:0;font-size:20px;color:#152033}.home-section-title a{color:#0b6cff;text-decoration:none;font-weight:900;font-size:13px}
.home-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.home-feature-grid a,.hub-grid a{
    background:#fff;border-radius:22px;padding:14px 9px;box-shadow:0 8px 24px rgba(24,73,125,.07);
    color:#152033;text-decoration:none;text-align:center;display:grid;gap:5px;min-height:92px;align-content:center
}
.home-feature-grid span,.hub-grid span{font-size:24px}.home-feature-grid b,.hub-grid b{font-size:13px;line-height:1.1}.home-feature-grid small{font-size:11px;color:#667085}
.home-campaign-pro{overflow:hidden;border-radius:28px;box-shadow:0 12px 32px rgba(11,108,255,.12)}
.home-campaign-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.home-campaign-track article{min-width:86%;scroll-snap-align:start;background:linear-gradient(135deg,#0b6cff,#10c7bb);color:#fff;padding:20px;border-radius:28px}.home-campaign-track span{font-size:30px}.home-campaign-track b{display:block;font-size:21px;margin:8px 0 4px}.home-campaign-track small{font-weight:800;opacity:.92}
.home-vaccine-list{display:grid;gap:10px}
.home-vaccine-pro{background:#fff;border-radius:23px;padding:12px;display:flex;align-items:center;gap:11px;box-shadow:0 8px 24px rgba(24,73,125,.07);border-left:5px solid #10c7bb}
.home-vaccine-pro.late{border-left-color:#cf3347}.home-vaccine-pro img{width:50px;height:50px;border-radius:17px;object-fit:cover}.home-vaccine-pro div{flex:1;min-width:0}.home-vaccine-pro b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-vaccine-pro p,.home-vaccine-pro small{display:block;margin:4px 0 0;color:#667085;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-vaccine-pro a{background:#0b6cff;color:#fff;border-radius:999px;text-decoration:none;font-size:11px;font-weight:900;padding:8px 10px}
.home-family-scroll{display:flex;gap:11px;overflow-x:auto;padding-bottom:5px;scroll-snap-type:x mandatory}
.home-family-card{min-width:116px;background:#fff;border-radius:24px;padding:13px;text-align:center;text-decoration:none;color:#152033;box-shadow:0 8px 24px rgba(24,73,125,.07);scroll-snap-align:start}.home-family-card img{width:68px;height:68px;border-radius:24px;object-fit:cover}.home-family-card b{display:block;margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-family-card small{color:#667085;font-size:12px}.home-family-card.add{display:grid;place-items:center;align-content:center}.home-family-card.add span{font-size:32px;color:#0b6cff}
.hub-section{display:grid;gap:10px}.hub-section h2{margin:0;font-size:19px;color:#152033}.hub-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.hub-grid a{min-height:86px}
@media(max-width:430px){
    .home-pro-stats,.home-feature-grid,.hub-grid{grid-template-columns:repeat(2,1fr)}
    .home-pro-hero h1{font-size:25px}
    .home-campaign-track article{min-width:92%}
}


/* ETAPA 10 */
.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.plan-card{
background:#fff;border-radius:28px;padding:20px;text-align:center;
box-shadow:0 10px 28px rgba(24,73,125,.08)
}
.plan-card span{font-size:34px}
.plan-card h2{margin:10px 0 6px;color:#152033}
.plan-card b{font-size:26px;color:#0b6cff}
.plan-card p{color:#667085;line-height:1.4}
.plan-card button{
margin-top:12px;width:100%;min-height:46px;border:none;border-radius:16px;
background:#0b6cff;color:#fff;font-weight:900
}
.plan-card.premium{
background:linear-gradient(135deg,#0b6cff,#10c7bb);
color:#fff
}
.plan-card.premium h2,.plan-card.premium b,.plan-card.premium p{color:#fff}
.plan-card.premium button{background:#fff;color:#0b6cff}
@media(max-width:760px){
.plans-grid{grid-template-columns:1fr}
}


/* ETAPA 11 */
.campaign-card-pro{
background:#fff;border-radius:24px;padding:16px;
display:flex;align-items:flex-start;gap:12px;
box-shadow:0 10px 28px rgba(24,73,125,.08)
}
.campaign-card-pro span:first-child{
font-size:30px
}
.campaign-card-pro div{
flex:1;min-width:0
}
.campaign-card-pro b{
display:block;color:#152033;font-size:16px
}
.campaign-card-pro p,.campaign-card-pro small{
display:block;margin-top:5px;color:#667085
}
.fidelity-hero{
background:linear-gradient(135deg,#0b6cff,#10c7bb);
color:#fff;border-radius:30px;padding:24px;
text-align:center;box-shadow:0 16px 40px rgba(11,108,255,.22)
}
.fidelity-hero span{font-size:42px}
.fidelity-hero h2{margin:10px 0 6px;font-size:30px}


/* ETAPA 12 */
.analytics-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:12px
}
.analytics-card{
background:#fff;
border-radius:24px;
padding:18px 10px;
text-align:center;
box-shadow:0 10px 28px rgba(24,73,125,.08)
}
.analytics-card span{
font-size:28px
}
.analytics-card b{
display:block;
margin-top:8px;
font-size:26px;
color:#0b6cff
}
.analytics-card small{
display:block;
margin-top:6px;
color:#667085;
font-weight:800
}
@media(max-width:760px){
.analytics-grid{
grid-template-columns:repeat(2,1fr)
}
}


/* ETAPA 14 - PWA e Push */
.push-status-card{
    background:linear-gradient(135deg,#0b6cff,#10c7bb);
    color:#fff;
    border-radius:30px;
    padding:24px;
    box-shadow:0 16px 40px rgba(11,108,255,.22);
}
.push-status-card span{font-size:42px}
.push-status-card h2{margin:10px 0 6px}


/* ETAPA 15 - Check-up Familiar e Jornada */
.health-score-card{
    background:linear-gradient(135deg,#fff,#eef8ff);
    border-radius:30px;
    padding:20px;
    display:flex;
    align-items:center;
    gap:16px;
    box-shadow:0 12px 32px rgba(24,73,125,.08);
}
.health-score-card span{
    width:64px;height:64px;border-radius:24px;
    background:linear-gradient(135deg,#ff5470,#ffb86b);
    color:#fff;display:grid;place-items:center;font-size:30px;flex:0 0 64px;
}
.health-score-card b{font-size:34px;color:#0b6cff;display:block;line-height:1}
.health-score-card small{font-weight:900;color:#667085}
.health-score-card p{margin:6px 0 0;color:#667085}
.plan-roadmap{display:grid;gap:12px}
.plan-roadmap article{
    background:#fff;border-radius:24px;padding:16px;display:flex;gap:14px;align-items:flex-start;
    box-shadow:0 8px 24px rgba(24,73,125,.07);
}
.plan-roadmap article span{
    width:42px;height:42px;border-radius:16px;background:#0b6cff;color:#fff;
    display:grid;place-items:center;font-weight:900;flex:0 0 42px;
}
.plan-roadmap b{display:block;color:#152033}
.plan-roadmap p{margin:4px 0 0;color:#667085}
.timeline-list{display:grid;gap:0;position:relative}
.timeline-list article{
    display:flex;gap:14px;position:relative;padding:0 0 18px 4px;
}
.timeline-list article:before{
    content:"";position:absolute;left:12px;top:24px;bottom:0;width:2px;background:#e4edf7;
}
.timeline-dot{
    width:20px;height:20px;border-radius:50%;background:#f4c542;z-index:2;flex:0 0 20px;margin-top:2px;border:4px solid #fff;box-shadow:0 0 0 2px #e4edf7;
}
.timeline-dot.red{background:#cf3347}.timeline-dot.green{background:#148556}.timeline-dot.yellow{background:#f4c542}
.timeline-list article div:last-child{
    background:#fff;border-radius:20px;padding:13px;flex:1;box-shadow:0 8px 24px rgba(24,73,125,.06);
}
.timeline-list b{display:block;color:#152033}.timeline-list p,.timeline-list small{display:block;margin:4px 0 0;color:#667085}
@media(max-width:430px){
    .health-score-card{align-items:flex-start}
}



/* ETAPA 16 - POLIMENTO FINAL UI/UX */

:root{
  --sf-radius:26px;
  --sf-shadow:0 12px 34px rgba(15,55,95,.08);
  --sf-primary:#0b6cff;
  --sf-secondary:#10c7bb;
  --sf-danger:#cf3347;
  --sf-success:#148556;
}

body{
  background:#f4f8fc;
  -webkit-font-smoothing:antialiased;
}

.page-pad{
  padding-bottom:120px!important;
}

.premium-page{
  animation:sfFade .25s ease;
}

@keyframes sfFade{
  from{opacity:0;transform:translateY(6px)}
  to{opacity:1;transform:none}
}

.premium-card,
.team-card,
.premium-row,
.home-family-card,
.home-vaccine-pro,
.analytics-card,
.plan-card,
.campaign-card-pro{
  border:1px solid rgba(12,84,160,.05);
}

.btn-primary{
  min-height:52px;
  border:none;
  border-radius:18px;
  background:linear-gradient(135deg,var(--sf-primary),var(--sf-secondary));
  color:#fff;
  font-weight:900;
  box-shadow:0 10px 24px rgba(11,108,255,.18);
  transition:.2s ease;
}

.btn-primary:active{
  transform:scale(.98);
}

input,select,textarea{
  min-height:52px;
  border-radius:18px!important;
  border:1px solid #dbe7f4!important;
  background:#fff!important;
  box-shadow:none!important;
  padding:0 16px!important;
}

textarea{
  min-height:120px!important;
  padding-top:14px!important;
}

label{
  display:grid;
  gap:8px;
  font-weight:800;
  color:#344054;
}

.badge{
  border-radius:999px!important;
  font-weight:900!important;
  letter-spacing:.2px;
  padding:8px 12px!important;
}

.badge.green{
  background:#e7fff3!important;
  color:#148556!important;
}

.badge.red{
  background:#ffe8eb!important;
  color:#cf3347!important;
}

.badge.yellow{
  background:#fff5d7!important;
  color:#b7791f!important;
}

.bottom-nav{
  backdrop-filter:blur(16px);
  background:rgba(255,255,255,.92)!important;
  border-top:1px solid rgba(12,84,160,.08)!important;
  box-shadow:0 -10px 32px rgba(0,0,0,.05);
  padding-bottom:env(safe-area-inset-bottom);
}

.bottom-nav a{
  font-size:11px!important;
  gap:4px!important;
}

.bottom-nav a i,
.bottom-nav a svg{
  font-size:20px!important;
}

.bottom-nav a.active{
  color:var(--sf-primary)!important;
}

.premium-hero{
  position:relative;
  overflow:hidden;
}

.premium-hero:after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  background:rgba(255,255,255,.08);
  border-radius:50%;
  right:-60px;
  top:-60px;
}

.premium-list{
  display:grid;
  gap:12px;
}

.empty{
  background:#fff;
  border-radius:24px;
  padding:24px;
  text-align:center;
  color:#667085;
  box-shadow:var(--sf-shadow);
}

.sf-floating-blur{
  position:fixed;
  inset:auto -80px -80px auto;
  width:240px;
  height:240px;
  background:rgba(16,199,187,.12);
  filter:blur(70px);
  z-index:0;
  pointer-events:none;
}

.sf-top-banner{
  background:linear-gradient(135deg,#0b6cff,#10c7bb);
  color:#fff;
  border-radius:26px;
  padding:18px;
  box-shadow:0 16px 40px rgba(11,108,255,.22);
}

.sf-top-banner h2{
  margin:0 0 6px;
  font-size:24px;
}

.sf-top-banner p{
  margin:0;
  opacity:.94;
}

.swal2-popup{
  border-radius:28px!important;
}

.swal2-confirm{
  border-radius:14px!important;
  font-weight:900!important;
  background:#0b6cff!important;
}

.swal2-cancel{
  border-radius:14px!important;
  font-weight:900!important;
}

@media(max-width:430px){
  .premium-hero h1,
  .home-pro-hero h1{
    font-size:24px!important;
  }

  .home-pro-stats b{
    font-size:20px!important;
  }

  .premium-action-grid{
    grid-template-columns:repeat(2,1fr)!important;
  }
}


/* PATCH FINAL - correção de páginas, centralização e cards */
.sf-page{display:grid;gap:16px;padding:16px 14px 120px!important;max-width:540px;margin:0 auto;width:100%;box-sizing:border-box}
.sf-page *{box-sizing:border-box}
.sf-page-hero{background:linear-gradient(135deg,#0b6cff,#10c7bb);color:#fff;padding:24px 18px 26px;border-bottom-left-radius:34px;border-bottom-right-radius:34px;display:flex;align-items:flex-start;gap:14px;box-shadow:0 16px 38px rgba(24,73,125,.18);position:relative;overflow:hidden}
.sf-page-hero.profile{background:linear-gradient(135deg,#152033,#0b6cff)}
.sf-page-hero.pregnant{background:linear-gradient(135deg,#f06292,#a855f7)}
.sf-page-hero:after{content:"";position:absolute;right:-55px;top:-55px;width:160px;height:160px;border-radius:50%;background:rgba(255,255,255,.10)}
.sf-back{width:42px;height:42px;border-radius:16px;background:rgba(255,255,255,.18);color:#fff;text-decoration:none;display:grid;place-items:center;font-size:34px;line-height:1;z-index:2;flex:0 0 42px}
.sf-page-hero div{z-index:2;min-width:0;flex:1}.sf-page-hero p{margin:0 0 4px;font-weight:800;opacity:.9}.sf-page-hero h1{margin:0;font-size:26px;line-height:1.1;font-weight:900}.sf-page-hero small{display:block;margin-top:6px;opacity:.92}.sf-hero-action{width:42px;height:42px;border-radius:16px;background:#fff;color:#0b6cff;text-decoration:none;display:grid;place-items:center;font-size:24px;font-weight:900;z-index:2}
.sf-search-card,.sf-form-card,.sf-profile-card,.sf-wallet-card,.sf-map-card,.sf-pdf-sheet,.sf-unit-card,.sf-article-card,.sf-video-card,.sf-support-welcome{background:#fff;border-radius:26px;padding:16px;box-shadow:0 10px 28px rgba(24,73,125,.07);width:100%;overflow:hidden}
.sf-search-card input,.sf-search-card select,.sf-form-card input,.sf-form-card select{width:100%;min-height:52px;border:1px solid #dbe7f4;border-radius:18px;background:#f8fbff;padding:0 14px;outline:none}
.sf-child-list,.sf-vaccine-list,.sf-appointments,.sf-support-list,.sf-timeline-cards{display:grid;gap:13px;width:100%}
.sf-child-card,.sf-vaccine-card,.sf-appointment-card,.sf-support-card{background:#fff;border-radius:26px;padding:14px;box-shadow:0 10px 28px rgba(24,73,125,.07);overflow:hidden;width:100%}
.sf-child-main{display:flex;gap:14px;text-decoration:none;color:#152033;align-items:center}.sf-child-main img{width:86px;height:86px;border-radius:28px;object-fit:cover;flex:0 0 86px}.sf-child-main div{min-width:0}.sf-child-main b{display:block;font-size:21px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sf-child-main p,.sf-child-main small{display:block;margin:5px 0 0;color:#667085;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sf-child-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.sf-child-stats span{background:#f3f7fd;border-radius:18px;padding:10px 4px;text-align:center;color:#667085;font-size:11px;font-weight:900}.sf-child-stats b{display:block;color:#0b6cff;font-size:21px}.sf-child-stats .red,.sf-child-stats .red b{color:#cf3347}
.sf-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.sf-card-actions a,.sf-card-actions button,.sf-action-btn{border:0;border-radius:18px;min-height:48px;background:#eaf8ff;color:#0b6cff;text-decoration:none;display:flex;align-items:center;justify-content:center;font-weight:900}.sf-card-actions a:last-child,.sf-action-btn{background:linear-gradient(135deg,#0b6cff,#10c7bb);color:#fff}.sf-card-actions.two{margin-top:0}
.sf-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}.sf-tabs.wallet{grid-template-columns:repeat(4,1fr)}.sf-tabs button{border:0;border-radius:14px;min-height:40px;background:#eef5fd;color:#667085;font-size:11px;font-weight:900}.sf-tabs button.active{background:#0b6cff;color:#fff}
.sf-vaccine-card{display:flex;align-items:center;gap:11px;border-left:5px solid #10c7bb}.sf-vaccine-card.late{border-left-color:#cf3347}.sf-vaccine-card img{width:52px;height:52px;border-radius:18px;object-fit:cover;flex:0 0 52px}.sf-vaccine-card div{min-width:0;flex:1}.sf-vaccine-card b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sf-vaccine-card p,.sf-vaccine-card small{display:block;margin:4px 0 0;color:#667085;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sf-date-box{width:48px;height:56px;border-radius:16px;background:#e9fbf8;color:#0b786f;display:grid;place-items:center;align-content:center;flex:0 0 48px}.sf-date-box.red{background:#ffe8eb;color:#cf3347}.sf-date-box b{font-size:20px}.sf-date-box small{font-size:10px;color:inherit;margin:0}.sf-mini-btn{background:#0b6cff;color:#fff;text-decoration:none;border-radius:999px;padding:8px 10px;font-size:11px;font-weight:900;flex:0 0 auto}.sf-vaccine-icon{width:52px;height:52px;border-radius:18px;background:#eaf2ff;display:grid;place-items:center;flex:0 0 52px}
.sf-profile-card{text-align:center}.sf-profile-avatar{width:86px;height:86px;border-radius:30px;background:linear-gradient(135deg,#0b6cff,#10c7bb);display:grid;place-items:center;margin:0 auto 12px;font-size:38px;color:#fff}.sf-profile-card h2{margin:0;color:#152033}.sf-profile-card p{margin:6px 0 0;color:#667085}
.sf-menu-grid,.sf-lesson-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.sf-menu-grid a,.sf-lesson-grid a{background:#fff;border-radius:24px;padding:15px;text-decoration:none;color:#152033;box-shadow:0 10px 28px rgba(24,73,125,.07);display:grid;gap:5px;min-height:112px;align-content:center}.sf-menu-grid span,.sf-lesson-grid span{font-size:28px}.sf-menu-grid b,.sf-lesson-grid b{font-size:15px}.sf-menu-grid small,.sf-lesson-grid small{color:#667085;font-size:12px}
.sf-wallet-card{display:flex;align-items:center;gap:13px;background:linear-gradient(135deg,#fff,#eef8ff)}.sf-wallet-card img{width:70px;height:70px;border-radius:24px;object-fit:cover;flex:0 0 70px}.sf-wallet-card div{min-width:0;flex:1}.sf-wallet-card h2{margin:3px 0;color:#152033;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sf-wallet-card p,.sf-wallet-card small{color:#667085;margin:0}.sf-qr-btn{width:54px;height:54px;border-radius:18px;background:#152033;color:#fff;text-decoration:none;display:grid;place-items:center;font-weight:900;flex:0 0 54px}
.sf-pdf-sheet{padding:18px}.sf-pdf-head{display:flex;justify-content:space-between;gap:12px;border-bottom:2px solid #eef2f7;padding-bottom:12px}.sf-pdf-head h2{margin:4px 0;font-size:20px}.sf-pdf-qr{width:64px;height:64px;border-radius:18px;background:#152033;color:#fff;display:grid;place-items:center;font-weight:900;flex:0 0 64px}.sf-pdf-info{display:grid;grid-template-columns:1fr;gap:8px;margin:12px 0}.sf-pdf-info span{background:#f8fbff;border-radius:16px;padding:10px}.sf-pdf-info b{display:block;color:#667085;font-size:11px}.sf-pdf-list{display:grid;gap:8px}.sf-pdf-list article{display:flex;justify-content:space-between;gap:8px;background:#f8fbff;border-radius:16px;padding:10px;align-items:center}.sf-pdf-list article div{min-width:0}.sf-pdf-list b,.sf-pdf-list p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sf-pdf-list p{margin:4px 0 0;color:#667085;font-size:12px}.sf-pdf-list span{font-size:11px;font-weight:900;color:#0b6cff}
.sf-two-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sf-form-card{display:grid;gap:12px}.sf-map-card iframe{width:100%;height:230px;border:0;border-radius:20px;margin-top:10px}.sf-map-link{margin-top:12px;text-decoration:none;display:flex;align-items:center;justify-content:center}.sf-section-title h2{margin:0;font-size:20px;color:#152033}.sf-appointment-card{display:flex;align-items:center;gap:11px}.sf-appointment-card img{width:58px;height:58px;border-radius:20px;object-fit:cover;flex:0 0 58px}.sf-appointment-card div{min-width:0;flex:1}.sf-appointment-card b,.sf-appointment-card p,.sf-appointment-card small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sf-appointment-card p,.sf-appointment-card small{margin:4px 0 0;color:#667085;font-size:12px}
.sf-preg-card,.sf-unit-card{background:linear-gradient(135deg,#0b6cff,#10c7bb);color:#fff;border-radius:30px;padding:24px;box-shadow:0 16px 40px rgba(11,108,255,.22)}.sf-preg-card span,.sf-unit-card span{font-size:44px}.sf-preg-card h2,.sf-unit-card h2{margin:10px 0 6px}.sf-timeline-cards article,.sf-info-grid div,.sf-article-card{background:#fff;border-radius:24px;padding:16px;box-shadow:0 10px 28px rgba(24,73,125,.07)}.sf-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.sf-info-grid p{color:#667085}.sf-video-card iframe{width:100%;height:230px;border:0;border-radius:20px}
.sf-support-welcome{display:flex;gap:13px;align-items:center}.sf-support-welcome span{width:54px;height:54px;border-radius:20px;background:#eaf2ff;display:grid;place-items:center;font-size:25px;flex:0 0 54px}.sf-support-welcome p{margin:4px 0 0;color:#667085}.sf-support-card{display:flex;align-items:center;gap:12px}.sf-support-card img{width:58px;height:58px;border-radius:20px;object-fit:cover;flex:0 0 58px}.sf-support-card div{flex:1;min-width:0}.sf-support-card b,.sf-support-card p,.sf-support-card small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sf-support-card p,.sf-support-card small{margin:4px 0 0;color:#667085;font-size:12px}.sf-support-card.online small{color:#148556}.sf-support-card.offline{opacity:.75}.sf-support-card a,.sf-support-card button{border:0;border-radius:999px;background:#0b6cff;color:#fff;text-decoration:none;font-weight:900;font-size:12px;padding:10px 12px}.sf-support-card button{background:#eef2f7;color:#667085}
.sf-install-modal,.sf-push-modal{position:fixed;left:50%;top:12px;transform:translateX(-50%);width:calc(100% - 24px);max-width:520px;z-index:2000;background:rgba(255,255,255,.98);border-radius:24px;padding:13px;box-shadow:0 18px 55px rgba(15,23,42,.18);display:flex;gap:10px;align-items:center}.sf-install-modal[hidden],.sf-push-modal[hidden]{display:none!important}.sf-install-modal span,.sf-push-modal span{width:44px;height:44px;border-radius:16px;background:linear-gradient(135deg,#0b6cff,#10c7bb);display:grid;place-items:center;color:#fff;font-size:22px;flex:0 0 44px}.sf-install-modal div,.sf-push-modal div{flex:1;min-width:0}.sf-install-modal b,.sf-push-modal b{display:block}.sf-install-modal small,.sf-push-modal small{color:#667085;display:block;font-size:12px}.sf-install-modal button,.sf-push-modal button{border:0;border-radius:14px;padding:10px 12px;font-weight:900}.sf-install-btn,.sf-push-btn{background:#0b6cff;color:#fff}.sf-close-btn{background:#eef2f7;color:#667085}
@media(max-width:430px){.sf-page-hero h1{font-size:23px}.sf-child-main img{width:76px;height:76px;flex-basis:76px}.sf-menu-grid,.sf-lesson-grid,.sf-info-grid{grid-template-columns:1fr}.sf-tabs.wallet button{font-size:10px;padding:0 2px}.sf-vaccine-card{gap:8px}.sf-vaccine-card img,.sf-vaccine-icon{width:44px;height:44px;flex-basis:44px}.sf-two-cols{grid-template-columns:1fr}.sf-appointment-card{align-items:flex-start}.sf-appointment-card .badge{font-size:10px;padding:7px 8px!important}.sf-support-card{align-items:flex-start}.sf-install-modal,.sf-push-modal{align-items:flex-start;top:8px;width:calc(100% - 16px)}}
@media print{.no-print,.bottom-nav,.floating-support-btn,.sf-page-hero{display:none!important}.sf-page{padding:0!important;max-width:none}.sf-pdf-sheet{box-shadow:none;border-radius:0}}
