:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-synthesis:none;--navy-950: #020a2b;--navy-900: #071333;--navy-800: #10214a;--blue-700: #0e43d5;--blue-600: #1468e8;--blue-500: #2f7af3;--blue-200: #b9d4ff;--cyan-300: #76e6f7;--neutral-0: #ffffff;--neutral-50: #f4f7fb;--neutral-100: #eaf0f7;--neutral-200: #d6dfeb;--neutral-400: #71819b;--neutral-600: #526079;--neutral-900: #14213d;--green-700: #167a4b;--amber-700: #a15c00;--red-700: #b42318;--info-700: #075985;--font-xs: .75rem;--font-sm: .875rem;--font-md: 1rem;--font-lg: 1.125rem;--font-xl: 1.375rem;--font-2xl: clamp(1.65rem, 3vw, 2.25rem);--line-tight: 1.2;--line-normal: 1.5;--weight-medium: 560;--weight-bold: 720;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--radius-sm: .5rem;--radius-control: .75rem;--radius-card: 1rem;--radius-dialog: 1.25rem;--duration-fast: .12s;--duration-normal: .2s;--ease-standard: cubic-bezier(.2,0,0,1);--target-min: 2.75rem;--content-max: 93.75rem;--sidebar-width: 16.5rem;--color-bg-canvas: var(--neutral-50);--color-bg-surface: var(--neutral-0);--color-bg-elevated: var(--neutral-0);--color-bg-subtle: var(--neutral-100);--color-bg-nav: var(--navy-950);--color-bg-nav-hover: var(--navy-800);--color-text-primary: var(--neutral-900);--color-text-secondary: var(--neutral-600);--color-text-on-brand: var(--neutral-0);--color-text-on-action: var(--neutral-0);--color-border-default: var(--neutral-200);--color-border-strong: var(--neutral-400);--color-action-primary: var(--blue-600);--color-action-primary-hover: var(--blue-700);--color-action-soft: #e1edff;--color-focus: var(--blue-600);--color-accent: var(--cyan-300);--color-status-success: var(--green-700);--color-status-success-bg: #e4f5eb;--color-status-warning: var(--amber-700);--color-status-warning-bg: #fff1d6;--color-status-danger: var(--red-700);--color-status-danger-bg: #fde8e6;--color-status-info: var(--info-700);--color-status-info-bg: #e1f2fb;--color-overlay: #020a2bb8;--shadow-card: 0 1px 2px #14213d0d, 0 8px 24px #14213d0a;--shadow-dialog: 0 24px 64px #020a2b40}:root[data-theme=dark]{--color-bg-canvas: #080f24;--color-bg-surface: #101a33;--color-bg-elevated: #172440;--color-bg-subtle: #1c2944;--color-bg-nav: #03091d;--color-bg-nav-hover: #172850;--color-text-primary: #f6f8fc;--color-text-secondary: #b9c5d8;--color-text-on-brand: #fff;--color-text-on-action: var(--navy-950);--color-border-default: #40516d;--color-border-strong: #7d8ca3;--color-action-primary: #73a7ff;--color-action-primary-hover: #9bc0ff;--color-action-soft: #183466;--color-focus: #76e6f7;--color-status-success: #72daa7;--color-status-success-bg: #123d2d;--color-status-warning: #ffd083;--color-status-warning-bg: #4b3211;--color-status-danger: #ffaaa3;--color-status-danger-bg: #4c211f;--color-status-info: #8bd8ff;--color-status-info-bg: #12364e;--color-overlay: #010516d6;--shadow-card: 0 1px 2px #00000040, 0 8px 24px #00000024;--shadow-dialog: 0 24px 64px #00000080}*{box-sizing:border-box}main,.content,.panel,.split,.settings-grid,.finance-grid,.form-grid,.profile>div,.student-card>div,.balance-row>span,.responsive-table,.mobile-row>div{min-width:0}html{background:var(--color-bg-canvas)}body{margin:0;color:var(--color-text-primary);background:var(--color-bg-canvas);line-height:var(--line-normal)}body.overlay-open{overflow:hidden}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.56}a{color:var(--color-action-primary)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100dvh}.sidebar{position:sticky;top:0;height:100dvh;padding:var(--space-6) var(--space-4);display:flex;flex-direction:column;color:var(--color-text-on-brand);background:var(--color-bg-nav);z-index:10}.sidebar>.sidebar-close{display:none}.brand{display:flex;align-items:center;gap:var(--space-3);min-width:0}.sidebar>.brand{margin:0 var(--space-2) var(--space-8)}.brand-logo-wrap{flex:0 0 auto;width:3rem;height:3rem;display:grid;place-items:center;color:var(--neutral-0)}.brand-logo-wrap img{display:block;width:100%;height:100%}.brand strong,.brand small{display:block}.brand strong{font-size:var(--font-lg);line-height:var(--line-tight)}.brand small{margin-top:2px;font-size:var(--font-xs);color:#c6d3ea}.brand.compact .brand-logo-wrap{width:2.75rem;height:2.75rem}.sidebar nav{display:grid;gap:var(--space-1)}.sidebar nav button{min-height:var(--target-min);border:0;border-radius:var(--radius-control);padding:0 var(--space-3);display:flex;align-items:center;gap:var(--space-3);text-align:left;color:#cfdaec;background:transparent;font-weight:var(--weight-medium)}.sidebar nav button span{width:1.5rem;font-size:1.1rem;text-align:center}.sidebar nav button:hover{background:var(--color-bg-nav-hover);color:var(--color-text-on-brand)}.sidebar nav button.active{background:var(--color-action-primary);color:var(--color-text-on-action);font-weight:var(--weight-bold)}.privacy{margin-top:auto;border:1px solid #ffffff35;border-radius:var(--radius-card);padding:var(--space-3);display:flex;gap:var(--space-3);background:#ffffff0d}.privacy>span{color:var(--color-accent)}.privacy b,.privacy small{display:block}.privacy b{font-size:var(--font-xs)}.privacy small{margin-top:var(--space-1);font-size:.6875rem;color:#c6d3ea}.sidebar .theme-switcher{margin-top:var(--space-4)}main{min-width:0}header{position:sticky;top:0;z-index:8;min-height:5rem;padding:var(--space-3) clamp(var(--space-4),3vw,var(--space-8));display:flex;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-border-default);background:color-mix(in srgb,var(--color-bg-canvas) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}header h1{margin:0;font-size:var(--font-xl);line-height:var(--line-tight)}header p{margin:var(--space-1) 0 0;color:var(--color-text-secondary);font-size:var(--font-sm);text-transform:capitalize}.user{margin-left:auto;display:flex;align-items:center;gap:var(--space-2)}.user>span{width:var(--target-min);height:var(--target-min);border-radius:50%;display:grid;place-items:center;color:var(--color-action-primary);background:var(--color-action-soft);font-weight:var(--weight-bold)}.user button,.link,.close{min-height:var(--target-min);border:0;background:transparent;color:var(--color-action-primary);border-radius:var(--radius-control)}.menu{display:none}.content{width:min(100%,var(--content-max));margin-inline:auto;padding:clamp(var(--space-4),3vw,var(--space-8));container:page / inline-size}.hero{padding:clamp(var(--space-5),4vw,var(--space-8));border-radius:var(--radius-dialog);display:flex;align-items:end;justify-content:space-between;gap:var(--space-5);color:var(--color-text-on-brand);background:linear-gradient(135deg,var(--navy-950),var(--blue-700));box-shadow:var(--shadow-card)}.hero h2{margin:var(--space-2) 0;font-size:var(--font-2xl);line-height:var(--line-tight)}.hero p{margin:0;color:#d5e0f2}.eyebrow{color:var(--color-accent);text-transform:uppercase;letter-spacing:.1em;font-size:var(--font-xs);font-weight:var(--weight-bold)}.primary,.secondary,.danger,.ds-button{min-height:var(--target-min);padding:.65rem var(--space-4);border:1px solid transparent;border-radius:var(--radius-control);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);color:inherit;text-decoration:none;font-weight:var(--weight-bold);transition:background var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}.primary,.ds-button.primary{color:var(--color-text-on-action);background:var(--color-action-primary)}.primary:hover,.ds-button.primary:hover{background:var(--color-action-primary-hover)}.secondary,.ds-button.secondary{color:var(--color-text-primary);border-color:var(--color-border-strong);background:var(--color-bg-subtle)}.secondary:hover,.ds-button.secondary:hover{border-color:var(--color-action-primary);background:var(--color-action-soft)}.danger,.ds-button.danger{color:var(--color-status-danger);border-color:color-mix(in srgb,var(--color-status-danger) 40%,transparent);background:var(--color-status-danger-bg)}.ds-button.ghost{color:var(--color-action-primary);background:transparent}.primary:active,.secondary:active,.danger:active,.ds-button:active{transform:translateY(1px)}.small,.ds-button.sm{min-height:2.5rem;padding:.45rem var(--space-3);font-size:var(--font-xs)}.square{width:var(--target-min);padding-inline:0}.button-spinner{width:1rem;height:1rem;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}.icon-button{width:var(--target-min);height:var(--target-min);padding:0;border:0;border-radius:var(--radius-control);display:inline-grid;place-items:center;color:var(--color-text-primary);background:transparent;font-size:1.5rem}.icon-button:hover{background:var(--color-bg-subtle)}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);margin:var(--space-5) 0}.stat,.panel{border:1px solid var(--color-border-default);border-radius:var(--radius-card);background:var(--color-bg-surface);box-shadow:var(--shadow-card)}.stat{min-width:0;padding:var(--space-5)}.stat.warning,.stat.warn{border-color:var(--color-status-warning)}.stat.danger{border-color:var(--color-status-danger)}.stat p,.stat small{margin:0;color:var(--color-text-secondary)}.stat strong{display:block;margin:var(--space-2) 0 var(--space-1);font-size:1.6rem;line-height:var(--line-tight);overflow-wrap:anywhere}.panel{padding:var(--space-5)}.panel-head,.page-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.panel h2,.panel h3,.panel-head h2,.panel-head h3,.page-heading h2{margin:0;line-height:var(--line-tight)}.panel-head p,.page-heading p{margin:var(--space-1) 0 0;color:var(--color-text-secondary);font-size:var(--font-sm)}.toolbar,.actions,.row,.consents{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.actions{margin:var(--space-5) 0}label,.field{display:grid;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--font-sm);font-weight:var(--weight-medium)}.field-label{color:var(--color-text-primary);font-weight:var(--weight-bold)}input,select,textarea{width:100%;min-height:var(--target-min);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);padding:.65rem var(--space-3);color:var(--color-text-primary);background:var(--color-bg-surface);outline:none}textarea{min-height:6rem;resize:vertical}input::placeholder,textarea::placeholder{color:var(--color-text-secondary);opacity:.86}input:focus,select:focus,textarea:focus{border-color:var(--color-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-focus) 24%,transparent)}input[aria-invalid=true],textarea[aria-invalid=true],select[aria-invalid=true]{border-color:var(--color-status-danger)}.field-hint{color:var(--color-text-secondary);font-weight:400}.field-error{color:var(--color-status-danger)}.choice-control{min-height:var(--target-min);display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-primary)}.choice-control input,.check input{width:1.25rem;min-height:1.25rem;accent-color:var(--color-action-primary)}.switch{min-height:var(--target-min);display:flex;grid-template-columns:auto 1fr;align-items:center;gap:var(--space-2);color:var(--color-text-primary)}.switch input{position:absolute;width:1px;min-height:1px;opacity:0}.switch-track{position:relative;width:2.75rem;height:1.6rem;border:2px solid var(--color-border-strong);border-radius:2rem;background:var(--color-bg-subtle)}.switch-track:after{content:"";position:absolute;top:2px;left:2px;width:1rem;height:1rem;border-radius:50%;background:var(--color-text-secondary);transition:transform var(--duration-fast) var(--ease-standard)}.switch input:checked+.switch-track{border-color:var(--color-action-primary);background:var(--color-action-primary)}.switch input:checked+.switch-track:after{transform:translate(1.1rem);background:var(--navy-950)}.form-section{display:grid;gap:var(--space-4);padding-block:var(--space-4);border-top:1px solid var(--color-border-default)}.form-section h3,.form-section p{margin:0}.form-section p{color:var(--color-text-secondary);font-size:var(--font-sm)}.editor{display:grid;gap:var(--space-4)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.compact-form{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border-default)}.compact-form h3,.compact-form h4{margin:0 0 var(--space-3)}.compact-form .row>input,.compact-form .row>select{flex:1 1 8rem}.consent-row{display:grid;grid-template-columns:8rem 1fr;align-items:center;gap:var(--space-3)}.error,.notice-banner,.alert{border:1px solid currentColor;border-radius:var(--radius-control);padding:var(--space-3);font-size:var(--font-sm);overflow-wrap:anywhere}.error,.alert.danger{color:var(--color-status-danger);background:var(--color-status-danger-bg)}.notice-banner,.alert.warning{color:var(--color-status-warning);background:var(--color-status-warning-bg)}.alert.info{color:var(--color-status-info);background:var(--color-status-info-bg)}.alert.success{color:var(--color-status-success);background:var(--color-status-success-bg)}.badge{min-height:1.75rem;padding:var(--space-1) var(--space-2);border-radius:999px;display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap;color:var(--color-text-secondary);background:var(--color-bg-subtle);font-size:var(--font-xs);font-weight:var(--weight-bold)}.badge.good,.badge.success{color:var(--color-status-success);background:var(--color-status-success-bg)}.badge.bad,.badge.danger{color:var(--color-status-danger);background:var(--color-status-danger-bg)}.badge.warning{color:var(--color-status-warning);background:var(--color-status-warning-bg)}.badge.info{color:var(--color-status-info);background:var(--color-status-info-bg)}.status-symbol{width:.45rem;height:.45rem;border-radius:50%;background:currentColor}.toast-region{position:fixed;z-index:50;right:var(--space-4);bottom:var(--space-4);width:min(24rem,calc(100vw - 2rem));display:grid;gap:var(--space-2)}.state-message{min-height:12rem;display:grid;place-content:center;justify-items:center;gap:var(--space-3);color:var(--color-text-secondary);text-align:center}.error-state strong{color:var(--color-status-danger)}.center{min-height:100dvh;display:grid;place-content:center;gap:var(--space-3);text-align:center;color:var(--color-text-secondary)}.loader{width:2.5rem;height:2.5rem;border:4px solid var(--color-border-default);border-top-color:var(--color-action-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty{min-height:17rem;display:grid;place-content:center;justify-items:center;text-align:center;color:var(--color-text-secondary)}.empty>span{font-size:2rem;color:var(--color-action-primary)}.empty h2,.empty h3,.empty h4,.empty h5,.empty h6{margin:var(--space-2);color:var(--color-text-primary)}.empty p{max-width:22rem;margin:0;font-size:var(--font-sm)}.timeline{display:grid}.lesson-row{display:grid;grid-template-columns:3.5rem 1.5rem minmax(0,1fr) auto;align-items:center;padding:var(--space-3) 0}.lesson-row time{font-weight:var(--weight-bold)}.lesson-row .line{position:relative;height:2.75rem;border-left:2px solid var(--color-border-default)}.lesson-row .line:before{content:"";position:absolute;top:1.1rem;left:-5px;width:.5rem;height:.5rem;border-radius:50%;background:var(--color-accent)}.lesson-row p{margin:var(--space-1) 0 0;color:var(--color-text-secondary);font-size:var(--font-sm)}.split{display:grid;grid-template-columns:minmax(19rem,.8fr) minmax(25rem,1.2fr);gap:var(--space-4)}.list-panel{padding:0;overflow:hidden}.list-panel .panel-head{padding:var(--space-5) var(--space-5) 0}.search{width:calc(100% - 2.5rem);margin:0 var(--space-5) var(--space-3);background:var(--color-bg-subtle)}.student-card{width:100%;min-height:4.5rem;padding:var(--space-3) var(--space-5);border:0;border-top:1px solid var(--color-border-default);display:grid;grid-template-columns:2.75rem minmax(0,1fr) auto;align-items:center;gap:var(--space-3);text-align:left;color:var(--color-text-primary);background:var(--color-bg-surface)}.student-card:hover,.student-card.selected{background:var(--color-action-soft)}.student-card small,.student-card b{display:block;overflow-wrap:anywhere}.student-card small{margin-top:var(--space-1);color:var(--color-text-secondary);font-size:var(--font-xs)}.avatar{width:2.5rem;height:2.5rem;border-radius:var(--radius-control);display:grid;place-items:center;color:var(--color-action-primary);background:var(--color-action-soft);font-weight:var(--weight-bold);font-size:var(--font-xs)}.avatar.big{width:3.5rem;height:3.5rem;border-radius:var(--radius-card);font-size:var(--font-lg)}.profile{display:flex;align-items:center;gap:var(--space-3)}.profile h2,.profile h3,.profile p{margin:0;overflow-wrap:anywhere}.profile p{margin-top:var(--space-1);color:var(--color-text-secondary)}.profile button{margin-left:auto;flex:0 0 auto}.info-grid{margin:var(--space-5) 0;border:1px solid var(--color-border-default);border-radius:var(--radius-control);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;background:var(--color-border-default);gap:1px}.info-grid>div{min-width:0;padding:var(--space-3);background:var(--color-bg-subtle)}.info-grid small,.info-grid b{display:block;overflow-wrap:anywhere}.info-grid small{margin-bottom:var(--space-1);color:var(--color-text-secondary)}.negative{color:var(--color-status-danger)!important}.positive{color:var(--color-status-success)}.history{padding:var(--space-3) 0;border-top:1px solid var(--color-border-default);font-size:var(--font-sm);overflow-wrap:anywhere}.history span{float:right;color:var(--color-text-secondary)}.history p{margin:var(--space-1) 0;color:var(--color-text-secondary)}.calendar-head{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center}.calendar-head>h2{text-align:center}.segmented{padding:var(--space-1);border-radius:var(--radius-control);display:flex;background:var(--color-bg-subtle)}.segmented button{min-height:2.25rem;padding:var(--space-1) var(--space-3);border:0;border-radius:var(--radius-sm);color:var(--color-text-secondary);background:transparent;font-size:var(--font-xs)}.segmented button.active{color:var(--color-text-primary);background:var(--color-bg-elevated);box-shadow:var(--shadow-card)}.agenda{display:grid;grid-template-columns:repeat(7,minmax(8rem,1fr));gap:var(--space-2);margin-top:var(--space-4);overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-gutter:stable both-edges}.agenda.has-horizontal-overflow:after,.month.has-horizontal-overflow:after{content:"← Прокрутите →";position:sticky;right:var(--space-2);align-self:start;margin:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:999px;pointer-events:none;color:var(--color-text-secondary);background:var(--color-bg-elevated);box-shadow:var(--shadow-card);font-size:var(--font-xs);white-space:nowrap}.day{min-height:26rem;padding:0;overflow:hidden}.day-title{padding:var(--space-3);border-bottom:1px solid var(--color-border-default);text-align:center;text-transform:capitalize}.day-title b,.day-title span{display:block}.day-title b{color:var(--color-text-secondary);font-size:var(--font-xs)}.day-title span{margin-top:var(--space-1);font-size:var(--font-lg)}.day-title.today span{width:2rem;height:2rem;margin:var(--space-1) auto 0;border-radius:50%;display:grid;place-items:center;color:var(--color-text-on-action);background:var(--color-action-primary)}.event{width:calc(100% - .75rem);min-height:var(--target-min);margin:.375rem;padding:var(--space-2);border:0;border-left:3px solid var(--color-status-warning);border-radius:var(--radius-sm);text-align:left;color:var(--color-text-primary);background:var(--color-status-warning-bg);overflow-wrap:anywhere}.event time,.event b,.event small{display:block}.event time,.event small{color:var(--color-text-secondary);font-size:var(--font-xs)}.event b{margin:var(--space-1) 0;font-size:var(--font-sm)}.event .badge{max-width:100%;white-space:normal;overflow-wrap:anywhere}.event.cancelled{border-left-color:var(--color-text-secondary);opacity:.75}.event.completed{border-left-color:var(--color-status-success);background:var(--color-status-success-bg)}.month{display:grid;grid-template-columns:repeat(7,minmax(6.5rem,1fr));padding:0;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-gutter:stable both-edges}.month-day{min-height:7rem;padding:var(--space-2);border-right:1px solid var(--color-border-default);border-bottom:1px solid var(--color-border-default)}.month-day.muted{color:var(--color-text-secondary);background:var(--color-bg-subtle)}.month-day>button{width:100%;min-height:2rem;margin:var(--space-1) 0;padding:var(--space-1);border:0;border-radius:var(--radius-sm);display:block;overflow:hidden;white-space:nowrap;text-align:left;text-overflow:ellipsis;color:var(--color-text-primary);background:var(--color-action-soft);font-size:var(--font-xs)}.modal{position:fixed;inset:0;z-index:40;padding:clamp(var(--space-2),3vh,var(--space-4));display:grid;place-items:center;background:var(--color-overlay)}.modal>div{width:min(34rem,100%);max-height:calc(100dvh - (clamp(var(--space-2),3vh,var(--space-4))*2));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.modal-card{padding:var(--space-5);border:1px solid var(--color-border-default);border-radius:var(--radius-dialog);color:var(--color-text-primary);background:var(--color-bg-elevated);box-shadow:var(--shadow-dialog)}.close{min-width:var(--target-min);font-size:1.5rem}.drawer-layer{display:none}.finance-grid,.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.wide{grid-column:1/-1}.balance-row{padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-default);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-3)}.balance-row small,.balance-row b{display:block;overflow-wrap:anywhere}.balance-row small{margin-top:var(--space-1);color:var(--color-text-secondary);font-size:var(--font-xs)}.balance-row>.actions{justify-content:flex-end;margin:0}.balance-row input,.balance-row select,.balance-row textarea{max-width:100%}.finance-operation-form,.finance-journal-filters,.finance-operation-form label,.finance-journal-filters label{min-width:0}.finance-operation-form small,.finance-journal small,.finance-feedback,.finance-success{overflow-wrap:anywhere}.finance-feedback,.finance-success{margin:0;padding:var(--space-3);border-radius:var(--radius-control)}.finance-success{color:var(--color-status-success);border:1px solid color-mix(in srgb,var(--color-status-success) 40%,transparent);background:var(--color-status-success-bg)}.finance-journal-filters{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.finance-journal-filters>.secondary{justify-self:start}.finance-journal .responsive-table{max-width:100%}.finance-journal .responsive-table td{min-width:0;overflow-wrap:anywhere;word-break:break-word}.finance-journal .responsive-table td strong,.finance-journal .responsive-table td small{display:block;max-width:100%;overflow-wrap:anywhere}.finance-journal .responsive-table td:first-child{min-width:14rem}.finance-journal .responsive-table td:last-child{min-width:9rem}.table{overflow-x:auto}.table-row{min-height:3.75rem;padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-default);display:grid;grid-template-columns:minmax(13rem,1fr) 8rem 8rem;align-items:center;gap:var(--space-3);font-size:var(--font-sm)}.table-row small,.table-row b{display:block}.table-row small{margin-top:var(--space-1);color:var(--color-text-secondary)}.table-row.notice{grid-template-columns:5.5rem minmax(15rem,1fr) 7rem 7rem auto}.channel{padding:var(--space-2);border-radius:var(--radius-sm);color:var(--color-status-info);background:var(--color-status-info-bg);text-align:center;font-size:var(--font-xs);font-weight:var(--weight-bold)}.pairing{margin:var(--space-4) 0;padding:var(--space-4);border:1px solid var(--color-status-warning);border-radius:var(--radius-control);display:flex;align-items:center;gap:var(--space-4);color:var(--color-status-warning);background:var(--color-status-warning-bg)}.pairing-code{margin-left:auto;padding:var(--space-2);border:0;border-radius:var(--radius-control);color:inherit;background:transparent}.pairing-code strong,.pairing-code small{display:block}.pairing-code strong{font-size:var(--font-xl);letter-spacing:.12em}.pairing-code small{margin-top:var(--space-1)}.device-row{min-height:4.5rem;padding:var(--space-3) 0;border-top:1px solid var(--color-border-default);display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:var(--space-3)}.device-row small{display:block;margin-top:var(--space-1);color:var(--color-text-secondary)}.device-dot{width:.65rem;height:.65rem;border-radius:50%;background:var(--color-text-secondary);box-shadow:0 0 0 4px var(--color-bg-subtle)}.device-dot.online{background:var(--color-status-success);box-shadow:0 0 0 4px var(--color-status-success-bg)}.security-item{padding:var(--space-4) 0;border-bottom:1px solid var(--color-border-default)}.security-item>.badge{float:right}.security-item p{color:var(--color-text-secondary);font-size:var(--font-sm)}.responsive-table{container:data-table / inline-size;min-width:0}.responsive-table table{width:100%;border-collapse:collapse;table-layout:fixed}.responsive-table th,.responsive-table td{min-width:0;padding:var(--space-3);border-bottom:1px solid var(--color-border-default);text-align:left;vertical-align:middle;overflow-wrap:anywhere;word-break:break-word}.responsive-table th{color:var(--color-text-secondary);font-size:var(--font-xs);text-transform:uppercase;letter-spacing:.04em}.map-link{min-height:var(--target-min);display:inline-flex;align-items:center;gap:var(--space-2);font-weight:var(--weight-medium)}.notifications-panel{min-width:0}.notifications-panel .panel-head{display:flex;flex-wrap:wrap;align-items:end;gap:var(--space-3)}.notifications-panel .panel-head>div:first-child{flex:1 1 18rem}.notifications-channel-filter{flex:1 1 16rem;min-width:0}.notifications-status-filter{flex:0 1 12rem;min-width:9rem}.notifications-status-filter select{width:100%}.notifications-reset{flex:0 0 auto}.notifications-panel .notice-banner,.notifications-panel>.error,.notice-success{margin-top:var(--space-3)}.notice-success{padding:var(--space-3);border:1px solid color-mix(in srgb,var(--color-status-success) 40%,transparent);border-radius:var(--radius-control);color:var(--color-status-success);background:var(--color-status-success-bg);overflow-wrap:anywhere}.notifications-filter-summary{margin:var(--space-3) 0;color:var(--color-text-secondary);font-size:var(--font-sm)}.notification-message,.notification-diagnostics,.notification-action{display:block;min-width:0}.notification-message b,.notification-message small,.notification-diagnostics small,.notification-action small{display:block;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.notification-message small,.notification-diagnostics small,.notification-action small,.notification-no-action{margin-top:var(--space-1);color:var(--color-text-secondary);font-size:var(--font-xs)}.notification-action .error{margin-top:var(--space-2)}.notifications-panel .responsive-table td:last-child{min-width:10rem}.notifications-panel .responsive-table .secondary{max-width:100%;white-space:normal}.theme-switcher{min-width:0;margin:0;padding:var(--space-1);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);display:flex;background:var(--color-bg-subtle)}.theme-switcher label{min-width:0;display:block;color:var(--color-text-secondary)}.theme-switcher input{position:absolute;width:1px;min-height:1px;opacity:0}.theme-switcher span{min-height:2.25rem;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);display:grid;place-items:center;font-size:var(--font-xs)}.theme-switcher input:checked+span{color:var(--color-text-primary);background:var(--color-bg-elevated);box-shadow:var(--shadow-card)}.sidebar .theme-switcher{border-color:#fff5;background:#ffffff12}.sidebar .theme-switcher label{color:#cfdaec}.sidebar .theme-switcher input:checked+span{color:var(--navy-950);background:var(--color-accent)}.login{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(20rem,1fr)}.login>section{padding:clamp(var(--space-8),7vw,6rem);display:flex;flex-direction:column;justify-content:space-between;color:var(--color-text-on-brand);background:radial-gradient(circle at 20% 30%,#0e43d580,transparent 40%),var(--navy-950)}.login>section .brand{align-self:flex-start}.login-copy h1{max-width:48rem;margin:var(--space-4) 0;font-size:clamp(2.25rem,5vw,4rem);line-height:1.04;letter-spacing:-.035em}.login-copy p{max-width:34rem;color:#cfdaec;font-size:var(--font-lg)}.login>form{align-self:center;justify-self:center;width:min(26rem,calc(100% - 2rem));display:grid;gap:var(--space-4)}.login form h2{margin:0;font-size:var(--font-2xl)}.login form>p{margin:calc(var(--space-2)*-1) 0 0;color:var(--color-text-secondary)}.login form>small{color:var(--color-text-secondary);text-align:center}.login-theme{position:fixed;top:var(--space-4);right:var(--space-4);z-index:3}.ds-catalog{min-height:100dvh;background:var(--color-bg-canvas)}.catalog-header{position:sticky;top:0;z-index:5;padding:var(--space-4) clamp(var(--space-4),4vw,var(--space-8));border-bottom:1px solid var(--color-border-default);display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);background:var(--color-bg-canvas)}.catalog-header .brand{color:var(--color-text-primary)}.catalog-header .brand small{color:var(--color-text-secondary)}.catalog-main{width:min(100% - 2rem,75rem);margin:auto;padding:var(--space-8) 0;display:grid;gap:var(--space-6)}.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.catalog-stack{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.fatal-state{min-height:100dvh;padding:clamp(var(--space-5),8vw,6rem);display:grid;place-content:center;justify-items:start;gap:var(--space-8);background:var(--color-bg-canvas)}.fatal-state .brand small{color:var(--color-text-secondary)}.fatal-state>div{max-width:38rem}.fatal-state h1{margin:var(--space-3) 0;font-size:var(--font-2xl)}.fatal-state p{margin:0 0 var(--space-5);color:var(--color-text-secondary)}@container data-table (width < 42rem){.responsive-table table,.responsive-table tbody,.responsive-table tr,.responsive-table td{display:block;width:100%}.responsive-table thead{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.responsive-table tbody{display:grid;gap:var(--space-3)}.responsive-table tr{padding:var(--space-4);border:1px solid var(--color-border-default);border-radius:var(--radius-control);background:var(--color-bg-surface)}.responsive-table td{padding:var(--space-2) 0;border:0;display:grid;grid-template-columns:minmax(6rem,.6fr) minmax(0,1fr);gap:var(--space-3)}.responsive-table td:before{content:attr(data-label);color:var(--color-text-secondary);font-size:var(--font-xs)}.responsive-table td.primary-data{display:block;padding-top:0}.responsive-table td.primary-data:before{display:block;margin-bottom:var(--space-1)}}@container page (width < 46rem){.stats{grid-template-columns:1fr}.hero{display:block}.hero .primary{width:100%;margin-top:var(--space-5)}.lesson-row{grid-template-columns:3.25rem 1.25rem minmax(0,1fr)}.lesson-row .badge{grid-column:3;justify-self:start;margin-top:var(--space-1)}}@media(max-width:64rem){.shell{grid-template-columns:13rem minmax(0,1fr)}.split{grid-template-columns:1fr}.detail{min-height:26rem}.table-row.notice{grid-template-columns:5rem minmax(12rem,1fr) 7rem}.table-row.notice>:nth-child(n+4){justify-self:start}}@media(max-width:45rem){.stats{grid-template-columns:1fr}.shell{display:block}.sidebar{position:fixed;left:0;transform:translate(-105%);width:min(18rem,calc(100vw - 2rem));transition:transform var(--duration-normal) var(--ease-standard);box-shadow:var(--shadow-dialog)}.sidebar.open{transform:translate(0)}.sidebar>.sidebar-close{position:absolute;top:var(--space-3);right:var(--space-3);display:grid;color:var(--color-text-on-brand)}.sidebar>.brand{padding-right:2.75rem}.nav-backdrop{position:fixed;inset:0;z-index:9;border:0;background:var(--color-overlay)}.menu{width:var(--target-min);height:var(--target-min);padding:0;border:0;border-radius:var(--radius-control);display:grid;place-items:center;color:var(--color-text-primary);background:transparent;font-size:1.35rem}header{min-height:4.5rem;padding:var(--space-3) var(--space-4)}header h1{font-size:var(--font-lg)}.user>span,.user .theme-switcher{display:none}.content,.panel{padding:var(--space-4)}.list-panel{padding:0}.list-panel .panel-head{padding:var(--space-4) var(--space-4) 0}.search{width:calc(100% - 2rem);margin-inline:var(--space-4)}.student-card{padding-inline:var(--space-4);grid-template-columns:2.75rem minmax(0,1fr)}.student-card>strong{grid-column:2}.finance-grid,.settings-grid,.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.finance-journal-filters{grid-template-columns:1fr}.finance-journal-filters>.secondary,.finance-operation-form>.primary{width:100%}.calendar-head{grid-template-columns:1fr}.calendar-head>div,.calendar-head>h2,.calendar-head>.segmented{justify-self:center;margin:var(--space-1)}.calendar-head>.primary{width:100%}.table{overflow:visible}.table-row,.table-row.notice{min-width:0;padding:var(--space-4);border:1px solid var(--color-border-default);border-radius:var(--radius-control);grid-template-columns:1fr;gap:var(--space-2);margin-bottom:var(--space-3);background:var(--color-bg-subtle)}.consent-row,.info-grid{grid-template-columns:1fr}.profile{align-items:flex-start}.profile>div{flex:1 1 10rem}.profile button{flex:0 0 auto}.history span{float:none;display:block;margin-top:var(--space-1)}.balance-row{grid-template-columns:minmax(0,1fr);align-items:stretch}.balance-row>span:first-child:not(.actions){display:grid;gap:var(--space-2)}.balance-row>.actions{justify-content:flex-start}.balance-row>.actions>.secondary,.balance-row>.actions>.danger{flex:1 1 8rem}.compact-form .row>input,.compact-form .row>select{flex-basis:100%}.lifecycle-actions>.primary,.lifecycle-actions>.secondary,.lifecycle-actions>.danger{flex:1 1 9rem}.pairing{align-items:flex-start;flex-direction:column}.pairing-code{margin-left:0}.device-row{grid-template-columns:auto minmax(0,1fr) auto}.device-row .danger{grid-column:2/-1;justify-self:start}.page-heading,.panel-head{align-items:flex-start}.login{grid-template-columns:1fr}.login>section{min-height:20rem;padding:var(--space-8) var(--space-5)}.login-copy p,.login>section>small{display:none}.login>form{padding:var(--space-8) 0}.login-theme{position:absolute}.catalog-grid{grid-template-columns:1fr}.catalog-header{align-items:center}.catalog-header .brand>div{display:none}.catalog-header .theme-switcher span{padding-inline:.4rem}}@media(max-width:22.5rem){.content,.panel{padding:var(--space-3)}.hero{padding:var(--space-4)}.profile{align-items:flex-start;flex-wrap:wrap}.profile button{width:100%;margin-left:0}.actions>.primary,.actions>.secondary,.actions>.danger,.actions>.ds-button{width:100%}.segmented{width:100%}.segmented button{flex:1;padding-inline:var(--space-1)}.theme-switcher span{padding-inline:.35rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
