:root{--bg-app: #f0f2f8;--bg-panel: #ffffff;--bg-sidebar: linear-gradient(180deg, #0f1733 0%, #1a2342 100%);--bg-hero: linear-gradient(90deg, #2440a6 0%, #305ad6 100%);--bg-topbar: #ffffff;--text-main: #101828;--text-soft: #64748b;--topbar-text: #101828;--text-inverse: #f8fafc;--border-soft: #e7ebf3;--shadow-soft: 0 12px 30px rgba(15, 23, 42, .08);--shadow-button: 0 10px 24px rgba(48, 90, 214, .22);--shadow-button-primary: 0 10px 24px rgba(48, 90, 214, .22);--shadow-button-secondary: 0 6px 18px rgba(148, 163, 184, .12);--shadow-button-utility: 0 5px 14px rgba(148, 163, 184, .1);--shadow-hero: 0 14px 34px rgba(36, 64, 166, .22);--shadow-accordion: 0 8px 18px rgba(15, 23, 42, .06);--primary: #305ad6;--primary-hover: #284db8;--success: #22c55e;--warning: #f59e0b;--info: #0ea5e9;--neutral: #94a3b8;--radius-xl: 4px;--radius-lg: 4px;--radius-md: 4px;--sidebar-width: 280px;--universal-bar-height: 84px;--layout-edge: 12px;--transition: .18s ease;color-scheme:light;--font-family-app: "Segoe UI Variable Text", "Segoe UI", "Noto Sans", Arial, sans-serif;--font-size-base: 15px;--font-size-settings-menu: 15px;--font-size-sidebar: 14px;--font-size-topbar: 15px;--font-size-table: 14px;--font-size-th: 12px;--font-size-h1: 20px;--font-size-h2: 30px;--font-size-h3: 20px;--font-size-h4: 17px;--font-size-accordion: 15px;--font-size-accordion-meta: 13px;--font-weight-settings-menu: 500;--font-weight-base: 400;--font-weight-sidebar: 500;--font-weight-topbar: 500;--font-weight-table: 500;--font-weight-th: 500;--font-weight-h1: 600;--font-weight-h2: 600;--font-weight-h3: 600;--font-weight-h4: 600;--font-weight-accordion: 600;--font-weight-accordion-meta: 500;--font-size-button-primary: 14px;--font-size-button-secondary: 14px;--font-size-button-utility: 13px;--button-height-primary: 37px;--button-height-secondary: 37px;--button-height-utility: 37px;--font-weight-button-primary: 600;--font-weight-button-secondary: 500;--font-weight-button-utility: 500;--font-size-eyebrow: 12px;--font-weight-eyebrow: 500;--table-head-text: #64748b;--eyebrow-text: #64748b;--accordion-text: #101828;--accordion-meta-text: #64748b;--form-label-text: #64748b;--form-control-bg: #f4f8fd;--table-head-letter-spacing: .06em;--table-head-transform: uppercase;--eyebrow-letter-spacing: .06em;--eyebrow-transform: uppercase;--settings-tab-text: #64748b;--settings-tab-hover-bg: #edf3ff;--settings-tab-hover-border: #d8e3fb;--settings-tab-hover-text: #101828;--settings-tab-active-bg: #305ad6;--settings-tab-active-border: #305ad6;--settings-tab-active-text: #ffffff;--nav-item-hover-bg: #243250;--nav-item-hover-border: #30405f;--nav-item-active-bg: #2432505c;--nav-item-active-border: #3c4c6a;--nav-item-active-dot: #5eead4;--accordion-radius: 4px;--accordion-border-color: #d8e3fb;--accordion-header-bg: #f8fbff;--accordion-content-bg: #f4f8fd;--button-primary-text: #ffffff;--button-primary-bg: linear-gradient(180deg, #3a63de 0%, #2a4fbe 100%);--button-primary-border: #2a4fbe;--button-primary-hover-bg: linear-gradient(180deg, #284db8 0%, #2f63b8 100%);--button-primary-hover-border: #284db8;--button-primary-active-bg: linear-gradient(180deg, #2446ab 0%, #264da8 100%);--button-primary-active-border: #2446ab;--button-secondary-text: #101828;--button-secondary-bg: #ffffff;--button-secondary-border: #e7ebf3;--button-secondary-hover-bg: #f8fafc;--button-secondary-hover-border: #d8e3fb;--button-secondary-active-bg: #edf3ff;--button-secondary-active-border: #c9dafc;--button-utility-text: #64748b;--button-utility-bg: #f8fafc;--button-utility-border: #e7ebf3;--button-utility-hover-bg: #edf3ff;--button-utility-hover-border: #d8e3fb;--button-utility-active-bg: #e2ebfb;--button-utility-active-border: #c7d7f6;--identity-badge-width: 42px;--identity-badge-height: 42px;--font-size-breadcrumb: 13px;--font-weight-breadcrumb: 500;--breadcrumb-text: #64748b;--font-size-strong: 14px;--font-weight-strong: 600;font-family:var(--font-family-app)}*,*:before,*:after{box-sizing:border-box}html,body,#app{min-height:100%}html,body{margin:0}body{min-height:100vh;background:var(--bg-app);color:var(--text-main);font-size:var(--font-size-base);font-weight:var(--font-weight-base);line-height:1.55;font-family:var(--font-family-app);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar-width) 1fr;grid-template-rows:auto 1fr;font-family:var(--font-family-app)}.sidebar{position:relative;grid-column:1;grid-row:2;min-height:calc(100vh - var(--universal-bar-height));padding:14px 18px 18px;background:var(--bg-sidebar);color:var(--text-inverse);display:flex;flex-direction:column;gap:0;box-shadow:none;z-index:30}.sidebar__body{display:flex;flex:1 1 auto;flex-direction:column;gap:12px}.brand,.panel__header,.topbar,.topbar__left,.topbar__right,.hero,.hero__actions,.stat-card__header{display:flex;align-items:center}.brand{gap:14px}.brand__copy{display:grid;gap:2px;min-width:0}.brand__logo,.avatar{display:grid;place-items:center}.brand__logo{width:44px;height:44px;border-radius:4px;font-size:15px;font-weight:700;letter-spacing:.08em;background:linear-gradient(135deg,#fff,#dbe7ff);color:#2440a6;box-shadow:0 8px 18px #0912272e}.brand__logo--image{width:64px;height:64px;padding:0;background:transparent;box-shadow:none}.brand__logo--image img{width:100%;height:100%;object-fit:contain;display:block}.brand__title{font-size:var(--font-size-brand-title);font-weight:var(--font-weight-brand-title);color:var(--brand-title-text)}.brand__subtitle,.eyebrow{font-size:var(--font-size-eyebrow);font-weight:var(--font-weight-eyebrow);letter-spacing:var(--eyebrow-letter-spacing);text-transform:var(--eyebrow-transform);color:var(--eyebrow-text)}.sidebar-user{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid rgb(255 255 255 / 22%);border-radius:4px;background:#66666612}.sidebar-user__content{display:grid;gap:2px;min-width:0}.sidebar-user strong{font-size:var(--font-size-strong);font-weight:var(--font-weight-strong)}.sidebar-user span{font-size:.74rem;color:#e2e8f0bf}.sidebar-user__settings{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:4px;background:#ffffff14;color:#ffffffe6;flex:0 0 auto;transition:background-color var(--transition),color var(--transition),transform var(--transition)}.sidebar-user__settings-icon{width:14px;height:14px;display:block;fill:currentColor}.sidebar-user__settings:hover,.sidebar-user__settings:focus-visible{background:#ffffff24;color:#fff;transform:translateY(-1px)}.self-service-parent__children-bar{display:flex;flex-wrap:wrap;gap:8px;padding-top:10px}.self-service-parent__child-link{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;text-decoration:none}.self-service-parent__child-link small{font-size:11px;color:var(--text-soft)}.eyebrow--dark{color:var(--eyebrow-text)}.sidebar__nav{display:flex;flex-direction:column;gap:4px}.nav-item{border:1px solid transparent;background:transparent;color:#ffffffeb;border-radius:4px;padding:11px 12px 11px calc(12px + (var(--nav-depth, 0) * 18px));display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer;justify-content:space-between;transition:transform var(--transition),background var(--transition),box-shadow var(--transition),border-color var(--transition)}.nav-item:hover,.nav-item:focus-visible,.nav-item--active{background:var(--nav-item-hover-bg);border-color:var(--nav-item-hover-border);box-shadow:none}.nav-item--active{background:var(--nav-item-active-bg);border-color:var(--nav-item-active-border)}.nav-item:hover,.nav-item:focus-visible{transform:translate(4px)}.nav-item__icon{width:8px;height:8px;border-radius:999px;background:#ffffff52;flex:0 0 auto}.nav-item--active .nav-item__icon{background:var(--nav-item-active-dot);box-shadow:0 0 0 6px color-mix(in srgb,var(--nav-item-active-dot) 20%,transparent)}.nav-item__label{flex:1 1 auto;font-size:var(--font-size-sidebar);font-weight:var(--font-weight-sidebar)}.nav-item--group{margin-top:6px;color:#ffffffeb}.nav-item--group-toggle{position:relative;width:100%;cursor:pointer;letter-spacing:0;text-transform:none}.nav-item--group-toggle:after{content:"";position:absolute;inset:auto 12px 0 calc(34px + (var(--nav-depth, 0) * 18px));height:1px;background:linear-gradient(90deg,#ffffff29,#fff0);opacity:0;transition:opacity var(--transition)}.nav-item--group-toggle:hover:after,.nav-item--group-toggle:focus-visible:after,.nav-item--group-open:after{opacity:1}.nav-item--group:hover,.nav-item--group:focus-visible{transform:translate(2px);background:color-mix(in srgb,var(--nav-item-hover-bg) 82%,transparent);border-color:color-mix(in srgb,var(--nav-item-hover-border) 88%,transparent)}.nav-item--group .nav-item__icon{width:8px;height:8px;border-radius:999px;background:#ffffff3d}.nav-item__chevron{display:inline-flex;align-items:center;justify-content:center;width:18px;color:#ffffffa3;transform:rotate(0);transition:transform .18s ease,color var(--transition)}.nav-item--group-toggle:hover .nav-item__chevron,.nav-item--group-toggle:focus-visible .nav-item__chevron,.nav-item--group-open .nav-item__chevron{color:#ffffffeb}.nav-item--group-open .nav-item__chevron{transform:rotate(90deg)}.sidebar-nav-enter-active,.sidebar-nav-leave-active{transition:opacity .15s ease,transform .18s ease,max-height .18s ease,margin .18s ease;overflow:hidden}.sidebar-nav-enter-from,.sidebar-nav-leave-to{opacity:0;transform:translateY(-4px);max-height:0;margin-top:0;margin-bottom:0}.sidebar-nav-enter-to,.sidebar-nav-leave-from{opacity:1;transform:translateY(0);max-height:56px}.nav-item__status{font-size:.68rem;padding:5px 8px;border-radius:999px;background:#ffffff14;color:#ffffffa8}.nav-item__status--live{background:#22c55e29;color:#bbf7d0}.sidebar__footer{margin-top:auto;padding-top:10px}.sidebar__footer .nav-item--logout{width:100%;margin-top:10px}.nav-item--logout{background:#ffffff0a;border-color:#ffffff14}.nav-item--logout:hover,.nav-item--logout:focus-visible{background:color-mix(in srgb,var(--nav-item-hover-bg) 72%,rgba(255,255,255,.02));border-color:color-mix(in srgb,var(--nav-item-hover-border) 88%,rgba(255,255,255,.08))}.nav-item--logout .nav-item__icon{background:#f87171e0;box-shadow:0 0 0 5px #f8717124}.system-card,.panel,.stat-card{background:var(--bg-panel);border:1px solid var(--border-soft);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.system-card{padding:16px;color:#f3f6fb;background:#ffffff0f;border-color:#ffffff14}.system-card__label{color:#ffffffa6;font-size:.82rem}.system-card__value{margin-top:8px;display:flex;align-items:center;gap:10px;font-weight:600}.system-card__meta{margin-top:8px;color:#ffffffa8;font-size:.74rem}.main{min-width:0;padding:12px 14px;display:flex;flex-direction:column;gap:12px;grid-column:2;grid-row:2}.universal-bar{display:grid;grid-template-columns:minmax(180px,1fr) minmax(380px,720px) minmax(180px,1fr);align-items:center;gap:16px;padding:12px var(--layout-edge);margin:0;border-radius:0;background:#fff9;backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);border:0;box-shadow:var(--shadow-topbar);position:sticky;top:0;z-index:40;grid-column:1 / -1;grid-row:1}.universal-bar__left,.universal-bar__center,.universal-bar__right{min-width:0}.universal-bar__left{display:flex;align-items:center;justify-content:flex-start;gap:14px;min-width:0}.universal-bar__center{display:flex;justify-content:center}.universal-bar__right{display:flex;justify-content:flex-end;min-width:0}.universal-search{position:relative;width:min(100%,680px)}.brand--topbar{align-items:center;min-width:0;color:#172033}.brand--topbar .brand__logo--image{width:58px;height:58px;border-radius:0}.brand--topbar .brand__copy{gap:0}.brand--topbar .brand__title{color:#172033;font-size:20px;line-height:1.08;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand--topbar .brand__subtitle{color:#667085;font-size:12px;line-height:1.15;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.universal-search__field{position:relative;display:block}.universal-search__icon{position:absolute;inset:0 auto 0 14px;display:inline-flex;align-items:center;color:color-mix(in srgb,var(--search-text, #334155) 52%,#8a94a6);z-index:1}.universal-search__field input{width:100%;min-height:calc(var(--search-height) + 8px);border:2px solid #b9c4db;background:var(--search-bg, #f0f2f8);border-radius:4px;padding:10px 18px 10px 12px;color:var(--search-text, #334155);outline:none;font-size:var(--font-size-search);font-weight:500;box-shadow:inset 0 0 4px 2px #0f172a17;transition:border-color var(--transition),box-shadow var(--transition),background-color var(--transition)}.universal-search__field input:focus{border-color:#b9c4db;box-shadow:inset 0 0 0 1px #ffffff7a,0 4px 10px #0f172a0f}.universal-search__field input::placeholder{color:var(--search-placeholder)}.universal-search__dropdown{position:absolute;top:calc(100% + 12px);left:0;right:0;z-index:30;background:#fffffffa;border:0;border-radius:4px;box-shadow:0 26px 54px #0f172a2e;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);overflow:hidden}.universal-search__summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 14px;background:linear-gradient(180deg,#f8fbfffa,#f3f7ffeb);border-bottom:1px solid rgba(216,227,251,.9);color:var(--text-main)}.universal-search__summary strong{font-size:.88rem;font-weight:700}.universal-search__summary span{font-size:.78rem;font-weight:600;color:#2440a6}.universal-search__state{padding:12px 14px;font-size:.84rem;color:var(--text-main)}.universal-search__state--muted{color:var(--text-soft)}.universal-search__groups{display:grid}.universal-search__group+.universal-search__group{border-top:1px solid rgba(231,235,243,.95)}.universal-search__group-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px 8px}.universal-search__group-link{color:var(--text-main);font-size:.84rem;font-weight:700;text-decoration:none}.universal-search__group-link:hover,.universal-search__group-link:focus-visible{color:#2440a6}.universal-search__group-count{min-width:24px;height:24px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#edf3ff;color:#2440a6;font-size:.74rem;font-weight:700}.universal-search__result{display:block;padding:8px 14px;text-decoration:none;color:var(--text-main);transition:background var(--transition)}.universal-search__result:hover,.universal-search__result:focus-visible{background:#edf3ffb8}.universal-search__result-line{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-main);font-size:.8rem;font-weight:400}.universal-search__result-line span{font-weight:400}.universal-identity{display:inline-flex;align-items:center;gap:12px;padding:4px 10px 4px 12px;min-height:calc(var(--identity-badge-height) + 2px);border:0;border-radius:4px;background:transparent;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--identity-badge-text, #172033);box-shadow:none}.universal-identity__content{display:grid;gap:2px;min-width:0}.universal-identity__content strong{font-size:var(--font-size-strong);font-weight:700;color:#172033;line-height:1.1}.universal-identity__content span{font-size:.74rem;font-weight:400;color:#667085;line-height:1.1}.universal-identity__logout{border:1px solid var(--identity-badge-border);background:var(--identity-badge-bg);color:var(--identity-badge-text);border-radius:4px;width:34px;min-width:34px;height:34px;min-height:34px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:.82rem;font-weight:600;box-shadow:var(--shadow-button-utility);transition:background var(--transition),border-color var(--transition),color var(--transition),transform var(--transition)}.universal-identity__logout span{display:inline-flex;align-items:center;justify-content:center;font-size:.94rem;line-height:1}.universal-identity__logout:hover,.universal-identity__logout:focus-visible{background:color-mix(in srgb,var(--identity-badge-bg) 88%,#ffffff 12%);color:var(--identity-badge-text);transform:translateY(-1px)}.topbar{justify-content:space-between;gap:12px;padding:10px var(--layout-edge);border-radius:4px;background:#fff9;backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);border:1px solid var(--border-soft);box-shadow:var(--shadow-soft);font-size:var(--font-size-topbar);font-weight:var(--font-weight-topbar);color:var(--topbar-text)}.topbar__left,.topbar__right,.hero__actions{gap:10px}.topbar__right{justify-content:flex-end}.topbar__content,.hero__content{padding-left:calc(var(--layout-edge) + 2px)}.hero__content{padding-left:calc(var(--layout-edge) + 4px)}.topbar h1,.hero h2,.panel h3{margin:0}.topbar h1{font-size:var(--font-size-h1);font-weight:var(--font-weight-h1);color:var(--heading-h1-text)}.hero h2{font-size:var(--font-size-hero-title);font-weight:var(--font-weight-hero-title);color:var(--hero-title-text)}.panel h3{font-size:var(--font-size-h3);font-weight:var(--font-weight-h3);color:var(--heading-h3-text)}.searchbox{flex:0 1 auto;width:min(var(--search-width),100%);max-width:100%;max-width:420px}.searchbox input{width:100%;border:1px solid var(--search-border);background:var(--search-bg);border-radius:var(--search-radius);padding:8px 11px;min-height:var(--search-height);color:var(--search-text);outline:none;font-size:var(--font-size-search);font-weight:var(--font-weight-search)}.hero{justify-content:space-between;gap:14px;padding:15px var(--layout-edge);border-radius:4px;background:var(--bg-hero);color:var(--text-inverse);box-shadow:var(--shadow-hero)}.hero p{max-width:760px;color:var(--hero-paragraph-text);font-size:var(--font-size-hero-text);font-weight:var(--font-weight-hero-text);margin-bottom:0}.hero .eyebrow{color:var(--hero-eyebrow-text);font-size:var(--font-size-hero-eyebrow);font-weight:var(--font-weight-hero-eyebrow)}p{font-size:var(--font-size-paragraph);font-weight:var(--font-weight-paragraph);color:var(--paragraph-text)}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.stat-card{padding:12px}.stat-card__header{justify-content:space-between;gap:16px;color:var(--text-soft)}.stat-card__value{margin-top:8px;font-size:1.35rem;font-weight:700}.stat-card__footer{margin-top:6px;color:var(--text-soft);display:flex;align-items:center;gap:10px;font-size:.78rem}.content-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(320px,.95fr);gap:10px}.panel{padding:12px}.module-tabs{padding:0;overflow:hidden}.module-tabs--compact{margin-top:-2px}.module-tabs__bar{display:flex;align-items:flex-end;gap:2px;padding:10px 10px 0;border-bottom:1px solid var(--border-soft);background:linear-gradient(180deg,#f8fbff,#f3f7fc);overflow-x:auto}.module-tabs__bar--inner{padding:0 0 10px;border-bottom:0;background:transparent}.module-tabs__tab{border:1px solid transparent;border-bottom:0;background:transparent;color:var(--text-soft);border-top-left-radius:4px;border-top-right-radius:4px;padding:10px 14px 9px;cursor:pointer;white-space:nowrap;transition:color var(--transition),background var(--transition),border-color var(--transition)}.module-tabs__tab:hover,.module-tabs__tab:focus-visible{color:var(--text-main);background:#ffffffa6}.module-tabs__tab--active{color:var(--text-main);background:#fff;border-color:var(--border-soft);box-shadow:0 -1px #fff inset;font-weight:600}.settings-tab{border:1px solid transparent;background:transparent;color:var(--settings-tab-text);border-radius:8px;padding:10px 14px;cursor:pointer;white-space:nowrap;font-size:var(--font-size-settings-menu);font-weight:var(--font-weight-settings-menu);transition:color var(--transition),background var(--transition),border-color var(--transition),box-shadow var(--transition)}.topbar h1,.hero__content h2,.panel__header h2,.panel__header h3,.settings-workspace__title h3,.student-edit-block__header h3{letter-spacing:-.02em}.settings-tab:hover,.settings-tab:focus-visible{color:var(--settings-tab-hover-text);background:var(--settings-tab-hover-bg);border-color:var(--settings-tab-hover-border);box-shadow:none}.settings-tab--active{color:var(--settings-tab-active-text);background:var(--settings-tab-active-bg);border-color:var(--settings-tab-active-border);font-weight:var(--font-weight-settings-menu);box-shadow:none}.module-tabs__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:10px;background:#fff}.module-tabs__action{border:1px solid var(--button-secondary-border);background:var(--button-secondary-bg);color:var(--button-secondary-text);border-radius:4px;display:inline-flex;align-items:center;justify-content:center;height:var(--button-height-secondary);padding:0 11px;white-space:nowrap;cursor:pointer;transition:border-color var(--transition),background var(--transition),transform var(--transition)}.module-tabs__action:hover,.module-tabs__action:focus-visible{background:var(--button-secondary-hover-bg);border-color:var(--button-secondary-hover-border);transform:translateY(-1px)}.module-tabs__action:active{background:var(--button-secondary-active-bg);border-color:var(--button-secondary-active-border)}.panel__header{justify-content:space-between;gap:14px;margin-bottom:10px}.table-shell{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:8px 7px;text-align:left;border-bottom:1px solid rgba(20,42,76,.08);font-size:var(--font-size-table)}th{color:var(--table-head-text);font-size:var(--font-size-th);font-weight:var(--font-weight-th);text-transform:var(--table-head-transform);letter-spacing:var(--table-head-letter-spacing)}.quick-actions{display:grid;gap:6px}.quick-actions__item{border:1px solid rgba(40,87,164,.1);background:linear-gradient(180deg,#fbfdff,#f3f7fc);border-radius:4px;padding:10px;display:flex;align-items:center;gap:12px;color:var(--text-main);cursor:pointer;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition)}.quick-actions__item:hover,.quick-actions__item:focus-visible{transform:translateY(-2px);box-shadow:0 18px 34px #2857a41f;border-color:#2857a433}.quick-actions__icon{color:var(--primary)}.student-grid{grid-template-columns:minmax(340px,1.2fr) minmax(320px,1fr)}.student-grid--wide{grid-template-columns:minmax(0,1.7fr) minmax(360px,1fr)}.assignment-stats-grid .stat-card__value{line-height:1.3}.assignment-groups-panel{display:grid;gap:14px}.assignment-groups-panel__header{align-items:start}.assignment-group-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.assignment-group-tab{display:grid;gap:4px;min-width:0;padding:14px;border:1px solid var(--assignment-group-border);border-radius:var(--assignment-group-radius);background:var(--assignment-group-bg);text-align:left;cursor:pointer;transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition),background var(--transition)}.assignment-group-tab:hover,.assignment-group-tab:focus-visible{transform:translateY(-1px);border-color:var(--assignment-group-hover-border);background:var(--assignment-group-hover-bg);box-shadow:var(--assignment-group-shadow);outline:none}.assignment-group-tab--active{border-color:var(--assignment-group-active-border);background:var(--assignment-group-active-bg);box-shadow:var(--assignment-group-shadow)}.assignment-group-tab__eyebrow{color:var(--eyebrow-text);font-size:.72rem;letter-spacing:var(--eyebrow-letter-spacing, .06em);text-transform:none}.assignment-group-tab strong{color:var(--heading-h3-text);font-size:1rem;line-height:1.25}.assignment-group-tab span:not(.assignment-group-tab__eyebrow){color:var(--paragraph-text);font-size:.84rem;line-height:1.45}.assignment-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.assignment-column{display:grid;gap:14px;align-content:start;min-height:100%}.assignment-column__header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.assignment-column__header h3{margin:0}.assignment-column__count{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 12px;border-radius:999px;font-size:.94rem;font-weight:600}.assignment-column__count--free{background:color-mix(in srgb,#e65a5a 9%,#ffffff 91%);color:#8f3434}.assignment-column__count--assigned{background:color-mix(in srgb,#2f9b69 11%,#ffffff 89%);color:#1f6a48}.assignment-group-summary{display:grid;gap:12px;padding:14px;border:1px solid var(--assignment-group-active-border, var(--assignment-group-border, var(--border-soft)));border-radius:var(--assignment-group-radius, var(--radius-md));background:radial-gradient(circle at top right,color-mix(in srgb,var(--assignment-group-active-border, #6c8ff0) 14%,transparent),transparent 42%),linear-gradient(180deg,color-mix(in srgb,var(--assignment-group-active-bg, #edf3ff) 96%,white 4%),color-mix(in srgb,var(--assignment-group-bg, #ffffff) 94%,white 6%));box-shadow:var(--assignment-group-shadow)}.assignment-group-summary__meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.assignment-group-summary__meta span{display:block;margin-bottom:4px;color:var(--eyebrow-text);font-size:var(--font-size-eyebrow);font-weight:var(--font-weight-eyebrow);letter-spacing:var(--eyebrow-letter-spacing, .06em);text-transform:none}.assignment-group-summary__meta strong{color:var(--heading-h4-text);line-height:1.45;font-weight:var(--font-weight-paragraph)}.assignment-group-summary__note{padding-top:10px;border-top:1px solid color-mix(in srgb,var(--assignment-group-active-border, var(--assignment-group-border, #d8e3fb)) 28%,transparent);color:var(--paragraph-text);font-size:.84rem;line-height:1.6}.assignment-toolbar{display:grid;gap:10px}.assignment-search input{width:100%;min-height:var(--form-control-height);padding:0 14px;border:1px solid var(--form-control-border);border-radius:4px;background:var(--form-control-bg);color:var(--form-control-text);font-size:var(--font-size-search);font-weight:var(--font-weight-search)}.assignment-chip-row,.assignment-sort-row{display:flex;flex-wrap:wrap;gap:8px}.assignment-filter-chip,.assignment-sort-chip,.assignment-sort-direction{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 12px;border:1px solid color-mix(in srgb,var(--panel-border) 84%,var(--hero-start) 16%);border-radius:999px;background:#fffffff5;color:var(--paragraph-text);font-size:.78rem;font-weight:500;cursor:pointer;transition:border-color var(--transition),color var(--transition),background var(--transition),transform var(--transition),box-shadow var(--transition)}.assignment-sort-direction{width:32px;padding:0}.assignment-filter-chip:hover,.assignment-filter-chip:focus-visible,.assignment-sort-chip:hover,.assignment-sort-chip:focus-visible,.assignment-sort-direction:hover,.assignment-sort-direction:focus-visible{transform:translateY(-1px);border-color:color-mix(in srgb,var(--hero-start) 44%,var(--panel-border) 56%);color:var(--heading-h4-text);box-shadow:0 10px 22px #305ad614;outline:none}.assignment-filter-chip--active,.assignment-sort-chip--active{background:color-mix(in srgb,var(--hero-start) 8%,#ffffff 92%);border-color:color-mix(in srgb,var(--hero-start) 44%,var(--panel-border) 56%);color:var(--heading-h4-text)}.assignment-list-shell{position:relative}.assignment-list{display:grid;gap:8px}.assignment-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 12px;border:1px solid color-mix(in srgb,var(--panel-border) 82%,transparent 18%);border-radius:4px;background:#fffffff7;box-shadow:0 10px 24px #0f172a0d}.assignment-row--assigned{border-color:color-mix(in srgb,#2f9b69 18%,var(--panel-border) 82%);background:linear-gradient(180deg,#fffffffa,#f6fdfaf5)}.assignment-row__status{display:inline-flex;align-items:center;justify-content:center;min-width:16px;font-size:.74rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.assignment-row__dot{width:9px;height:9px;border-radius:999px;background:currentColor;box-shadow:0 0 0 4px color-mix(in srgb,currentColor 10%,transparent 90%);animation:assignment-dot-pulse 2.3s ease-in-out infinite}.assignment-row__status--free{color:#b45252}.assignment-row__status--assigned{color:#2b8d62}.assignment-row__body{display:grid;gap:3px;min-width:0}.assignment-row__body strong,.assignment-row__body span{margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assignment-row__body strong{color:var(--heading-h4-text);font-size:.92rem;font-weight:var(--font-weight-paragraph)}.assignment-row__body span{color:var(--paragraph-text);font-size:.79rem}.assignment-row__actions{display:inline-flex;align-items:center;gap:8px}.assignment-row__action{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid color-mix(in srgb,var(--panel-border) 82%,transparent 18%);border-radius:999px;background:#fffffffa;color:var(--heading-h4-text);cursor:pointer;transition:transform var(--transition),border-color var(--transition),background var(--transition),box-shadow var(--transition),color var(--transition)}.assignment-row__action:hover,.assignment-row__action:focus-visible{transform:translateY(-1px);border-color:color-mix(in srgb,var(--hero-start) 44%,var(--panel-border) 56%);box-shadow:0 10px 20px #305ad614;outline:none}.assignment-row__action:disabled{opacity:.55;cursor:wait;transform:none;box-shadow:none}.assignment-row__action--assign{color:#1f6a48}.assignment-row__action--remove{color:#8f3434}.assignment-row__menu-wrap{position:relative}.assignment-row__menu{position:absolute;top:calc(100% + 8px);right:0;z-index:25;display:grid;gap:2px;min-width:212px;padding:8px;border:1px solid color-mix(in srgb,var(--panel-border) 84%,var(--hero-start) 16%);border-radius:4px;background:#fffffffc;box-shadow:0 18px 38px #0f172a1f}.assignment-row__menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:4px;background:transparent;color:var(--heading-h4-text);text-decoration:none;text-align:left;cursor:pointer;transition:background var(--transition),color var(--transition)}.assignment-row__menu-item:hover,.assignment-row__menu-item:focus-visible{background:color-mix(in srgb,var(--hero-start) 7%,#ffffff 93%);color:var(--heading-h4-text);outline:none}.assignment-empty{display:grid;gap:4px;place-items:center;min-height:180px;padding:22px;border:1px dashed color-mix(in srgb,var(--panel-border) 72%,var(--hero-start) 28%);border-radius:4px;background:linear-gradient(180deg,#f8fbfffa,#fffffffa);text-align:center}.assignment-empty strong{color:var(--heading-h4-text)}.assignment-empty span{color:var(--paragraph-text);max-width:36ch}.course-log-panel{margin-top:15px}@keyframes assignment-dot-pulse{0%,to{transform:scale(1);opacity:.95}50%{transform:scale(1.16);opacity:.7}}@media(max-width:1120px){.assignment-board{grid-template-columns:1fr}.assignment-group-summary__meta{grid-template-columns:1fr 1fr}}@media(max-width:720px){.assignment-group-tabs{grid-template-columns:1fr}.assignment-row{grid-template-columns:1fr auto;grid-template-areas:"status actions" "body body";align-items:start}.assignment-row__status{grid-area:status;min-width:0}.assignment-row__body{grid-area:body}.assignment-row__actions{grid-area:actions;justify-self:end}.assignment-group-summary__meta{grid-template-columns:1fr}}.edit-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.student-edit-layout{display:grid;gap:12px}.student-edit-block{display:grid;gap:14px;position:relative}.form-field__required{color:#d92d20;margin-left:4px;font-weight:700}.form-field:has(>input:required)>span:not(:has(.form-field__required)):after,.form-field:has(>select:required)>span:not(:has(.form-field__required)):after,.form-field:has(.phone-input-row>input:required)>span:not(:has(.form-field__required)):after,.form-field:has(.phone-input>input:required)>span:not(:has(.form-field__required)):after{content:" *";color:#d92d20;font-weight:700}.student-form-required-note{margin-top:32px;text-align:center;color:#d92d20;font-size:.82rem;font-weight:600}.form-field__error{display:block;margin-top:6px;color:#d92d20;font-size:.76rem;line-height:1.35}.student-edit-block__header{display:grid;gap:4px}.student-edit-block__header--split{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;position:relative;padding-right:220px}.student-edit-block__header-main{display:grid;gap:4px;min-width:0}.student-edit-block:has(>.settings-role-actions)>.student-edit-block__header{padding-right:220px}.student-edit-block>.settings-role-actions{position:absolute;top:12px;right:12px;justify-content:flex-end;margin:0}.student-edit-block__header--split .settings-role-actions--inline{position:absolute;top:12px;right:12px;justify-content:flex-end;margin:0;padding-top:0;padding-right:0;flex:0 0 auto;width:auto}.student-edit-block__header h3{margin:0}.student-subnav{padding:12px}.student-subnav__tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.student-subnav__tab{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border-radius:12px;border:1px solid rgba(40,87,164,.12);background:linear-gradient(180deg,#fbfdff,#f3f7fc);color:var(--text-main);cursor:pointer;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition)}.student-subnav__tab strong{font-size:var(--font-size-strong);font-weight:var(--font-weight-strong);color:var(--primary)}.student-subnav__tab:hover,.student-subnav__tab:focus-visible,.student-subnav__tab--active{transform:translateY(-2px);box-shadow:0 18px 34px #2857a41f;border-color:#2857a43d}.student-subnav__tab--active{background:linear-gradient(180deg,#eef4ff,#e4edff)}.student-search{margin-bottom:10px;width:min(var(--search-width),100%)}.student-search--compact{margin-bottom:0;flex:0 1 auto;width:min(var(--search-width),100%);max-width:100%}.student-search input{width:100%;border:1px solid var(--search-border);background:var(--search-bg);border-radius:var(--search-radius);padding:8px 11px;min-height:var(--search-height);color:var(--search-text);outline:none;font-size:var(--font-size-search);font-weight:var(--font-weight-search)}.searchbox input::placeholder,.student-search input::placeholder{color:var(--search-placeholder)}.student-list{display:grid;gap:6px}.student-list__item{border:1px solid rgba(40,87,164,.1);background:linear-gradient(180deg,#fbfdff,#f3f7fc);border-radius:4px;padding:10px;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;color:var(--text-main);cursor:pointer;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition)}.student-list__item:hover,.student-list__item:focus-visible,.student-list__item--active{transform:translateY(-2px);box-shadow:0 18px 34px #2857a41f;border-color:#2857a43d}.student-list__main{display:grid;gap:4px}.student-list__main span,.student-profile__identity p,.student-profile__notes p,.student-empty{color:var(--text-soft)}.student-profile{display:grid;gap:10px}.student-profile__identity{display:flex;align-items:center;gap:10px}.student-profile__identity h4{margin:0 0 6px;font-size:var(--font-size-h4);font-weight:var(--font-weight-h4);color:var(--heading-h4-text)}.student-profile__identity p,.student-profile__notes p{margin:0}.profile-meta-line{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.student-sibling-primary-badge{display:inline-flex;align-items:center;margin-left:8px;padding:3px 8px;border-radius:999px;background:color-mix(in srgb,var(--badge-ok-bg, #107c4a) 16%,transparent);color:var(--badge-ok-text, #107c4a);font-size:.62rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle}.student-profile__avatar{width:var(--identity-badge-width);min-width:var(--identity-badge-width);height:var(--identity-badge-height);min-height:var(--identity-badge-height);flex:0 0 var(--identity-badge-width);border-radius:4px;display:grid;place-items:center;color:var(--identity-badge-text);font-size:var(--font-size-button-utility);font-weight:var(--font-weight-button-utility);line-height:1;background:var(--identity-badge-bg);border:1px solid var(--identity-badge-border);box-shadow:var(--shadow-button-utility)}.student-profile__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.student-profile__grid div,.student-profile__notes{padding:10px;border-radius:4px;background:linear-gradient(180deg,#fbfdff,#f4f8fd);border:1px solid rgba(40,87,164,.1)}.student-profile__grid span,.student-profile__notes span{display:block;margin-bottom:8px;color:var(--text-soft);font-size:.85rem}.student-empty{padding:12px;border-radius:4px;background:#2857a40d}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.settings-compact-grid{display:grid;gap:12px}.settings-compact-grid--double{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-compact-grid--triple{grid-template-columns:repeat(3,minmax(0,1fr))}.form-field{display:grid;gap:6px;color:var(--form-label-text);font-size:var(--font-size-base);font-weight:var(--font-weight-base)}.form-field>span{padding-left:12px;font-size:inherit;font-weight:inherit}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid var(--form-control-border, var(--border-soft));background:var(--form-control-bg, #f4f8fd);border-radius:4px;padding:10px 12px;color:var(--form-control-text, var(--text-main));font:inherit;line-height:1.2}.form-field input,.form-field select{height:var(--form-control-height, var(--button-height-secondary));min-height:var(--form-control-height, var(--button-height-secondary))}.form-field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 320 512'%3E%3Cpath d='M143 352.3L7 216.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0L160 256.5l96.4-96.7c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L177 352.3c-9.4 9.4-24.6 9.4-34 0z' fill='%2364748b'/%3E%3C/svg%3E");background-position:calc(100% - var(--form-select-arrow-offset, 18px)) 50%;background-size:13px 13px;background-repeat:no-repeat;padding-right:calc(var(--form-select-arrow-offset, 18px) + 14px)}.form-field textarea{width:100%;border:1px solid var(--form-control-border, var(--border-soft));background:var(--form-control-bg, #f4f8fd);border-radius:4px;padding:10px 12px;color:var(--form-control-text, var(--text-main));font:inherit;min-height:max(120px,var(--form-control-height, var(--button-height-secondary)));resize:vertical}.form-field--full{grid-column:1 / -1}.linked-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.linked-card{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px;border:1px solid rgba(40,87,164,.1);border-radius:4px;background:linear-gradient(180deg,#fbfdff,#f4f8fd);text-align:left;cursor:pointer}.linked-card--static{cursor:default}.linked-card__content{display:grid;gap:4px}.linked-card__content strong,.linked-card__content p,.linked-card__content small{margin:0}.linked-card__content p,.linked-card__content small{color:var(--text-soft)}.settings-workspace{display:grid;gap:0;padding:0;overflow:hidden}.settings-workspace__top{background:#fff;border-bottom:1px solid var(--border-soft)}.settings-workspace__title{display:grid;gap:2px;padding-left:var(--layout-edge)}.settings-workspace__title h3{margin:0;font-size:var(--font-size-breadcrumb);font-weight:var(--font-weight-breadcrumb);color:var(--breadcrumb-text)}.settings-workspace__tabs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px var(--layout-edge);background:linear-gradient(180deg,#f8fbff,#f3f7fc);min-width:0}.settings-workspace__actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-left:auto;padding-left:12px}.settings-save-state{color:#107c4a;font-size:.82rem;font-weight:600;white-space:nowrap}.settings-workspace__body{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding:12px var(--layout-edge);background:#fff}.settings-workspace__main,.settings-workspace__side{display:grid;gap:12px}.settings-feedback{padding:10px 12px;border:1px solid var(--border-soft);border-radius:4px;font-size:13px;font-weight:var(--feedback-font-weight, 500);line-height:1.35}.settings-feedback--success{color:var(--feedback-success-text, #107c4a);background:var(--feedback-success-bg, #f3fbf7);border-color:var(--feedback-success-border, rgba(16, 124, 74, .22))}.settings-feedback--error{color:var(--feedback-error-text, #b33636);background:var(--feedback-error-bg, #fff6f6);border-color:var(--feedback-error-border, rgba(179, 54, 54, .2))}.settings-feedback--warning{color:var(--feedback-warning-text, #b05e12);background:var(--feedback-warning-bg, #fff8ef);border-color:var(--feedback-warning-border, rgba(176, 94, 18, .22))}.settings-feedback--info{color:var(--feedback-info-text, #0d67c8);background:var(--feedback-info-bg, #f3f8ff);border-color:var(--feedback-info-border, rgba(13, 103, 200, .22))}.settings-section{display:grid;gap:12px;padding:12px;border:1px solid var(--border-soft);border-radius:4px;background:var(--bg-panel);align-self:start}.settings-section__header{display:grid;gap:4px}.settings-section__header--split{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px}.settings-section__header h4,.settings-section__header p{margin:0}.settings-section__header h4{font-size:var(--font-size-h4);font-weight:var(--font-weight-h4);color:var(--heading-h4-text)}.student-profile__identity h4,.settings-role-create__header h4,.detail-card h4{color:var(--heading-h4-text)}.settings-section__header p{color:var(--text-soft)}.settings-accordion{display:grid;gap:12px}.settings-accordion__item{border:1px solid var(--accordion-border-color);border-radius:var(--accordion-radius);background:var(--accordion-content-bg);overflow:hidden;box-shadow:var(--shadow-accordion)}.settings-accordion__summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px var(--layout-edge);cursor:pointer;list-style:none;font-size:var(--font-size-accordion);font-weight:var(--font-weight-accordion);color:var(--accordion-text);background:var(--accordion-header-bg)}.settings-accordion__summary::-webkit-details-marker{display:none}.settings-accordion__meta{color:var(--accordion-meta-text);font-size:var(--font-size-accordion-meta);font-weight:var(--font-weight-accordion-meta)}.settings-accordion__content{padding:0 var(--layout-edge) 16px;display:grid;gap:14px;background:var(--accordion-content-bg)}.settings-accordion__content>.settings-section>.settings-section__header{display:none}.settings-inline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.settings-inline-grid--other{gap:16px}.settings-other-column{display:grid;gap:10px;align-content:start}.settings-repeat-list--purposes{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}.settings-repeat-card--purpose{display:grid;gap:14px;width:100%;padding:14px;border:1px solid var(--border-soft);border-radius:4px;background:var(--bg-panel)}.settings-repeat-card__header{display:flex;align-items:center;justify-content:space-between;gap:14px}.settings-repeat-card__header .action-button{margin-left:auto}.settings-purpose-grid{gap:12px}.settings-section__actions{display:flex;justify-content:flex-end;margin-top:2px}.settings-inline-grid--role-header{flex:1;grid-template-columns:repeat(2,minmax(220px,320px));align-items:end;min-width:min(100%,520px)}.settings-help{margin:0;color:var(--text-soft);font-size:.88rem}.logo-upload{display:grid;grid-template-columns:140px minmax(0,1fr);gap:14px}.logo-upload__preview{display:grid;place-items:center;min-height:140px;padding:10px;border:1px dashed var(--border-soft);border-radius:4px;background:linear-gradient(180deg,#fbfdff,#f4f8fd)}.logo-upload__preview img{max-width:100%;max-height:110px;object-fit:contain}.logo-upload__controls{display:grid;gap:10px}.settings-color-grid,.settings-shadow-grid,.settings-typography-grid{display:grid;gap:12px}.settings-token-groups{display:grid;gap:10px}.settings-group-grid{width:100%}.settings-token-group{border:1px solid var(--accordion-border-color);border-radius:var(--accordion-radius);background:#fff;overflow:hidden;box-shadow:var(--shadow-accordion);align-self:start;width:100%;margin:0}.settings-token-group[open]{box-shadow:inset 0 0 0 1px #2857a40f}.settings-token-group__summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;cursor:pointer;list-style:none;font-size:var(--font-size-accordion);font-weight:var(--font-weight-accordion);color:var(--accordion-text)}.settings-token-group__summary::-webkit-details-marker{display:none}.settings-token-group__meta{color:var(--accordion-meta-text);font-size:var(--font-size-accordion-meta);font-weight:var(--font-weight-accordion-meta)}.settings-token-group .settings-color-grid{padding:0 12px 12px;min-width:0;width:100%}.settings-token-group .settings-shadow-grid{padding:0 12px 12px}.settings-color-grid{grid-template-columns:1fr}.settings-color-card,.settings-shadow-card,.settings-typography-card{display:grid;gap:12px;padding:12px;border:1px solid rgba(40,87,164,.1);border-radius:4px;background:#fff;min-width:0;width:100%;box-sizing:border-box}.settings-color-card__head,.settings-shadow-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}.settings-color-card__head>:first-child,.settings-shadow-card__head>:first-child{min-width:0}.settings-color-card__head strong,.settings-shadow-card__head strong,.settings-typography-card strong{font-size:var(--font-size-strong);font-weight:var(--font-weight-strong)}.settings-color-card__head p,.settings-shadow-card__head p{margin:4px 0 0;color:var(--paragraph-text);font-size:var(--font-size-paragraph);font-weight:var(--font-weight-paragraph);overflow-wrap:anywhere}.settings-color-card__swatch{width:32px;height:32px;border:1px solid rgba(15,23,42,.1);border-radius:4px;flex:0 0 auto}.settings-color-card__controls,.settings-shadow-card__controls,.settings-typography-card__controls{display:grid;gap:10px;min-width:0}.settings-shadow-grid{grid-template-columns:1fr}.settings-shadow-card__preview{width:38px;height:38px;border-radius:4px;border:1px solid rgba(15,23,42,.08);background:#fff;flex:0 0 auto}.settings-shadow-card__controls{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-button-card{display:grid;gap:12px;padding:12px;border:1px solid rgba(40,87,164,.1);border-radius:4px;background:#fff}.settings-button-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.settings-button-card__head strong{font-size:var(--font-size-strong);font-weight:var(--font-weight-strong)}.settings-button-card__head p{margin:4px 0 0;color:var(--paragraph-text);font-size:var(--font-size-paragraph);font-weight:var(--font-weight-paragraph)}.settings-button-card__controls{display:grid;gap:10px}.settings-color-inline{display:grid;grid-template-columns:28px 56px minmax(0,1fr);gap:8px;align-items:center;min-width:0;width:100%}.settings-color-inline__swatch{width:28px;height:28px;border:1px solid rgba(15,23,42,.1);border-radius:4px;min-width:0}.settings-color-inline input{min-width:0;width:100%;box-sizing:border-box}.settings-button-preview{border-radius:4px;display:inline-flex;align-items:center;justify-content:center;padding:0 11px;height:var(--button-height-primary);min-height:var(--button-height-primary);border:1px solid transparent;cursor:default}.settings-button-preview--primary{color:var(--button-primary-text);background:var(--button-primary-bg);border-color:var(--button-primary-border);box-shadow:var(--shadow-button-primary);font-size:var(--font-size-button-primary);font-weight:var(--font-weight-button-primary)}.settings-button-preview--secondary{color:var(--button-secondary-text);background:var(--button-secondary-bg);border-color:var(--button-secondary-border);box-shadow:var(--shadow-button-secondary);min-height:var(--button-height-secondary);font-size:var(--font-size-button-secondary);font-weight:var(--font-weight-button-secondary)}.settings-button-preview--utility{color:var(--button-utility-text);background:var(--button-utility-bg);border-color:var(--button-utility-border);box-shadow:var(--shadow-button-utility);min-height:var(--button-height-utility);width:var(--utility-button-width);min-width:var(--utility-button-width);font-size:var(--font-size-button-utility);font-weight:var(--font-weight-button-utility)}.settings-button-preview--search{width:100%;justify-content:flex-start;color:var(--search-placeholder);background:var(--search-bg);border-color:var(--search-border);box-shadow:none;min-height:var(--search-height);border-radius:var(--search-radius);font-size:var(--font-size-search);font-weight:var(--font-weight-search)}.settings-button-preview--identity{color:var(--identity-badge-text);background:var(--identity-badge-bg);border-color:var(--identity-badge-border);box-shadow:var(--shadow-button-utility);width:var(--identity-badge-width);min-width:var(--identity-badge-width);height:var(--identity-badge-height);min-height:var(--identity-badge-height);padding:0;font-size:var(--font-size-button-utility);font-weight:var(--font-weight-button-utility)}.settings-button-preview--badges{color:var(--badge-info-text);background:color-mix(in srgb,var(--badge-info-bg) 12%,transparent);border-color:color-mix(in srgb,var(--badge-info-bg) 24%,transparent);min-height:var(--button-height-utility);font-size:var(--font-size-button-utility);font-weight:var(--font-weight-button-utility)}.settings-hero{position:relative}.settings-hero__edit{position:absolute;right:16px;bottom:16px;display:inline-grid;place-items:center;width:18px;min-width:18px;height:18px;min-height:18px;padding:0;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:#ffffff6b;opacity:.72;font-size:14px;line-height:1;cursor:pointer;appearance:none}.settings-hero__edit:hover,.settings-hero__edit:focus-visible{background:transparent;border:0;box-shadow:none;color:#ffffffc2;opacity:1}.settings-hero__edit:active{background:transparent;border:0;box-shadow:none;color:#ffffffe6}.settings-modal-backdrop{position:fixed;inset:0;background:#0f172a61;display:grid;place-items:center;padding:20px;z-index:120}.settings-modal{width:min(560px,100%);background:var(--bg-panel);border:1px solid var(--border-soft);border-radius:var(--radius-xl);box-shadow:var(--shadow-panel);display:grid;gap:16px;padding:18px;max-height:calc(100vh - 40px);overflow-y:auto;overscroll-behavior:contain}.settings-modal__header,.settings-modal__actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-modal__header{align-items:flex-start}.settings-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:18px;flex-wrap:wrap}.settings-modal__header h4{margin:0 0 4px;font-size:var(--font-size-h4);font-weight:var(--font-weight-h4);color:var(--heading-h4-text)}.settings-modal__header p{margin:0;color:var(--paragraph-text)}.settings-role-create{display:grid;gap:12px}.settings-role-create__header,.settings-role-header,.settings-role-group__header{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px}.settings-role-create__header h4{margin:0 0 4px;font-size:var(--font-size-h4);font-weight:var(--font-weight-h4)}.settings-role-create__header p,.settings-role-group__header span{margin:0;color:var(--text-soft);font-size:.84rem}.settings-role-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.settings-role-groups{display:grid;gap:12px}.settings-role-group{display:grid;gap:10px;padding:12px;border:1px solid rgba(40,87,164,.1);border-radius:4px;background:#fff}.settings-role-table{overflow:auto}.settings-role-table table{min-width:560px}.settings-role-table th,.settings-role-table td{vertical-align:middle}.settings-role-table td:not(:first-child),.settings-role-table th:not(:first-child){text-align:center;width:92px}.settings-accordion>.form-field{display:none}.settings-typography-grid{width:100%}.settings-button-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px;align-items:start}.settings-typography-card,.settings-button-card{align-self:start}.settings-typography-card{display:grid;width:100%;min-width:0;margin:0}.settings-masonry{display:grid;grid-auto-flow:dense;grid-auto-rows:8px;gap:12px;align-items:start}.settings-masonry--groups{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.settings-masonry--typography{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.settings-masonry__item{align-self:start}.settings-checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.settings-checkbox-grid--compact{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.settings-checktile{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:12px;border:1px solid rgba(40,87,164,.1);border-radius:4px;background:color-mix(in srgb,var(--bg-panel) 94%,#f8fbff 6%)}.settings-checktile input[type=checkbox]{margin:2px 0 0}.settings-checktile strong,.settings-checktile span{display:block}.settings-checktile strong{margin-bottom:3px;font-size:var(--font-size-strong);font-weight:var(--font-weight-strong)}.settings-checktile span{color:var(--text-soft);font-size:.82rem}.panel__header--stacked{align-items:flex-start}.student-table__toolbar{position:relative;display:flex;justify-content:flex-end;gap:10px;width:100%}.student-table__toolbar--top{align-items:center;flex-wrap:wrap}.student-table table{min-width:960px;font-size:var(--font-size-table)}.support-table-panel .table-shell{overflow-x:auto}.support-table-panel table{width:max-content;min-width:100%;table-layout:auto}.support-table-panel th,.support-table-panel td{width:auto;min-width:132px;white-space:nowrap}.support-table-panel .student-table__status-col,.support-table-panel .student-table__actions-cell,.support-table-panel .student-table__actions-col{width:56px;min-width:56px}.support-log-table th:first-child,.support-log-table td:first-child{min-width:170px;white-space:nowrap}.support-export-note{display:grid;gap:8px;padding:12px 14px;border:1px solid rgba(40,87,164,.1);border-radius:4px;background:color-mix(in srgb,var(--bg-panel) 94%,#f8fbff 6%);font-size:var(--font-size-body);line-height:1.45}.support-export-note p{margin:0}th{font-weight:var(--font-weight-table)}.student-table__status-col,.student-table__actions-col{width:56px}.student-table__status-cell,.student-table__actions-cell{text-align:center}.student-table__sortable{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;-webkit-user-select:none;user-select:none}.student-table__sort-indicator{color:var(--text-soft);font-size:.78rem}.student-table__status-trigger,.table-link,.row-actions__trigger,.row-actions__menu button{font:inherit}.status-dot{width:10px;height:10px;border-radius:999px;display:inline-block;position:relative}.status-dot:after{content:"";position:absolute;inset:-5px;border-radius:inherit;opacity:.45;animation:pulse 1.8s infinite}.status-dot--green{background:#22c55e}.status-dot--green:after{background:#22c55e33}.status-dot--orange{background:#f59e0b}.status-dot--orange:after{background:#f59e0b33}.status-dot--red{background:#ef4444}.status-dot--red:after{background:#ef444433}.table-link{border:0;padding:0;background:transparent;color:var(--primary);cursor:pointer;text-align:left;font-weight:600}.table-link--secondary{color:var(--text-main);font-weight:500}.table-link:hover,.table-link:focus-visible{text-decoration:underline}.column-config{position:absolute;top:calc(100% + 8px);right:0;min-width:220px;z-index:10;display:grid;gap:8px;padding:12px;border-radius:4px;border:1px solid var(--border-soft);background:#fff;box-shadow:var(--shadow-soft)}.column-config__option{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--text-main)}.row-actions{position:relative;display:inline-flex}.row-actions__trigger{width:var(--utility-button-width);height:var(--button-height-utility);min-height:var(--button-height-utility);border:1px solid var(--button-utility-border);border-radius:4px;background:var(--button-utility-bg);color:var(--button-utility-text);cursor:pointer}.row-actions__trigger:hover,.row-actions__trigger:focus-visible,.icon-button:hover,.icon-button:focus-visible{background:var(--button-utility-hover-bg);border-color:var(--button-utility-hover-border)}.row-actions__trigger:active,.icon-button:active{background:var(--button-utility-active-bg);border-color:var(--button-utility-active-border)}.row-actions__menu{position:absolute;top:calc(100% + 6px);right:0;min-width:160px;z-index:120;padding:6px;border-radius:4px;border:1px solid var(--border-soft);background:#fff;box-shadow:var(--shadow-soft)}.row-actions__menu--fixed{position:fixed;top:auto;right:auto;display:grid;gap:2px;max-width:calc(100vw - 16px);z-index:1200}.row-actions__menu button{width:100%;border:0;border-radius:4px;background:transparent;padding:8px 10px;text-align:left;cursor:pointer;white-space:nowrap}.row-actions__menu button:disabled{color:#94a3b8;cursor:not-allowed}.row-actions__menu button:hover,.row-actions__menu button:focus-visible{background:#f8fafc}.detail-card{padding:12px;border-radius:4px;border:1px solid rgba(40,87,164,.1);background:linear-gradient(180deg,#fbfdff,#f4f8fd)}.detail-card--stacked{display:grid;gap:12px}.detail-card h4{margin:0;font-size:var(--font-size-h4);font-weight:var(--font-weight-h4)}.detail-card p,.muted-copy,.task-row__meta,.detail-grid__label{color:var(--text-soft)}.detail-card p,.muted-copy{margin:0}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.detail-grid>div{padding:10px;border-radius:4px;background:#ffffffbd;border:1px solid rgba(40,87,164,.08)}.detail-grid__label{display:block;margin-bottom:6px;font-size:.76rem}.tag-list,.task-list{display:grid;gap:8px}.tag-list{grid-template-columns:repeat(auto-fit,minmax(160px,max-content))}.task-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:4px;border:1px solid rgba(40,87,164,.1);background:linear-gradient(180deg,#fbfdff,#f4f8fd)}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.2fr .8fr;background:radial-gradient(circle at top left,rgba(48,90,214,.18),transparent 34%),linear-gradient(135deg,#eef2ff,#f8fafc 46%,#eef3ff);padding:28px;gap:20px}.auth-panel{background:#fffffff0;border:1px solid rgba(255,255,255,.6);border-radius:4px;box-shadow:var(--shadow-soft);padding:28px}.auth-panel--hero{background:linear-gradient(135deg,#0f1733fa,#263f9af2);color:var(--text-inverse);display:grid;align-content:space-between;gap:22px}.auth-panel--hero h1{margin:0;font-size:clamp(var(--font-size-h1),3vw,calc(var(--font-size-h1) * 1.66));font-weight:var(--font-weight-h1);line-height:1.02}.auth-panel--hero p{margin:0;max-width:56ch;color:#f1f5f9d1}.auth-demo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.auth-demo-card{display:grid;gap:3px;text-align:left;padding:14px;border-radius:4px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:inherit;transition:transform var(--transition),border-color var(--transition),background var(--transition)}.auth-demo-card:hover{transform:translateY(-2px);border-color:#ffffff3d;background:#ffffff1a}.auth-demo-card strong{font-size:var(--font-size-strong);font-weight:var(--font-weight-strong)}.auth-demo-card span,.auth-demo-card small{color:#f1f5f9d1}.auth-form{display:grid;gap:14px}.auth-form .action-button{height:40px;min-height:40px}.password-policy-card{display:grid;gap:10px;padding:14px;border:1px solid var(--border-soft);border-radius:4px;background:color-mix(in srgb,var(--bg-panel) 94%,#f8fbff 6%)}.password-policy-card__header{display:flex;align-items:center;justify-content:space-between;gap:12px}.password-policy-card__summary{margin:0;color:var(--text-soft);font-size:.9rem}.password-meter{height:10px;overflow:hidden;border-radius:999px;background:#e7ebf3}.password-meter__bar{height:100%;border-radius:inherit;transition:width .16s ease}.password-meter__label{font-size:.84rem;font-weight:600}.password-meter--idle{color:#64748b;background:#cbd5e1}.password-meter--weak{color:#b42318;background:#ef4444}.password-meter--medium{color:#b05e12;background:#f08a24}.password-meter--good{color:#0d67c8;background:#1f87ff}.password-meter--strong{color:#107c4a;background:#17b26a}.password-policy-list{display:grid;gap:8px}.password-policy-list__item{display:flex;align-items:center;gap:10px;color:var(--text-soft);font-size:.92rem}.password-policy-list__item--ok{color:#107c4a}.password-policy-list__icon{min-width:54px;font-size:.76rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.auth-panel .panel__header h3{margin:0;font-size:var(--font-size-h3);font-weight:var(--font-weight-h3);color:var(--heading-h3-text)}.auth-form label{display:grid;gap:6px;font-size:var(--font-size-base);font-weight:var(--font-weight-base);color:var(--text-soft)}.auth-form input[type=email],.auth-form input[type=password]{height:var(--form-control-height, var(--button-height-secondary));min-height:var(--form-control-height, var(--button-height-secondary));padding:0 13px;border-radius:4px;border:1px solid var(--form-control-border, var(--border-soft));background:var(--form-control-bg, #f4f8fd);color:var(--form-control-text, var(--text-main));font:inherit}.password-input{position:relative}.password-input input{width:100%;height:var(--form-control-height, var(--button-height-secondary));min-height:var(--form-control-height, var(--button-height-secondary));padding:0 42px 0 13px;border-radius:4px;border:1px solid var(--form-control-border, var(--border-soft));background:var(--form-control-bg, #f4f8fd);color:var(--form-control-text, var(--text-main));font:inherit}.password-input__toggle{position:absolute;top:50%;right:6px;transform:translateY(-50%);width:30px;height:30px;display:inline-grid;place-items:center;border:0;padding:0;border-radius:4px;background:transparent;color:#64748b;cursor:pointer}.password-input__toggle:hover,.password-input__toggle:focus-visible{background:#edf3ff;color:#2440a6;outline:none}.password-input__toggle svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.password-input__toggle circle{stroke:currentColor}.auth-checkbox{grid-template-columns:auto 1fr;align-items:center;gap:8px}.form-error{color:#b42318;font-size:.82rem}.global-feedback{display:grid;gap:8px;margin:0 0 18px;padding:12px 14px;border:1px solid var(--feedback-info-border, rgba(13, 103, 200, .22));border-radius:4px;background:var(--feedback-info-bg, #f3f8ff);color:var(--feedback-info-text, #0d67c8);font-size:13px;font-weight:var(--feedback-font-weight);box-shadow:0 12px 30px #0f172a0f}.global-feedback--local{margin:10px 0 14px;box-shadow:none}.global-feedback--success{color:var(--feedback-success-text, #107c4a);background:var(--feedback-success-bg, #f3fbf7);border-color:var(--feedback-success-border, rgba(16, 124, 74, .22))}.global-feedback--error{color:var(--feedback-error-text, #b33636);background:var(--feedback-error-bg, #fff6f6);border-color:var(--feedback-error-border, rgba(179, 54, 54, .2))}.global-feedback--warning{color:var(--feedback-warning-text, #b05e12);background:var(--feedback-warning-bg, #fff8ef);border-color:var(--feedback-warning-border, rgba(176, 94, 18, .22))}.global-feedback__body{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.global-feedback__body strong{font-weight:500}.global-feedback__body span{font-weight:400}.global-feedback__list{display:grid;gap:4px;margin:0;padding-left:18px;color:inherit}.toast-stack{position:fixed;top:clamp(72px,20vh,180px);right:28px;z-index:9999;display:grid;gap:14px;width:min(420px,calc(100vw - 32px));pointer-events:none}.app-toast{--toast-accent: #30499f;position:relative;display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:10px;min-height:56px;padding:10px 12px 14px;overflow:hidden;color:#1f2937;background:#fffffffa;border:1px solid rgba(15,23,42,.08);border-radius:4px;box-shadow:0 22px 50px #0f172a38;pointer-events:auto}.app-toast--success{--toast-accent: #107c4a}.app-toast--error{--toast-accent: #bd6b65}.app-toast--warning{--toast-accent: #d19929}.app-toast--info{--toast-accent: #30499f}.app-toast__icon{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;color:#fff;background:var(--toast-accent);font-size:16px;font-weight:700;line-height:1}.app-toast__content{display:flex;align-items:baseline;gap:6px;min-width:0;font-size:13px;font-weight:400}.app-toast__content strong{color:#111827;font-weight:500;white-space:nowrap}.app-toast__content span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400}.app-toast__close{display:grid;place-items:center;width:24px;height:24px;padding:0;color:#8a8f98;background:transparent;border:0;border-radius:999px;cursor:pointer;font-size:20px;line-height:1}.app-toast__close:hover,.app-toast__close:focus-visible{color:#111827;background:#0f172a0f;outline:none}.app-toast__progress{position:absolute;left:0;bottom:0;height:4px;width:100%;background:var(--toast-accent);transform-origin:left center;animation:toast-progress 4.8s linear forwards}.app-toast--success .app-toast__progress{animation-duration:4.2s}.app-toast--error .app-toast__progress{animation-duration:6.2s}.app-toast--warning .app-toast__progress{animation-duration:5.2s}.toast-slide-enter-active,.toast-slide-leave-active{transition:opacity .24s ease,transform .28s ease}.toast-slide-enter-from,.toast-slide-leave-to{opacity:0;transform:translate(36px)}@keyframes toast-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media(max-width:640px){.toast-stack{top:clamp(64px,18vh,132px);right:16px;left:16px;width:auto}.app-toast{grid-template-columns:30px 1fr auto;padding:10px 12px 14px}.app-toast__content{display:grid;gap:2px;font-size:13px}}@media(max-width:900px){.universal-bar{grid-template-columns:1fr;grid-template-areas:"left" "center" "right";gap:10px}.universal-bar__left,.universal-bar__center,.universal-bar__right{width:100%}.universal-bar__left{justify-content:space-between;align-items:center;gap:10px}.universal-bar__right{justify-content:flex-start}.brand--topbar{flex:1 1 auto}.universal-identity{max-width:min(100%,320px)}}.action-button,.icon-button{border:0;border-radius:4px;cursor:pointer}.action-button{display:inline-flex;align-items:center;justify-content:center;padding:0 11px;height:var(--button-height-primary);min-height:var(--button-height-primary);white-space:nowrap;color:var(--button-primary-text);background:var(--button-primary-bg);border:1px solid var(--button-primary-border);box-shadow:var(--shadow-button-primary);font-size:var(--font-size-button-primary);font-weight:var(--font-weight-button-primary);transition:transform var(--transition),box-shadow var(--transition),background var(--transition),border-color var(--transition)}.action-button:hover,.action-button:focus-visible{transform:translateY(-2px);box-shadow:var(--shadow-button-primary);background:var(--button-primary-hover-bg);border-color:var(--button-primary-hover-border)}.action-button:active{background:var(--button-primary-active-bg);border-color:var(--button-primary-active-border);transform:translateY(0)}.action-button--ghost{background:var(--button-secondary-bg);color:var(--button-secondary-text);box-shadow:var(--shadow-button-secondary);border:1px solid var(--button-secondary-border);height:var(--button-height-secondary);min-height:var(--button-height-secondary);font-size:var(--font-size-button-secondary);font-weight:var(--font-weight-button-secondary)}.action-button--ghost:hover,.action-button--ghost:focus-visible{background:var(--button-secondary-hover-bg);border-color:var(--button-secondary-hover-border)}.action-button--ghost:active{background:var(--button-secondary-active-bg);border-color:var(--button-secondary-active-border)}.action-button--block{width:100%;justify-content:center}.topbar-chip{border:1px solid var(--button-secondary-border);background:var(--button-secondary-bg);color:var(--button-secondary-text);border-radius:4px;display:inline-flex;align-items:center;justify-content:center;padding:0 9px;height:var(--button-height-secondary);min-height:var(--button-height-secondary);white-space:nowrap;font-weight:var(--font-weight-button-secondary);font-size:var(--font-size-button-secondary);box-shadow:var(--shadow-button-secondary)}.topbar-chip--alert{color:#305ad6;background:#305ad614;border-color:#305ad61f}.topbar-chip--ok{color:#107c4a;background:#107c4a1f;border-color:#107c4a2e}.icon-button{width:34px;height:var(--button-height-utility);min-height:var(--button-height-utility);background:var(--button-utility-bg);color:var(--button-utility-text);border:1px solid var(--button-utility-border);box-shadow:var(--shadow-button-utility)}.avatar{width:var(--identity-badge-width);min-width:var(--identity-badge-width);height:var(--identity-badge-height);min-height:var(--identity-badge-height);flex:0 0 var(--identity-badge-width);border-radius:4px;color:var(--identity-badge-text);font-size:var(--font-size-button-utility);font-weight:var(--font-weight-button-utility);line-height:1;background:var(--identity-badge-bg);border:1px solid var(--identity-badge-border);box-shadow:var(--shadow-button-utility)}.settings-inline-grid--menu-editor{grid-template-columns:minmax(0,1.65fr) minmax(320px,.95fr)}.settings-inline-grid--templates{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}@media(max-width:980px){.settings-inline-grid--templates{grid-template-columns:1fr}.universal-bar{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"left right" "center center";gap:12px;padding:10px 12px}.universal-bar__left{grid-area:left;min-width:0}.universal-bar__center{grid-area:center}.universal-bar__right{grid-area:right;align-self:start}.universal-search{width:100%}.brand--topbar{max-width:100%}.brand--topbar .brand__logo--image{width:42px;height:42px}.brand--topbar .brand__title{font-size:1rem}.universal-identity{max-width:min(42vw,260px);padding-inline:8px 10px;gap:8px}.universal-identity__content{min-width:0}.universal-identity__content strong,.universal-identity__content span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.template-studio{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:14px;align-items:start}.template-studio__sidebar,.template-studio__detail{display:grid;gap:14px}.template-studio__sidebar{position:sticky;top:12px}.template-studio__sidebar-top,.template-studio__list,.template-studio__editor,.template-studio__preview,.template-studio__tokens{padding:14px;border:1px solid var(--template-surface-border);border-radius:4px;background:var(--template-surface-bg);box-shadow:0 12px 28px #0f172a0f}.template-studio__category-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:5px;border:1px solid var(--settings-tab-hover-border);border-radius:4px;background:var(--settings-tab-hover-bg)}.template-studio__category-button{display:grid;gap:2px;min-width:0;padding:10px 11px;border:0;border-radius:4px;background:transparent;color:var(--settings-tab-text);text-align:left;cursor:pointer;transition:background var(--transition),color var(--transition),box-shadow var(--transition),transform var(--transition)}.template-studio__category-button strong,.template-studio__category-button span{margin:0}.template-studio__category-button strong{color:inherit;font-size:var(--font-size-h4);font-weight:var(--font-weight-h4)}.template-studio__category-button span{font-size:.76rem;line-height:1.35;white-space:normal;overflow-wrap:anywhere;color:inherit}.template-studio__category-button:hover,.template-studio__category-button:focus-visible{background:var(--settings-tab-hover-bg);color:var(--settings-tab-hover-text);box-shadow:inset 0 0 0 1px var(--settings-tab-hover-border);outline:none}.template-studio__category-button--active{background:var(--settings-tab-active-bg);color:var(--settings-tab-active-text);box-shadow:inset 0 0 0 1px var(--settings-tab-active-border)}.template-studio__list{display:grid;gap:11px}.template-studio__nav{display:grid;gap:8px;width:100%;padding:14px;border:1px solid var(--template-surface-border);border-radius:4px;background:var(--template-nav-bg);text-align:left;cursor:pointer;transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition),background var(--transition)}.template-studio__nav:hover,.template-studio__nav:focus-visible{transform:translateY(-1px);border-color:var(--template-nav-hover-border);box-shadow:0 12px 24px #2440a614;outline:none}.template-studio__nav--active{border-color:var(--template-nav-active-border);background:var(--template-nav-active-bg);box-shadow:0 14px 28px #2440a61a}.template-studio__nav-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.template-studio__nav-title h4,.template-studio__nav p{margin:0}.template-studio__nav-title h4{color:var(--heading-h4-text);font-size:var(--font-size-h4);font-weight:var(--font-weight-h4);line-height:1.3}.template-studio__nav p{color:var(--text-soft);line-height:1.45;font-size:.86rem}.template-studio__nav-eyebrow,.template-studio__detail-badge,.template-studio__nav-badge{letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:600}.template-studio__nav-eyebrow{color:var(--template-eyebrow-text)}.template-studio__nav-badge,.template-studio__detail-badge{padding:5px 8px;border-radius:999px;background:var(--template-badge-bg);color:var(--template-badge-text)}.template-studio__sidebar-actions{display:flex;justify-content:flex-start;margin-top:5px}.template-studio__detail-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:4px 2px 0}.template-studio__detail-top h3,.template-studio__detail-top p{margin:0}.template-studio__detail-top p{margin-top:6px;color:var(--text-soft);max-width:70ch}.template-studio__detail-actions{display:flex;justify-content:flex-end}.template-studio__workspace{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.85fr);gap:14px;align-items:start}.template-studio__section-head{display:grid;gap:4px}.template-studio__section-head h4,.template-studio__section-head p{margin:0}.template-studio__section-head p{color:var(--text-soft)}.template-studio__preview-toolbar{display:inline-flex;align-items:center;gap:.6rem}.notification-channel-switch{position:relative;display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid #d8dfea;border-radius:4px;overflow:hidden;background:#f8fafc;min-width:9rem}.notification-channel-switch:before{content:"";position:absolute;top:3px;bottom:3px;left:3px;width:calc(50% - 3px);border-radius:3px;background:#1f2b49;transform:translate(0);transition:transform .16s ease}.notification-channel-switch[data-channel=sms]:before{transform:translate(100%)}.notification-channel-switch__option{position:relative;z-index:1;border:none;background:transparent;color:#5b6b81;min-height:2rem;padding:.42rem .75rem;font-weight:700;font-size:.8rem;transition:color .14s ease}.notification-channel-switch__option--active{color:#fff}.notification-live-preview__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:0 0 .75rem;margin-bottom:.9rem;border-bottom:1px solid #e2e8f0;background:transparent}.notification-live-preview__heading{display:inline-flex;align-items:center;gap:.55rem;min-width:0}.notification-live-preview__header strong{color:#1d2c4f}.notification-live-preview__header span{color:#64748b;font-size:.78rem;font-weight:600}.notification-preview-toggle{width:2.1rem;height:2.1rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid #cfd8e3;border-radius:4px;background:#fff;color:#64748b;transition:border-color .14s ease,color .14s ease,background-color .14s ease}.notification-preview-toggle--active{border-color:#94a3b8;color:#334155;background:#f8fafc}.notification-preview-toggle--disabled{color:#c0cad6;background:#f8fafc}.notification-live-preview__copy{color:#334155;line-height:1.7;font-size:var(--font-size-mail-body);font-weight:var(--font-weight-mail-body)}.notification-live-preview__signature{margin-top:1rem;color:#475569;line-height:1.7;font-size:var(--font-size-mail-signature);font-weight:var(--font-weight-mail-signature)}.notification-live-preview__button-wrap .action-button{pointer-events:none}.template-studio__editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.template-studio__field textarea,.template-studio__field input{background:#fffffff5}.template-preview{border:1px solid #dbdbdb;border-radius:4px;overflow:hidden;background:#fff;font-family:Segoe UI,Arial,sans-serif}.template-preview--mail{display:grid}.template-preview__hero{display:grid;gap:6px;padding:18px;background:linear-gradient(90deg,#2440a6,#305ad6);color:#fff}.template-preview__hero strong{font-size:var(--font-size-mail-title);font-weight:var(--font-weight-mail-title);line-height:1.2}.template-preview__eyebrow{letter-spacing:.08em;text-transform:uppercase;font-size:var(--font-size-mail-eyebrow);font-weight:var(--font-weight-mail-eyebrow);opacity:.88}.template-preview__body,.template-preview__footer,.template-preview--mail-simple{padding:18px}.template-preview__body{display:grid;gap:12px;font-size:var(--font-size-mail-body);font-weight:var(--font-weight-mail-body)}.template-preview__body p,.template-preview__footer,.template-preview__subject,.template-preview__plaintext{margin:0}.template-preview__body p{font-size:var(--font-size-mail-body);font-weight:var(--font-weight-mail-body);line-height:1.7;color:#334155}.template-preview__body p:first-of-type{font-size:var(--font-size-mail-body);font-weight:var(--font-weight-mail-body);line-height:1.7;color:#334155}.template-preview__subject{font-size:var(--font-size-mail-subject);font-weight:var(--font-weight-mail-subject);letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft)}.template-preview__muted,.template-preview__footer{color:var(--text-soft)}.template-preview__muted{font-size:var(--font-size-mail-notice)}.template-preview__notice{padding:12px 14px;border:1px solid #b7c7f3;border-radius:4px;background:#305ad60f;color:#2440a6;font-size:var(--font-size-mail-notice);font-weight:var(--font-weight-mail-notice);line-height:1.65}.template-preview__body>.action-button,.template-preview__button-row .action-button{font-size:var(--font-size-mail-button);font-weight:var(--font-weight-mail-button)}.template-preview__button-row{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.template-preview__post-button-note{margin-top:2px;text-align:center;font-size:var(--font-size-mail-notice);font-weight:var(--font-weight-mail-notice);line-height:1.65;color:#667085}.template-preview__body>p:last-child{font-size:var(--font-size-mail-signature);font-weight:var(--font-weight-mail-signature)}.template-preview__footer{background:#f3f4f6;border-top:1px solid #b8c3cf;font-size:var(--font-size-mail-footer);font-weight:var(--font-weight-mail-footer);line-height:1.7;color:#667085}.template-preview__section-grid{display:grid;gap:12px}.template-preview__section-card{display:grid;gap:8px;padding:14px;border:1px solid #d8e3fb;border-radius:4px;background:#f8fbff}.template-preview__section-eyebrow{color:#305ad6;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.template-preview__section-row{display:grid;gap:2px}.template-preview__section-row span{color:var(--text-soft);font-size:.78rem}.template-preview__section-row b{color:var(--text-strong);font-size:.92rem;font-weight:600}.template-preview__plaintext{white-space:pre-wrap;line-height:1.7}.template-preview--sms{display:grid;place-items:center;padding:18px;background:radial-gradient(circle at top,rgba(48,90,214,.08),transparent 48%),linear-gradient(180deg,#f8fbff,#f2f6fd)}.template-preview__phone-shell{width:min(100%,280px);padding:14px;border:1px solid #d8e3fb;border-radius:22px;background:#fff;box-shadow:0 16px 34px #0f172a14}.template-preview__phone-top{width:72px;height:6px;margin:0 auto 14px;border-radius:999px;background:#d8e3fb}.template-preview__sms-bubble{padding:12px 14px;border-radius:16px 16px 16px 6px;background:linear-gradient(180deg,#305ad6,#2440a6);color:#fff;line-height:1.55;white-space:pre-wrap}.template-token-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.template-token-grid--compact{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}.template-token-card{display:grid;gap:4px;padding:10px 11px;border:1px solid color-mix(in srgb,var(--border-soft) 84%,#e0e8f7 16%);border-radius:4px;background:linear-gradient(180deg,#fffffff2,#f9fbfff2)}.template-token-card strong{color:var(--heading-h4-text);font-size:.88rem;font-weight:600}.template-token-card__key{font-size:.76rem;letter-spacing:0;text-transform:none;color:#305ad6;word-break:break-word}@media(max-width:1180px){.template-studio{grid-template-columns:280px minmax(0,1fr)}.template-studio__workspace{grid-template-columns:1fr}.template-token-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.template-studio{grid-template-columns:1fr}.template-studio__sidebar{position:static}.template-studio__editor-grid,.template-token-grid{grid-template-columns:1fr}.template-studio__detail-top{grid-template-columns:1fr;display:grid}}.employee-workspace .settings-workspace__actions{flex-wrap:wrap;align-items:center}.employee-stats-grid{padding-inline:0;container-type:inline-size}.employee-stat-card{padding-left:calc(12px + var(--layout-edge) + 4px);padding-right:calc(12px + var(--layout-edge) + 4px)}.planner-stats-grid{container-type:inline-size;grid-template-columns:repeat(4,minmax(0,1fr))}.planner-stats-grid .employee-stat-card,.planner-stats-grid .stat-card__header,.planner-stats-grid .stat-card__footer{min-width:0}.planner-stats-grid .stat-card__header{gap:10px}.planner-stats-grid .stat-card__header>span:first-child,.planner-stats-grid .stat-card__footer{overflow-wrap:anywhere}@container (max-width: 1200px){.planner-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (max-width: 620px){.planner-stats-grid{grid-template-columns:1fr}}.employee-workspace .settings-workspace__tabs,.employee-workspace .settings-workspace__body,.employee-workspace .settings-workspace__title{padding-left:12px;padding-right:12px}.employee-workspace,.course-group-workspace{display:grid;gap:0;padding:0;overflow:visible;width:100%;min-width:0;max-width:100%;box-sizing:border-box;container-type:inline-size}.employee-workspace>*,.course-group-workspace>*{width:100%;min-width:0;max-width:100%}.employee-workspace .settings-workspace__top,.course-group-workspace .settings-workspace__top,.employee-workspace .settings-workspace__body,.course-group-workspace .settings-workspace__body,.employee-workspace .settings-workspace__main,.course-group-workspace .settings-workspace__main{width:100%;min-width:0;max-width:100%;overflow:visible;box-sizing:border-box}.employee-workspace .settings-workspace__title{padding-top:0}.employee-workspace__tabs{justify-content:space-between;width:100%;min-width:0;max-width:100%}.fee-workspace .settings-workspace__tabs{align-items:center;justify-content:flex-start}.fee-workspace .settings-workspace__actions{flex:1 1 280px;min-width:260px;width:auto;margin-left:auto;padding-left:16px}.fee-workspace .fee-search{flex:1 1 100%;width:100%;min-width:0;max-width:none}.fee-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;container-type:inline-size}.fee-overview-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:12px}.fee-quick-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.fee-section-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px}.fee-status-list{display:grid;gap:8px}.fee-status-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border-soft);border-radius:4px;background:#fff}.fee-status-list span{color:var(--text-soft);font-size:.9rem}.fee-status-list strong{color:var(--text-main);font-weight:700;text-align:right}.fee-paid-form{align-items:end}.fee-import-actions,.fee-paid-actions{justify-content:flex-end}.fee-paid-actions{grid-column:1 / -1;align-items:end;gap:10px}.fee-sepa-export-box{display:flex;align-items:end;justify-content:flex-end;gap:10px;min-width:0}.fee-sepa-date{max-width:230px;min-width:210px}.fee-sepa-preview{border-color:color-mix(in srgb,var(--primary) 18%,var(--border-soft));background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 6%,#fff),#fff 54%),var(--surface-card)}.fee-sepa-preview__list{display:grid;gap:10px}.fee-sepa-preview__item{display:grid;grid-template-columns:minmax(130px,.75fr) minmax(190px,1.35fr) minmax(160px,1fr) minmax(150px,1fr) minmax(80px,.45fr) minmax(110px,.55fr);gap:10px;align-items:center;padding:12px 14px;border:1px solid color-mix(in srgb,var(--primary) 14%,var(--border-soft));border-radius:4px;background:#ffffffd1;box-shadow:0 10px 24px #0f172a0d}.fee-filter-panel__divider{height:1px;margin:6px 0;background:var(--border-soft)}.fee-sepa-preview__label{display:block;margin-bottom:4px;color:var(--text-soft);font-size:.72rem;font-weight:600}.fee-sepa-preview__item strong{color:var(--text-main);font-size:.88rem;font-weight:600}.fee-support-sepa__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.fee-support-sepa__card{display:grid;gap:4px;padding:12px 14px;border:1px solid var(--border-soft);border-radius:16px;background:#fff;color:var(--text-main);cursor:pointer;text-align:left;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.fee-support-sepa__card:hover,.fee-support-sepa__card--selected{border-color:color-mix(in srgb,var(--primary) 42%,var(--border-soft));box-shadow:0 12px 28px #0f172a14;transform:translateY(-1px)}.fee-support-sepa__card--selected{background:color-mix(in srgb,var(--primary) 7%,#fff)}.fee-support-sepa__card span,.fee-support-sepa__card small{color:var(--text-soft);font-size:.78rem;font-weight:600}.fee-support-sepa__card strong{font-size:.92rem;font-weight:650}.fee-assignment-control{display:inline-grid;grid-template-columns:138px minmax(170px,230px) 34px;gap:6px;align-items:center;justify-content:end;width:max-content;max-width:100%}.fee-assignment-control--single{grid-template-columns:138px 34px}.fee-assignment-select{appearance:none;width:100%;height:var(--form-control-height, var(--button-height-secondary));min-height:var(--form-control-height, var(--button-height-secondary));min-width:0;border:1px solid var(--form-control-border, var(--border-soft));border-radius:4px;background-color:var(--form-control-bg, #f4f8fd);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 320 512'%3E%3Cpath d='M143 352.3L7 216.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0L160 256.5l96.4-96.7c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L177 352.3c-9.4 9.4-24.6 9.4-34 0z' fill='%2364748b'/%3E%3C/svg%3E");background-position:calc(100% - var(--form-select-arrow-offset, 18px)) 50%;background-repeat:no-repeat;background-size:11px 11px;color:var(--form-control-text, var(--text-main));font:inherit;font-size:var(--font-size-base);line-height:1.2;padding:0 calc(var(--form-select-arrow-offset, 18px) + 14px) 0 12px;box-shadow:var(--form-control-shadow, inset 0 1px 2px rgba(15, 23, 42, .04));transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.fee-assignment-select--target{max-width:230px}.fee-assignment-select:focus{border-color:var(--form-control-focus-border, var(--primary));box-shadow:var(--form-control-focus-shadow, 0 0 0 3px color-mix(in srgb, var(--primary) 14%, transparent));outline:none}.fee-assignment-submit{width:var(--button-height-secondary);min-width:var(--button-height-secondary);height:var(--button-height-secondary);min-height:var(--button-height-secondary);display:inline-flex;align-items:center;justify-content:center;padding:0;font-size:var(--font-size-button-secondary);font-weight:var(--font-weight-button-secondary);line-height:1}.fee-match-preview{display:grid;gap:6px;min-width:220px;max-width:360px;white-space:normal;word-break:normal;overflow-wrap:anywhere}.fee-match-preview__top{display:flex;align-items:center;justify-content:space-between;gap:10px}.fee-match-preview__label{color:var(--text-main);font-size:.86rem;font-weight:500;line-height:1.35}.fee-match-score{display:inline-flex;align-items:center;justify-content:center;align-self:center;min-width:48px;border-radius:999px;font-size:12px;font-weight:500;line-height:1;padding:5px 8px}.fee-match-score--strong{background:color-mix(in srgb,#16a34a 13%,#fff);color:#15803d}.fee-match-score--review{background:color-mix(in srgb,#f59e0b 16%,#fff);color:#92400e}.fee-match-score--weak{background:color-mix(in srgb,#64748b 13%,#fff);color:#475569}.fee-status-badge{font-size:12px;font-weight:500}.fee-match-preview__target,.fee-match-preview__rid,.fee-match-preview__reason,.fee-match-preview__rule{color:var(--text-soft);font-size:.74rem;line-height:1.35}.fee-match-preview__rid{color:color-mix(in srgb,var(--primary) 78%,#1e293b);font-weight:650}.fee-match-preview__batch-meta{display:grid;gap:3px}.fee-match-preview__batch-summary,.fee-match-preview__batch-hint,.fee-match-preview__batch-line,.fee-match-preview__batch-rest{font-size:.72rem;line-height:1.35}.fee-match-preview__batch-hint{color:color-mix(in srgb,#15803d 82%,#1e293b);font-weight:650}.fee-match-preview__batch-summary{color:#475569;font-weight:500}.fee-match-preview__batch-line{color:#64748b}.fee-match-preview__batch-rest{color:color-mix(in srgb,var(--primary) 78%,#1e293b);font-weight:500}.fee-match-preview__reason{color:var(--text-main);font-size:.76rem;max-width:100%;white-space:normal;overflow-wrap:anywhere}.fee-match-preview__rule{color:color-mix(in srgb,var(--primary) 72%,#1f2937);font-weight:650}.fee-match-preview__rule--warning{color:#92400e}.fee-match-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.fee-match-chips span{border:1px solid color-mix(in srgb,var(--primary) 18%,transparent);border-radius:999px;background:color-mix(in srgb,var(--primary) 7%,#fff);color:var(--primary);font-size:.68rem;line-height:1.2;padding:3px 7px}.fee-match-chips--warn span{border-color:color-mix(in srgb,#f59e0b 35%,transparent);background:color-mix(in srgb,#f59e0b 12%,#fff);color:#92400e;font-weight:650}.fee-row-menu{justify-content:flex-end}.fee-filter-trigger{position:relative}.fee-filter-trigger svg{width:15px;height:15px;fill:currentColor}.fee-filter-panel{min-width:245px}.fee-filter-option{width:100%;border:0;background:transparent;color:var(--text-main);cursor:pointer;font:inherit;justify-content:space-between;text-align:left}.fee-filter-option strong{color:var(--text-soft);font-size:.78rem;font-weight:600}.fee-filter-option--active{background:color-mix(in srgb,var(--primary) 8%,#fff);color:var(--primary);font-weight:650}.fee-table-action-col{width:1%;min-width:86px;text-align:right;white-space:nowrap}.fee-rule-iban-column{min-width:150px}.fee-row-menu__panel{min-width:190px;right:0;left:auto}.fee-menu-button{width:100%;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;text-align:left}.fee-menu-button:disabled{cursor:not-allowed;opacity:.45}.fee-rule-reset-button{min-height:30px;padding:0 12px;font-size:.76rem}.fee-match-modal{max-width:760px}.fee-match-modal__body{display:grid;gap:16px}.fee-match-summary{display:grid;gap:8px;border:1px solid color-mix(in srgb,var(--primary) 16%,var(--border-soft));border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 9%,transparent),transparent 58%),#fff;padding:16px}.fee-match-summary strong{color:var(--text-main);font-size:1.05rem}.fee-match-summary p{margin:0;color:var(--text-soft)}.fee-match-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fee-match-grid>div{display:grid;gap:6px;border:1px solid var(--border-soft);border-radius:12px;background:#fff;padding:13px}.fee-match-grid span{color:var(--text-soft);font-size:.78rem}.fee-match-grid strong{color:var(--text-main);font-size:.9rem;font-weight:600}.fee-import-pagination{margin-top:16px}.fee-paid-form .settings-section__actions,.fee-workspace .settings-section__actions{justify-content:flex-end}@media(max-width:1180px){.fee-stats-grid,.fee-overview-grid,.fee-sepa-preview__item{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.fee-workspace .settings-workspace__tabs{align-items:stretch}.fee-workspace .settings-workspace__actions{flex:1 1 100%;min-width:100%;width:100%;margin-left:0;padding-left:0}}@media(max-width:760px){.fee-stats-grid,.fee-overview-grid{grid-template-columns:minmax(0,1fr)}.fee-status-list>div{align-items:flex-start;flex-direction:column}.fee-quick-actions,.fee-section-actions,.fee-workspace .settings-section__actions{justify-content:stretch;width:100%}.fee-quick-actions .action-button,.fee-section-actions .action-button,.fee-workspace .settings-section__actions .action-button{width:100%}.fee-assignment-control{grid-template-columns:minmax(0,1fr);display:grid;width:100%;min-width:0}.fee-assignment-select--target{max-width:none}.fee-assignment-control .action-button{width:100%}.fee-assignment-submit{min-width:0}.fee-sepa-date{max-width:none;min-width:0}.fee-paid-actions,.fee-sepa-export-box{align-items:stretch;flex-direction:column;width:100%}.fee-paid-actions .action-button,.fee-sepa-export-box .action-button{width:100%}.fee-match-grid,.fee-sepa-preview__item{grid-template-columns:minmax(0,1fr)}}@media(max-width:420px){.fee-workspace .settings-workspace__tabs,.fee-section-actions,.fee-quick-actions{gap:8px}.fee-workspace .settings-tab,.fee-section-actions>*,.fee-quick-actions>*,.fee-workspace .settings-section__actions>*{width:100%}}.employee-workspace__actions{margin-left:auto;position:relative;width:100%;min-width:0;max-width:100%}.employee-workspace__body{padding-top:12px}.employee-search{flex:0 1 auto;width:min(var(--search-width),100%);min-width:0;max-width:none}.app-shell--search-auto .searchbox{flex:1 1 280px;width:auto;max-width:420px}.app-shell--search-auto .student-search{width:100%}.app-shell--search-auto .student-search--compact,.app-shell--search-auto .employee-search{flex:1 1 280px;width:auto;max-width:100%}.employee-table-panel{border:0;padding:0;box-shadow:none;width:100%;min-width:0;max-width:100%}.support-table-panel{margin-top:32px}.employee-table-panel__header{padding-bottom:10px;width:100%;min-width:0;max-width:100%}.employee-table-panel__intro{padding-left:calc(var(--layout-edge) + 4px);padding-right:calc(var(--layout-edge) + 4px);min-width:0;max-width:100%}.employee-table th:first-child,.employee-table td:first-child{width:34px}.employee-table{padding-left:calc(var(--layout-edge) + 4px);padding-right:calc(var(--layout-edge) + 4px);width:100%;min-width:0;max-width:100%}.employee-edit-workspace .settings-workspace__actions{margin-left:auto}.employee-edit-workspace .settings-workspace__tabs{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:8px}.employee-edit-workspace .settings-tab{flex:0 0 auto}.employee-edit-workspace .settings-workspace__actions,.employee-edit-workspace .employee-workspace__actions{flex:0 0 auto;width:auto;min-width:0;max-width:none;padding-left:12px}.employee-columns-menu .column-config,.student-page-size-menu .column-config{right:0}.student-page-size-trigger{display:inline-flex;align-items:center;justify-content:center}.student-page-size-trigger__grid{display:grid;grid-template-columns:repeat(2,4px);grid-template-rows:repeat(2,4px);gap:3px}.student-page-size-trigger__grid span{width:4px;height:4px;border-radius:1px;background:currentColor;display:block}.student-table__pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px calc(var(--layout-edge) + 4px) 0;flex-wrap:wrap}.student-table__pagination-meta{color:var(--text-soft);font-size:.92rem}.student-table__pagination-actions{display:inline-flex;align-items:center;flex-wrap:nowrap;gap:8px;max-width:100%;min-width:0}.student-table__pagination-actions>.action-button{flex:0 0 auto;width:auto;white-space:nowrap}.student-table__pagination-pages{display:inline-flex;align-items:center;flex:0 1 auto;flex-wrap:nowrap;gap:8px;min-width:0}.student-table__page-button{min-width:36px;height:36px;border-radius:4px;border:1px solid var(--border-soft);background:#fff;color:var(--text-main);cursor:pointer;font:inherit}.student-table__page-button--active{border-color:var(--button-secondary-hover-border);background:var(--button-secondary-hover-bg);color:var(--button-secondary-text);box-shadow:var(--shadow-button-secondary)}.student-table__pagination-actions--compact{display:grid;flex:1 1 100%;grid-template-columns:minmax(0,1fr);width:100%}.student-table__pagination-actions--compact>.action-button{width:100%}.student-table__pagination-actions--compact .student-table__pagination-pages{width:100%;overflow-x:auto;padding:2px 0 6px;scrollbar-width:thin}.student-table__pagination-actions--compact .student-table__page-button{flex:0 0 36px}.employee-table .table-link{font-weight:var(--font-weight-strong)}.employee-edit-layout{display:grid;gap:12px;overflow:visible}.employee-edit-workspace,.employee-edit-workspace .settings-workspace__body,.employee-edit-workspace .settings-workspace__main,.employee-edit-workspace .student-edit-block{overflow:visible}.employee-form-20-40-40{grid-template-columns:.6fr 1.2fr 1.2fr}.employee-form-50-25-25{grid-template-columns:2fr 1fr 1fr}.employee-form-20-20-40-20{grid-template-columns:1fr 1fr 2fr 1fr}.employee-absence-50-25-25{grid-template-columns:2fr 1fr 1fr}.employee-absence-25-25-25-25{grid-template-columns:repeat(4,minmax(0,1fr))}.employee-absence-50-50{grid-template-columns:repeat(2,minmax(0,1fr))}.student-form-triple{grid-template-columns:repeat(3,minmax(0,1fr))}.student-form-quad{grid-template-columns:repeat(4,minmax(0,1fr))}.student-form-double{grid-template-columns:repeat(2,minmax(0,1fr))}.student-form-address{grid-template-columns:1.4fr .7fr .7fr 1.2fr}.student-form-contact{grid-template-columns:repeat(4,minmax(0,1fr))}.student-form-contact-triple{grid-template-columns:repeat(3,minmax(0,1fr))}.student-guardian-identity{grid-template-columns:minmax(0,2fr) minmax(0,2fr) minmax(0,3fr) minmax(0,3fr)}.student-guardian-address{grid-template-columns:minmax(0,5fr) minmax(0,2fr) minmax(0,3fr)}.student-guardian-contact,.student-guardian-account{grid-template-columns:repeat(3,minmax(0,1fr))}.student-form-status{grid-template-columns:repeat(4,minmax(0,1fr))}.returned-debit-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.returned-debit-summary>div{display:grid;gap:4px;padding:12px 14px;border:1px solid #bd6b65;border-radius:4px;background:#bd6b650d}.returned-debit-summary span{color:#bd6b65;font-size:var(--font-size-eyebrow);font-weight:var(--font-weight-eyebrow);letter-spacing:var(--letter-spacing-eyebrow)}.returned-debit-summary strong{color:#bd6b65;font-size:15px;font-weight:600}.returned-debit-form{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:14px}.returned-debit-table{width:100%;table-layout:fixed}.returned-debit-table th,.returned-debit-table td{width:16.666%;overflow-wrap:anywhere}.student-edit-actions--right{justify-content:flex-end}.support-member-identity-grid{display:grid;grid-template-columns:minmax(140px,20%) minmax(92px,10%) minmax(180px,35%) minmax(180px,35%);gap:12px}.support-member-address-grid{display:grid;grid-template-columns:minmax(220px,1.3fr) minmax(120px,.7fr) minmax(160px,1fr);gap:16px}.support-member-contact-grid,.support-member-period-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:16px}.support-member-payment-grid{display:grid;grid-template-columns:minmax(140px,20%) minmax(220px,40%) minmax(220px,40%);gap:12px}.support-member-bank-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:16px}@media(max-width:900px){.student-form-contact,.student-form-contact-triple,.student-guardian-identity,.student-guardian-address,.student-guardian-contact,.student-guardian-account,.returned-debit-summary,.returned-debit-form,.student-form-status,.support-member-address-grid,.support-member-contact-grid,.support-member-period-grid,.support-member-bank-grid{grid-template-columns:1fr}.support-member-identity-grid,.support-member-payment-grid,.student-assignment-card__meta{grid-template-columns:repeat(2,minmax(0,1fr))}.student-assignment-card__schedule,.student-assignment-empty{flex-direction:column;align-items:flex-start}.student-fee-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.support-member-identity-grid,.support-member-payment-grid{grid-template-columns:1fr}}.student-secondary-guardian,.student-assignment-stack{display:grid;gap:12px}.student-sibling-list{display:flex;flex-wrap:wrap;gap:10px}.student-sibling-chip{display:inline-flex;align-items:center;gap:10px;min-height:0;padding:10px 14px;border-radius:999px;white-space:normal;text-align:left}.student-sibling-chip strong{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:color-mix(in srgb,var(--badge-ok-bg, #107c4a) 14%,transparent);color:var(--badge-ok-text, #107c4a);font-size:.66rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.student-assignment-add{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.student-assignment-add__lock{display:inline-flex;align-items:center;margin-left:6px;color:color-mix(in srgb,var(--text-muted) 80%,#111827 20%);font-size:.85rem}.student-assignment-add select:disabled{cursor:not-allowed;opacity:.7}.student-assignment-lock-note{margin-top:12px}.student-remove-group-modal{max-width:640px}.student-remove-group-modal__body{display:grid;gap:14px}.student-remove-group-modal__context{display:grid;gap:4px;padding:14px 16px;border-radius:16px;background:color-mix(in srgb,var(--bg-muted) 78%,white 22%);border:1px solid color-mix(in srgb,var(--table-line) 78%,#94a3b8 22%)}.student-remove-group-modal__context strong{font-size:.98rem;color:var(--text-strong)}.student-remove-group-modal__context span{color:var(--text-muted);font-size:.9rem}.student-remove-group-modal__check{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:14px;border:1px solid color-mix(in srgb,var(--table-line) 82%,#cbd5e1 18%);background:color-mix(in srgb,var(--bg-panel) 92%,#f8fafc 8%)}.student-remove-group-modal__check input{margin-top:2px}.student-remove-group-modal__warning{margin:0;padding:12px 14px;border-radius:14px;color:#9a3412;background:#ffedd5e0;border:1px solid rgba(234,88,12,.16)}.student-sibling-modal{max-width:760px}.student-sibling-modal__body{display:grid;gap:14px}.student-sibling-modal__list{display:grid;gap:10px;max-height:420px;overflow:auto}.student-sibling-modal__item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px 14px;border:1px solid color-mix(in srgb,var(--table-line) 78%,#d0d5dd 22%);border-radius:14px;background:color-mix(in srgb,var(--bg-panel) 96%,white 4%);color:var(--text-color);text-align:left;font:inherit;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.student-sibling-modal__item:hover,.student-sibling-modal__item:focus-visible{transform:translateY(-1px);border-color:color-mix(in srgb,var(--primary) 38%,#d0d5dd 62%);box-shadow:0 10px 18px #0f172a14;outline:none}.student-sibling-modal__item strong{color:var(--text-soft);font-size:.74rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.student-sibling-modal__item--linked{cursor:not-allowed;opacity:.72}.student-payment-lock-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:color-mix(in srgb,var(--bg-muted) 80%,white 20%);color:var(--text-soft);font-size:.76rem;font-weight:500}.student-payment-lock-note{margin:0 0 12px;color:var(--text-soft);font-size:.88rem}.student-payment-family-toggle{padding-top:4px}.student-payment-family-toggle__check{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--table-line) 78%,#d0d5dd 22%);border-radius:14px;background:color-mix(in srgb,var(--bg-panel) 95%,white 5%)}.student-payment-family-toggle__check--disabled{opacity:.72;cursor:not-allowed}.student-payment-family-toggle__check--disabled input{cursor:not-allowed}.student-payment-family-toggle__check input{margin-top:2px}.student-assignment-card{display:grid;gap:14px;padding:16px;border:1px solid color-mix(in srgb,var(--table-line) 76%,#2a56a3 24%);border-radius:14px;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-panel) 94%,#f8fbff 6%),color-mix(in srgb,var(--bg-panel) 98%,#eef4fb 2%));box-shadow:0 14px 28px #0f172a0d}.student-assignment-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.student-assignment-card__identity{min-width:0}.student-assignment-card__eyebrow,.student-assignment-empty__eyebrow{display:inline-block;margin-bottom:6px;color:var(--eyebrow-text);font-size:var(--font-size-eyebrow);font-weight:var(--font-weight-eyebrow);letter-spacing:var(--eyebrow-letter-spacing);text-transform:var(--eyebrow-transform)}.student-assignment-card__identity h4,.student-assignment-empty__copy h4{margin:0;color:var(--heading-h4-text);font-size:var(--font-size-h4);font-weight:var(--font-weight-h4)}.student-assignment-card__identity p,.student-assignment-empty__copy p{margin:6px 0 0;color:var(--paragraph-text);font-size:var(--font-size-paragraph);font-weight:var(--font-weight-paragraph)}.student-assignment-card__status{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 12px;border-radius:999px;font-size:.78rem;font-weight:700;white-space:nowrap}.student-assignment-card__status--active{background:#107c4a1f;color:#107c4a}.student-assignment-card__status--inactive{background:#b453091f;color:#b45309}.student-assignment-card__meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.student-assignment-card__meta-item{display:grid;gap:5px;padding:12px;border:1px solid rgba(40,87,164,.08);border-radius:12px;background:#ffffffb8;min-width:0}.student-assignment-card__meta-item span{color:var(--muted-text);font-size:.76rem;font-weight:var(--font-weight-eyebrow);letter-spacing:var(--eyebrow-letter-spacing);text-transform:var(--eyebrow-transform)}.student-assignment-card__meta-item p{margin:0;color:var(--text-color);font-size:.96rem;font-weight:500;overflow-wrap:anywhere}.student-assignment-card__schedule{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px;background:#2857a40f}.student-assignment-card__schedule-main{display:grid;gap:5px;min-width:0}.student-assignment-card__schedule-main span{color:var(--muted-text);font-size:.76rem;font-weight:var(--font-weight-eyebrow);letter-spacing:var(--eyebrow-letter-spacing);text-transform:var(--eyebrow-transform)}.student-assignment-card__schedule-main p{margin:0;color:var(--text-color);font-size:.95rem;font-weight:500;overflow-wrap:anywhere}.student-assignment-card__schedule-main--stacked{gap:8px}.student-assignment-card__schedule-list{display:grid;gap:6px}.student-assignment-empty__action{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.student-assignment-card__link{border:0;background:transparent;color:var(--button-primary-bg-start);font:inherit;font-weight:700;cursor:pointer;white-space:nowrap}.student-assignment-empty{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;border:1px dashed rgba(40,87,164,.24);border-radius:14px;background:linear-gradient(180deg,#f8fbffeb,#f4f7fceb)}.student-assignment-empty__copy{min-width:0}.student-fees-view{display:grid;gap:16px}.student-fee-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.student-fee-summary-card{min-width:0;background:var(--student-fee-surface-bg, var(--bg-panel));border-color:var(--student-fee-surface-border, var(--border-soft));border-radius:var(--student-fee-surface-radius, var(--radius-xl))}.student-fee-summary-card .stat-card__header{color:var(--text-soft)}.student-fee-summary-card .stat-card__header svg{color:var(--primary);font-size:.95rem}.student-fee-summary-card .stat-card__value{margin-top:10px}.student-fee-summary-card .stat-card__footer{color:var(--text-soft)}.student-fee-toolbar{display:flex;flex-wrap:wrap;gap:8px}.student-fee-panel{overflow:hidden;background:var(--student-fee-surface-bg, var(--bg-panel));border-color:var(--student-fee-surface-border, var(--border-soft));border-radius:var(--student-fee-surface-radius, var(--radius-xl))}.student-fee-panel__description{margin:8px 0 0;max-width:62ch;color:var(--paragraph-text)}.student-fee-table-shell{overflow-x:auto;background:var(--student-fee-surface-bg, var(--bg-panel));border-top:1px solid var(--student-fee-surface-border, rgba(148, 163, 184, .14));margin-top:14px;padding-top:14px;border-bottom-left-radius:var(--student-fee-surface-radius, var(--radius-xl));border-bottom-right-radius:var(--student-fee-surface-radius, var(--radius-xl))}.student-fee-table{min-width:1020px;border-collapse:separate;border-spacing:0 8px}.student-fee-table__row--danger{background:var(--student-fee-row-due-bg, #ffffff)}.student-fee-table__row--success{background:var(--student-fee-row-paid-bg, rgba(74, 222, 128, .14))}.student-fee-table__row--warning{background:var(--student-fee-row-partial-bg, rgba(251, 191, 36, .18))}.student-fee-table__row--surplus{background:var(--student-fee-row-overpaid-bg, rgba(22, 163, 74, .22))}.student-fee-table__row--neutral{background:var(--student-fee-row-open-bg, rgba(255, 255, 255, .96))}.student-fee-table thead th{white-space:nowrap}.student-fee-sort{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.student-fee-sort span{color:var(--text-soft);font-size:.78rem}.student-fee-table tbody td{vertical-align:middle;background:inherit}.student-fee-table tbody tr td:first-child{border-top-left-radius:var(--student-fee-surface-radius, var(--radius-xl));border-bottom-left-radius:var(--student-fee-surface-radius, var(--radius-xl))}.student-fee-table tbody tr td:last-child{border-top-right-radius:var(--student-fee-surface-radius, var(--radius-xl));border-bottom-right-radius:var(--student-fee-surface-radius, var(--radius-xl))}.student-fee-title-cell{display:grid;gap:4px;min-width:0}.student-fee-title-cell strong{color:var(--text-color);overflow-wrap:anywhere}.student-fee-title-cell span{color:var(--text-soft);font-size:.76rem;font-weight:500;overflow-wrap:anywhere}.student-fee-title-cell__hint{color:var(--student-fee-credit-hint-text, #166534);font-size:.74rem;font-weight:600}.student-fee-credit-cell{display:grid;gap:3px;min-width:110px}.student-fee-credit-cell strong{color:var(--text-color);font-size:.82rem}.student-fee-credit-cell small{color:var(--text-soft);font-size:.72rem;font-weight:600}.student-fee-status{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:0 8px;border-radius:var(--student-fee-status-radius, 999px);font-size:10px;font-weight:500;white-space:nowrap}.student-fee-status--neutral{color:var(--student-fee-status-open-text, #475467);background:var(--student-fee-status-open-bg, #fff);border:1px solid var(--student-fee-status-open-border, rgba(148, 163, 184, .22))}.student-fee-status--danger{color:var(--student-fee-status-due-text, #b42318);background:var(--student-fee-status-due-bg, rgba(254, 226, 226, .92));border:1px solid var(--student-fee-status-due-border, rgba(180, 35, 24, .18))}.student-fee-status--success{color:var(--student-fee-status-paid-text, #166534);background:var(--student-fee-status-paid-bg, rgba(220, 252, 231, .95));border:1px solid var(--student-fee-status-paid-border, rgba(22, 101, 52, .12))}.student-fee-status--warning{color:var(--student-fee-status-partial-text, #9a6700);background:var(--student-fee-status-partial-bg, rgba(254, 243, 199, .95));border:1px solid var(--student-fee-status-partial-border, rgba(217, 119, 6, .18))}.student-fee-status--surplus{color:var(--student-fee-status-overpaid-text, #14532d);background:var(--student-fee-status-overpaid-bg, rgba(187, 247, 208, .98));border:1px solid var(--student-fee-status-overpaid-border, rgba(21, 128, 61, .2))}.student-fee-actions{display:flex;align-items:center;gap:8px;justify-content:flex-end}.student-fee-action{display:inline-flex;align-items:center;justify-content:center;width:var(--student-fee-action-size, 34px);height:var(--student-fee-action-size, 34px);border:0;border-radius:var(--student-fee-action-radius, 10px);background:#fff;color:var(--text-color);cursor:pointer;overflow:hidden;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease;box-shadow:0 1px 2px #0f172a14}.student-fee-action svg{width:16px;height:16px;display:block;flex:0 0 16px;color:currentColor;fill:currentColor}.student-fee-action:hover{transform:translateY(-1px);box-shadow:var(--student-fee-action-shadow, 0 10px 18px rgba(15, 23, 42, .08));background:#fff}.student-fee-action--edit{color:#101828}.student-fee-action--paid{color:var(--student-fee-action-paid-color, #107c4a)}.student-fee-action--delete{color:var(--student-fee-action-delete-color, #b42318)}.student-fee-modal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-credit-decision-modal{width:min(480px,100%)}.student-credit-decision-modal__body{padding:0 24px 8px;display:grid;gap:12px}.student-credit-decision-modal__body p{margin:0;color:var(--paragraph-text)}.student-credit-decision-modal__amount{display:inline-flex;align-items:center;width:fit-content;padding:8px 12px;border-radius:999px;background:#16a34a1f;color:#166534;font-weight:700}.student-credit-decision-modal__actions{gap:10px}.student-fee-edit-summary{display:grid;gap:6px;min-height:42px;padding:10px 12px;border:1px solid rgba(148,163,184,.18);border-radius:12px;background:#f8fafce0;color:var(--text-soft);font-size:.82rem;line-height:1.4}@media(max-width:620px){.student-assignment-card__meta{grid-template-columns:1fr}.student-assignment-card__top{flex-direction:column;align-items:flex-start}.student-assignment-card__link,.student-assignment-empty .action-button{width:100%}.student-fee-summary-grid,.student-fee-modal-grid{grid-template-columns:1fr}.student-sibling-list{display:grid}.student-sibling-chip,.student-sibling-modal__item{width:100%}.student-sibling-modal__item{align-items:flex-start;flex-direction:column}}.employee-repeat-grid{display:grid;gap:12px}.employee-repeat-card{display:grid;gap:10px;padding:12px;border:1px solid rgba(40,87,164,.1);border-radius:4px;background:color-mix(in srgb,var(--bg-panel) 94%,#f8fbff 6%)}.phone-input-row,.phone-input{display:grid;grid-template-columns:minmax(108px,max-content) minmax(0,1fr);align-items:stretch;width:100%;min-width:0;border:1px solid var(--form-control-border, var(--border-soft));border-radius:4px;background:var(--form-control-bg, #f4f8fd);overflow:hidden}.phone-country-picker{position:relative;min-width:0}.phone-country-picker__trigger{appearance:none;-webkit-appearance:none;display:flex;align-items:center;gap:7px;width:100%;min-width:0;height:var(--form-control-height, var(--button-height-secondary));min-height:var(--form-control-height, var(--button-height-secondary));padding:0 12px;border:0;border-right:1px solid var(--form-control-border, var(--border-soft));border-radius:0;background:transparent;color:var(--form-control-text, var(--text-main));font:inherit;white-space:nowrap;outline:none;box-shadow:none;margin:0}.phone-input-row>input,.phone-input>input{min-width:0;height:var(--form-control-height, var(--button-height-secondary));min-height:var(--form-control-height, var(--button-height-secondary));padding:0 12px;border:0;border-radius:0;background:transparent;color:var(--form-control-text, var(--text-main))}.phone-input-row>input:focus,.phone-input>input:focus{outline:none;box-shadow:none}.phone-country-picker__trigger:focus,.phone-country-picker__trigger:focus-visible,.phone-country-picker__trigger:hover{outline:none;box-shadow:none}.phone-input-row:focus-within,.phone-input:focus-within{border-color:#000;box-shadow:inset 0 0 0 1px #000;outline:none}.phone-input-row:focus-within .phone-country-picker__trigger,.phone-input:focus-within .phone-country-picker__trigger{border-right-color:#000}.phone-country-picker__flag{width:24px;height:16px;object-fit:cover;border-radius:0;box-shadow:none;flex:0 0 auto}.phone-country-picker__chevron{margin-left:auto;color:var(--muted-text);font-size:.8em}.phone-country-picker__menu{z-index:1200;display:grid;gap:4px;max-width:min(280px,80vw);max-height:280px;padding:8px;border:1px solid var(--table-line);border-radius:12px;background:var(--bg-panel);box-shadow:0 18px 38px #14223f29;overflow-y:auto}.phone-country-picker__option{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:8px;background:transparent;color:var(--text-color);font:inherit;text-align:left}.phone-country-picker__option:hover{background:color-mix(in srgb,var(--bg-panel) 84%,#eef4fb 16%)}.phone-country-picker__dial{color:var(--muted-text)}.employee-cost-grid{margin-top:10px}.employee-cost-grid--h3 h3{margin:0;font-size:var(--font-size-h3);font-weight:var(--font-weight-h3);color:var(--heading-h3-text)}.form-field--span-2{grid-column:span 2}.course-group-workspace__actions{width:auto;min-width:0;max-width:none;margin-left:auto}.course-group-workspace__tabs{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:12px;width:100%;min-width:0;max-width:100%}.course-group-tablist{display:flex;flex:1 1 auto;align-items:center;gap:10px;min-width:0}.course-group-toolbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:center;gap:10px;min-width:0;width:100%;max-width:100%;overflow:visible}.course-group-toolbar--actions-only{display:flex;flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:10px;width:auto;min-width:0;max-width:none}.course-group-search,.course-group-search input{min-width:0;width:100%;max-width:100%}.course-group-toolbar__status{min-width:0;width:100%;max-width:100%;white-space:normal;overflow-wrap:anywhere;color:var(--text-soft)}.course-group-toolbar .action-button,.course-group-toolbar .action-button--ghost,.course-group-toolbar .settings-save-state{min-width:0;max-width:100%;white-space:normal}.course-group-registration-toggles{display:flex;flex-wrap:wrap;gap:14px 24px;padding-top:6px}.course-group-toolbar--actions-only .action-button,.course-group-toolbar--actions-only .action-button--ghost,.course-group-toolbar--actions-only .settings-save-state{width:auto;flex:0 0 auto}.course-group-table-panel{margin-top:8px;width:100%;min-width:0;max-width:100%}.course-group-table tbody tr{cursor:pointer;transition:background-color .14s ease,box-shadow .14s ease}.course-group-table tbody tr:hover{background:#2857a40f}.course-group-table__row--active{background:#2857a41a;box-shadow:inset 3px 0 #2857a4a6}.course-group-editor{margin-top:18px;width:100%;min-width:0;max-width:100%}.course-group-editor>.student-edit-block__header--split .settings-role-actions--inline,.course-group-card>.student-edit-block__header--split .settings-role-actions--inline{top:16px;right:16px}.course-group-editor__fieldset{display:grid;gap:12px;margin:0;padding:0;border:0;min-width:0}.course-group-editor__fieldset:disabled{opacity:.65}.course-group-decision{margin-bottom:16px;padding:16px 18px;border:1px solid color-mix(in srgb,var(--border-soft) 82%,#d8e4fb 18%);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--bg-panel) 92%,#f5f9ff 8%)}.course-group-decision h4{margin:0 0 8px;font-size:var(--font-size-h4);font-weight:var(--font-weight-h4);color:var(--heading-h4-text)}.course-group-decision p{margin:0}.course-group-decision__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}.course-group-conflict-note{margin-bottom:12px}.course-group-form-row--course-group{grid-template-columns:1.2fr 1fr 1fr}.course-group-form-row--teacher-fee,.course-group-form-row--period-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.course-group-form-row--registration-schedule{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(120px,.55fr) minmax(140px,.7fr)}.course-group-form-row--period-meta{grid-template-columns:repeat(4,minmax(0,1fr))}.course-group-registration-frequency-preview{margin:-2px 0 0;color:var(--text-soft);font-size:.9rem}.course-group-accordion{gap:12px}.course-group-repeat-grid{grid-template-columns:1fr}.course-group-card{gap:12px;position:relative;width:100%;min-width:0;max-width:100%}.course-group-schedule-list{display:grid;gap:12px}.course-group-card>.student-edit-block__header--split{padding-right:220px}.course-group-card>.student-edit-block__header--split .settings-role-actions--inline{position:absolute;top:16px;right:16px;margin:0;padding:0}.course-group-schedule-row{display:grid;gap:12px;grid-template-columns:2fr 1fr 1fr}.course-log-panel{margin-top:12px;min-width:0;max-width:100%;width:100%}.course-log-panel .employee-table-panel__header{padding-top:15px}.course-log-panel table th,.course-log-panel table td,.course-group-table table th,.course-group-table table td{white-space:nowrap}.course-log-panel .table-shell{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;min-width:0;max-width:100%;width:100%}.employee-workspace .table-shell,.course-group-workspace .table-shell{width:100%;min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}@container (max-width: 1200px){.employee-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-workspace .settings-workspace__actions,.course-group-workspace .settings-workspace__actions{width:100%;justify-content:stretch;padding-left:0}.employee-edit-workspace .settings-workspace__actions,.employee-edit-workspace .employee-workspace__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;justify-items:end;width:auto;max-width:calc(100% - 160px);padding-left:12px;margin-left:auto}.employee-edit-workspace .settings-workspace__actions>*,.employee-edit-workspace .employee-workspace__actions>*,.employee-edit-workspace .action-button{width:auto;min-width:max-content;max-width:100%}}@container (max-width: 900px){.employee-edit-workspace .settings-workspace__tabs{flex-wrap:wrap;align-items:stretch}.employee-edit-workspace .settings-workspace__actions,.employee-edit-workspace .employee-workspace__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;justify-items:end;width:auto;max-width:calc(100% - 160px);padding-left:12px;margin-left:auto}.employee-edit-workspace .settings-workspace__actions>*,.employee-edit-workspace .employee-workspace__actions>*,.employee-edit-workspace .action-button{width:auto;min-width:max-content;max-width:100%}.employee-workspace__actions,.course-group-workspace__actions{display:grid;gap:10px}.employee-workspace__actions>*,.course-group-workspace__actions>*{width:100%;min-width:0;max-width:100%}.employee-search,.course-group-search{width:100%;max-width:100%}.employee-workspace .action-button,.course-group-workspace .action-button,.course-group-workspace .action-button--ghost{width:100%}.course-group-toolbar,.course-group-toolbar--actions-only{grid-template-columns:1fr}.course-group-toolbar--actions-only{display:grid;justify-content:stretch}.course-group-card>.student-edit-block__header--split,.course-group-editor>.student-edit-block__header--split{padding-right:0;gap:12px}.course-group-card>.student-edit-block__header--split .settings-role-actions--inline,.course-group-editor>.student-edit-block__header--split .settings-role-actions--inline{position:static;top:auto;right:auto;width:100%;justify-content:stretch}.course-group-card>.student-edit-block__header--split .settings-role-actions--inline .action-button,.course-group-editor>.student-edit-block__header--split .settings-role-actions--inline .action-button{width:100%}}@container (max-width: 620px){.employee-stats-grid{grid-template-columns:1fr}}@container (max-width: 900px){.pre-registration-workspace .settings-workspace__tabs{align-items:center}.pre-registration-workspace .settings-workspace__actions,.pre-registration-workspace .employee-workspace__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;justify-items:end;margin-left:auto;padding-left:12px;width:auto;max-width:calc(100% - 160px)}}@container (max-width: 520px){.pre-registration-workspace .settings-workspace__tabs{align-items:stretch}.pre-registration-workspace .settings-workspace__actions,.pre-registration-workspace .employee-workspace__actions{display:grid;grid-template-columns:1fr;justify-content:stretch;justify-items:stretch;margin-left:0;padding-left:0;width:100%;max-width:100%}.pre-registration-workspace .settings-workspace__actions>*,.pre-registration-workspace .employee-workspace__actions>*,.pre-registration-workspace .action-button{justify-content:center;width:100%;min-width:0}}.course-log-panel table{min-width:760px}@media(min-width:980px){.employee-repeat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.settings-menu-editor{display:grid;gap:12px}.settings-menu-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px;border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--bg-panel) 94%,#f8fbff 6%)}.settings-menu-row--dragging{opacity:.62}.settings-menu-row__handle{min-height:var(--button-height-utility);display:grid;place-items:center;border:1px dashed var(--border-soft);border-radius:var(--radius-md);background:#f8fafc;color:var(--text-soft);cursor:grab;-webkit-user-select:none;user-select:none}.settings-menu-row__fields{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}.settings-menu-row__actions{display:grid;gap:8px}.settings-menu-preview{display:grid;gap:10px}.settings-menu-preview__item{display:grid;gap:4px;padding:12px 12px 12px calc(12px + (var(--menu-depth, 0) * 18px));border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:#fff}.settings-menu-preview__main{display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-menu-preview__main span,.settings-menu-preview small{color:var(--text-soft)}.pulse-dot{width:10px;height:10px;border-radius:999px;background:var(--success);position:relative;flex:0 0 auto}.pulse-dot:after{content:"";position:absolute;inset:-6px;border-radius:inherit;background:#17b26a2e;animation:pulse 1.8s infinite}.badge,.status-chip{display:inline-flex;align-items:center;justify-content:center;border-radius:4px;font-size:.78rem;font-weight:600}.badge,.status-chip{padding:4px 7px}.badge--ok,.status-chip--success{color:var(--badge-ok-text);background:color-mix(in srgb,var(--badge-ok-bg) 12%,transparent)}.badge--warn,.status-chip--warning{color:var(--badge-warn-text);background:color-mix(in srgb,var(--badge-warn-bg) 14%,transparent)}.badge--info,.status-chip--info{color:var(--badge-info-text);background:color-mix(in srgb,var(--badge-info-bg) 12%,transparent)}.badge--neutral,.status-chip--neutral{color:var(--badge-neutral-text);background:color-mix(in srgb,var(--badge-neutral-bg) 12%,transparent)}.badge--danger,.status-chip--danger{color:var(--badge-danger-text);background:color-mix(in srgb,var(--badge-danger-bg) 12%,transparent)}.mobile-overlay,.mobile-only{display:none}.sidebar{will-change:transform}@keyframes pulse{0%{opacity:.9;transform:scale(.92)}70%{opacity:0;transform:scale(1.45)}to{opacity:0;transform:scale(1.45)}}@media(max-width:1200px){.universal-bar{grid-template-columns:1fr;grid-template-areas:"left" "center" "right";gap:10px;padding:10px 12px}.universal-bar__left{grid-area:left;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;justify-content:flex-start;gap:10px;min-width:0}.universal-bar__center{grid-area:center}.universal-bar__right{grid-area:right;justify-content:flex-start;align-self:start;width:100%}.universal-search{width:100%}.brand--topbar{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;max-width:100%}.brand--topbar .brand__logo--image{width:42px;height:42px}.brand--topbar .brand__title{font-size:1rem}.universal-identity{max-width:min(100%,320px);padding-inline:8px 10px;gap:8px}.universal-identity__content{min-width:0}.universal-identity__content strong,.universal-identity__content span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid{grid-template-columns:1fr}.searchbox{min-width:280px}.auth-shell,.student-subnav__tabs,.settings-workspace__body,.logo-upload,.settings-inline-grid,.settings-color-inline,.settings-color-grid,.settings-shadow-card__controls,.settings-group-grid,.settings-masonry--groups,.settings-masonry--typography{grid-template-columns:1fr}}@media(max-width:1200px){.app-shell{grid-template-columns:1fr;grid-template-rows:auto 1fr}.sidebar{display:none;position:fixed;left:0;top:var(--universal-bar-height);bottom:0;width:min(100vw,340px);max-width:100vw;min-height:auto;max-height:none;padding:10px 10px 14px;transform:translate3d(calc(-100% - 28px),0,0);transition:transform var(--transition);overflow-y:auto;overscroll-behavior:contain;z-index:45;box-shadow:none;visibility:hidden;pointer-events:none}.sidebar--open{display:block;transform:translateZ(0);box-shadow:0 18px 38px #0813263d;visibility:visible;pointer-events:auto}.sidebar__body{gap:8px}.sidebar-user{padding:8px 10px}.sidebar-user strong{font-size:.9rem}.sidebar-user span{font-size:.8rem}.sidebar__nav{gap:2px}.nav-item{gap:10px;padding:9px 10px 9px calc(10px + (var(--nav-depth, 0) * 14px))}.nav-item__label{font-size:.9rem}.sidebar__footer{padding-top:2px}.sidebar__footer .system-card{display:none}.sidebar__footer .nav-item--logout{margin-top:0}.mobile-overlay{position:fixed;inset:0;background:#0a15286b;z-index:40}.mobile-overlay--visible{display:block}.mobile-only{display:inline-grid;place-items:center}.topbar,.hero{align-items:flex-start;flex-direction:column}.topbar__right{width:100%;flex-wrap:wrap}.settings-role-header{align-items:stretch}.settings-inline-grid--role-header{min-width:100%}.settings-role-actions{width:100%;justify-content:flex-end}.student-edit-block:has(>.settings-role-actions)>.student-edit-block__header{padding-right:0}.student-edit-block>.settings-role-actions{position:static;margin:0}.student-edit-block__header--split{display:grid}.student-edit-block__header--split .settings-role-actions--inline{width:100%;justify-content:flex-end;padding-top:0;padding-right:0}.settings-inline-grid--menu-editor{grid-template-columns:1fr}.settings-menu-row{grid-template-columns:32px minmax(0,1fr)}.settings-menu-row__actions{grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr))}.settings-menu-row__fields{grid-template-columns:repeat(2,minmax(0,1fr))}.searchbox{flex:1 1 100%;min-width:100%}}@media(max-width:640px){:root{--universal-bar-height: 116px}.universal-bar{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"left right" "center center";align-items:start;gap:10px;padding:10px}.universal-bar__left{gap:10px}.brand--topbar .brand__logo--image{width:38px;height:38px}.brand--topbar .brand__title{font-size:.95rem}.brand--topbar .brand__subtitle{font-size:.68rem}.universal-search__field input{min-height:44px;padding:9px 14px 9px 12px}.universal-search__dropdown{top:calc(100% + 8px)}.universal-identity{max-width:44vw;min-height:38px;padding:3px 8px;gap:6px}.universal-identity__content strong{font-size:.8rem}.universal-identity__content span{font-size:.68rem}.universal-identity__logout{width:30px;min-width:30px;height:30px;min-height:30px}.sidebar{width:min(94vw,320px);padding:12px 12px 16px}.sidebar__body{gap:10px}.sidebar-user{padding:9px 10px}.main{padding:10px}.employee-edit-workspace .settings-workspace__actions,.employee-edit-workspace .employee-workspace__actions{display:grid;grid-template-columns:1fr;justify-content:stretch;justify-items:stretch;margin-left:0;padding-left:0;width:100%;max-width:100%}.employee-edit-workspace .settings-workspace__actions>*,.employee-edit-workspace .employee-workspace__actions>*,.employee-edit-workspace .action-button{justify-content:center;width:100%;min-width:0}.main{padding:12px;grid-column:1;grid-row:2;width:100%;max-width:100%;overflow-x:hidden}.hero,.panel,.stat-card{border-radius:4px}.student-profile__grid,.detail-grid,.form-grid{grid-template-columns:1fr}.form-field--span-2{grid-column:auto}.employee-form-20-40-40,.employee-form-50-25-25,.employee-form-20-20-40-20,.employee-absence-50-25-25,.employee-absence-50-50,.employee-absence-25-25-25-25,.course-group-schedule-row,.settings-compact-grid--double,.settings-compact-grid--triple,.settings-menu-row{grid-template-columns:1fr}.settings-menu-row__handle,.settings-menu-row__fields,.settings-menu-row__actions{grid-column:auto}.settings-menu-row__fields,.settings-menu-row__actions,.settings-section__header--split{grid-template-columns:1fr}.student-table__toolbar{align-items:stretch;flex-direction:column}.course-group-workspace__tabs,.course-group-toolbar{align-items:stretch}.course-group-toolbar{flex-wrap:wrap;overflow:visible}.course-group-search,.course-group-toolbar__status{flex:1 1 100%;width:100%}.course-log-panel table th,.course-log-panel table td,.course-group-table table th,.course-group-table table td{white-space:normal}.course-group-form-row--course-group,.course-group-form-row--teacher-fee,.course-group-form-row--registration-schedule,.course-group-form-row--period-meta{grid-template-columns:1fr}.settings-workspace__actions{width:100%;justify-content:flex-end;padding-left:0}.settings-save-state{order:-1}.column-config{position:static;min-width:100%}.stats-grid{grid-template-columns:1fr}.hero__actions,.topbar__right{width:100%}.edit-header{align-items:flex-start;flex-direction:column}.action-button{width:100%;justify-content:center}.auth-shell{padding:14px}.auth-panel{padding:18px}.auth-demo-grid{grid-template-columns:1fr}}.planner-shell{display:grid;gap:14px;min-width:0;width:100%;max-width:100%}.planner-workspace__top{padding:12px;background:linear-gradient(180deg,color-mix(in srgb,var(--planner-surface-bg, #f8fbff) 98%,white 2%),color-mix(in srgb,var(--planner-surface-bg, #f8fbff) 90%,#f3f7fc 10%));border-bottom:1px solid var(--planner-surface-border, var(--border-soft));overflow:visible;width:100%;min-width:0;max-width:100%;box-sizing:border-box;container-type:inline-size;border-top-left-radius:var(--planner-surface-radius, var(--radius-lg));border-top-right-radius:var(--planner-surface-radius, var(--radius-lg))}.planner-workspace .settings-workspace__body{padding:12px}.planner-workspace{display:grid;gap:0;padding:0;overflow:visible;container-type:inline-size;width:100%;min-width:0;max-width:100%;box-sizing:border-box}.planner-workspace .settings-workspace__main,.planner-workspace .settings-workspace__body{overflow:visible;min-width:0;max-width:100%;width:100%}.planner-workspace .settings-workspace__main{grid-template-columns:minmax(0,1fr)}.planner-workspace .settings-workspace__main>*{min-width:0;max-width:100%;width:100%}.planner-workspace>*{min-width:0;max-width:100%;width:100%}.planner-controls-row,.planner-controls-row__filters,.planner-controls-row__actions{align-items:center;gap:10px;min-width:0;max-width:100%}.planner-controls-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,240px);gap:12px;justify-content:stretch;width:100%}.planner-controls-row__filters{display:grid;flex:1 1 auto;min-width:0;width:100%;max-width:100%;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.planner-controls-row__actions{display:grid;align-items:stretch;min-width:0;width:100%;max-width:100%}.planner-controls-row__actions .action-button,.planner-calendar-panel__tools .action-button{margin:0;min-width:0;width:100%;max-width:100%;white-space:normal}@container (max-width: 1200px){.planner-workspace .planner-controls-row{grid-template-columns:1fr}.planner-workspace .planner-controls-row__filters,.planner-workspace .planner-controls-row__actions{width:100%}.planner-workspace .planner-controls-row__actions{display:grid}.planner-workspace .planner-controls-row__actions .action-button{width:100%}}@container (max-width: 900px){.planner-workspace .planner-controls-row__filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (max-width: 640px){.planner-workspace .planner-controls-row__filters{grid-template-columns:1fr}}.planner-toolbar,.planner-board,.planner-detail{padding:14px;border:1px solid var(--planner-surface-border, var(--border-soft));border-radius:var(--planner-surface-radius, var(--radius-lg));background:linear-gradient(180deg,color-mix(in srgb,var(--planner-surface-bg, #f8fbff) 98%,white 2%),color-mix(in srgb,var(--planner-surface-bg, #f8fbff) 92%,#f8fbff 8%));box-shadow:var(--shadow-soft)}.planner-toolbar{display:grid;gap:14px}.planner-toolbar--embedded{width:100%}.planner-icon-button{align-items:center;display:inline-flex;font-size:.74rem;height:var(--button-height-secondary);justify-content:center;min-width:36px;padding-inline:0}.planner-icon-button--wide{min-width:0;width:100%;max-width:100%}.planner-month-switch,.planner-filterbar,.planner-layout,.planner-summary-grid,.planner-action-grid,.planner-action-buttons,.planner-name-list{display:grid;gap:12px}.planner-month-switch{align-items:center;grid-template-columns:auto minmax(190px,220px) auto}.planner-filterbar{align-items:center;grid-template-columns:repeat(4,minmax(0,1fr))}.planner-layout{grid-template-columns:minmax(0,1.5fr) minmax(320px,.95fr);align-items:start}.planner-workspace__tabs,.planner-workspace__body{width:100%}.planner-calendar-panel{display:grid;gap:0;padding:0;overflow:visible;min-width:0;width:100%;max-width:100%;box-sizing:border-box;container-type:inline-size}.planner-calendar-panel>*{min-width:0;max-width:100%;width:100%}.planner-calendar-panel .panel__header{padding-inline:0;min-width:0;max-width:100%;width:100%}.planner-calendar-panel .employee-table-panel__header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;width:100%;box-sizing:border-box}.planner-calendar-panel .employee-table-panel__intro{min-width:0;max-width:100%;width:100%;padding-left:calc(var(--layout-edge) + 4px);padding-right:calc(var(--layout-edge) + 4px)}.planner-board--full{padding:0 0 14px;border:0;border-radius:0;background:transparent;box-shadow:none;min-width:0;width:100%;max-width:100%;overflow:visible}.planner-inline-field{align-items:center;column-gap:10px;display:grid;grid-template-columns:auto minmax(0,1fr);min-width:0}.planner-inline-field>span{margin:0;white-space:nowrap;color:var(--form-label-text);font-size:var(--font-size-base);font-weight:var(--font-weight-base)}.planner-inline-field--filter{grid-template-columns:minmax(0,1fr)}.planner-inline-field--month{min-width:0}.planner-inline-field select,.planner-inline-field input{min-width:0;width:100%;max-width:100%;height:var(--form-control-height, var(--button-height-secondary));min-height:var(--form-control-height, var(--button-height-secondary));padding:10px 12px;border:1px solid var(--form-control-border, var(--border-soft));border-radius:4px;background:var(--form-control-bg, #f4f8fd);color:var(--form-control-text, var(--text-main));font-family:var(--font-family-app);font-size:var(--font-size-base);font-weight:var(--font-weight-base);line-height:1.2}.planner-inline-field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 320 512'%3E%3Cpath d='M143 352.3L7 216.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0L160 256.5l96.4-96.7c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L177 352.3c-9.4 9.4-24.6 9.4-34 0z' fill='%2364748b'/%3E%3C/svg%3E");background-position:calc(100% - var(--form-select-arrow-offset, 18px)) 50%;background-size:13px 13px;background-repeat:no-repeat;padding-right:calc(var(--form-select-arrow-offset, 18px) + 14px)}.planner-inline-field--month-value{min-width:0}.planner-inline-field--calendar-month{grid-template-columns:minmax(0,1fr);min-width:0}.planner-calendar-panel__tools .planner-inline-field{align-items:stretch}.planner-calendar-panel__tools .planner-inline-field>span{align-self:center}.planner-calendar-panel__tools .planner-inline-field input{height:var(--form-control-height, var(--button-height-secondary))}.planner-calendar-panel__tools{display:grid;align-items:center;grid-template-columns:44px minmax(160px,1fr) 44px;gap:10px;min-width:0;width:clamp(268px,34%,392px);max-width:min(100%,392px);justify-self:end;justify-content:stretch;box-sizing:border-box;margin-inline-end:0}.planner-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;margin-bottom:12px;color:var(--table_head_text);font-size:var(--font-size-th);font-weight:var(--font-weight-th);letter-spacing:var(--table-head-letter-spacing);text-transform:var(--table-head-transform);width:100%;max-width:100%}.planner-weekdays>span{min-width:0;padding-inline:12px;text-align:left}.planner-calendar{display:grid;gap:12px;min-width:0;width:100%;max-width:100%}.planner-week-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;min-width:0;width:100%;max-width:100%}.planner-day{display:grid;align-content:start;gap:8px;min-height:170px;padding:12px;border:1px solid var(--planner-day-border, color-mix(in srgb, var(--border-soft) 84%, #dbe7ff 16%));border-radius:var(--planner-day-radius, var(--radius-md));background:linear-gradient(180deg,color-mix(in srgb,var(--planner-day-bg, #ffffff) 96%,white 4%),color-mix(in srgb,var(--planner-day-bg, #ffffff) 84%,#f5f9ff 16%));min-width:0;overflow:visible;box-sizing:border-box;position:relative}.planner-day--muted{opacity:.52;background:linear-gradient(180deg,color-mix(in srgb,var(--planner-day-muted-bg, #f4f7fb) 96%,white 4%),color-mix(in srgb,var(--planner-day-muted-bg, #f4f7fb) 88%,#eef2f7 12%))}.planner-day__header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.planner-day__weekday{color:var(--text-soft);font-size:.78rem;font-weight:600;min-width:0}.planner-day__header strong{color:var(--heading-h4-text);font-size:clamp(.92rem,.5vw + .78rem,var(--font-size-h4));font-weight:var(--font-weight-h4);line-height:1}.planner-day__events{display:grid;gap:5px;min-width:0;overflow:visible}.planner-event-card{display:grid;gap:4px;padding:8px 9px;border:1px solid var(--planner-event-border, rgba(216, 227, 251, .88));border-radius:var(--planner-event-radius, 12px);background:linear-gradient(180deg,color-mix(in srgb,var(--planner-event-bg, #ffffff) 98%,white 2%),color-mix(in srgb,var(--planner-event-bg, #ffffff) 90%,#f6f9ff 10%));text-align:left;transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition);width:100%;min-width:0;max-width:100%;overflow:hidden;box-sizing:border-box}.planner-event-card:hover,.planner-event-card:focus-visible,.planner-event-card--selected{border-color:var(--planner-event-active-border, rgba(48, 90, 214, .36));box-shadow:0 12px 24px color-mix(in srgb,var(--planner-event-active-border, rgba(48, 90, 214, .36)) 28%,transparent);outline:none}.planner-event-card--moved-target{border-style:dashed;background:linear-gradient(180deg,color-mix(in srgb,var(--planner-event-bg, #ffffff) 94%,#eef4fb 6%),color-mix(in srgb,var(--planner-event-bg, #ffffff) 86%,#e8f0ff 14%))}.planner-event-card__top{display:flex;align-items:center;gap:8px;min-width:0}.planner-event-card strong{color:var(--heading-h4-text);font-size:.82rem;font-weight:600;line-height:1.2;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.planner-event-card__time,.planner-event-card__meta{color:var(--text-soft);font-size:.72rem}.planner-event-card__meta{line-height:1.2;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.planner-event-card__footer{display:flex;flex-wrap:wrap;gap:5px;margin-top:1px;min-width:0}.planner-event-card__pill{display:inline-flex;align-items:center;min-height:20px;padding:1px 7px;border-radius:999px;background:color-mix(in srgb,var(--planner-event-active-border, rgba(48, 90, 214, .36)) 14%,transparent);color:var(--text-main);font-size:.68rem;line-height:1.1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planner-event-card__pill--soft{background:#64748b1a;color:var(--text-soft)}.planner-event-card__pill--moved{background:#2857a424;color:#2857a4}@container (max-width: 560px){.planner-calendar-panel .employee-table-panel__header{grid-template-columns:1fr;align-items:stretch}.planner-calendar-panel .planner-calendar-panel__tools{width:100%}}@container (max-width: 1200px){.planner-calendar-panel .planner-weekdays,.planner-calendar-panel .planner-week-row{grid-template-columns:repeat(4,minmax(0,1fr))}.planner-calendar-panel .planner-event-card__footer{display:none}}@container (max-width: 980px){.planner-calendar-panel .planner-weekdays,.planner-calendar-panel .planner-week-row{grid-template-columns:repeat(3,minmax(0,1fr))}}@container (max-width: 760px){.planner-calendar-panel .planner-calendar-panel__tools{grid-template-columns:1fr}.planner-calendar-panel .planner-weekdays,.planner-calendar-panel .planner-week-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.planner-calendar-panel .planner-day{padding:6px}.planner-calendar-panel .planner-event-card{gap:3px;padding:6px}.planner-calendar-panel .planner-event-card strong{font-size:.69rem}.planner-calendar-panel .planner-event-card__time,.planner-calendar-panel .planner-event-card__meta{font-size:.62rem}.planner-calendar-panel .planner-event-card__meta{display:none}}@container (max-width: 620px){.planner-calendar-panel .planner-weekdays{display:none}.planner-calendar-panel .planner-week-row{grid-template-columns:1fr}.planner-calendar-panel .planner-day__weekday{font-size:.72rem}}.planner-status-dot{width:10px;height:10px;border-radius:999px;position:relative;flex-shrink:0}.planner-status-dot:after{content:"";position:absolute;inset:-6px;border-radius:999px;opacity:.28;animation:plannerPulse 1.8s ease-out infinite}.planner-status-dot--confirmed,.planner-status-dot--green{background:#17b26a}.planner-status-dot--confirmed:after,.planner-status-dot--green:after{background:#17b26a38}.planner-status-dot--unclear,.planner-status-dot--orange{background:#f79009}.planner-status-dot--unclear:after,.planner-status-dot--orange:after{background:#f7900938}.planner-status-dot--critical,.planner-status-dot--red{background:#ef4444}.planner-status-dot--critical:after,.planner-status-dot--red:after{background:#ef444438}@keyframes plannerPulse{0%{transform:scale(.72);opacity:.38}70%{transform:scale(1.08);opacity:0}to{transform:scale(1.08);opacity:0}}.planner-detail{position:sticky;top:12px}.planner-feedback{margin-bottom:14px}.planner-selection-bar,.planner-actions-strip{display:grid;gap:12px;margin-bottom:14px;padding:14px;border:1px solid var(--planner-detail-border, rgba(216, 227, 251, .95));border-radius:var(--planner-detail-radius, var(--radius-md));background:linear-gradient(180deg,color-mix(in srgb,var(--planner-detail-bg, #ffffff) 97%,white 3%),color-mix(in srgb,var(--planner-detail-bg, #ffffff) 92%,#f4f8ff 8%))}.planner-selection-bar{align-items:start;grid-template-columns:minmax(0,1fr) auto}.planner-selection-bar__main,.planner-selection-bar__meta,.planner-selection-bar__top,.planner-actions-strip__grid{display:grid;gap:8px}.planner-selection-bar__top{align-items:center;grid-auto-flow:column;justify-content:start}.planner-selection-bar__main p,.planner-selection-bar__meta{margin:0;color:var(--text-soft)}.planner-selection-bar__meta{justify-items:end;text-align:right}.planner-event-modal{max-width:920px;background:linear-gradient(180deg,color-mix(in srgb,var(--planner-detail-bg, #ffffff) 97%,white 3%),color-mix(in srgb,var(--planner-detail-bg, #ffffff) 92%,#f4f8ff 8%));border:1px solid var(--planner-detail-border, rgba(216, 227, 251, .95));border-radius:var(--planner-detail-radius, var(--radius-lg))}.planner-summary-grid--modal{margin-bottom:16px}.planner-actions-strip__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.planner-actions-strip__grid .form-field--full{grid-column:1 / -1}.planner-detail__content,.planner-participants,.planner-action-panel{display:grid;gap:14px}.planner-detail__hero{display:flex;justify-content:space-between;gap:12px;align-items:start}.planner-detail__hero h3,.planner-detail__hero p{margin:0}.planner-detail__hero p{color:var(--text-soft);margin-top:6px}.planner-detail__status{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:999px;background:color-mix(in srgb,var(--planner-detail-border, rgba(216, 227, 251, .95)) 24%,transparent);white-space:nowrap}.planner-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-summary-card{display:grid;gap:4px;padding:12px;border:1px solid var(--planner-detail-border, rgba(216, 227, 251, .95));border-radius:var(--planner-detail-radius, var(--radius-md));background:linear-gradient(180deg,color-mix(in srgb,var(--planner-detail-bg, #ffffff) 96%,white 4%),color-mix(in srgb,var(--planner-detail-bg, #ffffff) 90%,#f4f8ff 10%))}.planner-summary-card--full{grid-column:1 / -1}.planner-summary-card span{color:var(--text-soft);font-size:.78rem}.planner-summary-card strong{color:var(--heading-h4-text);font-size:.95rem;font-weight:400}.planner-summary-card__value{font-weight:400}.planner-summary-card__value{font-weight:500}.planner-section-head{display:grid;gap:4px}.planner-section-head h4,.planner-section-head p{margin:0}.planner-section-head p{color:var(--text-soft)}.planner-name-list{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.planner-name-chip{padding:8px 10px;border-radius:999px;background:color-mix(in srgb,var(--planner-event-active-border, rgba(48, 90, 214, .36)) 14%,transparent);color:var(--heading-h4-text);font-size:.84rem}.planner-name-chip--muted{background:#64748b14;color:var(--text-soft)}.planner-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-action-buttons{grid-template-columns:repeat(2,max-content);justify-content:start}.planner-summary-card__link{padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;text-align:left;text-decoration:none}.planner-summary-card__link:hover,.planner-summary-card__link:focus-visible{color:#30499f}.planner-summary-card__participants{font-size:11px;line-height:1.5;color:var(--text-soft)}.planner-summary-card__participant-link{padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;text-decoration:none}.planner-summary-card__participant-link:hover,.planner-summary-card__participant-link:focus-visible{color:#30499f}.planner-summary-card__participant-separator{color:inherit}.planner-detail__empty{display:grid;gap:8px;min-height:320px;align-content:center;text-align:center}.planner-detail__empty h3,.planner-detail__empty p{margin:0}.planner-detail__empty p{color:var(--text-soft)}@media(max-width:1200px){.planner-workspace__top{padding:10px}.planner-controls-row{grid-template-columns:1fr}.planner-controls-row__actions{display:grid}.planner-controls-row__actions .action-button{width:100%}.planner-layout{grid-template-columns:1fr}.planner-detail{position:static}.planner-filterbar,.planner-actions-strip__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-calendar-panel .employee-table-panel__header{align-items:stretch;grid-template-columns:1fr}.planner-calendar-panel__tools{width:100%;max-width:100%}.planner-weekdays,.planner-week-row,.planner-calendar{gap:8px}.planner-day{padding:10px}.planner-event-card__footer{display:none}.planner-weekdays,.planner-week-row{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:700px){.planner-workspace__top,.planner-workspace .settings-workspace__body{padding:10px}.settings-modal-backdrop{place-items:start center;padding:12px}.settings-modal{width:100%;max-height:calc(100vh - 24px);border-radius:16px;padding:14px}.settings-modal__header,.settings-modal__actions{flex-direction:column;align-items:stretch}.settings-modal__footer{align-items:stretch}.settings-modal__footer .action-button{justify-content:center}.planner-filterbar,.planner-action-grid,.planner-summary-grid,.planner-month-switch,.planner-controls-row{grid-template-columns:1fr}.planner-controls-row__filters,.planner-controls-row__actions{display:grid;width:100%;gap:10px}.planner-controls-row__actions .action-button,.planner-calendar-panel__tools .action-button,.planner-calendar-panel__tools .planner-inline-field{width:100%}.planner-board--full{padding:0 0 12px}.planner-day{min-height:0;padding:8px;width:100%}.planner-day__header{padding-bottom:2px}.planner-event-card{padding:7px 8px}.planner-event-card strong{font-size:.76rem}.planner-event-card__time,.planner-event-card__meta{font-size:.67rem}.planner-summary-grid--modal,.planner-actions-strip__grid{gap:10px}.planner-action-buttons{grid-template-columns:1fr}.planner-detail__status{white-space:normal}.planner-actions-strip__grid{grid-template-columns:1fr}.planner-weekdays>span{padding-inline:8px;font-size:.72rem}.planner-weekdays,.planner-week-row{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:560px){.planner-calendar-panel .employee-table-panel__header{align-items:stretch;gap:14px;grid-template-columns:1fr}.planner-inline-field{grid-template-columns:1fr;row-gap:6px}.planner-calendar-panel__tools{grid-template-columns:minmax(72px,20%) minmax(0,60%) minmax(72px,20%);width:100%;max-width:100%;margin-inline-end:0}}@media(max-width:900px){.student-form-triple,.student-form-quad,.student-form-double,.student-form-address,.student-form-contact,.student-guardian-identity,.student-guardian-address,.student-guardian-contact,.student-guardian-account,.returned-debit-summary,.returned-debit-form{grid-template-columns:1fr}}.app-shell--compact{grid-template-columns:1fr;grid-template-rows:auto 1fr}.app-shell--compact .universal-bar{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"left right" "center center";gap:10px;padding:10px 12px}.app-shell--compact .universal-bar__left{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;justify-content:flex-start;gap:10px;width:100%}.app-shell--compact .universal-bar__center,.app-shell--compact .universal-bar__right{width:100%}.app-shell--compact .universal-bar__center{justify-content:stretch}.app-shell--compact .universal-bar__right{justify-content:flex-start;align-items:flex-start;align-self:start}.app-shell--compact .brand--topbar{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-width:0;max-width:100%}.app-shell--compact .brand--topbar .brand__logo--image{width:42px;height:42px}.app-shell--compact .brand--topbar .brand__copy{min-width:0}.app-shell--compact .universal-search{width:100%}.app-shell--compact .universal-identity{max-width:min(42vw,320px);min-height:38px;padding:3px 8px;gap:6px}.app-shell--compact .mobile-only{display:inline-grid;place-items:center}.app-shell--compact .sidebar--compact{position:fixed;left:0;top:var(--universal-bar-height);bottom:0;width:min(100vw,340px);max-width:100vw;min-height:auto;max-height:none;padding:10px 10px 14px;overflow-y:auto;overscroll-behavior:contain;z-index:45;box-shadow:0 18px 38px #0813263d;visibility:visible;pointer-events:auto}.app-shell--compact .sidebar--compact .sidebar__body{gap:8px}.app-shell--compact .sidebar--compact .sidebar__footer .system-card{display:none}.app-shell--compact .mobile-overlay{position:fixed;inset:0;z-index:40;background:#0a15286b}.app-shell--compact .main{grid-column:1;grid-row:2;width:100%;max-width:100%;overflow-x:hidden}@media(max-width:1400px)and (min-width:1201px){.app-shell{grid-template-columns:240px minmax(0,1fr)}.sidebar,.main{padding-inline:12px}}@media(max-width:720px){.planner-controls-row__filters{grid-template-columns:1fr}.planner-weekdays,.planner-week-row,.planner-calendar{gap:6px}.planner-weekdays,.planner-week-row{grid-template-columns:repeat(3,minmax(0,1fr))}.planner-weekdays>span{padding-inline:6px;font-size:.66rem;letter-spacing:0;text-transform:none}.planner-day{padding:6px}.planner-day__header strong{font-size:.84rem}.planner-event-card{gap:3px;padding:6px;border-radius:var(--planner-event-radius, 12px)}.planner-event-card__top{gap:6px}.planner-event-card strong{font-size:.69rem}.planner-event-card__time,.planner-event-card__meta{font-size:.62rem}.planner-event-card__meta{display:none}}@media(max-width:560px){.planner-calendar-panel__tools{grid-template-columns:1fr}.planner-weekdays,.planner-week-row{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-weekdays{display:none}.planner-day__weekday{font-size:.72rem}}@media(max-width:380px){.planner-week-row{grid-template-columns:1fr}.planner-day{padding:10px}.planner-event-card{padding:8px}}.support-project-hero,.support-project-stats,.support-project-card,.public-donation-panel{border:1px solid rgba(15,23,42,.1);background:linear-gradient(145deg,#fffffff5,#f8fafceb);box-shadow:0 22px 60px #0f172a14}.support-project-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px;padding:24px;border-radius:4px}.support-project-hero h2,.support-project-card h3,.public-donation-hero h1{margin:0;color:#102033}.support-project-hero p,.public-donation-hero p{max-width:760px;margin:8px 0 0;color:#526173}.support-project-hero__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.support-project-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;overflow:hidden;margin-bottom:18px;border-radius:4px}.support-project-stats article{padding:18px;background:#ffffffb8}.support-project-stats span,.support-project-card dt{display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#6b7a90}.support-project-stats strong{display:block;margin-top:6px;font-size:1.1rem;color:#102033}.support-project-stats__eyebrow{letter-spacing:normal;text-transform:none}.support-project-grid{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.4fr);gap:18px}.support-project-card{padding:22px;border-radius:4px}.support-project-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.support-project-amount{min-width:180px}.support-qr-tabs,.public-donation-methods{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.support-qr-tabs button,.public-donation-methods button{min-height:38px;border:1px solid rgba(48,73,159,.18);border-radius:4px;background:#fff;color:#30499f;font-weight:700;cursor:pointer}.support-qr-tabs__button--active,.public-donation-methods button.active{background:#30499f!important;color:#fff!important}.support-qr-display,.public-donation-qr{display:grid;justify-items:center;gap:16px;padding:20px;border:1px dashed rgba(48,73,159,.26);border-radius:4px;background:radial-gradient(circle at top left,rgba(48,73,159,.08),transparent 34%),#fff}.support-qr-display img,.public-donation-qr img{width:min(300px,100%);height:auto;image-rendering:crisp-edges}.support-qr-display dl,.public-donation-qr dl{display:grid;gap:8px;width:100%;margin:0}.support-qr-display div,.public-donation-qr div{display:grid;grid-template-columns:165px minmax(0,1fr);gap:12px 16px;align-items:start;font-size:.82rem}.support-project-card dt,.public-donation-qr dt{white-space:nowrap;padding-right:8px}.support-project-card dd,.public-donation-qr dd{margin:0;min-width:0;line-height:1.5;overflow-wrap:anywhere;color:#102033}.public-registration-shell{min-height:100vh;padding:clamp(18px,4vw,48px);font-family:var(--font-family-app);font-size:var(--font-size-base);font-weight:var(--font-weight-base);background:radial-gradient(circle at 12% 8%,rgba(48,73,159,.08),transparent 30%),linear-gradient(135deg,var(--bg-app) 0%,#f7f9fd 55%,#eef3fb 100%)}.public-registration-shell--compact{display:grid;align-items:start}.public-registration-hero,.public-registration-card{width:min(1180px,100%);margin:0 auto}.public-registration-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.34fr);gap:18px;align-items:stretch;margin-bottom:18px}.public-registration-hero>div,.public-registration-hero aside,.public-registration-card,.public-registration-subcard{border:1px solid rgba(15,23,42,.1);border-radius:4px;background:var(--bg-panel);box-shadow:0 2px 4px #0f172a14}.public-registration-hero>div{padding:clamp(22px,4vw,42px)}.public-registration-hero h1{margin:8px 0 10px;color:#102033;font-size:clamp(28px,5vw,48px);line-height:1.02}.public-registration-hero p,.public-registration-section__header p{margin:0;color:#475467;font-size:14px;line-height:1.65}.public-registration-hero aside{display:grid;align-content:end;gap:8px;padding:22px;color:#102033}.public-registration-hero aside strong,.public-registration-eyebrow,.public-registration-review strong{color:var(--primary, #30499f)}.public-registration-eyebrow{font-size:14px;font-weight:700;letter-spacing:var(--eyebrow-letter-spacing);text-transform:var(--eyebrow-transform)}.public-registration-card{overflow:hidden}.public-registration-card--success-only{display:grid;min-height:430px;place-items:center;padding:clamp(28px,6vw,54px)}.public-registration-final{display:grid;justify-items:center;gap:16px;max-width:620px;text-align:center}.public-registration-final__icon{display:inline-grid;width:64px;height:64px;place-items:center;border-radius:999px;background:#107c4a;color:#fff;font-size:32px;font-weight:800;line-height:1}.public-registration-final h2{margin:0;color:#102033;font-size:clamp(26px,4vw,38px);letter-spacing:-.03em}.public-registration-final p{margin:0;color:#475467;font-size:15px;line-height:1.65}.public-registration-final p span{display:block}.public-registration-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:#0f172a14}.public-registration-steps button{display:flex;align-items:center;gap:8px;min-height:54px;border:0;background:#ffffffdb;color:#64748b;font:inherit;font-size:13px;font-weight:500;padding:12px 16px;cursor:pointer}.public-registration-steps button span{display:inline-grid;width:24px;height:24px;place-items:center;border-radius:999px;border:1px solid color-mix(in srgb,var(--primary, #30499f) 18%,transparent);color:var(--primary, #30499f);background:#f4f8fd;font-size:11px}.public-registration-steps button.active{background:var(--primary, #30499f);color:#fff}.public-registration-steps button.active span{border-color:#ffffff61;background:#ffffff29;color:#fff}.public-registration-steps button.done{color:#107c4a}.public-registration-section{display:grid;gap:18px;padding:clamp(20px,4vw,34px)}.public-registration-section__header{display:grid;gap:7px}.public-registration-section__header--split{grid-template-columns:minmax(0,1fr) auto;align-items:start}.public-registration-section__header h2,.public-registration-section__header h3{margin:0;color:#102033}.public-registration-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.public-registration-choice{display:grid;gap:10px;min-height:154px;padding:20px;border:1px solid #d8e3fb;border-radius:4px;background:#f4f8fd;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.public-registration-choice:hover,.public-registration-choice.active{border-color:var(--primary, #30499f);box-shadow:0 2px 4px color-mix(in srgb,var(--primary, #30499f) 16%,transparent);transform:translateY(-1px)}.public-registration-choice input{width:18px;height:18px}.public-registration-choice strong{color:#102033;font-size:18px}.public-registration-choice span{color:#64748b;line-height:1.55}.public-registration-choice__meta{color:#8a94a6;font-size:12px;font-weight:500}.public-registration-grid{display:grid;gap:12px}.public-registration-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.public-registration-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.public-registration-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}.public-registration-grid--one{grid-template-columns:minmax(0,1fr)}.public-registration-subcard{display:grid;gap:16px;padding:18px;background:var(--bg-panel);box-shadow:0 2px 4px #0f172a0f}.public-registration-toggle{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;width:100%;min-width:0;color:#475467;font-size:13px;font-weight:500;line-height:1.45;padding:10px;border:1px solid var(--form-control-border, var(--border-soft));border-radius:4px;background:var(--bg-panel, #fff);transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease,color .16s ease}.public-registration-toggle:hover{border-color:color-mix(in srgb,var(--primary, #30499f) 20%,var(--form-control-border, var(--border-soft)));background:color-mix(in srgb,var(--primary, #30499f) 3%,var(--bg-panel, #fff))}.public-registration-toggle:focus-within{border-color:color-mix(in srgb,var(--primary, #30499f) 60%,white);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary, #30499f) 45%,white),0 0 0 4px color-mix(in srgb,var(--primary, #30499f) 12%,transparent);background:color-mix(in srgb,var(--primary, #30499f) 4%,var(--bg-panel, #fff))}.public-registration-toggle input{flex:0 0 auto;width:16px;height:16px;margin:0;accent-color:var(--primary, #30499f)}.public-registration-toggle span{flex:1 1 0%;min-width:0}.public-registration-locked-field{position:relative}.public-registration-locked-field input{padding-right:34px;color:#475467}.public-registration-locked-field small{position:absolute;right:11px;bottom:10px;pointer-events:none}.public-registration-id-field input{height:52px;min-height:52px;font-size:1.125rem;font-weight:700}.public-registration-lookup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start;margin-bottom:16px}.public-registration-lookup-card{display:grid;gap:12px;align-content:start;padding:16px;border-radius:4px}.public-registration-lookup-card--blue,.public-registration-lookup-card--warning{border:1px solid #d8e3fb;background:#f4f8fd}.public-registration-lookup-card__title{color:#20356f;font-size:16px;font-weight:700;margin:0}.public-registration-lookup-card--warning .public-registration-lookup-card__title,.public-registration-lookup-card--warning p,.public-registration-lookup-card--warning .public-registration-lock-note{color:#1f2937}.public-registration-lookup-card--warning p,.public-registration-lookup-card--warning .public-registration-lock-note{color:#64748b}.public-registration-lookup-card p{margin:0;font-size:14px;line-height:1.6}.public-registration-lookup-panel{display:grid;gap:12px;min-height:100%}.public-registration-lookup-note{display:block;margin:0;color:#64748b;font-size:14px;line-height:1.55}.public-registration-id-field input{background:#fff;border-color:#d8e3fb;box-shadow:inset 0 1px 2px #0f172a0a;font-size:14px}.public-registration-lookup-warning{min-height:100%;margin:0;gap:20px}.public-registration-lookup-summary{margin-top:0}.public-registration-section__actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 16px}.public-registration-unlock-button{min-width:176px}.public-registration-lock-note{display:inline-flex;align-items:center;gap:10px;color:#667085;font-size:14px;font-weight:400;line-height:1.55}.public-registration-lock-note--warning{align-items:flex-start}.public-registration-lookup-summary article strong{font-size:16px}.public-registration-lookup-summary article span,.public-registration-lookup-summary article small{font-size:14px}@media(max-width:900px){.public-registration-lookup-grid{grid-template-columns:1fr}}.public-registration-lock-icon{display:inline-grid;width:18px;height:18px;place-items:center;border-radius:4px;background:#fff;border:1px solid #d8e3fb;color:#6b7280;flex-shrink:0}.public-registration-lock-icon svg{display:block;width:14px;height:14px;fill:currentColor}.public-registration-success{display:flex;align-items:flex-start;gap:10px}.public-registration-success__icon{display:inline-grid;flex:0 0 24px;width:24px;height:24px;place-items:center;border-radius:999px;background:#107c4a;color:#fff;font-size:13px;font-weight:700;line-height:1}.public-registration-consent{border-color:color-mix(in srgb,var(--primary, #30499f) 20%,transparent);background:color-mix(in srgb,var(--primary, #30499f) 5%,#fff)}.public-registration-consent:hover{border-color:color-mix(in srgb,var(--primary, #30499f) 28%,transparent);background:color-mix(in srgb,var(--primary, #30499f) 8%,#fff)}.public-registration-consent:focus-within{border-color:color-mix(in srgb,var(--primary, #30499f) 65%,white);background:color-mix(in srgb,var(--primary, #30499f) 9%,#fff)}.public-registration-consent.form-field--invalid{border-color:#d92d20;box-shadow:inset 0 0 0 1px #d92d20;background:color-mix(in srgb,#d92d20 4%,#fff)}.public-registration-consent.form-field--invalid:focus-within{box-shadow:inset 0 0 0 1px #d92d20,0 0 0 4px #d92d201f}.public-registration-highlight{font-weight:800}.public-registration-course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:8px}.public-registration-course-hint{margin-top:10px;color:#30499f;font-size:14px;font-weight:600;line-height:1.55}.public-registration-course-section-header{margin-bottom:8px}.public-registration-course-section-header h3{margin:0;color:#102033;font-size:1.17em;font-weight:700;line-height:1.2}.public-registration-course-hint__link{margin-top:10px}.public-registration-course-card{position:relative;min-height:198px;align-content:start;overflow:hidden;border-color:#30499f1f;background:linear-gradient(145deg,#fffffffa,#f4f8fdeb),radial-gradient(circle at top right,rgba(48,73,159,.12),transparent 42%);box-shadow:0 8px 18px #0f172a0d,inset 0 1px #ffffffb8;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}.public-registration-course-card:after{content:"";position:absolute;inset:auto -12% -42% auto;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,rgba(48,73,159,.14),transparent 70%);pointer-events:none;opacity:.8}.public-registration-course-card:hover,.public-registration-course-card.active{border-color:#30499f6b;box-shadow:0 14px 28px #30499f1f,inset 0 1px #ffffffe6;transform:translateY(-2px)}.public-registration-course-card__header{display:flex;align-items:start;justify-content:space-between;gap:12px;padding-left:34px}.public-registration-course-card__title-wrap{display:grid;gap:8px}.public-registration-course-card__meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:4px 14px}.public-registration-course-card__title-wrap strong{font-size:18px;line-height:1.35;letter-spacing:-.01em}.public-registration-course-card__suitable{color:#667085;font-size:12px;font-weight:500;line-height:1.5}.public-registration-course-card__price{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 12px;border:1px solid color-mix(in srgb,var(--primary, #30499f) 22%,transparent);border-radius:999px;background:var(--primary, #30499f);color:#fff;font-size:13px;font-weight:500;text-align:center;white-space:nowrap;box-shadow:0 4px 10px color-mix(in srgb,var(--primary, #30499f) 10%,transparent)}.public-registration-choice .public-registration-course-card__price{color:#fff}.public-registration-course-card__description{position:relative;z-index:1;color:#4b5b76;line-height:1.6;padding-left:34px}.public-registration-course-card input{position:absolute;top:22px;left:20px;width:18px;height:18px;accent-color:#30499f}.public-registration-course-note{margin-top:12px;color:#5f6f8f;font-size:12px;line-height:1.65}.public-registration-course-note strong{color:#30499f;font-weight:700}.public-registration-sepa-note{margin:14px 0 12px;color:#30499f;background:#30499f0f;border-color:#30499f3d}.public-registration-payment-summary{display:grid;gap:12px;margin:0 0 14px;padding:14px;border:1px solid rgba(48,73,159,.18);border-radius:4px;background:#30499f0d}.public-registration-payment-summary--compact{gap:8px;background:#30499f0a}.public-registration-payment-summary__header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.public-registration-payment-summary__header strong,.public-registration-payment-summary__text strong{color:#20356f;font-weight:700}.public-registration-payment-summary__header span{color:#30499f;font-size:13px;font-weight:700}.public-registration-payment-summary__items{display:grid;gap:10px}.public-registration-payment-summary__item{display:grid;gap:4px;padding:12px;border:1px solid rgba(48,73,159,.12);border-radius:4px;background:#fff}.public-registration-payment-summary__item strong{color:#20356f;font-weight:700}.public-registration-payment-summary__item span,.public-registration-payment-summary__text span{color:#4c5d7f;line-height:1.6}.public-registration-payment-summary__text{display:grid;gap:6px}.public-registration-payment-summary__item small{color:#6f7f9e;font-size:12px}.public-registration-payment-summary__item b{color:#30499f;font-size:15px;font-weight:700}.public-registration-legal-note{margin:16px 0 14px;padding:12px 14px;color:#30499f;background:#30499f0f;border-color:#30499f3d}.public-registration-legal-note .global-feedback__body{display:grid;gap:6px}.public-registration-review{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.public-registration-review--detailed{grid-template-columns:repeat(2,minmax(0,1fr))}.public-registration-review--split{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.public-registration-review__column{display:grid;gap:12px}.public-registration-review article{display:grid;gap:6px;align-content:start;padding:16px;border:1px solid #d8e3fb;border-radius:4px;background:#f4f8fd}.public-registration-review strong{font-size:12px}.public-registration-review span{color:#102033;font-weight:500}.public-registration-review small{color:#64748b;font-size:12px;line-height:1.45}.public-registration-review__edit{justify-self:end;margin-top:6px;border:0;border-radius:4px;background:color-mix(in srgb,var(--primary, #30499f) 8%,transparent);color:var(--primary, #30499f);font:inherit;font-size:12px;font-weight:500;padding:6px 10px;cursor:pointer}.public-registration-review__edit:hover{background:var(--primary, #30499f);color:#fff}.public-registration-add-button{border-color:var(--primary, #30499f);background:var(--primary, #30499f);color:#fff;box-shadow:0 2px 4px color-mix(in srgb,var(--primary, #30499f) 18%,transparent)}.public-registration-add-button:hover{border-color:var(--primary-hover, #28428f);background:var(--primary-hover, #28428f);color:#fff}.public-registration-shell .action-button:hover,.public-registration-shell .action-button:focus-visible{transform:translateY(-1px);box-shadow:0 2px 4px color-mix(in srgb,var(--primary, #30499f) 18%,transparent)}.public-registration-shell .action-button--ghost:hover,.public-registration-shell .action-button--ghost:focus-visible{box-shadow:0 2px 4px #0f172a14}.public-registration-actions{display:flex;justify-content:flex-end;gap:10px;padding:12px clamp(20px,4vw,34px) 18px;background:#ffffffb8}.public-registration-required-note{padding:14px clamp(20px,4vw,34px) 0;border-top:1px solid rgba(15,23,42,.08);color:#d92d20;font-size:13px;font-weight:500}.public-registration-required-note span{font-weight:700}.public-registration-card .form-field--invalid>input,.public-registration-card .form-field--invalid>select,.public-registration-card .form-field--invalid>textarea,.public-registration-card .form-field--invalid .phone-input-row,.public-registration-card .form-field--invalid .phone-input{border-color:#d92d20;box-shadow:inset 0 0 0 1px #d92d20}.public-registration-card .form-field--invalid .phone-country-picker__trigger{border-right-color:#d92d20}.public-registration-card .form-field--invalid>span{color:#b42318}.public-registration-feedback-stack{display:grid;gap:8px}.public-registration-feedback{margin:0}.public-registration-card>.public-registration-feedback,.public-registration-card>.public-registration-feedback-stack{margin:clamp(20px,4vw,34px) clamp(20px,4vw,34px) 0}.public-registration-modal-backdrop{position:fixed;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a5c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.public-registration-modal{width:min(100%,460px);border:1px solid var(--border-soft, #e7ebf3);border-radius:14px;background:var(--bg-panel, #fff);box-shadow:0 18px 42px #0f172a2e;padding:22px;color:var(--form-control-text, #101828)}.public-registration-modal h3{margin:8px 0;font-size:20px;font-weight:600}.public-registration-modal p{margin:0;color:var(--form-label-text, #64748b);font-size:13px;line-height:1.6}.public-registration-modal__actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.public-donation-page{min-height:100vh;padding:clamp(20px,4vw,54px);background:radial-gradient(circle at 12% 12%,rgba(48,73,159,.18),transparent 30%),linear-gradient(135deg,#eef3f8,#f8fafc 52%,#e8f0ec);color:#102033}.public-donation-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;max-width:1020px;margin:0 auto 18px}.public-donation-hero span{display:inline-flex;margin-bottom:8px;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#30499f}.public-donation-hero h1{font-size:clamp(2rem,6vw,4.8rem);line-height:.95}.public-donation-print{border:0;border-radius:4px;padding:12px 16px;background:#30499f;color:#fff;font-weight:800;cursor:pointer}.public-donation-panel{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(320px,1fr);gap:22px;max-width:1020px;margin:0 auto;padding:clamp(18px,3vw,30px);border-radius:4px}.public-donation-controls label{display:grid;gap:8px;margin-bottom:16px;font-weight:800}.public-donation-controls input{min-height:46px;border:1px solid rgba(15,23,42,.16);border-radius:4px;padding:0 12px;font-size:1rem}@media(max-width:980px){.support-project-grid,.public-donation-panel{grid-template-columns:1fr}.support-project-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.public-registration-hero,.public-registration-choice-grid,.public-registration-course-grid,.public-registration-review,.public-registration-review--split{grid-template-columns:1fr}.public-registration-grid--four,.public-registration-grid--three{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.settings-repeat-list--purposes{grid-template-columns:minmax(0,1fr)}.settings-repeat-card--purpose{width:100%}}@media(max-width:640px){.support-project-hero,.support-project-card__header,.public-donation-hero{align-items:stretch;flex-direction:column}.support-project-stats{grid-template-columns:1fr}.public-registration-shell{padding:10px}.public-registration-steps,.public-registration-grid--two,.public-registration-grid--three,.public-registration-grid--four,.public-registration-section__header--split{grid-template-columns:1fr}.public-registration-actions{flex-direction:column}.public-registration-actions .action-button{width:100%}.support-qr-display div,.public-donation-qr div{grid-template-columns:1fr;gap:4px}}@media print{.sidebar,.topbar,.settings-sidebar,.support-project-hero__actions,.public-donation-print{display:none!important}.app-shell,.app-main,.public-donation-page{display:block!important;min-height:auto!important;padding:0!important;background:#fff!important}.support-project-grid,.public-donation-panel{grid-template-columns:1fr 1fr!important;box-shadow:none!important}}
