*{box-sizing:border-box}body{margin:0;font-family:var(--font);background:var(--c-bg);color:var(--c-text);direction:rtl}
main{max-width:480px;margin:0 auto;padding:16px}nav:not([hidden])+main{padding-top:72px}
nav{position:fixed;top:0;right:0;left:0;height:56px;display:flex;align-items:center;gap:10px;padding:0 8px;background:linear-gradient(135deg,#2d1e2f,#4e2a4f);color:#fff;z-index:30}
nav .hb{width:48px;min-height:48px;margin:0;font-size:26px;background:transparent;padding:0}nav span{margin-right:auto;font-size:13px;opacity:.85}
#ov{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:40}#ov.open{display:block}
#drawer{position:fixed;top:0;bottom:0;right:0;width:78%;max-width:300px;background:var(--c-card);color:var(--c-text);z-index:50;transform:translateX(105%);transition:transform .2s;overflow-y:auto;box-shadow:-4px 0 16px rgba(0,0,0,.2);padding:12px}#drawer.open{transform:none}
#drawer button{background:var(--c-card2);color:var(--c-text);text-align:right;margin:2px 0;padding:0 14px;border-radius:8px}#drawer button.on{background:var(--c-main);color:#fff;font-weight:bold}
#drawer .out{color:var(--c-bad);margin-top:12px}.dh{padding:8px 4px 12px;color:var(--c-muted);border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:8px}
#toast{display:none;position:fixed;bottom:16px;right:16px;left:16px;background:var(--c-bad);color:#fff;padding:12px;border-radius:10px;z-index:200}
.card{background:var(--c-card);border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:16px;margin-bottom:12px}
button,input,select,textarea{font:inherit;font-size:16px}
button{min-height:48px;width:100%;border:0;border-radius:10px;background:linear-gradient(135deg,#4e2a4f,#6b3a6e);color:#fff;margin-top:8px}button.sec{background:rgba(255,255,255,.1);color:var(--c-text);border:1px solid rgba(255,255,255,.14)}
input,select,textarea{width:100%;min-height:48px;margin-top:6px;padding:8px 12px;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:#3a2640;color:var(--c-text)}
label{display:block;margin-top:10px;color:var(--c-muted);font-size:14px}
code,textarea.code{direction:ltr;word-break:break-all;font-size:12px}
.ok{color:var(--c-ok)}.bad{color:var(--c-bad)}.row{border-bottom:1px solid rgba(255,255,255,.09);padding:8px 0}.row[data-act]{cursor:pointer}
#pv{position:fixed;inset:0;background:#fff;overflow:auto;z-index:99}
@media print{body>*:not(#pv){display:none!important}#pv{position:static}.noprint{display:none!important}@page{size:A4;margin:10mm}}

/* ===== صفحه‌های ورود — گلس‌مورفیسم ===== */
.auth{min-height:100vh;padding:24px 20px 40px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:url(bg.jpg) center/cover no-repeat;position:relative}
.auth::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(45,30,47,.45),rgba(45,30,47,.7));}
.auth>*{position:relative;z-index:1;width:100%;max-width:400px}
.auth .brand{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:22px}
.auth .brand,.auth .foot{max-width:400px}
.auth .mark{width:84px;height:84px;border-radius:50%;background:rgba(255,255,255,.16);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1.5px solid rgba(255,255,255,.45);box-shadow:0 8px 26px rgba(30,10,60,.35);display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.auth .mark svg{width:42px;height:42px}
.auth h1{font-size:21px;color:#fff;margin:0 0 6px;font-weight:700;text-shadow:0 2px 10px rgba(30,10,60,.5)}
.auth .sub{font-size:13px;color:rgba(255,255,255,.85);margin:0;text-shadow:0 1px 6px rgba(30,10,60,.5)}
.auth .card{background:rgba(255,255,255,.14);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.35);border-radius:20px;box-shadow:0 16px 44px rgba(25,8,55,.4);padding:20px 18px;margin:0}
.auth .card h2{margin:0 0 4px;font-size:17px;color:#fff;text-shadow:0 1px 6px rgba(30,10,60,.4)}
.auth .card label{color:rgba(255,255,255,.9)}
.auth input,.auth textarea{background:#2b1c2e;border:1px solid rgba(255,255,255,.08);border-radius:16px;color:#f0e9f2;box-shadow:inset 4px 4px 8px rgba(15,8,18,.6),inset -4px -4px 8px rgba(122,69,128,.18)}
.auth input:focus{outline:none;border-color:#7a4580;box-shadow:inset 4px 4px 8px rgba(15,8,18,.6),inset -4px -4px 8px rgba(122,69,128,.18),0 0 0 3px rgba(122,69,128,.25)}.auth input::placeholder{color:#9c8ba6}
.auth button{background:linear-gradient(135deg,#6a3fb5,#8b5cd6);border-radius:14px;box-shadow:0 6px 18px rgba(60,25,110,.45);margin-top:16px;font-weight:700}
.auth button.sec{background:rgba(255,255,255,.22);color:#fff;border:1px solid rgba(255,255,255,.45);box-shadow:none;backdrop-filter:blur(8px)}
.auth button.sec[data-act=back]{max-width:400px;margin-top:10px}
.auth .warn{background:rgba(255,244,214,.92);border:1px solid rgba(217,164,65,.5);color:#6b4e0e;border-radius:12px;padding:8px 12px;font-size:13px;margin:4px 0 2px}
.auth .foot{margin-top:20px;font-size:12px;color:rgba(255,255,255,.75);text-align:center;line-height:1.9;text-shadow:0 1px 6px rgba(30,10,60,.5)}
.auth hr{border:0;border-top:1px solid rgba(255,255,255,.3);margin:14px 0}
.auth code,.auth textarea.code{color:#f0e9f2}

/* ===== صفحه خانه ===== */
.home-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:14px}
.tile{display:flex;flex-direction:column;align-items:center;gap:6px;min-height:118px;justify-content:center;border-radius:20px;
 background:linear-gradient(145deg,#33223a,#221628);border:1px solid rgba(255,255,255,.07);
 box-shadow:6px 6px 12px rgba(10,5,13,.55),-6px -6px 12px rgba(122,69,128,.14);margin:0;cursor:pointer}
.tile:active{box-shadow:inset 4px 4px 8px rgba(10,5,13,.55),inset -4px -4px 8px rgba(122,69,128,.2)}
.tico{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;
 background:linear-gradient(145deg,#4e2a4f,#6b3a6e);box-shadow:3px 3px 8px rgba(10,5,13,.5),-3px -3px 8px rgba(122,69,128,.25),inset 1px 1px 2px rgba(255,255,255,.18)}
.tico svg{width:28px;height:28px}
.tile b{color:var(--c-text);font-size:15px}
.tile small{color:var(--c-muted);font-size:11px;text-align:center;line-height:1.5}
.home-hero{background:linear-gradient(135deg,#2d1e2f,#4e2a4f);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:16px}
.hh-row{display:flex;align-items:center;gap:12px}
.hh-ava{width:52px;height:52px;border-radius:50%;background:linear-gradient(145deg,#6b3a6e,#4e2a4f);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;
 box-shadow:3px 3px 8px rgba(10,5,13,.5),-3px -3px 8px rgba(122,69,128,.2),inset 1px 1px 2px rgba(255,255,255,.15)}
.home-hero b{font-size:16px}
.home-hero small{display:block;color:rgba(255,255,255,.75);font-size:12px;margin-top:2px}

/* ===== منوی کناری ===== */
#drawer .dlogo{display:flex;align-items:center;gap:10px;padding:14px 6px 16px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:6px}
.dmark{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,#4e2a4f,#8b5cd6);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(90,40,120,.4)}
.dmark svg{width:24px;height:24px}
.dlogo b{font-size:15px;color:var(--c-text)}
.dlogo small{display:block;color:var(--c-muted);font-size:11px;margin-top:2px}
#drawer .dgroup{font-size:11px;color:var(--c-muted);padding:14px 8px 6px;letter-spacing:.5px}
#drawer button{display:flex;align-items:center;gap:10px;background:transparent;color:#cfc3d6;text-align:right;margin:2px 0;padding:4px 10px;border-radius:12px;font-size:14px;min-height:44px}
#drawer button .dic{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex:none}
#drawer button .dic svg{width:19px;height:19px}
#drawer button.on{background:linear-gradient(135deg,#4e2a4f,#6b3a6e);color:#fff;box-shadow:0 4px 14px rgba(80,35,110,.35)}
#drawer button.on .dic{background:rgba(255,255,255,.14)}
#drawer button:not(.on):active{background:rgba(255,255,255,.06)}
#drawer .out{color:#ff9d8f;margin-top:10px;border-top:1px solid rgba(255,255,255,.08);border-radius:0;padding-top:12px}

/* ===== فرم فاکتور ===== */
.invhead{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.chip{display:inline-block;padding:5px 12px;border-radius:20px;font-size:11px;font-weight:700;white-space:nowrap;flex:none}
.st-draft{background:rgba(160,150,170,.18);color:#cfc3d6}
.st-ready{background:rgba(217,164,65,.2);color:#e8c475}
.st-sent,.st-acc_sent{background:rgba(90,140,220,.2);color:#9db9e8}
.st-emp_ok,.st-final{background:rgba(92,187,143,.2);color:#8ed4b5}
.st-converted{background:rgba(139,92,214,.25);color:#c9abf0}
.st-void{background:rgba(255,138,122,.2);color:#ff9d8f;text-decoration:line-through}
.fsec{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:12px 12px 4px;margin-top:12px}
.fsec-t{font-size:12px;font-weight:700;color:#c9abf0;margin-bottom:8px}
.linecard{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:10px;margin-top:10px}
.totbox{background:linear-gradient(135deg,rgba(78,42,79,.5),rgba(107,58,110,.35));border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:12px 14px;margin-top:12px;font-size:14px;line-height:2}
.totbox b{font-size:16px;color:#e8c475}
.btnrow{display:flex;flex-wrap:wrap;gap:8px}
.btnrow button{margin-top:0;flex:1 1 140px}
label{color:var(--c-muted);font-size:13px}
