
/* ============================================================
   SterileTrack Pro — Enterprise UI v3.0
   طبقة الهوية المؤسسية لنظام إدارة التعقيم وتتبع الأدوات
   ============================================================ */
:root{
  --ink:#172033;
  --ink-soft:#64748B;
  --bg:#F3F6FA;
  --panel:#FFFFFF;
  --line:#DDE5EF;
  --brand:#2366F2;
  --brand-dark:#0B1830;
  --brand-mid:#102749;
  --brand-soft:#EAF1FF;
  --sterile:#0B8B7A;
  --sterile-soft:#E6F7F4;
  --dirty:#C2413A;
  --dirty-soft:#FFF0EF;
  --wash:#2878B9;
  --wash-soft:#EAF4FC;
  --ready:#078A68;
  --ready-soft:#E7F7F1;
  --amber:#C67A16;
  --amber-soft:#FFF5E5;
  --radius:15px;
  --shadow:0 10px 30px rgba(15,31,61,.07),0 1px 2px rgba(15,31,61,.05);
}
*{scrollbar-width:thin;scrollbar-color:#B8C4D4 transparent}
body{background:linear-gradient(135deg,#F7F9FC 0%,#F1F5F9 55%,#EDF3F9 100%);color:var(--ink);}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(circle at 85% 0%,rgba(35,102,242,.065),transparent 32%),radial-gradient(circle at 8% 95%,rgba(11,139,122,.055),transparent 28%)}

/* Login */
#loginScreen{background:#09152B;padding:28px;overflow:auto;align-items:center;}
#loginScreen:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 15%,rgba(35,102,242,.34),transparent 31%),radial-gradient(circle at 82% 82%,rgba(11,139,122,.22),transparent 34%),linear-gradient(135deg,#081328,#0B1B36 55%,#09243B);}
#loginScreen:after{content:"";position:absolute;inset:0;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:34px 34px;}
.login-shell{position:relative;z-index:2;width:min(1120px,100%);min-height:650px;background:rgba(255,255,255,.98);border:1px solid rgba(255,255,255,.18);border-radius:28px;box-shadow:0 40px 110px rgba(0,0,0,.36);display:grid;grid-template-columns:1.08fr .92fr;overflow:hidden;}
.login-showcase{padding:56px 54px;position:relative;color:#fff;background:linear-gradient(150deg,#0C2142,#102E57 58%,#0D554F);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.login-showcase:before{content:"";position:absolute;width:330px;height:330px;border-radius:50%;border:70px solid rgba(255,255,255,.045);left:-120px;bottom:-130px}
.login-showcase:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:rgba(35,102,242,.22);right:-90px;top:-80px;filter:blur(2px)}
.login-showcase>*{position:relative;z-index:2}
.login-product{display:flex;align-items:center;gap:13px}
.login-product .product-mark{width:48px;height:48px;border-radius:15px;background:linear-gradient(145deg,#3377FF,#15A896);box-shadow:0 12px 32px rgba(0,0,0,.18);display:grid;place-items:center;font-family:'Cairo',sans-serif;font-size:12px;font-weight:900;letter-spacing:.8px}
.login-product b{display:block;font-family:'Cairo',sans-serif;font-size:16px}.login-product span{display:block;color:rgba(255,255,255,.62);font-size:11.5px;margin-top:2px;letter-spacing:.5px}
.login-showcase h1{font-size:34px;line-height:1.45;margin:52px 0 13px;max-width:520px}.login-showcase .lead{font-size:15px;line-height:2;color:rgba(255,255,255,.74);max-width:540px;margin:0}
.login-features{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:38px}
.login-feature{background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.10);border-radius:14px;padding:13px 14px;backdrop-filter:blur(4px)}
.login-feature b{font-size:12.5px;display:block;margin-bottom:3px}.login-feature span{font-size:10.5px;color:rgba(255,255,255,.60);line-height:1.7}
.login-footnote{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.56);font-size:10.5px;margin-top:32px}.login-footnote .dot{width:7px;height:7px;border-radius:50%;background:#43D3AF;box-shadow:0 0 0 5px rgba(67,211,175,.12)}
.login-form-pane{padding:62px 64px;display:flex;align-items:center;background:#fff}
.login-card{width:100%;max-width:390px;padding:0;background:transparent;box-shadow:none;border-radius:0;margin:auto}
.login-card .mark{width:62px;height:62px;border-radius:18px;margin:0 0 24px;background:linear-gradient(145deg,#2366F2,#0B8B7A);box-shadow:0 14px 34px rgba(35,102,242,.2);font-size:13px}
.login-card h2{text-align:right;font-size:25px;margin:0 0 6px;color:#101B31}.login-card .sub{text-align:right;font-size:13px;margin:0 0 28px;color:#76849A;line-height:1.8}
.login-card label{color:#46556D;font-size:12px;margin-bottom:7px}.login-card input{height:47px;border-radius:11px;border:1px solid #D9E2EE;background:#FAFCFF;padding:10px 13px;font-size:13px;transition:.18s}
.login-card input:focus{background:#fff;border-color:#6998FA;box-shadow:0 0 0 4px rgba(35,102,242,.09);outline:none}
.password-wrap{position:relative}.password-wrap input{padding-left:64px}.pass-toggle{position:absolute;left:8px;top:7px;height:33px;padding:0 10px;border:0;border-radius:8px;background:#EDF3FF;color:#3567C7;font-size:11px;font-weight:800}
.login-card .btn.primary{height:47px;border-radius:11px;margin-top:10px;background:linear-gradient(135deg,#2366F2,#1957D8);border:0;box-shadow:0 12px 22px rgba(35,102,242,.18);font-size:14px}.login-card .btn.primary:hover{transform:translateY(-1px);box-shadow:0 16px 28px rgba(35,102,242,.24)}
.login-hint{border-top:1px solid #E7EDF5;margin-top:23px;padding-top:18px;font-size:10.5px;color:#8491A4;line-height:1.8}.login-err{border:1px solid #F3CAC7;border-radius:10px;padding:10px 12px}

/* Sidebar */
.app.ready{min-height:100vh;align-items:stretch}
.sidebar{width:276px;padding:22px 16px 18px;background:linear-gradient(180deg,#0A1830 0%,#0D2242 58%,#0C2B42 100%);box-shadow:12px 0 40px rgba(9,24,48,.08);z-index:20}
.brand{padding:5px 7px 21px;margin-bottom:13px;border-bottom:1px solid rgba(255,255,255,.09);gap:12px}.brand .mark{width:43px;height:43px;border-radius:13px;background:linear-gradient(145deg,#2E73FF,#0FA08E);box-shadow:0 10px 20px rgba(0,0,0,.17);font-size:12px}.brand .txt b{font-size:14px}.brand .txt span{font-size:10.5px;color:rgba(255,255,255,.52);margin-top:3px;display:block}
.brand-version{display:inline-flex;align-items:center;gap:5px;margin-top:7px;padding:3px 7px;border-radius:20px;background:rgba(255,255,255,.07);color:rgba(255,255,255,.55);font-size:9px;font-weight:700;letter-spacing:.4px}.brand-version:before{content:"";width:5px;height:5px;border-radius:50%;background:#43D3AF}
.nav-label{padding:10px 11px 5px;font-size:9.5px;letter-spacing:.55px;color:rgba(255,255,255,.36);font-weight:700}.nav-item{min-height:43px;padding:9px 11px;margin:2px 0;border-radius:11px;font-size:12.5px;color:rgba(255,255,255,.69);font-weight:600;transition:.17s;position:relative}.nav-item .ic{width:27px;height:27px;border-radius:8px;display:grid;place-items:center;background:rgba(255,255,255,.055);font-size:0}.nav-item .ic svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.nav-item:hover{background:rgba(255,255,255,.07);color:#fff;transform:translateX(-1px)}.nav-item.active{background:linear-gradient(90deg,rgba(43,107,246,.26),rgba(43,107,246,.10));border:1px solid rgba(94,151,255,.18);color:#fff}.nav-item.active:after{content:"";position:absolute;right:-16px;top:10px;bottom:10px;width:3px;border-radius:5px;background:#4F86FF;box-shadow:0 0 12px rgba(79,134,255,.6)}.nav-item.active .ic{background:#2767E7;color:#fff;box-shadow:0 6px 15px rgba(18,76,190,.24)}.nav-sep{margin:11px 7px;background:rgba(255,255,255,.08)}
.side-foot{padding-top:13px}.user-badge{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:9px 10px;margin-bottom:8px}.user-badge .av{width:34px;height:34px;background:linear-gradient(145deg,rgba(63,122,245,.8),rgba(22,154,139,.72));font-size:12px}.user-badge .ut b{font-size:11.8px}.user-badge .ut span{font-size:9.5px}.logout-btn{border-radius:10px;background:rgba(255,255,255,.055);font-size:11px}

/* Main */
.main{max-width:none;width:calc(100% - 276px);padding:28px 34px 54px}
.section{animation:fadeUp .22s ease}@keyframes fadeUp{from{opacity:.25;transform:translateY(4px)}to{opacity:1;transform:none}}
.topbar{background:rgba(255,255,255,.82);border:1px solid rgba(218,227,238,.9);border-radius:16px;padding:16px 18px;margin-bottom:18px;box-shadow:0 6px 18px rgba(15,31,61,.035);backdrop-filter:blur(12px)}.topbar h1{font-size:19px;color:#14213A}.topbar .sub{font-size:11.8px;color:#738198;margin-top:3px}.topbar>div:first-child:before{content:"STERILE TRACK  /  OPERATIONS";display:block;font-family:Arial,sans-serif;font-size:8px;letter-spacing:1.05px;color:#7290C6;font-weight:700;margin-bottom:4px}
.btn{border-radius:10px;border-color:#D9E3EF;padding:9px 14px;transition:.16s;box-shadow:0 1px 1px rgba(15,31,61,.02)}.btn:hover{transform:translateY(-1px);border-color:#BFCDE0}.btn.primary{background:linear-gradient(135deg,#276AF2,#1C59D8);border:0;box-shadow:0 8px 18px rgba(35,102,242,.15)}.btn.primary:hover{background:linear-gradient(135deg,#1F61E9,#174FCA)}

.ops-hero{position:relative;overflow:hidden;border-radius:20px;padding:27px 29px;margin-bottom:18px;background:linear-gradient(120deg,#102447 0%,#143766 58%,#0B655F 118%);color:#fff;box-shadow:0 18px 40px rgba(15,38,73,.16);display:flex;justify-content:space-between;gap:20px;align-items:center}.ops-hero:before{content:"";position:absolute;left:-80px;bottom:-125px;width:300px;height:300px;border:62px solid rgba(255,255,255,.045);border-radius:50%}.ops-hero:after{content:"";position:absolute;right:-35px;top:-65px;width:170px;height:170px;border-radius:50%;background:rgba(64,127,255,.22)}.ops-hero>*{position:relative;z-index:2}.ops-eyebrow{font-family:Arial,sans-serif;font-size:8.5px;letter-spacing:1.2px;color:#8FB7FF;font-weight:700}.ops-hero h2{font-size:23px;margin:5px 0 5px}.ops-hero p{margin:0;color:rgba(255,255,255,.67);font-size:11.8px;line-height:1.8}.hero-health{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.health-chip{min-width:108px;padding:10px 11px;border-radius:12px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.10);backdrop-filter:blur(6px)}.health-chip b{display:block;font-size:11px;margin-bottom:2px}.health-chip span{font-size:9.5px;color:rgba(255,255,255,.58)}.health-chip .live{display:inline-block;width:6px;height:6px;border-radius:50%;background:#44D2AD;margin-left:5px;box-shadow:0 0 0 4px rgba(68,210,173,.13)}

/* Workflow corridor */
.corridor{gap:8px;background:transparent;box-shadow:none;overflow:visible}.corridor .zone{border-radius:13px;padding:12px 14px;background:#fff!important;color:#334155;border:1px solid #DFE7F1;box-shadow:0 7px 18px rgba(15,31,61,.04);display:flex;align-items:center;gap:10px}.corridor .zone:after{display:none}.corridor .zone .n{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:#EEF3F9;color:#58718E;font-size:10px;opacity:1}.corridor .zone .t{font-size:11.5px;margin:0}.corridor .z1{border-top:3px solid #C45149}.corridor .z2{border-top:3px solid #2E7EBB}.corridor .z3{border-top:3px solid #536ACB}.corridor .z4{border-top:3px solid #0C9B76}.corridor .z5{border-top:3px solid #4B647C}

/* Cards / stats */
.card{border:1px solid #DDE6F0;border-radius:15px;box-shadow:var(--shadow);overflow:hidden}.card .card-h{padding:15px 17px;background:linear-gradient(180deg,#fff,#FCFDFE)}.card .card-h h3{font-size:13.5px;color:#24334B}.card .card-b{padding:18px}
.stats{gap:12px}.stat{border:1px solid #DFE7F0;border-top:0!important;border-radius:14px;padding:15px 16px 14px;box-shadow:0 8px 22px rgba(15,31,61,.05);position:relative;overflow:hidden;min-height:100px}.stat:before{content:"";position:absolute;right:0;top:0;bottom:0;width:4px;background:#A7B6C8}.stat:after{content:"";position:absolute;left:-18px;top:-28px;width:78px;height:78px;border-radius:50%;background:rgba(38,94,172,.035)}.stat b{font-size:25px;color:#17233A;margin-top:4px}.stat span{font-size:10.8px;color:#718096}.stat.dirty:before{background:#C45149}.stat.wash:before{background:#2D7DBB}.stat.sterile:before{background:#546DD0}.stat.ready:before{background:#0A9975}.stat.delivered:before{background:#53677C}.stat.rejected:before{background:#9A5147}.stat.used:before{background:#6D6E86}

/* Tables */
.table-wrap{border-radius:13px;border-color:#E0E7F0}.table-wrap table{background:#fff}th{background:#F7F9FC;color:#687890;font-size:10.8px;padding:10px 12px;border-color:#E7EDF4}td{padding:10px 12px;border-color:#EBF0F5;font-size:12px;color:#344258}tr:hover td{background:#F9FBFE}.mono{font-family:'IBM Plex Sans Arabic',monospace;color:#52657E}.badge{border-radius:7px;padding:3px 8px;font-size:10.4px}.badge.dirty{background:#FFF0EF;color:#B7433E}.badge.wash{background:#EDF5FC;color:#2B73A8}.badge.ready{background:#E9F8F2;color:#087F63}.badge.delivered{background:#EEF2F6;color:#526579}.badge.rejected{background:#F8ECEA;color:#8B443B}.badge.used{background:#F0F0F5;color:#5D6074}.badge.warn{background:#FFF5E5;color:#A8670E}

/* Forms */
label{color:#55657B;font-size:11.5px;margin-bottom:6px}input[type=text],input[type=password],input[type=number],input[type=date],input[type=time],input[type=datetime-local],select,textarea{border-radius:10px;border-color:#D8E2EE;background:#FBFCFE;min-height:40px;padding:8px 11px;font-size:12.5px;transition:.15s}textarea{min-height:86px}input:focus,select:focus,textarea:focus{outline:none;border-color:#78A0F2;background:#fff;box-shadow:0 0 0 4px rgba(35,102,242,.075)}input[readonly]{background:#F3F6FA!important;color:#718096}

/* Kanban */
.board{gap:11px}.col{border-color:#DDE6F0;border-radius:14px;box-shadow:0 8px 20px rgba(15,31,61,.045);background:#F9FBFD}.col-h{padding:11px 12px;font-size:11.5px}.col.c1 .col-h{background:linear-gradient(135deg,#B84A44,#933D38)}.col.c2 .col-h{background:linear-gradient(135deg,#2D7EBB,#24658F)}.col.c3 .col-h{background:linear-gradient(135deg,#546DCF,#4359AE)}.col.c4 .col-h{background:linear-gradient(135deg,#0E9A77,#08775E)}.col.c5 .col-h{background:linear-gradient(135deg,#526A82,#40566B)}.col.c6 .col-h{background:linear-gradient(135deg,#905248,#744139)}.col.c7 .col-h{background:linear-gradient(135deg,#66677B,#515266)}.col-b{background:#F8FAFC}.b-card{border-color:#DDE5EE;border-radius:11px;background:#fff;box-shadow:0 4px 10px rgba(15,31,61,.035)}.b-card .id{color:#718096}.b-card .name{font-size:12.5px;color:#26364C}.b-card .meta{font-size:10.5px}

/* Alerts */
#alertsBanner{gap:7px}.alert-line{border-radius:11px;font-size:11.8px;padding:10px 13px}.alert-line.danger{background:#FFF2F0;color:#A63D38;border-color:#F3D0CD}.alert-line.warn{background:#FFF7E9;color:#94600D;border-color:#F1DFC0}.alert-line.info{background:#EDF5FF;color:#356AA6;border-color:#D6E7FA}.alert-line.ok{background:#ECF8F4;color:#16705F;border-color:#D2EEE5}

/* Lists / badges */
.list-item{padding:10px 4px;border-color:#E8EDF3;font-size:12.4px}.job-tag,.perm-tag,.type-tag,.role-tag{border-radius:7px}.hint{color:#7B899B;font-size:10.7px}.empty-state{color:#8B97A7}.pill-tabs button{border-radius:9px;background:#F8FAFC}.pill-tabs button.active{background:#2767E7;border-color:#2767E7}.search-row input,.search-row select{max-width:260px}

/* Modals */
.overlay{background:rgba(8,18,34,.58);backdrop-filter:blur(4px)}.modal{border-radius:17px;border:1px solid rgba(255,255,255,.65);box-shadow:0 30px 80px rgba(7,19,38,.25)}.modal-h{background:#FBFCFE}.modal-h h3{font-size:14px}.modal-f{background:#F8FAFC}

/* Quality / device pages */
.quality-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:16px}.quality-kicker{font-size:9px;letter-spacing:.7px;color:#7286A4;font-weight:800}.device-card{border:1px solid #DFE7F0;border-radius:13px;padding:14px;background:#fff;margin-bottom:10px}.device-card .device-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.device-card h4{margin:0 0 3px;font-size:13px;color:#23334B}.device-card .meta{font-size:10.6px;color:#748398;line-height:1.8}.device-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.device-metric{background:#F7F9FC;border-radius:9px;padding:8px 9px}.device-metric span{display:block;font-size:9px;color:#8290A2}.device-metric b{display:block;font-size:10.5px;margin-top:2px;color:#3B4A60}.quality-status{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:8px;font-size:9.5px;font-weight:800}.quality-status.ok{background:#E8F8F2;color:#0B8064}.quality-status.warn{background:#FFF4E3;color:#A8660D}.quality-status.danger{background:#FFF0EE;color:#AC443D}.quality-status.pending{background:#EEF3F8;color:#66758A}

/* Footer-like small status */
.enterprise-note{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:14px;padding:9px 12px;border-radius:10px;border:1px solid #E0E8F1;background:rgba(255,255,255,.68);font-size:9.8px;color:#8290A4}.enterprise-note b{color:#5A6C83}

@media(max-width:1120px){.login-shell{grid-template-columns:1fr 1fr}.login-showcase{padding:44px 38px}.login-form-pane{padding:48px 42px}.login-showcase h1{font-size:29px}.main{padding:24px}.ops-hero{align-items:flex-start;flex-direction:column}.hero-health{justify-content:flex-start}.quality-grid{grid-template-columns:1fr}}
@media(max-width:900px){#loginScreen{padding:14px}.login-shell{grid-template-columns:1fr;max-width:560px}.login-showcase{display:none}.login-form-pane{padding:42px 34px}.sidebar{width:82px;padding:18px 10px}.brand{justify-content:center;padding:5px 0 18px}.brand .txt,.brand-version,.nav-label,.nav-item{font-size:0;justify-content:center;padding:8px}.nav-item .ic{width:34px;height:34px}.nav-item.active:after{right:-10px}.side-foot .ut,.logout-btn{font-size:0}.user-badge{justify-content:center;padding:7px}.logout-btn:after{content:"⇦";font-size:16px}.main{width:calc(100% - 82px);padding:18px}.corridor{grid-template-columns:1fr 1fr}.stats{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:640px){.main{padding:12px}.topbar{padding:13px 14px}.topbar h1{font-size:17px}.ops-hero{padding:20px}.ops-hero h2{font-size:19px}.hero-health{display:grid;grid-template-columns:1fr 1fr;width:100%}.health-chip{min-width:0}.corridor{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr!important}.board{grid-template-columns:1fr!important}.login-form-pane{padding:32px 23px}.quality-grid{grid-template-columns:1fr}.device-grid{grid-template-columns:1fr}}
@media print{.ops-hero,.enterprise-note{display:none!important}.main{width:100%;padding:0}.topbar{box-shadow:none;border:0;padding:0;background:#fff}}

@media(max-width:900px){.brand .txt,.user-badge .ut{display:none!important}.nav-item .nav-text{display:none!important}.sidebar .nav-label{display:none!important}.sidebar .nav-sep{margin:8px 4px}}


/* ===== v3.1.1 bilingual + mobile hardening ===== */
body{font-family:"Segoe UI",Tahoma,Arial,sans-serif}
.lang-toggle{border:1px solid rgba(128,151,183,.28);background:rgba(255,255,255,.09);color:inherit;border-radius:9px;min-width:48px;height:34px;padding:0 10px;font:700 11px/1 "Segoe UI",Tahoma,Arial,sans-serif;cursor:pointer;letter-spacing:.2px}
.login-card{position:relative}.login-lang{position:absolute;top:0;inset-inline-end:0;background:#F5F8FE;color:#235FCF;border-color:#D8E4F6}.side-lang{width:100%;margin-bottom:8px;color:#DDE8FA;background:rgba(255,255,255,.06)}
.mobile-menu-btn,.mobile-overlay{display:none}.mobile-menu-btn{position:fixed;z-index:70;top:12px;inset-inline-start:12px;width:42px;height:42px;border:1px solid #D9E3EF;border-radius:12px;background:#fff;color:#17345E;box-shadow:0 8px 24px rgba(15,31,61,.14);font-size:21px;align-items:center;justify-content:center;cursor:pointer}
[dir="ltr"] .nav-item.active:after{right:auto;left:-16px}[dir="ltr"] .nav-item:hover{transform:translateX(1px)}
@media(max-width:700px){
  .mobile-menu-btn{display:flex}.main{width:100%!important;padding:66px 12px 14px!important}.sidebar{position:fixed!important;top:0!important;bottom:0!important;inset-inline-start:0!important;width:min(86vw,320px)!important;height:100dvh!important;padding:18px 14px!important;z-index:80!important;overflow-y:auto!important;transition:transform .22s ease!important;box-shadow:0 18px 50px rgba(4,18,39,.28)!important}
  [dir="rtl"] .sidebar{transform:translateX(105%)!important}[dir="ltr"] .sidebar{transform:translateX(-105%)!important}.app.mobile-menu-open .sidebar{transform:translateX(0)!important}
  .mobile-overlay{display:block;position:fixed;inset:0;background:rgba(8,23,44,.46);z-index:75;opacity:0;pointer-events:none;transition:opacity .2s}.app.mobile-menu-open .mobile-overlay{opacity:1;pointer-events:auto}
  .sidebar .brand{justify-content:flex-start!important;padding:5px 4px 17px!important}.sidebar .brand .txt{display:flex!important;font-size:12px!important}.sidebar .brand-version{display:inline!important;font-size:8px!important}
  .sidebar .nav-label{display:block!important;font-size:9.5px!important;padding:10px 11px 5px!important}.sidebar .nav-item{font-size:12.5px!important;justify-content:flex-start!important;padding:9px 11px!important}.sidebar .nav-item .nav-text{display:inline!important;font-size:12.5px!important}.sidebar .nav-item .ic{width:29px!important;height:29px!important}
  .sidebar .user-badge{justify-content:flex-start!important}.sidebar .user-badge .ut{display:flex!important;font-size:11px!important}.sidebar .logout-btn{font-size:12px!important}.sidebar .logout-btn:after{content:none!important}.side-lang{font-size:11px!important}
  .topbar{padding:13px 14px!important}.topbar>div:first-child:before{display:none!important}.grid2,.grid3,.quality-grid,.device-grid{grid-template-columns:1fr!important}.corridor{grid-template-columns:1fr!important}.stats{grid-template-columns:1fr 1fr!important}.board{grid-template-columns:1fr!important}
  .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-wrap table{min-width:700px}.modal-card{width:calc(100vw - 24px)!important;max-height:88dvh;overflow:auto}.login-form-pane{padding:32px 22px!important}.login-card{padding-top:42px}.ops-hero{padding:18px!important}.hero-health{grid-template-columns:1fr 1fr!important}
}
@media(max-width:420px){.stats{grid-template-columns:1fr!important}.hero-health{grid-template-columns:1fr!important}.main{padding-inline:9px!important}.card-b{padding:14px!important}}
body.mobile-menu-lock{overflow:hidden}


/* ===== v3.1.1 login / language / sidebar visibility hotfix ===== */
.sidebar{overflow:hidden!important}
.sidebar-nav-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding-inline-end:3px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.20) transparent}
.sidebar-nav-scroll::-webkit-scrollbar{width:5px}.sidebar-nav-scroll::-webkit-scrollbar-track{background:transparent}.sidebar-nav-scroll::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:20px}
.side-foot{flex:0 0 auto;margin-top:8px!important;padding-top:11px!important;background:linear-gradient(180deg,rgba(12,43,66,0),rgba(12,43,66,.96) 18%,#0C2B42 100%);position:relative;z-index:3}
.logout-btn{min-height:38px!important;display:flex!important;align-items:center!important;justify-content:center!important;color:#F3F7FF!important;border-color:rgba(255,255,255,.16)!important;background:rgba(255,255,255,.075)!important}
.logout-btn:hover{background:rgba(255,255,255,.13)!important;color:#fff!important}
.lang-toggle{min-width:72px}.login-lang{top:0!important;z-index:5;min-width:86px!important}.side-lang{min-height:36px!important}
[dir="ltr"] .login-card h2,[dir="ltr"] .login-card .sub{text-align:left}
[dir="ltr"] .password-wrap input{padding-left:13px;padding-right:64px}[dir="ltr"] .pass-toggle{left:auto;right:8px}
@media(max-width:900px) and (min-width:701px){.sidebar-nav-scroll{padding-inline-end:0}.side-lang{min-width:0!important;padding-inline:3px!important;font-size:9px!important}.logout-btn{min-height:36px!important}}
@media(max-width:700px){.sidebar{overflow:hidden!important}.sidebar-nav-scroll{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important}.side-foot{padding-bottom:max(2px,env(safe-area-inset-bottom))!important}.login-lang{min-width:82px!important}.side-lang{font-size:11px!important}}
@media(max-height:720px) and (min-width:701px){.sidebar{padding-top:12px!important;padding-bottom:10px!important}.brand{padding-bottom:11px!important;margin-bottom:7px!important}.nav-label{padding-top:6px!important}.nav-item{min-height:37px!important;padding-top:6px!important;padding-bottom:6px!important}.side-foot{padding-top:7px!important}.user-badge{padding:7px 8px!important;margin-bottom:5px!important}.side-lang{height:31px!important;min-height:31px!important;margin-bottom:5px!important}.logout-btn{min-height:32px!important;margin-top:4px!important}}


/* ===== v3.2 image attachments ===== */
.image-picker{border:1px dashed #C7D5E6;border-radius:12px;padding:11px;background:#FAFCFF}.image-picker input[type=file]{width:100%;font-size:11px;padding:8px;background:#fff;border:1px solid #E0E8F1;border-radius:9px;margin-bottom:7px}.image-preview-grid,.record-images{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}.image-preview-item{width:76px;height:76px;position:relative;border-radius:10px;overflow:hidden;border:1px solid #DCE5F0;background:#fff}.preview-open,.record-image{border:0;padding:0;background:transparent;cursor:pointer}.preview-open{width:100%;height:100%}.preview-open img,.record-image img{width:100%;height:100%;object-fit:cover;display:block}.image-remove{position:absolute;top:4px;inset-inline-end:4px;width:22px;height:22px;border:0;border-radius:50%;background:rgba(142,35,35,.88);color:#fff;font-weight:900;cursor:pointer;line-height:20px}.record-image{width:54px;height:54px;border-radius:9px;overflow:hidden;border:1px solid #DCE5F0;box-shadow:0 2px 8px rgba(15,38,70,.08)}.record-image:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(15,38,70,.14)}.catalog-images .record-image{width:48px;height:48px}.batch-images{margin:8px 0}.batch-images .record-image{width:46px;height:46px}.log-images{min-width:68px;margin-top:0}.log-images .record-image{width:34px;height:34px;border-radius:6px}.image-modal{max-width:min(860px,94vw)!important}.image-modal-body{display:flex;align-items:center;justify-content:center;background:#0C1728;min-height:240px}.image-modal-body img{max-width:100%;max-height:72vh;object-fit:contain;border-radius:8px}.device-images{margin-top:10px}
@media(max-width:700px){.image-preview-item{width:70px;height:70px}.record-image{width:50px;height:50px}.image-modal-body img{max-height:68dvh}}
