@layer base{._content_1hxhe_2{max-width:20rem;padding:var(--spacing-2) var(--spacing-3);background-color:var(--popup);color:var(--popup-foreground);border-radius:var(--radius);font-size:.875rem;line-height:1.4;box-shadow:var(--shadow-md);font-family:var(--font-family-base);border:1px solid var(--border);z-index:var(--z-overlay);overflow-wrap:break-word;word-break:keep-all;animation-duration:var(--animation-duration-normal);animation-timing-function:cubic-bezier(.16,1,.3,1);will-change:transform,opacity}._content_1hxhe_2[data-state=delayed-open][data-side=top]{animation-name:_slideDownAndFade_1hxhe_1}._content_1hxhe_2[data-state=delayed-open][data-side=bottom]{animation-name:_slideUpAndFade_1hxhe_1}._content_1hxhe_2[data-state=delayed-open][data-side=left]{animation-name:_slideRightAndFade_1hxhe_1}._content_1hxhe_2[data-state=delayed-open][data-side=right]{animation-name:_slideLeftAndFade_1hxhe_1}@keyframes _slideUpAndFade_1hxhe_1{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes _slideDownAndFade_1hxhe_1{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes _slideLeftAndFade_1hxhe_1{0%{opacity:0;transform:translate(4px)}to{opacity:1;transform:translate(0)}}@keyframes _slideRightAndFade_1hxhe_1{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}}@layer base{._toaster_uhdob_2{--viewport-padding: var(--spacing-4);--toast-width: 360px;--toast-border-radius: var(--radius);--toast-font-family: var(--font-family-base);--toast-animation-duration: var(--animation-duration-normal)}._toast_uhdob_2{display:flex;align-items:flex-start;gap:var(--spacing-3);padding:var(--spacing-4);background-color:var(--card);color:var(--card-foreground);border-radius:var(--radius);box-shadow:var(--shadow-md);border:1px solid var(--border);width:var(--toast-width);position:relative;animation:_slideIn_uhdob_1 var(--toast-animation-duration) cubic-bezier(.16,1,.3,1);transition:transform .2s ease,opacity .2s ease}._toast_uhdob_2:focus{outline:none;box-shadow:var(--shadow-focus)}._toast_uhdob_2:hover{transform:translateY(-2px)}._content_uhdob_35{flex:1;display:flex;flex-direction:column;gap:var(--spacing-1);min-width:0}._title_uhdob_43{font-weight:600;font-size:1rem;color:var(--card-foreground);line-height:1.4}._description_uhdob_50{font-size:.875rem;color:var(--muted-foreground);line-height:1.4}._icon_uhdob_56{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.5rem;height:1.5rem;color:var(--primary)}._actionButton_uhdob_66{padding:var(--spacing-2) var(--spacing-3);background-color:var(--primary);color:var(--primary-foreground);border:none;border-radius:var(--radius-sm);font-weight:500;font-size:.875rem;cursor:pointer;transition:background-color var(--animation-duration-fast) ease;margin-left:var(--spacing-2);white-space:nowrap}._actionButton_uhdob_66:hover{background-color:color-mix(in srgb,var(--primary) 90%,black)}._actionButton_uhdob_66:focus-visible{outline:none;box-shadow:var(--shadow-focus)}._actionButton_uhdob_66:active{background-color:color-mix(in srgb,var(--primary) 80%,black)}._cancelButton_uhdob_93{padding:var(--spacing-2) var(--spacing-3);background-color:var(--muted);color:var(--muted-foreground);border:none;border-radius:var(--radius-sm);font-weight:500;font-size:.875rem;cursor:pointer;transition:background-color var(--animation-duration-fast) ease;white-space:nowrap}._cancelButton_uhdob_93:hover{background-color:color-mix(in srgb,var(--muted) 80%,white)}._cancelButton_uhdob_93:focus-visible{outline:none;box-shadow:var(--shadow-focus)}._cancelButton_uhdob_93:active{background-color:color-mix(in srgb,var(--muted) 75%,white)}._closeButton_uhdob_119{position:absolute;top:var(--spacing-2);right:var(--spacing-2);display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:var(--radius-sm);background-color:transparent;color:var(--muted-foreground);border:none;cursor:pointer;opacity:.7;transition:opacity var(--animation-duration-fast) ease,background-color var(--animation-duration-fast) ease}._closeButton_uhdob_119:hover{opacity:1;background-color:var(--muted)}._closeButton_uhdob_119:focus-visible{outline:none;box-shadow:var(--shadow-focus);opacity:1}.dark ._toast_uhdob_2{border-color:var(--border)}.dark ._actionButton_uhdob_66:hover{background-color:color-mix(in srgb,var(--primary) 90%,white)}.dark ._actionButton_uhdob_66:active{background-color:color-mix(in srgb,var(--primary) 80%,white)}.dark ._cancelButton_uhdob_93:hover{background-color:color-mix(in srgb,var(--muted) 80%,black)}.dark ._cancelButton_uhdob_93:active{background-color:color-mix(in srgb,var(--muted) 70%,black)}@keyframes _slideIn_uhdob_1{0%{transform:translate(calc(100% + var(--viewport-padding)));opacity:0}to{transform:translate(0);opacity:1}}}@layer base{._button_iepkv_2{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);font-family:var(--font-family-base);font-weight:700;border-radius:var(--radius);white-space:nowrap;text-decoration:none;cursor:pointer;transition:background-color var(--animation-duration-fast) ease,box-shadow var(--animation-duration-fast) ease,transform var(--animation-duration-fast) ease;outline:none;border:2px solid var(--ink);position:relative}._button_iepkv_2:focus-visible{outline:3px solid var(--accent);outline-offset:2px}._sm_iepkv_27{height:2rem;padding:0 var(--spacing-3);font-size:.875rem}._md_iepkv_28{height:2.75rem;padding:0 var(--spacing-4);font-size:1rem}._lg_iepkv_29{height:3.25rem;padding:0 var(--spacing-6);font-size:1.0625rem;border-radius:var(--radius-md)}._icon_iepkv_31,._icon-md_iepkv_31{width:2.5rem;height:2.5rem;padding:0}._icon-sm_iepkv_32{width:2rem;height:2rem;padding:0}._icon-lg_iepkv_33{width:3rem;height:3rem;padding:0;border-radius:var(--radius-md)}._button_iepkv_2 svg{flex-shrink:0}._sm_iepkv_27 svg,._icon-sm_iepkv_32 svg{width:1rem;height:1rem}._md_iepkv_28 svg,._icon_iepkv_31 svg,._icon-md_iepkv_31 svg{width:1.25rem;height:1.25rem}._lg_iepkv_29 svg,._icon-lg_iepkv_33 svg{width:1.5rem;height:1.5rem}._primary_iepkv_41,._secondary_iepkv_41,._outline_iepkv_41,._destructive_iepkv_41{box-shadow:var(--shadow-md)}._primary_iepkv_41:hover,._secondary_iepkv_41:hover,._outline_iepkv_41:hover,._destructive_iepkv_41:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--ink)}._primary_iepkv_41:active,._secondary_iepkv_41:active,._outline_iepkv_41:active,._destructive_iepkv_41:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--ink)}._primary_iepkv_41{background-color:var(--primary);color:var(--primary-foreground);--spinner-color: var(--primary-foreground)}._secondary_iepkv_41{background-color:var(--accent);color:var(--accent-foreground);--spinner-color: var(--accent-foreground)}._destructive_iepkv_41{background-color:var(--error);color:var(--error-foreground);--spinner-color: var(--error-foreground)}._outline_iepkv_41{background-color:var(--card);color:var(--ink);--spinner-color: var(--ink)}._ghost_iepkv_77{background-color:transparent;border-color:transparent;color:var(--ink);--spinner-color: var(--ink)}._ghost_iepkv_77:hover{background-color:var(--secondary)}._ghost_iepkv_77:active{background-color:var(--muted)}._link_iepkv_86{background-color:transparent;color:var(--ink);height:auto;padding:0;border:none;border-radius:0;min-height:2.75rem;text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:3px;text-underline-offset:4px;--spinner-color: var(--ink)}._link_iepkv_86:hover{text-decoration-color:var(--ink)}._disabled_iepkv_102{opacity:.45;cursor:not-allowed;pointer-events:none;box-shadow:none}}._shell_12vni_1{min-height:100vh;display:flex;flex-direction:column;background:var(--background);color:var(--foreground);font-family:var(--font-family-base)}._header_12vni_10{position:sticky;top:0;z-index:50;background:var(--card);border-bottom:2px solid var(--ink)}._headerInner_12vni_18{max-width:1200px;margin:0 auto;padding:var(--spacing-2) var(--spacing-4);display:flex;align-items:center;gap:var(--spacing-4)}._brand_12vni_27{display:flex;align-items:center;flex-shrink:0}._logo_12vni_28{height:48px;width:auto;display:block}._nav_12vni_30{display:flex;align-items:center;gap:var(--spacing-1);flex:1;flex-wrap:wrap}._navLink_12vni_38{font-weight:600;font-size:.9375rem;color:var(--ink);text-decoration:none;padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-full);border:2px solid transparent;transition:background-color var(--animation-duration-fast) ease}._navLink_12vni_38:hover{background:var(--secondary)}._active_12vni_49{background:var(--accent);border-color:var(--ink)}._active_12vni_49:hover{background:var(--accent)}._actions_12vni_52{display:flex;align-items:center;gap:var(--spacing-3);margin-left:auto}._sideSwitch_12vni_54{display:inline-flex;border:2px solid var(--ink);border-radius:var(--radius-full);background:var(--surface);padding:2px;flex-shrink:0}._sideBtn_12vni_55{display:inline-flex;align-items:center;gap:4px;border:none;background:transparent;border-radius:var(--radius-full);padding:4px 10px;font:inherit;font-size:.8125rem;font-weight:700;color:var(--muted-foreground);cursor:pointer;min-height:32px}._sideBtn_12vni_55:hover{color:var(--ink)}._sideOn_12vni_57{background:var(--accent);color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}._sideBtn_12vni_55:focus-visible{outline:3px solid var(--accent);outline-offset:2px}._studentChip_12vni_60{display:flex;align-items:center;gap:var(--spacing-2);border:2px solid var(--ink);border-radius:var(--radius-full);padding:2px 4px;background:var(--accent-soft);box-shadow:var(--shadow)}._coin_12vni_70{width:28px;height:28px;border-radius:50%;background:var(--accent);border:2px solid var(--ink);display:grid;place-items:center;font-family:var(--font-family-display);font-weight:800;font-size:.9rem}._chipText_12vni_82{display:flex;flex-direction:column;line-height:1.1}._chipText_12vni_82 strong{font-size:.875rem}._chipText_12vni_82 small{font-size:.7rem;color:var(--muted-foreground)}._chipLeave_12vni_85{border:none;background:transparent;cursor:pointer;padding:6px;border-radius:50%;color:var(--ink);display:grid;place-items:center}._chipLeave_12vni_85:hover{background:var(--card)}._teacherLink_12vni_97{display:inline-flex;align-items:center;gap:4px;font-size:.875rem;font-weight:600;color:var(--muted-foreground);text-decoration:none}._teacherLink_12vni_97:hover{color:var(--ink)}._menuButton_12vni_108{display:none;border:2px solid var(--ink);background:var(--card);border-radius:var(--radius);width:40px;height:40px;place-items:center;cursor:pointer}._mobileOnly_12vni_119{display:none}._kidNav_12vni_122{border-top:2px dashed var(--border-soft);background:var(--surface)}._kidNavInner_12vni_123{max-width:1200px;margin:0 auto;padding:var(--spacing-2) var(--spacing-4);display:flex;gap:var(--spacing-2);overflow-x:auto;scrollbar-width:none}._kidNavInner_12vni_123::-webkit-scrollbar{display:none}._kidTab_12vni_133{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;min-height:44px;padding:0 var(--spacing-4);border:2px solid var(--ink);border-radius:var(--radius-full);background:var(--card);box-shadow:3px 3px 0 var(--ink);color:var(--ink);font-weight:700;font-size:.95rem;text-decoration:none;transition:transform var(--animation-duration-fast) ease,box-shadow var(--animation-duration-fast) ease}._kidTab_12vni_133:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ink)}._kidTab_12vni_133:active{transform:translate(3px,3px);box-shadow:0 0 0 var(--ink)}._kidTab_12vni_133:focus-visible{outline:3px solid var(--accent);outline-offset:2px}._kidTabOn_12vni_153{background:var(--accent)}._main_12vni_155{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:var(--spacing-8) var(--spacing-4) var(--spacing-16)}._footer_12vni_163{border-top:2px dashed var(--border-soft);padding:var(--spacing-6) var(--spacing-4);display:flex;align-items:center;justify-content:center;gap:var(--spacing-3);color:var(--muted-foreground);font-size:.8125rem;text-align:center}._footerPig_12vni_174{width:36px;height:36px}._footerSwitch_12vni_175{border:none;background:none;padding:0;font:inherit;color:var(--ink);font-weight:700;text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:3px;cursor:pointer}._mobileOnly_12vni_119 button._navLink_12vni_38{background:none;text-align:left;font-family:var(--font-family-base);cursor:pointer;width:100%}@media(max-width:1220px){._menuButton_12vni_108{display:grid}._teacherLink_12vni_97{display:none}._mobileOnly_12vni_119{display:block}._nav_12vni_30{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--card);border-bottom:2px solid var(--ink);padding:var(--spacing-3) var(--spacing-4)}._navOpen_12vni_194{display:flex}._headerInner_12vni_18{position:relative}}@media(max-width:520px){._logo_12vni_28{height:38px}._chipText_12vni_82 small,._sideLabel_12vni_201{display:none}._sideBtn_12vni_55{padding:4px 8px;font-size:1rem}._main_12vni_155{padding:var(--spacing-6) var(--spacing-4) var(--spacing-12)}}@media print{._header_12vni_10,._footer_12vni_163{display:none}._main_12vni_155{padding:0;max-width:none}._shell_12vni_1{background:#fff}}._container_1be78_1{display:flex;align-items:center;justify-content:center;min-height:100vh;width:100%;background-color:var(--surface);padding:var(--spacing-4)}._card_1be78_11{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:32rem;width:100%;padding:var(--spacing-8);background-color:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}._iconContainer_1be78_24{margin-bottom:var(--spacing-6);animation:_pulse_1be78_1 3s infinite ease-in-out}._icon_1be78_24{color:var(--error)}._title_1be78_33{font-family:var(--font-family-heading);font-size:1.75rem;font-weight:600;color:var(--foreground);margin-bottom:var(--spacing-4)}._message_1be78_41{font-size:1.125rem;line-height:1.6;color:var(--muted-foreground);margin-bottom:var(--spacing-6)}@keyframes _pulse_1be78_1{0%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}to{transform:scale(1);opacity:1}}@media(max-width:640px){._card_1be78_11{padding:var(--spacing-6)}._title_1be78_33{font-size:1.5rem}._message_1be78_41{font-size:1rem}}@layer base{._skeleton_3rn52_2{position:relative;overflow:hidden;background-color:var(--muted);border-radius:var(--radius);width:100%;height:1rem}._skeleton_3rn52_2:after{content:"";position:absolute;inset:0;transform:translate(-100%);background-image:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:_shimmer_3rn52_1 2s infinite}@keyframes _shimmer_3rn52_1{to{transform:translate(100%)}}.dark ._skeleton_3rn52_2{background-color:var(--muted)}.dark ._skeleton_3rn52_2:after{background-image:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent)}}._container_bfcih_1{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background-color:var(--background);z-index:var(--z-overlay);padding:var(--spacing-4);overflow-y:auto}._content_bfcih_13{width:100%;max-width:450px;display:flex;flex-direction:column;gap:var(--spacing-6);animation:_fadeIn_bfcih_1 var(--animation-duration-normal) ease-out}._lockIcon_bfcih_22{width:1.25rem;height:1.25rem;color:var(--primary);animation:_pulse_bfcih_1 2s infinite ease-in-out;margin-right:var(--spacing-2);vertical-align:middle}._skeletonGrid_bfcih_31{display:flex;flex-direction:column;gap:var(--spacing-4)}._skeletonRow_bfcih_37{display:flex;flex-direction:column;gap:var(--spacing-3)}._titleRow_bfcih_43{display:flex;align-items:center;gap:var(--spacing-4);margin:var(--spacing-2) 0}._leftSkeletons_bfcih_50,._rightSkeletons_bfcih_50{display:flex;flex-direction:column;gap:var(--spacing-2);flex:1}._title_bfcih_43{font-family:var(--font-family-heading);font-size:1.25rem;font-weight:500;color:var(--foreground);text-align:center;margin:0;padding:var(--spacing-2) var(--spacing-3);background-color:var(--surface);border-radius:var(--radius);flex:2;white-space:nowrap;display:flex;align-items:center;justify-content:center}._skeletonBar_bfcih_74{height:.75rem;width:100%;border-radius:var(--radius-sm)}@keyframes _pulse_bfcih_1{0%{opacity:.7}50%{opacity:1}to{opacity:.7}}@keyframes _fadeIn_bfcih_1{0%{opacity:0}to{opacity:1}}@media(max-width:640px){._title_bfcih_43{font-size:1rem;padding:var(--spacing-1) var(--spacing-2)}._content_bfcih_13{max-width:350px}._lockIcon_bfcih_22{width:1rem;height:1rem}}._accessDeniedIcon_1k3wn_1{color:var(--warning)}:root{--z-overlay: 400;--z-spotlight: 1000;--z-critical: 2000;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-12: 3rem;--spacing-16: 4rem;--spacing-20: 5rem}:root{--background: #fbf6ea;--foreground: #1d1b16;--surface: #f3ead6;--surface-foreground: #1d1b16;--sidebar: #f3ead6;--sidebar-foreground: #1d1b16;--card: #fffdf7;--card-foreground: #1d1b16;--popup: #fffdf7;--popup-foreground: #1d1b16;--primary: #1d1b16;--primary-foreground: #fffdf7;--secondary: #efe4cb;--secondary-foreground: #1d1b16;--accent: #f2b632;--accent-foreground: #1d1b16;--accent-soft: #fbe7b0;--muted: #ece3cf;--muted-foreground: #6b6455;--success: #3f7d4e;--success-foreground: #ffffff;--success-soft: #dcebd9;--error: #b5432f;--error-foreground: #ffffff;--error-soft: #f6dcd4;--warning: #c98a12;--warning-foreground: #1d1b16;--info: #2f5f8a;--info-foreground: #ffffff;--info-hover: #284f73;--info-active: #213f5c;--border: #1d1b16;--border-soft: #d9ccae;--ink: #1d1b16;--font-family-base: "Figtree", system-ui, sans-serif;--font-family-display: "Bricolage Grotesque", "Figtree", sans-serif;--font-family-monospace: "JetBrains Mono", ui-monospace, monospace;--font-family-cursive: "Caveat", cursive;--shadow: 2px 2px 0 #1d1b16;--shadow-md: 4px 4px 0 #1d1b16;--shadow-lg: 6px 6px 0 #1d1b16;--shadow-focus: 0 0 0 3px #f2b632;--radius-sm: 6px;--radius: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-full: 9999px;--animation-duration-fast: .12s;--animation-duration-normal: .22s;--animation-duration-slow: .4s;--chart-color-1: #f2b632;--chart-color-2: #1d1b16;--chart-color-3: #3f7d4e;--chart-color-4: #2f5f8a;--chart-color-5: #b5432f}@layer base{:root{--safe-area-inset-top: env(safe-area-inset-top, 0px);--safe-area-inset-right: env(safe-area-inset-right, 0px);--safe-area-inset-bottom: env(safe-area-inset-bottom, 0px);--safe-area-inset-left: env(safe-area-inset-left, 0px)}ul{list-style-type:none;margin:0;padding:0}body{background:var(--background);color:var(--foreground);font-family:var(--font-family-base)}*{box-sizing:border-box;padding:0;margin:0}button{border:none;background:none;cursor:pointer;font-family:inherit;font-size:inherit;color:inherit}a{color:inherit;text-decoration:none}th,td{display:table-cell!important}}.rbc-month-view{overflow:visible!important}
