.ml-85{margin-left:85px}.card,.card-panel{width:960px;margin:0 auto}code.error{white-space:pre-wrap;color:red}pre.error{background:lavenderblush;padding:15px}.pl-0{padding-left:0 !important}.pr-0{padding-right:0 !important}.font-bold{font-weight:bold}.font-16{font-size:16px !important}:root{--installer-bg-top:#f8fafc;--installer-bg-bottom:#e2e8f0;--installer-surface:rgba(255,255,255,0.94);--installer-surface-strong:#ffffff;--installer-border:rgba(148,163,184,0.22);--installer-border-strong:rgba(148,163,184,0.32);--installer-text:#0f172a;--installer-text-soft:#475569;--installer-text-muted:#64748b;--installer-primary:#2563eb;--installer-primary-hover:#1d4ed8;--installer-shadow:0 24px 60px rgba(15,23,42,0.12);--installer-shadow-soft:0 12px 30px rgba(15,23,42,0.08);--installer-radius:22px;--installer-radius-sm:14px}html{background:linear-gradient(180deg,var(--installer-bg-top) 0%,var(--installer-bg-bottom) 100%)}body{min-height:100vh;overflow-x:hidden;margin:0;padding:32px 16px;box-sizing:border-box;color:var(--installer-text);background:radial-gradient(circle at top left,rgba(37,99,235,0.12),transparent 34%),radial-gradient(circle at top right,rgba(14,165,233,0.1),transparent 28%),linear-gradient(180deg,var(--installer-bg-top) 0%,var(--installer-bg-bottom) 100%);font-family:"Roboto","Segoe UI",system-ui,sans-serif}.installer-shell{width:100%;min-height:calc(100vh - 64px);display:flex;align-items:center;justify-content:center}.installer-frame{width:100%;max-width:980px;margin:0 auto}.card,.card-panel{width:100% !important;max-width:100% !important;margin:0 auto 18px;box-sizing:border-box;border:1px solid var(--installer-border);border-radius:var(--installer-radius);background:var(--installer-surface);box-shadow:var(--installer-shadow);backdrop-filter:blur(14px);overflow:hidden}.installer-frame>.card,.installer-frame>.card-panel{max-width:960px !important}.card .card-content,.card .card-action,.card-panel .card-content{box-sizing:border-box;padding-left:40px;padding-right:40px}.card .card-content,.card-panel .card-content{padding-top:38px;padding-bottom:30px}.card .card-action{margin:0;padding-top:22px;padding-bottom:26px;background:linear-gradient(180deg,rgba(248,250,252,0.96) 0%,rgba(241,245,249,0.92) 100%);border-top:1px solid var(--installer-border)}.installer-frame .btn,.installer-frame button.btn,.installer-frame a.btn,.installer-frame .btn-large,.installer-frame .btn-flat{display:inline-flex !important;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;min-height:36px !important;height:36px !important;padding:0 16px !important;border:1px solid #e5e7eb !important;border-radius:6px !important;background:#313233 !important;color:#eeeeee !important;font-size:13px !important;font-weight:600 !important;line-height:1 !important;letter-spacing:0 !important;text-transform:none !important;box-shadow:none !important;transition:background 0.15s ease,border-color 0.15s ease,color 0.15s ease,box-shadow 0.15s ease}.installer-frame .btn:hover,.installer-frame button.btn:hover,.installer-frame a.btn:hover,.installer-frame .btn:focus,.installer-frame button.btn:focus,.installer-frame a.btn:focus{background:#111827 !important;border-color:#111827 !important;color:#ffffff !important;box-shadow:0 4px 6px -1px rgba(0,0,0,0.1) !important}.installer-frame .btn[readonly],.installer-frame .btn.disabled,.installer-frame .btn:disabled,.installer-frame button.btn:disabled,.installer-frame a.btn:not([href]){background:#4b5563 !important;border-color:#4b5563 !important;color:rgba(255,255,255,0.8) !important;box-shadow:none !important;cursor:not-allowed !important;pointer-events:none !important}.installer-frame .btn .material-icons,.installer-frame button.btn .material-icons,.installer-frame a.btn .material-icons{margin:0 !important;font-size:18px !important;line-height:1 !important;color:inherit !important}.installer-frame .btn .material-icons.left,.installer-frame .btn .material-icons.right,.installer-frame button.btn .material-icons.left,.installer-frame button.btn .material-icons.right,.installer-frame a.btn .material-icons.left,.installer-frame a.btn .material-icons.right{float:none !important;margin:0 !important}.card .card-title{margin-bottom:8px;color:var(--installer-text);font-size:2rem;font-weight:600;line-height:1.25;letter-spacing:-0.02em}.card p,.card li,.card label,.card .collection-item,.card-panel p{color:var(--installer-text-soft);line-height:1.6}.card hr{border:0;border-top:1px solid rgba(148,163,184,0.28);margin:20px 0 22px}.collection.with-header{border:1px solid var(--installer-border);border-radius:16px;overflow:hidden;box-shadow:var(--installer-shadow-soft);margin-bottom:18px}.collection.with-header .collection-item{border-bottom:1px solid rgba(226,232,240,0.8);background:rgba(255,255,255,0.92)}.collection.with-header .collection-item:last-child{border-bottom:0}.installer-database-card .card-content{max-width:960px;margin:0 auto}.installer-database-card .installer-database-header{max-width:760px;margin:0 auto 28px;text-align:center}.installer-database-card .installer-database-kicker,.installer-register-card .installer-register-kicker{display:inline-block;margin-bottom:10px;padding:6px 12px;border-radius:999px;background:rgba(37,99,235,0.09);color:var(--installer-primary);font-size:0.82rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase}.installer-database-card .card-title,.installer-register-card .card-title{margin:0 0 12px;text-align:center;line-height:1.15}.installer-database-card .card-title{font-size:2.15rem}.installer-register-card .card-title{font-size:2.15rem}.installer-database-card .installer-database-subtitle,.installer-register-card .installer-register-subtitle{margin:0 auto;text-align:center;font-size:1rem;color:var(--installer-text-muted)}.installer-database-card .installer-database-subtitle{max-width:620px;line-height:1.7}.installer-register-card .installer-register-subtitle{line-height:1.7}.installer-database-card .installer-db-simple-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.installer-database-card .installer-db-simple-field{margin:0}.installer-database-card .installer-db-simple-field--wide{grid-column:1 / -1}.installer-database-card .installer-db-simple-label,.installer-register-card .installer-register-label,.installer-purchase-card .installer-field__label{display:block;margin-bottom:8px;color:var(--installer-text-soft);font-size:0.95rem;font-weight:600;line-height:1.4}.installer-database-card .installer-db-simple-input,.installer-register-card .installer-register-input,.installer-purchase-card .installer-field__input{display:block;width:100%;margin:0 !important;height:56px;padding:0 16px;border:1px solid var(--installer-border-strong) !important;border-radius:16px !important;background:rgba(255,255,255,0.98) !important;box-sizing:border-box;box-shadow:none !important}.installer-database-card .installer-db-simple-input:focus,.installer-register-card .installer-register-input:focus,.installer-purchase-card .installer-field__input:focus{border-color:var(--installer-primary) !important;box-shadow:0 0 0 4px rgba(37,99,235,0.12) !important}.installer-database-card .installer-db-actions,.installer-permissions-card .installer-permissions-cta,.installer-purchase-card .installer-purchase-actions,.installer-register-card .installer-register-actions{width:100%;display:inline-flex !important;align-items:center;justify-content:center;gap:8px;text-align:center;white-space:normal}.installer-database-card .installer-db-actions__label,.installer-permissions-card .installer-permissions-cta__label,.installer-purchase-card .installer-purchase-actions__label,.installer-register-card .installer-register-actions__label{display:block;line-height:1}.installer-purchase-card .card-title{max-width:none;margin-left:auto;margin-right:auto;text-align:center;font-size:2.1rem;line-height:1.25;letter-spacing:-0.02em}.installer-purchase-card .installer-purchase-error{margin-bottom:18px;padding:12px 14px;border:1px solid rgba(239,68,68,0.24);border-radius:14px;background:rgba(254,242,242,0.9);text-align:left}.installer-purchase-card .installer-field{margin-bottom:20px}.installer-purchase-card .card-action,.installer-register-card .card-action{margin-top:26px}.installer-purchase-card .card-action .row,.installer-register-card .card-action .row{margin:0}.installer-purchase-card .card-action .row{display:flex;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;width:100%}.installer-purchase-card .card-action .left,.installer-purchase-card .card-action .right{display:flex;flex:0 0 auto;width:auto;margin:0;float:none !important}.installer-purchase-card .card-action .left{margin-right:auto}.installer-purchase-card .card-action .right{margin-left:auto;justify-content:flex-end}.installer-purchase-card .card-action .btn,.installer-purchase-card .card-action button.btn,.installer-register-card .card-action .btn,.installer-register-card .card-action button.btn{width:auto;justify-content:center;text-align:center}.installer-purchase-card .installer-purchase-actions .material-icons,.installer-register-card .installer-register-actions .material-icons{font-size:18px;margin-left:0 !important}.installer-purchase-card .installer-purchase-actions__label,.installer-register-card .installer-register-actions__label{font-size:13px;font-weight:600}.installer-db-progress{display:none}.installer-db-progress .card-content{display:flex;align-items:center;justify-content:center;min-height:300px;padding-top:56px;padding-bottom:56px}.installer-db-progress__content{width:100%;max-width:760px;margin:0 auto;text-align:center}.installer-db-progress__title{margin:0 0 18px;color:var(--installer-text);font-size:1.05rem;font-weight:500;line-height:1.6;animation:installerProgressPulse 1.6s ease-in-out infinite}.installer-db-progress__bar.progress{position:relative;height:8px;margin:0;overflow:hidden;border-radius:999px;background:rgba(148,163,184,0.22);box-shadow:inset 0 0 0 1px rgba(148,163,184,0.12)}.installer-db-progress__bar.progress .indeterminate{position:absolute;inset:0 auto 0 0;width:38%;border-radius:inherit;background:linear-gradient(90deg,rgba(17,24,39,0.2) 0%,#111827 45%,#313233 100%);box-shadow:0 0 18px rgba(17,24,39,0.18);animation:installerProgressSlide 1.2s ease-in-out infinite;will-change:transform}@keyframes installerProgressSlide{0%{transform:translateX(-120%)}100%{transform:translateX(360%)}}@keyframes installerProgressPulse{0%,100%{opacity:0.62}50%{opacity:1}}.installer-purchase-card .installer-purchase-actions--back{background:#313233 !important}.installer-purchase-card .installer-purchase-actions--submit{background:#313233 !important}.installer-register-card .card-content{max-width:760px;margin:0 auto}.installer-register-card .installer-register-header{max-width:760px;margin:0 auto 28px;text-align:center}.installer-register-card .installer-register-subtitle{max-width:620px;line-height:1.7}.installer-register-card .installer-register-fields{display:grid;gap:16px}.installer-register-card .installer-register-field{margin:0}.installer-register-card .installer-register-error{margin-top:6px}.installer-register-card .installer-register-note{margin:0 0 16px;color:var(--installer-text-muted);font-size:0.96rem;line-height:1.6}.installer-register-card .card-action .row{display:flex;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;width:100%}.installer-register-card .installer-register-footer-note{flex:1 1 0;min-width:0}.installer-register-card .installer-register-note{margin:0}.installer-register-card .card-action .right.installer-register-footer-action{display:flex;flex:0 0 auto;width:auto;margin:0;float:none !important;margin-left:auto;justify-content:flex-end}.installer-permissions-card .installer-perm-list{display:flex;flex-direction:column;gap:14px}.installer-permissions-card .installer-perm-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border:1px solid var(--installer-border);border-radius:18px;background:rgba(255,255,255,0.94);box-shadow:var(--installer-shadow-soft)}.installer-permissions-card .installer-perm-item__folder{min-width:0;color:var(--installer-text);font-size:1rem;font-weight:500;line-height:1.5;word-break:break-word}.installer-permissions-card .installer-perm-item__meta{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:flex-end;gap:10px;color:var(--installer-text-soft);font-size:0.96rem;font-weight:500;text-align:right}.installer-permissions-card .installer-perm-item__meta .material-icons{font-size:22px}.installer-requirements-card .installer-req-group{border:1px solid var(--installer-border);border-radius:18px;background:rgba(255,255,255,0.94);box-shadow:var(--installer-shadow-soft);overflow:hidden;margin-bottom:18px}.installer-requirements-card .installer-req-group__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:16px;align-items:start;padding:18px 22px;border-bottom:1px solid rgba(226,232,240,0.9)}.installer-requirements-card .installer-req-group__title,.installer-requirements-card .installer-req-group__meta,.installer-requirements-card .installer-req-group__current{color:var(--installer-text-soft);font-size:1rem;line-height:1.5}.installer-requirements-card .installer-req-group__title,.installer-requirements-card .installer-req-group__current{font-weight:700}.installer-requirements-card .installer-req-group__current{display:inline-flex;align-items:center;gap:8px;text-align:right;justify-self:end}.installer-requirements-card .installer-req-list{list-style:none;margin:0;padding:8px 0}.installer-requirements-card .installer-req-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 22px}.installer-requirements-card .installer-req-item + .installer-req-item{border-top:1px solid rgba(241,245,249,0.9)}.installer-requirements-card .installer-req-item__name{min-width:0;color:var(--installer-text-soft);font-size:0.98rem;line-height:1.45}.installer-requirements-card .installer-req-item__status,.installer-requirements-card .installer-req-group__current{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center}.installer-requirements-card .installer-req-item__status .material-icons,.installer-requirements-card .installer-req-group__current .material-icons{font-size:22px}.installer-cta-btn.btn,.installer-cta-btn.btn-large,.installer-cta-btn.btn-flat,.installer-cta-btn{gap:8px}.installer-cta-btn.btn:hover,.installer-cta-btn.btn-large:hover,.installer-cta-btn.btn-flat:hover,.installer-cta-btn:hover,.installer-cta-btn:focus{transform:none}.installer-cta-btn .installer-btn-label{display:inline-block;white-space:nowrap}.installer-cta-btn .material-icons{font-size:18px !important}@media (max-width:767.98px){.installer-database-card .installer-db-simple-grid{grid-template-columns:1fr}.installer-database-card .card-content,.installer-database-card .card-action,.card .card-content,.card .card-action,.card-panel .card-content{padding-left:20px;padding-right:20px}.installer-database-card .installer-database-header,.installer-register-card .installer-register-header{margin-bottom:22px}.installer-purchase-card .card-title{font-size:1.9rem}.installer-db-progress .card-content{min-height:240px;padding-top:40px;padding-bottom:40px}.installer-register-card .card-title{font-size:1.85rem;line-height:1.24}.installer-register-card .installer-register-kicker{margin-bottom:8px;font-size:0.76rem}.installer-register-card .installer-register-subtitle,.installer-register-card .installer-register-note,.installer-purchase-card .installer-purchase-actions__label,.installer-permissions-card .installer-permissions-cta__label{font-size:0.96rem}.installer-purchase-card .card-action .row{flex-direction:column}.installer-purchase-card .card-action .left,.installer-purchase-card .card-action .right{width:100%}.installer-register-card .card-action .row{flex-direction:column;align-items:stretch}.installer-register-card .installer-register-footer-note,.installer-register-card .card-action .right.installer-register-footer-action{width:100%}.installer-register-card .card-action .right.installer-register-footer-action{margin-left:0;justify-content:flex-start}.installer-permissions-card .installer-perm-item{align-items:flex-start;flex-direction:column;padding:16px}.installer-permissions-card .installer-perm-item__meta,.installer-requirements-card .installer-req-group__current{justify-content:flex-start;text-align:left}.installer-requirements-card .installer-req-group__head{grid-template-columns:1fr;gap:8px;padding:16px}.installer-requirements-card .installer-req-item{padding:12px 16px}.installer-cta-btn.btn,.installer-cta-btn.btn-large,.installer-cta-btn.btn-flat,.installer-cta-btn{width:100%}.installer-cta-btn .installer-btn-label{white-space:normal;text-align:center}}