:root{color-scheme:light;--solid:#132c29;--on-solid:#fff;--on-accent:#132c29;--ink:#132c29;--muted:#65716f;--accent:#ddf56a;--paper:#f3f5f4;--white:#fff;--line:#dee5e2;--red:#a53535;--soft:#e9efec;--shadow:0 16px 50px #132c2920;--radius:16px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid var(--ink);outline-offset:3px}input:focus,select:focus{outline:2px solid var(--ink);outline-offset:1px}button{border:0}input,select{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:10px;background:var(--white);color:var(--ink);min-height:46px}input[type=checkbox]{width:auto;min-height:auto}h1,h2,h3,p{margin:0}h1{font-size:26px;letter-spacing:-1px}h2{font-size:22px;letter-spacing:-.6px}h3{font-size:17px}.rail{position:fixed;inset:0 auto 0 0;width:208px;background:var(--solid);color:var(--on-solid);padding:30px 18px;display:flex;flex-direction:column}.brand{display:flex;gap:10px;align-items:center;color:var(--on-solid);text-decoration:none;font-size:25px;font-weight:750;letter-spacing:-1px}.brand-icon{background:var(--accent);color:var(--on-accent);width:40px;height:45px;display:grid;place-items:center;border-radius:10px}.brand-sub{display:block;font-size:10px;letter-spacing:2px;font-weight:500;margin-top:1px}.rail nav{display:grid;gap:8px;margin-top:52px}.rail nav button{background:transparent;color:var(--on-solid);text-align:left;padding:14px 18px;border-radius:10px;display:flex;gap:14px;align-items:center;min-height:48px}.rail nav button.active{background:var(--accent);color:var(--on-accent);font-weight:700}.rail-footer{margin-top:auto;font-size:14px}.rail-footer span{opacity:.65;font-size:12px}.workspace{margin-left:208px}header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;border-bottom:1px solid var(--line);background:var(--white)}.eyebrow{font-size:12px;letter-spacing:1.7px;font-weight:700;color:var(--muted);margin-bottom:4px}.header-right{display:flex;align-items:center;gap:20px;font-size:14px;color:var(--muted)}.local-badge{padding:7px 12px;background:var(--soft);border-radius:30px;font-size:12px}main{padding:28px 32px}footer{display:flex;justify-content:space-between;padding:10px 32px 24px;color:var(--muted);font-size:12px}.pos-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:28px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;gap:12px}.outline,.secondary{background:var(--white);padding:11px 16px;border:1px solid var(--line);border-radius:10px;min-height:44px}.secondary{background:var(--soft)}.primary{background:var(--solid);color:var(--accent);padding:15px 22px;border-radius:12px;font-weight:700;min-height:50px}.chips{display:flex;gap:8px;overflow:auto;padding:20px 0}.chips button{padding:10px 17px;border-radius:25px;background:var(--white);white-space:nowrap;border:1px solid var(--line);min-height:44px}.chips button.selected{background:var(--solid);color:var(--on-solid);border-color:var(--ink)}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.product-card{text-align:left;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:17px;display:flex;flex-direction:column;min-height:176px;transition:transform .12s}.product-card:hover{transform:translateY(-2px);border-color:var(--ink)}.product-code{width:43px;height:43px;display:grid;place-items:center;border-radius:12px;background:var(--soft);font-weight:700;font-size:14px;margin-bottom:18px}.product-card:nth-child(3n+2) .product-code{background:var(--accent);color:var(--on-accent)}.product-name{font-weight:650;overflow-wrap:anywhere}.product-price{margin-top:7px;font-size:15px}.product-stock{font-size:12px;color:var(--muted);margin-top:6px}.order{background:var(--white);border:1px solid var(--line);border-radius:20px;display:flex;flex-direction:column;min-height:570px;overflow:hidden}.order-heading{padding:22px;border-bottom:1px dashed var(--line)}.order-heading h2{font-size:19px}.order-heading span{font-size:13px;color:var(--muted)}.empty{text-align:center;padding:60px 20px;color:var(--muted)}.empty h3{color:var(--ink);margin:14px 0 6px}.empty-symbol{font-size:35px;background:var(--soft);display:inline-grid;place-items:center;width:65px;height:65px;border-radius:50%}.empty p{font-size:14px}.order-bottom{margin-top:auto;padding:22px;border-top:1px dashed var(--line)}.order-bottom .primary{width:100%}.total{display:flex;justify-content:space-between;align-items:center;margin:8px 0 20px;font-size:17px}.total strong{font-size:25px;letter-spacing:-1px}.order-actions{display:flex;justify-content:space-between;gap:8px;margin-top:10px}.order-actions button{font-size:14px;flex:1}.cart-items{padding:8px 20px;max-height:420px;overflow:auto}.cart-line{padding:15px 0;border-bottom:1px solid var(--line)}.line-top{display:flex;justify-content:space-between;gap:10px;font-size:14px;font-weight:650}.line-controls{display:flex;align-items:center;gap:10px;margin-top:10px}.line-controls button{width:36px;height:36px;border-radius:8px;background:var(--soft)}.line-controls .remove{margin-left:auto;background:transparent;color:var(--red)}.small{font-size:13px;color:var(--muted)}.screen{max-width:1100px}.panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:24px}.table-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.table-card{text-align:left;padding:24px;min-height:155px;border-radius:var(--radius);border:1px solid var(--line);background:var(--white)}.table-card.occupied{background:var(--solid);color:var(--on-solid)}.table-card h3{font-size:24px;margin:7px 0}.table-card span{font-size:14px}.table-card strong{display:block;margin-top:12px;color:var(--accent)}.table-card .free{color:var(--muted)}.data-list{display:grid;gap:10px}.data-row{display:flex;align-items:center;gap:15px;padding:16px;background:var(--white);border:1px solid var(--line);border-radius:12px}.data-row .grow{flex:1;min-width:0;overflow-wrap:anywhere}.data-row button{flex-shrink:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.stat{padding:22px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius)}.stat strong{display:block;font-size:27px;margin-top:7px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:grid;gap:7px;font-size:14px;font-weight:600}.full{grid-column:1/-1}.notice{background:var(--soft);padding:16px;border-radius:12px;font-size:14px;margin:20px 0}.danger{color:var(--red)}dialog{border:0;padding:26px;max-width:520px;width:calc(100% - 28px);border-radius:20px;box-shadow:var(--shadow);color:var(--ink);max-height:90dvh;overflow:auto}dialog::backdrop{background:#132c2966}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.close{width:42px;height:42px;border-radius:50%;background:var(--soft);font-size:24px}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:22px}.payment-types{display:flex;gap:8px;margin:20px 0}.payment-types button{flex:1;padding:13px 8px;border-radius:10px;border:1px solid var(--line);background:var(--white);font-size:14px}.payment-types button.selected{background:var(--solid);color:var(--on-solid)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--solid);color:var(--on-solid);padding:14px 22px;border-radius:12px;z-index:5;max-width:90%;display:none}.receipt{font:14px/1.5 monospace;color:var(--ink);max-width:300px;margin:auto}.receipt h3,.receipt .center{text-align:center}.receipt-line{display:flex;justify-content:space-between;gap:10px}.receipt hr{border:0;border-top:1px dashed var(--muted);margin:12px 0}.receipt .receipt-item{margin:8px 0}.receipt .center{font-size:12px}#print-area{display:none}.form-error{color:var(--red);margin-top:12px;font-size:14px}.settings-actions{display:flex;gap:12px;flex-wrap:wrap}a{color:var(--ink)}@media(max-width:1200px){.rail{width:174px;padding:25px 12px}.workspace{margin-left:174px}main{padding:24px}.pos-layout{grid-template-columns:minmax(0,1fr) 310px;gap:20px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand{font-size:22px}}@media(max-width:900px){.rail{width:82px;padding:24px 10px}.brand>span:last-child,.rail nav button span,.rail-footer{display:none}.rail nav button{justify-content:center;padding:14px;font-size:22px}.workspace{margin-left:82px}.header-right #date{display:none}header{padding:20px 24px}.table-grid{grid-template-columns:repeat(3,1fr)}.pos-layout{gap:16px;grid-template-columns:minmax(0,1fr) 290px}.product-card{padding:13px}.section-heading{flex-wrap:wrap}}@media(max-width:650px){.rail{inset:auto 0 0;width:auto;height:76px;padding:6px 8px;z-index:3}.brand{display:none}.rail nav{margin:0;display:flex;justify-content:space-between;gap:3px}.rail nav button{flex-direction:column;gap:2px;flex:1;padding:7px 4px;font-size:19px;border-radius:10px}.rail nav button span{display:block;font-size:11px}.workspace{margin:0;padding-bottom:78px}header{padding:18px}.header-right{gap:5px}.local-badge{font-size:11px;padding:6px 9px}h1{font-size:23px}main{padding:20px 16px}.pos-layout{grid-template-columns:1fr}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-card{min-height:160px}.order{min-height:300px}.empty{padding:30px 20px}.table-grid{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:1fr}.stat strong{font-size:24px}.data-row{flex-wrap:wrap}.data-row .grow{flex-basis:50%}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}footer{padding:10px 16px 20px;gap:15px}.section-heading h2{font-size:22px}.header-right #date{display:none}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}@media print{body>*{display:none!important}body #print-area{display:block!important;width:var(--ticket-width,72mm);color:#000;background:#fff}#print-area .receipt{max-width:none;font-size:11px;color:#000}#print-area hr{border-color:#000}@page{margin:3mm}}
textarea{font:inherit;width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:10px;resize:vertical;background:var(--white);color:var(--ink);line-height:1.5}textarea:focus{outline:2px solid var(--ink);outline-offset:1px}.button-group{display:flex;gap:10px;flex-wrap:wrap}.catalog-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,240px);gap:18px;align-items:end;margin-bottom:28px}.catalog-tools>input{height:48px}.category-section{margin-bottom:30px}.category-heading{display:flex;gap:14px;align-items:center;margin-bottom:12px}.category-heading h3{font-size:20px}.reorder-buttons{display:flex;gap:5px}.reorder-buttons button{padding:8px 11px;min-width:44px}.category-row,.contact-row{display:flex;gap:10px;align-items:center;border:1px solid var(--line);padding:14px;border-radius:12px}.category-row .grow,.contact-row .grow{flex:1;min-width:0;overflow-wrap:anywhere}.category-row .small,.contact-row .small{display:block}.inline-form{display:flex;gap:10px;align-items:end;margin:20px 0}.inline-form label{flex:1;min-width:0}.inline-form .primary{padding:13px 16px}.product-image{width:100%;height:115px;border-radius:10px;object-fit:contain;margin-bottom:14px}.product-thumb{width:54px;height:54px;object-fit:contain;border-radius:10px;flex-shrink:0}.image-editor{display:flex;gap:18px;align-items:center}.image-editor>div:last-child{flex:1;min-width:0}.image-preview{width:105px;height:105px;border-radius:14px;background:var(--soft);border:1px dashed var(--line);display:grid;place-items:center;flex-shrink:0;overflow:hidden}.image-preview img{width:100%;height:100%;object-fit:contain}.image-preview span{font-size:12px;color:var(--muted);text-align:center}.image-editor input{font-size:13px;padding:9px;min-width:0}.receipt-logo{display:block;max-width:120px;max-height:75px;object-fit:contain;filter:grayscale(1);margin:0 auto 12px}.receipt p,.receipt-item{overflow-wrap:anywhere}.receipt-footer{white-space:pre-wrap}.receipt-preview{max-width:100%;border:1px dashed var(--line);padding:12px;margin:auto}.customer-fields{margin-bottom:20px}.wrap{flex-wrap:wrap}.messaging-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.template-card{display:block;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:18px;text-align:left;width:100%}.template-card p{font-size:14px;margin:9px 0;color:var(--muted);white-space:pre-line;overflow-wrap:anywhere}.channel-notice{display:flex;gap:18px;justify-content:space-between;align-items:center;margin-top:0}.channel-notice p{margin-top:5px;font-size:14px}.status-label{font-size:12px;font-weight:650;display:inline-block;padding:7px 10px;border-radius:8px;background:var(--soft);color:var(--ink);white-space:nowrap}.channel-notice .status-label{background:var(--white)}.variable-chips{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}.variable-chips button{padding:8px;background:var(--soft);border-radius:6px;font-size:12px;min-height:38px}.draft-snippet{font-size:13px;color:var(--muted);margin-top:7px;white-space:pre-wrap;overflow-wrap:anywhere}.message-preview{margin:20px 0;padding:18px;background:var(--soft);border-radius:14px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:350px;overflow:auto}.action-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.receipt-line>span:last-child,.receipt-line>strong:last-child{white-space:nowrap}.receipt-line{font-size:12px}.line-controls .small{overflow-wrap:anywhere}@media(max-width:1000px){.messaging-columns{grid-template-columns:1fr}}@media(max-width:650px){.rail nav button{padding:7px 2px;font-size:18px}.rail nav button span{font-size:12px}.catalog-tools{grid-template-columns:1fr;gap:12px}.image-editor{flex-direction:column;align-items:stretch}.image-preview{align-self:center}.channel-notice{align-items:flex-start;flex-direction:column}.category-row{flex-wrap:wrap}.category-row .grow{flex-basis:100%}.inline-form{align-items:stretch;flex-direction:column}.product-image{height:100px}.dialog-actions .primary{flex:1}.category-heading{flex-wrap:wrap}.line-controls{gap:7px}.line-controls .small{font-size:11px}.data-row .reorder-buttons{margin-left:auto}}
#auth-panel{display:none}.auth-open .rail,.auth-open .workspace{display:none}.auth-open #auth-panel{display:flex;min-height:100dvh;align-items:center;justify-content:center;padding:24px}.auth-card{background:var(--white);padding:38px;border:1px solid var(--line);border-radius:22px;width:100%;max-width:470px;box-shadow:var(--shadow)}.auth-brand{display:flex;align-items:center;gap:12px;font-size:30px;margin-bottom:35px}.auth-card form{display:grid;gap:18px}.auth-card form .primary{width:100%}.text-button{background:none;text-decoration:underline;min-height:44px;margin:14px 0;font-size:14px}.plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:18px}.plan-card{border:1px solid var(--line);border-radius:14px;padding:22px}.plan-card strong{display:block;font-size:28px;margin:12px 0 2px}.plan-card .primary{margin-top:20px;width:100%}#cloud-account{display:flex;gap:8px;align-items:center}#active-business{max-width:210px;font-size:14px}.header-right{flex-wrap:wrap;justify-content:flex-end}.auth-open{background:var(--solid)}@media(max-width:650px){.auth-card{padding:25px}.auth-open #auth-panel{padding:16px}#cloud-account{width:100%;justify-content:flex-end}#cloud-account .outline{font-size:12px;padding:9px}.header-right:has(#cloud-account){max-width:55%;gap:7px}#active-business{max-width:140px;font-size:12px;padding:8px}.rail nav button span{font-size:11px}.rail nav button{min-width:0}.rail nav{gap:1px}.plan-grid{grid-template-columns:1fr}}

@media(max-width:650px){header:has(#cloud-account){flex-direction:column;align-items:stretch;gap:14px}header:has(#cloud-account) .header-right{max-width:100%;justify-content:space-between}#cloud-account{width:auto;flex:1;justify-content:flex-start}#active-business{min-width:0;max-width:160px}header:has(#cloud-account) .local-badge{display:none}.plan-card,.stat,.auth-card{overflow-wrap:anywhere}}

/* Comptoir service workspace — DineDesk reference, existing brand retained. */
:root{--success:#126344;--success-soft:#e8f4ec;--warning:#92531d;--warning-soft:#fff2df;--info:#285d93;--info-soft:#eaf2fd;--purple:#69519a;--purple-soft:#f1edfa;--danger-soft:#fceeee;--radius-sm:10px;--space-card:22px;--focus:#28684f}
.rail{width:224px;padding:25px 16px;z-index:3}.workspace{margin-left:224px}.rail nav{margin-top:30px;gap:4px;overflow-y:auto;min-height:0;scrollbar-width:thin;scrollbar-color:#65716f transparent}.rail nav button{font-size:14px;padding:11px 13px;min-height:46px;gap:12px;flex-shrink:0}.rail nav button:hover:not(.active){background:#ffffff12}.rail nav button:focus-visible{outline-color:var(--accent);outline-offset:-3px}.rail-footer{padding-top:20px;font-size:12px}.rail nav .mobile-more{display:none}.nav-icon{flex:none;filter:brightness(0) invert(1);max-width:none}.nav-icon.icon-flip{transform:scaleY(-1)}.rail nav .active .nav-icon{filter:brightness(0)}header{padding:22px 30px}main{padding:28px 30px;min-width:0}.service-screen{max-width:1600px;margin:auto}.service-screen>.section-heading{margin-bottom:26px}.section-heading h3{margin:0}.section-heading .button-group{align-items:end}.compact-select{font-size:11px;gap:4px;color:var(--muted)}.compact-select select{font-size:13px;min-height:44px;padding:9px 32px 9px 12px;width:auto;max-width:100%}.service-screen .panel{padding:var(--space-card);min-width:0}.service-screen .panel>h3{margin-bottom:18px}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.metrics-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.metric{position:relative;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:22px;overflow-wrap:anywhere;border-top:3px solid var(--success)}.metric>span{display:block;font-size:13px;color:var(--muted)}.metric>strong{display:block;font-size:clamp(23px,2.2vw,32px);line-height:1.2;letter-spacing:-1px;margin:17px 0 9px;font-variant-numeric:tabular-nums}.metric>small{font-size:12px;color:var(--muted)}.metric-orange{border-top-color:var(--warning)}.metric-purple{border-top-color:var(--purple)}.metric-blue{border-top-color:var(--info)}.metric-red{border-top-color:var(--red)}.dashboard-main{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(270px,1fr);gap:22px;margin-bottom:22px}.dashboard-bottom{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(270px,1fr);gap:22px}.chart-panel .section-heading{margin-bottom:14px}.revenue-bars{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;padding-top:24px}.revenue-day{text-align:center;min-width:0}.revenue-day>span{font-size:10px;font-variant-numeric:tabular-nums;display:block;min-height:28px;color:var(--muted);overflow-wrap:anywhere}.bar-track{height:155px;background:linear-gradient(to bottom,var(--line) 1px,transparent 1px);background-size:100% 33.33%;display:flex;align-items:end;justify-content:center;border-bottom:1px solid var(--line)}.bar-fill{width:55%;max-width:40px;min-width:12px;background:var(--success);border-radius:6px 6px 0 0}.revenue-day>strong{display:block;font-size:12px;font-weight:600;margin-top:10px}.revenue-day>small{font-size:10px;color:var(--muted)}.live-list{margin-top:18px;display:grid}.live-list button{display:flex;gap:12px;justify-content:space-between;align-items:center;background:transparent;text-align:left;border-bottom:1px solid var(--line);padding:17px 0;min-height:60px}.live-list button:last-child{border:0}.live-list button>span:first-child{flex:1;font-size:13px}.live-list button>strong{font-size:23px}.live-list small{color:var(--muted);font-size:12px;font-weight:400}.live-list button:hover{color:var(--success)}.text-action{background:none;padding:9px 0;font-size:13px;text-align:left;min-height:44px;font-weight:600}.text-action:hover{text-decoration:underline}.ranked-products{display:grid;gap:20px;margin-top:20px}.ranked-product{display:flex;align-items:center;gap:12px;font-size:13px}.ranked-product .product-code,.ranked-product .product-thumb{width:38px;height:38px;flex-shrink:0;font-size:11px}.ranked-product .grow{flex:1;min-width:0}.ranked-product strong{display:block;overflow-wrap:anywhere;font-size:13px}.ranked-product .rank{font-size:12px;color:var(--muted)}.ranked-product>span:last-child{text-align:right}.ranked-product small{display:block;color:var(--muted);font-size:10px}.rank-track{height:5px;background:var(--soft);border-radius:5px;overflow:hidden;margin-top:9px}.rank-track>span{display:block;height:100%;background:var(--success);border-radius:5px}.table-scroll{overflow:auto;scrollbar-width:thin}.report-table{width:100%;border-collapse:collapse;font-size:13px;min-width:500px}.report-table th{text-align:left;font-weight:500;color:var(--muted);font-size:11px;padding:10px;border-bottom:1px solid var(--line)}.report-table td{padding:15px 10px;border-bottom:1px solid var(--line);vertical-align:middle}.report-table tr:last-child td{border:0}.report-table small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.report-table .amount{font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.small-button{padding:9px 12px;font-size:11px;min-height:44px}.service-shortcuts{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.service-shortcuts button{font-size:13px}.service-empty{text-align:center;padding:32px 16px;color:var(--muted)}.service-empty h3{font-size:16px;color:var(--ink);margin:14px 0 6px}.service-empty p{font-size:13px;max-width:330px;margin:0 auto 18px}.empty-mark{display:inline-grid;place-items:center;background:var(--soft);color:var(--muted);border-radius:50%;width:42px;height:42px;font-size:22px}.service-badge{display:inline-flex;align-items:center;border-radius:7px;padding:6px 9px;font-size:11px!important;font-weight:600;line-height:1.3;white-space:nowrap}.status-pending,.status-neutral{background:var(--soft);color:var(--muted)}.status-preparing{background:var(--warning-soft);color:var(--warning)}.status-ready{background:var(--success-soft);color:var(--success)}.status-served{background:var(--info-soft);color:var(--info)}.status-cancelled{background:var(--danger-soft);color:var(--red)}.service-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.service-tabs :is(button,a){display:flex;align-items:center;gap:12px;padding:10px 16px;border:1px solid var(--line);background:var(--white);border-radius:9px;font-size:13px;min-height:44px}.service-tabs :is(button,a) span{padding:2px 6px;border-radius:5px;background:var(--soft);font-size:11px}.service-tabs :is(button,a).selected{border-color:var(--ink);background:var(--solid);color:white}.service-tabs :is(button,a).selected span{color:var(--ink)}.tables-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px;align-items:start}.tables-layout .table-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.tables-layout .table-card{padding:18px;min-height:186px;display:flex;flex-direction:column;align-items:start;gap:9px;color:var(--ink)}.tables-layout .table-card h3{font-size:22px;margin:5px 0 0}.tables-layout .table-card strong{font-size:14px;color:var(--ink);margin:0}.tables-layout .table-card>span:last-child{font-size:11px;color:var(--muted)}.tables-layout .table-card.occupied{background:var(--warning-soft);border-color:#e9d7bf}.tables-layout .table-card.selected-table{outline:2px solid var(--success);outline-offset:2px}.table-detail .section-heading{gap:10px}.table-detail .primary,.table-detail>.outline{width:100%;margin-top:18px}.table-detail>.small{margin-top:10px}.table-shape{width:108px;height:80px;margin:30px auto;background:var(--soft);border:2px solid var(--line);border-radius:20px;display:grid;place-items:center;font-size:28px;font-weight:700;color:var(--muted);box-shadow:-10px 0 0 -6px var(--muted),10px 0 0 -6px var(--muted)}.order-preview{padding:0;list-style:none;margin:16px 0}.order-preview li{display:flex;justify-content:space-between;gap:15px;font-size:13px;padding:9px 0;border-bottom:1px solid var(--line)}.order-preview li strong{white-space:nowrap}.orders-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.order-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:22px;min-width:0;display:flex;flex-direction:column}.order-card>.primary{width:100%;margin-top:auto}.order-card .section-heading{flex-wrap:wrap;gap:10px;margin-bottom:0}.order-card-footer{display:flex;justify-content:space-between;align-items:center;margin:16px 0}.kitchen-help{margin:-12px 0 24px;max-width:850px}.kitchen-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}.kitchen-column{padding:16px;background:var(--soft);border:1px solid var(--line);border-radius:var(--radius);min-width:0}.column-preparing{background:var(--warning-soft)}.column-ready{background:var(--success-soft)}.kitchen-column>h3{display:flex;justify-content:space-between;align-items:center;font-size:15px;margin:0 0 18px}.kitchen-column>h3>span{display:grid;place-items:center;background:var(--white);min-width:28px;height:28px;border-radius:7px;font-size:12px}.kitchen-cards{display:grid;gap:14px}.kitchen-card{background:var(--white);padding:18px;border:1px solid var(--line);border-radius:12px;min-width:0}.kitchen-card .section-heading{margin-bottom:14px;gap:8px;flex-wrap:wrap}.kitchen-card small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.kitchen-card .age{font-size:11px;color:var(--muted)}.kitchen-card .age.late{color:var(--red);font-weight:600}.kitchen-card ul{list-style:none;padding:0;margin:0 0 16px;font-size:13px;display:grid;gap:10px;overflow-wrap:anywhere}.kitchen-card ul strong{margin-right:5px}.kitchen-card>.primary,.kitchen-card>.outline{width:100%;font-size:12px;min-height:44px}.kitchen-card .danger{font-size:11px}.kitchen-note{background:var(--warning-soft);border-left:3px solid var(--warning);border-radius:5px;padding:11px 12px;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0 16px}.column-empty{text-align:center;font-size:12px;color:var(--muted);padding:30px 10px}.kitchen-history{margin-top:24px}.history-list>div{display:flex;align-items:center;gap:20px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.history-list>div:last-child{border:0}.history-list>div>strong{min-width:85px}.history-list>div>.small{flex:1;overflow-wrap:anywhere}.service-order-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:14px 20px;border-top:1px solid var(--line)}.service-order-controls .text-action{margin-left:auto;font-size:12px}.service-order-controls .send-kitchen{width:100%;font-size:13px;min-height:44px}.service-order-controls p{width:100%;white-space:pre-wrap;overflow-wrap:anywhere}.service-pagination{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:20px}.customer-avatar{width:42px;height:42px;background:var(--success-soft);color:var(--success);border-radius:50%;display:grid;place-items:center;font-weight:600;flex-shrink:0}.breakdown{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:16px 0;border-bottom:1px solid var(--line);font-size:14px}.breakdown .rank-track{width:100%}.breakdown:last-child{border:0}.report-note{margin-top:24px}.mobile-menu{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mobile-menu button{text-align:left;min-height:48px;font-size:14px}.service-screen .section-heading .compact-select{min-width:100px}button{touch-action:manipulation}.service-screen button:focus-visible,.service-order-controls button:focus-visible{outline-color:var(--focus)}.line-controls button{min-width:40px;min-height:40px}html{scroll-padding-bottom:100px}dialog{overscroll-behavior:contain}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--red)}.report-table caption{font-size:13px;text-align:left}.product-card:active{transform:translateY(0);background:var(--soft)}
@media(min-width:1440px){.pos-layout{grid-template-columns:minmax(0,1fr) 370px}.product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.tables-layout{grid-template-columns:minmax(0,1fr) 350px}}
@media(max-width:1200px){.rail{width:200px}.workspace{margin-left:200px}.rail nav button{padding:10px;font-size:13px}.metrics-grid{gap:12px}.metric{padding:18px}.dashboard-main,.dashboard-bottom{grid-template-columns:minmax(0,1.25fr) minmax(260px,1fr)}.tables-layout{grid-template-columns:minmax(0,1fr) 270px}.tables-layout .table-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.orders-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kitchen-board{gap:12px}.kitchen-column{padding:12px}.kitchen-card{padding:14px}main{padding:24px}}
@media(max-width:1000px){.dashboard-main,.dashboard-bottom{grid-template-columns:1fr}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rail{width:82px;padding:24px 10px}.workspace{margin-left:82px}.brand>span:last-child,.rail nav button span,.rail-footer{display:none}.rail nav button{justify-content:center;padding:12px;font-size:22px}.brand{justify-content:center}.rail nav{margin-top:26px}.header-right #date{display:none}.kitchen-column>h3{font-size:13px}.tables-layout{grid-template-columns:minmax(0,1fr) 260px}.revenue-day>span{font-size:11px}}
@media(max-width:760px){.kitchen-board{grid-template-columns:1fr}.kitchen-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.column-empty{grid-column:1/-1}.tables-layout{grid-template-columns:1fr}.table-detail{max-width:none}.table-shape{display:none}.table-detail .order-preview{margin-top:15px}.table-detail .section-heading{margin-bottom:15px}.orders-grid{grid-template-columns:1fr}.metrics-grid.three{grid-template-columns:1fr}.service-screen>.section-heading{gap:18px}.metrics-grid.three .metric{display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px}.metrics-grid.three .metric>strong{grid-column:2;grid-row:1/3;margin:0}.metric>strong{font-size:26px}.metrics-grid.three .metric>small{grid-column:1}.service-screen .panel{padding:18px}}
@media(max-width:650px){.rail{inset:auto 0 0;width:auto;height:auto;min-height:76px;padding:6px 8px max(6px,env(safe-area-inset-bottom))}.rail nav{display:flex;margin:0;overflow:visible;gap:3px}.rail nav button{display:none!important}.rail nav button.mobile-primary,.rail nav button.mobile-more{display:flex!important;flex:1;flex-direction:column;gap:5px;padding:9px 2px;min-height:60px;font-size:18px}.rail nav button span{display:block;font-size:10px;line-height:1.2}.more-icon{font-size:20px!important;height:22px;letter-spacing:2px}.brand{display:none}.workspace{margin-left:0;padding-bottom:calc(85px + env(safe-area-inset-bottom))}main{padding:24px 16px}header{padding:18px}.service-screen>.section-heading{margin-bottom:22px}.service-screen .section-heading .button-group{gap:10px;align-items:end;width:100%}.service-screen>.section-heading .primary,.service-screen>.section-heading .outline{font-size:13px;min-height:44px}.compact-select{flex:1}.compact-select select{width:100%}.service-screen>.section-heading h2{font-size:24px}.metric{padding:16px 14px}.metric>strong{font-size:23px;margin:15px 0 8px}.metric>span{font-size:12px}.metric>small{font-size:11px}.metrics-grid{gap:12px}.kitchen-cards{grid-template-columns:1fr}.kitchen-column{padding:14px}.kitchen-column>h3{font-size:15px}.kitchen-card{padding:18px}.service-tabs{gap:7px}.service-tabs :is(button,a){padding:10px;font-size:12px;gap:7px}.tables-layout .table-card{padding:16px;min-height:174px}.tables-layout .table-card h3{font-size:20px}.tables-layout .table-card strong{font-size:13px}.tables-layout .table-grid{gap:12px}.service-shortcuts{display:grid;grid-template-columns:1fr 1fr}.service-shortcuts button{text-align:left}.history-list>div{gap:10px;flex-wrap:wrap}.history-list>div>.small{flex-basis:100%}.service-pagination{align-items:start;flex-direction:column}.service-screen .data-row{gap:10px}.service-screen .data-row .grow{flex-basis:55%}.service-screen .data-row>button{font-size:13px;min-height:44px}.service-screen .catalog-tools>.outline{justify-self:start}.service-order-controls{padding:12px 18px}.order-bottom{padding:18px}.revenue-bars{gap:8px}.revenue-day>span{font-size:9px}.service-screen .chart-panel{padding:18px 12px}.bar-track{height:125px}.report-table{min-width:480px}.service-screen .section-heading .text-action{font-size:12px}#toast{bottom:calc(92px + env(safe-area-inset-bottom));width:max-content;max-width:calc(100% - 28px);font-size:14px}dialog{padding:22px}.dialog-actions{flex-wrap:wrap}.line-controls button{min-width:42px;min-height:42px}.pos-layout{grid-template-columns:1fr}.table-detail .total{margin-top:18px}.report-note{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.product-card{transition:none;transform:none!important}}

.tables-help{margin:-8px 0 22px} .rail nav{scrollbar-gutter:stable}
header>div:first-child{min-width:0}h1{overflow-wrap:anywhere}.header-right{flex-shrink:0}.table-detail>.primary{font-size:14px;padding:13px 12px}

.status-unsent{background:var(--soft);color:var(--muted)}

/* A surviving screen title is the keyboard destination when a dialog trigger disappears. */
main h2[tabindex="-1"]:focus-visible{outline:3px solid var(--focus);outline-offset:5px;scroll-margin-block:20px}

/* Account identity, explicit permissions and a readable server audit trail. */
.connected-user{display:flex;flex-direction:column;gap:3px;font-size:13px;min-width:0}.connected-user small{color:var(--muted)}
.access-notice{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px;background:#eff4e9;border:1px solid #dbe4d1;border-radius:14px;margin-bottom:22px}.access-notice p{margin:7px 0 0;max-width:65ch}.access-notice button{flex-shrink:0}
input[readonly]{background:#f1f3f0;color:#465449;cursor:default}.account-rights{margin:14px 0;line-height:1.8}.role-select{margin:22px 0 12px}
.rights-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.permission-choice{display:flex;flex-direction:row;align-items:center;gap:12px;border:1px solid #dce2d7;border-radius:10px;padding:14px;min-height:68px;font-weight:500;cursor:pointer}.permission-choice:has(input:checked){border-color:#587f35;background:#f1f6eb}.permission-choice input{width:20px;height:20px;flex:0 0 20px;accent-color:#426729;margin:0}.permission-choice span{line-height:1.4}
.reason-dialog{width:min(560px,calc(100% - 32px));border:0;border-radius:18px;padding:28px;max-height:90dvh;overflow:auto}.change-summary{margin:20px 0;padding-left:22px;line-height:1.8}.audit-list{margin-top:20px}.audit-list article{padding:18px 0;border-bottom:1px solid #e3e6df}.audit-list .section-heading{margin-bottom:8px;gap:12px}.audit-detail{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0;line-height:1.6}
@media(max-width:650px){.access-notice{align-items:stretch;flex-direction:column;gap:14px}.rights-grid{grid-template-columns:1fr}.permission-choice{min-height:54px}.connected-user{max-width:150px}.contact-row{flex-wrap:wrap;gap:10px}.contact-row>.grow{flex-basis:100%}.audit-list .section-heading{align-items:flex-start;flex-direction:column}}

/* Compact thermal receipt: the total is the primary visual anchor. */
.receipt{--receipt-ink:#000;--receipt-total-size:28px;font:12px/1.45 monospace;font-variant-numeric:tabular-nums;color:var(--receipt-ink);width:100%;max-width:none;margin:0;overflow-wrap:anywhere}
.receipt[data-paper="58"]{--receipt-total-size:24px;font-size:11px}
.receipt .receipt-business{text-align:center;margin-bottom:10px}.receipt .receipt-business h3{font:700 16px/1.25 monospace;letter-spacing:0;margin:0 0 5px}.receipt .receipt-business p{font-size:10px;line-height:1.4;margin:2px 0}
.receipt .receipt-logo{max-width:80px;max-height:44px;object-fit:contain;margin:0 auto 7px;filter:grayscale(1)}
.receipt .receipt-preview-mark{font-size:9px;font-weight:700;text-align:center;border:1px dashed currentColor;padding:5px 3px;margin:10px 0}
.receipt .receipt-meta{font-size:10px;border-top:1px dashed currentColor;padding-top:7px;margin-bottom:9px}.receipt-meta p{margin:2px 0 0}.receipt-pair{display:flex;justify-content:space-between;flex-wrap:wrap;column-gap:10px;row-gap:2px}.receipt-pair>span:last-child{text-align:right;margin-left:auto}.receipt-meta time{white-space:nowrap}
.receipt .receipt-details{font-size:11px;margin:0 0 10px;white-space:pre-wrap}.receipt-details p+p{margin-top:3px}
.receipt .receipt-number{font-size:14px;font-weight:600;line-height:1.35;margin:0 0 6px;overflow-wrap:anywhere}.receipt .receipt-number strong{font:inherit;font-weight:800}.receipt[data-paper="58"] .receipt-number{font-size:12px}
.receipt .receipt-items{width:100%;border-collapse:collapse;table-layout:fixed;text-align:left}.receipt-quantity-col{width:10%}.receipt-product-col{width:44%}.receipt-unit-col{width:22%}.receipt-amount-col{width:24%}.receipt-items caption{font-size:9px;text-align:left;padding:0 0 5px}.receipt-items th{font-size:9px;font-weight:600;line-height:1.3;border-bottom:1px dashed currentColor;padding:0 0 6px;vertical-align:bottom}.receipt-items td{vertical-align:top;padding:7px 0;overflow-wrap:anywhere}.receipt-items th:first-child,.receipt-items .receipt-quantity{text-align:center;padding-right:4px}.receipt-items th:nth-child(n+3),.receipt-items .receipt-unit,.receipt-items .receipt-line-total{text-align:right;padding-left:5px}.receipt-items .receipt-line-total{font-weight:700}.receipt-product-name{display:block}.receipt-items tr{break-inside:avoid}.receipt[data-paper="58"] .receipt-quantity-col{width:12%}.receipt[data-paper="58"] .receipt-product-col{width:38%}.receipt[data-paper="58"] .receipt-unit-col,.receipt[data-paper="58"] .receipt-amount-col{width:25%}.receipt[data-paper="58"] .receipt-quantity,.receipt[data-paper="58"] .receipt-unit,.receipt[data-paper="58"] .receipt-line-total{font-size:10px}
.receipt .receipt-total{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:12px;border-top:2px solid currentColor;margin-top:9px;padding-top:10px;margin-bottom:12px;break-inside:avoid}.receipt-total>span{font-size:12px;font-weight:700;letter-spacing:.5px}.receipt-total>div{text-align:right;min-width:0}.receipt .receipt-total strong{display:block;font-size:var(--receipt-total-size);font-weight:800;line-height:1.05;letter-spacing:-1px;overflow-wrap:anywhere}.receipt .receipt-currency{display:block;font-size:10px;line-height:1.5;margin-top:3px;letter-spacing:.5px}
.receipt .receipt-payment{font-size:11px;line-height:1.5;break-inside:avoid}.receipt-payment p+p{margin-top:3px}.receipt .receipt-foot{font-size:9px;line-height:1.45;text-align:center;border-top:1px dashed currentColor;padding-top:9px;margin-top:12px;break-inside:avoid}.receipt-foot p{margin:3px 0}.receipt .receipt-thanks{font-size:10px;white-space:pre-wrap;margin-bottom:7px}
.receipt-preview{width:var(--receipt-paper,80mm);max-width:100%;padding:3mm;margin:0 auto;background:var(--white);border:0;box-shadow:0 0 0 1px var(--line)}
.receipt-preview-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:-5px 0 20px}.receipt-widths{display:flex;gap:7px}.receipt-widths button{min-width:64px;padding:9px 12px}.receipt-widths button[aria-pressed="true"]{background:var(--solid);color:var(--on-solid);border-color:var(--ink)}.receipt-preview-help{margin-top:16px;line-height:1.5}
@media print{html,body{margin:0;padding:0;background:#fff;color:#000}dialog::backdrop{display:none!important}body #print-area{width:var(--ticket-width,74mm);margin:0;padding:0}#print-area .receipt{width:100%;max-width:none;font-size:12px;color:#000}#print-area .receipt[data-paper="58"]{font-size:11px}#print-area .receipt-business,#print-area .receipt-meta{break-inside:avoid}#print-area thead{display:table-header-group}@page{margin:3mm}}

/* Account, subscriptions and installation use the existing application tokens. */
.account-screen{display:grid;gap:22px}.account-screen>.section-heading{margin-bottom:0}.account-screen .panel{min-width:0}.account-intro p{margin-top:14px;max-width:72ch}
.account-identity{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.account-identity .grow{flex:1;min-width:160px;overflow-wrap:anywhere}.account-identity .status-label{margin-top:10px}.account-avatar{display:grid;place-items:center;flex-shrink:0;width:54px;height:54px;background:var(--soft);border-radius:16px;font-size:24px;font-weight:750}.account-screen .account-rights{margin:0}
.subscription-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:22px 0}.subscription-facts dt{font-size:13px;color:var(--muted);margin-bottom:6px}.subscription-facts dd{font-size:18px;font-weight:650;margin:0;overflow-wrap:anywhere}
.account-screen .plan-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.account-screen .plan-card{padding:22px 18px;min-width:0;display:flex;flex-direction:column;gap:6px}.account-screen .plan-card h3{font-size:21px}.plan-card .price-pending{font-size:20px;font-weight:600}.period-offer{padding-top:16px;margin-top:10px;border-top:1px solid var(--line);overflow-wrap:anywhere}.period-offer strong{font-size:25px;font-variant-numeric:tabular-nums}.period-offer .primary{white-space:normal;min-height:48px}.billing-request{padding:14px 16px;background:var(--soft);border-radius:10px;margin-top:14px;line-height:1.6}.subscription-price{font-size:26px;font-weight:700;margin:18px 0}.subscription-price .small{font-weight:400}
.team-heading{margin:24px 0 16px}.team-help{margin-top:20px}.team-member{flex-wrap:wrap}.team-member .button-group{gap:7px}
.install-card{display:flex;align-items:center;justify-content:space-between;gap:24px}.install-card .small{max-width:62ch;margin-top:10px}.install-card button{flex-shrink:0}.install-steps{display:grid;gap:20px;margin:20px 0}.install-steps h3{margin-bottom:6px}.install-steps p{font-size:14px;line-height:1.65}
#billing-preferences-form .small{margin-top:14px}#billing-preferences-status:not(:empty){padding:12px 14px;background:var(--soft);border-radius:10px}.account-screen .form-error{margin-top:12px}.account-screen .button-group{flex-wrap:wrap}
@media(max-width:1100px){.account-screen .plan-grid{grid-template-columns:1fr}.account-screen .plan-card{display:block}.account-screen .period-offer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 18px;align-items:center}.account-screen .period-offer>p{grid-column:1}.account-screen .period-offer>strong{grid-column:1;margin:2px 0}.account-screen .period-offer>button{grid-column:2;grid-row:1 / 4;margin-top:0;width:auto}.subscription-facts{gap:16px}}
@media(max-width:650px){.account-screen{gap:18px}.subscription-facts{grid-template-columns:1fr;gap:16px}.subscription-facts>div{display:flex;justify-content:space-between;gap:12px}.subscription-facts dd{text-align:right;font-size:16px}.account-identity .button-group{width:100%}.account-identity .button-group button{width:100%}.account-screen .period-offer{display:block}.account-screen .period-offer>button{margin-top:16px;width:100%}.install-card{align-items:flex-start;flex-direction:column;gap:16px}.install-card button{width:100%}.team-member .grow{flex-basis:100%}.team-member .button-group{width:100%}.team-member .button-group button{flex:1}.subscription-facts dt{max-width:55%}.plan-card .eyebrow{margin-top:0}}
/* Keep the business title readable beside authenticated account controls. */
header{flex-wrap:wrap;gap:18px}header>div:first-child{flex:1 1 220px}header .header-right{max-width:100%}#cloud-account{flex-wrap:wrap}
@media(max-width:1200px){header:has(#cloud-account){flex-direction:column;align-items:stretch;gap:16px}header:has(#cloud-account)>div:first-child{flex:initial}header:has(#cloud-account) .header-right{justify-content:space-between}#cloud-account{justify-content:flex-start}}

.service-order-controls .bill-action{margin-left:0;text-decoration:underline;min-height:44px}

/* Numeric quantity entry shares the existing dialog and form controls. */
.line-controls{flex-wrap:wrap;gap:8px}.line-controls>button{min-width:44px;min-height:44px;flex-shrink:0}.line-controls .quantity-trigger{width:auto;min-width:64px;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;background:var(--white);border:1px solid var(--line)}.quantity-trigger>span{font-size:11px;color:var(--muted)}.quantity-trigger>strong{font-size:16px;font-variant-numeric:tabular-nums}.line-controls .unit-price{order:5;flex-basis:100%}.quantity-product-name{font-weight:650;margin-bottom:20px;overflow-wrap:anywhere}#quantity-form input{font-size:24px;font-weight:650;font-variant-numeric:tabular-nums}#quantity-help{margin-top:10px;line-height:1.6}

.business-options{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.business-options>.small{margin:12px 0;line-height:1.6}
.business-options .form-grid{margin-top:18px}
.status-open{background:var(--soft);color:var(--ink)}

/* Compact product mosaics retain clear prices and touch-sized actions. */
.catalog-mosaic{display:grid;grid-template-columns:repeat(auto-fill,minmax(208px,1fr));gap:14px}
.commerce-catalog{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.commerce-catalog .catalog-tile{grid-template-columns:64px minmax(0,1fr);grid-template-rows:auto 1fr auto;gap:10px;padding:12px}.commerce-catalog .catalog-tile>.product-thumb,.commerce-catalog .catalog-tile>.product-code{grid-column:1;grid-row:1/span 2;width:64px;height:64px;aspect-ratio:1;object-fit:contain}.commerce-catalog .catalog-tile>.grow{grid-column:2;grid-row:1}.commerce-catalog .catalog-tile>strong{grid-column:2;grid-row:2;align-self:start;font-size:14px}.commerce-catalog .catalog-tile h3{font-size:14px;line-height:1.35}.commerce-catalog .catalog-tile .small{margin-top:3px;font-size:11px}.commerce-catalog-tools{display:flex;gap:16px;align-items:end;flex-wrap:wrap}.commerce-catalog-tools .commerce-search{flex:1;margin:16px 0;min-width:220px}.commerce-layout{display:flex;gap:6px;margin-bottom:16px}.commerce-layout button{min-height:44px}.commerce-layout button[aria-pressed=true]{background:var(--solid);border-color:var(--ink);color:var(--on-solid)}.commerce-layout button:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.commerce-layout button:active{transform:translateY(1px)}.commerce-result-count{margin-bottom:12px}.commerce-catalog-heading>.button-group{margin-block:8px}.commerce-catalog .catalog-tile>.button-group{grid-column:1/-1;grid-row:3;margin:0;gap:6px;align-self:end}.commerce-catalog .catalog-tile>.button-group button{flex:1;min-height:44px;font-size:12px;padding:10px 8px}.commerce-catalog .product-code{display:grid;place-items:center;font-size:28px;font-weight:650;color:var(--muted)}.commerce-empty{grid-column:1/-1;padding:24px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius)}.commerce-photo-editor{margin-bottom:20px}.image-editor .image-remove{margin-top:10px}.commerce-photo-editor .image-editor{display:grid;grid-template-columns:80px minmax(0,1fr);gap:10px 16px;align-items:start}.commerce-photo-editor .image-editor-title{grid-column:1/-1;margin:0}.commerce-photo-editor .image-editor-controls{display:grid;gap:8px;min-width:0;align-content:start}.commerce-photo-editor .image-editor-controls>.small{margin:0}.commerce-photo-editor .image-remove{justify-self:start;margin:0}.commerce-photo-editor input[type=file]{height:44px;padding:0;font-size:12px}.commerce-photo-editor input[type=file]::file-selector-button{height:42px;padding:0 10px;margin-right:8px;border:0;border-right:1px solid var(--line);background:var(--soft);color:var(--ink);font:inherit;cursor:pointer}.commerce-photo-editor input[type=file]:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.commerce-photo-editor .image-preview{width:80px;height:auto;aspect-ratio:1;align-self:start}.commerce-photo-editor .small{font-size:11px;margin-top:6px}.commerce-photo-editor input{padding:6px;font-size:11px}.commerce-photo-editor button{min-height:44px;padding:7px 10px;font-size:12px}#commerce-form:has(.commerce-photo-editor)>.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}#commerce-form:has(.commerce-photo-editor)>.form-grid>label:first-child{grid-column:1/-1}#commerce-form:has(.commerce-photo-editor)>.form-grid label{min-width:0}#commerce-form:has(.commerce-photo-editor)>.dialog-actions{margin-top:14px}#commerce-price-reason:not([hidden]){margin-block:16px}
@media(max-width:650px){.commerce-catalog-tools{gap:0}.commerce-catalog-tools .commerce-search{flex-basis:100%;margin-bottom:12px}.commerce-layout{width:100%;margin-bottom:12px}.commerce-layout button{flex:1}.commerce-photo-editor .image-editor{grid-template-columns:72px minmax(0,1fr);column-gap:12px}.commerce-photo-editor .image-preview{width:72px}.commerce-photo-editor .image-editor input{max-width:100%}.commerce-photo-editor button{min-height:44px}.commerce-catalog .catalog-tile>.product-thumb,.commerce-catalog .catalog-tile>.product-code{width:56px;height:56px}.commerce-catalog .catalog-tile{grid-template-columns:56px minmax(0,1fr)}.commerce-catalog .catalog-tile>.button-group{flex-direction:row}.commerce-catalog .catalog-tile>.button-group button{width:100%}#commerce-form:has(.commerce-photo-editor)>.form-grid label{font-size:12px}}
.catalog-tile{display:grid;grid-template-columns:1fr auto;gap:12px;align-content:start;padding:16px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);min-width:0}
.catalog-tile>.product-thumb,.catalog-tile>.product-code{grid-column:1/-1;grid-row:auto;width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;margin:0;border-radius:12px;background:var(--soft)}
.catalog-tile>strong{grid-column:1/-1;grid-row:auto;align-self:center;font-size:17px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.catalog-tile>.grow{grid-column:1/-1;min-width:0}.catalog-tile h3{font-size:16px;line-height:1.4;overflow-wrap:anywhere}.catalog-tile .small{display:block;font-size:12px;line-height:1.5;margin-top:5px;overflow-wrap:anywhere}.catalog-tile .service-badge{margin-top:8px;font-size:11px;white-space:normal}.catalog-tile>.tile-edit{grid-column:2;min-height:44px;padding:9px 10px;font-size:13px}.catalog-tile>.reorder-buttons{grid-column:1;gap:4px}.catalog-tile>.reorder-buttons button{min-height:44px;width:44px;padding:8px 4px}.catalog-tile .tile-edit{background:var(--soft);border-color:transparent;font-weight:650}
.product-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:12px}.product-card{padding:14px;min-height:148px}.product-card .product-image{height:74px;margin-bottom:10px}.product-card .product-code{width:36px;height:36px;margin-bottom:10px}.product-card h3{font-size:15px;line-height:1.35}.product-card strong{font-size:17px}
.ready-notice{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 20px;margin-bottom:22px;border:1px solid var(--success);border-left-width:5px;border-radius:12px;background:var(--success-soft);color:var(--ink)}.ready-notice p{font-size:13px;margin-top:4px;overflow-wrap:anywhere}.ready-notice button{flex-shrink:0;min-height:44px;background:var(--white)}.ready-list{display:grid;gap:16px}.ready-list ul{padding-left:20px;line-height:1.8;margin:14px 0}.ready-list .primary{min-height:44px;width:100%}.status-partial{background:var(--warning-soft);color:var(--warning)}
.sync-help{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;margin-bottom:20px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--white)}.sync-help>p:first-child{flex:1 1 340px;line-height:1.6}.sync-help button{min-height:44px;font-size:13px}.sync-state{flex-basis:100%;font-variant-numeric:tabular-nums}.sync-state:empty{display:none}
.import-templates{margin:16px 0}#import-sheet-picker{margin-top:16px}#import-preview{margin-top:16px}#import-preview>p{margin:10px 0}.import-errors{color:var(--red);font-size:13px;line-height:1.7;padding-left:20px;max-height:180px;overflow:auto}.import-table{overflow:auto;border:1px solid var(--line);border-radius:10px;margin-top:14px;max-height:320px;overscroll-behavior:contain}.import-table table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}.import-table td,.import-table th{padding:10px;border-bottom:1px solid var(--line);min-width:70px;max-width:220px;overflow-wrap:anywhere}.import-table th{background:var(--soft);position:sticky;top:0}.import-table caption{padding:10px;color:var(--muted);text-align:left;font-size:12px}.import-table td:nth-child(n+3){text-align:right;font-variant-numeric:tabular-nums}.import-table th:nth-child(n+3){text-align:right}dialog:has(#products-file){max-width:720px}#activity-export>label{margin-top:16px}#activity-export>.small{margin-top:16px;line-height:1.6}#export-month-field[hidden]{display:none}.compact-select input[type=month]{font-size:13px;min-height:44px;padding:9px 12px}
@media(max-width:650px){.catalog-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.catalog-tile{padding:12px;gap:10px}.catalog-tile>.product-thumb,.catalog-tile>.product-code{width:100%;height:auto;aspect-ratio:1/1}.catalog-tile>strong{font-size:14px;max-width:none}.catalog-tile>.tile-edit,.catalog-tile>.reorder-buttons{grid-column:1/-1}.catalog-tile>.reorder-buttons button{flex:1}.catalog-tile h3{font-size:14px}.catalog-tile .small{font-size:11px}.catalog-tile .service-badge{font-size:10px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ready-notice{align-items:stretch;flex-direction:column;padding:14px 16px;gap:12px}.ready-notice button{align-self:flex-start}.sync-help{padding:12px 14px}.sync-help button{width:100%}}



/* Receipt PDF actions share the existing modal and button styles. */
#receipt-pdf-dialog .pdf-shop{font-weight:650;overflow-wrap:anywhere;margin-bottom:4px}
#receipt-pdf-dialog .total{margin:20px 0;gap:16px;flex-wrap:wrap}
#receipt-pdf-dialog .total strong{overflow-wrap:anywhere;max-width:100%}
#receipt-pdf-status{min-height:20px;margin-top:16px}
#receipt-pdf-dialog .receipt-pdf-limit{margin-top:16px}
#receipt-pdf-dialog [hidden]{display:none}

/* Shared connection state, using the established semantic tokens. */
.cash-sync-banner{display:flex;gap:16px;justify-content:space-between;align-items:center;margin:0 30px 16px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--white)}
.cash-sync-banner p{margin-top:6px}.cash-sync-banner.success{background:var(--success-soft);border-color:var(--success)}
.cash-sync-banner.warning{background:var(--warning-soft);border-color:var(--warning)}
.cash-sync-banner.danger{background:var(--danger-soft);border-color:var(--red)}
.cash-sync-banner .button-group{flex-wrap:wrap}.cash-sync-banner button{min-height:44px}
@media(max-width:1000px){.cash-sync-banner{align-items:flex-start;flex-direction:column}}
@media(max-width:650px){.cash-sync-banner{margin:0 16px 16px}.cash-sync-banner .button-group{width:100%}.cash-sync-banner button{flex:1 1 44%}}

/* One catalogue owns product details and stock availability. */
.catalog-filters{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);align-items:end}
.catalog-search{display:flex;gap:8px;min-width:0}.catalog-search input{min-width:0;flex:1}.catalog-search button{min-width:44px;min-height:44px;padding:8px}
.catalog-filters label,.catalog-filters select{min-width:0;width:100%}.catalog-filters .compact-select{margin:0;font-size:14px;color:var(--ink)}.catalog-filters .compact-select select{font-size:14px}
.catalog-screen .category-heading{margin-bottom:14px}.catalog-screen .category-section+.category-section{margin-top:24px}
.rail nav button[data-view="products"] span{white-space:normal;text-align:left}
@media(max-width:1100px){.catalog-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-search{grid-column:1/-1}}
@media(max-width:650px){.catalog-filters{grid-template-columns:minmax(0,1fr)}.catalog-screen>.section-heading .button-group{align-items:stretch}.catalog-screen>.section-heading .button-group button{flex:1 1 auto}.catalog-screen>.section-heading .button-group .primary{flex-basis:100%}.rail nav button[data-view="products"] span{text-align:center}}

.catalog-summary{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.catalog-summary .service-badge{min-height:32px;padding:7px 10px}

/* Shared dialog and semantic controls, with large spoken-help choices. */
.voice-launch{min-height:44px;white-space:nowrap}.header-right{flex-wrap:wrap}
#voice-assistant .voice-intro{margin:16px 0;line-height:1.6}.voice-topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.voice-topics button{min-height:52px;text-align:left;line-height:1.4}.voice-answer{margin-top:20px;padding:18px;background:var(--soft);border-radius:var(--radius);line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}
.voice-playback{margin-top:14px}.voice-question-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.voice-question-section .small{line-height:1.6;margin:12px 0}
#voice-question-form>label{display:block;margin:16px 0 8px}#voice-question-form>.button-group{margin-top:12px}#voice-feedback{margin:12px 0;min-height:1.5em}#voice-mic[aria-pressed=true]{background:var(--warning-soft);color:var(--warning)}
@media(max-width:650px){.voice-launch{font-size:12px;padding:10px}.voice-topics button{padding:12px;font-size:14px}.voice-playback,.voice-question-section .button-group{display:flex;flex-wrap:wrap}.voice-playback button,.voice-question-section .button-group button{flex:1}.voice-answer{padding:14px}.voice-question-section .catalog-search{grid-column:auto}}

/* Grouped workspaces share the existing controls and design tokens. */
.workspace-context{display:flex;justify-content:flex-start;margin-bottom:22px}.workspace-context label{display:flex;gap:14px;align-items:center;font-weight:650}.workspace-context select{min-width:210px;max-width:100%}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.settings-card{display:grid;grid-template-columns:1fr auto;gap:10px;padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);color:var(--ink);text-decoration:none;min-width:0}.settings-card strong{font-size:17px}.settings-card>span:first-of-type{grid-column:1;color:var(--muted);font-size:14px;line-height:1.5}.settings-card>span:last-child{grid-column:2;grid-row:1/3}.settings-card:hover{background:var(--soft)}.settings-card:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.settings-back{display:inline-block;margin-bottom:20px}#main .screen>h2{margin-bottom:22px}#main .screen>.panel+.panel{margin-top:22px}input[type=checkbox]{width:20px;min-height:20px;accent-color:var(--ink)}[hidden]{display:none!important}
@media(max-width:650px){.settings-grid{grid-template-columns:minmax(0,1fr)}.settings-card{padding:20px}.workspace-context label{display:grid;width:100%;gap:8px}.workspace-context select{width:100%;min-width:0}.rail nav button[data-view=products] span{font-size:9px}.rail nav{gap:0}}

.messaging-columns.messages-only{grid-template-columns:minmax(0,1fr)}

.intro-card{max-width:600px;display:flex;flex-direction:column;gap:18px}.intro-card>.section-heading{margin:0}.intro-visual{display:grid;place-items:center;gap:14px;min-height:150px;padding:24px;border-radius:var(--radius);background:var(--solid);color:var(--on-solid)}.intro-visual img{width:76px;height:76px}.intro-visual span{font-weight:700;font-size:15px}.intro-copy{min-height:150px}.intro-copy h1{font-size:27px;margin:10px 0}.intro-copy p{line-height:1.6}.intro-dots{display:flex;gap:4px;justify-content:center}.intro-dots button{width:44px;height:44px;border:0;background:transparent;position:relative}.intro-dots button:after{content:'';display:block;width:10px;height:10px;border-radius:50%;background:var(--line);margin:auto}.intro-dots button[aria-current=step]:after{background:var(--solid)}.intro-dots button:hover:after{background:var(--muted)}.intro-card .dialog-actions{margin-top:0;justify-content:space-between}.intro-card .form-error:empty{display:none}@media(max-width:650px){.intro-card{gap:14px;padding:22px}.intro-visual{min-height:110px;padding:16px}.intro-visual img{width:58px;height:58px}.intro-copy{min-height:140px}.intro-copy h1{font-size:23px}.intro-card .dialog-actions button{font-size:13px;padding:12px}.intro-card .dialog-actions{flex-wrap:nowrap}}
@media(min-width:650px) and (max-height:650px){.intro-card{display:grid;grid-template-columns:160px minmax(0,1fr);max-width:800px;padding:24px}.intro-card>.section-heading,.intro-card>.dialog-actions,.intro-card>.form-error{grid-column:1/-1}.intro-visual{grid-column:1;grid-row:2/4;min-height:150px}.intro-copy{grid-column:2;min-height:0}.intro-copy h1{font-size:24px}.intro-dots{grid-column:2}}

.printer-profile-row .grow{display:grid;gap:6px;min-width:0;overflow-wrap:anywhere}.intro-card{touch-action:pan-y}

/* Fiscal documents reuse panels, forms, modal and table owners. */
.fne-document{display:grid;gap:16px;overflow-wrap:anywhere}.fne-document table{font-size:13px}.fne-qr{width:150px;max-width:100%}.fne-qr svg{display:block;width:100%;height:auto}#fne-root p,#fne-root .button-group{margin-block:14px}#fne-config-form p,#fne-prepare-form p{margin-block:12px}

/* Business messaging keeps the shared settings, disclosure and form owners. */
#whatsapp-settings p,#whatsapp-config-form p,#whatsapp-consent-form p{margin-block:12px}#whatsapp-settings .button-group{margin-block:16px}#whatsapp-config-form details,.whatsapp-webhook{padding-block:14px;border-top:1px solid var(--line)}#whatsapp-config-form summary,.whatsapp-webhook summary{min-height:44px;padding-block:12px;cursor:pointer;font-weight:650}#whatsapp-settings input{min-width:0}#whatsapp-consent-form .checkbox-row{display:flex;align-items:start;gap:12px;line-height:1.6;min-height:44px}#whatsapp-consent-form input[type=checkbox]{flex:0 0 20px;margin-top:3px}

.service-tabs a{color:var(--ink);text-decoration:none;cursor:pointer;font-weight:600}.service-tabs :is(button,a):hover:not(.selected){background:var(--soft)}.service-tabs a:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.service-tabs a:active:not(.selected){border-color:var(--ink)}
.margins-tools{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:22px}.margins-screen>.panel{margin-bottom:22px}.margins-coverage p{margin-bottom:10px}.margins-screen #margin-settings{margin-top:18px}.margins-screen #margin-settings>.small{margin:14px 0}.margins-screen .metric strong{overflow-wrap:anywhere}.purchase-missing{color:var(--muted)}
/* Commerce keeps the established panels, forms, metrics and table scroller. */
.commerce-screen .button-group{margin-block:14px}.commerce-screen details{border-top:1px solid var(--line);padding-block:16px}.commerce-screen summary{cursor:pointer;font-weight:650;min-height:44px;display:list-item;padding:10px 0}.commerce-screen summary:focus-visible{outline:3px solid var(--focus)}.commerce-photo{display:block;width:104px;aspect-ratio:1/1;object-fit:contain;background:var(--soft);border-radius:10px;margin-bottom:10px}.commerce-search{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:20px 0}.commerce-search label{flex:1;min-width:160px}.commerce-variant{border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-block:14px;min-width:0}.commerce-variant legend{padding:0 8px;font-weight:650}.commerce-order-actions{padding-top:20px;display:flex;flex-wrap:wrap;gap:10px}.commerce-screen .report-table td{vertical-align:top}.commerce-screen .report-table button{white-space:normal}.commerce-more{display:none}#commerce-form details{padding-block:14px;border-top:1px solid var(--line)}#commerce-form summary{min-height:44px;padding-block:12px;cursor:pointer;font-weight:650}#commerce-form h3{margin:18px 0 10px}#commerce-form textarea{resize:none}#commerce-body>.metrics-grid{margin-top:20px}#commerce-report-filters{margin-bottom:24px}body.commerce-enabled .rail nav .commerce-more{display:none}@media(max-width:650px){body.commerce-enabled .rail nav .commerce-secondary{display:none}body.commerce-enabled .rail nav .commerce-more{display:flex}.commerce-screen>.section-heading{align-items:stretch}.commerce-screen>.section-heading .button-group{width:100%;margin:0}.commerce-screen>.section-heading label{flex:1}.commerce-photo{width:90px}.commerce-screen .button-group>.primary{width:100%}}

.commerce-batch-choices{max-height:260px;overflow:auto;overscroll-behavior:contain}.commerce-batch-choices label{display:flex;align-items:center;gap:12px;min-height:44px}.commerce-batch-choices input[type=checkbox]{flex:0 0 auto;width:20px;height:20px}.commerce-screen dl{overflow-wrap:anywhere}.commerce-screen dd{margin:0 0 12px}.commerce-screen dt{font-weight:700}

/* Compact product disclosures retain the shared dialog scroll owner. */
#commerce-form:has(.commerce-photo-editor) details{padding-block:0}
#commerce-form:has(.commerce-photo-editor) summary{min-height:44px;padding-block:12px}
#commerce-form:has(.commerce-photo-editor) details[open]>.form-grid{margin-bottom:16px}
#commerce-form:has(.commerce-photo-editor) details[open]>button{margin-bottom:16px}

.commerce-cash-service .section-heading{margin-bottom:12px}.commerce-cash-service p{margin-top:6px}.commerce-cash-duty{display:flex;gap:16px;align-items:center;justify-content:space-between;padding-top:16px;margin-top:16px;border-top:1px solid var(--line)}.commerce-cash-duty>div{min-width:0;overflow-wrap:anywhere}.commerce-cash-duty button{flex-shrink:0;min-height:44px}@media(max-width:650px){.commerce-cash-service>.section-heading,.commerce-cash-duty{align-items:stretch;flex-direction:column}.commerce-cash-service>.section-heading>.primary,.commerce-cash-duty>button{width:100%}}

.customer-tools{grid-template-columns:minmax(0,1fr) auto}.customer-search{display:flex;gap:10px;align-items:end}.customer-search>label{flex:1;min-width:0}.customer-row .button-group{margin:0;gap:6px}.customer-row .grow{overflow-wrap:anywhere}.customer-row .button-group button,.customer-row .button-group a{min-height:44px;font-size:12px;padding:10px}.customer-prefix{margin-top:16px}#customer-import-preview>p{margin:16px 0}#customer-form>.small{margin-top:12px}@media(max-width:650px){.customer-tools{grid-template-columns:1fr}.customer-row .button-group{width:100%}.customer-row .button-group>*{flex:1}.customer-row>.small{margin-left:auto}.customer-search>button{min-height:44px}}

/* Compact settings use one shared row style, with secondary options disclosed. */
.settings-home{max-width:760px}.settings-home>.section-heading{align-items:center;gap:16px}.settings-home .settings-actions{margin-left:auto}.settings-list{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.settings-list .settings-card{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:14px 18px;border:0;border-bottom:1px solid var(--line);border-radius:0}.settings-list .settings-card:last-child{border-bottom:0}.settings-list .settings-card strong{font-size:15px;font-weight:600}.settings-list .settings-card>span:last-child{font-size:22px;line-height:1;color:var(--muted)}.settings-list .settings-card:focus-visible{outline-offset:-3px}.settings-more{margin-top:12px}.settings-more>summary{min-height:48px;padding:14px 4px;cursor:pointer;font-size:14px;font-weight:600}.settings-more>summary:hover{color:var(--muted)}.settings-more>summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:var(--radius)}.settings-more[open]>.settings-list{margin-top:4px}@media(max-width:650px){.settings-home>.section-heading{align-items:stretch}.settings-home .settings-actions{width:100%;margin-left:0;gap:10px}.settings-home .settings-actions>button{flex:1;min-width:0;min-height:50px;padding:10px 12px;font-size:13px;line-height:1.4}}

/* The team page is a focused personnel list. */
body.team-settings-open .workspace > footer{display:none}

/* Point de vente: catalogue à gauche, ticket fixe à droite. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.workspace>footer,.rail-footer,.brand-sub{display:none}
.commerce-screen>.section-heading .eyebrow{display:none}
.pos-workspace .rail{width:92px;padding:22px 10px}
.pos-workspace .rail .brand{justify-content:center;padding:0}
.pos-workspace .rail .brand>span:last-child{display:none}
.pos-workspace .rail nav{margin-top:28px;gap:8px}
.pos-workspace .rail nav button{display:flex;flex-direction:column;justify-content:center;gap:7px;padding:10px 3px;min-height:66px;text-align:center}
.pos-workspace .rail nav button span{display:block;font-size:11px;line-height:1.25}
.pos-workspace .rail nav button svg,.pos-workspace .rail nav button img{width:22px;height:22px}
.pos-workspace .workspace{margin-left:92px}
.pos-workspace header{min-height:76px;padding:14px 26px;border-bottom:1px solid var(--line)}
.pos-workspace header h1{font-size:22px;letter-spacing:-.5px}
.pos-workspace header #business-type{display:none}
.pos-workspace main{padding:16px 24px 20px}
.pos-page-heading{display:none!important}
.pos-workspace .service-tabs{margin-bottom:16px;gap:8px}
.pos-workspace .service-tabs a{font-size:13px;padding:10px 18px;text-decoration:none}
.pos-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,35%);gap:24px;height:calc(100dvh - 164px);min-height:440px;align-items:stretch}
.pos-catalog{display:flex;flex-direction:column;gap:18px;min-width:0;min-height:0}
.pos-search{display:flex;gap:10px;align-items:center}
.pos-search input{flex:1;min-width:0;height:50px;background:var(--white);font-size:15px}
.pos-search button{min-height:50px;padding-inline:22px}
.pos-categories{display:flex;gap:8px;overflow:auto;flex-shrink:0;padding:2px 2px 6px;scrollbar-width:thin}
.pos-categories button{min-height:44px;padding:10px 18px;white-space:nowrap;border:1px solid var(--line);border-radius:10px;background:var(--white);font-size:14px;font-weight:550}
.pos-categories button.selected{background:var(--solid);color:var(--on-solid);border-color:var(--ink)}
.pos-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-content:start;overflow:auto;min-height:0;padding:2px 8px 12px 2px;scrollbar-width:thin}
.pos-product{position:relative;display:flex;flex-direction:column;gap:8px;text-align:left;border:1px solid var(--line);border-radius:12px;background:var(--white);padding:12px;min-width:0;min-height:220px;transition:border-color .12s,box-shadow .12s}
.pos-product:hover:not(:disabled){border-color:var(--ink);box-shadow:0 3px 12px #132c2910}
.pos-product:active:not(:disabled){background:var(--soft)}
.pos-product:disabled{opacity:.6}
.pos-product-image{display:grid;place-items:center;aspect-ratio:1.25;width:100%;background:var(--paper);border-radius:8px;overflow:hidden}
.pos-product-image img{display:block;width:100%;height:100%;object-fit:contain;padding:8px}
.pos-product-image svg,.pos-product-image>.nav-icon{width:44px;height:44px;opacity:.35}
.pos-product-name{font-size:14px;font-weight:550;line-height:1.4;overflow-wrap:anywhere;min-height:2.8em}
.pos-product>strong{font-size:17px;line-height:1.3;font-variant-numeric:tabular-nums;margin-top:auto}
.pos-product-stock{font-size:11px;color:var(--muted);line-height:1.3}
.pos-ticket{display:flex;flex-direction:column;min-width:0;min-height:0;border:1px solid var(--line);border-radius:16px;background:var(--white);overflow:hidden}
.pos-ticket-top{padding:20px 22px 14px;border-bottom:1px solid var(--line);flex-shrink:0}
.pos-ticket-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.pos-ticket-title h3{font-size:19px;letter-spacing:-.4px}
.pos-ticket-title .text-action{padding:6px 0;color:var(--success)}
.pos-ticket-top select{font-size:13px;min-height:44px;padding:10px 12px;background:var(--paper)}
.pos-customer{display:flex;align-items:center;gap:12px;width:100%;padding:13px 0 2px;background:transparent;text-align:left;min-height:58px}
.pos-customer>svg,.pos-customer>.nav-icon{height:22px;width:22px;flex-shrink:0}
.pos-customer>span{flex:1;min-width:0;overflow-wrap:anywhere}
.pos-customer>span strong{display:block;font-size:14px;font-weight:550}
.pos-customer>span small{display:block;font-size:12px;color:var(--muted);margin-top:2px}
.pos-customer>svg:last-child,.pos-customer>.nav-icon:last-child{width:17px;height:17px;opacity:.5}
.pos-context{display:flex;gap:8px;justify-content:space-between;flex-wrap:wrap;margin-top:12px;font-size:11px;color:var(--muted)}
.pos-ticket-lines{flex:1;min-height:80px;overflow:auto;padding:0 22px;scrollbar-width:thin}
.pos-line{padding:20px 0;border-bottom:1px solid var(--line)}
.pos-line:last-child{border-bottom:0}
.pos-line-name{display:flex;align-items:flex-start;gap:14px;justify-content:space-between;font-size:15px;line-height:1.45}
.pos-line-name>strong{font-weight:600;min-width:0;overflow-wrap:anywhere}
.pos-line-name>span{font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:600}
.pos-unit-price{display:block;font-size:12px;color:var(--muted);margin-top:6px}
.pos-line-controls{display:flex;gap:6px;align-items:center;margin-top:12px}
.pos-line-controls>button{min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:8px;background:var(--white);padding:8px 10px;font-size:16px}
.pos-line-controls>.pos-quantity{background:var(--paper);font-size:13px;min-width:65px;font-weight:650;font-variant-numeric:tabular-nums}
.pos-line-controls>.text-action{margin-left:auto;border:0;font-size:12px;color:var(--red)}
.pos-ticket-bottom{flex-shrink:0;border-top:1px solid var(--line);padding:18px 22px 20px;background:var(--white)}
.pos-subtotal{display:flex;justify-content:space-between;gap:14px;font-size:13px;color:var(--muted);margin-bottom:8px}
.pos-subtotal strong{font-weight:500;font-variant-numeric:tabular-nums}
.pos-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:14px 0 18px;font-size:18px;font-weight:600}
.pos-total strong{font-size:28px;letter-spacing:-.8px;font-variant-numeric:tabular-nums;line-height:1.2;overflow-wrap:anywhere;text-align:right}
.pos-checkout{width:100%;min-height:54px;font-size:16px}
.pos-details{margin-top:10px;min-height:44px;width:100%;font-size:13px}
.pos-empty{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:48px 20px;color:var(--muted)}
.pos-empty h3{font-size:16px;font-weight:550;color:var(--ink)}
.pos-empty p{font-size:13px}
.pos-ticket-lines>.pos-empty{height:100%;min-height:140px}
#pos-error:not(:empty){margin:8px 0 14px;font-size:13px}
@media(min-width:1440px){.pos-products{grid-template-columns:repeat(4,minmax(0,1fr))}.pos-shell{grid-template-columns:minmax(0,1fr) 390px;gap:28px}.pos-product{min-height:235px}}
@media(min-width:651px) and (max-width:1000px){.pos-shell{grid-template-columns:minmax(0,1fr) 320px;gap:16px}.pos-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pos-workspace main{padding-inline:16px}.pos-ticket-top,.pos-ticket-bottom{padding-inline:18px}.pos-ticket-lines{padding-inline:18px}.pos-search button{padding-inline:12px}.pos-product{padding:10px;min-height:200px}.pos-product-name{font-size:13px}.pos-total strong{font-size:24px}}
@media(max-width:650px){.pos-workspace .rail{width:auto;inset:auto 0 0;padding:6px 8px max(6px,env(safe-area-inset-bottom))}.pos-workspace .rail nav{margin:0;gap:3px}.pos-workspace .rail nav button{min-height:60px;gap:5px;padding:9px 2px}.pos-workspace .rail nav button span{font-size:10px}.pos-workspace .workspace{margin-left:0}.pos-workspace header{padding:14px 16px;min-height:68px}.pos-workspace header h1{font-size:20px}.pos-workspace main{padding:16px 14px 24px}.pos-workspace .service-tabs{flex-wrap:nowrap;overflow:auto}.pos-workspace .service-tabs a{white-space:nowrap;padding:10px 12px;font-size:12px;flex-shrink:0}.pos-shell{display:flex;flex-direction:column;height:auto;min-height:0;gap:20px}.pos-catalog{gap:12px}.pos-search{gap:8px}.pos-search button{font-size:12px;padding-inline:12px}.pos-search input{font-size:13px}.pos-categories{gap:6px}.pos-categories button{font-size:12px;padding-inline:14px}.pos-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:55dvh;padding-right:3px}.pos-product{padding:10px;min-height:205px}.pos-product-name{font-size:13px}.pos-product>strong{font-size:16px}.pos-ticket{min-height:380px}.pos-ticket-top{padding:18px 18px 12px}.pos-ticket-lines{padding-inline:18px;max-height:50dvh}.pos-ticket-bottom{padding:16px 18px 20px}.pos-total strong{font-size:28px}}
@media(prefers-reduced-motion:reduce){.pos-product{transition:none}}
.pos-product-image>.nav-icon,.pos-customer>.nav-icon{filter:brightness(0);opacity:.45}
.pos-location{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;margin:0}
.pos-location select{font-size:13px;min-height:44px;padding:9px 12px}
main>.screen>.section-heading .eyebrow{display:none}
/* The original device-only till uses the same catalogue/ticket proportions. */
.pos-workspace .legacy-pos{grid-template-columns:minmax(0,1fr) minmax(340px,35%);gap:24px;height:calc(100dvh - 164px);min-height:440px;align-items:stretch}
.legacy-pos>.catalog{display:flex;flex-direction:column;min-height:0;min-width:0}
.legacy-pos>.catalog>.section-heading{margin-bottom:12px}
.legacy-pos>.catalog>.section-heading h2{display:none}
.legacy-pos>.catalog>.product-grid{overflow:auto;min-height:0;align-content:start;padding:2px 6px 12px 2px;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.legacy-pos .product-card{padding:12px;background:var(--white);border:1px solid var(--line);border-radius:12px;min-width:0}
.legacy-pos .product-image{aspect-ratio:1.25;object-fit:contain;height:auto;max-height:160px;background:var(--paper)}
.legacy-pos .product-name{font-size:14px;min-height:2.8em;line-height:1.4}
.legacy-pos .product-price{font-size:17px;font-weight:650}
.legacy-pos .product-stock{font-size:11px}
.legacy-pos>.order{display:flex;flex-direction:column;position:static;min-height:0;height:100%;overflow:hidden}
.legacy-pos .order-heading{flex-shrink:0;padding:20px 22px 14px}
.legacy-pos .order-heading h2{font-size:19px}
.legacy-pos .order-heading>span{font-size:12px}
.legacy-pos .cart-items{overflow:auto;flex:1;min-height:80px;padding-inline:22px}
.legacy-pos>.order>.empty{flex:1}
.legacy-pos .order-bottom{flex-shrink:0;padding:18px 22px 20px;border-top:1px solid var(--line)}
.legacy-pos .order-bottom>.primary,.legacy-pos .order-bottom>.outline{min-height:54px;font-size:16px}
.legacy-pos .service-order-controls{flex-shrink:0}
@media(min-width:1440px){.pos-workspace .legacy-pos{grid-template-columns:minmax(0,1fr) 390px}.legacy-pos>.catalog>.product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:651px) and (max-width:1000px){.pos-workspace .legacy-pos{grid-template-columns:minmax(0,1fr) 320px;gap:16px}.legacy-pos>.catalog>.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
@media(max-width:650px){.pos-workspace .legacy-pos{display:flex;flex-direction:column;height:auto;min-height:0;gap:20px}.legacy-pos>.catalog>.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:55dvh;gap:12px}.legacy-pos>.order{height:auto;min-height:380px}.legacy-pos .cart-items{max-height:50dvh}.legacy-pos .product-image{height:auto;aspect-ratio:1.25}}
/* Compact ticket chrome keeps the ordered articles visible on short screens. */
.pos-ticket-top .pos-ticket-title{float:right;margin:0 0 0 10px;min-height:44px}
.pos-ticket-title h3{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.pos-ticket-top #pos-order{width:calc(100% - 80px)}
.pos-ticket-top{padding-top:16px;padding-bottom:12px}
.pos-ticket-bottom{padding:14px 22px 16px}
.pos-ticket-bottom>.pos-subtotal:first-child{display:none}
.pos-total{margin:8px 0 16px}
.pos-line{padding:14px 0}
.pos-line-controls{margin-top:8px}
@media(max-width:650px){.pos-ticket-bottom{padding:14px 18px 18px}.pos-ticket-top{padding-top:16px}}
/* Keep account controls in a single compact header while selling. */
@media(min-width:651px){.pos-workspace header{height:76px;min-height:76px;flex-direction:row;align-items:center;gap:16px}.pos-workspace header>div:first-child{flex:1;min-width:0}.pos-workspace header .header-right,.pos-workspace .header-right:has(#cloud-account){max-width:100%;flex-wrap:nowrap;gap:12px}.pos-workspace #cloud-account{width:auto;flex-wrap:nowrap;justify-content:flex-end;flex:initial}.pos-workspace .connected-user{max-width:140px}.pos-workspace #active-business{max-width:160px}.pos-workspace .pos-shell{height:calc(100dvh - 172px)}}
.pos-workspace .connected-user small{display:none}
.pos-workspace #active-business:not(:has(option:nth-child(2))){display:none}
.pos-workspace header:has(#cloud-account) .local-badge{display:none}
@media(max-width:650px){.pos-workspace header:has(#cloud-account){flex-direction:column;align-items:stretch;gap:6px}.pos-workspace header:has(#cloud-account) .header-right{gap:10px;flex-wrap:nowrap;max-width:100%}.pos-workspace #cloud-account{flex:1;flex-wrap:nowrap;justify-content:space-between;min-width:0}.pos-workspace #active-business{max-width:120px;font-size:12px}.pos-workspace .connected-user{max-width:120px}.pos-workspace .connected-user strong{font-size:12px}.pos-workspace #signout{min-height:44px;font-size:11px}.pos-workspace header .voice-launch{min-height:44px;padding:8px 12px}}

/* Connexion et profil : surfaces douces, identité de l’établissement conservée. */
.auth-open{background:var(--paper)}
.auth-open #auth-panel{padding:40px 24px;align-items:center}
.auth-card{max-width:460px;padding:28px 32px;background:transparent;border:0;border-radius:24px;box-shadow:none}
.auth-card .auth-brand{display:flex;flex-direction:column;justify-content:center;gap:12px;margin-bottom:30px;text-align:center}
.auth-card .auth-brand .brand-icon{width:68px;height:68px;border-radius:20px;font-size:36px;background:var(--solid);color:var(--accent)}
.auth-card .auth-brand strong{font-size:15px;letter-spacing:.2px}
.auth-card h1{text-align:center;font-size:32px;letter-spacing:-1px;line-height:1.2}
.auth-subtitle{text-align:center;color:var(--muted);font-size:14px;margin:12px 0 32px;line-height:1.5}
.auth-card form{gap:20px}
.auth-card form label{display:flex;flex-direction:column;gap:9px;font-size:14px;font-weight:500;color:var(--ink)}
.auth-card input,.auth-card select{min-height:56px;padding:16px 20px;border-radius:28px;background:var(--white);font-size:14px;border:1px solid var(--line)}
.auth-card .auth-password{position:relative}
.auth-card .auth-password input{padding-right:90px}
.auth-card .auth-password .text-action{position:absolute;right:10px;bottom:6px;padding:8px 12px;min-height:44px;min-width:64px;font-size:12px;line-height:1.2;border-radius:24px;font-weight:550;background:transparent;color:var(--muted)}
.auth-card .auth-password .text-action:hover{background:var(--paper);color:var(--ink);text-decoration:none}
.auth-card form>.primary{min-height:58px;border-radius:30px;font-size:16px;margin-top:4px}
.auth-card .form-error:empty{display:none}
.auth-card .form-error{font-size:13px;margin:0}
.auth-card #auth-password-help{margin-top:-12px;font-size:12px;color:var(--muted)}
.auth-switch-row{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;margin-top:22px;font-size:13px;color:var(--muted)}
.auth-card .auth-switch-row .text-button{font-size:13px;min-height:44px;margin:0;padding:8px 3px;font-weight:650;text-decoration:none}
.auth-note{text-align:center;color:var(--muted);font-size:12px;margin:8px 0}
.auth-card .auth-offline{display:block;margin:16px auto 0;font-size:12px;color:var(--muted);text-decoration:none;border-top:1px solid var(--line);padding:18px 8px 4px;width:100%;line-height:1.5}
.personal-screen{max-width:860px;margin:0 auto;padding:0 0 24px}
.personal-banner{height:150px;padding:24px 28px;background:var(--solid);color:var(--on-solid);border-radius:24px 24px 0 0}
.personal-banner-heading{display:flex;gap:14px;align-items:center}
.personal-banner h2{font-size:24px;letter-spacing:-.5px;color:var(--on-solid)}
.personal-back{display:grid;place-items:center;min-width:44px;min-height:44px;border-radius:50%;background:var(--white);color:var(--ink);text-decoration:none;font-size:23px}
.personal-identity{position:relative;min-height:150px;padding:64px 28px 24px;background:var(--paper);border-radius:24px 24px 0 0;margin-top:-24px;isolation:isolate}
.personal-avatar{display:grid;place-items:center;position:absolute;left:28px;top:-42px;width:88px;height:88px;border:5px solid var(--paper);border-radius:50%;background:var(--accent);color:var(--on-accent);font-size:28px;font-weight:650;letter-spacing:-1px;overflow:hidden}
.personal-avatar img{width:100%;height:100%;object-fit:contain;background:var(--white)}
.personal-identity .personal-edit{position:absolute;right:24px;top:16px;border-radius:24px;border-color:var(--line);min-height:44px;padding:11px 18px;font-size:12px;background:var(--white);text-decoration:none}
.personal-identity-name h3{font-size:22px;line-height:1.3;font-weight:600;letter-spacing:-.4px;overflow-wrap:anywhere}
.personal-identity-name>span{display:block;color:var(--muted);font-size:13px;margin-top:7px;line-height:1.5}
.personal-screen .personal-settings-group{background:var(--white);border:1px solid var(--line);border-radius:18px;margin:0 0 16px;padding:0 18px;overflow:hidden}
.personal-screen .settings-list{display:block}
.personal-screen .settings-card{display:flex;align-items:center;gap:14px;border:0;border-radius:0;border-bottom:1px solid var(--line);padding:17px 0;min-height:66px;background:transparent;box-shadow:none;text-decoration:none}
.personal-screen .settings-card:last-child{border-bottom:0}
.personal-screen .settings-card strong{font-size:15px;font-weight:500;flex:1;min-width:0;line-height:1.4}
.settings-entry-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px}
.settings-entry-icon .nav-icon{width:22px;height:22px;filter:brightness(0);opacity:.55}
.personal-screen .settings-entry-chevron{font-size:24px;font-weight:400;color:var(--muted);line-height:1}
.personal-screen .settings-card:hover strong{color:var(--success)}
.personal-screen .settings-card:focus-visible{outline-offset:-3px;border-radius:8px}
.personal-screen .settings-more>summary{min-height:62px;display:list-item;padding:19px 0;font-size:14px;font-weight:550}
.personal-screen .settings-more[open]>summary{border-bottom:1px solid var(--line)}
.personal-screen .settings-more .settings-card{min-height:60px;padding-block:15px}
.personal-backup{margin-top:24px;display:flex;justify-content:center}
.personal-backup .settings-actions{justify-content:center;flex-wrap:wrap;gap:10px}
.personal-backup button{min-height:44px;border-radius:24px;font-size:12px;padding:11px 18px}
.personal-information{border-radius:20px;background:var(--white);padding:26px;border:1px solid var(--line);margin-top:0}
.personal-information h3{font-size:17px;margin-bottom:24px;font-weight:600}
.personal-information .form-grid{gap:20px}
.personal-information label{font-size:13px;gap:8px;min-width:0}
.personal-information input{min-height:54px;border-radius:14px;background:var(--paper);font-size:14px;padding:14px 16px}
.personal-information input[readonly]{color:var(--muted)}
.personal-information [type=submit]{min-height:54px;border-radius:28px;margin-top:18px;font-size:14px;padding-inline:24px}
.personal-information .form-error{font-size:13px;margin-top:12px}
.personal-information #user-profile-status{color:var(--success);font-size:13px;margin-top:12px}
.personal-information #user-profile-status:empty{display:none}
@media(min-width:1100px){.settings-home.personal-screen{max-width:760px}.personal-screen .personal-banner{height:160px}.personal-screen .personal-identity{min-height:155px}}
@media(max-width:650px){.auth-open #auth-panel{padding:28px 20px;align-items:center;min-height:100dvh}.auth-card{padding:12px 0;max-width:420px}.auth-card .auth-brand{margin-bottom:24px}.auth-card h1{font-size:30px}.auth-subtitle{margin-bottom:30px;font-size:13px}.auth-card form{gap:20px}.personal-screen{padding:0 0 16px}.personal-banner{height:150px;padding:22px 20px;border-radius:22px 22px 0 0}.personal-banner h2{font-size:22px}.personal-identity{padding:62px 20px 24px;min-height:150px}.personal-avatar{left:20px;top:-40px;width:84px;height:84px;font-size:26px}.personal-identity .personal-edit{right:16px;top:16px;font-size:11px;padding-inline:14px}.personal-identity-name h3{font-size:20px}.personal-screen .personal-settings-group{padding-inline:16px;border-radius:18px;margin-bottom:14px}.personal-screen .settings-card{min-height:64px;padding-block:16px;gap:12px}.personal-screen .settings-card strong{font-size:14px}.personal-information{padding:22px 18px;border-radius:20px}.personal-information .form-grid{grid-template-columns:minmax(0,1fr);gap:18px}.personal-information [type=submit]{width:100%;font-size:14px}.personal-backup{margin-top:20px}.personal-backup .settings-actions{display:flex;width:100%}.personal-backup button{flex:1;font-size:11px;padding-inline:12px}}
.personal-screen button.settings-card{width:100%;text-align:left;color:var(--ink)}
.personal-screen .personal-signout strong{color:var(--red)}
@media(max-width:650px){.workspace:has(.personal-screen)>header{display:none}.workspace:has(.personal-screen)>main{padding:0 0 24px}.personal-screen .personal-banner{border-radius:0;height:154px;padding-top:28px}.personal-screen .personal-identity{border-radius:24px 24px 0 0;padding-bottom:26px}.personal-screen>.personal-settings-group{margin-left:16px;margin-right:16px}.personal-screen>.personal-information{margin-left:16px;margin-right:16px}.personal-screen>.personal-backup{margin-left:16px;margin-right:16px}}
@media(max-width:650px){.pos-workspace .workspace-context.service-tabs{flex-wrap:wrap;overflow:visible}.pos-workspace .workspace-context.service-tabs a{flex:1 1 calc(50% - 8px);white-space:normal;justify-content:center;text-align:center;min-height:44px}}

/* Shared provider choices: native and web use the same login form. */
.social-login-buttons{display:grid;gap:10px}.social-login-button{width:100%;min-height:48px;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:12px;background:var(--white)}.social-mark{display:inline-grid;place-items:center;width:24px;height:24px;font-size:21px;font-weight:700;line-height:1}.social-mark-google{color:var(--ink)}.social-mark-facebook{color:var(--ink)}.social-mark-apple{color:var(--ink)}.social-login-status{margin:10px 0 0;line-height:1.45}.social-login-status:empty,.social-login .form-error:empty{display:none}.auth-email-divider{display:flex;align-items:center;gap:12px;color:var(--muted);margin:22px 0 16px;font-size:13px}.auth-email-divider:before,.auth-email-divider:after{content:"";height:1px;flex:1;background:var(--line)}.auth-card:has(.social-login){margin-block:auto}.social-login-button:disabled{cursor:not-allowed;opacity:.65}.native-server-actions{display:grid;gap:12px;margin-top:18px}

.social-login-button[data-social-provider=apple]{color:#000;background:#fff;border-color:#000}.social-mark img{object-fit:contain;display:block}.social-login-button[data-social-provider=google]{color:#1f1f1f;background:#fff;border-color:#747775}.social-mark-facebook{color:#1877f2}

.team-invitations{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.team-invitations>h3{margin-top:20px}.team-links-list{margin-top:24px}.team-links-list>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:650}.team-identity{overflow-wrap:anywhere;margin-bottom:20px}#team-invite-form,#team-review-form,#team-revoke-form{display:grid;gap:16px}#team-created-link{font-size:13px}#team-request-status{margin-bottom:16px}.auth-team-entry{display:block;margin:8px auto;font-size:13px}.team-invitations .contact-row{flex-wrap:wrap}.team-invitations .button-group{flex-wrap:wrap}@media(max-width:650px){.team-invitations .section-heading{align-items:flex-start;gap:12px;flex-wrap:wrap}.team-invitations .contact-row .grow{min-width:180px}.team-invitations .contact-row .button-group{width:100%}.team-invitations .button-group button{flex:1}}

/* Stock layouts share the catalogue switch, paging and compact photo language. */
.catalog-mosaic.commerce-stock-mosaic{grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}
.catalog-tile.commerce-stock-tile{display:flex;flex-direction:column;gap:14px;padding:14px}
.stock-item-heading{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;align-items:start}.stock-item-heading h3{font-size:14px;line-height:1.35;margin:0}.stock-item-heading .small{margin-top:3px}.stock-thumb{width:56px;height:56px;aspect-ratio:1;object-fit:contain;border-radius:10px;background:var(--soft)}.stock-code{display:grid;place-items:center;font-size:22px;font-weight:650;color:var(--muted)}
.stock-quantities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 10px;margin:0;padding-block:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stock-quantities>div{min-width:0}.stock-quantities dt{font-size:11px;color:var(--muted);line-height:1.4}.stock-quantities dd{font-size:18px;font-weight:650;font-variant-numeric:tabular-nums;margin:4px 0 0;overflow-wrap:anywhere;line-height:1.3}.commerce-stock-tile .stock-count-date{margin:0}.commerce-stock-tile>.button-group{margin:0;margin-top:auto}.commerce-stock-tile>.button-group button{flex:1;min-height:44px;font-size:12px;padding:10px}
.commerce-stock-table .report-table th:nth-child(n+4):nth-child(-n+9),.commerce-stock-table .report-table td:nth-child(n+4):nth-child(-n+9){text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
@media(max-width:650px){.catalog-mosaic.commerce-stock-mosaic{grid-template-columns:minmax(0,1fr)}}
/* Stock workspace: actions, navigation, filters, then result presentation. */
.commerce-stock-screen>.section-heading{align-items:center;margin-bottom:12px;gap:16px}.commerce-stock-screen .stock-header-actions{margin:0;gap:8px;flex-wrap:nowrap}.stock-header-actions:empty{display:none}.stock-header-actions button{min-height:44px;padding:10px 16px;white-space:nowrap;font-size:13px}
.commerce-management-screen .service-tabs{display:flex;gap:20px;margin:0;border:0;border-bottom:1px solid var(--line);padding:0}.commerce-management-screen .service-tabs a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 2px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--muted);font-size:13px;text-align:center;line-height:1.3}.commerce-management-screen .service-tabs a.selected{border-bottom-color:var(--ink);color:var(--ink);background:transparent}.commerce-management-screen .service-tabs a:hover{color:var(--ink);background:var(--soft)}
.stock-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:16px 0;padding:12px 16px;border:1px solid var(--line);border-radius:10px;background:var(--white)}.stock-summary>div{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.stock-summary>div+div{border-left:1px solid var(--line);padding-left:16px}.stock-summary dt{font-size:12px;color:var(--muted);line-height:1.3}.stock-summary dd{font-size:18px;font-weight:650;font-variant-numeric:tabular-nums;margin:0}
.stock-filter-panel{display:flex;align-items:end;flex-wrap:wrap;gap:12px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);margin-bottom:12px}.stock-filter-panel>.commerce-search{flex:2 1 240px;min-width:0;gap:8px;margin:0}.stock-filter-panel>.commerce-search label{min-width:0}.stock-filter-panel>label{flex:1 1 165px;min-width:0}.stock-filter-panel label{font-size:12px}.stock-filter-panel :is(input,select,button){min-height:44px}.stock-filter-panel .commerce-search>button{flex:none;font-size:12px;padding:9px 10px}
.stock-results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}.stock-results-toolbar>p{margin:0}.commerce-stock-screen .stock-results-toolbar .commerce-layout{margin:0;width:auto;flex:none;gap:4px;padding:3px;background:var(--soft);border-radius:10px}.stock-results-toolbar .commerce-layout button{min-height:44px;padding:9px 14px;font-size:12px}.commerce-stock-table caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:760px){.commerce-stock-screen>.section-heading{align-items:stretch;flex-direction:column;gap:12px}.commerce-stock-screen .stock-header-actions{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);width:100%;gap:8px}.commerce-stock-screen .stock-header-actions:empty{display:none}.stock-header-actions button{flex:1;width:100%;min-width:0;padding:10px 6px;font-size:12px}.commerce-management-screen .service-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0 8px}.commerce-management-screen .service-tabs a{grid-column:span 2;min-width:0;font-size:12px;min-height:44px;padding:10px 2px}.commerce-management-screen .service-tabs[data-tab-count="5"] a:nth-last-child(-n+2){grid-column:span 3}.stock-summary{gap:8px;margin:12px 0;padding:10px 12px}.stock-summary>div{flex-direction:column;align-items:start;justify-content:start;gap:4px}.stock-summary>div+div{padding-left:10px}.stock-summary dt{font-size:10px;min-height:26px}.stock-summary dd{font-size:16px}.stock-filter-panel{padding:12px;gap:12px}.stock-filter-panel>.commerce-search{flex-basis:100%}.stock-filter-panel>label{flex-basis:calc(50% - 6px)}.stock-filter-panel>label:only-child{flex-basis:100%}}
/* Dashboard filters: dates together, related filters aligned, one apply action. */
.commerce-dashboard-screen>.section-heading{margin-bottom:12px}.commerce-report-filter-panel{margin:16px 0;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}.report-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:end}.report-period-fields{grid-column:span 2;min-width:0;margin:0;padding:0;border:0}.report-date-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.report-filter-grid label{display:grid;gap:7px;min-width:0;font-size:12px;line-height:1.4;font-weight:600}.report-filter-grid :is(input,select){width:100%;max-width:100%;min-width:0;min-height:44px;margin:0;font-size:13px}.report-scope-fields{grid-column:span 2;display:flex;gap:16px}.report-scope-fields>label{flex:1;min-width:0}.report-filter-actions{grid-column:3/-1;display:flex;justify-content:end;align-items:end}.report-filter-actions button{min-height:44px;margin:0;padding:11px 18px;font-size:13px}.commerce-report-filter-panel>.form-error{margin:12px 0 0}.commerce-report-filter-panel>.form-error:empty{display:none}
@media(max-width:1050px){.report-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-filter-actions{grid-column:1/-1}.report-filter-actions button{min-width:180px}}
@media(max-width:650px){.commerce-report-filter-panel{padding:12px;margin:12px 0}.report-filter-grid,.report-date-pair,.report-scope-fields{gap:12px}.report-filter-grid label{font-size:11px}.report-filter-grid :is(input,select){font-size:12px}.report-filter-actions button{width:100%;min-width:0}}
/* One activity chooser for owner registration, establishment setup and settings. */
.activity-chooser{min-width:0;border:0;margin:16px 0;padding:0}.activity-chooser>legend{font-size:13px;font-weight:650;margin-bottom:12px;padding:0}.activity-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.activity-chooser .activity-option,#auth-form .activity-option{position:relative;display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px;align-items:start;min-width:0;min-height:106px;margin:0;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--white);cursor:pointer}.activity-option:hover{background:var(--soft)}.activity-option:has(input:checked){border-color:var(--ink);background:var(--soft);box-shadow:inset 0 0 0 1px var(--ink)}.activity-option:focus-within{outline:3px solid var(--focus);outline-offset:3px}.activity-chooser .activity-option input,#auth-form .activity-option input{position:absolute;inset:12px 12px auto auto;width:17px;height:17px;min-height:17px;max-width:17px;margin:0;padding:0;accent-color:var(--ink)}.activity-icon{display:block;width:32px;height:32px;color:var(--ink)}.activity-icon svg{display:block;width:32px;height:32px}.activity-copy{display:block;min-width:0;padding-right:15px}.activity-copy strong{display:block;font-size:14px;line-height:1.4}.activity-copy small{display:block;font-weight:400;font-size:12px;line-height:1.5;margin-top:5px;color:var(--muted)}.activity-option:has([aria-invalid=true]){border-color:var(--red)}.auth-card .activity-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.auth-card .activity-chooser .activity-option{padding:12px;gap:8px;grid-template-columns:minmax(0,1fr)}.auth-card .activity-copy{padding-right:0}.auth-card .activity-icon,.auth-card .activity-icon svg{width:24px;height:24px}.auth-card .activity-copy strong{font-size:12px}.auth-card .activity-copy small{font-size:11px}.business-activity-summary{display:grid;align-content:start;gap:8px;font-size:13px}.business-activity-summary>span{font-weight:600}.business-activity-summary>a{color:var(--ink);font-size:12px;text-underline-offset:3px}.business-activity-summary>a:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
@media(max-width:760px){.activity-options{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-chooser .activity-option{grid-template-columns:minmax(0,1fr);padding:12px;gap:8px}.activity-copy{padding-right:0}.activity-icon,.activity-icon svg{width:24px;height:24px}.activity-copy strong{font-size:13px}.activity-copy small{font-size:11px}}
/* The catalogue preview owns its horizontal scroll inside the shared dialog. */
#commerce-import-preview,#commerce-import-sheet-picker{min-width:0}#commerce-import-preview table{min-width:910px}#commerce-import-preview th,#commerce-import-preview td{min-width:100px}#commerce-import-preview td:first-child,#commerce-import-preview th:first-child{min-width:150px}#commerce-import-preview td:last-child,#commerce-import-preview th:last-child{min-width:160px}

.commerce-composition{margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.commerce-composition[hidden]{display:none}.commerce-composition h3{font-size:15px;margin-bottom:12px}.commerce-component{min-width:0;border:0;border-bottom:1px solid var(--line);padding:0 0 14px;margin:0 0 14px}.commerce-component legend{font-size:12px;font-weight:650;padding:0 0 8px}.commerce-component-fields{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto;gap:10px;align-items:end}.commerce-component-fields>label{min-width:0}.commerce-composition>.small{margin-top:12px}.commerce-component-fields button{min-height:46px}@media(max-width:650px){.commerce-composition{padding:12px}.commerce-component-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.commerce-component-fields>label:first-child{grid-column:1/-1}.commerce-component-fields>button{grid-column:1/-1;justify-self:end}}

#modal:has(.commerce-composition:not([hidden])){max-width:720px;width:min(720px,calc(100% - 32px))}

.catalog-category-filter{min-width:170px;max-width:260px;flex:1;margin:0}.pos-category-path{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-block:8px}.pos-subcategories{padding-left:8px;border-left:3px solid var(--line)}#modal:has(#audit-filters),#modal:has(#session-list-filters),#modal:has(.audit-changes),#modal:has([data-category-dialog]){max-width:1040px;width:calc(100% - 32px)}.audit-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:12px;align-items:end;margin:18px 0}.audit-filters>label{min-width:0}.audit-filters>.form-error{grid-column:1/-1}.audit-session-summary{border-bottom:1px solid var(--line);padding-block:12px}.audit-session-summary p,.audit-session-summary span{font-size:13px;color:var(--muted)}.audit-changes{min-width:210px;max-width:430px}.audit-changes summary{min-height:44px;cursor:pointer;display:list-item;font-weight:600}.audit-changes>div{padding-block:10px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.audit-changes p{font-size:13px}.audit-changes p>span{color:var(--muted)}@media(max-width:650px){.audit-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.audit-filters>button{grid-column:1/-1}.catalog-category-filter{max-width:none;width:100%}}

@media(max-width:650px){#modal:has([data-category-dialog]) .report-table{min-width:0;table-layout:fixed;width:100%}#modal:has([data-category-dialog]) .report-table th,#modal:has([data-category-dialog]) .report-table td{padding:10px 5px;overflow-wrap:anywhere;white-space:normal}#modal:has([data-category-dialog]) .report-table th:first-child{width:40%}#modal:has([data-category-dialog]) .report-table th:nth-child(2){width:18%}#modal:has([data-category-dialog]) .button-group button{font-size:12px;padding:8px;white-space:normal;width:100%}}

/* Named rooms reuse the service cards and shared form/dialog tokens. */
.room-plan .section-heading{gap:12px;flex-wrap:wrap}.room-filter{max-width:320px;margin-bottom:18px}.room-table-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.room-plan-card{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-height:140px;padding:16px;text-align:left;background:var(--white);border:1px solid var(--line);border-radius:var(--radius)}.room-plan-card:hover{background:var(--soft)}.room-plan-card>strong{font-size:20px}.room-plan-card>span{font-size:12px}.room-manager>section{margin-top:22px}.room-manager .data-row{gap:12px}.room-manager .grow{min-width:0;overflow-wrap:anywhere}.room-manager .small{display:block}.room-manager button{flex-shrink:0}.room-table-row{padding-block:12px}#modal:has(.room-manager){width:calc(100% - 32px);max-width:720px}@media(max-width:650px){.room-table-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.room-plan-card{padding:12px;min-height:138px}.room-plan .section-heading{align-items:stretch}.room-plan .section-heading>button{width:100%}.room-manager .data-row button{font-size:12px;padding-inline:10px}.room-filter{max-width:none}}

.cash-count-mode{display:flex;gap:12px;flex-wrap:wrap;margin-block:18px;border:0;padding:0}.cash-count-mode legend{font-weight:600;margin-bottom:10px}.cash-count-mode label{display:flex;align-items:center;gap:8px;min-height:44px;margin:0;padding:8px 12px;background:var(--soft);border-radius:var(--radius)}.cash-count-mode input{width:18px;height:18px;margin:0}#cash-counter{margin-block:16px}#cash-counter[hidden]{display:none}.cash-count-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-block:14px}.cash-count-groups fieldset{min-width:0;border:1px solid var(--line);border-radius:var(--radius);padding:12px}.cash-count-groups legend{font-weight:600;padding-inline:6px}.cash-count-row{display:grid;grid-template-columns:70px minmax(70px,1fr) 74px;align-items:center;gap:8px;margin-block:7px}.cash-count-row label{margin:0;font-size:13px;display:flex;justify-content:space-between;gap:5px}.cash-count-row input{min-width:0;min-height:44px;padding:8px}.cash-count-row output{text-align:right;font-size:12px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.cash-count-total{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px;background:var(--soft);border-radius:var(--radius);margin-block:14px}.cash-count-total strong{font-size:20px;white-space:nowrap}#modal:has(#cash-counter){width:calc(100% - 32px);max-width:760px}@media(max-width:650px){.cash-count-groups{grid-template-columns:1fr;gap:12px}.cash-count-row{grid-template-columns:65px minmax(60px,1fr) 68px}.cash-count-total{flex-wrap:wrap}.cash-count-mode{gap:8px}.cash-count-mode label{font-size:13px;padding-inline:10px}}

#cash-counter>.cash-count-total{position:sticky;top:0;z-index:1;border:1px solid var(--line)}.cash-count-row input{scroll-margin-top:90px}

/* Compact shared settings and product information. */
.pos-setting-options{display:grid;gap:12px;margin:16px 0}.pos-setting-options>label{display:flex;align-items:center;gap:12px;flex-direction:row-reverse;justify-content:flex-end;min-height:44px}.pos-setting-options input{flex:0 0 20px;width:20px;min-height:20px}.pos-settings-screen .panel{max-width:800px}.pos-settings-screen summary{min-height:44px;cursor:pointer}.pos-settings-screen details .button-group{margin-top:16px}.product-info-heading{display:flex;align-items:center;gap:16px;margin-bottom:20px}.product-info-values{margin:16px 0}.product-info-values>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}.product-info-values dt{color:var(--muted)}.product-info-values dd{margin:0;text-align:right;overflow-wrap:anywhere}.pos-product-image[hidden]{display:none}

.preparation-preview{overflow-x:auto;margin:20px 0;padding:16px;background:var(--soft)}.preparation-paper{max-width:100%;margin:auto;background:#fff;color:#000;padding:10px;font:13px/1.5 monospace}.preparation-paper header{text-align:center}.preparation-paper table{width:100%;border-collapse:collapse}.preparation-paper td,.preparation-paper th{text-align:left;white-space:normal;padding:8px 2px;border-bottom:1px dashed #777;overflow-wrap:anywhere}.preparation-paper td:first-child{width:32%}.preparation-paper p{margin:12px 0;overflow-wrap:anywhere}

.pos-products.pos-without-images .pos-product{min-height:136px}

.preparation-site{display:block;max-width:360px;margin:12px 0 20px}.preparation-printer-list{display:grid;gap:0}.preparation-printer-row{display:flex;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}.preparation-printer-row:last-child{border-bottom:0}.preparation-printer-row .grow{min-width:0;overflow-wrap:anywhere}.preparation-printer-row .small{display:block;margin-top:4px}.preparation-printer-options{margin:16px 0;border-top:1px solid var(--line);padding-top:12px}.preparation-printer-options summary{cursor:pointer;min-height:44px;display:list-item}.preparation-category-list{display:grid;gap:6px;max-height:240px;overflow:auto;margin:12px 0}.preparation-category-list label{display:flex;align-items:center;gap:12px;min-height:44px;font-weight:400}.preparation-category-list input{width:20px;min-height:20px;flex:0 0 20px}.preparation-category-list label[hidden]{display:none}.preparation-print-pages .preparation-paper{break-after:page}.preparation-print-pages .preparation-paper:last-child{break-after:auto}@media(max-width:600px){.preparation-printer-row{align-items:flex-start}.preparation-printer-row button{flex-shrink:0}}

.preparation-print-toggle{display:flex;align-items:center;gap:12px;min-height:44px;font-weight:400}.preparation-print-toggle input{width:20px;min-height:20px;flex:0 0 20px}

.preparation-printer-context{margin-bottom:16px}.preparation-printer-form>.form-grid>p{grid-column:1/-1}#commerce-form.preparation-printer-form .preparation-printer-options{margin:10px 0;padding-block:0}.preparation-printer-form .preparation-printer-options summary{padding-block:10px}

.preparation-print-toggle[hidden]{display:none}

.native-drawer-options{margin-block:16px;padding-block:12px;border-top:1px solid var(--line)}.native-drawer-options summary{min-height:44px;padding-block:10px;cursor:pointer;font-weight:650}.native-drawer-options p,#drawer-profile-options>label{margin-block:12px}.native-drawer-options button{margin-block:6px}.printer-checkbox{display:flex;align-items:center;gap:12px;min-height:44px}.printer-checkbox input{flex:0 0 20px;width:20px;min-height:20px}.native-drawer-options [hidden],#drawer-profile-options[hidden]{display:none}

.native-printer-connection{margin-block:16px;border-top:1px solid var(--line);padding-top:12px}.native-printer-connection summary{min-height:44px;padding-block:10px;cursor:pointer;font-weight:650}

#printer-default-form>.printer-checkbox{margin-top:12px}#printer-default-form>.small{margin-block:8px}.native-drawer-options{margin-block:12px;padding-block:8px}

.pricing-settings .data-row .small{display:block;margin-top:4px}.pricing-settings>.small{margin-top:10px}

/* Collaborateurs : fonction et magasins visibles, exceptions repliées. */
.commerce-access-form .access-sites{margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:10px}.access-sites legend,.access-permissions legend{font-weight:700;padding:0 5px}.access-site-choices{display:flex;flex-wrap:wrap;gap:12px 24px}.access-site-choices label,.commerce-access-form [data-access-location] label,.commerce-access-form [data-access-session] label{display:flex;flex-direction:row;align-items:center;gap:10px}.commerce-access-form input[type=checkbox]{width:20px;height:20px;flex:0 0 20px}.access-summary{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;margin:8px 0 10px}.access-summary>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}.access-summary strong{white-space:nowrap}#commerce-form.commerce-access-form details{margin:4px 0;padding-block:0}.access-options summary{font-weight:600;padding:6px 0;min-height:44px;cursor:pointer}.access-permissions{border:0;padding:12px 0;margin:8px 0}.access-permissions label{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,190px);align-items:center;gap:12px;margin:8px 0}.commerce-access-form [data-access-location],.commerce-access-form [data-access-session]{margin:12px 0}.commerce-access-form [hidden]{display:none}.team-member .button-group{flex-wrap:wrap}
@media(max-width:650px){.access-summary{grid-template-columns:1fr}.access-permissions label{grid-template-columns:1fr;gap:6px}.team-member>.button-group{width:100%;justify-content:space-between}.team-member>.button-group button{min-height:44px}.access-site-choices{flex-direction:column;gap:14px}}

/* Variant batches reuse the product form and native disclosures/fields. */
#commerce-form .variant-builder{padding-block:0;margin:10px 0 16px}#commerce-form .variant-builder>summary{min-height:44px}.variant-builder-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start;margin:12px 0}.variant-builder-fields>label,.variant-builder-fields>div{min-width:0}.variant-builder-fields textarea{resize:none;min-height:100px}.variant-plan-list{max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:10px;margin:10px 0}.variant-plan-list label,.variant-plan-all{display:flex;flex-direction:row;align-items:center;gap:10px;min-height:44px;padding:10px;margin:0;font-weight:500}.variant-plan-list label+label{border-top:1px solid var(--line)}.variant-plan-list input,.variant-plan-all input{width:20px;height:20px;flex:0 0 20px}.variant-plan-list span{overflow-wrap:anywhere}.variant-builder #variant-builder-error:empty,.variant-builder #variant-builder-status:empty{display:none}.variant-builder [hidden]{display:none}.variant-builder #variant-builder-status{margin-top:12px}
@media(max-width:650px){.variant-builder-fields{grid-template-columns:minmax(0,1fr)}.variant-builder-fields textarea{min-height:88px}.variant-builder #variant-plan>button{width:100%}}

#commerce-form .commerce-variant-details{padding-block:0;margin:8px 0}#commerce-form .commerce-variant-details>summary{min-height:44px;overflow-wrap:anywhere}#commerce-form .commerce-variant-details .commerce-variant{margin-top:8px}

/* Product catalogue: compact rows, with the existing table and dialog owners. */
.commerce-screen .commerce-catalog-heading{align-items:center;gap:10px 18px;flex-wrap:wrap;margin-bottom:18px}
.commerce-screen .commerce-catalog-heading>p{margin:0}
.commerce-screen .commerce-catalog-heading>.button-group{margin:0;gap:8px}
.commerce-catalog-tools{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,220px) auto;gap:14px;align-items:end;margin-bottom:14px}
.commerce-catalog-tools .commerce-search{margin:0;min-width:0;gap:8px;flex-wrap:nowrap}
.commerce-catalog-tools .commerce-search label{min-width:0}
.commerce-catalog-tools .catalog-category-filter{min-width:0;max-width:none;margin:0}
.commerce-catalog-tools .commerce-layout{margin:0;width:auto;gap:4px}
.commerce-catalog-tools .commerce-layout button{padding-inline:14px}
.commerce-catalog-tools input,.commerce-catalog-tools select{min-width:0;height:44px}
.commerce-screen .commerce-result-count{margin:0 0 10px;font-size:12px}
.catalog-table>.table-scroll{background:var(--white);border:1px solid var(--line);border-radius:var(--radius)}
.catalog-table .report-table{min-width:0;width:100%;table-layout:fixed;margin:0;border-collapse:collapse}
.catalog-table caption{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.commerce-screen .catalog-table .report-table :is(th,td){padding:10px 14px;vertical-align:middle;overflow-wrap:anywhere}
.catalog-table .report-table th{font-size:12px;font-weight:600;background:var(--soft);color:var(--muted);height:42px;text-align:left}
.catalog-table .report-table th:first-child{width:34%}
.catalog-table .report-table th:nth-child(2){width:17%}
.catalog-table .report-table th:last-child{width:156px;text-align:right}
.catalog-table .report-table :is(th,td):nth-child(n+3):not(:last-child){text-align:right}
.catalog-table .report-table td{border-top:1px solid var(--line);font-size:13px;line-height:1.45}
.catalog-table .report-table tbody tr:hover,.catalog-table .report-table tbody tr:focus-within{background:var(--soft)}
.catalog-product-cell{display:flex;align-items:center;gap:12px;min-width:0}
.catalog-row-photo,.catalog-row-placeholder{display:block;flex:0 0 40px;width:40px;height:40px;aspect-ratio:1;object-fit:contain;background:var(--soft);border-radius:6px}
.catalog-row-placeholder{display:grid;place-items:center;color:var(--muted);font-size:13px;font-weight:600}
.catalog-product-copy{min-width:0;flex:1}
.commerce-screen .catalog-table button.catalog-product-name{display:block;background:transparent;border:0;box-shadow:none;border-radius:3px;min-height:24px;width:auto;max-width:100%;padding:0;text-align:left;font-size:14px;font-weight:650;line-height:1.4;color:var(--ink);overflow-wrap:anywhere}
.catalog-product-name:hover{text-decoration:underline;text-underline-offset:3px}
.catalog-product-name:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.catalog-table .catalog-row-detail{display:block;margin:2px 0 0;color:var(--muted);font-size:11px;line-height:1.4}
.catalog-mobile-category{display:none}
.catalog-price{font-size:13px;font-variant-numeric:tabular-nums;line-height:1.5;font-weight:500}
strong.catalog-price{font-weight:650}
.catalog-row-actions{display:flex;justify-content:flex-end;align-items:center;gap:6px;min-width:0}
.commerce-screen .catalog-table .catalog-row-edit{min-height:44px;padding:8px 10px;font-size:12px;white-space:nowrap;flex-shrink:0}
.commerce-screen .catalog-table .catalog-row-more{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:0;font-size:24px;line-height:1}
.selection-check{display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;cursor:pointer;gap:0}
.selection-check input[type=checkbox]{width:18px;height:18px;margin:0;padding:0;accent-color:var(--ink);cursor:pointer}
.selection-check input:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
.selection-check:has(input:disabled){cursor:default;opacity:.45}
.selection-check input:disabled{cursor:default}
.catalog-bulk-bar{display:flex;align-items:center;justify-content:space-between;gap:10px 16px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--white);margin-bottom:12px;min-height:68px}
.catalog-selection-summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:13px}
.catalog-page-select{display:flex;align-items:center;gap:2px}
.catalog-clear-selection{background:transparent;color:var(--muted);font-size:12px;text-decoration:underline;text-underline-offset:3px;min-height:44px}
.catalog-clear-selection:hover{color:var(--ink)}
.commerce-screen .catalog-bulk-actions{margin:0;gap:6px}
.catalog-bulk-actions button{font-size:13px;padding:10px 12px;min-height:44px}
.catalog-table.has-selection .report-table th:first-child{width:44px}
.catalog-table.has-selection .report-table :is(th,td).selection-cell{padding:0;text-align:center;width:44px}
.catalog-table.has-selection .report-table th:nth-child(2){width:32%}
.catalog-table.has-selection .report-table th:nth-child(3){width:17%;text-align:left}
.catalog-table.has-selection .report-table td:nth-child(3){text-align:left}
.catalog-table.has-selection .report-table tr.is-selected{background:var(--soft)}
.catalog-selectable{position:relative;padding-top:52px!important}
.catalog-selectable>.selection-check{position:absolute;top:3px;right:4px}
.catalog-selectable.is-selected{border-color:var(--ink);background:var(--soft)}
.bulk-product-list{margin:0 0 12px}
.bulk-product-list ul{max-height:180px;overflow:auto;padding-left:22px;margin:10px 0;font-size:14px}
@media(max-width:650px){
 .catalog-bulk-bar{padding:8px;gap:6px}
 .catalog-selection-summary{width:100%;gap:4px 10px}
 .catalog-bulk-actions{width:100%;display:flex;flex-wrap:wrap}
 .catalog-bulk-actions button{flex:1;font-size:12px;padding:9px 6px}
 .catalog-clear-selection{margin-left:auto}
 .catalog-table.has-selection .report-table th:nth-child(2),.catalog-table.has-selection .report-table td:nth-child(2),.catalog-table.has-selection[data-costs=true] .report-table th:nth-child(4),.catalog-table.has-selection[data-costs=true] .report-table td:nth-child(4){display:table-cell}
 .catalog-table.has-selection .report-table th:nth-child(3),.catalog-table.has-selection .report-table td:nth-child(3),.catalog-table.has-selection[data-costs=true] .report-table th:nth-child(5),.catalog-table.has-selection[data-costs=true] .report-table td:nth-child(5){display:none}
 .catalog-table.has-selection .report-table th:nth-child(2){width:auto}
 .catalog-table.has-selection .report-table th:nth-child(4){width:86px}
 .catalog-table.has-selection .report-table th:last-child{width:46px}
 .catalog-table.has-selection .catalog-product-cell{gap:6px}
 .catalog-table.has-selection .catalog-row-photo,.catalog-table.has-selection .catalog-row-placeholder{width:28px;height:28px;flex-basis:28px}
}
.catalog-actions-menu{display:grid;gap:10px;margin-top:16px}
.room-manager .data-row{margin-block:8px;gap:8px}
.room-manager .room-table-row{padding:8px}
.room-manager .room-table-row>.selection-check{flex:0 0 44px}
.room-manager .room-table-row.is-selected{background:var(--soft);border-color:var(--ink)}
.room-manager .room-table-row .small{display:block;margin-top:3px;font-size:12px}
.room-manager .room-table-row>button{min-height:44px;padding:8px 12px;font-size:13px}
.room-manager-filter{font-size:13px;min-width:160px}
.room-manager-filter select{padding:9px 12px;min-height:44px}
.room-selection-bar{background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin-block:12px;display:grid;gap:4px}
.room-selection-summary{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;font-size:12px}
.room-clear-selection{margin-left:auto;min-height:44px;padding:6px;background:transparent;text-decoration:underline;color:var(--muted);font-size:12px}
.room-manager .room-bulk-actions{margin:0;display:flex;gap:8px}
.room-bulk-actions>button{flex:1;min-height:44px;font-size:13px}
.room-action-list{margin:12px 0}
.room-action-list ul{max-height:180px;overflow:auto;padding-left:22px}
.room-deleted{margin-top:16px}
.reservation-filters{display:flex;align-items:end;gap:12px;margin-bottom:16px}
.reservation-filters label{min-width:0;max-width:240px}
.reservation-filters button{min-height:46px}
.reservation-list{display:grid;gap:10px}
.reservation-row{align-items:center;flex-wrap:wrap;margin:0;gap:16px}
.reservation-row .small{display:block;margin-top:4px;font-size:12px}
.reservation-time{min-width:170px;font-size:13px}
.reservation-row .service-badge{display:inline-block;margin-top:7px}
.reservation-row .button-group{margin:0;gap:6px}
.reservation-row button{min-height:44px;font-size:13px}
.reservation-summary{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px 12px;margin-block:20px;font-size:14px}
.reservation-summary dt{color:var(--muted)}
.reservation-summary dd{margin:0;overflow-wrap:anywhere;white-space:pre-line}
.room-reservation-hint{font-size:11px;line-height:1.4;color:var(--info)}
@media(max-width:650px){.reservation-panel{padding:16px}.reservation-row{gap:10px;padding:12px}.reservation-time{width:100%;min-width:0}.reservation-row .grow{flex-basis:100%}.reservation-row .button-group{width:100%}.reservation-row .button-group button{flex:1}.reservation-filters label{flex:1}.reservation-summary{grid-template-columns:80px minmax(0,1fr)}}
@media(max-width:650px){.room-manager .room-table-row{flex-wrap:nowrap}.room-manager .room-table-row .grow{flex:1;flex-basis:auto}.room-manager .room-table-row>button{padding-inline:8px}.room-manager-filter{width:100%}.room-selection-bar{padding:6px}.room-selection-summary{gap:2px 5px}.room-selection-summary .selection-check{width:40px;min-width:40px}.room-manager .data-row>strong.grow{flex-basis:50%}}
.catalog-actions-menu>button{min-height:48px;text-align:left}
@media(max-width:950px) and (min-width:651px){.commerce-screen .catalog-table .catalog-row-edit{display:none}.catalog-table .report-table th:last-child{width:70px}.catalog-table .report-table th:first-child{width:35%}.commerce-catalog-tools{grid-template-columns:minmax(130px,1fr) minmax(120px,170px) auto}.commerce-catalog-tools .commerce-layout button{padding-inline:10px}}
@media(max-width:650px){
 .commerce-screen .commerce-catalog-heading{display:flex;align-items:start;gap:10px;margin-bottom:16px}
 .commerce-screen .commerce-catalog-heading>p{width:100%;font-size:12px}
 .commerce-screen .commerce-catalog-heading>.button-group{flex-direction:row;flex-wrap:wrap;gap:8px;width:100%}
 .commerce-screen .commerce-catalog-heading>.button-group button{flex:0 0 auto;width:auto;min-height:44px;padding:10px 12px;font-size:13px}
 .commerce-catalog-tools{grid-template-columns:minmax(0,1fr) auto;gap:10px 8px;margin-bottom:12px}
 .commerce-catalog-tools .commerce-search{grid-column:1/-1;margin:0;flex-basis:auto}
 .commerce-catalog-tools .commerce-search input{font-size:14px}
 .commerce-catalog-tools .catalog-category-filter{font-size:12px}
 .commerce-catalog-tools select{font-size:12px;padding-inline:8px}
 .commerce-catalog-tools .commerce-layout{width:auto;margin:0}
 .commerce-catalog-tools .commerce-layout button{flex:0 0 auto;padding:10px 9px;font-size:12px}
 .catalog-table .report-table th:nth-child(2),.catalog-table .report-table td:nth-child(2),.catalog-table[data-costs=true] .report-table th:nth-child(4),.catalog-table[data-costs=true] .report-table td:nth-child(4){display:none}
 .commerce-screen .catalog-table .report-table :is(th,td){padding:8px 7px}
 .catalog-table .report-table th:first-child{width:auto}
 .catalog-table .report-table th:nth-child(3){width:94px}
 .catalog-table .report-table th:last-child{width:52px;font-size:0}
 .catalog-product-cell{gap:8px}
 .catalog-row-photo,.catalog-row-placeholder{flex-basis:32px;width:32px;height:32px}
 .commerce-screen .catalog-table button.catalog-product-name{font-size:13px;min-height:32px}
 .catalog-mobile-category{display:block;font-size:11px;color:var(--muted);line-height:1.4}
 .catalog-table .catalog-row-detail{font-size:10px}
 .catalog-row-actions{gap:0}
 .commerce-screen .catalog-table .catalog-row-edit{display:none}
 .catalog-price{font-size:12px}
}

/* Shared image picker: compact, aligned actions for logos, products and profiles. */
.image-editor{align-items:flex-start}
.image-editor-controls{display:grid;gap:8px;min-width:0}
.image-editor .image-editor-title{margin:0}
.image-editor .image-editor-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.image-editor .image-editor-actions button{flex:0 0 auto;width:auto;min-height:40px;margin:0;font-size:13px;line-height:1.4}
.image-editor .image-editor-actions .image-choose{padding:8px 12px}
.image-editor .image-editor-actions .image-remove{padding:8px;font-size:12px;background:transparent;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.image-editor .image-remove:hover:enabled{color:var(--ink);background:var(--soft)}
.image-editor-controls>.small,.image-editor-controls>.image-editor-error{margin:0}
.image-editor-error:empty{display:none}
.personal-photo{margin-bottom:18px}
.personal-photo #user-photo-save{margin-top:12px}
.image-editor-avatar .image-preview{width:80px;height:80px;border-radius:50%}
@media(max-width:650px){.image-editor .image-editor-actions button{min-height:44px}.personal-photo .image-preview{align-self:flex-start}.personal-photo .image-editor-controls{width:100%}}
.personal-session-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 20px}
.personal-session-actions>.outline{width:auto;min-height:44px;padding:10px 16px;font-size:13px;text-decoration:none}
.personal-session-actions .personal-signout{color:var(--red);border-color:var(--line);background:var(--white)}
.personal-session-actions>[data-account-status]{flex-basis:100%;margin:0}
.personal-session-actions>[data-account-status]:empty{display:none}
@media(max-width:650px){.personal-screen>.personal-session-actions{padding:0 20px}}

/* Account security: existing panel/form controls, no change to receipt printing. */
.account-security{display:grid;gap:14px}.account-security form{display:grid;gap:16px}.account-security label{display:grid;gap:8px}.account-security button{justify-self:start}.account-password-details{border-top:1px solid var(--line);padding-top:14px}.account-password-details summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.account-password-details form{margin-top:12px}.auth-recovery-link,.auth-return{display:inline-flex;align-items:center;min-height:44px;justify-content:center}.auth-recovery-link{margin-top:8px}.account-security input{min-width:0}#account-action-status:empty{display:none}
#account-action-form[hidden]{display:none}

.account-action-links{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:12px}.account-action-links a{display:inline-flex;align-items:center;min-height:44px}

/* Semantic dark surfaces; inverse navigation and paper documents keep their own colors. */
@media screen{
 :root[data-theme="dark"]{color-scheme:dark;--ink:#edf4f1;--muted:#b1beba;--paper:#101b19;--white:#192925;--line:#425a52;--red:#ffaaa4;--focus:#ddf56a;--soft:#243b33;--shadow:0 16px 50px #0008;--success:#a1e3bb;--success-soft:#1e3d2e;--warning:#f5cc94;--warning-soft:#42321f;--info:#acd2ff;--info-soft:#20354b;--purple:#d4c4ff;--purple-soft:#352a4b;--danger-soft:#482b2b}
 :root[data-theme="dark"] .access-notice{background:var(--soft);border-color:var(--line)}
 :root[data-theme="dark"] input[readonly]{background:var(--soft);color:var(--muted)}
 :root[data-theme="dark"] .permission-choice:has(input:checked){background:var(--soft);border-color:var(--accent)}
 :root[data-theme="dark"] .permission-choice input{accent-color:var(--accent)}
 :root[data-theme="dark"] .tables-layout .table-card.occupied{border-color:var(--line)}
 :root[data-theme="dark"] dialog::backdrop{background:#0009}
 :root[data-theme="dark"] .receipt{background:#fff;color:#000;--ink:#000;--muted:#444;--white:#fff;--line:#aaa;--soft:#f1f3f0;color-scheme:light;padding:12px}
}
.appearance-screen{max-width:660px}.appearance-screen>.small{margin-top:12px}.appearance-screen>.settings-back{display:inline-flex;align-items:center;min-height:44px;margin-bottom:14px}.appearance-choices{display:grid;gap:10px;margin:24px 0 16px;padding:0;border:0}.appearance-choices legend{margin-bottom:12px;font-weight:650}.appearance-choice{display:flex;align-items:center;gap:14px;min-height:82px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--white);cursor:pointer}.appearance-choice:has(input:checked){border-color:var(--ink);background:var(--soft)}.appearance-choice input{width:20px;height:20px;min-height:20px;flex:0 0 20px;margin:0;accent-color:var(--solid)}.appearance-choice span{display:grid;gap:4px}.appearance-choice strong{font-size:15px}.appearance-screen [role=status]{font-size:14px}
@media screen{
 :root[data-theme="dark"] :is(.pos-product-image,.pos-customer,.settings-entry-icon)>.nav-icon{filter:brightness(0) invert(1);opacity:.8}
 :root[data-theme="dark"] :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
 :root[data-theme="dark"] :is(input,select,textarea){border-color:#718c80}
}

/* Private account MFA, shared by the access screen and profile. */
.mfa-panel form,#mfa-content form{display:grid;gap:14px;margin-top:18px}
.mfa-panel label,#mfa-content label{display:grid;gap:6px}
.mfa-panel .check,#mfa-content .check{display:flex;align-items:flex-start;gap:10px}
.mfa-panel .check input,#mfa-content .check input{width:20px;min-height:20px;flex:0 0 20px}
.mfa-qr{background:#fff;color:#101418;width:240px;max-width:100%;margin:16px auto}
.mfa-qr svg{display:block;width:100%;height:auto}
.mfa-secret{font-family:monospace;overflow-wrap:anywhere;user-select:all;padding:12px;border:1px solid var(--border);border-radius:8px}
.mfa-codes{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.9;user-select:all;padding:14px;border:1px solid var(--border);border-radius:8px}
