:root{--md-sys-color-primary: #354192;--md-sys-color-on-primary: #FFFFFF;--md-sys-color-primary-container: #DBE5FF;--md-sys-color-on-primary-container: #1C2868;--md-sys-color-secondary: #6F83BB;--md-sys-color-on-secondary: #FFFFFF;--md-sys-color-secondary-container: #E0E8FF;--md-sys-color-on-secondary-container: #21305F;--md-sys-color-tertiary: #4F669B;--md-sys-color-on-tertiary: #FFFFFF;--md-sys-color-tertiary-container: #D8E6FF;--md-sys-color-on-tertiary-container: #1F3568;--md-sys-color-error: #B3261E;--md-sys-color-on-error: #FFFFFF;--md-sys-color-error-container: #F9DEDC;--md-sys-color-on-error-container: #410E0B;--md-sys-color-background: #F4F7FF;--md-sys-color-on-background: #1E2850;--md-sys-color-surface: #FCFDFF;--md-sys-color-on-surface: #1F2A52;--md-sys-color-surface-variant: #E6ECFA;--md-sys-color-on-surface-variant: #7381AF;--md-sys-color-outline: #A8B5D9;--md-sys-color-outline-variant: #D7E0F4;--md-sys-typescale-font-main: "Roboto", system-ui, sans-serif;--md-sys-typescale-font-accent: "Russo One", var(--md-sys-typescale-font-main);--md-sys-typescale-font-mono: "Roboto Mono", monospace;--md-sys-typescale-h1-size: 32pt;--md-sys-typescale-h1-weight: 400;--md-sys-typescale-h2-size: 28pt;--md-sys-typescale-h3-size: 24pt;--md-sys-typescale-body-large-size: 16pt;--md-sys-typescale-body-medium-size: 14pt;--md-sys-typescale-body-small-size: 12pt;--md-sys-typescale-body-weight: 400;--md-sys-typescale-label-large-size: 14pt;--md-sys-typescale-label-large-weight: 500;--md-sys-shape-none: 0px;--md-sys-shape-xs: 4px;--md-sys-shape-small: 8px;--md-sys-shape-medium: 12px;--md-sys-shape-large: 16px;--md-sys-shape-extra-large: 28px;--md-sys-shape-full: 999px;--md-sys-spacing-unit: 4px;--md-sys-spacing-x1: calc(var(--md-sys-spacing-unit) * 1);--md-sys-spacing-x2: calc(var(--md-sys-spacing-unit) * 2);--md-sys-spacing-x3: calc(var(--md-sys-spacing-unit) * 3);--md-sys-spacing-x4: calc(var(--md-sys-spacing-unit) * 4);--md-sys-spacing-x5: calc(var(--md-sys-spacing-unit) * 5);--md-sys-spacing-x6: calc(var(--md-sys-spacing-unit) * 6);--md-sys-spacing-x8: calc(var(--md-sys-spacing-unit) * 8);--md-sys-elevation-level1: 0px 1px 2px rgba(0, 0, 0, .3), 0px 1px 3px 1px rgba(0, 0, 0, .15);--md-sys-elevation-level2: 0px 1px 2px rgba(0, 0, 0, .3), 0px 2px 6px 2px rgba(0, 0, 0, .15);--md-sys-elevation-level3: 0px 4px 8px 3px rgba(0, 0, 0, .15), 0px 1px 3px rgba(0, 0, 0, .3);--md-sys-state-hover-state-layer-opacity: .08;--md-sys-state-focus-state-layer-opacity: .12;--md-sys-state-pressed-state-layer-opacity: .12;--md-sys-state-dragged-state-layer-opacity: .16;--md-sys-state-disabled-content-opacity: .38;--md-sys-state-disabled-container-opacity: .12;--app-radius-panel: var(--md-sys-shape-extra-large);--app-radius-control: var(--md-sys-shape-large);--app-space-page: var(--md-sys-spacing-x8);--app-space-section: var(--md-sys-spacing-x6);--app-space-inline: var(--md-sys-spacing-x4);--app-border-width: 1px;--app-sidebar-width: calc(var(--md-sys-spacing-unit) * 72);--app-topbar-height: calc(var(--md-sys-spacing-unit) * 18);--app-auth-max-width: calc(var(--md-sys-spacing-unit) * 116);--app-logo-mark-size: calc(var(--md-sys-spacing-unit) * 12);--app-button-height: calc(var(--md-sys-spacing-unit) * 14);--app-field-height: calc(var(--md-sys-spacing-unit) * 15);--app-panel-min-height: calc(var(--md-sys-spacing-unit) * 28);--app-map-min-height: calc(var(--md-sys-spacing-unit) * 120);--app-map-max-height: calc(var(--md-sys-spacing-unit) * 160);--app-map-viewport-offset: calc(var(--md-sys-spacing-unit) * 88);--app-map-height: clamp(var(--app-map-min-height), calc(100dvh - var(--app-map-viewport-offset)), var(--app-map-max-height));--app-content-max-width: calc(var(--md-sys-spacing-unit) * 290);--app-table-cell-width: calc(var(--md-sys-spacing-unit) * 38);--app-hero-min-height: calc(var(--md-sys-spacing-unit) * 168);--app-motion-fast: .16s;--app-color-sidebar: color-mix(in srgb, var(--md-sys-color-primary) 80%, var(--md-sys-color-on-primary-container));--app-color-sidebar-active: color-mix(in srgb, var(--md-sys-color-on-primary) 16%, transparent);--app-color-hero: color-mix(in srgb, var(--md-sys-color-primary) 92%, var(--md-sys-color-on-primary-container));--app-color-line: color-mix(in srgb, var(--md-sys-color-outline-variant) 65%, transparent);--app-color-soft: color-mix(in srgb, var(--md-sys-color-primary-container) 58%, var(--md-sys-color-surface))}*{box-sizing:border-box}html,body,#root{min-height:100dvh}body{margin:0;font-family:var(--md-sys-typescale-font-main);color:var(--md-sys-color-on-background);background:var(--md-sys-color-background)}button,input{font:inherit}a{color:var(--md-sys-color-primary);text-decoration:none}.app-state{min-height:100dvh;display:grid;place-items:center;padding:var(--md-sys-spacing-x8)}.sidebar-backdrop{display:none}.auth-layout{min-height:100dvh}.auth-screen{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:calc(var(--md-sys-spacing-x8) + var(--md-sys-spacing-x4));padding:var(--app-space-page)}.auth-form-column,.auth-hero-column{min-width:0}.auth-form-column{display:flex;flex-direction:column;justify-content:center;gap:var(--app-space-page);padding:calc(var(--md-sys-spacing-x8) + var(--md-sys-spacing-x6)) calc(var(--md-sys-spacing-x8) + var(--md-sys-spacing-x6)) calc(var(--md-sys-spacing-x8) + var(--md-sys-spacing-x4)) calc(var(--md-sys-spacing-x8) + var(--md-sys-spacing-x8));background:var(--md-sys-color-surface)}.auth-form-shell{width:min(100%,calc(var(--md-sys-spacing-unit) * 180));display:flex;flex-direction:column;gap:calc(var(--md-sys-spacing-x8) * 3)}.auth-hero-column{display:flex;align-items:stretch}.auth-hero-card{flex:1;min-height:var(--app-hero-min-height);border-radius:var(--md-sys-shape-extra-large);background-color:var(--app-color-hero);background-position:center;background-repeat:no-repeat;background-size:cover;box-shadow:var(--md-sys-elevation-level3)}.sign-in-card{width:min(100%,calc(var(--app-auth-max-width) + var(--md-sys-spacing-x8)));display:flex;flex-direction:column;gap:calc(var(--md-sys-spacing-x8) + var(--md-sys-spacing-x2))}.sign-in-copy{display:flex;flex-direction:column;gap:var(--md-sys-spacing-x5)}.auth-title{margin:0;font-size:var(--md-sys-typescale-h1-size);font-weight:800;color:var(--md-sys-color-on-primary-container)}.auth-subtitle{margin:0;color:var(--md-sys-color-on-surface-variant)}.auth-subtitle a,.auth-meta-row a{font-weight:600}.auth-form{display:flex;flex-direction:column;gap:calc(var(--md-sys-spacing-x6) + var(--md-sys-spacing-x2))}.auth-meta-row{display:flex;align-items:center;justify-content:space-between}.field{display:flex;flex-direction:column;gap:var(--md-sys-spacing-x3)}.field__label{color:var(--md-sys-color-on-primary-container);font-size:var(--md-sys-typescale-label-large-size);font-weight:700}.field__control{display:flex;align-items:center;min-height:var(--app-field-height);border-bottom:var(--app-border-width) solid var(--app-color-line);gap:var(--md-sys-spacing-x4)}.field__input{flex:1;min-width:0;border:0;outline:none;background:transparent;color:var(--md-sys-color-on-surface);font-size:calc(var(--md-sys-typescale-body-large-size) + 1pt);padding:var(--md-sys-spacing-x2) 0}.field__input::placeholder{color:color-mix(in srgb,var(--md-sys-color-primary) 55%,var(--md-sys-color-on-surface-variant))}.field__hint{color:var(--md-sys-color-on-surface-variant);font-size:var(--md-sys-typescale-body-small-size)}.field__select{-webkit-appearance:none;-moz-appearance:none;appearance:none}.field__control--textarea{align-items:stretch}.field__textarea{min-height:calc(var(--md-sys-spacing-unit) * 28);resize:vertical;padding-block:var(--md-sys-spacing-x3)}.checkbox-field{display:flex;flex-direction:column;gap:var(--md-sys-spacing-x2)}.checkbox-field__main{display:inline-flex;align-items:center;gap:var(--md-sys-spacing-x3)}.checkbox-field__input{width:calc(var(--md-sys-spacing-unit) * 4);height:calc(var(--md-sys-spacing-unit) * 4)}.checkbox-field__label{font-weight:600}.button{min-height:var(--app-button-height);border:0;border-radius:var(--md-sys-shape-large);background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);padding:0 var(--md-sys-spacing-x6);cursor:pointer;transition:transform var(--app-motion-fast),opacity var(--app-motion-fast)}.button:hover{transform:translateY(calc(var(--md-sys-spacing-unit) * -.25))}.button:disabled{opacity:var(--md-sys-state-disabled-content-opacity);cursor:default;transform:none}.button--ghost{background:transparent;color:var(--md-sys-color-primary);border:var(--app-border-width) solid var(--app-color-line)}.icon-button{border:0;background:transparent;color:var(--md-sys-color-primary);cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center}.icon-button--surface{width:var(--app-button-height);min-width:var(--app-button-height);min-height:var(--app-button-height);border-radius:var(--md-sys-shape-full);display:grid;place-items:center;background:var(--md-sys-color-surface);border:var(--app-border-width) solid var(--app-color-line)}.form-error{margin:0;color:var(--md-sys-color-error)}.app-logo{display:inline-flex;align-items:center;gap:var(--md-sys-spacing-x4)}.app-logo--compact .app-logo__copy{display:none}.app-logo__mark{width:calc(var(--app-logo-mark-size) + var(--md-sys-spacing-x2));min-width:calc(var(--app-logo-mark-size) + var(--md-sys-spacing-x2));height:calc(var(--app-logo-mark-size) + var(--md-sys-spacing-x2));border:var(--app-border-width) solid color-mix(in srgb,var(--md-sys-color-primary) 32%,transparent);border-radius:var(--md-sys-shape-medium);display:grid;place-items:center;background:var(--md-sys-color-surface);color:var(--md-sys-color-primary)}.app-logo__mark-glyph{font-weight:800;font-size:calc(var(--md-sys-typescale-body-large-size) + 2pt)}.app-logo__copy{display:flex;flex-direction:column;gap:var(--md-sys-spacing-x1)}.app-logo__title,.app-logo__subtitle{line-height:1}.app-logo__title{font-weight:800;color:var(--md-sys-color-on-primary-container)}.app-logo__subtitle{color:var(--md-sys-color-on-surface-variant)}.auth-submit-button{width:calc(var(--md-sys-spacing-unit) * 44);justify-content:center;align-self:flex-start;padding-inline:var(--md-sys-spacing-x8);border-radius:calc(var(--md-sys-shape-large) + var(--md-sys-spacing-x1));box-shadow:var(--md-sys-elevation-level1)}.dashboard-shell{min-height:100dvh;display:grid;grid-template-columns:var(--app-sidebar-width) minmax(0,1fr)}.app-sidebar{display:flex;flex-direction:column;justify-content:space-between;gap:var(--md-sys-spacing-x8);padding:var(--md-sys-spacing-x6);color:var(--md-sys-color-on-primary);background:var(--app-color-sidebar)}.app-sidebar__top,.app-sidebar__nav,.app-sidebar__footer{display:flex;flex-direction:column}.app-sidebar__top{gap:var(--md-sys-spacing-x8)}.app-sidebar__nav{gap:var(--md-sys-spacing-x2)}.app-sidebar__brand{padding:var(--md-sys-spacing-x2);display:flex;align-items:center;justify-content:space-between;gap:var(--md-sys-spacing-x4)}.app-sidebar__close,.topbar__menu-button{display:none}.sidebar-link,.support-link{display:inline-flex;align-items:center;gap:var(--md-sys-spacing-x4);min-height:var(--app-button-height);padding:0 var(--md-sys-spacing-x4);border-radius:var(--md-sys-shape-large);color:color-mix(in srgb,var(--md-sys-color-on-primary) 86%,transparent)}.sidebar-link--active{background:var(--app-color-sidebar-active);color:var(--md-sys-color-on-primary)}.app-icon{width:calc(var(--md-sys-spacing-unit) * 6);height:calc(var(--md-sys-spacing-unit) * 6);stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:var(--app-border-width);fill:none}.app-icon--filled{stroke:none;fill:currentColor}.auth-password-toggle{width:calc(var(--md-sys-spacing-unit) * 8);min-width:calc(var(--md-sys-spacing-unit) * 8);min-height:calc(var(--md-sys-spacing-unit) * 8)}.dashboard-content{min-width:0;display:flex;flex-direction:column;padding:var(--md-sys-spacing-x6);gap:var(--md-sys-spacing-x6)}.topbar{min-height:var(--app-topbar-height);display:flex;align-items:center;justify-content:space-between;gap:var(--md-sys-spacing-x6);padding:0 var(--md-sys-spacing-x6);background:color-mix(in srgb,var(--md-sys-color-surface) 96%,transparent);border:var(--app-border-width) solid var(--app-color-line);border-radius:var(--md-sys-shape-extra-large);box-shadow:var(--md-sys-elevation-level1)}.topbar__meta,.topbar__actions,.user-badge{display:flex;align-items:center}.topbar__meta,.topbar__actions{gap:var(--md-sys-spacing-x4)}.user-badge{flex-direction:column;align-items:flex-end;gap:var(--md-sys-spacing-x1)}.user-badge__title{font-weight:700}.user-badge__subtitle,.eyebrow{color:var(--md-sys-color-on-surface-variant)}.dashboard-main{flex:1}.page-stack{display:flex;flex-direction:column;gap:var(--md-sys-spacing-x6)}.page-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--md-sys-spacing-x4)}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--md-sys-spacing-x4)}.page-title{margin:0;font-size:var(--md-sys-typescale-h2-size);color:var(--md-sys-color-on-primary-container)}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--md-sys-spacing-x6)}.panel{display:flex;flex-direction:column;gap:var(--md-sys-spacing-x5);min-height:var(--app-panel-min-height);padding:var(--md-sys-spacing-x6);border-radius:var(--md-sys-shape-extra-large);background:color-mix(in srgb,var(--md-sys-color-surface) 98%,transparent);border:var(--app-border-width) solid var(--app-color-line);box-shadow:var(--md-sys-elevation-level1)}.panel__header{display:flex;align-items:center;justify-content:space-between;gap:var(--md-sys-spacing-x4)}.panel__title{color:var(--md-sys-color-on-surface-variant)}.panel__value{color:var(--md-sys-color-on-primary-container);font-size:var(--md-sys-typescale-h3-size)}.form-section{display:flex;flex-direction:column;gap:var(--md-sys-spacing-x5);padding:var(--md-sys-spacing-x6);border-radius:var(--md-sys-shape-extra-large);background:color-mix(in srgb,var(--md-sys-color-surface) 98%,transparent);border:var(--app-border-width) solid var(--app-color-line);box-shadow:var(--md-sys-elevation-level1)}.form-section__header,.form-stack,.limits-stack{display:flex;flex-direction:column}.form-section__header,.limits-stack{gap:var(--md-sys-spacing-x3)}.form-stack{gap:var(--md-sys-spacing-x5)}.form-section__title,.section-inline__title{margin:0;color:var(--md-sys-color-primary);font-family:var(--md-sys-typescale-font-accent)}.form-section__description{margin:0;color:var(--md-sys-color-on-surface-variant);font-size:var(--md-sys-typescale-body-small-size);line-height:1.4}.form-section__body{display:flex;flex-direction:column;gap:var(--md-sys-spacing-x5)}.form-grid{display:grid;gap:var(--md-sys-spacing-x5)}.form-grid--double{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid--schedule{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end}.section-inline{display:flex;align-items:center;justify-content:space-between;gap:var(--md-sys-spacing-x4)}.autocomplete-field{position:relative}.autocomplete-field__menu{position:absolute;top:calc(100% + var(--md-sys-spacing-x2));left:0;right:0;z-index:4;display:flex;flex-direction:column;gap:var(--md-sys-spacing-x1);padding:var(--md-sys-spacing-x2);border-radius:var(--md-sys-shape-large);background:var(--md-sys-color-surface);border:var(--app-border-width) solid var(--app-color-line);box-shadow:var(--md-sys-elevation-level2)}.autocomplete-field__option{border:0;background:transparent;color:var(--md-sys-color-on-surface);display:flex;align-items:center;justify-content:space-between;gap:var(--md-sys-spacing-x3);padding:var(--md-sys-spacing-x3);text-align:left;cursor:pointer;border-radius:var(--md-sys-shape-medium)}.autocomplete-field__option:hover{background:color-mix(in srgb,var(--md-sys-color-primary-container) 48%,transparent)}.autocomplete-field__meta{color:var(--md-sys-color-on-surface-variant)}.data-table{overflow:auto}.data-table table{width:100%;border-collapse:collapse}.data-table th,.data-table td{min-width:var(--app-table-cell-width);text-align:left;padding:var(--md-sys-spacing-x4) var(--md-sys-spacing-x3);border-bottom:var(--app-border-width) solid var(--app-color-line)}.data-table th{color:var(--md-sys-color-on-surface-variant);font-weight:500}.schedule-tile,.schedule-tile.MuiButton-root{min-width:calc(var(--md-sys-spacing-unit) * 10);min-height:calc(var(--md-sys-spacing-unit) * 14);display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--md-sys-spacing-x1);padding:var(--md-sys-spacing-x2) var(--md-sys-spacing-x3);border:var(--app-border-width) solid var(--md-sys-color-primary);border-radius:var(--md-sys-shape-large);background:var(--md-sys-color-surface)}.schedule-tile.schedule-tile--active,.schedule-tile.MuiButton-root.schedule-tile--active{background:color-mix(in srgb,var(--md-sys-color-primary-container) 45%,transparent)}.schedule-tile__day{font-weight:700;line-height:1}.schedule-tile__count{color:var(--md-sys-color-on-surface-variant);font-size:var(--md-sys-typescale-body-small-size);line-height:1}.table-state,.placeholder-copy{color:var(--md-sys-color-on-surface-variant)}.table-state--error{color:var(--md-sys-color-error)}@media(max-width:70rem){.auth-screen,.dashboard-shell{grid-template-columns:minmax(0,1fr)}.auth-screen{padding:0}.auth-form-column{min-height:100dvh;padding:var(--app-space-page)}.auth-form-shell,.sign-in-card{width:100%}.auth-hero-column{display:none}.dashboard-shell{position:relative}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:block;border:0;padding:0;background:color-mix(in srgb,var(--md-sys-color-on-background) 20%,transparent);z-index:2}.app-sidebar{position:fixed;inset-block:0;left:0;width:min(100%,calc(var(--md-sys-spacing-unit) * 84));z-index:3;transform:translate(-100%);transition:transform var(--app-motion-fast)}.app-sidebar--open{transform:translate(0)}.app-sidebar__close,.topbar__menu-button{display:inline-flex}.stats-grid{grid-template-columns:minmax(0,1fr)}.topbar,.page-heading{align-items:flex-start;flex-direction:column}.dashboard-content{padding:var(--app-space-section)}}@media(max-width:48rem){.auth-form-column{padding:var(--app-space-section)}.auth-form-shell{gap:calc(var(--md-sys-spacing-x8) + var(--md-sys-spacing-x4))}.auth-submit-button{width:100%}.topbar{padding:var(--md-sys-spacing-x4)}.topbar__actions{width:100%;justify-content:space-between}.user-badge{align-items:flex-start}.page-actions,.section-inline{align-items:stretch;flex-direction:column}.form-grid--double,.form-grid--schedule{grid-template-columns:minmax(0,1fr)}}
