:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--b-brand-navy:#0b1b3f;--b-brand-blue:#1565ff;--b-brand-green:#16c47f;--b-bg:#f4f8fb;--b-surface:#fff;--b-surface-2:#f8fafc;--b-surface-3:#eef2f6;--b-inverse:#0b1b3f;--b-inverse-fg:#fff;--b-fg:#0b1b3f;--b-fg-2:#4b5a70;--b-fg-3:#5f6e84;--b-fg-on-accent:#fff;--b-line:#e3eaf0;--b-line-2:#d3dce6;--b-control:#8291a6;--b-control-hover:#5f6e84;--b-accent:#1565ff;--b-accent-hover:#0e4fd8;--b-accent-press:#0b42b8;--b-accent-text:#1258e0;--b-accent-tint:#eaf1ff;--b-accent-tint-2:#d6e4ff;--b-focus:#1565ff;--b-focus-halo:#1565ff2e;--b-success:#16c47f;--b-success-text:#087443;--b-success-tint:#e8f7f0;--b-success-line:#b9e8d3;--b-warning:#f59e0b;--b-warning-text:#b54708;--b-warning-tint:#fef6e7;--b-warning-line:#f8dda9;--b-danger:#f04438;--b-danger-text:#b42318;--b-danger-tint:#fdecea;--b-danger-line:#f6c3be;--b-info-text:#1252cc;--b-info-tint:#eaf1ff;--b-info-line:#c5d8ff;--b-neutral-text:#4b5a70;--b-neutral-tint:#eef2f6;--b-neutral-line:#d3dce6;--b-pay:#0a7a4c;--b-pay-hover:#08653f;--b-pay-press:#065233;--b-pay-fg:#fff;--b-pay-tint:#e8f7f0;--b-pay-line:#b9e8d3;--b-mpesa:#00a651;--b-fam-apps:#1565ff;--b-fam-apps-tint:#eaf1ff;--b-fam-msg:#0e9f62;--b-fam-msg-tint:#e6f7ef;--b-fam-ai:#5b4bc4;--b-fam-ai-tint:#eeecfb;--b-fam-other:#4b5a70;--b-fam-other-tint:#eef2f6;--b-font-ui:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--b-font-display:"Outfit", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--b-font-mono:ui-monospace, "SFMono-Regular", "Cascadia Mono", Menlo, Consolas, monospace;--b-text-xs:.75rem;--b-text-sm:.8125rem;--b-text-md:.9375rem;--b-text-lg:1.0625rem;--b-text-xl:1.25rem;--b-text-2xl:1.625rem;--b-text-3xl:2rem;--b-text-stat:1.5rem;--b-leading:1.5;--b-leading-tight:1.25;--b-tracking-tight:-.011em;--b-tracking-display:-.02em;--b-tracking-caps:.06em;--b-s1:4px;--b-s2:8px;--b-s3:12px;--b-s4:16px;--b-s5:20px;--b-s6:24px;--b-s8:32px;--b-s10:40px;--b-s12:48px;--b-s16:64px;--b-gutter:16px;--b-container:1200px;--b-container-narrow:760px;--b-topbar-h:56px;--b-radius-sm:4px;--b-radius:6px;--b-radius-lg:8px;--b-radius-xl:12px;--b-hairline:1px;--b-shadow-pop:0 1px 2px #0b1b3f0f, 0 8px 24px #0b1b3f1f;--b-shadow-sheet:0 -1px 0 #0b1b3f0a, 0 16px 48px #0b1b3f2e;--b-shadow-sticky:0 -1px 0 var(--b-line), 0 -8px 24px #0b1b3f0f;--b-control-h:44px;--b-control-h-sm:36px;--b-control-h-lg:52px;--b-control-font:1rem;--b-ease:cubic-bezier(.2, 0, 0, 1);--b-dur-1:.12s;--b-dur-2:.2s;--b-dur-3:.32s;--b-z-sticky:20;--b-z-topbar:40;--b-z-pop:60;--b-z-sheet:70;--b-z-modal:1050;--b-z-toast:1100}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--b-bg:#0b1220;--b-surface:#111b2e;--b-surface-2:#16223a;--b-surface-3:#1c2a45;--b-inverse:#e6ecf5;--b-inverse-fg:#0b1220;--b-fg:#e6ecf5;--b-fg-2:#a3b1c6;--b-fg-3:#8696ad;--b-line:#22304a;--b-line-2:#2d3d5c;--b-control:#5a6a85;--b-control-hover:#8696ad;--b-accent-text:#5b93ff;--b-accent-tint:#15284d;--b-accent-tint-2:#1b3463;--b-focus:#5b93ff;--b-focus-halo:#5b93ff40;--b-success-text:#3dd598;--b-success-tint:#0f2b24;--b-success-line:#1a4a3b;--b-warning-text:#f5b547;--b-warning-tint:#2d2414;--b-warning-line:#4d3b17;--b-danger-text:#ff7a6e;--b-danger-tint:#33191b;--b-danger-line:#5c2a2a;--b-info-text:#7eaaff;--b-info-tint:#15284d;--b-info-line:#24427a;--b-neutral-text:#a3b1c6;--b-neutral-tint:#1c2a45;--b-neutral-line:#2d3d5c;--b-pay-tint:#0f2b24;--b-pay-line:#1a4a3b;--b-fam-apps:#5b93ff;--b-fam-apps-tint:#15284d;--b-fam-msg:#3dd598;--b-fam-msg-tint:#0f2b24;--b-fam-ai:#a396ff;--b-fam-ai-tint:#221e45;--b-fam-other:#a3b1c6;--b-fam-other-tint:#1c2a45;--b-shadow-pop:0 1px 2px #0000004d, 0 12px 32px #00000073;--b-shadow-sheet:0 16px 48px #00000080;--b-shadow-sticky:0 -1px 0 var(--b-line), 0 -8px 24px #00000059}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--b-bg:#0b1220;--b-surface:#111b2e;--b-surface-2:#16223a;--b-surface-3:#1c2a45;--b-inverse:#e6ecf5;--b-inverse-fg:#0b1220;--b-fg:#e6ecf5;--b-fg-2:#a3b1c6;--b-fg-3:#8696ad;--b-line:#22304a;--b-line-2:#2d3d5c;--b-control:#5a6a85;--b-control-hover:#8696ad;--b-accent-text:#5b93ff;--b-accent-tint:#15284d;--b-accent-tint-2:#1b3463;--b-focus:#5b93ff;--b-focus-halo:#5b93ff40;--b-success-text:#3dd598;--b-success-tint:#0f2b24;--b-success-line:#1a4a3b;--b-warning-text:#f5b547;--b-warning-tint:#2d2414;--b-warning-line:#4d3b17;--b-danger-text:#ff7a6e;--b-danger-tint:#33191b;--b-danger-line:#5c2a2a;--b-info-text:#7eaaff;--b-info-tint:#15284d;--b-info-line:#24427a;--b-neutral-text:#a3b1c6;--b-neutral-tint:#1c2a45;--b-neutral-line:#2d3d5c;--b-pay-tint:#0f2b24;--b-pay-line:#1a4a3b;--b-fam-apps:#5b93ff;--b-fam-apps-tint:#15284d;--b-fam-msg:#3dd598;--b-fam-msg-tint:#0f2b24;--b-fam-ai:#a396ff;--b-fam-ai-tint:#221e45;--b-fam-other:#a3b1c6;--b-fam-other-tint:#1c2a45;--b-shadow-pop:0 1px 2px #0000004d, 0 12px 32px #00000073;--b-shadow-sheet:0 16px 48px #00000080;--b-shadow-sticky:0 -1px 0 var(--b-line), 0 -8px 24px #00000059}@media (prefers-reduced-motion:reduce){:root{--b-dur-1:0s;--b-dur-2:0s;--b-dur-3:0s}}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/inter-latin-var.woff2)format("woff2")}@font-face{font-family:Outfit;font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/outfit-latin-var.woff2)format("woff2")}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:var(--b-bg)}html,body{height:100%;margin:0}body{background:var(--b-bg);color:var(--b-fg);font:400 var(--b-text-md)/var(--b-leading) var(--b-font-ui);font-feature-settings:"cv05" 1, "cv08" 1;letter-spacing:var(--b-tracking-tight);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}#app{min-height:100%}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}img{max-width:100%;display:block}a{color:var(--b-accent-text);text-decoration:none}h1,h2,h3{font-family:var(--b-font-display);letter-spacing:var(--b-tracking-display);line-height:var(--b-leading-tight);margin:0;font-weight:650}p{margin:0}:focus-visible{outline:2px solid var(--b-focus);outline-offset:2px}.b-num{font-variant-numeric:tabular-nums}.b-muted{color:var(--b-fg-2)}.b-faint{color:var(--b-fg-3);font-size:var(--b-text-sm)}.b-eyebrow{font-size:var(--b-text-xs);letter-spacing:var(--b-tracking-caps);text-transform:uppercase;color:var(--b-fg-3);font-weight:600}.b-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.b-i{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}.b-i--sm{width:16px;height:16px}.b-i--lg{width:24px;height:24px}.b-shell{min-height:100vh;padding-top:env(safe-area-inset-top);flex-direction:column;display:flex}.b-top{z-index:var(--b-z-topbar);align-items:center;gap:var(--b-s3);min-height:var(--b-topbar-h);padding:0 var(--b-gutter);background:var(--b-surface);border-bottom:var(--b-hairline) solid var(--b-line);display:flex;position:sticky;top:0}.b-top__title{font-family:var(--b-font-display);font-weight:650;font-size:var(--b-text-lg);letter-spacing:var(--b-tracking-display);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.b-top__logo{width:auto;height:28px}.b-top__back{margin-left:calc(-1 * var(--b-s2))}.b-main{padding:var(--b-s5) var(--b-gutter) calc(88px + env(safe-area-inset-bottom));flex:1;width:100%;max-width:640px;margin:0 auto}.b-main>*+*{margin-top:var(--b-s6)}.b-page-title{font-size:var(--b-text-2xl)}.b-tabs{z-index:var(--b-z-topbar);padding:0 var(--b-s1) env(safe-area-inset-bottom);background:var(--b-surface);border-top:var(--b-hairline) solid var(--b-line);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.b-tab{min-height:58px;padding:var(--b-s1) 0;cursor:pointer;color:var(--b-fg-3);letter-spacing:.01em;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:11px;font-weight:600;display:flex}.b-tab .b-i{width:22px;height:22px}.b-tab.is-current{color:var(--b-accent-text)}.b-tab.is-current .b-tab__dot{opacity:1}.b-tab__dot{opacity:0;background:currentColor;border-radius:2px;width:4px;height:4px;margin-top:1px}.b-btn{justify-content:center;align-items:center;gap:var(--b-s2);height:var(--b-control-h);padding:0 var(--b-s4);border:var(--b-hairline) solid var(--b-line-2);border-radius:var(--b-radius);background:var(--b-surface);color:var(--b-fg);font-weight:600;font-size:var(--b-text-md);cursor:pointer;white-space:nowrap;transition:background-color var(--b-dur-1) var(--b-ease), border-color var(--b-dur-1) var(--b-ease), transform var(--b-dur-1) var(--b-ease);text-decoration:none;display:inline-flex}.b-btn:active{transform:scale(.985)}.b-btn[disabled]{opacity:.55;cursor:not-allowed}.b-btn--primary{background:var(--b-accent);border-color:var(--b-accent);color:var(--b-fg-on-accent)}.b-btn--primary:active{background:var(--b-accent-press)}.b-btn--pay{background:var(--b-pay);border-color:var(--b-pay);color:var(--b-pay-fg)}.b-btn--ghost{color:var(--b-accent-text);background:0 0;border-color:#0000}.b-btn--danger{color:var(--b-danger-text);border-color:var(--b-danger-line);background:var(--b-surface)}.b-btn--lg{height:var(--b-control-h-lg);font-size:var(--b-text-lg);padding:0 var(--b-s5)}.b-btn--sm{height:var(--b-control-h-sm);font-size:var(--b-text-sm);padding:0 var(--b-s3)}.b-btn--block{width:100%;display:flex}.b-btn--icon{width:var(--b-control-h);background:0 0;border-color:#0000;padding:0}.b-btn.is-busy{position:relative;color:#0000!important}.b-btn.is-busy:after{content:"";border:2px solid;border-color:var(--b-fg-on-accent) var(--b-fg-on-accent) transparent transparent;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite b-spin;position:absolute}.b-btn:not(.b-btn--primary):not(.b-btn--pay).is-busy:after{border-color:var(--b-fg-2) var(--b-fg-2) transparent transparent}@keyframes b-spin{to{transform:rotate(360deg)}}.b-card{background:var(--b-surface);border:var(--b-hairline) solid var(--b-line);border-radius:var(--b-radius-lg)}.b-card__body{padding:var(--b-s4)}.b-card__head{justify-content:space-between;align-items:center;gap:var(--b-s3);padding:var(--b-s4) var(--b-s4) 0;display:flex}.b-card__title{font-size:var(--b-text-lg)}.b-card--accent{border-top:2px solid var(--b-accent)}.b-card--pay{border-color:var(--b-pay-line);background:linear-gradient(180deg, var(--b-pay-tint), var(--b-surface) 70%)}.b-card--warning{border-color:var(--b-warning-line);background:linear-gradient(180deg, var(--b-warning-tint), var(--b-surface) 75%)}.b-section__head{margin-bottom:var(--b-s3);justify-content:space-between;align-items:baseline;display:flex}.b-section__title{font-size:var(--b-text-xl)}.b-list{background:var(--b-surface);border:var(--b-hairline) solid var(--b-line);border-radius:var(--b-radius-lg);margin:0;padding:0;list-style:none;overflow:hidden}.b-list>li+li{border-top:var(--b-hairline) solid var(--b-line)}.b-row{align-items:center;gap:var(--b-s3);width:100%;min-height:64px;padding:var(--b-s3) var(--b-s4);text-align:left;color:inherit;cursor:pointer;background:0 0;border:0;text-decoration:none;display:flex}.b-row:active{background:var(--b-surface-2)}.b-row__main{flex:1;min-width:0}.b-row__title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;display:block;overflow:hidden}.b-row__sub{color:var(--b-fg-2);font-size:var(--b-text-sm);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.b-row__end{text-align:right;flex-direction:column;flex:none;align-items:flex-end;gap:2px;display:flex}.b-row__chev{color:var(--b-fg-3)}.b-kv{margin:0}.b-kv__row{justify-content:space-between;gap:var(--b-s4);padding:var(--b-s2) 0;display:flex}.b-kv__row+.b-kv__row{border-top:var(--b-hairline) solid var(--b-line)}.b-kv dt{color:var(--b-fg-2)}.b-kv dd{text-align:right;font-variant-numeric:tabular-nums;margin:0;font-weight:500}.b-fam{border-radius:var(--b-radius-lg);flex:none;place-items:center;width:40px;height:40px;display:inline-grid}.b-fam--apps{background:var(--b-fam-apps-tint);color:var(--b-fam-apps)}.b-fam--msg{background:var(--b-fam-msg-tint);color:var(--b-fam-msg)}.b-fam--ai{background:var(--b-fam-ai-tint);color:var(--b-fam-ai)}.b-fam--other{background:var(--b-fam-other-tint);color:var(--b-fam-other)}.b-tiles{gap:var(--b-s3);grid-template-columns:minmax(0,1fr);display:grid}.b-tile{align-items:center;gap:var(--b-s3);padding:var(--b-s4);background:var(--b-surface);border:var(--b-hairline) solid var(--b-line);border-radius:var(--b-radius-lg);text-align:left;min-height:76px;color:inherit;cursor:pointer;width:100%;transition:border-color var(--b-dur-1) var(--b-ease), transform var(--b-dur-1) var(--b-ease);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.b-tile:active{border-color:var(--b-line-2);transform:scale(.99)}.b-tile[aria-disabled=true]{cursor:default}.b-tile__title{font-weight:650;font-size:var(--b-text-lg);letter-spacing:var(--b-tracking-tight);display:block}.b-tile__sub{color:var(--b-fg-2);font-size:var(--b-text-sm);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;display:block;overflow:hidden}.b-tile__go{color:var(--b-accent-text);font-weight:600;font-size:var(--b-text-sm);align-items:center;gap:2px;display:inline-flex}.b-tile__meta{margin-top:var(--b-s2);gap:var(--b-s2);flex-wrap:wrap;display:flex}.b-pill{height:22px;padding:0 var(--b-s2);border-radius:var(--b-radius-sm);font-size:var(--b-text-xs);white-space:nowrap;border:var(--b-hairline) solid transparent;align-items:center;gap:6px;font-weight:600;display:inline-flex}.b-pill--success{background:var(--b-success-tint);color:var(--b-success-text);border-color:var(--b-success-line)}.b-pill--warning{background:var(--b-warning-tint);color:var(--b-warning-text);border-color:var(--b-warning-line)}.b-pill--danger{background:var(--b-danger-tint);color:var(--b-danger-text);border-color:var(--b-danger-line)}.b-pill--info{background:var(--b-info-tint);color:var(--b-info-text);border-color:var(--b-info-line)}.b-pill--neutral{background:var(--b-neutral-tint);color:var(--b-neutral-text);border-color:var(--b-neutral-line)}.b-dot{background:currentColor;border-radius:3px;width:6px;height:6px}.b-meter__row{justify-content:space-between;align-items:baseline;gap:var(--b-s3);display:flex}.b-meter__label{color:var(--b-fg-2);font-size:var(--b-text-sm)}.b-meter__value{font-variant-numeric:tabular-nums;font-size:var(--b-text-sm);color:var(--b-fg-2)}.b-meter__value strong{color:var(--b-fg);font-weight:600}.b-meter__track{background:var(--b-surface-3);height:6px;margin:var(--b-s2) 0 var(--b-s1);border-radius:3px;overflow:hidden}.b-meter__fill{height:100%;width:var(--b-meter,0%);background:var(--b-success);transition:width var(--b-dur-3) var(--b-ease);border-radius:3px;display:block}.b-meter--warning .b-meter__fill{background:var(--b-warning)}.b-meter--danger .b-meter__fill{background:var(--b-danger)}.b-meter__foot{color:var(--b-fg-3);font-size:var(--b-text-xs)}.b-spark{align-items:flex-end;gap:2px;height:44px;display:flex}.b-spark span{min-width:2px;height:var(--h);background:var(--b-fam-ai);opacity:.85;border-radius:1px 1px 0 0;flex:1}.b-spark span.is-empty{background:var(--b-surface-3);opacity:1}.b-spark__axis{color:var(--b-fg-3);font-size:var(--b-text-xs);margin-top:var(--b-s1);justify-content:space-between;display:flex}.b-figure{font-family:var(--b-font-display);letter-spacing:var(--b-tracking-display);font-variant-numeric:tabular-nums;font-size:2rem;font-weight:650;line-height:1.1}.b-figure small{font-size:var(--b-text-md);color:var(--b-fg-2);letter-spacing:0;margin-right:4px;font-weight:600}.b-split{gap:var(--b-s3);grid-template-columns:1fr 1fr;display:grid}.b-alert{gap:var(--b-s3);padding:var(--b-s3) var(--b-s4);border-radius:var(--b-radius-lg);border:var(--b-hairline) solid var(--b-info-line);background:var(--b-info-tint);color:var(--b-fg);font-size:var(--b-text-sm);display:flex}.b-alert--warning{border-color:var(--b-warning-line);background:var(--b-warning-tint)}.b-alert--danger{border-color:var(--b-danger-line);background:var(--b-danger-tint)}.b-alert--success{border-color:var(--b-success-line);background:var(--b-success-tint)}.b-alert .b-i{margin-top:1px}.b-empty{text-align:center;padding:var(--b-s10) var(--b-s6)}.b-empty__icon{background:var(--b-accent-tint);width:56px;height:56px;color:var(--b-accent-text);margin-bottom:var(--b-s4);border-radius:16px;place-items:center;display:inline-grid}.b-empty__title{font-size:var(--b-text-xl);margin-bottom:var(--b-s2)}.b-empty__text{color:var(--b-fg-2);margin-bottom:var(--b-s5)}.b-field+.b-field{margin-top:var(--b-s4)}.b-label{font-weight:600;font-size:var(--b-text-sm);margin-bottom:var(--b-s2);display:block}.b-input,.b-select,.b-textarea{width:100%;min-height:var(--b-control-h);padding:0 var(--b-s3);border:var(--b-hairline) solid var(--b-control);border-radius:var(--b-radius);background:var(--b-surface);font-size:var(--b-control-font)}.b-textarea{padding:var(--b-s3);resize:vertical;min-height:132px;line-height:var(--b-leading)}.b-input:focus,.b-select:focus,.b-textarea:focus{border-color:var(--b-focus);box-shadow:0 0 0 4px var(--b-focus-halo);outline:none}.b-help{color:var(--b-fg-3);font-size:var(--b-text-xs);margin-top:var(--b-s1)}.b-choices{gap:var(--b-s2);grid-template-columns:repeat(2,1fr);display:grid}.b-choice{min-height:64px;padding:var(--b-s3);border:var(--b-hairline) solid var(--b-line-2);border-radius:var(--b-radius-lg);background:var(--b-surface);cursor:pointer;text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;display:flex;position:relative}.b-choice[aria-checked=true]{border-color:var(--b-accent);box-shadow:inset 0 0 0 1px var(--b-accent);background:var(--b-accent-tint)}.b-choice__value{font-variant-numeric:tabular-nums;font-weight:650;font-size:var(--b-text-lg)}.b-choice__sub{color:var(--b-fg-3);font-size:var(--b-text-xs)}.b-seg{border-radius:var(--b-radius);background:var(--b-surface-3);grid-auto-columns:1fr;grid-auto-flow:column;gap:3px;padding:3px;display:grid}.b-seg button{height:34px;font-weight:600;font-size:var(--b-text-sm);color:var(--b-fg-2);cursor:pointer;background:0 0;border:0;border-radius:5px}.b-seg button[aria-pressed=true]{background:var(--b-surface);color:var(--b-fg);box-shadow:0 1px 2px #0b1b3f1a}.b-switch{background:var(--b-control);cursor:pointer;width:46px;height:28px;transition:background-color var(--b-dur-2) var(--b-ease);border:0;border-radius:14px;flex:none;padding:0;position:relative}.b-switch:after{content:"";width:22px;height:22px;transition:transform var(--b-dur-2) var(--b-ease);background:#fff;border-radius:11px;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #00000040}.b-switch[aria-checked=true]{background:var(--b-accent)}.b-switch[aria-checked=true]:after{transform:translate(18px)}.b-switch[disabled]{opacity:.45}.b-scrim{overscroll-behavior:contain;z-index:var(--b-z-sheet);animation:b-fade var(--b-dur-2) var(--b-ease);background:#0b122073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.b-sheet{overscroll-behavior:contain;background:var(--b-surface);border-radius:var(--b-radius-xl) var(--b-radius-xl) 0 0;width:100%;max-width:560px;max-height:92vh;box-shadow:var(--b-shadow-sheet);padding:var(--b-s2) var(--b-gutter) calc(var(--b-s6) + env(safe-area-inset-bottom));animation:b-up var(--b-dur-3) var(--b-ease);overflow:auto}.b-sheet__grip{background:var(--b-line-2);width:36px;height:4px;margin:0 auto var(--b-s4);border-radius:2px}.b-sheet__title{font-size:var(--b-text-xl);margin-bottom:var(--b-s4)}@keyframes b-fade{0%{opacity:0}}@keyframes b-up{0%{opacity:0;transform:translateY(24px)}}.b-toast{left:50%;bottom:calc(80px + env(safe-area-inset-bottom));z-index:var(--b-z-toast);max-width:calc(100% - 32px);padding:var(--b-s3) var(--b-s4);border-radius:var(--b-radius-lg);background:var(--b-inverse);color:var(--b-inverse-fg);font-weight:500;font-size:var(--b-text-sm);box-shadow:var(--b-shadow-pop);animation:b-up var(--b-dur-2) var(--b-ease);position:fixed;transform:translate(-50%)}.b-skel{border-radius:var(--b-radius-lg);background:linear-gradient(90deg, var(--b-surface-2), var(--b-surface-3), var(--b-surface-2));background-size:200% 100%;animation:1.2s linear infinite b-shimmer}@keyframes b-shimmer{to{background-position:-200% 0}}.b-avatar{background:var(--b-brand-navy);color:#fff;width:36px;height:36px;font-weight:650;font-size:var(--b-text-sm);letter-spacing:.02em;border-radius:18px;flex:none;place-items:center;display:inline-grid}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:0s!important;animation-duration:0s!important}}:root{--s-paper:#fbf7f1;--s-card:#fff;--s-ink:#1d2433;--s-sun:#f2a93b;--s-sun-tint:#fff3dc;--s-leaf:#2e9e6a;--s-leaf-tint:#e7f6ee;--s-sky:#3b7cf6;--s-sky-tint:#e9f0ff;--s-rose:#e5484d;--s-rose-tint:#fdecec;--s-radius:20px;--s-shadow:0 1px 2px #3c280a0d, 0 6px 20px #3c280a0f;--b-bg:var(--s-paper);--b-line:#efe7da;--b-line-2:#e3d8c6;--b-surface-2:#fbf8f3;--b-surface-3:#f3ede3;--b-neutral-tint:#f3ede3}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--s-paper:#0f1a2b;--s-card:#15233a;--s-ink:#e9eef6;--s-sun-tint:#3a2c12;--s-leaf-tint:#10302a;--s-sky-tint:#182b4f;--s-rose-tint:#3a1c20;--s-shadow:0 1px 2px #00000059, 0 8px 24px #0000004d;--b-bg:var(--s-paper);--b-surface:var(--s-card);--b-line:#22324d;--b-line-2:#2c3f5f;--b-surface-2:#182740;--b-surface-3:#1d2e4a;--b-neutral-tint:#1d2e4a}}:root[data-theme=dark]{--s-paper:#0f1a2b;--s-card:#15233a;--s-ink:#e9eef6;--s-sun-tint:#3a2c12;--s-leaf-tint:#10302a;--s-sky-tint:#182b4f;--s-rose-tint:#3a1c20;--s-shadow:0 1px 2px #00000059, 0 8px 24px #0000004d;--b-bg:var(--s-paper);--b-surface:var(--s-card);--b-line:#22324d;--b-line-2:#2c3f5f;--b-surface-2:#182740;--b-surface-3:#1d2e4a;--b-neutral-tint:#1d2e4a}html[data-large]{font-size:118%}html[data-large] .s-today,html[data-large] .b-row__sub,html[data-large] .b-faint{font-size:.95rem}.b-boot{background:var(--b-bg);min-height:100vh}.s-mt2{margin-top:var(--b-s2)}.s-mt4{margin-top:var(--b-s4)}.s-center{text-align:center}.b-card{border-radius:16px}.s-parent .b-card,.s-parent .b-list,.s-parent .b-tile{box-shadow:var(--s-shadow);border:0;border-radius:18px}.s-staff .b-card,.s-staff .b-list,.s-staff .b-tile{border-radius:14px}.b-top.s-top{background:var(--b-bg);border-bottom-color:#0000}.s-avatar{object-fit:cover;background:hsl(var(--h,30) 70% 88%);color:hsl(var(--h,30) 45% 28%);font-family:var(--b-font-display);letter-spacing:.01em;border-radius:50%;flex:none;place-items:center;font-weight:650;display:inline-grid}:root[data-theme=dark] .s-avatar{background:hsl(var(--h,30) 35% 26%);color:hsl(var(--h,30) 70% 85%)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .s-avatar{background:hsl(var(--h,30) 35% 26%);color:hsl(var(--h,30) 70% 85%)}}.s-school{object-fit:cover;width:30px;height:30px;font:700 12px/1 var(--b-font-display);background:hsl(var(--h,210) 60% 92%);color:hsl(var(--h,210) 50% 30%);border-radius:9px;flex:none;place-items:center;display:inline-grid}.s-school--lg{border-radius:12px;width:42px;height:42px;font-size:15px}.s-ring{flex:none;place-items:center;display:inline-grid;position:relative}.s-ring svg{position:absolute;inset:0;transform:rotate(-90deg)}.s-ring circle{fill:none;stroke-width:7px;stroke-linecap:round}.s-ring__track{stroke:var(--b-surface-3)}.s-ring__fill{stroke:var(--s-leaf);transition:stroke-dasharray var(--b-dur-3) var(--b-ease)}.s-ring--ok .s-ring__fill{stroke:var(--s-sun)}.s-ring--low .s-ring__fill{stroke:var(--s-rose)}.s-ring__value{font:650 .8125rem/1 var(--b-font-display);font-variant-numeric:tabular-nums}.s-switch{align-items:center;gap:var(--b-s2);min-width:0;height:44px;padding:0 var(--b-s2) 0 4px;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:12px;flex:1;margin-left:-4px;display:flex}.s-switch:active{background:var(--b-surface-3)}.s-switch__name{font:650 var(--b-text-lg)/1.2 var(--b-font-display);letter-spacing:var(--b-tracking-display);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.s-schools .b-row[aria-current=true]{background:var(--b-accent-tint)}.s-schools__note{margin-top:var(--b-s3)}.s-tab__icon{display:inline-flex;position:relative}.s-badge{background:var(--s-rose);color:#fff;min-width:18px;height:18px;font:700 11px/18px var(--b-font-ui);text-align:center;border-radius:9px;padding:0 5px;position:absolute;top:-5px;right:-10px}.s-home>*+*{margin-top:var(--b-s4)}.s-hello__day{color:var(--b-fg-3);font-size:var(--b-text-sm);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.s-hello__title{margin-top:2px;font-size:1.75rem}.s-banner{align-items:center;gap:var(--b-s3);width:100%;padding:var(--b-s3) var(--b-s4);background:linear-gradient(120deg, var(--s-sun-tint), var(--s-leaf-tint));color:var(--s-ink);text-align:left;cursor:pointer;border:0;border-radius:16px;font-weight:600;display:flex}.s-banner>span{flex:1}.s-banner .b-i:first-child{color:var(--s-sun)}.s-child{background:var(--b-surface);border-radius:var(--s-radius);box-shadow:var(--s-shadow);padding:var(--b-s4);position:relative;overflow:hidden}.s-child:before{content:"";background:linear-gradient(90deg, var(--s-sun), var(--s-leaf), var(--s-sky));opacity:.85;height:5px;position:absolute;inset:0 0 auto}.s-child__main{align-items:center;gap:var(--b-s3);width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:flex}.s-child__who{flex-direction:column;flex:1;min-width:0;display:flex}.s-child__name{font:650 1.1875rem/1.2 var(--b-font-display);letter-spacing:var(--b-tracking-display)}.s-child__class{color:var(--b-fg-2);font-size:var(--b-text-sm)}.s-child__facts{gap:var(--b-s2);margin-top:var(--b-s3);grid-template-columns:1fr 1fr;display:grid}.s-fact{padding:var(--b-s3);background:var(--b-surface-2);color:inherit;text-align:left;cursor:pointer;border:0;border-radius:14px;flex-direction:column;align-items:flex-start;gap:1px;display:flex}.s-fact b{font:650 1.0625rem/1.3 var(--b-font-display)}.s-fact small{color:var(--b-fg-3);font-size:var(--b-text-xs)}.s-fact--due b{color:var(--b-warning-text)}.s-fact--clear b{color:var(--b-success-text)}.s-today{align-items:center;gap:var(--b-s2);margin-top:var(--b-s3);padding:10px var(--b-s3);font-weight:600;font-size:var(--b-text-sm);border-radius:12px;display:flex}.s-today--success{background:var(--s-leaf-tint);color:var(--b-success-text)}.s-today--warning{background:var(--s-sun-tint);color:var(--b-warning-text)}.s-today--info{background:var(--s-sky-tint);color:var(--b-info-text)}.s-today--danger{background:var(--s-rose-tint);color:var(--b-danger-text)}.s-today--neutral{background:var(--b-surface-2);color:var(--b-fg-2)}.s-unread{grid-template-columns:auto 1fr auto}.s-hero{align-items:center;gap:var(--b-s4);display:flex}.s-hero__name{font-size:1.5rem}.s-timeline{background:var(--b-surface);box-shadow:var(--s-shadow);padding:var(--b-s2) var(--b-s4);border-radius:16px}.s-timeline__row{align-items:center;gap:var(--b-s3);padding:var(--b-s2) 0;display:flex}.s-timeline__row+.s-timeline__row{border-top:1px solid var(--b-line)}.s-timeline__row span{color:var(--b-fg-2);flex:1}.s-timeline__row b{font-variant-numeric:tabular-nums}.s-att__head{align-items:center;gap:var(--b-s4);display:flex}.s-att__counts{gap:var(--b-s4);margin-top:var(--b-s2);font-size:var(--b-text-xs);color:var(--b-fg-3);display:flex}.s-att__counts span{flex-direction:column;display:flex}.s-att__counts b{font:650 1.125rem/1.2 var(--b-font-display);color:var(--b-fg)}.s-days{padding:0 var(--b-s4) var(--b-s3);margin:0;list-style:none}.s-day{gap:var(--b-s3);border-top:1px solid var(--b-line);font-size:var(--b-text-sm);grid-template-columns:1fr auto auto;align-items:center;padding:9px 0;display:grid}.s-day__status{align-items:center;gap:6px;min-width:92px;font-weight:600;display:inline-flex}.s-day--present .s-day__status{color:var(--b-success-text)}.s-day--late .s-day__status{color:var(--b-warning-text)}.s-day--absent .s-day__status{color:var(--b-danger-text)}.s-day__times{color:var(--b-fg-3);text-align:right;min-width:112px}.s-mean{align-items:center;gap:var(--b-s4);background:var(--b-surface);border-radius:var(--s-radius);box-shadow:var(--s-shadow);padding:var(--b-s4);display:flex}.s-mean>div:nth-child(2){flex-direction:column;flex:1;display:flex}.s-mean__grade{width:64px;height:64px;font:700 1.5rem/1 var(--b-font-display);color:#fff;border-radius:18px;place-items:center;display:grid}.s-mean__pos{text-align:center;padding-left:var(--b-s3);border-left:1px solid var(--b-line)}.s-mean__pos b{font:650 1.5rem/1 var(--b-font-display);display:block}.s-band--ee{background:var(--s-leaf);color:#fff}.s-band--me{background:var(--s-sky);color:#fff}.s-band--ae{background:var(--s-sun);color:#2a1c00}.s-band--be{background:var(--s-rose);color:#fff}.s-subjects{padding:var(--b-s2) var(--b-s4);background:var(--b-surface);border-radius:var(--s-radius);box-shadow:var(--s-shadow);margin:0;list-style:none}.s-subject{align-items:center;gap:var(--b-s3);grid-template-columns:minmax(0,1.6fr) 1fr auto auto;padding:11px 0;display:grid}.s-subject+.s-subject{border-top:1px solid var(--b-line)}.s-subject__name{font-weight:600;font-size:var(--b-text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.s-subject__bar{background:var(--b-surface-3);border-radius:4px;height:8px;overflow:hidden}.s-subject__bar span{border-radius:4px;height:100%;display:block}.s-subject__score{text-align:right;width:34px;font-weight:650}.s-subject__grade{width:34px;height:24px;font:700 11px/1 var(--b-font-ui);border-radius:7px;place-items:center;display:inline-grid}.s-pdf__pages{gap:var(--b-s3);margin:var(--b-s3) 0;display:grid}.s-pdf__page{width:100%;height:auto;box-shadow:var(--s-shadow);background:#fff;border-radius:8px}.s-pdf__ask{gap:var(--b-s3);display:grid}.s-balance{text-align:center}.s-balance .b-card__body{padding:var(--b-s6) var(--b-s4);align-items:center;gap:var(--b-s1);flex-direction:column;display:flex}.s-balance--due{background:linear-gradient(180deg, var(--s-sun-tint), var(--b-surface) 85%)!important}.s-balance--clear{background:linear-gradient(180deg, var(--s-leaf-tint), var(--b-surface) 85%)!important}.s-mpesa{color:var(--b-mpesa);letter-spacing:.02em;font-weight:800}.s-paysteps{margin:var(--b-s3) 0;gap:var(--b-s2);padding-left:1.25rem;display:grid}.s-copy{border:1px dashed var(--b-line-2);background:var(--b-surface-2);color:inherit;cursor:pointer;font-size:var(--b-text-md);border-radius:8px;align-items:center;gap:4px;margin-left:4px;padding:2px 8px;display:inline-flex}.s-due{color:var(--b-warning-text)}.s-msg{align-items:flex-start}.s-msg__text{-webkit-line-clamp:2;color:var(--b-fg-2);font-size:var(--b-text-sm);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.s-unread-dot{background:var(--s-sky);border-radius:5px;width:10px;height:10px}.s-msg__full{margin:var(--b-s3) 0;font-size:var(--b-text-lg);white-space:pre-wrap;line-height:1.55}.s-read{align-items:center;gap:6px;display:flex}.s-cal{gap:var(--b-s3);margin:0;padding:0;list-style:none;display:grid}.s-cal__item{align-items:center;gap:var(--b-s4);padding:var(--b-s3) var(--b-s4);background:var(--b-surface);box-shadow:var(--s-shadow);border-radius:16px;display:flex}.s-cal__date{background:var(--s-sky-tint);width:52px;height:52px;color:var(--b-info-text);border-radius:14px;flex-direction:column;flex:none;justify-content:center;align-items:center;display:flex}.s-cal__date b{font:700 1.25rem/1 var(--b-font-display)}.s-cal__date small{text-transform:uppercase;font-size:11px;font-weight:700}.s-cal--exam .s-cal__date{background:var(--s-sun-tint);color:var(--b-warning-text)}.s-cal--event .s-cal__date{background:var(--s-leaf-tint);color:var(--b-success-text)}.s-cal--fee_deadline .s-cal__date{background:var(--s-rose-tint);color:var(--b-danger-text)}.s-cal__body{flex-direction:column;flex:1;min-width:0;display:flex}.s-cal__body small,.s-cal__item>.b-i{color:var(--b-fg-3)}.s-seg-sm{flex:none}.s-seg-sm button{height:30px;padding:0 10px}.s-feats{margin:var(--b-s3) 0;gap:var(--b-s2);padding:0;list-style:none;display:grid}.s-feats li{gap:var(--b-s2);align-items:flex-start;display:flex}.s-feats .b-i{color:var(--s-leaf);margin-top:2px}.s-auth{min-height:100vh;padding:calc(var(--b-s6) + env(safe-area-inset-top)) var(--b-gutter) var(--b-s8);background:radial-gradient(120% 60% at 50% 0%, var(--s-sun-tint), transparent 60%), var(--b-bg);flex-direction:column;justify-content:center;display:flex}.s-auth__card{gap:var(--b-s3);width:100%;max-width:420px;margin:0 auto;display:grid;position:relative}.s-auth__back{position:absolute;top:-8px;left:-10px}.s-auth__icon{background:var(--b-surface);width:56px;height:56px;box-shadow:var(--s-shadow);color:var(--b-accent-text);margin:var(--b-s8) auto var(--b-s2);border-radius:18px;place-items:center;display:grid}.s-auth__title{text-align:center;font-size:1.625rem}.s-auth__lead{color:var(--b-fg-2);text-align:center;margin-bottom:var(--b-s3)}.s-auth__note{text-align:center}.s-input-xl{letter-spacing:.02em;border-radius:14px;height:56px;font-size:1.25rem;font-weight:600}.s-input-code{text-align:center;letter-spacing:.4em;font-variant-numeric:tabular-nums}.s-start{gap:var(--b-s6);flex-direction:column;width:100%;max-width:440px;margin:0 auto;display:flex}.s-start__hero{text-align:center}.s-start__mark{margin:0 auto var(--b-s4);box-shadow:var(--s-shadow);border-radius:18px;display:block}.s-start__title{font-size:2.25rem}.s-start__lead{color:var(--b-fg-2);margin-top:var(--b-s2);font-size:var(--b-text-lg)}.s-start__choices{gap:var(--b-s3);display:grid}.s-choice{align-items:center;gap:var(--b-s4);width:100%;padding:var(--b-s4);background:var(--b-surface);box-shadow:var(--s-shadow);color:inherit;text-align:left;cursor:pointer;border:0;border-radius:20px;min-height:84px;display:flex}.s-choice>span:nth-child(2){flex-direction:column;flex:1;gap:2px;display:flex}.s-choice b{font:650 1.125rem/1.25 var(--b-font-display)}.s-choice small{color:var(--b-fg-2);font-size:var(--b-text-sm)}.s-choice__icon{background:var(--s-sky-tint);width:48px;height:48px;color:var(--s-sky);border-radius:16px;flex:none;place-items:center;display:grid}.s-choice--parent{background:linear-gradient(135deg,#ffe7c2,#fff6e8)}.s-choice--parent .s-choice__icon{color:#e07a1f;background:#fff}:root[data-theme=dark] .s-choice--parent{background:linear-gradient(135deg,#3a2a10,#1e2a3f)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .s-choice--parent{background:linear-gradient(135deg,#3a2a10,#1e2a3f)}}.s-choice--quiet{box-shadow:none;border:1.5px dashed var(--b-line-2);background:0 0}.s-choice--quiet .s-choice__icon{background:var(--s-leaf-tint);color:var(--s-leaf)}.s-start__foot{text-align:center;gap:var(--b-s2);justify-items:center;display:grid}.s-found{justify-content:center;align-items:center;gap:var(--b-s3);margin-top:var(--b-s8);font:650 1.125rem/1.2 var(--b-font-display);min-width:0;display:flex}.s-found>span{flex-direction:column;min-width:0;display:flex}.s-found small{font:500 .875rem/1.3 var(--b-font-ui);overflow-wrap:anywhere}.s-pin{justify-items:center;gap:var(--b-s3);display:grid}.s-pin__input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.s-pin__dots{margin-top:var(--b-s2);gap:14px;display:flex}.s-pin__dots span{border:2px solid var(--b-control);width:16px;height:16px;transition:background-color var(--b-dur-1) var(--b-ease);border-radius:8px}.s-pin__dots span.is-on{background:var(--b-accent);border-color:var(--b-accent)}.s-pin__error{min-height:1.4em;color:var(--b-danger-text);font-size:var(--b-text-sm);text-align:center;font-weight:600}.s-pin__keys{grid-template-columns:repeat(3,76px);gap:14px 22px;display:grid}.s-key{background:var(--b-surface);height:64px;box-shadow:var(--s-shadow);font:600 1.625rem/1 var(--b-font-display);color:var(--b-fg);cursor:pointer;border:0;border-radius:32px}.s-key:active{background:var(--b-surface-3);transform:scale(.96)}.s-key--del{box-shadow:none;background:0 0;place-items:center;display:grid}.s-lock .s-start__mark{margin-top:var(--b-s6)}.s-steps{margin:var(--b-s6) 0 var(--b-s2);justify-content:center;gap:6px;padding:0;list-style:none;display:flex}.s-steps li{background:var(--b-line-2);border-radius:3px;width:28px;height:5px}.s-steps li.is-on{background:var(--b-accent)}.s-reg form,.s-reg .s-auth__card>div{gap:var(--b-s3);display:grid}.s-reg .b-field+.b-field{margin-top:0}.s-tiers{gap:var(--b-s2);grid-template-columns:1fr 1fr;display:grid}.s-tier{padding:var(--b-s4) var(--b-s3);border:1.5px solid var(--b-line-2);background:var(--b-surface);color:inherit;cursor:pointer;text-align:left;border-radius:16px;flex-direction:column;align-items:flex-start;gap:4px;display:flex}.s-tier[aria-checked=true]{border-color:var(--b-accent);background:var(--b-accent-tint)}.s-tier__n{font-weight:650}.s-tier__p{font:650 1.25rem/1.2 var(--b-font-display)}.s-tier__p small{font:500 var(--b-text-xs) var(--b-font-ui);color:var(--b-fg-3)}.s-paybox{padding:var(--b-s6);background:var(--b-pay-tint);border-radius:20px;flex-direction:column;align-items:center;gap:4px;display:flex}.s-wait{justify-items:center;gap:var(--b-s3);padding-top:var(--b-s10);display:grid}.s-spinner{border:4px solid var(--b-line-2);border-top-color:var(--b-accent);border-radius:50%;width:44px;height:44px;animation:.9s linear infinite b-spin}.s-today-grid{gap:var(--b-s2);grid-template-columns:repeat(4,1fr);display:grid}.s-stat{padding:var(--b-s3) 4px;background:var(--b-surface);border:1px solid var(--b-line);border-radius:14px;flex-direction:column;align-items:center;display:flex}.s-stat b{font:700 1.5rem/1.1 var(--b-font-display)}.s-stat span{color:var(--b-fg-3);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.s-stat--p b{color:var(--b-success-text)}.s-stat--l b{color:var(--b-warning-text)}.s-stat--a b{color:var(--b-danger-text)}.s-dash-actions{align-items:center;gap:var(--b-s2);margin-top:var(--b-s3);flex-wrap:wrap;display:flex}.s-mini{background:var(--b-surface-3);border-radius:4px;flex:none;width:84px;height:8px;display:flex;overflow:hidden}.s-mini__p{background:var(--s-leaf)}.s-mini__l{background:var(--s-sun)}.s-mini__a{background:var(--s-rose)}.s-mini__u{background:var(--b-surface-3)}.s-filter{gap:var(--b-s2);grid-template-columns:1fr auto;display:grid}.s-filter .b-select{width:auto}.s-chips{gap:var(--b-s2);flex-wrap:wrap;display:flex}.s-chip{border:1px solid var(--b-line-2);background:var(--b-surface);height:36px;color:var(--b-fg-2);cursor:pointer;border-radius:18px;padding:0 14px;font-weight:600}.s-chip[aria-pressed=true]{background:var(--b-accent);border-color:var(--b-accent);color:#fff}.s-check{gap:var(--b-s2);margin:var(--b-s3) 0;align-items:flex-start;font-weight:500;display:flex}.s-check input{width:20px;height:20px;accent-color:var(--b-accent);margin-top:1px}.s-class__head{justify-content:space-between;align-items:baseline;display:flex}.s-class__actions{gap:var(--b-s2);margin-top:var(--b-s3);flex-wrap:wrap;display:flex}.s-regsum{gap:var(--b-s3);color:var(--b-fg-2);align-items:center;font-weight:600;display:flex}.s-regsum .s-p{color:var(--b-success-text)}.s-regsum .s-l{color:var(--b-warning-text)}.s-regsum .s-a{color:var(--b-danger-text)}.s-reg__row{align-items:center;gap:var(--b-s3);padding:var(--b-s2) var(--b-s3);display:flex}.s-reg__row+.s-reg__row{border-top:1px solid var(--b-line)}.s-reg__name{flex-direction:column;flex:1;min-width:0;display:flex}.s-reg__name b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.s-reg__name small{color:var(--b-success-text);font-size:var(--b-text-xs);align-items:center;gap:4px;font-weight:600;display:inline-flex}.s-pla{gap:6px;display:flex}.s-pla button{border:1.5px solid var(--b-line-2);background:var(--b-surface);width:44px;height:44px;font:700 1rem/1 var(--b-font-display);color:var(--b-fg-3);cursor:pointer;border-radius:12px}.s-pla__present[aria-checked=true]{background:var(--s-leaf);border-color:var(--s-leaf);color:#fff}.s-pla__late[aria-checked=true]{background:var(--s-sun);border-color:var(--s-sun);color:#2a1c00}.s-pla__absent[aria-checked=true]{background:var(--s-rose);border-color:var(--s-rose);color:#fff}.s-marks__pick{gap:var(--b-s2);grid-template-columns:1fr 1fr;display:grid}.s-marks__row{align-items:center;gap:var(--b-s3);padding:6px var(--b-s3);display:flex}.s-marks__row+.s-marks__row{border-top:1px solid var(--b-line)}.s-marks__name{flex:1;font-weight:600}.s-marks__in{text-align:center;font-variant-numeric:tabular-nums;width:76px;font-weight:650}.s-preview__text{padding:var(--b-s3);background:var(--b-surface-2);margin:var(--b-s2) 0;white-space:pre-wrap;border-radius:12px}.s-step__head{align-items:center;gap:var(--b-s3);width:100%;padding:var(--b-s4);color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;display:flex}.s-step__head small{color:var(--b-fg-3);font-size:var(--b-text-sm);display:block}.s-step__n{background:var(--b-surface-3);border-radius:17px;flex:none;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.s-step.is-done .s-step__n{background:var(--s-leaf);color:#fff}.s-step__body{border-top:1px solid var(--b-line);gap:var(--b-s3);display:grid}.s-sample{padding:var(--b-s3);background:var(--b-surface-2);font-size:var(--b-text-xs);white-space:nowrap;border-radius:10px;display:block;overflow-x:auto}.s-file{cursor:pointer;position:relative}.b-sheet__head{justify-content:space-between;align-items:flex-start;gap:var(--b-s3);display:flex}.b-sheet__head .b-sheet__title{flex:1;min-width:0}.b-sheet__close{background:color-mix(in srgb, var(--b-fg-2) 12%, transparent);width:36px;height:36px;color:var(--b-fg-2);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;margin:-2px -6px 0 0;display:grid}.b-sheet__close:focus{outline:none}.b-sheet__close:focus-visible{outline:2px solid var(--b-accent);outline-offset:2px}.s-account .b-card__body{gap:12px;display:grid}.s-account__head{align-items:flex-start;gap:10px;display:flex}.s-account__head p{margin:2px 0 0}.s-account__actions{flex-wrap:wrap;gap:8px;display:flex}.s-account--warning{border-left:4px solid var(--b-warning)}.s-account--danger{border-left:4px solid var(--b-danger)}.b-row.is-muted{opacity:.62}.s-payreq .b-alert{margin:var(--b-s2) 0}.s-doc{border:1px dashed var(--b-line-2);border-radius:12px;align-items:center;gap:8px;padding:10px 12px;display:flex}.s-doc__name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.s-thread{gap:8px;margin:10px 0 0;padding:0;list-style:none;display:grid}.s-thread__msg{background:var(--b-surface-2);border-radius:12px;padding:10px 12px}.s-thread__msg--parent{margin-left:24px}.s-thread__msg--staff{margin-right:24px}.s-approval{border:2px solid var(--b-warning-line)}.s-approval__photo{object-fit:cover;border-radius:50%;width:64px;height:64px}.b-toast{align-items:center;gap:var(--b-s3);display:flex}.b-toast--success{color:#fff;background:#087443}.b-toast--danger{color:#fff;background:#b42318}.b-toast__action{min-height:40px;padding:0 var(--b-s3);border-radius:var(--b-radius-md);color:inherit;cursor:pointer;background:#ffffff29;border:0;flex:none;font-weight:700}.s-confirm{gap:var(--b-s2);margin-top:var(--b-s5);display:grid}.s-success{text-align:center;align-items:center;gap:var(--b-s3);padding-top:var(--b-s2);flex-direction:column;display:flex}.s-success>.b-btn{align-self:stretch}.s-success__mark{place-items:center;width:72px;height:72px;display:grid}.s-success__mark svg{fill:none;stroke-width:3.5px;stroke-linecap:round;stroke-linejoin:round;width:72px;height:72px}.s-success__mark circle{stroke:var(--b-success-text);stroke-dasharray:151;stroke-dashoffset:151px;animation:.42s ease-out forwards s-draw}.s-success__mark path{stroke:var(--b-success-text);stroke-dasharray:40;stroke-dashoffset:40px;animation:.26s ease-out .32s forwards s-draw}.s-success--failed .s-success__mark{background:var(--b-danger-tint,#fde8e8);color:var(--b-danger-text,#9f1d1d);border-radius:50%}.s-success__text{font-size:var(--b-text-md)}.s-success__text b{font:650 var(--b-text-lg)/1.3 var(--b-font-display);display:block}.s-success__figure{font:700 var(--b-text-2xl)/1.1 var(--b-font-display);font-variant-numeric:tabular-nums}.s-success__receipt{color:var(--b-fg-2);letter-spacing:.04em;font-weight:600}@keyframes s-draw{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.s-success__mark circle,.s-success__mark path{stroke-dashoffset:0;animation:none}}.s-ptr__hint{color:var(--b-fg-3);font-size:var(--b-text-sm);place-items:center;font-weight:600;transition:height .12s ease-out;display:grid;overflow:hidden}.s-spinner--sm{border-width:3px;width:24px;height:24px}.s-updated{text-align:center}.s-datechips{gap:var(--b-s2);flex-wrap:wrap;display:flex}.s-datechips .s-chip{align-items:center;gap:6px;min-height:44px;display:inline-flex}.s-dcal__head{margin-bottom:var(--b-s3);justify-content:space-between;align-items:center;display:flex}.s-dcal__grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.s-dcal__dow{text-align:center;font-size:var(--b-text-xs);color:var(--b-fg-3);padding:4px 0;font-weight:700}.s-dcal__day{border-radius:var(--b-radius-md);background:var(--b-surface-2);font-variant-numeric:tabular-nums;cursor:pointer;border:0;min-height:44px;font-weight:600}.s-dcal__day[aria-pressed=true]{background:var(--b-accent);color:#fff}.s-dcal__day:disabled{color:var(--b-fg-3);cursor:default;background:0 0}.b-main>.s-ptr>*+*{margin-top:var(--b-s6)}.s-home>.s-ptr>*+*{margin-top:var(--b-s4)}.b-main>.s-ptr>.s-ptr__hint+*{margin-top:0}.s-fact .b-dot,.s-balance .b-dot{vertical-align:1px;background:currentColor;border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block}.s-fact--due small{color:var(--b-warning-text)}.s-fact--overdue b,.s-fact--overdue small{color:var(--b-danger-text)}.s-fact--clear small .b-dot{color:var(--b-success-text)}.s-balance--overdue{background:linear-gradient(180deg, var(--b-danger-tint), var(--b-surface) 85%)!important}.s-balance--overdue .b-figure{color:var(--b-danger-text)}.s-overdue{color:var(--b-danger-text);font-weight:600}.s-child__pay{margin-top:var(--b-s3);min-height:52px}.s-recap__list{margin:var(--b-s2) 0 0;gap:6px;padding:0;list-style:none;display:grid}.s-recap .b-card__title{align-items:center;gap:8px;display:flex}.s-mean__word{font:650 var(--b-text-md)/1.3 var(--b-font-display);display:block}.s-trend{font-size:var(--b-text-sm);font-variant-numeric:tabular-nums;font-weight:700;display:inline-block}.s-trend--up{color:var(--b-success-text)}.s-trend--down{color:var(--b-warning-text)}.s-trend--flat{color:var(--b-fg-3)}.s-subject__name small.s-trend{font-size:var(--b-text-xs);margin-left:6px}.s-legend{line-height:1.6}.s-regprog{gap:6px;display:grid}.s-regprog__bar{background:var(--b-surface-2);border-radius:999px;height:10px;display:flex;overflow:hidden}.s-regprog__bar>span{min-width:0}.s-regprog__p{background:var(--s-leaf)}.s-regprog__l{background:var(--s-sun)}.s-regprog__a{background:var(--s-rose)}.s-regprog__u{background:var(--b-line-2)}.s-regprog__text{font-weight:600;font-size:var(--b-text-sm);flex-wrap:wrap;gap:4px 12px;display:flex}.s-regprog__text .s-p{color:var(--b-success-text)}.s-regprog__text .s-l{color:var(--b-warning-text)}.s-regprog__text .s-a{color:var(--b-danger-text)}.s-regprog__text .s-u{color:var(--b-fg-2)}.s-regdone{padding-top:var(--b-s8,40px)}.s-marks__stats{justify-content:space-between;gap:var(--b-s3);font-weight:600;font-size:var(--b-text-sm);color:var(--b-fg-2);font-variant-numeric:tabular-nums;display:flex}.s-marks__name{flex-direction:column;display:flex}.s-marks__flag{font-size:var(--b-text-xs);font-weight:700}.s-marks__row.is-bad .s-marks__flag{color:var(--b-danger-text)}.s-marks__row.is-bad .s-marks__in{border-color:var(--b-danger-text);box-shadow:0 0 0 1px var(--b-danger-text)}.s-marks__row.is-odd .s-marks__flag{color:var(--b-warning-text)}.s-marks__row.is-odd .s-marks__in{border-color:var(--b-warning-text)}.s-owing{font-weight:600}.s-sticky-search{top:calc(var(--b-topbar-h) + 4px);z-index:2;position:sticky}.s-bio-offer{align-items:center;gap:var(--b-s3);text-align:center;flex-direction:column;display:flex}.s-bio-offer>.b-btn{align-self:stretch}.s-bio-offer__icon{background:var(--b-accent-tint,var(--b-surface-2));width:64px;height:64px;color:var(--b-accent-text);border-radius:50%;place-items:center;display:grid}.s-bio-offer__icon .b-i{width:32px;height:32px}.s-more summary{cursor:pointer;min-height:44px;color:var(--b-accent-text);align-items:center;font-weight:600;display:flex}.s-more[open] summary{margin-bottom:var(--b-s2)}.s-cal__add{gap:2px;width:auto;min-width:48px;min-height:48px;padding:0 8px;display:inline-flex}.s-mt1{margin-top:var(--b-s1,4px)}.s-lock__brand{justify-items:center;gap:var(--b-s2);margin-top:var(--b-s4);display:grid}.s-lock__logo{object-fit:contain;background:#fff;border-radius:22px;width:96px;height:96px;padding:6px;box-shadow:0 1px 4px #0b1b3f1f}.s-lock__school{font:650 var(--b-text-lg)/1.25 var(--b-font-display);text-align:center;margin:0}.s-lock__schools{margin-top:var(--b-s3);justify-content:center;align-items:center;gap:8px;display:flex}.s-lock__chip .s-school{background:#fff;border-radius:10px;width:36px;height:36px}.s-lock__more{background:var(--b-surface-3);min-width:36px;height:36px;color:var(--b-fg-2);font-weight:700;font-size:var(--b-text-sm);border-radius:10px;place-items:center;padding:0 6px;display:inline-grid}.s-lock__powered{margin:var(--b-s5,20px) 0 0;text-align:center;font-size:var(--b-text-xs,12px);color:var(--b-fg-3);letter-spacing:.02em}.s-switch__logos{display:inline-flex}.s-switch__logos .s-school+.s-school{box-shadow:0 0 0 2px var(--b-surface);margin-left:-10px}.s-school--all{background:var(--b-accent-tint);color:var(--b-accent-text)}.s-chip-colour{border-radius:50%;flex:none;width:10px;height:10px;display:inline-block;box-shadow:inset 0 0 0 1px #0000001f}.b-top__titles{flex:1;min-width:0;display:grid}.s-top__school{min-width:0;font-size:var(--b-text-sm);color:var(--b-fg-2);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;display:inline-flex;overflow:hidden}.s-top__school .s-school{border-radius:6px;width:20px;height:20px;font-size:9px}.s-child__school{margin:0 0 var(--b-s2);font-size:var(--b-text-sm);color:var(--b-fg-2);align-items:center;gap:8px;font-weight:600;display:flex}.s-child__school .s-school{border-radius:7px;width:24px;height:24px;font-size:10px}.s-hello__sub{margin:4px 0 0}.s-urgent{align-items:center;gap:var(--b-s3);width:100%;padding:var(--b-s3) var(--b-s4);border:1px solid var(--b-danger-line,#f5b5ae);border-left:6px solid var(--b-danger,#f04438);background:var(--b-danger-tint,#fef3f2);color:var(--b-fg);text-align:left;cursor:pointer;border-radius:14px;display:flex}.s-urgent>.b-i:first-child{color:var(--b-danger-text,#b42318)}.s-urgent>span{flex:1;gap:2px;min-width:0;display:grid}.s-urgent b{color:var(--b-danger-text,#b42318)}.s-urgent__text{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.b-fam--urgent{background:var(--b-danger-tint,#fef3f2);color:var(--b-danger-text,#b42318)}.s-msg.is-urgent{box-shadow:inset 4px 0 0 var(--b-danger,#f04438)}.s-notice-tiles{gap:var(--b-s2);grid-template-columns:repeat(3,1fr);display:grid}.s-notice-tile{min-height:84px;padding:var(--b-s2);border:1px solid var(--b-line-2);background:var(--b-surface);color:var(--b-fg);font-weight:600;font-size:var(--b-text-sm);text-align:center;cursor:pointer;border-radius:14px;align-content:center;justify-items:center;gap:6px;line-height:1.2;display:grid}.s-notice-tile .b-i{color:var(--b-accent-text)}.s-notice-tile--safety .b-i{color:var(--b-danger-text,#b42318)}.s-notice-tile:active{background:var(--b-surface-3)}.s-stats{margin:var(--b-s2) 0;font-size:var(--b-text-sm);color:var(--b-fg-2);flex-wrap:wrap;gap:6px 14px;display:flex}.s-stats>span{align-items:center;gap:4px;display:inline-flex}.s-stats__saved{color:var(--b-success-text,#067647);font-weight:600}.s-radios{gap:var(--b-s2);display:grid}.s-radio{gap:var(--b-s2);padding:var(--b-s2) var(--b-s3);border:1px solid var(--b-line-2);background:var(--b-surface);cursor:pointer;border-radius:12px;align-items:flex-start;display:flex}.s-radio input{accent-color:var(--b-accent);margin-top:4px}.s-radio span{gap:2px;display:grid}.s-radio small{color:var(--b-fg-3)}.s-urgent-box{padding:var(--b-s3);border:1px solid var(--b-line-2);border-radius:14px}.s-urgent-box.is-on{border-color:var(--b-danger,#f04438);background:var(--b-danger-tint,#fef3f2)}.s-preview__counts{margin:var(--b-s2) 0 0}.s-pick-at .b-tile__title{white-space:normal}.s-toggle{justify-content:space-between;align-items:center;gap:var(--b-s3);padding:var(--b-s2) 0;font-weight:600;display:flex}.s-notice{gap:var(--b-s3);display:grid}.s-mb{margin-bottom:var(--b-s3)}.s-plain{white-space:pre-wrap;overflow-wrap:anywhere}.s-big{font:650 1.25rem/1.3 var(--b-font-display);margin:2px 0}.s-sub{font:650 var(--b-text-md,1rem)/1.3 var(--b-font-display);margin:var(--b-s3) 0 var(--b-s2)}.s-section{margin-top:var(--b-s4)}.s-section__head{justify-content:space-between;align-items:center;gap:var(--b-s2);margin-bottom:var(--b-s2);display:flex}.s-section__title{font:650 var(--b-text-sm)/1.3 var(--b-font-display);color:var(--b-fg-2);text-transform:uppercase;letter-spacing:.05em;margin:0}.s-section__title:empty{display:none}.s-form{gap:var(--b-s2);display:grid}.s-inline{gap:var(--b-s2);display:flex}.s-inline .b-input{flex:1}.s-row-btns{gap:var(--b-s2);margin-top:var(--b-s3);flex-wrap:wrap;display:flex}.s-row-btns .b-btn{flex:auto}.s-wide-btn{align-items:center;gap:var(--b-s3);width:100%;padding:var(--b-s3) var(--b-s4);margin-top:var(--b-s3);border:1px solid var(--b-line);color:inherit;text-align:left;cursor:pointer;font-weight:600;display:flex}.s-wide-btn span{flex:1}.s-err{color:var(--b-danger-text)!important}.s-credit{color:var(--b-success-text)}.b-row__end small{text-align:right;display:block}.s-result{font-variant-numeric:tabular-nums;font-weight:650}.s-cloud{background:var(--b-warning-tint,#fff4db);height:30px;color:var(--b-warning-text);cursor:pointer;border:0;border-radius:15px;align-items:center;gap:4px;margin-left:auto;padding:0 10px;font-weight:700;display:inline-flex}.s-cloud--bad{background:var(--b-danger-tint);color:var(--b-danger-text)}.s-slot{align-items:center;gap:var(--b-s3);padding:var(--b-s3);display:flex}.s-slot+.s-slot{border-top:1px solid var(--b-line)}.s-slot__time{font-variant-numeric:tabular-nums;flex-direction:column;align-items:center;min-width:52px;display:flex}.s-slot__time small{color:var(--b-fg-3);font-size:var(--b-text-xs)}.s-slot__main{flex-direction:column;flex:1;min-width:0;display:flex}.s-slot__main small{color:var(--b-fg-3);font-size:var(--b-text-xs)}.s-slot--next .s-slot__time b{color:var(--b-accent-text)}.s-sess+.s-sess{border-top:1px solid var(--b-line)}.s-sess .s-slot+.s-slot{border-top:0}.s-sess__reg{padding:0 var(--b-s3) var(--b-s3);justify-content:flex-end;display:flex}.s-unit-head__row{align-items:center;gap:var(--b-s4);margin:var(--b-s3) 0;display:flex}.s-regseg button{min-width:38px;font-weight:700}.s-regseg .s-m--P[aria-pressed=true]{background:var(--b-success-text);color:var(--b-surface)}.s-regseg .s-m--L[aria-pressed=true]{background:var(--b-warning-text);color:var(--b-surface)}.s-regseg .s-m--A[aria-pressed=true]{background:var(--b-danger-text);color:var(--b-surface)}.s-regseg .s-m--E[aria-pressed=true]{background:var(--b-fg-2);color:var(--b-surface)}.s-sticky-actions{gap:var(--b-s2);padding:var(--b-s3) 0;background:var(--b-bg);display:grid;position:sticky;bottom:0}.s-marks__opt{width:92px;padding:0 6px}.s-marks__row.is-far .s-marks__flag{color:var(--b-warning-text)}.s-hostels{gap:var(--b-s2);display:grid}.s-occ{gap:var(--b-s2);margin-top:var(--b-s2);grid-template-columns:repeat(4,1fr);display:grid}.s-occ span{font-size:var(--b-text-xs);color:var(--b-fg-3);flex-direction:column;display:flex}.s-occ b{font:700 1.25rem/1.1 var(--b-font-display);color:var(--b-fg)}.s-inv{justify-content:space-between;align-items:center;gap:var(--b-s2);padding:6px 0;display:flex}.s-inv+.s-inv{border-top:1px solid var(--b-line)}.s-check{align-items:center;gap:var(--b-s2);margin:var(--b-s3) 0;font-weight:600;display:flex}.s-idcard{text-align:center}.s-qrbox{margin:var(--b-s4) auto;padding:var(--b-s2);background:#fff;border-radius:12px;place-items:center;width:max-content;display:grid}.s-qr{display:block}.s-secret{letter-spacing:.04em;-webkit-user-select:all;user-select:all}.s-gcard__head{align-items:center;gap:var(--b-s3);margin-bottom:var(--b-s2);display:flex}.s-gcard__row{justify-content:space-between;align-items:center;gap:var(--b-s2);border-top:1px solid var(--b-line);padding:6px 0;display:flex}.s-msg.is-unread .b-row__title{font-weight:700}.s-key--ok{font-size:1rem;font-weight:700}.s-home .s-today-grid,[data-testid=office-today].s-today-grid{margin-top:var(--b-s4);grid-template-columns:repeat(2,minmax(0,1fr))}.s-today-grid .s-fact{background:var(--b-surface);border:1px solid var(--b-line)}.s-fact b{overflow-wrap:anywhere}.s-steps{gap:var(--b-s1);color:var(--b-text-muted);margin:0;padding-left:1.25rem;display:grid}.s-tw-key{gap:var(--b-s2);text-align:center;justify-items:center;display:grid}.s-tw-key__text{word-spacing:.35em;overflow-wrap:anywhere;margin:0;font-size:1.05rem}.s-tw-setup,.s-rc{gap:var(--b-s3);display:grid}.s-rc__list{gap:var(--b-s2) var(--b-s4);padding:var(--b-s3) var(--b-s3) var(--b-s3) 2rem;background:var(--b-surface);box-shadow:var(--s-shadow);-webkit-user-select:all;user-select:all;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;font:600 1rem/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;display:grid}.s-rc__saved{gap:var(--b-s2);align-items:center;font-weight:600;display:flex}.s-rc__saved input{width:1.25rem;height:1.25rem}.s-auth__icon--danger{color:var(--b-danger-text,#b42318)}.s-locked__bring{margin:var(--b-s2) 0 0;gap:var(--b-s1);padding-left:1.25rem;display:grid}.s-help-fact{width:100%;margin:var(--b-s3) 0}.s-help-link{color:var(--b-accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.s-help-photos{gap:var(--b-s2);flex-wrap:wrap;align-items:center;display:flex}.s-help-photo{background:var(--b-surface-2);font-size:var(--b-text-xs);border-radius:16px;align-items:center;gap:4px;max-width:100%;padding:2px 4px 2px 10px;display:inline-flex;overflow:hidden}.s-help-anon{gap:var(--b-s3);padding:var(--b-s2) 0;align-items:flex-start;display:flex}.s-thread{gap:var(--b-s2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.s-thread__msg{padding:var(--b-s3);background:var(--b-surface-2);overflow-wrap:anywhere;border-radius:14px;max-width:92%}.s-thread__msg p{margin:2px 0 6px}.s-thread__msg--me,.s-thread__msg--requester{background:var(--b-accent-tint,var(--b-surface-2));align-self:flex-end}.s-thread__msg--system{border:1px dashed var(--b-line-2);font-size:var(--b-text-xs);background:0 0;align-self:center}.s-thread__msg--internal{background:var(--b-warning-tint,#fff4d6);border-left:3px solid var(--b-warning,#b7791f)}.s-thread__who{font-size:var(--b-text-xs);color:var(--b-fg-2);display:block}.s-stars{justify-content:center;gap:var(--b-s2);margin:var(--b-s3) 0;display:flex}.s-star{color:var(--b-fg-3);cursor:pointer;background:0 0;border:0;min-width:44px;min-height:44px}.s-star.is-on{color:var(--b-warning,#d69e2e)}.b-row.s-late{box-shadow:inset 3px 0 0 var(--b-danger,#c53030)}.g-shell{color:#0a0f1a;min-height:100vh;padding:calc(10px + env(safe-area-inset-top)) 14px calc(18px + env(safe-area-inset-bottom));background:#fff;flex-direction:column;gap:12px;font-size:1.0625rem;display:flex}.g-top{align-items:center;gap:10px;display:flex}.g-top__title{flex-direction:column;flex:1;min-width:0;display:flex}.g-top__title b{font:700 1.125rem/1.2 var(--b-font-display);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.g-top__title span{color:#36435a;font-size:.8125rem;font-weight:600}.g-icon{color:#0a0f1a;cursor:pointer;background:#fff;border:2px solid #0a0f1a;border-radius:14px;place-items:center;width:48px;height:48px;display:grid}.g-net{color:#065f3b;white-space:nowrap;background:#e1f5ea;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:.8125rem;font-weight:700;display:inline-flex}.g-net.is-off{color:#7a3e00;background:#ffe9c7}.g-modes{background:#edf0f5}.g-modes button{color:#36435a;justify-content:center;align-items:center;gap:6px;height:44px;font-size:1rem;display:inline-flex}.g-modes button[aria-pressed=true]{color:#fff;background:#0a0f1a}.g-route{border:2px solid #0a0f1a;height:52px;font-size:1.0625rem}.g-search{border:3px solid #0a0f1a;border-radius:18px;align-items:center;gap:10px;height:64px;padding:0 16px;display:flex}.g-search .b-i{width:26px;height:26px}.g-input{color:#0a0f1a;background:0 0;border:0;outline:none;flex:1;min-width:0;height:100%;font-size:1.375rem;font-weight:600}.g-input::placeholder{color:#5b677d;font-size:1.0625rem;font-weight:500}.g-scan{color:#fff;width:100%;height:84px;font:700 1.375rem/1 var(--b-font-display);cursor:pointer;background:#1257e8;border:0;border-radius:20px;justify-content:center;align-items:center;gap:12px;margin-top:12px;display:flex}.g-scan .b-i{width:34px;height:34px}.g-results{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.g-result{color:#0a0f1a;text-align:left;cursor:pointer;background:#fff;border:2px solid #cbd3df;border-radius:16px;align-items:center;gap:12px;width:100%;min-height:76px;padding:10px 12px;display:flex}.g-result>span:nth-child(2){flex-direction:column;flex:1;min-width:0;display:flex}.g-result b{font-size:1.1875rem}.g-result small{color:#36435a;font-weight:600}.g-state{color:#36435a;white-space:nowrap;background:#edf0f5;border-radius:10px;padding:6px 10px;font-size:.875rem;font-weight:700}.g-state.is-in{color:#065f3b;background:#d9f4e5}.g-state--lg{padding:8px 14px;font-size:1rem}.g-sel{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:18px 4px 0;display:flex;position:relative}.g-sel__close{cursor:pointer;color:#0a0f1a;background:#fff;border:2px solid #0a0f1a;border-radius:16px;place-items:center;width:52px;height:52px;display:grid;position:absolute;top:0;right:0}.g-sel__name{font:750 2rem/1.15 var(--b-font-display);letter-spacing:-.02em;margin-top:6px}.g-sel__meta{color:#36435a;font-size:1.125rem;font-weight:600}.g-actions{gap:12px;width:100%;margin-top:14px;display:grid}.g-btn{width:100%;height:92px;font:750 1.625rem/1 var(--b-font-display);letter-spacing:-.01em;cursor:pointer;color:#fff;border:0;border-radius:22px;justify-content:center;align-items:center;gap:14px;display:flex}.g-btn .b-i{stroke-width:2.2px;width:34px;height:34px}.g-btn:active{filter:brightness(.92);transform:scale(.985)}.g-btn[disabled]{opacity:.5}.g-btn--in{background:#0b7a43}.g-btn--out{background:#0a0f1a}.g-btn--pick{color:#0a0f1a;background:#fff;border:3px solid #0a0f1a;height:76px;font-size:1.375rem}.g-btn--wide{margin-top:12px}.g-btn--close{color:#0a0f1a;background:#fff;height:64px;font-size:1.25rem}.g-done{color:#fff;cursor:pointer;background:#0b7a43;border-radius:18px;align-items:center;gap:14px;padding:16px;display:flex}.g-done .b-i{flex:none;width:32px;height:32px}.g-done b{font-size:1.1875rem;line-height:1.3;display:block}.g-done span{opacity:.95;font-size:.9375rem}.g-done.is-dup{background:#36435a}.g-done.is-off{background:#8a4b00}.g-recent{margin-top:18px}.g-recent h2{color:#36435a;margin-bottom:8px}.g-recent ul{margin:0;padding:0;list-style:none}.g-recent li{border-top:2px solid #edf0f5;align-items:center;gap:10px;padding:11px 0;font-size:1rem;display:flex}.g-recent li b{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.g-kind{text-align:center;color:#0a0f1a;background:#edf0f5;border-radius:8px;min-width:54px;padding:4px 8px;font-size:.8125rem;font-weight:800}.g-kind--in{color:#065f3b;background:#d9f4e5}.g-kind--out{color:#fff;background:#0a0f1a}.g-scanner{z-index:80;padding:calc(12px + env(safe-area-inset-top)) 14px calc(14px + env(safe-area-inset-bottom));background:#000;flex-direction:column;gap:12px;display:flex;position:fixed;inset:0}.g-scanner__video{object-fit:cover;background:#111;border-radius:18px;flex:1;width:100%;min-height:0}.g-scanner__frame{aspect-ratio:1;pointer-events:none;border:4px solid #fff;border-radius:24px;width:64vw;max-width:280px;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 9999px #00000059}.g-scanner__hint{color:#fff;text-align:center;font-size:1.0625rem;font-weight:700}.g-scanner__type{grid-template-columns:1fr auto;gap:8px;display:grid}.g-scanner__type .b-input{height:56px;font-size:1.125rem}.g-scanner__type .b-btn{height:56px}.g-people{gap:8px;margin:0;padding:0;list-style:none;display:grid}.g-person{border:2px solid var(--b-line-2);background:var(--b-surface);width:100%;min-height:80px;color:inherit;text-align:left;cursor:pointer;border-radius:18px;align-items:center;gap:12px;padding:10px 12px;display:flex}.g-person>span:nth-child(2){flex-direction:column;flex:1;display:flex}.g-person b{font-size:1.1875rem}.g-person small{color:var(--b-fg-2);font-weight:600}.g-photo{border:2px dashed var(--b-line-2);background:var(--b-surface-2);width:100%;min-height:76px;color:inherit;cursor:pointer;border-radius:16px;align-items:center;gap:12px;margin-top:12px;padding:10px 14px;font-weight:700;display:flex}.g-photo img{object-fit:cover;border-radius:12px;width:56px;height:56px}.g-done{min-height:96px}.g-done__who{flex:none;position:relative}.g-done__who .s-avatar{border:3px solid #fff}.g-done__tick{color:#0b7a43;background:#fff;border-radius:50%;place-items:center;width:30px;height:30px;animation:.22s ease-out g-pop;display:grid;position:absolute;bottom:-6px;right:-6px}.g-done__tick .b-i{stroke-width:3px;width:20px;height:20px}.g-done.is-dup .g-done__tick{color:#36435a}.g-done.is-off .g-done__tick{color:#8a4b00}.g-done__name{font:750 1.5rem/1.15 var(--b-font-display);letter-spacing:-.01em;margin-bottom:2px;font-style:normal;display:block}.g-done:not(.is-dup):not(.is-off){animation:.6s ease-out g-flash}@keyframes g-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@keyframes g-flash{0%{box-shadow:0 0 #0b7a438c}to{box-shadow:0 0 0 18px #0b7a4300}}@media (prefers-reduced-motion:reduce){.g-done,.g-done__tick{animation:none!important}}.g-stop{color:#fff;background:#b42318;border-radius:18px;grid-template-columns:auto 1fr;gap:12px;padding:16px;display:grid}.g-stop .b-i{width:34px;height:34px}.g-stop b{font:750 1.25rem/1.25 var(--b-font-display);display:block}.g-stop span{font-size:1rem}.g-stop .g-btn{grid-column:1/-1;height:56px}.sb-h1{font:700 1.375rem/1.25 var(--b-font-display);margin:0 0 var(--b-s1)}.sb-hero{gap:var(--b-s3);margin-bottom:var(--b-s3);align-items:center;display:flex}.sb-logo{background:var(--b-primary,#0b6e4f);color:#fff;width:44px;height:44px;font:750 .8125rem/1 var(--b-font-display);letter-spacing:.04em;border-radius:12px;flex:none;place-items:center;display:inline-grid}.sb-logo--lg{border-radius:16px;width:60px;height:60px;font-size:1rem}.sb-today,.sb-officer,.sb-vote-banner{align-items:center;gap:var(--b-s3);width:100%;padding:var(--b-s3);text-align:left;color:inherit;cursor:pointer;border:0;display:flex}.sb-today__main,.sb-officer span,.sb-vote-banner span{flex-direction:column;flex:1;min-width:0;display:flex}.sb-today small,.sb-officer small,.sb-vote-banner small{color:var(--b-fg-3);font-size:var(--b-text-xs)}.sb-vote-banner{background:var(--b-success-bg,#e7f6ee)}.sb-vote-banner b{color:var(--b-success-text,#0b6e4f)}.sb-grid{gap:var(--b-s2);margin-bottom:var(--b-s3);grid-template-columns:repeat(2,1fr);display:grid}.sb-date{flex-direction:column;align-items:center;min-width:40px;display:flex}.sb-date b{font:700 1.125rem/1 var(--b-font-display)}.sb-date small{color:var(--b-fg-3);font-size:var(--b-text-xs);text-transform:uppercase}.sb-cards{margin:var(--b-s3) 0 0;gap:var(--b-s2);padding:0;list-style:none;display:grid}.sb-kv{gap:4px var(--b-s3);margin-top:var(--b-s2);grid-template-columns:1fr auto;display:grid}.sb-line{grid-template-columns:1fr 64px 110px;gap:6px;margin:6px 0;display:grid}.sb-opts{gap:8px;display:grid}.sb-opt{border:1.5px solid var(--b-border);background:var(--b-surface);width:100%;color:inherit;text-align:left;cursor:pointer;font:inherit;border-radius:12px;align-items:center;gap:10px;padding:12px;display:flex}.sb-opt.is-on{border-color:var(--b-primary,#0b6e4f);background:var(--b-surface-2)}.sb-opt__mark{border:1.5px solid var(--b-border);border-radius:50%;flex:none;place-items:center;width:22px;height:22px;display:inline-grid}.sb-opt.is-on .sb-opt__mark{background:var(--b-primary,#0b6e4f);border-color:var(--b-primary,#0b6e4f);color:#fff}.sb-opt small{color:var(--b-fg-3)}.sb-code{letter-spacing:.06em;word-break:break-all;margin:4px 0;font:700 1.25rem/1.4 ui-monospace,Menlo,monospace}.sb-bar-row{margin:8px 0}.sb-bar-head{justify-content:space-between;gap:8px;display:flex}.sb-bar{background:var(--b-surface-2);border-radius:4px;height:8px;overflow:hidden}.sb-bar i{background:var(--b-primary,#0b6e4f);border-radius:4px;height:100%;display:block}.sb-q{margin:var(--b-s2) 0}.sb-ul{margin:6px 0;padding-left:1.2em}.sb-ul li{margin:4px 0}.sb-photos{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.sb-photo{margin:0}.sb-photo img,.sb-photo__ph{aspect-ratio:4/3;object-fit:cover;background:var(--b-surface-2);border-radius:10px;width:100%;display:block}.sb-actions{margin-bottom:var(--b-s3);flex-wrap:wrap;gap:8px;display:flex}
