@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"Circe", Arial, sans-serif;--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.hidden{display:none}.inline{display:inline}.table{display:table}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lowercase{text-transform:lowercase}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}.admin-navigation{border-top:1px solid #1749681f;gap:4px;margin:14px 10px 0;padding-top:14px;display:grid}.admin-page{max-width:1380px}.admin-table-wrap{padding:0;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:860px}.admin-table th,.admin-table td{text-align:left;vertical-align:top;border-bottom:1px solid #1749681a;padding:12px 14px}.admin-table th{color:var(--brand-blue);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem}.trash-list{gap:10px;display:grid}.trash-card{justify-content:space-between;align-items:center;gap:20px;padding:16px 18px;display:flex}.trash-card h2{margin:2px 0 4px;font-size:1rem}.soft-delete-form,.document-actions,.task-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.soft-delete-form .confirmation-row{font-size:.78rem}.danger-text{color:#9f2e36}@media (max-width:760px){.trash-card{flex-direction:column;align-items:stretch}.admin-navigation{border:0;margin:0;padding:0;display:flex;overflow-x:auto}}:root{--brand-cyan:#129fd0;--brand-blue:#176fa5;--ink:#111820;--muted:#66717c;--line:#dbe1e5;--surface:#fff;--surface-soft:#f6f8f9;--success:#258a32;--warning:#c97800;--danger:#c53b32;--sidebar-width:184px}*{box-sizing:border-box}html{background:var(--surface);min-width:320px;min-height:100%}body{isolation:isolate;min-height:100%;color:var(--ink);background:#fff url(/brand/paper-texture-clean.jpg) 50%/cover fixed;margin:0;font-family:Circe,Arial,sans-serif;position:relative}body:before{z-index:0;content:"";pointer-events:none;background:#ffffff7a;position:fixed;inset:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}h1,h2,.display-type{color:var(--brand-cyan);letter-spacing:.015em;margin-block:0;font-family:Intro,Arial Black,Arial,sans-serif;font-weight:700}h1{text-transform:uppercase;font-size:clamp(2rem,3vw,2.7rem);line-height:1.05}h2{font-size:1.35rem;line-height:1.2}:focus-visible{outline:3px solid var(--brand-cyan);outline-offset:2px}.app-shell{z-index:1;grid-template-columns:var(--sidebar-width) minmax(0, 1fr);min-height:100dvh;display:grid;position:relative}.app-sidebar{width:var(--sidebar-width);border-right:1px solid var(--line);background:#ffffffe6;flex-direction:column;height:100dvh;display:flex;position:sticky;top:0;overflow-y:auto}.brand-link{flex:none;justify-content:center;align-items:center;min-height:174px;padding:20px 24px 16px;display:flex}.brand-emblem{aspect-ratio:2241/2240;object-fit:contain;width:124px;height:auto;display:block}.primary-navigation{flex-direction:column;gap:2px;padding:8px 13px;display:flex}.navigation-link{min-height:50px;color:var(--ink);border-left:3px solid #0000;border-radius:7px;align-items:center;gap:13px;padding:10px 12px;font-size:.98rem;font-weight:700;transition:color .15s,background-color .15s;display:flex}.navigation-link:hover{background:var(--surface-soft)}.navigation-link[aria-current=page]{color:var(--brand-blue);border-left-color:var(--brand-cyan);background:#129fd014}.navigation-link[aria-current=page] svg{color:var(--brand-cyan)}.navigation-link svg{flex:none}.staff-panel{border-top:1px solid var(--line);color:var(--muted);gap:12px;margin-top:auto;padding:18px 20px 22px;font-size:.82rem;display:grid}.staff-summary{color:var(--brand-blue);align-items:center;gap:9px;display:flex}.staff-copy{min-width:0;line-height:1.2;display:grid}.staff-copy strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.staff-copy span{margin-top:3px}.staff-panel time{color:var(--ink)}.logout-button{border:1px solid var(--line);width:100%;min-height:38px;color:var(--ink);background:var(--surface);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:8px;display:inline-flex}.logout-button:hover{color:var(--brand-blue);border-color:var(--brand-cyan)}.app-content{min-width:0;padding:58px 36px}.page-heading{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.dense-surface,table,form[data-surface=dense]{background:var(--surface)}.login-page{z-index:1;place-items:center;min-height:100dvh;padding:32px 20px;display:grid;position:relative}.login-card{border:1px solid var(--line);background:#fffffff5;border-radius:9px;width:min(100%,390px);padding:30px 34px 34px}.login-brand{width:104px;height:auto;margin:0 auto 22px;display:block}.login-card h1{text-align:center;font-size:2rem}.login-intro{color:var(--muted);text-align:center;margin:10px 0 0;font-size:.94rem;line-height:1.45}.login-form{gap:18px;margin-top:26px;display:grid}.form-field{gap:7px;display:grid}.form-field label{color:var(--ink);font-size:.9rem;font-weight:700}.form-field input{border:1px solid var(--muted);width:100%;min-height:44px;color:var(--ink);background:var(--surface);border-radius:6px;outline:none;padding:9px 11px}.form-field input:focus{border-color:var(--brand-cyan);box-shadow:0 0 0 3px #129fd01f}.form-status{min-height:22px;color:var(--danger);margin:-4px 0 0;font-size:.88rem}.primary-button{border:1px solid var(--brand-blue);min-height:44px;color:var(--surface);background:var(--brand-blue);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:10px 18px;font-weight:700;display:inline-flex}.primary-button:hover{background:var(--ink);border-color:var(--ink)}.primary-button:disabled{cursor:wait;opacity:.65}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.clients-layout{min-width:0}.clients-main{min-width:0;transition:margin-right .16s}.clients-layout.has-drawer .clients-main{margin-right:280px}.clients-heading{align-items:center;margin-bottom:28px}.clients-add{border-color:var(--brand-blue);background:var(--brand-blue);text-transform:uppercase;gap:9px;min-width:228px}.clients-heading-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.column-menu{position:relative}.column-menu summary{border:1px solid var(--line);min-height:44px;color:var(--brand-blue);background:var(--surface);cursor:pointer;border-radius:6px;align-items:center;gap:7px;padding:9px 12px;font-size:.82rem;font-weight:700;list-style:none;display:flex}.column-menu summary::-webkit-details-marker{display:none}.column-menu>div{z-index:6;border:1px solid var(--line);background:var(--surface);border-radius:6px;gap:8px;width:190px;padding:10px 12px;display:grid;position:absolute;top:calc(100% + 7px);right:0;box-shadow:0 8px 24px #18344424}.column-menu label{align-items:center;gap:8px;font-size:.82rem;display:flex}.clients-filters{background:0 0;grid-template-columns:minmax(320px,1fr) 126px 150px 126px auto;gap:12px;margin-bottom:20px;display:grid}.clients-filters input,.clients-filters select,.clients-pagination select,.client-form input,.client-form select{min-height:48px;color:var(--ink);background:var(--surface);border:1px solid #cdd4d9;border-radius:5px;padding:9px 13px}.search-control{align-items:center;display:flex;position:relative}.search-control svg{position:absolute;left:14px}.search-control input{width:100%;padding-left:46px}.filter-submit{border:1px solid var(--brand-blue);min-height:48px;color:var(--brand-blue);background:var(--surface);cursor:pointer;border-radius:5px;padding-inline:17px;font-weight:700}.clients-table-wrap{border:1px solid #e0e4e7;border-radius:2px;overflow-x:auto}.clients-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:860px;font-size:.82rem}.clients-table th,.clients-table td{border-bottom:1px solid var(--line);vertical-align:middle;text-align:left;padding:8px 9px;line-height:1.2}.clients-table th{color:var(--ink);white-space:nowrap;font-size:.78rem}.clients-table th a{align-items:center;gap:3px;display:inline-flex}.clients-table th a:hover{color:var(--brand-blue)}.clients-table th svg{width:13px;height:13px}.clients-table [data-column=number]{width:4%}.clients-table [data-column=child]{width:16%}.clients-table [data-column=parent]{width:23%}.clients-table [data-column=class]{width:6%}.clients-table [data-column=subjects]{width:16%}.clients-table [data-column=tariff]{width:10%}.clients-table [data-column=payment]{width:12%}.clients-table [data-column=contract]{width:13%}.clients-table tbody tr{cursor:pointer;height:64px;transition:background-color .13s}.clients-table tbody tr:hover,.clients-table tbody tr[aria-current=true]{background:#e8f7fc}.clients-table tbody tr:last-child td{border-bottom:0}.clients-table td span,.clients-table td small{display:block}.clients-table td small{color:var(--muted);margin-top:2px;font-size:.77rem}.clients-table td[data-column=number],.clients-table td[data-column=child],.clients-table td[data-column=class],.clients-table td[data-column=tariff],.clients-table td[data-column=payment]{white-space:nowrap}.clients-table td[data-column=child]{text-overflow:ellipsis;overflow:hidden}.payment-badge{text-align:center;white-space:normal;border-radius:10px;width:fit-content;max-width:92px;padding:4px 8px;font-size:.75rem;line-height:1.1;display:inline-block!important}.payment-badge.paid{color:#147b20;background:#e1f2dc}.payment-badge.awaiting{color:#7a4300;background:#fff0ce}.payment-badge.overdue{color:#c22e24;background:#fee4df}.payment-badge.refunded{color:#5a3a75;background:#eee5f5}.clients-empty{color:var(--muted);text-align:center;margin:0;padding:34px}.clients-pagination{grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;padding:10px 10px 0;font-size:.8rem;display:grid}.clients-pagination>label{justify-self:end}.clients-pagination select{min-height:36px;margin-left:6px;padding:4px 8px}.page-links{align-items:center;gap:5px;display:flex}.page-links a{border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.page-links a[aria-current=page]{color:#fff;background:var(--brand-blue)}.page-links svg{width:18px}.student-drawer{z-index:5;border-left:1px solid var(--line);background:#fffffffa;flex-direction:column;width:280px;height:100dvh;padding:70px 26px 24px;display:flex;position:fixed;top:0;right:0;overflow-y:auto;box-shadow:-6px 0 20px #1834440d}.drawer-close{color:var(--ink);cursor:pointer;background:0 0;border:0;padding:4px;position:absolute;top:25px;right:23px}.drawer-kicker,.eyebrow{color:var(--brand-blue);text-transform:uppercase;margin:0 0 28px;font-weight:700}.student-drawer h2{color:var(--ink);letter-spacing:0;font-family:Circe,Arial,sans-serif;font-size:1.22rem}.drawer-class{color:var(--muted);margin:4px 0 27px}.student-drawer section{margin:0 0 24px}.student-drawer h3{color:var(--muted);text-transform:uppercase;margin:0 0 10px;font-size:.78rem}.student-drawer section p{overflow-wrap:anywhere;margin:5px 0;font-size:.87rem;line-height:1.35}.payment-text.paid{color:#147b20}.payment-text.awaiting{color:#7a4300}.payment-text.overdue{color:var(--danger)}.drawer-actions{gap:10px;margin-top:auto;padding-top:30px;display:grid}.drawer-actions .primary-button,.drawer-actions .secondary-button{text-transform:uppercase;min-height:44px;font-size:.78rem}.contact-link{color:var(--brand-blue);text-underline-offset:2px;text-decoration:underline}.secondary-button{border:1px solid var(--brand-cyan);min-height:44px;color:var(--brand-blue);background:var(--surface);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:10px 18px;font-weight:700;display:inline-flex}.client-card-page{max-width:1040px}.client-card-page>h1{margin-bottom:32px}.client-form{border:1px solid var(--line);border-radius:7px;gap:25px;padding:28px;display:grid}.client-form fieldset{border:0;margin:0;padding:0}.client-form legend{color:var(--brand-blue);margin-bottom:16px;font-size:1.08rem;font-weight:700}.client-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;display:grid}.client-form label{gap:7px;font-size:.88rem;font-weight:700;display:grid}.client-form input,.client-form select{width:100%}.client-form>fieldset>label{max-width:520px;margin-bottom:13px}.form-help{color:var(--muted);margin:-5px 0 16px;font-size:.84rem}.selected-representative{border:1px solid var(--line);background:var(--surface-soft);border-radius:6px;gap:4px;width:fit-content;padding:13px 16px;display:grid}.selected-representative span{color:var(--muted)}.subject-options{flex-wrap:wrap;gap:10px 22px;display:flex}.client-form .check-row{align-items:center;gap:9px;max-width:none;margin-top:15px;font-weight:400;display:flex}.client-form .check-row input{width:18px;min-height:18px}.duplicate-warning{background:#fff8e7;border:1px solid #e4b65f;border-radius:6px;padding:16px}.duplicate-warning ul{margin-block:8px}.form-actions{gap:12px;display:flex}.card-tabs{border-bottom:1px solid var(--line);gap:24px;margin:30px 0 20px;display:flex}.card-tabs a{color:var(--brand-blue);padding:12px 2px;font-weight:700}.card-sections{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.card-sections section{border:1px solid var(--line);background:var(--surface);border-radius:7px;padding:24px}.card-sections h2{margin-bottom:18px}.card-sections .section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.card-sections .section-heading h2{margin:0}.card-sections dl{grid-template-columns:120px 1fr;gap:8px 14px;margin:0;display:grid}.card-sections dt{color:var(--muted)}.card-sections dd{margin:0}.workflow-page{width:min(100%,1220px)}.workflow-heading{align-items:center;margin-bottom:26px}.workflow-count{border:1px solid var(--line);color:var(--brand-blue);background:var(--surface);border-radius:999px;padding:8px 12px;font-size:.86rem;font-weight:700}.workflow-create{border:1px solid var(--line);border-radius:7px;margin-bottom:20px}.workflow-create>summary,.compact-details>summary{color:var(--brand-blue);cursor:pointer;font-weight:700}.workflow-create>summary{padding:15px 18px}.workflow-create[open]>summary{border-bottom:1px solid var(--line)}.workflow-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:20px;display:grid}.workflow-form label,.workflow-filters label,.compact-action label,.inline-create label{color:var(--ink);gap:6px;font-size:.86rem;font-weight:700;display:grid}.workflow-form input,.workflow-form select,.workflow-form textarea,.workflow-form output,.workflow-filters input,.workflow-filters select,.compact-action input,.compact-action select,.compact-action textarea,.inline-create input,.inline-create textarea{width:100%;min-height:42px;color:var(--ink);background:var(--surface);border:1px solid #cdd4d9;border-radius:5px;padding:8px 10px}.workflow-form output{align-items:center;display:flex}.workflow-form textarea,.compact-action textarea,.inline-create textarea{resize:vertical}.workflow-wide{grid-column:1/-1}.workflow-form>button.workflow-wide{justify-self:start}.workflow-options{border:1px solid var(--line);border-radius:6px;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:0;padding:13px;display:flex}.workflow-options legend{color:var(--brand-blue);padding:0 5px;font-size:.86rem;font-weight:700}.workflow-options label{align-items:center;gap:7px;font-weight:400;display:flex}.workflow-options input{width:17px;min-height:17px}.workflow-options .subject-limit-help,.workflow-options .subject-catalog-empty{color:var(--muted);flex-basis:100%;margin:2px 0 0;font-size:.78rem}.workflow-options .subject-catalog-empty{color:var(--danger);font-weight:700}.workflow-filters{border:1px solid var(--line);background:#ffffffe0;border-radius:7px;grid-template-columns:repeat(6,minmax(110px,1fr)) auto;align-items:end;gap:10px;margin-bottom:20px;padding:14px;display:grid}.workflow-filters label span{color:var(--muted);font-size:.76rem}.application-list,.task-list,.student-history{gap:12px;display:grid}.workflow-card{border:1px solid var(--line);background:var(--surface);border-radius:7px;grid-template-columns:minmax(0,1fr) 255px;display:grid}.workflow-card-main,.workflow-card-actions{padding:18px}.workflow-card-actions{border-left:1px solid var(--line);background:var(--surface-soft);flex-direction:column;gap:16px;display:flex}.workflow-card-title{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.workflow-card-title h2{color:var(--ink);letter-spacing:0;margin-top:7px;font-family:Circe,Arial,sans-serif;font-size:1.08rem}.workflow-card-title p,.workflow-card-title time{color:var(--muted);margin:4px 0 0;font-size:.82rem}.workflow-card-title time{flex:none}.status-badge{color:var(--brand-blue);background:#e4f6fc;border-radius:999px;padding:3px 8px;font-size:.73rem;font-weight:700;display:inline-flex}.status-paid,.status-studying{color:#147b20;background:#e1f2dc}.status-declined{color:var(--danger);background:#fee4df}.status-completed,.status-signed{color:#147b20;background:#e1f2dc}.status-draft{color:#7a4300;background:#fff0ce}.status-terminated{color:var(--danger);background:#fee4df}.status-thinking,.status-enrolled{color:#7a4300;background:#fff0ce}.workflow-meta{grid-template-columns:118px 1fr;gap:6px 12px;margin:16px 0 0;font-size:.85rem;display:grid}.workflow-meta dt{color:var(--muted)}.workflow-meta dd{overflow-wrap:anywhere;margin:0}.workflow-audit{color:var(--muted);margin:12px 0 0;font-size:.76rem}.compact-action{gap:9px;display:grid}.compact-action .primary-button,.compact-action .secondary-button{min-height:40px;padding:7px 10px;font-size:.8rem}.compact-details>summary{margin-bottom:10px}.workflow-complete,.workflow-empty{color:var(--muted);margin:0}.workflow-empty{border:1px solid var(--line);background:var(--surface);text-align:center;border-radius:7px;padding:28px}.workflow-notice{border:1px solid var(--brand-cyan);margin:0;padding:12px 14px}@supports (color:color-mix(in lab, red, red)){.workflow-notice{border:1px solid color-mix(in srgb, var(--brand-cyan) 45%, var(--line))}}.workflow-notice{border-left:4px solid var(--brand-cyan);background:var(--brand-cyan);border-radius:7px}@supports (color:color-mix(in lab, red, red)){.workflow-notice{background:color-mix(in srgb, var(--brand-cyan) 8%, var(--surface))}}.workflow-notice{color:var(--ink)}.workflow-card.is-focused{outline:3px solid var(--brand-cyan)}@supports (color:color-mix(in lab, red, red)){.workflow-card.is-focused{outline:3px solid color-mix(in srgb, var(--brand-cyan) 55%, transparent)}}.workflow-card.is-focused{outline-offset:3px}.workflow-pagination,.task-state-tabs{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.workflow-pagination{justify-content:center;margin-top:18px}.workflow-pagination a,.task-state-tabs a{border:1px solid var(--line);background:var(--surface);border-radius:999px;place-items:center;min-width:34px;min-height:34px;padding:6px 10px;display:grid}.workflow-pagination a[aria-current=page],.task-state-tabs a[aria-current=page]{color:var(--surface);border-color:var(--brand-blue);background:var(--brand-blue)}.task-state-tabs{margin-bottom:18px}.task-card{border:1px solid var(--line);background:var(--surface);border-radius:7px;justify-content:space-between;align-items:center;gap:20px;padding:17px 18px;display:flex}.task-card h2{color:var(--ink);letter-spacing:0;font-family:Circe,Arial,sans-serif;font-size:1rem}.task-card p{margin:5px 0 0;font-size:.85rem}.task-card.is-completed h2,.student-history article.is-completed strong{color:var(--muted);text-decoration:line-through}.team-tasks-page{max-width:1180px}.team-task-form{grid-template-columns:repeat(3,minmax(180px,1fr))}.task-filter-groups{gap:10px;margin:20px 0;display:grid}.task-filter-groups .task-state-tabs{margin:0}.team-task-card{align-items:stretch}.team-task-content{gap:10px;min-width:0;display:grid}.task-badges{flex-wrap:wrap;gap:7px;display:flex}.task-student-badge{color:var(--brand-blue);background:#e6f5fa}.task-internal-badge{color:#5f536b;background:#f0ebf5}.task-text{white-space:pre-wrap;overflow-wrap:anywhere}.task-discussion{border-top:1px solid var(--line);margin-top:5px;padding-top:10px}.task-discussion>summary{width:fit-content;color:var(--brand-blue);cursor:pointer;font-weight:700}.task-discussion ol{gap:8px;margin:12px 0;padding:0;list-style:none;display:grid}.task-discussion li{background:var(--surface-soft);border-left:3px solid #bce3ef;padding:10px 12px}.task-discussion li p{white-space:pre-wrap;margin:0 0 4px}.task-discussion li small{color:var(--muted)}.task-comment-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.task-comment-form label{gap:5px;font-weight:700;display:grid}.task-comment-form textarea{resize:vertical;border:1px solid #cdd4d9;border-radius:5px;width:100%;padding:8px 10px}.workflow-span{grid-column:1/-1}.inline-create{grid-template-columns:minmax(240px,1fr) 220px auto;align-items:end;gap:12px;margin-bottom:18px;display:grid}.inline-create .primary-button{min-height:42px}.student-history article{border-bottom:1px solid var(--line);padding:12px 0}.student-history article:last-child{border-bottom:0}.student-history article>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.student-history article p{color:var(--muted);margin:7px 0 0}.student-history article small,.comment-history small{color:var(--muted)}.text-button{color:var(--brand-blue);cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:4px;font-weight:700;text-decoration:underline}.comment-history{gap:10px;margin:0;padding:0;list-style:none;display:grid}.comment-history li{border-left:3px solid var(--brand-cyan);background:var(--surface-soft);padding:12px 14px}.comment-history p{white-space:pre-wrap;margin:0 0 5px}.workflow-success,.workflow-error,.workflow-warning,.catalog-note{border:1px solid var(--line);border-left:4px solid var(--brand-cyan);background:var(--surface);border-radius:5px;margin:0 0 20px;padding:13px 16px}.workflow-error{border-left-color:var(--danger);color:var(--danger)}.workflow-warning{border-left-color:var(--warning);color:#6f4300}.contract-form{border:0}.contract-form .contract-signer{align-self:end;margin:0 0 8px}.subject-picker{border:1px solid var(--line);border-radius:5px;margin:0;padding:16px}.subject-picker legend{color:var(--brand-blue);padding:0 7px;font-weight:700}.subject-picker label{align-items:center;gap:8px;margin:6px 22px 6px 0;font-weight:400;display:inline-flex}.subject-picker input{width:18px;min-height:18px}.contract-filters{grid-template-columns:repeat(3,minmax(150px,1fr)) auto}.contract-list{gap:14px;display:grid}.contract-card{padding:20px;display:block}.contract-card .workflow-card-title{margin-bottom:16px}.contract-card h2{margin-top:8px;font-size:1.12rem}.contract-card h2 a:hover{color:var(--brand-blue)}.contract-price{color:var(--brand-blue);white-space:nowrap;font-size:1.15rem}.payment-list{gap:14px;margin-top:20px;display:grid}.payment-card{grid-template-columns:minmax(0,1fr) 300px}.payment-card h2 a:hover{color:var(--brand-blue)}.payment-filters{grid-template-columns:180px minmax(300px,1fr) auto;margin-top:20px}.payment-meta{grid-template-columns:145px minmax(0,1fr)}.payment-full-amount{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin:0;padding:10px 0;display:flex}.payment-full-amount strong{color:var(--brand-blue);white-space:nowrap;font-size:1rem}.confirmation-row{align-items:flex-start;gap:8px!important;font-weight:400!important;display:flex!important}.confirmation-row input{width:18px;min-height:18px;margin-top:2px}.danger-button{border:1px solid var(--danger);min-height:40px;color:var(--danger);background:var(--surface);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:8px 11px;font-weight:700;display:inline-flex}.danger-button:hover{color:var(--surface);background:var(--danger)}.payment-contract-link{margin-top:auto;font-size:.84rem}.document-panel{gap:13px;display:grid}.document-list{gap:9px;display:grid}.document-item{border:1px solid var(--line);background:var(--surface-soft);border-radius:6px;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.document-item>div{gap:3px;min-width:0;display:grid}.document-item strong,.document-item span,.document-item small,.document-item p{overflow-wrap:anywhere}.document-item span,.document-item small{color:var(--muted);font-size:.78rem}.document-item p{color:var(--ink);white-space:pre-wrap;margin:4px 0 0;font-size:.82rem}.document-download{flex:none;min-height:36px;padding:7px 11px;font-size:.78rem}.document-upload>summary{color:var(--brand-blue);cursor:pointer;font-weight:700}.document-upload-form{grid-template-columns:minmax(150px,1fr) minmax(140px,.7fr);align-items:end;gap:10px;padding-top:4px;display:grid}.document-upload-form label{gap:5px;font-size:.8rem;font-weight:700;display:grid}.document-upload-form label:nth-of-type(3),.document-upload-form label:nth-of-type(4),.document-upload-form .field-hint{grid-column:1/-1}.document-upload-form input,.document-upload-form select,.document-upload-form textarea{background:var(--surface);border:1px solid #cdd4d9;border-radius:5px;width:100%;min-height:40px;padding:7px 9px}.document-upload-form input[type=file]{padding:7px}.document-upload-form textarea{resize:vertical}.document-upload-form .field-hint{color:var(--muted);margin:-5px 0 0;font-size:.75rem}.document-upload-form .primary-button{width:fit-content;min-height:40px}.document-panel.is-compact .workflow-empty{padding:15px;font-size:.8rem}.document-panel.is-compact .document-item{flex-direction:column;align-items:flex-start}.document-panel.is-compact .document-upload-form{grid-template-columns:1fr}.document-panel.is-compact .document-upload-form>*{grid-column:1}.contract-card>.document-panel{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.status-overdue{color:#a52820;background:#fee4df}.status-refunded{color:#5a3a75;background:#eee5f5}.tariff-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.tariff-card{border:1px solid var(--line);border-radius:7px;padding:21px}.tariff-title{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.tariff-title h2{margin-top:9px;font-size:1.12rem}.tariff-title>strong{color:var(--brand-blue)}.tariff-note{min-height:40px;color:var(--muted);font-size:.86rem;line-height:1.45}.tariff-form{gap:15px;margin-top:16px;display:grid}.tariff-form label{gap:6px;font-size:.84rem;font-weight:700;display:grid}.tariff-form .check-row{align-items:center;gap:8px;font-weight:400;display:flex}.tariff-form .check-row input{width:18px;height:18px}.tariff-dates,.price-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.price-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tariff-form input[type=date],.tariff-form input[type=number],.tariff-form textarea{background:var(--surface);border:1px solid #cdd4d9;border-radius:5px;width:100%;min-height:42px;padding:8px 10px}.tariff-form textarea{resize:vertical;line-height:1.45}.program-preview{border-left:3px solid var(--brand-cyan);background:var(--surface-soft);grid-column:1/-1;margin:-4px 0 0;padding:12px 14px;line-height:1.45}.tariff-form small{color:var(--muted);font-weight:400}.subject-catalog{border:1px solid var(--line);border-radius:7px;margin-top:20px;padding:20px}.subject-catalog h2{margin-bottom:10px}.subject-catalog p{color:var(--muted);margin:0;line-height:1.7}.subject-catalog-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px;margin-bottom:12px;display:grid}.subject-catalog-list form{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}.import-page{gap:20px;display:grid}.import-page .workflow-heading{margin-bottom:0}.import-page>.workflow-success,.import-page>.workflow-error,.import-page>.workflow-warning{margin:0}.import-upload{border:1px solid var(--line);background:#ffffffeb;border-radius:7px;grid-template-columns:minmax(0,1fr) minmax(320px,440px);align-items:center;gap:28px;padding:22px;display:grid}.import-upload h2{margin-bottom:8px}.import-upload p{max-width:700px;color:var(--muted);margin:0;line-height:1.5}.import-upload form{gap:10px;display:grid}.import-upload label{gap:7px;font-size:.88rem;font-weight:700;display:grid}.import-upload input[type=file]{background:var(--surface);border:1px solid #cdd4d9;border-radius:5px;width:100%;min-height:44px;padding:8px}.import-upload span{color:var(--muted);font-size:.77rem}.import-upload button{justify-self:start}.import-preview{gap:14px;display:grid}.import-summary{justify-content:space-between;align-items:end;gap:20px;padding-top:7px;display:flex}.import-summary h2{margin-top:3px}.import-totals{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.status-ready{color:#147b20;background:#e1f2dc}.status-possible_duplicate{color:#7a4300;background:#fff0ce}.status-invalid{color:var(--danger);background:#fee4df}.import-security-note{border-left:4px solid var(--brand-cyan);background:#e4f6fcd9;border-radius:5px;margin:0;padding:12px 14px;font-size:.86rem}.import-commit-form,.import-row-list{gap:12px;display:grid}.import-row{border:1px solid var(--line);border-left:4px solid var(--brand-cyan);background:var(--surface);border-radius:7px;padding:18px}.import-row-possible_duplicate{border-left-color:var(--warning)}.import-row-invalid{border-left-color:var(--danger)}.import-row-heading{cursor:pointer;justify-content:space-between;align-items:start;gap:18px;display:flex}.import-row-heading:focus-visible{outline-offset:5px;outline:3px solid #14a4da47}.import-row-heading h3{margin:7px 0 0;font-size:1rem}.import-row-heading>span{color:var(--muted);white-space:nowrap;font-size:.8rem}.import-row-grid{grid-template-columns:minmax(0,1fr) 360px;gap:20px;margin-top:15px;display:grid}.import-row dl{grid-template-columns:145px minmax(0,1fr);align-content:start;gap:6px 12px;margin:0;font-size:.84rem;display:grid}.import-row dt{color:var(--muted)}.import-row dd{overflow-wrap:anywhere;margin:0}.import-row-review{align-content:start;gap:12px;display:grid}.import-errors,.import-candidates{border-radius:5px;padding:11px 12px;font-size:.8rem}.import-errors{background:#fff2f0;border:1px solid #e7aaa5}.import-errors ul{margin:6px 0 0;padding-left:20px}.import-candidates{background:#fff8e7;border:1px solid #e4b65f;gap:7px;display:grid}.import-candidates>div{gap:2px;display:grid}.import-candidates small{color:#7a4300}.import-decision{gap:6px;font-size:.84rem;font-weight:700;display:grid}.import-decision select{background:var(--surface);border:1px solid #cdd4d9;border-radius:5px;width:100%;min-height:42px;padding:8px 10px}.import-submit-bar{z-index:3;border:1px solid var(--line);background:#fffffff5;border-radius:7px;justify-content:space-between;align-items:center;gap:20px;padding:14px 16px;display:flex;position:sticky;bottom:12px;box-shadow:0 8px 28px #173c531f}.import-submit-bar p{color:var(--muted);margin:0;font-size:.82rem}.import-submit-bar button{flex:none}.mailing-new-page,.mailings-page{gap:20px;display:grid}.mailing-new-page .workflow-heading,.mailings-page .workflow-heading{margin-bottom:0}.mailing-form{border:1px solid var(--line);background:#fffffff0;border-radius:7px;gap:26px;padding:24px;display:grid}.mailing-form section{border-bottom:1px solid var(--line);gap:12px;padding-bottom:24px;display:grid}.mailing-form section>.eyebrow{margin:0 0 -7px}.mailing-filter-grid,.mailing-message-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.mailing-form label{color:var(--ink);gap:6px;font-size:.84rem;font-weight:700;display:grid}.mailing-form input,.mailing-form select,.mailing-form textarea{background:var(--surface);border:1px solid #cdd4d9;border-radius:5px;width:100%;min-height:43px;padding:9px 11px}.mailing-form textarea{resize:vertical;line-height:1.5}.mailing-wide{grid-column:1/-1}.recipient-mode-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.recipient-mode-grid label{border:1px solid var(--line);background:var(--surface-soft);cursor:pointer;border-radius:6px;align-items:flex-start;gap:9px;padding:13px;display:flex}.recipient-mode-grid input{width:18px;min-height:18px;margin-top:2px}.recipient-mode-grid span{gap:3px;display:grid}.recipient-mode-grid small,.mailing-form .field-hint,.mailing-form-footer p{color:var(--muted);margin:0;font-size:.78rem;font-weight:400}.mailing-form label>small{color:var(--muted);font-size:.74rem;font-weight:400}.mailing-template-list{gap:16px;display:grid}.mailing-template-card{gap:16px;padding:22px;display:grid}.mailing-template-card h2{color:var(--blue-strong);margin:0}.mailing-template-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.button-row{flex-wrap:wrap;gap:10px;display:flex}.unknown-delivery-actions{gap:8px;margin-top:8px;display:grid}.unknown-delivery-actions form{gap:5px;display:grid}.unknown-delivery-actions .confirmation-row{font-size:.72rem}.mailing-form-footer{justify-content:space-between;align-items:center;gap:20px;display:flex}.mailing-preview{padding:22px;display:block}.mailing-preview-heading,.mailing-history-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.mailing-preview-heading h2{margin-top:8px}.mailing-preview-heading p{color:var(--muted);margin:5px 0 0;font-size:.82rem}.mailing-summary-grid{border:1px solid var(--line);background:var(--surface-soft);border-radius:7px;grid-template-columns:repeat(4,minmax(0,1fr));margin:20px 0 12px;display:grid}.mailing-summary-grid div{border-right:1px solid var(--line);gap:2px;padding:14px 16px;display:grid}.mailing-summary-grid div:last-child{border-right:0}.mailing-summary-grid strong{color:var(--brand-blue);font-size:1.35rem}.mailing-summary-grid span{color:var(--muted);font-size:.78rem}.mailing-exclusions{flex-wrap:wrap;gap:7px;display:flex}.mailing-exclusions span{color:#704500;background:#fff0ce;border-radius:999px;padding:5px 8px;font-size:.75rem}.mailing-meta{grid-template-columns:130px minmax(0,1fr);margin:20px 0}.mailing-body{white-space:pre-wrap;max-height:240px;font:inherit;margin:0;overflow:auto}.mailing-recipient-table-wrap{margin-top:16px;overflow-x:auto}.mailing-recipient-table{border-collapse:collapse;width:100%;font-size:.82rem}.mailing-recipient-table th,.mailing-recipient-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:10px 9px}.mailing-recipient-table th{color:var(--muted);text-transform:uppercase;font-size:.73rem}.mailing-recipient-table a{color:var(--brand-blue);font-weight:700}.recipient-error{max-width:280px;color:var(--danger);margin-top:5px;display:block}.mailing-confirm{background:#edf9fc;border:1px solid #99cfe0;border-radius:7px;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:20px;padding:16px;display:flex}.mailing-confirm small,.mailing-confirm p{width:100%;color:var(--muted);margin:0}.mailing-history{gap:12px;display:grid}.mailing-history-heading{align-items:end}.mailing-history-heading span{color:var(--muted)}.mailing-list{gap:10px;display:grid}.mailing-list-item{border:1px solid var(--line);background:#ffffffeb;border-left:4px solid #0000;border-radius:7px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:16px 18px;display:grid}.mailing-list-item:hover,.mailing-list-item.is-selected{border-left-color:var(--brand-cyan);box-shadow:0 7px 22px #173c5314}.mailing-list-item>div{justify-items:start;gap:5px;display:grid}.mailing-list-item>div>strong{font-size:.98rem}.mailing-list-item small{color:var(--muted)}.mailing-list-item dl{grid-template-columns:auto auto;gap:3px 9px;margin:0;font-size:.78rem;display:grid}.mailing-list-item dt{color:var(--muted)}.mailing-list-item dd{text-align:right;margin:0;font-weight:700}.status-prepared{color:var(--brand-blue);background:#e2f3f8}.status-sending,.status-retry_pending{color:#735200;background:#fff0ce}.status-completed,.status-sent{color:#147b20;background:#e1f2dc}.status-partial,.status-failed,.status-unknown_delivery{color:#a52820;background:#fee4df}.status-cancelled{color:#4f5961;background:#f1f1f1}@media (max-width:900px){.app-shell{display:block}.app-sidebar{border-right:0;border-bottom:1px solid var(--line);width:100%;height:auto;position:static;overflow:visible}.brand-link{min-height:auto;padding:13px 18px 7px}.brand-emblem{width:76px}.primary-navigation{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:7px 12px 12px;display:grid}.navigation-link{justify-content:center;gap:7px;min-height:42px;padding:8px;font-size:.88rem}.navigation-link svg{width:18px;height:18px}.staff-panel{justify-content:space-between;align-items:center;margin:0;padding:10px 16px;display:flex}.staff-panel time{display:none}.logout-button{width:auto;padding-inline:12px}.app-content{padding:34px 24px}.clients-layout.has-drawer .clients-main{margin-right:0}.student-drawer{width:100%;padding:64px 28px 28px}.clients-filters{grid-template-columns:1fr 1fr}.search-control{grid-column:1/-1}.clients-pagination{grid-template-columns:1fr}.clients-pagination>label{justify-self:start}.workflow-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.tariff-grid,.workflow-card{grid-template-columns:1fr}.team-task-form{grid-template-columns:1fr 1fr}.workflow-card-actions{border-top:1px solid var(--line);border-left:0}.import-upload,.import-row-grid,.recipient-mode-grid{grid-template-columns:1fr}}@media (max-width:560px){.primary-navigation{grid-template-columns:repeat(2,minmax(0,1fr))}.navigation-link{justify-content:flex-start}.staff-panel{align-items:stretch}.staff-summary{max-width:calc(100% - 92px)}.app-content{padding:28px 18px}.page-heading{display:block}.clients-add{margin-top:18px}.clients-filters,.client-form-grid,.card-sections,.workflow-form,.workflow-filters,.inline-create,.team-task-form,.task-comment-form,.tariff-dates,.price-grid,.subject-catalog-list{grid-template-columns:1fr}.workflow-wide{grid-column:auto}.workflow-card-title,.task-card,.import-summary,.import-row-heading,.import-submit-bar{flex-direction:column;align-items:stretch}.import-row dl{grid-template-columns:1fr}.import-row dt{margin-top:5px;font-weight:700}.document-upload-form{grid-template-columns:1fr}.document-upload-form>*{grid-column:1}.document-item{flex-direction:column;align-items:stretch}.document-download{width:fit-content}.mailing-filter-grid,.mailing-message-grid,.mailing-summary-grid,.mailing-list-item{grid-template-columns:1fr}.mailing-wide{grid-column:auto}.mailing-summary-grid div{border-right:0;border-bottom:1px solid var(--line)}.mailing-summary-grid div:last-child{border-bottom:0}.mailing-form-footer,.mailing-preview-heading{flex-direction:column;align-items:stretch}.mailing-preview-heading .secondary-button{width:fit-content}.clients-filters>*{width:100%}.card-tabs{overflow-x:auto}.login-card{padding:26px 22px 28px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
