:root{color-scheme:dark;--bg:#0b1524;--side:#0e1b2d;--panel:#13243a;--panel2:#172c46;--line:rgba(204,219,241,.11);--text:#edf4ff;--muted:#94a8c2;--accent:#d8b66c;--accent-dark:#1e2530;--soft:#203550;--shadow:0 12px 50px rgba(0,0,0,.12);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;line-height:1.48;font-size:14px}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}h1,h2,h3,p{margin-top:0}h1{font-size:25px;line-height:1.2;letter-spacing:-.6px;margin-bottom:6px}h2{font-size:18px;letter-spacing:-.3px;margin-bottom:8px}h3{font-size:15px;margin:22px 0 10px}p{color:var(--muted)}small{font-size:11.5px;color:var(--muted)}.muted{color:var(--muted)}.eyebrow{font-weight:800;font-size:10px;letter-spacing:2.1px;color:var(--accent)}.app{min-height:100vh;display:flex}.sidebar{flex:0 0 250px;width:250px;background:var(--side);display:flex;flex-direction:column;padding:28px 18px;border-right:1px solid var(--line);min-height:100vh;position:sticky;top:0;max-height:100vh}.brand{display:flex;align-items:center;gap:11px;padding:3px 8px 23px;color:var(--text)}.brand b{font-size:19px;letter-spacing:3.1px;line-height:1.05}.brand small{display:block;letter-spacing:2px;color:var(--accent);font-size:9px;margin-top:4px}.logo-mark{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(140deg,#f3d79b,#b5883d);color:#142234;font-size:27px;font-weight:900;font-family:Georgia,serif;box-shadow:0 8px 25px #d8b66c20;flex:none}.logo-mark.large{width:62px;height:62px;font-size:39px;margin-bottom:40px}.tenant-pill{display:flex;align-items:center;gap:10px;background:var(--soft);border:1px solid var(--line);border-radius:13px;padding:13px;margin-bottom:27px}.tenant-pill b{display:block;font-size:12px}.tenant-pill small{display:block;margin-top:4px}.online-dot{width:9px;height:9px;border-radius:50%;background:#56bd9c;box-shadow:0 0 0 4px #56bd9c20}.nav{display:flex;flex-direction:column;gap:5px;overflow:auto}.nav-label{font-size:10px;color:#7085a2;letter-spacing:1.8px;margin:0 14px 11px;font-weight:700}.nav-link{padding:12px 15px;border-radius:9px;color:var(--muted);font-weight:600;transition:.18s}.nav-link:hover,.nav-link.selected{background:var(--soft);color:var(--text)}.nav-link.selected{border-left:3px solid var(--accent);padding-left:12px}.side-bottom{margin-top:auto;padding:18px 11px 2px;display:grid;gap:5px}.main{min-width:0;flex:1;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;padding:27px 34px;border-bottom:1px solid var(--line);background:var(--bg);gap:20px}.topbar h1{margin-bottom:0}.account{display:flex;align-items:center;gap:12px}.account form{margin:0}.user-title strong{display:block;font-size:12px}.user-title small{display:block}.avatar{width:37px;height:37px;background:var(--soft);border:1px solid var(--line);display:grid;place-items:center;border-radius:50%;font-weight:800;color:var(--accent)}.content{width:100%;max-width:1600px;padding:28px 34px 55px;margin:0 auto;flex:1}.footer{padding:20px 34px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.welcome{background:radial-gradient(ellipse at 85% 15%,#d8b66c22,transparent 41%),linear-gradient(130deg,var(--panel),var(--panel2));border:1px solid var(--line);border-radius:19px;padding:27px 32px;display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:23px}.welcome h2{font-size:25px;margin-bottom:8px}.welcome p{margin:0;max-width:650px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:23px}.stat{background:var(--panel);padding:21px 23px;border:1px solid var(--line);border-radius:15px;display:flex;flex-direction:column;min-height:133px;gap:8px}.stat small{font-size:12px;color:var(--muted)}.stat strong{font-size:25px;letter-spacing:-1px}.stat span{font-size:11px;color:var(--accent)}.columns{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:start}.columns.wide{grid-template-columns:minmax(0,1fr) 340px}.columns>div{min-width:0}.panel{background:var(--panel);border-radius:15px;border:1px solid var(--line);padding:22px;margin-bottom:19px;box-shadow:var(--shadow)}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:22px;gap:20px}.panel-heading h2{margin-bottom:4px}.panel-heading p{font-size:12px;margin-bottom:0}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:9px;min-height:40px;padding:10px 17px;color:var(--text);background:var(--soft);font-weight:750;white-space:normal;text-align:center;transition:.15s}.btn:hover{filter:brightness(1.12);color:inherit}.btn.primary{color:#1a2637;background:linear-gradient(140deg,#ecd096,#d5ae65)}.btn.outline{background:transparent;border-color:var(--line)}.btn.danger{background:#9b3340;color:#fff}.btn.small{padding:6px 10px;min-height:31px;font-size:11px}.btn.block{width:100%;margin-top:10px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{text-transform:uppercase;color:var(--muted);letter-spacing:.8px;font-size:10px;font-weight:800;padding:12px 10px;border-bottom:1px solid var(--line)}td{padding:13px 10px;border-bottom:1px solid var(--line);vertical-align:middle}td b{display:block}td small{display:block;margin-top:3px}td form{display:inline-block}td details{min-width:180px}summary{cursor:pointer;color:var(--accent)}label{display:block;color:var(--muted);font-size:12px;font-weight:650;margin:10px 0 14px}label input,label select,label textarea,#product-search{display:block;width:100%;border-radius:8px;background:var(--bg);color:var(--text);border:1px solid var(--line);outline:0;padding:11px 12px;margin-top:6px;min-height:41px}label input:focus,label textarea:focus,label select:focus,#product-search:focus{border-color:var(--accent);box-shadow:0 0 0 3px #d8b66c15}textarea{resize:vertical}select{cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}label.check{display:flex;align-items:center;gap:8px}.check input{width:auto;margin:0;min-height:auto}.notice{border-radius:10px;padding:13px 17px;background:#20574888;border:1px solid #57ba9975;color:#b4f9de;margin-bottom:22px}.notice.error{background:#843b4388;border-color:#d66a7488;color:#fff0f0}.status{display:inline-flex;border-radius:20px;font-size:10px;font-weight:700;padding:6px 10px;background:var(--soft);color:var(--accent);white-space:nowrap}.status.paid,.status.active,.status.ready{background:#1b654b55;color:#74deab}.status.cancelled,.status.suspended{background:#91384744;color:#e78289}.status.pending{background:#936c2e44;color:#f0c76f}.status.preparing{background:#3367a255;color:#94b9f6}.quick-links{display:grid;gap:9px}.quick-links a{border-radius:9px;padding:14px;background:var(--soft);font-weight:700;border:1px solid var(--line)}.pos-layout{display:grid;grid-template-columns:minmax(0,1fr) 365px;gap:20px;align-items:start}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-top:16px}.product-tile{text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:9px;min-height:145px;background:var(--panel2);border:1px solid var(--line);padding:16px;border-radius:11px;color:var(--text);transition:.14s}.product-tile:hover{transform:translateY(-2px);border-color:var(--accent)}.product-tile span{font-size:10px;color:var(--muted)}.product-tile b{font-size:14px}.product-tile strong{color:var(--accent);font-size:17px;margin-top:auto}.cart-panel{position:sticky;top:18px}.cart-list{max-height:350px;overflow:auto;min-height:80px;padding-top:10px}.cart-row{display:grid;grid-template-columns:minmax(0,1fr) 65px 35px;align-items:center;gap:9px;padding:12px 0;border-bottom:1px solid var(--line)}.cart-row b{display:block;font-size:12px}.cart-row small{display:block}.cart-row input{width:66px;padding:9px 5px;background:var(--bg);border:1px solid var(--line);color:var(--text);border-radius:6px}.cart-row button{background:#823a46;color:#fff;border:0;border-radius:7px;padding:8px}.cart-total,.total-line{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 0;border-top:1px solid var(--line)}.cart-total strong{font-size:23px;color:var(--accent)}.filter-links{display:flex;gap:9px;overflow:auto;margin-bottom:20px}.filter-links a{background:var(--panel);padding:11px 13px;border:1px solid var(--line);border-radius:8px;white-space:nowrap;font-size:12px}.receipt-meta{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:20px}.receipt-meta>span{display:flex;flex-direction:column;gap:5px}.receipt-meta b{font-size:11px;color:var(--muted)}.total-line b{font-size:17px}.kds-grid,.table-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.kds-ticket,.table-tile{padding:20px;border-radius:13px;border:1px solid var(--line);background:var(--panel)}.kds-ticket{border-top:4px solid var(--accent)}.kds-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.kds-ticket p{font-size:11px;margin-top:12px}.kds-ticket ul{padding-left:20px;min-height:110px}.kds-ticket li{margin-bottom:10px;font-size:14px}.table-tile{display:flex;flex-direction:column;gap:8px}.table-tile b{font-size:18px}.table-tile span{color:var(--accent)}.table-tile small{font-size:12px}.report-line{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:13px 0;gap:8px}.audit-line{padding:12px 0;border-bottom:1px solid var(--line)}.audit-line b{font-size:12px}.audit-line small{float:right}.audit-line p{font-size:11px;margin:7px 0 0}.theme-swatches{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:15px}.theme-option{border:1px solid var(--line);padding:12px;border-radius:10px;display:flex;gap:8px;align-items:center}.integration-list{display:grid;gap:12px}.integration-list>div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:10px 0}.integration-list b{font-size:12px}.hint{margin-top:18px;font-size:11.5px}.empty{padding:35px;color:var(--muted)}.install-screen{min-height:100vh;background:radial-gradient(circle at 20% 15%,#304465 0,transparent 35%),#0a1423;display:grid;place-items:center;padding:24px}.install-card{width:min(880px,100%);background:#13243a;border:1px solid #33435b;border-radius:22px;padding:42px;box-shadow:0 30px 80px #0006}.install-card h1{font-size:29px;margin-top:10px}.install-card .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.install-card form h3{border-bottom:1px solid #ffffff20;padding-bottom:10px}.auth-container{width:min(1050px,100%);display:grid;grid-template-columns:1fr 430px;background:#13243a;border:1px solid #ffffff22;border-radius:22px;overflow:hidden;box-shadow:0 40px 100px #0008}.auth-intro{padding:60px 50px;background:radial-gradient(circle at 100% 10%,#d8b66c26,transparent 45%),#102037}.auth-intro h1{font-size:42px;line-height:1.16;max-width:480px;margin-bottom:22px}.auth-intro p:not(.eyebrow){max-width:400px;font-size:15px}.auth-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:35px}.auth-pills span{padding:9px 12px;border:1px solid #d8b66c55;border-radius:30px;color:#dfc58e;font-size:11px}.login-panel{background:#172b44;padding:75px 36px}.login-panel h2{font-size:23px}.login-panel p{margin-bottom:30px}.login-panel .btn{margin-top:24px}.public-menu{min-height:100vh}.public-header{padding:21px max(20px,calc((100vw - 1200px)/2));display:flex;gap:15px;align-items:center;background:var(--panel);border-bottom:1px solid var(--line)}.public-header h1{margin:3px 0 0;font-size:20px}.public-content{max-width:1200px;padding:30px 20px;margin:0 auto}.theme-obsidian{--bg:#0d0e10;--side:#101113;--panel:#1b1b1b;--panel2:#242425;--soft:#29292b;--accent:#e1be76}.theme-light{color-scheme:light;--bg:#f2f5f9;--side:#ffffff;--panel:#fff;--panel2:#f7f9fc;--line:#dbe2ed;--text:#1a2b41;--muted:#6a788b;--accent:#9c752a;--soft:#eaf0f8;--shadow:0 12px 40px #14253c08}.theme-emerald{--bg:#0c191b;--side:#102428;--panel:#153035;--panel2:#1b3b40;--soft:#24454a;--accent:#a9d59d;--accent-dark:#162a2d}
@media(max-width:1100px){.sidebar{flex-basis:210px;width:210px}.content{padding:25px 20px}.topbar{padding:22px 20px}.columns,.columns.wide{grid-template-columns:minmax(0,1fr) 290px}.pos-layout{grid-template-columns:minmax(0,1fr) 310px}.stats{gap:9px}.stat{padding:17px}.stat strong{font-size:21px}}@media(max-width:820px){.app{display:block}.sidebar{position:static;max-height:none;width:100%;min-height:0;padding:14px 16px;display:block;border-right:0;border-bottom:1px solid var(--line)}.brand{padding:0 0 10px}.tenant-pill,.side-bottom,.nav-label{display:none}.nav{display:flex;flex-direction:row;overflow-x:auto;gap:7px;padding-bottom:2px}.nav-link{flex:none;padding:10px;border:1px solid var(--line);font-size:12px}.nav-link.selected{padding:10px;border-left:1px solid var(--accent)}.topbar{padding:18px 16px}.content{padding:18px 14px}.stats{grid-template-columns:1fr 1fr}.columns,.columns.wide,.pos-layout{grid-template-columns:1fr}.cart-panel{position:static}.footer{padding:16px}.welcome{padding:20px}.auth-container{grid-template-columns:1fr;max-width:500px}.auth-intro{padding:25px}.auth-intro h1{font-size:28px}.auth-intro .logo-mark{margin-bottom:20px}.auth-pills{margin-top:15px}.login-panel{padding:26px}}@media(max-width:500px){.stat{min-height:115px}.stat strong{font-size:18px}.panel{padding:16px}.welcome{flex-direction:column;align-items:flex-start}.account{gap:6px}.user-title{display:none}.topbar h1{font-size:20px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-tile{min-height:120px;padding:12px}.product-tile strong{font-size:15px}.form-grid,.install-card .form-grid{grid-template-columns:1fr}.install-card{padding:23px}.auth-intro{display:none}.login-panel{padding:35px 24px}}
@media print{.sidebar,.topbar,.footer,.no-print,.panel:not(:first-child),.columns>div:nth-child(2){display:none!important}.main,.content,.columns,.columns.wide{display:block;width:100%;max-width:none;padding:0!important}.panel{border:0;box-shadow:none;color:#000;background:#fff}.table-wrap{overflow:visible}body{color:#000;background:#fff}table,td,th{color:#000}}

/* V3: QR table ordering and safe in-app business assistant */
.qr-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.qr-table-card{border:1px solid var(--line);border-radius:15px;background:var(--panel2);padding:18px;page-break-inside:avoid}
.qr-card-head{display:flex;align-items:center;justify-content:space-between;gap:9px}.qr-card-head h3{margin:0}
.qr-placeholder{display:flex;align-items:center;justify-content:center;background:#fff;min-height:242px;max-width:255px;margin:16px auto;border-radius:12px;padding:8px;color:#263445}
.qr-placeholder svg{width:min(100%,220px);height:auto;display:block}
.qr-actions{display:flex;gap:8px;flex-wrap:wrap}.qr-link{overflow-wrap:anywhere;font-size:10px}
.menu-catalog{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:14px}
.menu-item{background:var(--panel2);border-radius:12px;border:1px solid var(--line);padding:17px;display:flex;flex-direction:column;gap:9px}.menu-item b{color:var(--accent)}
.ai-answer{white-space:normal;line-height:1.65;background:var(--soft);border-radius:12px;border:1px solid var(--line);padding:19px;margin-top:22px}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:15px}
@media(max-width:800px){.qr-card-grid{grid-template-columns:1fr}.public-content .pos-layout{grid-template-columns:1fr}.public-content .cart-panel{position:static}}
@media print{.sidebar,.topbar,.footer,.qr-table-card form,.qr-actions,.qr-link,.columns>div:nth-child(2){display:none!important}.qr-card-grid{grid-template-columns:repeat(3,1fr)}.qr-placeholder{background:#fff}.qr-table-card{border:1px solid #777!important;color:#000!important}.qr-card-head h3{color:#000!important}.qr-card-head small{color:#000!important}.qr-card-head .status{display:none}}

@media print{body.qr-print-single .qr-table-card:not(.print-target){display:none!important}body.qr-print-single .qr-card-grid{display:block!important}body.qr-print-single .qr-table-card.print-target{display:block!important;max-width:340px;margin:10px auto}}

/* V12 sector-specific product catalog */
.catalog-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:20px}
.catalog-summary>div{border:1px solid var(--border,rgba(100,120,140,.22));border-radius:13px;padding:17px;background:var(--panel,#fff);display:flex;flex-direction:column;gap:8px}
.catalog-summary small{opacity:.75;font-size:12px}.catalog-summary strong{font-size:29px}
.catalog-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.catalog-actions form:first-child{display:flex;flex:1;gap:8px;flex-wrap:wrap;align-items:end}.catalog-actions select,.catalog-actions input{min-width:160px;flex:1}
.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(218px,1fr));gap:14px;margin:22px 0}
.catalog-card{border:1px solid rgba(112,130,150,.25);border-radius:15px;overflow:hidden;background:var(--panel,#fff);box-shadow:0 3px 17px rgba(0,0,0,.045);min-width:0}
.catalog-image{width:100%;height:185px;object-fit:cover;display:block;background:#f1f5f9}
.catalog-info{padding:14px;display:flex;flex-direction:column;gap:7px}.catalog-info h3{font-size:16px;line-height:1.35;margin:0;min-height:42px}.catalog-info small{font-size:12px;opacity:.8}.catalog-info>strong{color:var(--accent,#b58342);font-size:16px}
.catalog-badges{display:flex;flex-wrap:wrap;gap:5px}.catalog-badges span{font-size:10px;background:rgba(132,146,164,.16);border-radius:20px;padding:4px 8px}
.catalog-info details{border-top:1px solid rgba(120,120,120,.19);padding-top:10px}.catalog-info details form{display:flex;flex-direction:column;gap:9px;margin-top:12px}.catalog-info details summary{cursor:pointer;font-size:12px;font-weight:bold}
.catalog-pages{display:flex;justify-content:center;align-items:center;gap:16px;padding:10px}.catalog-create{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;align-items:end}
.menu-product-image{height:86px;width:100%;object-fit:contain;border-radius:8px;background:#f6f8fa;margin-bottom:7px}.menu-item .menu-product-image{max-width:90px;float:left;margin-right:12px}.product-tile .menu-product-image{max-width:100px;height:82px;object-fit:cover}
@media(max-width:700px){.catalog-summary{grid-template-columns:repeat(2,1fr)}.catalog-actions form:first-child{min-width:100%}.catalog-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.catalog-image{height:145px}}

/* V19 visual QA: real packaged-product packshots use contain; prepared meals use cover. */
.catalog-packed .catalog-image{object-fit:contain;background:#f7f9fb;padding:12px}
.catalog-food .catalog-image{object-fit:cover;background:#142538}
.catalog-card{transition:transform .18s ease,border-color .18s ease;isolation:isolate}
.catalog-card:hover{transform:translateY(-3px);border-color:rgba(216,182,108,.5)}
.catalog-image{border-bottom:1px solid var(--line);color:#506176!important}
.catalog-card:focus-within{outline:2px solid var(--accent);outline-offset:2px}
.media-queue{display:grid;gap:10px;margin:16px 0}
.media-queue-row{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:16px;align-items:center;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}
.media-queue-thumb{width:76px;height:76px;border-radius:10px;display:grid;place-items:center;overflow:hidden;background:#f2f5f9;color:#61708a;font-size:30px}
.media-queue-thumb img{width:100%;height:100%;object-fit:contain}
.media-queue-info{min-width:0;display:flex;flex-direction:column;gap:4px}
.media-queue-info strong{font-size:14px;overflow-wrap:anywhere}
.media-queue-info small{font-size:11px}
.media-state{align-self:flex-start;border:1px solid var(--line);border-radius:99px;padding:3px 9px;font-size:11px;color:var(--accent)}
:focus-visible{outline:3px solid var(--accent)!important;outline-offset:3px}
@media(max-width:640px){.media-queue-row{grid-template-columns:58px minmax(0,1fr);gap:10px}.media-queue-thumb{width:58px;height:58px}.media-queue-row>.btn{grid-column:1/-1;width:100%}.catalog-grid{grid-template-columns:repeat(auto-fill,minmax(154px,1fr))}.catalog-image{height:148px}.catalog-info{padding:11px}.catalog-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.catalog-card,.product-tile{transition:none!important;transform:none!important}}
