:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#18263c;background:#f5f8fe;font-synthesis:none;--blue:#2069ee;--muted:#6f7c90;--line:#e4eaf3;--pale:#edf4ff}*{box-sizing:border-box}body{margin:0;font-size:14px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button,a{touch-action:manipulation}button{border:1px solid var(--line);border-radius:11px;padding:12px 17px;background:white;color:var(--blue);font-weight:600;min-height:44px;transition:background .12s}button:hover:enabled{background:var(--pale)}button.primary,.primary{background:var(--blue);color:#fff;border-color:var(--blue)}button.primary:hover:enabled{background:#1556cd}.danger{color:#b13f43}input,textarea,select{width:100%;min-height:45px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#18263c}input[type=checkbox],input[type=radio]{width:18px;min-height:18px;accent-color:var(--blue)}textarea{resize:vertical}label{display:block;font-size:12px;font-weight:600;margin:14px 0 5px;color:var(--muted)}label>input,label>select,label>textarea{display:block;margin-top:6px;font-weight:400}h1,h2,h3,p{margin:0}h1{font-size:27px;letter-spacing:-.7px}h2{font-size:23px;letter-spacing:-.4px}h3{font-size:16px}.muted,small{color:var(--muted)}p{line-height:1.6}.heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.heading p{margin-top:6px;color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--blue);font-weight:700}.brand{display:flex;align-items:center;gap:12px}.brand img{width:84px;height:46px;padding:6px 9px;background:#10294b;border-radius:12px}.brand strong{display:block;font-size:15px}.brand small{display:block;margin-top:5px;font-size:11px}.topbar{height:78px;padding:14px 26px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}.identity{display:flex;align-items:center;gap:18px}.online{font-size:11px;color:#158867;display:flex;align-items:center;gap:7px}.online:before{content:"";display:block;width:7px;height:7px;border-radius:50%;background:currentColor}.online.offline{color:#a96d1b}.user{text-align:right}.user b{display:block;font-size:12px}.user small{font-size:10px}.layout{display:grid;grid-template-columns:106px 1fr;height:calc(100dvh - 78px)}.sidebar{background:white;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:18px 9px;gap:8px}.nav{border:0;display:flex;flex-direction:column;align-items:center;gap:9px;color:var(--muted);font-size:11px;padding:14px 4px;font-weight:500}.nav svg{width:23px;height:23px}.nav.selected{color:var(--blue);background:var(--pale);font-weight:700}.sidebar .version{margin-top:auto;text-align:center;font-size:9px;color:var(--muted);line-height:1.6;padding:14px 0}.workspace{min-width:0;overflow:auto}.pos-layout{display:grid;grid-template-columns:minmax(0,1fr) 370px;height:100%}.catalog,.page{padding:28px 30px;overflow:auto}.catalog .heading{margin-bottom:20px}.service{display:flex;gap:4px;padding:4px;background:#e8eef7;border-radius:12px}.service button{flex:1;background:transparent;border:0;color:var(--muted);font-size:13px;min-height:40px;padding:9px 15px}.service .selected{background:white;color:var(--blue);box-shadow:0 2px 6px #24385005}.catalog-tools{display:flex;align-items:center;gap:16px;margin-bottom:18px}.catalog-tools>.service{width:250px}.table-pick{width:185px}.search{display:flex;align-items:center;gap:10px;background:white;border:1px solid var(--line);border-radius:12px;padding-left:13px;margin-bottom:16px}.search svg{color:var(--muted);width:20px;flex:none}.search input{border:0;background:transparent;min-height:48px}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.chips button{font-size:12px;min-height:37px;padding:9px 17px;border-color:transparent;color:var(--muted)}.chips .selected{background:var(--blue);color:white}.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:15px;padding-bottom:20px}.product{background:white;border:1px solid var(--line);border-radius:17px;padding:16px;display:flex;flex-direction:column;min-height:206px}.product .product-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.product .glyph{width:40px;height:40px;border-radius:12px;background:var(--pale);display:grid;place-items:center;color:var(--blue)}.product.food .glyph{background:#fff3e5}.glyph svg{width:26px;height:26px}.product small{font-size:10px}.product h3{font-size:14px;line-height:1.4;min-height:39px;margin-bottom:10px}.price{font-size:17px;letter-spacing:-.3px;margin-bottom:12px}.product>.add{background:var(--pale);border:0;min-height:36px;padding:8px;font-size:12px;margin-top:auto}.stepper{display:flex;gap:9px;align-items:center;justify-content:space-between}.stepper button{padding:0;width:37px;min-height:36px;font-size:20px;font-weight:400}.stepper span{font-weight:600;font-size:13px;min-width:18px;text-align:center}.product .stepper{margin-top:auto}.empty{text-align:center;padding:48px 16px;color:var(--muted)}.empty svg{width:42px;height:42px;margin-bottom:14px}.empty h3{color:#18263c;font-size:16px;margin-bottom:7px}.empty p{font-size:12px;max-width:280px;margin:auto}.cart{background:white;border-left:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.cart-head{padding:28px 24px 15px;display:flex;justify-content:space-between;align-items:start}.cart-head p{font-size:11px;color:var(--muted);margin-top:7px}.cart-head .link{padding:0;min-height:25px;font-size:11px;border:0}.cart-lines{flex:1;overflow:auto;padding:0 24px}.cart-line{border:1px solid var(--line);border-radius:13px;padding:15px;margin:7px 0 12px}.row{display:flex;justify-content:space-between;align-items:center;gap:12px}.cart-line h3{font-size:13px}.cart-line small{font-size:11px;display:block;margin:8px 0 12px}.cart-line .stepper{width:136px}.note-button{border:0;min-height:36px;padding:7px;font-size:11px}.cart-extras{padding:4px 24px 12px;border-top:1px solid #f3f5f9;display:flex;flex-wrap:wrap;gap:6px}.cart-extras button{font-size:11px;padding:8px 10px;min-height:34px}.cart-bottom{border-top:1px solid var(--line);padding:18px 24px 22px}.cart-bottom .row{font-size:13px;margin-bottom:9px}.cart-bottom b{font-size:23px;letter-spacing:-.8px}.cart-bottom p{font-size:10px;color:var(--muted);margin-bottom:13px}.cart-bottom .primary{width:100%;display:flex;justify-content:space-between;font-size:13px;min-height:49px}.banner{padding:12px 16px;margin-bottom:18px;background:#fff5e3;border-radius:12px;display:flex;justify-content:space-between;gap:14px;align-items:center}.banner p{font-size:12px}.banner button{flex-shrink:0}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}.card{background:white;border:1px solid var(--line);border-radius:16px;padding:20px}.order-card{text-align:left;color:#18263c;min-height:170px}.order-card small{display:block;font-size:11px;margin:10px 0}.order-card p{font-size:12px;color:var(--muted);margin-bottom:16px;white-space:normal}.pill{font-size:10px;padding:6px 9px;border-radius:7px;background:var(--pale);color:var(--blue);font-weight:600;white-space:nowrap}.pill.green{background:#e7f6ef;color:#158867}.pill.amber{background:#fff0d5;color:#a96d1b}.line{height:1px;background:var(--line);margin:17px 0}.table-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:15px}.table-card{text-align:left;color:#18263c;padding:21px;min-height:165px;background:white;display:flex;flex-direction:column;align-items:start;gap:14px}.table-card .row{width:100%}.table-card svg{width:25px;height:25px;color:#158867}.table-card.occupied{background:#fff8ec}.table-card.occupied svg{color:#a96d1b}.table-card small{font-size:11px}.actions{display:flex;gap:8px;flex-wrap:wrap}.details-total{font-size:34px;letter-spacing:-1px;margin:7px 0 15px}.details-items .row{margin:13px 0;font-size:13px}.details-items small{display:block;font-size:11px;margin-top:5px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.full{grid-column:1/-1}.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:15px 0}.choices label{position:relative;padding:12px 6px;border:1px solid var(--line);border-radius:9px;margin:0;text-align:center;cursor:pointer;font-size:12px}.choices label:has(input:checked){color:var(--blue);background:var(--pale);border-color:#9cbcfb}.choices input{position:absolute;opacity:0;width:1px;min-height:1px}.checks label{display:flex;align-items:center;gap:12px;padding:10px 0;margin:0;font-weight:400}.checks input{margin:0}.helper{font-size:11px;color:var(--muted);margin-top:10px}.success{padding:12px;background:#e7f6ef;color:#158867;border-radius:10px;font-size:13px}.error{color:#b13f43;font-size:12px;line-height:1.5;white-space:pre-line}.login-shell{display:grid;grid-template-columns:1fr 1fr;min-height:100dvh;background:white}.login-brand{background:#edf4ff;padding:70px 12%;display:flex;flex-direction:column;justify-content:center;gap:24px}.login-brand h1{font-size:42px;line-height:1.2;max-width:390px;margin-top:22px}.login-brand p{max-width:370px;color:var(--muted);font-size:14px}.login-form{display:flex;align-items:center;justify-content:center;padding:40px}.login-form>div{width:100%;max-width:360px}.login-form p{margin-top:10px;color:var(--muted);font-size:13px}.login-form form{margin-top:25px}.login-form .primary{width:100%;margin-top:17px}.login-foot{font-size:10px!important;margin-top:24px!important;line-height:1.7}.page-narrow{max-width:820px}.member-list{width:100%;border-collapse:collapse}.member-list th,.member-list td{text-align:left;padding:14px;border-bottom:1px solid var(--line);font-size:12px}.member-list th{font-size:10px;color:var(--muted)}.account{display:grid;grid-template-columns:1fr 1fr;gap:18px}.account .card>p{margin:12px 0;font-size:12px;color:var(--muted)}.loading{padding:50px;text-align:center}dialog{border:1px solid var(--line);border-radius:20px;padding:0;width:min(550px,calc(100vw - 36px));max-height:90dvh;color:#18263c;box-shadow:0 24px 90px #15243e30}dialog::backdrop{background:#14284166;backdrop-filter:blur(3px)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:23px 26px 15px}.modal-head h2{font-size:21px}.close{width:34px;min-height:34px;border:0;padding:0;font-size:24px;color:var(--muted)}.modal-body{padding:2px 26px 26px}.modal-body .primary{width:100%;margin-top:16px}.modal-body .secondary{width:100%;margin-top:10px}.modal-body pre{white-space:pre-wrap;font:12px/1.6 Consolas,monospace;background:#f8fafd;padding:18px;border-radius:12px}.modal-body .error{margin-top:12px}.stack{display:flex;flex-direction:column;gap:10px}.stack>button{text-align:left}.quick-cash{display:flex;gap:7px;margin:12px 0}.quick-cash button{flex:1;font-size:12px;padding:9px 6px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:13px 20px;background:#18263c;color:#fff;border-radius:11px;font-size:12px;box-shadow:0 7px 22px #13223a22;z-index:99;display:none;max-width:80vw}#toast.show{display:block}#print-receipt{display:none}svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}.key-hint{font-size:10px;color:var(--muted)}@media(min-width:1500px){.products{grid-template-columns:repeat(auto-fill,minmax(195px,1fr))}.catalog{padding:32px 40px}.pos-layout{grid-template-columns:minmax(0,1fr) 400px}}@media(max-width:1100px){.pos-layout{grid-template-columns:minmax(0,1fr) 330px}.catalog,.page{padding:23px 20px}.products{grid-template-columns:repeat(2,minmax(0,1fr))}.cart-head,.cart-bottom{padding-left:20px;padding-right:20px}.cart-lines,.cart-extras{padding-left:20px;padding-right:20px}.layout{grid-template-columns:88px 1fr}.catalog-tools{flex-wrap:wrap}.table-pick{width:100%}}@media(max-width:760px){.topbar{padding:10px 16px}.user{display:none}.layout{display:block;height:auto;padding-bottom:77px}.sidebar{position:fixed;bottom:0;left:0;right:0;z-index:5;height:70px;flex-direction:row;border-top:1px solid var(--line);padding:3px}.nav{flex:1;padding:6px 2px;gap:4px;font-size:9px}.nav svg{width:20px;height:20px}.sidebar .version{display:none}.pos-layout{display:flex;flex-direction:column}.catalog,.page{overflow:visible;padding:23px 18px}.cart{border-left:0;border-top:1px solid var(--line)}.cart-lines{max-height:350px}.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product{padding:13px;min-height:194px}.catalog-tools>.service{width:100%}.login-shell{display:block}.login-brand{padding:28px}.login-brand h1{font-size:29px;margin:0}.login-brand p{display:none}.login-form{padding:28px}.login-brand .brand{margin-bottom:5px}.heading h1{font-size:25px}.account{grid-template-columns:1fr}.member-list th:nth-child(3),.member-list td:nth-child(3){display:none}}@media print{body{background:#fff}#root,#modal,#toast{display:none!important}#print-receipt{display:block;white-space:pre-wrap;font:11px/1.5 monospace;max-width:72mm;color:#000;margin:0} @page{margin:5mm}}

/* Santorini cashier theme: shared native vector artwork, Aegean blue and ceramic details. */
:root {
  color: #1b3656;
  background: #f6f9fd;
  --blue: #1665b4;
  --muted: #6e8096;
  --line: #e0eaf5;
  --pale: #eff6fd;
  --santorini-art: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20480%20270%22%20fill%3D%22none%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22sky%22%20x1%3D%22260%22%20y1%3D%2224%22%20x2%3D%22260%22%20y2%3D%22244%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%3Cstop%20stop-color%3D%22%23e4effc%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23f5f9ff%22%2F%3E%3C%2FlinearGradient%3E%3ClinearGradient%20id%3D%22dome%22%20x1%3D%22218%22%20y1%3D%2267%22%20x2%3D%22295%22%20y2%3D%22119%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%3Cstop%20stop-color%3D%22%234389cf%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%230757aa%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M142%20236V139a119%20119%200%200%201%20238%200v97%22%20fill%3D%22url%28%23sky%29%22%2F%3E%3Cpath%20d%3D%22M154%20236V139a107%20107%200%200%201%20214%200v97%22%20stroke%3D%22%23fff%22%20stroke-width%3D%221.5%22%2F%3E%3Ccircle%20cx%3D%22112%22%20cy%3D%2266%22%20r%3D%2219%22%20fill%3D%22%23FFD66B%22%2F%3E%3Cpath%20d%3D%22M112%2038v-7M85%2065h-7m14-20-5-5m48%206%205-5%22%20stroke%3D%22%23E9B54B%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M78%20231c70-19%20124-17%20184-14%2070%203%20101%208%20149%2017%22%20fill%3D%22%23e7f0fb%22%2F%3E%3Cg%20stroke%3D%22%23c3d7ed%22%20stroke-width%3D%221.3%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M137%20157h82v76h-82z%22%20fill%3D%22%23fff%22%2F%3E%3Cpath%20d%3D%22M130%20154h95v8h-95z%22%20fill%3D%22%23f9fcff%22%2F%3E%3Cpath%20d%3D%22M212%20114h97v119h-97z%22%20fill%3D%22%23fff%22%2F%3E%3Cpath%20d%3D%22M299%20156h70v77h-70z%22%20fill%3D%22%23f8fbff%22%2F%3E%3Cpath%20d%3D%22M304%20151h70v8h-70z%22%20fill%3D%22%23fff%22%2F%3E%3Cpath%20d%3D%22M341%20116v-14a14%2014%200%200%201%2028%200v14h-28Z%22%20fill%3D%22%23fff%22%2F%3E%3Cpath%20d%3D%22M335%20113h40v9h-40z%22%20fill%3D%22%23f7fbff%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22M212%20115a48.5%2048.5%200%200%201%2097%200h-97Z%22%20fill%3D%22url%28%23dome%29%22%2F%3E%3Cpath%20d%3D%22M239%20111c1-19%206-31%2020-42%22%20stroke%3D%22%237dabda%22%20stroke-width%3D%221.2%22%2F%3E%3Cpath%20d%3D%22M209%20114h103v8H209z%22%20fill%3D%22%23105da9%22%2F%3E%3Cpath%20d%3D%22M257%2064v-7m-4%203h8%22%20stroke%3D%22%230757aa%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M240%20232v-45a19%2019%200%200%201%2038%200v45%22%20fill%3D%22%231765b4%22%2F%3E%3Cpath%20d%3D%22M235%20232v-45a24%2024%200%200%201%2048%200v45%22%20stroke%3D%22%23e1ebf6%22%20stroke-width%3D%223%22%2F%3E%3Cpath%20d%3D%22M259%20170v61m-12-48v45m24-45v45%22%20stroke%3D%22%2383acd4%22%20stroke-width%3D%221%22%2F%3E%3Ccircle%20cx%3D%22255%22%20cy%3D%22207%22%20r%3D%221.5%22%20fill%3D%22%23d4dfeb%22%2F%3E%3Cpath%20d%3D%22M225%20151v-12a7%207%200%200%201%2014%200v12h-14Zm57%200v-12a7%207%200%200%201%2014%200v12h-14Z%22%20fill%3D%22%23367dc1%22%2F%3E%3Cpath%20d%3D%22M153%20194v-13a9%209%200%200%201%2018%200v13h-18Zm31%200v-13a9%209%200%200%201%2018%200v13h-18Z%22%20fill%3D%22%235a97d0%22%2F%3E%3Cpath%20d%3D%22M321%20213v-27a12%2012%200%200%201%2024%200v27h-24Z%22%20fill%3D%22%23377fc1%22%2F%3E%3Cpath%20d%3D%22M333%20175v38m-11-16h22%22%20stroke%3D%22%23b3cee9%22%2F%3E%3Cpath%20d%3D%22M350%20108V99a5%205%200%200%201%2010%200v9h-10Z%22%20fill%3D%22%23347abd%22%2F%3E%3Cpath%20d%3D%22M215%20202h-18v8h-17v8h-17v8h-17v8h-17v5h-24%22%20fill%3D%22%23fff%22%20stroke%3D%22%23bfd4ea%22%20stroke-width%3D%221.3%22%2F%3E%3Cpath%20d%3D%22M175%20202h22m-39%208h22m-39%208h22m-39%208h22%22%20stroke%3D%22%23e0ebf6%22%2F%3E%3Cpath%20d%3D%22M372%20217h22l-4%2020h-14l-4-20Z%22%20fill%3D%22%231765b4%22%2F%3E%3Cpath%20d%3D%22M383%20219v-35m0%2015c-10-1-14-6-14-12%2010%200%2014%205%2014%2012Zm0%208c10-1%2015-6%2015-12-10%200-15%205-15%2012Zm0-18c7-2%2010-7%209-12-7%201-10%206-9%2012Z%22%20fill%3D%22%2340866D%22%20stroke%3D%22%2336745D%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M85%20215h22l-4%2023H89l-4-23Z%22%20fill%3D%22%238B5E3C%22%2F%3E%3Cpath%20d%3D%22M96%20216v-50m0%2030c-12-2-17-9-16-17%2012%202%2017%208%2016%2017Zm0-17c10-1%2017-7%2018-16-12%201-18%207-18%2016Z%22%20fill%3D%22%2340866D%22%20stroke%3D%22%2336745D%22%20stroke-width%3D%221.2%22%2F%3E%3Cg%20fill%3D%22%23E84A78%22%3E%3Ccircle%20cx%3D%2280%22%20cy%3D%22169%22%20r%3D%224%22%2F%3E%3Ccircle%20cx%3D%2287%22%20cy%3D%22166%22%20r%3D%224.5%22%2F%3E%3Ccircle%20cx%3D%2282%22%20cy%3D%22161%22%20r%3D%223.5%22%2F%3E%3Ccircle%20cx%3D%22114%22%20cy%3D%22157%22%20r%3D%224.5%22%2F%3E%3Ccircle%20cx%3D%22108%22%20cy%3D%22152%22%20r%3D%224%22%2F%3E%3Ccircle%20cx%3D%22119%22%20cy%3D%22151%22%20r%3D%223.5%22%2F%3E%3Ccircle%20cx%3D%2297%22%20cy%3D%22154%22%20r%3D%223%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22M68%20244c19-7%2030-7%2049%200s30%207%2049%200%2030-7%2049%200%2030%207%2049%200%2030-7%2049%200%2030%207%2049%200%2030-7%2049%200%22%20stroke%3D%22%237ba9d5%22%20stroke-width%3D%221.4%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M102%20254c16-5%2026-5%2042%200s26%205%2042%200%2026-5%2042%200%2026%205%2042%200%2026-5%2042%200%2026%205%2042%200%22%20stroke%3D%22%23c3d8ee%22%20stroke-width%3D%221.1%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M400%2081c8-5%2013-5%2021%200m-21%200c-8-5-13-5-21%200%22%20stroke%3D%22%2393b4d3%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M124%20158c-4-21-19-27-31-31m22%2017c13-8%2020-6%2025-2%22%20stroke%3D%22%238B5E3C%22%20stroke-width%3D%222%22%2F%3E%3Cpath%20d%3D%22M110%20138q-16-2-14-13%2015-2%2014%2013m9%204q15-10%2019-1-7%2010-19%201%22%20fill%3D%22%2340866D%22%2F%3E%3Cg%20fill%3D%22%23E65B4B%22%3E%3Cpath%20d%3D%22M90%20127q-13-16%200-18%209-3%2010%209%2015-5%2013%206-2%2011-23%203%22%2F%3E%3Cpath%20d%3D%22M126%20138q-9-13%202-16%209-2%2010%208%2012-2%209%207-5%208-21%201%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22M369%20156h-48v5h48z%22%20fill%3D%22%238B5E3C%22%2F%3E%3Cg%20fill%3D%22%23E84A78%22%3E%3Cpath%20d%3D%22M341%20160q-11-14%201-17%2010-2%2010%209%2014-3%2012%208-5%2010-23%200%22%2F%3E%3Cpath%20d%3D%22M321%20167q-8-10%202-13%208-1%208%207%2012-2%2010%206-5%208-20%200%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  --ceramic-border: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2084%2016%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M0%203h24v10H7V7h11M28%203h24v10H35V7h11M56%203h24v10H63V7h11%22%20stroke%3D%22%239ebfe1%22%20stroke-width%3D%221.2%22%2F%3E%3C%2Fsvg%3E");
  --ceramic-tile: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2048%2048%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M24%203c7%2010%207%2014%200%2021-7-7-7-11%200-21Zm21%2021c-10%207-14%207-21%200%207-7%2011-7%2021%200ZM24%2045c-7-10-7-14%200-21%207%207%207%2011%200%2021ZM3%2024c10-7%2014-7%2021%200-7%207-11%207-21%200Z%22%20stroke%3D%22%236f9dce%22%20stroke-width%3D%221%22%2F%3E%3Cpath%20d%3D%22M0%200h48v48H0z%22%20stroke%3D%22%23c6dbef%22%2F%3E%3Ccircle%20cx%3D%2224%22%20cy%3D%2224%22%20r%3D%222.5%22%20fill%3D%22%236f9dce%22%2F%3E%3C%2Fsvg%3E");
}
h1,h2,.details-total { font-family: Georgia,'Times New Roman',serif; font-weight: 400; color: #234f78; }
h1 { font-size: 29px; }
button.primary:hover:enabled { background: #0f579f; border-color: #0f579f; }
.brand img { background: #15385c; border-radius: 28px 28px 9px 9px; padding-top: 8px; }
.brand strong { font: 21px/1.2 Georgia,'Times New Roman',serif; color: #25557f; }
.brand small { color: #7b91a8; font-size: 10px; letter-spacing: .25px; }
.santorini-art { background: var(--santorini-art) center / contain no-repeat; pointer-events: none; }
.topbar { position: relative; isolation: isolate; height: 88px; padding: 14px 26px 21px; background: linear-gradient(105deg,#fff 65%,#f0f7ff); border-bottom: 0; }
.topbar::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 8px; background: var(--ceramic-border) left center / 63px 12px repeat-x; opacity: .65; }
.topbar .brand,.topbar .identity { position: relative; z-index: 1; }
.topbar > .santorini-art { position: absolute; width: 190px; height: 92px; left: calc(50% - 95px); top: -7px; }
.layout { height: calc(100dvh - 88px); }
.sidebar { border-right-color: #dde9f5; }
.nav { border: 1px solid transparent; }
.nav.selected { background: #edf5ff; border-color: #dfeafa; box-shadow: inset 3px 0 #2a79c1; }
.sidebar .version::before { content: ''; display: block; height: 10px; margin-bottom: 12px; background: var(--ceramic-border) center / 50px 10px repeat-x; opacity: .7; }
.catalog .heading { position: relative; padding-bottom: 15px; margin-bottom: 20px; border-bottom: 1px solid #e2ebf6; }
.catalog .heading::after { content: ''; position: absolute; left: 0; bottom: -4px; width: 63px; height: 9px; background: #f6f9fd var(--ceramic-border) center / 63px 12px no-repeat; }
.heading p { font-size: 12px; color: #72889f; }
.product,.card,.table-card { border-color: #dfe9f5; box-shadow: 0 4px 18px #295d8c04; }
.product .glyph,.product.food .glyph { background: #edf5ff; border: 1px solid #dfebfa; border-radius: 23px 23px 8px 8px; color: #2675b9; }
.product h3 { color: #294d70; }
.product .price { font-family: Georgia,'Times New Roman',serif; font-size: 19px; font-weight: 400; color: #204c75; }
.product > .add { background: #edf5ff; }
.chips .selected { background: #1665b4; }
.cart { border-left-color: #dde9f5; }
.cart-head { position: relative; padding-bottom: 25px; }
.cart-head::after { content: ''; position: absolute; left: 0; right: 0; bottom: 4px; height: 8px; background: var(--ceramic-border) center / 63px 12px repeat-x; opacity: .55; }
.cart-head h2 { font-size: 24px; }
.cart-bottom { background: #fcfdff; }
.cart-bottom b { font-family: Georgia,'Times New Roman',serif; font-weight: 400; color: #24567f; }
.cart-line { border-color: #e1eaf5; }
.cart-extras button { color: #44749f; }
.login-brand { position: relative; padding: 40px 10%; gap: 17px; background: #f0f6fe; overflow: hidden; }
.login-brand::after { content: ''; position: absolute; bottom: 18px; left: 24px; right: 24px; height: 24px; background: var(--ceramic-tile) center / 24px 24px repeat-x; opacity: .55; }
.login-brand h1 { color: #25557f; font: 38px/1.2 Georgia,'Times New Roman',serif; margin-top: 7px; }
.login-brand p { font-size: 13px; color: #7b8ea3; }
.login-art { width: 100%; max-width: 330px; height: 168px; margin: 0; }
.login-brand .login-foot { margin: 0!important; font-size: 9px!important; }
.login-form h2 { font-size: 29px; }
.login-form label { color: #4e6c89; }
.login-form .error:empty { display: none; }
input,textarea,select { border-color: #d9e6f3; }
input:focus-visible,textarea:focus-visible,select:focus-visible { outline-color: #5d94c8; }
dialog { border-color: #dce7f5; box-shadow: 0 24px 80px #173d6b2b; }
dialog::backdrop { background: #1b3c6265; }
.modal-head { position: relative; padding-bottom: 24px; background: linear-gradient(105deg,#fff 75%,#f2f7fe); border-bottom: 0; }
.modal-head::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 9px; background: var(--ceramic-border) center / 63px 12px repeat-x; opacity: .65; }
.modal-head h2 { font-size: 25px; }
.modal-body .error:empty { display: none; }
.table-card svg { color: #4085bc; }
.table-card.occupied svg { color: #a96d1b; }
@media(max-width:1100px) { .topbar > .santorini-art { width: 160px; left: calc(50% - 80px); } }
@media(max-width:850px) { .topbar > .santorini-art { display: none; } }
@media(max-width:760px) {
 .layout { height: auto; }
 .topbar { padding: 12px 16px 20px; }
 .brand strong { font-size: 18px; }
 .login-brand { padding: 28px 28px 40px; gap: 13px; }
 .login-brand h1 { font-size: 31px; }
 .login-art { height: 115px; max-width: 250px; align-self: center; }
 .login-brand::after { bottom: 8px; height: 16px; background-size: 20px 20px; }
 .login-brand .login-foot { display: none; }
 .product .price { font-size: 18px; }
 .nav.selected { box-shadow: inset 0 3px #2a79c1; }
}
@media print { .santorini-art { display: none; } }

/* Clearer menu frames and cashier panel dividers. */
:root { --frame: #b9cee3; }
.product,.card,.table-card,.cart-line { border: 2px solid var(--frame); }
.sidebar { border-right: 2px solid var(--frame); }
.nav { border-width: 2px; }
.nav.selected { border-color: #a8c6e3; }
.cart { border-left: 2px solid var(--frame); }
.cart-bottom,.cart-extras { border-top: 2px solid var(--frame); }
.catalog .heading { border-bottom: 2px solid var(--frame); }
.line { height: 2px; background: var(--frame); }
@media(max-width:760px) {
 .sidebar { border-right: 0; border-top: 2px solid var(--frame); }
 .cart { border-left: 0; border-top: 2px solid var(--frame); }
}

@media (min-width: 761px) {
 .layout { grid-template-rows: minmax(0, 1fr); }
 .sidebar { min-height: 0; overflow-y: auto; padding-top: 14px; padding-bottom: 14px; gap: 6px; }
}

.product .product-top:has(.menu-photo){position:relative;display:block;margin:-8px -8px 13px}.product .menu-photo{width:100%;height:128px;object-fit:cover;border-radius:11px;display:block}.product-top:has(.menu-photo) small{position:absolute;right:7px;bottom:7px;background:#fff;padding:4px 7px;border-radius:6px;color:#1b3656}.product:has(.menu-photo){min-height:280px}

.variant-choices{display:grid;gap:12px}.variant-choice{display:flex;justify-content:space-between;align-items:center;text-align:left;padding:18px;border:1.5px solid #c5d9ed;border-radius:14px;background:#f5f9fe;gap:18px}.variant-choice small{display:block;color:#6c8194;margin-top:6px}.variant-choice:disabled{opacity:.5}

.extra-option{display:flex;align-items:center;gap:10px;padding:10px 0}.extra-option input[type=checkbox]{width:20px;height:20px;flex:none;margin:0}fieldset{border:2px solid #b9cee3;border-radius:12px;padding:15px;margin:14px 0}legend{font-weight:600;padding:0 8px}
.offline-options{padding:24px}.offline-options form>label{display:grid;gap:8px;margin:14px 0}.offline-options input[type=number]{width:100%;padding:12px;border:2px solid #b9cee3;border-radius:10px}.offline-options [data-error]{color:#a24736}.offline-options button{margin:8px 8px 0 0}

.extra-option{flex-wrap:wrap}.extra-option input[type=number]{width:74px;height:auto;min-height:40px;padding:8px;flex:none;margin:4px 0}.extra-option>span:last-child{font-size:12px}

.bundle-link-control{display:flex;gap:10px;align-items:center;line-height:1.5;margin:14px 0}.bundle-link-control input[type=checkbox]{width:22px;height:22px;flex:none}input[readonly]{background:#eef4fa}

.order-edit-options{display:grid;gap:12px;margin:18px 0;padding:16px;border:2px solid #b9d1e8;border-radius:14px}.order-edit-options fieldset{min-width:0;padding:12px;border:1px solid #b9d1e8;border-radius:10px}.order-edit-options input[type=checkbox]{width:auto;min-height:0}.order-edit-options [hidden]{display:none!important}.order-edit-options .order-option{display:flex;align-items:center;gap:10px;margin:10px 0}.order-edit-options .order-option span{flex:1}.order-edit-options .order-option input[type=number]{max-width:100px}

/* Warm brown frames separate menu cards while retaining the Santorini palette. */
.products > .product{border:2px solid #8b5e3c;}

.shift-sales{margin-top:18px;padding:16px;border:2px solid #b9cee3;border-radius:12px;background:#f5f9ff}.shift-sales h3{color:#1665b4;font-size:21px;margin-bottom:12px}.shift-sales small{display:block;margin-top:12px;line-height:1.6}

.sidebar{overflow-y:auto}

/* Santorini garden accents stay outside transaction content. */
.topbar{border-bottom:3px solid #E84A78;background-color:#fffdf8}.sidebar{background-color:#fffdf8}.sidebar .active{box-shadow:inset 4px 0 #E84A78}.eyebrow{color:#8b5e3c}.shift-sales{border-color:#40866d;background:#f4faf6}.shift-sales h3{color:#245c48}.pill.green{background:#e4f2e9;color:#245c48}.topbar .brand{border-bottom:3px solid #ffd66b}

/* Shared cashier forms: fixed rhythm, wrapping text and equal action widths. */
.page{max-width:1440px;width:100%;margin-inline:auto}.page>*{min-width:0}
.heading{align-items:flex-start}.heading>div{min-width:0}.heading>button{flex-shrink:0}
input,select,textarea{min-width:0;min-height:52px;line-height:1.45;padding:13px 14px}
input[type=number]{text-align:right;font-variant-numeric:tabular-nums}
label{line-height:1.5;overflow-wrap:anywhere}label>input,label>select,label>textarea{margin-top:7px}
textarea{min-height:96px}input[type=checkbox],input[type=radio]{min-height:18px;padding:0;flex-shrink:0}
.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}.form-grid>*{min-width:0}
[data-modal-form]{display:flex;flex-direction:column;gap:4px}[data-modal-form]>label{margin-top:12px;margin-bottom:4px}
[data-modal-form]>button[type=submit]{margin-top:20px;min-height:52px}
.modal-head{align-items:flex-start;gap:16px}.modal-head h2{line-height:1.35;overflow-wrap:anywhere}.close{flex-shrink:0}
.modal-body{line-height:1.5}.modal-body fieldset{min-width:0}.modal-body label:has(>input[type=checkbox]),.modal-body label:has(>input[type=radio]){display:flex;align-items:flex-start;gap:10px}
.modal-body label>input[type=checkbox],.modal-body label>input[type=radio]{margin-top:2px}
.modal-body .row,.details-items .row{align-items:flex-start;gap:14px}.modal-body .row>*{min-width:0;overflow-wrap:anywhere}
button{line-height:1.4;white-space:normal;overflow-wrap:anywhere}.actions>button{min-height:48px}
.shift-page{max-width:1120px;margin-inline:auto}.shift-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}
.shift-columns>*{min-width:0}.shift-current,.shift-history .card{padding:24px}.shift-cashier{margin:16px 0 18px;overflow-wrap:anywhere}
.shift-sales{border:0;background:transparent;margin-top:16px;padding:0}.shift-total{display:flex;flex-direction:column;gap:8px;padding:18px 20px;background:#edf4ff;border-radius:14px;margin-bottom:16px}.shift-total>span{font-size:12px;font-weight:600;color:var(--muted)}.shift-total>strong{font-size:30px;font-weight:650;line-height:1.25;color:#1665b4;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.shift-values{margin:0;padding:0}.shift-value{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:9px 0;align-items:start;font-size:13px;line-height:1.5}.shift-value dt{color:var(--muted);overflow-wrap:anywhere}.shift-value dd{margin:0;text-align:right;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.shift-section{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.shift-section h3{color:#18263c;font-size:14px;margin:0 0 8px}.shift-movement{margin-top:8px;padding:8px 12px;background:#f7f9fc;border-radius:10px}.shift-movement .helper{margin:0}.shift-footnote{margin-top:18px;line-height:1.65}.shift-history>h2{font-size:18px;margin:4px 0 16px}.shift-history>.helper{margin-top:16px}
.shift-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.shift-actions>.primary{grid-column:1/-1}.shift-actions>button{width:100%;min-height:50px}
@media(max-width:950px){.shift-columns{grid-template-columns:minmax(0,1fr)}.shift-page{max-width:720px}}
@media(max-width:520px){.form-grid{grid-template-columns:minmax(0,1fr)}.modal-head{padding:20px 18px 12px}.modal-body{padding:2px 18px 22px}.shift-current,.shift-history .card{padding:18px}.shift-total>strong{font-size:26px}.heading{flex-wrap:wrap;gap:12px}.shift-value{gap:12px}}
