:root{--bg: #f4f6f9;--surface: #ffffff;--text: #17202e;--muted: #667085;--border: #e3e7ee;--primary: #1d4ed8;--primary-hover: #1e40af;--danger: #c0262d;--ok: #15803d;--warn: #b45309;--sidebar: #0f172a;--sidebar-text: #cbd5e1;--radius: 10px;color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}h1{font-size:1.6rem;margin:0 0 4px}h2{font-size:1.1rem;margin:0 0 12px}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit;color:inherit}button{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:7px 14px;cursor:pointer;white-space:nowrap}button:hover:not(:disabled){border-color:#c3cad6;background:#f8fafc}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}button.primary:hover:not(:disabled){background:var(--primary-hover)}button.danger{color:var(--danger)}.link-button{border:none;background:none;padding:0;color:var(--sidebar-text);text-decoration:underline}.link-button:hover:not(:disabled){background:none;color:#fff}.icon-button{padding:2px 9px;font-size:1.1rem;line-height:1.4}input,select{border:1px solid var(--border);border-radius:8px;padding:7px 10px;background:var(--surface);min-width:0}input:focus,select:focus,button:focus-visible{outline:2px solid #93b4f5;outline-offset:1px}label{display:flex;flex-direction:column;gap:4px;font-weight:500;font-size:.92rem}label.checkbox{flex-direction:row;align-items:flex-start;gap:10px;font-weight:500}label.checkbox input{margin-top:3px}.block{display:block;font-weight:400}label.compact{font-size:.8rem;color:var(--muted)}label.compact input{width:80px}.muted{color:var(--muted)}.small{font-size:.82rem}.mono{font-family:ui-monospace,Cascadia Mono,Menlo,Consolas,monospace;word-break:break-all}.warn{color:var(--warn);font-weight:600}.row{display:flex;gap:8px;align-items:center}.row.wrap{flex-wrap:wrap}.row.spread{justify-content:space-between;margin-bottom:12px}.spacer{flex:1}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.splash{min-height:100vh}.login{min-height:100vh;display:grid;place-items:center;padding:16px;background:linear-gradient(160deg,#0f172a,#1e3a8a)}.login-card{width:min(380px,100%);display:flex;flex-direction:column;gap:16px;padding:32px}.brand{font-weight:800;font-size:1.15rem;letter-spacing:.01em}.brand-large{font-size:1.5rem;text-align:center;margin-bottom:8px}.form-error{color:var(--danger);margin:0}.shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.sidebar{background:var(--sidebar);color:var(--sidebar-text);padding:20px 14px;display:flex;flex-direction:column;gap:20px;position:sticky;top:0;height:100vh}.sidebar .brand{color:#fff;padding:0 10px}.sidebar nav{display:flex;flex-direction:column;gap:2px}.nav-link{color:var(--sidebar-text);padding:9px 10px;border-radius:8px}.nav-link:hover{background:#ffffff0f;text-decoration:none}.nav-link.active{background:#ffffff1f;color:#fff;font-weight:600}.sidebar-footer{margin-top:auto;padding:0 10px;display:flex;flex-direction:column;gap:6px}.user-email{color:#fff;overflow:hidden;text-overflow:ellipsis}.lang-select{padding:3px 6px}.sidebar .lang-select{background:transparent;color:var(--sidebar-text);border-color:#fff3}.main{min-width:0}.topbar{display:flex;justify-content:flex-end;padding:12px 28px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:5}.publish-bar{display:flex;align-items:center;gap:14px}.pending-badge{background:#fef3c7;color:#92400e;padding:4px 10px;border-radius:999px;font-weight:600;font-size:.88rem}.content{padding:24px 28px 48px;max-width:1400px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.page-header p{margin:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;margin-bottom:18px}.empty{padding:28px;text-align:center;color:var(--muted)}.inline-form{display:flex;gap:10px;flex-wrap:wrap}.inline-form input{flex:1 1 200px}.form{display:flex;flex-direction:column;gap:14px}.table-wrap{padding:0;overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:11px 16px;border-bottom:1px solid var(--border);vertical-align:middle}thead th{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600;background:#fafbfc}tbody tr:last-child>*{border-bottom:none}tbody th{font-weight:500;width:40%}td.actions{text-align:right;white-space:nowrap}td.actions button+button{margin-left:6px}.status{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:.88rem}.status:before{content:"";width:9px;height:9px;border-radius:50%}.status-online{color:var(--ok)}.status-online:before{background:var(--ok)}.status-offline{color:var(--danger)}.status-offline:before{background:var(--danger)}.status-warn{color:var(--warn)}.status-warn:before{background:var(--warn)}.badge{display:inline-block;background:#e0e7ff;color:#3730a3;border-radius:999px;padding:1px 8px;font-size:.75rem;font-weight:600;margin-top:4px}.summary-list{margin:0;padding-left:18px}.modal{border:none;border-radius:14px;padding:0;width:min(480px,calc(100vw - 32px));box-shadow:0 24px 60px #0f172a59}.modal-wide{width:min(960px,calc(100vw - 32px))}.modal::backdrop{background:#0f172a80}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h2{margin:0;overflow:hidden;text-overflow:ellipsis}.modal-body{padding:20px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.code-input{font-size:2rem;letter-spacing:.3em;text-align:center;font-family:ui-monospace,Cascadia Mono,Menlo,Consolas,monospace;text-transform:uppercase}.dropzone{border:2px dashed var(--border);border-radius:var(--radius);padding:22px;text-align:center;margin-bottom:18px;background:var(--surface)}.dropzone.dragging{border-color:var(--primary);background:#eff4ff}.upload-row{display:flex;gap:12px;align-items:center;justify-content:center}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}.media-card{display:flex;flex-direction:column;padding:0;overflow:hidden;text-align:left;border-radius:var(--radius);white-space:normal}.media-card-body{padding:8px 10px;width:100%}.thumb{width:100%;aspect-ratio:16 / 9;object-fit:cover;background:#0f172a;display:block}.thumb-placeholder{display:grid;place-items:center;color:#94a3b8;font-size:1.6rem}.preview-media{background:#000;border-radius:8px;overflow:hidden;display:grid;place-items:center}.preview-media img,.preview-media video{max-width:100%;max-height:60vh;display:block}.meta{display:grid;grid-template-columns:max-content 1fr;gap:4px 16px;margin:16px 0 0}.meta dt{color:var(--muted)}.meta dd{margin:0}.title-input{font-size:1.5rem;font-weight:700;border-color:transparent;background:transparent;padding:4px 8px;margin-left:-8px;flex:1}.title-input:hover,.title-input:focus{border-color:var(--border);background:var(--surface)}.editor-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:18px;align-items:start}.slide-list{list-style:none;padding:0;margin:0 0 14px;display:flex;flex-direction:column;gap:10px}.slide-row{display:grid;grid-template-columns:24px 120px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--border);border-radius:var(--radius);padding:10px}.slide-row .thumb{border-radius:6px}.slide-index{color:var(--muted);font-weight:700;text-align:center}.slide-fields{display:flex;flex-direction:column;gap:8px;min-width:0}.slide-actions{display:flex;flex-direction:column;gap:4px}.preview-card{position:sticky;top:80px}.live-preview{position:relative;overflow:hidden;border-radius:8px;background:#000}.live-preview iframe{border:0;position:absolute;left:0;top:0;transform-origin:0 0;pointer-events:none}.toasts{position:fixed;right:20px;bottom:20px;display:flex;flex-direction:column;gap:8px;z-index:100}.toast{padding:12px 16px;border-radius:10px;color:#fff;box-shadow:0 8px 24px #0f172a40;max-width:420px}.toast-ok{background:#14532d}.toast-error{background:#7f1d1d}@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.sidebar nav{flex-direction:row;flex-wrap:wrap}.editor-grid{grid-template-columns:1fr}.content,.topbar{padding-left:16px;padding-right:16px}}.login-logo{height:44px;width:auto;align-self:center;margin:4px 0 8px}.login{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px}.login-footer{min-height:48px}.integrator-line{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:.85rem;color:var(--muted);text-align:center}.integrator-line.on-dark{color:#ffffffbf}.integrator-maintained{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center}.integrator-logo{display:block;max-height:28px;max-width:220px;width:auto;height:auto;object-fit:contain}.integrator-contacts a{color:inherit}.logo-plate{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:6px}.logo-plate-light{background:#ffffffeb}.logo-plate-dark{background:#16181b}.integrator-contacts{font-size:.8rem;opacity:.8}.integrator-line.compact{align-items:flex-start;text-align:left;font-size:.78rem;margin-bottom:10px}.integrator-line.compact .integrator-maintained{justify-content:flex-start}.integrator-line.compact .integrator-logo{max-height:20px;max-width:160px}.sidebar-logo{height:28px;width:auto;align-self:flex-start;margin:0 10px}.topbar{justify-content:space-between;align-items:center;border-bottom:3px solid var(--client-accent, var(--border))}.topbar-client{display:flex;align-items:center;min-height:36px}.topbar .client-logo{display:block;max-height:36px;height:auto;width:auto;max-width:220px;object-fit:contain}.topbar .client-name{font-weight:700;font-size:1.1rem}.branding-page{padding-bottom:24px}.branding-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,420px);gap:18px;align-items:start}.branding-forms,.branding-previews{display:flex;flex-direction:column;gap:18px;min-width:0}.branding-forms .card,.branding-previews .card{margin:0}.branding-previews{position:sticky;top:80px}.brand-card h2{margin-bottom:2px}.form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px 18px;margin:16px 0 20px;align-items:start}.form-grid input:not([type=checkbox]):not([type=radio]):not([type=color]){width:100%}.form-grid input[aria-invalid=true]{border-color:var(--danger)}.field-error,.field-hint{font-size:.8rem;font-weight:400}.field-error{color:var(--danger)}.field-hint{color:var(--muted)}.field-warning{margin:0;padding:6px 10px;border-radius:6px;background:#fef3c7;color:#92400e;font-size:.82rem}.accent-field{display:flex;flex-direction:column;gap:8px;padding-top:22px}label.grow{flex:1 1 200px}.logo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,576px),1fr));gap:20px 24px;border-top:1px solid var(--border);padding-top:16px;margin-bottom:8px}.logo-field{display:flex;flex-direction:column;gap:8px;min-width:0}.logo-field-label{font-weight:600;font-size:.92rem}.logo-tiles{display:flex;gap:8px}.logo-tile{position:relative;box-sizing:border-box;flex:1 1 0;min-width:0;max-width:280px;height:112px;padding:16px;border-radius:8px;border:1px solid var(--border);overflow:hidden;display:flex;align-items:center;justify-content:center;background-size:16px 16px;background-position:0 0,8px 8px}.logo-tile img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.logo-tile-light{background-color:#f7f5f0;background-image:linear-gradient(45deg,#ebe7df 25%,transparent 25%,transparent 75%,#ebe7df 75%),linear-gradient(45deg,#ebe7df 25%,transparent 25%,transparent 75%,#ebe7df 75%)}.logo-tile-dark{background-color:#16181b;background-image:linear-gradient(45deg,#222529 25%,transparent 25%,transparent 75%,#222529 75%),linear-gradient(45deg,#222529 25%,transparent 25%,transparent 75%,#222529 75%)}.logo-tile-empty{font-size:.78rem;text-align:center;color:var(--muted)}.logo-tile-dark .logo-tile-empty{color:#9ca3af}.logo-tile-tag{position:absolute;left:6px;bottom:4px;font-size:.66rem;letter-spacing:.02em;color:#6b7280;pointer-events:none}.logo-tile-dark .logo-tile-tag{color:#8b929b}.logo-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-height:34px}.logo-actions .muted{margin-left:auto}.action-bar{position:sticky;bottom:0;z-index:6;display:flex;align-items:center;gap:10px;margin-top:18px;padding:12px 16px;background:var(--surface, #fff);border:1px solid var(--border);border-radius:10px;box-shadow:0 -4px 16px #0f172a14}.action-bar.dirty{border-color:#f59e0b}.hex-input{width:110px;font-family:ui-monospace,Cascadia Mono,Menlo,Consolas,monospace}.login-preview{height:300px;overflow:hidden;border-radius:8px;position:relative}.login-preview-inner{transform:scale(.55);transform-origin:top left;width:calc(100% / .55);height:calc(300px / .55);pointer-events:none}.login-preview-surface{min-height:100%;height:100%}@media(max-width:1280px){.branding-layout{grid-template-columns:minmax(0,1fr)}.branding-previews{position:static}}@media(max-width:900px){.form-grid{grid-template-columns:minmax(0,1fr)}.accent-field{padding-top:0}.action-bar{flex-wrap:wrap}}@media(max-width:600px){.topbar .client-logo{max-height:28px;max-width:130px}}.tabular,.price-input,.price-field{font-variant-numeric:tabular-nums}.catalogue-actions{justify-content:flex-end}.prices-bar{position:sticky;top:64px;z-index:4;display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:16px;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.prices-bar.dirty{border-color:#f59e0b;box-shadow:0 4px 14px #f59e0b1f}.sold-out-count{color:var(--danger);font-weight:600;font-size:.88rem}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:14px}.tab{border:none;border-bottom:2px solid transparent;border-radius:0;background:none;padding:8px 14px;font-weight:600;color:var(--muted)}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:14px}.toolbar .search{flex:1 1 260px;max-width:380px}.category-card{transition:box-shadow .15s}.category-card.drop-target{box-shadow:0 0 0 2px var(--primary)}.category-header{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border)}.category-header h2{margin:0;font-size:1.05rem}.category-header .badge{margin-top:0}.alt-name{margin-left:10px;font-weight:500;color:var(--muted);unicode-bidi:isolate}.drag-handle{cursor:grab;color:#98a2b3;font-size:1.1rem;line-height:1;padding:2px 4px;-webkit-user-select:none;user-select:none}.drag-handle:active{cursor:grabbing}.catalogue-table td{padding-top:9px;padding-bottom:9px}.catalogue-table .col-handle{width:28px;padding-right:0}.catalogue-table:not(.combo-table){table-layout:fixed}.catalogue-table .col-unit{width:96px}.catalogue-table .col-price{width:230px;white-space:nowrap}.catalogue-table .col-status{width:160px}.catalogue-table .col-actions{width:290px}.combo-table .col-price{width:1%}.catalogue-table tr.drop-before>td{box-shadow:inset 0 2px 0 var(--primary)}.catalogue-table tr.is-sold-out .product-name,.catalogue-table tr.is-sold-out .col-price{opacity:.5}.product-name{font-weight:600}.tags{margin-top:4px;gap:6px}.price-field{display:inline-flex;align-items:center;gap:6px}.price-unit{color:var(--muted);font-size:.85rem}.price-input{width:96px;text-align:right;font-weight:600}.price-input.wide{width:100%}.price-field.invalid input{border-color:var(--danger);background:#fef2f2}.size-prices{display:flex;flex-direction:column;gap:4px}.size-price{display:flex;align-items:center;justify-content:flex-end;gap:8px}.switch{flex-direction:row;align-items:center;gap:8px;cursor:pointer;position:relative}.switch input{position:absolute;opacity:0;width:36px;height:20px;margin:0;cursor:pointer}.switch-track{flex:none;width:36px;height:20px;border-radius:999px;background:#cbd5e1;position:relative;transition:background .15s}.switch-track:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform .15s}.switch input:checked+.switch-track{background:var(--ok)}.switch input:checked+.switch-track:after{transform:translate(16px)}.switch input:focus-visible+.switch-track{outline:2px solid #93b4f5;outline-offset:2px}.switch-label{font-size:.85rem;font-weight:600;color:var(--ok)}.switch-label.sold-out-label{color:var(--danger)}.chip-list{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.chip{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--border);border-radius:999px;padding:3px 11px;font-size:.82rem;background:var(--surface);color:inherit}.chip.active{background:#e0e7ff;border-color:#a5b4fc;color:#3730a3;font-weight:600}.small-chip{padding:0 8px;font-size:.74rem}.chip-error{background:#fef2f2;border-color:#fecaca;color:var(--danger);font-weight:600}.chip-remove{border:none;background:none;padding:0 0 0 2px;font-size:1rem;line-height:1;color:var(--muted)}.field-label{font-weight:500;font-size:.92rem;margin-bottom:4px}.fieldset{border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px 14px;margin:0}.fieldset legend{font-weight:600;font-size:.9rem;padding:0 6px}.size-row{margin-bottom:8px}.size-row>input{flex:1 1 140px}.allergen-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px 14px}.slot-products{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px 16px;margin-top:10px}.image-picker{display:flex;align-items:center;gap:12px}.image-picker-preview{width:112px;height:63px;border-radius:8px;border:1px solid var(--border);background:#f8fafc;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:none}.image-picker-preview img{width:100%;height:100%;object-fit:cover}.file-drop{position:relative;flex-direction:row;align-items:center;gap:12px;padding:18px;border:2px dashed var(--border);border-radius:var(--radius);background:#f8fafc;cursor:pointer}.import-result{margin-top:16px}.import-table{max-height:46vh;overflow:auto;border:1px solid var(--border);border-radius:8px;margin-top:10px}.import-table td,.import-table th{padding:7px 10px}tr.row-error>td{background:#fef2f2}.action-badge{display:inline-block;padding:1px 8px;border-radius:999px;font-size:.75rem;font-weight:600;background:#f1f5f9}.action-create{background:#dcfce7;color:#166534}.action-update{background:#e0e7ff;color:#3730a3}.action-error{background:#fee2e2;color:var(--danger)}.ok-text{color:var(--ok);font-weight:600}.profile-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:10px 0 8px}.profile-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;text-align:left;white-space:normal;border-radius:var(--radius)}.profile-card.active{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary);background:#eff4ff}.profile-code{font-weight:700}.profile-example{font-size:1.5rem;font-weight:800}.checkbox-stack{display:flex;flex-direction:column;gap:12px;padding-top:22px}.format-preview{display:flex;flex-wrap:wrap;gap:12px 32px;padding:14px 16px;margin-bottom:14px;border-radius:var(--radius);background:#0f172a;color:#f8fafc}.format-preview>div{display:flex;flex-direction:column;gap:2px}.format-preview .muted{color:#94a3b8}.format-preview strong{font-size:1.25rem}.allergen-toggle{margin:16px 0}.menu-slide-row .slide-fields{gap:8px}.menu-thumb{background:#101318;color:#e8b44c}.grow-input{flex:1 1 200px}.compact-checkbox{align-self:flex-end;font-size:.85rem}@media(max-width:900px){.prices-bar{top:0}.checkbox-stack{padding-top:0}}.file-drop input[type=file]{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.file-drop-button{border:1px solid var(--border);border-radius:8px;padding:6px 12px;background:var(--surface);font-weight:600}.theme-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:12px 0 4px}.theme-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:10px;text-align:left;white-space:normal;border-radius:var(--radius)}.theme-card.active{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary);background:#eff4ff}.theme-swatch{position:relative;width:100%;height:56px;border-radius:6px;display:flex;align-items:center;padding:0 12px;box-sizing:border-box;font-size:1.6rem;box-shadow:inset 0 0 0 1px #00000014}.theme-swatch-accent{position:absolute;right:10px;bottom:10px;width:22px;height:22px;border-radius:999px}.theme-name{font-weight:700}.theme-bg-thumb{width:96px;height:54px;object-fit:cover;border-radius:6px;border:1px solid var(--border)}.contrast-panel{border-top:1px solid var(--border);padding-top:14px}.contrast-swatches{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px}.contrast-chip{padding:6px 14px;border-radius:999px;font-weight:600;font-size:.9rem;box-shadow:inset 0 0 0 1px #00000014}.field-warning ul{margin:4px 0 0;padding-left:18px}.preview-controls{margin-bottom:10px}.template-preview{margin:0 auto}.ticker-editor{margin:14px 0 0;padding:14px 0 0;border:none;border-top:1px solid var(--border);border-radius:0;display:flex;flex-direction:column;gap:10px}.ticker-message>input{flex:1 1 260px}.add-template{font-weight:600}.grow-select select{max-width:280px}.grow-field{flex:1 1 260px}.grow-field input{width:100%}.icon-button.active{background:#e0e7ff;border-color:#a5b4fc;color:#3730a3}.menu-slide-row label.compact input:not([type=number]):not([type=checkbox]){width:220px}.menu-slide-row label.grow-field input{width:100%}button.primary.flash-button{background:#c2410c;border-color:#c2410c}button.primary.flash-button:hover:not(:disabled){background:#9a3412}.badge.flash-badge{margin:0 0 0 8px;background:#ffedd5;color:#9a3412}.promotions-table td{vertical-align:top}.choice-list{margin-top:8px;max-height:180px;overflow-y:auto}.recurrence-row{margin-top:8px;align-items:flex-end}.preview-controls{margin:8px 0 16px;align-items:flex-end}td.promo-price{color:#c2410c;font-weight:700}.week-grid{position:relative;display:grid;grid-template-columns:52px repeat(7,minmax(0,1fr));gap:0 6px;overflow-x:auto}.week-hours{position:relative}.week-hours span{position:absolute;right:4px;transform:translateY(-50%);font-size:.72rem;color:var(--muted)}.week-day-name{height:28px;text-align:center;font-weight:600;font-size:.85rem}.week-day-body{position:relative;border-radius:6px;background:repeating-linear-gradient(to bottom,#f8fafc 0,#f8fafc 65px,var(--border) 65px,var(--border) 66px);border:1px solid var(--border)}.week-block{position:absolute;left:3px;right:3px;display:flex;flex-direction:column;overflow:hidden;padding:2px 6px;border-radius:5px;font-size:.72rem;line-height:1.25;color:#fff}.week-block.live{box-shadow:0 0 0 2px #fbbf24}.week-color-0{background:#c2410c}.week-color-1{background:#1d4ed8}.week-color-2{background:#15803d}.week-color-3{background:#7c3aed}.modal .row label.checkbox{white-space:nowrap}.segmented{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.segmented button{border:none;border-radius:0;background:var(--surface);padding:7px 14px;font-weight:600;color:var(--muted)}.segmented button+button{border-left:1px solid var(--border)}.segmented button.active{background:var(--primary);color:#fff}.preview-source-note{margin:0 0 14px}button.primary.urgent-button{background:var(--danger);border-color:var(--danger)}button.primary.urgent-button:hover:not(:disabled){background:#9f1d23}.type-chip{display:inline-block;padding:1px 8px;border-radius:999px;font-size:.78rem;font-weight:600;background:#e0e7ff;color:#3730a3}.type-chip.type-campaign{background:#dcfce7;color:#166534}.type-chip.type-takeover{background:#fee2e2;color:#991b1b}.schedule-table td{vertical-align:top}.timeline-head{margin-bottom:4px}.timeline-head h2{margin:0}.compact-select{flex-direction:row;align-items:center;gap:8px}.timeline-grid{position:relative;display:grid;grid-template-columns:52px repeat(7,minmax(0,1fr));gap:0 6px;margin-top:8px;overflow-x:auto}.week-day.today .week-day-name{color:var(--primary)}.timeline-block{position:absolute;left:2px;right:2px;display:flex;flex-direction:column;overflow:hidden;padding:2px 6px;border-radius:4px;font-size:.72rem;line-height:1.25;color:#fff;border-top:1px solid rgba(255,255,255,.6)}.timeline-block.timeline-default{opacity:.55}.timeline-block.timeline-takeover{box-shadow:inset 0 0 0 2px #fff}.timeline-block.conflict{background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.35) 0 6px,transparent 6px 12px)!important;outline:2px solid var(--danger);outline-offset:-2px}.timeline-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:12px;font-size:.85rem}.timeline-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-1px}.conflict-list{margin-top:12px}.conflict-list ul,.publish-checks ul{margin:6px 0 0;padding-left:18px}.daypart-presets{margin-bottom:10px}.restored-note{font-weight:600;font-size:.85rem;margin-bottom:2px}.publish-checks{margin-top:14px}.page-header .header-actions{flex:none}.profile-change{margin-top:6px;font-weight:600;font-size:.82rem;color:var(--primary)}.tz-field{max-width:420px;margin:10px 0}.change-examples{margin:8px 0 14px;padding-left:18px;font-size:1.1rem}button.primary.danger-fill{background:var(--danger);border-color:var(--danger)}.review-flag{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;background:#fef3c7;color:#92400e;font-size:.75rem;font-weight:600}.badge-alts{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:flex-end;margin:10px 0}.badge-alts p{flex-basis:100%;margin:0}.badge-alt input{width:200px}.two-factor,.two-factor-enrol{display:flex;flex-direction:column;gap:12px}.enrol-card{width:min(560px,calc(100vw - 32px))}.enrol-steps{margin:0;padding-left:20px}.enrol-qr{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.enrol-qr img{background:#fff;border:1px solid var(--border);border-radius:8px;padding:6px}.enrol-qr .secret{display:block;margin-top:4px;font-size:1rem;letter-spacing:.04em;word-break:break-all}.recovery-codes{display:flex;flex-direction:column;gap:12px}.recovery-codes .codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 24px;margin:0;padding:12px 16px;list-style:none;background:var(--bg);border-radius:8px;font-size:1.05rem}a.button{display:inline-flex;align-items:center;padding:7px 14px;border:1px solid var(--border);border-radius:8px;color:var(--text);text-decoration:none;background:var(--surface)}.sidebar-footer a.user-email{color:inherit;text-decoration:none}.sidebar-footer a.user-email:hover{text-decoration:underline}.field{display:flex;flex-direction:column;gap:2px}.attach-list{display:flex;flex-direction:column;max-height:260px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius)}label.attach-option{display:flex;flex-direction:row;align-items:flex-start;gap:10px;padding:8px 12px;cursor:pointer}label.attach-option+label.attach-option{border-top:1px solid var(--border)}label.attach-option input{margin-top:3px}label.attach-option:hover{background:var(--bg)}:root{--tap: 44px;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--bottom-bar-h: 0px;--focus: #2563eb}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}.splash,.login,.shell{min-height:100vh;min-height:100dvh}.sidebar{height:100vh;height:100dvh}a,button,select,input,textarea,label,summary,[role=button]{touch-action:manipulation}.price-field,.price-field input,.price-input,.col-price,.size-price,.money,.amount{font-variant-numeric:tabular-nums}a:focus-visible,summary:focus-visible,[tabindex]:focus-visible,textarea:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}.sidebar a:focus-visible,.sidebar button:focus-visible,.sidebar select:focus-visible{outline-color:#fff}.switch:focus-within .switch-track{outline:2px solid var(--focus);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.menu-button,.topbar-title,.sidebar-close{display:none}.menu-button{align-items:center;justify-content:center;flex:none}.menu-icon,.menu-icon:before,.menu-icon:after{display:block;width:18px;height:2px;border-radius:2px;background:currentColor}.menu-icon{position:relative}.menu-icon:before,.menu-icon:after{content:"";position:absolute;left:0}.menu-icon:before{top:-6px}.menu-icon:after{top:6px}.topbar{align-items:center;gap:12px}.topbar-client{min-width:0}.publish-bar{margin-left:auto}@media(min-width:1024px)and (max-width:1279px){.menu-button{display:inline-flex}.shell.sidebar-collapsed{grid-template-columns:minmax(0,1fr)}.shell.sidebar-collapsed .sidebar{display:none}}@media(max-width:1023px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;top:0;bottom:0;left:0;width:min(320px,86vw);z-index:60;overflow-y:auto;overscroll-behavior:contain;padding:calc(16px + var(--safe-top)) 14px calc(16px + var(--safe-bottom)) calc(14px + var(--safe-left));transform:translate(-105%);visibility:hidden;transition:transform .2s ease,visibility .2s;box-shadow:0 0 40px #0f172a73}.shell.nav-open .sidebar{transform:none;visibility:visible}.sidebar nav{flex-direction:column;flex-wrap:nowrap}.sidebar-close{display:inline-flex;color:var(--sidebar-text);background:transparent;border-color:#fff3}.sidebar-close:hover:not(:disabled){background:#ffffff14;border-color:#ffffff59}.sidebar-backdrop{position:fixed;inset:0;z-index:55;background:#0f172a73}.menu-button{display:inline-flex}.topbar-title{display:block;flex:1;min-width:0;font-weight:700;font-size:1.05rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar{padding:calc(8px + var(--safe-top)) calc(16px + var(--safe-right)) 8px calc(16px + var(--safe-left))}.topbar-client .client-logo{max-height:30px;max-width:120px}.content{padding-left:calc(16px + var(--safe-left));padding-right:calc(16px + var(--safe-right))}}@media(pointer:coarse),(max-width:1023px){button,select,textarea,summary,.file-drop-button,input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]){min-height:var(--tap)}input,select,textarea{font-size:16px}input[type=color]{min-width:var(--tap);min-height:var(--tap)}.icon-button{min-width:var(--tap);min-height:var(--tap);display:inline-flex;align-items:center;justify-content:center}button{min-width:var(--tap)}.chip,.chip-remove{min-height:var(--tap);min-width:var(--tap);display:inline-flex;align-items:center;justify-content:center}table a,.integrator-line a,a.user-email,.card>a,.back-link{display:inline-flex;align-items:center;min-height:var(--tap)}table.rtable .cell-key a{display:flex}a.button{min-height:var(--tap);display:inline-flex;align-items:center;justify-content:center}.nav-link{min-height:var(--tap);display:flex;align-items:center}.link-button{min-height:var(--tap);display:inline-flex;align-items:center;padding:0 4px}label.checkbox,label.switch{min-height:var(--tap);align-items:center}label.checkbox input{margin-top:0}input[type=checkbox],input[type=radio]{width:22px;height:22px;flex:none}.lang-select{padding:6px 8px}td.actions button+button{margin-left:8px}.row,.toolbar,.modal-actions{gap:8px}}dialog.modal[open]{display:flex;flex-direction:column;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:hidden}dialog.modal .modal-body{overflow-y:auto;overscroll-behavior:contain;min-height:0}dialog.modal .modal-header{flex:none}.table-wrap.overflowing{background:linear-gradient(to left,rgba(15,23,42,.14),transparent) right / 28px 100% no-repeat,var(--surface)}.table-wrap.overflowing.at-end{background:var(--surface)}.scroll-hint{display:none}.table-wrap.overflowing+.scroll-hint,.overflowing>.scroll-hint{display:block}.clamp-2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:anywhere}.clamp-2.expanded{display:block;-webkit-line-clamp:unset;line-clamp:unset}button.name-button{border:none;background:none;padding:0;font:inherit;color:inherit;text-align:left;white-space:normal;min-height:0;cursor:pointer}button.name-button:hover:not(:disabled){background:none}.cell-stack{display:flex;flex-direction:column;gap:2px;min-width:0}.move-buttons{display:inline-flex;gap:4px}@media(max-width:767px){:root{font-size:16px;--bottom-bar-h: calc(68px + var(--safe-bottom))}h1{font-size:1.4rem}h2{font-size:1.08rem}.small{font-size:.86rem}.topbar-client{display:none}.publish-bar{position:fixed;left:0;right:0;bottom:0;z-index:30;margin:0;justify-content:space-between;gap:12px;padding:12px calc(16px + var(--safe-right)) calc(12px + var(--safe-bottom)) calc(16px + var(--safe-left));background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -6px 18px #0f172a14}.publish-bar>span{min-width:0}.publish-bar button.primary{flex:none;min-width:120px}.content{padding-top:16px;padding-bottom:calc(var(--bottom-bar-h) + 32px)}.toasts{left:calc(12px + var(--safe-left));right:calc(12px + var(--safe-right));bottom:calc(var(--bottom-bar-h) + 12px)}.toast{max-width:none}.page-header{flex-direction:column;align-items:stretch;gap:12px}.page-header>*{min-width:0}.page-header .row,.page-header .header-actions,.toolbar,.inline-form,.row.spread{flex-wrap:wrap}.page-header .row>button,.page-header .header-actions>button,.page-header>button{flex:1 1 auto}.toolbar>input,.toolbar>select,.toolbar .search{flex:1 1 100%;width:100%}.toolbar .spacer{display:none}.toolbar>button{flex:1 1 auto}.card{padding:14px}table.rtable,table.rtable>tbody,table.rtable>tbody>tr,table.rtable>tbody>tr>td,table.rtable>tbody>tr>th{display:block;width:100%}table.rtable>thead{display:none}table.rtable>tbody>tr{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border-bottom:1px solid var(--border)}table.rtable>tbody>tr:last-child{border-bottom:none}table.rtable>tbody>tr>td,table.rtable>tbody>tr>th{display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr);align-items:center;column-gap:12px;row-gap:2px;padding:0;border:none;min-width:0;text-align:right;justify-items:end}table.rtable>tbody>tr>td>*,table.rtable>tbody>tr>th>*{grid-column:2;min-width:0}table.rtable>tbody>tr>td[data-label]:not([data-label=""]):before,table.rtable>tbody>tr>th[data-label]:not([data-label=""]):before{content:attr(data-label);grid-column:1;grid-row:1 / span 6;justify-self:start;text-align:left;max-width:40vw;color:var(--muted);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}table.rtable>tbody>tr>td>:only-child{min-width:0}table.rtable .cell-key,table.rtable td.actions,table.rtable td:not([data-label]),table.rtable td[data-label=""],table.rtable th:not([data-label]){grid-template-columns:minmax(0,1fr);justify-items:stretch;text-align:left}table.rtable .cell-key>*,table.rtable td.actions>*,table.rtable td:not([data-label])>*,table.rtable td[data-label=""]>*,table.rtable th:not([data-label])>*{grid-column:1}table.rtable .cell-key{order:-2;font-size:1.02rem}table.rtable .cell-key:before,table.rtable td.actions:before,table.rtable .cell-nolabel:before{display:none}table.rtable .cell-first{order:-1}table.rtable td.actions{display:flex;flex-wrap:wrap;gap:8px;white-space:normal;padding-top:4px}table.rtable td.actions button{flex:1 1 auto}table.rtable td.actions button+button{margin-left:0}table.rtable td:empty,table.rtable .cell-handle{display:none}.table-wrap:has(>table.rtable){overflow-x:visible}dialog.modal[open],dialog.modal.modal-wide[open]{width:100%;max-width:100%;height:100%;max-height:100%;max-height:100dvh;margin:0;border-radius:0}dialog.modal .modal-header{padding:calc(10px + var(--safe-top)) calc(12px + var(--safe-right)) 10px calc(16px + var(--safe-left))}dialog.modal .modal-body{flex:1;padding:16px calc(16px + var(--safe-right)) 0 calc(16px + var(--safe-left))}dialog.modal .modal-actions{position:sticky;bottom:0;z-index:2;flex-wrap:wrap;margin:20px calc(-16px - var(--safe-right)) 0 calc(-16px - var(--safe-left));padding:12px calc(16px + var(--safe-right)) calc(12px + var(--safe-bottom)) calc(16px + var(--safe-left));background:var(--surface);border-top:1px solid var(--border)}dialog.modal .modal-actions>button{flex:1 1 auto}.form-grid,.two-columns,.grid-2{grid-template-columns:minmax(0,1fr)!important}}@media(pointer:coarse),(max-width:767px){.drag-handle{display:none}}@media(max-width:1023px){.editor-grid{grid-template-columns:minmax(0,1fr)}.preview-card{position:static}}@media(max-width:767px){.editor .page-header .title-input{width:100%;font-size:1.3rem}.slide-row{grid-template-columns:24px 88px minmax(0,1fr);gap:10px}.slide-row>.slide-actions{grid-column:1 / -1;flex-direction:row;flex-wrap:wrap;justify-content:flex-end;gap:8px}.slide-fields .row{flex-wrap:wrap}.slide-row label.compact{flex:1 1 120px}.slide-row label.compact input,.slide-row label.compact select,.menu-slide-row label.compact input:not([type=number]):not([type=checkbox]){width:100%}}@supports (font: -apple-system-body){@media(max-width:767px){:root{font:-apple-system-body;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}}}.sidebar .muted{color:#94a3b8}@media(max-width:1023px){:root{--topbar-h: calc(61px + var(--safe-top))}.prices-bar{top:var(--topbar-h)}}@media(min-width:768px)and (max-width:1279px){.catalogue-table:not(.combo-table){min-width:980px}.catalogue-table .col-actions{width:250px}.catalogue-table td.actions{white-space:normal}.catalogue-table td.actions>*{margin:4px 0 4px 8px}.catalogue-table td.actions button+button{margin-left:8px}}@media(max-width:767px){.row{flex-wrap:wrap}.row>.muted,.row>span:not(.spacer){min-width:0}}@media(pointer:coarse),(max-width:1023px){.icon-button{flex:none}}@media(max-width:767px){table.rtable td.actions .icon-button,table.rtable td.actions .move-buttons{flex:0 0 auto}table.rtable td.actions .icon-button{width:var(--tap);min-width:var(--tap)}}.link-button{color:var(--primary)}.link-button:hover:not(:disabled){color:var(--primary)}.sidebar .link-button,.sidebar .link-button:hover:not(:disabled){color:var(--sidebar-text)}@media(hover:hover){.link-button:hover:not(:disabled){color:var(--primary-hover)}.sidebar .link-button:hover:not(:disabled){color:#fff}}@media(max-width:767px){dialog.modal .modal-body{display:flex;flex-direction:column}dialog.modal .modal-body>form,dialog.modal .modal-body>.form{flex:1 0 auto;display:flex;flex-direction:column}dialog.modal .modal-actions{margin-top:auto}dialog.modal .modal-body>.modal-actions:first-child,dialog.modal form>.modal-actions:first-child{margin-top:0}}
