*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:'DM Sans',sans-serif;background:#F9FAFB;color:#111827;min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:20px 16px;}
.topbar{width:100%;max-width:400px;display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;margin-top:8px;}
.logo{display:flex;align-items:center;gap:8px;}
.lang-switch{display:flex;gap:2px;}
.lang-flag{background:none;border:none;font-size:19px;line-height:1;cursor:pointer;padding:4px 3px;border-radius:8px;opacity:.45;transition:opacity .15s,background .15s;}
.lang-flag.on{opacity:1;background:#EAF0EB;}
.lang-flag:hover{opacity:.85;}
.logo-icon{width:36px;height:36px;background:linear-gradient(135deg,#6B8F71,#557A5C);border-radius:10px;display:flex;align-items:center;justify-content:center;}
.logo-name{font-size:18px;font-weight:800;color:#1A1A2E;}
.card{background:#fff;border:1px solid #E5E7EB;border-radius:18px;padding:20px;width:100%;max-width:400px;margin-bottom:14px;box-shadow:0 2px 12px rgba(0,0,0,.06);}
.rest-name{font-size:13px;font-weight:700;color:#6B8F71;margin-bottom:2px;}
.table-label{font-size:22px;font-weight:800;color:#111827;margin-bottom:16px;}
.items-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;}
.item-row{display:flex;justify-content:space-between;align-items:center;font-size:14px;}
.item-qty{font-weight:700;color:#6B8F71;margin-right:8px;}
.item-price{color:#6B7280;font-size:13px;}
.divider{border:none;border-top:1px solid #E5E7EB;margin:12px 0;}
.total-row{display:flex;justify-content:space-between;align-items:center;}
.total-lbl{font-size:15px;font-weight:700;}
.total-amt{font-size:24px;font-weight:900;color:#111827;}
.btn{width:100%;padding:16px;border:none;border-radius:14px;font-size:16px;font-weight:800;cursor:pointer;font-family:inherit;transition:opacity .15s;margin-bottom:10px;}
.btn:active{opacity:.85;}
.btn-pay{background:linear-gradient(135deg,#6B8F71,#4A7A55);color:#fff;}
.btn-split{background:#F3F4F6;color:#111827;}
.btn-cash{background:#FFF7ED;color:#92400E;border:1px solid #FDE68A;}
.status-ok{background:#ECFDF5;border:1px solid #A7F3D0;border-radius:14px;padding:20px;text-align:center;width:100%;max-width:400px;}
.status-ok-icon{font-size:48px;margin-bottom:8px;}
.status-ok-title{font-size:20px;font-weight:800;color:#065F46;margin-bottom:4px;}
.status-ok-sub{font-size:14px;color:#047857;}
.loader{text-align:center;padding:60px 20px;color:#9CA3AF;font-size:15px;}
.error-box{background:#FEF2F2;border:1px solid #FECACA;border-radius:14px;padding:20px;text-align:center;color:#DC2626;font-size:14px;width:100%;max-width:400px;}
.facture-card{background:#fff;border:1px solid #E5E7EB;border-radius:18px;padding:18px 20px;width:100%;max-width:400px;margin-bottom:14px;box-shadow:0 2px 12px rgba(0,0,0,.06);}
.facture-title{font-size:13px;font-weight:700;color:#6B7280;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px;}
.field-row{display:flex;gap:10px;margin-bottom:10px;}
.field{display:flex;flex-direction:column;flex:1;}
.field label{font-size:12px;font-weight:600;color:#6B7280;margin-bottom:4px;}
.field input{border:1px solid #E5E7EB;border-radius:10px;padding:11px 12px;font-size:14px;font-family:inherit;color:#111827;outline:none;transition:border .15s;}
.field input:focus{border-color:#6B8F71;}
.facture-note{font-size:11px;color:#9CA3AF;margin-top:4px;}

/* Split modal */
#split-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:100;align-items:center;justify-content:center;padding:20px;}
#split-modal.on{display:flex;}
.split-card{background:#fff;border-radius:20px;padding:28px 24px;width:100%;max-width:340px;text-align:center;}
.split-icon{font-size:36px;margin-bottom:8px;}
.split-title{font-size:18px;font-weight:800;margin-bottom:16px;}
.split-ctrl{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:12px;}
.split-btn{width:44px;height:44px;border-radius:50%;background:#F3F4F6;border:none;font-size:22px;font-weight:700;cursor:pointer;}
.split-n{font-size:40px;font-weight:900;}
.split-per{font-size:28px;font-weight:900;color:#6B8F71;margin-bottom:20px;}
.split-actions{display:flex;flex-direction:column;gap:10px;}
