/* Ariya Suite — Shared Modal/Form + RBAC layer */
:root{--ariya-modal-radius:22px;--ariya-modal-shadow:0 28px 80px rgba(15,23,42,.24)}
.ariya-modal-backdrop[data-runtime-modal]{position:fixed;inset:0;z-index:1600;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(15,23,42,.58);backdrop-filter:blur(6px)}
.ariya-modal-backdrop[data-runtime-modal].open{display:flex}
.ariya-runtime-modal{width:min(680px,100%);max-height:min(90vh,920px);display:flex;flex-direction:column;background:var(--ariya-surface,#fff);color:var(--ariya-text,#172033);border:1px solid var(--ariya-border,#e5e7eb);border-radius:var(--ariya-modal-radius);box-shadow:var(--ariya-modal-shadow);overflow:hidden}
.ariya-runtime-modal.modal-sm{width:min(440px,100%)}.ariya-runtime-modal.modal-md{width:min(680px,100%)}.ariya-runtime-modal.modal-lg{width:min(920px,100%)}.ariya-runtime-modal.modal-xl{width:min(1180px,100%)}
.ariya-runtime-modal-head{display:flex;gap:16px;align-items:flex-start;padding:20px 22px;border-bottom:1px solid var(--ariya-border,#e5e7eb);background:color-mix(in srgb,var(--ariya-surface,#fff) 94%,var(--ariya-primary,#2458e6) 6%)}
.ariya-runtime-modal-title-wrap{min-width:0;flex:1}.ariya-runtime-modal-title{margin:0;font-size:1.1rem;font-weight:850}.ariya-runtime-modal-subtitle{margin:5px 0 0;color:var(--ariya-muted,#667085);font-size:.82rem;line-height:1.7}
.ariya-runtime-modal-body{padding:22px;overflow:auto;overscroll-behavior:contain}.ariya-runtime-modal-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 22px;border-top:1px solid var(--ariya-border,#e5e7eb);background:var(--ariya-surface,#fff)}
.ariya-runtime-modal-actions{display:flex;flex-wrap:wrap;gap:8px;margin-inline-start:auto}.ariya-modal-error-summary{display:none;margin-bottom:16px;padding:12px 14px;border:1px solid #ef4444;border-radius:12px;background:rgba(239,68,68,.08);color:#b42318;font-size:.84rem}.ariya-modal-error-summary.show{display:block}
.ariya-form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}.ariya-field{grid-column:span 6;min-width:0}.ariya-field.span-12{grid-column:span 12}.ariya-field.span-8{grid-column:span 8}.ariya-field.span-4{grid-column:span 4}.ariya-field.span-3{grid-column:span 3}
.ariya-field label,.ariya-field-label{display:flex;align-items:center;gap:6px;margin-bottom:7px;font-size:.82rem;font-weight:750}.ariya-required{color:#dc2626}.ariya-field-help{margin-top:6px;color:var(--ariya-muted,#667085);font-size:.73rem;line-height:1.55}.ariya-field-error{min-height:18px;margin-top:5px;color:#dc2626;font-size:.73rem}.ariya-field.is-invalid .ariya-input,.ariya-field.is-invalid .ariya-select,.ariya-field.is-invalid textarea,.ariya-field.is-invalid .ariya-rich-editor{border-color:#ef4444!important;box-shadow:0 0 0 3px rgba(239,68,68,.08)!important}
.ariya-input-wrap{position:relative}.ariya-input-suffix{position:absolute;inset-inline-end:11px;top:50%;transform:translateY(-50%);font-size:.74rem;color:var(--ariya-muted,#667085);pointer-events:none}.ariya-input-wrap .ariya-input.has-suffix{padding-inline-end:54px}
.ariya-form-section{grid-column:span 12;border:1px solid var(--ariya-border,#e5e7eb);border-radius:16px;padding:16px}.ariya-form-section-title{margin:0 0 12px;font-size:.92rem}.ariya-form-section-sub{margin:-5px 0 14px;color:var(--ariya-muted,#667085);font-size:.75rem}
.ariya-rich-editor{min-height:128px;padding:12px;border:1px solid var(--ariya-border,#e5e7eb);border-radius:12px;background:var(--ariya-surface,#fff);outline:none;line-height:1.9}.ariya-rich-editor:focus{border-color:var(--ariya-primary,#2458e6);box-shadow:0 0 0 3px color-mix(in srgb,var(--ariya-primary,#2458e6) 15%,transparent)}
.ariya-tags-control{display:flex;flex-wrap:wrap;gap:7px;align-items:center;min-height:44px;padding:7px;border:1px solid var(--ariya-border,#e5e7eb);border-radius:12px;background:var(--ariya-surface,#fff)}.ariya-tags-control input{border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;flex:1;min-width:120px;padding:4px}.ariya-tag-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:color-mix(in srgb,var(--ariya-primary,#2458e6) 11%,transparent);font-size:.76rem}.ariya-tag-chip button{border:0;background:none;color:inherit;cursor:pointer}
.ariya-choice-grid{display:flex;flex-wrap:wrap;gap:8px}.ariya-choice{display:flex;gap:7px;align-items:center;padding:9px 11px;border:1px solid var(--ariya-border,#e5e7eb);border-radius:11px;cursor:pointer}.ariya-choice:has(input:checked){border-color:var(--ariya-primary,#2458e6);background:color-mix(in srgb,var(--ariya-primary,#2458e6) 7%,transparent)}
.ariya-switch-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0}.ariya-switch-control{width:46px;height:26px;appearance:none;border-radius:999px;background:#cbd5e1;position:relative;cursor:pointer;transition:.2s}.ariya-switch-control:after{content:"";position:absolute;width:20px;height:20px;border-radius:50%;top:3px;inset-inline-start:3px;background:white;box-shadow:0 1px 4px rgba(0,0,0,.25);transition:.2s}.ariya-switch-control:checked{background:var(--ariya-primary,#2458e6)}.ariya-switch-control:checked:after{transform:translateX(calc((23px) * var(--ariya-dir-factor,1)))}[dir=rtl] .ariya-switch-control:checked:after{transform:translateX(-20px)}
.ariya-dropzone{display:grid;place-items:center;gap:7px;min-height:128px;padding:20px;border:1.5px dashed var(--ariya-border,#cbd5e1);border-radius:14px;text-align:center;cursor:pointer;background:color-mix(in srgb,var(--ariya-surface,#fff) 97%,var(--ariya-primary,#2458e6) 3%)}.ariya-dropzone.dragging{border-color:var(--ariya-primary,#2458e6);background:color-mix(in srgb,var(--ariya-primary,#2458e6) 8%,transparent)}.ariya-file-list{display:grid;gap:7px;margin-top:8px}.ariya-file-item{display:flex;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:10px;background:var(--ariya-bg,#f8fafc);font-size:.75rem}
.ariya-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:9px;margin-top:9px}.ariya-image-preview{aspect-ratio:1;border-radius:12px;overflow:hidden;border:1px solid var(--ariya-border,#e5e7eb);position:relative;background:var(--ariya-bg,#f8fafc)}.ariya-image-preview img{width:100%;height:100%;object-fit:cover}.ariya-image-preview button{position:absolute;top:5px;inset-inline-end:5px;border:0;width:24px;height:24px;border-radius:50%;background:rgba(15,23,42,.72);color:#fff;cursor:pointer}
.ariya-map-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ariya-map-preview{grid-column:1/-1;min-height:116px;border:1px dashed var(--ariya-border,#cbd5e1);border-radius:13px;display:grid;place-items:center;background:linear-gradient(45deg,rgba(36,88,230,.035) 25%,transparent 25%,transparent 75%,rgba(36,88,230,.035) 75%),linear-gradient(45deg,rgba(36,88,230,.035) 25%,transparent 25%,transparent 75%,rgba(36,88,230,.035) 75%);background-size:24px 24px;background-position:0 0,12px 12px;color:var(--ariya-muted,#667085);font-size:.78rem}
.ariya-stepper{display:flex;gap:6px;overflow:auto;padding:0 0 16px;margin-bottom:16px;border-bottom:1px solid var(--ariya-border,#e5e7eb)}.ariya-step{display:flex;align-items:center;gap:7px;white-space:nowrap;padding:7px 9px;border-radius:10px;color:var(--ariya-muted,#667085);font-size:.76rem}.ariya-step-index{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--ariya-bg,#eef2f7);font-weight:800}.ariya-step.active{color:var(--ariya-primary,#2458e6);background:color-mix(in srgb,var(--ariya-primary,#2458e6) 7%,transparent)}.ariya-step.active .ariya-step-index,.ariya-step.done .ariya-step-index{background:var(--ariya-primary,#2458e6);color:#fff}.ariya-step-panel[hidden]{display:none!important}
.ariya-modal-tabs{display:flex;gap:6px;overflow:auto;margin-bottom:16px}.ariya-modal-tab{border:1px solid var(--ariya-border,#e5e7eb);background:transparent;border-radius:10px;padding:8px 12px;cursor:pointer;color:inherit}.ariya-modal-tab.active{background:var(--ariya-primary,#2458e6);border-color:var(--ariya-primary,#2458e6);color:#fff}
.ariya-conditional[hidden]{display:none!important}.ariya-more-fields{grid-column:span 12}.ariya-more-fields summary{cursor:pointer;font-weight:800;color:var(--ariya-primary,#2458e6);margin-bottom:12px}
/* RBAC */
.rbac-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:16px}.rbac-role-grid{display:grid;grid-template-columns:minmax(250px,330px) 1fr;gap:16px}.rbac-role-list{display:grid;gap:9px;align-content:start}.rbac-role-card{border:1px solid var(--ariya-border,#e5e7eb);border-radius:14px;padding:13px;background:var(--ariya-surface,#fff);cursor:pointer}.rbac-role-card.active{border-color:var(--ariya-primary,#2458e6);box-shadow:0 0 0 3px color-mix(in srgb,var(--ariya-primary,#2458e6) 10%,transparent)}.rbac-role-card-head{display:flex;justify-content:space-between;gap:8px}.rbac-role-key{font-family:ui-monospace,monospace;font-size:.7rem;color:var(--ariya-muted,#667085)}
.rbac-matrix{border:1px solid var(--ariya-border,#e5e7eb);border-radius:16px;overflow:hidden}.rbac-matrix-head{display:flex;gap:8px;align-items:center;padding:12px;background:var(--ariya-bg,#f8fafc);border-bottom:1px solid var(--ariya-border,#e5e7eb)}.rbac-groups{max-height:620px;overflow:auto}.rbac-group{border-bottom:1px solid var(--ariya-border,#e5e7eb)}.rbac-group:last-child{border:0}.rbac-group-title{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;background:color-mix(in srgb,var(--ariya-bg,#f8fafc) 82%,transparent);font-weight:800}.rbac-permission-row{display:grid;grid-template-columns:minmax(170px,1fr) repeat(6,72px);gap:6px;align-items:center;padding:9px 13px;border-top:1px solid color-mix(in srgb,var(--ariya-border,#e5e7eb) 65%,transparent);font-size:.76rem}.rbac-permission-row.head{font-weight:800;background:var(--ariya-bg,#f8fafc);position:sticky;top:0;z-index:2}.rbac-permission-row .perm-check{text-align:center}.rbac-permission-row input{width:17px;height:17px}.rbac-audit{display:grid;gap:8px}.rbac-audit-row{display:grid;grid-template-columns:130px 1fr auto;gap:10px;padding:10px 12px;border-bottom:1px solid var(--ariya-border,#e5e7eb);font-size:.76rem}.rbac-current-role{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:10px;background:color-mix(in srgb,var(--ariya-primary,#2458e6) 7%,transparent)}
[data-rbac-hidden="true"]{display:none!important}.ariya-access-denied{min-height:55vh;display:grid;place-items:center;text-align:center;padding:32px}.ariya-access-denied-card{max-width:620px;padding:32px;border:1px solid var(--ariya-border,#e5e7eb);border-radius:22px;background:var(--ariya-surface,#fff)}
@media(max-width:820px){.ariya-modal-backdrop[data-runtime-modal]{padding:0;align-items:stretch}.ariya-runtime-modal{width:100%!important;max-height:100dvh;height:100dvh;border-radius:0}.ariya-runtime-modal-head{padding:16px}.ariya-runtime-modal-body{padding:16px}.ariya-runtime-modal-foot{padding:12px 16px}.ariya-field,.ariya-field.span-8,.ariya-field.span-6,.ariya-field.span-4,.ariya-field.span-3{grid-column:span 12}.rbac-role-grid{grid-template-columns:1fr}.rbac-permission-row{grid-template-columns:minmax(150px,1fr) repeat(6,58px);min-width:560px}.rbac-matrix{overflow:auto}.rbac-audit-row{grid-template-columns:1fr}.ariya-map-picker{grid-template-columns:1fr}}
.ariya-image-meta{display:grid;gap:5px;align-content:start}.ariya-image-meta .ariya-input{font-size:.7rem;padding:7px 8px}.ariya-image-preview.dragging{opacity:.5;outline:2px dashed var(--ariya-primary,#2458e6)}
/* Ecommerce variable product builder */
.variant-attributes{display:grid;gap:10px}.variant-attribute-card{padding:13px;border:1px solid var(--ariya-border,#e5e7eb);border-radius:14px;background:var(--ariya-surface,#fff)}.variant-attribute-card.dragging{opacity:.5;outline:2px dashed var(--ariya-primary,#2458e6)}
.variation-list{display:grid;gap:9px;max-height:510px;overflow:auto}.variation-card{border:1px solid var(--ariya-border,#e5e7eb);border-radius:13px;padding:0 12px;background:var(--ariya-surface,#fff)}.variation-card summary{display:grid;grid-template-columns:auto minmax(160px,1fr) minmax(110px,auto) auto auto;align-items:center;gap:9px;padding:11px 0;cursor:pointer}.variation-card[open] summary{border-bottom:1px solid var(--ariya-border,#e5e7eb)}.variation-card code{direction:ltr;text-align:left}.metric-card{height:100%;padding:12px;border:1px solid var(--ariya-border,#e5e7eb);border-radius:12px;display:grid;gap:3px}.metric-card span,.metric-card small{color:var(--ariya-muted,#667085);font-size:.73rem}.metric-card strong{font-size:1.1rem}.ariya-step-panel[data-product-type="simple"] [data-variation-builder]:before{content:'در نوع «محصول ساده» این مرحله اختیاری است؛ برای استفاده از ترکیب‌ها نوع محصول را روی متغیر بگذارید.';display:block;padding:10px 12px;margin-bottom:12px;border-radius:10px;background:rgba(245,158,11,.1);color:#92400e;font-size:.78rem}
@media(max-width:700px){.variation-card summary{grid-template-columns:1fr auto}.variation-card summary code,.variation-card summary .ariya-choice{display:none}}
/* UX1 live form summary */
.ariya-live-summary{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 16px;padding:10px 12px;border:1px solid var(--ariya-border,#e5e7eb);border-radius:13px;background:color-mix(in srgb,var(--ariya-primary,#2458e6) 4%,var(--ariya-surface,#fff))}.ariya-live-summary>div{display:flex;align-items:center;gap:7px;min-width:130px}.ariya-live-summary span{font-size:.72rem;color:var(--ariya-muted,#667085)}.ariya-live-summary strong{font-size:.8rem}
/* Modal flex containment: keep header/footer reachable while long forms scroll internally. */
.ariya-runtime-modal-head,.ariya-runtime-modal-foot{flex:0 0 auto}
.ariya-runtime-modal-body{flex:1 1 auto;min-height:0}
.ariya-runtime-modal>form{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden}
