/* ==========================================================================
   Figma "Redesign Childcare Kiosk" -- round 2 (Hershey Nov 10 2026: "copy exact
   full figma design ... use figma's ui code").
   The rules below are the Figma Make file's own CSS (figma_src/index.css:
   .sidebar, .main-nav, .topbar, .page-title, .segmented.large, .kiosk-toolbar,
   .day-picker, .kiosk-summary, .segmented.compact, .list-search, .roster-grid,
   .child-card, .avatar.large, .child-state), mapped onto our real markup.
   Loaded media="screen": printed forms, reports and PDFs never see it.
   The sign-in popup and the other sheets (.modal, .kg-sheet) keep their look.
   ========================================================================== */
@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
    src: url("../vendor/inter/inter-latin-var.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root {
    --fg-ink: #20302d; --fg-ink-strong: #1a2b28; --fg-muted: #687570; --fg-line: #dfe5df;
    --fg-paper: #fff; --fg-wash: #f4f6f2; --fg-teal: #246f66; --fg-teal-dark: #18534c;
    --fg-teal-soft: #e1efec; --fg-green: #2f805b; --fg-side: #143b36;
    --fg-shadow: 0 1px 2px rgba(25,46,40,.04), 0 8px 24px rgba(25,46,40,.05);
    --fg-serif: Georgia, 'Times New Roman', serif;
    --fg-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
html.fg-ui body { background: var(--fg-wash); color: var(--fg-ink); font-family: var(--fg-sans); font-synthesis: none; -webkit-font-smoothing: antialiased; }
/* The popups keep exactly the font they had. */
html.fg-ui .modal, html.fg-ui .kg-sheet, html.fg-ui [role="dialog"] { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }

/* --- Sidebar (Figma .sidebar / .main-nav) -- the Menu drawer's rows ------- */
.fig-brand { display: flex; align-items: center; gap: 5px; font-size: 18px; letter-spacing: -.3px; white-space: nowrap; color: #fff; }
.fig-brand strong { font-weight: 750; }
.fig-brand > span:last-child { color: #bbd3cf; }
.fig-brand-mark { width: 30px; height: 30px; position: relative; display: inline-block; margin-right: 5px; flex: none; }
.fig-brand-mark span { position: absolute; display: block; border-radius: 50% 50% 45% 45%; background: #7bc1b5; }
.fig-brand-mark span:nth-child(1) { width: 10px; height: 19px; transform: rotate(-38deg); left: 4px; top: 3px; }
.fig-brand-mark span:nth-child(2) { width: 10px; height: 19px; transform: rotate(38deg); right: 4px; top: 3px; }
.fig-brand-mark span:nth-child(3) { width: 10px; height: 10px; left: 10px; bottom: 2px; background: #fff; }
.fig-nav-label, .fig-side-location, .fig-topbar-page { display: none; }

html.fg-shell .portal-nav.has-toggle .nav-drawer {
    background: var(--fg-side); color: #fff; width: 248px; max-width: 86vw;
    padding: 25px 16px 18px; border-radius: 0; box-shadow: 10px 0 40px rgba(15,39,33,.22); box-sizing: border-box;
    font-family: var(--fg-sans);
}
html.fg-shell .portal-nav.has-toggle .nav-drawer-head {
    display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; min-height: 0;
    padding: 0 8px 4px; color: #fff; font-size: 14px;
}
html.fg-shell .nav-drawer-head .fig-brand { flex: 1 1 auto; }
html.fg-shell .nav-drawer-head .nav-drawer-logo { display: none; }
html.fg-shell .nav-drawer-head .nav-drawer-name { display: none; }
html.fg-shell .nav-drawer-close { color: #b9d0cc; min-width: 36px; min-height: 36px; font-size: 1.5rem; }
html.fg-shell .nav-drawer-close:hover { background: rgba(255,255,255,.07); color: #fff; }
html.fg-shell .fig-nav-label { display: block; color: #7ca59f; text-transform: uppercase; letter-spacing: .13em; font-size: 10px; font-weight: 700; margin: 26px 12px 9px; }
html.fg-shell .portal-nav.has-toggle .nav-drawer-group { padding: 0; }
html.fg-shell .portal-nav.has-toggle .nav-drawer-divider { margin: 10px 4px; border-top-color: rgba(255,255,255,.1); }
html.fg-shell .portal-nav.has-toggle .nav-drawer .portal-nav-link {
    color: #b9d0cc; min-height: 0; gap: 13px; padding: 11px 12px; margin: 3px 0; border-radius: 9px;
    font-size: 14px; font-weight: 500; transition: .18s ease;
}
html.fg-shell .portal-nav.has-toggle .nav-drawer .portal-nav-link:hover { background: rgba(255,255,255,.07); color: #fff; }
html.fg-shell .portal-nav.has-toggle .nav-drawer .portal-nav-link.is-current {
    color: #fff; background: rgba(144,202,192,.15); box-shadow: inset 3px 0 #7bc1b5; font-weight: 600;
}
html.fg-shell .portal-nav.has-toggle .nav-drawer .nav-row-icon { width: 20px; font-size: 16px; }
html.fg-shell .nav-drawer .nav-row-icon svg { width: 20px; height: 20px; }
html.fg-shell .nav-drawer .nav-badge { min-width: 21px; height: 21px; line-height: 21px; padding: 0 6px; border-radius: 20px; background: #df7e5c; font-size: 11px; }
html.fg-shell .nav-drawer .portal-nav-lang-row a, html.fg-shell .nav-drawer .portal-nav-lang-row .nav-row-label { color: inherit; text-decoration: none; }
html.fg-shell .nav-drawer .lang-switch, html.fg-shell .nav-drawer .lang-nav-menu { color: #fff; }
html.fg-shell .nav-drawer .lang-nav-menu a, html.fg-shell .nav-drawer .lang-nav-menu button { color: #dfeeea; border-color: rgba(255,255,255,.25); background: transparent; }
html.fg-shell .fig-side-location {
    display: flex; align-items: center; gap: 9px; margin: 18px 0 0; padding: 10px;
    border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.05); border-radius: 10px;
}
html.fg-shell .fig-location-icon { width: 32px; height: 32px; border-radius: 8px; display: grid; place-items: center; background: rgba(123,193,181,.16); color: #7bc1b5; flex: none; }
html.fg-shell .fig-location-text { display: flex; flex-direction: column; min-width: 0; }
html.fg-shell .fig-location-text small { color: #85a8a2; font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
html.fg-shell .fig-location-text strong { font-size: 12px; margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html.fg-shell .portal-nav.has-toggle .nav-drawer-scrim { background: rgba(15,39,33,.38); }

/* --- Topbar (Figma .topbar) -- our Menu bar --------------------------------- */
html.fg-shell .portal-nav {
    position: sticky; top: 0; z-index: 898; background: rgba(255,255,255,.96);
    border-bottom: 1px solid var(--fg-line); /* no backdrop-filter: it would trap the fixed sidebar */
}
html.fg-shell .portal-nav-inner { max-width: none; min-height: 68px; padding: 0 32px; gap: 10px; }
html.fg-shell .portal-nav-brand { display: flex; flex-direction: column; justify-content: center; gap: 1px; margin-right: 0; color: var(--fg-ink); line-height: 1.2; min-width: 0; }
html.fg-shell .portal-nav-brand .portal-nav-brand-name { font-size: 10px; color: #84908c; font-weight: 500; }
html.fg-shell .portal-nav-brand:not(.is-daycare) { font-size: 16px; font-weight: 700; letter-spacing: -.2px; }
html.fg-shell .fig-topbar-page { display: block; font-size: 16px; font-weight: 700; letter-spacing: -.2px; color: var(--fg-ink); }
html.fg-shell .portal-nav-brand .portal-nav-logo { display: none; }
html.fg-shell .portal-nav .portal-nav-home {
    display: inline-flex; align-items: center; gap: 7px; height: 36px; min-height: 36px; padding: 0 11px;
    border: 1px solid var(--fg-line); border-radius: 9px; background: #fff; color: #56635f;
    font-size: 12px; font-weight: 600; text-decoration: none;
}
html.fg-shell .portal-nav .portal-nav-home:hover { border-color: #aab8b2; color: var(--fg-ink); }
html.fg-shell .portal-nav .logout-link { border-color: transparent; background: transparent; color: #65716d; }
html.fg-shell .portal-nav-logout { margin: 0; }
html.fg-shell #navMenuButton { color: #56635f; }

/* Desktop + landscape tablet: the sidebar is always there (Figma 248px). */
@media (min-width: 821px) {
    html.fg-shell body { padding-left: 248px; }
    html.fg-shell .portal-nav.has-toggle .nav-drawer {
        transform: none; visibility: visible; transition: none; box-shadow: none; width: 248px; max-width: none; z-index: 899;
    }
    html.fg-shell .portal-nav.has-toggle .nav-drawer-scrim { display: none; }
    html.fg-shell .portal-nav.has-toggle #navMenuButton, html.fg-shell .nav-drawer-close { display: none !important; }
    html.fg-shell.nav-drawer-open, html.fg-shell.nav-drawer-open body { overflow: visible; }
    
}
@media (max-width: 820px) {
    html.fg-shell .portal-nav-inner { min-height: 59px; padding: 0 12px; }
    html.fg-shell .portal-nav .portal-nav-home { padding: 0 9px; }
    html.fg-shell .portal-nav .logout-link .portal-nav-home-label { display: none; }
}
@media (max-width: 560px) {
    html.fg-shell .fig-topbar-page { font-size: 15px; }
}

/* --- Page (Figma .content / .page-title) ------------------------------------ */
html.fg-shell main#main > .container, html.fg-shell main#main > .kids-grid { max-width: 1500px; }
html.fg-ui .kids-grid { padding: 31px 34px 60px; }
@media (max-width: 1100px) { html.fg-ui .kids-grid { padding: 25px 20px 50px; } }
@media (max-width: 560px) { html.fg-ui .kids-grid { padding: 16px 14px 45px; } }
html.fg-ui .kids-grid .page-heading { display: flex; align-items: flex-end; gap: 12px; margin: 0 0 20px; padding: 0; border: 0; }
html.fg-ui .kids-grid .page-heading h1 {
    font-family: var(--fg-serif); font-size: clamp(27px, 3vw, 36px); line-height: 1.08; letter-spacing: -.9px;
    margin: 0; font-weight: 600; color: var(--fg-ink-strong);
}
html.fg-ui .kids-grid .page-heading h1 > i { display: none; }

/* --- Children | Staff | Visitors (Figma .segmented.large) ------------------- */
html.fg-ui .kiosk-tabs {
    display: flex; gap: 4px; padding: 5px; margin: 0 0 16px; background: #e9eeea; border-radius: 12px;
    border: 0; box-shadow: none; position: static; width: auto;
}
html.fg-ui .kiosk-tabs .kiosk-tab {
    flex: 1 1 0; min-height: 50px; border-radius: 9px; display: flex; align-items: center; justify-content: center; gap: 9px;
    font-weight: 700; font-size: 14px; color: #66736f; background: transparent; border: 0; box-shadow: none;
    text-decoration: none; padding: 0 12px; margin: 0;
}
html.fg-ui .kiosk-tabs .kiosk-tab::before, html.fg-ui .kiosk-tabs .kiosk-tab::after { display: none; }
html.fg-ui .kiosk-tabs .kiosk-tab:hover { color: var(--fg-ink); }
html.fg-ui .kiosk-tabs .kiosk-tab.is-current { color: var(--fg-teal); background: #fff; box-shadow: 0 1px 5px rgba(34,58,51,.12); }
html.fg-ui .kiosk-tabs .kiosk-tab svg { width: 20px; height: 20px; flex: none; }
html.fg-ui .kiosk-tabs .kiosk-tab .kiosk-tab-label { font-size: inherit; color: inherit; }

/* --- Toolbar (Figma .kiosk-toolbar + .list-toolbar) ------------------------- */
html.fg-ui .kids-grid .roster-toolbar {
    display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-areas: "date date date date date status status status status status status status" "chips chips chips search search search search search search short short short";
    gap: 12px; align-items: stretch; margin: 0 0 16px; padding: 0; background: none; border: 0; box-shadow: none; position: static;
}
html.fg-ui .kids-grid .roster-toolbar > .date-navigation { grid-area: date; }
html.fg-ui .kids-grid .roster-toolbar > .kg-bar { grid-area: chips; align-self: center; margin: 0; }
html.fg-ui .kids-grid .roster-toolbar > .kiosk-statusline { grid-area: status; margin: 0; }
html.fg-ui .kids-grid .roster-toolbar > .search-container { grid-area: search; align-self: center; margin: 0; }
html.fg-ui .kids-grid .roster-toolbar > .roster-topbar { grid-area: short; align-self: center; margin: 0; }
/* Day picker */
html.fg-ui .date-navigation {
    display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 64px; padding: 7px; margin: 0;
    background: #fff; border: 1px solid var(--fg-line); border-radius: 11px; box-shadow: none;
}
html.fg-ui .date-navigation .nav-button {
    width: 38px; min-width: 38px; height: 38px; min-height: 38px; padding: 0; border-radius: 8px; border: 1px solid var(--fg-line);
    background: #fff; color: #53615d; display: grid; place-items: center; box-shadow: none; font-size: 15px;
}
html.fg-ui .date-navigation .nav-button:hover { border-color: #aab8b2; }
html.fg-ui .date-navigation .nav-button .nav-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
html.fg-ui .date-center { display: flex; flex-direction: column; align-items: center; gap: 2px; flex: 1 1 auto; min-width: 0; }
html.fg-ui .date-center .date-display {
    font-family: var(--fg-serif); font-size: 16px; font-weight: 600; color: var(--fg-ink); text-align: center;
    border: 0; background: transparent; box-shadow: none; padding: 0; min-height: 0; height: auto; width: 100%; cursor: pointer;
}
html.fg-ui .date-center .live-clock { color: var(--fg-teal); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; order: -1; }
/* Summary cards (our live status line: children here / staff / ratio) */
html.fg-ui .kids-grid .kiosk-statusline { display: flex; }
html.fg-ui .kids-grid .kiosk-statusline .home-status {
    display: flex; align-items: stretch; gap: 12px; margin: 0; padding: 0; background: none; border: 0; box-shadow: none; flex-wrap: nowrap;
}
html.fg-ui .kids-grid .kiosk-statusline .home-status-item {
    min-width: 132px; background: #fff; border: 1px solid var(--fg-line); border-radius: 11px; padding: 11px 16px;
    display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 9px; align-items: center;
}
html.fg-ui .kids-grid .kiosk-statusline .home-status-item > i { grid-row: 1 / span 2; width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; background: var(--fg-teal-soft); color: var(--fg-teal); font-size: 15px; }
html.fg-ui .kids-grid .kiosk-statusline .home-status-item > strong { font-family: var(--fg-serif); font-size: 22px; font-weight: 600; color: var(--fg-ink); line-height: 1.1; order: -1; grid-column: 2; }
html.fg-ui .kids-grid .kiosk-statusline .home-status-label { grid-column: 2; color: #6d7975; font-size: 11px; font-weight: 500; }
html.fg-ui .kids-grid .kiosk-statusline .home-status-sep { display: none; }
html.fg-ui .kids-grid .kiosk-statusline .home-status-ratio {
    align-self: stretch; display: flex; align-items: center; gap: 6px; border-radius: 11px; padding: 11px 14px; font-size: 12px; font-weight: 700;
    background: #fff; border: 1px solid var(--fg-line);
}
html.fg-ui .kids-grid .kiosk-statusline .home-status-ratio.is-ok { color: var(--fg-green); }
html.fg-ui .kids-grid .kiosk-statusline .home-status-ratio.is-short { color: #ad4f3a; background: #fbefea; border-color: #f0d6cc; }
html.fg-ui .kids-grid .kiosk-statusline .home-status-why-toggle { align-self: center; border: 0; background: transparent; color: var(--fg-muted); font-size: 12px; }
/* All | Here | Not here (Figma .segmented.compact) */
html.fg-ui .kids-grid .kg-bar { padding: 0; background: none; border: 0; }
html.fg-ui .kids-grid .kg-chips { display: flex; gap: 2px; padding: 4px; background: #e7ece8; border-radius: 9px; }
html.fg-ui .kids-grid .kg-chip {
    min-height: 36px; padding: 0 15px; border-radius: 7px; border: 0; background: transparent; color: #66736f;
    font-size: 13px; font-weight: 700; box-shadow: none;
}
html.fg-ui .kids-grid .kg-chip[aria-pressed="true"], html.fg-ui .kids-grid .kg-chip.is-on, html.fg-ui .kids-grid .kg-chip.is-active {
    color: var(--fg-teal); background: #fff; box-shadow: 0 1px 3px rgba(34,58,51,.1);
}
/* Search (Figma .list-search) */
html.fg-ui .kids-grid .search-container { position: relative; }
html.fg-ui .kids-grid .search-container input {
    height: 44px; min-height: 44px; width: 100%; box-sizing: border-box; border: 1px solid var(--fg-line); border-radius: 8px; background: #fff;
    padding: 0 12px 0 38px; font-size: 14px; color: var(--fg-ink); box-shadow: none;
}
html.fg-ui .kids-grid .search-container input:focus { outline: 2px solid rgba(36,111,102,.25); border-color: var(--fg-teal); }
html.fg-ui .kids-grid .search-container .search-icon { left: 13px; right: auto; color: #82908b; }
/* Daily sheet / History (Figma .secondary-btn) */
html.fg-ui .kids-grid .roster-shortcuts { display: flex; gap: 8px; }
html.fg-ui .kids-grid .roster-shortcut {
    min-height: 44px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 15px;
    font-weight: 700; font-size: 13px; white-space: nowrap; background: #fff; color: #42514d; border: 1px solid #d9e0da; box-shadow: none;
}
html.fg-ui .kids-grid .roster-shortcut:hover { border-color: #aab8b2; }
@media (max-width: 1100px) {
    html.fg-ui .kids-grid .roster-toolbar { grid-template-columns: minmax(0,1fr) auto; grid-template-areas: "date date" "status status" "chips short" "search search"; }
    html.fg-ui .kids-grid .kiosk-statusline .home-status { flex-wrap: wrap; }
}
@media (max-width: 560px) {
    html.fg-ui .kiosk-tabs .kiosk-tab { flex-direction: column; gap: 3px; font-size: 12px; min-height: 56px; }
    html.fg-ui .kids-grid .roster-toolbar { gap: 9px; grid-template-columns: minmax(0,1fr); grid-template-areas: "date" "status" "search" "chips" "short"; }
    html.fg-ui .kids-grid .kiosk-statusline .home-status-item { min-width: 0; flex: 1 1 0; padding: 9px; }
    html.fg-ui .kids-grid .kg-chips { width: 100%; box-sizing: border-box; }
    html.fg-ui .kids-grid .kg-chip { flex: 1 1 0; }
    html.fg-ui .kids-grid .roster-shortcuts { width: 100%; }
    html.fg-ui .kids-grid .roster-shortcut { flex: 1 1 0; }
}

/* --- Child / staff cards (Figma .roster-grid / .child-card) ----------------- */
html.fg-ui .kids-grid.kg-ready .children-grid, html.fg-ui .kids-grid.kg-ready .staff-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
@media (max-width: 1100px) { html.fg-ui .kids-grid.kg-ready .children-grid, html.fg-ui .kids-grid.kg-ready .staff-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 820px) { html.fg-ui .kids-grid.kg-ready .children-grid, html.fg-ui .kids-grid.kg-ready .staff-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 560px) { html.fg-ui .kids-grid.kg-ready .children-grid, html.fg-ui .kids-grid.kg-ready .staff-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; } }
html.fg-ui .kids-grid.kg-ready .children-grid > .child-card, html.fg-ui .kids-grid.kg-ready .staff-grid > .staff-card {
    min-height: 176px; position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center;
    padding: 16px 8px 14px; border: 1px solid var(--fg-line); border-radius: 12px; background: #fff; box-shadow: var(--fg-shadow);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
@media (max-width: 560px) { html.fg-ui .kids-grid.kg-ready .children-grid > .child-card, html.fg-ui .kids-grid.kg-ready .staff-grid > .staff-card { min-height: 158px; } }
@media (hover: hover) {
    html.fg-ui .kids-grid.kg-ready .children-grid > .child-card:hover, html.fg-ui .kids-grid.kg-ready .staff-grid > .staff-card:hover {
        transform: translateY(-2px); border-color: #9dbbb5; box-shadow: 0 8px 25px rgba(31,68,59,.1);
    }
}
html.fg-ui .kids-grid.kg-ready .card-head .avatar {
    width: 62px; height: 62px; font-size: 17px; font-weight: 750; border: 1px solid rgba(43,88,77,.1); box-shadow: none;
    background: #e7efed; color: #35524c;
}
html.fg-ui .kids-grid.kg-ready .card-head .avatar.avatar-tone-0 { background: #e3edf5; color: #385d78; }
html.fg-ui .kids-grid.kg-ready .card-head .avatar.avatar-tone-1 { background: #ede7f4; color: #645078; }
html.fg-ui .kids-grid.kg-ready .card-head .avatar.avatar-tone-2 { background: #f6e7df; color: #82523f; }
html.fg-ui .kids-grid.kg-ready .card-head .avatar.avatar-tone-3 { background: #dfeee7; color: #33654f; }
html.fg-ui .kids-grid.kg-ready .card-head .avatar.avatar-tone-4 { background: #f2e4e6; color: #815258; }
html.fg-ui .kids-grid.kg-ready .card-head .avatar.avatar-tone-5 { background: #e7efed; color: #35524c; }
html.fg-ui .kids-grid.kg-ready .status-in .card-head .avatar { box-shadow: none; }
html.fg-ui .kids-grid.kg-ready .child-photo, html.fg-ui .kids-grid.kg-ready .staff-photo { box-shadow: none !important; margin: 0 auto 3px; }
html.fg-ui .kids-grid.kg-ready .status-in .child-photo::after, html.fg-ui .kids-grid.kg-ready .status-in .staff-photo::after {
    right: -2px; bottom: -1px; width: 20px; height: 20px; font-size: 11px; line-height: 16px; background: var(--fg-green); border: 2px solid #fff;
}
html.fg-ui .kids-grid.kg-ready .kg-name { margin-top: 6px; font-size: 14px; font-weight: 700; color: var(--fg-ink); }
html.fg-ui .kids-grid.kg-ready .child-dob { color: #87918e; font-size: 11px; margin-top: 1px; }
html.fg-ui .kids-grid.kg-ready .status-none .child-status, html.fg-ui .kids-grid.kg-ready .status-none .staff-status { visibility: visible; }
html.fg-ui .kids-grid.kg-ready .kg-status {
    display: inline-block; margin-top: 7px; border-radius: 20px; padding: 4px 9px; font-size: 11px; font-weight: 750; line-height: 1.3;
    color: #777f7c; background: #eef0ee;
}
html.fg-ui .kids-grid.kg-ready .status-in .kg-status { color: #2f7652; background: #e3f1e8; }
html.fg-ui .kids-grid.kg-ready .status-out .kg-status { color: #9a5a33; background: #f7ebdf; }
html.fg-ui .kids-grid.kg-ready .status-absent .kg-status { color: #946018; background: #f8ebd8; }
html.fg-ui .kids-grid.kg-ready .status-absent { background: #fafbfa; }
html.fg-ui .kids-grid.kg-ready .kg-status:empty { display: none; }
html.fg-ui .kids-grid.kg-ready .status-none .kg-status:empty { display: inline-block; }
html[lang="en"].fg-ui .kids-grid.kg-ready .status-none .kg-status:empty::before { content: "Not here"; }
html[lang="es"].fg-ui .kids-grid.kg-ready .status-none .kg-status:empty::before { content: "No está"; }
html.fg-ui .kids-grid.kg-ready .children-grid > .child-card > button.kg-more, html.fg-ui .kids-grid.kg-ready .staff-grid > .staff-card > button.kg-more {
    position: absolute; right: 6px; top: 5px; color: #87918d; background: transparent; border: 0; box-shadow: none; letter-spacing: 1px;
}
html.fg-ui .kids-grid.kg-ready .kg-holding { transform: scale(.96); }

/* Shortcut buttons: icon + words on one line (Figma .secondary-btn). */
html.fg-ui .kids-grid .roster-shortcut { flex-direction: row; }
html.fg-ui .kids-grid .roster-shortcut .shortcut-text { display: inline; }
html.fg-ui .kids-grid .roster-shortcut .shortcut-cap { display: none; }
@media (max-width: 560px) {
    html.fg-ui .kids-grid .roster-shortcut .shortcut-text { display: none; }
    html.fg-ui .kids-grid .roster-shortcut .shortcut-cap { display: inline; }
}
/* Other kiosk/portal pages: Figma page spacing + panels. */
@media (min-width: 821px) { html.fg-shell main#main > .container:not(.kids-grid) { padding-left: 34px; padding-right: 34px; } }
html.fg-ui .date-navigation .nav-button { flex-direction: row; }
html.fg-ui main#main h1 { font-family: var(--fg-serif); font-weight: 600; letter-spacing: -.6px; color: var(--fg-ink-strong); }

html.fg-shell .nav-drawer .lang-mini { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); box-shadow: none; }
html.fg-shell .nav-drawer .lang-mini .lang-mini-choice { color: #dfeeea; background: transparent; }
html.fg-shell .nav-drawer .lang-mini .lang-mini-choice[aria-pressed="true"] { background: #7bc1b5; color: #143b36; }
html.fg-shell .portal-nav.has-toggle .nav-drawer .portal-nav-lang-row { flex-wrap: wrap; gap: 8px 13px; }
html.fg-ui .date-navigation { gap: 8px; }
html.fg-ui .date-navigation .date-display { font-family: var(--fg-serif); font-size: 16px; font-weight: 600; color: var(--fg-ink); }

html.fg-ui .date-navigation .nav-button .nav-text { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip-path: inset(50%) !important; white-space: nowrap !important; padding: 0 !important; margin: 0 !important; }
@media (min-width: 561px) {
    html.fg-ui .kids-grid .roster-shortcut .shortcut-text { display: inline !important; }
    html.fg-ui .kids-grid .roster-shortcut .shortcut-cap { display: none !important; }
}
html.fg-ui .kids-grid .roster-toolbar > .roster-topbar { justify-self: end; }
html.fg-ui .kids-grid .roster-toolbar > .kg-bar { justify-self: start; }
html.fg-ui .kids-grid .kiosk-statusline .home-status { width: 100%; justify-content: flex-end; }
html.fg-ui .kids-grid .kiosk-statusline .home-status-item { flex: 1 1 0; }

/* On paper the old icon prints (base.html print rule hides the Figma SVG). */
html.fg-ui .fig-fa { display: none !important; }

/* An empty / hidden ratio pill draws no empty card. */
html.fg-ui .kids-grid .kiosk-statusline .home-status-ratio[hidden], html.fg-ui .kids-grid .kiosk-statusline .home-status-ratio:empty { display: none !important; }
html.fg-ui .kids-grid > .kiosk-statusline { margin: 0 0 12px; }
