/* OrderGURU merchant admin — always OrderGURU-branded (never vendor-themed). Uses DS tokens from styles.css. */
.ad{--ad-side:248px;display:grid;grid-template-columns:var(--ad-side) minmax(0,1fr);height:100vh;background:var(--ink-50);color:var(--text-primary);font-family:var(--font-body);font-size:14px;line-height:1.45}
.ad *,.ad *::before,.ad *::after{box-sizing:border-box}
:where(.ad) button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
:where(.ad) input,:where(.ad) select,:where(.ad) textarea{font:inherit;color:inherit}
.ad h1,.ad h2,.ad h3,.ad h4{margin:0;text-wrap:balance}
.ad p{margin:0;text-wrap:pretty}
.ad a{color:var(--brand-700)}.ad a:hover{color:var(--ink-900)}
.ad-mono{font-family:var(--font-mono);font-size:.92em}
.ad-muted{color:var(--text-secondary)}.ad-faint{color:var(--text-tertiary)}
.ad-row{display:flex;align-items:center;gap:8px}.ad-col{display:flex;flex-direction:column}.ad-sp{flex:1}
.ad-over{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary)}
.ad-num{font-variant-numeric:tabular-nums}

/* sidebar */
.ad-side{background:var(--ink-900);color:#EDE7E1;display:flex;flex-direction:column;min-height:0}
.ad-brand{display:flex;align-items:center;gap:10px;padding:18px 18px 14px}
.ad-wordmark{font-family:var(--font-brand);font-weight:800;letter-spacing:-.035em;font-size:21px;line-height:1;color:#fff}
.ad-wordmark span{color:var(--brand-400)}
.ad-switch{margin:0 12px 6px;display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px;background:rgba(255,255,255,.06);text-align:left;width:calc(100% - 24px)}
.ad-switch:hover{background:rgba(255,255,255,.1)}
.ad-switch-av{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:var(--brand-500);color:#fff;font-weight:800;font-size:12px;flex:none}
.ad-switch b{display:block;font-size:13px;color:#fff;line-height:1.2}
.ad-switch small{font-size:12px;color:#B3AAA2}
.ad-nav{flex:1;overflow-y:auto;padding:8px 12px 16px;scrollbar-width:thin;scrollbar-color:#4A413B transparent}
.ad-nav-group{margin-top:16px}
.ad-nav-label{padding:0 10px 6px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#9C9189}
.ad-link{display:flex;align-items:center;gap:10px;width:100%;height:36px;padding:0 10px;border-radius:9px;color:#D6CFC8;font-weight:500;text-align:left}
.ad-link:hover{background:rgba(255,255,255,.07);color:#fff}
.ad-link[aria-current="page"]{background:#fff;color:var(--ink-900);font-weight:700}
.ad-link.soon{color:#8A7F77}
.ad-link-count{margin-left:auto;min-width:22px;height:20px;padding:0 6px;border-radius:999px;background:var(--brand-500);color:#fff;font-size:11.5px;font-weight:800;display:grid;place-items:center}
.ad-side-foot{padding:12px;border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:10px}
.ad-avatar{width:32px;height:32px;border-radius:999px;background:var(--ink-700);color:#fff;display:grid;place-items:center;font-weight:700;font-size:12px;flex:none}

/* main */
.ad-main{display:flex;flex-direction:column;min-width:0;min-height:0}
.ad-top{height:64px;flex:none;display:flex;align-items:center;gap:12px;padding:0 28px;background:var(--ink-0);border-bottom:1px solid var(--border-subtle)}
.ad-top h1{white-space:nowrap;font-family:var(--font-display);font-size:22px;font-weight:800;letter-spacing:-.025em}
.ad-scope{white-space:nowrap;display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 12px;border-radius:10px;box-shadow:inset 0 0 0 1px var(--border-default);font-weight:600;background:var(--ink-0)}
.ad-scope:hover{box-shadow:inset 0 0 0 1px var(--ink-900)}
.ad-body{flex:1;overflow:auto;padding:24px 28px 48px;min-height:0}
.ad-body.flush{padding:0;overflow:hidden;display:flex}
.ad-pagehead{display:flex;align-items:flex-end;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.ad-pagehead h2{font-family:var(--font-display);font-size:26px;font-weight:800;letter-spacing:-.025em}

/* primitives */
.ad-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;padding:0 14px;border-radius:10px;font-weight:700;white-space:nowrap;transition:background .12s}
.ad-btn-primary{background:var(--action-primary);color:#fff}.ad-btn-primary:hover{background:var(--action-primary-hover)}
.ad-btn-dark{background:var(--ink-900);color:#fff}.ad-btn-dark:hover{background:var(--ink-800)}
.ad-btn-line{box-shadow:inset 0 0 0 1px var(--border-default);background:var(--ink-0)}.ad-btn-line:hover{box-shadow:inset 0 0 0 1px var(--ink-900)}
.ad-btn-ghost:hover{background:var(--ink-100)}
.ad-btn-ok{background:var(--basil-600);color:#fff}.ad-btn-ok:hover{background:var(--basil-700)}
.ad-btn-danger{color:var(--chili-700);box-shadow:inset 0 0 0 1px var(--chili-300);background:var(--ink-0)}
.ad-btn-sm{height:32px;padding:0 10px;font-size:13px;border-radius:8px}
.ad-btn-lg{height:46px;padding:0 18px;font-size:15px}
.ad-icbtn{width:36px;height:36px;border-radius:10px;display:inline-grid;place-items:center;flex:none}
.ad-icbtn:hover{background:var(--ink-100)}
.ad-card{background:var(--ink-0);border:1px solid var(--border-subtle);border-radius:16px}
.ad-card-h{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--border-subtle)}
.ad-card-h h3{font-size:15px;font-weight:800}
.ad-card-b{padding:20px}
.ad-badge{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}
.ad-b-ok{background:var(--status-success-bg);color:var(--status-success-fg)}
.ad-b-warn{background:var(--status-warning-bg);color:var(--status-warning-fg)}
.ad-b-bad{background:var(--status-danger-bg);color:var(--status-danger-fg)}
.ad-b-info{background:var(--status-info-bg);color:var(--status-info-fg)}
.ad-b-brand{background:var(--status-brand-bg);color:var(--status-brand-fg)}
.ad-b-neutral{background:var(--status-neutral-bg);color:var(--status-neutral-fg)}
.ad-tag{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 8px;border-radius:7px;background:var(--ink-100);font-size:12px;font-weight:600;white-space:nowrap}
.ad-field{display:flex;flex-direction:column;gap:6px}
.ad-label{font-size:13px;font-weight:700}
.ad-help{font-size:12.5px;color:var(--text-secondary)}
.ad-input,.ad-select,.ad-textarea{height:40px;padding:0 12px;border-radius:10px;border:1px solid var(--border-default);background:var(--ink-0);outline:none;width:100%}
.ad-textarea{height:auto;min-height:80px;padding:10px 12px;resize:vertical}
.ad-input:focus,.ad-select:focus,.ad-textarea:focus{border-color:var(--brand-600);box-shadow:var(--ring-focus,0 0 0 3px rgba(59,91,255,.25))}
.ad-prefix{position:relative}.ad-prefix>span{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-tertiary)}.ad-prefix .ad-input{padding-left:26px}
.ad-toggle{flex:none;width:40px;height:24px;border-radius:999px;background:var(--ink-300);position:relative;transition:background .15s}
.ad-toggle::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:999px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform .15s}
.ad-toggle[aria-checked="true"]{background:var(--basil-500)}
.ad-toggle[aria-checked="true"]::after{transform:translateX(16px)}
.ad-seg{display:inline-flex;padding:3px;border-radius:10px;background:var(--ink-100);gap:2px}
.ad-seg button{white-space:nowrap;height:30px;padding:0 12px;border-radius:8px;font-weight:600;color:var(--text-secondary);font-size:13px;display:inline-flex;align-items:center;gap:6px}
.ad-seg button[aria-pressed="true"]{background:var(--ink-0);color:var(--text-primary);box-shadow:0 1px 3px rgba(28,23,20,.14)}
.ad-tabs{display:flex;gap:24px;border-bottom:1px solid var(--border-subtle);margin-bottom:20px}
.ad-tabs button{height:40px;font-weight:600;color:var(--text-secondary);box-shadow:inset 0 -2px 0 transparent}
.ad-tabs button[aria-current="true"]{color:var(--text-primary);box-shadow:inset 0 -2px 0 var(--brand-600)}
.ad-chip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--border-default);font-weight:600;font-size:13px;background:var(--ink-0)}
.ad-chip[aria-pressed="true"]{background:var(--ink-900);color:#fff;box-shadow:none}
.ad-check{flex:none;width:18px;height:18px;border-radius:5px;box-shadow:inset 0 0 0 2px var(--border-default);display:grid;place-items:center;color:#fff}
.ad-check.on{background:var(--brand-600);box-shadow:none}

/* tables */
.ad-table{width:100%;border-collapse:collapse}
.ad-table th{text-align:left;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);padding:10px 16px;border-bottom:1px solid var(--border-subtle);white-space:nowrap}
.ad-table td{padding:12px 16px;border-bottom:1px solid var(--border-subtle);vertical-align:middle}
.ad-table tr:last-child td{border-bottom:0}
.ad-table tbody tr:hover td{background:var(--ink-50)}
.ad-table tr.sel td{background:var(--brand-50)}
.ad-thumb{width:44px;height:44px;border-radius:10px;flex:none;background:var(--ink-100);background-image:repeating-linear-gradient(135deg,transparent 0 7px,rgba(28,23,20,.06) 7px 8px)}

/* live orders */
.ad-board{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:16px;flex:1;min-width:0;padding:20px 24px;overflow:auto;align-items:start}
.ad-colh{display:flex;align-items:center;gap:8px;margin-bottom:10px;padding:0 4px}
.ad-colh h3{font-size:14px;font-weight:800}
.ad-colcount{min-width:22px;height:22px;border-radius:999px;display:grid;place-items:center;font-size:12px;font-weight:800;background:var(--ink-200)}
.ad-ticket{display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:14px;background:var(--ink-0);border:1px solid var(--border-subtle);text-align:left;width:100%;margin-bottom:10px;transition:box-shadow .15s,transform .15s}
.ad-ticket:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}
.ad-ticket.sel{border:2px solid var(--ink-900);padding:13px}
.ad-ticket.new{border-color:var(--brand-400);box-shadow:0 0 0 3px var(--brand-100)}
.ad-ticket.late .ad-due{color:var(--chili-700)}
.ad-ticket-items{font-size:13px;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ad-due{font-weight:800;font-variant-numeric:tabular-nums}
.ad-detail{width:380px;flex:none;border-left:1px solid var(--border-subtle);background:var(--ink-0);display:flex;flex-direction:column;min-height:0}
.ad-detail-scroll{flex:1;overflow-y:auto;padding:20px}
.ad-detail-foot{padding:16px 20px;border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:10px}
.ad-oline{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--border-subtle)}
.ad-oline:last-child{border-bottom:0}
.ad-oline-q{font-weight:800;min-width:24px}
.ad-note{padding:10px 12px;border-radius:10px;background:var(--turmeric-50);color:var(--turmeric-700);font-weight:600;font-size:13px;display:flex;gap:8px}
.ad-prep{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.ad-prep button{height:40px;border-radius:10px;box-shadow:inset 0 0 0 1px var(--border-default);font-weight:700}
.ad-prep button[aria-pressed="true"]{box-shadow:inset 0 0 0 2px var(--ink-900);background:var(--ink-100)}
.ad-statusbar{display:flex;align-items:center;gap:12px;padding:10px 24px;background:var(--ink-0);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap}

/* split layouts */
.ad-split{display:grid;grid-template-columns:240px minmax(0,1fr) 400px;flex:1;min-height:0}
.ad-pane{overflow-y:auto;min-height:0}
.ad-pane.l{border-right:1px solid var(--border-subtle);background:var(--ink-0);padding:16px 12px}
.ad-pane.m{padding:20px 24px}
.ad-pane.r{border-left:1px solid var(--border-subtle);background:var(--ink-0)}
.ad-catlink{display:flex;align-items:center;gap:8px;width:100%;height:38px;padding:0 10px;border-radius:9px;font-weight:600;text-align:left}
.ad-catlink:hover{background:var(--ink-100)}
.ad-catlink[aria-current="true"]{background:var(--ink-900);color:#fff}
.ad-catlink .n{margin-left:auto;font-size:12px;color:var(--text-tertiary)}
.ad-catlink[aria-current="true"] .n{color:#B3AAA2}
.ad-grip{color:var(--ink-400);cursor:grab}
.ad-form{display:flex;flex-direction:column;gap:18px;padding:20px}
.ad-form-sec{display:flex;flex-direction:column;gap:12px;padding-top:18px;border-top:1px solid var(--border-subtle)}
.ad-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ad-upload{border:1.5px dashed var(--border-default);border-radius:12px;display:flex;align-items:center;justify-content:center;gap:8px;flex-direction:column;color:var(--text-secondary);text-align:center;cursor:pointer;background:var(--ink-50);position:relative;overflow:hidden}
.ad-upload:hover{border-color:var(--ink-900);color:var(--text-primary)}
.ad-upload img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ad-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}
.ad-swatch{width:40px;height:40px;border-radius:10px;box-shadow:inset 0 0 0 1px rgba(28,23,20,.15);position:relative;overflow:hidden;flex:none}
.ad-swatch input{position:absolute;inset:-8px;width:60px;height:60px;opacity:0;cursor:pointer}
.ad-presets{display:flex;gap:6px;flex-wrap:wrap}
.ad-presets button{width:26px;height:26px;border-radius:8px;box-shadow:inset 0 0 0 1px rgba(28,23,20,.15)}
.ad-presets button[aria-pressed="true"]{box-shadow:0 0 0 2px var(--ink-0),0 0 0 4px var(--ink-900)}
.ad-opt-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.ad-opt-card{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:12px;box-shadow:inset 0 0 0 1px var(--border-default);text-align:left;font-weight:700;font-size:13px}
.ad-opt-card[aria-pressed="true"]{box-shadow:inset 0 0 0 2px var(--brand-600);background:var(--brand-50)}
.ad-opt-card small{font-weight:500;color:var(--text-secondary);font-size:12px}
.ad-preview{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--ink-200)}
.ad-preview-bar{display:flex;align-items:center;gap:10px;padding:10px 20px;background:var(--ink-0);border-bottom:1px solid var(--border-subtle)}
.ad-preview-stage{flex:1;display:flex;align-items:center;justify-content:center;padding:20px;min-height:0;overflow:hidden}
.ad-preview-stage iframe{border:0;background:#fff;box-shadow:var(--shadow-xl);border-radius:16px}
.ad-contrast{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600}

/* stats */
.ad-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px}
.ad-kpi{padding:18px 20px}
.ad-kpi-v{font-family:var(--font-display);font-size:30px;font-weight:800;letter-spacing:-.03em;line-height:1.1;font-variant-numeric:tabular-nums}
.ad-delta{font-size:12.5px;font-weight:700}
.ad-delta.up{color:var(--basil-700)}.ad-delta.down{color:var(--chili-700)}
.ad-bars{display:flex;align-items:flex-end;gap:10px;height:220px;padding-top:10px}
.ad-bar{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;justify-content:flex-end}
.ad-bar-stack{width:100%;max-width:44px;display:flex;flex-direction:column-reverse;border-radius:8px 8px 3px 3px;overflow:hidden}
.ad-bar-stack i{display:block}
.ad-bar small{font-size:12px;color:var(--text-tertiary)}
.ad-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--text-secondary)}
.ad-legend span{display:inline-flex;align-items:center;gap:6px}.ad-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}
.ad-meter{height:8px;border-radius:9px;background:var(--ink-100);overflow:hidden}.ad-meter i{display:block;height:100%;border-radius:9px}

/* map */
.ad-map{position:relative;border-radius:16px;overflow:hidden;background:#EDE9E3;background-image:linear-gradient(rgba(28,23,20,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(28,23,20,.05) 1px,transparent 1px);background-size:40px 40px;min-height:420px}
.ad-ring{position:absolute;border-radius:50%;transform:translate(-50%,-50%);border:2px solid}
.ad-pin{position:absolute;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;gap:4px}
.ad-pin b{background:var(--ink-900);color:#fff;font-size:12px;padding:4px 8px;border-radius:8px;white-space:nowrap}
.ad-dot{width:14px;height:14px;border-radius:50%;background:var(--brand-500);box-shadow:0 0 0 4px #fff}

/* settings list */
.ad-setrow{display:flex;align-items:center;gap:16px;padding:16px 20px;border-bottom:1px solid var(--border-subtle)}
.ad-setrow:last-child{border-bottom:0}
.ad-setrow-t{font-weight:700}
.ad-hours{display:grid;grid-template-columns:40px minmax(64px,1fr) minmax(64px,1fr) 44px;gap:8px 12px;align-items:center}
.ad-subnav{display:flex;flex-direction:column;gap:2px;position:sticky;top:0}

/* dialog */
.ad-scrim{position:fixed;inset:0;background:var(--surface-overlay);display:grid;place-items:center;z-index:100;animation:adFade .15s}
.ad-dialog{width:min(520px,calc(100vw - 32px));background:var(--ink-0);border-radius:24px;box-shadow:var(--shadow-xl);overflow:hidden}
.ad-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--ink-900);color:#fff;padding:12px 16px;border-radius:12px;font-weight:600;box-shadow:var(--shadow-lg);z-index:120;display:flex;gap:10px;align-items:center;animation:adFade .2s}
@keyframes adFade{from{opacity:0}to{opacity:1}}

.ad-2col{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px;align-items:start}
.ad-2col.side{grid-template-columns:minmax(0,1fr) 360px}
.ad-2col.chart{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px;margin-bottom:16px}
.ad-setgrid{display:grid;grid-template-columns:220px minmax(0,820px);gap:28px;align-items:start}
.ad-show-narrow{display:none}
@media (max-width:1320px){.ad{--ad-side:72px}.ad-side .ad-hide-sm{display:none}.ad-link{justify-content:center;padding:0}.ad-switch{justify-content:center;padding:6px;margin:0 12px 6px}.ad-nav-label{display:none}.ad-nav-group{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08)}.ad-brand{justify-content:center;padding:18px 0}.ad-side-foot{justify-content:center}}
@media (max-width:1180px){.ad-split{grid-template-columns:200px minmax(0,1fr) 340px}.ad-detail{width:320px}.ad-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:1100px){.ad-split{grid-template-columns:minmax(0,1fr) 340px}.ad-pane.l{display:none}.ad-show-narrow{display:block}.ad-2col,.ad-2col.side,.ad-2col.chart{grid-template-columns:minmax(0,1fr)}.ad-setgrid{grid-template-columns:minmax(0,1fr)}.ad-subnav{flex-direction:row;flex-wrap:wrap;position:static}.ad-subnav .ad-catlink{width:auto}.ad-loc-grid{grid-template-columns:minmax(0,1fr)!important}.ad-top{padding:0 16px;gap:8px}.ad-top .ad-hide-md{display:none}.ad-body{padding:20px 16px 40px}}
@media (max-width:820px){.ad-split{grid-template-columns:minmax(0,1fr)}.ad-pane.r,.ad-detail{display:none}.ad-board{grid-template-columns:repeat(3,260px)}}
