@font-face{font-family:CafeArabic;src:url('/font.woff') format('woff');font-display:swap}*{box-sizing:border-box}body{margin:0;background:#f3f5f5;color:#20332f;font-family:CafeArabic,Tahoma,Arial,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer;border:0;border-radius:9px;padding:11px 17px;background:#e9eeec;color:#243d36;font-weight:700;transition:background .15s,transform .15s}button:hover{filter:brightness(.96)}button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:wait}button.primary{background:#126c55;color:white}button.danger{background:#fce9e7;color:#b13227}button.outline{border:1px solid #d8e2de;background:#fff}button.small{padding:6px 10px;font-size:12px}button.icon{padding:8px 12px;background:transparent;font-size:20px}input,select,textarea{width:100%;padding:12px;border:1px solid #d9e1de;border-radius:8px;background:#fff;color:#20332f;min-height:44px}input:focus,select:focus,textarea:focus{outline:2px solid #29886655;border-color:#298866}input[type=checkbox]{width:18px;min-height:18px;accent-color:#126c55}label{display:block;margin-bottom:7px;color:#52645d;font-size:13px}h1,h2,h3,p{margin-top:0}h1{font-size:25px;margin-bottom:5px}h2{font-size:20px}h3{font-size:16px}p{line-height:1.9}.muted{color:#7a8a84}.tiny{font-size:12px}.flex{display:flex;align-items:center;gap:12px}.between{display:flex;justify-content:space-between;align-items:center;gap:12px}.wrap{flex-wrap:wrap}.grow{flex:1}.spacer{height:18px}.money{font-family:CafeArabic,Tahoma,sans-serif;font-variant-numeric:tabular-nums}.tag{display:inline-block;padding:5px 10px;border-radius:6px;background:#edf4f0;color:#22624c;font-size:12px;white-space:nowrap}.tag.orange{background:#fff0da;color:#a56c12}.tag.red{background:#fbe8e5;color:#b14037}.tag.gray{background:#edf0ef;color:#6b7872}.layout{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh}.sidebar{background:#102e28;color:#aec8bb;padding:28px 16px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{direction:ltr;text-align:center;color:#fff;font:24px Georgia,serif;letter-spacing:1px}.brand b{color:#d2ac6b;font-style:italic}.brand-sub{text-align:center;font-size:11px;margin:10px 0 35px;color:#80a195}.nav-label{font-size:11px;padding:0 12px;margin:13px 0;color:#6c9183}.nav{display:flex;flex-direction:column;gap:5px}.nav button{text-align:right;color:#adc8bc;background:none;border-radius:8px;padding:12px 15px;font-weight:400;font-size:13px;display:flex;align-items:center;gap:13px}.nav button.active{background:#245040;color:#fff}.nav button.active .nav-icon{color:#e3bd79}.nav-icon{font-size:20px;line-height:1;width:23px;text-align:center}.sidebar-bottom{margin-top:auto;padding:20px 12px 0;font-size:12px}.local-status{color:#c5d9cf;margin-bottom:12px}.local-status:before{content:'';display:inline-block;width:7px;height:7px;background:#73c49b;border-radius:50%;margin-left:7px}.main{min-width:0}.topbar{height:77px;background:#fff;border-bottom:1px solid #e3e9e6;display:flex;align-items:center;justify-content:space-between;padding:0 30px;gap:15px}.top-title{font-size:13px;color:#7b8b83}.top-title strong{color:#334c40;margin-left:14px}.avatar{background:#f4e9d3;color:#775b2a;width:36px;height:36px;border-radius:50%;display:grid;place-items:center}.content{padding:27px 30px}.heading{margin-bottom:23px}.heading p{font-size:12px;margin:4px 0;color:#7b8b83}.panel{background:#fff;border:1px solid #e0e7e3;border-radius:12px;padding:22px;margin-bottom:20px}.panel.flush{padding:0;overflow:hidden}.panel-head{padding:18px 21px;border-bottom:1px solid #e9eeeb}.pos-layout{display:grid;grid-template-columns:minmax(0,1fr) 345px;gap:23px;align-items:start}.catalog{min-width:0}.search{position:relative;margin-bottom:19px}.search input{padding-right:18px;background:#fff;border-radius:10px}.category-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:23px}.category-tabs button{font-size:12px;font-weight:400;background:#fff;border:1px solid #dce5df;padding:10px 15px}.category-tabs button.active{background:#143d2e;border-color:#143d2e;color:#fff}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.product-card{position:relative;min-height:162px;background:#fff;border:1px solid #e0e8e2;border-radius:12px;padding:19px 17px;text-align:right;display:flex;flex-direction:column;align-items:start}.product-card:hover{border-color:#6d9c85;background:#fbfdfb;transform:translateY(-2px)}.product-card .symbol{font-size:34px;width:53px;height:53px;display:grid;place-items:center;background:#f1f4ed;border-radius:50%;margin-bottom:11px}.product-card:nth-child(3n+2) .symbol{background:#f9f1e4}.product-card:nth-child(3n) .symbol{background:#f2ece5}.product-name{font-size:14px;margin-bottom:5px}.product-price{font-size:13px;color:#207351}.product-add{position:absolute;bottom:16px;left:14px;background:#edf4ef;color:#26764f;border-radius:7px;width:27px;height:27px;text-align:center;font-size:21px;line-height:27px}.product-card.unavailable{opacity:.6}.ticket{position:sticky;top:18px;background:#fff;border:1px solid #dce5df;border-radius:12px;overflow:hidden}.ticket-header{padding:21px;border-bottom:1px dashed #d7e2dc}.ticket-header h2{font-size:17px;margin:0}.service-tabs{display:flex;gap:7px;margin-top:17px}.service-tabs button{flex:1;padding:9px;font-size:12px;font-weight:400}.service-tabs button.active{background:#e5f0e8;color:#175c3c}.ticket-items{padding:10px 20px;max-height:330px;overflow:auto;min-height:185px}.empty-ticket{text-align:center;padding:26px 5px;color:#8b9a91}.empty-ticket .empty-symbol{font-size:39px;display:block;margin-bottom:15px;color:#c2cfc6}.ticket-item{padding:14px 0;border-bottom:1px solid #f0f2ef}.ticket-item:last-child{border:0}.ticket-item-title{font-size:13px}.quantity{display:inline-flex;align-items:center;border:1px solid #e2e7e2;border-radius:7px;gap:11px;margin-top:8px;direction:ltr}.quantity button{padding:3px 10px;border-radius:5px;font-size:16px;background:#f6f8f5}.quantity span{font-size:13px}.ticket-footer{border-top:1px dashed #d7e2dc;padding:18px 20px}.total-line{display:flex;justify-content:space-between;margin:10px 0;color:#7b8d81;font-size:12px}.grand-total{font-size:19px;color:#163e28;border-top:1px solid #e7ece7;padding-top:14px;margin:17px 0}.pay-button{width:100%;padding:15px;font-size:15px;margin-top:10px}.ticket-note{margin-top:12px;font-size:12px;min-height:36px;padding:8px}.ticket-actions{display:flex;gap:8px;margin-top:10px}.ticket-actions button{flex:1;font-size:12px;padding:10px 5px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:24px}.stat{background:#fff;border:1px solid #e0e7e3;border-radius:12px;padding:20px}.stat-label{color:#7b8b83;font-size:12px}.stat-value{font-size:25px;font-weight:700;margin:10px 0 3px}.stat small{font-size:11px;color:#7b8b83}.stat.highlight{background:#163d2d;color:white;border-color:#163d2d}.stat.highlight .stat-label,.stat.highlight small{color:#b4ccbc}.table-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.table-card{padding:24px;background:#fff;border:1px solid #dce6dd;border-radius:12px;text-align:center;min-height:175px}.table-card.busy{border-color:#d8b376;background:#fffbf3}.table-card .table-symbol{font-size:34px;color:#749c7d;margin:0 0 12px}.table-card.busy .table-symbol{color:#b48a44}.table-card h3{margin:7px 0}.table-card small{display:block;color:#869184;margin:10px 0}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:right;white-space:nowrap}th{padding:14px 18px;background:#f8faf8;color:#728478;font-size:12px;font-weight:400}td{padding:16px 18px;border-top:1px solid #edf1ed;font-size:13px}td.wrap-text{white-space:normal;min-width:170px}tbody tr:hover{background:#fbfcfa}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field.full{grid-column:1/-1}.check-label{display:flex;align-items:center;gap:9px;font-size:13px;margin:10px 0}.toolbar{display:flex;align-items:end;gap:13px;flex-wrap:wrap;margin:20px 0}.toolbar input{width:auto}.toolbar label{font-size:12px}.empty{padding:45px 15px;text-align:center;color:#839184;line-height:2}.notice{padding:12px 16px;border-radius:9px;background:#fff5df;color:#876729;font-size:12px;line-height:1.9;margin-bottom:20px}.notice.info{background:#eaf3ed;color:#436951}.split{display:grid;grid-template-columns:1.3fr 1fr;gap:20px}.bar-row{margin-bottom:19px}.bar-track{height:9px;background:#eef3ed;border-radius:8px;overflow:hidden;margin-top:8px}.bar-fill{height:100%;background:#4d8d64;border-radius:8px}.section-tabs{display:flex;gap:8px;margin:18px 0}.section-tabs button{font-size:12px}.section-tabs .active{background:#173e2d;color:#fff}.recipe-row{display:grid;grid-template-columns:1fr 100px 36px;gap:8px;margin-bottom:9px;align-items:center}.purchase-row{display:grid;grid-template-columns:1fr 100px 110px 36px;gap:8px;margin-bottom:9px;align-items:center}.login-screen{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-art{background:#102e28;color:#fff;display:flex;flex-direction:column;justify-content:center;padding:12%;position:relative}.login-art .brand{text-align:right;font-size:55px}.login-art h1{font-size:33px;line-height:1.8;margin-top:50px}.login-art p{color:#9fbfae;max-width:400px}.login-art .edition{margin-top:80px;font-size:12px;color:#7ba08d}.login-form{display:flex;align-items:center;justify-content:center;padding:40px}.login-box{width:100%;max-width:390px}.login-box h2{font-size:26px}.login-box .field{margin-bottom:18px}.login-box .primary{width:100%;margin-top:8px}.login-box .hint{font-size:12px;margin-top:20px;color:#8c998f}.error-text{font-size:13px;color:#b34235;line-height:1.9}.boot{text-align:center;margin:25vh auto;font-size:35px;color:#22533b}.boot p{font-size:14px}.form-error{margin:10px 0;color:#b34235;font-size:13px}dialog{border:0;border-radius:15px;padding:0;width:min(640px,94vw);max-height:88vh;color:#20332f;box-shadow:0 25px 100px #0b231a33}dialog::backdrop{background:#0d251b88;backdrop-filter:blur(3px)}.modal-head{padding:22px 25px;border-bottom:1px solid #e4ebe4;display:flex;align-items:center;justify-content:space-between}.modal-head h2{margin:0;font-size:20px}.modal-body{padding:25px}.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding-top:24px}.pay-total{text-align:center;background:#f0f6ef;padding:24px;border-radius:12px;margin-bottom:23px}.pay-total strong{font-size:34px;display:block;color:#1b5d3b;margin:9px 0}.pay-options{display:flex;gap:10px;margin-bottom:20px}.pay-options button{flex:1;padding:17px}.pay-options button.active{background:#194b31;color:#fff}.receipt{max-width:350px;margin:auto;text-align:center;background:white;font-size:13px}.receipt .receipt-lines{border-top:1px dashed #a6afa7;border-bottom:1px dashed #a6afa7;margin:20px 0;padding:12px 0}.receipt table{white-space:normal}.receipt td,.receipt th{padding:9px 4px;font-size:12px}.receipt p{margin:7px 0}.receipt .receipt-total{font-size:19px;font-weight:bold;margin:15px 0}#toast{position:fixed;bottom:26px;left:30px;max-width:420px;background:#163d2d;color:white;padding:14px 24px;border-radius:10px;box-shadow:0 8px 30px #102e2833;z-index:10;display:none;font-size:13px}#toast.error{background:#963e34}#print-area{display:none}@media(min-width:1600px){.product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.pos-layout{grid-template-columns:minmax(0,1fr) 380px}}@media(max-width:1200px){.layout{grid-template-columns:180px minmax(0,1fr)}.content{padding:22px 20px}.topbar{padding:0 20px}.pos-layout{grid-template-columns:minmax(0,1fr) 315px;gap:16px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.table-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.layout{grid-template-columns:75px minmax(0,1fr)}.sidebar{padding:20px 8px}.sidebar .brand{font-size:15px;letter-spacing:0}.sidebar .brand-sub,.nav-label,.nav-text,.sidebar-bottom{display:none}.nav{margin-top:25px}.nav button{justify-content:center;padding:13px}.split{grid-template-columns:1fr}.top-title .date{display:none}.table-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login-art{padding:9%}.login-art h1{font-size:26px}.login-art .brand{font-size:38px}}@media(max-width:700px){.layout{display:block}.sidebar{height:auto;position:static;padding:12px;background:#102e28}.sidebar .brand{font-size:21px;text-align:right;padding:4px 8px}.nav{flex-direction:row;overflow:auto;margin-top:12px;gap:5px}.nav button{flex-direction:column;gap:5px;min-width:67px;padding:9px 8px}.nav-text{display:block;font-size:10px}.nav-icon{font-size:19px}.topbar{height:auto;min-height:65px;padding:13px 16px}.top-title{display:none}.content{padding:20px 14px}.pos-layout{grid-template-columns:1fr}.ticket{position:static}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product-card{min-height:150px}.heading{flex-wrap:wrap}h1{font-size:22px}.stats{gap:10px}.stat{padding:17px 12px}.stat-value{font-size:22px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.login-screen{display:block}.login-art{padding:30px}.login-art .brand{font-size:32px}.login-art h1,.login-art p,.login-art .edition{display:none}.login-form{padding:35px 24px}.purchase-row{grid-template-columns:1fr 65px 80px 28px}.modal-body{padding:20px 16px}.table-grid{gap:10px}.table-card{padding:18px 12px}.panel{padding:18px 14px}.toolbar input{max-width:165px}.tag{font-size:11px}}@media print{body>*{display:none!important}#print-area{display:block!important}.receipt{width:72mm;max-width:72mm;font-family:Tahoma,sans-serif;color:#000}.receipt *{color:#000!important} @page{margin:4mm;size:80mm auto}}
/* Platform owner workspace */
.owner-platform{background:#f4f6f8}.owner-platform .owner-welcome{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px;padding:30px;background:linear-gradient(115deg,#e2eee8,#fff);border:1px solid #dbe6df;border-radius:20px}.owner-welcome h1{margin:10px 0}.owner-welcome p{color:#61736b;margin:0;line-height:1.8}.owner-eyebrow{font-size:12px;font-weight:700;color:#41795b}.owner-avatar,.cafe-avatar{display:inline-flex;align-items:center;justify-content:center;background:#e8f1eb;color:#246143;border-radius:14px;width:46px;height:46px;font-size:23px;font-weight:bold}.owner-avatar{width:34px;height:34px;font-size:17px}.owner-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:32px}.owner-platform h2{font-size:20px;margin:0 0 8px}.owner-tools{display:flex;gap:12px;padding:16px;background:#fff;border:1px solid #e4e9e6;border-radius:14px;margin-bottom:18px}.owner-tools input{flex:1;min-width:150px}.owner-tools input,.owner-tools select{padding:12px;border:1px solid #dce4df;border-radius:9px;font:inherit;background:#fff}.owner-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.owner-card{background:white;padding:23px;border:1px solid #e0e7e2;border-radius:16px;transition:box-shadow .2s}.owner-card:hover{box-shadow:0 8px 26px #183e2910}.owner-card h3{font-size:19px;margin:18px 0 7px;overflow-wrap:anywhere}.cafe-code{font-family:monospace;color:#6c7e74;font-size:13px}.cafe-meta{display:flex;justify-content:space-between;gap:16px;font-size:12px;margin-top:17px;color:#718077}.cafe-meta b{font-weight:500;color:#344e40;overflow-wrap:anywhere;text-align:end}.owner-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;border-top:1px solid #edf0ee;padding-top:18px;margin-top:20px}.owner-pagination{display:flex;align-items:center;justify-content:center;gap:20px;margin:24px 0;font-size:13px}.owner-activity{margin-top:30px}.activity-row{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid #edf0ee;font-size:13px}.activity-row:last-child{border:0}.activity-row time{margin-inline-start:auto;color:#748479;font-size:12px}.activity-dot{width:9px;height:9px;background:#438361;border-radius:50%;flex-shrink:0}.owner-platform button:disabled{opacity:.45;cursor:not-allowed}.owner-platform .empty{padding:45px 20px}.owner-platform .topbar .flex{flex-wrap:wrap}.owner-platform .modal-body a{overflow-wrap:anywhere}@media(max-width:1150px){.owner-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.owner-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.owner-platform .owner-welcome{padding:22px;align-items:flex-start;flex-direction:column}.owner-tools{flex-wrap:wrap}.owner-tools input{width:100%;flex-basis:100%}.owner-tools select{flex:1;min-width:0}.owner-cards{grid-template-columns:1fr}.owner-platform .topbar{gap:10px;flex-wrap:wrap}.owner-platform .heading{gap:15px}.owner-card{padding:20px}.owner-platform .sidebar-bottom{display:none}}

.owner-platform dialog.billing-wide{width:min(1400px,96vw);max-width:96vw}.billing-plan-list,.billing-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin:18px 0}.billing-tabs{flex-wrap:wrap;margin:18px 0}.owner-platform .field select{width:100%;padding:11px;border:1px solid #d4ded8;border-radius:8px;background:white}.billing-wide th,.billing-wide td{white-space:nowrap}.billing-wide .table-scroll{max-height:55vh;overflow:auto}.billing-wide .table-scroll thead{position:sticky;top:0;background:#eef4ef}.billing-wide .panel{padding:16px}.billing-wide .form-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}@media print{body.owner-platform>#app,body.owner-platform>#toast{display:none!important}.owner-platform dialog[open]{position:absolute;inset:0;width:100%!important;max-width:100%!important;max-height:none;height:auto;overflow:visible;border:0;box-shadow:none}.owner-platform dialog::backdrop{background:white}.owner-platform dialog button,.owner-platform dialog .form-grid,.owner-platform dialog .modal-foot,.owner-platform dialog .billing-tabs{display:none!important}.owner-platform dialog .modal-body,.owner-platform .billing-wide .table-scroll{overflow:visible;max-height:none}.owner-platform .billing-wide td,.owner-platform .billing-wide th{white-space:normal;font-size:10px}.owner-platform dialog table{width:100%}}
.billing-totals .panel{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px}.billing-totals .panel strong{flex-basis:100%}.billing-totals .panel p{margin:5px 0}.billing-tabs button.primary{background:#246143;color:white;border-color:#246143}
