/*! Khatabahi Books — © 2026 Khatabahi Taxpert Solution Pvt. Ltd. All rights reserved. Developed by Khatabahi Taxpert Solution Pvt. Ltd. Unauthorised copying, reverse engineering or redistribution is prohibited. */
/* Khatabahi Books v1.1.0 — shared stylesheet. Brand: navy + gold. Warm off-white page, white cards, clear hierarchy.
   All colours are tokens; text contrast checked ≥ 4.5:1 (see tests/contrast.php). Printed documents keep their own black-on-white CSS. */
:root{
 --navy:#0b1f3a;--navy2:#153a6b;--navy3:#1f4f8f;--navyink:#0b1f3a;
 --gold:#c9a227;--gold2:#a8841c;--goldtext:#7d6212;--goldsoft:#fbf3dc;--goldline:#e7d28a;
 --bg:#f6f4ee;--bg2:#efece4;--card:#ffffff;--ink:#1a2233;--ink2:#2f3a4d;--muted:#5b6678;--line:#e3e0d7;--line2:#cfcabd;
 --ok:#1b6b3a;--okbg:#e6f4ea;--okline:#b5dcc1;--warn:#7a4e00;--warnbg:#fff4d6;--warnline:#efd28a;--err:#a11b2b;--errbg:#fde9eb;--errline:#f1b6bd;
 --info:#1f4f8f;--infobg:#e8f0fb;--teal:#0f6e63;--tealbg:#e3f3f0;--plum:#5b3a8a;--plumbg:#efe8f8;
 --r:12px;--rs:8px;--sh:0 1px 2px rgba(11,31,58,.06),0 4px 14px rgba(11,31,58,.06);--sh2:0 8px 28px rgba(11,31,58,.14);
 --focus:0 0 0 3px rgba(168,132,28,.95);
}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:60px}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans","Helvetica Neue",Arial,sans-serif;font-size:15px;color:var(--ink);background:var(--bg);line-height:1.45}
a{color:var(--navy2);text-decoration-thickness:1px;text-underline-offset:2px}a:hover{color:var(--navy3)}
h1{font-size:1.5rem;margin:.2rem 0 .8rem;letter-spacing:-.01em;color:var(--navy)}h1 small,h2 small{font-size:.78rem;color:var(--muted);font-weight:500;margin-left:.45rem;letter-spacing:0}
h2{font-size:1.12rem;margin:1.5rem 0 .6rem;color:var(--navy)}h3{font-size:1rem;margin:1rem 0 .45rem;color:var(--ink2)}
:focus-visible{outline:none;box-shadow:var(--focus)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:none;box-shadow:var(--focus)}
.wrap{max-width:1180px;margin:0 auto;padding:16px 14px 120px}

/* ---- header band ---- */
.top{background:linear-gradient(100deg,var(--navy) 0%,var(--navy2) 70%,#1a447c 100%);color:#fff;display:flex;align-items:center;gap:14px;padding:10px 16px;position:sticky;top:0;z-index:20;border-bottom:3px solid var(--gold);box-shadow:0 2px 10px rgba(11,31,58,.25)}
.top .brand a{color:#fff;text-decoration:none;font-weight:800;letter-spacing:.2px;font-size:1.08rem;display:inline-flex;align-items:center;gap:8px}.top .brand span{color:var(--gold)}
.top .brand a::before{content:'';width:26px;height:26px;border-radius:7px;background:var(--gold);flex:none;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h11a3 3 0 0 1 3 3v13H7a3 3 0 0 1-3-3z'/%3E%3Cpath d='M8 8h6M8 12h6'/%3E%3C/svg%3E") center/20px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h11a3 3 0 0 1 3 3v13H7a3 3 0 0 1-3-3z'/%3E%3Cpath d='M8 8h6M8 12h6'/%3E%3C/svg%3E") center/20px no-repeat}
.top .ctx{flex:1;min-width:0;display:flex;align-items:center;gap:8px}
.top .bizname{color:#fff;text-decoration:none;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14)}.top .bizname:hover{background:rgba(255,255,255,.18);color:#fff}
.top .fy{background:var(--gold);color:var(--navy);border-radius:999px;padding:2px 9px;font-size:.74rem;font-weight:800;white-space:nowrap;letter-spacing:.2px}
.top .user{display:flex;gap:4px;align-items:center;font-size:.86rem}.top .user a{color:#e3e9f3;text-decoration:none;padding:5px 9px;border-radius:8px}.top .user a:hover{color:#fff;background:rgba(255,255,255,.12)}.top .uname{color:#fff;font-weight:600;padding:0 6px}
.biznav{background:var(--card);border-bottom:1px solid var(--line);position:relative;box-shadow:0 1px 0 rgba(11,31,58,.03)}
.biznav .inner{max-width:1180px;margin:0 auto;display:flex;gap:2px;overflow-x:auto;padding:0 8px;scrollbar-width:none}.biznav .inner::-webkit-scrollbar{display:none}
.biznav a{color:var(--ink2);text-decoration:none;padding:11px 13px 9px;font-size:.92rem;font-weight:600;white-space:nowrap;border-bottom:3px solid transparent;transition:color .15s,border-color .15s}.biznav a:hover{color:var(--navy)}.biznav a.on{color:var(--navy);border-bottom-color:var(--gold)}.biznav a.modesw{margin-left:auto;color:var(--goldtext)}
.navcue{display:none;position:absolute;right:0;top:0;bottom:0;width:36px;background:linear-gradient(90deg,rgba(255,255,255,0),var(--card) 60%);color:var(--gold2);font-size:1.4rem;line-height:40px;text-align:right;padding-right:8px;pointer-events:none}.biznav.more .navcue{display:block}
.foot{text-align:center;color:var(--muted);font-size:.78rem;padding:18px 14px}.foot a{color:var(--muted)}

/* ---- messages ---- */
.flash{padding:10px 14px 10px 40px;border-radius:var(--rs);margin:0 0 12px;border:1px solid;position:relative;line-height:1.4}
.flash::before{content:'';position:absolute;left:12px;top:11px;width:18px;height:18px;border-radius:50%;background:currentColor;-webkit-mask:center/18px no-repeat;mask:center/18px no-repeat}
.flash.ok{background:var(--okbg);color:var(--ok);border-color:var(--okline)}.flash.ok::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m8 12 3 3 5-6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m8 12 3 3 5-6'/%3E%3C/svg%3E")}
.flash.warn{background:var(--warnbg);color:var(--warn);border-color:var(--warnline)}.flash.warn::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 2 20h20z'/%3E%3Cpath d='M12 9v5M12 17h.01'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 2 20h20z'/%3E%3Cpath d='M12 9v5M12 17h.01'/%3E%3C/svg%3E")}
.flash.err{background:var(--errbg);color:var(--err);border-color:var(--errline)}.flash.err::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 9 6 6M15 9l-6 6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 9 6 6M15 9l-6 6'/%3E%3C/svg%3E")}
.flash.info{background:var(--infobg);color:var(--info);border-color:#bcd0ee}.flash.info::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 11v6M12 7h.01'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 11v6M12 7h.01'/%3E%3C/svg%3E")}
.flash ul{margin:4px 0 0 18px;padding:0}.flash a{color:inherit;font-weight:600}.flash .btn{margin-left:6px}

/* ---- page head / actions ---- */
.pagehead{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px}.pagehead h1{flex:1;margin:0;min-width:200px}.actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.actions.sticky{position:sticky;bottom:0;background:linear-gradient(transparent,var(--bg) 30%);padding:12px 0 8px;margin-top:8px;z-index:5}.actions.sticky .btn.big{flex:0 0 auto;min-width:220px}

/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--card);border:1px solid var(--line2);color:var(--navy);padding:8px 14px;border-radius:var(--rs);text-decoration:none;font-size:.92rem;cursor:pointer;line-height:1.2;font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s,transform .05s;font-family:inherit}
.btn:hover{border-color:var(--navy2);background:#fbfaf7;color:var(--navy)}.btn:active{transform:translateY(1px)}
.btn.primary{background:var(--navy);color:#fff;border-color:var(--navy);box-shadow:0 2px 6px rgba(11,31,58,.22)}.btn.primary:hover{background:var(--navy2);border-color:var(--navy2);color:#fff}
.btn.gold{background:var(--gold);color:var(--navy);border-color:var(--gold)}.btn.gold:hover{background:#d8b23a;color:var(--navy)}
.btn.sm{padding:5px 10px;font-size:.82rem;border-radius:7px}.btn.big{padding:16px 18px;font-size:1.05rem;flex:1;text-align:center;min-width:130px;border-radius:var(--r);box-shadow:var(--sh)}
.btn.on{background:var(--gold);border-color:var(--gold);color:var(--navy);box-shadow:0 2px 8px rgba(201,162,39,.35)}.btn.on:hover{background:#d8b23a}
.btn.danger{background:var(--err);border-color:var(--err);color:#fff}.btn.danger:hover{background:#8a1624;color:#fff}.btn.wa{background:#15803d;border-color:#15803d;color:#fff}.btn.wa:hover{background:#116a32;color:#fff}.btn[disabled]{opacity:.6;cursor:wait}
.btn svg,.tile svg,.ico{width:1.15em;height:1.15em;flex:none;vertical-align:-.2em}.btn.big svg{width:1.6em;height:1.6em}
.quick{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 12px}.quick.small .btn{flex:0 0 auto}
.quick .btn.big{flex-direction:column;gap:6px;padding:16px 12px;min-width:120px;background:var(--card);border:1px solid var(--line)}.quick .btn.big svg{width:2rem;height:2rem;color:var(--gold2)}.quick .btn.big:hover{border-color:var(--gold);box-shadow:var(--sh2)}.quick .btn.big.on{background:var(--navy);color:#fff;border-color:var(--navy)}.quick .btn.big.on svg{color:var(--gold)}

/* ---- dashboard tiles ---- */
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:8px 0}
.tile{position:relative;background:var(--card);border:1px solid var(--line);border-left:5px solid var(--navy2);border-radius:var(--r);padding:12px 14px 12px 14px;text-decoration:none;color:var(--ink);box-shadow:var(--sh);display:block;overflow:hidden}
.tile .k{font-size:.76rem;color:var(--muted);font-weight:600;letter-spacing:.2px;display:flex;align-items:center;gap:6px}.tile .k svg{color:var(--navy2)}.tile .v{font-size:1.25rem;font-weight:800;font-variant-numeric:tabular-nums;margin-top:4px;color:var(--navy);letter-spacing:-.01em}.tile .s{font-size:.72rem;color:var(--muted);margin-top:2px}
a.tile:hover{box-shadow:var(--sh2);border-color:var(--line2)}
.tile.gold{border-left-color:var(--gold);background:linear-gradient(180deg,#fffdf5,#fff)}.tile.gold .k svg{color:var(--gold2)}
.tile.sales{border-left-color:var(--gold)}.tile.sales .k svg{color:var(--gold2)}
.tile.in{border-left-color:var(--ok)}.tile.in .k svg,.tile.in .v{color:var(--ok)}
.tile.out{border-left-color:var(--err)}.tile.out .k svg,.tile.out .v{color:var(--err)}
.tile.gst{border-left-color:var(--plum)}.tile.gst .k svg{color:var(--plum)}
.tile.cash{border-left-color:var(--teal)}.tile.cash .k svg{color:var(--teal)}
.tile .v.neg{color:var(--err)}.tile .v .sign{font-size:.85em;margin-right:2px}
.tiles.small .tile .v{font-size:1rem}

/* ---- cards ---- */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;text-decoration:none;color:var(--ink);display:block;margin:0 0 12px;box-shadow:var(--sh)}
.card .t{font-weight:700;color:var(--navy)}.card .m,.card .m2{font-size:.82rem;color:var(--muted);margin-top:3px}
a.card:hover,.card.biz:hover{border-color:var(--gold);box-shadow:var(--sh2)}
.cards .card{margin:0;position:relative;padding-left:18px}.cards .card::before{content:'';position:absolute;left:0;top:12px;bottom:12px;width:4px;border-radius:0 4px 4px 0;background:var(--gold)}
section.card h2{margin-top:0}section.card{padding:16px 18px}

/* ---- filters / forms ---- */
.filters{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px;align-items:center}.filters input,.filters select{padding:8px 10px;border:1px solid var(--line2);border-radius:var(--rs);font-size:.95rem;background:var(--card);min-width:0;color:var(--ink);font-family:inherit}.filters input[type=search]{flex:1;min-width:160px}.filters label{font-size:.85rem;color:var(--muted);display:inline-flex;gap:6px;align-items:center}
.form label{display:block;font-size:.85rem;color:var(--muted);margin-bottom:12px;font-weight:600}.form label>input,.form label>select,.form label>textarea,.form label>.row{display:block;width:100%;margin-top:4px;color:var(--ink);font-size:1rem;font-weight:400}
.form input:not([type=checkbox]):not([type=radio]),.form select,.form textarea{padding:10px 11px;border:1px solid var(--line2);border-radius:var(--rs);background:var(--card);font-size:1rem;font-family:inherit;max-width:100%;color:var(--ink);transition:border-color .15s,box-shadow .15s}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--gold);box-shadow:var(--focus)}
.form input[readonly]{background:var(--bg2)}
.form .row{display:flex;gap:6px}.form .row input{flex:1}.form .row select{width:auto}
.form label.chk{display:flex;align-items:center;gap:8px;color:var(--ink);font-size:.95rem;align-self:end;font-weight:500}.form label.chk input{width:auto;margin:0;width:18px;height:18px;accent-color:var(--navy2)}.form label.chk.big{font-size:1.05rem;padding:8px 0}.form label.chk.inline{display:inline-flex;margin-right:10px}
.form small{display:block;color:var(--muted);font-size:.78rem;margin-top:4px;font-weight:400}.form fieldset{border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;margin:0 0 12px;background:var(--card)}.form legend{font-size:.85rem;color:var(--navy2);font-weight:700;padding:0 6px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:6px 14px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:0 12px}.span2{grid-column:span 2}.span3{grid-column:span 3}
.inline{display:inline}.inline3{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}.inline3 label{margin:0}
.fysw select{padding:7px 9px;border:1px solid var(--line2);border-radius:var(--rs);background:var(--card);font-weight:700;color:var(--navy);font-family:inherit}
.seg{display:flex;gap:0;border:1px solid var(--line2);border-radius:var(--rs);overflow:hidden;width:max-content;margin-top:4px;background:var(--card)}.seg label{margin:0;padding:9px 16px;cursor:pointer;color:var(--ink);font-size:1rem;display:flex;align-items:center;gap:6px;font-weight:500}.seg label:has(input:checked){background:var(--navy);color:#fff}.seg input{accent-color:var(--gold)}
.bigin{font-size:1.4rem!important;font-weight:700}
.keys{font-size:.75rem;display:block;margin-top:4px;width:100%;color:var(--muted)}
.simple h2{color:var(--navy)}.simple h3{margin-top:1.2rem;padding-bottom:4px;border-bottom:1px solid var(--line)}
.vtypes .btn{padding:6px 10px}

/* ---- tables ---- */
.tbl{width:100%;border-collapse:separate;border-spacing:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;font-size:.9rem;margin:0 0 12px;box-shadow:var(--sh)}
.tbl th,.tbl td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.tbl th{background:#f3f1ea;color:var(--navy);font-size:.74rem;text-transform:uppercase;letter-spacing:.5px;font-weight:700;position:sticky;top:0;z-index:2;border-bottom:2px solid var(--line2)}
.tbl tbody tr:nth-child(even) td{background:#faf9f6}.tbl tbody tr:hover td{background:var(--goldsoft)}
.tbl tr:last-child td{border-bottom:0}.tbl .r{text-align:right}.num{font-variant-numeric:tabular-nums;text-align:right}.tbl tr.tot td{font-weight:700;background:#f3f1ea!important;border-top:2px solid var(--navy2);color:var(--navy)}
.tbl tr.dayhead td{background:#f3f5f9!important;font-weight:600}.tbl tr.cancelled td{color:#8a93a3;text-decoration:line-through}.tbl tr.cancelled td .tag{text-decoration:none}.tbl.sm td{padding:4px 7px;font-size:.82rem}
.tbl td a{font-weight:600;text-decoration:none}.tbl td a:hover{text-decoration:underline}
.tbl.lines input,.tbl.lines select{padding:7px 8px;border:1px solid var(--line2);border-radius:7px;width:100%;min-width:60px;font-size:.95rem;background:var(--card);font-family:inherit}.tbl.lines input:focus,.tbl.lines select:focus{border-color:var(--gold);box-shadow:var(--focus);outline:none}.tbl.lines input.num{text-align:right}.tbl.lines td{padding:4px 5px}.tbl.lines input.unit,.tbl.lines input.gst{width:5.5em;min-width:0}.tbl.lines input.qty{width:6em;min-width:0}.tbl.lines input.hsn{width:7em;min-width:0}
.tbl.lines tbody tr:nth-child(even) td,.tbl.lines tbody tr:hover td{background:transparent}
.tw{overflow:auto;-webkit-overflow-scrolling:touch;max-height:calc(100vh - 150px);border-radius:var(--r);margin-bottom:12px}.tw .tbl{margin-bottom:0}
.x{border:0;background:transparent;color:var(--err);font-size:1.2rem;cursor:pointer;padding:0 6px;border-radius:6px}.x:hover{background:var(--errbg)}
.tag{display:inline-block;background:#e9edf4;color:var(--navy2);border-radius:999px;padding:1px 8px;font-size:.72rem;font-weight:700;vertical-align:middle;line-height:1.5}.tag.red{background:var(--errbg);color:var(--err)}.tag.green{background:var(--okbg);color:var(--ok)}.tag.gold{background:var(--goldsoft);color:var(--goldtext)}.tag.amber{background:var(--warnbg);color:var(--warn)}
.muted{color:var(--muted)}.empty{color:var(--muted);padding:34px;text-align:center;background:var(--card);border:1px dashed var(--line2);border-radius:var(--r)}.neg{color:var(--err)}.hidden{display:none!important}
.kv>div{padding:5px 0}.kv b{color:var(--muted);font-weight:600;font-size:.76rem;display:block;text-transform:uppercase;letter-spacing:.3px}
.tform{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tform h3{margin:6px 0}
pre{background:#0f1a2b;color:#e6edf7;padding:12px;border-radius:var(--rs);overflow:auto;font-size:.8rem}pre.code{user-select:all}code{background:var(--bg2);padding:1px 5px;border-radius:4px;font-size:.9em}
details.danger{margin-top:20px;border:1px dashed var(--errline);border-radius:var(--r);padding:8px 12px;background:#fffafa}details.danger summary{color:var(--err);cursor:pointer;font-weight:600}
details.hist{border:1px solid var(--line);border-radius:var(--r);background:var(--card);padding:8px 12px;margin-bottom:8px}details.hist summary{cursor:pointer}
details.inline{display:inline-block}details.inline summary{list-style:none;display:inline-block}
.dlg{position:fixed;inset:0;background:rgba(11,31,58,.55);display:flex;align-items:center;justify-content:center;z-index:50;padding:12px}.dlgbox{background:var(--card);border-radius:16px;padding:18px;width:100%;max-width:460px;max-height:92vh;overflow:auto;box-shadow:var(--sh2)}
.fl{display:block;font-size:.7rem;color:var(--muted);margin:0;font-weight:600}.fl input,.fl span{display:block;margin-top:2px;font-size:1rem;color:var(--ink);font-weight:400}.fl span{text-align:right;font-weight:700}
.stickytotal{margin-right:auto;font-size:1.05rem;color:var(--ink2)}.stickytotal b{font-size:1.25rem;color:var(--navy)}
.tbl.simplelines thead{display:none}.tbl.simplelines tr.line{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;padding:8px 6px;border-bottom:1px solid var(--line)}.tbl.simplelines tr.line td{border:0;padding:2px}.tbl.simplelines tr.line td:first-child{grid-column:span 3}.tbl.simplelines tr.line td:nth-child(6){grid-column:span 2}.tbl.simplelines tfoot tr{display:grid;grid-template-columns:1fr 110px;gap:8px}.tbl.simplelines tfoot td{border:0;padding:4px 6px}.tbl.simplelines tfoot td:last-child{display:none}.tbl.simplelines tfoot td.num{text-align:right;white-space:nowrap}.tbl.simplelines tfoot td.r{text-align:right}
.neg,.warnneg{color:var(--err)}.warnneg::before{content:'⚠ ';}
body:not(.showzero) tr.zero{display:none}
.tform table,.vform{table-layout:fixed}.tform td:first-child,.vform td:first-child{word-break:break-word}
.tform td.num,.vform td.num,.tbl td.num{white-space:nowrap}
.steps{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 14px;padding:0;list-style:none}.steps li{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:.82rem;color:var(--muted);font-weight:600}.steps li.on{background:var(--navy);color:#fff;border-color:var(--navy)}.steps li.done{color:var(--ok);border-color:var(--okline)}
.prog{height:8px;background:var(--bg2);border-radius:999px;overflow:hidden}.prog>i{display:block;height:100%;background:var(--gold)}
.dropzone{border:2px dashed var(--line2);border-radius:var(--r);padding:22px;text-align:center;background:var(--card);color:var(--muted)}.dropzone input{margin-top:8px}
.sidebyside{display:grid;grid-template-columns:1fr 1fr;gap:14px}.sidebyside img{max-width:100%;border:1px solid var(--line);border-radius:var(--r);background:#fff}
/* auth */
.authpage{background:#071428 radial-gradient(1200px 600px at 20% -10%,#1f4f8f 0%,var(--navy) 55%,#071428 100%) no-repeat;min-height:100vh}.authpage .wrap{max-width:none;padding:0}
.authbox{background:var(--card);max-width:420px;margin:48px auto;padding:28px 26px;border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.4);border-top:5px solid var(--gold)}.authbox.wide{max-width:720px}.authbox h1{font-size:1.2rem}.authbox .links{font-size:.88rem;text-align:center;color:var(--muted)}.authbox .btn.primary{width:100%;padding:12px;font-size:1.02rem}
.tagline{text-align:center;color:var(--muted);font-size:.8rem;margin:-2px 0 14px}
.logo{font-size:1.7rem;font-weight:800;color:var(--navy);text-align:center;margin-bottom:6px;letter-spacing:-.02em}.logo .gold{color:var(--goldtext)}
.authpage .foot{color:#aebbd0}.authpage .foot a{color:#aebbd0}
.savestate{position:fixed;right:12px;bottom:12px;background:var(--navy);color:#fff;padding:8px 14px;border-radius:999px;font-size:.82rem;z-index:60;opacity:0;transition:opacity .2s;box-shadow:var(--sh2)}.savestate.show{opacity:1}

@media (max-width:760px){
 body{font-size:15px}.grid2,.grid3,.grid4{grid-template-columns:1fr}.span2,.span3{grid-column:auto}.tform{grid-template-columns:1fr}
 .wrap{padding:12px 12px 120px;overflow-x:hidden}
 .top{padding:9px 12px;gap:8px;position:static}.top .user .uname{display:none}.top .ctx .fy{display:none}.top .user a{padding:5px 6px;font-size:.82rem}.top .brand a{font-size:.98rem}.top:has(.ctx) .brand .bt{display:none}.top .bizname{padding:3px 9px;font-size:.9rem}
 .biznav{position:relative}.biznav a{padding:10px 11px 8px}
 .tbl{display:block;overflow-x:auto;white-space:nowrap}.tbl.lines{white-space:normal}.tbl th{position:static}
 .tbl.lines thead{display:none}.tbl.lines tr.line,.tbl.lines tr.eline{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;padding:8px 6px;border-bottom:1px solid var(--line)}.tbl.lines tr.line td,.tbl.lines tr.eline td{border:0;padding:2px}.tbl.lines tr.line td:first-child{grid-column:span 3}.tbl.lines tr.eline td:first-child{grid-column:span 3}
 .tbl.lines td.taxable::before{content:'Taxable ';color:var(--muted);font-size:.75rem}.tbl.lines td.tax::before{content:'Tax ';color:var(--muted);font-size:.75rem}.tbl.lines input::placeholder{color:#9aa5b8}
 .tbl.lines tfoot tr{display:flex;justify-content:space-between}.tbl.lines tfoot td{border:0}
 .btn.big{min-width:45%}.quick .btn.big{min-width:calc(50% - 5px)}.actions.sticky .btn.big{flex:1}.actions.sticky{position:fixed;left:0;right:0;bottom:0;padding:10px 12px;background:var(--card);border-top:1px solid var(--line);box-shadow:0 -4px 20px rgba(0,0,0,.08)}.actions.sticky .keys{display:none}
 .authbox{margin:16px 12px;padding:22px 18px}
 .tiles{grid-template-columns:1fr 1fr;gap:8px}.tile{padding:10px 10px 10px 12px}.tile .v{font-size:1.08rem}
 .tw{max-height:none}
 .tbl.rpt{display:table;width:100%;white-space:normal;table-layout:fixed}.tbl.rpt th,.tbl.rpt td{padding:7px 6px;font-size:.88rem;word-break:break-word}.tbl.rpt td.num,.tbl.rpt th.r{white-space:nowrap;width:34%}
 .tbl.rpt.tb td:nth-child(2),.tbl.rpt.tb th:nth-child(2){display:none}
 .actions.sticky .stickytotal{order:-1;width:100%;text-align:right;padding-bottom:4px}
 .pagehead h1{font-size:1.25rem}
 .sidebyside{grid-template-columns:1fr}
}
@media print{.top,.biznav,.actions,.filters,.foot,.noprint,.savestate{display:none!important}body{background:#fff;color:#000}.wrap{padding:0;max-width:none}.tbl{font-size:11px;box-shadow:none;border-color:#999}.tbl th{position:static;background:#eee;color:#000}.tbl tbody tr:nth-child(even) td{background:#fff}.tile,.card{box-shadow:none}}
/* v1.16.1 Khatabahi One plan banners */
.flash.kb1ro b,.flash.kb1share b{margin-right:4px}.kb1shared .tag{display:inline-block;padding:2px 8px;border-radius:999px;background:#FBF3D9;color:#7A5F0B;font-size:.76rem;font-weight:700}
