@font-face {
    font-family: 'Vazirmatn';
    src: url('/fonts/Vazirmatn-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Vazirmatn';
    src: url('/fonts/Vazirmatn-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Vazirmatn';
    src: url('/fonts/Vazirmatn-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Vazirmatn';
    src: url('/fonts/Vazirmatn-Black.woff2') format('woff2');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

:root {
    --sidebar-width: 260px;
    --header-height: 60px;
    --primary: #4f46e5;
    --primary-hover: #4338ca;
    --sidebar-bg: #1e293b;
    --sidebar-text: #cbd5e1;
    --sidebar-active: #4f46e5;
    --body-bg: #f1f5f9;
    --card-bg: #ffffff;
    --text-color: #1e293b;
    --text-muted: #64748b;
    --border-color: #e2e8f0;
    /* Off-canvas sidebar hides toward the inline-end (right in RTL, left in LTR). */
    --sidebar-hide-x: 100%;
    --sidebar-shadow-x: -4px;
}

html[dir="ltr"] {
    --sidebar-hide-x: -100%;
    --sidebar-shadow-x: 4px;
}

[data-bs-theme="dark"] {
    --body-bg: #182235;
    --card-bg: #243247;
    --text-color: #edf2f7;
    --text-muted: #aebbd0;
    --border-color: #40516a;
    --sidebar-bg: #1b273a;
    --bs-body-bg: var(--body-bg);
    --bs-body-color: var(--text-color);
    --bs-secondary-bg: #2c3b51;
    --bs-tertiary-bg: #33445c;
    --bs-border-color: var(--border-color);
}

* {
    box-sizing: border-box;
}

body {
    font-family: 'Vazirmatn', Tahoma, sans-serif;
    background-color: var(--body-bg);
    color: var(--text-color);
    overflow-x: hidden;
}

a { color: var(--primary); }
a:hover { color: var(--primary-hover); }

.app-wrapper {
    min-height: 100vh;
}

.sidebar {
    width: var(--sidebar-width);
    background: linear-gradient(180deg, var(--sidebar-bg) 0%, #0f172a 100%);
    color: var(--sidebar-text);
    position: fixed;
    top: 0;
    inset-inline-start: 0;
    bottom: 0;
    z-index: 1040;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease;
    overflow-y: auto;
}

.sidebar-header {
    min-height: var(--header-height);
    border-bottom: 1px solid rgba(255,255,255,0.08);
}

.sidebar-brand {
    color: #ffffff;
    font-size: 1.15rem;
}

.sidebar-brand-logo {
    width: 42px;
    height: 42px;
    object-fit: contain;
    flex-shrink: 0;
    border-radius: 10px;
}

.sidebar-section-label {
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 0.7rem;
    font-weight: 600;
    opacity: 0.6;
}

.sidebar-link {
    color: var(--sidebar-text);
    font-size: 0.875rem;
    transition: all 0.2s ease;
    margin-bottom: 2px;
}

.sidebar-link:hover {
    background: rgba(255,255,255,0.08);
    color: #ffffff;
}

.sidebar-link.active {
    background: var(--sidebar-active);
    color: #ffffff;
}

.sidebar-link i {
    font-size: 1.2rem;
    width: 24px;
    text-align: center;
}

.sidebar-link .badge {
    font-size: 0.65rem;
}

.sidebar-footer {
    background: rgba(0,0,0,0.2);
}

.sidebar-logout {
    color: var(--sidebar-text);
    font-size: 0.875rem;
    border: 0;
    text-align: start;
}

.sidebar-logout:hover,
.sidebar-logout:focus-visible {
    color: #fecaca;
    background: rgba(239, 68, 68, 0.14);
}

.sidebar-logout i {
    width: 32px;
    font-size: 1.2rem;
    text-align: center;
}

.main-content {
    margin-inline-start: var(--sidebar-width);
    min-width: 0;
    transition: margin 0.3s ease;
}

.sticky-header {
    position: sticky;
    top: 0;
    z-index: 1030;
    min-height: var(--header-height);
    background: var(--card-bg) !important;
}

.sidebar-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    z-index: 1035;
}

.sidebar-overlay.show { display: block; }

.empty-state {
    padding: 3rem 1rem;
}

.empty-state i {
    opacity: 0.3;
}

.stat-card {
    transition: transform 0.2s;
    border-radius: 12px;
}

.stat-card:hover {
    transform: translateY(-2px);
}

.stat-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
}

.avatar-sm {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.badge-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
}

.toast-container {
    z-index: 9999;
}

.dropdown-menu {
    text-align: start;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 0.2rem rgba(79, 70, 229, 0.15);
}

.btn-icon {
    width: 40px;
    height: 40px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: transparent;
    color: var(--text-color);
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.2s;
}

.btn-icon:hover { background: rgba(0,0,0,0.06); }

@media (max-width: 991.98px) {
    .sidebar {
        transform: translateX(var(--sidebar-hide-x));
    }

    .sidebar.open {
        transform: translateX(0);
    }

    .main-content {
        margin-inline-start: 0;
    }

    .sidebar-overlay.show { display: block; }
}

/* Desktop: user can collapse the sidebar to focus on their writing. */
@media (min-width: 992px) {
    body.sidebar-collapsed .sidebar {
        transform: translateX(var(--sidebar-hide-x));
    }

    body.sidebar-collapsed .main-content {
        margin-inline-start: 0;
    }

    /* Highlight the hamburger while the sidebar is tucked away. */
    body.sidebar-collapsed .sidebar-trigger {
        background: rgba(79, 70, 229, 0.12);
        color: var(--primary);
    }

    body.sidebar-collapsed .sidebar-trigger:hover {
        background: rgba(79, 70, 229, 0.2);
    }
}

.admin-wrapper {
    min-height: 100vh;
}

.admin-sidebar {
    width: var(--sidebar-width);
    background: linear-gradient(180deg, #1a1a2e 0%, #16213e 100%);
    color: #e2e8f0;
    position: fixed;
    top: 0;
    inset-inline-start: 0;
    bottom: 0;
    z-index: 1040;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease;
    overflow-y: auto;
}

.admin-nav-link {
    color: #94a3b8;
    font-size: 0.85rem;
    transition: all 0.2s ease;
    margin-bottom: 1px;
}

.admin-nav-link:hover {
    background: rgba(255,255,255,0.08);
    color: #ffffff;
}

.admin-nav-link.active {
    background: var(--primary);
    color: #ffffff;
}

.admin-nav-link i {
    font-size: 1.15rem;
    width: 24px;
    text-align: center;
}

.admin-main {
    margin-inline-start: var(--sidebar-width);
    transition: margin 0.3s ease;
    background: var(--body-bg);
}

.admin-header {
    position: sticky;
    top: 0;
    z-index: 1030;
    min-height: var(--header-height);
    background: var(--card-bg) !important;
}

@media (max-width: 991.98px) {
    .admin-sidebar {
        transform: translateX(var(--sidebar-hide-x));
    }

    .admin-sidebar.open {
        transform: translateX(0);
    }

    .admin-main {
        margin-inline-start: 0;
    }
}

footer {
    background: var(--card-bg);
}

[data-bs-theme="dark"] body {
    background-color: var(--body-bg);
    color: var(--text-color);
}

[data-bs-theme="dark"] .card {
    background-color: var(--card-bg);
    border-color: var(--border-color);
}

[data-bs-theme="dark"] .sticky-header,
[data-bs-theme="dark"] .admin-header,
[data-bs-theme="dark"] footer {
    background: var(--card-bg) !important;
    border-color: var(--border-color) !important;
}

[data-bs-theme="dark"] .border-bottom {
    border-color: var(--border-color) !important;
}

[data-bs-theme="dark"] .table {
    color: var(--text-color);
}

[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select {
    background-color: var(--card-bg);
    border-color: var(--border-color);
    color: var(--text-color);
}

[data-bs-theme="dark"] .table-light {
    background-color: rgba(255,255,255,0.05);
}

/* Keep the authoring workspace calm and visually consistent in dark mode. */
[data-bs-theme="dark"] .sidebar {
    background: linear-gradient(180deg, #1b273a 0%, #162135 100%);
}

[data-bs-theme="dark"] .book-writing-workspace .bg-light,
[data-bs-theme="dark"] .book-writing-workspace .bg-body,
[data-bs-theme="dark"] .book-writing-workspace .input-group-text,
[data-bs-theme="dark"] .book-writing-workspace .list-group-item {
    background-color: #2c3b51 !important;
    border-color: var(--border-color) !important;
    color: var(--text-color) !important;
}

[data-bs-theme="dark"] .book-writing-workspace .text-dark,
[data-bs-theme="dark"] .book-writing-workspace a.text-dark {
    color: var(--text-color) !important;
}

[data-bs-theme="dark"] .book-writing-workspace .badge.bg-light {
    background-color: #354860 !important;
    color: #dbe7f5 !important;
    border: 1px solid #4b607c;
}

[data-bs-theme="dark"] .book-writing-workspace .btn-outline-secondary {
    --bs-btn-color: #c6d2e3;
    --bs-btn-border-color: #60728c;
    --bs-btn-hover-bg: #40536d;
    --bs-btn-hover-border-color: #71839c;
}

[data-bs-theme="dark"] .book-writing-workspace #editor-content {
    background-color: #29394f;
    border-color: #4a5d77;
}

@media (prefers-reduced-motion: reduce) {
    * {
        transition: none !important;
        animation: none !important;
    }
}

:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

.btn.is-loading {
    cursor: wait;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
}

.btn.is-loading .spinner-border {
    flex: 0 0 auto;
}

/* Independent scientific authoring wizards */
.scientific-wizard { --wizard-color:#0f766e; --wizard-soft:#ecfdf5; --wizard-rgb:15,118,110; width:100%; max-width:1180px; min-width:0; margin:0 auto; }
.scientific-wizard.thesis-wizard { --wizard-color:#7c3aed; --wizard-soft:#f5f3ff; --wizard-rgb:124,58,237; }
.wizard-hero { display:flex; align-items:center; gap:1rem; padding:1.4rem 1.6rem; margin-bottom:1.25rem; border:1px solid rgba(var(--wizard-rgb),.18); border-radius:1rem; background:linear-gradient(135deg,var(--wizard-soft),#fff); }
.wizard-hero-icon { width:58px; height:58px; flex:0 0 58px; display:grid; place-items:center; border-radius:16px; color:#fff; font-size:1.8rem; background:linear-gradient(135deg,var(--wizard-color),rgba(var(--wizard-rgb),.7)); box-shadow:0 8px 24px rgba(var(--wizard-rgb),.25); }
.wizard-hero h3 { margin:.15rem 0 .3rem; font-weight:800; color:#172033; }.wizard-hero p,.wizard-card-header p { color:#64748b; margin:0; }.wizard-eyebrow { color:var(--wizard-color); font-size:.78rem; font-weight:700; }
.scientific-wizard .wizard-progress { display:flex; align-items:flex-start; margin:0 0 1.4rem; padding:1rem 1.25rem; background:#fff; border-radius:1rem; box-shadow:0 3px 18px rgba(15,23,42,.06); }
.scientific-wizard .wizard-step { flex:0 0 110px; display:flex; flex-direction:column; align-items:center; gap:.45rem; color:#94a3b8; text-align:center; }
.scientific-wizard .step-number { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:#e2e8f0; color:#64748b; font-weight:800; transition:.2s; }
.scientific-wizard .wizard-step.active .step-number,.scientific-wizard .wizard-step.completed .step-number { color:#fff; background:var(--wizard-color); box-shadow:0 0 0 5px rgba(var(--wizard-rgb),.12); }
.scientific-wizard .wizard-step.active .step-label,.scientific-wizard .wizard-step.completed .step-label { color:var(--wizard-color); font-weight:700; }
.scientific-wizard .wizard-connector { flex:1; height:2px; margin-top:17px; background:#e2e8f0; }.scientific-wizard .wizard-step.completed + .wizard-connector { background:rgba(var(--wizard-rgb),.45); }
/* مراحل تکمیل‌شده نوار پیشرفت برای بازگشت به مراحل قبلی قابل کلیک‌اند. */
.scientific-wizard .wizard-progress a.wizard-step { text-decoration:none; cursor:pointer; }
.scientific-wizard .wizard-progress a.wizard-step:hover .step-number { transform:scale(1.12); box-shadow:0 0 0 6px rgba(var(--wizard-rgb),.22); }
.scientific-wizard .wizard-progress a.wizard-step:hover .step-label { text-decoration:underline; text-underline-offset:3px; }
.wizard-card { display:block; overflow:hidden; border:1px solid #e8edf4; border-radius:1rem; background:#fff; box-shadow:0 8px 30px rgba(15,23,42,.07); }
.wizard-card-header { display:flex; align-items:center; gap:.85rem; padding:1.25rem 1.5rem; border-bottom:1px solid #eef2f7; background:linear-gradient(90deg,var(--wizard-soft),#fff); }.wizard-card-header>i { font-size:1.5rem; color:var(--wizard-color); }.wizard-card-header h5 { margin:0 0 .25rem; font-weight:800; }
.wizard-form { padding:1.5rem; }.wizard-form .form-label { color:#334155; font-weight:650; margin-bottom:.45rem; }.wizard-form .form-label span { color:#dc2626; }.wizard-form .form-control,.wizard-form .form-select { min-height:46px; border-color:#dbe3ee; border-radius:.65rem; }.wizard-form textarea.form-control { min-height:auto; }.wizard-form .form-control:focus,.wizard-form .form-select:focus { border-color:var(--wizard-color); box-shadow:0 0 0 .2rem rgba(var(--wizard-rgb),.12); }
.requirements { display:flex; flex-wrap:wrap; align-content:flex-start; gap:.65rem 1.2rem; }.requirements>.form-label { flex-basis:100%; }.requirements .form-check { margin:0; }.requirements .form-check-input:checked,.research-option .form-check-input:checked { background-color:var(--wizard-color); border-color:var(--wizard-color); }
.wizard-actions { display:flex; justify-content:space-between; align-items:center; gap:.75rem; padding:1rem 1.5rem; border-top:1px solid #eef2f7; background:#fafcff; }.wizard-primary { color:#fff!important; background:var(--wizard-color)!important; border-color:var(--wizard-color)!important; padding:.6rem 1.25rem; }.wizard-primary:hover { filter:brightness(.92); transform:translateY(-1px); }
.document-types { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; padding:1.5rem; }.thesis-wizard .document-types { grid-template-columns:repeat(2,1fr); }.document-type { display:flex; flex-direction:column; gap:.45rem; padding:1.35rem; min-height:150px; color:#334155; text-decoration:none; border:2px solid #e5eaf1; border-radius:.9rem; transition:.2s; }.document-type i { font-size:2rem; color:var(--wizard-color); }.document-type strong { font-size:1.05rem; }.document-type small { color:#64748b; line-height:1.8; }.document-type:hover { color:#172033; border-color:var(--wizard-color); background:var(--wizard-soft); transform:translateY(-3px); box-shadow:0 10px 24px rgba(var(--wizard-rgb),.12); }
.structure-list { display:grid; gap:.55rem; padding:1.5rem; }.structure-item { display:flex; align-items:center; gap:.75rem; padding:.8rem 1rem; border:1px solid #e5eaf1; border-radius:.7rem; background:#fff; }.structure-item>i { color:#94a3b8; }.structure-item span { flex:1; font-weight:650; }.structure-item small { color:var(--wizard-color); background:var(--wizard-soft); padding:.25rem .6rem; border-radius:2rem; }
.structure-toolbar { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:1.25rem 1.5rem 0; padding:.85rem 1rem; border:1px solid #dbeafe; border-radius:.8rem; background:#eff6ff; color:#475569; }.structure-toolbar>div { display:flex; align-items:center; gap:.75rem; }.structure-toolbar strong { color:#1e3a8a; }.structure-toolbar span { padding:.2rem .55rem; border-radius:2rem; background:#dbeafe; font-size:.82rem; }.structure-toolbar small { display:flex; align-items:center; gap:.35rem; }
.structure-toolbar .structure-toolbar-actions { flex-wrap:wrap; justify-content:flex-end; }
.structure-list { gap:1rem; }.structure-chapter-card { overflow:hidden; border:1px solid #dbe3ee; border-radius:1rem; background:#fff; box-shadow:0 4px 16px rgba(15,23,42,.04); transition:border-color .2s,box-shadow .2s,transform .2s; }.structure-chapter-card:hover { border-color:#b8c8dc; box-shadow:0 8px 24px rgba(15,23,42,.07); }.structure-chapter-header { display:grid; grid-template-columns:2.5rem minmax(220px,1fr) 170px auto auto; align-items:end; gap:.75rem; padding:1rem; background:linear-gradient(135deg,#f8fafc,#fff); }.structure-order-badge { display:grid; place-items:center; align-self:center; width:2.25rem; height:2.25rem; border-radius:.7rem; color:#fff; background:var(--wizard-color); font-weight:800; box-shadow:0 4px 10px rgba(var(--wizard-rgb),.2); }.structure-title-field label,.structure-word-field label { display:block; margin-bottom:.35rem; color:#64748b; font-size:.76rem; font-weight:650; }.structure-title-field input { font-weight:650; }.structure-move-actions { display:flex; gap:.3rem; align-self:end; }.structure-move-actions .btn { display:grid; place-items:center; min-width:2.35rem; height:2.35rem; padding:0; }.structure-move-actions .btn:disabled { opacity:.3; }.structure-collapse { display:flex; align-items:center; gap:.3rem; align-self:end; height:2.35rem; white-space:nowrap; }
.structure-children { display:grid; gap:.5rem; padding:.85rem 1rem 1rem 3.5rem; border-top:1px solid #edf1f6; background:#fbfdff; }.structure-subsection-row { display:grid; grid-template-columns:3rem 1.25rem minmax(200px,1fr) 155px auto; align-items:end; gap:.65rem; padding:.7rem; border:1px solid #e5eaf1; border-radius:.75rem; background:#fff; transition:border-color .2s,background .2s,transform .2s; }.structure-suborder { align-self:center; width:2.6rem; height:2rem; color:var(--wizard-color); background:var(--wizard-soft); box-shadow:none; font-size:.78rem; }.structure-branch-icon { align-self:center; color:#94a3b8; font-size:1.1rem; }.structure-edited { border-color:#f59e0b!important; }.structure-just-moved { transform:translateX(-6px); border-color:var(--wizard-color)!important; background:var(--wizard-soft)!important; }.structure-save-actions { position:sticky; bottom:0; z-index:5; box-shadow:0 -8px 20px rgba(15,23,42,.06); }.structure-save-actions>span { color:#64748b; font-size:.84rem; }
@media (max-width:991.98px) { .structure-chapter-header { grid-template-columns:2.5rem minmax(180px,1fr) 150px; }.structure-chapter-header .structure-move-actions,.structure-collapse { grid-row:2; }.structure-chapter-header .structure-move-actions { grid-column:2; justify-self:start; }.structure-collapse { grid-column:3; }.structure-subsection-row { grid-template-columns:3rem 1.25rem minmax(170px,1fr); }.structure-subsection-row .structure-word-field { grid-column:3; }.structure-subsection-row .structure-move-actions { grid-column:3; justify-self:end; } }
@media (max-width:767.98px) { .structure-toolbar { align-items:flex-start; flex-direction:column; margin-inline:.75rem; }.structure-list { padding:.75rem; }.structure-chapter-header { grid-template-columns:2.5rem 1fr; padding:.8rem; }.structure-title-field { grid-column:2; }.structure-word-field { grid-column:2; }.structure-chapter-header .structure-move-actions { grid-column:2; grid-row:auto; }.structure-collapse { grid-column:2; grid-row:auto; justify-self:start; }.structure-children { padding:.75rem; }.structure-subsection-row { grid-template-columns:2.7rem 1fr; }.structure-subsection-row .structure-branch-icon { display:none; }.structure-subsection-row .structure-title-field,.structure-subsection-row .structure-word-field,.structure-subsection-row .structure-move-actions { grid-column:2; }.structure-subsection-row .structure-move-actions { justify-self:start; }.structure-save-actions { align-items:stretch; flex-direction:column; }.structure-save-actions>span { display:none; }.structure-save-actions .btn { width:100%; } }
.structure-word-input { width:150px; direction:ltr; }.structure-word-input input { text-align:center; }
.scientific-structure-editor .structure-chapter-header { grid-template-columns:auto 2.5rem minmax(220px,1fr) 170px auto; }
.scientific-structure-editor .structure-collapse { grid-column:1; justify-self:start; }
.scientific-collapse-placeholder { display:block; min-width:2.35rem; }
@media (max-width:991.98px) { .scientific-structure-editor .structure-chapter-header { grid-template-columns:auto 2.5rem minmax(180px,1fr) 150px; }.scientific-structure-editor .structure-chapter-header .structure-move-actions { grid-column:3; }.scientific-structure-editor .structure-collapse { grid-column:1; grid-row:1; align-self:center; }.scientific-structure-editor .structure-word-field { grid-column:4; } }
@media (max-width:767.98px) { .scientific-structure-editor .structure-chapter-header { grid-template-columns:auto 2.5rem 1fr; }.scientific-structure-editor .structure-title-field,.scientific-structure-editor .structure-word-field,.scientific-structure-editor .structure-chapter-header .structure-move-actions { grid-column:3; }.scientific-structure-editor .structure-collapse { grid-column:1; grid-row:1; }.scientific-structure-editor .structure-order-badge { grid-column:2; grid-row:1; } }
.research-option { display:flex; align-items:center; gap:1rem; padding:1rem; border:1px solid #dbe3ee; border-radius:.75rem; cursor:pointer; }.research-option>i { color:var(--wizard-color); font-size:1.5rem; }.research-option span { display:flex; flex-direction:column; gap:.2rem; }.research-option small { color:#64748b; }.review-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; padding:1.5rem; }.review-grid>div { display:flex; flex-direction:column; gap:.35rem; padding:1rem; border-radius:.75rem; background:#f8fafc; }.review-grid span { color:#64748b; font-size:.82rem; }.review-grid strong { color:#1e293b; }
.source-url-panel { padding:1.15rem; border:1px solid rgba(var(--wizard-rgb),.22); border-radius:1rem; background:linear-gradient(145deg,rgba(var(--wizard-rgb),.07),rgba(var(--wizard-rgb),.02)); }.source-url-heading { display:flex; align-items:flex-start; gap:.85rem; margin-bottom:.9rem; }.source-url-heading p { margin:0; color:#64748b; font-size:.88rem; }.source-url-icon { flex:0 0 42px; width:42px; height:42px; display:grid; place-items:center; border-radius:.8rem; color:#fff; background:var(--wizard-color); font-size:1.25rem; }.wizard-form .source-url-input { min-height:138px; resize:vertical; text-align:left; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:.88rem; line-height:1.8; background:#fff; }.source-url-help { display:flex; flex-wrap:wrap; gap:.6rem 1.2rem; margin-top:.75rem; color:#64748b; font-size:.78rem; }.source-url-help i { color:var(--wizard-color); margin-inline-end:.25rem; }
.source-url-adder .form-control { text-align:left; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; }
.source-url-list { display:grid; min-width:0; max-width:100%; gap:.5rem; margin-top:.75rem; }
.source-url-item { display:flex; align-items:center; width:100%; min-width:0; max-width:100%; gap:.75rem; overflow:hidden; padding:.55rem .7rem; border:1px solid #dbeafe; border-radius:.65rem; background:#fff; }
.source-url-item span { flex:1 1 0; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#334155; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:.82rem; }
.source-url-item button { flex:0 0 auto; }
[data-bs-theme="dark"] .wizard-hero,[data-bs-theme="dark"] .scientific-wizard .wizard-progress,[data-bs-theme="dark"] .wizard-card,[data-bs-theme="dark"] .structure-item { background:var(--card-bg); }[data-bs-theme="dark"] .wizard-hero h3,[data-bs-theme="dark"] .wizard-card-header h5,[data-bs-theme="dark"] .review-grid strong { color:var(--text-color); }
@media (max-width:767.98px) { .wizard-hero { align-items:flex-start; padding:1rem; }.wizard-hero-icon { width:48px; height:48px; flex-basis:48px; }.wizard-hero h3 { font-size:1.25rem; }.wizard-hero p { font-size:.82rem; }.scientific-wizard .wizard-progress { overflow:hidden; padding:.85rem .35rem; }.scientific-wizard .wizard-step { flex:0 1 54px; min-width:46px; }.scientific-wizard .step-number { width:30px; height:30px; }.scientific-wizard .step-label { font-size:.62rem; line-height:1.35; }.scientific-wizard .wizard-connector { min-width:4px; margin-top:15px; }.document-types,.thesis-wizard .document-types,.review-grid { grid-template-columns:1fr; }.wizard-card-header,.wizard-form,.wizard-actions { padding:1rem; }.wizard-card { overflow:hidden; }.wizard-actions { flex-wrap:wrap; } }
.payment-gateway-btn {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    min-height: 42px;
    padding: .35rem .75rem;
    border-width: 1px;
    border-radius: .65rem;
    font-size: .875rem;
    font-weight: 600;
    background: #fff;
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.payment-gateway-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 .25rem .75rem rgba(15, 23, 42, .12);
}

.payment-gateway-btn img {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    border-radius: .4rem;
    object-fit: contain;
}

.payment-gateway-zibal {
    color: #172f5f;
    border-color: #4054e8;
}

.payment-gateway-zibal:hover,
.payment-gateway-zibal:focus {
    color: #172f5f;
    border-color: #172f5f;
    background: #f4f6ff;
}

.payment-gateway-asan {
    color: #c9361f;
    border-color: #f04a27;
}

.payment-gateway-asan:hover,
.payment-gateway-asan:focus {
    color: #a92d1b;
    border-color: #c9361f;
    background: #fff5f2;
}
