:root{--ink: #111827;--ink-soft: #4b5563;--ink-faint: #6b7280;--paper: #f5f7f9;--card: #ffffff;--line: #e4e8ec;--line-strong: #cdd4db;--green: #0d5c4d;--green-dark: #094539;--brand-plate: #07201e;--gold: #d8a858;--gold-bright: #e8b868;--gold-deep: #a8823c;--green-soft: #e9f3f0;--rust: #8f3d22;--rust-dark: #6f2e18;--rust-soft: #f9eee9;--red: #b3261e;--red-soft: #fdeeed;--amber: #8a5a00;--amber-soft: #fdf6e3;--accent: var(--green);--accent-dark: var(--green-dark);--accent-soft: var(--green-soft);--num: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--radius: 12px;--shadow: 0 1px 2px rgba(15, 23, 42, .05), 0 2px 8px rgba(15, 23, 42, .04)}[data-section=vendor]{--accent: var(--rust);--accent-dark: var(--rust-dark);--accent-soft: var(--rust-soft)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:Noto Naskh Arabic,system-ui,Segoe UI,Tahoma,sans-serif;font-size:16px;line-height:1.7;-webkit-text-size-adjust:100%}.dt,.amt,.wt,td.num,.total-box__value,.final-line__value{unicode-bidi:isolate;direction:ltr;font-variant-numeric:tabular-nums;white-space:nowrap}.dt,.wt,.amt,td.num,.picker__note,.cell-input,.total-box__value,.final-line__value{font-family:var(--num);font-feature-settings:"tnum" 1,"lnum" 1;font-variant-numeric:tabular-nums lining-nums}.amt--debt{color:var(--red);font-weight:600}.amt--credit{color:var(--green);font-weight:600}.amt--muted{color:var(--ink-faint)}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.topbar__inner{max-width:1100px;margin:0 auto;padding:0 16px;display:flex;align-items:center;gap:16px;min-height:56px}.brand{display:flex;align-items:center;gap:8px;font-weight:700;letter-spacing:.02em;color:var(--accent-dark);text-decoration:none;white-space:nowrap}.brand svg,.brand img{display:block}.brand__tile{background:var(--brand-plate);border-radius:8px;padding:5px 6px;display:grid;place-items:center;flex:none}.sections{display:flex;gap:4px;margin-inline-start:auto;overflow-x:auto}.sections a{padding:8px 14px;border-radius:999px;text-decoration:none;color:var(--ink-soft);font-weight:600;white-space:nowrap}.sections a:hover{background:var(--paper)}.sections a.is-active{background:var(--accent);color:#fff}.who{color:var(--ink-faint);font-size:14px;white-space:nowrap}.tabs{background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:56px;z-index:19}.tabs__inner{max-width:1100px;margin:0 auto;padding:0 16px;display:flex;gap:2px;overflow-x:auto}.tabs a{padding:10px 14px;text-decoration:none;color:var(--ink-soft);font-weight:600;border-bottom:3px solid transparent;white-space:nowrap}.tabs a.is-active{color:var(--accent-dark);border-bottom-color:var(--accent)}main{flex:1;max-width:1100px;width:100%;margin:0 auto;padding:20px 16px 60px}.page-head{margin-bottom:16px}.page-head h1{margin:0;font-size:22px}.page-head p{margin:4px 0 0;color:var(--ink-soft);font-size:14px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:16px;box-shadow:var(--shadow)}.card__title{margin:0 0 12px;font-size:16px;font-weight:700}.grid{display:grid;gap:16px}@media (min-width: 760px){.grid--2{grid-template-columns:1fr 1fr}.grid--3{grid-template-columns:repeat(3,1fr)}}.field{margin-bottom:12px}.field label{display:block;font-size:14px;font-weight:600;color:var(--ink-soft);margin-bottom:4px}.field input,.field select,.field textarea{width:100%;padding:10px 12px;border:1px solid var(--line-strong);border-radius:8px;background:#fff;font:inherit;color:var(--ink)}.field input[inputmode=decimal],.field input[inputmode=numeric],.field input[type=date]{direction:ltr;text-align:right;font-family:var(--num)}.field input:focus,.field select:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.field__hint{font-size:13px;color:var(--ink-faint);margin-top:4px}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.row>*{flex:1 1 160px}.checkbox{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;background:var(--amber-soft);border:1px solid #fde68a;border-radius:8px;margin-bottom:12px}.checkbox input{margin-top:6px;width:18px;height:18px;flex:0 0 auto}.checkbox span{font-size:14px;line-height:1.6}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;border:1px solid transparent;font:inherit;font-weight:700;cursor:pointer}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--small{padding:5px 10px;font-size:14px;font-weight:600}.table-wrap{overflow-x:auto;margin:0 -16px;padding:0 16px}table{width:100%;border-collapse:collapse;font-size:15px}th,td{padding:9px 10px;text-align:right;border-bottom:1px solid var(--line);vertical-align:middle}th{font-size:13px;color:var(--ink-soft);font-weight:700;background:var(--paper);white-space:nowrap}tbody tr:hover{background:#f8fafc}tr.is-total td{font-weight:700;border-top:2px solid var(--line-strong);background:var(--paper)}.row-actions{display:flex;gap:6px;justify-content:flex-start}.totals{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:16px}.total-box{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}.total-box__label{font-size:13px;color:var(--ink-soft);font-weight:600}.total-box__value{font-size:22px;font-weight:700;margin-top:2px}.total-box--accent{background:var(--accent-soft);border-color:var(--accent)}.total-box--debt .total-box__value{color:var(--red)}.final-line{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:14px 16px;border-radius:var(--radius);background:var(--accent-soft);border:1px solid var(--accent);margin-top:12px}.final-line__label{font-weight:700}.final-line__value{font-size:24px;font-weight:700}.pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:13px;font-weight:600;white-space:nowrap}.pill--wait{background:var(--amber-soft);color:var(--amber)}.pill--cash{background:var(--green-soft);color:var(--green-dark)}.pill--credit{background:var(--red-soft);color:var(--red)}.pill--done{background:#eceff1;color:var(--ink-soft)}.note{padding:11px 14px;border-radius:8px;font-size:14px;margin-bottom:12px;line-height:1.6}.note--warn{background:var(--amber-soft);color:#78350f;border:1px solid #fde68a}.note--error{background:var(--red-soft);color:#7f1d1d;border:1px solid #fecaca}.note--info{background:var(--accent-soft);color:var(--accent-dark);border:1px solid var(--line-strong)}.empty{padding:32px 16px;text-align:center;color:var(--ink-faint)}.picker{position:relative;min-width:0}.picker__value{font-family:inherit;font-size:17px;width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--line-strong);border-radius:8px;background:#fff;color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:start}.picker__value:hover{border-color:var(--ink-faint)}.picker.is-open .picker__value{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:1px}.picker__name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker__swap{font-size:14px;font-weight:600;color:var(--accent);flex:0 0 auto}.picker__panel{position:absolute;z-index:50;inset-inline-start:0;min-width:100%;width:340px;max-width:90vw;top:calc(100% + 5px);background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 28px #0f172a24;overflow:hidden}.picker__search{padding:9px;border-bottom:1px solid var(--line);background:#f8fafc}.picker__search input{width:100%;font:inherit;font-size:16px;min-height:42px;padding:8px 10px;border:1px solid var(--line-strong);border-radius:6px}.picker__list{max-height:44vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.picker__head{position:sticky;top:0;z-index:1;font-size:13px;font-weight:700;color:var(--ink-faint);padding:7px 14px 5px;background:#f1f5f9;border-bottom:1px solid var(--line)}.picker__opt{font-family:inherit;font-size:17px;width:100%;min-height:48px;padding:10px 14px;border:none;border-bottom:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:start}.picker__opt:last-child{border-bottom:none}.picker__opt.is-active{background:var(--accent-soft)}.picker__opt.is-chosen{font-weight:700}.picker__opt-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker__note{flex:0 0 auto;font-size:15px;font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate;font-family:var(--num);color:var(--ink-faint)}.picker__count{padding:8px 14px;font-size:14px;color:var(--ink-faint);background:#f8fafc}.amount-due{color:var(--red);font-weight:700}.amount-clear{color:var(--green);font-weight:700}.login{min-height:100vh;display:grid;place-items:center;padding:24px}.login__card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:28px;width:100%;max-width:360px;box-shadow:var(--shadow);text-align:center}.login__plate{background:var(--brand-plate);border-radius:12px;padding:20px 18px;margin-bottom:18px}.login__title{margin:0;font-size:0;line-height:0}.lockup{display:block;margin:0 auto;max-width:100%;height:auto}.login__sub{margin:0 0 20px;color:var(--ink-faint);font-size:14px}.login input{text-align:center;letter-spacing:.5em;font-size:22px;direction:ltr;font-family:var(--num)}.bar{height:8px;border-radius:4px;background:var(--accent);min-width:2px}.bar-cell{width:42%}@media print{.topbar,.tabs,.no-print{display:none!important}main{padding:0;max-width:none}.card{border:0;box-shadow:none;padding:0}.table-wrap{overflow:visible}}.bill{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);margin-bottom:16px}.letterhead{background:var(--brand-plate);color:var(--gold);padding:20px 22px 18px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;border-bottom:3px solid var(--gold-deep)}.letterhead .lockup{width:190px;max-width:70%}.letterhead.is-vendor{border-bottom-color:var(--rust)}.letterhead__tag{font-size:14px;color:var(--gold);opacity:.88;display:flex;align-items:center;gap:12px}.letterhead__tag:before,.letterhead__tag:after{content:"";width:26px;height:1px;background:var(--gold-deep)}.bill__body{padding:20px 22px 24px}.bill__meta{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-bottom:12px;margin-bottom:14px;border-bottom:2px solid var(--line)}.bill__who{font-size:21px;font-weight:700}.bill__when{color:var(--ink-soft);font-size:15px;text-align:left}.bill__section-title{font-size:18px;font-weight:700;margin:20px 0 8px;color:var(--green-dark)}.bill__section-title.is-vendor{color:var(--rust-dark)}.bill__foot{margin-top:26px;padding-top:16px;border-top:2px solid var(--line);display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}.bill__foot-note{font-size:14px;color:var(--ink-soft);max-width:340px}.sign{text-align:center;min-width:190px;margin-inline-start:auto}.sign__mark{font-family:Great Vibes,Segoe Script,Brush Script MT,cursive;font-size:40px;line-height:1.05;direction:ltr;color:var(--green-dark);padding-bottom:2px}.bill__foot.is-vendor .sign__mark{color:var(--rust-dark)}.sign__rule{border-bottom:1.5px solid var(--ink-faint)}.sign__label{font-size:13px;color:var(--ink-soft);margin-top:5px}tr.row-payment td{background:var(--green-soft)}tr.row-opening td{background:#f8fafc;color:var(--ink-soft);font-style:italic}.btn-row{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 10px}.btn--whatsapp{text-decoration:none}.btn__icon{flex:0 0 auto}.muted{color:var(--ink-faint)}.small{font-size:13px;line-height:1.7}.cell-input{border:1px solid var(--line);background:#fff;padding:5px 8px;border-radius:6px;font:inherit;direction:ltr;text-align:right;font-family:var(--num)}.cell-input:focus{outline:2px solid var(--accent);outline-offset:-1px}@media print{main:has(.bill)>*:not(.bill){display:none!important}body{background:#fff}.bill{border:0;box-shadow:none;border-radius:0;margin:0}.letterhead,tr.row-payment td,tr.row-opening td,thead th,.total-box,.final-line,.pill{-webkit-print-color-adjust:exact;print-color-adjust:exact}thead{display:table-header-group}tr,.total-box,.final-line{break-inside:avoid}.table-wrap{overflow:visible!important}}input.is-computed{background:var(--accent-soft);font-weight:700;border-color:var(--accent);direction:ltr;text-align:right;font-family:var(--num)}.name-cell{font-weight:600}.sections__short{display:none}@media (max-width: 767px){body{font-size:15px}.topbar__inner{padding:0 12px;gap:8px;min-height:52px}.brand{font-size:15px;gap:6px}.brand svg{width:22px;height:22px}.who{margin-inline-start:auto;font-size:13px}.topbar .btn--small{padding:6px 10px;white-space:nowrap}.sections{position:fixed;inset-inline:0;bottom:0;z-index:40;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:2px;padding:5px 5px calc(5px + env(safe-area-inset-bottom,0px));background:var(--card);border-top:1px solid var(--line-strong);box-shadow:0 -2px 12px #0f172a14;overflow:visible}.sections a{min-height:44px;display:flex;align-items:center;justify-content:center;padding:8px 4px;border-radius:8px;font-size:14px;text-align:center}.sections__long{display:none}.sections__short{display:inline}main{padding:14px 12px calc(86px + env(safe-area-inset-bottom,0px))}.tabs{top:52px}.tabs__inner{padding:0 12px;scrollbar-width:none}.tabs__inner::-webkit-scrollbar{display:none}.tabs a{padding:11px 12px;font-size:15px}.page-head h1{font-size:20px}.card{padding:13px;margin-bottom:13px}.row{gap:0}.row>*{flex:1 1 100%}.field{margin-bottom:10px}.field label{margin-bottom:3px}.field input,.field select,.field textarea,.picker__value,.picker__search input{font-size:16px;min-height:46px}.field>label:empty,.row .field>label:only-child{display:none}.btn{min-height:46px;padding:11px 16px}.btn--small{min-height:38px}.btn-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.btn-row>.btn:first-child{grid-column:1 / -1}.picker__panel{width:auto;inset-inline:0;max-width:none}.picker__list{max-height:50vh}.picker__opt{min-height:52px;font-size:16px}.picker__note{font-size:16px}.table-wrap{margin:0 -13px;padding:0 13px}table{font-size:14px}th,td{padding:8px 7px}th{font-size:12px}.col-extra{display:none}.bill .col-extra{display:table-cell}.totals{grid-template-columns:1fr 1fr;gap:8px}.total-box{padding:10px 11px}.total-box__value{font-size:19px}.final-line{padding:12px 13px}.final-line__value{font-size:21px}.letterhead{padding:16px 15px 14px;gap:8px}.letterhead .lockup{width:165px}.letterhead__tag{font-size:13px;gap:9px}.letterhead__tag:before,.letterhead__tag:after{width:18px}.bill__body{padding:15px 15px 18px}.bill__who{font-size:18px}.sign{min-width:150px}.sign__mark{font-size:32px}.login__card{padding:22px}}@media print{.sections{display:none!important}}.col-actions{width:150px}@media (max-width: 767px){.col-actions{width:auto}.row-actions,.col-actions .btn--small{font-size:13px}}@media (max-width: 767px){.totals>:last-child:nth-child(3){grid-column:1 / -1}}.btn{box-shadow:0 1px 2px #0f172a14;transition:background .12s ease,transform 60ms ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.btn:active:not(:disabled){transform:translateY(1px);box-shadow:none}.btn:disabled{opacity:.45;box-shadow:none}.picker__opt:active,.tabs a:active,.sections a:active{background:var(--accent-soft)}@media (max-width: 767px){.card>form>.btn,.card>form>.row>.field>.btn,.btn-row>.btn:first-child,.btn-row>.btn--whatsapp{width:100%}.btn-row .muted{grid-column:1 / -1;text-align:center}}.confirm-pair{display:inline-flex;gap:6px}@media (max-width: 767px){.confirm-pair{flex-direction:column;gap:4px}.confirm-pair .btn{min-height:34px;padding:4px 8px;white-space:nowrap}}:root{--btn: #17181a;--btn-hover: #000000;--surface-2: #f2f2f4;--paper: #f7f7f8;--line: #e8e8ea;--line-strong: #d6d6da;--radius: 16px;--shadow: 0 1px 2px rgba(23, 24, 26, .04), 0 6px 20px rgba(23, 24, 26, .06)}.topbar{background:var(--card);border-bottom:1px solid var(--line)}.brand{color:var(--ink)}.who{color:var(--ink-faint)}.topbar .btn--ghost{box-shadow:none}.tabs{background:var(--card);border-bottom:1px solid var(--line)}.tabs__inner{gap:7px;padding-top:9px;padding-bottom:9px}.tabs a{padding:8px 15px;border-radius:999px;border-bottom:0;background:var(--surface-2);color:var(--ink-soft);font-size:14px}.tabs a:hover{background:#e8e8ea;color:var(--ink)}.tabs a.is-active{background:var(--btn);color:#fff;border-bottom:0;font-weight:700}.tabs a:active{background:#e0e0e4}.btn{background:var(--btn);color:#fff;border-radius:999px;border-color:transparent;box-shadow:none}.btn:hover:not(:disabled),.btn:active:not(:disabled){background:var(--btn-hover);color:#fff}.btn--ghost{background:var(--surface-2);color:var(--ink);border-color:transparent}.btn--ghost:hover:not(:disabled),.btn--ghost:active:not(:disabled){background:#e8e8ea;color:var(--ink)}.btn--danger{background:var(--red-soft);color:var(--red);border-color:transparent}.btn--danger:hover:not(:disabled),.btn--danger:active:not(:disabled){background:#fadedc;color:var(--red)}.btn--whatsapp{background:#0f7d6f;color:#fff}.btn--whatsapp:hover:not(:disabled),.btn--whatsapp:active:not(:disabled){background:#0b6257;color:#fff}.field input:focus,.field select:focus,.picker.is-open .picker__value{outline-color:var(--btn);border-color:var(--btn)}.sections a{background:transparent;color:var(--ink-soft)}.sections a:hover{background:var(--surface-2);color:var(--ink)}.sections a.is-active{background:var(--accent);color:#fff;font-weight:700}.picker__value,.picker__panel,.field input,.field select,.field textarea,.total-box,.note,.final-line,.checkbox{border-radius:12px}.total-box--accent{background:var(--card);border-color:var(--btn)}@media (max-width: 767px){.sections{inset-inline:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));padding:6px;background:var(--card);border:1px solid var(--line);border-radius:999px;box-shadow:0 4px 22px #17181a24}.sections a{border-radius:999px}.sections a:active{background:var(--surface-2)}main{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}}.field input[type=date]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;min-width:0;max-width:100%;box-sizing:border-box;text-align:right;padding:10px 12px;line-height:inherit}.row>*,.field{min-width:0}.field input[type=date]::-webkit-calendar-picker-indicator{opacity:.45;cursor:pointer}.field input[type=date]::-webkit-date-and-time-value{text-align:right}
