.tenant-pwa-panel{display:grid;gap:16px}.tenant-pwa-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tenant-pwa-form>label{display:grid;gap:6px;font-weight:600}.tenant-pwa-form input{border:1px solid #cfd6e3;border-radius:9px;padding:10px;background:#fff}.tenant-pwa-enabled{grid-column:1 / -1}.tenant-pwa-color{display:grid;grid-template-columns:54px 1fr;gap:8px}.tenant-pwa-color input[type=color]{width:54px;height:42px;padding:3px}@media(max-width:850px){.tenant-pwa-form{grid-template-columns:1fr}.tenant-pwa-enabled{grid-column:auto}}.tenant-backup-panel{display:grid;gap:16px}.tenant-backup-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.tenant-backup-master{padding:8px 11px;border-radius:9px;white-space:nowrap;font-size:.88rem}.tenant-backup-master.active{background:#edf8f2;border:1px solid #b9e0c9}.tenant-backup-master.inactive{background:#fff1f1;border:1px solid #efc1c1}.tenant-backup-master-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px;border:1px solid #e3e8f0;border-radius:10px}.tenant-backup-master-controls span{margin-right:auto;font-weight:600}.tenant-backup-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tenant-backup-form>label{display:grid;gap:6px;font-weight:600}.tenant-backup-form input,.tenant-backup-form select{border:1px solid #cfd6e3;border-radius:9px;padding:10px;background:#fff}.tenant-backup-wide{grid-column:1/-1}.tenant-backup-summary{display:grid;gap:5px;padding:13px;border:1px solid #e3e8f0;border-radius:10px;background:#f8fafc}@media(max-width:850px){.tenant-backup-heading{flex-direction:column}.tenant-backup-form{grid-template-columns:1fr}.tenant-backup-wide{grid-column:auto}.tenant-backup-master-controls{align-items:stretch;flex-direction:column}.tenant-backup-master-controls span{margin-right:0}}.tenant-backup-ops-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.tenant-backup-stat{display:grid;gap:5px;padding:12px;border:1px solid #e3e8f0;border-radius:10px;background:#f8fafc}.tenant-backup-stat span{font-size:.78rem;color:#69758b;text-transform:uppercase;letter-spacing:.03em}.tenant-backup-now-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.tenant-backup-history{display:grid;gap:10px}.tenant-backup-history-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.tenant-backup-history-table-wrap{overflow:auto;border:1px solid #e3e8f0;border-radius:10px}.tenant-backup-history-table{width:100%;border-collapse:collapse;min-width:760px}.tenant-backup-history-table th,.tenant-backup-history-table td{padding:10px;border-bottom:1px solid #edf0f5;text-align:left;vertical-align:top}.tenant-backup-history-table th{background:#f8fafc;font-size:.8rem}.backup-status{display:inline-block;padding:4px 8px;border-radius:999px;font-size:.78rem;font-weight:700}.backup-status.completed{background:#edf8f2}.backup-status.failed{background:#fff1f1}.backup-status.running{background:#fff7df}.backup-status.expired{background:#f1f3f6}@media(max-width:900px){.tenant-backup-ops-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.tenant-backup-ops-grid{grid-template-columns:1fr}}.tenant-backup-validation{display:grid;gap:10px;padding:14px;border-radius:10px;border:1px solid #d7dde8}.tenant-backup-validation.valid{background:#edf8f2;border-color:#b9e0c9}.tenant-backup-validation.invalid{background:#fff1f1;border-color:#efc1c1}.tenant-backup-validation-heading{display:flex;justify-content:space-between;gap:10px;align-items:center}.tenant-backup-validation p{margin:0}.tenant-backup-validation-meta{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:.88rem}.tenant-backup-validation ul{margin:0;padding-left:20px}.tenant-backup-row-actions{display:flex;gap:6px;flex-wrap:wrap}.tenant-restore-preview,.tenant-restore-result{display:grid;gap:14px;padding:16px;border:1px solid #d8dee9;border-radius:12px;background:#fff}.tenant-restore-result{background:#edf8f2;border-color:#b9e0c9}.tenant-restore-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.tenant-restore-readiness{padding:10px 12px;border-radius:9px;font-weight:700}.tenant-restore-readiness.ready{background:#edf8f2;border:1px solid #b9e0c9}.tenant-restore-readiness.blocked{background:#fff1f1;border:1px solid #efc1c1}.tenant-restore-meta{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:.88rem}.tenant-restore-warning,.tenant-restore-checks,.tenant-restore-danger{padding:12px;border-radius:10px}.tenant-restore-warning{background:#fff7df;border:1px solid #ead59d}.tenant-restore-checks{background:#f8fafc;border:1px solid #e3e8f0}.tenant-restore-danger{background:#fff1f1;border:1px solid #efc1c1;font-weight:600}.tenant-restore-warning ul,.tenant-restore-checks ul{margin:8px 0 0;padding-left:20px}.tenant-restore-table-wrap{overflow:auto;border:1px solid #e3e8f0;border-radius:10px}.tenant-restore-table{width:100%;border-collapse:collapse;min-width:650px}.tenant-restore-table th,.tenant-restore-table td{padding:10px;border-bottom:1px solid #edf0f5;text-align:left}.tenant-restore-table th{background:#f8fafc}.tenant-restore-field{display:grid;gap:7px;font-weight:600}.tenant-restore-field textarea,.tenant-restore-field input{border:1px solid #cfd6e3;border-radius:9px;padding:10px;background:#fff}.tenant-restore-field textarea{min-height:88px;resize:vertical}.tenant-restore-field code{width:fit-content;padding:4px 7px;border-radius:6px;background:#f1f3f6}.tenant-restore-action,.tenant-restore-button{border:1px solid #b42318;background:#fff;color:#b42318}.tenant-restore-button{justify-self:start;font-weight:700}.tenant-restore-action:hover:not(:disabled),.tenant-restore-button:hover:not(:disabled){background:#fff1f1}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172033;background:#f4f6fa;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button{cursor:pointer}.login-page,.page-center{min-height:100vh;display:grid;place-items:center;padding:24px}.login-page{background:radial-gradient(circle at top left,rgba(38,90,180,.16),transparent 32%),#f4f6fa}.login-card,.loading-card{width:min(100%,430px);background:#fff;border:1px solid #e2e7f0;border-radius:18px;padding:32px;box-shadow:0 18px 60px #1b27431a}.login-card h1{margin:18px 0 6px;font-size:1.65rem}.brand-mark{display:inline-grid;place-items:center;min-width:62px;height:62px;padding:0 12px;border-radius:16px;background:#173b7a;color:#fff;font-weight:800;letter-spacing:.04em}.brand-mark-small{min-width:42px;height:42px;border-radius:11px;font-size:.85rem}.muted{color:#69758b}.login-form{display:grid;gap:18px;margin-top:28px}.login-form label{display:grid;gap:7px;font-size:.9rem;font-weight:650}.login-form input{width:100%;border:1px solid #cfd6e3;border-radius:10px;padding:11px 12px;outline:none;background:#fff}.login-form input:focus{border-color:#315fa8;box-shadow:0 0 0 3px #315fa81f}.button{border:0;border-radius:10px;padding:10px 16px;font-weight:700}.button:disabled{opacity:.65;cursor:not-allowed}.button-primary{background:#173b7a;color:#fff}.button-secondary{background:#eef2f8;color:#26344d}.alert{border-radius:10px;padding:10px 12px}.alert-error{background:#fff1f1;color:#9e2626;border:1px solid #ffd1d1}.app-shell{min-height:100vh;display:grid;grid-template-columns:255px 1fr}.sidebar{background:#101d34;color:#fff;padding:20px 16px}.sidebar-brand{display:flex;gap:12px;align-items:center;padding:4px 4px 22px}.sidebar-brand div{display:grid;gap:2px}.sidebar-brand small{color:#aab7ca}.sidebar-nav{display:grid;gap:7px}.nav-item{color:#cbd5e3;text-decoration:none;padding:11px 12px;border-radius:9px}.nav-item:hover,.nav-item.active{background:#203554;color:#fff}.app-main{min-width:0}.topbar{min-height:68px;padding:12px 24px;background:#fff;border-bottom:1px solid #e0e5ee;display:flex;align-items:center;justify-content:space-between;gap:18px}.topbar>div{display:grid;gap:2px}.topbar small{color:#738097}.content{padding:26px}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}.page-heading h1{margin:0 0 5px}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{background:#fff;border:1px solid #e0e5ee;border-radius:14px;padding:20px;display:grid;gap:7px;box-shadow:0 5px 20px #1b27430a}.card-label{color:#69758b;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.card small{color:#78849a}.mono{font-family:Consolas,Courier New,monospace;overflow-wrap:anywhere}.placeholder-page{background:#fff;border:1px solid #e0e5ee;border-radius:14px;padding:24px}@media(max-width:850px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.card-grid{grid-template-columns:1fr}.topbar{padding:12px 16px}.content{padding:18px 16px}}.entitlement-loading,.entitlement-unavailable{opacity:.58;cursor:default}button.nav-item.entitlement-locked{width:100%;border:0;text-align:left;font:inherit;display:flex;align-items:center;justify-content:space-between;cursor:pointer}.entitlement-lock{margin-left:12px;font-size:.82rem}.entitlement-modal-backdrop{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:20px;background:#1018288f}.entitlement-modal{width:min(92vw,480px);padding:26px;border-radius:14px;background:#fff;box-shadow:0 22px 60px #0f172a47}.entitlement-modal-icon{font-size:1.7rem;margin-bottom:10px}.entitlement-modal h2{margin:0 0 10px}.entitlement-modal p{margin:0 0 12px;line-height:1.55}.entitlement-modal small{display:block;margin-top:8px;color:#667085}.entitlement-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.entitlement-modal-actions button,.entitlement-locked-action{border-radius:8px;padding:10px 15px;cursor:pointer}.entitlement-modal-actions .secondary-button{border:1px solid #d0d5dd;background:#fff}.entitlement-modal-actions .primary-button,.entitlement-locked-action{border:1px solid transparent;background:#1f4e79;color:#fff}.feature-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.feature-form label{display:grid;gap:7px;font-size:.9rem;font-weight:650}.feature-form input,.feature-form select,.feature-form textarea,.feature-filters input,.feature-filters select{width:100%;border:1px solid #cfd6e3;border-radius:10px;padding:10px 12px;outline:none;background:#fff;color:inherit;font:inherit}.feature-form input:focus,.feature-form select:focus,.feature-form textarea:focus,.feature-filters input:focus,.feature-filters select:focus{border-color:#315fa8;box-shadow:0 0 0 3px #315fa81f}.feature-form textarea{min-height:92px;resize:vertical}.feature-description-field,.feature-form-actions{grid-column:1 / -1}.feature-list-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.feature-list-heading h2,.feature-list-heading p{margin-top:0}.feature-filters{display:grid;grid-template-columns:minmax(240px,2fr) repeat(3,minmax(130px,1fr));gap:10px;margin:14px 0 18px}.feature-name-cell{display:grid;gap:4px}.feature-name-cell .mono{color:#69758b;font-size:.82rem}.feature-type-badge,.feature-status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:.8rem;font-weight:700}.feature-type-badge{background:#eef2f8;color:#26344d}.feature-status.active{background:#eaf7ef;color:#17663c}.feature-status.inactive{background:#f3f4f6;color:#667085}@media(max-width:900px){.feature-form,.feature-filters{grid-template-columns:1fr}.feature-description-field,.feature-form-actions{grid-column:auto}}.version-builder-grid{display:grid;grid-template-columns:minmax(240px,310px) minmax(0,1fr);gap:18px;align-items:start}.version-card{width:100%;display:grid;gap:4px;text-align:left;border:1px solid #dce2eb;background:#fff;border-radius:11px;padding:13px;margin-bottom:9px;color:inherit}.version-card:hover,.version-card.selected{border-color:#315fa8;background:#f5f8fd}.version-card span,.version-card small{color:#69758b}.version-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.version-form label,.version-feature-overrides label{display:grid;gap:7px;font-size:.9rem;font-weight:650}.version-form input,.version-form textarea,.version-feature-card input,.version-feature-card select,.version-feature-card textarea,.version-feature-search{width:100%;border:1px solid #cfd6e3;border-radius:9px;padding:9px 11px;background:#fff;color:inherit;font:inherit}.version-form textarea,.version-feature-card textarea{min-height:80px;resize:vertical}.version-wide{grid-column:1/-1}.version-checkbox{display:flex!important;align-items:center;gap:9px!important}.version-checkbox input{width:auto}.version-detail-heading{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.version-detail-heading h2,.version-detail-heading p{margin-top:0}.version-defaults{display:grid;gap:5px;background:#f6f8fb;border:1px solid #e1e6ee;border-radius:10px;padding:13px;margin:10px 0 22px}.version-defaults span{color:#69758b}.version-feature-list{display:grid;gap:12px;margin-bottom:24px}.version-feature-card{border:1px solid #dfe5ee;border-radius:11px;padding:14px}.version-feature-card.inactive{opacity:.62}.version-feature-heading{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:14px}.version-feature-heading>div{display:grid;gap:3px}.version-feature-heading small{color:#69758b}.version-feature-overrides{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0;padding-top:14px;border-top:1px solid #e4e8ef}.version-feature-overrides label:first-child{grid-column:1/-1}.version-feature-search{margin-bottom:10px}.catalogue-picker{display:grid;gap:8px;max-height:360px;overflow:auto}.catalogue-picker-row{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid #e2e7ef;border-radius:9px;padding:10px 12px}.catalogue-picker-row>div{display:grid;gap:3px}.catalogue-picker-row small{color:#69758b}@media(max-width:950px){.version-builder-grid,.version-form,.version-feature-overrides,.version-feature-heading{grid-template-columns:1fr}.version-wide,.version-feature-overrides label:first-child{grid-column:auto}}.tenant-version-select{width:min(100%,560px);border:1px solid #cfd6e3;border-radius:10px;padding:10px 12px;background:#fff;font:inherit}.tenant-version-current{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tenant-version-current>div{display:grid;gap:4px;padding:12px;border:1px solid #e1e6ee;border-radius:10px;background:#f8fafc}.tenant-version-current span{color:#69758b;font-size:.82rem}.tenant-version-warning{background:#fff8e7;color:#805c00;border:1px solid #f0d891}.tenant-version-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.tenant-version-form label{display:grid;gap:7px;font-size:.9rem;font-weight:650}.tenant-version-form input,.tenant-version-form select,.tenant-version-form textarea,.tenant-entitlement-filters input,.tenant-entitlement-filters select{width:100%;border:1px solid #cfd6e3;border-radius:10px;padding:10px 12px;background:#fff;font:inherit}.tenant-version-form textarea{min-height:85px;resize:vertical}.tenant-version-wide{grid-column:1/-1}.tenant-version-name{display:grid;gap:4px}.tenant-version-name .mono{color:#69758b;font-size:.82rem}.tenant-entitlement-heading{display:flex;justify-content:space-between;gap:16px}.tenant-entitlement-counts{display:flex;gap:8px;flex-wrap:wrap}.tenant-entitlement-counts span{border:1px solid #dce2eb;background:#f8fafc;border-radius:999px;padding:6px 10px;font-size:.82rem;font-weight:700}.tenant-entitlement-filters{display:grid;grid-template-columns:minmax(220px,1fr) 180px;gap:10px;margin:14px 0 18px}.entitlement-mode{display:inline-flex;border-radius:999px;padding:4px 9px;font-size:.8rem;font-weight:700}.entitlement-mode-available{background:#eaf7ef;color:#17663c}.entitlement-mode-locked{background:#fff5df;color:#835d00}.entitlement-mode-hidden{background:#f2f4f7;color:#667085}@media(max-width:950px){.tenant-version-current,.tenant-version-form,.tenant-entitlement-filters{grid-template-columns:1fr}.tenant-version-wide{grid-column:auto}.tenant-entitlement-heading{display:grid}}.backup-master-row,.backup-section-heading{display:flex;justify-content:space-between;gap:16px;align-items:center}.backup-tenant-select{width:min(100%,560px);border:1px solid #cfd6e3;border-radius:10px;padding:10px 12px;background:#fff;font:inherit}.backup-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.backup-status-grid>div{display:grid;gap:4px;padding:12px;border:1px solid #e1e6ee;border-radius:10px;background:#f8fafc}.backup-status-grid span{color:#69758b;font-size:.82rem}.backup-config-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.backup-config-form label,.backup-restore-form label{display:grid;gap:7px;font-weight:650}.backup-config-form input,.backup-config-form select,.backup-restore-form input,.backup-restore-form textarea{width:100%;border:1px solid #cfd6e3;border-radius:10px;padding:10px 12px;background:#fff;font:inherit}.backup-check{display:flex!important;align-items:center}.backup-check input{width:auto}.backup-config-wide{grid-column:1/-1}.backup-table-wrap{overflow-x:auto}.backup-table{width:100%;border-collapse:collapse}.backup-table th,.backup-table td{text-align:left;padding:10px;border-bottom:1px solid #e5e9f0;vertical-align:top}.backup-actions{display:flex;gap:6px;flex-wrap:wrap}.backup-restore-panel{border:1px solid #e4c76b}.backup-restore-form{display:grid;gap:14px;margin-top:18px}.backup-restore-form textarea{min-height:90px;resize:vertical}.backup-restore-form small{color:#69758b}@media(max-width:950px){.backup-status-grid,.backup-config-form{grid-template-columns:1fr}.backup-config-wide{grid-column:auto}.backup-master-row,.backup-section-heading{display:grid}}.connectivity-indicator{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.04em;background:#e9eef6;color:#3d4a60}.connectivity-indicator.online{background:#e4f5ea;color:#176b3a}.connectivity-indicator.offline{background:#fff0e5;color:#9a4a13}.manual-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.manual-grid article{background:#fff;border:1px solid #dde3ec;border-radius:12px;padding:18px}.manual-grid h2{margin-top:0;font-size:1.05rem}.manual-page .page-heading{margin-bottom:18px}.panel{background:#fff;border:1px solid #e0e5ee;border-radius:14px;padding:20px;margin-bottom:18px;box-shadow:0 5px 20px #1b27430a}.panel h2{margin-top:0}.foundation-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.foundation-form label{display:grid;gap:7px;font-size:.9rem;font-weight:650}.foundation-form input,.foundation-form select,.foundation-form textarea,.foundation-inline input{width:100%;border:1px solid #cfd6e3;border-radius:10px;padding:10px 12px;outline:none;background:#fff;color:inherit;font:inherit}.foundation-form textarea{min-height:95px;resize:vertical}.foundation-wide{grid-column:1 / -1}.foundation-check{display:flex!important;align-items:center;gap:9px!important}.foundation-check input{width:auto}.foundation-check-row{display:flex;flex-wrap:wrap;gap:20px}.foundation-actions{display:flex;flex-wrap:wrap;gap:8px}.foundation-inline{display:grid;grid-template-columns:1fr auto;gap:10px}.foundation-key-panel code{display:block;padding:14px;background:#f5f7fb;border-radius:10px;overflow-wrap:anywhere}.foundation-table-wrap{overflow-x:auto}.foundation-table{width:100%;border-collapse:collapse;min-width:760px}.foundation-table th,.foundation-table td{border-bottom:1px solid #e6eaf1;padding:11px 10px;text-align:left;vertical-align:top;font-size:.9rem}.foundation-table th{color:#59657a;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}.foundation-hash{max-width:210px;overflow-wrap:anywhere}.foundation-status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:.78rem;font-weight:750}.foundation-status.success{background:#e9f7ef;color:#1f6b43}.foundation-status.warning{background:#fff6df;color:#8a6110}.foundation-status.danger{background:#fff0f0;color:#9c3030}.foundation-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px}.foundation-diagnostics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.foundation-diagnostics>div{display:flex;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid #e1e6ef;border-radius:10px;background:#fafbfd}.foundation-diagnostics span{color:#677389}@media(max-width:900px){.foundation-form,.foundation-diagnostics,.foundation-summary-grid,.foundation-inline{grid-template-columns:1fr}}.nav-group{display:grid;gap:5px}.nav-group-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;border:0;background:transparent;color:#cbd5e3;padding:11px 12px;border-radius:9px;text-align:left;cursor:pointer;font:inherit}.nav-group-toggle:hover,.nav-group-toggle.active{background:#203554;color:#fff}.nav-submenu{display:grid;gap:4px;padding-left:13px;border-left:1px solid rgba(203,213,227,.2);margin-left:11px}.nav-submenu .nav-item{padding:9px 10px;font-size:.93rem}.password-field{display:flex;gap:8px;align-items:stretch}.password-field input{flex:1}.password-visibility{min-width:64px;border:1px solid #cdd5df;background:#f7f9fc;border-radius:8px;cursor:pointer}.login-help-row{display:flex;justify-content:flex-end;font-size:.92rem}.login-help-row a{font-weight:600}.login-form textarea{width:100%;resize:vertical}.login-actions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.login-action-link{display:flex;align-items:center;justify-content:center;text-align:center;padding:10px 12px;border:1px solid #d7dfeb;border-radius:10px;text-decoration:none;font-weight:700;background:#f8fafc}.quick-action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.quick-action-grid a{padding:14px;border:1px solid #dce3ee;border-radius:10px;background:#fff;text-decoration:none;font-weight:700}.developer-quick-actions{margin-top:20px}.topbar-actions{display:flex!important;align-items:center;gap:10px}.danger-button{border:1px solid #d54848;background:#fff5f5;color:#a51f1f;border-radius:8px;padding:7px 10px}.record-delete-group{margin-top:20px}.record-delete-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid #e5eaf1}.portal-type-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.portal-type-switch button{padding:10px;border:1px solid #ccd6e5;background:#fff;border-radius:9px}.portal-type-switch button.active{background:#173b7a;color:#fff}.question-format-sample{white-space:pre-wrap;background:#f5f7fb;border:1px solid #dce3ee;border-radius:10px;padding:14px;overflow:auto}@media(max-width:760px){.login-actions-grid,.card-grid{grid-template-columns:1fr}.topbar{align-items:flex-start}.topbar-actions{flex-wrap:wrap}}.capacity-band-list{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 16px}.capacity-band-chip{display:inline-flex;gap:6px;align-items:center;padding:7px 10px;border:1px solid #d8e0ec;border-radius:999px;background:#f8fafc;font-size:.84rem}.stored-image-placeholder{display:inline-flex;align-items:center;justify-content:center;min-width:72px;min-height:72px;background:#eef2f7;border:1px dashed #bcc8d8;border-radius:8px;color:#667085;font-size:.75rem}.portal-short-answer textarea{width:100%;min-height:130px;padding:12px;border:1px solid #cfd7e3;border-radius:10px;font:inherit;resize:vertical}.payment-table,.table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width:1024px){.page-shell,.school-page,.portal-main{max-width:100%;padding-left:14px;padding-right:14px}.school-tabs,.payment-tabs,.results-tabs{overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}.school-tabs button,.payment-tabs button,.results-tabs button{min-height:44px}.button,button,input,select,textarea{font-size:16px}.payment-inline-form,.form-grid,.template-form{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-grid{grid-template-columns:1fr}.portal-payment-methods{display:flex;flex-wrap:wrap;gap:8px}}@media(max-width:680px){.payment-inline-form,.form-grid,.template-form,.foundation-form{grid-template-columns:1fr}.page-heading,.card-heading-row,.portal-header,.portal-user-actions{align-items:stretch;flex-direction:column}.portal-header{gap:10px}.portal-user-actions{display:flex;gap:8px}.portal-payment-methods .button,.portal-payment-methods a{width:100%;justify-content:center}.payment-table table,.table-wrap table{min-width:720px}.school-kpis,.payment-kpis,.results-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.panel,.card{padding:14px}.login-card{width:min(100% - 20px,520px)}.manual-toolbar{position:static;display:flex;flex-wrap:wrap}.report-template-gallery{grid-template-columns:1fr}}.csmp-product-page{display:grid;gap:1rem}.csmp-section-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.preset-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:.9rem}.preset-card{border:1px solid var(--border-color,#d8dee8);border-radius:12px;padding:1rem;display:flex;flex-direction:column;justify-content:space-between;gap:1rem;background:var(--panel-bg,#fff)}.preset-card strong,.preset-card small{display:block}.preset-card p{margin:.55rem 0;color:var(--muted-color,#667085)}.feature-chips{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.55rem}.feature-chips span{font-size:.75rem;padding:.2rem .45rem;border-radius:999px;border:1px solid var(--border-color,#d8dee8)}.preset-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.status-pill{font-size:.78rem;border-radius:999px;padding:.25rem .55rem}.status-pill.active{background:#e7f7ed}.status-pill.inactive{background:#f3f4f6}.custom-builder-grid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(320px,1.2fr);gap:1rem}.custom-fields{display:grid;gap:.75rem}.custom-fields label span{display:block;font-weight:600;margin-bottom:.3rem}.custom-fields input,.custom-fields textarea{width:100%}.module-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.module-check{display:flex;align-items:flex-start;gap:.55rem;border:1px solid var(--border-color,#d8dee8);border-radius:10px;padding:.7rem}.module-check span,.module-check small{display:block}.dependency-summary{margin-top:1rem;padding:.75rem;border:1px dashed var(--border-color,#d8dee8);border-radius:10px}.version-management-table{display:grid;gap:.5rem}.version-row{display:grid;grid-template-columns:minmax(240px,2fr) .8fr .6fr auto;gap:.75rem;align-items:center;padding:.65rem;border-bottom:1px solid var(--border-color,#e5e7eb)}.version-row small{display:block}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}@media(max-width:900px){.custom-builder-grid,.module-picker,.version-row{grid-template-columns:1fr}.csmp-section-heading{flex-direction:column}}.portal-login{min-height:100vh;display:grid;place-items:center;background:#f3f6fb;padding:24px}.portal-login-card{width:min(440px,94vw);background:#fff;border:1px solid #dce3ef;border-radius:18px;padding:32px;box-shadow:0 18px 50px #1226431f}.portal-badge{font-size:.75rem;font-weight:800;letter-spacing:.08em;color:#35558a;margin-bottom:12px}.portal-help{margin-top:20px}.portal-shell{min-height:100vh;background:#f4f7fb;color:#15233b}.portal-header{min-height:72px;background:#fff;border-bottom:1px solid #dce3ef;display:flex;align-items:center;justify-content:space-between;padding:12px clamp(18px,4vw,54px);gap:18px}.portal-header strong,.portal-header small{display:block}.portal-school-brand{display:flex;align-items:center;gap:12px}.portal-school-brand img{width:48px;height:48px;object-fit:contain}.portal-main{width:min(1180px,94vw);margin:28px auto;display:grid;gap:22px}.child-switcher{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.child-switcher button{border:1px solid #ccd6e6;background:#fff;border-radius:18px;padding:8px 14px;cursor:pointer}.child-switcher button.active{background:#173f7a;color:#fff}.portal-child{display:flex;align-items:center;gap:18px}.portal-child img{width:82px;height:82px;border-radius:50%;object-fit:cover}.portal-child h1{margin:0 0 6px}.portal-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:20px}.portal-result-link{width:100%;text-align:left;border:1px solid #d7dfeb;background:#fff;border-radius:10px;padding:13px;margin:7px 0;cursor:pointer}.portal-result-link strong,.portal-result-link span{display:block}.portal-result-link span,.exam-row span,.exam-row small,td small{color:#657187;font-size:.85rem;margin-top:4px;display:block}.exam-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #e3e8f1;padding:14px 0}.portal-modal{position:fixed;inset:0;background:#101c308c;display:grid;place-items:center;padding:20px;z-index:2000}.result-sheet{width:min(850px,96vw);max-height:92vh;overflow:auto}.result-title,.exam-top,.exam-actions,.card-heading-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.result-summary{display:flex;gap:20px;flex-wrap:wrap;padding:14px 0}.portal-exam{max-width:900px;margin:auto;width:100%}.exam-question{font-size:1.2rem;line-height:1.6;padding:14px 0}.portal-options{display:grid;gap:10px}.portal-options label{border:1px solid #d7dfeb;border-radius:10px;padding:12px;cursor:pointer}.exam-actions{margin-top:22px}.portal-admin .action-row{display:flex;gap:6px;flex-wrap:wrap}@media(max-width:780px){.portal-grid{grid-template-columns:1fr}.portal-header{align-items:flex-start}.exam-row,.card-heading-row{align-items:flex-start;flex-direction:column}}.portal-user-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.portal-notices{display:grid;gap:10px}.portal-notice{background:#fff;border:1px solid #dce3ef;border-left:5px solid #66758c;border-radius:10px;padding:14px 16px;display:flex;justify-content:space-between;gap:16px;align-items:center}.portal-notice p{margin:5px 0 0}.portal-notice.priority-high,.portal-notice.priority-critical{border-left-color:#b53b3b}.portal-inbox details{border-top:1px solid #e1e6ef;padding:10px 0}.portal-inbox summary{cursor:pointer;display:flex;justify-content:space-between;gap:14px}.portal-inbox summary span{font-size:.8rem;color:#6a768b}.portal-result-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px}.portal-result-row .portal-result-link{margin:7px 0}.result-actions,.template-row,.channel-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.portal-communications{display:grid;gap:14px}.portal-communications textarea{width:100%;resize:vertical}.exam-clock{font-weight:800;font-variant-numeric:tabular-nums}.exam-clock.danger{color:#b3261e}.question-nav{display:flex;gap:6px;flex-wrap:wrap;margin-top:18px}.question-nav button{width:34px;height:34px;border:1px solid #ccd6e6;border-radius:7px;background:#fff;cursor:pointer}.question-nav button.answered{background:#e9f7ef;border-color:#72b58e}.question-nav button.current{outline:2px solid #173f7a}@media(max-width:780px){.portal-result-row{grid-template-columns:1fr}.portal-user-actions{justify-content:flex-end}.portal-notice{align-items:flex-start;flex-direction:column}}.portal-bank-transfer{display:grid;gap:3px;padding:9px 11px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;min-width:220px}.portal-bank-transfer small{max-width:320px}.panel{background:#fff;border:1px solid #e0e5ee;border-radius:14px;padding:20px;margin-bottom:18px}.panel h2{margin-top:0;font-size:1.05rem}.settings-form,.filter-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.settings-form input,.settings-form select,.filter-form input{border:1px solid #cfd6e3;border-radius:9px;padding:10px;background:#fff}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:.9rem}.data-table th,.data-table td{text-align:left;padding:11px 10px;border-bottom:1px solid #e7ebf2;vertical-align:top}.data-table th{color:#59667c;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em}.empty-cell{text-align:center!important;color:#78849a;padding:28px!important}@media(max-width:850px){.settings-form,.filter-form{grid-template-columns:1fr}}.security-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:center}.security-form select{border:1px solid #cfd6e3;border-radius:9px;padding:10px;background:#fff}.assignment-list{display:grid;gap:8px}.assignment-list>div{display:grid;grid-template-columns:minmax(160px,1fr) auto minmax(220px,2fr);gap:12px;align-items:center;padding:10px 12px;border:1px solid #e7ebf2;border-radius:9px;background:#fafbfe}@media(max-width:950px){.security-form{grid-template-columns:1fr 1fr}}@media(max-width:650px){.security-form{grid-template-columns:1fr}.assignment-list>div{grid-template-columns:1fr}}.notice-region{display:grid;gap:10px;margin-bottom:18px}.notice-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid #d9e1ee;border-radius:12px;background:#fff}.notice-banner p{margin:4px 0 0}.notice-banner.compact{border-radius:0;margin:0}.notice-normal{border-left:4px solid #5f7fae}.notice-important{border-left:4px solid #c58317}.notice-critical{border-left:4px solid #b33131}.notice-link{white-space:nowrap;font-weight:700}.notice-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.notice-form input,.notice-form textarea,.notice-form select{border:1px solid #cfd6e3;border-radius:9px;padding:10px;background:#fff}.notice-form textarea{min-height:100px;resize:vertical}.check-line{display:flex;align-items:center;gap:8px}.notice-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.sidebar .notice-region{margin-top:18px}.sidebar .notice-banner{display:block;color:#172033}@media(max-width:850px){.notice-form{grid-template-columns:1fr}.notice-banner{align-items:flex-start;flex-direction:column}}.tenant-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tenant-form input,.tenant-form textarea{border:1px solid #cfd6e3;border-radius:9px;padding:10px;background:#fff}.tenant-form textarea{min-height:90px;resize:vertical}.tenant-list-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.tenant-search{width:min(100%,320px);border:1px solid #cfd6e3;border-radius:9px;padding:9px 10px}.tenant-actions{display:flex;flex-wrap:wrap;gap:6px}.link-button{border:0;background:transparent;color:#173b7a;font-weight:700;padding:0;cursor:pointer;text-align:left}.tenant-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.tenant-details>div{display:grid;gap:4px;padding:14px;border:1px solid #e3e8f0;border-radius:10px}.tenant-details span{color:#69758b;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em}@media(max-width:850px){.tenant-form,.tenant-details{grid-template-columns:1fr}.tenant-list-heading{align-items:stretch;flex-direction:column}.tenant-search{width:100%}}.tenant-admin-panel{display:grid;gap:18px}.tenant-admin-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px;border:1px solid #e3e8f0;border-radius:10px}.tenant-admin-form h3{grid-column:1/-1;margin:0}.tenant-admin-form input,.tenant-admin-form select,.tenant-admin-access input,.tenant-admin-access select{border:1px solid #cfd6e3;border-radius:9px;padding:10px;background:#fff}.tenant-admin-access{display:grid;gap:12px;padding:14px;border:1px solid #e3e8f0;border-radius:10px}.tenant-admin-summary,.tenant-admin-access-row,.tenant-admin-password{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.tenant-admin-summary span{padding:6px 9px;background:#f5f7fb;border-radius:7px}.tenant-admin-access-row select,.tenant-admin-password input{min-width:260px;flex:1}.tenant-admin-role-list{display:grid;gap:8px}.tenant-admin-role-list>div{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid #edf0f5}@media(max-width:850px){.tenant-admin-form{grid-template-columns:1fr}.tenant-admin-access-row,.tenant-admin-password{align-items:stretch;flex-direction:column}.tenant-admin-access-row select,.tenant-admin-password input{min-width:0;width:100%}}.topbar-actions{display:flex;align-items:center;gap:8px}.pwa-install-button.compact{white-space:nowrap}.login-install-action{display:flex;justify-content:center;margin:8px 0 2px}.pwa-help-backdrop{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:20px;background:#0d142294}.pwa-help-card{width:min(100%,430px);padding:22px;border-radius:14px;background:#fff;box-shadow:0 18px 45px #00000038}.pwa-help-card h2{margin-top:0}@media(max-width:700px){.topbar-actions{flex-wrap:wrap;justify-content:flex-end}}.school-admin .page-heading{margin-bottom:16px}.school-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.school-kpis article{border:1px solid #d9e0ea;border-radius:10px;padding:14px;background:#fff;display:grid;gap:4px}.school-kpis strong{font-size:1.35rem}.school-kpis span{color:#677386}.school-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.school-tabs button{border:1px solid #ccd5e2;background:#fff;border-radius:8px;padding:9px 12px;cursor:pointer}.school-tabs button.active{background:#18243a;color:#fff}.school-grid{display:grid;grid-template-columns:minmax(280px,420px) minmax(0,1fr);gap:18px}.school-grid form,.school-list{background:#fff;border:1px solid #d9e0ea;border-radius:10px;padding:18px}.school-grid form{display:grid;gap:12px}.school-grid label{display:grid;gap:5px}.school-grid input,.school-grid select{width:100%;border:1px solid #c9d2df;border-radius:7px;padding:10px;font:inherit}.school-grid .check{grid-template-columns:auto 1fr;align-items:center}.school-grid .check input{width:auto}.school-list-rows{display:grid}.school-list-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;padding:10px 0;border-bottom:1px solid #edf0f4}.primary-button{border:0;border-radius:8px;padding:11px 14px;background:#18243a;color:#fff;cursor:pointer}@media(max-width:800px){.school-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.school-grid{grid-template-columns:1fr}}@media(max-width:480px){.school-kpis,.school-list-row{grid-template-columns:1fr}}.school-admin .panel form,.school-admin form.panel,.school-grid form,.accounting-grid form,.money-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;align-items:end}.school-admin .panel label,.school-grid form label,.money-form label,.accounting-grid form label{display:grid;gap:6px;min-width:0}.school-admin input,.school-admin select,.school-admin textarea,.school-grid input,.school-grid select,.school-grid textarea,.money-form input,.money-form select,.accounting-grid input,.accounting-grid select{width:100%;min-width:0;padding:10px;border:1px solid #cfd8e6;border-radius:8px}.school-admin h2,.school-grid h2,.accounting-grid h3,.money-form h2,.money-form p{grid-column:1/-1}.school-admin .check,.school-grid .check{display:flex!important;align-items:center;gap:8px}.school-admin .check input,.school-grid .check input{width:auto}.school-tabs{display:flex;flex-wrap:wrap;gap:10px}.school-list-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;align-items:center}.records-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin:14px 0 18px}.records-summary button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px;border:1px solid var(--border-color,#d9dde5);border-radius:10px;background:var(--surface,#fff);cursor:pointer}.records-summary button.active{outline:2px solid currentColor}.records-summary strong{font-size:1.35rem}.records-summary span{font-size:.88rem;opacity:.78}.records-search{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.records-search input{flex:1;min-width:260px}.records-search span{font-size:.85rem;opacity:.7}.record-category{margin:18px 0}.record-category h3{display:flex;align-items:center;gap:8px}.record-category h3 span{display:inline-flex;min-width:28px;height:28px;padding:0 8px;align-items:center;justify-content:center;border-radius:999px;background:#eef1f6;font-size:.82rem}.records-pagination{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:10px;flex-wrap:wrap}.record-management-console{max-width:950px}.record-management-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.record-management-console label{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.record-management-console select[size]{min-height:150px}.record-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;padding:14px;border:1px solid var(--border-color,#d9dde5);border-radius:10px;margin:8px 0 14px}.record-preview h3{grid-column:1/-1;margin:0 0 4px}.record-preview div{display:grid;grid-template-columns:140px 1fr;gap:8px}.record-safety-note{padding:12px 14px;border-left:4px solid #c78b00;background:#fff7df;margin:10px 0 14px}.record-safety-note p{margin:4px 0 0}.record-action-choice{display:flex;gap:20px;flex-wrap:wrap;margin:8px 0 14px}.record-action-choice label{display:flex;flex-direction:row;align-items:center;margin:0}.data-module-filter{display:flex;align-items:end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 14px}.data-module-filter label{min-width:260px}.file-selection{padding:8px 10px;background:#f6f7f9;border-radius:8px}@media(max-width:720px){.record-management-toolbar,.record-preview{grid-template-columns:1fr}.record-preview h3{grid-column:auto}.record-preview div{grid-template-columns:1fr}.records-search input{min-width:100%}.records-pagination{justify-content:center}.data-module-filter{align-items:stretch}.data-module-filter label{min-width:100%}}
