:root {
    --sc-paper: #fffefa;
    --sc-surface: #fff;
    --sc-ink: #203d38;
    --sc-muted: #6c8076;
    --sc-accent: #246855;
    --sc-soft: #eaf2eb;
    --sc-line: #e2e9e2;
    --sc-tint: #f6f8f5;
    --sc-danger: #a34d43;
    --sc-danger-soft: #fbefed;
}
.sc-app-pages { background: var(--sc-tint); color: var(--sc-ink); }
.sc-page {
    width: calc(100% - 64px); max-width: 1376px; margin-inline: auto; padding-block: 32px 48px;
    color: var(--sc-ink); font: 400 14px/1.9 Vazirmatn, sans-serif; min-width: 0;
    flex: 1; direction: rtl;
}
.sc-page *, .sc-page *::before, .sc-page *::after { box-sizing: border-box; }
.sc-page h1, .sc-page h2, .sc-page h3, .sc-page h4 { color: var(--sc-ink); line-height: 1.65; margin: 0; font-weight: 750; }
.sc-page p { margin: 0; }
.sc-page a { color: var(--sc-accent); text-decoration: none; }
.sc-page button, .sc-page input, .sc-page textarea, .sc-page select { font: inherit; }
.sc-page button, .sc-page a, .sc-page input, .sc-page textarea, .sc-page select { -webkit-tap-highlight-color: transparent; }
.sc-page :where(a, button, summary):focus-visible { outline: 3px solid #65a388; outline-offset: 3px; }
.sc-page .sh-icon { display: inline-block; width: 20px; height: 20px; flex-shrink: 0; vertical-align: middle; }
.sc-page-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.sc-eyebrow { display: block; color: var(--sc-muted); font-size: 11px; font-weight: 500; margin-bottom: 5px; }
.sc-page-heading h1 { font-size: 28px; font-weight: 800; letter-spacing: -.6px; }
.sc-page-heading p { font-size: 13px; color: var(--sc-muted); margin-top: 6px; max-width: 720px; }
.sc-heading-actions { display: flex; align-items: center; gap: 9px; flex-shrink: 0; flex-wrap: wrap; }
.sc-panel { min-width: 0; border: 1px solid var(--sc-line); border-radius: 20px; background: var(--sc-paper); box-shadow: 0 4px 18px #203d3803; }
.sc-panel-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 22px 26px; border-bottom: 1px solid var(--sc-line); }
.sc-panel-header h2, .sc-panel-header h3 { font-size: 17px; }
.sc-panel-header p { color: var(--sc-muted); font-size: 12px; margin-top: 4px; }
.sc-panel-body { padding: 26px; }
.sc-grid { display: grid; gap: 22px; }
.sc-grid > * { min-width: 0; }
.sc-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sc-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sc-stack { display: flex; flex-direction: column; gap: 22px; min-width: 0; }
.sc-page .sc-button {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    min-height: 44px; padding: 10px 17px; border: 1px solid var(--sc-line); border-radius: 11px;
    background: var(--sc-surface); color: var(--sc-ink); font-size: 12px; font-weight: 650;
    text-align: center; line-height: 1.8; cursor: pointer; transition: background .15s, border-color .15s, color .15s;
}
.sc-page .sc-button:hover { color: var(--sc-accent); background: var(--sc-soft); border-color: #b9d0bf; }
.sc-page .sc-button--primary { background: var(--sc-accent); color: #fff; border-color: var(--sc-accent); }
.sc-page .sc-button--primary:hover { background: #1c5344; border-color: #1c5344; color: #fff; }
.sc-page .sc-button--soft { color: var(--sc-accent); background: var(--sc-soft); border-color: var(--sc-soft); }
.sc-page .sc-button--soft:hover { border-color: #b9d0bf; }
.sc-page .sc-button--danger { color: var(--sc-danger); background: var(--sc-danger-soft); border-color: #eed9d4; }
.sc-page .sc-button--danger:hover { background: #f5e0dc; }
.sc-page .sc-button:disabled { opacity: .55; cursor: not-allowed; }
.sc-button .sh-icon { width: 18px; height: 18px; }
.sc-icon { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex-shrink: 0; border-radius: 13px; color: var(--sc-accent); background: var(--sc-soft); }
.sc-badge { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 8px; color: var(--sc-accent); background: var(--sc-soft); font-size: 11px; line-height: 1.8; font-weight: 500; }
.sc-badge .sh-icon { width: 14px; height: 14px; }
.sc-muted { color: var(--sc-muted); }
.sc-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; text-align: center; padding: 36px 24px; color: var(--sc-muted); }
.sc-empty h2, .sc-empty h3 { color: var(--sc-ink); font-size: 17px; }
.sc-empty p { max-width: 460px; font-size: 13px; }
.sc-stat { display: flex; flex-direction: column; gap: 4px; border: 1px solid var(--sc-line); border-radius: 15px; padding: 18px 20px; background: var(--sc-surface); }
.sc-stat strong { font-size: 26px; font-weight: 800; line-height: 1.5; }
.sc-stat > span, .sc-stat > p { font-size: 12px; color: var(--sc-muted); }
.sc-field { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.sc-label { display: block; font-size: 13px; font-weight: 650; color: var(--sc-ink); margin: 0; }
.sc-input, .sc-textarea {
    display: block; width: 100%; min-width: 0; min-height: 48px; padding: 11px 14px;
    border: 1px solid var(--sc-line); border-radius: 12px; background: var(--sc-surface); color: var(--sc-ink);
    outline: none; box-shadow: none; transition: border-color .15s, box-shadow .15s;
}
.sc-textarea { min-height: 200px; resize: vertical; line-height: 2; }
.sc-input::placeholder, .sc-textarea::placeholder { color: #88968d; font-size: 12px; opacity: 1; }
.sc-input:focus, .sc-textarea:focus { border-color: #77a18d; box-shadow: 0 0 0 3px #78a58c20; }
.sc-input[aria-invalid="true"], .sc-textarea[aria-invalid="true"] { border-color: var(--sc-danger); }
.sc-input:disabled, .sc-input[readonly] { background: var(--sc-tint); color: var(--sc-muted); }
.sc-hint { font-size: 11px; color: var(--sc-muted); line-height: 1.9; }
.sc-error { font-size: 12px; color: var(--sc-danger); }
.sc-form-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 10px; margin-top: 8px; padding-top: 22px; border-top: 1px solid var(--sc-line); }
.sc-alert { padding: 16px 20px; border: 1px solid var(--sc-line); border-radius: 13px; color: var(--sc-ink); background: var(--sc-tint); font-size: 13px; margin-bottom: 22px; }
.sc-alert--success { color: var(--sc-accent); background: var(--sc-soft); border-color: #cddfce; }
.sc-alert--danger { color: var(--sc-danger); background: var(--sc-danger-soft); border-color: #ecd4ce; }
.sc-alert ul { margin: 0; padding-inline-start: 20px; }
.sc-app-pages #kt_footer { border-top: 1px solid var(--sc-line); margin-top: auto; background: var(--sc-paper); }
.sc-app-pages #kt_footer > div { width: calc(100% - 64px); max-width: 1376px; padding-inline: 0; gap: 12px; color: var(--sc-muted); font: 11px/1.9 Vazirmatn, sans-serif; }
.sc-app-pages #kt_footer a, .sc-app-pages #kt_footer .text-muted { color: var(--sc-muted) !important; }
.sc-app-pages #kt_footer a:hover { color: var(--sc-accent) !important; }
[data-bs-theme="dark"] {
    --sc-paper: #192620; --sc-surface: #1e2e26; --sc-ink: #e6eee8; --sc-muted: #a1b4a7;
    --sc-accent: #9dcbb2; --sc-soft: #2a4034; --sc-line: #344a3d; --sc-tint: #15231c;
    --sc-danger: #f0ada2; --sc-danger-soft: #422e2a;
}
[data-bs-theme="dark"] .sc-page .sc-button--primary { background: #306b52; border-color: #427d61; }
[data-bs-theme="dark"] .sc-page .sc-button--primary:hover { background: #3b7e62; }
[data-bs-theme="dark"] .sc-page .sc-button--danger, [data-bs-theme="dark"] .sc-alert--danger { border-color: #64453e; }
[data-bs-theme="dark"] .sc-alert--success { border-color: var(--sc-line); }
@media (max-width: 1199px) {
    .sc-page { width: calc(100% - 40px); }
    .sc-app-pages #kt_footer > div { width: calc(100% - 40px); }
}
@media (max-width: 991px) {
    .sc-page { width: calc(100% - 32px); padding-block: 26px 36px; }
    .sc-page-heading { align-items: flex-start; gap: 18px; }
    .sc-page-heading h1 { font-size: 25px; }
    .sc-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sc-panel-header, .sc-panel-body { padding: 22px; }
    .sc-app-pages #kt_footer > div { width: calc(100% - 32px); }
}
@media (max-width: 767px) {
    .sc-page-heading { flex-direction: column; margin-bottom: 22px; }
    .sc-page-heading h1 { font-size: 24px; }
    .sc-grid--2, .sc-grid--3 { grid-template-columns: minmax(0, 1fr); }
    .sc-grid, .sc-stack { gap: 18px; }
    .sc-panel { border-radius: 17px; }
    .sc-panel-header, .sc-panel-body { padding: 20px; }
    .sc-panel-header { align-items: flex-start; flex-wrap: wrap; gap: 12px; }
    .sc-panel-header h2, .sc-panel-header h3 { font-size: 16px; }
}
@media (max-width: 575px) {
    .sc-page { width: calc(100% - 28px); padding-top: 23px; }
    .sc-page-heading p { font-size: 12px; }
    .sc-heading-actions { width: 100%; }
    .sc-heading-actions .sc-button { flex: 1; padding-inline: 12px; }
    .sc-panel-header, .sc-panel-body { padding: 18px; }
    .sc-form-actions .sc-button { flex: 1; }
    .sc-input, .sc-textarea { font-size: 16px !important; }
    .sc-app-pages #kt_footer > div { width: calc(100% - 28px); text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
    .sc-page *, .sc-page *::before, .sc-page *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
