:root {
  --red: #b91c1c;
  --red-dark: #7f1d1d;
  --red-soft: #fff1f2;
  --ink: #211d1f;
  --muted: #6b6367;
  --line: #eadadd;
  --bg: #f8f5f6;
  --white: #fff;
  --shadow: 0 24px 70px rgba(60, 7, 17, .24);
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: Tahoma, "Segoe UI", sans-serif; }
button, input, select, textarea { font: inherit; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid #f59e0b; outline-offset: 3px; }

.topbar { min-height: 76px; background: #fff; border-bottom: 3px solid var(--red); display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 10px 4%; position: sticky; top: 0; z-index: 5; }
.brand { display: flex; gap: 13px; align-items: center; min-width: 0; }
.brand-logo { width: 48px; height: 48px; border-radius: 13px; object-fit: contain; background: #fff; padding: 4px; box-shadow: 0 5px 18px rgba(56, 9, 17, .16); flex: 0 0 auto; }
.brand strong { display: block; }
.brand small { display: block; color: var(--muted); margin-top: 5px; }
.userbox { display: flex; gap: 18px; align-items: center; }
.userbox form { margin: 0; }
.link-button { border: 0; background: none; color: var(--red); cursor: pointer; }

.login-page { min-height: 100vh; min-height: 100dvh; background: #6f1519; }
.login-page .topbar { display: none; }
.login-shell { min-height: 100vh; min-height: 100dvh; display: grid; place-items: center; padding: max(28px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(28px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left)); position: relative; isolation: isolate; background: #6f1519 url("../img/login-background.jpg") center / cover no-repeat fixed; }
.login-shell::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(135deg, rgba(85, 8, 16, .88), rgba(127, 29, 29, .58) 48%, rgba(255, 255, 255, .18)); backdrop-filter: blur(2px); }
.login-card { width: min(460px, 100%); background: rgba(255, 255, 255, .975); border: 1px solid rgba(255, 255, 255, .75); border-radius: 24px; padding: 28px 30px 24px; text-align: center; box-shadow: var(--shadow); }
.login-logo { width: 84px; height: 84px; object-fit: contain; border-radius: 18px; background: #fff; padding: 6px; margin: 0 auto 13px; box-shadow: 0 8px 26px rgba(49, 6, 13, .2); }
.login-heading h1 { color: var(--red-dark); font-size: clamp(1.45rem, 5vw, 1.85rem); margin: 0 0 7px; }
.school-title { color: var(--red); font-weight: 800; font-size: .95rem; line-height: 1.8; margin: 0; }
.login-help { color: var(--muted); font-size: .88rem; line-height: 1.8; margin: 8px 0 0; }
.form-stack { display: grid; gap: 8px; margin-top: 20px; text-align: right; }
.form-stack label { font-size: .9rem; font-weight: 700; color: #42393d; }
.form-stack input { width: 100%; min-height: 52px; border: 1px solid #ddcdd0; border-radius: 11px; padding: 12px 14px; color: var(--ink); background: #fff; text-align: right; outline: none; transition: border-color .15s, box-shadow .15s; }
.form-stack input::placeholder { color: #9c9296; }
.form-stack input:focus { border-color: var(--red); box-shadow: 0 0 0 4px rgba(185, 28, 28, .11); }
.password-field { position: relative; }
.password-field input { padding-left: 54px; }
.password-toggle { position: absolute; left: 7px; top: 7px; bottom: 7px; width: 42px; border: 0; border-radius: 8px; background: var(--red-soft); color: var(--red-dark); cursor: pointer; display: grid; place-items: center; }
.eye-icon { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.eye-closed { display: none; }
.password-toggle[aria-pressed="true"] .eye-open { display: none; }
.password-toggle[aria-pressed="true"] .eye-closed { display: block; }
.primary-button { min-height: 54px; margin-top: 8px; border: 0; border-radius: 11px; padding: 13px; background: linear-gradient(135deg, var(--red), var(--red-dark)); color: #fff; font-weight: 800; cursor: pointer; box-shadow: 0 8px 20px rgba(185, 28, 28, .23); transition: transform .15s, box-shadow .15s; }
.primary-button:hover { transform: translateY(-1px); box-shadow: 0 11px 25px rgba(185, 28, 28, .3); }
.primary-button:active { transform: translateY(0); }
.alert { margin-top: 16px; background: #fff0f1; border: 1px solid #f1b8be; color: #8d1019; border-radius: 10px; padding: 11px 12px; font-size: .86rem; line-height: 1.7; text-align: right; }
.registration-note { margin-top: 19px; padding-top: 16px; border-top: 1px solid var(--line); font-size: .76rem; color: var(--muted); line-height: 1.9; }
.login-actions { display: grid; gap: 11px; margin-top: 14px; }
.secondary-button { min-height: 50px; border-radius: 11px; padding: 12px 14px; display: grid; place-items: center; color: var(--red-dark); background: #fff0f1; border: 1px solid #e6aeb4; font-weight: 800; text-decoration: none; transition: transform .15s, box-shadow .15s, background .15s; }
.secondary-button:hover { transform: translateY(-1px); background: #ffe5e8; box-shadow: 0 8px 18px rgba(127, 29, 29, .12); }
.secondary-button--light { background: #fff; border-color: #ddcdd0; color: #51464b; }
.login-links { margin-top: 16px; }
.login-links a { color: var(--red-dark); font-weight: 700; text-decoration: none; }
.form-stack p { display: grid; gap: 6px; margin: 0; }
.form-stack select { width: 100%; min-height: 52px; border: 1px solid #ddcdd0; border-radius: 11px; padding: 10px 14px; background: #fff; }
.form-stack .errorlist { color: #8d1019; margin: 0; padding-right: 18px; font-size: .8rem; }

.app-layout { display: grid; grid-template-columns: 250px 1fr; min-height: calc(100vh - 76px); }
.mobile-nav-toggle { display: none; }
.sidebar { background: #241f22; padding: 28px 18px; display: flex; flex-direction: column; gap: 9px; }
.sidebar a, .sidebar span { color: #eee; text-decoration: none; padding: 14px 16px; border-radius: 10px; }
.sidebar a.active { background: var(--red); }
.sidebar .coming { color: #9e969a; }
.sidebar-label { margin: 14px 12px 2px; color: #d9bfc2; font-size: .78rem; font-weight: 700; }
.sidebar .sidebar-label-link { display: flex; align-items: center; justify-content: space-between; margin: 14px 0 2px; padding: 10px 12px; color: #f3dadd; border: 1px solid rgba(243, 218, 221, .2); background: rgba(255, 255, 255, .04); cursor: pointer; }
.sidebar .sidebar-label-link::after { content: "←"; font-size: 1rem; }
.sidebar .sidebar-label-link:hover { background: rgba(255, 255, 255, .1); }
.sidebar .sidebar-label-link.active { background: var(--red-dark); border-color: var(--red); color: #fff; }
.content { padding: 36px; max-width: 1500px; width: 100%; margin: auto; }
.welcome { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; }
.welcome h1 { margin: 0 0 8px; }
.welcome p { margin: 0; color: var(--muted); }
.owner-badge { background: #fee8ea; color: var(--red-dark); border: 1px solid #efbbc0; border-radius: 999px; padding: 10px 16px; font-weight: 700; }
.stats { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); gap: 16px; }
.stats article, .panel { background: #fff; border: 1px solid var(--line); border-radius: 17px; padding: 22px; box-shadow: 0 7px 20px rgba(50, 20, 25, .05); }
.stats strong { display: block; color: var(--red); font-size: 30px; margin-bottom: 8px; }
.stats span { color: var(--muted); }
.panel { margin-top: 22px; }
.panel h2 { margin-top: 0; }
.chips { display: flex; gap: 8px; flex-wrap: wrap; }
.chips span { background: #f3edef; border-radius: 999px; padding: 8px 13px; }
.message-stack { display: grid; gap: 10px; margin-bottom: 18px; }
.notice { border: 1px solid var(--line); border-radius: 12px; padding: 12px 15px; background: #fff; }
.notice--success { border-color: #a7d7b5; background: #effaf2; color: #17612e; }
.notice--error { border-color: #efbbc0; background: var(--red-soft); color: var(--red-dark); }
.page-heading { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-bottom: 22px; }
.page-heading h1 { margin: 0 0 7px; }
.page-heading p { margin: 0; color: var(--muted); }
.action-button { display: inline-grid; place-items: center; min-height: 46px; padding: 11px 18px; border: 0; border-radius: 11px; background: linear-gradient(135deg, var(--red), var(--red-dark)); color: #fff; text-decoration: none; font-weight: 800; cursor: pointer; }
.card-grid { display: grid; grid-template-columns: repeat(3, minmax(230px, 1fr)); gap: 16px; }
.feature-card { background: #fff; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; box-shadow: 0 7px 20px rgba(50, 20, 25, .05); }
.feature-card__head { display: flex; justify-content: space-between; gap: 12px; padding: 15px 17px; background: var(--red); color: #fff; }
.feature-card p { padding: 0 17px; color: var(--muted); }
.card-actions { display: flex; border-top: 1px solid var(--line); }
.card-actions a { flex: 1; padding: 12px 16px; text-align: center; color: var(--red-dark); font-weight: 700; text-decoration: none; }
.empty-state { padding: 28px; border: 1px dashed #d5c3c7; border-radius: 14px; background: #fff; color: var(--muted); }
.data-table-wrap { overflow-x: auto; background: #fff; border: 1px solid var(--line); border-radius: 15px; }
.data-table { width: 100%; border-collapse: collapse; min-width: 680px; }
.data-table th, .data-table td { padding: 14px 16px; text-align: right; border-bottom: 1px solid var(--line); }
.data-table th { background: #f7edef; color: var(--red-dark); }
.data-table tr:last-child td { border-bottom: 0; }
.form-panel { max-width: 900px; }
.entity-form { display: grid; gap: 16px; }
.entity-form p { display: grid; gap: 7px; margin: 0; }
.entity-form label { font-weight: 700; }
.entity-form input, .entity-form select, .entity-form textarea { width: 100%; border: 1px solid #ddcdd0; border-radius: 10px; padding: 11px 13px; background: #fff; }
.entity-form input:focus, .entity-form select:focus, .entity-form textarea:focus { outline: 0; border-color: var(--red); box-shadow: 0 0 0 3px rgba(185, 28, 28, .1); }
.entity-form .errorlist { margin: 0; color: var(--red-dark); }
.section-tabs { display: flex; gap: 9px; flex-wrap: wrap; margin-bottom: 20px; }
.section-tabs a { padding: 10px 15px; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: var(--ink); text-decoration: none; font-weight: 700; }
.section-tabs a.active { background: var(--red); border-color: var(--red); color: #fff; }
.compact-stats { grid-template-columns: repeat(5, minmax(130px, 1fr)); }

@media (max-width: 850px) {
  .brand small { display: none; }
  .app-layout { grid-template-columns: 1fr; }
  .mobile-nav-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 8px; position: sticky; top: 76px; z-index: 5; margin: 10px 14px 0; min-height: 46px; border: 0; border-radius: 12px; background: #241f22; color: #fff; font-weight: 800; }
  .sidebar { display: none; padding: 10px 14px; flex-direction: row; overflow-x: auto; gap: 7px; position: sticky; top: 132px; z-index: 4; box-shadow: 0 12px 24px rgba(33, 29, 31, .16); }
  .sidebar.sidebar--open { display: flex; }
  .sidebar a, .sidebar span { white-space: nowrap; padding: 10px 13px; }
  .sidebar .coming { display: none; }
  .sidebar-label:not(.sidebar-label-link) { display: none; }
  .sidebar .sidebar-label-link { display: inline-flex; margin: 0; }
  .content { padding: 22px; }
  .stats { grid-template-columns: repeat(2, 1fr); }
  .welcome { align-items: flex-start; gap: 18px; flex-direction: column; }
  .topbar { padding-inline: 18px; }
  .userbox > span { display: none; }
  .card-grid { grid-template-columns: repeat(2, minmax(220px, 1fr)); }
  .compact-stats { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 560px) {
  .login-shell { padding-block: max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-bottom)); background-attachment: scroll; }
  .login-card { border-radius: 18px; padding: 22px 17px 18px; }
  .login-logo { width: 72px; height: 72px; border-radius: 15px; }
  .login-help { font-size: .82rem; }
  .form-stack { margin-top: 16px; }
  .form-stack input { min-height: 56px; font-size: 16px; }
  .primary-button { min-height: 56px; }
  .registration-note { margin-top: 16px; }
  .stats { grid-template-columns: 1fr; }
  .page-heading { align-items: stretch; flex-direction: column; }
  .action-button { width: 100%; }
  .card-grid { grid-template-columns: 1fr; }
  .content { padding: 16px 12px 24px; }
  .stats article, .panel { padding: 17px; border-radius: 14px; }
  .data-table th, .data-table td { padding: 12px; }
  .section-tabs { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 5px; }
  .section-tabs a { white-space: nowrap; }
}

@media print {
  .topbar, .sidebar, .mobile-nav-toggle, .action-button, .message-stack { display: none !important; }
  .app-layout { display: block; min-height: 0; }
  .content { max-width: none; padding: 0; }
  .panel, .stats article, .data-table-wrap { box-shadow: none; break-inside: avoid; }
}

@media (max-width: 360px) {
  .login-shell { padding-inline: 10px; }
  .login-card { padding-inline: 13px; }
  .school-title { font-size: .86rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* direct production dashboard refresh 2026-08-27 */
.content{max-width:none;margin:0;background:radial-gradient(circle at 12% 4%,rgba(185,28,28,.09),transparent 28%),linear-gradient(145deg,#faf7f8,#f1ecef);min-height:calc(100vh - 76px)}
.welcome{min-height:210px;position:relative;overflow:hidden;padding:38px 42px;margin:0 0 30px;border-radius:28px;color:#fff;background:linear-gradient(125deg,#48101a,#851b29 50%,#c42a36);box-shadow:0 24px 55px rgba(96,18,31,.24)}
.welcome:before{content:"";position:absolute;width:260px;height:260px;left:-70px;bottom:-170px;border:38px solid rgba(255,255,255,.08);border-radius:50%}
.welcome:after{content:"";position:absolute;width:100px;height:100px;left:75px;top:50px;border:22px double rgba(255,220,170,.28);border-radius:38% 62% 55% 45%;transform:rotate(28deg)}
.welcome>div{position:relative;z-index:1;align-self:center}.welcome h1{margin:0 0 10px;color:#fff;font-size:clamp(2rem,4vw,3rem)}.welcome p{color:rgba(255,255,255,.78);font-size:1rem}.welcome .owner-badge{position:absolute;z-index:2;top:24px;left:26px;color:#fff;border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.13);backdrop-filter:blur(8px)}
.stats{grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:18px}.stats article{min-height:180px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;padding:24px;border:0;border-radius:23px;color:#fff;background:linear-gradient(145deg,#aa2030,#711422);box-shadow:0 17px 34px rgba(91,19,30,.18);transition:.22s ease}.stats article:nth-child(4n+2){background:linear-gradient(145deg,#4388e4,#2854a7)}.stats article:nth-child(4n+3){background:linear-gradient(145deg,#26bea0,#137c72)}.stats article:nth-child(4n+4){background:linear-gradient(145deg,#edb34f,#c56d28)}.stats article:hover{transform:translateY(-5px);box-shadow:0 23px 42px rgba(66,24,31,.22)}.stats article:before{content:"";position:absolute;width:130px;height:130px;top:-72px;left:-45px;border:25px solid rgba(255,255,255,.09);border-radius:50%}.stats article:after{background:rgba(255,255,255,.38)}.stats strong{color:#fff;font-size:clamp(2.4rem,4vw,3.4rem);line-height:1.15;text-shadow:0 4px 15px rgba(0,0,0,.12)}.stats span{color:rgba(255,255,255,.8)}
@media(max-width:560px){.content{padding:16px 12px 24px}.welcome{min-height:220px;padding:28px 22px;align-items:flex-end;border-radius:21px}.welcome:after{left:25px;top:30px}.welcome .owner-badge{top:18px;right:20px;left:auto}.stats article{min-height:155px}}


/* enterprise interface refresh 2026-08-27 */
:root{
  --erp-ink:#172033;
  --erp-muted:#667085;
  --erp-navy:#17243f;
  --erp-navy-2:#253858;
  --erp-burgundy:#a71921;
  --erp-red:#c5222a;
  --erp-gold:#d6a84b;
  --erp-bg:#f4f6fa;
  --erp-surface:#ffffff;
  --erp-line:#e5e9f1;
  --erp-soft:#f8fafc;
  --erp-shadow-sm:0 4px 14px rgba(23,32,51,.07);
  --erp-shadow:0 14px 38px rgba(23,32,51,.10),0 3px 10px rgba(23,32,51,.05);
  --erp-shadow-lg:0 24px 60px rgba(23,32,51,.14),0 5px 16px rgba(23,32,51,.07);
}
html{background:var(--erp-bg)}
body{
  color:var(--erp-ink);
  background:
    radial-gradient(circle at 10% 8%,rgba(197,34,42,.055),transparent 28rem),
    radial-gradient(circle at 88% 88%,rgba(37,56,88,.065),transparent 32rem),
    var(--erp-bg);
}
body:before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.34;
  background-image:linear-gradient(rgba(23,32,51,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(23,32,51,.025) 1px,transparent 1px);
  background-size:32px 32px;
}
.topbar{
  min-height:76px;background:rgba(255,255,255,.94)!important;
  border-bottom:1px solid rgba(167,25,33,.12)!important;
  box-shadow:0 8px 30px rgba(23,32,51,.07);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
}
.brand{gap:13px}.brand img,.brand-logo{
  filter:drop-shadow(0 7px 12px rgba(23,32,51,.15));
}
.brand strong{color:var(--erp-navy);letter-spacing:-.2px}
.sidebar{
  background:
    radial-gradient(circle at 10% 0,rgba(214,168,75,.12),transparent 16rem),
    linear-gradient(180deg,#1b263d 0%,#21171d 100%)!important;
  border-left:1px solid rgba(255,255,255,.08);
  box-shadow:-14px 0 38px rgba(18,25,40,.10);
}
.sidebar:before{
  content:"";display:block;height:3px;margin:0 18px 20px;border-radius:99px;
  background:linear-gradient(90deg,transparent,var(--erp-gold),var(--erp-red),transparent);
}
.sidebar a{
  position:relative;border:1px solid transparent!important;border-radius:12px!important;
  color:rgba(255,255,255,.88)!important;transition:.2s ease!important;
}
.sidebar a:hover{
  background:rgba(255,255,255,.075)!important;border-color:rgba(255,255,255,.10)!important;
  transform:translateX(-2px);
}
.sidebar a.active,.sidebar .active>a{
  color:#fff!important;
  background:linear-gradient(135deg,var(--erp-burgundy),var(--erp-red))!important;
  border-color:rgba(255,255,255,.14)!important;
  box-shadow:0 12px 28px rgba(167,25,33,.32),inset 0 1px rgba(255,255,255,.16);
}
.sidebar a.active:before,.sidebar .active>a:before{
  content:"";position:absolute;right:8px;top:50%;width:4px;height:22px;transform:translateY(-50%);
  border-radius:99px;background:#fff;box-shadow:0 0 12px rgba(255,255,255,.7);
}
.content{position:relative;padding:34px 36px 48px!important}
.page-heading,.welcome{
  position:relative;overflow:hidden;margin:0 0 26px!important;padding:28px 30px!important;
  border:1px solid rgba(255,255,255,.88);border-radius:20px!important;
  background:
    linear-gradient(135deg,rgba(255,255,255,.98),rgba(248,250,253,.94))!important;
  box-shadow:var(--erp-shadow)!important;text-align:right!important;
}
.page-heading:before,.welcome:before{
  content:"";position:absolute;right:0;top:0;bottom:0;width:5px;
  background:linear-gradient(180deg,var(--erp-gold),var(--erp-red));
}
.page-heading:after,.welcome:after{
  content:"";position:absolute;left:-55px;top:-75px;width:190px;height:190px;border-radius:50%;
  background:radial-gradient(circle,rgba(197,34,42,.10),rgba(197,34,42,0) 68%);
}
.page-heading h1,.page-heading h2,.welcome h1,.welcome h2{
  margin:0 0 7px!important;color:var(--erp-navy)!important;line-height:1.35;
}
.page-heading p,.welcome p{margin:0!important;color:var(--erp-muted)!important}
.panel,.form-panel,.feature-card,.card,.empty-state,.data-table-wrap{
  background:rgba(255,255,255,.96)!important;
  border:1px solid var(--erp-line)!important;border-radius:18px!important;
  box-shadow:var(--erp-shadow-sm)!important;
}
.panel,.form-panel,.empty-state{padding:24px!important}
.panel:hover,.feature-card:hover,.card:hover{
  border-color:rgba(167,25,33,.18)!important;box-shadow:var(--erp-shadow)!important;
}
.stats,.card-grid{gap:18px!important}
.stats>*,.feature-card,.card{
  position:relative;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.stats>*:hover,.feature-card:hover,.card:hover{transform:translateY(-3px)}
.stats>*:before,.feature-card:before{
  content:"";position:absolute;right:0;top:0;width:100%;height:4px;
  background:linear-gradient(90deg,var(--erp-burgundy),var(--erp-red),var(--erp-gold));
}
.section-tabs{
  display:flex!important;flex-wrap:wrap;gap:7px!important;width:max-content;max-width:100%;
  padding:6px!important;margin:0 0 20px!important;border:1px solid var(--erp-line);
  border-radius:15px!important;background:#fff!important;box-shadow:var(--erp-shadow-sm);
}
.section-tabs a{
  border:0!important;border-radius:10px!important;padding:11px 17px!important;
  color:var(--erp-muted)!important;background:transparent!important;transition:.18s ease!important;
}
.section-tabs a:hover{color:var(--erp-burgundy)!important;background:#fff4f4!important}
.section-tabs a.active,.section-tabs .active{
  color:#fff!important;background:linear-gradient(135deg,var(--erp-burgundy),var(--erp-red))!important;
  box-shadow:0 7px 18px rgba(167,25,33,.25)!important;
}
.data-table-wrap{overflow:auto!important;padding:0!important}
.data-table{width:100%!important;border-collapse:separate!important;border-spacing:0!important;background:#fff!important}
.data-table th{
  padding:15px 18px!important;color:var(--erp-navy)!important;font-size:.92rem!important;
  background:linear-gradient(180deg,#f8fafc,#f1f4f8)!important;
  border-bottom:1px solid #dfe4ec!important;white-space:nowrap;
}
.data-table td{
  padding:16px 18px!important;border-bottom:1px solid #edf0f4!important;background:#fff!important;
  transition:background .16s ease;
}
.data-table tbody tr:last-child td{border-bottom:0!important}
.data-table tbody tr:hover td{background:#fff8f8!important}
.data-table tbody tr:hover td:first-child{box-shadow:inset -3px 0 var(--erp-red)}
.entity-form input,.entity-form select,.entity-form textarea,
.form-panel input,.form-panel select,.form-panel textarea{
  min-height:46px;border:1px solid #d8dee8!important;border-radius:11px!important;
  background:#fbfcfe!important;color:var(--erp-ink)!important;
  box-shadow:inset 0 1px 2px rgba(23,32,51,.035);transition:.18s ease!important;
}
.entity-form input:hover,.entity-form select:hover,.entity-form textarea:hover,
.form-panel input:hover,.form-panel select:hover,.form-panel textarea:hover{border-color:#aeb8c8!important}
input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{
  outline:3px solid rgba(37,99,235,.33)!important;outline-offset:2px!important;
  border-color:#2563eb!important;box-shadow:0 0 0 4px rgba(37,99,235,.10)!important;
}
button,.action-button,.button-primary,.btn-primary,input[type=submit]{
  border:0!important;border-radius:11px!important;
  background:linear-gradient(135deg,var(--erp-burgundy),var(--erp-red))!important;color:#fff!important;
  box-shadow:0 9px 20px rgba(167,25,33,.23)!important;transition:.18s ease!important;
}
button:hover,.action-button:hover,.button-primary:hover,.btn-primary:hover,input[type=submit]:hover{
  transform:translateY(-2px);box-shadow:0 13px 27px rgba(167,25,33,.30)!important;
}
.notice{
  border:1px solid rgba(37,99,235,.16)!important;border-radius:13px!important;
  box-shadow:0 7px 18px rgba(23,32,51,.055)!important;
}
.empty-state{
  min-height:150px;display:grid;place-items:center;text-align:center;
  background:linear-gradient(145deg,#fff,#f8fafc)!important;
}
@media(max-width:900px){
  .content{padding:22px 16px 36px!important}
  .page-heading,.welcome{padding:22px 20px!important;border-radius:16px!important}
  .section-tabs{width:100%;overflow-x:auto;flex-wrap:nowrap}
  .section-tabs a{white-space:nowrap}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}


/* metric card stacking fix 2026-08-27 */
.stats article::before,.stats article::after{z-index:0!important;pointer-events:none}
.stats article>strong,.stats article>span{position:relative!important;z-index:2!important}
.stats article>strong{isolation:isolate}


/* actionable links and independent sidebar scroll 2026-08-27 */
@media (min-width:851px){
  .app-layout{align-items:start}
  .sidebar{
    position:sticky!important;
    top:76px!important;
    height:calc(100vh - 76px)!important;
    height:calc(100dvh - 76px)!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    scrollbar-color:rgba(255,255,255,.32) transparent;
    padding-bottom:38px!important;
  }
  .sidebar::-webkit-scrollbar{width:7px}
  .sidebar::-webkit-scrollbar-track{background:transparent}
  .sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.28);border-radius:99px}
  .sidebar::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.45)}
  .content{min-width:0}
}
.page-heading>div:last-child:not(:first-child),
.page-heading>div:has(>.button){
  display:flex;flex-wrap:wrap;gap:10px;align-items:center
}
a.button,.actions a{
  display:inline-flex!important;align-items:center;justify-content:center;gap:8px;
  min-height:44px;padding:10px 16px!important;border:1px solid rgba(167,25,33,.14)!important;
  border-radius:11px!important;color:#fff!important;text-decoration:none!important;font-weight:800;
  background:linear-gradient(135deg,var(--erp-burgundy),var(--erp-red))!important;
  box-shadow:0 8px 20px rgba(167,25,33,.22)!important;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;
}
a.button:before,.actions a:before{content:"+";font-size:1.15em;font-weight:400;line-height:1}
a.button:hover,.actions a:hover{
  transform:translateY(-2px);filter:saturate(1.08);
  box-shadow:0 13px 27px rgba(167,25,33,.29)!important
}
.data-table td a{
  display:inline-flex;align-items:center;justify-content:center;min-height:34px;
  padding:6px 11px;margin:2px;border:1px solid rgba(167,25,33,.22);border-radius:9px;
  color:var(--erp-burgundy)!important;background:#fff7f7;text-decoration:none!important;
  font-weight:750;line-height:1.35;transition:.16s ease
}
.data-table td a:hover{
  color:#fff!important;background:linear-gradient(135deg,var(--erp-burgundy),var(--erp-red));
  border-color:transparent;box-shadow:0 6px 15px rgba(167,25,33,.2);transform:translateY(-1px)
}
@media(max-width:850px){
  .sidebar{height:auto!important;max-height:55vh!important;overflow-x:auto!important;overflow-y:auto!important}
  .page-heading>div:has(>.button){width:100%}
  a.button{flex:1 1 160px}
}


/* mobile viewport containment and responsive layout 2026-08-31 */
html,body{max-width:100%;overflow-x:hidden}
.app-layout,.content,.page-heading,.welcome,.panel,.form-panel,.data-table-wrap{min-width:0;max-width:100%}
@media(max-width:850px){
  body{width:100%;overflow-x:hidden}
  .topbar{
    width:100%;min-width:0;min-height:68px!important;padding:8px 12px!important;
    gap:8px;flex-wrap:nowrap
  }
  .brand{min-width:0;flex:1;overflow:hidden;gap:8px}
  .brand-logo{width:42px;height:42px;flex:0 0 42px}
  .brand>div{min-width:0;overflow:hidden}
  .brand strong{font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .brand small{display:none!important}
  .userbox{flex:0 0 auto;gap:6px}
  .userbox>span{display:none!important}
  .userbox .link-button{min-height:36px;padding:7px 11px!important;font-size:.82rem}
  .app-layout{display:block!important;width:100%;min-height:calc(100dvh - 68px)}
  .mobile-nav-toggle{
    width:calc(100% - 24px);margin:10px 12px 0!important;top:68px!important;
    justify-content:flex-start!important;padding:0 16px!important
  }
  .sidebar{
    position:sticky!important;top:124px!important;width:calc(100% - 24px)!important;
    margin:0 12px!important;max-height:58dvh!important;border-radius:0 0 16px 16px;
    overflow-y:auto!important;overflow-x:hidden!important;flex-direction:column!important;
    padding:10px!important
  }
  .sidebar a,.sidebar span{white-space:normal!important;width:100%;flex:0 0 auto}
  .content{width:100%!important;max-width:100%!important;padding:16px 12px 30px!important;overflow:hidden}
  .page-heading,.welcome{
    width:100%;min-height:0!important;padding:22px 18px!important;margin-bottom:18px!important;
    border-radius:16px!important
  }
  .page-heading{display:flex!important;align-items:stretch!important;flex-direction:column!important}
  .page-heading h1,.welcome h1{font-size:clamp(1.45rem,7vw,2rem)!important}
  .page-heading p,.welcome p{font-size:.9rem;line-height:1.9;overflow-wrap:anywhere}
  .welcome:after{opacity:.48}
  .owner-badge{position:static!important;align-self:flex-start!important;margin-top:12px}
  .section-tabs{
    width:100%!important;max-width:100%!important;margin-bottom:16px!important;
    overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:thin;
    justify-content:flex-start!important
  }
  .section-tabs a{flex:0 0 auto}
  .stats,.card-grid,.compact-stats{grid-template-columns:1fr!important;width:100%}
  .stats article{width:100%;min-height:135px!important}
  .panel,.form-panel,.empty-state{width:100%;padding:16px!important}
  .data-table-wrap{
    display:block;width:100%!important;max-width:100%!important;overflow-x:auto!important;
    -webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain
  }
  .data-table{min-width:620px!important;width:max-content!important;max-width:none!important}
  .data-table th,.data-table td{padding:11px 12px!important;font-size:.86rem;white-space:normal}
  .entity-form,.form-stack{width:100%;min-width:0}
  .entity-form input,.entity-form select,.entity-form textarea,
  .form-stack input,.form-stack select,.form-stack textarea{width:100%;max-width:100%}
  .actions{display:flex;flex-wrap:wrap;gap:8px}
  .actions a,a.button{flex:1 1 145px}
}
@media(max-width:380px){
  .topbar{padding-inline:9px!important}
  .brand-logo{width:38px;height:38px;flex-basis:38px}
  .brand strong{font-size:.76rem}
  .content{padding-inline:9px!important}
  .mobile-nav-toggle,.sidebar{width:calc(100% - 18px)!important;margin-inline:9px!important}
}
/* Login experience refresh — 2026-08-31 */
.login-page{background:#10192d}.login-shell{padding:clamp(16px,3vw,44px);background:radial-gradient(circle at 14% 18%,#dc262652,transparent 31%),radial-gradient(circle at 83% 76%,#eab3082e,transparent 28%),linear-gradient(125deg,#0e1931fa,#330d18eb),url("../img/login-background.jpg") center/cover no-repeat fixed}.login-shell::before{background:linear-gradient(125deg,#0a1326db,#5a1120b3);backdrop-filter:blur(5px)}.login-shell::after{content:"";position:absolute;inset:0;z-index:-1;opacity:.16;background-image:radial-gradient(#ffffffb8 .7px,transparent .7px);background-size:22px 22px}
.login-frame{width:min(1080px,100%);min-height:min(720px,calc(100dvh - 56px));display:grid;grid-template-columns:minmax(0,1.08fr) minmax(400px,.92fr);direction:ltr;overflow:hidden;border:1px solid #ffffff47;border-radius:32px;background:#fff;box-shadow:0 38px 100px #01081875}
.login-showcase{direction:rtl;color:#fff;position:relative;overflow:hidden;padding:42px 46px 34px;display:flex;flex-direction:column;isolation:isolate;background:linear-gradient(155deg,#0c1b37f2,#2e1426ed 58%,#7f1d1de6),url("../img/login-background.jpg") center/cover}.login-showcase::before{content:"";position:absolute;z-index:-1;width:390px;height:390px;border-radius:50%;left:-155px;bottom:-160px;border:66px solid #f59e0b1c;box-shadow:0 0 0 46px #ffffff06}.login-showcase::after{content:"";position:absolute;z-index:-1;width:210px;height:210px;border-radius:52px;right:-92px;top:24%;transform:rotate(32deg);background:linear-gradient(145deg,#dc26267a,#f59e0b26)}
.login-brand{display:flex;align-items:center;gap:13px;z-index:1}.login-brand img{width:58px;height:58px;object-fit:contain;border-radius:16px;padding:5px;background:#fff;box-shadow:0 10px 30px #0004}.login-brand strong{display:block;font-size:.96rem;line-height:1.7}.login-brand span{display:block;margin-top:2px;color:#ffffffa3;font-size:.78rem}.login-showcase__content{margin:auto 0;z-index:1}.login-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:99px;color:#fde68a;background:#f59e0b1a;border:1px solid #f59e0b47;font-size:.76rem}.login-eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:#fbbf24;box-shadow:0 0 0 5px #fbbf241f}.login-showcase h2{margin:23px 0 15px;color:#fff;font-size:clamp(2rem,3.3vw,3.15rem);line-height:1.45;letter-spacing:-.035em}.login-showcase h2 em{color:#fca5a5;font-style:normal}.login-showcase__content>p{max-width:520px;margin:0;color:#ffffffb5;font-size:.91rem;line-height:2}
.login-features{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:30px}.login-features>div{padding:14px 12px;border:1px solid #ffffff1c;border-radius:15px;background:#ffffff12}.login-features b{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;background:#dc2626c7;margin-bottom:10px}.login-features strong{display:block;font-size:.76rem;white-space:nowrap}.login-features small{display:block;margin-top:6px;color:#ffffff94;line-height:1.7;font-size:.63rem}.login-showcase__footer{display:flex;align-items:center;gap:9px;color:#ffffff94;font-size:.75rem}.login-showcase__footer i{width:8px;height:8px;border-radius:50%;background:#34d399;box-shadow:0 0 0 5px #34d3991f}
.login-card{direction:rtl;width:auto;border:0;border-radius:0;box-shadow:none;text-align:right;padding:clamp(34px,4.2vw,56px) clamp(30px,4.3vw,58px) 28px;background:#fff;display:flex;flex-direction:column;justify-content:center}.login-card__top{display:none}.login-kicker{display:inline-block;color:var(--red);font-weight:800;font-size:.78rem;margin-bottom:7px}.login-heading h1{color:#17223b;font-size:clamp(1.75rem,3vw,2.35rem);letter-spacing:-.025em;margin:0 0 8px}.login-subtitle{color:#7a7180;font-size:.86rem;margin:0;line-height:1.8}.login-card .form-stack{margin-top:24px;gap:9px}.login-card .form-stack label{color:#374151;font-size:.82rem}.login-input-wrap{position:relative}.field-glyph{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:#9ca3af;z-index:1}.login-card .form-stack input{min-height:54px;padding:12px 47px 12px 14px;border:1.5px solid #e5e7eb;border-radius:13px;background:#f9fafb;transition:.2s}.login-card .form-stack input:hover{border-color:#d1d5db;background:#fff}.login-card .form-stack input:focus{border-color:#b91c1c;background:#fff;box-shadow:0 0 0 4px #b91c1c17}.login-label-row{display:flex;justify-content:space-between;align-items:center;margin-top:5px}.login-label-row a{color:#9f1239;font-size:.73rem;font-weight:700;text-decoration:none}.login-label-row a:hover{text-decoration:underline}.login-card .password-field input{padding-left:54px}.login-card .password-toggle{background:transparent;color:#6b7280}.login-card .password-toggle:hover{color:var(--red);background:#fff1f2}
.login-card .primary-button{min-height:55px;margin-top:12px;border-radius:13px;display:flex;align-items:center;justify-content:center;gap:12px;background:linear-gradient(135deg,#c81e2a,#8f1420);box-shadow:0 12px 24px #991b1b3b}.login-card .primary-button b{font-size:1.25rem;transition:.2s}.login-card .primary-button:hover b{transform:translateX(-4px)}.login-divider{display:flex;align-items:center;gap:12px;margin:21px 0 0;color:#9ca3af;font-size:.72rem}.login-divider::before,.login-divider::after{content:"";height:1px;flex:1;background:#eef0f3}.login-card .login-actions{margin-top:13px}.login-card .secondary-button{min-height:49px;border-radius:13px;display:flex;justify-content:center;gap:10px;background:#fff;border-color:#e5e7eb;color:#5b2630;font-size:.84rem;box-shadow:none}.login-card .secondary-button:hover{background:#fff6f7;border-color:#e7b2b8;box-shadow:0 8px 20px #7f1d1d14}.login-card .registration-note{display:flex;gap:8px;align-items:flex-start;margin-top:18px;padding:12px 13px;border:0;border-radius:11px;background:#f8fafc;color:#737985;font-size:.68rem}.login-card .registration-note>b{color:#9f1239}.login-card .registration-note p{margin:0;line-height:1.85}.login-card__trust{margin-top:20px;display:flex;justify-content:center;align-items:center;gap:8px;color:#9ca3af;font-size:.61rem}.login-card__trust i{width:3px;height:3px;border-radius:50%;background:#d1d5db}.login-card .alert{display:grid;gap:2px;margin-top:17px;border-radius:12px;border-right:4px solid #dc2626}.login-card .alert strong{font-size:.78rem}.login-card .alert span{font-size:.72rem}
@media(max-width:900px){.login-frame{width:min(510px,100%);min-height:auto;display:block;border-radius:25px}.login-showcase{display:none}.login-card{min-height:auto;padding:28px 30px 24px}.login-card__top{display:flex;align-items:center;justify-content:center;gap:11px;margin-bottom:24px}.login-logo{width:54px;height:54px;margin:0;border-radius:14px;border:1px solid #f0e4e6;box-shadow:0 7px 20px #400c161a}.login-card__top span{color:#6f1822;font-weight:800;font-size:.86rem}}
@media(max-width:520px){.login-shell{padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom));background-attachment:scroll;align-items:start}.login-frame{border-radius:20px}.login-card{padding:22px 18px 18px}.login-card__top{justify-content:flex-start;margin-bottom:19px}.login-heading h1{font-size:1.65rem}.login-subtitle{font-size:.8rem}.login-card .form-stack{margin-top:19px}.login-card__trust{flex-wrap:wrap}}
@media(max-height:720px) and (min-width:901px){.login-frame{min-height:650px}.login-showcase{padding-block:28px}.login-showcase h2{font-size:2.35rem;margin-block:16px 10px}.login-features{margin-top:18px}.login-card{padding-block:25px}}

@font-face{font-family:"Vazirmatn";src:url("../fonts/Vazirmatn.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap}@font-face{font-family:"Vazirmatn RD";src:url("../fonts/Vazirmatn-RD.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
.login-page,.login-page button,.login-page input{font-family:"Vazirmatn",Tahoma,sans-serif}.login-heading h1,.login-showcase h2,.login-brand strong{font-family:"Vazirmatn RD","Vazirmatn",Tahoma,sans-serif}.login-heading h1{font-weight:850}.login-showcase h2{font-weight:900}.login-divider{margin:22px 0 4px;gap:10px;color:#7f1d1d;font-size:.75rem;font-weight:750}.login-divider span{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border:1px solid #f0d7da;border-radius:999px;background:#fff8f8;box-shadow:0 4px 12px #7f1d1d0a}.login-divider span::before{content:"+";width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:#fee2e2;color:#b91c1c;font-size:.85rem;font-weight:900}.login-card .secondary-button{margin-top:2px;font-weight:800}

/* Global Persian typography and actionable signup CTA */
body,button,input,select,textarea{font-family:"Vazirmatn",Tahoma,"Segoe UI",sans-serif}h1,h2,h3,.brand strong,.welcome h1,.panel h2{font-family:"Vazirmatn RD","Vazirmatn",Tahoma,sans-serif;font-weight:800}.login-divider::before,.login-divider::after{display:none}.login-signup-cta{width:100%;min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border:1px solid #efc7cb;border-radius:13px;background:linear-gradient(135deg,#fff7f7,#fff);color:#7f1d1d;text-decoration:none;box-shadow:0 5px 14px #7f1d1d0d;transition:transform .18s,box-shadow .18s,border-color .18s}.login-signup-cta:hover{transform:translateY(-1px);border-color:#d98f97;box-shadow:0 9px 22px #7f1d1d1a}.login-signup-cta:active{transform:translateY(0)}.login-signup-cta span{padding:0;border:0;background:none;box-shadow:none}.login-signup-cta span::before{content:"+"}.login-signup-cta b{display:inline-flex;align-items:center;gap:5px;padding:7px 11px;border-radius:9px;background:#fee2e2;color:#991b1b;font-size:.72rem;white-space:nowrap}@media(max-width:420px){.login-signup-cta{align-items:flex-start;flex-direction:column}.login-signup-cta b{align-self:stretch;justify-content:center}}

/* Independent full-height desktop sidebar scroll */
@media(min-width:851px){.app-layout{align-items:start}.sidebar{position:sticky!important;top:76px!important;height:calc(100vh - 76px)!important;height:calc(100dvh - 76px)!important;max-height:calc(100dvh - 76px)!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b91c1c #151d30}.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-track{background:#151d30}.sidebar::-webkit-scrollbar-thumb{background:linear-gradient(#c51f2b,#8c1620);border-radius:99px;border:2px solid #151d30}}

/* Definitive fixed desktop shell: header + independently scrollable sidebar */
@media(min-width:851px){.topbar{position:fixed!important;top:0!important;right:0!important;left:0!important;width:100%!important;z-index:50!important}.app-layout{margin-top:76px!important;align-items:start!important}.sidebar{position:fixed!important;top:76px!important;right:0!important;bottom:0!important;width:250px!important;height:auto!important;min-height:0!important;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;z-index:40!important;overscroll-behavior-y:contain!important;padding-bottom:42px!important}.content{grid-column:2!important}}
@media(max-width:850px){.topbar{position:sticky!important;top:0!important;right:auto!important;left:auto!important}.app-layout{margin-top:0!important}.sidebar{position:sticky!important;right:auto!important;bottom:auto!important;width:calc(100% - 24px)!important;height:auto!important;max-height:58dvh!important}}

/* Shared operational forms: both handwritten labels and Django as_p fields. */
.content .form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:20px 24px;align-items:start;margin-block:20px}
.content form label{display:flex;flex-direction:column;gap:8px;min-width:0;line-height:1.7;font-weight:600}
.content .form-grid>p{display:flex;flex-direction:column;gap:8px;min-width:0;margin:0}
.content .form-grid>p>label{margin:0}
.content form :is(input,select,textarea):not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=submit]){box-sizing:border-box;display:block;width:100%;min-width:0;max-width:100%;min-height:46px;padding:10px 12px;border:1px solid #cbd3df;border-radius:10px;background:#fff;color:#17223b;font:inherit;line-height:1.5}
.content form textarea{min-height:100px;resize:vertical}
.content form :is(input,select,textarea):disabled{background:#f3f5f8;color:#536078}
.content form label:has(>input:is([type=checkbox],[type=radio])){flex-direction:row;align-items:center;gap:9px;font-weight:400}
.content form input:is([type=checkbox],[type=radio]){width:18px;height:18px;flex:none;accent-color:#b91c1c}
.content form :is(input,select,textarea)[aria-invalid=true]{border-color:#b91c1c}
.content form :is(.helptext,.form-help){font-size:.85rem;color:#5d6878;line-height:1.8}
.content .form-grid>button{align-self:end;justify-self:start;min-height:46px;margin:0}
.content .form-grid>:is(fieldset,.errorlist,.form-actions,.form-wide){grid-column:1/-1}
.content .errorlist{color:#a21424;margin-block:4px 8px;padding-inline-start:20px;line-height:1.8}
.content .form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:20px}
.content .inline-form{display:flex;gap:16px;align-items:end;flex-wrap:wrap;margin-block:16px}
.content .inline-form>label{flex:1 1 200px}
.content [hidden]{display:none!important}
@media(max-width:600px){.content .form-grid{grid-template-columns:minmax(0,1fr);gap:18px}.content .form-grid>button{justify-self:stretch}.content form :is(input,select,textarea){font-size:16px}.content .form-actions>*{flex:1 1 auto}}

.content fieldset{min-inline-size:0}.cashier-section{border:0;border-bottom:1px solid #e1e6ee;padding:18px 0 24px;margin:12px 0 24px}.cashier-section legend{font-size:1.1rem;font-weight:800;padding:0 0 8px;color:#17223b}.cashier-totals{display:flex;flex-wrap:wrap;gap:14px 28px;padding:16px;background:#f4f6fa;border-radius:12px}.cashier-dialog{width:min(960px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;box-sizing:border-box;border:1px solid #d7deea;border-radius:20px;padding:28px;color:#17223b;background:white;text-align:right;direction:rtl}.cashier-dialog::backdrop{background:rgba(15,23,42,.5)}.cashier-dialog .fin-cheque-row{border:1px solid #d7deea;border-radius:12px;padding:18px;margin:18px 0}.cashier-dialog h2{margin-top:0}@media(max-width:600px){.cashier-dialog{padding:18px;width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}}

.content a.primary-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;margin-top:0}.content .form-grid>p:has(>input:is([type=checkbox],[type=radio])){flex-direction:row;align-items:center}
