:root{color:oklch(22% .03 260);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--background:oklch(98.5% .005 240);--foreground:oklch(22% .03 260);--card:#fff;--muted:oklch(48% .03 260);--muted-2:oklch(62% .025 260);--primary:oklch(52% .19 265);--primary-soft:oklch(95.5% .03 265);--secondary:oklch(96.5% .01 250);--border:oklch(92% .01 250);--border-strong:oklch(85% .02 250);--success:oklch(62% .15 155);--success-soft:oklch(95.5% .045 155);--warning:oklch(78% .15 80);--warning-soft:oklch(97% .06 80);--destructive:oklch(57% .22 25);--destructive-soft:oklch(95.5% .045 25);--info:oklch(65% .13 230);--info-soft:oklch(95% .045 230);--teal:oklch(58% .13 180);--teal-soft:oklch(94% .04 180);--radius:12px;--shadow:0 1px 2px #1418280d, 0 12px 30px #1418280d;background:oklch(98.5% .005 240);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--background);min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.auth-shell{background:linear-gradient(180deg, #fffc, #fff0 420px), var(--background);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{border:1px solid var(--border);background:var(--card);width:min(100%,520px);box-shadow:var(--shadow);border-radius:16px;padding:24px}.auth-brand{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding-bottom:18px;display:flex}.auth-brand strong,.auth-brand span{display:block}.auth-brand span{color:var(--muted);margin-top:3px;font-size:13px}.auth-heading{margin:22px 0 16px}.auth-heading h1{margin:0;font-size:26px}.auth-heading p{color:var(--muted);margin:7px 0 0;font-size:14px;line-height:1.5}.auth-fields{gap:12px;display:grid}.auth-fields label span{color:var(--muted-2);text-transform:uppercase;margin-bottom:5px;font-size:11px;font-weight:700;display:block}.auth-fields input{border:1px solid var(--border);border-radius:9px;outline:none;width:100%;height:42px;padding:0 11px}.auth-submit{width:100%;margin-top:18px}.app-shell{background:linear-gradient(180deg, #ffffffb8, #fff0 420px), var(--background);min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:30;background:#ffffffeb;flex-direction:column;width:286px;height:100vh;display:flex;position:sticky;top:0}.brand{border-bottom:1px solid var(--border);align-items:center;gap:12px;height:72px;padding:0 18px;display:flex}.brand-mark,.preview-logo{color:#fff;background:linear-gradient(135deg, var(--primary), var(--teal));place-items:center;font-weight:800;display:grid}.brand-mark{border-radius:10px;width:42px;height:42px;box-shadow:0 10px 22px #4f46e52e}.brand strong{font-size:14px;display:block}.brand span{color:var(--muted);margin-top:2px;font-size:12px;display:block}.nav{flex:1;padding:14px;overflow-y:auto}.nav-section{margin-bottom:18px}.nav-section p{color:var(--muted-2);text-transform:uppercase;margin:0 0 7px;padding:0 10px;font-size:11px;font-weight:700}.nav-link{color:oklch(31% .03 260);text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;width:100%;min-height:38px;margin-bottom:3px;padding:9px 10px;font-size:14px;font-weight:560;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav-link:hover{background:var(--secondary)}.nav-link.active{color:var(--primary);background:var(--primary-soft)}.nav-link svg{flex:none}.sidebar-footer{border-top:1px solid var(--border);min-height:48px;color:var(--muted);justify-content:space-between;align-items:center;padding:0 18px;font-size:12px;display:flex}.main-shell{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{z-index:20;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffe6;align-items:center;gap:14px;min-height:72px;padding:12px 24px;display:flex;position:sticky;top:0}.menu-button{border:1px solid var(--border);width:40px;height:40px;color:var(--foreground);background:var(--card);border-radius:9px;display:none}.topbar-logout{border:1px solid var(--border);width:40px;height:40px;color:var(--muted-2);background:var(--card);border-radius:7px;flex:none;place-items:center;margin-left:auto;display:grid}.topbar-logout:hover{color:var(--destructive);border-color:color-mix(in srgb, var(--destructive) 35%, var(--border))}.tenant-switcher{grid-template-columns:minmax(210px,1fr) minmax(148px,.72fr);gap:10px;display:grid}.platform-switcher{grid-template-columns:minmax(220px,1fr) minmax(138px,.72fr)}.tenant-switcher label{display:block}.tenant-switcher span,.filter-control span,.form-field span{color:var(--muted-2);text-transform:uppercase;margin-bottom:5px;font-size:11px;font-weight:700;display:block}.tenant-switcher select,.filter-control select,.form-field input,.form-field select,.form-field textarea{border:1px solid var(--border);width:100%;height:40px;color:var(--foreground);background:var(--card);border-radius:9px;outline:none;padding:0 11px}.tenant-switcher select:focus,.filter-control select:focus,.form-field input:focus,.form-field select:focus,.form-field textarea:focus,.input-shell input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51f}.content{width:100%;max-width:1560px;margin:0 auto;padding:28px}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;display:flex}.page-header h1{color:var(--foreground);margin:0;font-size:25px;line-height:1.18}.page-header p{max-width:760px;color:var(--muted);margin:6px 0 0;font-size:14px}.page-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.button{border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 14px;font-size:14px;font-weight:650;transition:background .15s,border .15s,color .15s,transform .15s;display:inline-flex}.button:active{transform:translateY(1px)}.button-sm{min-height:34px;padding:0 11px;font-size:12px}.button-primary{color:#fff;background:var(--primary)}.button-primary:hover{background:oklch(47% .19 265)}.button-secondary{color:var(--foreground);background:var(--secondary)}.button-outline{color:var(--foreground);border-color:var(--border);background:var(--card)}.button-outline:hover,.button-secondary:hover,.button-ghost:hover{background:var(--secondary)}.button-ghost{color:var(--foreground);background:0 0}.button-destructive{color:#fff;background:var(--destructive)}.button:disabled{opacity:.45}.surface{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow)}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px;display:grid}.stat-card{justify-content:space-between;align-items:flex-start;gap:14px;min-height:126px;padding:18px;display:flex}.stat-card p{color:var(--muted);margin:0;font-size:13px}.stat-card strong{margin-top:10px;font-size:28px;line-height:1;display:block}.stat-card span{color:var(--muted);margin-top:8px;font-size:12px;display:block}.stat-icon{width:42px;height:42px;color:var(--primary);background:var(--primary-soft);border-radius:10px;place-items:center;display:grid}.stat-icon-success{color:var(--success);background:var(--success-soft)}.stat-icon-warning{color:oklch(50% .14 80);background:var(--warning-soft)}.stat-icon-info{color:var(--info);background:var(--info-soft)}.badge{white-space:nowrap;border-radius:999px;align-items:center;min-height:23px;padding:3px 8px;font-size:12px;font-weight:700;display:inline-flex}.badge-default{color:var(--primary);background:var(--primary-soft)}.badge-success{color:oklch(40% .14 155);background:var(--success-soft)}.badge-warning{color:oklch(45% .14 80);background:var(--warning-soft)}.badge-destructive{color:oklch(50% .2 25);background:var(--destructive-soft)}.badge-info{color:oklch(43% .14 230);background:var(--info-soft)}.badge-muted{color:oklch(44% .025 260);background:var(--secondary)}.mode-context-banner{border:1px solid var(--border);color:var(--primary);background:linear-gradient(90deg, var(--primary-soft), #ffffffd6);border-radius:12px;align-items:center;gap:12px;margin:-6px 0 16px;padding:12px 14px;display:flex}.mode-context-banner svg{flex:none}.mode-context-banner strong,.mode-context-banner span{display:block}.mode-context-banner strong{color:var(--foreground);font-size:13px}.mode-context-banner span{color:var(--muted);margin-top:2px;font-size:13px}.filter-panel{grid-template-columns:minmax(260px,.9fr) minmax(0,2fr) auto;align-items:end;gap:12px;margin-bottom:14px;padding:14px;display:grid}.filter-grid{grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px;display:grid}.filter-panel--students{grid-template-columns:minmax(180px,210px) minmax(0,1fr) auto}.filter-panel--students .filter-grid{grid-template-columns:repeat(6,minmax(105px,1fr))}.input-shell{position:relative}.input-shell input{border:1px solid var(--border);width:100%;height:40px;color:var(--foreground);background:var(--card);border-radius:9px;outline:none;padding:0 11px}.input-shell-icon input{padding-left:36px}.input-icon{color:var(--muted);place-items:center;display:grid;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.table-surface{overflow:hidden}.table-scroll{width:100%;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:940px;font-size:14px}.data-table th{border-bottom:1px solid var(--border);height:44px;color:var(--muted-2);text-align:left;text-transform:uppercase;white-space:nowrap;background:oklch(98.2% .006 250);padding:0 14px;font-size:11px;font-weight:800}.data-table td{color:oklch(27% .03 260);vertical-align:middle;white-space:nowrap;border-bottom:1px solid #e2e8f0bf;min-height:52px;padding:13px 14px}.data-table tbody tr:hover{background:oklch(98.2% .006 250)}.data-table tbody tr:last-child td{border-bottom:0}.cell-primary{color:var(--foreground);font-weight:700}.align-right{text-align:right}.row-actions{justify-content:flex-end;align-items:center;gap:2px;display:inline-flex}.row-actions button{width:32px;height:32px;color:var(--muted);background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.row-actions button:hover{color:var(--foreground);background:var(--secondary)}.row-actions .danger-action:hover{color:var(--destructive);background:var(--destructive-soft)}.empty-cell{text-align:center;height:132px;color:var(--muted)}.table-footer{min-height:50px;color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:0 14px;font-size:13px;display:flex}.pagination{align-items:center;gap:4px;display:flex}.pagination button{min-width:32px;height:32px;color:var(--foreground);background:0 0;border:0;border-radius:8px}.pagination button:hover{background:var(--secondary)}.pagination .active{color:#fff;background:var(--primary)}.dashboard-grid,.branding-layout,.telegram-layout{grid-template-columns:minmax(0,1.6fr) minmax(340px,.8fr);gap:16px;margin-bottom:24px;display:grid}.chart-panel,.work-panel,.form-panel,.report-builder,.settings-panel,.brand-preview{padding:18px}.panel-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.panel-heading h2,.section-title h2,.report-card h3{color:var(--foreground);margin:0;font-size:16px}.panel-heading p,.section-title p,.report-card p{color:var(--muted);margin:5px 0 0;font-size:13px;line-height:1.45}.bar-chart{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:12px;height:250px;padding-top:18px;display:grid}.dashboard-snapshot-table .data-table{table-layout:fixed;min-width:0}.dashboard-snapshot-table .data-table th,.dashboard-snapshot-table .data-table td{overflow-wrap:anywhere;white-space:normal}.dashboard-snapshot-table .data-table th:first-child{width:38%}.dashboard-snapshot-table .data-table th:nth-child(2){width:14%}.bar-item{flex-direction:column;justify-content:flex-end;gap:8px;height:100%;display:flex}.bar{background:linear-gradient(180deg, var(--primary), var(--teal));border-radius:8px 8px 3px 3px;min-height:24px}.bar-item span{color:var(--muted);text-align:center;font-size:12px}.work-list{gap:9px;display:grid}.scope-list{gap:12px;display:grid}.scope-list div{border:1px solid var(--border);background:var(--secondary);border-radius:10px;min-height:76px;padding:14px}.scope-list strong,.scope-list span{display:block}.scope-list strong{color:var(--foreground);font-size:14px}.scope-list span{color:var(--muted);margin-top:6px;font-size:13px;line-height:1.45}.work-list button{border:1px solid var(--border);min-height:48px;color:var(--foreground);background:var(--card);text-align:left;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:0 12px;display:flex}.work-list button:hover{background:var(--secondary)}.section-title{justify-content:space-between;align-items:flex-end;gap:14px;margin:22px 0 12px;display:flex}.form-layout,.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.form-field{display:block}.form-field input[type=color]{padding:3px}.form-field textarea{resize:vertical;min-height:78px;padding-top:10px}.drawer-overlay{z-index:80;background:#0f172a57;justify-content:flex-end;display:flex;position:fixed;inset:0}.side-drawer{border-left:1px solid var(--border);background:var(--background);flex-direction:column;width:min(980px,100vw - 48px);height:100dvh;display:flex;box-shadow:-24px 0 60px #0f172a33}.drawer-header{z-index:2;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff0;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px;display:flex;position:sticky;top:0}.drawer-header h2{margin:0;font-size:20px}.drawer-header p{color:var(--muted);margin:5px 0 0;font-size:13px}.drawer-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.drawer-close{border:1px solid var(--border);width:40px;height:40px;color:var(--foreground);background:var(--card);border-radius:9px;place-items:center;display:grid}.drawer-close:hover{background:var(--secondary)}.drawer-body{flex:1;gap:14px;min-width:0;padding:18px;display:grid;overflow:hidden auto}.drawer-body>*{min-width:0}.drawer-section,.pdf-flow-panel{padding:18px}.skeleton-line{background:linear-gradient(90deg, var(--secondary), oklch(94% .015 250), var(--secondary));background-size:200% 100%;border-radius:999px;width:100%;height:12px;animation:1.2s ease-in-out infinite skeleton-pulse;display:block}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.student-profile-head{align-items:center;gap:12px;margin-bottom:16px;display:flex}.student-avatar{color:#fff;background:linear-gradient(135deg, var(--primary), var(--teal));border-radius:12px;place-items:center;width:48px;height:48px;font-weight:800;display:grid}.student-profile-head h2{margin:0;font-size:18px}.student-profile-head p{color:var(--muted);margin:4px 0 0;font-size:13px}.student-profile-head .badge{margin-left:auto}.tabs{border-bottom:1px solid var(--border);gap:6px;padding-bottom:8px;display:flex;overflow-x:auto}.tabs button{min-height:34px;color:var(--muted);text-transform:capitalize;white-space:nowrap;background:0 0;border:0;border-radius:8px;padding:0 11px;font-size:13px;font-weight:700}.tabs button.active{color:var(--primary);background:var(--primary-soft)}.tab-panel{padding-top:14px}.detail-grid{grid-template-columns:minmax(120px,.35fr) 1fr;gap:10px 14px;display:grid}.detail-grid span{color:var(--muted);font-size:13px}.detail-grid strong{font-size:14px}.module-placeholder{border:1px dashed var(--border-strong);min-height:148px;color:var(--muted);text-align:center;border-radius:10px;place-items:center;gap:6px;padding:18px;display:grid}.module-placeholder strong,.module-placeholder span{display:block}.module-placeholder strong{color:var(--foreground)}.module-placeholder span{max-width:420px;font-size:13px;line-height:1.45}.pdf-flow-panel{justify-content:space-between;align-items:center;gap:14px;display:flex}.pdf-flow-panel h2{margin:0;font-size:16px}.pdf-flow-panel p{color:var(--muted);margin:5px 0 0;font-size:13px;line-height:1.45}.pdf-status{flex:none;align-items:center;gap:8px;display:flex}.modal-overlay{z-index:100;background:#0f172a61;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.confirm-dialog{border:1px solid var(--border);background:var(--card);border-radius:14px;width:min(100%,430px);padding:22px;box-shadow:0 24px 70px #0f172a38}.confirm-icon{width:44px;height:44px;color:var(--destructive);background:var(--destructive-soft);border-radius:999px;place-items:center;display:grid}.confirm-dialog h2{margin:16px 0 6px;font-size:18px}.confirm-dialog p{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.confirm-dialog-fields{margin-top:16px}.confirm-dialog-fields textarea{resize:vertical;min-height:92px}.confirm-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.admission-form-section{padding:18px}.admission-form-section .panel-heading{margin-bottom:14px}.admission-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.view-mode input[readonly],.view-mode textarea[readonly],.view-mode select:disabled{opacity:1;color:var(--foreground);background:#fff}.admission-upload-field>span{color:var(--muted-2);text-transform:uppercase;margin-bottom:5px;font-size:11px;font-weight:700;display:block}.upload-box{border:1px dashed var(--border-strong);min-height:118px;color:var(--muted);background:var(--secondary);text-align:center;border-radius:10px;place-items:center;gap:5px;padding:16px;display:grid}.upload-box svg{color:var(--primary)}.upload-box strong,.upload-box small{display:block}.upload-box strong{color:var(--foreground);font-size:13px}.upload-box small{color:var(--muted);font-size:12px}.upload-box input{display:none}.upload-box-readonly{background:#fff;border-style:solid}.declaration-block{background:#fff;border:1.5px solid oklch(72% .18 55);border-radius:12px;position:relative;overflow:hidden}.declaration-title{color:#fff;text-transform:uppercase;clip-path:polygon(0 0,calc(100% - 20px) 0,100% 100%,0 100%);background:oklch(72% .18 55);align-items:center;gap:9px;width:max-content;min-width:210px;height:38px;padding:0 18px;font-weight:800;display:inline-flex}.declaration-content{grid-template-columns:1fr 1fr;gap:28px;padding:18px 20px 12px;display:grid}.declaration-content p{color:var(--foreground);margin:0;font-size:15px;line-height:1.65}.declaration-content p+p{border-left:1px solid var(--border);padding-left:24px}.declaration-name{border-bottom:1px solid var(--foreground);min-width:210px;display:inline-block}.signature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding:18px 28px 22px;display:grid}.signature-grid div{align-items:end;gap:7px;display:grid}.signature-grid span{background:var(--foreground);height:1px}.signature-grid strong{color:var(--foreground);text-align:center;font-size:12px;font-weight:650}.report-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0 22px;display:grid}.report-card{flex-direction:column;align-items:flex-start;gap:10px;min-height:178px;padding:18px;display:flex}.report-card svg{color:var(--primary)}.report-card .button{margin-top:auto}.brand-preview{background:linear-gradient(135deg, #4f46e512, transparent), var(--card);place-items:center;display:grid}.receipt-preview{border:1px solid var(--border);background:var(--card);border-radius:12px;width:min(100%,360px);padding:18px;box-shadow:0 12px 28px #14182814}.receipt-head{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding-bottom:16px;display:flex}.preview-logo{border-radius:12px;width:48px;height:48px}.receipt-head h2{margin:0;font-size:17px}.receipt-head p,.receipt-note{color:var(--muted);margin:4px 0 0;font-size:12px}.receipt-lines{gap:10px;padding:18px 0;display:grid}.receipt-lines span{background:var(--secondary);border-radius:999px;height:10px}.receipt-lines span:nth-child(2){width:72%}.receipt-lines span:nth-child(3){width:54%}.receipt-total{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding-top:14px;display:flex}.receipt-total span{color:var(--muted);font-size:13px}.setting-list{gap:10px;display:grid}.setup-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}.setup-steps div{border:1px solid var(--border);background:var(--secondary);border-radius:10px;align-items:flex-start;gap:10px;min-height:72px;padding:12px;display:flex}.setup-steps strong{color:#fff;background:var(--primary);border-radius:999px;flex:none;place-items:center;width:24px;height:24px;font-size:12px;display:grid}.setup-steps span{color:var(--foreground);font-size:13px;line-height:1.4}.telegram-form-grid{margin-top:4px}.telegram-status-panel{align-self:start;padding:18px}.connection-card{border:1px solid var(--border);background:var(--warning-soft);border-radius:10px;gap:10px;padding:14px;display:grid}.connection-card .badge{justify-self:start}.connection-card strong,.connection-card span{display:block}.connection-card strong{color:var(--foreground);font-size:14px}.connection-card span{color:var(--muted);font-size:13px;line-height:1.45}.telegram-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.telegram-reminder-list{grid-template-columns:repeat(2,minmax(0,1fr))}.setting-list label{border:1px solid var(--border);min-height:44px;color:var(--foreground);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:0 12px;font-size:14px;display:flex}.setting-list input{width:18px;height:18px;accent-color:var(--primary)}.not-found{max-width:520px;padding:24px}.not-found h1{margin:0 0 8px}.not-found p{color:var(--muted)}@media (width<=1280px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-panel{grid-template-columns:1fr}.filter-grid{grid-template-columns:repeat(3,minmax(130px,1fr))}.filter-panel.filter-panel--students{grid-template-columns:minmax(170px,200px) minmax(0,1fr) auto}.filter-panel--students .filter-grid{grid-template-columns:repeat(6,minmax(94px,1fr))}}@media (width<=1024px){.sidebar{transition:transform .18s;position:fixed;left:0;transform:translate(-100%)}.sidebar-open{transform:translate(0)}.mobile-overlay{z-index:25;background:#0f172a52;border:0;position:fixed;inset:0}.menu-button{place-items:center;display:grid}.content{padding:20px}.topbar{padding:10px 16px}.tenant-switcher{flex:1;grid-template-columns:1fr .8fr}.dashboard-grid,.branding-layout,.telegram-layout,.form-layout,.settings-grid{grid-template-columns:1fr}.report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.filter-panel.filter-panel--students,.filter-panel--students .filter-grid{grid-template-columns:1fr}}@media (width<=720px){button[aria-label="Open Tanstack query devtools"]{display:none!important}.topbar{flex-wrap:wrap;align-items:stretch}.tenant-switcher{order:3;grid-template-columns:1fr;width:100%}.page-header,.section-title{flex-direction:column;align-items:stretch}.page-actions{justify-content:flex-start}.stats-grid,.form-grid,.form-grid.compact,.report-grid,.setup-steps,.admission-form-grid,.telegram-reminder-list,.filter-grid,.filter-panel.filter-panel--students,.filter-panel--students .filter-grid{grid-template-columns:1fr}.table-footer{flex-direction:column;align-items:flex-start;padding:12px 14px}.content{padding:16px}.side-drawer{width:100vw}.drawer-header{flex-direction:column}.drawer-actions{justify-content:flex-start}.student-profile-head,.pdf-flow-panel,.pdf-status,.confirm-actions{flex-direction:column;align-items:stretch}.student-profile-head .badge{justify-self:start;margin-left:0}.portal-copy-row,.portal-credential-grid{grid-template-columns:1fr}.portal-credential-grid .form-field:first-child{grid-column:auto}.portal-access-actions>.button,.portal-copy-row>.button{width:100%}.declaration-content,.signature-grid{grid-template-columns:1fr}.declaration-content p+p{border-left:0;border-top:1px solid var(--border);padding-top:14px;padding-left:0}}:root{--background:#f6f8fb;--foreground:#172033;--card:#fff;--muted:#5e687a;--muted-2:#667085;--primary:#3156a6;--primary-soft:#edf2fc;--secondary:#f1f4f8;--border:#e1e6ee;--border-strong:#cbd3df;--radius:8px;--shadow:0 1px 2px #17203308, 0 8px 24px #26334d09}body,.app-shell,.auth-shell{background:var(--background)}.surface{box-shadow:var(--shadow)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #3156a633}.button,.nav-link,.row-actions button,.tabs button,.settings-nav button{transition:background-color .16s,border-color .16s,color .16s,transform .16s}.drawer-eyebrow{color:var(--primary);text-transform:uppercase;margin-bottom:5px;font-size:11px;font-weight:750;display:block}.institute-record-drawer{width:min(940px,100vw - 48px)}.narrow-drawer{width:min(720px,100vw - 48px)}.drawer-section-stack{grid-template-columns:minmax(0,1fr);gap:14px;min-width:0;display:grid}.drawer-section-stack>*{min-width:0}.form-section .panel-heading{border-bottom:1px solid var(--border);padding-bottom:14px}.control-stack{gap:5px;display:grid}:is(.form-field:has(.field-full),.field-full){grid-column:1/-1}.field-invalid,.form-field .field-invalid{border-color:var(--destructive);background:var(--destructive-soft)}.field-error,.field-help{text-transform:none;margin:0;font-size:12px;font-weight:500;display:block}.field-error{color:var(--destructive)}.field-help{color:var(--muted)}.checkbox-field{border:1px solid var(--border);background:var(--secondary);border-radius:7px;align-items:center;gap:11px;min-height:48px;padding:10px 12px;display:flex}.checkbox-field input{width:18px;height:18px;accent-color:var(--primary)}.checkbox-field strong,.checkbox-field small{display:block}.checkbox-group-field{border:1px solid var(--border);background:var(--card);border-radius:7px;min-width:0;margin:0;padding:12px}.checkbox-group-field legend{color:var(--foreground);padding:0 4px;font-size:13px;font-weight:700}.checkbox-group-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.checkbox-group-options label{border:1px solid var(--border);background:var(--secondary);cursor:pointer;border-radius:6px;align-items:center;gap:8px;min-height:40px;padding:8px 10px;font-size:13px;font-weight:600;display:flex}.checkbox-group-options label:has(input:checked){border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.checkbox-group-options input{width:17px;height:17px;accent-color:var(--primary);margin:0}@media (width<=720px){.checkbox-group-options{grid-template-columns:repeat(2,minmax(0,1fr))}}.checkbox-field strong{font-size:13px}.checkbox-field small{color:var(--muted);margin-top:2px;font-size:12px}.file-drop{border:1px dashed var(--border-strong);min-height:118px;color:var(--muted);text-align:center;cursor:pointer;background:#fafbfc;border-radius:8px;place-items:center;gap:5px;padding:18px;display:grid}.file-drop:hover{border-color:var(--primary);background:var(--primary-soft)}.file-drop svg{color:var(--primary)}.file-drop strong,.file-drop small{display:block}.file-drop strong{color:var(--foreground);font-size:13px}.file-drop small{font-size:12px}.file-drop input{display:none}.qr-display{text-align:center;justify-items:center;gap:18px;padding:28px;display:grid}.qr-display h2,.qr-display p{margin:0}.qr-display p{color:var(--muted);margin-top:6px}.qr-display .attendance-qr-code{border:1px solid var(--border);background:#fff;max-width:min(100%,280px);height:auto;padding:12px}.qr-display-modal{width:min(440px,100vw - 32px)}.job-state-legend{color:var(--muted);flex-wrap:wrap;gap:18px;margin-top:16px;padding:14px 16px;font-size:12px;display:flex}.job-state-legend span{align-items:center;gap:7px;display:inline-flex}.template-token-help{box-shadow:none;align-items:flex-start;gap:10px;padding:14px;display:flex}.template-token-help p{color:var(--muted);margin:0;font-size:12px}.file-drop.large{min-height:170px}.drawer-footer{border-top:1px solid var(--border);background:var(--card);justify-content:flex-end;gap:8px;padding:14px 18px;display:flex}.record-summary{align-items:center;gap:12px;padding:15px 16px;display:flex}.record-summary-icon{width:40px;height:40px;color:var(--primary);background:var(--primary-soft);border-radius:8px;place-items:center;display:grid}.record-summary>div:nth-child(2){flex:1;min-width:0}.record-summary span,.record-summary strong{display:block}.record-summary span{color:var(--muted);font-size:12px}.record-summary strong{overflow-wrap:anywhere;margin-top:3px;font-size:16px}.record-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;margin:0;display:grid}.record-detail-grid div{min-width:0}.record-detail-grid .detail-full{grid-column:1/-1}.record-detail-grid dt,.record-detail-grid dd{margin:0}.record-detail-grid dt{color:var(--muted);font-size:12px}.record-detail-grid dd{color:var(--foreground);overflow-wrap:anywhere;margin-top:5px;font-size:14px;font-weight:600}.compact-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.compact-stats .surface{min-height:96px;padding:14px 15px}.compact-stats span,.compact-stats strong,.compact-stats small{display:block}.compact-stats span{color:var(--muted);font-size:12px}.compact-stats strong{font-variant-numeric:tabular-nums;margin-top:8px;font-size:21px}.compact-stats small{color:var(--muted);margin-top:5px;font-size:11px}.student-profile-card{padding:18px}.profile-metrics,.ledger-summary{border:1px solid var(--border);background:var(--border);border-radius:7px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.profile-metrics div,.ledger-summary div{background:var(--secondary);padding:12px}.profile-metrics span,.profile-metrics strong,.ledger-summary span,.ledger-summary strong{display:block}.profile-metrics span,.ledger-summary span{color:var(--muted);font-size:11px}.profile-metrics strong,.ledger-summary strong{font-variant-numeric:tabular-nums;margin-top:5px;font-size:15px}.profile-tabs{z-index:1;background:var(--background);padding:10px 0;position:sticky;top:-18px}.linked-record-list,.document-list,.compact-people-list{gap:8px;display:grid}.portal-access-panel{gap:18px;display:grid}.portal-access-heading{margin-bottom:0}.portal-guidance,.portal-setup-link{border:1px solid var(--border);background:var(--secondary);border-radius:8px;align-items:flex-start;gap:12px;padding:13px 14px;display:flex}.portal-guidance>svg{color:var(--primary);flex:none;margin-top:1px}.portal-guidance strong,.portal-guidance span,.portal-setup-link strong,.portal-setup-link span{display:block}.portal-guidance span,.portal-setup-link span{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.5}.portal-invite-form,.portal-account-details,.portal-revoke-form{gap:14px;display:grid}.portal-access-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.portal-danger-action{border-top:1px solid var(--border);padding-top:14px}.portal-setup-link{border-color:color-mix(in srgb, var(--primary) 24%, var(--border));background:color-mix(in srgb, var(--primary) 6%, var(--card));display:grid}.portal-copy-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.portal-credential-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.portal-credential-grid .form-field:first-child{grid-column:1/-1}.portal-credential-grid input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.portal-copy-row input{width:100%;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.portal-access-error{color:var(--destructive);justify-content:space-between;align-items:center;gap:12px;display:flex}.portal-access-error p{margin:0}.linked-record-list article,.document-list article,.compact-people-list>div{border:1px solid var(--border);border-radius:7px;align-items:center;gap:11px;min-height:56px;padding:10px 12px;display:flex}.linked-record-list article>div,.document-list article>div{flex:1}.linked-record-list strong,.linked-record-list span,.document-list strong,.document-list span,.compact-people-list strong,.compact-people-list small{display:block}.linked-record-list span,.document-list span,.compact-people-list small{color:var(--muted);margin-top:3px;font-size:12px}.document-list>article>button{border:1px solid var(--border);width:34px;height:34px;color:var(--foreground);background:#fff;border-radius:7px;place-items:center;display:grid}.compact-people-list>div>span,.roster-avatar{width:34px;height:34px;color:var(--primary);background:var(--primary-soft);border-radius:7px;flex:none;place-items:center;font-size:11px;font-weight:800;display:grid}.compact-people-list small{margin-top:0;margin-left:auto}.activity-timeline{gap:0;margin:14px 0 0;padding:0;list-style:none;display:grid}.activity-timeline li{grid-template-columns:16px 1fr;gap:10px;min-height:42px;display:grid;position:relative}.activity-timeline li:before{content:"";background:var(--border-strong);width:1px;position:absolute;top:13px;bottom:0;left:5px}.activity-timeline li:last-child:before{display:none}.activity-timeline li>span{border:3px solid var(--primary-soft);background:var(--primary);border-radius:50%;width:11px;height:11px;margin-top:3px}.activity-timeline p{color:var(--foreground);margin:0;font-size:13px}.installment-preview{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.installment-preview div{border:1px solid var(--border);border-radius:7px;grid-template-columns:28px 1fr;gap:2px 9px;padding:11px;display:grid}.installment-preview span{width:28px;height:28px;color:var(--primary);background:var(--primary-soft);border-radius:6px;grid-row:1/3;place-items:center;font-size:12px;font-weight:800;display:grid}.installment-preview strong,.installment-preview b{font-size:12px}.installment-preview b{color:var(--muted);font-weight:500}.receipt-document{overflow:hidden}.receipt-document-head{border-bottom:1px solid var(--border);align-items:center;gap:11px;padding-bottom:14px;display:flex}.receipt-document-head>div:nth-child(2){flex:1}.receipt-document-head strong,.receipt-document-head span{display:block}.receipt-document-head span{color:var(--muted);margin-top:3px;font-size:12px}.receipt-document-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:16px 0;display:grid}.receipt-document-grid dt,.receipt-document-grid dd{margin:0}.receipt-document-grid dt{color:var(--muted);font-size:11px}.receipt-document-grid dd{margin-top:4px;font-size:13px;font-weight:650}.receipt-amount{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding-top:14px;display:flex}.receipt-amount span{color:var(--muted);font-size:13px}.receipt-amount strong{font-variant-numeric:tabular-nums;font-size:22px}.attendance-calendar{grid-template-columns:repeat(10,minmax(32px,1fr));gap:6px;display:grid}.attendance-calendar>span{aspect-ratio:1;border-radius:6px;place-items:center;font-size:12px;font-weight:700;display:grid}.attendance-calendar .present,.calendar-legend i.present{color:#216e4e;background:#dcf3e8}.attendance-calendar .absent,.calendar-legend i.absent{color:#a73535;background:#fce4e4}.attendance-calendar .leave,.calendar-legend i.leave{color:#8b6415;background:#fff0c7}.calendar-legend{color:var(--muted);gap:18px;margin-top:12px;font-size:12px;display:flex}.calendar-legend span{align-items:center;gap:6px;display:flex}.calendar-legend i{border-radius:3px;width:10px;height:10px}.attendance-selector{gap:14px;display:grid}.attendance-selector>.button{justify-self:end}.attendance-empty{min-height:270px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:7px;display:grid}.attendance-empty svg{color:var(--primary)}.attendance-empty strong{color:var(--foreground)}.attendance-empty span{font-size:13px}.attendance-roster{display:grid}.attendance-roster>div{border-bottom:1px solid var(--border);grid-template-columns:36px minmax(170px,1fr) auto;align-items:center;gap:10px;min-height:62px;display:grid}.attendance-roster>div:last-child{border-bottom:0}.attendance-roster strong,.attendance-roster small{display:block}.attendance-roster small{color:var(--muted);margin-top:3px;font-size:11px}.attendance-options{grid-template-columns:repeat(3,82px);gap:5px;display:grid}.attendance-options button{border:1px solid var(--border);min-height:32px;color:var(--muted);background:#fff;border-radius:6px;font-size:12px;font-weight:650}.attendance-options button.present.active{color:#216e4e;background:#e5f6ed;border-color:#8bc9ad}.attendance-options button.absent.active{color:#a73535;background:#fdeaea;border-color:#e8a5a5}.attendance-options button.leave.active{color:#8b6415;background:#fff4d6;border-color:#e6c36d}.mapping-list{gap:8px;display:grid}.mapping-list>div{grid-template-columns:1fr 18px 1fr;align-items:center;gap:10px;display:grid}.mapping-list span{border:1px solid var(--border);min-height:38px;color:var(--muted);background:var(--secondary);border-radius:7px;align-items:center;padding:0 10px;font-size:13px;display:flex}.mapping-list select{border:1px solid var(--border);background:#fff;border-radius:7px;width:100%;height:38px;padding:0 10px}.section-disabled{opacity:.55}.import-check{color:#216e4e;background:#f2fbf6;align-items:center;gap:10px;padding:14px;display:flex}.import-check strong,.import-check span{display:block}.import-check span{color:var(--muted);margin-top:3px;font-size:12px}.future-feature-panel{grid-template-columns:58px minmax(0,620px);place-content:center;gap:18px;min-height:360px;padding:48px;display:grid}.future-feature-icon{width:52px;height:52px;color:var(--primary);background:var(--primary-soft);border-radius:8px;place-items:center;display:grid}.future-feature-panel h2{margin:12px 0 8px}.future-feature-panel p{color:var(--muted);margin:0;line-height:1.55}.future-checklist{flex-wrap:wrap;grid-column:2;gap:8px 16px;display:flex}.future-checklist span{color:var(--muted);align-items:center;gap:5px;font-size:12px;display:flex}.module-refresh-error{background:#fff8eb;border-color:#efc583;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.module-refresh-error>div{gap:3px;display:grid}.module-refresh-error span{color:var(--muted);font-size:12px}.toast{z-index:140;border:1px solid var(--border);width:min(390px,100vw - 32px);min-height:52px;color:var(--foreground);background:#fff;border-radius:8px;grid-template-columns:20px 1fr 30px;align-items:center;gap:10px;padding:9px 10px 9px 14px;animation:.18s ease-out toast-in;display:grid;position:fixed;bottom:22px;right:22px;box-shadow:0 18px 50px #1720332e}.toast-success>svg{color:#29825e}.toast-error>svg{color:var(--destructive)}.toast-info>svg{color:var(--primary)}.toast span{font-size:13px;font-weight:600}.toast button{width:30px;height:30px;color:var(--muted);background:0 0;border:0;border-radius:6px;place-items:center;display:grid}.toast button:hover{background:var(--secondary)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.dashboard-filters{grid-template-columns:repeat(3,minmax(160px,1fr)) auto;align-items:end;gap:10px;margin-bottom:14px;padding:14px;display:grid}.brand-mark,.student-avatar,.preview-logo{background:var(--primary)}@media (width<=720px){.dashboard-filters{grid-template-columns:1fr}.institute-record-drawer,.narrow-drawer{width:100vw}.record-detail-grid,.receipt-document-grid,.report-filter-grid,.color-field-grid,.signature-upload-grid{grid-template-columns:1fr}}.drawer-body>.drawer-section-stack{grid-auto-rows:max-content;align-content:start;align-self:start;width:100%}.student-profile-card{align-self:start}.profile-tabs{align-self:start;align-items:center;min-height:50px;padding:8px 0;top:0}.profile-tabs button{flex:none;height:34px;min-height:34px}.settings-shell{grid-template-columns:224px minmax(0,1fr);align-items:start;gap:14px;display:grid}.settings-nav{padding:6px;position:sticky;top:94px;overflow:hidden}.settings-nav button{width:100%;min-height:42px;color:var(--muted);text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:9px;padding:0 10px;font-size:13px;font-weight:600;display:flex}.settings-nav button:hover{color:var(--foreground);background:var(--secondary)}.settings-nav button.active{color:var(--primary);background:var(--primary-soft)}.settings-content{gap:14px;display:grid}.settings-section{padding:20px}.session-current,.status-row,.backup-status,.danger-zone-row{justify-content:space-between;align-items:center;gap:14px;display:flex}.session-current>div,.status-row>div{grid-template-columns:auto 1fr;align-items:center;gap:4px 10px;display:grid}.session-current strong,.status-row strong{font-size:15px}.session-current span:last-child,.status-row span:last-child{color:var(--muted);grid-column:2;font-size:12px}.numbering-list{gap:8px;display:grid}.numbering-list>div{border-bottom:1px solid var(--border);grid-template-columns:minmax(180px,1fr) minmax(220px,1fr);align-items:center;gap:10px;min-height:66px;display:grid}.numbering-list>div:last-child{border-bottom:0}.numbering-list strong,.numbering-list span{display:block}.numbering-list span{color:var(--muted);margin-top:3px;font-size:12px}.numbering-input input{border:1px solid var(--border);border-radius:7px;width:100%;height:38px;padding:0 10px}.numbering-input .field-error{margin:5px 0 0}.inline-note,.telegram-security-note{color:#284b8f;background:#f3f6fd;border:1px solid #cddaf3;border-radius:7px;align-items:flex-start;gap:9px;margin-top:16px;padding:11px 12px;font-size:12px;line-height:1.45;display:flex}.policy-list,.reminder-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.setting-toggle{border:1px solid var(--border);cursor:pointer;border-radius:7px;grid-template-columns:1fr 40px;align-items:center;gap:14px;min-height:74px;padding:11px 12px;display:grid;position:relative}.setting-toggle strong,.setting-toggle small{display:block}.setting-toggle strong{font-size:13px}.setting-toggle small{color:var(--muted);margin-top:4px;font-size:11px;line-height:1.4}.setting-toggle input{opacity:0;position:absolute}.setting-toggle i{background:var(--border-strong);border-radius:20px;width:38px;height:22px;transition:background .16s;position:relative}.setting-toggle i:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .16s;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #17203340}.setting-toggle input:checked+i{background:var(--primary)}.setting-toggle input:checked+i:after{transform:translate(16px)}.settings-inline-fields{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}.settings-page-error{border:1px solid var(--destructive);color:var(--destructive);background:var(--destructive-soft);border-radius:7px;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding:10px 12px;font-size:13px;display:flex}.backup-status>div{align-items:center;gap:10px;display:flex}.backup-status svg{color:#29825e}.backup-status strong,.backup-status span{display:block}.backup-status span{color:var(--muted);margin-top:3px;font-size:12px}.branding-workspace{grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr);align-items:start;gap:16px;display:grid}.branding-controls{gap:14px;display:grid}.branding-section{padding:20px}.logo-upload-row{align-items:center;gap:14px;margin-bottom:18px;display:flex}.brand-logo-preview{color:#fff;background:var(--primary);border-radius:8px;flex:none;place-items:center;width:68px;height:68px;font-size:20px;font-weight:800;display:grid}.brand-logo-preview.is-image,.preview-logo.is-image{object-fit:contain;background:#fff}.asset-upload-thumbnail{border:1px solid var(--border);object-fit:contain;background:#fff;border-radius:5px;flex:none;width:36px;height:36px}.logo-upload,.signature-upload-grid label{border:1px dashed var(--border-strong);color:var(--primary);cursor:pointer;border-radius:7px;align-items:center;gap:10px;padding:10px 12px;display:flex}.logo-upload strong,.logo-upload small,.signature-upload-grid strong,.signature-upload-grid small{display:block}.logo-upload strong,.signature-upload-grid strong{color:var(--foreground);font-size:12px}.logo-upload small,.signature-upload-grid small{color:var(--muted);margin-top:2px;font-size:11px}.logo-upload input,.signature-upload-grid input{display:none}.color-field-grid,.signature-upload-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.color-field-grid>label>span{color:var(--muted-2);text-transform:uppercase;margin-bottom:5px;font-size:11px;font-weight:700;display:block}.color-field-grid>label>div{grid-template-columns:44px 1fr;gap:7px;display:grid}.color-field-grid input{border:1px solid var(--border);border-radius:7px;width:100%;height:40px;padding:0 10px}.color-field-grid input[type=color]{padding:3px}.color-field-grid .field-error{margin-top:5px;display:block}.signature-upload-grid{margin-top:16px}.branding-preview-column{position:sticky;top:94px}.preview-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.preview-toolbar strong,.preview-toolbar span{display:block}.preview-toolbar span{color:var(--muted);margin-top:3px;font-size:11px}.segmented-control,.format-selector{border:1px solid var(--border);background:var(--secondary);border-radius:7px;grid-template-columns:repeat(2,1fr);gap:3px;padding:3px;display:inline-grid}.segmented-control button,.format-selector button{min-height:32px;color:var(--muted);background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:650;display:inline-flex}.segmented-control button.active,.format-selector button.active{color:var(--foreground);background:#fff;box-shadow:0 1px 3px #1720331f}.document-preview{background:#fff;min-height:640px;padding:28px}.document-brand-head{align-items:center;gap:12px;display:flex}.document-brand-head h2,.document-brand-head p,.document-brand-head span{margin:0}.document-brand-head h2{font-size:18px}.document-brand-head p{color:var(--muted);margin-top:3px;font-size:11px}.document-brand-head span{color:var(--muted-2);margin-top:4px;font-size:10px;display:block}.document-title{text-align:center;border-top:2px solid;border-bottom:1px solid;margin:24px 0 18px;padding:9px 0;font-size:12px;font-weight:800}.preview-document-body{gap:18px;display:grid}.preview-meta{justify-content:space-between;gap:14px;display:flex}.preview-meta span,.preview-meta strong,.preview-recipient span,.preview-recipient strong,.preview-recipient small{display:block}.preview-meta span,.preview-recipient span{color:var(--muted);font-size:10px}.preview-meta strong,.preview-recipient strong{margin-top:3px;font-size:12px}.preview-recipient{border:1px solid var(--border);border-radius:6px;padding:12px}.preview-recipient small{color:var(--muted);margin-top:3px;font-size:10px}.preview-line-item,.preview-total,.preview-signature{border-bottom:1px solid var(--border);justify-content:space-between;gap:10px;padding:10px 0;font-size:11px;display:flex}.preview-total{font-size:13px}.preview-signature{border-bottom:0;margin-top:34px}.preview-signature strong{border-top:1px solid var(--foreground);padding-top:6px}.preview-signature>span:last-child{justify-items:end;display:grid}.preview-signature.triple>span{text-align:center;flex:1;justify-items:center;display:grid}.preview-branding-assets{justify-content:center;align-items:end;gap:5px;min-height:34px;margin-bottom:5px;display:flex}.preview-branding-assets img{object-fit:contain;width:auto;max-width:58px;max-height:34px}.preview-content-footer{border-top:1px solid var(--border);color:var(--muted);text-align:center;white-space:pre-line;margin:0;padding-top:8px;font-size:9px;line-height:1.5}.preview-signature.triple strong{text-align:center;flex:1}.preview-form-lines{gap:12px;display:grid}.preview-form-lines>div{color:var(--muted);grid-template-columns:120px 1fr;align-items:end;gap:10px;font-size:10px;display:grid}.preview-form-lines i{border-bottom:1px solid var(--border-strong);height:20px}.preview-declaration{border:1px solid var(--border);border-radius:6px;padding:10px}.preview-declaration strong{font-size:11px}.preview-declaration p{color:var(--muted);margin:5px 0 0;font-size:9px;line-height:1.5}.document-footer{color:var(--muted);text-align:center;border-top:1px solid;margin-top:28px;padding-top:8px;font-size:9px}.preview-status{color:var(--muted);align-items:center;gap:9px;margin-top:10px;font-size:11px;display:flex}.branding-feedback{margin-top:12px}.branding-page-error{border:1px solid color-mix(in srgb, var(--destructive) 35%, var(--border));color:var(--destructive);background:color-mix(in srgb, var(--destructive) 7%, white);border-radius:7px;align-items:center;gap:9px;margin-top:14px;padding:11px 13px;font-size:12px;display:flex}.report-workspace{grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);align-items:start;gap:14px;display:grid}.report-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.format-selector{width:100%}.report-builder-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;margin-top:18px;padding-top:16px;display:flex}.report-builder-footer>span{color:var(--muted);font-size:12px}.report-catalog{padding:18px}.report-template-list{gap:5px;display:grid}.report-template-list button{width:100%;color:var(--muted);text-align:left;background:0 0;border:1px solid #0000;border-radius:7px;align-items:flex-start;gap:9px;padding:9px;display:flex}.report-template-list button:hover{background:var(--secondary)}.report-template-list button.active{color:var(--primary);background:var(--primary-soft);border-color:#cddaf3}.report-template-list strong,.report-template-list small{display:block}.report-template-list strong{color:var(--foreground);font-size:12px}.report-template-list small{color:var(--muted);margin-top:3px;font-size:10px;line-height:1.4}.history-search{width:min(100%,300px)}.integration-status-bar{border:1px solid var(--border);background:#fff;border-radius:8px;grid-template-columns:12px 1fr auto;align-items:center;gap:12px;min-height:66px;margin-bottom:14px;padding:12px 16px;display:grid}.status-dot{background:var(--border-strong);border-radius:50%;width:10px;height:10px}.status-dot.online{background:#3b9b72;box-shadow:0 0 0 4px #e1f3eb}.integration-status-bar strong,.integration-status-bar span{display:block}.integration-status-bar span{color:var(--muted);margin-top:3px;font-size:12px}.telegram-setup-card,.telegram-guide{padding:20px}.telegram-guide{align-self:start}.setup-checklist{gap:12px;margin:0;padding:0;list-style:none;display:grid}.setup-checklist li{grid-template-columns:28px 1fr;gap:9px;display:grid}.setup-checklist svg{color:#29825e}.setup-checklist strong,.setup-checklist small{display:block}.setup-checklist strong{font-size:12px}.setup-checklist small{color:var(--muted);margin-top:3px;font-size:11px;line-height:1.4}.step-number{width:20px;height:20px;color:var(--primary);background:var(--primary-soft);border-radius:50%;place-items:center;font-size:11px;font-weight:800;display:grid}.text-link{color:var(--primary);align-items:center;gap:5px;margin-top:18px;font-size:12px;font-weight:650;text-decoration:none;display:inline-flex}.reminder-settings-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.danger-zone-row{margin-top:14px;padding:16px 18px}.danger-zone-row strong,.danger-zone-row span{display:block}.danger-zone-row span{color:var(--muted);margin-top:4px;font-size:12px}.danger-zone-row>div:last-child{gap:8px;display:flex}.compact-filter{grid-template-columns:minmax(280px,1fr) auto}.filter-result-count{color:var(--muted);font-size:12px}.template-variables{border-top:1px solid var(--border);flex-wrap:wrap;gap:6px;margin-top:14px;padding-top:14px;display:flex}.template-variables button{border:1px solid var(--border);min-height:28px;color:var(--primary);background:var(--primary-soft);border-radius:5px;padding:0 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.message-preview{background:#edf5ee;max-width:560px;margin-left:auto;padding:16px}.message-preview-head{color:#236647;align-items:center;gap:7px;font-size:12px;display:flex}.message-preview p{color:#1f3529;white-space:pre-wrap;margin:12px 0;font-size:13px;line-height:1.55}.message-preview>span{color:#5b7565;text-align:right;font-size:10px;display:block}.network-banner{z-index:70;color:#7c4108;background:#fff4e5;border-bottom:1px solid #f2cf9b;justify-content:center;align-items:center;gap:10px;min-height:42px;padding:9px 48px;font-size:13px;font-weight:600;display:flex;position:fixed;inset:0 0 auto}.network-banner-online{color:#22623a;background:#eaf8ef;border-color:#b9e1c6}.network-banner button{color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute;right:18px}.access-state{text-align:left;grid-template-columns:auto minmax(0,420px);place-content:center;gap:16px;min-height:360px;padding:48px;display:grid}.access-state-icon{width:44px;height:44px;color:var(--primary);background:#eef3fb;border-radius:8px;place-items:center;display:grid}.access-state h1{margin:1px 0 6px;font-size:20px}.access-state p{color:var(--muted-text);margin:0}.session-dialog{width:min(440px,100vw - 32px)}.session-dialog p{font-variant-numeric:tabular-nums}.auth-error{color:var(--danger);margin:-6px 0 12px;font-size:13px;font-weight:600}.widget-skeleton{border:1px solid var(--border);background:var(--card);border-radius:8px;align-content:center;gap:10px;min-height:112px;padding:18px;display:grid}.widget-skeleton span{background:linear-gradient(90deg,#eef1f5 25%,#f8f9fb 50%,#eef1f5 75%) 0 0/200% 100%;border-radius:4px;height:12px;animation:1.25s linear infinite skeleton-shimmer}.widget-skeleton span:first-child{width:42%}.widget-skeleton span:nth-child(2){width:64%;height:26px}.widget-skeleton span:last-child{width:78%}@keyframes skeleton-shimmer{to{background-position:-200% 0}}@media (width<=640px){.network-banner{justify-content:flex-start;padding-left:16px;font-size:12px}.access-state{grid-template-columns:1fr;min-height:300px;padding:32px 24px}}.super-admin-account-stats{margin-bottom:16px}.account-usage-cell{gap:2px;display:grid}.account-usage-cell strong{font-variant-numeric:tabular-nums;font-size:13px}.account-usage-cell span{color:oklch(45% .13 155);font-size:11px;font-weight:650}.account-usage-cell span.is-full{color:#8a5b06}.drawer-overlay>.customer-account-drawer{width:min(1020px,100vw - 48px)}.customer-account-summary{grid-template-columns:auto minmax(0,1fr) auto minmax(180px,.45fr);align-items:center;gap:14px;padding:16px 18px;display:grid}.customer-account-avatar{color:#fff;background:var(--primary);border-radius:8px;flex:none;place-items:center;width:48px;height:48px;font-size:13px;font-weight:800;display:grid}.customer-account-summary>div:nth-child(2){min-width:0;display:grid}.customer-account-summary>div:nth-child(2)>span,.customer-account-summary>div:nth-child(2)>small,.customer-allowance>span{color:var(--muted);font-size:11px}.customer-account-summary>div:nth-child(2)>strong{text-overflow:ellipsis;white-space:nowrap;margin:2px 0;font-size:17px;overflow:hidden}.customer-allowance{gap:4px;display:grid}.customer-allowance strong{font-variant-numeric:tabular-nums;font-size:15px}.customer-allowance i{background:var(--secondary);border-radius:3px;height:5px;overflow:hidden}.customer-allowance b{background:var(--primary);max-width:100%;height:100%;display:block}.customer-tabs{border-bottom:1px solid var(--border);height:auto;min-height:48px;padding:0 8px}.customer-tabs button{min-height:48px;padding:0 12px}.customer-detail-grid,.provisioning-review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.customer-institute-list,.customer-audit-list{gap:0;display:grid}.customer-institute-list article{border-bottom:1px solid var(--border);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:68px;display:grid}.customer-institute-list article:last-child{border-bottom:0}.customer-institute-list article>div{gap:3px;min-width:0;display:grid}.customer-institute-list article>div:last-child{justify-items:end}.customer-institute-list small,.customer-subscription-card span,.customer-audit-line span,.customer-audit-list small{color:var(--muted);font-size:11px}.customer-list-icon{width:36px;height:36px;color:var(--primary);background:var(--primary-soft);border-radius:7px;place-items:center;display:grid}.customer-empty{min-height:190px;color:var(--muted);text-align:center;place-content:center;justify-items:center;gap:6px;display:grid}.customer-empty strong{color:var(--foreground)}.customer-subscription-card{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.customer-subscription-card>div{gap:4px;display:grid}.customer-subscription-card>div strong{font-size:17px}.customer-audit-line,.customer-audit-list>div{align-items:flex-start;gap:10px;display:flex}.customer-audit-line>div,.customer-audit-list span{gap:3px;display:grid}.customer-audit-list>div{border-bottom:1px solid var(--border);padding:12px 0}.customer-audit-list>div:last-child{border-bottom:0}.customer-audit-list svg,.customer-audit-line svg{color:var(--primary);flex:none;margin-top:2px}.drawer-overlay>.institute-provisioning-drawer{width:min(1080px,100vw - 40px)}.provisioning-context{border-bottom:1px solid var(--border);background:#f8fafc;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 18px;display:grid}.provisioning-context>div{gap:2px;display:grid}.provisioning-context small,.provisioning-context span{color:var(--muted);font-size:11px}.provisioning-context>div:last-child{border-left:1px solid var(--border);min-width:120px;padding-left:18px}.provisioning-context>div:last-child strong{font-variant-numeric:tabular-nums;font-size:16px}.provisioning-context>div:last-child.is-limit strong{color:var(--destructive)}.provisioning-steps{border-bottom:1px solid var(--border);background:var(--card);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.provisioning-steps button{border:0;border-right:1px solid var(--border);min-width:0;min-height:56px;color:var(--muted);background:0 0;justify-content:center;align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.provisioning-steps button:last-child{border-right:0}.provisioning-steps button>span{border:1px solid var(--border-strong);border-radius:50%;place-items:center;width:24px;height:24px;font-size:11px;display:grid}.provisioning-steps button.active{color:var(--primary);background:var(--primary-soft)}.provisioning-steps button.active>span,.provisioning-steps button.complete>span{border-color:var(--primary);color:#fff;background:var(--primary)}.provisioning-steps button.complete{color:var(--foreground)}.provisioning-body{align-content:start}.provisioning-section{padding:20px}.provisioning-section-heading{align-items:center;gap:11px;margin-bottom:18px;display:flex}.provisioning-section-heading>span{width:38px;height:38px;color:var(--primary);background:var(--primary-soft);border-radius:7px;flex:none;place-items:center;display:grid}.provisioning-section-heading h2,.provisioning-section-heading p{margin:0}.provisioning-section-heading h2{font-size:15px}.provisioning-section-heading p{color:var(--muted);margin-top:3px;font-size:12px}.provisioning-note,.provisioning-limit{color:var(--primary);background:var(--primary-soft);align-items:flex-start;gap:10px;margin-top:16px;padding:12px;font-size:12px;display:flex}.provisioning-limit{color:var(--destructive);background:var(--destructive-soft);margin:0}.provisioning-limit div{gap:3px;display:grid}.provisioning-limit p{margin:0}.lifetime-access{border:1px solid var(--border);min-height:76px;color:var(--primary);background:var(--primary-soft);border-radius:7px;align-items:center;gap:10px;padding:12px;display:flex}.lifetime-access span{gap:3px;display:grid}.lifetime-access small{color:var(--muted)}.module-entitlement-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.module-entitlement-grid label{border:1px solid var(--border);background:var(--card);border-radius:7px;align-items:center;gap:10px;min-height:58px;padding:10px 12px;display:flex}.module-entitlement-grid label.is-core{background:var(--primary-soft);border-color:#c8d7ef}.module-entitlement-grid input{width:16px;height:16px;accent-color:var(--primary)}.module-entitlement-grid span{gap:2px;display:grid}.module-entitlement-grid small{color:var(--muted);font-size:10px}.provisioning-review-hero{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:18px;display:grid}.provisioning-review-hero>span{color:#fff;background:var(--primary);border-radius:8px;place-items:center;width:44px;height:44px;display:grid}.provisioning-review-hero>div{gap:2px;display:grid}.provisioning-review-hero small,.provisioning-review-hero p{color:var(--muted);font-size:11px}.provisioning-review-hero strong{font-size:17px}.provisioning-review-hero p{margin:0}.provisioning-review-section{padding:16px}.provisioning-review-section h3{margin:0 0 12px;font-size:13px}.provisioning-review-line{border-bottom:1px solid var(--border);grid-template-columns:minmax(90px,.45fr) minmax(0,1fr);gap:10px;padding:7px 0;font-size:12px;display:grid}.provisioning-review-line:last-child{border-bottom:0}.provisioning-review-line span{color:var(--muted)}.provisioning-review-line strong{overflow-wrap:anywhere;text-align:right}.review-module-list{flex-wrap:wrap;gap:6px;display:flex}.provisioning-footer{grid-template-columns:minmax(120px,auto) 1fr minmax(140px,auto);align-items:center;min-height:68px;display:grid}.provisioning-footer>span{color:var(--muted);text-align:center;font-size:12px}@media (width<=900px){.customer-account-summary{grid-template-columns:auto minmax(0,1fr) auto}.customer-allowance{grid-column:1/-1}.customer-detail-grid,.provisioning-review-grid{grid-template-columns:1fr}}@media (width<=720px){.drawer-overlay>.customer-account-drawer,.drawer-overlay>.institute-provisioning-drawer{width:100%;max-width:100%}.customer-account-drawer .drawer-header,.institute-provisioning-drawer .drawer-header{flex-direction:row}.customer-account-drawer .drawer-actions .button{width:40px;padding:0;font-size:0;overflow:hidden}.customer-account-summary,.provisioning-context,.provisioning-review-hero{grid-template-columns:auto minmax(0,1fr)}.customer-account-summary>.badge,.provisioning-review-hero>.badge{grid-column:2;justify-self:start}.provisioning-context>div:last-child{border-top:1px solid var(--border);border-left:0;grid-column:1/-1;padding-top:10px;padding-left:0}.provisioning-steps{grid-template-columns:repeat(4,minmax(130px,1fr));overflow-x:auto}.module-entitlement-grid{grid-template-columns:1fr}.provisioning-footer{grid-template-columns:1fr 1fr}.provisioning-footer>span{display:none}}@media (width<=520px){.customer-tabs{flex-wrap:nowrap;overflow-x:auto}.customer-tabs button{flex:none}.customer-institute-list article{grid-template-columns:auto minmax(0,1fr)}.customer-institute-list article>div:last-child{grid-column:2;justify-items:start}}@media (width<=1180px){.branding-workspace,.report-workspace{grid-template-columns:1fr}.branding-preview-column{position:static}.document-preview{min-height:auto}.reminder-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=920px){.compact-stats,.profile-metrics,.ledger-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-shell{grid-template-columns:1fr}.settings-nav{display:flex;position:static;overflow-x:auto}.settings-nav button{flex:none;width:auto}.policy-list,.reminder-settings-grid{grid-template-columns:1fr}}@media (width<=720px){.institute-record-drawer,.narrow-drawer{width:100vw}.record-detail-grid,.receipt-document-grid,.report-filter-grid,.color-field-grid,.signature-upload-grid{grid-template-columns:1fr}.compact-stats,.profile-metrics,.ledger-summary{grid-template-columns:1fr 1fr}.installment-preview{grid-template-columns:1fr}.attendance-calendar{grid-template-columns:repeat(5,minmax(32px,1fr))}.attendance-roster>div{grid-template-columns:36px 1fr;padding:10px 0}.attendance-options{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}.mapping-list>div{grid-template-columns:1fr}.mapping-list svg{transform:rotate(90deg)}.future-feature-panel{grid-template-columns:1fr;padding:28px}.future-checklist{grid-column:1}.numbering-list>div{grid-template-columns:1fr;padding:12px 0}.session-current,.backup-status,.danger-zone-row,.report-builder-footer,.preview-toolbar{flex-direction:column;align-items:stretch}.logo-upload-row{align-items:flex-start}.document-preview{padding:18px}.danger-zone-row>div:last-child{flex-wrap:wrap}.compact-filter{grid-template-columns:1fr}.toast{bottom:16px;right:16px}}@media (width<=760px){.drawer-overlay>.side-drawer{width:100%;max-width:100%}.drawer-overlay>.wf-finance-drawer .drawer-header{flex-direction:row}}
