:root {
    --sld-ink:#101828;
    --sld-muted:#667085;
    --sld-line:#e4e7ec;
    --sld-soft:#f6f8fb;
    --sld-blue:#0b6cff;
    --sld-yellow:#f2bd18;
    --sld-success:#12b76a;
    --sld-radius:20px;
}

.sdp-login-designer-page .meda-entry-header {
    display:none!important;
}

.sdp-login-designer-page .meda-content-shell,
.sdp-login-designer-page .meda-entry-content {
    width:100%!important;
    max-width:none!important;
    padding-left:0!important;
    padding-right:0!important;
}

.sld-app,
.sld-app *,
.sld-app *::before,
.sld-app *::after {
    box-sizing:border-box;
}

.sld-app {
    direction:rtl;
    width:min(1220px,calc(100% - 32px));
    margin:0 auto;
    padding:42px 0 72px;
    color:var(--sld-ink);
    font-family:"Vazirmatn","Shabnam",Tahoma,Arial,sans-serif;
}

.sld-app input,
.sld-app textarea,
.sld-app select,
.sld-app button {
    font:inherit;
}

.sld-hero {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:28px;
    margin-bottom:28px;
}

.sld-hero>div:first-child {
    max-width:820px;
}

.sld-eyebrow,
.sld-section-head>div>span {
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-bottom:9px;
    color:var(--sld-blue);
    font-size:13px;
    font-weight:850;
}

.sld-eyebrow i {
    width:8px;
    height:8px;
    border-radius:999px;
    background:var(--sld-yellow);
    box-shadow:0 0 0 5px rgba(242,189,24,.14);
}

.sld-hero h1 {
    margin:0;
    font-size:clamp(30px,4vw,50px);
    line-height:1.2;
    letter-spacing:-1px;
}

.sld-hero p,
.sld-section-head p {
    margin:12px 0 0;
    color:var(--sld-muted);
    font-size:15px;
    line-height:2;
}

.sld-hero-badge {
    flex:0 0 auto;
    display:grid;
    gap:2px;
    min-width:190px;
    padding:14px 16px;
    border:1px solid #dbe6f7;
    border-radius:16px;
    background:#f8fbff;
}

.sld-hero-badge strong {
    font-size:13px;
}

.sld-hero-badge span {
    color:var(--sld-muted);
    font-size:11px;
}

.sld-workspace {
    display:grid;
    grid-template-columns:minmax(320px,390px) minmax(0,1fr);
    gap:18px;
    align-items:stretch;
}

.sld-controls,
.sld-preview-panel,
.sld-output,
.sld-guide,
.sld-info,
.sld-faq {
    border:1px solid var(--sld-line);
    border-radius:22px;
    background:#fff;
    box-shadow:0 18px 50px rgba(16,24,40,.06);
}

.sld-controls {
    padding:20px;
}

.sld-panel-head,
.sld-preview-head,
.sld-section-head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}

.sld-panel-head {
    padding-bottom:16px;
    margin-bottom:16px;
    border-bottom:1px solid #edf0f4;
}

.sld-panel-head>div {
    display:grid;
    gap:3px;
}

.sld-panel-head strong {
    font-size:14px;
}

.sld-panel-head span {
    color:var(--sld-muted);
    font-size:11px;
}

.sld-live-dot {
    width:10px;
    height:10px;
    border-radius:999px;
    background:var(--sld-success);
    box-shadow:0 0 0 0 rgba(18,183,106,.3);
    animation:sldPulse 1.8s ease-out infinite;
}

@keyframes sldPulse {
    0%{box-shadow:0 0 0 0 rgba(18,183,106,.28)}
    80%{box-shadow:0 0 0 9px rgba(18,183,106,0)}
    100%{box-shadow:0 0 0 0 rgba(18,183,106,0)}
}

.sld-presets {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:7px;
    margin-bottom:18px;
}

.sld-presets button,
.sld-device-switch button {
    border:1px solid var(--sld-line);
    border-radius:10px;
    background:#fff;
    color:#475467;
    min-height:36px;
    cursor:pointer;
    transition:.18s ease;
}

.sld-presets button:hover,
.sld-device-switch button:hover {
    border-color:#b8c7dc;
}

.sld-presets button.is-active,
.sld-device-switch button.is-active {
    border-color:rgba(11,108,255,.45);
    background:#f1f6ff;
    color:var(--sld-blue);
    font-weight:800;
}

.sld-field {
    display:grid;
    gap:7px;
    margin-bottom:14px;
}

.sld-field label {
    color:#344054;
    font-size:12px;
    font-weight:800;
}

.sld-field small {
    color:#98a2b3;
    font-size:10px;
    line-height:1.8;
}

.sld-field input[type="text"],
.sld-field input[type="url"],
.sld-field textarea,
.sld-field select {
    width:100%;
    min-height:44px;
    padding:9px 12px;
    border:1px solid #d0d5dd;
    border-radius:11px;
    background:#fff;
    color:var(--sld-ink);
    outline:0;
    transition:border-color .18s ease,box-shadow .18s ease;
}

.sld-field textarea {
    resize:vertical;
}

.sld-field input:focus,
.sld-field textarea:focus,
.sld-field select:focus {
    border-color:rgba(11,108,255,.62);
    box-shadow:0 0 0 3px rgba(11,108,255,.1);
}

.sld-color-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
}

.sld-color-grid .sld-field input[type="color"] {
    width:100%;
    height:44px;
    padding:4px;
    border:1px solid #d0d5dd;
    border-radius:11px;
    background:#fff;
    cursor:pointer;
}

.sld-control-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}

.sld-switch-row {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:12px 0;
    border-top:1px solid #f0f2f5;
    cursor:pointer;
}

.sld-switch-row>span {
    display:grid;
    gap:2px;
}

.sld-switch-row strong {
    font-size:12px;
}

.sld-switch-row small {
    color:var(--sld-muted);
    font-size:10px;
}

.sld-switch-row input {
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.sld-switch-row i {
    position:relative;
    flex:0 0 auto;
    width:40px;
    height:22px;
    border-radius:999px;
    background:#d0d5dd;
    transition:.2s ease;
}

.sld-switch-row i::after {
    content:"";
    position:absolute;
    top:3px;
    right:3px;
    width:16px;
    height:16px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 1px 3px rgba(16,24,40,.2);
    transition:.2s ease;
}

.sld-switch-row input:checked+i {
    background:var(--sld-blue);
}

.sld-switch-row input:checked+i::after {
    transform:translateX(-18px);
}

.sld-actions,
.sld-output-actions {
    display:flex;
    gap:9px;
    flex-wrap:wrap;
}

.sld-actions {
    margin-top:14px;
}

.sld-button {
    min-height:42px;
    padding:0 16px;
    border:1px solid #d0d5dd;
    border-radius:11px;
    background:#fff;
    color:#344054;
    font-weight:800;
    font-size:12px;
    cursor:pointer;
    transition:.18s ease;
}

.sld-button:hover {
    transform:translateY(-1px);
    border-color:#98a2b3;
}

.sld-button--primary {
    border-color:var(--sld-blue);
    background:var(--sld-blue);
    color:#fff;
}

.sld-preview-panel {
    overflow:hidden;
}

.sld-preview-head {
    min-height:70px;
    padding:0 20px;
    border-bottom:1px solid var(--sld-line);
}

.sld-preview-head>div:first-child {
    display:grid;
    gap:2px;
}

.sld-preview-head span {
    color:var(--sld-muted);
    font-size:11px;
}

.sld-preview-head strong {
    font-size:14px;
}

.sld-device-switch {
    display:flex;
    gap:6px;
}

.sld-device-switch button {
    min-width:72px;
    padding:0 10px;
    font-size:11px;
}

.sld-preview-stage {
    display:flex;
    justify-content:center;
    min-height:595px;
    padding:20px;
    background:
        linear-gradient(45deg,#f5f7fa 25%,transparent 25%),
        linear-gradient(-45deg,#f5f7fa 25%,transparent 25%),
        linear-gradient(45deg,transparent 75%,#f5f7fa 75%),
        linear-gradient(-45deg,transparent 75%,#f5f7fa 75%);
    background-size:18px 18px;
    background-position:0 0,0 9px,9px -9px,-9px 0;
}

.sld-preview-frame {
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(270px,340px);
    align-items:center;
    gap:34px;
    width:100%;
    min-height:555px;
    padding:38px;
    overflow:hidden;
    border:1px solid #dfe5ee;
    border-radius:18px;
    background:#eef4ff;
    background-size:cover;
    background-position:center;
    transition:.25s ease;
}

.sld-preview-frame::before {
    content:"";
    position:absolute;
    inset:auto -100px -180px auto;
    width:420px;
    height:420px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(11,108,255,.16),rgba(11,108,255,0) 70%);
    pointer-events:none;
}

.sld-preview-frame.is-left {
    grid-template-columns:minmax(270px,340px) minmax(0,1fr);
}

.sld-preview-frame.is-left .sld-preview-intro {
    order:2;
}

.sld-preview-frame.is-left .sld-login-card {
    order:1;
}

.sld-preview-frame.is-center {
    display:flex;
    justify-content:center;
}

.sld-preview-frame.is-center .sld-preview-intro {
    display:none!important;
}

.sld-preview-frame.is-mobile {
    width:365px;
    min-height:610px;
    grid-template-columns:1fr;
    padding:24px 18px;
}

.sld-preview-frame.is-mobile .sld-preview-intro {
    display:none!important;
}

.sld-preview-frame.is-mobile .sld-login-card {
    width:100%;
}

.sld-preview-intro {
    position:relative;
    z-index:1;
    max-width:540px;
}

.sld-preview-brand {
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:28px;
    font-size:13px;
    font-weight:900;
}

.sld-preview-brand img {
    max-width:150px;
    max-height:58px;
    object-fit:contain;
}

.sld-preview-intro h2 {
    margin:0 0 13px;
    font-size:clamp(25px,3vw,42px);
    line-height:1.35;
}

.sld-preview-intro p {
    margin:0;
    max-width:540px;
    color:#475467;
    font-size:14px;
    line-height:2;
}

.sld-preview-points {
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:24px;
}

.sld-preview-points span {
    padding:7px 10px;
    border:1px solid rgba(11,108,255,.18);
    border-radius:999px;
    background:rgba(255,255,255,.62);
    color:#344054;
    font-size:10px;
    font-weight:750;
}

.sld-login-card {
    position:relative;
    z-index:2;
    display:grid;
    gap:9px;
    width:100%;
    max-width:340px;
    margin-right:auto;
    padding:25px;
    border:1px solid rgba(255,255,255,.62);
    border-radius:22px;
    background:#fff;
    box-shadow:0 24px 60px rgba(16,24,40,.16);
    backdrop-filter:blur(12px);
}

.sld-login-card>strong {
    margin:4px 0 7px;
    font-size:18px;
}

.sld-login-mark {
    display:flex;
    align-items:center;
    gap:7px;
    direction:ltr;
    justify-content:flex-end;
    color:#475467;
    font-size:11px;
    font-weight:800;
}

.sld-login-mark span {
    width:8px;
    height:8px;
    border-radius:50%;
    background:var(--sld-blue);
}

.sld-login-card label {
    color:#475467;
    font-size:10px;
    font-weight:800;
}

.sld-login-card input {
    width:100%;
    height:42px;
    padding:0 11px;
    border:1px solid #d0d5dd;
    border-radius:10px;
    background:#fff;
    color:#98a2b3;
    direction:ltr;
    text-align:left;
    opacity:1;
}

.sld-login-card button {
    height:43px;
    margin-top:6px;
    border:0;
    border-radius:10px;
    background:var(--sld-blue);
    color:#fff;
    font-weight:900;
    opacity:1;
}

.sld-login-card small {
    color:#98a2b3;
    font-size:9px;
    line-height:1.7;
    text-align:center;
}

.sld-preview-row {
    display:flex;
    justify-content:space-between;
    gap:10px;
    color:#667085;
    font-size:9px;
}

.sld-preview-footer {
    position:absolute;
    bottom:16px;
    right:24px;
    left:24px;
    z-index:2;
    color:#667085;
    font-size:9px;
    text-align:center;
}

.sld-preview-note {
    margin:0;
    padding:12px 20px 16px;
    border-top:1px solid var(--sld-line);
    color:#667085;
    font-size:11px;
    line-height:1.9;
}

.sld-preview-note code,
.sld-guide code {
    direction:ltr;
    display:inline-block;
    padding:1px 5px;
    border-radius:5px;
    background:#f2f4f7;
    color:#344054;
    font-family:Consolas,monospace;
}

.sld-output,
.sld-guide,
.sld-info,
.sld-faq {
    margin-top:22px;
    padding:26px;
}

.sld-section-head {
    align-items:flex-end;
    margin-bottom:20px;
}

.sld-section-head>div:first-child {
    max-width:760px;
}

.sld-section-head h2 {
    margin:0;
    font-size:25px;
}

.sld-code {
    width:100%;
    min-height:390px;
    padding:18px;
    border:1px solid #d0d5dd;
    border-radius:14px;
    background:#101828;
    color:#e6edf6;
    font:12px/1.8 Consolas,Monaco,monospace!important;
    text-align:left;
    resize:vertical;
    outline:0;
}

.sld-code-status {
    min-height:22px;
    padding-top:8px;
    color:#667085;
    font-size:11px;
}

.sld-guide ol {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
    margin:0;
    padding:0;
    list-style:none;
}

.sld-guide li {
    display:flex;
    gap:11px;
    min-height:118px;
    padding:15px;
    border:1px solid #eaecf0;
    border-radius:14px;
    background:#fafbfc;
}

.sld-guide li>b,
.sld-info-grid article>b {
    color:var(--sld-blue);
    font-size:11px;
}

.sld-guide li div {
    display:grid;
    align-content:start;
    gap:5px;
}

.sld-guide li strong {
    font-size:12px;
}

.sld-guide li span {
    color:#667085;
    font-size:10px;
    line-height:1.9;
}

.sld-guide-note {
    display:flex;
    gap:8px;
    margin-top:14px;
    padding:12px 14px;
    border:1px solid #f4df96;
    border-radius:12px;
    background:#fffbeb;
    color:#7a5c00;
    font-size:11px;
    line-height:1.9;
}

.sld-doc-link {
    display:inline-flex;
    margin-top:12px;
    color:var(--sld-blue);
    font-size:11px;
    font-weight:800;
    text-decoration:none;
}

.sld-info-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
}

.sld-info-grid article {
    min-height:150px;
    padding:17px;
    border:1px solid #eaecf0;
    border-radius:15px;
    background:#fff;
}

.sld-info-grid h3 {
    margin:8px 0 6px;
    font-size:14px;
}

.sld-info-grid p,
.sld-faq p {
    margin:0;
    color:#667085;
    font-size:11px;
    line-height:1.95;
}

.sld-faq details {
    border-top:1px solid #eaecf0;
}

.sld-faq summary {
    position:relative;
    padding:16px 2px 16px 34px;
    font-size:12px;
    font-weight:850;
    cursor:pointer;
    list-style:none;
}

.sld-faq summary::-webkit-details-marker {
    display:none;
}

.sld-faq summary::before {
    content:"+";
    position:absolute;
    left:2px;
    top:13px;
    width:24px;
    height:24px;
    display:grid;
    place-items:center;
    border:1px solid #d0d5dd;
    border-radius:50%;
    color:#475467;
}

.sld-faq details[open] summary::before {
    content:"−";
}

.sld-faq details p {
    padding:0 0 16px;
}

.sld-toast {
    position:fixed;
    left:24px;
    bottom:24px;
    z-index:99999;
    min-width:220px;
    max-width:360px;
    padding:12px 14px;
    border-radius:12px;
    background:#101828;
    color:#fff;
    box-shadow:0 16px 40px rgba(16,24,40,.24);
    font-size:11px;
}

@media (max-width:1050px) {
    .sld-workspace {
        grid-template-columns:1fr;
    }
    .sld-guide ol,
    .sld-info-grid {
        grid-template-columns:repeat(2,1fr);
    }
}

@media (max-width:700px) {
    .sld-app {
        width:min(100% - 20px,1220px);
        padding-top:24px;
    }
    .sld-hero {
        align-items:stretch;
        flex-direction:column;
    }
    .sld-hero-badge {
        min-width:0;
    }
    .sld-hero h1 {
        font-size:31px;
    }
    .sld-controls,
    .sld-output,
    .sld-guide,
    .sld-info,
    .sld-faq {
        border-radius:16px;
        padding:16px;
    }
    .sld-presets {
        grid-template-columns:repeat(2,1fr);
    }
    .sld-color-grid,
    .sld-control-grid,
    .sld-guide ol,
    .sld-info-grid {
        grid-template-columns:1fr;
    }
    .sld-preview-head,
    .sld-section-head {
        align-items:stretch;
        flex-direction:column;
    }
    .sld-preview-stage {
        padding:12px;
        overflow-x:auto;
    }
    .sld-preview-frame:not(.is-mobile) {
        min-width:720px;
    }
    .sld-output-actions {
        width:100%;
    }
    .sld-output-actions .sld-button {
        flex:1;
    }
    .sld-guide-note {
        align-items:flex-start;
        flex-direction:column;
    }
}
