/* ═══════════════════════════════════════════════════════
   QMS v8.0 — COMPLETE DESIGN REWRITE
   Professional Enterprise Quality Management System
   Al FadelaH Institute for Training
   ═══════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;500;600;700;800;900&display=swap');

/* ═══ DESIGN TOKENS ═══ */
:root {
  /* Primary — Deep Indigo from logo */
  --p-50:#EEF0FA; --p-100:#D4D8F0; --p-200:#A9B0E0;
  --p-300:#7E88D1; --p-400:#5360C1; --p-500:#33378D;
  --p-600:#252770; --p-700:#1A1B4B; --p-800:#14152E; --p-900:#0C0D1F;
  /* Accent — Crimson from logo */
  --a-50:#FEF0F0; --a-100:#FAE0E0; --a-200:#F4B8B8;
  --a-300:#EE9090; --a-400:#E56868; --a-500:#D43838;
  --a-600:#B02525; --a-700:#8C1E1E; --a-800:#6B1717;
  /* Status */
  --ok-50:#E8F8F0; --ok-100:#C1EDD5; --ok-500:#10B981; --ok-600:#059669; --ok-700:#065F46;
  --wn-50:#FFF8E8; --wn-100:#FEEBC8; --wn-500:#F59E0B; --wn-600:#D97706; --wn-700:#92400E;
  --er-50:#FEE8EC; --er-100:#FCC8D0; --er-500:#F43F5E; --er-600:#E11D48; --er-700:#9F1239;
  /* Neutrals */
  --n-0:#FFFFFF; --n-50:#F8FAFC; --n-100:#F1F5F9; --n-200:#E2E8F0;
  --n-300:#CBD5E1; --n-400:#94A3B8; --n-500:#64748B; --n-600:#475569;
  --n-700:#334155; --n-800:#1E293B; --n-900:#0F172A;

  /* Semantic */
  --brand:var(--p-500); --brand-d:var(--p-700); --brand-dd:var(--p-900);
  --accent:var(--a-600); --accent-l:var(--a-100);
  --bg:var(--n-100); --surface:var(--n-0); --subtle:var(--n-50);
  --hover:var(--n-100); --active:var(--n-200);
  --txt-1:var(--n-900); --txt-2:var(--n-600); --txt-3:var(--n-400); --txt-4:var(--n-300); --txt-inv:var(--n-0);
  --bd:var(--n-200); --bd-s:var(--n-300); --bd-focus:var(--p-500);
  --sh-xs:0 1px 2px rgba(15,23,42,.04); --sh-sm:0 1px 3px rgba(15,23,42,.06),0 1px 2px rgba(15,23,42,.03);
  --sh-md:0 4px 6px-1px rgba(15,23,42,.07),0 2px 4px-2px rgba(15,23,42,.04);
  --sh-lg:0 10px 15px-3px rgba(15,23,42,.08),0 4px 6px-4px rgba(15,23,42,.04);
  --sh-xl:0 20px 25px-5px rgba(15,23,42,.10),0 8px 10px-6px rgba(15,23,42,.05);
  --sh-2xl:0 25px 50px-12px rgba(15,23,42,.18); --sh-brand:0 4px 12px rgba(51,55,141,.18);
  --r-xs:4px; --r-sm:6px; --r-md:8px; --r-lg:12px; --r-xl:16px; --r-2xl:20px; --r-3xl:24px; --r-full:9999px;
  --safe-top:env(safe-area-inset-top,0px); --safe-bottom:env(safe-area-inset-bottom,0px);
  --hh:56px; --tbh:60px; --sw:260px;
}

/* ═══ RESET ═══ */
*{-webkit-tap-highlight-color:transparent;box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:'Cairo',-apple-system,system-ui,sans-serif!important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;background:var(--bg);color:var(--txt-1);font-weight:600;line-height:1.5;overscroll-behavior-y:none}
button,a,input,select,textarea{touch-action:manipulation;font-family:inherit}

/* ═══ LAYOUT ═══ */
.app-layout{display:grid;grid-template-columns:var(--sw) 1fr;min-height:100vh}

/* ═══ SIDEBAR ═══ */
.sidebar{background:linear-gradient(180deg,var(--p-900) 0%,var(--p-700) 100%);position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;z-index:80}
.sidebar-header{padding:calc(16px+var(--safe-top)) 18px 14px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.08)}
.sidebar-logo{flex:none;width:42px;height:42px;min-width:42px;border-radius:var(--r-md);overflow:hidden;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.sidebar-logo img{max-width:100%;max-height:100%;object-fit:contain}
.sidebar-title{flex:1;min-width:0}
.sidebar-title b{display:block;font-size:14px;font-weight:800;color:var(--txt-inv);letter-spacing:-.2px}
.sidebar-title span{display:block;font-size:10px;color:var(--p-300);margin-top:1px}
.sidebar-nav{flex:1;overflow-y:auto;padding:8px 0}
.sidebar-footer{padding:12px 18px calc(12px+var(--safe-bottom));border-top:1px solid rgba(255,255,255,.08);font-size:10px;color:var(--p-300)}
.sidebar-visit{padding:10px 12px;background:rgba(255,255,255,.05);border-radius:var(--r-md);margin-bottom:6px;font-size:10px;line-height:1.4}
.sidebar-version{text-align:center;font-size:9px;color:var(--p-400)}

/* Nav */
.np{display:flex;align-items:center;gap:10px;padding:9px 14px;margin:1px 10px;border-radius:var(--r-md);font-size:13px;font-weight:600;color:var(--p-300);transition:all .15s ease;min-height:40px;text-decoration:none;cursor:pointer;border:none;background:transparent;width:calc(100% - 20px)}
.np:hover{background:rgba(255,255,255,.06);color:var(--txt-inv)}
.np:active{transform:scale(.97)}
.np.on{background:var(--p-500);color:var(--txt-inv);box-shadow:var(--sh-brand);font-weight:700}
.nav-icon{font-size:16px;width:24px;min-width:24px;max-width:24px;text-align:center;flex:none;overflow:hidden;display:flex;align-items:center;justify-content:center}
.nav-label{flex:1;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.badge-new{background:var(--accent);color:var(--txt-inv);font-size:8px;font-weight:800;padding:1px 6px;border-radius:var(--r-full);flex:none}
.nav-section-title{font-size:9px;font-weight:800;color:var(--p-400);text-transform:uppercase;letter-spacing:.8px;padding:12px 18px 4px}

/* ═══ HEADER ═══ */
.tb{background:rgba(255,255,255,.90);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--bd);padding:calc(6px+var(--safe-top)) 16px 6px;min-height:calc(var(--hh)+var(--safe-top));display:flex;align-items:center;gap:8px;position:sticky;top:0;z-index:70}
.menu-btn{display:none;width:36px;height:36px;min-width:36px;border-radius:var(--r-md);background:transparent;align-items:center;justify-content:center;cursor:pointer;border:none;flex:none;overflow:hidden}
.tb-title{flex:1;font-size:17px;font-weight:800;letter-spacing:-.3px;color:var(--txt-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.global-search{flex:none;position:relative;width:220px}
.global-search input{width:100%;padding:8px 12px 8px 32px;border:1px solid var(--bd);border-radius:var(--r-md);font-size:12px;font-weight:600;background:var(--subtle);min-height:34px}
.hdr-actions{display:flex;align-items:center;gap:2px;flex:none}
.ib{width:36px;height:36px;min-width:36px;max-width:36px;border-radius:var(--r-md);background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;transition:all .12s ease;position:relative;color:var(--n-500);overflow:hidden;flex:none}
.ib:hover{background:var(--hover);color:var(--brand)}
.ib:active{transform:scale(.88)}
.tu{display:flex;align-items:center;gap:8px;padding:3px 10px 3px 3px;border-radius:var(--r-full);background:var(--hover);cursor:pointer;flex:none;overflow:hidden}
#uAv{width:28px;height:28px;min-width:28px;border-radius:var(--r-full);background:var(--brand);color:var(--txt-inv);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;flex:none;overflow:hidden}
.tu-info{display:flex;flex-direction:column;min-width:0}
.tu-info b{font-size:11px;font-weight:800;color:var(--txt-1);line-height:1.2}
.tu-info span{font-size:9px;font-weight:600;color:var(--txt-3)}

/* Sync */
.sync-ind{width:8px;height:8px;min-width:8px;border-radius:var(--r-full);background:var(--txt-3);flex:none}
.sync-ind.on{background:var(--ok-500);animation:pulse 2s infinite}
.sync-ind.off{background:var(--er-500)}
.sync-ind.sync{background:var(--wn-500);animation:spin .8s linear infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(16,185,129,.4)}70%{box-shadow:0 0 0 6px rgba(16,185,129,0)}100%{box-shadow:0 0 0 0 rgba(16,185,129,0)}}
@keyframes spin{to{transform:rotate(360deg)}}
#syncBadge{font-size:10px!important;font-weight:700;padding:2px 8px;border-radius:var(--r-full);background:var(--hover);color:var(--n-500);white-space:nowrap}
#syncBadge.on{color:var(--ok-700);background:var(--ok-50)}
#syncBadge.off{color:var(--er-700);background:var(--er-50)}

/* ═══ CONTENT ═══ */
.cw{flex:1;padding:16px;padding-bottom:calc(var(--tbh)+var(--safe-bottom)+16px);max-width:1400px;width:100%;margin:0 auto}

/* Page header */
.ph{background:var(--surface);border-radius:var(--r-lg);padding:16px 20px;margin-bottom:12px;box-shadow:var(--sh-sm);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border:1px solid var(--bd)}
.ph>div{flex:1;min-width:160px}
.ph .kk{display:inline-block;font-size:10px;font-weight:700;color:var(--brand);background:var(--p-50);padding:2px 10px;border-radius:var(--r-full);margin-bottom:4px}
.ph h2{font-size:20px;font-weight:900;color:var(--txt-1);letter-spacing:-.3px;line-height:1.2}
.ph .pd{font-size:12px;font-weight:600;color:var(--txt-2);margin-top:2px}
.ph .rx{display:flex;gap:6px;flex-wrap:wrap;flex:none}

/* Cards */
.cd,.card,.hr2{background:var(--surface);border-radius:var(--r-lg);border:1px solid var(--bd);box-shadow:var(--sh-xs);overflow:hidden;margin-bottom:12px;transition:all .15s ease}
.cd:hover{box-shadow:var(--sh-sm)}.cd:active{transform:scale(.99)}
.ct{font-size:11px;font-weight:800;color:var(--txt-2);padding:12px 16px 6px;text-transform:uppercase;letter-spacing:.4px}

/* Stat cards */
.tl2,.ti2{background:var(--surface);border-radius:var(--r-md);padding:14px;border:1px solid var(--bd);box-shadow:var(--sh-xs);transition:all .15s ease;position:relative;overflow:hidden}
.tl2:active{transform:scale(.97)}
.tl2 .kk,.ti2 .kk{font-size:10px;font-weight:700;color:var(--txt-3);text-transform:uppercase;letter-spacing:.4px}
.tl2 b,.ti2 b{font-size:26px;font-weight:900;color:var(--txt-1);letter-spacing:-.6px;display:block;margin-top:2px;line-height:1.1}

/* ═══ BUTTONS ═══ */
.bn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 16px;border-radius:var(--r-md);font-size:13px;font-weight:700;font-family:inherit;min-height:40px;transition:all .12s ease;border:none;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.bn:active{transform:scale(.95);opacity:.85}
.bn.ba{background:var(--accent);color:var(--txt-inv)}
.bn.be{background:var(--brand);color:var(--txt-inv)}
.bn.bo{background:var(--hover);color:var(--txt-1);border:1px solid var(--bd-s)}
.bn.bg{background:var(--ok-500);color:var(--txt-inv)}
.bn.bp{background:var(--p-400);color:var(--txt-inv)}
.bn.bs{font-size:11px;padding:6px 10px;min-height:32px}

/* ═══ FORMS ═══ */
input,select,textarea{font-family:inherit;font-size:14px;font-weight:600;color:var(--txt-1);background:var(--surface);border:2px solid var(--bd);border-radius:var(--r-md);padding:10px 12px;width:100%;transition:all .12s ease;min-height:42px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(51,55,141,.1)}
input::placeholder{color:var(--txt-3);font-weight:500}
label{font-size:12px;font-weight:700;color:var(--txt-2);margin-bottom:4px;display:block}
.fl{margin-bottom:12px}

/* ═══ TABLES ═══ */
table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--sh-xs);font-weight:600}
th{background:var(--subtle);font-size:10px;font-weight:800;color:var(--txt-2);padding:10px 12px;text-align:right;text-transform:uppercase;letter-spacing:.3px;border-bottom:2px solid var(--bd)}
td{padding:10px 12px;font-size:12px;font-weight:600;color:var(--txt-1);border-bottom:1px solid var(--bd)}
tr:last-child td{border-bottom:none}
tr:active{background:var(--subtle)}

/* ═══ MODALS ═══ */
.mb3{position:fixed;inset:0;background:rgba(15,23,42,.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:flex-end;justify-content:center;z-index:100;animation:fadeIn .2s ease}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.md{background:var(--surface);border-radius:var(--r-2xl) var(--r-2xl) 0 0;width:100%;max-width:540px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s cubic-bezier(.32,.72,0,1);padding-bottom:var(--safe-bottom);box-shadow:var(--sh-2xl)}
@keyframes slideUp{from{transform:translateY(100%)}to{transform:translateY(0)}}
.mh2{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 10px;border-bottom:1px solid var(--bd);position:relative;padding-top:22px}
.mh2::before{content:'';position:absolute;top:6px;left:50%;transform:translateX(-50%);width:32px;height:4px;background:var(--bd-s);border-radius:var(--r-full)}
.mh2 h3{font-size:16px;font-weight:800;color:var(--txt-1)}
.mby{padding:14px 18px;overflow-y:auto;flex:1;-webkit-overflow-scrolling:touch}
.mf2{display:flex;gap:10px;padding:10px 18px calc(12px+var(--safe-bottom));border-top:1px solid var(--bd)}
.mf2 .bn{flex:1}

/* ═══ TOAST ═══ */
#to{position:fixed;bottom:calc(var(--tbh)+var(--safe-bottom)+12px);left:50%;transform:translateX(-50%);z-index:300;display:flex;flex-direction:column;gap:6px;pointer-events:none;width:max-content;max-width:90vw}
#to>*{background:var(--n-900);color:var(--txt-inv);padding:10px 18px;border-radius:var(--r-full);font-size:12px;font-weight:700;box-shadow:var(--sh-lg);animation:toastIn .3s cubic-bezier(.34,1.56,.64,1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
@keyframes toastIn{from{opacity:0;transform:translateY(16px) scale(.85)}to{opacity:1;transform:translateY(0) scale(1)}}

/* ═══ TAB BAR ═══ */
.tabbar{display:none;position:fixed;bottom:0;left:0;right:0;background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-top:1px solid var(--bd);padding:4px 4px calc(4px+var(--safe-bottom));z-index:85;justify-content:space-around;align-items:center}
.tab-item{display:flex;flex-direction:column;align-items:center;gap:1px;padding:4px 8px;border-radius:var(--r-sm);color:var(--txt-3);font-size:9px;font-weight:700;text-decoration:none;transition:all .12s ease;min-width:44px;min-height:44px;justify-content:center;cursor:pointer}
.tab-item:active{transform:scale(.88)}
.tab-item.on{color:var(--brand)}
.tab-icon{font-size:20px;line-height:1;width:24px;min-width:24px;text-align:center;overflow:hidden}

/* ═══ PILLS ═══ */
.pl{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--r-full);font-size:10px;font-weight:700;background:var(--hover);color:var(--txt-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}
.pl.pg{background:var(--ok-50);color:var(--ok-700)}
.pl.pr{background:var(--er-50);color:var(--er-700)}
.pl.pe{background:var(--wn-50);color:var(--wn-700)}
.pl.pa2{background:var(--wn-50);color:var(--wn-700)}
.pl.pu{background:var(--p-50);color:var(--brand)}
.pl.pk{background:var(--hover);color:var(--txt-3)}

/* ═══ BADGES ═══ */
.bbn{position:absolute;top:-2px;left:-2px;background:var(--accent);color:var(--txt-inv);font-size:9px;font-weight:800;min-width:18px;height:18px;border-radius:var(--r-full);display:flex;align-items:center;justify-content:center;padding:0 5px;border:2px solid var(--n-0);z-index:10}
.bbn.urgent{animation:bounce .4s ease}
@keyframes bounce{0%,100%{transform:scale(1)}50%{transform:scale(1.2)}}

/* ═══ PROGRESS ═══ */
.pb2{height:6px;background:var(--bd);border-radius:var(--r-full);overflow:hidden}
.pb2 i{display:block;height:100%;background:var(--brand);border-radius:var(--r-full);transition:width .4s ease}

/* ═══ NOTIFICATIONS ═══ */
#nd{position:fixed;top:calc(var(--safe-top)+6px);left:6px;right:6px;max-height:calc(100vh-var(--safe-top)-12px);background:rgba(255,255,255,.96);backdrop-filter:saturate(180%) blur(24px);-webkit-backdrop-filter:saturate(180%) blur(24px);border-radius:var(--r-xl);box-shadow:var(--sh-2xl);border:1px solid var(--bd);z-index:90;overflow:hidden;display:flex;flex-direction:column;animation:notifIn .25s ease}
@keyframes notifIn{from{opacity:0;transform:translateY(-12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
.notif-item{display:flex;gap:10px;padding:10px 14px;border-bottom:1px solid var(--bd);min-height:48px;align-items:center;cursor:pointer}
.notif-item:active{background:var(--subtle)}
.notif-item:last-child{border-bottom:none}
.notif-icon{font-size:18px;width:34px;height:34px;min-width:34px;display:flex;align-items:center;justify-content:center;background:var(--hover);border-radius:var(--r-sm);flex:none;overflow:hidden}

/* ═══ COUNTDOWN ═══ */
.countdown-banner{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,var(--p-600) 0%,var(--p-500) 100%);color:var(--txt-inv);padding:14px 18px;border-radius:var(--r-lg);margin-bottom:12px;box-shadow:var(--sh-md);flex-wrap:wrap}
.cd-icon{font-size:28px;flex:none;width:40px;min-width:40px;text-align:center;overflow:hidden}
.cd-info{flex:1;min-width:0}
.cd-info .kk{font-size:9px;font-weight:700;opacity:.7}
.cd-info h3{font-size:14px;font-weight:800;margin-top:1px}
.cd-info p{font-size:11px;font-weight:600;opacity:.8;margin-top:1px}
.cd-days{text-align:center;flex:none;padding:4px 14px;background:rgba(255,255,255,.12);border-radius:var(--r-sm)}
.cd-days b{font-size:22px;font-weight:900;display:block;line-height:1}
.cd-days span{font-size:8px;font-weight:700;opacity:.7}

/* ═══ URGENT ═══ */
.urgent-actions{background:var(--surface);border-radius:var(--r-lg);border:1px solid var(--bd);padding:14px 16px;margin-bottom:12px}
.urgent-actions h4{font-size:13px;font-weight:800;color:var(--accent);margin-bottom:8px}
.ua-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--bd)}
.ua-item:last-child{border-bottom:none}
.ua-icon{flex:none;width:28px;min-width:28px;height:28px;font-size:16px;text-align:center;overflow:hidden;display:flex;align-items:center;justify-content:center}
.ua-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}

/* ═══ LOGIN ═══ */
#login{background:var(--p-900);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:calc(20px+var(--safe-top)) 20px calc(20px+var(--safe-bottom));position:relative;overflow:hidden}
#login::before{content:'';position:absolute;top:0;right:0;width:60%;height:60%;background:radial-gradient(circle,rgba(51,55,141,.2) 0%,transparent 70%);animation:float 8s ease-in-out infinite}
#login::after{content:'';position:absolute;bottom:0;left:0;width:50%;height:50%;background:radial-gradient(circle,rgba(176,37,37,.10) 0%,transparent 70%);animation:float 10s ease-in-out infinite reverse}
@keyframes float{0%,100%{transform:translate(0,0)}50%{transform:translate(16px,-16px)}}
.lc{position:relative;z-index:1;width:min(400px,100%);background:var(--n-0);border-radius:var(--r-2xl);box-shadow:var(--sh-2xl);padding:44px 24px 24px;animation:cardIn .5s cubic-bezier(.34,1.56,.64,1)}
@keyframes cardIn{from{opacity:0;transform:translateY(24px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}
.lb{position:absolute;top:-44px;right:50%;transform:translateX(50%);width:88px;height:88px;border-radius:var(--r-xl);background:var(--n-0);border:4px solid var(--n-0);display:flex;align-items:center;justify-content:center;padding:8px;box-shadow:var(--sh-lg);animation:logoBounce .7s cubic-bezier(.34,1.56,.64,1);overflow:hidden}
@keyframes logoBounce{0%{transform:translateX(50%) translateY(-12px) scale(0);opacity:0}60%{transform:translateX(50%) translateY(3px) scale(1.05);opacity:1}100%{transform:translateX(50%) translateY(0) scale(1);opacity:1}}
.lb img{max-width:100%;max-height:100%;object-fit:contain}
.lc h1{font-size:20px;font-weight:900;text-align:center;color:var(--txt-1);margin-top:4px}
.ls{font-size:12px;font-weight:600;color:var(--txt-2);text-align:center;margin:4px 0 18px;line-height:1.6}
.le{background:var(--er-50);border:1px solid var(--er-100);color:var(--er-700);border-radius:var(--r-md);padding:9px 12px;font-size:12px;font-weight:700;margin-bottom:10px;display:none}
.ip{position:relative;margin-bottom:8px}
.ip input{background:var(--subtle);border:2px solid transparent;border-radius:var(--r-md);padding:10px 38px;font-size:14px;font-weight:700;min-height:44px}
.ip input:focus{background:var(--n-0);border-color:var(--brand);box-shadow:0 0 0 3px rgba(51,55,141,.1)}
.ip b{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:15px;opacity:.35;width:20px;text-align:center;pointer-events:none;z-index:1}
.bn.ba{background:var(--brand);color:var(--txt-inv);font-size:14px;font-weight:800;padding:12px;border-radius:var(--r-md);min-height:46px;width:100%;box-shadow:var(--sh-brand);border:none;cursor:pointer;font-family:inherit}
.bn.ba:active{transform:scale(.97)}
.acc{display:flex;align-items:center;justify-content:space-between;width:100%;background:var(--subtle);border:none;border-radius:var(--r-md);padding:9px 12px;margin-bottom:5px;cursor:pointer;font-family:inherit;min-height:42px;transition:all .12s ease}
.acc:hover{background:var(--n-0);border:1px solid var(--bd)}
.acc:active{transform:scale(.97)}
.acc b{font-size:12px;color:var(--txt-1);font-weight:800}
.acc small{font-size:9px;color:var(--txt-2)}
.acc i{font-style:normal;font-size:9px;background:var(--brand);color:var(--txt-inv);padding:2px 8px;border-radius:var(--r-full);font-weight:800}
.at{font-size:10px;font-weight:800;color:var(--txt-2);margin:12px 0 6px;padding-top:8px;border-top:1px solid var(--bd);text-align:center}

/* Footer */
.ft2{padding:10px 16px;text-align:center;font-size:10px;font-weight:600;color:var(--txt-3);border-top:1px solid var(--bd)}

/* Grids */
.f2,.g2{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.f3,.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.f4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.qg{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}

/* Scrollbar */
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--bd-s);border-radius:var(--r-full)}
::-webkit-scrollbar-thumb:hover{background:var(--txt-3)}

/* Select */
select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2.5'%3e%3cpolyline points='6 9 12 15 18 9'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:left 12px center;background-size:16px;padding-left:36px}
input[type="checkbox"],input[type="radio"]{width:20px;height:20px;min-height:20px;accent-color:var(--brand);border-radius:4px}

/* ═══ RESPONSIVE ═══ */
@media(min-width:1400px){.app-layout{max-width:1600px;margin:0 auto}}
@media(min-width:768px) and (max-width:1024px){
  .app-layout{grid-template-columns:220px 1fr}.sidebar{width:220px}
  .np{padding:8px 10px;font-size:12px;min-height:38px}.nav-label{font-size:12px}
  .cw{padding:14px 14px calc(14px+var(--safe-bottom))}.ph h2{font-size:18px}
}
@media(max-width:767px){
  .app-layout{grid-template-columns:1fr}
  .sidebar{position:fixed;top:0;right:0;bottom:0;width:260px;transform:translateX(100%);transition:transform .3s cubic-bezier(.32,.72,0,1);z-index:80;border-radius:var(--r-2xl) 0 0 var(--r-2xl)}
  .sidebar.open{transform:translateX(0)}.menu-btn{display:flex}.main-area{width:100%}.tabbar{display:flex}
  .cw{padding:10px 10px calc(var(--tbh)+var(--safe-bottom)+16px)}
  .tu-info{display:none}.global-search{display:none!important}.hdr-actions{margin-inline-start:auto;gap:1px}
  .ib{width:34px;height:34px;min-width:34px;max-width:34px}.tb-title{font-size:15px}#syncBadge{display:none}
  .f2,.f3,.f4,.g2,.g3{grid-template-columns:1fr}.qg{grid-template-columns:repeat(2,1fr)}
  .tl2 b,.ti2 b{font-size:22px}.ph h2{font-size:17px}.ph{padding:14px 16px;border-radius:var(--r-md)}
  .md{max-width:100%;max-height:92vh}.mby{padding:12px 14px}.sidebar-footer,.ft2{display:none}
  .countdown-banner{flex-wrap:wrap}.cd-days{flex-basis:100%;order:3}
  table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}thead,tbody{display:table;width:max-content}
  .mf2{flex-wrap:wrap}.mf2 .bn{flex:1 1 calc(50% - 5px);min-width:100px}
}
@media(max-width:480px){
  .cw{padding:8px 8px calc(var(--tbh)+var(--safe-bottom)+12px)}.tb-title{font-size:14px}
  .ib{width:32px;height:32px;min-width:32px;max-width:32px}.bn{font-size:12px;padding:8px 12px;min-height:38px}
  .cd{border-radius:var(--r-md);margin-bottom:8px}.tl2{padding:12px}.tl2 b{font-size:20px}
  .ph{padding:12px 14px}.ph h2{font-size:16px}.tab-item{padding:3px 6px;font-size:8px}.tab-icon{font-size:18px}
}
@media(max-width:900px) and (orientation:landscape){.tb{min-height:calc(44px+var(--safe-top))}.cw{padding-top:6px}.md{max-height:95vh}}
@supports(-webkit-touch-callout:none){input,select,textarea{font-size:16px}}
.cw,.mby,.sidebar-nav{-webkit-overflow-scrolling:touch}
.bn:focus-visible,.np:focus-visible,.ib:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
@media print{.tabbar,#nd,#to,.menu-btn,.hdr-actions,.ft2,.sidebar{display:none!important}.app-layout{display:block}.cw{padding:0;max-width:100%}*{overflow:visible!important}body{font-size:10px}.cd,.hr2{break-inside:avoid}}

/* ═══ LOGIN EXTRAS (eng text, status indicator, footer) ═══ */
.eng{text-align:center;font-size:10px;letter-spacing:1.5px;color:var(--txt-3);margin-bottom:8px;font-weight:600}
.login-status{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:10px;font-size:11px;font-weight:600;color:var(--txt-2)}
.login-status .dot{width:8px;height:8px;border-radius:var(--r-full);background:var(--wn-500);animation:statusPulse 1.5s infinite;flex:none}
.login-status.connected .dot{background:var(--ok-500)}
.login-status.disconnected .dot{background:var(--er-500)}
.login-footer{text-align:center;margin-top:20px;padding-top:15px;border-top:1px solid var(--bd);font-size:10px;font-weight:600;color:var(--txt-3)}
@keyframes statusPulse{0%,100%{opacity:1}50%{opacity:.5}}
@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}
.le.show{display:block;animation:shake .4s}
