@import url("adaa-foundation.css");

/* Aljouf Health Cluster brand fonts (Janna LT + Saudi Font) */
@font-face{font-family:"Janna LT";src:url("res/fonts/alfont_com_Janna-LT-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Janna LT";src:url("res/fonts/alfont_com_Janna-LT-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Saudi";src:url("res/fonts/Saudi-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:"Saudi";src:url("res/fonts/Saudi-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF}

:root{--bg:#f4f8fc;--panel:#fff;--soft:#eef4fb;--text:#0c2a52;--muted:#5c7a99;--line:#e2e8ee;--brand:#1691d0;--brand2:#15508a;--ok:#48ad48;--warn:#ad6800;--bad:#bd3545;--nav-width:17.5rem;--content-width:1360px;--s1:.25rem;--s2:.5rem;--s3:.75rem;--s4:1rem;--s5:1.5rem;--s6:2rem;--control:2.875rem}
html[data-theme=dark]{--bg:#0a1a2e;--panel:#122539;--soft:#173250;--text:#eef6fc;--muted:#9fb6d0;--line:#26425f;--brand:#2fa9e0;--brand2:#7fc9ec;--ok:#5ad391;--warn:#f4b84c;--bad:#ff7686}
*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;background:var(--bg)!important;color:var(--text)!important;font-family:"Janna LT","Saudi",Tajawal,system-ui,sans-serif}.app{display:grid;min-height:100vh}.side{position:sticky;top:0;display:flex;flex-direction:column;border-inline-end:1px solid var(--line);z-index:20}.main{min-width:0}.content-area{display:block!important;min-height:0!important;padding:0!important}.top{display:flex;align-items:center;justify-content:space-between}.top-actions{display:none}.nav-backdrop{border:0}
.hero{background:var(--panel);border:1px solid var(--line);color:var(--text)}.hero{display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden}.hero h2{color:var(--brand)}.section-icon{display:grid;place-items:center;background:var(--soft);color:var(--brand);border-radius:.75rem}
.icon-btn{border:1px solid var(--line);background:var(--panel);color:var(--text);min-height:44px;border-radius:.75rem;cursor:pointer;font-family:inherit}.avatar{width:40px;height:40px;border-radius:.75rem;display:grid;place-items:center;background:var(--brand);font-weight:900}.user{display:flex;gap:.7rem;align-items:center}.saas-muted{color:var(--muted)!important}.primary{background:var(--brand);border:0;border-radius:.75rem;text-decoration:none;font-weight:800}.section-head{display:flex;align-items:center;justify-content:space-between}.section-head h2{margin:0}
.admin-table-card,.admin-section-card{background:var(--panel)!important;border-color:var(--line)!important}.admin-table{color:var(--text)!important}.admin-table th,.admin-table td{border-color:var(--line)!important}.admin-table thead th{background:var(--soft)!important;color:var(--muted)!important}.form-control,.form-select{background-color:var(--panel)!important;color:var(--text)!important;border-color:var(--line)!important}.form-control:focus,.form-select:focus{border-color:var(--brand)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 20%,transparent)!important}.admin-page-header{padding-top:1.5rem!important}.btn-admin.is-success,.submit-btn{background:var(--brand)!important;color:#fff!important;border-color:var(--brand)!important}html[data-theme=dark] .btn-admin.is-success,html[data-theme=dark] .submit-btn{color:#08243f!important}
.confirm-btn.is-success{background:var(--brand);color:#fff;border-color:var(--brand)}.confirm-btn.is-success:hover{background:color-mix(in srgb,var(--brand) 84%,#000)}html[data-theme=dark] .confirm-btn.is-success{color:#08243f}
.form-control[type=number],.form-control[type=file]{color-scheme:inherit;transition:border-color .18s cubic-bezier(.22,1,.36,1),box-shadow .18s cubic-bezier(.22,1,.36,1)!important}.form-control[type=file]::file-selector-button{background:var(--soft)!important;color:var(--text)!important;border-color:var(--line)!important;transition:none!important}
body{overflow-x:hidden}.app{grid-template-columns:var(--nav-width) minmax(0,1fr)}
.side{height:100dvh;padding:0 1rem 1.25rem;overflow:hidden;background:var(--panel)}
.logo{display:block;width:13.5rem;max-width:100%;height:6.25rem;margin:1rem auto .75rem;object-fit:contain}
.mobile-nav-toggle{display:none;width:var(--control);height:var(--control);border:1px solid var(--line);border-radius:.75rem;background:var(--panel);color:var(--text);align-items:center;justify-content:center;cursor:pointer;flex:none}
.mobile-nav-toggle svg{width:1.35rem;height:1.35rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.side-menu-content{display:flex;min-height:0;flex:1;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;direction:inherit;text-align:start}.nav{display:grid;gap:var(--s1)}
.nav a,.side-utilities .icon-btn,.side-logout .logout{width:100%;min-height:var(--control);padding:.7rem .875rem;border:1px solid transparent;border-radius:.75rem;background:transparent;color:var(--muted);display:flex;align-items:center;justify-content:flex-start;gap:.75rem;text-decoration:none;font-family:"Janna LT","Saudi",Tajawal,system-ui;font-size:.88rem;line-height:1.4;font-weight:700;box-shadow:none}
.nav a:hover,.nav a.active,.side-utilities .icon-btn:hover,.side-logout .logout:hover{background:var(--soft);color:var(--brand)}.nav a.active{border-color:color-mix(in srgb,var(--brand) 16%,var(--line))}
/* شارة التنبيهات: تدفع إلى طرف الرابط بمنطق الكتابة لا بجهة ثابتة، فتصلح للاتجاهين. */
.side-badge{margin-inline-start:auto;min-width:1.4rem;padding:.1rem .4rem;border-radius:999px;background:var(--bad);color:#fff;font-size:.72rem;font-weight:700;line-height:1.4;text-align:center;flex:none}
.nav svg,.side-utilities svg,.side-logout svg{width:1.3rem;height:1.3rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.side-actions{display:grid;gap:var(--s1);margin-top:var(--s5)}.side-utilities{display:grid;gap:var(--s1)}.side-logout{margin-top:auto}.side-foot{margin-top:var(--s3);padding-top:.9rem;border-top:1px solid var(--line)}
.avatar,.primary{color:#fff}html[data-theme=dark] .avatar,html[data-theme=dark] .primary{color:#08243f}
.main{width:100%;max-width:var(--content-width);margin:0 auto;padding:0 clamp(1.5rem,3vw,3rem) 3rem}.top{min-height:6.25rem;margin:0;gap:var(--s4)}.top h1{font-size:1.5rem;line-height:1.25}.top p{font-size:.875rem}.top-actions{display:none}
.hero{min-height:10rem;padding:var(--s6);border-radius:1.25rem;box-shadow:0 12px 36px color-mix(in srgb,var(--text) 8%,transparent)}.hero h2{font-size:clamp(1.45rem,2vw,1.8rem);line-height:1.3;letter-spacing:-.015em;text-wrap:balance}.hero p{font-size:.9rem}.primary{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding-inline:1.25rem}
.section-head{margin:var(--s6) 0 .875rem}.section-head h2,.divider-label{font-size:1.05rem}.admin-sections{grid-template-columns:repeat(4,minmax(0,1fr));gap:.875rem}.admin-section-card{min-width:0;padding:1.125rem;border-radius:1rem}.section-icon{width:2.75rem;height:2.75rem}.admin-section-card h3{margin:var(--s4) 0 .3rem;font-size:.95rem}.admin-section-card p{font-size:.8rem;line-height:1.7}.section-icon svg{width:1.45rem;height:1.45rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.admin-table-card{max-width:100%;overflow-x:auto;border-radius:1rem}.admin-table{min-width:42rem}.admin-table th,.admin-table td{padding:.8rem 1rem}.admin-table th{font-weight:800}
.nav a,.side-utilities .icon-btn,.side-logout .logout,.mobile-nav-toggle,.primary,.admin-section-card{transition:background-color .18s cubic-bezier(.22,1,.36,1),color .18s cubic-bezier(.22,1,.36,1),border-color .18s cubic-bezier(.22,1,.36,1),transform .18s cubic-bezier(.22,1,.36,1),box-shadow .18s cubic-bezier(.22,1,.36,1)}
.nav-backdrop{display:none}
@media(max-width:1100px) and (min-width:992px){:root{--nav-width:14rem}.side{padding-inline:.75rem}.logo{width:10.75rem;height:5.5rem}.nav a,.side-utilities .icon-btn,.side-logout .logout{padding-inline:.7rem;font-size:.82rem;gap:.55rem;justify-content:flex-start}.nav a span{display:inline!important}.side-foot{display:block!important}.main{padding-inline:1.5rem}.admin-sections{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{padding:1.5rem}}
@media(min-width:992px) and (max-height:760px){.side{padding-bottom:.75rem}.logo{height:5.25rem;margin:.5rem auto}.side-actions{margin-top:var(--s3)}.side-foot{margin-top:var(--s2);padding-top:.65rem}}
@media(max-width:991.98px){
 body.nav-open{overflow:hidden}.app{display:block;padding:0}.side{height:4.5rem;min-height:4.5rem;position:sticky;top:0;z-index:30;overflow:visible;display:flex;flex-direction:row;align-items:center;padding:.35rem .75rem;border:0;border-bottom:1px solid var(--line)}
 .logo{width:9rem;height:3.75rem;max-width:calc(100% - 4rem);margin:0}.mobile-nav-toggle{display:inline-flex;margin-inline-start:auto}.side.is-open .mobile-nav-toggle{background:var(--soft);color:var(--brand)}
 .side-menu-content{display:none;position:fixed;z-index:32;top:5rem;inset-inline:.5rem;max-height:calc(100dvh - 5.5rem);overflow-y:auto;overscroll-behavior:contain;padding:.65rem;background:var(--panel);border:1px solid var(--line);border-radius:1rem;box-shadow:0 20px 55px #0005;direction:inherit;text-align:start}.side.is-open .side-menu-content{display:flex}
 .nav{gap:.2rem}.nav a,.nav a:nth-child(n){display:flex;width:100%;min-height:44px;padding:.7rem .875rem;justify-content:flex-start}.nav a span{display:inline}.side-actions{margin-top:.65rem;padding-top:.65rem;border-top:1px solid var(--line)}.side-logout{margin-top:.65rem;padding-top:.65rem;border-top:1px solid var(--line)}.side-foot{display:block;margin-top:.65rem;padding:.85rem .25rem .25rem}
 .nav-backdrop{position:fixed;z-index:29;inset:4.5rem 0 0;background:#0007}.nav-backdrop.is-visible{display:block}
 .main{width:100%;padding:0 .75rem 3rem}.top{min-height:4.5rem}.top h1{font-size:1.2rem}.top p{max-width:58vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem}
 .hero{min-height:0;padding:1.25rem;gap:var(--s4);border-radius:1rem}.hero h2{font-size:1.35rem}.hero p{font-size:.82rem}.primary{width:100%}.admin-sections{grid-template-columns:1fr;gap:.65rem}.admin-section-card{display:grid;grid-template-columns:2.75rem minmax(0,1fr);column-gap:.875rem;align-items:center;padding:.875rem}.section-icon{grid-row:1/3}.admin-section-card h3{margin:0 0 .2rem}.section-head,.divider-label{margin-top:1.5rem}.admin-table{min-width:35rem}}
@media(max-width:360px){.side{padding-inline:.5rem}.logo{width:7.75rem}.main{padding-inline:.6rem}.hero h2{font-size:1.2rem}.admin-section-card{border-radius:.875rem}}
@media(max-width:650px){.nav{margin-inline-start:0}}
@media(prefers-reduced-motion:reduce){.nav a,.side-utilities .icon-btn,.side-logout .logout,.mobile-nav-toggle,.primary,.admin-section-card{transition:none}}

/* Upload workflow */
.admin-page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.breadcrumb-trail{color:var(--muted)}.breadcrumb-trail a{color:var(--muted)}
.admin-table-card{box-shadow:none!important}.admin-table-card>.divider-label{margin-top:0}.admin-table-card table{margin-bottom:0}.admin-table td,.admin-table th{vertical-align:middle}.admin-pill{white-space:nowrap}.confirm-btn,.btn-admin{min-height:40px;display:inline-flex;align-items:center;justify-content:center}.pagination{gap:.25rem}.page-link{background:var(--panel)!important;color:var(--text)!important;border-color:var(--line)!important}.page-item.active .page-link{background:var(--brand)!important;color:#fff!important;border-color:var(--brand)!important}
@media(max-width:640px){.admin-page-header{align-items:flex-start}.admin-page-header h1{font-size:1.35rem}.admin-table-card.p-4,.admin-table-card.p-md-5{padding:1rem!important}#uploadForm .col-12>div[style]{flex:0 0 100%!important;max-width:100%!important}.admin-table-card{overflow-x:auto}.confirm-btn,.btn-admin{min-height:44px}.modal-dialog{margin:.75rem}.admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Shared component vocabulary for the approved application design */
.admin-sections{display:grid}.admin-section-card{display:block;background:var(--panel);border:1px solid var(--line);border-radius:1rem;padding:1.125rem;color:var(--text);text-decoration:none}.admin-section-card:hover{border-color:var(--brand);color:var(--text)}.admin-section-card h3{margin:1rem 0 .3rem;font-size:.95rem;color:var(--text)}.admin-section-card p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.7}.divider-label{display:flex;align-items:center;gap:.75rem;color:var(--text);font-weight:800}.admin-table-card{background:var(--panel);border:1px solid var(--line);border-radius:1rem}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:.8rem 1rem;border-top:1px solid var(--line)}.admin-table thead th{border-top:0}.admin-empty{padding:2rem;text-align:center;color:var(--muted)}.admin-pill{display:inline-block;padding:.3rem .6rem;border-radius:999px;background:var(--soft);font-size:.72rem;font-weight:800}.admin-pill.is-success{color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,transparent)}.admin-pill.is-warning{color:var(--warn);background:color-mix(in srgb,var(--warn) 12%,transparent)}
/* Quiet table metadata: reserve capsules for codes and compact controls. */
.table-state{display:inline-flex;align-items:center;gap:.45rem;color:var(--muted);font-size:.8rem;font-weight:800;line-height:1.5;white-space:nowrap}.table-state::before{content:"";width:.42rem;height:.42rem;border-radius:50%;background:currentColor;flex:none}.table-state.is-success{color:var(--ok)}.table-state.is-warning{color:var(--warn)}.table-state.is-danger{color:var(--bad)}
.table-number{display:inline-block;min-width:2ch;color:var(--text);font-weight:800;font-variant-numeric:tabular-nums;text-align:end}.table-number.is-success{color:var(--ok)}.table-number.is-warning{color:var(--warn)}
.table-actions{display:flex;align-items:center;justify-content:center;gap:.75rem}.table-action-form{display:flex;margin:0;padding-inline-start:.75rem;border-inline-start:1px solid var(--line)}.table-action{display:inline-flex;min-height:44px;align-items:center;padding-inline:.25rem;border:0;background:transparent;color:var(--brand);font:inherit;font-size:.82rem;font-weight:800;line-height:1.4;text-decoration-line:underline;text-decoration-color:transparent;text-decoration-thickness:1px;text-underline-offset:.25rem;cursor:pointer;transition:color .18s cubic-bezier(.22,1,.36,1),text-decoration-color .18s cubic-bezier(.22,1,.36,1)}.table-action:hover{color:var(--brand2);text-decoration-color:currentColor}.table-action.is-danger{color:var(--bad)}.table-action.is-danger:hover{color:color-mix(in srgb,var(--bad) 78%,var(--text));text-decoration-color:currentColor}.table-action:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 55%,transparent);outline-offset:2px;border-radius:.25rem}.table-action.is-danger:focus-visible{outline-color:color-mix(in srgb,var(--bad) 55%,transparent)}
.table-action.is-warning{color:var(--warn)}.table-action.is-warning:hover{color:color-mix(in srgb,var(--warn) 78%,var(--text));text-decoration-color:currentColor}.table-action.is-warning:focus-visible{outline-color:color-mix(in srgb,var(--warn) 55%,transparent)}
.confirm-btn.is-warning{background:color-mix(in srgb,var(--warn) 82%,#000);color:#fff;border-color:color-mix(in srgb,var(--warn) 68%,#000)}.confirm-btn.is-warning:hover{background:color-mix(in srgb,var(--warn) 72%,#000)}.confirm-btn:disabled{opacity:.48;cursor:not-allowed;transform:none!important;box-shadow:none!important}
.hospital-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin:1.75rem 0 .75rem}.hospital-section-head h2{margin:0;color:var(--text);font-size:1.05rem;font-weight:900}.hospital-section-head p{max-width:70ch;margin:.35rem 0 0;color:var(--muted);font-size:.84rem;line-height:1.7}.hospital-admin-table{min-width:62rem}.hospital-data-counts{display:flex;align-items:center;gap:.75rem;color:var(--muted);font-size:.78rem;font-weight:700;white-space:nowrap}.hospital-data-counts span+span{padding-inline-start:.75rem;border-inline-start:1px solid var(--line)}.hospital-row-archived>td{background:color-mix(in srgb,var(--soft) 35%,transparent)}
.hospital-permanent-form{overflow:hidden}.hospital-permanent-form .modal-header{padding:1.25rem 1.35rem;border-color:var(--line)}.hospital-permanent-form .modal-header h2{margin:0;color:var(--text);font-size:1.15rem;font-weight:900}.hospital-modal-name{margin:.35rem 0 0;color:var(--muted);font-size:.85rem}.hospital-permanent-form .modal-body{padding:1.25rem 1.35rem}.hospital-permanent-form .modal-footer{gap:.65rem;padding:1rem 1.35rem;border-color:var(--line)}.hospital-delete-warning{display:flex;flex-direction:column;gap:.3rem;padding:.9rem 1rem;border:1px solid color-mix(in srgb,var(--bad) 55%,var(--line));border-radius:.875rem;background:color-mix(in srgb,var(--bad) 9%,var(--panel));color:var(--text);font-size:.84rem;line-height:1.7}.hospital-delete-warning strong{color:var(--bad)}.hospital-delete-summary{margin:1rem 0;color:var(--text);font-size:.86rem;font-weight:800;line-height:1.7}.hospital-delete-fields{display:grid;gap:1rem}.hospital-delete-fields small{display:block;margin-top:.4rem;color:var(--muted);font-size:.75rem}.hospital-delete-fields .ltr-num{text-align:start}
.admin-table .table-cell-center{text-align:center!important}.admin-table .table-cell-center .table-state{justify-content:center}.admin-table .table-cell-center .table-number{text-align:center}
/* Exact Home parity with the approved preview */
.hero:after{left:-70px;right:auto;inset-inline-end:auto}
.nav a:focus-visible,.side-utilities .icon-btn:focus-visible,.side-logout .logout:focus-visible,.mobile-nav-toggle:focus-visible,.primary:focus-visible,.admin-section-card:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 55%,transparent);outline-offset:2px}.nav a:active,.side-utilities .icon-btn:active,.side-logout .logout:active,.primary:active{transform:translateY(1px)}.user{min-width:0}.user>div:last-child{min-width:0}.user b,.user .saas-muted{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-section-card h3,.admin-section-card p{overflow-wrap:anywhere}@media(hover:none){.admin-section-card:hover{transform:none;box-shadow:none}}
.hero:after{content:"";position:absolute;width:260px;height:260px;border:50px solid color-mix(in srgb,var(--brand) 12%,transparent);border-radius:50%;inset-inline-end:-70px;top:-100px;pointer-events:none}.hero>div,.hero>.primary{position:relative;z-index:1}.hero h2{margin:0 0 .5rem}.hero p{margin:0;color:var(--muted)}

/* Approved application design */
.hero{box-shadow:none;background:transparent;border-color:var(--line)}
.hero:after{display:none}
@media(max-width:1100px){.hero>.primary{display:none}}
.hero>.primary{display:none}
.hero p{font-weight:900}
:root{--icu-occ:#000;--icu-alos:#b85f16;--icu-longstay:#2f8068}html[data-theme=dark]{--icu-occ:#f4f6fb;--icu-alos:#d78135;--icu-longstay:#60b99c}

/* Dropdown and select color system */
html[data-theme=dark]{color-scheme:dark}html[data-theme=light]{color-scheme:light}
.dropdown-menu,.dropdown-menu.glass,.settings-menu{background:var(--panel)!important;color:var(--text)!important;border:1px solid var(--line)!important;border-radius:.875rem!important;box-shadow:0 1rem 2.5rem color-mix(in srgb,var(--text) 14%,transparent)!important;padding:.45rem!important}
.dropdown-item,.dropdown-item-text{color:var(--text)!important;border-radius:.625rem;padding:.65rem .75rem!important;font-size:.875rem;line-height:1.5}
.dropdown-item:hover,.dropdown-item:focus{background:var(--soft)!important;color:var(--brand)!important}
.dropdown-item.active,.dropdown-item:active{background:color-mix(in srgb,var(--brand) 16%,var(--panel))!important;color:var(--brand)!important;font-weight:800}
.dropdown-divider{border-color:var(--line)!important;opacity:1;margin:.35rem 0!important}
select.form-control,.form-select{min-height:2.875rem;border:1px solid var(--line)!important;border-radius:.75rem!important;background-color:var(--panel)!important;color:var(--text)!important;font:700 .875rem/1.5 "Janna LT","Saudi",Tajawal,system-ui,sans-serif;padding-block:.6rem!important;cursor:pointer}
select.form-control:hover,.form-select:hover{border-color:color-mix(in srgb,var(--brand) 45%,var(--line))!important}
select.form-control:focus,.form-select:focus{border-color:var(--brand)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 20%,transparent)!important}
select.form-control:disabled,.form-select:disabled{background:var(--soft)!important;color:var(--muted)!important;cursor:not-allowed;opacity:.72}
select option,select optgroup{background:var(--panel)!important;color:var(--text)!important}
select option:checked{background:var(--brand)!important;color:var(--panel)!important}
.dropdown-menu,.dropdown-menu.glass,.settings-menu{box-shadow:0 .75rem 1.75rem color-mix(in srgb,var(--text) 9%,transparent)!important}
.adaa-select-menu{box-shadow:0 1rem 2.5rem color-mix(in srgb,var(--text) 5%,transparent)}
.adaa-select-trigger-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.adaa-select{position:relative;width:100%}.adaa-select-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;inset-inline-start:0;bottom:0}.adaa-select-trigger{width:100%;min-height:2.875rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem .875rem;border:1px solid var(--line);border-radius:.75rem;background:var(--panel);color:var(--text);font:700 .875rem/1.5 "Janna LT","Saudi",Tajawal,system-ui,sans-serif;text-align:start;cursor:pointer}.adaa-select-trigger:after{content:"";width:.55rem;height:.55rem;border-inline-end:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-.15rem);color:var(--muted);flex:none}.adaa-select-trigger:hover{border-color:color-mix(in srgb,var(--brand) 45%,var(--line))}.adaa-select-trigger:focus-visible,.adaa-select.is-open .adaa-select-trigger{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 20%,transparent)}.adaa-select-trigger:disabled{background:var(--soft);color:var(--muted);cursor:not-allowed;opacity:.72}.adaa-select-menu{position:fixed;z-index:1055;display:none;max-height:min(20rem,calc(100dvh - 1rem));overflow-y:auto;overscroll-behavior:contain;padding:.4rem;background:var(--panel);border:1px solid var(--line);border-radius:.875rem;box-shadow:0 1rem 2.5rem color-mix(in srgb,var(--text) 5%,transparent)}.adaa-select-menu.is-open{display:block}.adaa-select-option{width:100%;min-height:2.75rem;display:flex;align-items:center;padding:.6rem .75rem;border:0;border-radius:.625rem;background:transparent;color:var(--text);font:700 .875rem/1.45 "Janna LT","Saudi",Tajawal,system-ui,sans-serif;text-align:start;cursor:pointer}.adaa-select-option:hover,.adaa-select-option:focus{outline:0;background:var(--soft);color:var(--brand)}.adaa-select-option.is-selected{background:color-mix(in srgb,var(--brand) 16%,var(--panel));color:var(--brand);font-weight:900}.adaa-select-option:disabled{color:var(--muted);cursor:not-allowed;opacity:.55}.adaa-select-group{padding:.55rem .75rem .3rem;color:var(--muted);font-size:.75rem;font-weight:900}
.admin-section-card{box-shadow:none}
.admin-section-card:hover{box-shadow:0 10px 28px color-mix(in srgb,var(--text) 9%,transparent);transform:translateY(-2px)}
.mobile-table-hint{display:none;color:var(--muted);font-size:.75rem;margin:.4rem 0 .6rem}
@media(max-width:640px){.mobile-table-hint{display:block}.admin-table th:first-child,.admin-table td:first-child{position:sticky;inset-inline-start:0;z-index:1;background:var(--panel);box-shadow:-1px 0 var(--line)}.admin-table thead th:first-child{z-index:2;background:var(--soft)}.side-menu-content:focus{outline:none}}

/* Impeccable layout and typography pass */
:root{--font-caption:.75rem;--font-secondary:.875rem;--font-body:1rem;--font-subheading:1.125rem;--font-heading:1.5rem;--leading-tight:1.3;--leading-body:1.6;--space-section:2rem}
body{font-size:var(--font-body);line-height:var(--leading-body);font-kerning:normal;font-optical-sizing:auto}
.main{max-width:85rem;padding-inline:clamp(1.5rem,3vw,3rem)}
.top{min-height:6.5rem}.top h1{font-size:var(--font-heading);line-height:var(--leading-tight);font-weight:800;margin:0}.top p{font-size:var(--font-secondary);line-height:1.5;margin:.3rem 0 0}
.hero{min-height:10.5rem;padding:2rem}.hero h2{font-size:1.75rem;line-height:var(--leading-tight);font-weight:800;letter-spacing:0}.hero p{font-size:var(--font-body);line-height:1.55;max-width:65ch}
.section-head{margin:var(--space-section) 0 .875rem}.section-head h2,.divider-label{font-size:var(--font-subheading);line-height:1.4;font-weight:800}
.content-area>.divider-label{margin:var(--space-section) 0 .875rem!important}
.admin-sections{gap:1rem}.admin-section-card{padding:1.25rem}.admin-section-card h3{font-size:var(--font-body);line-height:1.45}.admin-section-card p{font-size:var(--font-secondary);line-height:1.65;max-width:65ch}
.nav a,.side-utilities .icon-btn,.side-logout .logout{font-size:var(--font-secondary);line-height:1.5}
.user b{font-size:var(--font-body);line-height:1.4}.user .saas-muted{font-size:var(--font-secondary);line-height:1.45}
.admin-table{font-size:var(--font-secondary);font-variant-numeric:tabular-nums}.admin-table th,.admin-table td{line-height:1.55}
.admin-pill{font-size:var(--font-caption);line-height:1.4}
@media(max-width:1100px) and (min-width:641px){.main{padding-inline:1.5rem}.hero{min-height:9.5rem}.admin-section-card{padding:1.125rem}}
@media(max-width:640px){.main{padding-inline:.875rem}.top{min-height:4.75rem}.top h1{font-size:1.25rem}.top p{font-size:.8125rem}.hero{padding:1.25rem}.hero h2{font-size:1.375rem}.hero p{font-size:.9375rem}.section-head h2,.divider-label{font-size:1.0625rem}.admin-section-card h3{font-size:.9375rem}.admin-section-card p{font-size:.875rem}}
.admin-page-header>div{display:flex;min-width:0;flex-direction:column}.admin-page-header h1{order:1;margin:0}.admin-page-header .breadcrumb-trail{order:2;margin:.45rem 0 0!important}
.admin-page-header>div>p{order:3;margin:.45rem 0 0;color:var(--muted)}
.breadcrumb-trail{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;color:var(--muted)!important;font-size:.8125rem;line-height:1.5}
.breadcrumb-trail a{color:var(--brand)!important;text-decoration:none;font-weight:800}
.breadcrumb-trail a:hover,.breadcrumb-trail a:focus{color:var(--brand2)!important;text-decoration:underline;text-underline-offset:.2em}
.breadcrumb-trail>span:not(:last-child){color:color-mix(in srgb,var(--muted) 72%,transparent)}
.breadcrumb-trail>span:last-child{color:var(--muted);font-weight:700}
.adaa-select-menu .adaa-select-group{margin:.2rem 0;padding:.55rem .75rem;border:1px solid color-mix(in srgb,var(--line) 80%,#000);border-radius:.625rem;background:color-mix(in srgb,var(--panel) 82%,#000);color:var(--text);cursor:default;pointer-events:none;user-select:none}
.guest-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem}.auth-card{width:100%;max-width:440px;padding:2.5rem 2rem;border:1px solid var(--line);border-radius:1.25rem;background:var(--panel);box-shadow:0 18px 50px color-mix(in srgb,var(--text) 10%,transparent)}.auth-logo{display:flex;justify-content:center;margin-bottom:1.75rem}.auth-logo #logoImg{width:auto;max-width:100%;height:96px;object-fit:contain}
#dashboardContent{transition:opacity .18s ease-out}#dashboardContent.is-loading{opacity:.45;pointer-events:none}
@media(max-width:480px){.auth-logo #logoImg{height:80px}}@media(prefers-reduced-motion:reduce){#dashboardContent{transition:none}}

/* الرفع المتقدم: خطوتان واضحتان ثم معاينة قرارية قبل أي كتابة. */
.import-workflow{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;margin-top:1.5rem}.import-step{padding:1.25rem;overflow:visible}.import-step-head{display:flex;align-items:center;gap:.85rem;margin-bottom:1.25rem}.import-step-number.ltr-num{display:grid;place-items:center;flex:0 0 2.25rem;inline-size:2.25rem;block-size:2.25rem;border-radius:.65rem;background:var(--soft);color:var(--brand);font-weight:900;line-height:1;text-align:center}.import-step-head h2{margin:0;color:var(--text);font-size:1.05rem;font-weight:900}.import-form .form-label{font-size:.85rem;font-weight:800}.import-preview{margin-top:2rem}.import-preview .section-head{align-items:flex-end}.import-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.import-summary-item{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:.875rem;background:var(--panel)}.import-summary-item strong{color:var(--text);font-size:1.2rem}.import-summary-item span{color:var(--muted);font-size:.78rem;font-weight:800}.import-summary-item.is-success strong{color:var(--ok)}.import-summary-item.is-warning strong{color:var(--warn)}.import-summary-item.is-danger strong{color:var(--bad)}.admin-pill.is-danger{color:var(--bad);background:color-mix(in srgb,var(--bad) 12%,transparent)}.admin-pill.is-muted{color:var(--muted);background:var(--soft)}.import-preview-table{min-width:66rem}.import-confirm-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding:1rem 1.25rem;border:1px solid var(--line);border-radius:1rem;background:var(--panel)}.import-confirm-bar p{flex:1;max-width:none;margin:0;color:var(--muted);font-size:.85rem;line-height:1.7;white-space:nowrap}.import-confirm-bar form{flex:none}
.import-download-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.import-upload-form{display:grid;grid-template-columns:minmax(0,3fr) minmax(14rem,1fr);grid-template-areas:"field action" "hint .";gap:.35rem 1rem;align-items:end}.import-upload-field{grid-area:field;min-width:0}.import-upload-field .form-label{display:block}.import-upload-submit{grid-area:action;width:100%}.import-upload-hint{grid-area:hint;margin:0}
.import-update-warning{display:flex;align-items:flex-start;gap:.6rem;margin:1rem 0;padding:.85rem 1rem;border:1px solid color-mix(in srgb,var(--warn) 55%,var(--line));border-radius:.875rem;background:color-mix(in srgb,var(--warn) 10%,var(--panel));color:var(--text);font-size:.82rem;line-height:1.7}.import-update-warning strong{flex:none;color:var(--warn)}
@media(max-width:900px){.import-workflow{grid-template-columns:1fr}.import-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.import-confirm-bar p{white-space:normal}}
@media(max-width:600px){.import-step{padding:1rem}.import-summary{grid-template-columns:1fr 1fr}.import-summary-item:first-child{grid-column:1/-1}.import-confirm-bar{align-items:stretch;flex-direction:column}.import-confirm-bar .btn-admin{width:100%}.import-download-actions{grid-template-columns:1fr}.import-upload-form{grid-template-columns:1fr;grid-template-areas:"field" "hint" "action";gap:.55rem}.import-upload-submit{margin-top:.2rem}}

/* مبدل الدور في بطاقة المستخدم */
.user-details{flex:1;min-width:0}.role-switcher{width:100%;margin-top:.15rem}.role-switcher .adaa-select-trigger{min-height:2rem;padding:.2rem .45rem;border-color:transparent;border-radius:.5rem;background:transparent;color:var(--muted);font-size:var(--font-secondary);font-weight:700}.role-switcher .adaa-select-trigger:hover{border-color:var(--line);background:var(--soft);color:var(--brand)}.role-switcher .adaa-select-trigger:focus-visible,.role-switcher .adaa-select.is-open .adaa-select-trigger{border-color:var(--brand);background:var(--soft)}.role-switcher.is-submitting{opacity:.6;pointer-events:none}.role-switcher-submit{width:100%;min-height:2.5rem;margin-top:.4rem;border:1px solid var(--line);border-radius:.65rem;background:var(--soft);color:var(--text);font-family:inherit;font-weight:800}.role-switcher-submit:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 55%,transparent);outline-offset:2px}

/* AJAX regions — تعتيم لطيف أثناء الجلب بلا قفزة تخطيط */
[data-ajax-region]{transition:opacity .18s cubic-bezier(.22,1,.36,1)}
[data-ajax-region].is-ajax-loading{opacity:.45;pointer-events:none}
@media(prefers-reduced-motion:reduce){[data-ajax-region]{transition:none}}

/* الترقيم — خصائص منطقية فيصح في الاتجاهين بلا قلب يدوي */
.adaa-pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:1rem}
.adaa-pagination-summary{margin:0;color:var(--muted);font-size:.82rem;font-weight:700}
.adaa-pagination-list{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap;margin:0;padding:0;list-style:none}
.adaa-page{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-width:2.5rem;min-height:2.5rem;padding:0 .7rem;border:1px solid var(--line);border-radius:.7rem;background:var(--panel);color:var(--text);font-family:inherit;font-size:.85rem;font-weight:800;text-decoration:none;transition:background-color .18s cubic-bezier(.22,1,.36,1),color .18s cubic-bezier(.22,1,.36,1),border-color .18s cubic-bezier(.22,1,.36,1)}
.adaa-page svg{width:1.05rem;height:1.05rem;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;flex:none}
a.adaa-page:hover{border-color:var(--brand);color:var(--brand);background:var(--soft)}
a.adaa-page:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 55%,transparent);outline-offset:2px}
.adaa-page.is-current{background:var(--brand);border-color:var(--brand);color:#fff;pointer-events:none}
html[data-theme=dark] .adaa-page.is-current{color:#08243f}
.adaa-page.is-disabled{opacity:.45;pointer-events:none}
.adaa-page.is-gap{border-color:transparent;background:transparent;color:var(--muted);min-width:1.5rem;padding:0}
@media(max-width:640px){
 .adaa-pagination{justify-content:center}
 .adaa-pagination-summary{width:100%;text-align:center}
 .adaa-page span{display:none}
 .adaa-page svg{display:block}
 .adaa-page{min-width:2.5rem;padding:0 .5rem}}
@media(prefers-reduced-motion:reduce){.adaa-page{transition:none}}

/* بطاقة تعريف المؤشر — خانة عنوان زرقاء وخانة قيمة بيضاء على شبكة 12 عمودا */
.spec-card{display:grid;grid-template-columns:repeat(24,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:1rem;overflow:hidden}
.spec-label,.spec-value{grid-column:span var(--span,3);display:flex;align-items:center;min-height:3.25rem;padding:.7rem .9rem}
.spec-label{background:var(--brand);color:#fff;font-size:.82rem;font-weight:800;line-height:1.45}
html[data-theme=dark] .spec-label{color:#08243f}
.spec-value{background:var(--panel)}
.spec-input{width:100%;border:1px solid transparent;border-radius:.55rem;background:transparent;color:var(--text);font-family:inherit;font-size:.85rem;line-height:1.6;padding:.4rem .5rem;resize:vertical;transition:background-color .18s cubic-bezier(.22,1,.36,1),border-color .18s cubic-bezier(.22,1,.36,1)}
textarea.spec-input{min-height:3rem}
.spec-input.is-title{font-size:1rem;font-weight:800}
.spec-input:hover:not([readonly]):not(:disabled){border-color:var(--line);background:var(--soft)}
.spec-input:focus{outline:0;border-color:var(--brand);background:var(--panel);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 20%,transparent)}
.spec-input[readonly],.spec-input:disabled{cursor:default;opacity:.9}
select.spec-input{appearance:none;cursor:pointer}
.spec-label.is-band.is-standard{background:var(--ok)}
.spec-label.is-band.is-distress{background:#e0a800}
.spec-label.is-band.is-failing{background:#e07a1f}
.spec-label.is-band.is-failed{background:var(--bad)}
.spec-label.is-band{color:#fff}
.spec-status-toggle{display:inline-flex;align-items:center;gap:.6rem;cursor:pointer;font-weight:800;font-size:.85rem}
.spec-status-toggle input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}
.spec-dot{width:1rem;height:1rem;border-radius:50%;background:var(--muted);flex:none;transition:background-color .18s cubic-bezier(.22,1,.36,1)}
.spec-status-toggle:has(input:checked) .spec-dot{background:var(--ok)}
.spec-status-toggle:has(input:disabled){cursor:default}
.spec-status-toggle:has(input:focus-visible) .spec-dot{outline:3px solid color-mix(in srgb,var(--brand) 55%,transparent);outline-offset:2px}
/* شريط الحفظ يلاصق أسفل النافذة ما دام هناك تعديل */
.spec-bar{position:sticky;bottom:1rem;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:1rem;padding:.8rem 1.1rem;background:var(--panel);border:1px solid var(--brand);border-radius:1rem;box-shadow:0 12px 32px color-mix(in srgb,var(--text) 18%,transparent)}
.spec-bar-note{color:var(--muted);font-size:.82rem;font-weight:800}
.spec-bar-actions{display:flex;gap:.5rem}
@media(max-width:900px){
 .spec-label,.spec-value{grid-column:1/-1;min-height:0}
 .spec-label{border-radius:0;padding:.5rem .9rem;font-size:.78rem}
 .spec-value{padding:.5rem .9rem}}
@media(prefers-reduced-motion:reduce){.spec-input,.spec-dot{transition:none}}

/* صفحة عريضة: تستثمر الفراغ الجانبي حين تتسع الشاشة */
.content-area.is-wide{width:100%}
@media(min-width:1500px){
 .main:has(.content-area.is-wide){max-width:min(96vw,1920px)}}
/* الحقول النصية تتمدد بارتفاع نصها بدل شريط تمرير يقتطع السطور */
textarea.spec-input{overflow:hidden;min-height:2.4rem}

/* ===== شاشة الإدخال: بطاقة لكل مجموعة قياس ===== */
/* البطاقات شبكة متساوية الارتفاع: النصوص تقص ولا تمط البطاقة، فيبقى
   موضع كل حقل وزر ثابتا عبر البطاقات كلها ويسهل المسح البصري. */
.entry-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(20rem,1fr));gap:1rem;align-items:stretch}
/* إيقاع رأسي واحد: الفراغ بين كتل البطاقة من gap لا من هوامش متفرقة. */
.entry-card{display:flex;flex-direction:column;gap:.75rem;min-height:25.5rem;padding:1.25rem;background:var(--panel);border:1px solid var(--line);border-radius:1rem;transition:border-color .18s ease}
/* بلا هذا تنكمش الكتل في البطاقات الممتلئة (المركبة) فيقص نصها. */
.entry-card>*{flex-shrink:0}
.entry-card:hover{border-color:var(--brand)}
/* العنوان سطران على الأكثر، وما زاد يختصر بنقاط ويظهر كاملا في التلميح. */
.entry-card-title{font-size:.95rem;font-weight:800;line-height:1.35;margin:0;min-height:2.6em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* overflow المخفي يقص تنوين العربية وهمزتها، فيوسع سطرها لتسع علاماتها. */
.entry-card-meta{font-size:.75rem;line-height:1.9;margin:-.5rem 0 -.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* النوافذ المنبثقة: بوتستراب لا يعرف ثيم أداء، فتلبس ألوانه رموز الثيم. */
.modal-content{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:1rem;box-shadow:0 1.5rem 3rem rgba(8,20,40,.28)}
.modal-header,.modal-footer{border-color:var(--line);padding:1rem 1.25rem}
.modal-header{background:var(--soft);border-start-start-radius:1rem;border-start-end-radius:1rem}
.modal-title{color:var(--brand);font-weight:700;font-size:1rem}
.modal-body{padding:1.25rem}
.modal-footer{gap:.5rem;background:var(--soft);border-end-start-radius:1rem;border-end-end-radius:1rem}
.modal-backdrop.show{opacity:.6}
.modal-header{display:flex;align-items:center;gap:.75rem}
.modal .btn-close{flex:0 0 auto;margin:0;margin-inline-start:auto;padding:.4rem;filter:none;opacity:.6}
html[data-theme=dark] .modal .btn-close{filter:invert(1) grayscale(1);opacity:.75}
.modal .btn-close:hover{opacity:1}
.modal .form-label{font-weight:600;font-size:.85rem;color:var(--muted);margin-bottom:.35rem}
.modal .form-control{background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:.6rem;padding:.6rem .75rem}
.modal .form-control::placeholder{color:var(--muted);opacity:.75}
.modal .form-control:focus{background:var(--panel);color:var(--text);border-color:var(--brand);box-shadow:0 0 0 .18rem color-mix(in srgb,var(--brand) 25%,transparent);outline:none}
.modal textarea.form-control{resize:vertical;min-height:5rem;line-height:1.8}
/* عنوان البطاقة سطر واحد: كسره الى سطرين يشوه ارتفاع الصف كله. */
.stat-label-tight{white-space:nowrap;font-size:.78rem}
/* ضم مؤشر: حقل بعرض معقول وزر بحجم الازرار، لا شريط ممتد وزر ضامر. */
.share-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem;padding:.85rem 1.1rem;margin:0}
.share-error{margin:0;padding:0 1.1rem .85rem;font-size:.85rem;color:var(--bad)}
.share-field{flex:1 1 20rem;min-width:0}
.share-field .form-control{width:100%}
.share-submit{flex:0 0 auto;min-width:7rem;justify-content:center;min-height:var(--control)}
/* أخطاء التحقق: كتلة واحدة أعلى المحتوى بلون التحذير. */
.form-errors{margin:0 0 1.25rem;padding:.9rem 1.1rem;border:1px solid var(--bad);border-radius:.75rem;background:color-mix(in srgb,var(--bad) 10%,transparent);color:var(--bad);font-size:.88rem;line-height:1.9}
.form-errors ul{margin:.35rem 0 0;padding-inline-start:1.25rem}
/* سطر التغيير: الحقل ثم ما كان ثم ما صار. */
.revision-line{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.15rem 0;font-size:.85rem}
.revision-field{font-weight:700;min-width:9rem}
.revision-before{color:var(--muted);text-decoration:line-through}
.revision-after{color:var(--ok);font-weight:700}
/* صفحة الخطأ: بطاقة واحدة في وسط الشاشة، بلا شريط جانبي ولا تنقل. */
.error-page{display:grid;place-items:center;min-height:100vh;padding:1.5rem;background:var(--bg)}
.error-card{width:min(34rem,100%);text-align:center;background:var(--panel);border:1px solid var(--line);border-radius:1.25rem;padding:2.5rem 2rem;box-shadow:0 1.5rem 3rem rgba(8,20,40,.25)}
.error-logo{width:11rem;max-width:60%;margin-bottom:1.5rem}
.error-code{font-size:3.5rem;font-weight:800;line-height:1;color:var(--brand)}
.error-title{font-size:1.25rem;font-weight:700;margin:.75rem 0 .5rem;color:var(--text)}
.error-text{color:var(--muted);line-height:1.9;margin:0 0 1.75rem}
.error-actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center}
.error-actions .btn-admin{min-width:8rem;justify-content:center}
/* الارقام والمدد: نص لاتيني داخل سياق عربي، فيعزل ليقرا باتجاهه. */
.ltr-num{direction:ltr;unicode-bidi:isolate;display:inline-block;white-space:nowrap}
/* النوبات: سطر واحد لكل نوبة، وتفصيلها يفتح عند الضغط. */
.episode{padding:0;overflow:hidden}
.episode>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.85rem;padding:.9rem 1.25rem}
.episode>summary::-webkit-details-marker{display:none}
.episode-caret{flex:0 0 auto;inline-size:1.15rem;block-size:1.15rem;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transform:rotate(-90deg);transition:transform .18s ease,stroke .18s ease}
.episode[open] .episode-caret{transform:rotate(0deg)}
.episode>summary:hover .episode-caret{stroke:var(--brand)}
.episode>summary:hover{background:var(--soft)}
.episode-dot{flex:0 0 auto;inline-size:.6rem;block-size:.6rem;border-radius:50%}
.episode-main{flex:1 1 auto;min-width:0;display:grid;gap:.15rem;justify-items:start}
.episode-range{font-weight:700;font-size:.92rem}
.episode-sub{font-size:.78rem}
.episode .admin-table{margin:0}.episode .admin-table th,.episode .admin-table td{text-align:center;vertical-align:middle}
.ack-record{display:grid;gap:.9rem;margin:0;font-size:.88rem}.ack-record dt{color:var(--muted);font-weight:600;font-size:.78rem;letter-spacing:.02em;margin-bottom:.2rem}.ack-record dd{margin:0;background:var(--soft);border:1px solid var(--line);border-radius:.6rem;padding:.6rem .75rem;line-height:1.8;white-space:pre-line}
.entry-card-codes{display:flex;flex-wrap:wrap;gap:.25rem;margin:.35rem 0 .1rem}.entry-card-codes .admin-pill{font-size:.7rem;padding:.1rem .4rem}
.entry-field{display:flex;flex-direction:column;gap:.45rem}
.entry-field-head{display:flex;flex-direction:column;gap:.3rem}
.entry-badge{align-self:flex-start;padding:.15rem .55rem;border-radius:.5rem;font-size:.7rem;font-weight:800;color:#fff}
.entry-badge.is-num{background:var(--brand)}
.entry-badge.is-den{background:var(--muted)}
.entry-field-desc{color:var(--muted);font-size:.78rem;line-height:1.45;min-height:2.9em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;cursor:help}
/* الشرطة الكسرية تفصل البسط عن المقام، وفراغها من gap البطاقة يكفيها. */
.entry-fraction-bar{height:2px;background:var(--line);margin:0}
/* الزر ملتصق بالقاع في كل بطاقة مهما قصر نصها. */
.entry-card>button[type=submit]{margin-top:auto;margin-bottom:0;flex:none}
/* mt-3 من بوتستراب يضاعف فراغ gap فوق الزر، فيلغى ويكفي دفعه للقاع. */
.entry-card>button[type=submit].mt-3{margin-top:auto!important}
/* حالة اكتمال التسليم */
.entry-done{padding:3.5rem 1.5rem;text-align:center}
.entry-done-mark{width:3.5rem;height:3.5rem;margin:0 auto 1rem;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--ok) 18%,transparent);color:var(--ok);font-size:1.75rem;font-weight:800}
.entry-done h2{font-size:1.15rem;font-weight:800;margin:0 0 .4rem}
@media(max-width:520px){.entry-card{min-height:0}}
/* المراقبة */
.monitor-late{color:var(--bad);font-weight:800}

/* ===== شريط مرشحات بتسمية سابقة للحقل ===== */
/* التسمية تسبق الحقل في السطر نفسه: مرشحان أو ثلاثة قصيرة لا تستحق عمودا
   لكل منها، وبقاؤها في سطر واحد يبقي الشريط منخفضا فوق المحتوى. */
.filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem}
.filter-inline{display:flex;align-items:center;gap:.6rem;margin:0;font-weight:800;font-size:.85rem;color:var(--muted)}
.filter-inline>span{flex:none}
.filter-inline .form-control{width:auto;min-width:16rem;max-width:100%}
/* حقل السنة رقم قصير: لا يستحق عرض القوائم. */
.filter-inline input[type=number].form-control{min-width:7rem;width:7rem}
@media(max-width:600px){
 .filter-inline{width:100%;justify-content:space-between}
 .filter-inline .form-control{flex:1;min-width:0}}

/* ===== القوائم المنسدلة: سطر واحد لا يتراص ===== */
/* الخيار الطويل يقص بنقاط بدل أن يلتف على سطرين فتتداخل السطور، وتترك
   مساحة لسهم القائمة كي لا يركبه النص. */
select.form-control,.form-select{white-space:nowrap;text-overflow:ellipsis;padding-inline-end:2.25rem!important}
/* لا تنسق عناصر option: تنسيقها (حشو أو التفاف) يجعل كروم يعيد رسم نافذة
   الخيارات بعرض ضيق فتتراص السطور. تترك للمتصفح بعرض الحقل نفسه. */
.filter-inline>span{unicode-bidi:plaintext}
/* حد أدنى لعرض أي قائمة داخل البطاقات: نافذة الخيارات في المتصفح تأخذ عرض
   الحقل، فالحقل الضيق يرص خياراته سطرين. ولا يتجاوز الحد عرض العمود. */
.admin-table-card select.form-control{min-width:min(100%,11rem)}
/* شريط المرشحات فليكس: النسبة المئوية فيه تحسب على الحقل نفسه فتنكمش،
   فيثبت له عرض أدنى صريح بعد القاعدة العامة. */
.admin-table-card .filter-inline select.form-control{min-width:16rem}
.admin-table-card .filter-inline input[type=number].form-control{min-width:7rem;width:7rem}

/* ===== القائمة المخصصة (.adaa-select): خيار في سطر واحد ونافذة بعرض نصها =====
   النافذة كانت تأخذ عرض الزر حرفيا، فالخيار الطويل يلتف سطرين ويتراص.
   صارت تتسع لنصها ولا تقل عن عرض الزر، والخيار سطر واحد يقص بنقاط. */
.adaa-select-menu{width:max-content;max-width:min(92vw,34rem)}
.adaa-select-option{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:2.1}
.adaa-select-trigger-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* شريط المرشحات: للقائمة عرض أدنى معقول حتى لا ينكمش زرها إلى نصه. */
.filter-inline .adaa-select{width:auto;min-width:12rem}
/* الحقل الاصلي المخفي لا يرث العرض الادنى لقوائم المرشحات، والا وسع البطاقة
   افقيا على الجوال رغم ان الزر المرئي مقصوص داخل المساحة المتاحة. */
.filter-inline .adaa-select-native{min-width:1px!important;max-width:1px!important}

/* المقام الثابت يعرض كقيمة لا كحقل إدخال */
.entry-constant{display:flex;align-items:center;justify-content:center;min-height:var(--control);padding:.4rem .75rem;border:1px dashed var(--line);border-radius:.75rem;background:var(--soft);color:var(--muted);font-weight:900;font-size:1rem}

/* النطاق: حقل الحد ثم مداه المشتق */
.spec-band{gap:.6rem}
.spec-band-input{max-width:9rem;flex:0 0 auto}
.spec-band-range{flex:1 1 auto;color:var(--muted);font-size:.82rem;font-weight:800;letter-spacing:.01em}
/* ===== الملف الشخصي ===== */
.profile-stack{width:100%;max-width:560px;margin:0 auto;display:flex;flex-direction:column;gap:1rem}
.profile-card{padding:1.5rem;background:var(--panel);border:1px solid var(--line);border-radius:1rem;color:var(--text);box-shadow:0 .75rem 2rem color-mix(in srgb,var(--text) 7%,transparent)}
.profile-card-head{padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid var(--line)}
.profile-card-head h2{margin:0;color:var(--text);font-size:1.05rem;font-weight:900}
.profile-card-head p{max-width:65ch;margin:.35rem 0 0;color:var(--muted);font-size:.85rem;line-height:1.7}
.profile-info-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3rem;padding:.65rem 0;border-bottom:1px solid var(--line)}
.profile-info-row:last-child{border-bottom:0}
.profile-info-row .profile-label{color:var(--muted);font-size:.875rem;font-weight:700}
.profile-info-row .profile-value{min-width:0;overflow-wrap:anywhere;color:var(--text);font-size:.9rem;font-weight:800;text-align:end}
.profile-card .form-label{display:block;margin-bottom:.45rem;color:var(--text);font-size:.85rem;font-weight:800}
.profile-card .form-control{min-height:2.875rem;border-radius:.75rem}
@media(max-width:575.98px){.profile-card{padding:1rem}.profile-info-row{align-items:flex-start;flex-direction:column;gap:.25rem}.profile-info-row .profile-value{text-align:start}}

/* ===== زخرفة الهيرو ===== */
.hero-motif-image{position:absolute;z-index:0;top:50%;left:50%;width:100%;height:100%;object-fit:cover;object-position:50% 50%;transform:translate(-50%,-50%);pointer-events:none;image-rendering:auto;filter:saturate(.92) contrast(.96);-webkit-mask-image:linear-gradient(90deg,transparent 0%,transparent 24%,#000 42%,#000 50%,rgba(0,0,0,.12) 70%,transparent 88%);mask-image:linear-gradient(90deg,transparent 0%,transparent 24%,#000 42%,#000 50%,rgba(0,0,0,.12) 70%,transparent 88%)}
html[dir=ltr] .hero-motif-image{-webkit-mask-image:linear-gradient(270deg,transparent 0%,transparent 24%,#000 42%,#000 50%,rgba(0,0,0,.12) 70%,transparent 88%);mask-image:linear-gradient(270deg,transparent 0%,transparent 24%,#000 42%,#000 50%,rgba(0,0,0,.12) 70%,transparent 88%)}
html[data-theme=dark] .hero-motif-image{opacity:.3;filter:saturate(.82) brightness(.88)}
@media(max-width:640px){.hero-motif-image{opacity:.28}html[data-theme=dark] .hero-motif-image{opacity:.18}}
@media(max-width:1100px) and (min-width:641px){.hero-motif-image{object-position:50% 52%;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 28%,#000 66%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 28%,#000 66%,transparent 100%)}}
@media(max-width:640px){.hero-motif-image{object-position:50% 50%;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 38%,#000 62%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 38%,#000 62%,transparent 100%)}}
@media(min-width:1400px){.hero-motif-image{object-fit:fill}}
.hero-motif-image,html[data-theme=dark] .hero-motif-image,html[dir=ltr] .hero-motif-image{opacity:1;filter:none;-webkit-mask-image:none;mask-image:none}
html[dir=rtl] .hero-motif-image{-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 58%,rgba(0,0,0,.18) 76%,transparent 92%);mask-image:linear-gradient(90deg,#000 0%,#000 58%,rgba(0,0,0,.18) 76%,transparent 92%)}
html[dir=ltr] .hero-motif-image{-webkit-mask-image:linear-gradient(270deg,#000 0%,#000 58%,rgba(0,0,0,.18) 76%,transparent 92%);mask-image:linear-gradient(270deg,#000 0%,#000 58%,rgba(0,0,0,.18) 76%,transparent 92%)}
html[data-theme=dark] .hero-motif-image{opacity:.5}
@media(max-width:520px){.hospital-permanent-form .modal-footer{align-items:stretch;flex-direction:column-reverse}.hospital-permanent-form .modal-footer .confirm-btn{width:100%}.hospital-delete-warning{padding:.8rem}.hospital-section-head{align-items:flex-start}.hospital-section-head h2{font-size:1rem}}
