/* Kosmo Studio: shared product tokens and adapters for the operational modules. */
:root{color-scheme:light;--kosmo-canvas:#f3f5f8;--kosmo-panel:#fff;--kosmo-ink:#202c3c;--kosmo-muted:#5e6d80;--kosmo-line:#dce3ec;--kosmo-brand:#3555c5;--kosmo-brand-dark:#2943a0;--kosmo-selected:#e9edff;--kosmo-ready:#24664a;--kosmo-ready-bg:#e3f3e9;--kosmo-wait:#87500a;--kosmo-wait-bg:#fff0d5;--kosmo-error:#a52b35;--kosmo-error-bg:#ffedef;--kosmo-radius:14px;--kosmo-font:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
--ink:var(--kosmo-ink);--muted:var(--kosmo-muted);--line:var(--kosmo-line);--green:var(--kosmo-ready);--cream:var(--kosmo-canvas);--bg:var(--kosmo-canvas);--bg2:var(--kosmo-canvas);--surface:var(--kosmo-panel);--surface-2:#edf1f7;--surface-3:#e4eaf4;--border:var(--kosmo-line);--text:var(--kosmo-ink);--blue:var(--kosmo-brand);--yellow:var(--kosmo-wait);--red:var(--kosmo-error);--cyan:#1c6379;--violet:#6848ac;
--brand-red:var(--kosmo-brand);--brand-red-deep:var(--kosmo-brand-dark);--paper:var(--kosmo-canvas);--surface-strong:var(--kosmo-panel);--border-strong:#b9c7dc;--text-muted:var(--kosmo-muted);--shadow:0 4px 20px #202c3c08;--shadow-soft:0 4px 20px #202c3c08;
--bg-canvas:var(--kosmo-canvas);--bg-shell:var(--kosmo-canvas);--surface-primary:var(--kosmo-panel);--surface-secondary:#f8faff;--surface-muted:#edf1f7;--text-primary:var(--kosmo-ink);--text-secondary:var(--kosmo-muted);--text-tertiary:var(--kosmo-muted);--line-soft:var(--kosmo-line);--line-strong:#b9c7dc;--brand-tomato:var(--kosmo-brand);--brand-basil:var(--kosmo-brand);--brand-basil-soft:var(--kosmo-selected);--state-ready:var(--kosmo-ready);--state-ready-bg:var(--kosmo-ready-bg);--state-prep:var(--kosmo-wait);--state-prep-bg:var(--kosmo-wait-bg);--state-overdue:var(--kosmo-error);--state-overdue-bg:var(--kosmo-error-bg);--display-font:var(--kosmo-font);--ui-font:var(--kosmo-font);--action:var(--kosmo-brand)}
body{margin:0;background:var(--kosmo-canvas);color:var(--kosmo-ink);font-family:var(--kosmo-font)}
button,input,select,textarea{font-family:inherit}button,a,input,select,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8199f2;outline-offset:3px}button:disabled{cursor:not-allowed}
.kosmo-suite{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:15px 24px;background:var(--kosmo-panel);border-bottom:1px solid var(--kosmo-line);color:var(--kosmo-ink);font:14px/1.4 var(--kosmo-font)}
.kosmo-suite .kosmo-logo{font-size:25px;font-weight:750;letter-spacing:-1.4px;text-decoration:none;color:var(--kosmo-ink);margin-right:12px}.kosmo-logo span{color:var(--kosmo-brand)}
.kosmo-suite nav{display:flex;gap:5px;flex-wrap:wrap}.kosmo-suite nav a{padding:10px 13px;color:var(--kosmo-muted);border-radius:8px;text-decoration:none;font-weight:550}.kosmo-suite nav a[aria-current=page]{background:var(--kosmo-selected);color:var(--kosmo-brand)}
.kosmo-suite .suite-context{margin-left:auto;color:var(--kosmo-muted);font-size:12px}
/* Portal */
.wordmark{font-family:var(--kosmo-font);letter-spacing:-1.6px}.wordmark span{color:var(--kosmo-brand)}.intro{background:var(--kosmo-selected);color:var(--kosmo-ink)}.intro .wordmark,.intro-copy,.intro small{color:var(--kosmo-muted)}.intro .wordmark{color:var(--kosmo-ink)}.intro .product-pills span{color:var(--kosmo-brand);border-color:#b9c7dc}.primary,button.primary{background:var(--kosmo-brand);color:#fff;border:0;border-radius:8px;padding:13px 18px;font-weight:600}.primary:hover,button.primary:hover{background:var(--kosmo-brand-dark)}.nav-item.selected{background:var(--kosmo-selected);color:var(--kosmo-brand)}.avatar,.module-icon,.kitchen .module-icon,.board .module-icon{background:var(--kosmo-selected);color:var(--kosmo-brand)}.product-card:before,.product-card.kitchen:before,.product-card.board:before{background:var(--kosmo-brand)}.product-card,.account-card,.location-row,.stats{border-radius:var(--kosmo-radius)}.badge,.notice{background:var(--kosmo-selected);color:var(--kosmo-brand);border-color:var(--kosmo-line)}.location-links a:hover{background:var(--kosmo-selected)}.location-links button{padding:9px 12px;font-size:12px}.empty-state{background:#edf1f7}.text-button,.eyebrow{color:var(--kosmo-brand)}
/* Team ordering: retain tablet layout and manual review. */
body[data-kosmo-product=ordering] .app-shell{min-height:calc(100vh - 77px);padding:24px}
body[data-kosmo-product=ordering] .mobile-app{width:min(100%,680px);height:calc(100vh - 125px);min-height:560px;border-radius:var(--kosmo-radius);border-color:var(--kosmo-line);background:var(--kosmo-panel);box-shadow:var(--shadow)}
body[data-kosmo-product=ordering] .app-header{background:var(--kosmo-panel);border-color:var(--kosmo-line)}
body[data-kosmo-product=ordering] :is(.basket-card,.browser-card,.selection-card,.receipt-card,.micro-note,.screen-panel){background:var(--kosmo-panel);border-color:var(--kosmo-line);border-radius:12px}
body[data-kosmo-product=ordering] :is(.mode-pill,.status-chip,.filter-pill-active,.bottom-nav-button-active){background:var(--kosmo-selected);color:var(--kosmo-brand);border-color:#b9c7dc}
body[data-kosmo-product=ordering] :is(.bottom-nav,.secondary-button,.ghost-button){background:var(--kosmo-panel);color:var(--kosmo-ink);border-color:var(--kosmo-line)}
body[data-kosmo-product=ordering] .primary-button{background:var(--kosmo-brand);color:white;box-shadow:none;border-radius:8px}
body[data-kosmo-product=ordering] :is(input,select,textarea){border-radius:8px;border-color:var(--kosmo-line)}
/* Kitchen and board retain operational density and semantic state labels. */
body[data-kosmo-product=kitchen] :is(.entry-panel,.topbar,.station-header,.ticket,.order-card,.expo-order,.control-bar){border-radius:var(--kosmo-radius)}
body[data-kosmo-product=kitchen] .button:not(.button--secondary){background:var(--kosmo-brand);border-color:var(--kosmo-brand);color:white}
body[data-kosmo-product=service-board] .topbar{background:var(--kosmo-panel);border-radius:var(--kosmo-radius);box-shadow:none}
body[data-kosmo-product=service-board] :is(.board-title,.scan-table-number,.detail-title,.sheet-title){font-family:var(--kosmo-font);letter-spacing:-.6px}
body[data-kosmo-product=service-board] .shell{padding:24px}
body[data-kosmo-product=service-board] :is(.scan-card,.table-card){border-radius:var(--kosmo-radius);box-shadow:var(--shadow)}
/* Customer ordering */
.guest-page{font:15px/1.5 var(--kosmo-font);min-width:320px}.guest-shell{max-width:1120px;margin:0 auto;padding:36px 24px}.guest-heading{margin:0 0 25px}.guest-heading h1{font-size:36px;letter-spacing:-1.3px;margin:8px 0}.guest-heading p{color:var(--kosmo-muted);margin:6px 0}.guest-note{padding:12px 16px;background:var(--kosmo-selected);border-radius:10px;color:var(--kosmo-brand);font-size:13px;margin-bottom:24px}.guest-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}.guest-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.guest-item,.guest-basket,.guest-receipt{background:var(--kosmo-panel);border:1px solid var(--kosmo-line);border-radius:var(--kosmo-radius);padding:20px}.guest-item{display:flex;flex-direction:column;gap:10px}.guest-item h3{margin:0;font-size:18px}.guest-item p{color:var(--kosmo-muted);font-size:13px;margin:0;flex:1}.guest-category{grid-column:1/-1;font-size:21px;margin:12px 0 0;letter-spacing:-.4px}.guest-item button,.guest-quantity button,.guest-secondary{background:var(--kosmo-selected);color:var(--kosmo-brand);border:1px solid var(--kosmo-line);border-radius:8px;padding:11px 14px;font-weight:600;font-size:14px;cursor:pointer}.guest-item button{margin-top:6px}.guest-basket h2,.guest-receipt h2{margin:0 0 8px;font-size:23px;letter-spacing:-.5px}.guest-line{border-bottom:1px solid var(--kosmo-line);padding:15px 0}.guest-quantity{display:flex;align-items:center;gap:12px;margin-top:9px}.guest-quantity button{min-width:44px;min-height:44px}.guest-review{display:flex;align-items:start;gap:10px;font-size:14px;margin:20px 0}.guest-review input{width:20px;height:20px;margin:2px 0;flex-shrink:0}.guest-basket .primary{width:100%;min-height:48px;cursor:pointer}.guest-basket .primary:disabled{opacity:.5;cursor:not-allowed}.guest-muted{color:var(--kosmo-muted);font-size:13px}.guest-error{color:var(--kosmo-error);margin:16px 0}.guest-receipt{margin-bottom:24px;border-left:4px solid var(--kosmo-brand)}.guest-status{color:var(--kosmo-ready);font-weight:650}.customer-link-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;border-top:1px solid var(--kosmo-line);padding:12px 0}.customer-link-row button{margin-left:auto}.customer-result{overflow-wrap:anywhere;padding:14px;background:var(--kosmo-selected);border-radius:8px;margin:15px 0}#customer-link-dialog{max-width:600px}#customer-link-dialog select,#customer-link-dialog input{width:100%}[hidden]{display:none!important}
@media(max-width:760px){.kosmo-suite{padding:12px 16px;gap:9px}.kosmo-suite nav{width:100%;gap:2px}.kosmo-suite nav a{font-size:12px;padding:10px}.kosmo-suite .suite-context{font-size:11px}.guest-shell{padding:25px 16px}.guest-layout{grid-template-columns:1fr}.guest-menu{grid-template-columns:repeat(2,minmax(0,1fr))}.guest-item{padding:15px}.guest-heading h1{font-size:29px}.guest-basket{margin-top:4px}body[data-kosmo-product=ordering] .app-shell{padding:10px}body[data-kosmo-product=ordering] .mobile-app{height:auto;min-height:calc(100vh - 130px);overflow:visible}body[data-kosmo-product=ordering] .app-content{overflow:visible}body[data-kosmo-product=service-board] .shell{padding:12px}}
@media(max-width:390px){.guest-menu{grid-template-columns:1fr}}

html{background:var(--kosmo-canvas);font-family:var(--kosmo-font)}
body[data-kosmo-product=service-board] :is(.table-tile,.expo-ticket,.focus-shell,.detail-panel,.detail-head,.sheet,.reload-panel){background:var(--kosmo-panel);border-radius:var(--kosmo-radius)}
body[data-kosmo-product=ordering] :is(.context-label,.bottom-nav-button strong,.bottom-nav-button span){color:var(--kosmo-muted)}

/* Studio styling for the imported handheld and tablet layouts. */
body[data-kosmo-product=ordering]{--red:var(--kosmo-brand);--red-dark:var(--kosmo-brand-dark);--ink:var(--kosmo-ink);--muted:var(--kosmo-muted);--paper:var(--kosmo-panel);--paper-strong:var(--kosmo-panel);--paper-warm:var(--kosmo-selected);--line:var(--kosmo-line);--line-strong:#aebed3;--soft-red:var(--kosmo-selected);font-family:var(--kosmo-font);overflow:auto}
body[data-kosmo-product=ordering] .app-shell{background:var(--kosmo-canvas);padding:16px;min-height:0}
body[data-kosmo-product=ordering] .device-shell{height:calc(100dvh - 110px);min-height:600px;background:var(--kosmo-panel);border:1px solid var(--kosmo-line);border-radius:16px;box-shadow:var(--shadow)}
body[data-kosmo-product=ordering] .kosmo-brand{display:flex;flex-direction:column;line-height:1.1;color:var(--kosmo-ink)}
body[data-kosmo-product=ordering] .kosmo-brand strong{font-size:29px;letter-spacing:-1.2px}
body[data-kosmo-product=ordering] .kosmo-brand span{font-size:10px;text-transform:uppercase;letter-spacing:1.3px;margin-top:4px}
body[data-kosmo-product=ordering] .torn-divider{background:none;border-bottom:1px solid var(--kosmo-line);height:5px}
body[data-kosmo-product=service-board]{--brand-tomato:var(--kosmo-brand);--surface-panel:var(--kosmo-panel);--surface-page:var(--kosmo-canvas)}
@media(max-width:760px){body[data-kosmo-product=ordering] .app-shell{padding:0}body[data-kosmo-product=ordering] .device-shell{height:calc(100dvh - 132px);min-height:480px;border-radius:0}}

body[data-kosmo-product=ordering] :is(h1,h2,h3,.handheld-task-title){font-family:var(--kosmo-font);letter-spacing:-.6px}

body[data-kosmo-product=ordering] :is(button,.flow-kicker,.guided-context,.basket-chip){font-family:var(--kosmo-font)}
body[data-kosmo-product=ordering] :is(.primary-action,.review-order-action){background:var(--kosmo-brand);box-shadow:none;color:white}
body[data-kosmo-product=service-board] .tab-btn.active{color:var(--kosmo-brand)}
