.sp-demo-bar {
    position: sticky;
    top: 0;
    z-index: 99990;
    width: 100%;
    box-sizing: border-box;
    background: rgba(15, 23, 42, 0.97);
    color: #fff;
    border-bottom: 1px solid rgba(255,255,255,.12);
    box-shadow: 0 8px 26px rgba(0,0,0,.2);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    font-family: Arial, Helvetica, sans-serif;
}

.sp-demo-bar *, .sp-demo-modal * { box-sizing: border-box; }

.sp-demo-bar__inner {
    min-height: 62px;
    max-width: 1440px;
    margin: 0 auto;
    padding: 9px 18px;
    display: flex;
    align-items: center;
    gap: 18px;
}

.sp-demo-brand {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #fff !important;
    text-decoration: none !important;
    white-space: nowrap;
}

.sp-demo-brand__mark {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #2563eb;
    color: #fff;
    font-weight: 800;
    letter-spacing: -.5px;
}

.sp-demo-brand__text { font-weight: 700; font-size: 15px; }
.sp-demo-current { display: flex; align-items: center; gap: 9px; flex: 1; min-width: 0; }
.sp-demo-current__label { color: #94a3b8; font-size: 13px; }

.sp-demo-select {
    width: min(430px, 100%);
    height: 40px;
    border: 1px solid #334155;
    border-radius: 9px;
    background: #0f172a;
    color: #fff;
    padding: 0 38px 0 12px;
    font: 600 14px/1 Arial, Helvetica, sans-serif;
    outline: none;
}
.sp-demo-select:focus { border-color: #60a5fa; box-shadow: 0 0 0 3px rgba(96,165,250,.16); }

.sp-demo-actions { display: flex; align-items: center; gap: 8px; }
.sp-demo-btn {
    min-height: 40px;
    padding: 0 14px;
    border: 1px solid #334155;
    border-radius: 9px;
    background: transparent;
    color: #e2e8f0 !important;
    text-decoration: none !important;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font: 700 13px/1 Arial, Helvetica, sans-serif;
}
.sp-demo-btn:hover { background: #1e293b; color: #fff !important; }
.sp-demo-btn--primary { background: #2563eb; border-color: #2563eb; color: #fff !important; }
.sp-demo-btn--primary:hover { background: #1d4ed8; }

.sp-demo-modal {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    font-family: Arial, Helvetica, sans-serif;
}
.sp-demo-modal.is-open { display: flex; }
.sp-demo-modal__backdrop { position: absolute; inset: 0; background: rgba(2,6,23,.78); backdrop-filter: blur(5px); }
.sp-demo-modal__dialog {
    position: relative;
    width: min(1120px, 100%);
    max-height: min(820px, calc(100vh - 48px));
    overflow: auto;
    border-radius: 18px;
    background: #f8fafc;
    color: #0f172a;
    box-shadow: 0 30px 80px rgba(0,0,0,.45);
}
.sp-demo-modal__head {
    position: sticky;
    top: 0;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 24px 26px 18px;
    background: rgba(248,250,252,.96);
    border-bottom: 1px solid #e2e8f0;
    backdrop-filter: blur(10px);
}
.sp-demo-modal__head h2 { margin: 2px 0 5px; font-size: 24px; color: #0f172a; }
.sp-demo-modal__head p { margin: 0; color: #64748b; font-size: 14px; }
.sp-demo-eyebrow { color: #2563eb; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.sp-demo-close {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    border: 0;
    border-radius: 50%;
    background: #e2e8f0;
    color: #334155;
    cursor: pointer;
    font: 400 26px/1 Arial, sans-serif;
}
.sp-demo-close:hover { background: #cbd5e1; }

.sp-demo-grid {
    padding: 24px 26px 28px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.sp-demo-card {
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(15,23,42,.06);
}
.sp-demo-card.is-active { border-color: #60a5fa; box-shadow: 0 0 0 2px rgba(37,99,235,.12), 0 8px 22px rgba(15,23,42,.08); }
.sp-demo-card__media { display: block; aspect-ratio: 16/10; overflow: hidden; background: #e2e8f0; text-decoration: none !important; }
.sp-demo-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .25s ease; }
.sp-demo-card:hover .sp-demo-card__media img { transform: scale(1.02); }
.sp-demo-placeholder {
    width: 100%; height: 100%;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    background: linear-gradient(135deg, #0f172a, #2563eb);
    color: #fff;
}
.sp-demo-placeholder span { font-size: 56px; line-height: 1; font-weight: 800; }
.sp-demo-placeholder small { margin-top: 10px; opacity: .75; text-transform: uppercase; letter-spacing: .12em; }
.sp-demo-card__body { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 15px; }
.sp-demo-card__body h3 { margin: 0 0 4px; color: #0f172a; font-size: 16px; }
.sp-demo-card__path { color: #94a3b8; font-size: 12px; word-break: break-all; }
.sp-demo-card__button {
    flex: 0 0 auto;
    padding: 9px 12px;
    border-radius: 8px;
    background: #2563eb;
    color: #fff !important;
    text-decoration: none !important;
    font-size: 12px;
    font-weight: 700;
}
.sp-demo-card__button:hover { background: #1d4ed8; }
.sp-demo-modal-open { overflow: hidden; }

@media (max-width: 860px) {
    .sp-demo-bar__inner { flex-wrap: wrap; gap: 8px 12px; }
    .sp-demo-brand__text, .sp-demo-current__label { display: none; }
    .sp-demo-current { order: 3; flex-basis: 100%; }
    .sp-demo-select { width: 100%; }
    .sp-demo-actions { margin-left: auto; }
    .sp-demo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
    .sp-demo-bar__inner { padding: 8px 10px; }
    .sp-demo-btn { padding: 0 10px; }
    .sp-demo-modal { padding: 10px; }
    .sp-demo-modal__dialog { max-height: calc(100vh - 20px); border-radius: 13px; }
    .sp-demo-modal__head { padding: 18px; }
    .sp-demo-modal__head h2 { font-size: 20px; }
    .sp-demo-grid { grid-template-columns: 1fr; padding: 16px 18px 20px; }
}
