@font-face{font-family:'Tajawal';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/tajawal-400-arabic.woff2) format('woff2');unicode-range:U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;}
@font-face{font-family:'Tajawal';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/tajawal-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Tajawal';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/tajawal-500-arabic.woff2) format('woff2');unicode-range:U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;}
@font-face{font-family:'Tajawal';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/tajawal-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Tajawal';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/tajawal-700-arabic.woff2) format('woff2');unicode-range:U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;}
@font-face{font-family:'Tajawal';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/tajawal-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Tajawal';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/tajawal-800-arabic.woff2) format('woff2');unicode-range:U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;}
@font-face{font-family:'Tajawal';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/tajawal-800-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

:root{
  --app-bg-image:url("bg.svg");            /* swap point for a custom MH background */
  --bg:#050f22; --bg2:#0a1d3f;
  --panel:rgba(13,37,80,.78); --panel2:rgba(18,50,105,.62); --line:rgba(130,185,255,.16);
  --text:#eef5ff; --muted:#9db4d6; --dim:#6f8bb3;
  --royal:#1859d6; --royal2:#1146b0; --sky:#38bdf8; --cyan:#22d3ee; --navy:#0b2a5e;
  --green:#34d399; --red:#fb7185; --amber:#fbbf24;
  --radius:18px; --radius-sm:12px;
  --shadow:0 10px 30px rgba(0,8,30,.45);
  --font:'Tajawal',system-ui,-apple-system,'Segoe UI',Roboto,'Noto Sans Arabic',Tahoma,sans-serif;
  --nav-h:68px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;min-height:100vh;font-family:var(--font);font-size:16px;line-height:1.5;color:var(--text);
  background-color:var(--bg);
  -webkit-tap-highlight-color:transparent;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-image:var(--app-bg-image),radial-gradient(1200px 600px at 85% -10%,rgba(56,189,248,.18),transparent 60%),radial-gradient(900px 700px at -10% 110%,rgba(24,89,214,.28),transparent 60%),linear-gradient(180deg,#071733 0%,#050f22 100%);
  background-size:cover,auto,auto,auto;background-position:center;background-repeat:no-repeat}
body.modal-open{overflow:hidden}
button,input,select,textarea{font:inherit;color:inherit}
a{color:inherit;text-decoration:none}
h1,h2,h3{margin:0;font-weight:700;line-height:1.25}
h1{font-size:1.45rem} h2{font-size:1.08rem} h3{font-size:.95rem;margin:.8rem 0 .3rem;color:var(--muted)}
[hidden]{display:none!important}
.muted{color:var(--muted)} .small{font-size:.86rem} .pad{padding:.4rem 0}
.ic{width:22px;height:22px;flex:none}
[dir=rtl] .ic.flip{transform:scaleX(-1)}
[dir=ltr] .ic.flip{transform:none}
.amt,.rate-val{display:inline-flex;align-items:baseline;gap:.3em;white-space:nowrap;font-weight:600;max-width:100%}
.amt bdi,.rate-val bdi{unicode-bidi:isolate}
.cu{font-size:.82em;font-weight:600;opacity:.9}
.amt.neg{color:var(--red)}
:focus-visible{outline:2px solid var(--sky);outline-offset:2px;border-radius:8px}
.code{font-family:ui-monospace,'SFMono-Regular',Consolas,monospace;font-size:.85em;color:var(--sky);letter-spacing:.02em}

/* ---------- auth ---------- */
/* welcome / sign-in: art + slim card; painted from the page itself, before any script runs */
#auth{min-height:100vh;min-height:100dvh}
.welcome{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(380px,460px) minmax(0,1fr);animation:wl-in .5s ease-out both}
@keyframes wl-in{from{opacity:0}to{opacity:1}}
@keyframes wl-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.wl-panel{display:flex;align-items:center;justify-content:center;padding:32px 28px;min-width:0}
.auth-card{width:100%;max-width:372px;position:relative;padding:30px 28px 24px;border-radius:22px;background:linear-gradient(170deg,rgba(18,52,112,.62),rgba(9,28,64,.72));border:1px solid rgba(150,200,255,.16);box-shadow:0 18px 50px rgba(0,8,30,.42),inset 0 1px 0 rgba(255,255,255,.05)}
.auth-card h1{margin-top:22px;font-size:1.32rem;font-weight:700;letter-spacing:.005em}
.auth-card .muted{color:#b9cdea}
.auth-card>p.muted{margin:.25rem 0 1.1rem;font-size:.93rem}
.auth-card .form{margin-top:4px}
.auth-card .field{margin-bottom:12px}
.auth-card .field .label{font-weight:500;color:#d9e8ff;font-size:.86rem}
.auth-card .field input{min-height:46px;border-radius:12px;background:#f7fbff;border:1px solid rgba(150,200,255,.5)}
.auth-card .btn.block{margin-top:10px;min-height:48px;border-radius:12px}
.auth-card .forgot{display:flex;margin:6px auto 0}
.auth-brand{display:flex;align-items:center;gap:12px}
.auth-brand .logo{width:48px;height:48px;flex:none;filter:drop-shadow(0 6px 14px rgba(24,89,214,.35))}
.auth-brand .muted{font-size:.8rem}
.auth-company{display:inline-block;margin-top:2px;font-size:.78rem;color:#9fd3ff;font-weight:600}
.auth-top{display:flex;flex-wrap:wrap-reverse;align-items:center;gap:10px 12px}
.auth-top .auth-brand{flex:1 1 auto;min-width:0}
.auth-lang{margin-inline-start:auto;flex:none}
.auth-lang>button{min-height:32px!important;padding:2px 11px!important;font-size:.8rem!important}
.auth-card .seg.small{padding:3px;border-radius:11px}
.brand-name{font-weight:800;letter-spacing:.01em;font-size:1.06rem}
.wl-wait{display:flex;gap:6px;justify-content:center;margin:34px 0 12px}
.wl-wait i{width:6px;height:6px;border-radius:50%;background:#38bdf8;opacity:.35;animation:wl-dot 1s ease-in-out infinite}
.wl-wait i:nth-child(2){animation-delay:.15s}.wl-wait i:nth-child(3){animation-delay:.3s}
@keyframes wl-dot{50%{opacity:1}}
.wl-art{position:relative;margin:18px;margin-inline-start:0;border-radius:28px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:40px 48px;
  background:radial-gradient(700px 420px at 50% 42%,rgba(56,189,248,.13),transparent 70%),linear-gradient(165deg,#0d2b61 0%,#0a2150 48%,#071733 100%);border:1px solid rgba(140,190,255,.12)}
.wl-art::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 60%,rgba(5,15,34,.35))}
.wl-art img{width:100%;max-width:600px;height:auto;max-height:calc(100vh - 230px);animation:wl-rise .7s .08s ease-out both}
.wl-cap{position:relative;z-index:1;text-align:center;max-width:520px;animation:wl-rise .7s .16s ease-out both}
.wl-cap b{display:block;font-size:1.32rem;font-weight:700;color:#f2f8ff;letter-spacing:.005em;line-height:1.45}
.wl-cap span{display:block;margin-top:6px;font-size:.93rem;color:#9db4d6}
.wl-foot{margin-top:16px;text-align:center;font-size:.74rem;color:#6f8bb3}
/* phone and narrow windows: a slim art band above the card */
@media (max-width:899px){
  .welcome{display:flex;flex-direction:column}
  .wl-art{order:-1;margin:0;border:0;border-radius:0;padding:26px 18px 40px;gap:0;flex:none;
    background:radial-gradient(320px 220px at 50% 48%,rgba(56,189,248,.16),transparent 70%),linear-gradient(180deg,#0d2b61 0%,rgba(10,33,80,.75) 55%,rgba(5,15,34,0) 100%)}
  .wl-art::after{display:none}
  .wl-art img{max-width:350px;max-height:none;width:86%}
  .wl-cap{display:none}
  .wl-panel{align-items:flex-start;padding:0 16px 24px;margin-top:-26px;position:relative;z-index:2}
  .auth-card{padding:24px 20px 18px;max-width:440px}
  .auth-card h1{margin-top:18px}
}
@media (max-width:899px) and (max-height:640px){.wl-art{display:none}.wl-panel{margin-top:0;padding-top:20px}}
.mh-resume #auth{visibility:hidden;animation:mh-show 0s 2.5s forwards} /* signed-in reload: no flash of the welcome screen; shown anyway if the app could not start */
@keyframes mh-show{to{visibility:visible}}
/* ---------- top bar ---------- */
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;padding-top:max(10px,env(safe-area-inset-top));background:rgba(5,15,34,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;min-width:0}
.brand .logo{width:38px;height:38px;flex:none}
.brand>span{display:flex;flex-direction:column;min-width:0}
.brand-sub{font-size:.72rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top-actions{display:flex;align-items:center;gap:8px;flex:none}
.rate-chip{display:flex;flex-direction:column;align-items:flex-start;gap:0;border:1px solid var(--line);background:var(--panel2);border-radius:12px;padding:5px 11px;cursor:pointer;min-height:44px;justify-content:center}
.rate-chip .muted{font-size:.68rem;line-height:1.1}
.rate-chip b{font-size:.86rem;line-height:1.2;white-space:nowrap}
.avatar{width:42px;height:42px;border-radius:50%;border:1px solid rgba(160,205,255,.35);background:linear-gradient(135deg,var(--sky),var(--royal));color:#fff;font-weight:800;cursor:pointer}

/* ---------- navigation ---------- */
#nav{position:fixed;z-index:30;inset-inline:0;bottom:0;display:flex;justify-content:space-around;align-items:stretch;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:rgba(6,18,42,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line)}
#nav a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--dim);font-size:.74rem;font-weight:500;position:relative;transition:color .2s}
#nav a .ic{width:24px;height:24px}
#nav a.on{color:#fff}
#nav a.on::before{content:"";position:absolute;top:0;width:36px;height:3px;border-radius:0 0 3px 3px;background:linear-gradient(90deg,var(--sky),var(--royal))}
#nav a.on .ic{color:var(--sky)}
.nav-brand,.nav-logout{display:none}

#main{max-width:1100px;margin:0 auto;padding:18px 16px calc(var(--nav-h) + 28px + env(safe-area-inset-bottom))}
#main.enter{animation:enter .28s ease-out}
@keyframes enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

@media (min-width:980px){
  #nav{top:0;bottom:0;inset-inline-end:auto;inset-inline-start:0;width:248px;height:auto;flex-direction:column;justify-content:flex-start;gap:4px;padding:18px 14px;border-top:0;border-inline-end:1px solid var(--line);background:rgba(6,18,42,.86)}
  .nav-brand{display:flex;align-items:center;gap:10px;padding:4px 8px 22px}
  .nav-brand .logo{width:40px;height:40px}
  #nav a{flex:none;flex-direction:row;justify-content:flex-start;gap:12px;padding:12px 14px;border-radius:12px;font-size:.98rem;color:var(--muted)}
  #nav a:hover{background:rgba(56,189,248,.08);color:#fff}
  #nav a.on{background:linear-gradient(90deg,rgba(24,89,214,.55),rgba(24,89,214,.18));color:#fff}
  [dir=rtl] #nav a.on{background:linear-gradient(270deg,rgba(24,89,214,.55),rgba(24,89,214,.18))}
  #nav a.on::before{display:none}
  .nav-logout{display:flex;margin-top:auto;align-items:center;gap:12px;padding:12px 14px;border:0;background:transparent;color:var(--muted);border-radius:12px;cursor:pointer}
  .nav-logout:hover{background:rgba(251,113,133,.1);color:#fff}
  .topbar,#main{margin-inline-start:248px}
  .topbar .brand{visibility:hidden}
  #main{padding:26px 32px 48px}
}

/* ---------- common blocks ---------- */
.page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 14px}
.sec-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:22px 0 10px}
.panel .sec-head{margin-top:0}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-top:16px;box-shadow:0 6px 20px rgba(0,8,30,.25)}
.panel>h2{margin-bottom:12px}
.grid-2{display:grid;grid-template-columns:minmax(0,1fr);gap:0 16px}
@media (min-width:860px){.grid-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.grid-2.tight{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 12px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 10px}
.hello{margin:0 0 8px}
.totals{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
@media (min-width:600px){.totals{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.total-card{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:2px;padding:18px;border-radius:var(--radius);border:1px solid rgba(160,205,255,.22);box-shadow:var(--shadow)}
.total-card.c1{background:linear-gradient(135deg,#1859d6 0%,#0b3a8c 60%,#0a2a66 100%)}
.total-card.c2{background:linear-gradient(135deg,#0e7fb8 0%,#0b4f93 55%,#0a2f6a 100%)}
.total-card::after{content:"MH";position:absolute;inset-inline-end:-6px;bottom:-26px;font-size:96px;font-weight:800;color:rgba(255,255,255,.07);letter-spacing:-4px;pointer-events:none}
.total-card .label{color:#d6e6ff;font-size:.9rem}
.total-card .big{font-size:1.75rem;font-weight:800}
.total-card .big .amt{font-weight:800}
.total-card .muted{color:#bcd3f5}
.alert-bar{display:flex;align-items:center;gap:10px;margin-top:14px;padding:12px 14px;border-radius:var(--radius-sm);background:rgba(251,191,36,.14);border:1px solid rgba(251,191,36,.45);color:#fde68a;font-weight:600}
.alert-bar .ic{color:var(--amber)}
.alert-bar.static{margin:0 0 14px}
.quick{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:16px}
.quick-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:76px;padding:10px 4px;border-radius:16px;border:1px solid var(--line);background:var(--panel);cursor:pointer;font-size:.82rem;font-weight:600;transition:transform .15s,background .2s,border-color .2s}
.quick-btn:hover{border-color:rgba(56,189,248,.5)}
.quick-btn:active{transform:scale(.97)}
.quick-btn .ic{width:26px;height:26px;padding:6px;box-sizing:content-box;border-radius:12px;background:rgba(56,189,248,.14);color:var(--sky)}
.t-receipt .ic{color:var(--green)!important;background:rgba(52,211,153,.14)!important}
.t-payment .ic{color:var(--red)!important;background:rgba(251,113,133,.14)!important}
.t-expense .ic{color:var(--amber)!important;background:rgba(251,191,36,.14)!important}
.t-transfer .ic{color:var(--sky)!important;background:rgba(56,189,248,.14)!important}
.t-jv .ic,.t-opening .ic{color:#93c5fd!important;background:rgba(147,197,253,.14)!important}
.fund-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (min-width:700px){.fund-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.fund-card{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:16px;background:linear-gradient(160deg,rgba(24,89,214,.30),rgba(13,37,80,.85));border:1px solid var(--line);min-width:0;transition:border-color .2s,transform .15s}
.fund-card:hover{border-color:rgba(56,189,248,.5)}
.fund-card:active{transform:scale(.98)}
.fund-top{display:flex;justify-content:space-between;align-items:center}
.fund-ic .ic{color:var(--sky)}
.fund-name{font-weight:600;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fund-bal{font-size:1.12rem}
.cur-badge{font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:999px;background:rgba(56,189,248,.16);color:var(--sky);font-style:normal;letter-spacing:.04em}
.cur-badge.sm{font-size:.62rem;padding:1px 6px}
.exp-total{font-size:1.3rem;margin-bottom:8px}
.bar-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 0;font-size:.9rem}
.bar-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bar{height:8px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden}
.bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--sky),var(--royal))}
.link-btn{display:inline-flex;align-items:center;gap:4px;border:0;background:none;color:var(--sky);font-weight:600;cursor:pointer;padding:8px 4px;font-size:.9rem;min-height:40px}
.link-btn .ic{width:18px;height:18px}

.list{display:flex;flex-direction:column;gap:2px}
.row{display:flex;align-items:center;gap:12px;width:100%;padding:12px 10px;border:0;background:transparent;border-radius:12px;text-align:start;cursor:pointer;min-height:60px;transition:background .15s}
.row:hover{background:rgba(56,189,248,.07)}
.row+.row{border-top:1px solid rgba(130,185,255,.08)}
.row-ic{width:40px;height:40px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:12px;background:rgba(56,189,248,.12);color:var(--sky)}
.row-ic .ic{width:20px;height:20px}
.avatar-sm{border-radius:50%;font-weight:800;background:linear-gradient(135deg,rgba(56,189,248,.35),rgba(24,89,214,.5));color:#fff}
.row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.row-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.row-sub{font-size:.82rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.row-end{flex:none;text-align:end}
.row-end.in .amt{color:var(--green)}
.row-end.out .amt{color:#fda4af}
.sided{display:inline-flex;align-items:baseline;gap:5px}
.sided small{font-size:.72rem;font-weight:700;padding:1px 7px;border-radius:99px}
.sided.dr small{background:rgba(52,211,153,.15);color:var(--green)}
.sided.cr small{background:rgba(251,113,133,.15);color:#fda4af}
.sided.zero{color:var(--muted)}
.tag{font-style:normal;font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:99px;background:rgba(157,180,214,.16);color:var(--muted);display:inline-flex;align-items:center;gap:3px;vertical-align:middle}
.tag.ok{background:rgba(52,211,153,.15);color:var(--green)}
.tag.vat{background:rgba(56,189,248,.16);color:var(--sky)}
.tag.low{background:rgba(251,191,36,.18);color:#fde68a}
.tag .ic{width:12px;height:12px}
.prices{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.8rem;color:var(--muted);margin-top:2px}
.prices .amt{color:var(--text);font-weight:600}
.empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:34px 10px;color:var(--muted);text-align:center}
.empty .ic{width:36px;height:36px;opacity:.6}
.empty p{margin:0}

.seg{display:flex;gap:4px;padding:4px;border-radius:14px;background:rgba(6,18,42,.6);border:1px solid var(--line);margin-bottom:14px}
.seg>a,.seg>button{flex:1;display:flex;align-items:center;justify-content:center;min-height:42px;padding:6px 10px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-weight:600;cursor:pointer;font-size:.92rem;white-space:nowrap;transition:background .2s,color .2s}
.seg .on{background:linear-gradient(135deg,var(--royal),var(--royal2));color:#fff;box-shadow:0 4px 12px rgba(24,89,214,.35)}
.seg.small{margin:0;display:inline-flex}
.seg.small>button{min-height:36px;padding:4px 14px;font-size:.86rem}
.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:8px;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;border:1px solid var(--line);background:var(--panel);border-radius:99px;padding:7px 14px;min-height:38px;cursor:pointer;font-size:.86rem;color:var(--muted);font-weight:600}
.chip.on{background:rgba(56,189,248,.18);border-color:rgba(56,189,248,.55);color:#fff}
.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:10px;flex-wrap:wrap}
.toolbar.end{justify-content:space-between}
.search{flex:1;min-width:180px;display:flex;align-items:center;gap:8px;padding:0 12px;border-radius:12px;background:#fff;color:#0b2a5e;min-height:48px}
.search .ic{color:#5a78a8;width:20px;height:20px}
.search input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:#0b2a5e;font-size:1rem;min-height:46px}
.sum-strip{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-bottom:14px}
.sum-strip>div{display:flex;flex-direction:column;gap:2px;padding:12px;border-radius:14px;background:var(--panel);border:1px solid var(--line)}
.sum-strip .label{font-size:.8rem;color:var(--muted)}
.check{display:inline-flex;align-items:center;gap:8px;cursor:pointer;color:var(--muted);min-height:40px}
.check input{width:20px;height:20px;accent-color:var(--sky)}
.check.big{color:#fff;font-weight:600;min-height:48px;margin-top:22px}
.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--sky);font-weight:600;padding:6px 0;margin-bottom:6px;min-height:40px}
.back-link .ic{width:20px;height:20px}

/* account file */
.acc-card{position:relative;overflow:hidden;padding:18px;border-radius:var(--radius);background:linear-gradient(140deg,#1859d6,#0b3a8c 70%);border:1px solid rgba(160,205,255,.25);box-shadow:var(--shadow)}
.acc-card::after{content:"MH";position:absolute;inset-inline-end:-8px;bottom:-30px;font-size:110px;font-weight:800;color:rgba(255,255,255,.06);pointer-events:none}
.acc-card .code{color:#bfe6ff}
.acc-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.86rem}
.acc-meta .muted{color:#cfe0ff}
.acc-card h1{margin:6px 0 10px;font-size:1.5rem}
.acc-bal{display:flex;flex-direction:column}
.acc-bal .label{font-size:.85rem;color:#cfe0ff}
.acc-bal .big{font-size:1.7rem;font-weight:800}
.phone-link{display:inline-flex;align-items:center;gap:6px;margin-top:10px;color:#e0f2fe;font-weight:600;min-height:40px}
.phone-link .ic{width:18px;height:18px}
.acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.act{display:inline-flex;align-items:center;gap:6px;min-height:46px;padding:8px 14px;border-radius:12px;border:1px solid var(--line);background:var(--panel);cursor:pointer;font-weight:600;font-size:.92rem}
.act .ic{width:20px;height:20px;color:var(--sky)}
.act.danger .ic{color:var(--red)}
.act:hover{border-color:rgba(56,189,248,.5)}
.stmt{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--panel)}
.stmt-head{display:none}
.stmt-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 10px;padding:12px 14px;border:0;background:transparent;text-align:start;cursor:pointer;width:100%}
.stmt-row+.stmt-row{border-top:1px solid rgba(130,185,255,.1)}
.stmt-row:hover{background:rgba(56,189,248,.06)}
.s-desc{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;font-size:.9rem;min-width:0}
.s-text{flex-basis:100%;color:var(--muted);font-size:.84rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.s-num{display:flex;flex-direction:column;font-size:.9rem;min-width:0}
.s-num i{font-style:normal;font-size:.72rem;color:var(--dim)}
.s-num .amt{overflow:hidden}
.s-bal .amt{color:#fff}
@media (min-width:860px){
  .stmt-head{display:grid;grid-template-columns:minmax(0,2.2fr) repeat(3,minmax(0,1fr));gap:10px;padding:10px 14px;font-size:.8rem;color:var(--muted);background:rgba(6,18,42,.5)}
  .stmt-row{grid-template-columns:minmax(0,2.2fr) repeat(3,minmax(0,1fr));align-items:center}
  .s-desc{grid-column:auto}
  .s-num i{display:none}
}

/* chart + trial balance */
.chart{display:flex;flex-direction:column;gap:12px}
.chart-group{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.chart-g{display:flex;align-items:center;gap:10px;padding:12px 14px;background:linear-gradient(90deg,rgba(24,89,214,.45),rgba(24,89,214,.12))}
[dir=rtl] .chart-g{background:linear-gradient(270deg,rgba(24,89,214,.45),rgba(24,89,214,.12))}
.chart-g b{flex:1}
.chart-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 14px;min-height:50px;border-top:1px solid rgba(130,185,255,.08)}
.chart-row:hover{background:rgba(56,189,248,.06)}
.c-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tb-status{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;font-weight:700;margin-bottom:6px}
.tb-status.ok{background:rgba(52,211,153,.12);border:1px solid rgba(52,211,153,.4);color:#a7f3d0}
.tb-status.bad{background:rgba(251,113,133,.12);border:1px solid rgba(251,113,133,.5);color:#fecdd3}
.tb{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--panel);margin-top:8px}
.tb-row{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr);gap:8px;padding:10px 14px;font-size:.88rem;align-items:center;border-top:1px solid rgba(130,185,255,.08)}
.tb-row>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tb-row>span:not(:first-child){text-align:end}
.tb-row.head{border-top:0;background:rgba(6,18,42,.5);color:var(--muted);font-size:.8rem}
.tb-row.total{font-weight:800;background:rgba(24,89,214,.25)}

/* settings */
.set-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:52px;padding:4px 0}
.set-form{display:flex;align-items:flex-end;gap:10px;padding:10px 0;border-top:1px solid rgba(130,185,255,.1)}
.set-form label{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}
.set-form .btn{flex:none}
.btn-row{display:flex;flex-wrap:wrap;gap:10px}
.warn-text{color:#fde68a}
.danger-zone{border-color:rgba(251,113,133,.35)}
.about-brand{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.about-brand .logo{width:48px;height:48px}
.changelog{margin:12px 0;padding:12px 14px;border-radius:14px;background:rgba(6,18,42,.45);border:1px solid var(--line)}
.changelog ul{margin:6px 0 0;padding-inline-start:20px;color:var(--muted);font-size:.9rem}
.audit-row .row-ic{background:rgba(147,197,253,.12)}
.a-delete,.a-reset{color:var(--red)!important;background:rgba(251,113,133,.14)!important}
.a-override{color:var(--amber)!important;background:rgba(251,191,36,.14)!important}
pre{white-space:pre-wrap;word-break:break-word;background:rgba(0,10,30,.45);border:1px solid var(--line);border-radius:12px;padding:10px;font-size:.78rem;max-height:240px;overflow:auto;text-align:left}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 18px;border-radius:12px;border:1px solid var(--line);background:var(--panel2);color:#fff;font-weight:700;cursor:pointer;transition:transform .12s,filter .2s,background .2s;white-space:nowrap}
.btn .ic{width:20px;height:20px}
.btn:active{transform:scale(.98)}
.btn:disabled{opacity:.55;cursor:default}
.btn.primary{background:linear-gradient(135deg,#2a7cf0,var(--royal) 55%,var(--royal2));border-color:rgba(160,205,255,.35);box-shadow:0 6px 16px rgba(24,89,214,.35)}
.btn.primary:hover{filter:brightness(1.08)}
.btn.ghost{background:transparent}
.btn.danger{background:linear-gradient(135deg,#e11d48,#be123c);border-color:rgba(255,180,190,.35)}
.btn.danger-ghost{background:transparent;border-color:rgba(251,113,133,.45);color:#fecdd3}
.btn.block{width:100%;margin-top:12px}
.icon-btn{width:44px;height:44px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;border:1px solid transparent;background:transparent;cursor:pointer;color:inherit}
.icon-btn:hover{background:rgba(255,255,255,.08)}
.icon-btn:disabled{opacity:.35;cursor:default}

/* ---------- sheets & forms (royal-blue panels, white fields) ---------- */
#modal-root{position:relative;z-index:60}
.backdrop{position:fixed;inset:0;background:rgba(2,8,22,.62);display:flex;align-items:flex-end;justify-content:center;animation:fade .2s ease-out}
.backdrop.instant{animation:none}
.backdrop.instant .sheet{animation:none}
@keyframes fade{from{opacity:0}to{opacity:1}}
.sheet{width:100%;max-width:560px;max-height:92vh;max-height:92dvh;overflow-y:auto;overscroll-behavior:contain;background:linear-gradient(170deg,#1a5ad0 0%,#1349b4 45%,#0e3b94 100%);border:1px solid rgba(170,210,255,.3);border-bottom:0;border-radius:22px 22px 0 0;padding:16px 18px calc(20px + env(safe-area-inset-bottom));box-shadow:0 -10px 40px rgba(0,8,30,.5);animation:up .26s cubic-bezier(.2,.8,.2,1);outline:none}
.sheet.wide{max-width:720px}
@keyframes up{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
@media (min-width:700px){.backdrop{align-items:center;padding:24px}.sheet{border-radius:22px;border-bottom:1px solid rgba(170,210,255,.3);max-height:88vh}}
.sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}
.sheet-head h2{font-size:1.2rem}
.sheet-head .muted{color:#d3e3ff}
.sheet .muted{color:#d3e3ff}
.form{display:flex;flex-direction:column}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;min-width:0}
.field .label{font-size:.88rem;font-weight:600;color:#eaf3ff}
.field .hint{font-size:.82rem;color:#d6e6ff;min-height:0}
.field input,.field select,.set-form input,.jv-line select,.jv-line input{width:100%;min-height:48px;padding:10px 12px;border-radius:11px;border:1.5px solid transparent;background:#fff;color:#0a2350;font-size:1rem;outline:none;transition:border-color .15s,box-shadow .15s;appearance:auto}
.field input:focus,.field select:focus,.set-form input:focus,.jv-line select:focus,.jv-line input:focus{border-color:var(--sky);box-shadow:0 0 0 3px rgba(56,189,248,.35)}
.field input:disabled,.field select:disabled,.jv-line select:disabled{background:#dbe7f7;color:#4a6489}
.set-form input{background:#fff}
.set-form span{font-size:.9rem;font-weight:600}
.num-input{text-align:left;font-variant-numeric:tabular-nums}
.cur-hint{color:#bfe6ff;font-weight:700}
.preview .amt,.conv .amt{color:#fff}
.form-error{display:none;margin:4px 0 8px;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.95);color:#be123c;font-weight:700;font-size:.92rem}
.form-error.show{display:block}
.form-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.form-actions .btn.primary{flex:1;min-width:140px}
.sheet .btn.ghost{border-color:rgba(255,255,255,.35)}
.sheet .btn.danger-ghost{border-color:rgba(255,190,200,.6);color:#fff}
.sheet .warn-text{background:rgba(251,191,36,.18);border:1px solid rgba(251,191,36,.5);border-radius:10px;padding:8px 10px;color:#fff3c4;margin:0 0 10px}
.confirm-msg{font-size:1.02rem;line-height:1.7;margin:4px 0 14px}
.chooser{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.chooser .quick-btn{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);min-height:88px;font-size:.92rem}
.sheet .quick-btn .ic{background:rgba(255,255,255,.92)!important}
.jv-lines{display:flex;flex-direction:column;gap:10px;margin-bottom:4px}
.jv-line{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:14px;background:rgba(0,20,60,.28);border:1px solid rgba(255,255,255,.14)}
.jv-fields{display:grid;grid-template-columns:minmax(78px,.9fr) minmax(0,1.6fr) minmax(72px,.8fr) 44px;gap:8px;align-items:center}
@media (min-width:700px){.jv-line{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.4fr);align-items:center}}
.jv-totals{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 12px;margin:12px 0 4px;padding:12px;border-radius:14px;background:rgba(0,20,60,.3)}
.jv-totals .label{display:block;font-size:.8rem;color:#d3e3ff}
.jv-status{grid-column:1/-1;font-weight:800;padding:8px 10px;border-radius:10px}
.jv-status.ok{background:rgba(52,211,153,.2);color:#d1fae5}
.jv-status.bad{background:rgba(251,113,133,.2);color:#ffe4e6}
.vl{border-radius:14px;overflow:hidden;background:rgba(0,20,60,.3);border:1px solid rgba(255,255,255,.14)}
.vl-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);gap:8px;padding:10px 12px;font-size:.9rem;align-items:center}
.vl-row+.vl-row{border-top:1px solid rgba(255,255,255,.1)}
.vl-row>span:not(:first-child){text-align:end}
.vl-row.head{font-size:.78rem;color:#d3e3ff;background:rgba(0,10,40,.25)}
.vl-row.total{font-weight:800;background:rgba(0,10,40,.25)}
.vl-acc{overflow:hidden;text-overflow:ellipsis}
.vl .code{color:#bfe6ff}
.v-note{background:rgba(255,255,255,.1);border-radius:10px;padding:8px 12px}

/* ---------- toast ---------- */
.toast{position:fixed;z-index:80;left:50%;bottom:calc(var(--nav-h) + 18px + env(safe-area-inset-bottom));transform:translate(-50%,20px);opacity:0;pointer-events:none;max-width:calc(100vw - 32px);padding:12px 18px;border-radius:14px;background:#0b2a5e;border:1px solid rgba(160,205,255,.35);color:#fff;font-weight:600;box-shadow:var(--shadow);transition:opacity .2s,transform .2s;text-align:center}
.toast.show{opacity:1;transform:translate(-50%,0)}
.toast.ok{background:#065f46;border-color:rgba(110,231,183,.5)}
.toast.err{background:#9f1239;border-color:rgba(253,164,175,.5)}
.toast.warn{background:#92400e;border-color:rgba(253,230,138,.5)}
@media (min-width:980px){.toast{bottom:28px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* ---------- v1.1 ---------- */
.desk-only{display:none!important}
.gear-btn{color:var(--muted)}
.brand-sub{display:flex;gap:6px;align-items:baseline;flex-wrap:wrap}
.clock-time{font-weight:700;color:#cfe6ff;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.clock-date{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.clock-date.long{display:none}
.brand-name{white-space:nowrap}
@media (min-width:600px){.clock-date.long{display:inline}.clock-date.short{display:none}}
@media (min-width:980px){
  #nav a.desk-only{display:flex!important}
  .gear-btn{display:none}
  .topbar .brand{visibility:visible}
  .topbar .brand .logo,.topbar .brand .brand-name{display:none}
  .topbar .brand-sub{font-size:.95rem;color:var(--muted)}
}
.hello h1{font-size:1.35rem;font-weight:800;letter-spacing:.01em}
.hello p{margin:2px 0 0}
.sec-head.first{margin-top:14px}
.kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (min-width:860px){.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}
.kpi{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:16px;background:var(--panel);border:1px solid var(--line);min-width:0;position:relative;overflow:hidden;transition:border-color .2s,transform .15s}
.kpi::before{content:"";position:absolute;inset-inline-start:0;top:12px;bottom:12px;width:3px;border-radius:3px;background:var(--sky)}
.kpi.k-sales::before{background:var(--green)} .kpi.k-pur::before{background:#93c5fd} .kpi.k-exp::before{background:var(--amber)} .kpi.k-gp::before{background:var(--cyan)}
.kpi:hover{border-color:rgba(56,189,248,.45)} .kpi:active{transform:scale(.98)}
.kpi .label{font-size:.82rem;color:var(--muted)}
.kpi-val{font-size:1.2rem;font-weight:800}
.totals{margin-top:12px}
.total-card{color:inherit}
.total-card.split{flex-direction:row;gap:0;padding:0}
.total-card.split a{flex:1;display:flex;flex-direction:column;gap:2px;padding:16px;min-width:0}
.total-card.split a+a{border-inline-start:1px solid rgba(255,255,255,.14)}
.total-card .mid{font-size:1.25rem;font-weight:800}
.alert-bar.calm{background:rgba(52,211,153,.08);border-color:rgba(52,211,153,.3);color:#bbf7d0}
.alert-bar.calm .ic{color:var(--green)}
.quick{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (min-width:700px){.quick{grid-template-columns:repeat(6,minmax(0,1fr))}}
.t-doc-si .ic{color:var(--green)!important;background:rgba(52,211,153,.14)!important}
.t-doc-pi .ic,.t-doc-po .ic{color:#93c5fd!important;background:rgba(147,197,253,.14)!important}
.t-doc-dn .ic{color:var(--cyan)!important;background:rgba(34,211,238,.14)!important}
.trend{width:100%;height:auto;display:block}
.trend text{fill:var(--muted);font-size:10px;font-family:var(--font)}
.trend .axis{stroke:rgba(157,180,214,.25)}
.trend .b-s{fill:#38bdf8}.trend .b-e{fill:#1d4ed8;opacity:.85}
.legend{display:flex;gap:16px;font-size:.8rem;color:var(--muted);margin-top:4px}
.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-inline-end:6px;vertical-align:middle}
.legend i.b-s{background:#38bdf8}.legend i.b-e{background:#1d4ed8}
.hub-h{margin:20px 0 10px;font-size:.95rem;color:var(--muted);font-weight:700}
.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (min-width:860px){.tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}
.tiles.small{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (min-width:860px){.tiles.small{grid-template-columns:repeat(5,minmax(0,1fr))}}
.tile{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:110px;padding:16px;border-radius:18px;border:1px solid var(--line);background:linear-gradient(160deg,rgba(24,89,214,.26),rgba(13,37,80,.82));cursor:pointer;text-align:start;color:inherit;position:relative;transition:border-color .2s,transform .15s}
.tile:hover{border-color:rgba(56,189,248,.5)} .tile:active{transform:scale(.98)}
.tiles.small .tile{min-height:92px;padding:12px;font-size:.9rem}
.tile .ic{width:26px;height:26px;padding:7px;box-sizing:content-box;border-radius:12px;background:rgba(56,189,248,.14);color:var(--sky)}
.tile-t{font-weight:700;line-height:1.3}
.tile-n{position:absolute;top:14px;inset-inline-end:14px;font-weight:800;font-size:1.1rem;color:#cfe6ff}
.tag.warn{background:rgba(251,191,36,.18);color:#fde68a}
.row-wrap{display:flex;align-items:stretch;gap:6px}
.row-wrap+.row-wrap{border-top:1px solid rgba(130,185,255,.08)}
.row-wrap .row{flex:1;min-width:0;border-top:0!important}
.stmt-btn{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:62px;margin:8px 0;border-radius:12px;border:1px solid var(--line);background:rgba(56,189,248,.08);color:var(--sky);font-size:.74rem;font-weight:700}
.stmt-btn .ic{width:18px;height:18px}
.stmt-act{border-color:rgba(56,189,248,.45)}
/* documents */
.doc-lines{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}
.doc-line{padding:10px;border-radius:14px;background:rgba(0,20,60,.28);border:1px solid rgba(255,255,255,.14)}
.doc-line select,.doc-line input{width:100%;min-height:46px;padding:9px 11px;border-radius:11px;border:1.5px solid transparent;background:#fff;color:#0a2350;font-size:1rem;outline:none}
.doc-line select:focus,.doc-line input:focus{border-color:var(--sky);box-shadow:0 0 0 3px rgba(56,189,248,.35)}
.dl-fields{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr) minmax(0,.7fr) 44px;gap:8px;align-items:end;margin-top:8px}
.dl-fields label{display:flex;flex-direction:column;gap:3px;font-size:.76rem;color:#d6e6ff;min-width:0}
.dl-total{grid-column:1/-2;font-weight:700;text-align:end}
.dl-fields .icon-btn{grid-column:-2/-1;grid-row:1}
.dl-stock{margin:6px 0 0;color:#cfe0ff}
.inline-item{margin:6px 0 12px;padding:12px;border-radius:14px;background:rgba(255,255,255,.1);border:1px dashed rgba(255,255,255,.4)}
.inline-item h3{margin:0 0 8px;color:#fff}
.doc-totals{margin:6px 0 10px;padding:12px 14px;border-radius:14px;background:rgba(0,20,60,.32);display:flex;flex-direction:column;gap:6px}
.doc-totals>div{display:flex;justify-content:space-between;gap:10px;font-size:.92rem}
.doc-totals .grand{font-size:1.08rem;font-weight:800;border-top:1px solid rgba(255,255,255,.18);padding-top:6px}
.vl-row.doc{grid-template-columns:minmax(0,1.6fr) minmax(0,.5fr) minmax(0,1fr) minmax(0,1fr)}
.estop{margin:8px 0;padding:12px;border-radius:14px;background:#fff1f2;color:#881337;border:2px solid #fb7185}
.estop-head{display:flex;align-items:center;gap:8px;font-size:1rem}
.estop-head .ic{color:#e11d48}
.estop ul{margin:6px 0 10px;padding-inline-start:20px}
.estop .field .label{color:#881337}
.estop .field input{border-color:#fecdd3}
/* reports */
.filters{display:block;padding:14px;border-radius:16px;background:linear-gradient(160deg,#1a5ad0,#0e3b94);border:1px solid rgba(170,210,255,.3);margin-bottom:12px}
.filters .field{margin-bottom:8px}
.filters .check.big{margin-top:24px}
.rep-acc{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin:4px 0 10px}
.rtable{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--panel)}
.rt-row{display:grid;gap:8px;padding:10px 14px;font-size:.88rem;align-items:center;border-top:1px solid rgba(130,185,255,.08);width:100%;background:transparent;border-left:0;border-right:0;border-bottom:0;color:inherit;text-align:start;cursor:default}
button.rt-row,a.rt-row{cursor:pointer}
button.rt-row:hover,a.rt-row:hover{background:rgba(56,189,248,.06)}
.rt-row.head{border-top:0;background:rgba(6,18,42,.5);color:var(--muted);font-size:.78rem}
.rt-row.total{font-weight:800;background:rgba(24,89,214,.22)}
.rt-row.open{background:rgba(56,189,248,.06);font-weight:600}
.rt-row>span{min-width:0}
.rt-desc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rt-row.st{grid-template-columns:72px 70px minmax(0,1fr)}
.rt-row.st>span:nth-child(n+4){text-align:end}
.rt-row.st>span:nth-child(4),.rt-row.st>span:nth-child(5){grid-row:2}
.rt-row.st>span:nth-child(4){grid-column:1/2}.rt-row.st>span:nth-child(5){grid-column:2/3}.rt-row.st>span:nth-child(6){grid-column:3/4;grid-row:2}
.rt-row.bl{grid-template-columns:76px minmax(0,1fr) auto}
.rt-row.bl>span:nth-child(4){grid-column:2/4;text-align:end;font-size:.8rem;color:var(--muted)}
.rt-row.bl>span:nth-child(3){text-align:end}
.rt-row.iv{grid-template-columns:minmax(0,1fr) 54px}
.rt-row.iv>span:nth-child(2){text-align:end}
.rt-row.iv>span:nth-child(3),.rt-row.iv>span:nth-child(4){grid-row:2;text-align:end}
.rt-row.iv>span:nth-child(3){grid-column:1/2}.rt-row.iv>span:nth-child(4){grid-column:2/3;min-width:110px}
@media (min-width:860px){
  .rt-row.st{grid-template-columns:90px 90px minmax(0,1fr) 120px 120px 150px}
  .rt-row.st>span:nth-child(4),.rt-row.st>span:nth-child(5),.rt-row.st>span:nth-child(6){grid-row:auto;grid-column:auto}
  .rt-row.bl{grid-template-columns:90px minmax(0,1fr) 180px 150px}
  .rt-row.bl>span:nth-child(4){grid-column:auto;font-size:inherit;color:inherit}
  .rt-row.iv{grid-template-columns:minmax(0,1fr) 90px 130px 150px}
  .rt-row.iv>span:nth-child(3),.rt-row.iv>span:nth-child(4){grid-row:auto;grid-column:auto;min-width:0}
}
.print-only{display:none}
@media print{
  body::before{display:none}
  body{background:#fff!important;color:#000!important}
  #nav,#topbar,.no-print,#toast,#modal-root{display:none!important}
  .topbar,#main{margin:0!important}
  #main{padding:0!important;max-width:none}
  .print-only{display:block;margin-bottom:10px}
  .rtable,.panel,.tb{background:#fff!important;border-color:#999!important;box-shadow:none!important}
  .rt-row,.tb-row{color:#000!important;border-color:#ccc!important;background:#fff!important}
  .rt-row.st{grid-template-columns:80px 80px minmax(0,1fr) 100px 100px 120px}
  .rt-row.st>span:nth-child(4),.rt-row.st>span:nth-child(5),.rt-row.st>span:nth-child(6){grid-row:auto;grid-column:auto}
  .amt.neg,.sided small{color:#000!important;background:none!important}
  .code{color:#000}
  .tb-status{border:1px solid #999;color:#000;background:#fff}
}

/* ---------- v1.1 data safety ---------- */
.tag.void{background:rgba(148,163,184,.22);color:#e2e8f0;text-decoration:none}
.is-void{opacity:.55}
.is-void .row-title,.is-void .rt-desc,.is-void .s-text{text-decoration:line-through;text-decoration-color:rgba(226,232,240,.5)}
.void-note{display:flex;gap:8px;align-items:flex-start;margin:8px 0;padding:10px 12px;border-radius:12px;background:rgba(148,163,184,.14);border:1px solid rgba(148,163,184,.35);font-size:.88rem}
.void-note .ic{flex:none;width:18px;height:18px;color:#cbd5e1}
.void-note.rev{background:rgba(56,189,248,.1);border-color:rgba(56,189,248,.35)}
.confirm-msg{line-height:1.7}
.preview-t{width:100%;border-collapse:collapse;margin:10px 0;font-size:.9rem}
.preview-t th,.preview-t td{padding:6px 8px;border-bottom:1px solid rgba(255,255,255,.18);text-align:start}
.preview-t td+td,.preview-t th+th{text-align:center}
.backup-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:.8rem;font-weight:700;border:1px solid var(--line);white-space:nowrap;align-self:center}
.backup-chip .ic{width:16px;height:16px}
.backup-chip.ok{color:#bbf7d0;background:rgba(52,211,153,.1);border-color:rgba(52,211,153,.35)}
.backup-chip.warn{color:#fde68a;background:rgba(251,191,36,.1);border-color:rgba(251,191,36,.35)}
.backup-chip.bad{color:#fecaca;background:rgba(248,113,113,.12);border-color:rgba(248,113,113,.45)}
.hello{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:flex-start}
.backup-state{display:flex;gap:10px;align-items:center;padding:12px;border-radius:14px;margin-bottom:12px;border:1px solid var(--line)}
.backup-state>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.backup-state .ic{flex:none;width:22px;height:22px}
.backup-state.ok{background:rgba(52,211,153,.08);border-color:rgba(52,211,153,.35)} .backup-state.ok .ic{color:var(--green)}
.backup-state.warn{background:rgba(251,191,36,.08);border-color:rgba(251,191,36,.35)} .backup-state.warn .ic{color:var(--amber)}
.backup-state.bad{background:rgba(248,113,113,.1);border-color:rgba(248,113,113,.45)} .backup-state.bad .ic{color:#f87171}
.backup-panel .set-form select{min-height:44px;border-radius:11px;padding:8px 10px;background:#fff;color:#0a2350;border:0;font-size:1rem}
.folder-box,.snap-box{margin-top:14px;padding:12px;border-radius:14px;background:rgba(6,18,42,.35);border:1px solid var(--line)}
.folder-box h3,.snap-box h3{margin:0 0 6px;font-size:.95rem}
.snap-list{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.snap-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.04)}
.snap-row>span{display:flex;flex-direction:column;min-width:0}
.small-btn{min-height:36px;padding:6px 12px;font-size:.85rem}
.backup-due{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:14px;background:rgba(255,255,255,.1);margin:6px 0 12px}
.backup-due .ic{flex:none;width:28px;height:28px;color:#fff}
.backup-due p{margin:0;line-height:1.7}
.exit-top{min-height:38px;padding:6px 12px;font-size:.85rem}
@media (min-width:980px){.top-actions .exit-top.desk-only{display:inline-flex!important}}

/* ---------- v1.1 users ---------- */
.rc-box{font-family:ui-monospace,Consolas,monospace;font-size:1.35rem;font-weight:800;letter-spacing:.08em;text-align:center;padding:16px 10px;margin:12px 0;border-radius:14px;background:#fff;color:#0a2350;border:2px dashed #1d4ed8;word-break:break-all}
.forgot{display:block;margin:14px auto 0;background:none;border:0;color:var(--sky);font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.meta-foot{display:flex;flex-direction:column;gap:2px;margin:10px 0;padding:8px 10px;border-radius:10px;background:rgba(6,18,42,.3);font-size:.78rem;color:var(--muted)}
.sheet .meta-foot{background:rgba(0,20,60,.3);color:#d6e6ff}
.meta-foot .vf{color:#fecaca}
.user-filter{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:.85rem;color:var(--muted)}
.user-filter .ic{width:16px;height:16px}
.user-filter select{flex:1;min-width:0;max-width:280px;min-height:40px;border-radius:10px;padding:6px 10px;background:#fff;color:#0a2350;border:0;font-size:.95rem}
.filters input,.filters select{width:100%}

/* ---------- equal-width action buttons (every row, every screen) ---------- */
.form-actions,.btn-row{display:grid!important;grid-template-columns:repeat(var(--cols,2),minmax(0,1fr));gap:8px;align-items:stretch}
.form-actions>.btn,.btn-row>.btn,.form-actions>a.btn,.btn-row>a.btn{width:100%;min-width:0!important;flex:none!important;max-width:none;margin:0;white-space:normal;text-align:center;justify-content:center;line-height:1.25;min-height:46px;padding:8px 6px;overflow-wrap:anywhere;word-break:normal;flex-wrap:wrap;gap:4px}
.form-actions>.btn .ic,.btn-row>.btn .ic{flex:none}
.btn-row>.link-btn{justify-self:start}
.perm-wrap{overflow-x:auto;margin:6px 0 10px;border-radius:12px;background:#fff}
.perm-t{width:100%;border-collapse:collapse;color:#0a2350;font-size:.82rem;min-width:360px}
.perm-t th,.perm-t td{padding:6px 4px;border-bottom:1px solid #dbeafe;text-align:center}
.perm-t tbody th{text-align:start;font-weight:700;white-space:nowrap;padding-inline-start:8px}
.perm-t thead th{background:#1d4ed8;color:#fff;font-weight:700}
.perm-t input{width:20px;height:20px;accent-color:#1d4ed8}
.perm-box h3{margin:6px 0;color:#fff}
.alert-bar.sens{background:rgba(251,191,36,.12);border-color:rgba(251,191,36,.45);color:#fde68a}
.alert-bar .badge{margin-inline-start:auto;font-style:normal;font-weight:800;background:#f59e0b;color:#0a2350;border-radius:999px;padding:2px 9px;font-size:.8rem}
.sens-list{display:flex;flex-direction:column;gap:8px}
.sens-row{padding:12px;border-radius:14px;background:var(--panel);border:1px solid rgba(251,191,36,.4)}
.sens-row.done{border-color:var(--line);opacity:.75}
.sens-head{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline;margin-bottom:6px}
.diff{display:flex;flex-direction:column;gap:2px;font-size:.82rem;margin:4px 0 8px;font-family:ui-monospace,Consolas,monospace}
.diff s{color:#fca5a5}.diff ins{color:#86efac;text-decoration:none}
.ok-text{color:#86efac}

/* ---------- v1.2: drafts, unsaved-changes dialog ---------- */
.sheet-head-btns{display:flex;gap:2px;flex:none}
.draft-chip{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:5px 11px;border-radius:12px;border:1px solid rgba(251,191,36,.45);background:rgba(251,191,36,.12);color:#fde68a;font-weight:700;cursor:pointer;white-space:nowrap}
.draft-chip[hidden]{display:none}
.draft-chip .ic{width:18px;height:18px}
.draft-chip b{font-size:.9rem}
@media (max-width:599px){.draft-chip .dc-l{display:none}.draft-chip{padding:5px 9px}}
.draft-bar{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin:0 0 12px;padding:6px 12px;border-radius:12px;background:rgba(14,165,233,.22);border:1px solid rgba(186,230,253,.45);color:#fff;font-size:.88rem;font-weight:600}
.draft-bar .ic{width:18px;height:18px;flex:none}
.draft-bar span{flex:1;min-width:0}
.sheet .draft-bar .link-btn{color:#fff;text-decoration:underline;padding:6px 2px;min-height:36px}
.unsaved-dlg{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(2,8,22,.55);animation:fade .15s ease-out}
.unsaved-card{width:100%;max-width:440px;background:linear-gradient(170deg,#1a5ad0 0%,#1349b4 55%,#0e3b94 100%);border:1px solid rgba(170,210,255,.4);border-radius:18px;padding:18px;box-shadow:0 18px 50px rgba(0,8,30,.6);color:#fff}
.unsaved-card b{font-size:1.1rem;display:block;margin-bottom:4px}
.unsaved-card p{color:#d3e3ff;margin:0 0 12px}
.unsaved-card .btn.ghost{border-color:rgba(255,255,255,.35)}
.unsaved-card .btn.danger-ghost{border-color:rgba(255,190,200,.6);color:#fff}
@media (min-width:980px){body.draft-form #nav{z-index:70}}

/* v1.2 warehouses, transfers, stock count, item card */
.inv-tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:8px;margin:10px 0}
.inv-tools .btn{justify-content:center;gap:6px;font-size:.88rem;padding-inline:8px}
.wh-filter{margin:6px 0 10px}
.wh-split{color:var(--muted);font-size:.8rem}
.row-wrap.is-void .row{opacity:.6}
button.stmt-btn{cursor:pointer;font-family:inherit}
.xf-lines,.cnt-lines{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}
.xf-line{padding:10px;border-radius:14px;background:rgba(0,20,60,.28);border:1px solid rgba(255,255,255,.14)}
.xf-line select,.xf-line input{width:100%;min-height:46px;padding:9px 11px;border-radius:11px;border:1.5px solid transparent;background:#fff;color:#0a2350;font-size:1rem;outline:none}
.xf-line select:focus,.xf-line input:focus{border-color:var(--sky)}
.xf-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) 44px;gap:8px;align-items:end;margin-top:8px}
.xf-fields label>span{display:block;font-size:.75rem;color:var(--muted);margin-bottom:3px}
.xf-av{align-self:center;color:var(--muted)}
.xf-av .qty{color:#fff}
.xf-line.over{border-color:rgba(248,113,113,.8);background:rgba(127,29,29,.25)}
.xf-line.over .xf-av,.xf-line.over .xf-av .qty{color:#fca5a5}
.tf-route{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border-radius:14px;background:rgba(56,189,248,.08);border:1px solid var(--line);margin-bottom:12px}
.tf-route span{display:flex;flex-direction:column;font-size:.75rem;color:var(--muted)}
.tf-route b{font-size:1rem;color:#fff}
.vl-row.tf{grid-template-columns:minmax(0,1fr) auto}
.vl-row.tf>span:last-child{text-align:end}
.vl-row.sc{grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,.7fr))}
.vl-row.sc>span:nth-child(n+2){text-align:end}
.vl-row.sc.neg>span:last-child,.neg-text{color:#fca5a5}
.vl-row.sc.pos>span:last-child,.pos-text{color:#86efac}
.cnt-line{display:grid;grid-template-columns:minmax(0,1fr) 70px 96px 70px;gap:8px;align-items:center;padding:8px 10px;border-radius:12px;background:rgba(0,20,60,.28);border:1px solid rgba(255,255,255,.12)}
.cnt-line .label{display:block;font-size:.7rem;color:var(--muted)}
.cnt-name{font-size:.9rem;min-width:0;overflow:hidden;text-overflow:ellipsis}
.cnt-sys,.cnt-diff{text-align:end}
.cnt-in input{width:100%;min-height:42px;padding:7px 9px;border-radius:10px;border:1.5px solid transparent;background:#fff;color:#0a2350;font-size:1rem;text-align:center}
.cnt-line.neg{border-color:rgba(248,113,113,.6)}.cnt-line.neg .cnt-diff b{color:#fca5a5}
.cnt-line.pos{border-color:rgba(134,239,172,.5)}.cnt-line.pos .cnt-diff b{color:#86efac}
.cnt-total{margin:-2px 2px 10px;color:var(--muted)}
.chk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px 12px;margin:6px 0}
.wh-allowed{border:1px solid var(--line);border-radius:12px;padding:8px 12px;margin:0 0 12px}
.rt-row.kc{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 70px;align-items:start}
.rt-row.kc>span:nth-child(3){grid-column:1/3;grid-row:2;color:var(--muted);font-size:.82rem}
.rt-row.kc>span:nth-child(4),.rt-row.kc>span:nth-child(5){grid-row:3;text-align:end}
.rt-row.kc>span:nth-child(4){grid-column:1/2}.rt-row.kc>span:nth-child(5){grid-column:2/3}
.rt-row.kc>span:nth-child(6){grid-column:3/4;grid-row:1/4;text-align:end;align-self:center}
.rt-row.kc>span:nth-child(4) .qty{color:#86efac}.rt-row.kc>span:nth-child(5) .qty{color:#fca5a5}
.rt-row.kc.head>span:nth-child(4)::before{content:none}
.rt-row.vr{grid-template-columns:minmax(0,1fr) repeat(2,60px);text-align:start;width:100%;font:inherit;color:inherit;background:none;border-inline:0;border-bottom:0}
.rt-row.vr>span:nth-child(2){grid-column:1/-1;grid-row:2}
.rt-row.vr>span:nth-child(n+3){text-align:end}
.rt-row.vr>span:nth-child(5),.rt-row.vr>span:nth-child(6){grid-row:3}
.rt-row.vr>span:nth-child(5){grid-column:2/3}.rt-row.vr>span:nth-child(6){grid-column:3/4}
.rt-row.vr>span:nth-child(3){grid-row:1;grid-column:2/3}.rt-row.vr>span:nth-child(4){grid-row:1;grid-column:3/4}
.qty{font-variant-numeric:tabular-nums}
@media (min-width:860px){
  .rt-row.kc{grid-template-columns:130px minmax(0,1.1fr) minmax(0,1fr) 100px 100px 110px}
  .rt-row.kc>span:nth-child(n){grid-row:auto;grid-column:auto;font-size:inherit;align-self:center}
  .rt-row.kc>span:nth-child(3){color:inherit}
  .rt-row.kc>span:nth-child(n+4){text-align:end}
  .rt-row.vr{grid-template-columns:150px minmax(0,1fr) 100px 100px 100px 130px}
  .rt-row.vr>span:nth-child(n){grid-row:auto;grid-column:auto}
  .cnt-line{grid-template-columns:minmax(0,1fr) 110px 130px 110px}
}
@media print{
  .rt-row.kc{grid-template-columns:110px minmax(0,1.1fr) minmax(0,1fr) 80px 80px 90px!important}
  .rt-row.kc>span:nth-child(n){grid-row:auto!important;grid-column:auto!important;color:#000!important}
  .rt-row.kc .qty{color:#000!important}
}
.inv-tools .btn{flex-direction:column;gap:3px;min-height:60px;line-height:1.2}

/* v1.4 reports hub + generic report tables */
.rep-search{margin:4px 0 14px}
.rep-group{margin:0 0 18px}
.rep-group h2{font-size:.95rem;color:var(--sky);margin:0 0 8px;font-weight:800}
.rep-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
.rep-tile[hidden],.rep-group[hidden]{display:none!important}
.tie{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:10px 0;padding:8px 12px;border-radius:12px;font-weight:700}
.tie.ok{background:rgba(34,197,94,.14);color:#86efac}.tie.bad{background:rgba(239,68,68,.16);color:#fca5a5}
.tie .tie-n{font-weight:600;color:inherit}
.gt{border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:8px 0}
.gt-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 10px;padding:9px 12px;border-top:1px solid rgba(255,255,255,.08);font-size:.88rem;align-items:baseline;width:100%;text-align:start;background:none;color:inherit;font-family:inherit;border-inline:0;border-bottom:0}
button.gt-row{cursor:pointer}button.gt-row:hover{background:rgba(56,189,248,.06)}
.gt-row.head{display:none}
.gt-c{min-width:0;overflow-wrap:anywhere}
.gt-c:empty{display:none}
.gt-c.first{grid-column:1/-1;font-weight:700}
.gt-c[data-l]:not(.first)::before{content:attr(data-l);display:block;font-size:.7rem;color:var(--muted);font-weight:500}
.gt-row.total{background:rgba(24,89,214,.22);font-weight:800}
.gt-row.grp{background:rgba(56,189,248,.08);font-weight:700}
.gt-row.grp-end,.gt-row.sub{background:rgba(255,255,255,.04);font-weight:700}
.gt-row.v-next{border-top-color:transparent}
.gt-row.is-void{opacity:.55;text-decoration:line-through}
.gt-row.empty{display:block}
@media (min-width:860px){
  .gt-row{grid-template-columns:var(--gt);gap:10px;padding:8px 12px}
  .gt-row.head{display:grid;background:rgba(6,18,42,.5);color:var(--muted);font-size:.76rem;border-top:0}
  .gt-c.first{grid-column:auto;font-weight:inherit}
  .gt-c:empty{display:block}
  .gt-c[data-l]:not(.first)::before{content:none}
  .gt-c.n{text-align:end}
  .gt-row.grp .gt-c,.gt-row.total .gt-c{font-weight:800}
  .rep-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media print{
  .gt-row{grid-template-columns:var(--gt)!important;font-size:9pt;color:#000!important;background:none!important;padding:3px 6px}
  .gt-row.head{display:grid!important;font-weight:700}
  .gt-c[data-l]::before{content:none!important}
  .gt-c.first{grid-column:auto!important}
  .gt-c:empty{display:block!important}
  .gt-c.n{text-align:end}
  .gt .amt{color:#000!important}
  .tie{color:#000!important;background:none!important}
}

/* v1.6 returns + perpetual inventory */
.docs-seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
@media (min-width:900px){.docs-seg{grid-template-columns:repeat(6,minmax(0,1fr))}}
.docs-seg>a{min-width:0;overflow:hidden;text-overflow:ellipsis;padding:6px 4px}
.ret-lines{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}
.ret-line{padding:10px;border-radius:14px;background:rgba(0,20,60,.28);border:1px solid rgba(255,255,255,.14)}
.ret-line .rl-item{min-width:0;overflow-wrap:anywhere}
.ret-line .rl-item .small{margin-top:3px}
.rl-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:end;margin-top:8px}
.rl-fields label{display:flex;flex-direction:column;gap:3px;font-size:.76rem;color:#d6e6ff;min-width:0}
.ret-line input{width:100%;min-height:46px;padding:9px 11px;border-radius:11px;border:1.5px solid transparent;background:#fff;color:#0a2350;font-size:1rem;outline:none}
.ret-line input:focus{border-color:var(--sky);box-shadow:0 0 0 3px rgba(56,189,248,.35)}
.ret-line.over{border-color:rgba(248,113,113,.8);background:rgba(127,29,29,.25)}
.ret-links{margin:6px 0 4px;line-height:1.9}
.ret-links .link-btn.is-void{opacity:.6;text-decoration:line-through}
.cost-info{color:#bfe3ff;margin:4px 0}
.card-cost{margin:8px 2px;color:#bfe3ff}
.perp-panel .tag.ok{margin-inline-end:4px}
.gt-pp,.gt-pt{margin-bottom:10px}

/* ---------- v1.7: find by number, document view like its form, print / export buttons ---------- */
.find-chip{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:5px 12px;border-radius:12px;border:1px solid rgba(56,189,248,.45);background:rgba(56,189,248,.12);color:#e0f2fe;font-weight:700;cursor:pointer;white-space:nowrap}
.find-chip:hover{background:rgba(56,189,248,.22)}
.find-chip .ic{width:19px;height:19px}
.fc-k{font:600 .68rem/1 ui-monospace,Consolas,monospace;padding:3px 5px;border-radius:6px;border:1px solid rgba(255,255,255,.25);color:#bfe3ff;background:rgba(0,0,0,.18)}
@media (max-width:899px){.find-chip .fc-k{display:none}}
@media (max-width:599px){.find-chip .fc-l{display:none}.find-chip{padding:5px 10px}}
.hub-find{width:100%;cursor:pointer;margin:0 0 14px;border:0;text-align:start;font-weight:500;color:#5a78a8}
.hub-find span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hub-find .fc-k{color:#5a78a8;border-color:#c7d7f0;background:#f1f6ff}
.list-search{margin:6px 0 10px}
.find-box{margin:4px 0 10px;min-height:52px;border:2px solid rgba(56,189,248,.55)}
.find-box input{font-size:1.08rem}
.find-res .list{max-height:none}
.find-hint{line-height:1.8}
.docno{font-family:ui-monospace,Consolas,'Segoe UI',monospace;font-weight:700;color:#bae6fd;letter-spacing:.02em;border-bottom:1px dashed rgba(186,230,253,.55);cursor:pointer;unicode-bidi:isolate}
.docno.ext{color:#fde68a;border-bottom-color:rgba(253,230,138,.5)}
.row-title .docno{font-size:1.02rem}
.ro-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;margin:4px 0 12px}
.ro-f{display:flex;flex-direction:column;gap:4px;min-width:0}
.ro-f.wide{grid-column:1/-1}
.ro-l{font-size:.78rem;color:#d6e6ff;font-weight:600}
.ro-v{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-height:44px;padding:8px 12px;border-radius:11px;background:#fff;color:#0a2350;font-weight:600;overflow-wrap:anywhere;min-width:0}
.ro-v .docno{color:#1146b0;border-bottom-color:#93c5fd}
.ro-v .docno.ext{color:#92400e;border-bottom-color:#fcd34d}
.ro-v .rate-val{color:#0a2350}
.ro-v .tag{margin:0}
.ro-v .muted{color:#7a8fb3}
@media (min-width:760px){.sheet.wide .ro-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.sheet.wide .ro-f.wide{grid-column:span 2}}
.btn-print .ic,.btn-export .ic{width:20px;height:20px}
.btn-print{border-color:rgba(56,189,248,.5)!important}
#print-root{display:none}

/* ---------- v1.7 print: only #print-root prints — an A4 letterhead page ---------- */
@page{size:A4;margin:12mm 12mm 14mm}
@media print{
  html,body{background:#fff!important;color:#000!important;min-height:0!important}
  body.mh-printing>*:not(#print-root){display:none!important}
  body.mh-printing #print-root{display:block!important}
  #print-root{color:#0b1b33;font-family:var(--font);font-size:10.5pt;line-height:1.45;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  #print-root *{box-shadow:none!important;text-shadow:none!important}
}
.pr-page{background:#fff;color:#0b1b33}
.lh{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:0 0 10px;margin:0 0 14px;border-bottom:2.5px solid #1146b0;direction:ltr}
.lh-co{display:flex;align-items:flex-start;gap:10px;text-align:left;direction:ltr;flex:none;max-width:58%}
.lh-logo{width:54px;height:54px;flex:none}
.lh-text{text-align:left;direction:ltr;font-family:'Segoe UI',Tajawal,Arial,sans-serif;color:#1e293b;font-size:9.5pt;line-height:1.4}
.lh-name{font-size:17pt;font-weight:800;color:#0b2a5e;line-height:1.15;letter-spacing:.01em}
.lh-tag{font-size:9.5pt;color:#1146b0;font-weight:600;margin:1px 0 3px}
.lh-line{display:flex;align-items:center;gap:5px;direction:ltr;unicode-bidi:isolate}
.lh-line .ic{width:11px;height:11px;color:#1146b0;stroke-width:2.2}
.lh-doc{text-align:right;min-width:0}
.lh-doc[dir=ltr]{text-align:right}
.lh-title{font-size:15pt;font-weight:800;color:#0b2a5e;margin-bottom:4px}
.lh-meta{display:block;text-align:right;font-size:9.5pt;color:#334155}
.lh-meta b{color:#0b1b33;margin-inline-start:6px}
.pr-body{min-height:0}
.pr-foot{display:flex;justify-content:space-between;gap:10px;margin-top:16px;padding-top:6px;border-top:1px solid #cbd5e1;font-size:8pt;color:#64748b}
.pr-parties{display:grid;grid-template-columns:1.3fr 1fr;gap:10px;margin:0 0 12px}
.pr-box{border:1px solid #cbd5e1;border-radius:6px;padding:7px 10px;background:#f8fbff}
.pr-k{color:#475569;font-size:8.5pt;font-weight:600}
.pr-v{margin-top:1px}
.pr-strong{font-weight:800;font-size:11.5pt;color:#0b1b33}
.pr-s{font-size:9pt;color:#334155}
.pr-code{font-family:ui-monospace,Consolas,monospace;font-size:8.5pt;color:#475569}
.pr-t{width:100%;border-collapse:collapse;margin:0 0 10px;font-size:10pt}
.pr-t th{background:#1146b0;color:#fff;font-weight:700;padding:6px 7px;text-align:start;border:1px solid #1146b0}
.pr-t td{padding:5px 7px;border:1px solid #cbd5e1;vertical-align:top}
.pr-t tbody tr:nth-child(even) td{background:#f4f8ff}
.pr-t .n{text-align:end;white-space:nowrap}
.pr-t .c{text-align:center;width:28px}
.pr-t tfoot td{font-weight:800;background:#e8f0ff}
.pr-t tr{break-inside:avoid}
.pr-t thead{display:table-header-group}
.pr-sum{display:grid;grid-template-columns:1fr minmax(0,300px);gap:14px;align-items:start;break-inside:avoid}
.pr-totals{border:1px solid #cbd5e1;border-radius:6px;overflow:hidden}
.pr-totals>div{display:flex;justify-content:space-between;gap:10px;padding:4px 10px;border-top:1px solid #e2e8f0}
.pr-totals>div:first-child{border-top:0}
.pr-totals .g{background:#1146b0;color:#fff;font-weight:800;font-size:11.5pt}
.pr-note{border:1px dashed #94a3b8;border-radius:6px;padding:6px 10px;font-size:9.5pt;margin-bottom:10px}
.pr-sign{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:34px;break-inside:avoid}
.pr-sign>div{border-top:1px solid #475569;padding-top:4px;text-align:center;font-size:9pt;color:#334155}
.pr-void{position:relative;margin:0 0 8px;padding:4px 10px;border:2px solid #b91c1c;color:#b91c1c;font-weight:800;text-align:center;border-radius:6px;letter-spacing:.1em}
/* screen-copy printouts (reports, statements, cards): force readable black-on-white */
.pr-clone,.pr-clone *{color:#0b1b33!important;background:transparent!important;border-color:#cbd5e1!important}
.pr-clone .gt{border:1px solid #cbd5e1;border-radius:4px}
.pr-clone .gt-row.head{background:#1146b0!important}
.pr-clone .gt-row.head,.pr-clone .gt-row.head *{color:#fff!important}
.pr-clone .gt-row.total{background:#e8f0ff!important}
.pr-clone .gt-row.grp{background:#f1f6ff!important}
.pr-clone .gt-row{font-size:9pt;break-inside:avoid}
.pr-clone .tag{border:1px solid #94a3b8!important;padding:0 4px}
.pr-clone .tie.bad,.pr-clone .tie.bad *{color:#b91c1c!important}
.pr-clone .panel,.pr-clone .card,.pr-clone .stat{border:1px solid #cbd5e1!important;border-radius:6px}
.pr-clone .ic{display:none}
.pr-clone .vl-row.head{background:#1146b0!important}.pr-clone .vl-row.head,.pr-clone .vl-row.head *{color:#fff!important}
.pr-clone .meta-foot{border:1px solid #e2e8f0}
