:root{--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--pad-page:var(--sp-6);--pad:var(--sp-4);--pad-tight:var(--sp-3);--gap:var(--sp-3);--gap-el:var(--sp-4);--gap-tight:var(--sp-2);--section:var(--sp-8);--radius-sm:8px;--radius:12px;--radius-lg:16px;--radius-pill:999px;--tap:44px;--thumb:44px;--tabbar-h:56px;--fs-sm:14px;--fs-base:16px;--fs-md:17px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--z-tabbar:10;--z-sheet:50;color-scheme:dark;--bg:#0b0b0f;--card:#1f242e;--surface-secondary:#2b313d;--muted:#c3cbd6;--line:#3a4150;--brand:#6f9bff;--brand-soft:#131f4b;--primary:#ffffff;--on-primary:#1f242e;--warn:#f5a524;--danger:#ff8589;--danger-solid:#b52c37;--danger-soft:rgba(229,72,77,0.14);--text:#ffffff;--backdrop:rgba(11,11,15,0.5);--shadow:0 8px 24px rgba(0,16,66,0.16);--radius-sm:10px;--radius:16px;--radius-lg:32px;--fs-xs:12px;--fs-sm:13px;--fs-base:14px;--fs-md:16px;--fs-lg:20px;--fs-xl:24px;--lh:1.4;--section:20px}@font-face{font-family:Cera Pro;src:url(/fonts/CeraPro-Regular.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Cera Pro;src:url(/fonts/CeraPro-Medium.otf) format("opentype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Cera Pro;src:url(/fonts/CeraPro-Bold.otf) format("opentype");font-weight:600 800;font-style:normal;font-display:swap}:root[data-theme=light]{color-scheme:light;--bg:#f4f7fa;--card:#ffffff;--surface-secondary:#f0f2f5;--muted:#5a6473;--line:#e9edf2;--brand:#2b6cff;--brand-soft:#eaf0ff;--primary:#1f242e;--on-primary:#ffffff;--warn:#9a640d;--danger:#b52c37;--danger-soft:#fde8e8;--text:#1f242e;--backdrop:rgba(11,11,15,0.4)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{overscroll-behavior:none;text-size-adjust:100%}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Cera Pro,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:500;font-size:var(--fs-base);line-height:var(--lh);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}button,input,select,textarea{font-family:inherit}:where(button){min-height:var(--tap);padding:10px 16px;border:1px solid transparent;border-radius:var(--radius-pill);background:var(--surface-secondary);color:var(--text);font-size:14px;font-weight:500;cursor:pointer}button:disabled{opacity:.5;cursor:default}button:focus-visible{outline:2px solid var(--brand);outline-offset:3px}button:active:not(:disabled){filter:brightness(.94)}input,select,textarea{font-size:16px}.app{display:flex;flex-direction:column;min-height:100svh;width:100%;max-width:640px;margin-inline:auto;padding-top:var(--safe-top)}.tabbar,.topbar{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.topbar{display:flex;align-items:center;justify-content:space-between;padding:var(--pad-tight) var(--pad) 0}.topbar button{background:none;border:none;color:var(--muted);font-size:var(--fs-lg);cursor:pointer}.content{flex:1 1;padding:var(--pad);padding-bottom:var(--section);overflow-y:auto;-webkit-overflow-scrolling:touch}.page-header{display:flex;align-items:center;gap:var(--gap-tight);min-height:var(--tap);margin-bottom:var(--gap-el)}.page-header h1{flex:1 1;min-width:0;margin:0;font-size:var(--fs-xl);font-weight:700}.toolbar-button{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--tap);height:var(--tap);padding:var(--sp-2);background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:50%;cursor:pointer}.toolbar-button svg{width:24px;height:24px}.toolbar-button:active{background:var(--brand-soft)}.toolbar-button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.tabbar{display:flex;gap:4px;padding:8px;margin:0 16px max(12px,var(--safe-bottom));border:1px solid var(--line);border-radius:28px;background:var(--card);box-shadow:var(--shadow);position:-webkit-sticky;position:sticky;bottom:max(12px,var(--safe-bottom));z-index:var(--z-tabbar)}body[data-sheet-open] .tabbar{visibility:hidden;pointer-events:none}.tabbar button{flex:1 1;min-width:0;min-height:58px;border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-1);background:none;border:none;color:var(--muted);padding:var(--sp-1) var(--sp-2);font:inherit;font-size:var(--fs-xs);line-height:1.1;cursor:pointer}.tabbar .ico{position:relative}.tabbar .ico,.tabbar .ico svg{display:block;width:24px;height:24px}.tabbar .lbl{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabbar button.active{color:var(--text);background:var(--bg)}.tabbar button.active .lbl{font-weight:600}.tabbar .badge{position:absolute;top:-5px;left:55%;min-width:16px;height:16px;padding:0 4px;border-radius:var(--radius-pill);border:2px solid var(--card);background:var(--danger-solid);color:#fff;font-size:10px;font-weight:700;line-height:12px;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.card{background:var(--card);border:1px solid transparent;border-radius:var(--radius);padding:var(--pad);margin-bottom:var(--gap)}.card .t{font-weight:600}.card .sub{color:var(--muted);font-size:var(--fs-sm);margin-top:2px}.order-heading{display:flex;align-items:baseline;justify-content:space-between;gap:var(--gap-tight)}.order-number{flex-shrink:0;margin-left:auto;font-size:28px;font-weight:700;line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.order-age{color:var(--muted);font-size:var(--fs-sm)}.order-age,.order-created{display:block}.order-items{--order-item-height:60px;list-style:none;padding:0;margin:var(--gap) 0;max-height:calc(5 * var(--order-item-height));overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.order-items:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:var(--radius-sm)}.order-item{display:flex;align-items:center;gap:var(--gap-tight);height:var(--order-item-height);border-bottom:1px solid var(--line);font-size:var(--fs-md);font-weight:500}.order-item:last-child{border-bottom-color:transparent}.order-item-index{flex-shrink:0;min-width:1.5em;color:var(--muted)}.order-item-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.order-item-quantity{flex-shrink:0;color:var(--muted)}.card .order-empty{margin:var(--gap) 0}.accept-sheet>.actions,.order-card>.actions{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);align-items:stretch}.accept-sheet>.actions>button,.order-card>.actions>button{min-width:0;min-height:var(--tap);padding:10px var(--sp-2);border-radius:var(--radius-pill);font:inherit;font-size:14px;font-weight:600;line-height:1.3;cursor:pointer}.accept-sheet>.actions>button:not(.primary):not(.danger),.order-card>.actions>button:not(.primary):not(.danger){background:var(--surface-secondary);color:var(--text);border:1px solid transparent}.order-card>.actions:has(>button:nth-child(3)){grid-template-columns:minmax(92px,.85fr) repeat(2,minmax(0,1fr))}.order-card>.actions>button{overflow-wrap:anywhere}.order-card>.actions>button.order-chat:not(.primary):not(.danger){background:var(--surface-secondary)}.muted{color:var(--muted);font-size:var(--fs-sm)}.content>.muted{text-align:center;padding:var(--section) var(--pad-page);font-size:var(--fs-base)}.row{display:flex;gap:var(--gap-tight);align-items:center}.grow{flex:1 1}.cd{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;color:var(--danger)}.cd.calm{color:var(--muted)}.actions{display:flex;gap:var(--gap-tight);margin-top:var(--gap)}button.primary{background:var(--primary);color:var(--on-primary);border:none;border-radius:var(--radius-pill);font-weight:600}button.danger,button.primary{padding:var(--sp-2) var(--pad);min-height:var(--tap);cursor:pointer}button.danger{background:var(--danger-soft);color:var(--danger);border:1px solid transparent;border-radius:var(--radius-pill)}.phase2{border:1px dashed var(--line);border-radius:var(--radius);padding:var(--pad-page);text-align:center;color:var(--muted)}.topbar button.shop{display:flex;align-items:center;gap:var(--gap-tight);padding:0;color:var(--text);font-size:16px;font-weight:600;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.topbar .shop-name{min-width:0;overflow:hidden;text-overflow:ellipsis}.shop-logo{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;border-radius:50%;overflow:hidden;background:var(--line);color:var(--text)}.shop-logo img{display:block;width:100%;height:100%;object-fit:cover}.shop-logo svg{width:22px;height:22px}.topbar .chev{flex-shrink:0;color:var(--muted);font-size:14px}.sheet-backdrop{position:fixed;top:0;left:0;right:0;height:100dvh;background:var(--backdrop);display:flex;align-items:flex-end;justify-content:center;z-index:var(--z-sheet,50);padding:max(var(--safe-top),9px) 9px max(9px,var(--safe-bottom));overflow:hidden}.sheet{width:100%;max-width:520px;background:var(--card);overscroll-behavior:contain;border-radius:32px;padding:var(--pad);max-height:85dvh;overflow-y:auto;min-height:0;-webkit-overflow-scrolling:touch;scroll-padding-block:calc(var(--tap) + var(--sp-2)) var(--pad);border:1px solid var(--line)}.sheet-backdrop>.sheet[role=dialog]{max-height:min(90dvh,100%)}.sheet:focus{outline:none}.sheet-title{color:var(--text);font-size:19px;font-weight:700;line-height:26px;padding:var(--sp-2) 0}.sheet-row{display:flex;align-items:center;gap:var(--gap-tight);width:100%;min-height:var(--tap);background:none;border:none;color:var(--text);padding:var(--pad-tight);font:inherit;font-size:var(--fs-md);text-align:left;cursor:pointer;border-radius:var(--radius)}.sheet-row.on{background:var(--surface-secondary);color:var(--text)}.sheet-row.muted-row{color:var(--muted);font-size:14px;cursor:default}.shop-picker{padding:var(--pad)}.shop-picker .sheet-head{align-items:center;margin-bottom:var(--gap)}.shop-picker .sheet-title{padding:0;color:var(--text);font-size:var(--fs-lg);font-weight:700}.shop-picker .sheet-close{flex-shrink:0;border-radius:var(--radius-pill);background:var(--bg)}.shop-picker-list{display:grid;grid-gap:var(--gap-el);gap:var(--gap-el);list-style:none;margin:0;padding:0}.shop-picker-option{display:flex;align-items:center;gap:var(--gap-el);width:100%;min-height:80px;padding:var(--pad);border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);color:var(--text);font:inherit;text-align:left;cursor:pointer}.shop-picker-option.on{background:var(--surface-secondary);border-color:var(--primary)}.shop-picker-option .shop-logo{width:48px;height:48px}.shop-picker-option .shop-logo svg{width:30px;height:30px}.shop-picker-info{flex:1 1;min-width:0}.shop-picker-name{display:block;font-size:var(--fs-md);font-weight:600;line-height:1.35;overflow-wrap:anywhere}.shop-picker-status{display:block;margin-top:var(--sp-1);color:var(--brand);font-size:var(--fs-sm)}.shop-picker-check{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;border:1px solid var(--line);border-radius:50%;color:#fff;font-size:var(--fs-sm);font-weight:700}.shop-picker-option.on .shop-picker-check{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.shop-picker-footer{margin-top:var(--gap);padding-top:var(--gap);border-top:1px solid var(--line)}.shop-picker-add{display:flex;align-items:center;justify-content:center;gap:var(--gap-tight);width:100%;min-height:var(--tap);padding:10px 16px;border:none;border-radius:var(--radius-pill);background:var(--surface-secondary);color:var(--text);font:inherit;font-weight:600;cursor:pointer}.shop-picker-add>span{font-size:24px;line-height:1}.shop-picker-pending{padding:var(--pad-tight);color:var(--muted);font-size:var(--fs-sm);overflow-wrap:anywhere}.shop-picker .sheet-close:focus-visible,.shop-picker-add:focus-visible,.shop-picker-option:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.shop-picker-add:active,.shop-picker-option:active{filter:brightness(.9)}.field>span{color:var(--muted);font-size:var(--fs-sm)}.field input,.field textarea{width:100%;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--sp-2) var(--pad-tight);min-height:var(--tap);font:inherit;resize:vertical}.field input:focus,.field textarea:focus{outline:none;border-color:var(--brand)}button.primary:disabled{opacity:.5;cursor:default}.field{display:block;margin-top:var(--gap);color:var(--muted);font-size:var(--fs-sm)}.field>span{display:block;margin-bottom:var(--gap-tight)}.field input,.field select,.field textarea{display:block;margin-top:var(--gap-tight);color:var(--text);font-size:var(--fs-base)}.fields{display:flex;flex-direction:column;gap:var(--gap-tight)}.fields>label.sub{margin-top:var(--gap)}.fields input{width:100%;background:var(--bg)}.fields button,.fields input{color:var(--text);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--sp-2) var(--pad-tight);min-height:var(--tap);font:inherit}.fields button{background:var(--card);cursor:pointer}.fields button.primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.fields button.danger{background:var(--danger-soft);border-color:transparent;color:var(--danger)}.fields button:disabled{opacity:.5;cursor:default}.tmpl{display:flex;flex-wrap:wrap;gap:var(--gap-tight)}.tmpl button{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:72px;padding:var(--sp-2) var(--sp-1);font-size:var(--fs-xs);background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer}.tmpl button.primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.tmpl .g{font-size:var(--fs-lg);line-height:1.1}.sheet.reject-dialog{display:flex;flex-direction:column;max-height:90dvh;max-width:520px;margin-inline:auto;overflow:hidden}.reject-dialog .sheet-head{flex-shrink:0;align-items:center;border-bottom:1px solid var(--line)}.reject-dialog .sheet-title{color:var(--text);font-size:var(--fs-lg);font-weight:700}.reject-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:var(--pad)}.reject-order{padding:var(--pad-tight);margin-bottom:var(--gap-el);background:var(--bg);border-radius:var(--radius)}.reject-order strong{font-size:var(--fs-md)}.reject-order>div{margin-top:var(--sp-1);color:var(--muted);font-size:var(--fs-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reject-reasons{min-width:0;padding:0;margin:0;border:0}.reject-reasons legend{padding:0;margin-bottom:var(--gap);color:var(--text);font-size:var(--fs-sm);font-weight:600}.reject-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--gap);gap:var(--gap)}.reject-option{display:flex;align-items:center;gap:var(--gap-tight);min-width:0;min-height:64px;padding:var(--pad-tight);background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer}.reject-option>span{font-size:var(--fs-base);font-weight:500;line-height:1.35;overflow-wrap:anywhere}.reject-option input{flex-shrink:0;margin:0;width:20px;height:20px;accent-color:var(--primary)}.reject-option.selected{background:var(--surface-secondary);border-color:var(--primary)}.reject-option:focus-within{outline:2px solid var(--brand);outline-offset:2px}.reject-reasons:disabled .reject-option{opacity:.5;cursor:default}.reject-stock{margin-top:var(--gap-el)}.reject-stock .field>span{color:var(--text);font-weight:500}.reject-stock small{font-size:var(--fs-xs);font-weight:400;color:var(--muted)}.reject-stock select{width:100%;min-width:0;min-height:48px;padding:var(--pad-tight);color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);font:inherit}.reject-stock select:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.reject-hint{margin:var(--gap-tight) 0 0;color:var(--muted);font-size:var(--fs-xs)}.reject-error{margin-top:var(--gap);color:var(--warn);font-size:var(--fs-sm)}.reject-error button{display:block;min-height:var(--tap);margin-top:var(--sp-1);padding:var(--sp-2) var(--pad-tight);background:var(--line);color:var(--text);border:none;border-radius:var(--radius-sm);font:inherit;cursor:pointer}.reject-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));flex-shrink:0;grid-gap:var(--gap-tight);gap:var(--gap-tight);margin:0;padding:var(--pad-tight);border-top:1px solid var(--line)}.reject-actions>button{min-width:0;min-height:var(--tap);padding:10px 16px;border:1px solid transparent;border-radius:var(--radius-pill);background:var(--surface-secondary);color:var(--text);font:inherit;font-weight:600;cursor:pointer}.reject-actions>button.danger{background:var(--danger-solid);border-color:var(--danger-solid);color:#fff}.reject-actions>button:disabled{opacity:.5;cursor:default}.reject-actions>button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.reject-actions>button:active{filter:brightness(.9)}.thumb{width:var(--thumb);height:var(--thumb);border-radius:var(--radius-sm);object-fit:cover;border:1px solid var(--line)}.catalog-category{margin:20px 0 12px;color:var(--text);font-size:16px;font-weight:600}.product-card{padding:12px}.product-summary{display:flex;align-items:flex-start;gap:var(--gap)}.product-photo{flex-shrink:0;width:88px;height:88px;overflow:hidden;border-radius:var(--radius-sm);border:0;background:var(--bg)}.product-photo img{display:block;width:100%;height:100%;object-fit:cover}.product-photo-empty{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--sp-1);color:var(--muted);font-size:var(--fs-xs)}.product-photo-empty svg{width:28px;height:28px}.product-info{flex:1 1;min-width:0}.product-info h3{margin:0 0 var(--sp-1);font-size:14px;line-height:19px}.product-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--gap-tight)}.product-price strong{font-size:14px}.product-price del{color:var(--muted);font-size:var(--fs-xs)}.product-note{margin:var(--sp-1) 0;color:var(--muted);font-size:var(--fs-sm)}.product-stock{color:var(--muted);font-size:var(--fs-xs);margin-top:var(--sp-1)}.product-stock-note{margin-top:var(--gap);padding:var(--sp-2) var(--pad-tight);border-radius:var(--radius-pill);background:var(--bg);color:var(--warn);font-size:var(--fs-sm)}.product-unavailable .product-photo{opacity:.65}.catalog-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--gap-tight);gap:var(--gap-tight)}.catalog-actions>button,.catalog-add>button{min-width:0;min-height:var(--tap);padding:10px 12px;border-radius:var(--radius-pill);font:inherit;font-size:14px;font-weight:600;line-height:1.3;cursor:pointer}.catalog-actions>.filled-secondary{border:1px solid transparent;background:var(--surface-secondary);color:var(--text)}.catalog-actions>.filled-danger{border:1px solid var(--danger-solid);background:var(--danger-solid);color:#fff}.catalog-actions button:disabled,.catalog-add button:disabled{opacity:.5;cursor:default}.catalog-actions button:active{filter:brightness(.9)}.catalog-actions button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.catalog-add{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0;border:0;background:none}.catalog-add>button{padding-inline:20px}.catalog-add>.muted{margin:0;text-align:right;font-size:12px}.catalog-error{color:var(--warn);font-size:var(--fs-sm)}.item-dialog{display:flex;flex-direction:column;max-height:90dvh;max-width:520px;margin-inline:auto;overflow:hidden}.item-dialog .sheet-head{flex-shrink:0;align-items:center;border-bottom:1px solid var(--line)}.item-dialog .sheet-title{color:var(--text);font-size:var(--fs-lg);font-weight:700}.item-editor{display:flex;flex-direction:column;min-height:0}.item-editor-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:var(--pad)}.item-photo-editor{display:flex;align-items:center;gap:var(--gap);margin-bottom:var(--gap-el)}.item-photo-editor .product-photo{width:104px;height:104px}.item-photo-info{flex:1 1;min-width:0}.item-photo-picker{position:relative;display:inline-flex;align-items:center;justify-content:center;margin-top:var(--gap-tight);min-height:var(--tap);padding:var(--sp-2) var(--pad-tight);border-radius:var(--radius-pill);background:var(--surface-secondary);color:var(--text);font-size:var(--fs-sm);font-weight:600;cursor:pointer}.item-photo-picker input{position:absolute;width:1px;height:1px;opacity:0;-webkit-clip-path:inset(50%);clip-path:inset(50%)}.item-photo-picker:focus-within{outline:2px solid var(--brand);outline-offset:2px}.item-photo-picker.is-disabled{opacity:.5;cursor:default}.item-editor-fields{border:0;padding:0;margin:0;min-width:0}.item-editor .field{margin-top:var(--gap-el)}.item-editor .field>span{color:var(--text);font-weight:500}.item-editor .field input,.item-editor .field textarea{min-width:0;min-height:48px;padding:var(--pad-tight);border-radius:var(--radius)}.item-editor .field textarea{min-height:88px}.catalog-date-trigger{width:100%;min-height:48px;padding:var(--pad-tight);text-align:left;color:var(--text)}.catalog-calendar,.catalog-date-trigger{border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}.catalog-calendar{margin-top:8px;padding:8px}.catalog-calendar-heading{display:flex;align-items:center;justify-content:space-between}.catalog-calendar button{min-height:44px;background:transparent;color:var(--text);border:0;border-radius:var(--radius)}.catalog-calendar-heading button{width:44px;font-size:24px}.catalog-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.catalog-calendar-days>span{text-align:center;font-size:12px;color:var(--muted);padding-block:8px}.catalog-calendar-days button[aria-pressed=true]{background:var(--brand);color:#fff}.catalog-calendar button:focus-visible,.catalog-date-trigger:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.catalog-date-clear{width:100%;margin-top:8px}.item-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--gap);gap:var(--gap)}.item-field-hint{margin-top:var(--gap-tight);color:var(--muted);font-size:var(--fs-xs)}.item-field-hint.catalog-error{color:var(--warn)}.item-extra{margin-top:var(--gap-el);padding:var(--pad-tight);border:1px solid var(--line);border-radius:var(--radius)}.item-extra summary{padding-block:var(--sp-2);font-weight:600;cursor:pointer}.item-delete-button{display:block;width:100%;min-height:var(--tap);margin-top:var(--gap-el);border:none;border-radius:var(--radius-sm);background:none;color:var(--danger);font:inherit;cursor:pointer}.item-delete-button:active{background:var(--bg)}.item-delete-button:disabled{opacity:.5;cursor:default}.item-delete-confirm{padding:var(--pad);overflow-y:auto}.item-save-error{margin-top:var(--gap)}.item-editor-footer{flex-shrink:0;margin:0;padding:var(--pad-tight);border-top:1px solid var(--line);background:var(--card)}.filebtn{display:inline-flex;align-items:center;justify-content:center;background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--sp-2) var(--pad-tight);min-height:var(--tap);font-size:14px;cursor:pointer}.filebtn input{display:none}.pill{background:var(--brand-soft);color:var(--brand);border-radius:var(--radius-pill);padding:3px 8px;font-size:10px;font-weight:700;white-space:nowrap}.scan-video{width:100%;max-height:46vh;border-radius:var(--radius);background:#000;object-fit:cover}.card.banner{border-color:var(--brand)}.mock-banner details{margin-top:var(--gap-tight)}.mock-banner summary{color:var(--muted);font-size:var(--fs-sm);cursor:pointer}.mock-banner .actions{flex-wrap:wrap}.mock-banner .actions button:not(.primary){background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--sp-2) var(--pad-tight);min-height:var(--tap);font:inherit;font-size:var(--fs-sm);cursor:pointer}.card.attention{border-color:var(--warn)}.settings{display:flex;flex-direction:column;padding-top:0;padding-bottom:0}.settings-row{display:flex;align-items:center;gap:var(--gap-tight);width:100%;min-height:var(--tap);background:none;border:none;border-bottom:1px solid var(--line);border-radius:0;color:var(--text);padding:var(--pad-tight) 0;font:inherit;font-size:var(--fs-base);text-align:left;cursor:pointer}.settings-row:last-child{border-bottom:none}.settings-row .grow{display:block;min-width:0}.settings-row .lbl{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-row .sub{color:var(--muted);font-size:var(--fs-xs);margin-top:2px}.settings-row .v{color:var(--muted);font-size:var(--fs-sm);max-width:50%;flex-shrink:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.settings-row .v.warn{color:var(--warn)}.settings-row .chev{color:var(--muted);font-size:var(--fs-lg);line-height:1}.settings-row{position:relative}.settings-row input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.settings-row:focus-within{outline:2px solid var(--brand);outline-offset:-2px;border-radius:var(--radius-sm)}.sheet-form{padding:var(--sp-2) var(--pad-tight) var(--pad-tight)}.sheet-row .g{font-size:var(--fs-lg);width:28px;text-align:center;flex-shrink:0}.sheet .sub,.sheet-row .sub{color:var(--muted);font-size:var(--fs-sm);font-weight:400;margin-top:2px}.sheet-row.on .sub{color:inherit;opacity:.8}.sheet-error{color:var(--warn);font-size:var(--fs-sm);padding:var(--sp-2) 0 0}.sheet-head{display:flex;align-items:flex-start;gap:var(--gap-tight);flex-shrink:0;position:-webkit-sticky;position:sticky;top:0;z-index:1;background:var(--card)}.sheet-head .sheet-title{flex:1 1}.sheet-close{background:none;border:none;color:var(--muted);cursor:pointer;min-width:var(--tap);min-height:var(--tap);font-size:var(--fs-md)}.sheet-close:disabled{opacity:.4;cursor:default}.fields button:active,.filebtn:active,.settings-row:active,.sheet-close:active,.sheet-row:active,.tabbar button:active,.tmpl button:active,button.danger:active,button.primary:active{filter:brightness(.9)}.settings-row:active,.sheet-row:active{border-radius:var(--radius-sm)}body{overflow-x:hidden}.card,.settings-row,.sheet-row{overflow-wrap:anywhere}.settings-row{min-height:72px;padding-block:14px;gap:12px}.settings-row .lbl{font-size:15px;font-weight:600;white-space:normal}.settings-row .v{display:block;max-width:none;margin-top:4px;font-size:13px;white-space:normal;line-height:1.45}.settings-row .chev{font-size:28px;flex-shrink:0}.settings-row .thumb{width:72px;height:44px;object-fit:cover;border-radius:8px}.store-status{padding:0}.store-status-body{padding:var(--pad)}.store-status>.settings-row{padding-inline:var(--pad);border-top:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius)}.store-dialog{max-width:520px;margin-inline:auto;padding:20px 16px}.store-dialog .sheet-head{align-items:center;margin-bottom:12px}.store-dialog .sheet-title{padding:0;font-size:19px;font-weight:700;color:var(--text)}.store-dialog .sheet-close{border-radius:50%;background:var(--bg)}.store-dialog .sheet-form{padding:0}.store-options{display:grid;grid-gap:12px;gap:12px}.store-option{min-height:72px;padding:14px;gap:12px;border:1px solid var(--line);border-radius:16px;font-size:16px}.store-option.on{border-color:var(--primary)}.store-option .g{width:36px;font-size:28px}.store-option .sub{margin-top:6px;font-size:14px;line-height:1.5}.store-option .grow{min-width:0}.store-option-check{width:22px;height:22px;border:2px solid var(--line);border-radius:50%;flex-shrink:0;display:grid;place-items:center;font-size:16px}.store-option.on .store-option-check{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.store-option-check.multiple{border-radius:6px}.store-help{margin:0 0 16px;font-size:14px;line-height:1.6;color:var(--muted)}.store-field{display:grid;grid-gap:8px;gap:8px;font-size:15px;font-weight:600}.store-field input,.store-field textarea{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--text);font:inherit;font-size:16px;font-weight:500}.store-field textarea{resize:vertical;line-height:1.5}.store-field input:focus,.store-field textarea:focus{outline:2px solid var(--brand);outline-offset:2px}.settings-actions>button,.store-dialog .fields>button{min-height:var(--tap);border-radius:var(--radius-pill);font:inherit;font-size:14px;font-weight:600;padding:10px 16px;cursor:pointer}.settings-actions{display:flex;gap:12px;margin-top:20px}.settings-actions>button{flex:1 1;min-width:0}.settings-actions>.filled-secondary{background:var(--surface-secondary);color:var(--text);border:1px solid transparent}.store-dialog button:disabled{opacity:.5;cursor:default}.branch-card,.branch-list{display:grid;grid-gap:16px;gap:16px}.branch-card{min-width:0;border:1px solid var(--line);border-radius:16px;padding:16px;margin:0}.branch-card legend{padding:0 6px;font-weight:600}.branch-add,.branch-back,.branch-remove{font:inherit;cursor:pointer;min-height:var(--tap);border-radius:var(--radius-pill);padding:10px 16px}.branch-add{width:100%;margin-top:16px;border:1px solid var(--brand);color:var(--brand);background:var(--brand-soft);font-weight:600}.branch-back{border:0;background:transparent;color:var(--brand);margin-bottom:12px}.branch-remove{border:0;background:var(--bg);color:var(--danger);justify-self:start}.cover-preview{width:100%;aspect-ratio:16/9;border:1px solid var(--line);border-radius:16px;background:var(--bg);overflow:hidden}.cover-preview img{display:block;width:100%;height:100%;object-fit:cover}.cover-placeholder{display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;height:100%;color:var(--muted);text-align:center}.cover-placeholder>span:first-child{font-size:36px}.cover-picker{position:relative;display:grid;place-items:center;min-height:var(--tap);border:1px solid transparent;border-radius:var(--radius-pill);background:var(--surface-secondary);color:var(--text);font-size:14px;font-weight:600}.cover-file-input[hidden]{display:none}.cover-picker:focus-within{outline:2px solid var(--brand);outline-offset:2px}.cover-picker.is-disabled{opacity:.5}.access-options{display:grid;grid-gap:12px;gap:12px;padding:0;margin:0;border:0;min-width:0}.access-options legend{font-size:15px;font-weight:600;margin-bottom:12px}.access-option{display:flex;align-items:center;gap:16px;min-height:80px;padding:16px;border:1px solid var(--line);border-radius:16px;cursor:pointer}.access-option b{font-size:16px}.access-option .sub{display:block;margin-top:6px;line-height:1.5}.access-option input{width:24px;height:24px;margin:0;accent-color:var(--primary);flex-shrink:0}.access-option.on{border-color:var(--primary);background:var(--surface-secondary)}.access-option:focus-within{outline:2px solid var(--brand);outline-offset:2px}.access-duration{display:grid;grid-gap:8px;gap:8px;margin-top:20px}.access-duration .store-help{font-weight:400;margin:0}.access-note{margin:20px 0 0}.order-access{margin-block:12px;padding:12px 14px;border-radius:12px;background:var(--brand-soft)}.order-access b{font-size:15px}.access-success{border-color:var(--brand);color:var(--brand)}.access-dialog{display:flex;flex-direction:column;overflow:hidden}.access-dialog>.branch-back{flex-shrink:0;align-self:flex-start;margin-bottom:8px}.access-form{display:flex;flex-direction:column;min-height:0}.access-form-body{min-height:0;overflow-y:auto;padding:2px 2px 4px;overscroll-behavior:contain}.access-dialog .settings-actions{flex-shrink:0;margin-top:16px}.member-list{display:grid;grid-gap:12px;gap:12px;list-style:none;margin:0 0 16px;padding:0}.member-row{display:flex;align-items:center;gap:12px;min-height:64px;padding:14px;border:1px solid var(--line);border-radius:16px}.member-row.self{border-color:var(--primary)}.member-row .grow{display:grid;grid-gap:4px;gap:4px;min-width:0}.member-row b{font-size:16px}.member-row .sub{margin:0;font-size:14px;line-height:1.5}.member-section-title{margin:0 0 12px;font-size:15px;font-weight:600}.members-dialog .settings-actions{margin-top:4px}.fields button,.filebtn,.item-delete-button,.mock-banner .actions button:not(.primary){border-radius:var(--radius-pill);font-size:14px}.field input,.field textarea,.fields input{font-size:16px}.sheet-close{border-radius:50%;background:var(--bg);padding:0}.sheet-head{align-items:center;padding-bottom:8px}.store-status-body>.row>button{padding-inline:18px;flex-shrink:0}.mock-banner{padding:10px 12px;background:transparent}.card.banner.mock-banner{border-color:var(--line)}.mock-banner>details{margin:0}.mock-banner summary{display:flex;align-items:center;gap:8px;min-height:24px;list-style:none}.mock-banner summary::-webkit-details-marker{display:none}.mock-banner summary:after{content:"+";margin-left:auto;font-size:18px}.mock-banner details[open]>summary:after{content:"−"}.mock-banner details>.sub{margin-top:12px}.brand-palette{display:flex;flex-wrap:wrap;gap:8px;border:0;padding:0;margin:16px 0}.brand-palette legend{margin-bottom:10px;font-weight:700}.brand-swatch{position:relative;color:#fff;border-radius:14px;padding:12px;cursor:pointer;font-size:13px}.brand-swatch input{position:absolute;opacity:0;width:100%;height:100%;inset:0;cursor:pointer}.brand-swatch:focus-within{outline:3px solid var(--text);outline-offset:3px}.brand-swatch:has(input:checked){outline:2px solid var(--text);outline-offset:2px}.brand-preview{background:#fff;padding:16px;border-radius:16px;margin-block:16px}.product-gallery-editor{display:flex;gap:12px;overflow-x:auto;padding-block:12px}.product-gallery-editor figure{margin:0;flex:0 0 96px}.product-gallery-editor img{width:96px;height:96px;object-fit:cover;border-radius:12px}.product-gallery-editor button{font-size:12px;padding:6px}.order-filters{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:var(--gap-tight);gap:var(--gap-tight)}.order-filters label,.order-status-filter{display:grid;grid-gap:6px;gap:6px;min-width:0;font-size:var(--fs-sm);font-weight:500}.order-filters input,.order-status-trigger{width:100%;min-width:0;min-height:44px;box-sizing:border-box;padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--bg);color:var(--text);font:inherit;font-size:16px}.order-filters input:focus-visible,.order-status-trigger:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.order-search-help{margin:0;color:var(--muted);font-size:var(--fs-sm)}.order-filter-summary{display:flex;justify-content:space-between;align-items:center;gap:var(--gap-tight);min-height:44px}.order-filter-summary button{min-height:44px;padding:8px 14px}@media (min-width:560px){.order-filters{grid-template-columns:minmax(0,1fr) minmax(160px,.6fr)}.order-filter-summary,.order-search-help{grid-column:1/-1}}.filter-toolbar{position:relative}.filter-toolbar.has-filter,.filter-toolbar[aria-expanded=true]{background:var(--brand-soft)}.filter-indicator{position:absolute;top:7px;right:7px;width:7px;height:7px;border-radius:50%;background:var(--brand)}.order-status-trigger{display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left}.order-status-options{display:grid;grid-gap:8px;gap:8px;overflow-y:auto;min-height:0;padding:var(--pad)}.order-status-options button{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:12px 18px;text-align:left;flex-shrink:0}.order-status-options button[aria-pressed=true]{background:var(--primary);color:var(--on-primary)}.order-status-options button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.order-status-sheet{display:flex;flex-direction:column;overflow:hidden;padding:0}.order-status-sheet .sheet-head{flex-shrink:0;padding:var(--pad);margin:0;border-bottom:1px solid var(--line)}.order-customer{display:flex;align-items:center;gap:10px;min-width:0}.order-customer-avatar{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border-radius:50%;overflow:hidden;background:var(--surface-secondary)}.order-customer-avatar img{width:100%;height:100%;object-fit:cover}.order-customer-avatar svg{width:22px;height:22px}.order-customer-info{min-width:0}.order-customer-name{overflow-wrap:anywhere}.order-card .order-heading{align-items:center}.order-detail{display:flex;align-items:flex-start;gap:6px}.order-detail svg{flex-shrink:0;width:18px;height:18px;margin-top:1px}.order-detail span{min-width:0;overflow-wrap:anywhere}.order-item-photo{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border-radius:12px;overflow:hidden;background:var(--surface-secondary);color:var(--muted)}.order-item-photo img{width:100%;height:100%;object-fit:cover}.order-item-photo svg{width:24px;height:24px}.order-contact-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:4px;gap:4px;min-width:92px}.order-contact-actions a,.order-contact-actions button{display:flex;align-items:center;justify-content:center;min-width:0;min-height:44px;padding:8px;border:1px solid transparent;border-radius:var(--radius-pill);background:var(--surface-secondary);color:var(--text);text-decoration:none}.order-contact-actions svg{width:20px;height:20px}.order-contact-actions a:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.discount-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;font-weight:600}.discount-toggle input{width:24px;height:24px;accent-color:var(--brand)}.item-discount .field{margin-top:12px}.hold-confirm{position:relative;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation}.hold-confirm-stroke{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.hold-confirm-stroke rect{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-dasharray:100 100;stroke-dashoffset:100;opacity:0;transition:stroke-dashoffset .16s cubic-bezier(.23,1,.32,1),opacity .16s}.hold-confirm[data-holding=true] .hold-confirm-stroke rect{stroke-dashoffset:0;opacity:1;transition:stroke-dashoffset 1s linear}.hold-confirm-hint{position:absolute;width:1px;height:1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}@media (prefers-reduced-motion:reduce){.hold-confirm-stroke rect{transition:opacity .16s}.hold-confirm[data-holding=true] .hold-confirm-stroke rect{stroke-dashoffset:0;transition:opacity .16s}}.branch-ops-title{margin:0 0 8px;font-size:var(--fs-md);font-weight:700}.branch-ops .store-help{margin-bottom:8px}.branch-ops-list{display:grid;list-style:none;margin:0;padding:0}.branch-ops-item{padding-block:14px;border-top:1px solid var(--line)}.branch-ops-item:first-child{padding-top:4px;border-top:none}.branch-ops-head{display:grid;grid-gap:4px;gap:4px;min-width:0}.branch-ops-name{font-size:16px}.branch-ops-status{font-weight:600}.branch-ops-status.ok{color:var(--brand)}.branch-ops-status.warn{color:var(--warn)}.branch-ops-status.muted{color:var(--muted)}.branch-ops-actions{flex-wrap:wrap;margin-top:12px}.branch-ops-actions>button{flex:1 1;min-width:0;font-weight:600}.branch-ops-item>.settings-row{min-height:56px;padding-block:10px}.branch-ops .branch-ops-note{color:var(--brand);margin-top:8px}.branch-ops .branch-ops-error,.branch-ops-error{color:var(--warn);font-size:var(--fs-sm);margin-top:8px}.hours-rest,.hours-toggle{display:flex;align-items:center;gap:10px;min-height:var(--tap);font-weight:600;cursor:pointer}.hours-rest input,.hours-toggle input{width:22px;height:22px;margin:0;accent-color:var(--primary);flex-shrink:0}.hours-day{display:grid;grid-gap:8px;gap:8px;min-width:0;margin:12px 0 0;padding:12px 14px;border:1px solid var(--line);border-radius:16px}.hours-day legend{padding:0 6px;font-weight:600}.hours-intervals{display:grid;grid-gap:8px;gap:8px}.hours-interval{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.time-field{width:84px;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--text);font:inherit;font-size:16px;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.time-field:focus{outline:2px solid var(--brand);outline-offset:2px}.hours-dash,.hours-overnight{color:var(--muted)}.hours-overnight{font-size:var(--fs-sm)}.hours-add,.hours-copy,.hours-remove{min-height:var(--tap);padding:8px 14px;border-radius:var(--radius-pill);font:inherit;font-size:14px;cursor:pointer}.hours-add,.hours-copy{justify-self:start;border:1px solid var(--brand);background:var(--brand-soft);color:var(--brand);font-weight:600}.hours-remove{margin-left:auto;border:0;background:var(--bg);color:var(--danger)}.pause-custom{display:grid;grid-gap:12px;gap:12px}.pause-custom,.pause-reason{margin-top:16px}.pause-reason-help{margin:8px 0 0}.branch-day-form{display:grid;grid-gap:12px;gap:12px}.branch-day-form .settings-actions{margin-top:8px}.sheet-note{padding:var(--sp-2) 0 0;color:var(--brand);font-size:var(--fs-sm)}.access-form>.sheet-error{flex-shrink:0}.order-card .order-scheduled.due{color:var(--brand)}:root{--chat-outgoing:#eaf0ff;--chat-outgoing-text:#2b6cff;--chat-send-start:#3d8cff;--chat-send-end:#0a33ab}.inbox-list{overflow:hidden;border-radius:20px;background:var(--card)}.thread-row+.thread-row{position:relative}.thread-row+.thread-row:before{content:"";position:absolute;top:0;inset-inline:82px 16px;height:1px;background:var(--line)}.thread-card{display:flex;align-items:center;gap:12px;width:100%;min-width:0;padding:16px;text-align:left;font:inherit;color:var(--text);background:transparent;border:0;border-radius:0;cursor:pointer}.thread-card:active{background:var(--surface-secondary)}.thread-card:focus-visible{outline:2px solid var(--brand);outline-offset:-3px}.customer-avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:52px;height:52px;overflow:hidden;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-size:20px;font-weight:600}.customer-avatar img{display:block;width:100%;height:100%;object-fit:cover}.thread-info{display:flex;flex-direction:column;gap:3px;flex:1 1;min-width:0}.thread-name{font-size:15px;line-height:20px;font-weight:600}.thread-name,.thread-preview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thread-preview{color:var(--muted);font-size:13px;line-height:18px}.thread-time{color:var(--muted);font-size:11px;line-height:16px}.thread-card.unread .thread-name,.thread-unread{font-weight:700}.thread-unread{flex-shrink:0;min-width:20px;height:20px;display:inline-flex;justify-content:center;align-items:center;padding-inline:5px;border-radius:999px;background:var(--chat-outgoing-text);color:#fff;font-size:10px}.chat-error{color:var(--warn);font-size:13px}.app.chat-app{position:fixed;inset-inline:0;top:0;height:100dvh;min-height:0;overflow:hidden;background:var(--bg)}.chat-header{flex-shrink:0;display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--line);background:var(--card)}.chat-header .customer-avatar{width:36px;height:36px;font-size:16px}.chat-header h1{min-width:0;flex:1 1;margin:0;font-size:20px;font-weight:700;line-height:24px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-header .chat-back{width:44px;height:44px;padding:10px;border:none;background:transparent}.chat-order{gap:10px;padding:12px;margin:12px 16px 0;border:1px solid var(--line);border-radius:18px;background:var(--card)}.chat-order,.chat-order-icon{flex-shrink:0;display:flex;align-items:center}.chat-order-icon{justify-content:center;width:34px;height:34px;border-radius:10px;color:var(--brand);background:var(--brand-soft)}.chat-order-icon svg{width:20px;height:20px}.chat-order-info{flex:1 1;min-width:0}.chat-order-detail,.chat-order-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.chat-order-heading strong{font-size:13px;font-weight:600}.chat-order-heading>span{color:var(--brand);font-size:11px;text-align:right}.chat-order-detail{color:var(--muted);font-size:11px;margin-top:4px}.chat-order-detail>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-order-detail>b{flex-shrink:0;color:var(--text);font-weight:500}.chat-messages{display:flex;flex-direction:column;align-items:flex-start;gap:4px;flex:1 1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:16px 20px;-webkit-overflow-scrolling:touch}.chat-empty{padding:20px;font-size:13px}.chat-date,.chat-empty{align-self:center;color:var(--muted);text-align:center}.chat-date{padding:6px 0;font-size:11px;line-height:16px;font-weight:500}.chat-message{display:flex;flex-direction:column;align-items:flex-start;flex-shrink:0;max-width:75%}.chat-message.mine{align-self:flex-end;align-items:flex-end}.chat-message.group-end{margin-bottom:12px}.message-bubble{min-width:0;max-width:100%;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--card);box-shadow:0 4px 3px rgb(13 26 64/8%)}.chat-message.mine .message-bubble{background:var(--chat-outgoing);color:var(--chat-outgoing-text);box-shadow:none}.message-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:18px;font-weight:500}.message-meta{display:flex;align-items:center;gap:4px;margin-top:4px;padding-inline:14px;color:var(--muted);opacity:.7;font-size:11px;line-height:14px;font-weight:500}.chat-feedback{flex-shrink:0;padding:8px 16px;color:var(--warn);font-size:13px}.chat-feedback button{margin-left:8px;min-height:36px;border:0;background:none;color:var(--brand);font:inherit;cursor:pointer}.chat-composer{flex-shrink:0;padding:14px 16px calc(12px + var(--safe-bottom));border-top:1px solid var(--line);background:var(--card)}.chat-composer-field{display:flex;align-items:flex-end;min-height:50px;padding:5px 6px 5px 14px;border:1px solid var(--line);border-radius:18px;background:var(--card)}.chat-composer-field:focus-within{border-color:var(--brand)}.chat-composer textarea{display:block;flex:1 1;min-width:0;min-height:38px;max-height:116px;margin:0;padding:9px 0;border:0;border-radius:0;background:transparent;color:var(--text);font:inherit;font-size:16px;line-height:20px;font-weight:500;resize:none}.chat-composer textarea::placeholder{color:var(--muted);opacity:1}.chat-composer textarea:focus-visible{outline:none}.chat-send{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:38px;min-height:38px;height:38px;margin:0 0 1px 8px;padding:9px;border:0;border-radius:50%;background:linear-gradient(135deg,var(--chat-send-start),var(--chat-send-end));color:#fff;cursor:pointer}.chat-send svg{display:block;width:20px;height:20px;transform:rotate(90deg)}.chat-send:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.chat-send:disabled{opacity:.35;cursor:default}