.school-detail-page{gap:20px}.school-detail-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px}.school-detail-hero-left{display:flex;align-items:center;gap:18px;min-width:0}.school-logo-large{width:72px;height:72px;min-width:72px;border-radius:16px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#f1f5f9;border:1px solid #e2e8f0}.school-logo-large img{width:100%;height:100%;object-fit:cover}.school-logo-large span{font-size:28px;font-weight:700;color:#475569}.school-detail-title{min-width:0}.school-detail-title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.school-detail-title h2{margin:0;font-size:24px;font-weight:700}.school-detail-title p{margin:5px 0 0;color:#64748b;font-size:14px}.school-detail-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.school-status-badge{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:600}.school-status-badge.success{background:var(--success-bg);color:var(--success-text)}.school-status-badge.danger{background:var(--danger-bg);color:var(--danger-text)}.school-status-badge.neutral{background:var(--neutral-bg);color:var(--neutral-text)}.school-detail-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.school-stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px}.school-stat-card span{display:block;font-size:12px;color:#64748b;margin-bottom:7px}.school-stat-card strong{font-size:21px;color:#0f172a}.school-detail-section{display:flex;flex-direction:column;gap:12px}.school-detail-section-header{display:flex;align-items:center;justify-content:space-between}.school-detail-section-header h3{margin:0;font-size:18px;font-weight:700}.school-detail-section-body{width:100%}.school-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.school-detail-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;min-width:0}.school-detail-card-full{grid-column:1 / -1}.school-detail-card-header{padding:15px 18px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.school-detail-card-header h4{margin:0;font-size:14px;font-weight:700;color:#334155}.school-detail-card-body{padding:18px}.school-detail-item{min-width:0;display:flex;flex-direction:column;gap:5px;padding:4px 0}.school-detail-item.span-2{grid-column:1 / -1}.school-detail-item .school-detail-label{font-size:11px;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em}.school-detail-item .school-detail-value{font-size:14px;line-height:1.45;color:#1e293b;font-weight:600;overflow-wrap:anywhere}.school-detail-table-wrapper{width:100%;overflow-x:auto}.school-detail-table{width:100%;border-collapse:collapse;min-width:650px}.school-detail-table th{text-align:left;padding:11px 12px;background:#f8fafc;color:#64748b;font-size:11px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #e2e8f0;white-space:nowrap}.school-detail-table td{padding:13px 12px;color:#334155;font-size:13px;border-bottom:1px solid #f1f5f9}.school-detail-table tbody tr:last-child td{border-bottom:0}.school-detail-table tbody tr:hover{background:#f8fafc}.school-detail-empty{min-height:100px;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:13px;border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc}.school-permission-list{display:flex;flex-wrap:wrap;gap:8px}.school-permission-chip{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:12px;font-weight:600}.school-audit-list{display:flex;flex-direction:column}.school-audit-item{display:flex;align-items:flex-start;gap:12px;padding:13px 0;border-bottom:1px solid #f1f5f9}.school-audit-item:last-child{border-bottom:0}.school-audit-dot{width:9px;height:9px;min-width:9px;margin-top:5px;border-radius:50%;background:#64748b}.school-audit-item strong{display:block;font-size:13px;color:#334155}.school-audit-item span{display:block;margin-top:3px;color:#94a3b8;font-size:11px}.school-detail-loading,.school-detail-not-found{min-height:350px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.school-detail-spinner{width:32px;height:32px;border:3px solid #e2e8f0;border-top-color:#475569;border-radius:50%;animation:school-detail-spin .8s linear infinite;margin-bottom:14px}@keyframes school-detail-spin{to{transform:rotate(360deg)}}.school-detail-error-icon{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fee2e2;color:#b91c1c;font-size:20px;font-weight:700;margin-bottom:12px}@media (max-width: 1100px){.school-detail-stats{grid-template-columns:repeat(3,1fr)}}@media (max-width: 800px){.school-detail-hero{flex-direction:column;align-items:flex-start}.school-detail-actions{width:100%}.school-detail-actions button{flex:1}.school-detail-grid{grid-template-columns:1fr}.school-detail-card-full{grid-column:auto}.school-detail-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width: 520px){.school-detail-stats{grid-template-columns:1fr}.school-detail-hero-left{align-items:flex-start}.school-logo-large{width:58px;height:58px;min-width:58px}.school-detail-title h2{font-size:19px}.school-detail-card-body{padding:14px}}.school-onboarding-page{width:100%;max-width:1400px;margin:0 auto}.school-onboarding-page .page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}.school-onboarding-page .page-header h1{margin:0}.school-onboarding-page .page-header p{margin:6px 0 0;color:#6b7280}.onboarding-stepper{display:flex;align-items:center;width:100%;margin-bottom:24px;padding:20px 24px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-sizing:border-box}.onboarding-step{display:flex;align-items:center;flex:1}.onboarding-step:last-child{flex:0 0 auto}.step-content{display:flex;align-items:center;gap:10px;white-space:nowrap}.step-number{width:34px;height:34px;min-width:34px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid #d1d5db;background:#f3f4f6;color:#6b7280;font-size:14px;font-weight:600;transition:background .2s ease,border-color .2s ease,color .2s ease}.step-title{font-size:14px;color:#6b7280;font-weight:500}.onboarding-step.active .step-number{background:#0f766e;border-color:#0f766e;color:#fff}.onboarding-step.active .step-title{color:#111827;font-weight:700}.onboarding-step.completed .step-number{background:#0f766e;border-color:#0f766e;color:#fff}.onboarding-step.completed .step-title{color:#15803d;font-weight:600}.step-line{flex:1;height:1px;margin:0 16px;background:#e5e7eb}.onboarding-step.completed .step-line{background:#0f766e}.school-onboarding-page .surface-panel{width:100%;box-sizing:border-box}.school-onboarding-page .panel-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;margin-bottom:24px;border-bottom:1px solid #e5e7eb}.step-label{display:block;margin-bottom:5px;color:#6b7280;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.04em}.school-onboarding-page .panel-head h2{margin:0;font-size:22px;font-weight:600;color:#111827}.onboarding-content{width:100%}.onboarding-section{margin-bottom:32px}.onboarding-section:last-child{margin-bottom:0}.onboarding-section-header{margin-bottom:18px}.onboarding-section-header h3{margin:0;font-size:17px;font-weight:600;color:#111827}.onboarding-section-header p{margin:5px 0 0;color:#6b7280;font-size:13px}.onboarding-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.onboarding-form-grid.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.onboarding-form-group{display:flex;flex-direction:column;gap:7px}.onboarding-form-group.full-width{grid-column:1 / -1}.onboarding-form-group label{font-size:13px;font-weight:600;color:#374151}.required{color:#dc2626;margin-left:3px}.onboarding-form-group input,.onboarding-form-group select,.onboarding-form-group textarea{width:100%;min-height:42px;box-sizing:border-box;padding:9px 12px;border:1px solid #d1d5db;border-radius:7px;background:#fff;color:#111827;font-size:14px;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.onboarding-form-group textarea{min-height:100px;resize:vertical}.onboarding-form-group input:focus,.onboarding-form-group select:focus,.onboarding-form-group textarea:focus{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e1a}.checkbox-group,.radio-group{display:flex;flex-wrap:wrap;gap:12px 20px}.checkbox-item,.radio-item{display:flex;align-items:center;gap:8px}.checkbox-item input,.radio-item input{width:16px;height:16px;min-height:16px;padding:0;accent-color:#0f766e}.field-error{margin:0;color:#dc2626;font-size:12px;line-height:1.4}.onboarding-form-group.has-error input,.onboarding-form-group.has-error select,.onboarding-form-group.has-error textarea{border-color:#dc2626}.onboarding-form-group.has-error input:focus,.onboarding-form-group.has-error select:focus,.onboarding-form-group.has-error textarea:focus{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.file-upload{display:flex;flex-direction:column;gap:8px}.file-upload-box{min-height:120px;padding:20px;display:flex;align-items:center;justify-content:center;border:1px dashed #cbd5e1;border-radius:8px;background:#f8fafc;cursor:pointer;text-align:center;transition:border-color .15s ease,background .15s ease}.file-upload-box:hover{border-color:#0f766e;background:#f0fdfa}.file-upload-text{color:#64748b;font-size:13px}.onboarding-child-table{width:100%;overflow-x:auto;border:1px solid #e5e7eb;border-radius:8px}.onboarding-child-table table{width:100%;min-width:700px;border-collapse:collapse}.onboarding-child-table th,.onboarding-child-table td{padding:11px 12px;border-bottom:1px solid #e5e7eb;text-align:left;font-size:13px}.onboarding-child-table th{background:#f8fafc;color:#374151;font-weight:600}.onboarding-child-table td{color:#4b5563}.onboarding-child-table tr:last-child td{border-bottom:none}.onboarding-child-table input,.onboarding-child-table select{width:100%;min-height:36px;box-sizing:border-box;padding:7px 9px;border:1px solid #d1d5db;border-radius:6px;font-size:13px}.onboarding-add-row{display:flex;justify-content:flex-end;margin-top:12px}.onboarding-review{display:flex;flex-direction:column;gap:18px}.onboarding-review .section-heading{margin-bottom:4px}.onboarding-review .section-heading h2{margin:0 0 5px;color:#111827;font-size:24px;font-weight:700}.onboarding-review .section-heading p{margin:0;color:#6b7280;font-size:13px;line-height:1.5}.review-card{padding:0;overflow:hidden;border:1px solid #e5e7eb;border-radius:12px;background:#fff;box-shadow:0 1px 3px #0f172a0a}.review-card-header{display:flex;align-items:center;justify-content:space-between;min-height:62px;padding:12px 18px;box-sizing:border-box;background:#fafbfc;border-bottom:1px solid #e5e7eb}.review-title{display:flex;align-items:center;gap:11px}.review-title h3{margin:0;color:#17233f;font-size:15px;font-weight:700}.review-section-subtitle{display:block;margin-top:2px;color:#98a2b3;font-size:11px}.review-check{width:30px;height:30px;min-width:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#e8f7f1;color:#138a78;font-size:14px;font-weight:800}.review-edit-btn{display:inline-flex;align-items:center;justify-content:center;padding:7px 13px;border:1px solid #dfe4ea;border-radius:7px;background:#fff;color:#344054;font-size:12px;font-weight:600;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.review-edit-btn:hover{border-color:#0f766e;background:#f0fdfa;color:#0f766e}.review-card-body{padding:18px}.review-group{margin-bottom:24px}.review-group:last-child{margin-bottom:0}.review-group-title{display:flex;align-items:center;margin-bottom:10px}.review-group-title h4{margin:0;color:#344054;font-size:13px;font-weight:700}.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px}.review-item{min-width:0;display:flex;flex-direction:column;gap:5px;padding:10px 12px;border:1px solid #edf0f3;border-radius:8px;background:#fcfcfd;transition:background .15s ease,border-color .15s ease}.review-item:hover{background:#fafcfc;border-color:#e1e7e9}.review-label{color:#7a8494;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.review-value{min-height:17px;color:#17233f;font-size:13px;font-weight:600;line-height:1.4;word-break:break-word}.review-empty{padding:12px;border:1px dashed #dfe4ea;border-radius:8px;background:#fafbfc;color:#98a2b3;font-size:12px;font-style:italic;text-align:center}.review-table-wrapper{width:100%;overflow-x:auto;border:1px solid #e5e7eb;border-radius:9px}.review-table{width:100%;min-width:650px;border-collapse:collapse}.review-table th{padding:10px 12px;background:#f8f9fb;color:#667085;font-size:10px;font-weight:700;text-align:left;border-bottom:1px solid #e5e7eb}.review-table td{padding:10px 12px;color:#344054;font-size:12px;font-weight:500;border-bottom:1px solid #f0f2f4}.review-table tbody tr:last-child td{border-bottom:none}.review-table tbody tr:hover{background:#fafcfc}.review-submit-notice{margin-top:20px;padding:16px 18px;border:1px solid #cceee3;border-radius:10px;background:#f2fbf8}.review-submit-notice strong{display:block;margin-bottom:4px;color:#087f68;font-size:14px}.review-submit-notice p{margin:0;color:#667085;font-size:12px;line-height:1.5}.school-onboarding-page .onboarding-navigation{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:20px;padding:18px 24px;box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:10px}.navigation-right{display:flex;align-items:center;gap:10px}.school-onboarding-page .btn{cursor:pointer}.school-onboarding-page .btn:disabled{cursor:not-allowed;opacity:.55}@media (max-width: 1024px){.onboarding-form-grid.three-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.step-title{font-size:13px}.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 768px){.school-onboarding-page .page-header{flex-direction:column}.onboarding-form-grid,.onboarding-form-grid.three-columns,.review-grid{grid-template-columns:1fr}.onboarding-stepper{overflow-x:auto}.onboarding-step{min-width:130px}.review-card-header{padding:12px 14px}.review-card-body{padding:14px}.review-title h3{font-size:14px}.review-edit-btn{padding:6px 10px}.school-onboarding-page .onboarding-navigation{flex-direction:column;align-items:stretch;gap:12px}.navigation-right{justify-content:flex-end}}@media (max-width: 480px){.step-title{display:none}.step-line{margin:0 6px}.navigation-right{flex-direction:column-reverse;width:100%}.navigation-right .btn,.school-onboarding-page .onboarding-navigation>.btn{width:100%}.review-card-header{gap:8px}.review-card-body{padding:12px}}.subscriptions-page{width:100%;max-width:1440px;margin:0 auto;box-sizing:border-box}.subscriptions-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}.subscriptions-header h1{margin:0;color:#111827;font-size:28px;font-weight:700;line-height:1.2;letter-spacing:-.02em}.subscriptions-header p{margin:7px 0 0;color:#6b7280;font-size:14px}.subscriptions-header-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.view-toggle{display:inline-flex;padding:3px;border:1px solid #d1d5db;border-radius:8px;background:#f9fafb}.view-toggle-btn{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:6px 10px;border:0;border-radius:6px;background:transparent;color:#6b7280;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600}.view-toggle-btn.active{background:#fff;color:#111827;box-shadow:0 1px 3px #0000001f}.feature-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.feature-card{display:flex;min-height:220px;flex-direction:column;padding:18px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}.feature-card-header,.feature-card-meta,.feature-card-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.feature-card-header h3{margin:0;color:#111827;font-size:17px}.feature-card-category{display:block;margin-top:3px;color:#6b7280;font-size:12px}.feature-card-description{min-height:44px;margin:18px 0;color:#4b5563;font-size:13px;line-height:1.5}.feature-card-meta{margin-top:auto;padding-top:14px;border-top:1px solid #e5e7eb}.feature-card-meta div{display:grid;gap:3px}.feature-card-meta span{color:#6b7280;font-size:11px;text-transform:uppercase}.feature-card-meta strong{color:#111827;font-size:15px}.feature-card-actions{justify-content:flex-end;margin-top:14px}.sub-btn{min-height:40px;padding:9px 16px;border-radius:8px;border:1px solid transparent;font-family:inherit;font-size:14px;font-weight:600;line-height:1;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .05s ease}.sub-btn:active:not(:disabled){transform:translateY(1px)}.sub-btn:disabled{opacity:.55;cursor:not-allowed}.sub-btn-primary{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.sub-btn-primary:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover)}.sub-btn-secondary{background:var(--surface);border-color:var(--border);color:var(--text-secondary)}.sub-btn-secondary:hover:not(:disabled){background:var(--surface-2);border-color:var(--border)}.sub-btn-danger{background:#fff;border-color:#fecaca;color:#dc2626}.sub-btn-danger:hover:not(:disabled){background:#fef2f2;border-color:#fca5a5}.subscription-panel{margin-top:16px;padding:20px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 2px #00000008}.subscription-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.subscription-panel-header h3{margin:0;color:#111827;font-size:17px;font-weight:700}.subscription-panel-header p{margin:4px 0 0;color:#6b7280;font-size:13px}.subscription-count{display:inline-flex;align-items:center;min-height:28px;padding:0 9px;border-radius:999px;background:#f3f4f6;color:#4b5563;font-size:12px;font-weight:600}.plan-list{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}.plan-item{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px;border:1px solid #e5e7eb;border-radius:10px;background:#fafafa;transition:border-color .15s ease,background .15s ease}.plan-item:hover{background:#fff;border-color:#cfd4dc}.plan-main{min-width:0}.plan-name{margin-bottom:4px;color:#111827;font-size:15px;font-weight:700}.plan-description{color:#6b7280;font-size:13px;line-height:1.45}.plan-meta{flex-shrink:0;text-align:right}.plan-price{color:#111827;font-size:16px;font-weight:700}.plan-cycle{margin-top:3px;color:#6b7280;font-size:12px;text-transform:capitalize}.subscription-empty{display:flex;align-items:center;justify-content:center;min-height:100px;padding:20px;border:1px dashed #d1d5db;color:#6b7280;font-size:14px;border-radius:9px;background:#fafafa}.subscription-detail-stack{display:grid;gap:16px}.subscription-json{max-height:260px;margin:0;overflow:auto;padding:12px;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb;color:#374151;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;white-space:pre-wrap;word-break:break-word}.subscription-form{width:100%}.subscription-card{margin-bottom:16px;padding:20px;background:#fff;border:1px solid #e5e7eb;border-radius:10px}.feature-checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;width:100%}.feature-option{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid #dfe3eb;border-radius:8px;background:#f9fafb;color:#374151;font-size:13px}.feature-option input{margin:0}.subscription-form input[type=checkbox],.subscription-form input[type=radio]{width:18px;height:18px;min-height:18px;flex:0 0 auto;padding:0;accent-color:#0f766e}.feature-option:has(input:checked){border-color:#0f766e;background:#f0fdfa;box-shadow:0 0 0 2px #0f766e14}.feature-option:hover{border-color:#9ca3af;background:#fff}.feature-option span{flex:1;font-weight:600}.feature-option small{color:#2563eb;font-weight:700}.subscription-table-wrapper{overflow-x:auto}.subscription-table-wrapper table{width:100%;border-collapse:collapse}.feature-table-wrapper table{table-layout:fixed}.feature-table-wrapper th:nth-child(1),.feature-table-wrapper td:nth-child(1){width:14%}.feature-table-wrapper th:nth-child(2),.feature-table-wrapper td:nth-child(2){width:14%}.feature-table-wrapper th:nth-child(3),.feature-table-wrapper td:nth-child(3){width:35%}.feature-table-wrapper th:nth-child(4),.feature-table-wrapper td:nth-child(4){width:10%}.feature-table-wrapper th:nth-child(5),.feature-table-wrapper td:nth-child(5){width:11%}.feature-table-wrapper th:nth-child(6),.feature-table-wrapper td:nth-child(6){width:9%}.feature-table-wrapper th:nth-child(7),.feature-table-wrapper td:nth-child(7){width:7%}.subscription-table-wrapper th,.subscription-table-wrapper td{padding:12px 10px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:top}.subscription-table-wrapper thead th{background:#f9fafb;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#6b7280}.subscription-table-wrapper tbody td{font-size:14px;color:#374151}.feature-table-wrapper tbody td:nth-child(3){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subscription-card-title{display:flex;align-items:center;gap:9px;margin-bottom:18px;color:#111827;font-size:16px;font-weight:700}.subscription-badge{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:999px;background:#f3f4f6;color:#6b7280;font-size:10px;font-weight:700;letter-spacing:.04em}.subscription-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.subscription-form-row{display:flex;flex-direction:column;gap:7px;min-width:0}.subscription-form-row label{color:#374151;font-size:13px;font-weight:600}.subscription-form-row input,.subscription-form-row select,.subscription-form-row textarea{width:100%;box-sizing:border-box;border:1px solid #d1d5db;border-radius:7px;background:#fff;color:#111827;font-family:inherit;font-size:14px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.subscription-form-row input,.subscription-form-row select{height:40px;padding:0 11px}.subscription-form-row textarea{min-height:90px;padding:10px 11px;resize:vertical;line-height:1.45}.subscription-form-row input::placeholder,.subscription-form-row textarea::placeholder{color:#9ca3af}.subscription-form-row input:hover,.subscription-form-row select:hover,.subscription-form-row textarea:hover{border-color:#b7bec8}.subscription-form-row input:focus,.subscription-form-row select:focus,.subscription-form-row textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.subscription-form-row select[multiple]{height:128px;padding:6px;overflow-y:auto;background:#f9fafb}.subscription-form-row select[multiple] option{min-height:30px;padding:7px 9px;border-radius:5px;color:#374151;font-weight:500}.subscription-form-row select[multiple] option:hover,.subscription-form-row select[multiple] option:checked{background:#ccfbf1 linear-gradient(#ccfbf1,#ccfbf1);color:#115e59}.subscription-full-width{grid-column:1 / -1}.subscription-help{margin:0;color:#6b7280;font-size:12px;line-height:1.45}.offer-description{margin:-8px 0 18px}.subscription-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding-top:4px}.send-subscription-form{width:100%}.send-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.send-full-width{grid-column:1 / -1}.send-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid #e5e7eb}.subscription-table-panel{overflow:hidden}.subscription-table-wrapper{width:100%;overflow-x:auto}.subscription-table-wrapper table{width:100%;border-collapse:separate;border-spacing:0}.subscription-table-wrapper th{padding:12px 14px;background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:11px;font-weight:700;letter-spacing:.04em;text-align:left;text-transform:uppercase;white-space:nowrap}.subscription-table-wrapper td{padding:13px 14px;border-bottom:1px solid #e5e7eb;color:#374151;font-size:13px;white-space:nowrap}.subscription-table-wrapper tbody tr:hover td{background:#fafafa}.subscription-table-wrapper tbody tr:last-child td{border-bottom:0}.subscription-pagination{margin-top:16px}@media (max-width: 900px){.subscriptions-page{padding:18px}.subscriptions-header{flex-direction:column}.subscriptions-header-actions{width:100%;margin-left:0}.subscriptions-header-actions .sub-btn{flex:1}.subscription-form-grid,.send-form-grid{grid-template-columns:1fr}.subscription-full-width,.send-full-width{grid-column:auto}}@media (max-width: 640px){.subscriptions-page{padding:14px}.subscriptions-header h1{font-size:23px}.subscriptions-header-actions{flex-direction:column}.subscriptions-header-actions .sub-btn{width:100%}.subscription-panel{padding:14px;border-radius:10px}.subscription-card{padding:15px}.subscription-panel-header{align-items:flex-start}.plan-item{align-items:flex-start;flex-direction:column;gap:10px}.plan-meta{width:100%;text-align:left}.subscription-actions{flex-wrap:wrap}.subscription-actions .sub-btn{flex:1}.send-form-actions{flex-direction:column-reverse}.send-form-actions .sub-btn{width:100%}}.multi-select{min-height:120px!important;height:auto!important;padding:8px!important;cursor:pointer}.multi-select option{padding:8px 10px;border-radius:5px}.multi-select option:checked{background:#2563eb linear-gradient(#2563eb,#2563eb);color:#fff}:root{--bg: #faf8f4;--surface: #ffffff;--surface-2: #f2efe7;--border: #e7e3da;--text: #14213d;--text-secondary: #5b6472;--text-muted: #8891a6;--brand: #0f766e;--brand-hover: #0b5d57;--on-brand: #ffffff;--accent-bg: #fdf0dc;--accent-text: #8a5a0f;--amber: #f5a623;--chart-secondary: #2563eb;--success-bg: #daf5e9;--success-text: #046c4e;--warning-bg: #fff3d8;--warning-text: #9a5b03;--danger-bg: #ffe4e6;--danger-text: #9f1239;--neutral-bg: #eceff3;--neutral-text: #6b7280;--shadow: 0 1px 2px rgba(20, 33, 61, .04), 0 8px 24px rgba(20, 33, 61, .06);--rail-bg: var(--surface);--rail-border: var(--border);--rail-text: var(--text);--rail-muted: var(--text-secondary);--rail-active: var(--brand);--chrome-bg: var(--surface)}a{color:inherit;text-decoration:none}html[data-theme=dark]{--bg: #0f1626;--surface: #16213d;--surface-2: #1b2740;--border: #26314a;--text: #f4f2ed;--text-secondary: #9aa5bc;--text-muted: #6b7a99;--brand: #2dd4bf;--brand-hover: #5eead4;--on-brand: #082622;--accent-bg: #3a2b0e;--accent-text: #f5c67a;--amber: #f5a623;--chart-secondary: #60a5fa;--success-bg: #123d32;--success-text: #8ce6c4;--warning-bg: #4a3513;--warning-text: #f5c67a;--danger-bg: #4a202b;--danger-text: #ffb4c0;--neutral-bg: #2a3448;--neutral-text: #b4bfd2;--shadow: 0 1px 2px rgba(0, 0, 0, .2), 0 12px 32px rgba(0, 0, 0, .35);--rail-bg: var(--surface);--rail-border: var(--border);--rail-text: var(--text);--rail-muted: var(--text-secondary);--rail-active: var(--brand);--chrome-bg: var(--surface)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,sans-serif;line-height:1.6;min-height:100vh}h1,h2,h3,.eyebrow,.logo-shell{font-family:Poppins,Segoe UI,sans-serif}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr)}.left-rail{background:var(--rail-bg);color:var(--rail-text);border-right:none;position:sticky;top:0;height:100vh;overflow-y:auto;align-self:start;padding:0;display:flex;flex-direction:column;gap:0}.rail-brand{background:var(--chrome-bg);border-bottom:1px solid var(--rail-border);min-height:84px;padding:10px 12px;display:flex;justify-content:flex-start;align-items:center}.workspace{min-width:0}.topbar{position:sticky;top:0;z-index:50;background:var(--chrome-bg);border-bottom:1px solid var(--border);min-height:84px;padding:10px 16px}.topbar-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.topbar-title{margin:0;font-size:24px;line-height:1.2}.content-wrap{padding:18px 16px 28px}.boot-screen{min-height:100vh;display:grid;place-items:center;color:var(--text-secondary);font-weight:600}.login-shell{min-height:100vh;display:block;padding:0}.login-layout{width:100%;min-height:100vh;background:var(--surface);border:0;border-radius:0;box-shadow:none;display:grid;grid-template-columns:1fr 1fr;overflow:hidden}.login-left{padding:44px;border-right:1px solid var(--border);background:radial-gradient(circle at 20% 20%,color-mix(in srgb,var(--accent-bg) 70%,transparent) 0,transparent 42%),linear-gradient(180deg,color-mix(in srgb,var(--surface-2) 85%,transparent),var(--surface));display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.login-left h1{margin:6px 0 8px;font-size:36px;line-height:1.1}.login-kicker{margin:0;color:var(--brand);text-transform:uppercase;letter-spacing:1.4px;font-size:12px;font-weight:700}.login-right{padding:44px;display:flex;flex-direction:column;justify-content:center}.login-left>*,.login-right>*{width:min(100%,520px)}.login-right .login-form{width:min(100%,520px)}.login-right h2{margin:0 0 6px;font-size:30px}.login-value-grid{margin-top:22px;display:grid;gap:14px}.login-value-card{border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:14px}.login-value-card h3{margin:0 0 4px;font-size:16px}.login-value-card p{margin:0;color:var(--text-secondary);font-size:13px}.login-card{width:min(100%,440px);background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:26px}.login-logo{margin-bottom:16px}.login-card h1{margin:0 0 6px}.login-form{grid-template-columns:1fr;margin-top:10px}.form-grid.login-form{grid-template-columns:1fr}.notice{margin:0 0 10px;font-size:13px;color:var(--text-secondary)}.header-left{display:grid;gap:8px}.header-context h1{margin:8px 0 0;font-size:22px;line-height:1.1}.header-context p{margin:0;font-size:13px;color:var(--text-secondary)}.header-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.icon-btn{width:40px;height:40px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px}.icon-btn:hover{border-color:var(--brand);color:var(--brand)}.profile-menu-wrap{position:relative}.profile-icon-btn{font-size:17px}.profile-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:196px;background:var(--surface);border:1px solid var(--border);border-radius:9px;box-shadow:var(--shadow);padding:4px;z-index:90}.profile-menu-item{width:100%;border:0;background:transparent;text-align:left;padding:8px 9px;border-radius:7px;color:var(--text);font:inherit;font-size:13px;line-height:1.25;cursor:pointer}.profile-menu-item:hover{background:var(--surface-2)}.brand-cluster{display:flex;align-items:center;justify-content:center;gap:12px}.logo-shell{font-size:22px;font-weight:600;display:flex;align-items:center}.logo-shell .tra{color:var(--rail-text)}.logo-shell .avo{color:var(--brand)}.logo-suffix{font-size:12px;color:var(--rail-text);background:var(--accent-bg);border:1px solid var(--border);padding:4px 8px;border-radius:999px}.theme-toggle{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);border-radius:9px;padding:10px 14px;font-weight:600;cursor:pointer}.theme-toggle:hover{border-color:var(--brand);color:var(--brand)}.content-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow)}.sidebar-card{border:1px solid var(--rail-border);border-radius:10px;background:var(--surface-2);padding:12px}.sidebar-head{margin-bottom:12px}.sidebar-sub{margin:0 0 8px;color:var(--rail-muted);font-size:13px}.health-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid var(--rail-border);font-size:12px;color:var(--accent-text);background:var(--accent-bg)}.sidebar-nav{display:grid;gap:8px;padding:12px 12px 0;margin-bottom:14px}.sidebar-section{display:grid;gap:7px}.sidebar-group-title{margin:6px 4px 0;font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.7px;font-weight:700}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--brand);margin-top:0}.menu-btn{width:100%;border:1px solid var(--rail-border);background:var(--surface);color:var(--rail-text);border-radius:10px;text-align:left;display:flex;align-items:flex-start;gap:10px;padding:11px;font-weight:600;cursor:pointer;transition:border-color .2s ease,background .2s ease,color .2s ease}.menu-btn:hover{border-color:var(--brand)}.menu-btn-muted{opacity:.72;cursor:default}.menu-btn-muted:hover{border-color:var(--rail-border)}.menu-glyph{width:32px;height:32px;border-radius:9px;border:1px solid var(--rail-border);display:inline-flex;align-items:center;justify-content:center;background:var(--surface-2);color:var(--brand);font-size:10px;font-weight:700;letter-spacing:.8px;flex-shrink:0}.menu-btn.active{background:var(--rail-active);color:var(--on-brand);border-color:var(--rail-active)}.menu-btn.active .menu-glyph{background:color-mix(in srgb,var(--on-brand) 18%,transparent);border-color:color-mix(in srgb,var(--on-brand) 45%,transparent);color:var(--on-brand)}.menu-copy{display:grid;gap:1px}.menu-copy strong{color:inherit;font-size:13px;line-height:1.25}.menu-copy small{color:var(--rail-muted);font-size:11.5px;font-weight:500}.menu-btn.active .menu-copy small{color:color-mix(in srgb,var(--on-brand) 88%,transparent)}.row-selected{background:color-mix(in srgb,var(--brand) 7%,transparent)}.sidebar-divider{display:none}.sidebar-refresh{width:100%;margin-left:12px;margin-right:12px;margin-bottom:12px;color:var(--text-secondary);border-color:var(--rail-border);background:transparent}.sidebar-panel{display:grid;gap:10px;margin:0 12px 12px}.sidebar-panel div{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--rail-muted)}.sidebar-panel strong{color:var(--rail-text);font-family:Poppins,Segoe UI,sans-serif;font-size:15px}.content-card{padding:24px}.profile-page{display:grid;gap:14px}.profile-hero{border:1px solid var(--border);border-radius:14px;padding:16px;background:linear-gradient(140deg,color-mix(in srgb,var(--surface-2) 72%,var(--surface) 28%),var(--surface));display:flex;align-items:center;gap:14px}.profile-avatar{width:72px;height:72px;border-radius:18px;border:1px solid color-mix(in srgb,var(--brand) 35%,var(--border) 65%);background:color-mix(in srgb,var(--brand) 16%,var(--surface) 84%);display:grid;place-items:center;font-size:26px;font-weight:700;color:var(--brand)}.profile-head-copy h1{margin:0;font-size:28px}.profile-tags{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px}.profile-tags span{font-size:12px;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);border-radius:999px;padding:4px 9px}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.profile-panel{border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:14px}.profile-panel h3{margin:0 0 10px;font-size:17px}.profile-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.profile-field-grid label{font-size:12px;color:var(--text-muted)}.profile-field-grid p{margin:2px 0 0;font-size:14px;color:var(--text)}.profile-list,.profile-metrics{display:grid;gap:8px}.profile-list div,.profile-metrics div{border:1px solid var(--border);border-radius:10px;background:var(--surface-2);padding:9px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px}.profile-list span,.profile-metrics span{color:var(--text-secondary);font-size:12px}.profile-list strong,.profile-metrics strong{font-size:14px}.module-page-stack{display:grid;gap:14px}.module-tabs{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);background:var(--surface-2);border-radius:12px;padding:6px;width:fit-content}.filters-bar{display:grid;grid-template-columns:1.6fr repeat(3,minmax(0,1fr)) auto;gap:10px;margin-bottom:12px;align-items:end}.filters-actions{display:flex;align-items:flex-end;justify-content:flex-end}.user-filters-bar{grid-template-columns:1.5fr repeat(3,minmax(0,1fr)) auto}.invitation-filters-bar,.audit-filters-bar{grid-template-columns:1.6fr minmax(0,1fr) auto}.session-filters-bar{grid-template-columns:1.8fr auto}.pagination-bar{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:8px}.pagination-bar p{margin:0;color:var(--text-secondary);font-size:12px}.pagination-actions{display:inline-flex;align-items:center;gap:8px}.page-chip{border:1px solid var(--border);background:var(--surface-2);color:var(--text-secondary);border-radius:8px;padding:4px 8px;font-size:12px}.module-tab{border:1px solid transparent;background:transparent;color:var(--text-secondary);border-radius:9px;padding:7px 12px;font-size:13px;font-weight:600;cursor:pointer}.module-tab.active{background:var(--surface);border-color:var(--border);color:var(--text)}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-card h3{margin:0 0 10px;font-size:17px}.kv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.kv-grid div{border:1px solid var(--border);border-radius:10px;background:var(--surface-2);padding:9px;display:grid;gap:1px}.kv-grid span{font-size:12px;color:var(--text-secondary)}.kv-grid strong{font-size:14px;line-height:1.3}.span-2{grid-column:span 2}.span-all{grid-column:1 / -1}.chip-list{display:flex;flex-wrap:wrap;gap:8px}.permissions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.permission-card{border:1px solid var(--border);border-radius:11px;background:var(--surface-2);padding:10px}.permission-card h4{margin:0 0 8px;font-size:14px}.permission-list{display:grid;gap:6px}.permission-row{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:6px 8px}.permission-row span{font-size:12px;color:var(--text-secondary)}.permission-row strong{font-size:12px}.tag-chip{border:1px solid var(--border);border-radius:999px;padding:5px 10px;font-size:12px;background:var(--surface-2)}.row-actions{display:flex;flex-wrap:wrap;gap:6px}.btn-xs{padding:5px 8px;font-size:11px;border-radius:8px}.btn-icon-only{min-width:32px;min-height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:14px;line-height:1}.checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.check-pill{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);padding:8px}.check-pill span{font-size:13px}.growth-list{display:grid;gap:8px}.growth-row{border:1px solid var(--border);border-radius:10px;background:var(--surface-2);padding:9px 10px;display:flex;align-items:center;justify-content:space-between}.capacity-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.capacity-card{border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--surface);display:grid;gap:10px}.capacity-head strong{font-size:15px}.capacity-head p{margin:0;color:var(--text-secondary);font-size:12px}.capacity-bar-block{display:grid;gap:5px}.capacity-bar-block span{font-size:12px;color:var(--text-secondary)}.capacity-bar-track{height:10px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);overflow:hidden}.capacity-bar-fill{height:100%;background:linear-gradient(90deg,color-mix(in srgb,var(--brand) 80%,#fff 20%),var(--brand))}.capacity-bar-fill.teacher{background:linear-gradient(90deg,#0f766e,#0f766e)}.dashboard-stack{display:grid;gap:16px}.overview-card{border:1px solid var(--border);border-radius:14px;padding:14px;background:linear-gradient(150deg,color-mix(in srgb,var(--surface-2) 75%,var(--surface) 25%),var(--surface))}.overview-card h2{margin:0 0 4px;font-size:22px}.overview-grid{margin-top:10px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.overview-grid div{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:10px;display:grid;gap:3px}.overview-grid span{color:var(--text-secondary);font-size:12px}.overview-grid strong{font-size:18px;line-height:1.2}.metric-cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.metric-card{border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:12px;display:grid;gap:2px}.metric-card p{margin:0;color:var(--text-secondary);font-size:12px}.metric-card h3{margin:0;font-size:26px;line-height:1.1}.metric-card small{color:var(--text-secondary);font-size:12px}.user-metric-grid,.role-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-two-col{display:grid;grid-template-columns:2fr 1fr;gap:12px}.surface-panel{border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:14px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:14px}.page-header>div:first-child{min-width:0;flex:1}.page-header h1{margin:0;font-size:28px;line-height:1.2}.page-header p{margin:7px 0 0;color:var(--text-secondary)}.page-header>.btn{margin-left:auto;flex-shrink:0}.page-header .btn,.filters-actions .btn,.school-detail-table-wrapper .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px}.button-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1}.surface-panel h3{margin:0 0 10px;font-size:18px}.panel-head-top{align-items:flex-start}.panel-head-actions-only{width:100%;justify-content:flex-end}.panel-head-actions-only .btn{margin-left:auto}.panel-subtext{margin:4px 0 0}.revenue-chart{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;align-items:end;min-height:220px}.revenue-col{display:grid;justify-items:center;gap:4px}.revenue-col p,.revenue-col small{margin:0;font-size:11px;color:var(--text-secondary)}.revenue-bar-wrap{width:100%;height:140px;background:var(--surface-2);border-radius:999px;overflow:hidden;display:flex;align-items:flex-end}.revenue-bar{width:100%;border-radius:inherit;background:linear-gradient(180deg,color-mix(in srgb,var(--brand) 75%,#ffffff 25%),var(--brand))}.donut-wrap{display:grid;gap:12px;justify-items:center}.donut{width:170px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;position:relative}.donut:after{content:"";width:102px;aspect-ratio:1;border-radius:50%;background:var(--surface);border:1px solid var(--border)}.donut span{position:absolute;font-size:24px;font-weight:700}.donut-legend{width:100%;display:grid;gap:8px}.donut-legend p{margin:0;display:flex;align-items:center;gap:8px;font-size:13px}.dot{width:10px;height:10px;border-radius:50%}.dot.starter{background:var(--brand)}.dot.professional{background:#1d4ed8}.dot.enterprise{background:#f59e0b}.pipeline-grid,.support-grid,.health-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pipeline-grid div,.support-grid div,.health-grid div{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;padding:10px;display:grid;gap:2px}.pipeline-grid span,.support-grid span,.health-grid span{color:var(--text-secondary);font-size:12px}.pipeline-grid strong,.support-grid strong,.health-grid strong{font-size:20px;line-height:1.2}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600;border:1px solid var(--border)}.status-pill.active{color:var(--success-text);background:var(--success-bg)}.status-pill.expiring{color:var(--warning-text);background:var(--warning-bg)}.status-pill.expired{color:var(--danger-text);background:var(--danger-bg)}.status-pill.suspended,.status-pill.disabled{color:var(--neutral-text);background:var(--neutral-bg)}.status-pill.success{color:var(--success-text);background:var(--success-bg)}.status-pill.warning{color:var(--warning-text);background:var(--warning-bg)}.status-pill.danger{color:var(--danger-text);background:var(--danger-bg)}.status-pill.neutral{color:var(--neutral-text);background:var(--neutral-bg)}.activity-list,.renewal-list{display:grid;gap:8px}.activity-item,.renewal-item{border:1px solid var(--border);border-radius:10px;padding:10px;background:var(--surface-2)}.activity-item p,.activity-item strong,.activity-item small{margin:0;display:block}.activity-item p{color:var(--text-secondary);font-size:12px}.activity-item strong{font-size:14px;line-height:1.25}.activity-item small{color:var(--text-muted);font-size:12px}.renewal-item{display:flex;align-items:center;justify-content:space-between;gap:10px}.renewal-item strong,.renewal-item small{margin:0;display:block}.renewal-item small{color:var(--text-secondary);font-size:12px}.renewal-item span{font-weight:700;color:var(--accent-text)}.quick-actions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#14213d57;display:grid;place-items:center;padding:20px;z-index:120;overflow:auto;overscroll-behavior:contain}.modal-card{width:min(100%,680px);max-height:calc(100vh - 40px);border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:var(--shadow);padding:16px;overflow-y:auto;overscroll-behavior:contain}.modal-dialog{display:flex;width:min(100%,720px);max-height:calc(100dvh - 32px);flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}.modal-dialog-header{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;border-bottom:1px solid var(--border)}.modal-dialog-header h3{margin:0;color:var(--text);font-size:20px;line-height:1.25}.modal-dialog-body{min-height:0;overflow-y:auto;padding:20px 24px 24px;overscroll-behavior:contain}.modal-dialog-body .subscription-form-row{display:grid;gap:7px}.modal-dialog-body .subscription-form-row label{color:var(--text-secondary);font-size:13px;font-weight:600}.modal-dialog-body .subscription-form-row select{min-height:40px}.modal-close{display:inline-grid;width:32px;height:32px;flex:0 0 auto;place-items:center;padding:0;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);cursor:pointer;font-size:18px;line-height:1}.modal-close:hover{background:var(--surface-2)}.modal-wide{width:min(100%,820px)}.modal-sm{width:min(100%,460px)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.api-loading-indicator{position:fixed;top:18px;left:50%;z-index:10001;display:inline-flex;align-items:center;gap:9px;min-height:40px;padding:0 14px;transform:translate(-50%);border:1px solid var(--border);border-radius:999px;background:var(--surface);box-shadow:var(--shadow);color:var(--text);font-size:13px;font-weight:700;pointer-events:none}.api-loading-spinner{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--brand);border-radius:50%;animation:api-spin .75s linear infinite}.api-success-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:grid;place-items:center;padding:20px;background:#14213d57}.api-success-dialog{width:min(100%,360px);padding:28px 24px 24px;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:var(--shadow);text-align:center}.api-success-icon{display:grid;width:48px;height:48px;margin:0 auto 14px;place-items:center;border-radius:50%;background:#daf5e9;color:#046c4e;font-size:28px;font-weight:800}.api-success-dialog h2{margin:0;color:var(--text);font-size:20px}.api-success-dialog p{margin:8px 0 22px;color:var(--text-secondary);font-size:14px}@keyframes api-spin{to{transform:rotate(360deg)}}.role-accordion-stack{display:grid;gap:10px}.accordion-card{border:1px solid var(--border);border-radius:12px;background:var(--surface);overflow:hidden}.accordion-toggle{width:100%;border:0;background:var(--surface-2);color:var(--text);padding:12px 14px;display:flex;align-items:center;justify-content:space-between;font:inherit;cursor:pointer}.accordion-body{padding:12px}.checkbox-label{display:flex;align-items:center;gap:8px;color:var(--text-secondary)}.checkbox-label input{width:auto}.lead{color:var(--text-secondary);margin-top:0}.error-banner{background:var(--accent-bg);color:var(--accent-text);border:1px solid var(--border);border-radius:10px;padding:10px 12px}.role-card{border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:14px;background:var(--surface)}.role-card h3{margin-top:0;margin-bottom:12px}.perm-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);padding:10px 0;gap:10px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:20px}label{display:grid;gap:6px;font-size:13px;color:var(--text-secondary)}input,select,textarea{width:100%;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:9px;padding:10px;font:inherit}input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb,var(--brand) 40%,transparent);outline-offset:1px}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:9px;padding:10px 14px;font-size:13px;font-weight:600;border:1px solid transparent;cursor:pointer}.btn:disabled{opacity:.7;cursor:not-allowed}.btn-primary{background:var(--brand);color:var(--on-brand)}.btn-primary:hover{background:var(--brand-hover)}.btn-ghost{border-color:var(--border);color:var(--text-secondary);background:transparent}.btn-ghost:hover{border-color:var(--brand);color:var(--brand)}table{width:100%;border-collapse:collapse;border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-top:12px;font-size:13px}thead{background:var(--surface-2)}th,td{border-bottom:1px solid var(--border);text-align:left;padding:9px 10px;vertical-align:top}.action-cell{display:grid;grid-template-columns:1fr 1fr auto;gap:8px}.content-card h1{margin-top:0;margin-bottom:12px;line-height:1.2}.content-card ul{margin:0 0 18px;color:var(--text-secondary)}.kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.kpi{background:var(--surface-2);border-radius:10px;border:1px solid var(--border);padding:14px}.kpi p{margin:0;font-size:13px;color:var(--text-secondary)}.kpi h2{margin:2px 0 0;font-size:24px}@media (max-width: 860px){.app-shell{grid-template-columns:1fr}.left-rail{position:static;top:auto;height:auto;overflow-y:visible;border-right:none;border-bottom:1px solid var(--rail-border)}.topbar-row{align-items:center}.header-actions{margin-left:0}.form-grid{grid-template-columns:1fr}.login-layout{grid-template-columns:1fr;min-height:auto}.login-left{border-right:none;border-bottom:1px solid var(--border);justify-content:flex-start}.action-cell,.kpi-grid,.overview-grid,.metric-cards-grid,.user-metric-grid,.dashboard-two-col,.profile-grid,.profile-field-grid,.filters-bar,.detail-grid,.kv-grid,.permissions-grid,.checkbox-grid,.capacity-list,.pipeline-grid,.support-grid,.health-grid,.quick-actions-grid{grid-template-columns:1fr}.pagination-bar{flex-direction:column;align-items:flex-start}.span-2{grid-column:auto}.profile-hero{align-items:flex-start;flex-direction:column}.page-header{flex-direction:column}.page-header>.btn{margin-left:0;width:100%}.modal-card,.modal-wide,.modal-sm,.modal-dialog{width:100%}.modal-backdrop{padding:12px;place-items:start center}.modal-dialog{max-height:calc(100dvh - 24px)}.modal-dialog-header,.modal-dialog-body{padding-right:16px;padding-left:16px}.revenue-chart{min-height:180px}}
