.bs-developer-portal{background:#f6faff;color:var(--bs-navy-950)}
.bs-developer-portal .st-nav{background:#fff;border-bottom:1px solid #e5edf7;box-shadow:0 3px 18px rgba(8,32,90,.05)}
.bs-developer-portal .st-nav__links a,.bs-developer-portal .st-nav__side>a:not(.st-cta):not(.st-ghost){color:var(--bs-navy-950)}
.bs-developer-portal .st-nav__links a:hover,.bs-developer-portal .st-nav__side>a:not(.st-cta):not(.st-ghost):hover{color:var(--bs-blue-600)}
.bs-developer-portal .st-nav__links a.active{color:var(--bs-blue-600)}
.dev-page{overflow:hidden;background:linear-gradient(180deg,#fff 0,#f7fbff 72%,#edf6ff 100%)}
.dev-container{width:min(1320px,calc(100% - 48px));margin-inline:auto}
.dev-hero{position:relative;padding:clamp(4rem,8vw,7.5rem) 0 4.2rem;background:radial-gradient(circle at 18% 20%,rgba(79,195,247,.14),transparent 35%),linear-gradient(180deg,#fff,#f5faff)}
.dev-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,1.05fr);gap:clamp(2rem,6vw,7rem);align-items:center;direction:ltr}
.dev-hero__copy{direction:rtl;text-align:right;max-width:590px;justify-self:end}
.dev-kicker{display:inline-flex;align-items:center;gap:.55rem;color:var(--bs-blue-600);font-size:.92rem;font-weight:800;letter-spacing:.02em}.dev-kicker__dot{width:9px;height:9px;border-radius:50%;background:var(--bs-azure-400);box-shadow:0 0 0 5px rgba(79,195,247,.15)}
.dev-hero h1{font-size:clamp(2.5rem,5.2vw,5rem);line-height:1.15;letter-spacing:-.04em;margin:1rem 0 1.2rem;color:var(--bs-navy-950)}.dev-hero h1 span{color:var(--bs-blue-600)}
.dev-lead{font-size:clamp(1rem,1.45vw,1.22rem);line-height:2;color:#627796;max-width:550px;margin-bottom:1.7rem}.dev-actions{display:flex;flex-wrap:wrap;gap:.75rem}.dev-btn{display:inline-flex;align-items:center;gap:.65rem;padding:.85rem 1.35rem;border-radius:var(--bs-radius-sm);font-weight:800;transition:transform var(--bs-transition),box-shadow var(--bs-transition)}.dev-btn:hover{transform:translateY(-2px)}.dev-btn--primary{color:#fff;background:linear-gradient(120deg,var(--bs-blue-600),var(--bs-azure-400));box-shadow:var(--bs-shadow-blue)}.dev-btn--primary:hover{color:#fff}.dev-btn--secondary{color:var(--bs-blue-600);border:1px solid #a9d5f5;background:#fff}.dev-trust{display:flex;align-items:center;gap:.7rem;margin-top:2.1rem;color:var(--bs-navy-950)}.dev-trust__mark{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:#16a34a;background:#dcfce9;font-weight:900}.dev-trust strong,.dev-trust small{display:block}.dev-trust small{color:#7890ad;font-size:.76rem}
.dev-hero__visual{direction:ltr;position:relative;min-height:390px;display:grid;place-items:center}.dev-console{position:relative;width:min(100%,570px);min-height:335px;border-radius:24px;background:linear-gradient(145deg,#08205a,#04102e);box-shadow:0 25px 65px rgba(8,32,90,.24);overflow:hidden;transform:perspective(1200px) rotateY(-5deg)}.dev-console:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.055) 0 1px,transparent 1px 11px);opacity:.45}.dev-console__bar{position:relative;display:flex;align-items:center;gap:7px;padding:1.1rem 1.25rem;border-bottom:1px solid rgba(155,220,251,.15);color:#8fa8cb;font:600 .72rem 'Cairo',sans-serif}.dev-console__bar span{width:9px;height:9px;border-radius:50%;background:#4fc3f7}.dev-console__bar span:nth-child(2){background:#f7b844}.dev-console__bar span:nth-child(3){background:#73e5bd}.dev-console__bar b{margin-inline-start:auto;font-weight:500}.dev-console__body{position:relative;padding:1.65rem 2rem;color:#d9eaff;font:500 .95rem/2 'Cascadia Code','Consolas',monospace}.dev-console__body em{color:#d38cff;font-style:normal}.dev-code-line--muted{color:#7d96b9;margin-bottom:.4rem}.dev-code-line--cyan{color:#4fc3f7}.dev-code-line--green{color:#73e5bd;font-size:.82rem}.dev-console__badge{position:absolute;right:1.3rem;bottom:1.3rem;display:flex;align-items:center;gap:.55rem;padding:.65rem .85rem;border:1px solid rgba(155,220,251,.2);border-radius:12px;background:rgba(255,255,255,.08);color:#fff;direction:rtl}.dev-console__badge span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#dcfce9;color:#16a34a;font-size:1.5rem}.dev-console__badge strong,.dev-console__badge small{display:block}.dev-console__badge small{color:#9bb4d6;font-size:.67rem}.dev-orbit{position:absolute;border:1px solid rgba(79,195,247,.3);border-radius:50%;transform:rotate(-20deg)}.dev-orbit--one{width:560px;height:260px}.dev-orbit--two{width:440px;height:200px;border-color:rgba(18,102,200,.16);transform:rotate(26deg)}.dev-visual-logo{position:absolute;bottom:-1.1rem;left:2rem;width:52px;height:52px;opacity:.9;filter:drop-shadow(0 5px 15px rgba(79,195,247,.35))}
.dev-benefits{padding:0 0 4.5rem}.dev-benefits__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.dev-benefit{display:flex;align-items:center;gap:1rem;padding:1.15rem 1.25rem;background:#fff;border:1px solid #e1ebf5;border-radius:var(--bs-radius);box-shadow:0 7px 24px rgba(8,32,90,.045)}.dev-benefit h2{font-size:1.05rem;margin:0 0 .15rem}.dev-benefit p{margin:0;color:#7890ad;font-size:.78rem}.dev-icon{display:grid;place-items:center;flex:0 0 54px;height:54px;border-radius:14px;font-size:1.8rem;font-weight:800}.dev-icon--blue{color:#1266c8;background:#e7f2ff}.dev-icon--purple{color:#7440df;background:#f0e8ff}.dev-icon--orange{color:#e77b0b;background:#fff0e4}.dev-icon--green{color:#16a34a;background:#e0faed}
.dev-next{padding:1rem 0 5rem}.dev-section-heading{text-align:center;margin-bottom:2rem}.dev-section-heading h2{font-size:clamp(1.8rem,3vw,2.45rem);margin:.35rem 0 .2rem}.dev-section-heading p{color:#7890ad;margin:0}.dev-next__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.dev-next-card{display:flex;align-items:center;gap:.75rem;padding:1.2rem;background:#fff;border:1px solid #e1ebf5;border-radius:var(--bs-radius);color:var(--bs-navy-950);transition:transform var(--bs-transition),box-shadow var(--bs-transition)}.dev-next-card:hover{color:var(--bs-navy-950);transform:translateY(-3px);box-shadow:var(--bs-shadow)}.dev-card-icon{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:12px;background:#e7f2ff;color:var(--bs-blue-600);font-size:1.4rem}.dev-card-icon--purple{background:#f0e8ff;color:#7440df}.dev-next-card strong,.dev-next-card small{display:block}.dev-next-card strong{font-size:.93rem}.dev-next-card small{color:#7890ad;font-size:.72rem}.dev-next-card b{margin-inline-start:auto;color:#7890ad;font-size:1.3rem;font-weight:500}.dev-strip{padding:2.1rem 0;background:var(--bs-brand-gradient);color:#fff;position:relative}.dev-strip:before{content:'';position:absolute;inset:0;background:var(--bs-stripes);opacity:.7}.dev-strip__grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;text-align:center}.dev-strip strong,.dev-strip span{display:block}.dev-strip strong{font-size:1.05rem}.dev-strip span{color:rgba(255,255,255,.7);font-size:.82rem}
@media(max-width:900px){.dev-hero__grid{grid-template-columns:1fr;gap:2.5rem}.dev-hero__copy{justify-self:stretch;max-width:none}.dev-hero__visual{min-height:330px}.dev-benefits__grid,.dev-next__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.dev-container{width:min(100% - 30px,1320px)}.dev-hero{padding-top:3rem}.dev-hero h1{font-size:2.45rem}.dev-console{min-height:280px;border-radius:18px}.dev-console__body{padding:1rem;font-size:.71rem;line-height:1.9}.dev-code-line--green{font-size:.62rem}.dev-console__badge{right:.7rem;bottom:.7rem}.dev-orbit{display:none}.dev-benefits__grid,.dev-next__grid,.dev-strip__grid{grid-template-columns:1fr}.dev-benefits{padding-bottom:3rem}.dev-next{padding-bottom:3.5rem}.dev-strip__grid{gap:1.25rem}.dev-actions>*{flex:1;justify-content:center}.dev-visual-logo{left:.7rem}}
.dev-dashboard__hero{padding:4rem 0 3rem;background:linear-gradient(135deg,#eef8ff,#fff)}.dev-dashboard__hero h1{font-size:clamp(2rem,4vw,3.2rem);margin:.45rem 0 .5rem}.dev-dashboard__hero p{color:#7890ad;margin:0}.dev-dashboard__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding-block:2rem 5rem}.dev-status-card{display:flex;align-items:center;gap:.8rem;padding:1.2rem;background:#fff;border:1px solid #e1ebf5;border-radius:var(--bs-radius);color:var(--bs-navy-950)}.dev-status-card strong,.dev-status-card small{display:block}.dev-status-card small{color:#7890ad;font-size:.75rem}.dev-status-dot{width:12px;height:12px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 6px #dcfce9}.dev-docs__body{padding-block:2rem 5rem}.dev-doc-card{max-width:820px;margin:auto;padding:clamp(1.4rem,4vw,3rem);background:#fff;border:1px solid #e1ebf5;border-radius:var(--bs-radius-lg);box-shadow:var(--bs-shadow-sm)}.dev-doc-card h2{font-size:1.35rem;margin-top:1.6rem}.dev-doc-card h2:first-child{margin-top:0}.dev-doc-card p{color:#627796;line-height:2}.dev-doc-card pre{padding:1rem 1.2rem;overflow:auto;border-radius:var(--bs-radius-sm);background:#04102e;color:#73e5bd}.dev-doc-note{font-size:.86rem;color:#7890ad!important}
@media(max-width:900px){.dev-dashboard__grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.dev-dashboard__grid{grid-template-columns:1fr}}

/* Developer feedback modal: inherit the established Brain Skill blue system.
   This scoped layer deliberately reuses the existing studio/brand tokens and
   keeps the portal feedback surface free of unrelated accent palettes. */
.bs-developer-portal .st-tmodal {
    border-color: var(--bs-azure-400);
    background: linear-gradient(165deg, var(--bs-navy-900), var(--bs-navy-950) 85%);
    font-family: 'Cairo', Arial, Tahoma, sans-serif;
}
.bs-developer-portal .st-tmodal__close {
    color: var(--bs-azure-200);
    border-color: rgba(79,195,247,.32);
}
.bs-developer-portal .st-tmodal__close:hover,
.bs-developer-portal .st-tmodal__close:focus-visible {
    color: var(--bs-white);
    border-color: var(--bs-azure-300);
    outline: 2px solid var(--bs-azure-400);
    outline-offset: 2px;
}
.bs-developer-portal .st-tmodal__stars label { color: rgba(155,220,251,.35); }
.bs-developer-portal .st-tmodal__stars input:checked ~ label,
.bs-developer-portal .st-tmodal__stars label:hover,
.bs-developer-portal .st-tmodal__stars label:hover ~ label,
.bs-developer-portal .st-tmodal__stars input:focus-visible + label { color: var(--bs-azure-300); }
.bs-developer-portal .st-tmodal textarea:focus {
    outline: 2px solid var(--bs-azure-400);
    outline-offset: 1px;
    border-color: var(--bs-azure-400);
}
.bs-developer-portal .st-tmodal__submit {
    background: var(--bs-logo-gradient);
    color: var(--bs-white);
}
.bs-developer-portal .st-btn-link {
    display: block;
    margin: .75rem auto 0;
    border: 0;
    background: transparent;
    color: var(--bs-azure-200);
    font: inherit;
    cursor: pointer;
}
.bs-developer-portal .st-btn-link:hover,
.bs-developer-portal .st-btn-link:focus-visible { color: var(--bs-white); text-decoration: underline; }

/* AI-assisted developer integration workspace */
.dev-integration-workspace { background: #f6faff; }
.dev-integration-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; }
.dev-safety-badge { display:flex; flex-direction:column; gap:.25rem; max-width:310px; padding:1rem 1.15rem; border:1px solid rgba(22,133,218,.2); border-radius:16px; background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(232,245,255,.82)); color:var(--bs-navy-950); box-shadow:0 12px 34px rgba(8,32,90,.08); }
.dev-safety-badge span { color:var(--bs-blue-600); font-size:1.5rem; }
.dev-safety-badge small,.dev-muted { color:#61708a; }
.dev-integration-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:1.2rem; padding-top:1.5rem; padding-bottom:3rem; }
.dev-integration-card { grid-column:span 12; padding:1.35rem; border:1px solid #e1eaf5; border-radius:18px; background:rgba(255,255,255,.9); box-shadow:0 12px 34px rgba(8,32,90,.055); }
.dev-session-selector { grid-column:span 5; }
.dev-integration-overview { grid-column:span 7; }
.dev-card-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; margin-bottom:1rem; }
.dev-card-heading h2 { margin:.25rem 0 .35rem; }
.dev-card-heading p { margin:0; color:#61708a; }
.dev-integration-chip,.dev-classification,.dev-stage-number { display:inline-flex; align-items:center; justify-content:center; border-radius:999px; padding:.35rem .7rem; font-size:.78rem; white-space:nowrap; }
.dev-integration-chip { color:#075e9b; background:#e9f6ff; }
.dev-classification.is-exclusive { color:#075e9b; background:#e9f6ff; }
.dev-classification.is-external { color:#704d00; background:#fff5d9; }
.dev-session-form { display:grid; grid-template-columns:1fr 1fr auto; gap:.8rem; align-items:end; }
.dev-session-form .form-group { margin:0; }
.dev-session-form .dev-btn { height:42px; }
.dev-progress-meta,.dev-stage-summary { display:flex; flex-wrap:wrap; gap:.7rem 1.2rem; align-items:center; color:#61708a; font-size:.86rem; }
.dev-progress-meta { padding-bottom:1rem; border-bottom:1px solid #edf2f8; }
.dev-stage-track { display:grid; grid-template-columns:repeat(auto-fit,minmax(78px,1fr)); gap:.45rem; padding:1rem 0 .7rem; }
.dev-stage-step { display:flex; flex-direction:column; gap:.35rem; align-items:center; text-align:center; color:#8a98ad; }
.dev-stage-step span { display:grid; place-items:center; width:30px; height:30px; border:1px solid #dbe5f0; border-radius:50%; font-size:.75rem; }
.dev-stage-step small { font-size:.7rem; line-height:1.45; }
.dev-stage-step.is-current { color:var(--bs-blue-600); font-weight:700; }
.dev-stage-step.is-current span { border-color:var(--bs-blue-600); box-shadow:0 0 0 4px rgba(22,133,218,.1); }
.dev-stage-step.is-complete { color:#167a5b; }
.dev-stage-step.is-complete span { border-color:#48b996; background:#e9fbf4; }
.dev-external-note { color:#8a5a00; }
.dev-contract-box,.dev-human-handoff { margin:1rem 0; padding:1rem; border-radius:14px; background:#f1f7fd; border:1px solid #dcecf9; }
.dev-contract-box p,.dev-human-handoff p { margin:.45rem 0 0; white-space:pre-line; line-height:1.8; }
.dev-human-handoff { background:linear-gradient(135deg,#fffaf0,#fff); border-color:#f2d797; }
.dev-prompt-shell { position:relative; overflow:hidden; border-radius:14px; background:#071633; }
.dev-prompt { max-height:430px; overflow:auto; margin:0; padding:3.15rem 1rem 1rem; border-radius:14px; background:#071633; color:#d9efff; font-size:.78rem; line-height:1.7; white-space:pre-wrap; }
.dev-prompt-copy { position:absolute; inset-block-start:.65rem; inset-inline-end:.65rem; z-index:1; display:grid; place-items:center; width:34px; height:34px; padding:.35rem; border:1px solid rgba(155,220,251,.3); border-radius:8px; color:#d9efff; background:rgba(7,22,51,.72); cursor:pointer; transition:background .18s ease,border-color .18s ease,color .18s ease; }
.dev-prompt-copy:hover,.dev-prompt-copy:focus-visible { border-color:rgba(155,220,251,.72); color:#fff; background:rgba(27,106,168,.72); }
.dev-prompt-copy:focus-visible { outline:2px solid #9bdcfb; outline-offset:2px; }
.dev-prompt-copy.is-copied { color:#73e5bd; border-color:#73e5bd; background:rgba(7,45,41,.72); }
.dev-prompt-copy:disabled { cursor:wait; opacity:.82; }
.dev-prompt-copy__icon { display:block; width:19px; height:19px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.6; }
.dev-prompt-copy__icon[hidden] { display:none; }
.dev-copy-status { margin:.45rem 0 0; color:#167a5b; font-size:.8rem; }
.dev-copy-status[hidden] { display:none; }
.dev-security-note { color:#6a7890; font-size:.86rem; }
.dev-report-input { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; direction:ltr; text-align:left; }
.dev-assistant-messages { display:flex; flex-direction:column; gap:.65rem; max-height:350px; overflow:auto; margin-bottom:1rem; }
.dev-assistant-messages:empty { display:none; }
.dev-assistant-message { max-width:88%; padding:.7rem .85rem; border-radius:14px; background:#f1f7fd; }
.dev-assistant-message.is-user { align-self:flex-end; background:#e4f3ff; }
.dev-assistant-message small { color:#60718c; font-size:.72rem; }
.dev-assistant-message p { margin:.25rem 0 0; white-space:pre-wrap; line-height:1.7; }
.dev-assistant-status { display:flex; align-items:center; gap:.5rem; margin:0 0 1rem; color:#167a5b; font-size:.82rem; }
.dev-assistant-status[hidden] { display:none; }
.dev-assistant-status.is-error { color:#b42318; }
.dev-assistant-status__spinner { width:12px; height:12px; flex:0 0 auto; border:2px solid #b8d9ea; border-top-color:#1685da; border-radius:50%; animation:dev-assistant-spin .75s linear infinite; }
@keyframes dev-assistant-spin { to { transform:rotate(360deg); } }
.dev-report-history { display:flex; flex-direction:column; gap:.55rem; }
.dev-report-item { border:1px solid #e3ebf4; border-radius:12px; padding:.75rem 1rem; }
.dev-report-item summary { display:flex; gap:1rem; align-items:center; cursor:pointer; list-style:none; }
.dev-report-item summary::-webkit-details-marker { display:none; }
.dev-report-item summary time { margin-inline-start:auto; color:#8795a8; font-size:.78rem; }
.dev-report-item .is-pass { color:#167a5b; }.dev-report-item .is-work { color:#a36500; }
.dev-report-details { margin-top:.75rem; padding-top:.65rem; border-top:1px solid #edf2f8; line-height:1.75; }
.dev-report-details p { margin:.25rem 0; }
.dev-empty-state { color:#61708a; line-height:1.8; }
@media (max-width:900px) {
    .dev-integration-hero { align-items:stretch; flex-direction:column; }
    .dev-session-selector,.dev-integration-overview { grid-column:span 12; }
    .dev-session-form { grid-template-columns:1fr 1fr; }.dev-session-form .dev-btn { grid-column:span 2; }
}
@media (max-width:600px) {
    .dev-integration-card { padding:1rem; border-radius:15px; }
    .dev-card-heading { flex-direction:column; }.dev-stage-track { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .dev-session-form { grid-template-columns:1fr; }.dev-session-form .dev-btn { grid-column:auto; width:100%; }
    .dev-progress-meta { flex-direction:column; align-items:flex-start; }.dev-report-item summary { flex-wrap:wrap; }
    .dev-report-item summary time { margin-inline-start:0; width:100%; }
}
@media (prefers-reduced-motion:reduce) {
    .dev-prompt-copy { transition:none; }
    .dev-assistant-status__spinner { animation:none; }
}

/* Developer registration */
.dev-registration-form{max-width:920px;direction:rtl}
.dev-form-section{padding-top:2rem;margin-top:2rem;border-top:1px solid #e7eef7}
.dev-form-section:first-of-type{padding-top:0;margin-top:0;border-top:0}
.dev-form-section__heading{margin-bottom:1.25rem}.dev-form-section__heading h2{margin:.2rem 0 0;font-size:1.25rem;color:var(--bs-navy-950)}
.dev-form-section__eyebrow{color:var(--bs-blue-600);font-size:.78rem;font-weight:800}
.dev-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.15rem 1.25rem}
.dev-form-field{min-width:0}.dev-form-field--full{grid-column:1/-1}
.dev-form-field label{display:block;margin-bottom:.45rem;color:var(--bs-navy-950);font-size:.9rem;font-weight:800}.dev-form-field label small{color:#7890ad;font-size:.75rem;font-weight:600}
.dev-form-field input,.dev-form-field textarea{display:block;width:100%;box-sizing:border-box;padding:.78rem .9rem;border:1px solid #d7e4f1;border-radius:var(--bs-radius-sm);background:#fff;color:var(--bs-navy-950);font:inherit;line-height:1.5;transition:border-color var(--bs-transition),box-shadow var(--bs-transition)}
.dev-form-field input{height:48px}.dev-form-field textarea{min-height:116px;resize:vertical}.dev-form-field input:focus,.dev-form-field textarea:focus{outline:0;border-color:var(--bs-blue-600);box-shadow:0 0 0 3px rgba(18,102,200,.14)}
.dev-form-field input.input-validation-error,.dev-form-field textarea.input-validation-error{border-color:#dc2626!important}.dev-form-field .field-validation-error{display:block;margin-top:.35rem;color:#b91c1c;font-size:.78rem;font-weight:700}
.dev-form-hint{display:block;margin-top:.35rem;color:#7890ad;font-size:.75rem;line-height:1.7}.dev-form-summary{margin-bottom:1.25rem}.dev-form-summary:empty{display:none}.dev-form-summary.validation-summary-errors{display:block}
.dev-registration-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e7eef7}.dev-registration-actions .dev-btn{justify-content:center;min-height:48px;border:0;cursor:pointer}.dev-registration-actions .dev-btn--secondary{border:1px solid #a9d5f5}.dev-registration-actions button:disabled{opacity:.7;cursor:wait;transform:none}.dev-registration-success{max-width:820px}
@media(max-width:560px){.dev-form-grid{grid-template-columns:1fr}.dev-form-field--full{grid-column:auto}.dev-registration-actions{flex-direction:column}.dev-registration-actions .dev-btn{width:100%}.dev-registration-form{padding:1.25rem}.dev-form-section{margin-top:1.5rem;padding-top:1.5rem}}

/* Developer Portal Marketplace — portal-only catalog and pricing surface. */
.dev-marketplace { background:#f7fbff; color:var(--bs-navy-950); }
.dev-marketplace__hero { padding:clamp(2.3rem,5vw,4.5rem) 0 1.5rem; background:linear-gradient(135deg,#edf8ff 0%,#fff 72%); border-bottom:1px solid #e2edf7; }
.dev-marketplace__hero-copy { max-width:760px; margin-inline-start:auto; text-align:right; }
.dev-marketplace__eyebrow,.dev-marketplace__section-kicker { color:var(--bs-blue-600); font-size:.73rem; font-weight:900; letter-spacing:.13em; }
.dev-marketplace__eyebrow i { color:var(--bs-azure-400); font-style:normal; margin-inline:.2rem; }
.dev-marketplace__hero h1 { margin:.7rem 0 .45rem; font-size:clamp(2rem,4vw,3.55rem); line-height:1.15; letter-spacing:-.045em; }
.dev-marketplace__hero p { margin:0; color:#627796; font-size:1rem; line-height:1.9; }
.dev-marketplace__toolbar { display:flex; align-items:end; gap:.85rem; max-width:850px; margin:1.55rem 0 1rem auto; }
.dev-marketplace__search { display:flex; flex:1 1 570px; min-width:0; height:50px; overflow:hidden; border:1px solid #c8dced; border-radius:13px; background:#fff; box-shadow:0 8px 26px rgba(8,32,90,.06); }
.dev-marketplace__search input { min-width:0; flex:1; border:0; outline:0; padding:.65rem 1rem; color:var(--bs-navy-950); background:transparent; font:inherit; }
.dev-marketplace__search input::placeholder { color:#91a4bb; }
.dev-marketplace__search button { width:52px; border:0; color:#fff; background:linear-gradient(120deg,var(--bs-blue-600),var(--bs-azure-400)); font-size:1.6rem; line-height:1; cursor:pointer; }
.dev-marketplace__sort { display:flex; flex:0 0 175px; flex-direction:column; gap:.3rem; color:#627796; font-size:.72rem; font-weight:800; }
.dev-marketplace__sort select { height:50px; padding:0 .8rem; border:1px solid #c8dced; border-radius:13px; color:var(--bs-navy-950); background:#fff; font:inherit; outline:0; }
.dev-marketplace__sort select:focus { border-color:var(--bs-blue-600); box-shadow:0 0 0 3px rgba(18,102,200,.12); }
.dev-marketplace__categories { display:flex; flex-wrap:wrap; gap:.55rem; padding-top:.25rem; }
.dev-marketplace__categories a { padding:.5rem .9rem; border:1px solid #d5e5f3; border-radius:999px; color:#466484; background:#fff; font-size:.82rem; font-weight:800; transition:color .18s ease,border-color .18s ease,background .18s ease,transform .18s ease; }
.dev-marketplace__categories a:hover,.dev-marketplace__categories a:focus-visible { color:var(--bs-blue-600); border-color:#8ec9ef; transform:translateY(-1px); }
.dev-marketplace__categories a.is-active { border-color:var(--bs-blue-600); color:#fff; background:var(--bs-blue-600); }
.dev-marketplace__main { padding-top:2rem; padding-bottom:5rem; }
.dev-marketplace__layout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(430px,.9fr); gap:1.25rem; align-items:start; direction:ltr; }
.dev-marketplace__catalog,.dev-marketplace__details { min-width:0; direction:rtl; }
.dev-marketplace__section-heading { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.dev-marketplace__section-heading h2,.dev-marketplace__section-heading h3 { margin:.25rem 0 0; color:var(--bs-navy-950); line-height:1.35; }
.dev-marketplace__section-heading h2 { font-size:1.45rem; }
.dev-marketplace__section-heading h3 { font-size:1.12rem; }
.dev-marketplace__section-heading--compact { align-items:start; margin-bottom:.8rem; }
.dev-marketplace__count,.dev-marketplace__currency { color:#6f849e; font-size:.78rem; font-weight:800; white-space:nowrap; }
.dev-marketplace__currency { color:var(--bs-blue-600); }
.dev-marketplace__cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.dev-marketplace__app-card { position:relative; display:flex; min-width:0; flex-direction:column; overflow:hidden; border:1px solid #dce9f5; border-radius:18px; background:#fff; box-shadow:0 9px 28px rgba(8,32,90,.055); transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.dev-marketplace__app-card:hover { transform:translateY(-3px); box-shadow:0 16px 34px rgba(8,32,90,.1); }
.dev-marketplace__app-card.is-selected { border-color:var(--bs-blue-600); box-shadow:0 0 0 2px rgba(18,102,200,.12),0 14px 34px rgba(8,32,90,.1); }
.dev-marketplace__app-select { position:absolute; inset:0; z-index:1; border-radius:18px; }
.dev-marketplace__app-cover { position:relative; aspect-ratio:16/8.7; overflow:hidden; color:#a9def9; background:linear-gradient(145deg,#071d50,#0874c7); }
.dev-marketplace__app-cover img,.dev-marketplace__details-cover img,.dev-marketplace__gallery img { display:block; width:100%; height:100%; object-fit:cover; }
.dev-marketplace__app-cover > span:not(.dev-marketplace__app-category),.dev-marketplace__details-cover > span { display:grid; place-items:center; height:100%; font-size:2.4rem; font-weight:900; letter-spacing:.08em; background:repeating-linear-gradient(135deg,rgba(255,255,255,.08) 0 1px,transparent 1px 10px); }
.dev-marketplace__app-category { position:absolute; top:.7rem; right:.7rem; z-index:2; padding:.35rem .6rem; border-radius:999px; color:#075e9b; background:rgba(255,255,255,.92); font-size:.68rem; font-weight:900; }
.dev-marketplace__app-body { position:relative; z-index:2; display:flex; min-width:0; flex:1; flex-direction:column; padding:1rem; }
.dev-marketplace__app-meta,.dev-marketplace__details-meta { display:flex; flex-wrap:wrap; gap:.35rem; align-items:center; color:#8295ad; font-size:.68rem; }
.dev-marketplace__app-body h3 { margin:.45rem 0 .3rem; overflow-wrap:anywhere; font-size:1.05rem; line-height:1.45; }
.dev-marketplace__app-body p { display:-webkit-box; min-height:3.1em; margin:0; overflow:hidden; color:#6b7e96; font-size:.78rem; line-height:1.7; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.dev-marketplace__app-footer { display:flex; align-items:center; justify-content:space-between; gap:.5rem; margin-top:.85rem; padding-top:.7rem; border-top:1px solid #edf2f7; color:#6b7e96; font-size:.7rem; }
.dev-marketplace__sales b { color:#16a34a; font-size:.85rem; }
.dev-marketplace__starting-price { color:var(--bs-navy-950); font-weight:900; white-space:nowrap; }
.dev-marketplace__app-actions,.dev-marketplace__details-actions { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.8rem; }
.dev-marketplace .dev-btn { display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:.55rem .8rem; border-radius:10px; font-size:.73rem; line-height:1.3; text-align:center; }
.dev-marketplace__app-actions .dev-btn { flex:1 1 110px; }
.dev-marketplace__details { position:sticky; top:1rem; overflow:hidden; border:1px solid #d9e8f4; border-radius:20px; background:#fff; box-shadow:0 14px 40px rgba(8,32,90,.08); }
.dev-marketplace__details-head { display:flex; align-items:center; gap:1rem; padding:1.1rem 1.15rem 0; }
.dev-marketplace__details-cover { flex:0 0 86px; width:86px; height:70px; overflow:hidden; border-radius:12px; color:#a9def9; background:linear-gradient(145deg,#071d50,#0874c7); }
.dev-marketplace__details-cover > span { font-size:1.6rem; }
.dev-marketplace__details-head h2 { margin:.25rem 0 .25rem; overflow-wrap:anywhere; font-size:1.25rem; line-height:1.4; }
.dev-marketplace__details-description { margin:1rem 1.15rem; color:#627796; font-size:.85rem; line-height:1.85; white-space:pre-line; }
.dev-marketplace__details-stats { display:grid; grid-template-columns:repeat(3,1fr); margin:0 1.15rem; border-block:1px solid #edf2f7; }
.dev-marketplace__details-stats div { display:flex; min-width:0; flex-direction:column; gap:.2rem; padding:.8rem .35rem; text-align:center; }
.dev-marketplace__details-stats div+div { border-inline-start:1px solid #edf2f7; }
.dev-marketplace__details-stats strong { color:var(--bs-navy-950); font-size:1.05rem; overflow-wrap:anywhere; }
.dev-marketplace__details-stats span { color:#8295ad; font-size:.68rem; }
.dev-marketplace__details-actions { padding:0 1.15rem; }
.dev-marketplace__details-actions .dev-btn { flex:1; }
.dev-marketplace__tabs { display:flex; gap:1rem; margin-top:1rem; padding:0 1.15rem; border-bottom:1px solid #e8f0f7; }
.dev-marketplace__tabs a { position:relative; padding:.65rem .15rem .75rem; color:#7187a2; font-size:.78rem; font-weight:900; }
.dev-marketplace__tabs a:hover,.dev-marketplace__tabs a:focus-visible { color:var(--bs-blue-600); }
.dev-marketplace__tabs a:first-child { color:var(--bs-blue-600); }
.dev-marketplace__tabs a:first-child::after { position:absolute; right:0; bottom:-1px; left:0; height:2px; content:''; background:var(--bs-blue-600); }
.dev-marketplace__pricing { padding:1rem 1.15rem 0; }
.dev-marketplace__plan-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.55rem; }
.dev-marketplace__plan { position:relative; display:flex; min-width:0; flex-direction:column; padding:.8rem .7rem .7rem; border:1px solid #e0eaf3; border-radius:13px; background:#fbfdff; }
.dev-marketplace__plan.is-featured { border-color:#54c79d; background:linear-gradient(180deg,#f1fff9,#fff); }
.dev-marketplace__featured { align-self:flex-start; margin-bottom:.3rem; padding:.2rem .4rem; border-radius:999px; color:#167a5b; background:#dff8eb; font-size:.58rem; font-weight:900; }
.dev-marketplace__plan h4 { min-height:2.7em; margin:0; overflow-wrap:anywhere; font-size:.83rem; line-height:1.35; }
.dev-marketplace__plan-cycle { margin-top:.3rem; color:#8295ad; font-size:.67rem; }
.dev-marketplace__plan-price { display:block; margin:.45rem 0 .15rem; color:var(--bs-navy-950); font-size:1.1rem; line-height:1.25; overflow-wrap:anywhere; }
.dev-marketplace__plan-price small { font-size:.58rem; color:var(--bs-blue-600); }
.dev-marketplace__plan del { min-height:1.2em; color:#9babbc; font-size:.65rem; }
.dev-marketplace__plan ul { display:flex; min-height:4.7em; flex-direction:column; gap:.2rem; margin:.55rem 0 .75rem; padding:0; list-style:none; color:#60758f; font-size:.65rem; line-height:1.45; }
.dev-marketplace__plan li { overflow-wrap:anywhere; }
.dev-marketplace__plan li::before { content:'✓'; margin-inline-end:.25rem; color:#16a34a; font-weight:900; }
.dev-marketplace__plan .dev-btn { width:100%; margin-top:auto; min-height:35px; padding:.45rem .35rem; font-size:.65rem; }
.dev-marketplace__service-note { display:flex; flex-direction:column; gap:.2rem; margin-top:1rem; padding:.75rem .85rem; border:1px solid #d7eafb; border-radius:12px; color:#58708d; background:#f0f8ff; font-size:.72rem; line-height:1.65; }
.dev-marketplace__service-note strong { color:#075e9b; font-size:.78rem; }
.dev-marketplace__feature-section,.dev-marketplace__gallery { margin:1rem 1.15rem 0; padding-top:1rem; border-top:1px solid #edf2f7; }
.dev-marketplace__feature-section h3,.dev-marketplace__gallery h3 { margin:0 0 .6rem; font-size:.95rem; }
.dev-marketplace__feature-section ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.35rem .8rem; margin:0; padding:0; list-style:none; color:#627796; font-size:.74rem; line-height:1.55; }
.dev-marketplace__feature-section li { overflow-wrap:anywhere; }
.dev-marketplace__feature-section li::before { content:'✓'; margin-inline-end:.3rem; color:#16a34a; font-weight:900; }
.dev-marketplace__gallery { padding-bottom:1.15rem; }
.dev-marketplace__gallery img { height:auto; max-height:210px; border-radius:12px; object-fit:cover; }
.dev-marketplace__empty { display:flex; align-items:center; flex-direction:column; padding:3rem 1.2rem; text-align:center; }
.dev-marketplace__empty-icon { display:grid; place-items:center; width:48px; height:48px; margin-bottom:.8rem; border-radius:50%; color:var(--bs-blue-600); background:#e7f2ff; font-size:1.5rem; }
.dev-marketplace__empty h3 { margin:0 0 .35rem; }
.dev-marketplace__empty p { max-width:420px; margin:0 0 1rem; }
@media (max-width:1120px) {
    .dev-marketplace__layout { grid-template-columns:minmax(0,1fr) minmax(350px,.8fr); }
    .dev-marketplace__plan-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px) {
    .dev-marketplace__layout { grid-template-columns:1fr; }
    .dev-marketplace__details { position:static; }
    .dev-marketplace__hero-copy { max-width:none; }
}
@media (max-width:600px) {
    .dev-marketplace__toolbar { align-items:stretch; flex-direction:column; }
    .dev-marketplace__search { flex-basis:auto; }
    .dev-marketplace__sort { flex-basis:auto; }
    .dev-marketplace__cards { grid-template-columns:1fr; }
    .dev-marketplace__details-head { align-items:flex-start; }
    .dev-marketplace__details-cover { flex-basis:70px; width:70px; height:62px; }
    .dev-marketplace__details-stats strong { font-size:.9rem; }
    .dev-marketplace__plan-grid { grid-template-columns:1fr; }
    .dev-marketplace__plan h4 { min-height:0; }
    .dev-marketplace__plan ul { min-height:0; }
    .dev-marketplace__feature-section ul { grid-template-columns:1fr; }
}

/* Developer Portal pricing checkout — reuses the existing PricingModel handler. */
.dev-pricing { background:#f7fbff; }
.dev-pricing__shell { padding-bottom:4.5rem; }
.dev-pricing__intro { display:flex; align-items:end; justify-content:space-between; gap:1.5rem; padding:1.8rem 0 1.2rem; }
.dev-pricing__intro h2 { margin:.3rem 0 .35rem; font-size:clamp(1.45rem,3vw,2rem); }
.dev-pricing__intro p { max-width:740px; margin:0; color:#627796; font-size:.88rem; line-height:1.8; }
.dev-pricing__currency-note { display:grid; grid-template-columns:1fr auto; align-items:center; gap:.15rem .55rem; min-width:170px; padding:.8rem 1rem; border:1px solid #dce9f5; border-radius:14px; background:#fff; text-align:center; }
.dev-pricing__currency-note > span { grid-column:1/-1; color:#4e6784; font-size:.7rem; font-weight:800; }
.dev-pricing__currency-note strong { color:var(--bs-blue-600); font-size:1.35rem; line-height:1.15; }
.dev-pricing__currency-note small { align-self:end; padding-bottom:.08rem; color:#58708d; font-size:.65rem; font-weight:900; }
.dev-pricing__currency-note i { grid-column:1/-1; color:#58708d; font-size:.65rem; font-style:normal; }
.dev-pricing__service-banner { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.15rem; border:1px solid #cfe6f7; border-radius:16px; background:linear-gradient(135deg,#eef9ff,#fff); }
.dev-pricing__service-copy { display:flex; align-items:flex-start; gap:.75rem; min-width:0; }
.dev-pricing__service-icon { display:grid; place-items:center; flex:0 0 36px; width:36px; height:36px; border-radius:11px; color:#fff; background:linear-gradient(135deg,var(--bs-blue-600),var(--bs-azure-400)); font-size:1.1rem; }
.dev-pricing__service-copy strong { color:#075e9b; font-size:.9rem; }
.dev-pricing__service-copy p { margin:.25rem 0 0; color:#627796; font-size:.76rem; line-height:1.65; }
.dev-pricing__service-options { display:flex; flex-wrap:wrap; gap:.45rem; }
.dev-pricing__service-options span { display:flex; min-width:82px; flex-direction:column; gap:.1rem; padding:.45rem .55rem; border:1px solid #d7eafb; border-radius:10px; background:#fff; text-align:center; }
.dev-pricing__service-options b { color:#627796; font-size:.68rem; }
.dev-pricing__service-options strong { color:var(--bs-navy-950); font-size:.85rem; white-space:nowrap; }
.dev-pricing__service-options small { color:var(--bs-blue-600); font-size:.57rem; }
.dev-pricing__service-cycle { flex:0 0 auto; color:#6e829c; font-size:.68rem; font-weight:800; white-space:nowrap; }
.dev-pricing__plans { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin-top:1.2rem; direction:rtl; }
.dev-pricing__plan { display:flex; min-width:0; flex-direction:column; padding:1rem; border:1px solid #dce9f5; border-radius:18px; background:#fff; box-shadow:0 8px 26px rgba(8,32,90,.045); }
.dev-pricing__plan.is-selected { border-color:var(--bs-blue-600); box-shadow:0 0 0 2px rgba(18,102,200,.12),0 12px 30px rgba(8,32,90,.08); }
.dev-pricing__plan.is-featured { border-color:#48b996; background:linear-gradient(180deg,#f3fffa,#fff 45%); }
.dev-pricing__featured { align-self:flex-start; margin-bottom:.5rem; padding:.25rem .55rem; border-radius:999px; color:#167a5b; background:#dff8eb; font-size:.64rem; font-weight:900; }
.dev-pricing__plan-head { display:flex; align-items:flex-start; justify-content:space-between; gap:.5rem; }
.dev-pricing__plan-cycle { color:#8295ad; font-size:.7rem; }
.dev-pricing__plan h3 { margin:.2rem 0 0; overflow-wrap:anywhere; font-size:1.05rem; line-height:1.4; }
.dev-pricing__plan-mark { display:grid; place-items:center; flex:0 0 34px; width:34px; height:34px; border-radius:10px; color:var(--bs-blue-600); background:#e7f2ff; font-size:1.25rem; }
.dev-pricing__plan-description { min-height:2.8em; margin:.75rem 0 0; color:#6b7e96; font-size:.76rem; line-height:1.65; }
.dev-pricing__app-price { display:flex; align-items:baseline; gap:.35rem; margin:.8rem 0 0; color:var(--bs-navy-950); }
.dev-pricing__app-price strong { font-size:1.65rem; line-height:1.2; }
.dev-pricing__app-price span { color:var(--bs-blue-600); font-size:.7rem; font-weight:900; }
.dev-pricing__plan > del { color:#9babbc; font-size:.68rem; }
.dev-pricing__features { display:flex; min-height:5.5em; flex-direction:column; gap:.25rem; margin:1rem 0; padding:0; list-style:none; color:#60758f; font-size:.72rem; line-height:1.5; }
.dev-pricing__features li { overflow-wrap:anywhere; }
.dev-pricing__features li::before { content:'✓'; margin-inline-end:.3rem; color:#16a34a; font-weight:900; }
.dev-pricing__lifetime-note { min-height:3.5em; margin:.5rem 0 0; color:#8a5a00; font-size:.69rem; line-height:1.55; }
.dev-pricing__purchase-form { display:flex; flex-direction:column; gap:.35rem; margin-top:auto; padding-top:.75rem; border-top:1px solid #edf2f7; }
.dev-pricing__purchase-form label { margin-top:.15rem; color:#516b88; font-size:.7rem; font-weight:800; }
.dev-pricing__purchase-form .form-control { min-height:38px; padding:.45rem .55rem; border-color:#d7e4f1; border-radius:9px; font-size:.72rem; }
.dev-pricing__service-price { padding:.35rem .45rem; color:#7187a2; font-size:.64rem; line-height:1.4; }
.dev-pricing__service-price strong { color:#075e9b; }
.dev-pricing__service-price span { color:var(--bs-blue-600); font-weight:900; }
.dev-pricing__total { display:grid; gap:.2rem; margin-top:.35rem; padding:.55rem .65rem; border:1px solid #d7eafb; border-radius:10px; color:#627796; background:#f8fbff; font-size:.68rem; line-height:1.5; }
.dev-pricing__total strong { padding-top:.25rem; border-top:1px solid #dce9f5; color:var(--bs-navy-950); }
.dev-pricing__purchase-form button:disabled { cursor:not-allowed; opacity:.55; }
.dev-pricing__service-unavailable,.dev-pricing__service-disabled { display:flex; flex-direction:column; gap:.2rem; border:1px solid #e8e1c5; border-radius:12px; color:#756a4c; background:#fffdf4; font-size:.72rem; line-height:1.65; }
.dev-pricing__service-unavailable { margin-top:1rem; padding:.85rem 1rem; }
.dev-pricing__service-unavailable strong { color:#8a5a00; font-size:.82rem; }
.dev-pricing__service-disabled { margin-bottom:.3rem; padding:.55rem .65rem; }
.dev-pricing__purchase-form .dev-btn { width:100%; margin-top:.35rem; border:0; cursor:pointer; }
.dev-pricing__payment-note { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:1.2rem; padding:1rem 1.15rem; border:1px solid #e2ebf4; border-radius:15px; color:#627796; background:#fff; font-size:.74rem; line-height:1.7; }
.dev-pricing__payment-note div { display:flex; flex-direction:column; gap:.2rem; min-width:0; }
.dev-pricing__payment-note strong { color:var(--bs-navy-950); font-size:.78rem; }
.bs-developer-portal .dev-pricing__intro h2,
.bs-developer-portal .dev-checkout__service h3,
.bs-developer-portal .dev-checkout__plan-heading h3 { color:var(--bs-navy-950); }
.bs-developer-portal .dev-pricing__intro p,
.bs-developer-portal .dev-checkout__description,
.bs-developer-portal .dev-checkout__service-description,
.bs-developer-portal .dev-checkout__features li,
.bs-developer-portal .dev-checkout__empty > span { color:#405a78; }
.bs-developer-portal .dev-checkout__empty strong { color:var(--bs-navy-950); }
.dev-checkout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:1rem; margin-top:1.2rem; direction:rtl; align-items:start; }
.dev-checkout__plan-summary,.dev-checkout__service { min-width:0; padding:1.2rem; border:1px solid #dce9f5; border-radius:18px; background:#fff; box-shadow:0 8px 26px rgba(8,32,90,.05); color:var(--bs-navy-950); }
.dev-checkout__plan-summary { display:flex; flex-direction:column; }
.dev-checkout__eyebrow { color:var(--bs-blue-600); font-size:.7rem; font-weight:900; letter-spacing:.02em; }
.dev-checkout__plan-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:.75rem; margin-top:.55rem; }
.dev-checkout__app-name { display:block; color:#627796; font-size:.8rem; font-weight:800; }
.dev-checkout__plan-heading h3 { margin:.2rem 0 0; color:var(--bs-navy-950); font-size:1.3rem; line-height:1.35; overflow-wrap:anywhere; }
.dev-checkout__plan-icon { display:grid; place-items:center; flex:0 0 38px; width:38px; height:38px; border-radius:11px; color:var(--bs-blue-600); background:#e7f2ff; font-size:1.35rem; }
.dev-checkout__plan-meta { display:flex; flex-wrap:wrap; align-items:center; gap:.45rem .75rem; margin-top:.75rem; color:#627796; font-size:.76rem; }
.dev-checkout__plan-meta strong { color:var(--bs-navy-950); }
.dev-checkout__badge { padding:.25rem .55rem; border-radius:999px; color:#167a5b; background:#dff8eb; font-size:.65rem; font-weight:900; }
.dev-checkout__app-price { display:flex; align-items:baseline; gap:.4rem; margin-top:1rem; color:var(--bs-blue-600); }
.bs-developer-portal .dev-checkout__app-price strong { color:var(--bs-blue-600); font-size:2rem; line-height:1.1; }
.dev-checkout__app-price small { color:var(--bs-blue-600); font-size:.75rem; font-weight:900; }
.dev-checkout__old-price { margin-top:.25rem; color:#7187a2; font-size:.72rem; }
.dev-checkout__old-price del { color:#8b9bad; }
.dev-checkout__description { margin:.8rem 0 0; color:#4e6784; font-size:.8rem; line-height:1.7; }
.dev-checkout__features-heading { margin-top:1rem; color:var(--bs-navy-950); font-size:.78rem; font-weight:900; }
.dev-checkout__features { display:grid; gap:.35rem; margin:.45rem 0 0; padding:0; list-style:none; color:#4e6784; font-size:.75rem; line-height:1.5; }
.dev-checkout__features li { overflow-wrap:anywhere; }
.dev-checkout__features li::before { content:'✓'; margin-inline-end:.35rem; color:#16a34a; font-weight:900; }
.dev-checkout__lifetime-note { margin:.8rem 0 0; color:#8a5a00; font-size:.72rem; line-height:1.6; }
.dev-checkout__change-plan { justify-content:center; margin-top:1.1rem; }
.dev-checkout__service h3 { margin:.35rem 0 .35rem; color:var(--bs-navy-950); font-size:1.2rem; }
.dev-checkout__service-description { margin:0; color:#4e6784; font-size:.78rem; line-height:1.7; }
.dev-checkout__form { margin-top:1rem; }
.dev-checkout__service-fieldset { min-width:0; margin:0; padding:0; border:0; }
.dev-checkout__service-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.6rem; }
.dev-checkout__service-option { position:relative; display:flex; min-width:0; min-height:76px; align-items:center; justify-content:space-between; gap:.45rem; padding:.7rem; border:1px solid #d7e4f1; border-radius:13px; background:#fff; color:#4e6784; cursor:pointer; transition:border-color var(--bs-transition),box-shadow var(--bs-transition),background var(--bs-transition); }
.dev-checkout__service-option:hover { border-color:#84bde8; }
.dev-checkout__service-option:focus-within { outline:3px solid rgba(18,102,200,.18); outline-offset:2px; }
.dev-checkout__service-option input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.dev-checkout__service-option.is-selected { border-color:var(--bs-blue-600); background:#f3f9ff; box-shadow:0 0 0 2px rgba(18,102,200,.12); }
.dev-checkout__service-copy { display:flex; min-width:0; flex-direction:column; gap:.18rem; }
.dev-checkout__service-copy b { color:var(--bs-navy-950); font-size:.85rem; }
.dev-checkout__service-copy small { color:#7187a2; font-size:.65rem; }
.dev-checkout__service-option > strong { color:var(--bs-blue-600); font-size:.9rem; white-space:nowrap; }
.dev-checkout__service-option > strong small { color:#7187a2; font-size:.58rem; }
.dev-checkout__order-summary { display:grid; gap:.25rem; margin-top:1rem; padding:.8rem .9rem; border:1px solid #cfe6f7; border-radius:13px; background:#f7fbff; color:#4e6784; font-size:.78rem; line-height:1.55; }
.dev-checkout__order-summary > div { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; }
.dev-checkout__order-summary strong { color:var(--bs-navy-950); text-align:end; }
.dev-checkout__order-summary .is-total { margin-top:.35rem; padding-top:.55rem; border-top:1px solid #cfe0ef; color:var(--bs-navy-950); font-size:.95rem; font-weight:900; }
.dev-checkout__order-summary .is-total strong { color:var(--bs-blue-600); font-size:1.35rem; }
.dev-checkout__payment { display:grid; gap:.35rem; margin-top:1rem; }
.dev-checkout__payment > label { color:var(--bs-navy-950); font-size:.75rem; font-weight:900; }
.dev-checkout__payment .form-control { min-height:40px; border-color:#d7e4f1; border-radius:9px; color:var(--bs-navy-950); background:#fff; }
.dev-checkout__payment-note { padding:.55rem .65rem; border:1px solid #e2ebf4; border-radius:10px; color:#4e6784; background:#fff; font-size:.7rem; line-height:1.65; }
.dev-checkout__payment-note strong { display:block; margin-bottom:.1rem; color:var(--bs-navy-950); }
.dev-checkout__submit { width:100%; justify-content:center; margin-top:.85rem; border:0; cursor:pointer; }
.dev-checkout__empty { display:flex; max-width:620px; flex-direction:column; gap:.55rem; margin-top:1.2rem; padding:1.35rem; border:1px solid #dce9f5; border-radius:16px; background:#fff; color:#4e6784; line-height:1.7; }
.dev-checkout__empty strong { color:var(--bs-navy-950); font-size:1rem; }
.dev-checkout__empty .dev-btn { align-self:flex-start; margin-top:.35rem; }
.bs-developer-portal .dev-purchase-confirmation__card { border-color:#dce9f5; background:#fff; color:var(--bs-navy-950); box-shadow:0 12px 34px rgba(8,32,90,.08); }
.bs-developer-portal .dev-purchase-confirmation__card h1 { color:var(--bs-navy-950); }
.bs-developer-portal .dev-purchase-confirmation__card > .card__body > p { color:#405a78; }
.bs-developer-portal .dev-purchase-confirmation__details { display:grid; gap:0; margin:1.35rem 0; padding:0; border:1px solid #dce9f5; border-radius:15px; overflow:hidden; background:#f7fbff; text-align:right; }
.bs-developer-portal .dev-purchase-confirmation__details > div { display:grid; grid-template-columns:minmax(130px,.7fr) minmax(0,1.3fr); gap:1rem; align-items:center; padding:.75rem .9rem; border-bottom:1px solid #e2ebf4; }
.bs-developer-portal .dev-purchase-confirmation__details > div:last-child { border-bottom:0; }
.bs-developer-portal .dev-purchase-confirmation__details dt { color:#58708d; font-size:.78rem; font-weight:800; }
.bs-developer-portal .dev-purchase-confirmation__details dd { margin:0; color:var(--bs-navy-950); font-size:.86rem; font-weight:800; overflow-wrap:anywhere; }
.bs-developer-portal .dev-purchase-confirmation__details dd.num { direction:ltr; text-align:right; }
.bs-developer-portal .dev-purchase-confirmation__price span { color:var(--bs-blue-600); font-size:1rem; font-weight:900; white-space:nowrap; }
.bs-developer-portal .dev-purchase-confirmation__price small { color:var(--bs-blue-600); font-size:.68rem; }
.bs-developer-portal .dev-purchase-confirmation__price--total { background:#edf7ff; }
.bs-developer-portal .dev-purchase-confirmation__price--total span { font-size:1.2rem; }
.bs-developer-portal .dev-purchase-confirmation__card .text-muted { color:#405a78; }
.bs-developer-portal .dev-purchase-confirmation__card .btn-ghost { color:var(--bs-blue-600); border-color:#a9d5f5; background:#fff; }
@media (max-width:1120px) {
    .dev-pricing__plans { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .dev-pricing__service-banner { align-items:flex-start; flex-wrap:wrap; }
    .dev-pricing__service-cycle { margin-inline-start:auto; }
}
@media (max-width:700px) {
    .dev-pricing__intro { align-items:stretch; flex-direction:column; }
    .dev-pricing__currency-note { align-self:flex-start; }
    .dev-pricing__service-options { width:100%; }
    .dev-pricing__service-options span { flex:1; }
    .dev-pricing__service-cycle { margin-inline-start:0; }
    .dev-pricing__plans { grid-template-columns:1fr; }
    .dev-pricing__payment-note { grid-template-columns:1fr; }
    .dev-checkout { grid-template-columns:1fr; }
    .dev-checkout__service-options { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:480px) {
    .dev-checkout__service-options { grid-template-columns:1fr; }
    .dev-checkout__service-option { min-height:62px; }
    .dev-checkout__order-summary > div { align-items:flex-start; flex-direction:column; gap:.05rem; }
    .dev-checkout__order-summary strong { text-align:start; }
    .dev-checkout__empty .dev-btn { width:100%; justify-content:center; }
    .bs-developer-portal .dev-purchase-confirmation__details > div { grid-template-columns:1fr; gap:.2rem; }
    .bs-developer-portal .dev-purchase-confirmation__details dd.num { text-align:right; }
}

/* Developer Portal Marketplace — selected application presentation. */
.dev-marketplace { background:#f6faff; color:var(--bs-navy-950); }
.dev-marketplace__hero { padding:clamp(2rem,4vw,3.25rem) 0 1.25rem; background:linear-gradient(135deg,#eef8ff 0%,#fff 76%); border-bottom:1px solid #dfeaf5; }
.dev-marketplace__hero-copy { max-width:900px; margin-inline-start:auto; text-align:right; }
.dev-marketplace__hero h1 { margin:.55rem 0 .35rem; color:#071746; font-size:clamp(2rem,4vw,3.35rem); letter-spacing:-.045em; }
.dev-marketplace__hero p { color:#48617f; }
.dev-marketplace__main { padding-top:.65rem; padding-bottom:4.5rem; }
.dev-marketplace__breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:.45rem; margin-bottom:1rem; color:#7b8fa8; font-size:.74rem; }
.dev-marketplace__breadcrumb b { color:#a4b6c9; }
.dev-marketplace__breadcrumb strong { color:#183560; font-weight:900; }
.dev-marketplace__picker { padding:.65rem .85rem .75rem; border:1px solid #dbe9f5; border-radius:14px; background:#fff; box-shadow:0 5px 18px rgba(8,32,90,.04); }
.dev-marketplace__picker-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.5rem; direction:rtl; }
.dev-marketplace__picker-heading h2 { display:inline; margin-inline-start:.45rem; color:#081746; font-size:.9rem; }
.dev-marketplace__picker-heading .dev-marketplace__section-kicker { font-size:.62rem; }
.dev-marketplace__picker-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.5rem; direction:rtl; }
.dev-marketplace__picker-item { position:relative; display:flex; min-width:0; align-items:center; gap:.55rem; padding:.45rem .55rem; border:1px solid #e0ebf4; border-radius:10px; color:#102752; background:#fbfdff; text-decoration:none; transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.dev-marketplace__picker-item:hover,.dev-marketplace__picker-item:focus-visible { border-color:#8ec9ef; box-shadow:0 8px 18px rgba(8,32,90,.08); transform:translateY(-1px); }
.dev-marketplace__picker-item.is-selected { border-color:var(--bs-blue-600); background:#f1f8ff; box-shadow:0 0 0 2px rgba(18,102,200,.1); }
.dev-marketplace__picker-cover { display:grid; place-items:center; flex:0 0 38px; width:38px; height:34px; overflow:hidden; border-radius:7px; color:#a9def9; background:linear-gradient(145deg,#071d50,#0874c7); font-size:.72rem; font-weight:900; }
.dev-marketplace__picker-cover img { display:block; width:100%; height:100%; object-fit:cover; }
.dev-marketplace__picker-copy { display:flex; min-width:0; flex:1; flex-direction:column; gap:.18rem; direction:rtl; text-align:right; }
.dev-marketplace__picker-copy strong { overflow:hidden; font-size:.7rem; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.dev-marketplace__picker-copy small { overflow:hidden; color:#7187a2; font-size:.57rem; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.dev-marketplace__picker-check { display:grid; place-items:center; flex:0 0 20px; width:20px; height:20px; border-radius:50%; color:#fff; background:var(--bs-blue-600); font-size:.72rem; font-weight:900; }
.dev-marketplace__product { display:flex; flex-direction:column; gap:.85rem; margin-top:.85rem; direction:rtl; }
.dev-marketplace__product-hero { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1.6fr) minmax(150px,.55fr); gap:1.35rem; padding:.8rem; border:1px solid #dce9f5; border-radius:18px; background:#fff; box-shadow:0 10px 30px rgba(8,32,90,.06); direction:ltr; }
.dev-marketplace__product-cover { position:relative; min-height:190px; overflow:hidden; border-radius:13px; color:#a9def9; background:linear-gradient(145deg,#071d50,#0874c7); }
.dev-marketplace__product-cover img { display:block; width:100%; height:100%; min-height:190px; object-fit:cover; }
.dev-marketplace__product-cover > span:first-child { display:grid; place-items:center; height:100%; font-size:3rem; font-weight:900; letter-spacing:.08em; }
.dev-marketplace__product-status { position:absolute; top:.75rem; right:.75rem; z-index:1; padding:.35rem .6rem; border-radius:999px; color:#087a57; background:#dcfaec; font-size:.65rem; font-weight:900; }
.dev-marketplace__product-info,.dev-marketplace__product-aside { min-width:0; direction:rtl; text-align:right; }
.dev-marketplace__product-info { align-self:center; }
.dev-marketplace__product-meta { display:flex; flex-wrap:wrap; gap:.45rem; color:#7187a2; font-size:.7rem; font-weight:800; }
.dev-marketplace__product-meta span+span::before { content:'•'; margin-inline-end:.45rem; color:#afc0d1; }
.dev-marketplace__product-info h2 { margin:.35rem 0 .35rem; color:#071746; font-size:clamp(1.45rem,3vw,2.2rem); line-height:1.25; letter-spacing:-.035em; overflow-wrap:anywhere; }
.dev-marketplace__product-info p { margin:0; color:#4d6787; font-size:.9rem; line-height:1.8; }
.dev-marketplace__product-tags { display:flex; flex-wrap:wrap; gap:.4rem; margin-top:.8rem; }
.dev-marketplace__product-tags span { padding:.35rem .6rem; border:1px solid #d4eafd; border-radius:999px; color:#176fc1; background:#f0f8ff; font-size:.66rem; font-weight:900; }
.dev-marketplace__product-aside { display:flex; flex-direction:column; justify-content:center; gap:.55rem; padding-inline-start:1rem; border-inline-start:1px solid #edf2f7; }
.dev-marketplace__rating { display:flex; flex-direction:column; gap:.12rem; }
.dev-marketplace__rating strong { color:#0b1d52; font-size:1rem; }
.dev-marketplace__rating span { color:#8194aa; font-size:.65rem; }
.dev-marketplace__product-actions { display:flex; flex-wrap:wrap; grid-column:1/-1; gap:.55rem; direction:rtl; padding:0 .25rem .25rem; }
.dev-marketplace__product-actions .dev-btn { min-width:145px; }
.dev-marketplace__service-banner { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:.9rem; padding:1rem 1.2rem; border:1px solid #cfe6fa; border-radius:16px; background:linear-gradient(100deg,#eef8ff,#fff); direction:rtl; }
.dev-marketplace__service-icon { display:grid; place-items:center; width:40px; height:40px; border-radius:12px; color:#fff; background:linear-gradient(135deg,var(--bs-blue-600),var(--bs-azure-400)); font-size:1.15rem; }
.dev-marketplace__service-banner strong { color:#0968ba; font-size:1rem; }
.dev-marketplace__service-banner p { margin:.25rem 0 0; color:#506b8b; font-size:.76rem; line-height:1.7; }
.dev-marketplace__service-cycle { padding:.55rem .75rem; border:1px solid #c9e2f6; border-radius:10px; color:#165c9c; background:#fff; font-size:.7rem; font-weight:900; white-space:nowrap; }
.dev-marketplace__pricing-panel { padding:1.25rem 1.2rem 1.1rem; border:1px solid #dce9f5; border-radius:18px; background:#fff; box-shadow:0 10px 30px rgba(8,32,90,.045); }
.dev-marketplace__pricing-heading { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:1rem; direction:rtl; }
.dev-marketplace__pricing-heading h3 { margin:.25rem 0 .2rem; color:#081746; font-size:clamp(1.45rem,3vw,2rem); }
.dev-marketplace__pricing-heading p { margin:0; color:#5c7592; font-size:.8rem; }
.dev-marketplace__currency { padding:.5rem .7rem; border:1px solid #cbe5fa; border-radius:9px; color:#0a70c9; background:#f0f8ff; font-size:.78rem; font-weight:900; }
.dev-marketplace__plan-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:stretch; gap:.85rem; direction:rtl; }
.dev-marketplace__plan { display:flex; height:100%; min-width:0; flex-direction:column; padding:1rem; border:1px solid #dce8f2; border-radius:15px; background:#fff; box-shadow:0 6px 18px rgba(8,32,90,.035); }
.dev-marketplace__plan.is-featured { border-color:#0c8be3; background:linear-gradient(180deg,#eef8ff,#fff 38%); box-shadow:0 0 0 2px rgba(18,139,227,.1); }
.dev-marketplace__featured { align-self:flex-start; margin-bottom:.55rem; padding:.3rem .55rem; border-radius:999px; color:#087a57; background:#dcfaec; font-size:.62rem; font-weight:900; }
.dev-marketplace__plan-icon { display:grid; place-items:center; width:38px; height:38px; margin-bottom:.6rem; border:1px solid #cfe7fa; border-radius:11px; color:#0876d1; background:#f0f8ff; font-size:1.45rem; font-weight:900; }
.dev-marketplace__plan-cycle { color:#597493; font-size:.68rem; }
.dev-marketplace__plan h4 { min-height:2.7em; margin:.25rem 0 0; color:#0b1b4c; font-size:1rem; line-height:1.4; overflow-wrap:anywhere; }
.dev-marketplace__plan-price { display:block; margin:.65rem 0 .12rem; color:#081746; font-size:1.65rem; line-height:1.2; overflow-wrap:anywhere; }
.dev-marketplace__plan-price small { color:#0876d1; font-size:.62rem; }
.dev-marketplace__plan del { min-height:1.15em; color:#7388a1; font-size:.7rem; }
.dev-marketplace__plan ul { display:flex; min-height:8.7em; flex-direction:column; gap:.28rem; margin:.8rem 0 1rem; padding:0; list-style:none; color:#486482; font-size:.7rem; line-height:1.5; }
.dev-marketplace__plan li { overflow-wrap:anywhere; }
.dev-marketplace__plan li::before { content:'✓'; margin-inline-end:.3rem; color:#0d80dd; font-weight:900; }
.dev-marketplace__plan .dev-btn { width:100%; min-height:42px; margin-top:auto; }
.dev-marketplace__service-footnote { margin:.95rem 0 0; padding:.7rem .85rem; border:1px solid #d7eafb; border-radius:11px; color:#536f8e; background:#f5fbff; font-size:.71rem; line-height:1.65; }
.dev-marketplace__service-footnote strong { color:#0767b8; }
.dev-marketplace__feature-strip { padding:1rem 1.15rem; border:1px solid #dce9f5; border-radius:15px; background:#fff; }
.dev-marketplace__feature-strip h3 { margin:0 0 .65rem; color:#0b1b4c; font-size:1rem; }
.dev-marketplace__feature-strip ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.45rem .9rem; margin:0; padding:0; list-style:none; color:#4d6787; font-size:.74rem; line-height:1.55; }
.dev-marketplace__feature-strip li::before { content:'✓'; margin-inline-end:.3rem; color:#0d80dd; font-weight:900; }
@media (max-width:1100px) {
    .dev-marketplace__picker-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .dev-marketplace__plan-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .dev-marketplace__product-hero { grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); }
    .dev-marketplace__product-aside { grid-column:1/-1; flex-direction:row; justify-content:space-around; padding:0; border:0; border-top:1px solid #edf2f7; padding-top:.8rem; }
}
@media (max-width:700px) {
    .dev-marketplace__picker-grid,.dev-marketplace__plan-grid { grid-template-columns:1fr; }
    .dev-marketplace__product-hero { grid-template-columns:1fr; gap:.8rem; }
    .dev-marketplace__product-cover,.dev-marketplace__product-cover img { min-height:180px; height:180px; }
    .dev-marketplace__product-aside { grid-column:auto; justify-content:space-between; }
    .dev-marketplace__product-actions { grid-column:auto; }
    .dev-marketplace__service-banner { grid-template-columns:auto minmax(0,1fr); }
    .dev-marketplace__service-cycle { grid-column:1/-1; width:100%; text-align:center; }
    .dev-marketplace__pricing-heading { align-items:flex-start; flex-direction:column; }
    .dev-marketplace__currency { align-self:flex-start; }
    .dev-marketplace__feature-strip ul { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:480px) {
    .dev-marketplace__picker { padding:.8rem; }
    .dev-marketplace__picker-heading { align-items:flex-start; flex-direction:column; gap:.25rem; }
    .dev-marketplace__product-hero,.dev-marketplace__pricing-panel { padding:.75rem; }
    .dev-marketplace__product-info h2 { font-size:1.45rem; }
    .dev-marketplace__product-actions .dev-btn { width:100%; }
    .dev-marketplace__feature-strip ul { grid-template-columns:1fr; }
}
