:root{--bg: #f4f6f8;--panel: #ffffff;--border: #e2e6ea;--text: #1c2733;--muted: #6b7785;--brand: #e8552d;--brand-dark: #c8431f;--ok: #1f9d55;--warn: #b7791f;--danger: #d64545;--radius: 8px}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg);font-size:14px}a{color:var(--brand);text-decoration:none}button{font:inherit;cursor:pointer;border:1px solid var(--brand);background:var(--brand);color:#fff;padding:.5rem .9rem;border-radius:var(--radius)}button.secondary{background:#fff;color:var(--text);border-color:var(--border)}button.danger{background:var(--danger);border-color:var(--danger)}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{font:inherit;padding:.5rem;border:1px solid var(--border);border-radius:var(--radius);background:#fff;width:100%}textarea{resize:vertical}label{display:block;margin-bottom:.75rem}label span{display:block;margin-bottom:.25rem;color:var(--muted);font-size:.85rem}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.section{margin-bottom:1.25rem}.section h3{margin-top:0}.error{color:var(--danger);margin:.5rem 0}.muted{color:var(--muted)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.6rem .75rem;border-bottom:1px solid var(--border);vertical-align:middle}th{color:var(--muted);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}.badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.75rem;background:#eef1f4;color:var(--muted)}.badge.ok{background:#e3f5ea;color:var(--ok)}.badge.warn{background:#fdf3e0;color:var(--warn)}.badge.danger-badge{background:#fbe4e4;color:var(--danger)}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:1rem}.login-card{width:100%;max-width:360px}.login-card h1{margin:0 0 .25rem;color:var(--brand)}.shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.sidebar{background:#1c2733;color:#cdd5de;padding:1rem;display:flex;flex-direction:column;gap:.25rem}.sidebar .brand{color:#fff;font-weight:700;font-size:1.1rem;margin-bottom:1rem}.sidebar .brand-sub{font-weight:400;font-size:.75rem;color:#8b97a4}.sidebar a{color:#cdd5de;padding:.5rem .6rem;border-radius:var(--radius)}.sidebar a.active{background:#ffffff1a;color:#fff}.sidebar .spacer{flex:1}.obj-switch{margin-bottom:1rem}.obj-switch span{color:#8b97a4}.obj-single{color:#fff;font-weight:600;padding:.4rem .6rem;background:#ffffff14;border-radius:var(--radius);margin-bottom:1rem}.content{padding:1.5rem 2rem;overflow:auto}.content h2{margin-top:0}.row{display:flex;gap:.75rem;align-items:flex-end;flex-wrap:wrap}.toolbar{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 1rem}.toggle{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.toggle input{width:auto}.toggle span{margin:0;color:var(--text);font-size:.95rem}.logo-box{display:flex;flex-direction:column;align-items:center;gap:.5rem}.logo-box img{width:96px;height:96px;object-fit:cover;border-radius:var(--radius);border:1px solid var(--border);background:#fff}.logo-placeholder{width:96px;height:96px;display:grid;place-items:center;border:1px dashed var(--border);border-radius:var(--radius);font-size:.8rem}.upload-btn{margin:0;cursor:pointer;font-size:.8rem;color:var(--brand)}.thumb{width:42px;height:42px;object-fit:cover;border-radius:6px;border:1px solid var(--border);display:block}.thumb-empty{background:#eef1f4}.sep{border:none;border-top:1px solid var(--border);margin:1.25rem 0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c273380;display:grid;place-items:start center;padding:2rem 1rem;overflow:auto;z-index:50}.modal{background:var(--panel);border-radius:var(--radius);padding:1.25rem 1.5rem;width:100%;max-width:640px}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.modal-head h3{margin:0}.allergen-box{border:1px solid var(--border);border-radius:var(--radius);padding:.75rem;margin-bottom:.75rem}.allergen-box legend{color:var(--muted);font-size:.85rem;padding:0 .35rem}.allergen-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.15rem .75rem}.allergen-grid .toggle{margin-bottom:.2rem}.allergen-grid .toggle span{font-size:.85rem}.shift-gate{max-width:520px;margin:3rem auto;text-align:center}.shift-btn{font-size:1.3rem;padding:1rem 2rem;margin-top:1rem;background:var(--ok);border-color:var(--ok)}.board-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.live-dot{display:inline-block;width:10px;height:10px;border-radius:999px;background:var(--ok);animation:pulse 1.2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.columns{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;align-items:start}@media (max-width: 900px){.columns{grid-template-columns:1fr}}.col{background:#eef1f4;border-radius:var(--radius);overflow:hidden}.col-head{padding:.6rem .9rem;font-weight:700;font-size:.85rem;letter-spacing:.04em;color:#fff}.col-new .col-head{background:var(--brand)}.col-active .col-head{background:#2c6bed}.col-done .col-head{background:#5b6b7a}.col-count{float:right;opacity:.9}.col-body{padding:.6rem;display:flex;flex-direction:column;gap:.6rem;min-height:40px}.col-new .col-body .order-card{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.order-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:.7rem}.order-top{display:flex;align-items:center;gap:.4rem;margin-bottom:.5rem}.order-no{font-weight:800;font-size:1.05rem}.order-total{margin-left:auto;font-weight:700}.chip{font-size:.72rem;padding:.1rem .45rem;border-radius:999px;background:#eef1f4;color:var(--muted)}.chip-del{background:#e5efff;color:#2c6bed}.chip-pick{background:#fdf3e0;color:var(--warn)}.chip-stuck{background:#fde8e8;color:#c0392b;font-weight:700}.order-lines{list-style:none;margin:0 0 .5rem;padding:0}.order-lines li{display:flex;justify-content:space-between;gap:.5rem;padding:.15rem 0;font-size:.9rem}.order-meta{font-size:.85rem;color:var(--text);display:flex;flex-direction:column;gap:.15rem;border-top:1px dashed var(--border);padding-top:.5rem}.cancel-req{color:var(--danger);font-weight:600}.sub-note{margin-top:.5rem;padding:.35rem .55rem;border-radius:var(--radius);background:#fdf3e0;color:var(--warn);font-size:.8rem;font-weight:600}.actions{margin-top:.6rem}.preset-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.4rem}.preset-row button{flex:1;min-width:64px}.reason-form{margin-top:.6rem;display:flex;flex-direction:column;gap:.4rem}.print-btn{margin-top:.6rem;width:100%;background:#fff;color:var(--muted);border-color:var(--border);font-size:.85rem}.opt-row{display:flex;align-items:center;gap:.75rem;padding:.3rem 0}.opt-row>span:first-child{flex:1}.opt-row button{padding:.2rem .55rem}.matrix{border-collapse:collapse;width:100%}.matrix th,.matrix td{padding:.45rem .6rem;border-bottom:1px solid var(--border, #e5e7eb)}.matrix th{font-weight:600;font-size:.85rem;text-align:center}.matrix td:first-child{text-align:left}.small{font-size:.8rem}.recipient-row{display:flex;gap:.6rem;align-items:center;margin:.35rem 0}.recipient-row input:not([type=checkbox]){flex:1;min-width:0}.recipient-row .toggle{white-space:nowrap;margin:0}.failsafe-banner{display:flex;gap:1rem;align-items:center;justify-content:space-between;background:#fef2f2;border:2px solid #dc2626;color:#7f1d1d;border-radius:10px;padding:.9rem 1.1rem;margin-bottom:1rem}.failsafe-banner button{background:#dc2626;white-space:nowrap;font-size:1.05rem}.failsafe-banner.review{background:#fffbeb;border-color:#d97706;color:#78350f}.badge-new-user{background:#e0f2fe;color:#075985;border-radius:999px;padding:.1rem .55rem;font-size:.75rem;font-weight:600}.rating-list{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1rem}.rating-item.dim{opacity:.55}.rating-scores{display:flex;gap:1rem;flex-wrap:wrap;color:#b45309;font-size:.9rem}.issue-photo{max-width:320px;max-height:240px;border-radius:8px;display:block;margin-top:.4rem}.impersonation-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:#1e1b4b;color:#e0e7ff;border-radius:10px;padding:.7rem 1rem;margin-bottom:1rem}.impersonation-bar button{background:#e0e7ff;color:#1e1b4b}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.8rem;margin:1rem 0}.bars{display:flex;align-items:flex-end;gap:3px;height:160px;padding-bottom:1.2rem}.bars.short{height:120px}.bar-col{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;position:relative;min-width:0}.bar{width:100%;background:#e8552d;border-radius:3px 3px 0 0;min-height:1px}.bar-label{position:absolute;bottom:-1.2rem;font-size:.65rem;color:#6b7280;white-space:nowrap}.funnel{display:flex;flex-direction:column;gap:.5rem}.funnel-bar{height:10px;background:#e8552d;border-radius:5px;opacity:.85;margin-bottom:.15rem}.link-btn{background:none;border:none;padding:.6rem .75rem;min-height:44px;color:var(--brand);font-size:inherit}.link-btn:hover{text-decoration:underline}.login-notice{display:block;border-radius:var(--radius);padding:.5rem .7rem;margin-bottom:.75rem;font-size:.85rem}.pin-card{max-width:400px;text-align:center}.pin-card h1.pin-lokal{margin:.35rem 0 .15rem;color:var(--text);font-size:1.6rem}.pin-prompt{margin:1rem 0 .6rem;font-size:1.05rem}.pin-dots{display:flex;justify-content:center;gap:.75rem;margin-bottom:.4rem}.pin-dot{width:16px;height:16px;border-radius:999px;border:2px solid var(--muted)}.pin-dot.opt{border-style:dashed;opacity:.55}.pin-dot.filled{background:var(--text);border-color:var(--text);border-style:solid;opacity:1}.pin-msg{min-height:1.6rem;margin-bottom:.4rem}.pin-msg .error{margin:0;display:inline-block}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}.keypad button{min-height:64px;font-size:1.6rem;font-weight:600;touch-action:manipulation;-webkit-user-select:none;user-select:none}.keypad button.secondary:active:not(:disabled){background:#eef1f4}.keypad-ok{background:var(--ok);border-color:var(--ok)}.lock-btn{font-size:1.05rem;padding:.7rem .9rem;margin-top:.5rem}tr.dim td{opacity:.55}.inline-form{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.inline-form input{width:auto;flex:1;min-width:140px}.pin-field{display:flex;gap:.4rem}.pin-field input{letter-spacing:.3em}.pin-field button{white-space:nowrap}.device-card{border:1px solid var(--border);border-radius:var(--radius);padding:.9rem 1rem;background:#fafbfc;margin-bottom:1rem}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll td button{min-height:44px;white-space:nowrap}.pin-input.masked{-webkit-text-security:disc}.analytics .an-filters{display:flex;flex-direction:column;gap:.6rem;margin:1rem 0 .75rem;padding:.9rem 1rem}.an-presets{display:flex;flex-wrap:wrap;gap:.35rem}.an-presets button{padding:.35rem .75rem}.an-dates{gap:.75rem}.an-dates label,.an-filter-row label{margin:0}.an-filter-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.75rem}.an-tabs{display:flex;flex-wrap:wrap;gap:.25rem;border-bottom:1px solid var(--border);margin-bottom:1rem}.an-tabs button{background:transparent;color:var(--muted);border:none;border-bottom:2px solid transparent;border-radius:0;padding:.55rem .8rem}.an-tabs button.active{color:var(--text);border-bottom-color:var(--brand);font-weight:600}.an-defs{display:flex;flex-direction:column;gap:.25rem;margin-top:1rem;font-size:.85rem}.an-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:.75rem;margin-bottom:1rem}.an-kpi{padding:.8rem 1rem}.an-kpi-value{font-size:1.45rem;font-weight:700;font-variant-numeric:tabular-nums}.an-kpi-hint{font-size:.75rem;color:var(--muted);margin-top:.15rem}.an-section{margin-bottom:1rem;min-width:0}.an-section h3{margin:0;font-size:1rem}.an-section h4{margin:1rem 0 .4rem;font-size:.85rem;color:var(--muted)}.an-section-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.4rem}.an-hint{font-size:.8rem;color:var(--muted);margin-bottom:.75rem;line-height:1.4}.an-csv{padding:.25rem .6rem;font-size:.8rem}.an-empty{padding:1.25rem 0;text-align:center}.an-grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:1rem}.an-table-wrap{overflow-x:auto}.an-table-wrap td{font-variant-numeric:tabular-nums}.an-sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.an-bar{position:relative;min-width:90px;height:20px;display:flex;align-items:center}.an-bar-fill{position:absolute;left:0;top:3px;bottom:3px;background:#e8552d38;border-radius:0 4px 4px 0}.an-bar span{position:relative;padding-left:.3rem}.an-cols{display:flex;align-items:flex-end;gap:2px}.an-col{flex:1;min-width:0;display:flex;flex-direction:column;align-items:stretch}.an-col-track{display:flex;align-items:flex-end}.an-col-bar{width:100%;background:var(--brand);border-radius:4px 4px 0 0}.an-col:hover .an-col-bar{background:var(--brand-dark)}.an-col-label{font-size:.7rem;color:var(--muted);text-align:center;height:18px;line-height:18px;white-space:nowrap;overflow:visible}.an-funnel{display:flex;flex-direction:column;gap:.35rem}.an-funnel-row{display:grid;grid-template-columns:190px 1fr 190px;gap:.75rem;align-items:center}.an-funnel-row.checkout .an-funnel-label{padding-left:1.2rem;color:var(--muted);font-size:.85rem}.an-funnel-track{background:#f1f3f5;border-radius:4px;height:22px}.an-funnel-fill{height:100%;background:var(--brand);border-radius:4px}.an-funnel-row.checkout .an-funnel-fill{background:#e8552d73}.an-funnel-num{font-variant-numeric:tabular-nums;font-size:.85rem}.an-heat{display:grid;grid-template-columns:34px repeat(24,1fr);gap:2px;font-size:.7rem}.an-heat-h{text-align:center;color:var(--muted)}.an-heat-wd{color:var(--muted);line-height:18px}.an-heat-cell{height:18px;background:#f1f3f5;border-radius:3px}.an-cohort td,.an-cohort th{text-align:center;padding:.4rem}.an-journey-meta{display:flex;flex-direction:column;gap:.3rem}.an-jsession{border-left:3px solid var(--border);padding:.3rem 0 .3rem .75rem;margin-bottom:.9rem}.an-jsession-head{font-weight:600;margin-bottom:.35rem}.an-jevent{display:flex;gap:.5rem;align-items:baseline;flex-wrap:wrap;font-size:.85rem;padding:.15rem 0}.an-jtime{width:150px;flex-shrink:0;font-variant-numeric:tabular-nums}.an-jprops{font-size:.75rem;color:var(--muted);word-break:break-all}
