:root{
  --ink:#1e2745;--ink-soft:#4a5474;--ink-faint:#7a84a2;
  --brand:#2f3b6b;--brand-dark:#25305a;--accent:#e23b3b;
  --soft:#f5f7fc;--line:#dbe0ec;--white:#fff;
  --radius:10px;--radius-sm:8px;
  --shadow:0 4px 16px rgba(20,30,60,.10);--shadow-lg:0 12px 40px rgba(20,30,60,.14);
  --font:'Vazirmatn','Segoe UI',Tahoma,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:var(--font);font-size:14px;line-height:1.7;color:var(--ink);
  background:linear-gradient(180deg,#eef1f8,#e4e9f3);background-attachment:fixed;
  min-height:100vh;padding-bottom:80px;
  -webkit-font-smoothing:antialiased;
}
input,button,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px}

/* Toolbar */
.toolbar{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.95);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);box-shadow:0 2px 8px rgba(20,30,60,.06)}
.toolbar-inner{max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 14px}
.tb-group{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.tb-group+.tb-group{padding-inline-start:8px;border-inline-start:1px solid var(--line)}

.btn{display:inline-flex;align-items:center;gap:5px;padding:7px 13px;border-radius:var(--radius-sm);
  border:1px solid var(--line);background:var(--white);color:var(--ink);cursor:pointer;
  font-size:13.5px;line-height:1;transition:all .15s;white-space:nowrap;user-select:none}
.btn:hover{background:var(--soft);border-color:#b6bfd4}
.btn:active{transform:translateY(1px)}
.btn.primary{background:linear-gradient(180deg,var(--brand),var(--brand-dark));color:#fff;border-color:var(--brand-dark)}
.btn.primary:hover{box-shadow:0 4px 12px rgba(47,59,107,.3)}
.btn.danger{color:#c0392b;border-color:#f0c4bf}
.btn.danger:hover{background:#fdecea}
.btn .ico{font-size:15px;line-height:1}

.tb-label{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-soft)}
.tb-label select{padding:5px 8px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--white);cursor:pointer}
.tb-label.check{cursor:pointer;user-select:none}

/* Page */
.page-wrap{padding:22px 14px 60px}
.page{width:210mm;max-width:100%;min-height:297mm;margin:0 auto;background:var(--white);
  padding:14mm 12mm;box-shadow:var(--shadow-lg);border-radius:6px;color:var(--ink)}
body[data-paper="a5"] .page{width:148mm;min-height:210mm;padding:10mm 8mm;font-size:12.5px}

/* Field */
.field{width:100%;min-width:0;padding:4px 7px;border-radius:6px;border:1px solid transparent;
  background:transparent;color:inherit;font-family:inherit;font-size:inherit;transition:all .12s;outline:none}
.field:hover{background:var(--soft)}
.field:focus{background:#fff;border-color:#9fb0dd;box-shadow:0 0 0 3px rgba(47,59,107,.10)}
.field[readonly]{cursor:default}
.field[readonly]:hover{background:transparent}
.field.ltr{direction:ltr;text-align:left}

/* Toast */
#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%) translateY(100px);
  background:var(--ink);color:#fff;padding:11px 22px;border-radius:30px;font-size:13.5px;
  box-shadow:var(--shadow-lg);opacity:0;transition:all .3s;z-index:100;pointer-events:none}
#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}