:root {
    --ce-ink-1000: #020d19;
    --ce-ink-950: #041526;
    --ce-ink-900: #071b31;
    --ce-blue-900: #092e54;
    --ce-blue-800: #0b4c84;
    --ce-blue-700: #0d6fbd;
    --ce-blue-600: #188edc;
    --ce-cyan: #20c7d9;
    --ce-teal: #08a38f;
    --ce-green: #20a862;
    --ce-gold: #f2c54f;
    --ce-orange: #ef8d35;
    --ce-red: #dc5571;
    --ce-violet: #725bd2;
    --ce-paper: #f3f8fb;
    --ce-surface: #ffffff;
    --ce-text: #173750;
    --ce-muted: #6d8294;
    --ce-border: rgba(63, 108, 145, .18);
    --ce-border-strong: rgba(63, 108, 145, .30);
    --ce-shadow-sm: 0 12px 32px rgba(4, 35, 62, .08);
    --ce-shadow: 0 26px 74px rgba(4, 35, 62, .13);
    --ce-shadow-xl: 0 40px 110px rgba(2, 20, 38, .22);
    --ce-radius: 24px;
}

* { box-sizing: border-box; }

.ce-public-page,
.ce-admin-page {
    color: var(--ce-text);
}

.ce-main {
    min-height: 72vh;
    background:
        radial-gradient(circle at 8% 8%, rgba(32, 199, 217, .08), transparent 24%),
        radial-gradient(circle at 93% 15%, rgba(114, 91, 210, .06), transparent 26%),
        linear-gradient(180deg, #f9fcfe, var(--ce-paper));
}

.ce-container {
    width: min(1240px, calc(100% - 2rem));
    margin-inline: auto;
}

.ce-kicker {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: var(--ce-teal);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ce-muted { color: var(--ce-muted); }

.ce-messages,
.ce-admin-messages {
    display: grid;
    gap: .65rem;
    padding-top: 1rem;
}

.ce-alert {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
    padding: .9rem 1rem;
    border: 1px solid var(--ce-border);
    border-radius: 15px;
    background: #fff;
    box-shadow: var(--ce-shadow-sm);
    font-size: .82rem;
    line-height: 1.55;
}
.ce-alert-success { border-color: rgba(32,168,98,.25); background: #f1fbf5; color: #17683f; }
.ce-alert-danger,
.ce-alert-error { border-color: rgba(220,85,113,.24); background: #fff4f6; color: #9b3048; }
.ce-alert-warning { border-color: rgba(242,197,79,.36); background: #fffaf0; color: #7c5b00; }
.ce-alert-info { border-color: rgba(24,142,220,.24); background: #f2f8fd; color: #155c90; }

.ce-btn {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .48rem;
    padding: .72rem .9rem;
    border: 1px solid transparent;
    border-radius: 13px;
    text-decoration: none;
    font-size: .73rem;
    line-height: 1;
    font-weight: 900;
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.ce-btn:hover { transform: translateY(-1px); }
.ce-btn-primary { color: #fff; background: linear-gradient(135deg, var(--ce-blue-700), var(--ce-cyan)); box-shadow: 0 12px 26px rgba(13,111,189,.20); }
.ce-btn-primary:hover { color: #fff; }
.ce-btn-success { color: #fff; background: linear-gradient(135deg, #14824d, var(--ce-green)); box-shadow: 0 12px 26px rgba(32,168,98,.19); }
.ce-btn-success:hover { color: #fff; }
.ce-btn-secondary { color: var(--ce-blue-800); border-color: var(--ce-border-strong); background: #fff; }
.ce-btn-secondary:hover { color: var(--ce-blue-800); background: #f5f9fc; }
.ce-btn-warning { color: #5b4200; background: linear-gradient(135deg, #ffe894, var(--ce-gold)); }
.ce-btn-light { color: var(--ce-ink-950); background: #fff; }
.ce-btn-light:hover { color: var(--ce-ink-950); }
.ce-btn-ghost { color: var(--ce-muted); border-color: var(--ce-border); background: transparent; }
.ce-btn-ghost-light { color: rgba(255,255,255,.90); border-color: rgba(255,255,255,.20); background: rgba(255,255,255,.07); }
.ce-btn-ghost-light:hover { color: #fff; }
.ce-btn-block { width: 100%; }
.ce-btn-disabled { opacity: .58; pointer-events: none; }

/* --------------------------------------------------------------------------
   Chamada dentro da página pública de Anos Iniciais
   -------------------------------------------------------------------------- */
.ai-coleta-call {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
    gap: 1.2rem;
    padding: clamp(1.4rem, 3vw, 2.25rem);
    border: 1px solid rgba(32,199,217,.20);
    border-radius: 30px;
    color: #fff;
    background:
        radial-gradient(circle at 92% 12%, rgba(121,236,226,.23), transparent 31%),
        linear-gradient(140deg, var(--ce-ink-950), var(--ce-blue-800) 66%, var(--ce-teal));
    box-shadow: var(--ce-shadow-xl);
    isolation: isolate;
}
.ai-coleta-call::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: .16;
    background-image:
        linear-gradient(rgba(255,255,255,.12) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.12) 1px, transparent 1px);
    background-size: 42px 42px;
}
.ai-coleta-call-copy { align-self: center; }
.ai-coleta-call-badge {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .5rem .66rem;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 999px;
    color: #91f0e7;
    background: rgba(255,255,255,.08);
    font-size: .67rem;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.ai-coleta-call h3 {
    max-width: 780px;
    margin: .8rem 0 .7rem;
    font-size: clamp(1.75rem, 4vw, 3.3rem);
    line-height: 1;
    font-weight: 950;
    letter-spacing: -.045em;
}
.ai-coleta-call p { max-width: 820px; margin: 0; color: rgba(255,255,255,.72); line-height: 1.72; }
.ai-coleta-call-features { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.ai-coleta-call-features span { display: inline-flex; align-items: center; gap: .35rem; padding: .45rem .56rem; border-radius: 999px; color: rgba(255,255,255,.80); background: rgba(255,255,255,.08); font-size: .64rem; font-weight: 800; }
.ai-coleta-call-features i { color: #79ece2; }
.ai-coleta-call-side { display: flex; flex-direction: column; justify-content: space-between; gap: 1rem; padding: 1.1rem; border: 1px solid rgba(255,255,255,.13); border-radius: 22px; background: rgba(2,13,25,.28); backdrop-filter: blur(15px); }
.ai-coleta-call-side > span { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 17px; color: var(--ce-ink-950); background: linear-gradient(135deg, #fff, #79ece2); font-size: 1.3rem; }
.ai-coleta-call-side small { display: block; color: rgba(255,255,255,.54); font-size: .64rem; font-weight: 850; text-transform: uppercase; letter-spacing: .06em; }
.ai-coleta-call-side strong { display: block; margin-top: .2rem; font-size: 1rem; }
.ai-coleta-call-side .ce-btn { margin-top: .25rem; }

.ai-coleta-modal .modal-dialog { max-width: 860px; }
.ai-coleta-modal .modal-content { overflow: hidden; border: 0; border-radius: 28px; box-shadow: 0 35px 110px rgba(2,20,38,.34); }
.ai-coleta-modal-head { position: relative; padding: 1.25rem; color: #fff; background: radial-gradient(circle at top right, rgba(121,236,226,.20), transparent 33%), linear-gradient(135deg, var(--ce-ink-950), var(--ce-blue-800) 66%, var(--ce-teal)); }
.ai-coleta-modal-head .btn-close { filter: invert(1); opacity: .85; }
.ai-coleta-modal-brand { display: flex; align-items: center; gap: .8rem; padding-right: 2.5rem; }
.ai-coleta-modal-brand > span { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 16px; color: var(--ce-ink-950); background: #79ece2; font-size: 1.2rem; }
.ai-coleta-modal-brand small { display: block; color: #79ece2; font-size: .65rem; font-weight: 900; text-transform: uppercase; letter-spacing: .07em; }
.ai-coleta-modal-brand strong { display: block; margin-top: .2rem; font-size: 1.15rem; }
.ai-coleta-modal .modal-body { padding: 1.25rem; }
.ai-coleta-modal-intro { color: var(--ce-muted); line-height: 1.7; }
.ai-coleta-modal-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .7rem; margin: 1rem 0; }
.ai-coleta-modal-grid article { display: grid; grid-template-columns: auto minmax(0,1fr); gap: .65rem; padding: .85rem; border: 1px solid var(--ce-border); border-radius: 16px; background: #f7fafc; }
.ai-coleta-modal-grid article > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; color: #fff; background: linear-gradient(135deg, var(--ce-blue-600), var(--ce-cyan)); }
.ai-coleta-modal-grid h4 { margin: 0 0 .2rem; color: var(--ce-ink-950); font-size: .82rem; font-weight: 900; }
.ai-coleta-modal-grid p { margin: 0; color: var(--ce-muted); font-size: .7rem; line-height: 1.48; }
.ai-coleta-modal-note { display: flex; gap: .6rem; padding: .8rem; border-radius: 14px; color: #18655b; background: #effaf8; font-size: .72rem; line-height: 1.5; }
.ai-coleta-modal-note i { margin-top: .15rem; color: var(--ce-teal); }
.ai-coleta-modal .modal-footer { padding: 1rem 1.25rem; border-top: 1px solid var(--ce-border); background: #fbfdfe; }

/* --------------------------------------------------------------------------
   Acesso público e painel da escola
   -------------------------------------------------------------------------- */
.ce-access-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(4.8rem, 9vw, 7.2rem) 0 clamp(4rem, 7vw, 6rem);
    color: #fff;
    background:
        radial-gradient(circle at 82% 14%, rgba(121,236,226,.22), transparent 26%),
        linear-gradient(135deg, var(--ce-ink-1000), var(--ce-ink-900) 42%, var(--ce-blue-800) 76%, var(--ce-teal));
}
.ce-access-hero::before { content: ""; position: absolute; inset: 0; opacity: .22; background-image: radial-gradient(circle at 1px 1px, rgba(255,255,255,.22) 1px, transparent 0); background-size: 28px 28px; }
.ce-access-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .65fr); gap: 2rem; align-items: center; }
.ce-access-copy h1 { max-width: 770px; margin: .8rem 0 1rem; font-size: clamp(2.5rem, 6vw, 5.5rem); line-height: .91; font-weight: 950; letter-spacing: -.06em; }
.ce-access-copy > p { max-width: 760px; margin: 0; color: rgba(255,255,255,.72); font-size: .96rem; line-height: 1.75; }
.ce-feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .6rem; margin-top: 1.3rem; }
.ce-feature-grid article { padding: .85rem; border: 1px solid rgba(255,255,255,.11); border-radius: 16px; background: rgba(255,255,255,.07); backdrop-filter: blur(12px); }
.ce-feature-grid i { color: #79ece2; }
.ce-feature-grid strong { display: block; margin-top: .45rem; font-size: .75rem; }
.ce-feature-grid small { display: block; margin-top: .18rem; color: rgba(255,255,255,.55); font-size: .62rem; line-height: 1.45; }

.ce-access-card { padding: 1.1rem; border: 1px solid rgba(255,255,255,.15); border-radius: 26px; background: rgba(255,255,255,.94); box-shadow: 0 34px 90px rgba(0,0,0,.28); backdrop-filter: blur(18px); }
.ce-access-card-head { display: grid; grid-template-columns: auto minmax(0,1fr); gap: .75rem; align-items: center; padding-bottom: .9rem; border-bottom: 1px solid var(--ce-border); }
.ce-access-card-head > span { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 16px; color: #fff; background: linear-gradient(135deg, var(--ce-blue-700), var(--ce-cyan)); }
.ce-access-card-head small { display: block; color: var(--ce-teal); font-size: .62rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.ce-access-card-head h2 { margin: .15rem 0 0; color: var(--ce-ink-950); font-size: 1.15rem; font-weight: 950; }
.ce-access-form { display: grid; gap: .8rem; padding-top: 1rem; }
.ce-field { display: grid; gap: .32rem; }
.ce-field > span { color: var(--ce-ink-950); font-size: .7rem; font-weight: 900; }
.ce-field select,
.ce-field input,
.ce-form-control,
.ce-final-fields input,
.ce-admin-filter input,
.ce-admin-filter select,
.ce-admin-filter-simple input,
.ce-admin-modal textarea {
    width: 100%;
    min-height: 48px;
    padding: .72rem .78rem;
    border: 1px solid var(--ce-border-strong);
    border-radius: 13px;
    outline: none;
    color: var(--ce-text);
    background: #fff;
    font-size: .82rem;
    transition: border-color .18s ease, box-shadow .18s ease;
}
.ce-field select:focus,
.ce-field input:focus,
.ce-form-control:focus,
.ce-final-fields input:focus,
.ce-admin-filter input:focus,
.ce-admin-filter select:focus,
.ce-admin-filter-simple input:focus,
.ce-admin-modal textarea:focus { border-color: var(--ce-cyan); box-shadow: 0 0 0 4px rgba(32,199,217,.10); }
.ce-error { color: #b63b56; font-size: .67rem; font-weight: 800; }
.ce-form-errors { padding: .75rem; border: 1px solid rgba(220,85,113,.22); border-radius: 13px; color: #9b3048; background: #fff4f6; font-size: .7rem; }
.ce-password-wrap { position: relative; }
.ce-password-wrap input { padding-right: 3.1rem; }
.ce-password-toggle { position: absolute; top: 50%; right: .55rem; transform: translateY(-50%); width: 36px; height: 36px; border: 0; border-radius: 10px; color: var(--ce-blue-800); background: #edf5fa; }
.ce-access-help { display: flex; gap: .55rem; padding: .75rem; border-radius: 13px; color: var(--ce-muted); background: #f3f7fa; font-size: .67rem; line-height: 1.5; }
.ce-access-help i { margin-top: .12rem; color: var(--ce-teal); }

.ce-school-hero { padding: 3.8rem 0 3rem; color: #fff; background: radial-gradient(circle at 90% 8%, rgba(121,236,226,.18), transparent 28%), linear-gradient(135deg, var(--ce-ink-950), var(--ce-blue-800) 68%, var(--ce-teal)); }
.ce-school-topbar { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.ce-school-topbar a { color: rgba(255,255,255,.82); text-decoration: none; font-size: .72rem; font-weight: 850; }
.ce-school-hero h1 { margin: .9rem 0 .45rem; font-size: clamp(2rem, 5vw, 4rem); line-height: 1; font-weight: 950; letter-spacing: -.045em; }
.ce-school-hero p { max-width: 780px; margin: 0; color: rgba(255,255,255,.68); line-height: 1.65; }
.ce-section { padding: 2.2rem 0 4rem; }
.ce-section-head { display: flex; justify-content: space-between; gap: 1rem; align-items: end; margin: 2rem 0 1rem; }
.ce-section-head h2 { margin: .25rem 0 0; color: var(--ce-ink-950); font-size: clamp(1.45rem, 3vw, 2.2rem); font-weight: 950; }
.ce-section-head p { max-width: 620px; margin: 0; color: var(--ce-muted); font-size: .78rem; line-height: 1.55; }

.ce-metric-grid { display: grid; gap: .75rem; }
.ce-metric-grid-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.ce-metric-grid-6 { grid-template-columns: repeat(6, minmax(0,1fr)); }
.ce-metric-grid > article { min-height: 96px; display: flex; align-items: center; gap: .7rem; padding: .85rem; border: 1px solid var(--ce-border); border-radius: 18px; background: #fff; box-shadow: var(--ce-shadow-sm); }
.ce-metric-grid > article > span { width: 44px; height: 44px; min-width: 44px; display: grid; place-items: center; border-radius: 13px; color: #fff; background: linear-gradient(135deg, var(--ce-blue-600), var(--ce-cyan)); }
.ce-metric-grid > article:nth-child(2) > span { background: linear-gradient(135deg, var(--ce-teal), var(--ce-green)); }
.ce-metric-grid > article:nth-child(3) > span { color: #5c4200; background: linear-gradient(135deg, var(--ce-orange), var(--ce-gold)); }
.ce-metric-grid > article:nth-child(4) > span { background: linear-gradient(135deg, var(--ce-violet), #9a85e5); }
.ce-metric-grid small { display: block; color: var(--ce-muted); font-size: .61rem; font-weight: 850; text-transform: uppercase; letter-spacing: .05em; }
.ce-metric-grid strong { display: block; margin-top: .15rem; color: var(--ce-ink-950); font-size: 1.3rem; font-weight: 950; }

.ce-campaign-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .85rem; }
.ce-campaign-card { display: flex; flex-direction: column; gap: .8rem; padding: 1rem; border: 1px solid var(--ce-border); border-radius: 21px; background: #fff; box-shadow: var(--ce-shadow-sm); }
.ce-campaign-top { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: .75rem; align-items: center; }
.ce-campaign-icon { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 15px; color: #fff; background: linear-gradient(135deg, var(--ce-blue-700), var(--ce-cyan)); }
.ce-campaign-top small { display: block; color: var(--ce-teal); font-size: .61rem; font-weight: 900; text-transform: uppercase; }
.ce-campaign-top h3 { margin: .15rem 0 0; color: var(--ce-ink-950); font-size: .92rem; font-weight: 950; }
.ce-status { display: inline-flex; width: max-content; align-items: center; justify-content: center; padding: .43rem .55rem; border-radius: 999px; font-size: .59rem; font-weight: 900; text-transform: uppercase; letter-spacing: .035em; }
.ce-status-nao-iniciado { color: #617485; background: #eef3f6; }
.ce-status-rascunho { color: #735a00; background: #fff4ca; }
.ce-status-enviado { color: #0c679d; background: #e9f5fc; }
.ce-status-devolvido { color: #a63750; background: #ffedf1; }
.ce-status-validado { color: #176b42; background: #e9f9f0; }
.ce-campaign-meta { display: flex; flex-wrap: wrap; gap: .45rem .8rem; color: var(--ce-muted); font-size: .67rem; }
.ce-campaign-meta span { display: inline-flex; align-items: center; gap: .3rem; }
.ce-progress-block > div:first-child { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: .35rem; color: var(--ce-muted); font-size: .65rem; font-weight: 850; }
.ce-progress { height: 8px; overflow: hidden; border-radius: 999px; background: #e8eff4; }
.ce-progress > span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--ce-blue-600), var(--ce-cyan), var(--ce-teal)); transition: width .25s ease; }
.ce-progress-lg { height: 11px; }
.ce-return-note { padding: .7rem; border-radius: 13px; color: #91374c; background: #fff0f3; font-size: .68rem; line-height: 1.5; }
.ce-empty-state { grid-column: 1 / -1; padding: 2.2rem; border: 1px dashed var(--ce-border-strong); border-radius: 22px; text-align: center; background: #fff; }
.ce-empty-state i { color: var(--ce-cyan); font-size: 1.7rem; }
.ce-empty-state h3 { margin: .65rem 0 .25rem; color: var(--ce-ink-950); font-size: 1rem; font-weight: 950; }
.ce-empty-state p { margin: 0; color: var(--ce-muted); font-size: .75rem; }

/* --------------------------------------------------------------------------
   Formulário dinâmico
   -------------------------------------------------------------------------- */
.ce-form-page { padding: 2rem 0 4rem; }
.ce-form-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .75rem; }
.ce-back-link { display: inline-flex; align-items: center; gap: .4rem; color: var(--ce-blue-800); text-decoration: none; font-size: .72rem; font-weight: 900; }
.ce-save-state { display: inline-flex; align-items: center; gap: .4rem; padding: .48rem .62rem; border-radius: 999px; color: #176b42; background: #eaf9f1; font-size: .64rem; font-weight: 850; }
.ce-save-state.is-saving { color: #6f5700; background: #fff6d6; }
.ce-save-state.is-error { color: #9c3049; background: #ffedf1; }
.ce-form-head { display: grid; grid-template-columns: minmax(0,1fr) minmax(250px,.35fr); gap: 1rem; align-items: stretch; padding: 1.2rem; border-radius: 25px; color: #fff; background: radial-gradient(circle at 90% 8%, rgba(121,236,226,.18), transparent 29%), linear-gradient(135deg, var(--ce-ink-950), var(--ce-blue-800) 70%, var(--ce-teal)); box-shadow: var(--ce-shadow); }
.ce-form-head h1 { margin: .35rem 0 .45rem; font-size: clamp(1.7rem, 4vw, 3rem); line-height: 1; font-weight: 950; letter-spacing: -.04em; }
.ce-form-head p { max-width: 780px; margin: 0; color: rgba(255,255,255,.67); font-size: .78rem; line-height: 1.6; }
.ce-form-head aside { display: flex; flex-direction: column; justify-content: center; padding: .9rem; border: 1px solid rgba(255,255,255,.12); border-radius: 18px; background: rgba(255,255,255,.07); }
.ce-form-head aside small { color: rgba(255,255,255,.55); font-size: .61rem; font-weight: 850; text-transform: uppercase; }
.ce-form-head aside strong { margin-top: .22rem; font-size: .84rem; }
.ce-form-head aside span { margin-top: .2rem; color: #79ece2; font-size: .65rem; font-weight: 800; }
.ce-review-banner { display: grid; grid-template-columns: auto minmax(0,1fr); gap: .7rem; margin-top: .8rem; padding: .85rem; border: 1px solid rgba(220,85,113,.20); border-radius: 16px; background: #fff4f6; }
.ce-review-banner > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; color: #fff; background: var(--ce-red); }
.ce-review-banner strong { color: #923249; font-size: .8rem; }
.ce-review-banner p { margin: .2rem 0 0; color: #8a5f68; font-size: .7rem; line-height: 1.5; }
.ce-form-progress-card { margin-top: .8rem; padding: .9rem; border: 1px solid var(--ce-border); border-radius: 18px; background: #fff; box-shadow: var(--ce-shadow-sm); }
.ce-form-progress-copy { display: flex; justify-content: space-between; align-items: end; gap: 1rem; margin-bottom: .45rem; }
.ce-form-progress-copy small { display: block; color: var(--ce-muted); font-size: .61rem; font-weight: 850; text-transform: uppercase; }
.ce-form-progress-copy strong { display: block; margin-top: .15rem; color: var(--ce-ink-950); font-size: 1.1rem; font-weight: 950; }
.ce-form-progress-copy > span { color: var(--ce-muted); font-size: .65rem; }

.ce-step-nav { display: flex; gap: .55rem; margin: .9rem 0; padding-bottom: .25rem; overflow-x: auto; scrollbar-width: thin; }
.ce-step-tab { flex: 1 0 190px; display: grid; grid-template-columns: auto minmax(0,1fr); gap: .55rem; align-items: center; padding: .68rem; border: 1px solid var(--ce-border); border-radius: 16px; color: var(--ce-muted); background: #fff; text-align: left; }
.ce-step-tab > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; color: var(--ce-blue-800); background: #eef5f9; font-size: .68rem; font-weight: 950; }
.ce-step-tab small { display: block; font-size: .56rem; text-transform: uppercase; }
.ce-step-tab strong { display: block; margin-top: .08rem; color: var(--ce-text); font-size: .7rem; }
.ce-step-tab.is-active { border-color: rgba(32,199,217,.40); background: linear-gradient(135deg, #f2fbfc, #fff); box-shadow: 0 12px 28px rgba(32,199,217,.10); }
.ce-step-tab.is-active > span { color: #fff; background: linear-gradient(135deg, var(--ce-blue-700), var(--ce-cyan)); }
.ce-step-panel { display: none; }
.ce-step-panel.is-active { display: block; }
.ce-step-head { margin-bottom: .75rem; padding: 1rem; border: 1px solid var(--ce-border); border-radius: 19px; background: #fff; }
.ce-step-head > div { display: grid; grid-template-columns: auto minmax(0,1fr); gap: .7rem; align-items: center; }
.ce-step-head > div > span { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 14px; color: #fff; background: linear-gradient(135deg, var(--ce-blue-700), var(--ce-cyan)); font-size: .75rem; font-weight: 950; }
.ce-step-head small { display: block; color: var(--ce-teal); font-size: .58rem; font-weight: 900; text-transform: uppercase; }
.ce-step-head h2 { margin: .12rem 0; color: var(--ce-ink-950); font-size: 1.08rem; font-weight: 950; }
.ce-step-head p { margin: 0; color: var(--ce-muted); font-size: .67rem; }
.ce-group-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .8rem; }
.ce-group-card { overflow: hidden; border: 1px solid var(--ce-border); border-radius: 21px; background: #fff; box-shadow: var(--ce-shadow-sm); }
.ce-group-head { display: grid; grid-template-columns: auto minmax(0,1fr); gap: .7rem; align-items: center; padding: .9rem; border-bottom: 1px solid var(--ce-border); background: linear-gradient(135deg, #f7fbfd, #fff); }
.ce-group-head > span { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 13px; color: #fff; background: linear-gradient(135deg, var(--ce-blue-700), var(--ce-cyan)); }
.ce-group-card[data-group="leitura"] .ce-group-head > span { background: linear-gradient(135deg, var(--ce-teal), var(--ce-green)); }
.ce-group-head small { display: block; color: var(--ce-muted); font-size: .56rem; font-weight: 850; text-transform: uppercase; }
.ce-group-head h3 { margin: .1rem 0 0; color: var(--ce-ink-950); font-size: .88rem; font-weight: 950; }
.ce-question-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .62rem; padding: .85rem; }
.ce-number-field { display: grid; gap: .28rem; padding: .65rem; border: 1px solid var(--ce-border); border-radius: 14px; background: #fbfdfe; }
.ce-number-field.is-total { background: #f0f8fb; border-color: rgba(24,142,220,.22); }
.ce-number-field > span { min-height: 30px; color: var(--ce-text); font-size: .66rem; font-weight: 850; line-height: 1.35; }
.ce-number-field input { width: 100%; min-height: 44px; padding: .55rem .65rem; border: 1px solid var(--ce-border-strong); border-radius: 11px; outline: none; color: var(--ce-ink-950); background: #fff; font-size: .98rem; font-weight: 950; }
.ce-number-field input:focus { border-color: var(--ce-cyan); box-shadow: 0 0 0 4px rgba(32,199,217,.10); }
.ce-number-field input:disabled { color: #6d8294; background: #eef3f6; cursor: not-allowed; }
.ce-number-field small { color: var(--ce-muted); font-size: .56rem; line-height: 1.35; }
.ce-group-check { display: grid; grid-template-columns: auto minmax(0,1fr); gap: .55rem; align-items: center; margin: 0 .85rem .85rem; padding: .7rem; border-radius: 13px; color: var(--ce-muted); background: #f4f8fa; }
.ce-group-check-icon { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 11px; color: var(--ce-blue-700); background: #e7f3f9; }
.ce-group-check small { display: block; font-size: .55rem; text-transform: uppercase; font-weight: 850; }
.ce-group-check strong { display: block; margin-top: .08rem; font-size: .65rem; }
.ce-group-check.is-ok { color: #176b42; background: #ebf9f1; }
.ce-group-check.is-ok .ce-group-check-icon { color: #fff; background: var(--ce-green); }
.ce-group-check.is-warning { color: #8c6400; background: #fff7da; }
.ce-group-check.is-warning .ce-group-check-icon { color: #624800; background: var(--ce-gold); }
.ce-group-check.is-error { color: #98324b; background: #ffedf1; }
.ce-group-check.is-error .ce-group-check-icon { color: #fff; background: var(--ce-red); }
.ce-step-actions { display: flex; align-items: center; justify-content: space-between; gap: .7rem; margin-top: .85rem; }
.ce-validation-box { margin: .7rem 0; padding: .8rem; border: 1px solid rgba(220,85,113,.23); border-radius: 15px; color: #91374c; background: #fff1f4; }
.ce-validation-box > div { display: flex; align-items: center; gap: .45rem; font-size: .73rem; }
.ce-validation-box ul { margin: .55rem 0 0 1.15rem; padding: 0; font-size: .68rem; line-height: 1.55; }
.ce-final-grid { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(280px,.75fr); gap: .8rem; }
.ce-responsible-card,
.ce-submit-card { padding: 1rem; border: 1px solid var(--ce-border); border-radius: 20px; background: #fff; box-shadow: var(--ce-shadow-sm); }
.ce-final-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; margin-top: .8rem; }
.ce-final-fields label { display: grid; gap: .28rem; }
.ce-final-fields label > span { color: var(--ce-text); font-size: .65rem; font-weight: 850; }
.ce-declaration { display: grid; grid-template-columns: auto minmax(0,1fr); gap: .6rem; align-items: start; margin-top: .8rem; padding: .8rem; border-radius: 14px; color: var(--ce-muted); background: #f4f8fa; font-size: .7rem; line-height: 1.5; }
.ce-declaration input { width: 18px; height: 18px; margin-top: .1rem; accent-color: var(--ce-teal); }
.ce-submit-card { display: flex; flex-direction: column; }
.ce-submit-card > span { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 16px; color: #fff; background: linear-gradient(135deg, var(--ce-teal), var(--ce-green)); }
.ce-submit-card > small { margin-top: .8rem; color: var(--ce-teal); font-size: .6rem; font-weight: 900; text-transform: uppercase; }
.ce-submit-card h3 { margin: .18rem 0 .42rem; color: var(--ce-ink-950); font-size: 1rem; font-weight: 950; }
.ce-submit-card p { margin: 0 0 1rem; color: var(--ce-muted); font-size: .7rem; line-height: 1.55; }
.ce-submit-card .ce-btn { margin-top: auto; }
.ce-submit-meta { display: flex; align-items: center; gap: .4rem; margin-bottom: .8rem; padding: .65rem; border-radius: 12px; color: #176b42; background: #ebf9f1; font-size: .65rem; font-weight: 800; }

/* --------------------------------------------------------------------------
   Sucesso
   -------------------------------------------------------------------------- */
.ce-success-page { padding: 4rem 0; }
.ce-success-card { max-width: 980px; margin: 0 auto; overflow: hidden; border: 1px solid var(--ce-border); border-radius: 28px; background: #fff; box-shadow: var(--ce-shadow-xl); }
.ce-success-card > header { padding: 2rem; text-align: center; color: #fff; background: radial-gradient(circle at 50% 0, rgba(121,236,226,.20), transparent 34%), linear-gradient(135deg, var(--ce-ink-950), var(--ce-blue-800), var(--ce-teal)); }
.ce-success-icon { width: 72px; height: 72px; display: grid; place-items: center; margin: 0 auto .9rem; border-radius: 22px; color: #176b42; background: #dff9ea; font-size: 1.8rem; }
.ce-success-card h1 { margin: .2rem 0 .5rem; font-size: clamp(1.8rem,4vw,3rem); font-weight: 950; }
.ce-success-card header p { max-width: 680px; margin: 0 auto; color: rgba(255,255,255,.70); }
.ce-success-meta { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .65rem; padding: 1rem; }
.ce-success-meta article { padding: .8rem; border-radius: 15px; background: #f5f9fb; }
.ce-success-meta small { display: block; color: var(--ce-muted); font-size: .6rem; text-transform: uppercase; font-weight: 850; }
.ce-success-meta strong { display: block; margin-top: .15rem; color: var(--ce-ink-950); font-size: .76rem; }
.ce-summary-year-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .7rem; padding: 0 1rem 1rem; }
.ce-summary-year-grid article { padding: .85rem; border: 1px solid var(--ce-border); border-radius: 16px; }
.ce-summary-year-grid h3 { margin: 0 0 .55rem; color: var(--ce-ink-950); font-size: .86rem; font-weight: 950; }
.ce-summary-year-grid p { margin: .2rem 0; color: var(--ce-muted); font-size: .67rem; }
.ce-success-actions { display: flex; justify-content: center; gap: .6rem; padding: 0 1rem 1.2rem; }

/* --------------------------------------------------------------------------
   Administração
   -------------------------------------------------------------------------- */
.ce-admin-page { min-height: 100vh; padding: 1.2rem; background: #eef4f8; }
.ce-admin-shell { width: min(1450px, 100%); margin: 0 auto; }
.ce-admin-hero { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.25rem; border-radius: 24px; color: #fff; background: radial-gradient(circle at top right, rgba(121,236,226,.19), transparent 32%), linear-gradient(135deg, var(--ce-ink-950), var(--ce-blue-800) 68%, var(--ce-teal)); box-shadow: var(--ce-shadow); }
.ce-admin-hero h1 { margin: .3rem 0 .35rem; font-size: clamp(1.65rem,3vw,2.75rem); line-height: 1; font-weight: 950; letter-spacing: -.04em; }
.ce-admin-hero p { max-width: 780px; margin: 0; color: rgba(255,255,255,.67); font-size: .75rem; line-height: 1.55; }
.ce-admin-actions { display: flex; flex-wrap: wrap; gap: .55rem; justify-content: flex-end; }
.ce-admin-metrics { margin-top: .8rem; }
.ce-admin-filter,
.ce-admin-filter-simple { display: grid; grid-template-columns: minmax(180px,.8fr) minmax(160px,.7fr) minmax(260px,1.2fr) auto; gap: .65rem; align-items: end; margin-top: .8rem; padding: .8rem; border: 1px solid var(--ce-border); border-radius: 18px; background: #fff; box-shadow: var(--ce-shadow-sm); }
.ce-admin-filter label,
.ce-admin-filter-simple label { display: grid; gap: .25rem; }
.ce-admin-filter label > span,
.ce-admin-filter-simple label > span { color: var(--ce-muted); font-size: .59rem; font-weight: 850; text-transform: uppercase; }
.ce-admin-filter-simple { grid-template-columns: minmax(260px,1fr) auto; }
.ce-admin-school-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; margin-top: .8rem; }
.ce-admin-school-card { display: flex; flex-direction: column; gap: .72rem; padding: .85rem; border: 1px solid var(--ce-border); border-radius: 18px; background: #fff; box-shadow: var(--ce-shadow-sm); }
.ce-admin-school-head { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: .6rem; align-items: center; }
.ce-school-avatar { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 13px; color: #fff; background: linear-gradient(135deg,var(--ce-blue-700),var(--ce-cyan)); }
.ce-admin-school-head small { display: block; color: var(--ce-muted); font-size: .56rem; text-transform: uppercase; }
.ce-admin-school-head h3 { margin: .1rem 0 0; color: var(--ce-ink-950); font-size: .77rem; line-height: 1.3; font-weight: 950; }
.ce-admin-campaign-name { display: flex; gap: .4rem; align-items: center; padding: .6rem; border-radius: 12px; color: var(--ce-blue-800); background: #f0f6fa; font-size: .65rem; font-weight: 850; }
.ce-admin-card-meta { display: grid; gap: .32rem; color: var(--ce-muted); font-size: .61rem; }
.ce-admin-card-meta span { display: flex; gap: .35rem; align-items: center; }
.ce-admin-card-meta i { width: 14px; color: var(--ce-teal); }

.ce-admin-detail-head { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 1rem; align-items: center; margin-top: .8rem; padding: 1rem; border: 1px solid var(--ce-border); border-radius: 20px; background: #fff; box-shadow: var(--ce-shadow-sm); }
.ce-admin-detail-head h2 { margin: .2rem 0 .25rem; color: var(--ce-ink-950); font-size: 1.35rem; font-weight: 950; }
.ce-admin-detail-head p { margin: 0; color: var(--ce-muted); font-size: .7rem; }
.ce-admin-detail-top { display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; }
.ce-admin-responsible-grid,
.ce-admin-data-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .65rem; margin-top: .8rem; }
.ce-admin-responsible-grid article,
.ce-admin-data-grid article { padding: .75rem; border: 1px solid var(--ce-border); border-radius: 15px; background: #fff; }
.ce-admin-responsible-grid small,
.ce-admin-data-grid small { display: block; color: var(--ce-muted); font-size: .56rem; font-weight: 850; text-transform: uppercase; }
.ce-admin-responsible-grid strong,
.ce-admin-data-grid strong { display: block; margin-top: .16rem; color: var(--ce-ink-950); font-size: .72rem; line-height: 1.35; }
.ce-admin-year-block { margin-top: .8rem; padding: .85rem; border: 1px solid var(--ce-border); border-radius: 18px; background: #fff; box-shadow: var(--ce-shadow-sm); }
.ce-admin-year-block > h3 { margin: 0 0 .7rem; color: var(--ce-ink-950); font-size: .92rem; font-weight: 950; }
.ce-admin-answer-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .7rem; }
.ce-admin-group-block { padding: .7rem; border-radius: 14px; background: #f6fafc; }
.ce-admin-group-block h4 { margin: 0 0 .55rem; color: var(--ce-blue-800); font-size: .72rem; font-weight: 900; }
.ce-admin-group-block dl { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .35rem .6rem; margin: 0; }
.ce-admin-group-block dt { color: var(--ce-muted); font-size: .63rem; font-weight: 700; }
.ce-admin-group-block dd { margin: 0; color: var(--ce-ink-950); font-size: .68rem; font-weight: 950; }
.ce-admin-decision-panel { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 1rem; align-items: center; margin-top: .8rem; padding: .9rem; border: 1px solid var(--ce-border); border-radius: 18px; background: #fff; box-shadow: var(--ce-shadow-sm); }
.ce-admin-decision-panel h3 { margin: 0 0 .2rem; color: var(--ce-ink-950); font-size: .88rem; font-weight: 950; }
.ce-admin-decision-panel p { margin: 0; color: var(--ce-muted); font-size: .67rem; }
.ce-admin-decision-actions { display: flex; gap: .5rem; }
.ce-validated-note { display: flex; gap: .5rem; align-items: center; padding: .7rem; border-radius: 13px; color: #176b42; background: #eaf9f1; font-size: .68rem; font-weight: 850; }
.ce-admin-modal .modal-content { border: 0; border-radius: 20px; box-shadow: var(--ce-shadow-xl); }
.ce-admin-modal .modal-header { border: 0; color: #fff; background: linear-gradient(135deg,var(--ce-ink-950),var(--ce-blue-800),var(--ce-teal)); }
.ce-admin-modal .modal-body { padding: 1rem; }
.ce-admin-modal textarea { min-height: 125px; resize: vertical; }

.ce-access-admin-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; margin-top: .8rem; }
.ce-access-admin-card { display: flex; flex-direction: column; gap: .7rem; padding: .85rem; border: 1px solid var(--ce-border); border-radius: 18px; background: #fff; box-shadow: var(--ce-shadow-sm); }
.ce-access-admin-card h3 { margin: 0; color: var(--ce-ink-950); font-size: .8rem; font-weight: 950; }
.ce-access-admin-meta { display: grid; gap: .32rem; color: var(--ce-muted); font-size: .62rem; }

@media (max-width: 1199.98px) {
    .ce-metric-grid-6 { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .ce-admin-school-grid,
    .ce-access-admin-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 991.98px) {
    .ai-coleta-call,
    .ce-access-grid,
    .ce-form-head,
    .ce-final-grid { grid-template-columns: 1fr; }
    .ce-feature-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .ce-group-grid { grid-template-columns: 1fr; }
    .ce-admin-hero { align-items: flex-start; flex-direction: column; }
    .ce-admin-actions { justify-content: flex-start; }
    .ce-admin-filter { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .ce-admin-filter .ce-btn { grid-column: 1 / -1; }
    .ce-admin-responsible-grid,
    .ce-admin-data-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 767.98px) {
    .ce-container { width: min(100% - 1rem, 1240px); }
    .ai-coleta-modal .modal-dialog { margin: .5rem; }
    .ai-coleta-modal-grid { grid-template-columns: 1fr; }
    .ce-feature-grid,
    .ce-metric-grid-4,
    .ce-metric-grid-6,
    .ce-campaign-grid,
    .ce-admin-school-grid,
    .ce-access-admin-grid,
    .ce-summary-year-grid { grid-template-columns: 1fr; }
    .ce-form-toolbar,
    .ce-form-progress-copy,
    .ce-section-head { align-items: flex-start; flex-direction: column; }
    .ce-question-grid,
    .ce-final-fields,
    .ce-admin-answer-grid,
    .ce-admin-responsible-grid,
    .ce-admin-data-grid { grid-template-columns: 1fr; }
    .ce-admin-filter,
    .ce-admin-filter-simple { grid-template-columns: 1fr; }
    .ce-admin-filter .ce-btn { grid-column: auto; }
    .ce-admin-detail-head,
    .ce-admin-decision-panel { grid-template-columns: 1fr; }
    .ce-admin-decision-actions { flex-wrap: wrap; }
    .ce-success-meta { grid-template-columns: 1fr; }
}

@media (max-width: 575.98px) {
    .ce-access-hero { padding: 3.5rem 0; }
    .ce-access-card { border-radius: 20px; }
    .ce-school-topbar { align-items: flex-start; flex-direction: column; }
    .ce-campaign-top,
    .ce-admin-school-head { grid-template-columns: auto minmax(0,1fr); }
    .ce-campaign-top .ce-status,
    .ce-admin-school-head .ce-status { grid-column: 1 / -1; }
    .ce-step-actions { flex-direction: column; }
    .ce-step-actions > * { width: 100%; }
    .ce-step-actions > span { display: none; }
    .ce-admin-page { padding: .5rem; }
    .ce-admin-hero { border-radius: 18px; }
    .ce-success-actions { flex-direction: column; }
    .ce-success-actions .ce-btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* Ajustes finos para a marcação dos templates desta versão */
.ce-feature-grid article { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .55rem; align-items: start; }
.ce-feature-grid article > i { margin-top: .12rem; }
.ce-feature-grid article strong { margin-top: 0; }
.ce-feature-grid article span { display: block; margin-top: .16rem; color: rgba(255,255,255,.56); font-size: .62rem; line-height: 1.45; }

.ce-campaign-card > small { color: var(--ce-teal); font-size: .58rem; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.ce-campaign-card > h3 { margin: -.35rem 0 0; color: var(--ce-ink-950); font-size: .96rem; line-height: 1.3; font-weight: 950; }
.ce-campaign-card > p { margin: -.25rem 0 0; color: var(--ce-muted); font-size: .69rem; line-height: 1.5; }

.ce-success-card { padding: clamp(1.25rem, 3vw, 2rem); text-align: center; }
.ce-success-card > .ce-success-icon { width: 72px; height: 72px; display: grid; place-items: center; margin: 0 auto .9rem; border-radius: 22px; color: #176b42; background: #dff9ea; box-shadow: 0 14px 30px rgba(32,168,98,.14); font-size: 1.8rem; }
.ce-success-card > h1 { margin: .45rem 0 .55rem; color: var(--ce-ink-950); font-size: clamp(1.8rem,4vw,3rem); line-height: 1; font-weight: 950; letter-spacing: -.04em; }
.ce-success-card > p { max-width: 700px; margin: 0 auto 1rem; color: var(--ce-muted); font-size: .82rem; line-height: 1.65; }
.ce-success-card .ce-success-meta,
.ce-success-card .ce-summary-year-grid { text-align: left; }
.ce-success-card .ce-summary-year-grid article > span { width: 42px; height: 42px; display: grid; place-items: center; margin-bottom: .65rem; border-radius: 13px; color: #fff; background: linear-gradient(135deg,var(--ce-blue-700),var(--ce-cyan)); font-size: .8rem; font-weight: 950; }
.ce-success-card .ce-summary-year-grid article > div { display: flex; justify-content: space-between; gap: .5rem; padding: .32rem 0; border-bottom: 1px solid var(--ce-border); }
.ce-success-card .ce-summary-year-grid article > div:last-child { border-bottom: 0; }
.ce-success-card .ce-summary-year-grid small { color: var(--ce-muted); font-size: .61rem; }
.ce-success-card .ce-summary-year-grid strong { color: var(--ce-ink-950); font-size: .68rem; }

.ce-admin-data-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
.ce-admin-year-block > header { display: flex; align-items: baseline; justify-content: space-between; gap: .6rem; margin-bottom: .65rem; padding-bottom: .55rem; border-bottom: 1px solid var(--ce-border); }
.ce-admin-year-block > header > span { color: var(--ce-ink-950); font-size: .9rem; font-weight: 950; }
.ce-admin-year-block > header > small { color: var(--ce-muted); font-size: .57rem; }
.ce-admin-group-block + .ce-admin-group-block { margin-top: .55rem; }
.ce-admin-group-block h3 { display: flex; align-items: center; gap: .4rem; margin: 0 0 .55rem; color: var(--ce-blue-800); font-size: .7rem; font-weight: 900; }
.ce-admin-answer-grid > div { display: flex; align-items: center; justify-content: space-between; gap: .45rem; padding: .45rem .5rem; border-radius: 10px; background: #fff; }
.ce-admin-answer-grid > div small { color: var(--ce-muted); font-size: .58rem; }
.ce-admin-answer-grid > div strong { color: var(--ce-ink-950); font-size: .68rem; }
.ce-access-admin-meta span { display: flex; align-items: center; justify-content: space-between; gap: .6rem; padding: .42rem .5rem; border-radius: 10px; background: #f6f9fb; }
.ce-access-admin-meta small { color: var(--ce-muted); font-size: .56rem; text-transform: uppercase; }
.ce-access-admin-meta strong { color: var(--ce-ink-950); font-size: .64rem; }

@media (max-width: 991.98px) {
    .ce-admin-data-grid { grid-template-columns: 1fr; }
}
.ce-number-field > span b { color: var(--ce-red); }
.ce-number-field textarea,
.ce-number-field select {
    width: 100%;
    min-height: 44px;
    padding: .55rem .65rem;
    border: 1px solid var(--ce-border-strong);
    border-radius: 11px;
    outline: none;
    color: var(--ce-ink-950);
    background: #fff;
    font-size: .78rem;
    font-weight: 800;
}
.ce-number-field textarea { min-height: 92px; resize: vertical; font-weight: 600; line-height: 1.5; }
.ce-number-field textarea:focus,
.ce-number-field select:focus { border-color: var(--ce-cyan); box-shadow: 0 0 0 4px rgba(32,199,217,.10); }
.modal-content.ce-admin-modal { overflow: hidden; border: 0; border-radius: 20px; box-shadow: var(--ce-shadow-xl); }
