* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; min-height: 100%; font-family: var(--font-main); background: var(--color-bg); color: var(--color-text); }
/* تێبینی: تەنها لادراو -- بەبێ گلۆوی ڕازاندنەوە، بۆ ئەوەی هەر کۆدێکی ڕەنگ کە لە
   Settings > Program Color دائەنرێت (بۆ باکگراوند یان پانێلی مینو) بە تەواوی
   یەکسان دەربکەوێت لە هەموو شوێنێکدا، بەبێ هیچ تێکەڵبوونێکی سەرووی. */
button { font-family: inherit; cursor: pointer; }
[hidden] { display: none !important; }
.lucide { width: 18px; height: 18px; stroke-width: 2; vertical-align: -4px; flex-shrink: 0; }

#login-screen { min-height: 100vh; display: flex; align-items: center; justify-content: center; }
.login-card { background: var(--color-surface); backdrop-filter: blur(var(--glass-blur)); -webkit-backdrop-filter: blur(var(--glass-blur)); border: 1px solid var(--color-border); border-radius: var(--radius-lg); box-shadow: var(--shadow); padding: 40px 36px; width: 100%; max-width: 380px; }
.login-card h1 { margin: 0 0 24px; font-family: var(--font-heading); font-size: 22px; font-weight: 700; text-align: center; color: var(--color-text); }
.login-error { background: rgba(248, 113, 113, 0.12); color: var(--color-danger); border: 1px solid rgba(248, 113, 113, 0.35); border-radius: var(--radius-sm); padding: 8px 12px; font-size: 13px; margin-bottom: 14px; display: none; }
.login-error.show { display: block; }

.field { margin-bottom: 16px; }
.field label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 6px; color: var(--color-text-light); }
.field input[type="text"], .field input[type="password"], .field input[type="email"], .field input[type="number"], .field input[type="date"], .field select, .field textarea {
  width: 100%; padding: 10px 12px; border: 1px solid var(--color-border-strong); border-radius: var(--radius-sm); font-size: 14px; font-family: inherit; color: var(--color-text); background: var(--color-input-bg);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}
.field input:focus, .field select:focus, .field textarea:focus { outline: none; border-color: var(--color-primary); box-shadow: 0 0 0 3px var(--color-primary-light); }
.field.checkbox-field { display: flex; align-items: center; gap: 8px; }
.field.checkbox-field input { width: auto; }
.field.checkbox-field label { margin: 0; }

/* Color picker (native, full-spectrum) + hex code text field -- Settings > Appearance */
.color-field-row { display: flex; align-items: center; gap: 10px; }
.color-field-row input[type="color"] { width: 46px; height: 38px; padding: 2px; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-bg-elevated); cursor: pointer; flex-shrink: 0; }
.color-field-row .hex-input { flex: 1; font-family: monospace; letter-spacing: 0.5px; text-transform: uppercase; }

.btn { display: inline-flex; align-items: center; gap: 8px; padding: 10px 20px; border: none; border-radius: var(--radius-sm); background: var(--gradient-primary); color: #fff; font-size: 14px; font-weight: 700; transition: transform var(--transition-fast), box-shadow var(--transition-fast), filter var(--transition-fast); }
.btn:hover { filter: brightness(1.12); transform: translateY(-2px); box-shadow: var(--shadow-glow); }
.btn:active { transform: translateY(0) scale(.97); filter: brightness(0.95); }
.btn.btn-block { width: 100%; justify-content: center; }
.btn.btn-secondary { background: var(--color-bg-elevated); color: var(--color-text); border: 1px solid var(--color-border); }
.btn.btn-danger { background: var(--color-danger); color: #fff; }

#app-shell { display: flex; min-height: 100vh; }
#sidebar { width: var(--sidebar-width); background: var(--color-sidebar); backdrop-filter: blur(var(--glass-blur)); -webkit-backdrop-filter: blur(var(--glass-blur)); color: var(--color-sidebar-text); flex-shrink: 0; padding: 20px 0 0; border-inline-end: 1px solid var(--color-border); transition: transform var(--transition), width var(--transition); display: flex; flex-direction: column; }

.app-name-wrap { display: flex; align-items: flex-start; gap: 10px; padding: 0 20px 20px; border-bottom: 1px solid var(--color-border); margin-bottom: 10px; overflow: visible; }
#app-logo { width: 32px; height: 32px; border-radius: 8px; object-fit: cover; flex-shrink: 0; }
#app-name { font-family: var(--font-heading); font-size: 15px; font-weight: 700; color: #fff; white-space: normal; overflow: visible; text-overflow: unset; line-height: 1.35; word-break: break-word; }

#sidebar nav { flex: 1; min-height: 0; overflow-y: auto; }
#sidebar nav ul { list-style: none; margin: 0; padding: 0; }
#sidebar nav li a { display: flex; align-items: center; gap: 10px; padding: 12px 20px; color: var(--color-sidebar-text); text-decoration: none; font-size: 14px; border-inline-end: 3px solid transparent; transition: background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast); }
#sidebar nav li a:hover { background: rgba(255, 255, 255, 0.05); color: #fff; }
#sidebar nav li a.active { background: rgba(255, 255, 255, 0.06); color: #fff; border-inline-end-color: var(--color-sidebar-active); }

#sidebar-footer { border-top: 1px solid var(--color-border); padding: 14px 20px; display: flex; flex-direction: column; gap: 10px; flex-shrink: 0; }
#sidebar-user-row { display: flex; flex-direction: column; gap: 2px; overflow: hidden; }
#sidebar-clock { font-family: var(--font-heading); font-size: 15px; font-weight: 700; color: var(--color-text); }
#sidebar-user { font-size: 12px; color: var(--color-text-light); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#sidebar-footer-actions { display: flex; gap: 8px; }
#sidebar-footer-actions .icon-btn-static { flex: 1; }

.icon-btn-static { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; flex-shrink: 0; border: 1px solid var(--color-border); background: var(--color-bg-elevated); border-radius: var(--radius-sm); color: var(--color-text-light); transition: background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast); }
.icon-btn-static:hover { color: var(--color-text); border-color: var(--color-border-strong); }
.icon-btn-static.danger:hover { color: var(--color-danger); border-color: var(--color-danger); }
.table-action-btn { margin-inline-end: 6px; }

#sidebar.collapsed { width: 76px; }
#sidebar.collapsed .app-name-wrap { padding-inline: 0; justify-content: center; }
#sidebar.collapsed #app-name, #sidebar.collapsed nav li a span, #sidebar.collapsed #sidebar-user-row { display: none; }
#sidebar.collapsed nav li a { justify-content: center; padding-inline: 0; }
#sidebar.collapsed #sidebar-footer { align-items: center; }
#sidebar.collapsed #sidebar-footer-actions { flex-direction: column; }

#main-area { flex: 1; display: flex; flex-direction: column; min-width: 0; }
#topbar { height: var(--topbar-height); background: var(--color-surface); backdrop-filter: blur(var(--glass-blur)); -webkit-backdrop-filter: blur(var(--glass-blur)); border-bottom: 1px solid var(--color-border); display: flex; align-items: center; justify-content: space-between; padding: 0 24px; }
#topbar .section-title { font-family: var(--font-heading); font-size: 18px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#content-area { flex: 1; padding: 24px; overflow-y: auto; }

.icon-btn { display: none; align-items: center; justify-content: center; width: 40px; height: 40px; flex-shrink: 0; border: 1px solid var(--color-border); background: var(--color-bg-elevated); border-radius: var(--radius-sm); color: var(--color-text); transition: background var(--transition-fast), border-color var(--transition-fast); }
.icon-btn:hover { border-color: var(--color-border-strong); }

#sidebar-overlay { position: fixed; inset: 0; background: rgba(0, 0, 0, 0.55); backdrop-filter: blur(2px); z-index: 55; opacity: 0; pointer-events: none; transition: opacity var(--transition); }
#sidebar-overlay.show { opacity: 1; pointer-events: auto; }

/* دۆخی تاریک/ڕووناک + گۆڕینی زمان -- هەردووکیان لە topbar، تەنیشت یەکتر */
#topbar-actions { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }

#lang-switcher { display: flex; gap: 4px; background: var(--color-bg-elevated); border: 1px solid var(--color-border); border-radius: var(--radius-sm); padding: 3px; }
.lang-btn { display: flex; align-items: center; justify-content: center; border: none; background: transparent; padding: 4px; border-radius: 6px; transition: box-shadow var(--transition-fast), transform var(--transition-fast); }
.lang-btn svg { display: block; border-radius: 3px; }
.lang-btn:hover { transform: translateY(-1px); }
.lang-btn.active { box-shadow: 0 0 0 2px var(--color-primary); }

.input-icon-wrap { position: relative; }
.input-icon-wrap .leading-icon { position: absolute; inset-inline-start: 12px; top: 50%; transform: translateY(-50%); display: flex; color: var(--color-text-light); pointer-events: none; }
.input-icon-wrap input.has-leading-icon { padding-inline-start: 38px; }
.input-icon-wrap input.has-trailing-icon { padding-inline-end: 38px; }
.toggle-password { position: absolute; inset-inline-end: 6px; top: 50%; transform: translateY(-50%); background: none; border: none; padding: 6px; display: flex; color: var(--color-text-light); cursor: pointer; }
.toggle-password:hover { color: var(--color-text); }
.grid-search { max-width: 240px; flex: 1; margin-inline-end: auto; }
.grid-search input { width: 100%; }

.modal-overlay { position: fixed; inset: 0; background: rgba(0, 0, 0, 0.6); backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); z-index: 200; display: flex; align-items: center; justify-content: center; padding: 20px; }
.modal-card.login-card { max-width: 380px; width: 100%; }

.settings-tabs { display: flex; gap: 6px; flex-wrap: wrap; border-bottom: 1px solid var(--color-border); padding-bottom: 12px; margin-bottom: 20px; }
.settings-tab { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--color-border); background: var(--color-bg-elevated); color: var(--color-text-light); font-size: 13px; font-weight: 600; padding: 8px 14px; border-radius: var(--radius-sm); transition: background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast); }
.settings-tab:hover { color: var(--color-text); }
.settings-tab.active { background: var(--gradient-primary); color: #fff; border-color: transparent; }
.settings-panel { max-width: 480px; }

.activity-list { display: flex; flex-direction: column; gap: 10px; max-height: 420px; overflow-y: auto; }
.activity-row { display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-bg-elevated); }
.activity-action { font-size: 13px; color: var(--color-text); }
.activity-time { font-size: 11px; color: var(--color-text-light); margin-top: 2px; }

.card { background: var(--color-surface); backdrop-filter: blur(var(--glass-blur)); -webkit-backdrop-filter: blur(var(--glass-blur)); border: 1px solid var(--color-border); border-radius: var(--radius); box-shadow: var(--shadow); padding: 24px; margin-bottom: 20px; transition: transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast); }
.card:hover { border-color: var(--color-border-strong); }
.card h2 { margin: 0 0 18px; font-family: var(--font-heading); font-size: 16px; font-weight: 700; color: var(--color-text); }

.form-grid { display: grid; gap: 16px 20px; grid-template-columns: repeat(var(--cols, 2), 1fr); }
.field.full-width { grid-column: 1 / -1; }

.bento-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.bento-item { grid-column: span 1; background: var(--color-surface); backdrop-filter: blur(var(--glass-blur)); -webkit-backdrop-filter: blur(var(--glass-blur)); border: 1px solid var(--color-border); border-radius: var(--radius); padding: 20px; display: flex; flex-direction: column; gap: 10px; transition: transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast); }
.bento-item:hover { transform: translateY(-3px); box-shadow: var(--shadow-glow); border-color: var(--color-border-strong); }
.bento-item.span-2 { grid-column: span 2; }
.bento-item.span-4 { grid-column: span 4; }
.bento-item .bento-icon { width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; border-radius: var(--radius-sm); background: var(--color-primary-light); color: var(--color-primary); }
.bento-item .bento-icon .lucide { width: 20px; height: 20px; vertical-align: 0; }
.bento-item .bento-value { font-family: var(--font-heading); font-size: 26px; font-weight: 800; color: var(--color-text); }
.bento-item .bento-label { font-size: 13px; color: var(--color-text-light); }

.data-grid-wrap { overflow-x: auto; }
table.data-grid { width: 100%; border-collapse: collapse; font-size: 14px; }
table.data-grid th, table.data-grid td { padding: 10px 12px; border-bottom: 1px solid var(--color-border); text-align: start; }
table.data-grid th { color: var(--color-text-light); font-weight: 600; background: rgba(255, 255, 255, 0.02); }
table.data-grid tbody tr { transition: background var(--transition-fast); }
table.data-grid tbody tr:hover { background: rgba(255, 255, 255, 0.04); }
.grid-toolbar { display: flex; justify-content: flex-end; margin-bottom: 12px; }
.custom-slot:empty { display: none; }

/* ===== زیادکراو بۆ سیستەمی داواکاری سۆلەر ===== */

/* field.type === "section": هێمای سەرپەڕی گروپ لەناو فۆرمێکی درێژدا (بۆ لابردنی
   پێویستی دروستکردنی چەند فۆرمی جیاواز بۆ هەر گروپێک) */
.field.section-header { grid-column: 1 / -1; margin: 10px 0 4px; padding: 10px 14px; border-radius: var(--radius-sm); background: transparent; border-inline-start: 4px solid var(--color-primary); border-bottom: 1px solid var(--color-border); display: flex; align-items: center; gap: 8px; }
.field.section-header:first-child { margin-top: 0; }
.field.section-header .section-header-title { font-family: var(--font-heading); font-weight: 700; font-size: 14px; color: var(--color-text); }

/* field.type === "gps": دوگمەی وەرگرتنی شوێن */
.field.gps-field { grid-column: 1 / -1; }
.gps-status { font-size: 12px; color: var(--color-text-light); margin-inline-start: 10px; }
.gps-status.ok { color: var(--color-success); }
.gps-status.err { color: var(--color-danger); }

/* note banner (وەک تێبینی سەوز لە سەرەوەی بەشی GPS) */
.form-note { grid-column: 1 / -1; background: rgba(52, 211, 153, 0.12); border: 1px solid rgba(52, 211, 153, 0.35); color: var(--color-success); border-radius: var(--radius-sm); padding: 10px 14px; font-size: 13px; display: flex; align-items: center; gap: 8px; }

/* تابەکانی پشکنینی داواکاریەکان */
.request-tabs { display: flex; gap: 6px; flex-wrap: wrap; border-bottom: 1px solid var(--color-border); padding-bottom: 12px; margin-bottom: 20px; }
.request-tab { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--color-border); background: var(--color-bg-elevated); color: var(--color-text-light); font-size: 13px; font-weight: 600; padding: 8px 14px; border-radius: var(--radius-sm); transition: background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast); }
.request-tab:hover { color: var(--color-text); }
.request-tab.active { background: var(--gradient-primary); color: #fff; border-color: transparent; }
.request-tab .count-badge { background: rgba(255, 255, 255, 0.18); border-radius: 999px; padding: 1px 7px; font-size: 11px; }
.request-tab:not(.active) .count-badge { background: var(--color-primary-light); color: var(--color-primary); }

.status-pill { display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; }
.status-pill.status-new { background: rgba(125, 211, 252, 0.15); color: var(--color-accent-blue); }
.status-pill.status-pendingVisit { background: rgba(251, 191, 36, 0.15); color: var(--color-warning); }
.status-pill.status-approved { background: rgba(52, 211, 153, 0.15); color: var(--color-success); }
.status-pill.status-rejected { background: rgba(248, 113, 113, 0.15); color: var(--color-danger); }

.reports-filter-bar { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; align-items: flex-end; }
.reports-filter-bar .field { margin-bottom: 0; min-width: 170px; }

/* ===== مینوی ڕیزکراوی ڕێکخستن (expandable submenu) ===== */
.menu-parent-link { display: flex; align-items: center; gap: 10px; padding: 12px 20px; color: var(--color-sidebar-text); text-decoration: none; font-size: 14px; cursor: pointer; }
.menu-parent-link:hover { background: rgba(255, 255, 255, 0.05); color: #fff; }
.menu-parent-link .menu-chevron { width: 16px; height: 16px; margin-inline-start: auto; transition: transform var(--transition-fast); }
.menu-parent.expanded .menu-chevron { transform: rotate(180deg); }
.submenu { list-style: none; margin: 0; padding: 0; max-height: 0; overflow: hidden; transition: max-height var(--transition); }
.menu-parent.expanded .submenu { max-height: 600px; }
.submenu-link { display: flex; align-items: center; gap: 10px; padding: 10px 20px 10px 44px; color: var(--color-sidebar-text); text-decoration: none; font-size: 13px; border-inline-end: 3px solid transparent; }
[dir="rtl"] .submenu-link { padding: 10px 44px 10px 20px; }
.submenu-link:hover { background: rgba(255, 255, 255, 0.05); color: #fff; }
.submenu-link.active { background: rgba(255, 255, 255, 0.06); color: #fff; border-inline-end-color: var(--color-sidebar-active); }
#sidebar.collapsed .menu-chevron, #sidebar.collapsed .submenu { display: none; }

/* ===== فۆرمی دانراو (compact) بۆ فۆرمی داواکاری ===== */
.compact-form .form-grid { gap: 10px 16px; }
.compact-form .field { margin-bottom: 0; }
.compact-form .field label { font-size: 12px; margin-bottom: 4px; }
.compact-form .field input, .compact-form .field select, .compact-form .field textarea { padding-block: 7px; padding-inline: 10px; font-size: 13px; }
/* .compact-form ـدا padding-inline ی سەرەوە شوێنی padding-inline-start ی
   .has-leading-icon دەگرێتەوە (هەردووکیان هەمان تایبەتمەندی CSS ـیان هەیە)، بۆیە
   بۆشایی ئایکۆنەکە دووبارە دەبردرێتەوە -- ئەمە هۆکاری ئەوە بوو کە لە مۆبایلدا
   نووسینی تێکستبۆکسەکان کەوتنە سەر ئایکۆنەکان. */
.compact-form .input-icon-wrap input.has-leading-icon { padding-inline-start: 34px; }
.compact-form .input-icon-wrap input.has-trailing-icon { padding-inline-end: 34px; }
.compact-form .field.section-header { padding: 7px 12px; margin: 8px 0 2px; }
.compact-form .field.section-header:first-child { margin-top: 0; }
.compact-form .form-note { padding: 7px 12px; font-size: 12px; }
@media (min-width: 1400px) { .compact-form .form-grid { grid-template-columns: repeat(var(--cols, 3), 1fr); } }

.field-disabled { opacity: 0.5; }
.field-disabled input, .field-disabled select { cursor: not-allowed; background: var(--color-bg); }

/* ===== ڕیزی کلیک‌کراو لە خشتەکاندا (پشکنینی داواکاریەکان) ===== */
tr.clickable-row { cursor: pointer; }
tr.clickable-row:hover { background: rgba(255, 255, 255, 0.05); }

/* ===== کارتی bento ی کلیک‌کراو (داشبۆرد) ===== */
.bento-item.bento-clickable { cursor: pointer; }
.bento-item.bento-clickable:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; }

/* ===== مۆداڵی وردەکاری داواکاری ===== */
.modal-card.detail-card { max-width: 680px; max-height: 88vh; overflow-y: auto; }
.detail-value { padding: 8px 10px; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-bg-elevated); font-size: 13px; color: var(--color-text); min-height: 36px; display: flex; align-items: center; }

/* ===== بەشی ڕۆڵ و دەسەڵات ===== */
.roles-editor-layout { display: grid; grid-template-columns: 220px 1fr; gap: 20px; }
.roles-list-col { border-inline-end: 1px solid var(--color-border); padding-inline-end: 16px; }
.roles-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.role-list-item button { width: 100%; display: flex; align-items: center; gap: 8px; padding: 9px 12px; border: 1px solid transparent; border-radius: var(--radius-sm); background: transparent; color: var(--color-text-light); font-size: 13px; text-align: start; }
.role-list-item button:hover { background: rgba(255, 255, 255, 0.07); color: var(--color-text); }
.role-list-item.active button { background: var(--color-primary-light); color: var(--color-primary); border-color: var(--color-primary); font-weight: 700; }
.roles-matrix-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.roles-matrix-header h3 { margin: 0; font-family: var(--font-heading); font-size: 16px; }
.perm-group { margin-bottom: 18px; padding: 12px 14px; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-surface); backdrop-filter: blur(var(--glass-blur)); -webkit-backdrop-filter: blur(var(--glass-blur)); }
.perm-group-title { font-weight: 700; font-size: 13px; margin-bottom: 10px; color: var(--color-text); }
.perm-list { display: flex; flex-direction: column; gap: 8px; }
.perm-check-row { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--color-text-light); cursor: pointer; }
.perm-check-row input { width: auto; }
@media (max-width: 800px) { .roles-editor-layout { grid-template-columns: 1fr; } .roles-list-col { border-inline-end: none; border-bottom: 1px solid var(--color-border); padding-inline-end: 0; padding-bottom: 14px; margin-bottom: 14px; } }

@media (max-width: 900px) { .bento-grid { grid-template-columns: repeat(2, 1fr); } .bento-item.span-4 { grid-column: span 2; } }
@media (max-width: 800px) {
  .icon-btn { display: inline-flex; }
  #sidebar { position: fixed; top: 0; bottom: 0; width: min(80vw, 300px); z-index: 60; box-shadow: var(--shadow); }
  [dir="rtl"] #sidebar { inset-inline-start: auto; right: 0; transform: translateX(100%); }
  [dir="ltr"] #sidebar { inset-inline-start: 0; left: 0; transform: translateX(-100%); }
  #sidebar.open { transform: translateX(0); }
  #topbar { padding: 0 14px; gap: 10px; }
  #topbar .section-title { max-width: 40vw; }
  #content-area { padding: 16px; }
  .form-grid { grid-template-columns: 1fr !important; }
  .bento-grid { grid-template-columns: 1fr; }
  .bento-item.span-2, .bento-item.span-4 { grid-column: span 1; }
  .login-card { padding: 28px 22px; }
  .data-grid-wrap { -webkit-overflow-scrolling: touch; }
}

/* =====================================================================
   ئاگادارکردنەوە (toast) و دیالۆگی ستایلکراو
   ---------------------------------------------------------------------
   جێگرەوەی alert()/confirm() ـی وێبگەڕ. بڕوانە uiToast/uiConfirm/uiAlert
   لە js/engine.js.
   ===================================================================== */
#toast-host {
  position: fixed; top: 18px; inset-inline: 0; z-index: 400;
  display: flex; flex-direction: column; align-items: center; gap: 10px;
  pointer-events: none; padding: 0 16px;
}
.toast {
  pointer-events: auto;
  display: flex; align-items: center; gap: 10px;
  min-width: 280px; max-width: min(520px, 92vw);
  padding: 12px 14px;
  border-radius: var(--radius);
  background: var(--color-surface-solid);
  border: 1px solid var(--color-border-strong);
  border-inline-start: 4px solid var(--color-primary);
  box-shadow: var(--shadow);
  backdrop-filter: blur(var(--glass-blur)); -webkit-backdrop-filter: blur(var(--glass-blur));
  color: var(--color-text); font-size: 13.5px; line-height: 1.5;
  opacity: 0; transform: translateY(-14px);
  transition: opacity .22s ease, transform .22s cubic-bezier(.2,.8,.3,1);
}
.toast.show { opacity: 1; transform: translateY(0); }
.toast .toast-msg { flex: 1; }
.toast .toast-icon { display: flex; flex-shrink: 0; }
.toast .toast-icon .lucide { width: 19px; height: 19px; }
.toast .toast-close {
  flex-shrink: 0; background: transparent; border: 0; cursor: pointer;
  color: var(--color-text-light); padding: 2px; border-radius: 6px; display: flex;
  transition: color var(--transition-fast), background var(--transition-fast);
}
.toast .toast-close:hover { color: var(--color-text); background: rgba(255,255,255,.08); }
.toast .toast-close .lucide { width: 15px; height: 15px; }
.toast-success { border-inline-start-color: var(--color-success); }
.toast-success .toast-icon { color: var(--color-success); }
.toast-danger  { border-inline-start-color: var(--color-danger); }
.toast-danger  .toast-icon { color: var(--color-danger); }
.toast-info    { border-inline-start-color: var(--color-primary); }
.toast-info    .toast-icon { color: var(--color-primary); }

.ui-dialog-overlay { z-index: 420; }
.ui-dialog {
  width: 100%; max-width: 400px; text-align: center;
  padding: 28px 26px 22px;
  background: var(--color-surface-solid);
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
  animation: uiDialogIn .2s cubic-bezier(.2,.8,.3,1);
}
@keyframes uiDialogIn { from { opacity: 0; transform: translateY(12px) scale(.97); } to { opacity: 1; transform: none; } }
.ui-dialog-icon {
  width: 52px; height: 52px; margin: 0 auto 14px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%; background: var(--color-primary-light); color: var(--color-primary);
}
.ui-dialog-icon .lucide { width: 26px; height: 26px; }
.ui-dialog.tone-danger  .ui-dialog-icon { background: color-mix(in srgb, var(--color-danger) 18%, transparent); color: var(--color-danger); }
.ui-dialog.tone-success .ui-dialog-icon { background: color-mix(in srgb, var(--color-success) 18%, transparent); color: var(--color-success); }
.ui-dialog-title { margin: 0 0 8px; font-family: var(--font-heading); font-size: 17px; font-weight: 700; color: var(--color-text); }
.ui-dialog-msg { margin: 0 0 22px; font-size: 13.5px; line-height: 1.65; color: var(--color-text-light); }
.ui-dialog-actions { display: flex; gap: 10px; justify-content: center; }
.ui-dialog-actions .btn { min-width: 120px; justify-content: center; }
.btn.btn-ghost {
  background: transparent; border: 1px solid var(--color-border-strong);
  color: var(--color-text-light); box-shadow: none;
}
.btn.btn-ghost:hover { background: rgba(255,255,255,.06); color: var(--color-text); transform: none; }
.btn.btn-danger { background: var(--color-danger); background-image: none; }
.btn.btn-danger:hover { filter: brightness(1.08); }

/* چێک‌بۆکسی «لەبیرم مەکە» لە شاشەی چوونەژوورەوە */
.field.checkbox-field.remember-me { margin: -4px 0 16px; }
.field.checkbox-field.remember-me label { font-size: 13px; cursor: pointer; user-select: none; }
.field.checkbox-field.remember-me input { cursor: pointer; accent-color: var(--color-primary); width: 16px; height: 16px; }

/* =====================================================================
   فۆرمی بەش-بەش (layout: "sections") -- فۆرمی داواکاری سۆلەر
   ---------------------------------------------------------------------
   ئامانج: هەموو فۆرمەکە لەسەر شاشەی ١٥.٦ ئینچ (1366×768) بەبێ سکرۆڵ
   دەربکەوێت. هەر section ـێک دەبێتە پانێلێکی سەربەخۆ، پانێلەکانیش
   تەنیشت یەکتر لە ٤ ستووندا. بڕوانە buildSectionedForm لە js/engine.js.
   ===================================================================== */
.form-sections {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch; /* هەموو پانێلەکان یەک بەرزی -- ڕووکارێکی ڕێکتر */
}
.form-section-panel {
  background: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  padding: 12px 13px 13px;
  min-width: 0;
}
.form-section-head {
  display: flex; align-items: center; gap: 7px;
  padding-bottom: 8px; margin-bottom: 10px;
  border-bottom: 1px solid var(--color-border);
}
.form-section-head .lucide { width: 15px; height: 15px; color: var(--color-primary); flex-shrink: 0; }
.form-section-title {
  font-family: var(--font-heading); font-weight: 700;
  font-size: 12.5px; color: var(--color-text);
}
.form-section-body { display: flex; flex-direction: column; gap: 9px; }
.form-section-body .field { margin-bottom: 0; min-width: 0; }
.form-section-body .field label { font-size: 11.5px; margin-bottom: 3px; }
.form-section-body .field input,
.form-section-body .field select,
.form-section-body .field textarea {
  padding-block: 6px; padding-inline: 9px; font-size: 12.5px;
}
.form-section-body .input-icon-wrap input.has-leading-icon { padding-inline-start: 30px; }
.form-section-body .leading-icon .lucide { width: 14px; height: 14px; }
/* خانەی هەڵبژاردنی ئامادە: نووسینی کەمی تێدایە، بۆیە باریکتر */
.form-section-body .field.narrow-field input,
.form-section-body .field.narrow-field select { max-width: 190px; }
/* خانەی نووسینی زۆر: بەرینتر */
.form-section-body .field.wide-field textarea { min-height: 60px; }
.form-section-body .field.section-header,
.form-section-body .field.gps-field,
.form-section-body .field.full-width { grid-column: auto; }
.form-section-body .form-note { padding: 6px 10px; font-size: 11.5px; margin: 0; }

/* لە شاشەی بچووکتردا ستوونەکان کەم دەکەینەوە تاکو خانەکان تەنگ نەبن */
/* ٤ ستوون تا 1180px -- شاشەی ١٥.٦ ئینچ (1366px) دەبێت ٤ ستوونی هەبێت،
   ئەگەرنا فۆرمەکە درێژ دەبێتەوە و سکرۆڵی دەوێت */
@media (max-width: 1180px) { .form-sections { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 720px)  { .form-sections { grid-template-columns: 1fr; } }
