.login-container{min-height:100vh;width:100vw;position:fixed;top:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background-image:var(--lpx-theme-light-bg, url(/assets/images/login/login-bg-img-light.svg));background-size:cover;background-position:center;background-repeat:no-repeat;padding:1.5rem;direction:rtl;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.login-container.dark-mode{background-image:var(--lpx-theme-dark-bg, url(/assets/images/login/login-bg-img-dark.svg))}.login-card{width:100%;max-width:440px;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--border);overflow:hidden}.card-header-custom{padding:2.5rem 2rem 1.5rem;text-align:center;border-bottom:none}.card-header-custom .logo-img{height:70px;margin-bottom:1.5rem;object-fit:contain;transition:transform .3s ease}.card-header-custom .logo-img:hover{transform:scale(1.05)}.card-header-custom .title{font-size:1.6rem;font-weight:700;color:#1e293b;margin-bottom:.5rem}.card-header-custom .subtitle{font-size:.95rem;color:#64748b;margin:0}.card-body-custom{padding:0 2rem 2.5rem}.form-group-custom{margin-bottom:1.25rem}.form-group-custom .form-label-custom{display:block;font-weight:600;font-size:.875rem;color:#475569;margin-bottom:.5rem;text-align:right}.form-group-custom .input-wrapper{position:relative}.form-group-custom .form-input-custom{width:100%;padding:.75rem 2.5rem .75rem 1rem;border:1px solid #cbd5e1;border-radius:8px;font-size:.95rem;color:#1e293b;background-color:#f8fafc;transition:all .2s ease;text-align:right}.form-group-custom .form-input-custom:focus{border-color:var(--accent);background-color:#fff;box-shadow:0 0 0 3px var(--accent-soft);outline:none}.form-group-custom .form-input-custom::placeholder{color:#94a3b8}.form-group-custom .input-icon{position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:#64748b;pointer-events:none}.field-error{color:#dc2626;margin-top:.25rem;font-size:.75rem;text-align:right}.options-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;font-size:.875rem}.options-row .remember-me{display:flex;align-items:center;gap:.5rem;cursor:pointer;color:#475569;font-weight:500;-webkit-user-select:none;user-select:none}.options-row .remember-me input[type=checkbox]{width:1rem;height:1rem;border-radius:4px;border:1px solid #cbd5e1;cursor:pointer}.options-row .forgot-password{color:var(--accent);text-decoration:none;font-weight:500;transition:color .15s ease;background:none;border:none;padding:0;cursor:pointer;font-size:inherit;font-family:inherit}.options-row .forgot-password:hover{color:var(--accent-strong);text-decoration:underline}.btn-login-custom{width:100%;padding:.85rem;background-color:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .16s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-login-custom:hover:not(:disabled){background-color:var(--accent-strong)}.btn-login-custom:disabled{background-color:#94a3b8;cursor:not-allowed;opacity:.8}.btn-login-custom .spinner{animation:login-spin .8s linear infinite}.alert-danger-custom{background-color:#fef2f2;border:1px solid #fca5a5;color:#b91c1c;padding:.75rem 1rem;border-radius:8px;font-size:.875rem;margin-bottom:1.25rem;display:flex;align-items:center;gap:.5rem;text-align:right;direction:rtl}@keyframes login-spin{to{transform:rotate(360deg)}}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-pill: 999px;--bg: #f4f5f7;--surface: #ffffff;--surface-muted: #f7f8fa;--surface-hover: #eef0f3;--border: #e2e5ea;--border-strong: #cbd0d8;--text: #2b303b;--text-muted: #6b7280;--text-faint: #9aa1ac;--heading: #14171f;--accent: #4f46e5;--accent-strong: #3c34c5;--accent-soft: #ecebfd;--accent-softer: #f5f4fe;--accent-contrast: #ffffff;--success: #16794f;--success-soft: #e4f6ee;--warning: #92610a;--warning-soft: #fdf1d9;--danger: #b3261e;--danger-soft: #fbe9e8;--info: #1c5f8a;--info-soft: #e4f1f9;--shadow-xs: 0 1px 2px rgba(20, 23, 31, .05);--shadow-sm: 0 2px 8px rgba(20, 23, 31, .06);--shadow-md: 0 8px 24px rgba(20, 23, 31, .09);--shadow-lg: 0 16px 48px rgba(20, 23, 31, .16);--ease: cubic-bezier(.4, 0, .2, 1);--duration: .16s;--fs-xs: 12px;--fs-sm: 13px;--fs-base: 14px;--fs-md: 15px;--fs-lg: 18px;--fs-xl: 22px;--fs-2xl: 28px;--radius: var(--radius-md);--shadow: var(--shadow-sm);color:var(--text);background:var(--bg);font-family:Segoe UI,Aptos,Candara,system-ui,sans-serif;font-size:var(--fs-base);line-height:1.5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit}#root{min-height:100vh}::selection{background:var(--accent-soft);color:var(--accent-strong)}.app-shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;border-inline-end:1px solid #232a3a;background:#171b26;color:#b7bdc9;padding:var(--space-5) var(--space-3)}.brand-block{display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-2);margin-bottom:var(--space-6)}.brand-block small,.eyebrow{display:block;color:var(--text-muted);font-size:var(--fs-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.brand-block strong{color:#f4f5f7;font-size:var(--fs-md)}.brand-block small{color:#7c8496;text-transform:none;letter-spacing:0;font-weight:500}.brand-mark{display:grid;flex:none;width:36px;height:36px;place-items:center;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-weight:700;font-size:var(--fs-sm)}.nav-list{display:grid;gap:2px}.nav-list a{position:relative;display:flex;align-items:center;gap:var(--space-3);min-height:38px;padding:0 var(--space-3);border-radius:var(--radius-sm);color:#a4abba;font-size:var(--fs-sm);font-weight:500;text-decoration:none;transition:background var(--duration) var(--ease),color var(--duration) var(--ease)}.nav-list a svg{flex:none;opacity:.85}.nav-list a:hover{background:#ffffff0f;color:#eef0f4}.nav-list a.active{background:#4f46e52e;color:#fff;font-weight:600}.nav-list a.active:before{content:"";position:absolute;inset-inline-start:-12px;top:50%;transform:translateY(-50%);width:3px;height:18px;border-radius:var(--radius-pill);background:var(--accent)}.workspace{min-width:0;padding:var(--space-6) var(--space-8);max-width:1440px}.workspace-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6)}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--heading);font-weight:700;letter-spacing:-.01em}h1{font-size:var(--fs-2xl);line-height:1.2}h2{font-size:var(--fs-xl);line-height:1.25}h3{font-size:var(--fs-md)}.ghost-button{display:inline-flex;align-items:center;gap:var(--space-2);min-height:36px;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:var(--fs-sm);font-weight:600;cursor:pointer;transition:background var(--duration) var(--ease),border-color var(--duration) var(--ease)}.ghost-button:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong)}.ghost-button:disabled{cursor:wait;opacity:.6}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:38px;margin-top:var(--space-4);padding:0 var(--space-4);border:0;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-weight:600;font-size:var(--fs-sm);cursor:pointer;transition:background var(--duration) var(--ease)}.primary-button:hover:not(:disabled){background:var(--accent-strong)}.primary-button:disabled{opacity:.6;cursor:not-allowed}.auth-actions{display:flex;align-items:center;gap:var(--space-3);color:var(--text-muted);font-size:var(--fs-sm)}.lang-switcher{position:relative}.lang-switcher__toggle{list-style:none;cursor:pointer;gap:6px}.lang-switcher__toggle::-webkit-details-marker{display:none}.lang-switcher__menu{position:absolute;z-index:40;inset-block-start:calc(100% + 6px);inset-inline-end:0;min-width:160px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-lg);padding:var(--space-1)}.lang-switcher__menu button{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;min-height:34px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text);padding:0 var(--space-2);text-align:start;cursor:pointer}.lang-switcher__menu button:hover{background:var(--surface-hover)}.lang-switcher__menu button.is-active{color:var(--accent-strong);font-weight:700}.page-panel,.access-notice,.abp-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-xs)}.page-panel{padding:var(--space-6)}.page-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5)}.status-pill{border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent-strong);font-size:var(--fs-xs);font-weight:700;padding:var(--space-1) var(--space-3)}.abp-card{overflow:visible}.abp-card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);border-bottom:1px solid var(--border);padding:var(--space-4) var(--space-5)}.abp-card__header h2{font-size:var(--fs-lg)}.abp-card__actions,.input-group,.badge-row,.badge-column{display:flex;align-items:center;gap:var(--space-2)}.abp-card__body{padding:var(--space-5)}.abp-search-row{max-width:560px;margin-bottom:var(--space-4)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:38px;border:1px solid transparent;border-radius:var(--radius-sm);padding:0 var(--space-4);font-weight:600;font-size:var(--fs-sm);cursor:pointer;transition:background var(--duration) var(--ease),border-color var(--duration) var(--ease),transform var(--duration) var(--ease)}.btn:active{transform:translateY(1px)}.btn-primary{border-color:var(--accent);background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}.btn-secondary{border-color:var(--border);background:var(--surface);color:var(--text)}.btn-secondary:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-sm{min-height:32px;padding:0 var(--space-3);font-size:var(--fs-xs)}.icon-btn{display:inline-grid;place-items:center;width:32px;height:32px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:background var(--duration) var(--ease),color var(--duration) var(--ease),border-color var(--duration) var(--ease)}.icon-btn:hover:not(:disabled){background:var(--surface-hover);color:var(--text);border-color:var(--border)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.icon-btn--danger:hover:not(:disabled){background:var(--danger-soft);color:var(--danger)}.icon-btn--accent:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-strong)}.row-action-group{display:inline-flex;align-items:center;gap:2px}.input-group{align-items:stretch}.input-group .form-control{flex:1;min-width:0}.form-control{min-height:38px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:0 var(--space-3);font-size:var(--fs-sm);transition:border-color var(--duration) var(--ease),box-shadow var(--duration) var(--ease)}.form-control:focus,.field-label input:focus,.field-label select:focus,.field-label textarea:focus,.admin-toolbar input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input-group .form-control{border-top-right-radius:0;border-bottom-right-radius:0}.input-group .btn{border-top-left-radius:0;border-bottom-left-radius:0}.sticky-toolbar{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--surface);border-bottom:1px solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.sticky-toolbar__search{position:relative;flex:1 1 260px;max-width:380px}.sticky-toolbar__search svg{position:absolute;inset-inline-start:10px;top:50%;transform:translateY(-50%);color:var(--text-faint);pointer-events:none}.sticky-toolbar__search input{width:100%;padding-inline-start:34px}.sticky-toolbar__filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.sticky-toolbar__filters select,.sticky-toolbar__filters input{min-height:36px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:0 var(--space-2);font-size:var(--fs-sm)}.sticky-toolbar__spacer{flex:1}.sticky-toolbar__actions{display:flex;align-items:center;gap:var(--space-2)}.bulk-bar{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);background:var(--accent-softer);border:1px solid var(--accent-soft);color:var(--accent-strong);font-size:var(--fs-sm);font-weight:600}.bulk-bar__count{color:var(--accent-strong)}.bulk-bar__actions{display:flex;align-items:center;gap:var(--space-2);margin-inline-start:auto}.ngx-like-table th:first-child,.ngx-like-table td:first-child{width:150px}.action-menu{position:relative;display:inline-block}.action-menu summary{list-style:none;cursor:pointer}.action-menu summary::-webkit-details-marker{display:none}.action-menu__items{position:absolute;z-index:30;top:calc(100% + 4px);inset-inline-start:0;min-width:160px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-lg);padding:var(--space-1)}.action-menu__items button{display:flex;align-items:center;gap:var(--space-2);width:100%;min-height:34px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text);padding:0 var(--space-2);text-align:start;font-size:var(--fs-sm);cursor:pointer}.action-menu__items button:hover{background:var(--surface-hover)}.action-menu__items .danger{color:var(--danger)}tr:last-child .action-menu__items{top:auto;bottom:calc(100% + 4px)}.badge{display:inline-flex;align-items:center;min-height:22px;border-radius:var(--radius-pill);color:#fff;font-size:var(--fs-xs);font-weight:700;padding:0 var(--space-2)}.badge-row{flex-wrap:wrap;margin-top:var(--space-1)}.badge-column{align-items:flex-start;flex-direction:column}.bg-primary{background:var(--accent)}.bg-success{background:var(--success)}.bg-secondary{background:#6b7280}.bg-info{background:var(--info)}.bg-warning{background:var(--warning)}.abp-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;background:#14171f80;padding:var(--space-6);animation:tm-fade-in var(--duration) var(--ease)}.abp-modal{min-width:100vh;max-width:200vh;max-height:calc(100vh - 48px);overflow:hidden;border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg);animation:tm-scale-in var(--duration) var(--ease)}.abp-modal--lg{width:min(860px,100%)}.abp-modal__header,.abp-modal__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);border-bottom:1px solid var(--border);padding:var(--space-4) var(--space-5)}.abp-modal__footer{justify-content:flex-end;border-top:1px solid var(--border);border-bottom:0}.abp-modal__body{display:grid;max-height:calc(100vh - 190px);gap:var(--space-4);overflow:auto;padding:var(--space-5)}.modal-close-button{display:inline-grid;width:32px;height:32px;place-items:center;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-muted);cursor:pointer}.modal-close-button:hover{background:var(--surface-hover);color:var(--text)}@keyframes tm-fade-in{0%{opacity:0}to{opacity:1}}@keyframes tm-scale-in{0%{opacity:0;transform:scale(.97) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes tm-spin{to{transform:rotate(360deg)}}.spinner{animation:tm-spin .8s linear infinite}.bento-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--space-4)}.bento-grid>*{min-width:0}.bento-span-3{grid-column:span 3}.bento-span-4{grid-column:span 4}.bento-span-5{grid-column:span 5}.bento-span-6{grid-column:span 6}.bento-span-7{grid-column:span 7}.bento-span-8{grid-column:span 8}.bento-span-9{grid-column:span 9}.bento-span-12{grid-column:span 12}@media(max-width:1180px){.bento-grid [class*=bento-span-]{grid-column:span 6}}@media(max-width:720px){.bento-grid [class*=bento-span-]{grid-column:span 12}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-12) var(--space-6);text-align:center;color:var(--text-muted)}.empty-state svg{color:var(--text-faint)}.empty-state h3{color:var(--heading)}.empty-state p{max-width:360px;font-size:var(--fs-sm);color:var(--text-muted)}.skeleton{position:relative;overflow:hidden;background:var(--surface-hover);border-radius:var(--radius-sm);isolation:isolate}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:tm-shimmer 1.3s infinite}@keyframes tm-shimmer{to{transform:translate(100%)}}.skeleton-row{display:grid;gap:var(--space-2);padding:var(--space-3) var(--space-4)}.skeleton-line{height:12px;border-radius:var(--radius-pill)}.toast-viewport{position:fixed;z-index:500;inset-block-end:var(--space-5);inset-inline-end:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);width:min(340px,calc(100vw - 40px))}.toast{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--heading);color:#fff;box-shadow:var(--shadow-lg);font-size:var(--fs-sm);animation:tm-scale-in var(--duration) var(--ease)}.toast--success{background:var(--success)}.toast--danger{background:var(--danger)}.toast--info{background:var(--info)}.migration-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.migration-card-grid article{min-height:132px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted);padding:var(--space-4)}.migration-card-grid p,.access-notice p{color:var(--text-muted);line-height:1.55;margin-top:var(--space-2)}.access-notice{padding:var(--space-8)}.access-notice span{display:inline-flex;margin-bottom:var(--space-3);border-radius:var(--radius-sm);background:var(--warning-soft);color:var(--warning);font-weight:700;padding:var(--space-2) var(--space-3)}.admin-page{display:grid;gap:var(--space-5)}.admin-tabs,.admin-toolbar,.permission-toolbar,.pager,.row-actions,.form-title-row,.settings-summary{display:flex;align-items:center;gap:var(--space-3)}.admin-tabs{flex-wrap:wrap;gap:var(--space-1);border-bottom:1px solid var(--border);padding-bottom:0}.admin-tabs button,.icon-button,.row-actions button,.pager button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:36px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);padding:0 var(--space-3);font-size:var(--fs-sm);font-weight:600;cursor:pointer;transition:background var(--duration) var(--ease),color var(--duration) var(--ease)}.icon-button,.row-actions button,.pager button{border-color:var(--border);background:var(--surface);color:var(--text)}.icon-button:hover,.row-actions button:hover,.pager button:hover:not(:disabled){background:var(--surface-hover)}.admin-tabs button{border-radius:var(--radius-sm) var(--radius-sm) 0 0;margin-bottom:-1px;padding-bottom:var(--space-3)}.admin-tabs button:hover{color:var(--text);background:var(--surface-hover)}.admin-tabs button.active{border-bottom:2px solid var(--accent);color:var(--accent-strong);background:transparent}.admin-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.75fr);gap:var(--space-5);align-items:start}.admin-table-panel,.admin-form,.permission-group,.settings-summary{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:var(--space-4)}.admin-form,.permission-console,.permission-group,.settings-list{display:grid;gap:var(--space-3)}.admin-toolbar{justify-content:space-between;margin-bottom:var(--space-3)}.admin-toolbar label,.permission-toolbar label,.field-label{display:grid;gap:var(--space-1);color:var(--text-muted);font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.02em}.admin-toolbar label{position:relative;flex:1;max-width:420px}.admin-toolbar label svg{position:absolute;left:10px;top:32px;color:var(--text-faint)}.admin-toolbar input,.field-label input,.field-label select,.field-label textarea,.permission-toolbar select{min-height:38px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:0 var(--space-3);font-size:var(--fs-sm);font-weight:400;text-transform:none;letter-spacing:normal}.field-label textarea{min-height:92px;padding:var(--space-3);resize:vertical}.table-sort-button{border:0;background:transparent;color:inherit;font:inherit;font-weight:700;padding:0;text-transform:inherit;cursor:pointer}.table-sort-button:disabled{cursor:default}.admin-toolbar input{padding-inline-start:34px}.table-wrap{overflow:auto;border-radius:var(--radius-md)}.data-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.data-table th,.data-table td{border-bottom:1px solid var(--border);padding:var(--space-3) var(--space-3);text-align:left;white-space:nowrap}.data-table th{position:sticky;top:0;z-index:1;background:var(--surface-muted);color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.data-table tbody tr{transition:background var(--duration) var(--ease)}.data-table tbody tr:hover{background:var(--surface-muted)}.data-table tbody tr.is-selected{background:var(--accent-softer)}.data-table td.col-checkbox,.data-table th.col-checkbox{width:40px}.row-actions .danger{color:var(--danger)}.pager{justify-content:flex-end;margin-top:var(--space-3);color:var(--text-muted);font-size:var(--fs-sm)}.form-title-row{justify-content:space-between}.form-split,.target-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.check-label,.permission-row{display:flex;align-items:center;gap:var(--space-2)}.role-selector{display:grid;gap:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3)}.permission-toolbar{align-items:end;flex-wrap:wrap}.permission-toolbar label{min-width:240px}.permission-shell{display:grid;gap:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:var(--space-4)}.permission-shell__header{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.permission-filter{position:relative;flex:1;min-width:220px;display:flex;align-items:center}.permission-filter svg{position:absolute;inset-inline-start:10px;color:var(--text-faint)}.permission-filter input{width:100%;min-height:38px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--text);padding-inline-start:34px;padding-inline-end:var(--space-3);font-size:var(--fs-sm)}.permission-shell__body{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:var(--space-4);align-items:start}.permission-tree{display:grid;gap:2px;max-height:60vh;overflow:auto;padding-inline-end:var(--space-2)}.permission-node{display:flex;align-items:center;gap:var(--space-2);min-height:30px;color:var(--text);font-size:var(--fs-sm)}.permission-node input:disabled{opacity:.4}.permission-node--select-all{font-weight:700;border-bottom:1px solid var(--border);padding-bottom:var(--space-2);margin-bottom:var(--space-1)}.permission-node--grant-all{font-weight:700;white-space:nowrap}.permission-groups-nav{display:grid;gap:var(--space-2);align-content:start}.permission-group-pill{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:var(--space-2) var(--space-3);font-size:var(--fs-sm);font-weight:600;text-align:center;cursor:pointer;transition:background var(--duration) var(--ease),color var(--duration) var(--ease)}.permission-group-pill:hover{background:var(--surface-hover)}.permission-group-pill.active{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast, #fff)}.settings-summary{color:var(--text-muted)}.settings-summary div{display:grid;gap:2px}.settings-summary strong{color:var(--heading)}.muted-copy,.error-copy{color:var(--text-muted);line-height:1.55}.error-copy{color:var(--danger)}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-inline-end:0}.admin-grid,.permission-shell__body,.form-split,.target-grid{grid-template-columns:1fr}.permission-groups-nav{grid-auto-flow:column;overflow-x:auto}.abp-card__header,.abp-card__actions,.input-group{align-items:stretch;flex-direction:column}.input-group .form-control,.input-group .btn{border-radius:var(--radius-sm)}.nav-list,.migration-card-grid{grid-template-columns:1fr}.workspace{padding:var(--space-4)}.sticky-toolbar{position:static;margin:0 0 var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--border)}}
