@font-face {
  font-family: "Vazirmatn";
  src: url("./Vazirmatn-33.003.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
:root{color-scheme:light;--page:#f5f7f9;--surface:#fff;--text:#202c3b;--muted:#5d6b7e;--border:#e3e8ee;--accent:#087f75;--soft:#e8f4f0;--shadow:0 4px 20px #202c3b06;font-family:"Vazirmatn","Segoe UI",sans-serif;color:var(--text);background:var(--page);font-size:14px;line-height:1.6}
:root[data-theme=dark]{color-scheme:dark;--page:#101720;--surface:#192432;--text:#e8eef6;--muted:#a7b5c6;--border:#2a394c;--accent:#55d6bc;--soft:#1c393a;--shadow:none}*{box-sizing:border-box}body{margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--border);border-radius:8px;min-height:40px;padding:8px 14px;background:var(--surface);color:var(--text);cursor:pointer;text-decoration:none;white-space:nowrap}button:hover,.button:hover{border-color:var(--accent);text-decoration:none}button:disabled{opacity:.55;cursor:wait}.primary{background:var(--accent);border-color:var(--accent);color:var(--surface);font-weight:650}.primary:hover{filter:brightness(.95)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}input,select,textarea{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:7px;padding:10px 12px;min-height:42px;max-width:100%}label{display:grid;gap:6px;font-size:12px;font-weight:600}input::placeholder{color:var(--muted)}h1,h2,h3,p{margin:0}h1{font-size:30px;line-height:1.3;font-weight:700;letter-spacing:-.6px}h2{font-size:20px;line-height:1.5}h3{font-size:17px}small,.muted{color:var(--muted)}[dir=rtl] h1,[dir=rtl] h2{letter-spacing:0}.sidebar{width:264px;position:fixed;inset-block:0;inset-inline-start:0;background:var(--surface);border-inline-end:1px solid var(--border);padding:30px 18px 20px;display:flex;flex-direction:column;z-index:30;overflow-y:auto}.brand{display:flex;align-items:center;gap:12px;color:var(--text);font-weight:750;font-size:15px;padding-inline:5px}.brand:hover{text-decoration:none}.brand small{display:block;font-size:11px;font-weight:450;margin-top:2px}.brand-mark{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:var(--surface);border-radius:11px;font-size:27px}.nav-search{margin:32px 0 22px;display:flex;align-items:center;border:1px solid var(--border);background:var(--page);border-radius:8px;padding-inline:10px;gap:4px}.nav-search input{border:0;background:none;min-width:0;width:100%;padding-inline:4px;font-weight:400;font-size:12px}.nav-search>span{font-size:23px;color:var(--muted)}kbd{border:1px solid var(--border);border-radius:4px;padding:0 5px;color:var(--muted)}.nav-item{display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:var(--muted);padding:11px 12px;margin-bottom:5px;border-radius:8px;font-size:13px;font-weight:550}.nav-item small{display:block;flex-basis:100%;font-size:10px;padding-inline-start:17px;font-weight:400}.nav-item.active{background:var(--soft);color:var(--accent);box-shadow:inset 3px 0 var(--accent)}[dir=rtl] .nav-item.active{box-shadow:inset -3px 0 var(--accent)}.nav-dot{width:6px;height:6px;border:1.5px solid currentColor;border-radius:2px}.operator{margin-top:auto;padding-top:28px;border-top:1px solid var(--border);display:flex;gap:10px;align-items:center;font-size:12px}.operator small{display:block;font-size:10px}.avatar{width:33px;height:33px;background:var(--soft);color:var(--accent);display:grid;place-items:center;border-radius:50%;font-weight:700}.workspace{margin-inline-start:264px}.workspace.standalone{margin:0}.topbar{height:76px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding-inline:36px;background:var(--surface)}.workspace-label{font-size:12px;color:var(--muted)}.header-tools{display:flex;align-items:center;gap:10px}.header-tools button{min-height:34px;padding:5px 11px;font-size:12px}.locale-menu{position:relative;font-size:12px}.locale-menu summary{cursor:pointer;padding:8px}.locale-menu>div{position:absolute;inset-inline-end:0;top:40px;min-width:140px;background:var(--surface);box-shadow:var(--shadow);border:1px solid var(--border);padding:8px;border-radius:8px;z-index:20}.locale-menu a{display:block;padding:8px}.menu-button,.drawer-close{display:none}main{padding:30px 36px 20px;max-width:1920px;margin:auto;min-width:0}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.eyebrow{font-size:11px;color:var(--muted);font-weight:600;margin-bottom:7px}.welcome{background:var(--soft);border:1px solid var(--border);border-radius:16px;display:flex;justify-content:space-between;align-items:center;padding:34px 36px;overflow:hidden;min-height:205px}.welcome h2{font-size:28px;line-height:1.4;margin-bottom:12px}.welcome p:last-child{max-width:610px;color:var(--muted);font-size:13px}.welcome-art{min-width:130px;height:130px;border:1px solid var(--accent);border-radius:30px;transform:rotate(-12deg);display:grid;place-items:center;color:var(--accent);margin-inline-start:30px;opacity:.55}.welcome-art span{font-size:90px}.section-title{font-size:15px;margin:32px 0 16px}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.module-card{background:var(--surface);border:1px solid var(--border);padding:24px;border-radius:12px;color:var(--text);box-shadow:var(--shadow);transition:transform .15s}.module-card:hover{border-color:var(--accent);text-decoration:none;transform:translateY(-2px)}.module-icon{height:37px;width:37px;border-radius:10px;background:var(--soft);color:var(--accent);display:grid;place-items:center;font-size:23px;margin-bottom:18px}.module-card>small{font-size:10px}.module-card h3{margin:3px 0 18px}.card-footer{font-size:11px;color:var(--muted);display:flex;justify-content:space-between;border-top:1px solid var(--border);padding-top:13px}.card-footer>span{color:var(--accent);font-size:17px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px;box-shadow:var(--shadow)}.panel h2{margin-bottom:16px}.login-card{max-width:650px;margin:50px auto}.login-card h2{margin-top:22px}.login-card p{color:var(--muted);margin-bottom:22px}.login-card hr{border:0;border-top:1px solid var(--border);margin:24px 0}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}.stats>div{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px 22px}.stats small{font-size:11px;display:block}.stats strong{font-size:27px;font-weight:650}.stats strong>span{font-size:14px;color:var(--muted)}.list-panel{padding:0;overflow:hidden}.search-row{padding:22px;display:flex;align-items:end;gap:12px;flex-wrap:wrap}.grow{flex:1;min-width:200px}.search-row input[type=number]{width:90px}.filters{padding:0 22px 20px}.filters summary{cursor:pointer;font-weight:600;font-size:12px}.filter-row{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:16px 0}.filter-row label{flex:1;min-width:130px}.filter-row input,.filter-row select{width:100%}.filter-row button{font-size:11px}.badge{display:inline-block;border-radius:5px;background:var(--soft);padding:2px 7px;font-size:10px;font-weight:600;color:var(--accent)}.table-toolbar{border-block:1px solid var(--border);padding:12px 22px;display:flex;justify-content:space-between;align-items:center}.table-toolbar button{font-size:12px}.table-scroll{overflow:auto;max-width:100%;max-height:65vh}table{border-collapse:separate;border-spacing:0;width:100%;font-size:12px;text-align:start}th,td{text-align:start;padding:13px 16px;border-bottom:1px solid var(--border);white-space:nowrap;max-width:440px}th{font-size:11px;font-weight:600;background:var(--page);color:var(--muted);position:sticky;top:0;z-index:2}th a{color:inherit}td bdi{display:inline-block;max-width:410px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}td:first-child{font-family:ui-monospace,monospace;font-size:11px}tr:hover td{background:var(--page)}.row-link{white-space:nowrap;font-size:11px}.empty{text-align:center;padding:50px;color:var(--muted)}.pagination{padding:16px 22px;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);gap:15px}.pagination>div{display:flex;gap:7px;flex-wrap:wrap}.pagination .button{min-height:32px;padding:5px 10px;font-size:11px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.toolbar h2{margin:0}.record-details{margin:0}.record-details>div{display:grid;grid-template-columns:190px minmax(0,1fr);padding:14px 0;border-bottom:1px solid var(--border);gap:20px}.record-details dt{color:var(--muted);font-size:12px}.record-details dd{margin:0;overflow-wrap:anywhere;display:flex;align-items:center;gap:16px}.copy{min-height:28px;padding:2px 7px;font-size:15px;margin-inline-start:auto}.related{margin-top:24px}.form-panel{max-width:850px;margin-top:22px}.form-field{margin:22px 0}.form-field>label{margin-bottom:8px}.form-field>label small{font-size:10px;font-weight:400}.form-field>input,.form-field>select,.form-field>textarea{display:block;width:100%}.form-field p{font-size:12px;margin:8px 0}.browse{margin-top:10px;font-size:12px}.relation-fallback{margin-inline-start:12px;font-size:12px}.form-actions{display:flex;gap:10px;border-top:1px solid var(--border);padding-top:22px;margin-top:28px}.alert{border:1px solid #d58d4d;background:var(--surface);border-inline-start:4px solid #d58d4d;padding:18px;border-radius:8px;margin-bottom:22px}.alert p{font-size:12px;color:var(--muted);margin-top:8px}footer{color:var(--muted);font-size:10px;margin:32px 0 12px}.muted{font-size:12px;margin-top:12px}dialog{border:1px solid var(--border);border-radius:14px;padding:24px;background:var(--surface);color:var(--text);width:min(1100px,94vw);max-height:90vh}dialog::backdrop{background:#10172099}#relation-search{display:flex;gap:12px;align-items:end;margin-bottom:15px}#relation-search label{flex:1}#relation-status{font-size:12px;margin:12px 0;color:var(--muted)}#relation-results{max-height:55vh;margin-bottom:20px}#relation-results td:first-child,#relation-results th:first-child{position:sticky;inset-inline-start:0;background:var(--surface);z-index:3}.skip{position:fixed;inset-inline-start:15px;top:-100px;z-index:100;background:var(--surface);padding:12px}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
@media(max-width:1250px){.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.welcome-art{display:none}main{padding:28px 24px}.topbar{padding-inline:24px}}
@media(max-width:1023px){.sidebar{transform:translateX(-100%);transition:transform .2s}[dir=rtl] .sidebar{transform:translateX(100%)}body.nav-open .sidebar{transform:translateX(0)}body.nav-open{overflow:hidden}.workspace{margin:0}.menu-button,.drawer-close{display:inline-flex}.drawer-close{margin-top:15px}.workspace-label{display:none}.drawer-backdrop{position:fixed;inset:0;background:#10172080;z-index:25}}
@media(max-width:699px){main{padding:22px 16px}.topbar{padding-inline:16px;height:66px}.menu-button span{display:none}.header-tools{gap:5px}.page-heading{align-items:start;margin-bottom:22px}.page-heading .button{font-size:11px;padding:7px 10px}h1{font-size:25px}.welcome{padding:25px 22px}.welcome h2{font-size:25px}.module-grid{grid-template-columns:1fr}.module-card{padding:20px}.stats{gap:8px}.stats>div{padding:12px}.stats strong{font-size:22px}.stats small{font-size:10px}.search-row{padding:16px}.search-row>label{flex:1;min-width:130px}.search-row input[type=number]{width:100%}.filter-row{display:grid;grid-template-columns:1fr 1fr}.filter-row label{min-width:0}.pagination{flex-wrap:wrap;padding:16px}.record-details>div{grid-template-columns:1fr;gap:5px}.panel{padding:18px}.list-panel{padding:0}.table-toolbar{padding:12px 16px}.login-card{margin:20px auto}.toolbar{flex-wrap:wrap}dialog{padding:16px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

@media(max-width:1023px){html:not(.js) .sidebar{position:static;transform:none;width:auto}html:not(.js) .menu-button,html:not(.js) .drawer-close{display:none}}

.nav-group{margin-top:18px}.nav-group h2{font-size:10px;color:var(--muted);font-weight:600;padding:0 12px 6px}.module-group{margin-bottom:24px}.module-group>summary{font-size:13px;font-weight:650;cursor:pointer;margin-bottom:14px}.module-group>summary .badge{margin-inline-start:8px}.nav-group .nav-item{padding-block:9px}

.login-form { display: grid; gap: 1rem; margin-block: 1rem; }
.table-editor { max-width: 900px; display: grid; gap: 16px; }
.table-editor .form-field { min-width: 0; display: grid; gap: 6px; }
.table-editor input, .table-editor textarea, .table-editor select { max-width: 100%; width: 100%; }
.table-editor output, .table-editor bdi { overflow-wrap: anywhere; }
.login-form label { display: grid; gap: .4rem; text-align: start; }
.captcha { padding: 1rem; border: 1px solid var(--border); border-radius: .75rem; }

.captcha-image { display: block; width: 300px; max-width: 100%; height: auto; margin-block: .65rem; border-radius: 6px; border: 1px solid #ccd1d8; }

#tenant-create fieldset{border:1px solid var(--border);border-radius:8px;padding:18px;margin-block:20px}#tenant-create legend{font-weight:700;padding-inline:6px}#tenant-create fieldset>p{color:var(--muted)}

/* Readable type, clear controls, and layouts that reflow independently of tables. */
:root { --control: #7d9199; --danger: #a1252c; font-size: 16px; }
:root[data-theme=dark] { --control: #63768c; --danger: #ffadb5; }
body { min-width: 320px; }
button, .button { min-height: 44px; white-space: normal; }
button:disabled { cursor: not-allowed; }
input, select, textarea { min-height: 44px; border-color: var(--control); font-size: 16px; }
label, .nav-search input, .nav-item, .workspace-label, .locale-menu, .welcome p:last-child, .module-group > summary { font-size: 14px; }
.nav-item small, .nav-group h2, .operator small, .brand small, .eyebrow, .module-card > small, .card-footer, .stats small, .badge, .filters summary, .form-field > label small, footer { font-size: 12px; }
.nav-item { min-height: 44px; }
.nav-item:hover { background: var(--page); text-decoration: none; }
.nav-item.active { font-weight: 700; }
.header-tools button, .locale-menu summary { min-height: 44px; font-size: 14px; }
.locale-menu summary { display: flex; align-items: center; padding-inline: 12px; }
.locale-menu > div { top: 48px; }
.locale-menu a { min-height: 44px; }
.topbar { min-height: 76px; height: auto; gap: 12px; padding-block: 12px; flex-wrap: wrap; }
.header-tools { flex-wrap: wrap; margin-inline-start: auto; }
main { max-width: 1680px; }
.page-heading, .toolbar, .table-toolbar, .form-actions { flex-wrap: wrap; }
.page-heading > div, .record-details dd > bdi, .record-details dd > a { min-width: 0; overflow-wrap: anywhere; }
.copy { min-height: 36px; min-width: 36px; flex-shrink: 0; }
.login-card { max-width: 500px; }
.form-panel form > label { margin-block: 20px; }
.form-panel form > label input { width: 100%; }
table { font-size: 14px; }
th, td:first-child, .row-link { font-size: 13px; }
.row-link { display: inline-flex; align-items: center; min-height: 36px; padding-inline: 4px; }
td:has(.row-link) > a { display: inline-flex; align-items: center; min-height: 36px; padding: 6px 8px; margin-inline-end: 6px; border: 1px solid var(--border); border-radius: 6px; }
a[href$="/hard-delete"], a[href$="/soft-delete"] { color: var(--danger); }
.table-scroll { overscroll-behavior-inline: contain; }
.pagination, .pagination .button { font-size: 14px; }
.pagination .button { min-height: 44px; }
.form-field p, .record-details dt, .alert p, .muted, #relation-status { font-size: 14px; }
.form-actions > *, .toolbar > * { max-width: 100%; }
.card-footer > span { display: inline-block; }
[dir=rtl] .card-footer > span { transform: scaleX(-1); }
@media (max-width: 699px) {
  .topbar { min-height: 68px; height: auto; }
  .page-heading .button, .stats small { font-size: 13px; }
  .stats { grid-template-columns: 1fr; }
  .stats > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
  .search-row > label, .search-row > button { flex-basis: 100%; min-width: 0; }
  .grow { min-width: 0; }
  .filter-row { grid-template-columns: minmax(0, 1fr); }
  .record-details dd { align-items: start; }
  .panel, .welcome { padding: 20px; }
  .list-panel { padding: 0; }
}

.row-number { width: 4.5rem; text-align: center; font-variant-numeric: tabular-nums; }

#relation-results .row-number { min-width: 4.5rem; }
#relation-results td:nth-child(2), #relation-results th:nth-child(2) { position: sticky; inset-inline-start: 4.5rem; background: var(--surface); z-index: 3; }
