@tailwind base;@tailwind components;@tailwind utilities;:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5;color:hsl(var(--foreground));background:hsl(var(--background));--background: 96 13% 97%;--foreground: 210 24% 16%;--card: 0 0% 100%;--card-foreground: 210 24% 16%;--popover: 0 0% 100%;--popover-foreground: 210 24% 16%;--primary: 176 56% 28%;--primary-foreground: 0 0% 100%;--secondary: 96 12% 94%;--secondary-foreground: 210 24% 16%;--muted: 96 12% 94%;--muted-foreground: 209 11% 45%;--accent: 21 57% 42%;--accent-foreground: 0 0% 100%;--destructive: 4 76% 40%;--destructive-foreground: 0 0% 100%;--border: 102 11% 85%;--input: 106 12% 76%;--ring: 176 56% 28%;--success: 149 59% 30%;--success-foreground: 0 0% 100%;--warning: 39 100% 29%;--warning-foreground: 0 0% 100%;--radius: .5rem;--shadow: 0 18px 50px rgb(15 23 42 / .12)}.dark{--background: 210 24% 10%;--foreground: 96 13% 97%;--card: 210 24% 12%;--card-foreground: 96 13% 97%;--popover: 210 24% 12%;--popover-foreground: 96 13% 97%;--primary: 174 48% 46%;--primary-foreground: 210 24% 10%;--secondary: 210 20% 18%;--secondary-foreground: 96 13% 97%;--muted: 210 20% 18%;--muted-foreground: 215 14% 72%;--accent: 22 65% 58%;--accent-foreground: 210 24% 10%;--destructive: 4 76% 52%;--destructive-foreground: 0 0% 100%;--border: 210 18% 24%;--input: 210 18% 24%;--ring: 174 48% 46%;--success: 149 55% 44%;--success-foreground: 210 24% 10%;--warning: 39 93% 58%;--warning-foreground: 210 24% 10%}*{box-sizing:border-box}body{margin:0;min-width:320px;background:hsl(var(--background))}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:264px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;padding:24px 18px;border-right:1px solid hsl(var(--border));background:#fbfbfa}.brand{display:flex;align-items:center;gap:10px;margin-bottom:24px;font-weight:700}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:var(--radius);color:#fff;background:hsl(var(--primary))}.school-switcher{padding:12px;margin-bottom:18px;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--card))}.school-switcher span{display:block;color:hsl(var(--muted-foreground));font-size:.78rem}.school-switcher strong{display:block;margin-top:3px;font-size:.92rem}.nav{display:grid;gap:3px}.nav button{display:flex;align-items:center;gap:10px;width:100%;padding:10px 11px;border:0;border-radius:var(--radius);color:#40505e;background:transparent;text-align:left}.nav button.active,.nav button:hover{color:hsl(var(--primary));background:#e8f1ee}.main{min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px;padding:16px 28px;border-bottom:1px solid hsl(var(--border));background:#f7f8f6e0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.topbar-meta{display:flex;align-items:center;gap:10px;color:hsl(var(--muted-foreground));font-size:.9rem}.account-menu-wrap{position:relative}.account-menu-trigger{display:inline-flex;align-items:center;gap:10px;min-height:42px;padding:5px 8px 5px 5px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 1px 2px #0f172a0a}.account-menu-trigger:hover,.account-menu-trigger[aria-expanded=true]{border-color:#b8d8d1;background:#f1f7f5}.account-avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:999px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));font-size:.76rem;font-weight:900;letter-spacing:.02em}.account-avatar.large{width:40px;height:40px}.account-trigger-text{display:grid;gap:1px;min-width:0;text-align:left}.account-trigger-text strong,.account-menu-header strong{color:hsl(var(--foreground));font-size:.88rem;line-height:1.1}.account-trigger-text span,.account-menu-header span{color:hsl(var(--muted-foreground));font-size:.75rem;line-height:1.1}.account-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:70;width:280px;padding:8px;border:1px solid hsl(var(--border));border-radius:calc(var(--radius) + 6px);background:hsl(var(--background));box-shadow:0 20px 60px #0f172a2e}.account-menu-header{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;padding:8px}.account-menu-header div{display:grid;gap:4px;min-width:0}.account-menu-header span:not(.account-avatar){overflow-wrap:anywhere}.account-menu button{display:flex;align-items:center;gap:10px;width:100%;min-height:38px;padding:9px 10px;border:0;border-radius:var(--radius);background:transparent;color:hsl(var(--foreground));cursor:pointer;font-weight:700;text-align:left}.account-menu button:hover{background:hsl(var(--muted))}.account-menu button:disabled{cursor:not-allowed;opacity:.55}.account-menu-divider{height:1px;margin:6px 4px;background:hsl(var(--border))}.content{width:min(1220px,calc(100vw - 312px));margin:0 auto;padding:32px 24px 56px}.public-shell{min-height:100vh;background:hsl(var(--muted))}.public-shell .content{width:min(980px,calc(100vw - 32px))}.login-shell{display:grid;min-height:100vh;place-items:center;padding:24px;background:linear-gradient(180deg,#ffffffc7,#f7f8f6eb),hsl(var(--background))}.login-panel{display:grid;gap:24px;width:min(430px,100%);padding:28px;box-shadow:var(--shadow)}.login-brand{margin-bottom:18px}.login-heading h1,.login-heading h3{margin:0;font-size:1.55rem}.login-heading p{margin:8px 0 0;color:hsl(var(--muted-foreground))}.login-form{display:grid;gap:16px}.login-button{width:100%}.demo-login-note{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid #b9ded2;border-radius:16px;background:#eef8f5;color:#244a43;font-size:.9rem;line-height:1.45}.demo-institution-options{display:grid;gap:10px}.demo-institution-option{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:flex-start;padding:12px;border:1px solid hsl(var(--border));border-radius:16px;background:hsl(var(--background));cursor:pointer}.demo-institution-option:has(input:checked){border-color:hsl(var(--primary));background:#eef8f5}.demo-institution-option span{display:grid;gap:3px}.demo-institution-option small{color:hsl(var(--muted-foreground));line-height:1.35}.demo-intro-overlay{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:24px;background:#0f172a57;animation:fade-in .16s ease-out}.demo-intro-card{width:min(640px,100%);padding:28px;border:1px solid hsl(var(--border));border-radius:28px;background:hsl(var(--background));box-shadow:0 24px 72px #0f172a3d}.demo-intro-kicker{display:inline-flex;margin-bottom:12px;color:hsl(var(--primary));font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.demo-intro-card h2{margin:0;color:hsl(var(--foreground));font-size:clamp(1.5rem,3vw,2rem);line-height:1.15}.demo-intro-card p,.demo-intro-card li,.demo-intro-actions span{color:hsl(var(--muted-foreground))}.demo-intro-card ul{margin:18px 0;padding-left:20px}.demo-intro-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:22px}.demo-intro-actions button{border:0;border-radius:999px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));cursor:pointer;font-weight:800;padding:11px 18px}.demo-reset-page{min-height:58vh;display:grid;place-items:center;align-content:center;gap:16px;padding:56px 24px;text-align:center}.demo-reset-page h1{max-width:680px;margin:0;font-size:clamp(1.8rem,4vw,3rem);line-height:1.08}.demo-reset-page p{max-width:620px;margin:0;color:hsl(var(--muted-foreground))}.demo-reset-spinner{width:54px;height:54px;border:5px solid hsl(var(--muted));border-top-color:hsl(var(--primary));border-radius:999px;animation:spin .9s linear infinite}.public-form-card{max-width:920px;margin:0 auto}.setup-form-panel{margin-bottom:18px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}.page-header h1{margin:0;font-size:1.85rem;line-height:1.18;letter-spacing:0}.page-header p{max-width:760px;margin:8px 0 0;color:hsl(var(--muted-foreground))}.page-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.page-actions.align-start{justify-content:flex-start}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.tab-panel{margin-top:16px}.app-tabs{flex-wrap:wrap;justify-content:flex-start;width:100%;height:auto;min-height:42px;gap:4px}.app-tab{border:1px solid transparent}.app-tab[data-state=active]{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.tab-panel-actions{display:flex;justify-content:flex-end}.master-detail{display:grid;grid-template-columns:minmax(290px,.9fr) minmax(0,1.4fr);gap:18px;align-items:start}.invoice-master-detail{grid-template-columns:minmax(360px,430px) minmax(560px,1fr)}.invoice-review-workspace{display:grid;gap:18px}.invoice-detail-route{display:grid;gap:18px;max-width:1180px}.invoice-table-panel,.invoice-table-panel .table-wrap{min-width:0}.invoice-table-header,.invoice-pagination{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px}.invoice-pagination{align-items:center;justify-content:flex-end}.invoice-master-table-wrap{padding:18px;overflow-x:auto}.invoice-master-table{min-width:900px;table-layout:fixed}.invoice-master-table th:first-child,.invoice-master-table td:first-child{width:44px}.invoice-master-table th:nth-child(2),.invoice-master-table td:nth-child(2){width:18%}.invoice-master-table th:nth-child(3),.invoice-master-table td:nth-child(3){width:16%}.invoice-master-table th:nth-child(4),.invoice-master-table td:nth-child(4){width:24%}.invoice-master-table th:nth-child(5),.invoice-master-table td:nth-child(5),.invoice-master-table th:nth-child(6),.invoice-master-table td:nth-child(6){width:13%}.invoice-master-table th:nth-child(7),.invoice-master-table td:nth-child(7){width:12%}.invoice-table-row{cursor:pointer}.invoice-table-row.active td,.invoice-table-row:hover td{background:#f2f8f6}.table-link-button{padding:0;border:0;color:hsl(var(--primary));background:transparent;font:inherit;font-weight:800;text-align:left;cursor:pointer}.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}.invoice-master-detail>.panel,.invoice-detail-panel{min-width:0}.invoice-detail-panel>.panel-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px}.panel{border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--card));box-shadow:0 1px 2px #1f29330a}.panel-header{padding:18px 18px 0}.panel-header.compact{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:0}.panel-header h2,.panel-header h3{margin:0;font-size:1.05rem;letter-spacing:0}.panel-header p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:.92rem}.panel-body{padding:18px}.metric{padding:17px}.metric span{display:block;color:hsl(var(--muted-foreground));font-size:.86rem}.metric strong{display:block;margin-top:8px;font-size:1.55rem}.list{display:grid;gap:8px}.list-item{display:grid;gap:4px;width:100%;padding:13px 14px;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--card));text-align:left}.list-item.active,.list-item:hover{border-color:hsl(var(--primary));background:#f2f8f6}.list-item.archived,.state.archived{border-color:#d7dde2;background:#f3f5f6}.list-item.archived{opacity:.82}.list-item strong{line-height:1.25}.record-card{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px}.record-card-main{display:grid;gap:7px;min-width:0}.record-card-heading{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.record-card-main>.muted,.record-card-main .meta-row{line-height:1.4}.tuition-plan-card{grid-template-columns:1fr;align-items:stretch;gap:14px}.tuition-plan-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tuition-plan-summary-grid>div{display:grid;gap:4px;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--muted))}.obligation-schedule-list{display:grid;gap:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--card))}.obligation-schedule-header,.obligation-schedule-row{display:grid;grid-template-columns:minmax(120px,1.1fr) minmax(120px,1fr) minmax(110px,.8fr) minmax(100px,.7fr);gap:12px;align-items:center;padding:10px 12px}.obligation-schedule-header{color:hsl(var(--muted-foreground));background:hsl(var(--muted));font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.obligation-schedule-row+.obligation-schedule-row{border-top:1px solid hsl(var(--border))}.obligation-schedule-row>span,.obligation-schedule-row>strong{min-width:0;overflow-wrap:anywhere}.record-actions,.form-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.compact-actions{justify-content:flex-start}.guardian-card{grid-template-columns:minmax(0,1fr) max-content;gap:18px;padding:16px}.guardian-card-main{display:grid;gap:14px;min-width:0}.guardian-card-heading{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.guardian-card-heading>strong{font-size:1rem}.guardian-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 18px}.guardian-info-grid>div{display:grid;gap:3px;min-width:0}.guardian-info-grid span,.guardian-info-grid strong{overflow-wrap:anywhere}.info-label{color:hsl(var(--muted-foreground));font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.embedded-panel{box-shadow:none}.form-error{margin:0;color:hsl(var(--destructive));font-weight:700}.form-error-list{margin:8px 0 0;padding-left:20px;color:hsl(var(--destructive))}.form-spaced,.block-spaced{margin-top:14px}.invoice-toolbar{display:flex;gap:14px;align-items:center;justify-content:space-between}.invoice-toolbar p{margin:4px 0 0}.invoice-toolbar-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.invoice-list-item,.invoice-list-row{grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start}.invoice-list-row{display:grid;width:100%;padding:0;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--card))}.invoice-list-row.active,.invoice-list-row:hover{border-color:hsl(var(--primary));background:#f2f8f6}.invoice-select{display:grid;min-width:24px;min-height:24px;padding:12px 0 12px 12px;place-items:center}.invoice-list-button{display:grid;grid-template-columns:minmax(120px,.95fr) minmax(140px,1.25fr) auto minmax(118px,auto);gap:10px;align-items:center;min-width:0;padding:10px 12px 10px 4px;border:0;color:inherit;background:transparent;text-align:left}.invoice-list-main,.invoice-list-recipient,.invoice-list-due{display:grid;gap:2px;min-width:0}.invoice-list-main span,.invoice-list-recipient span,.invoice-list-due span{overflow-wrap:anywhere}.invoice-list-main span,.invoice-list-due span{color:hsl(var(--muted-foreground));font-size:.84rem}.invoice-list-due{text-align:right}.invoice-list-button{grid-template-columns:1fr;gap:8px;align-items:start;width:100%;padding:12px 14px 12px 4px}.invoice-list-topline,.invoice-list-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}.invoice-list-meta{flex-wrap:wrap;justify-content:flex-start}.invoice-list-amount{flex:0 0 auto;text-align:right;white-space:nowrap}.invoice-list-recipient{max-width:100%}.invoice-detail-panel .key-grid{grid-template-columns:repeat(4,minmax(120px,1fr))}.invoice-detail-table-wrap{overflow-x:auto}.invoice-detail-table{min-width:0;table-layout:fixed}.invoice-detail-table th:first-child,.invoice-detail-table td:first-child{width:52%}.invoice-detail-table th:nth-child(2),.invoice-detail-table td:nth-child(2){width:22%}.invoice-detail-table th:nth-child(3),.invoice-detail-table td:nth-child(3){width:18%;text-align:right}.invoice-detail-table th:last-child,.invoice-detail-table td:last-child{width:8%}.invoice-detail-table td{overflow-wrap:anywhere}.muted{color:hsl(var(--muted-foreground))}.block{display:block}.table-primary{display:flex;align-items:flex-start;gap:10px}.table-primary strong,.table-primary span{display:block}.table-primary span{margin-top:2px;color:hsl(var(--muted-foreground));font-size:.84rem}.meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:hsl(var(--muted-foreground));font-size:.88rem}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.due-status-stack{display:flex;flex-wrap:wrap;gap:6px}.due-status-stack.compact{align-items:center;gap:6px}.inline-link-button{padding:0;border:0;color:hsl(var(--primary));background:transparent;font:inherit;font-size:.82rem;font-weight:800;line-height:1.2;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.grade-scope-field{align-self:start}.grade-scope-picker{display:flex;flex-wrap:wrap;gap:8px;min-height:42px;padding:8px;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--card))}.checkbox-row.compact{min-height:28px;padding:4px 8px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--muted))}.chip-row.spacious{margin-top:12px}.chip{display:inline-flex;align-items:center;min-height:26px;padding:3px 9px;border:1px solid hsl(var(--border));border-radius:999px;color:#40505e;background:#f6f7f4;font-size:.8rem;font-weight:700}.chip-active{color:hsl(var(--primary));border-color:#9fcfc6;background:#e8f1ee}.table-wrap{overflow-x:auto}.selected-row td{background:#f2f8f6}.table-wrap.compact table{min-width:620px}.roster-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;align-items:start}.roster-header{display:flex;justify-content:space-between;gap:14px}.section-list{display:grid;gap:16px}.student-search-box{display:grid;gap:8px;padding:0 18px 16px}.student-search-box label{color:hsl(var(--muted-foreground));font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.student-import-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:16px;align-items:stretch}.student-import-dropzone,.student-import-help-card,.student-file-review{border:1px solid hsl(var(--border));border-radius:calc(var(--radius) + 6px);background:hsl(var(--background))}.student-import-dropzone{display:grid;place-items:center;gap:10px;min-height:220px;padding:28px;border-style:dashed;text-align:center}.student-import-dropzone strong,.student-import-help-card strong,.student-file-review strong{font-size:1rem}.student-import-dropzone span,.student-import-help-card p,.student-file-review p{max-width:520px;margin:0;color:hsl(var(--muted-foreground))}.file-picker-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border-radius:var(--radius);background:hsl(var(--primary));color:hsl(var(--primary-foreground));cursor:pointer;font-weight:800}.file-picker-button input{display:none}.student-import-help-card{display:grid;align-content:start;gap:12px;padding:18px}.template-button-grid{display:grid;gap:8px}.student-file-review{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px}.advanced-import-details{display:grid;gap:12px;padding:14px;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--muted))}.advanced-import-details summary{cursor:pointer;font-weight:800}.csv-textarea{width:100%;min-height:260px;display:block;overflow:auto;white-space:pre;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.86rem;line-height:1.5;resize:vertical}.student-placement-editor{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr)) auto;gap:12px;align-items:end;padding:14px;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--muted))}.section-list-group{display:grid;gap:6px}.grade-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:42px;padding:9px 10px;border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--foreground));background:hsl(var(--muted));text-align:left}.grade-toggle:hover{border-color:#b8d8d1;background:#f1f7f5}.grade-toggle.search-hit{border-color:hsl(var(--primary));background:#edf7f4}.grade-toggle-main{display:inline-flex;align-items:center;gap:8px;min-width:0;font-weight:800}.grade-toggle-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grade-toggle-meta{color:hsl(var(--muted-foreground));font-size:.78rem;font-weight:800;white-space:nowrap}.section-list-children{display:grid;gap:6px;padding-left:14px;border-left:2px solid hsl(var(--border));margin-left:11px}.section-link{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:38px;padding:8px 10px;border:1px solid transparent;border-radius:var(--radius);color:hsl(var(--foreground));background:transparent;text-align:left}.section-link:hover,.section-link.active{border-color:#9fcfc6;background:#e8f1ee}.section-link.search-hit:not(.active){border-color:#9acac0;background:#f7fbfa}.section-link strong{display:inline-grid;place-items:center;min-width:24px;height:24px;border-radius:999px;color:hsl(var(--primary));background:hsl(var(--card));font-size:.78rem}table{width:100%;border-collapse:collapse;min-width:680px}th,td{padding:12px 14px;border-bottom:1px solid hsl(var(--border));text-align:left;vertical-align:top}th{color:hsl(var(--muted-foreground));font-size:.78rem;font-weight:700;text-transform:uppercase}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:8px 12px;border:1px solid transparent;border-radius:var(--radius);font-weight:650}.btn-primary{color:#fff;background:hsl(var(--primary))}.btn-primary:hover{background:hsl(var(--primary))}.btn-secondary{color:hsl(var(--foreground));border-color:hsl(var(--input));background:hsl(var(--card))}.btn-ghost{color:hsl(var(--primary));background:transparent}.btn-danger{color:#fff;background:hsl(var(--destructive))}.badge{display:inline-flex;align-items:center;width:fit-content;min-height:24px;padding:2px 8px;border:1px solid hsl(var(--border));border-radius:999px;color:#374151;background:#f6f7f4;font-size:.78rem;font-weight:700}.badge-success{color:#145c38;background:#e8f6ee;border-color:#bee8ce}.badge-warning{color:#7c4c00;background:#fff4d8;border-color:#f2d27b}.badge-danger{color:#9f1f17;background:#fff0ee;border-color:#f6c5bd}.badge-muted{color:#52616e;background:#edf0f2}.state,.permission,.loading-row{padding:18px;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--card))}.state p,.permission p{margin:5px 0 0;color:hsl(var(--muted-foreground))}.state-danger{border-color:#f0b6ad;background:#fff7f5}.state-success{border-color:#bee8ce;background:#f3fbf6}.state-warning{border-color:#f2d595;background:#fff9e8}.state-muted{background:hsl(var(--muted))}.compact-state{display:grid;gap:8px;padding:12px}.compact-state p{margin:0}.assignment-preview-card{display:grid;gap:12px}.assignment-preview-total{display:flex;align-items:center;justify-content:flex-end;gap:16px;color:hsl(var(--muted-foreground))}.assignment-preview-total strong{color:hsl(var(--foreground))}.discount-preview-card{display:grid;gap:12px}.discount-policy-list{display:grid;gap:10px}.discount-policy-card{display:grid;gap:8px;padding:12px;border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);background:hsl(var(--background))}.student-invoice-card{align-items:start}.student-invoice-lines{display:flex;flex-wrap:wrap;gap:6px}.student-invoice-lines span{padding:5px 8px;border:1px solid hsl(var(--border));border-radius:999px;color:hsl(var(--muted-foreground));background:hsl(var(--muted));font-size:.8rem}.state strong{display:inline-flex;align-items:center;gap:8px}.copyable-text{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.table-actions{justify-content:flex-start}.permission{display:flex;gap:12px;align-items:flex-start;color:hsl(var(--destructive))}.loading-row{display:flex;align-items:center;gap:10px;color:hsl(var(--muted-foreground))}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid hsl(var(--border));border-top-color:hsl(var(--primary));animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.tabs{display:flex;gap:4px;overflow-x:auto;padding:4px;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--muted))}.tab{min-height:34px;padding:6px 10px;white-space:nowrap;border:0;border-radius:calc(var(--radius) - 2px);color:hsl(var(--muted-foreground));background:transparent}.tab.active{color:hsl(var(--foreground));background:hsl(var(--card));box-shadow:0 1px 2px #1f293314}.key-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.key-value{display:grid;gap:2px}.key-value dt{color:hsl(var(--muted-foreground));font-size:.82rem}.key-value dd{margin:0;font-weight:650}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.field{display:grid;gap:6px}.field.full{grid-column:1 / -1}.field label{color:#374151;font-size:.86rem;font-weight:700}.setup-form-panel .field>input:not([type=checkbox]):not([type=radio]),.setup-form-panel .field>select,.setup-form-panel .field>.input{min-height:42px}.setup-form-panel .field>input:not([type=checkbox]):not([type=radio]){align-self:start}.setup-form-panel .field .muted{font-size:.82rem;line-height:1.4}.form-section-title{padding-top:8px;border-top:1px solid hsl(var(--border))}.form-section-title:first-child{padding-top:0;border-top:0}.form-section-title h3{margin:0;font-size:1rem}.form-section-title p{margin:3px 0 0;color:hsl(var(--muted-foreground))}.itemized-fee-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.itemized-fee-table td{vertical-align:middle}.itemized-fee-table th:last-child,.itemized-fee-table td:last-child{width:1%;white-space:nowrap}.discount-policy-grid{display:grid;gap:14px}.discount-policy-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:14px;border:1px solid hsl(var(--border));border-radius:var(--radius);background:#fbfbfa}.discount-policy-list{display:grid;gap:12px}.discount-policy-card{display:grid;gap:8px;padding:14px;border:1px solid hsl(var(--border));border-radius:var(--radius);background:#fbfbfa}.discount-policy-card p{margin:0}.discount-policy-card-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.amount-negative{color:#b42318;font-weight:700}.catalog-detail{display:grid;gap:16px;padding:16px;border:1px solid hsl(var(--border));border-radius:var(--radius);background:#fbfbfa}.catalog-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.catalog-detail-header h3{margin:0;font-size:1rem}.catalog-detail-header p{margin:4px 0 0}.schedule-preview-table{margin-top:12px}.detail-actions{justify-content:flex-start;margin-top:12px}.month-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px}.month-tile{display:flex;align-items:center;gap:8px;min-height:42px;padding:9px 10px;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--card));font-weight:650}.month-tile-disabled,.downpayment-tile{border-color:#b7d7ce;background:#eef7f4;color:#24594d}.chip-checkbox-grid{display:flex;flex-wrap:wrap;gap:8px}.academic-scope-field{display:grid;gap:10px}.academic-scope-search{max-width:420px}.academic-scope-summary{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.grade-level-picker.searchable{max-height:220px;overflow:auto;padding:10px;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--background))}.chip-checkbox{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:7px 10px;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--card));font-weight:650}.schedule-option-grid{display:grid;gap:12px;margin-top:12px}.schedule-option-card{display:grid;gap:10px;padding:12px;border:1px solid hsl(var(--border));border-radius:var(--radius);background:#fbfbfa}.schedule-option-card p{margin:4px 0 0;color:hsl(var(--muted-foreground))}.schedule-total-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.schedule-total-card{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:12px;padding-right:min(128px,18vw);border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--muted))}.schedule-total-card.compact{padding:10px}.schedule-total-card div{display:grid;gap:3px;min-width:0}.schedule-total-card span{color:hsl(var(--muted-foreground));font-size:.86rem}.schedule-total-card>strong{white-space:nowrap}.input{width:100%;min-height:40px;padding:9px 10px;border:1px solid hsl(var(--input));border-radius:var(--radius);color:hsl(var(--foreground));background:hsl(var(--card))}.textarea{min-height:92px;resize:vertical}.checkbox-row{display:flex;gap:10px;align-items:flex-start;color:hsl(var(--muted-foreground))}.option-list{display:grid;gap:10px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.settings-stack,.settings-tab-panel{display:grid;gap:18px}.settings-action-bar,.settings-active-link{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.settings-action-bar p,.settings-active-link p{margin:5px 0 0}.settings-section-stack{display:grid;gap:16px}.settings-form-panel{padding:16px;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--muted))}.settings-form-content p{margin:5px 0 0}.settings-form-content strong,.settings-form-panel strong,.settings-active-link strong{display:inline-flex;align-items:center;gap:8px}.settings-card-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.settings-form-card{align-content:start;gap:8px}.settings-card-description,.settings-card-note{margin:0;color:hsl(var(--muted-foreground))}.settings-card-note{font-size:.88rem}.settings-card-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.settings-detail-panel{display:grid;gap:14px;padding:16px;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--muted))}.settings-detail-panel.archived{border-color:#d7dde2;background:#f3f5f6}.settings-detail-panel h2{margin:0;font-size:1.1rem}.settings-detail-panel p{margin:5px 0 0;color:hsl(var(--muted-foreground))}.settings-platform-card h2{margin:16px 0 6px;font-size:1.05rem}.settings-platform-card p{margin:0}.platform-shell{min-height:100vh;background:hsl(var(--background))}.platform-content{display:grid;gap:18px}.platform-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.platform-summary{display:flex;align-items:flex-start;gap:12px}.platform-summary strong,.platform-form strong{display:inline-flex;align-items:center;gap:8px}.platform-summary p,.platform-form p{margin:5px 0 0;color:hsl(var(--muted-foreground))}.platform-workspace,.platform-settings-users{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr);gap:18px;align-items:start}.platform-url-preview{display:flex;align-items:center;gap:8px;padding:11px 12px;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--muted));color:hsl(var(--foreground));overflow-wrap:anywhere}.tenant-card-list{display:grid;gap:12px}.tenant-card{display:grid;gap:14px;padding:14px;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--muted))}.tenant-card-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;gap:12px}.tenant-card-heading strong,.tenant-card-heading span,.tenant-card-details strong,.tenant-card-details dd{display:block}.tenant-card-heading span{margin-top:3px;color:hsl(var(--muted-foreground))}.tenant-card-details{display:grid;grid-template-columns:1fr;gap:12px;margin:0}.tenant-card-details div{min-width:0}.tenant-card-details dt{margin-bottom:4px;color:hsl(var(--muted-foreground));font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.tenant-card-details dd{margin:0}.users-table-wrap table,.users-table{min-width:760px}.users-table td{vertical-align:top}.table-primary-cell{display:grid;gap:3px;min-width:0}.table-primary-cell strong,.table-primary-cell span{display:block}.compact-chips{gap:6px}.compact-chips .chip{max-width:100%;overflow-wrap:anywhere}.break-word{overflow-wrap:anywhere}.feature-notice-overlay{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:24px;background:#0f172a6b}.feature-notice-dialog{width:min(460px,100%);padding:22px;border:1px solid hsl(var(--border));border-radius:calc(var(--radius) + 4px);background:hsl(var(--card));box-shadow:var(--shadow)}.feature-notice-dialog strong{display:block;margin-bottom:8px;font-size:1.05rem}.feature-notice-dialog p{margin:0 0 18px;color:hsl(var(--muted-foreground))}.ai-chat-dock{position:fixed;right:24px;bottom:24px;z-index:40}.ai-chat-button{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border:1px solid hsl(var(--primary));border-radius:999px;color:#fff;background:hsl(var(--primary));box-shadow:var(--shadow);font-weight:800;cursor:pointer}.ai-chat-panel{width:min(380px,calc(100vw - 32px));overflow:hidden;border:1px solid hsl(var(--border));border-radius:calc(var(--radius) + 8px);background:hsl(var(--card));box-shadow:var(--shadow)}.ai-chat-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--muted))}.ai-chat-header strong,.ai-chat-header span{display:flex;align-items:center;gap:8px}.ai-chat-header span{margin-top:3px;color:hsl(var(--muted-foreground));font-size:.82rem;font-weight:700}.ai-chat-header button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:0;border-radius:999px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.ai-chat-header button:hover{background:#e8f1ee;color:hsl(var(--primary))}.ai-chat-body{display:grid;gap:14px;padding:16px}.ai-chat-body p{margin:0;color:hsl(var(--muted-foreground))}.ai-teaser-list,.ai-action-grid{display:grid;gap:8px}.ai-action{display:flex;align-items:center;gap:8px;width:100%;min-height:38px;padding:8px 10px;border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--foreground));background:hsl(var(--card));text-align:left}.ai-action.active,.ai-action:hover{border-color:hsl(var(--primary));background:#eef7f4;color:hsl(var(--primary))}.ai-preview-output{display:grid;gap:6px;padding:12px;border:1px solid hsl(var(--border));border-radius:var(--radius);background:#fbfbfa}.ai-upload-dropzone{display:grid;gap:8px;padding:14px;border:1px dashed hsl(var(--primary));border-radius:18px;background:#eef8f5}.ai-upload-dropzone span,.ai-upload-result span{color:hsl(var(--muted-foreground));font-size:.86rem}.ai-upload-dropzone input{font-size:.86rem}.ai-upload-result{display:grid;gap:6px;padding:12px;border:1px solid hsl(var(--border));border-radius:16px;background:hsl(var(--background))}.ai-report-result{display:grid;gap:6px}.ai-report-result span{display:block;color:hsl(var(--muted-foreground));font-size:.86rem}.ai-upload-actions{display:flex;flex-wrap:wrap;gap:8px}.ai-upload-actions button{border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));cursor:pointer;font-weight:800;padding:8px 10px}.ai-teaser-list span,.ai-chat-disabled-input{display:block;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--muted))}.ai-chat-disabled-input{color:hsl(var(--muted-foreground));font-size:.88rem}.readonly-input{display:block;color:hsl(var(--muted-foreground));background:hsl(var(--muted))}.split-actions{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px}.split-actions strong{display:inline-flex;align-items:center;gap:8px}.ledger-filters{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr auto;gap:14px;align-items:end}.ledger-filter-indicator{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 10px;color:hsl(var(--muted-foreground));font-weight:700}.ledger-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.summary-metric{display:grid;gap:6px;padding:16px}.summary-metric span{color:hsl(var(--muted-foreground));font-size:.78rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.summary-metric strong{color:hsl(var(--foreground));font-size:1.25rem}.ledger-register-layout{grid-template-columns:minmax(0,1fr);align-items:start}.ledger-drawer-backdrop{position:fixed;inset:0;z-index:40;display:flex;justify-content:flex-end;background:#0f172a47;animation:fade-in .16s ease-out}.ledger-entry-drawer{width:min(720px,100vw);height:100%;overflow-y:auto;border-left:1px solid hsl(var(--border));background:hsl(var(--background));box-shadow:-24px 0 48px #0f172a2e;animation:slide-in-right .18s ease-out}.ledger-drawer-header{position:sticky;top:0;z-index:1;display:flex;align-items:start;justify-content:space-between;gap:16px;padding:22px 24px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--background))}.ledger-drawer-header h2,.ledger-drawer-header p{margin:0}.ledger-drawer-header p{margin-top:4px;color:hsl(var(--muted-foreground))}.ledger-drawer-header button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer}.ledger-entry-detail-content{padding:20px 24px 28px}.ledger-register-table-wrap,.ledger-lines-table-wrap{overflow-x:auto}.ledger-register-table{min-width:980px}.ledger-register-table tbody tr{cursor:pointer}.ledger-register-table tbody tr:hover,.ledger-register-table tbody tr.selected{background:hsl(var(--muted))}.ledger-register-table tbody tr:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:-2px}.ledger-pagination{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:nowrap;padding:16px 18px 20px;border-top:1px solid hsl(var(--border));background:hsl(var(--background))}.ledger-pagination-controls{display:inline-flex;align-items:center;justify-content:center;gap:14px}.ledger-pagination>span,.ledger-page-status{color:hsl(var(--muted-foreground));font-size:.9rem;font-weight:700;min-width:92px;text-align:center}.ledger-pagination>button,.ledger-pagination .btn{min-height:36px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:var(--radius);border-color:hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground));font-weight:800;box-shadow:none;cursor:pointer}.ledger-pagination>button:disabled,.ledger-pagination .btn:disabled{border-color:hsl(var(--border));background:hsl(var(--muted));color:hsl(var(--muted-foreground));opacity:.55;cursor:not-allowed}.amount-cell{text-align:right;white-space:nowrap}.source-link{display:inline-grid;gap:3px;border:0;background:transparent;color:hsl(var(--primary));cursor:pointer;font:inherit;padding:0;text-align:left}.source-link span{color:hsl(var(--muted-foreground));font-size:.74rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.source-link strong{color:hsl(var(--primary));font-size:.9rem}.source-link:hover strong,.source-link:focus-visible strong{text-decoration:underline}.source-link:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:3px}@keyframes slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid hsl(var(--border))}.nav{grid-template-columns:repeat(2,minmax(0,1fr))}.content{width:100%;padding:24px 16px 44px}.topbar,.page-header,.invoice-toolbar,.settings-action-bar,.settings-active-link,.ledger-register-layout,.master-detail,.roster-layout{display:grid;grid-template-columns:1fr}.grid.two,.grid.three,.grid.four,.grid.five,.discount-policy-editor,.form-grid,.settings-grid,.settings-card-list,.platform-summary-grid,.platform-workspace,.platform-settings-users,.ledger-summary-grid,.ledger-filters,.key-grid{grid-template-columns:1fr}.settings-action-bar .btn,.settings-active-link .btn{width:fit-content}.invoice-detail-panel .key-grid,.invoice-list-button{grid-template-columns:1fr}.invoice-list-due{text-align:left}.guardian-card,.guardian-info-grid{grid-template-columns:1fr}.guardian-card .record-actions{justify-content:flex-start}.tuition-plan-summary-grid,.obligation-schedule-header,.obligation-schedule-row{grid-template-columns:1fr}}.assistant-panel{width:min(480px,calc(100vw - 32px));max-height:min(760px,calc(100vh - 48px));display:grid;grid-template-rows:auto auto auto minmax(0,1fr)}.assistant-header{background:linear-gradient(135deg,#eef8f5,#f8faf8)}.assistant-context-card{display:grid;gap:3px;margin:14px 14px 0;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:16px;background:hsl(var(--card))}.assistant-context-card span,.assistant-context-card small{color:hsl(var(--muted-foreground));font-size:.78rem;font-weight:700}.assistant-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:12px 14px 0}.assistant-tabs button{min-height:36px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));color:hsl(var(--muted-foreground));cursor:pointer;font-size:.78rem;font-weight:850}.assistant-tabs button.active,.assistant-tabs button:hover{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.assistant-body{overflow:auto;max-height:570px}.assistant-section{display:grid;gap:14px}.assistant-intro-card,.assistant-answer{display:grid;gap:6px;padding:13px 14px;border:1px solid hsl(var(--border));border-radius:16px;background:#fbfbfa}.assistant-intro-card p,.assistant-answer p{margin:0;font-size:.9rem}.assistant-ask-form{display:grid;gap:10px}.assistant-ask-form textarea{min-height:92px;resize:vertical;border:1px solid hsl(var(--border));border-radius:16px;padding:12px;font:inherit}.assistant-starter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.assistant-starter-grid button,.assistant-task{border:1px solid hsl(var(--border));border-radius:16px;background:hsl(var(--card));color:hsl(var(--foreground));cursor:pointer;text-align:left}.assistant-starter-grid button{min-height:42px;padding:9px 11px;font-weight:800}.assistant-task-list{display:grid;gap:9px}.assistant-task{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:12px}.assistant-task span{display:grid;gap:3px}.assistant-task small{color:hsl(var(--muted-foreground));line-height:1.35}.assistant-task.active,.assistant-task:hover,.assistant-starter-grid button:hover{border-color:hsl(var(--primary));background:#eef8f5}.assistant-output{border-radius:18px}.assistant-upload-dropzone{justify-items:start}.assistant-upload-card{border-color:hsl(var(--primary));background:#f7fbfa}.assistant-history-list{display:grid;gap:8px}.assistant-history-list>strong{font-size:.88rem}.assistant-history-item{display:grid;gap:3px;padding:11px 12px;border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--card))}.assistant-history-item span{font-weight:850}.assistant-history-item small,.assistant-history-item em{color:hsl(var(--muted-foreground));font-size:.8rem;font-style:normal}@media(max-width:640px){.ai-chat-dock{inset:auto 12px 12px}.assistant-panel{width:calc(100vw - 24px);max-height:calc(100vh - 24px)}.assistant-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}.color-input-row{display:grid;grid-template-columns:56px minmax(0,1fr);gap:10px;align-items:center}.color-input-row input[type=color]{width:56px;height:42px;padding:3px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background))}.invoice-logo-editor{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:16px;align-items:end}.invoice-logo-preview{min-height:92px;border:1px dashed hsl(var(--border));border-radius:16px;display:grid;place-items:center;padding:12px;background:#fbfbfa;color:hsl(var(--muted-foreground));text-align:center}.invoice-logo-preview img,.invoice-template-preview-card img{max-width:160px;max-height:64px;object-fit:contain}.html-template-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.8fr);gap:12px}.html-template-editor>label{grid-column:1 / -1}.html-template-textarea{min-height:150px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.45}.html-template-preview{display:grid;gap:8px;min-height:150px}.html-template-preview iframe{width:100%;min-height:126px;border:1px solid hsl(var(--border));border-radius:12px;background:#fff}.invoice-template-preview-card{display:grid;gap:8px;padding:16px;border:1px solid hsl(var(--border));border-top:6px solid hsl(var(--primary));border-radius:16px;background:#fbfbfa}.invoice-template-preview-card span{color:hsl(var(--muted-foreground));font-weight:700}.invoice-template-preview-card p{margin:0}.invoice-dispatch-preview-list{display:grid;gap:14px}.invoice-dispatch-preview{display:grid;gap:12px;padding:14px;border:1px solid hsl(var(--border));border-radius:16px;background:hsl(var(--background))}.invoice-email-text-preview{white-space:pre-wrap;margin:0;color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.85rem}.invoice-email-preview-frame{width:100%;min-height:520px;border:1px solid hsl(var(--border));border-radius:16px;background:#fff}@media(max-width:760px){.invoice-logo-editor,.html-template-editor{grid-template-columns:1fr}}.settings-subsection-header{display:grid;gap:16px}.settings-subsection-header .app-tabs{justify-content:flex-start;flex-wrap:wrap}.settings-subsection-header .app-tab{white-space:nowrap}.rich-text-field{display:grid;gap:10px}.rich-text-editor{border:1px solid hsl(var(--border));border-radius:16px;overflow:hidden;background:hsl(var(--background))}.rich-text-toolbar{display:flex;flex-wrap:wrap;gap:6px;padding:8px;border-bottom:1px solid hsl(var(--border));background:#f8fafc}.rich-text-toolbar button{min-height:32px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:10px;background:#fff;color:hsl(var(--foreground));font-size:.82rem;font-weight:700;cursor:pointer}.rich-text-toolbar button:hover{border-color:hsl(var(--primary));color:hsl(var(--primary))}.rich-text-surface{min-height:128px;padding:12px 14px;outline:none;line-height:1.55}.rich-text-surface:focus{box-shadow:inset 0 0 0 2px hsl(var(--ring))}.rich-text-surface p:first-child,.rich-text-surface ul:first-child,.rich-text-surface ol:first-child{margin-top:0}.rich-text-surface p:last-child,.rich-text-surface ul:last-child,.rich-text-surface ol:last-child{margin-bottom:0}.rich-text-preview{min-height:120px}.invoice-preview-details{border:1px solid hsl(var(--border));border-radius:14px;background:#fbfbfa;overflow:hidden}.invoice-preview-details summary{cursor:pointer;padding:12px 14px;font-weight:800;color:hsl(var(--foreground));list-style-position:inside}.invoice-preview-details summary:hover{background:#f8fafc}.invoice-preview-details .invoice-email-text-preview,.invoice-preview-details .invoice-email-preview-frame{border-radius:0;border-width:1px 0 0}.help-page{gap:18px}.help-topic-header{display:grid;gap:16px}.help-topic-header .app-tabs{justify-content:flex-start;flex-wrap:wrap}.help-topic-header .app-tab{white-space:nowrap}.help-topic-hero{display:flex;gap:16px;align-items:flex-start;background:linear-gradient(135deg,#f0fdfa,#fff 60%)}.help-topic-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;color:#0f766e;background:#ccfbf1;flex:0 0 auto}.help-topic-hero h2{margin:10px 0 6px;font-size:1.35rem}.help-topic-hero p{margin:0;color:hsl(var(--muted-foreground))}.help-section-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.help-section-card{display:grid;gap:12px}.help-section-card h3{margin:0;font-size:1.05rem}.help-section-card p{margin:0;color:hsl(var(--muted-foreground))}.help-steps,.help-tips ul{margin:0;padding-left:1.2rem;color:hsl(var(--foreground))}.help-steps li,.help-tips li{margin:.45rem 0}.help-tips{display:grid;gap:8px;padding:12px;border-radius:14px;background:#f8fafc;border:1px solid hsl(var(--border))}.help-footer-card{display:flex;justify-content:space-between;gap:14px;align-items:center}@media(max-width:760px){.help-topic-hero,.help-footer-card{display:grid}}.premium-service-card{display:grid;gap:10px;margin-top:14px;padding:12px;border:1px solid hsl(var(--border));border-radius:14px;background:#f8fafc}.premium-service-card>strong{display:inline-flex;gap:8px;align-items:center}.checkbox-field{display:flex;align-items:flex-start;gap:10px}.checkbox-field input[type=checkbox]{width:18px;height:18px;margin-top:2px}.checkbox-field span{display:grid;gap:2px}.checkbox-field small{color:hsl(var(--muted-foreground));line-height:1.35}.compact-checkbox{padding:8px;border-radius:12px;background:#fff}.batch-generator-toggle{display:flex;justify-content:space-between;gap:14px;align-items:center}.batch-generator-toggle p{margin:4px 0 0}@media(max-width:760px){.batch-generator-toggle{display:grid}}.app-shell.sidebar-collapsed{grid-template-columns:84px minmax(0,1fr)}.sidebar,.app-shell{transition:grid-template-columns .18s ease,width .18s ease}.sidebar .brand{position:relative}.sidebar-collapse-button{display:inline-grid;place-items:center;width:30px;height:30px;margin-left:auto;border:1px solid hsl(var(--border));border-radius:10px;color:hsl(var(--muted-foreground));background:hsl(var(--background));cursor:pointer}.sidebar-collapse-button:hover{color:hsl(var(--primary));background:#e8f1ee}.sidebar.collapsed{padding:24px 12px}.sidebar.collapsed .brand{display:grid;justify-items:center;gap:10px;margin-bottom:18px}.sidebar.collapsed .brand-label,.sidebar.collapsed .school-switcher,.sidebar.collapsed .nav button span{display:none}.sidebar.collapsed .sidebar-collapse-button{margin-left:0}.sidebar.collapsed .nav{justify-items:center}.sidebar.collapsed .nav button{justify-content:center;width:44px;height:44px;padding:0}.sidebar.collapsed .nav button svg{flex-shrink:0}@media(max-width:900px){.app-shell.sidebar-collapsed{grid-template-columns:1fr}.sidebar.collapsed{padding:18px 16px}.sidebar.collapsed .brand{display:flex;justify-content:space-between;margin-bottom:16px}.sidebar.collapsed .brand-label,.sidebar.collapsed .school-switcher,.sidebar.collapsed .nav button span{display:initial}.sidebar.collapsed .nav{grid-template-columns:repeat(2,minmax(0,1fr));justify-items:stretch}.sidebar.collapsed .nav button{justify-content:flex-start;width:100%;height:auto;padding:10px 11px}}.feedback-overlay{z-index:85}.feedback-card{position:relative;display:grid;gap:16px}.feedback-card-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.feedback-card-header button{display:grid;place-items:center;width:36px;height:36px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer}.feedback-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:16px;background:#eef8f5;color:hsl(var(--primary))}.feedback-contact-card{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid hsl(var(--border));border-radius:18px;background:#fbfbfa;color:hsl(var(--foreground));font-weight:700}.feedback-contact-card a{color:hsl(var(--primary));text-decoration:underline;text-underline-offset:3px}.feedback-actions{align-items:flex-end}.feedback-contact-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;border-radius:999px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));font-weight:900;padding:11px 18px;text-decoration:none}.feedback-contact-button:hover{filter:brightness(.96)}@media(max-width:640px){.feedback-actions{display:grid;align-items:stretch}}.feedback-contact-button:disabled{cursor:default;opacity:.72}.feedback-email-fallback{justify-self:start;color:hsl(var(--primary));font-weight:800;text-decoration:underline;text-underline-offset:3px}
