:root,html[data-theme=dark]{--bg: #16110d;--bg-raise: #221a14;--bg-card: #2a2119;--line: #3d3228;--ink: #f6efe6;--muted: #b7a894;--gold: #d4a017;--gold-dim: #8a6a12;--paper: #fff7ea;--paper-ink: #2a2118;--danger: #c45c48;--ok: #3f9d6e;--shadow: 0 18px 50px rgba(0, 0, 0, .35);--input-bg: #1a1410;--hint-bg: #1a1410;--topbar-bg: rgba(22, 17, 13, .85);--glow: #3a2a18;--err: #f0b4a8;--ok-text: #9ee0bb;--btn-ink: #1c1408;--icon-danger-bg: #3a1f1a;--icon-danger-line: #5c3228;--icon-edit-bg: #2a2416;--icon-edit-line: #6a5420;--modal-dim: rgba(10, 8, 6, .72);--brand-logo: url(/serein-logo-white.png);--brand-watermark-opacity: .22;--dashboard-mark-opacity: .26;color-scheme:dark;font-family:"Source Sans 3",sans-serif}html[data-theme=light]{--bg: #f4eee4;--bg-raise: #fffaf3;--bg-card: #ffffff;--line: #e2d3bc;--ink: #2a2118;--muted: #7a6b58;--gold: #b8860b;--gold-dim: #8a6a12;--paper: #fff7ea;--paper-ink: #2a2118;--danger: #c45c48;--ok: #3f9d6e;--shadow: 0 16px 40px rgba(80, 50, 20, .12);--input-bg: #fff7ea;--hint-bg: #f3eadc;--topbar-bg: rgba(255, 250, 243, .92);--glow: #ead9b8;--err: #a94438;--ok-text: #2f7a54;--btn-ink: #1c1408;--icon-danger-bg: #f8e8e4;--icon-danger-line: #e0b4aa;--icon-edit-bg: #f6eed8;--icon-edit-line: #d4c08a;--modal-dim: rgba(42, 33, 24, .4);--brand-logo: url(/serein-logo-ink.png);--brand-watermark-opacity: .1;--dashboard-mark-opacity: .16;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:radial-gradient(1200px 600px at 10% -10%,var(--glow) 0%,var(--bg) 55%);color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.display{font-family:Fraunces,Georgia,serif}.login-wrap{position:relative;min-height:100%;display:grid;place-items:center;padding:24px;overflow:hidden}.login-wrap:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--brand-logo) center 40% / min(72vmin,560px) no-repeat;opacity:var(--brand-watermark-opacity);pointer-events:none}.login-card{position:relative;z-index:1;width:min(440px,100%);background:var(--bg-raise);border:1px solid var(--line);border-radius:22px;padding:36px 32px;box-shadow:var(--shadow)}.login-card h1{margin:0 0 6px;font-size:32px}.login-card p{margin:0 0 22px;color:var(--muted)}.hint{margin-top:18px;padding:12px 14px;background:var(--hint-bg);border-radius:12px;color:var(--muted);font-size:13px;line-height:1.5}.hint strong{color:var(--gold)}label{display:block;font-size:13px;color:var(--muted);margin:12px 0 6px}.muted{color:var(--muted)}.check-row{display:flex;align-items:center;gap:8px;margin:12px 0}.check-row input{width:auto}.password-field{position:relative}.password-field input{padding-right:46px}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:36px;height:36px;padding:0;border:0;border-radius:10px;background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer}.password-toggle svg{width:20px;height:20px}.password-toggle:hover{color:var(--ink)}input,select,textarea{width:100%;background:var(--input-bg);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:12px 14px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--gold)}.btn{border:0;border-radius:12px;padding:12px 16px;font-weight:600}.btn-gold{background:var(--gold);color:var(--btn-ink)}.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn-danger{background:var(--danger);color:#fff}.btn-full{width:100%;margin-top:18px}.err{color:var(--err);font-size:14px;margin-top:10px}.pos{height:100%;display:grid;grid-template-rows:64px 1fr}.topbar{position:relative;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid var(--line);background:var(--topbar-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand{display:flex;align-items:center;gap:12px}.brand h1{margin:0;font-size:22px}.brand span{color:var(--muted);font-size:13px}.brand-logo{display:block;height:auto;object-fit:contain}.brand-logo-login{width:min(280px,100%);margin:0 auto 10px}.brand-logo-side{width:158px;margin:4px auto 18px}.brand-logo-bar{height:46px;width:auto}.receipt-logo{width:190px;margin:0 auto 8px}.top-actions{display:flex;gap:10px;align-items:center}.order-menu{position:relative;z-index:20}.order-menu .btn.on{border-color:var(--gold);color:var(--gold)}.order-drop{position:absolute;top:calc(100% + 8px);right:0;width:340px;max-height:min(480px,70vh);overflow:auto;padding:8px;background:var(--bg-raise);border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 40px #00000047}.order-tabs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;margin:6px 0}.order-tabs button{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:999px;padding:6px 4px;font-size:12px}.order-tabs button.on{background:var(--gold);color:var(--btn-ink);border-color:var(--gold)}.order-drop-row{display:flex;align-items:center;gap:4px}.order-drop-row+.order-drop-row{border-top:1px solid var(--line)}.order-drop-row .order-drop-item{flex:1;min-width:0}.order-drop-row.is-pending{background:color-mix(in srgb,var(--ok) 18%,transparent);border-radius:10px}.order-drop-row.is-pending .order-drop-item,.order-drop-row.is-pending .order-drop-item span,.order-drop-row.is-pending .order-drop-item strong,.order-drop-row.is-pending .order-drop-item em{color:var(--ok)}.order-drop-row.is-confirmed{background:color-mix(in srgb,var(--danger) 18%,transparent);border-radius:10px}.order-drop-row.is-confirmed .order-drop-item,.order-drop-row.is-confirmed .order-drop-item span,.order-drop-row.is-confirmed .order-drop-item strong,.order-drop-row.is-confirmed .order-drop-item em{color:var(--danger)}.order-no{font-family:Fraunces,Georgia,serif;font-size:16px;letter-spacing:.01em}.order-tick{flex:none;width:34px;height:34px;margin-right:4px;border-radius:999px;border:1px solid var(--ok);background:transparent;color:var(--ok);display:grid;place-items:center}.order-tick:hover:not(:disabled){background:var(--ok);color:#fff}.order-tick:disabled{opacity:.5;cursor:default}.order-tick svg{width:16px;height:16px}.order-drop-item{display:block;width:100%;text-align:left;background:transparent;color:var(--ink);border:0;border-radius:10px;padding:10px 12px}.order-drop-item+.order-drop-item{border-top:1px solid var(--line)}.order-drop-item:hover{background:var(--bg-card)}.order-drop-item span{display:block;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.order-drop-item.current span{color:var(--gold)}.order-drop-item strong{display:block;margin-top:2px}.order-drop-item em{display:block;margin-top:2px;font-style:normal;font-size:13px;color:var(--muted)}.order-drop-empty{margin:4px 12px 8px;color:var(--muted);font-size:13px}.pos-body{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 360px;min-height:0}.pos-body>.menu-side,.pos-body>.cart{position:relative;z-index:1}.menu-side{position:relative;isolation:isolate;padding:16px;overflow:auto}.menu-side>*:not(.dashboard-watermark){position:relative;z-index:1}.pos .item,.pos .chip:not(.on){background:color-mix(in srgb,var(--bg-card) 76%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.cats{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.chip{border:1px solid var(--line);background:var(--bg-card);color:var(--ink);border-radius:999px;padding:8px 14px}.chip.on{background:var(--gold);color:var(--btn-ink);border-color:var(--gold)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.item{text-align:left;background:var(--bg-card);border:1px solid var(--line);border-radius:16px;padding:14px;color:var(--ink)}.item:hover{border-color:var(--gold)}.item b{display:block;margin-bottom:8px}.item em{color:var(--gold);font-style:normal;font-weight:700}.cart{background:var(--bg-raise);border-left:1px solid var(--line);display:flex;flex-direction:column;min-height:0;overflow:hidden}.cart-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 16px 8px}.cart-head .display{margin:0}.cart-list{overflow:auto;padding:8px 16px;min-height:0;flex:1}.line{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}.qty{display:flex;gap:8px;align-items:center}.qty button{width:28px;height:28px;border-radius:8px;border:1px solid var(--line);background:var(--input-bg);color:var(--ink)}.cart-foot{padding:16px;border-top:1px solid var(--line)}.row{display:flex;justify-content:space-between;margin:6px 0;color:var(--muted)}.row.total{color:var(--ink);font-size:20px;font-weight:700}.types{display:flex;gap:8px;margin:10px 0}.order-pay-tabs{margin-bottom:12px}.admin{display:grid;grid-template-columns:220px 1fr;height:100%}.side{background:var(--bg-raise);border-right:1px solid var(--line);padding:20px 12px}.side h1{font-size:20px;margin:0 12px 18px}.nav a,.nav button{display:block;width:100%;text-align:left;background:transparent;color:var(--muted);border:0;padding:10px 12px;border-radius:10px}.nav a.on,.nav a:hover,.nav button:hover{background:var(--bg-card);color:var(--ink)}.main{position:relative;overflow:auto;padding:24px;height:100%;min-height:0}.dashboard-page{position:relative;isolation:isolate;min-height:100%;z-index:1}.dashboard-watermark{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;pointer-events:none;z-index:0;overflow:hidden}.dashboard-watermark:before{content:"";position:absolute;width:min(720px,78%);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--gold) 28%,transparent) 0%,transparent 72%)}.dashboard-watermark-logo{position:relative;width:min(820px,88%);max-height:86%;opacity:var(--dashboard-mark-opacity, .2);filter:drop-shadow(0 12px 40px color-mix(in srgb,var(--gold) 35%,transparent))}.dashboard-page>*:not(.dashboard-watermark){position:relative;z-index:1}.dashboard-page .stat,.dashboard-page .panel{background:color-mix(in srgb,var(--bg-card) 76%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:20px}.stat{background:var(--bg-card);border:1px solid var(--line);border-radius:16px;padding:16px}.stat span{color:var(--muted);font-size:13px}.stat strong{display:block;font-size:28px;margin-top:6px}.panel{background:var(--bg-raise);border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:16px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);font-size:14px}th{color:var(--muted);font-weight:600}.tag{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;background:var(--input-bg)}.tag.void{color:var(--err)}.tag.ok{color:var(--ok-text)}.tag.wait{color:var(--gold)}.form-row{display:grid;grid-template-columns:1fr 1fr 120px auto;gap:8px;align-items:start;margin-bottom:12px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:start;margin-bottom:12px}.receipt-note{text-align:center;color:var(--gold);margin:0 auto 14px;max-width:520px}.receipt-actions{display:flex;gap:10px;margin-bottom:16px}.receipt{position:relative;width:320px;margin:0 auto;background-color:#f6f0e6;color:var(--paper-ink);padding:22px 18px;border-radius:4px;box-shadow:var(--shadow);overflow:hidden;-webkit-print-color-adjust:exact;print-color-adjust:exact}.receipt:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:url(/serein-logo-ink.png) center center / contain no-repeat;opacity:.22;pointer-events:none}.receipt>*{position:relative;z-index:1}.receipt h2,.receipt p,.receipt h3{margin:0;text-align:center}.receipt .meta{margin:12px 0;font-size:13px}.receipt table{font-size:13px}.receipt th,.receipt td{border-color:#e4d4bc}.dash{border-top:1px dashed #c9b496;margin:10px 0}@media print{body{background:#fff}.no-print{display:none!important}.receipt{box-shadow:none;width:72mm;margin:0;border-radius:0;background-color:#f6f0e6!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.receipt:before{opacity:.2}@page{size:80mm auto;margin:4mm}}@media(max-width:900px){.pos-body{grid-template-columns:1fr}.cart{border-left:0;border-top:1px solid var(--line);min-height:280px}.admin{grid-template-columns:1fr}}input.invalid,select.invalid{border-color:var(--danger)}.field-err{color:var(--err);font-size:12px;margin-top:6px}.field{display:flex;flex-direction:column;min-width:0}.icon-btn{width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid var(--icon-danger-line);background:var(--icon-danger-bg);color:var(--err)}.icon-btn:hover{background:var(--danger);color:#fff}.icon-btn svg{width:18px;height:18px}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--modal-dim);display:grid;place-items:center;z-index:50;padding:20px}.modal{width:min(420px,100%);background:var(--bg-raise);border:1px solid var(--line);border-radius:18px;padding:22px 20px;box-shadow:var(--shadow)}.modal h3{margin:0 0 8px;font-size:22px}.modal p{margin:0 0 18px;color:var(--muted);line-height:1.45}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px}.page-head .display{margin:0}.row-actions{display:flex;gap:8px;justify-content:flex-end}.icon-btn.edit{border-color:var(--icon-edit-line);background:var(--icon-edit-bg);color:var(--gold)}.icon-btn.edit:hover{background:var(--gold);color:var(--btn-ink)}.form-modal{width:min(460px,100%)}.form-stack{display:flex;flex-direction:column;gap:12px}.form-stack .field label{margin-top:0}.head-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.search-field{width:min(260px,70vw)}.search-field input{width:100%}.item-name-cell{display:flex;align-items:center;gap:10px}.table-thumb{width:42px;height:42px;object-fit:cover;border-radius:8px;background:var(--input-bg);flex-shrink:0}.image-preview-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:8px}.image-preview{width:100%;max-height:160px;object-fit:cover;border-radius:12px;border:1px solid var(--line)}.field-hint{margin-top:6px;font-size:12px;color:var(--muted)}.item-photo{width:100%;height:96px;object-fit:cover;border-radius:10px;margin-bottom:8px;display:block;background:var(--input-bg)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px}.theme-toggle svg{width:16px;height:16px;flex-shrink:0}.theme-toggle-float{position:absolute;top:18px;right:18px;z-index:2}.nav .theme-toggle{display:inline-flex;margin-top:10px;width:100%}
