:root{
  --ink:#2b2118;
  --muted:#6d5848;
  --line:#e6d2c0;
  --bg:#f4ece4;
  --surface:#fffaf5;
  --peach:#c24b16;
  --green:#c24b16;
  --side:#fff4e8;
  --side-ink:#5a2a12;
  --side-line:#f0d3b8;
  --side-card:#fffaf4;
  --side-open:#ffe8d2;
  --side-active:#ff7a2f;
  --ok:#2f6a4a;
  --warn:#9a3f12;
  --danger:#a23030;
  --focus:#c24b16;
  --shadow:0 1px 0 #2b211814;
  --radius:6px;
  --font:"Source Han Sans SC","Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
  --mono:"IBM Plex Mono","SFMono-Regular",Menlo,monospace;
}
*{box-sizing:border-box;letter-spacing:0}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 var(--font)}
img{max-width:100%}
.skip-link{position:absolute;left:12px;top:-40px;z-index:40;background:var(--peach);color:#fff;padding:8px 12px;border-radius:var(--radius)}
.skip-link:focus{top:12px}
.app{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}
.side{position:sticky;top:0;align-self:start;height:100vh;overflow:auto;background:var(--side);color:var(--side-ink);padding:20px 14px;border-right:1px solid var(--side-line)}
.logo{font-size:22px;font-weight:800;margin:0 8px 20px;line-height:1.2;color:#9a3f12}
.logo small{display:block;margin-top:4px;font-size:13px;font-weight:500;color:#c56a32}
.side nav{display:grid;gap:6px;min-width:0}
.nav-group{min-width:0;background:var(--side-card);border:1px solid var(--side-line);border-radius:var(--radius)}
.nav-group summary{list-style:none;padding:12px 14px;color:#9a3f12;font-weight:700;cursor:pointer;font-size:16px}
.nav-group summary::-webkit-details-marker{display:none}
.nav-group summary:after{content:"";float:right;width:7px;height:7px;margin-top:6px;border-right:2px solid #e08a4f;border-bottom:2px solid #e08a4f;transform:rotate(45deg)}
.nav-group[open] summary:after{margin-top:8px;transform:rotate(-135deg)}
.nav-group summary:hover,.nav-group[open] summary{background:var(--side-open);color:#7a2e12}
.nav-group a{display:block;padding:10px 14px 10px 20px;color:#7a4630;text-decoration:none;overflow-wrap:anywhere;min-width:0;min-height:44px;display:flex;align-items:center;font-size:15px}
.side a[aria-current],.nav-group a:hover{background:var(--side-active);color:#fff}
main{padding:20px 28px 40px;width:100%;max-width:1480px;min-width:0}
header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:0 0 18px;padding-bottom:14px;border-bottom:1px solid var(--line);flex-wrap:wrap;position:sticky;top:0;z-index:8;background:linear-gradient(#f4ece4 80%,#f4ece400)}
.header-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
header form{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:4px 8px 4px 12px}
h1{margin:0;font-size:26px;font-weight:750}
h2{font-size:20px;margin:0 0 12px;overflow-wrap:anywhere}
.muted,small{color:var(--muted)}
small{display:block}
header p{margin:4px 0}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.stats article{background:var(--surface);border:1px solid var(--line);padding:16px 18px;border-radius:var(--radius);box-shadow:var(--shadow)}
.stats strong{display:block;font-size:28px;font-family:var(--mono);font-weight:650;letter-spacing:0}
.stats span{font-size:14px;color:var(--muted)}
section{margin-bottom:22px}
section > h2{padding-bottom:8px}
button,a.primary,.filters a,.coupon-actions a,.composer-back{font:inherit;padding:10px 16px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--radius);cursor:pointer;min-height:44px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:650}
button:hover,a.primary:hover,.filters a:hover,.coupon-actions a:hover{background:#fff}
.primary,button.primary,a.primary{background:var(--peach);border-color:var(--peach);color:#fff;font-weight:750;min-width:112px;font-size:16px}
.primary:hover,button.primary:hover,a.primary:hover{background:#a53e12;color:#fff;text-decoration:none}
.filters{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-bottom:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px;box-shadow:var(--shadow)}
.filters + .filters{margin-top:-6px}
.filters label{flex:1;min-width:160px;max-width:400px;font-size:14px;color:var(--muted)}
.filters button,.filters a{flex-shrink:0}
input,select,textarea{display:block;width:100%;max-width:100%;font:inherit;padding:11px 12px;border:1px solid #d9b89a;border-radius:var(--radius);background:#fff;color:var(--ink);min-height:44px}
label{display:block}
a{color:#9a3f12;overflow-wrap:anywhere}
a:hover{text-decoration:underline}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,.skip-link:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.table-wrap{width:100%;max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius)}
table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;min-width:600px}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);overflow-wrap:anywhere;max-width:360px}
th{position:sticky;top:0;background:#f6e4d4;font-size:14px;color:#7a2e12;font-weight:700}
td{font-size:15px}
tr:hover td{background:#fff6ee}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.product-cell{display:flex;align-items:center;gap:12px}
.product-cell img{object-fit:cover;flex-shrink:0;border-radius:var(--radius)}
.product-cell span{min-width:0}
.totals{display:grid;grid-template-columns:1fr auto;gap:8px;max-width:440px;margin:24px 0 24px auto}
.totals dd{margin:0}
.tag{display:inline-flex;align-items:center;background:#f6e4d4;color:var(--warn);padding:4px 10px;border-radius:999px;font-size:14px;font-weight:700;white-space:nowrap}
.edit-form,.login-form{max-width:460px}
body.login-page .app{grid-template-columns:minmax(0,1fr);place-items:center}
body.login-page .side{display:none}
body.login-page main>header{display:none}
body.login-page main{max-width:480px;padding:48px 20px}
.login-card{background:var(--surface);padding:28px;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);width:min(420px,100%)}
.login-card h1{font-size:24px;margin:0 0 4px}
.login-card .login-form{max-width:none;width:100%;padding:0;border:0;background:transparent;box-shadow:none}
.login-card .linkish{border:0;background:transparent;color:#9a3f12;min-height:32px;padding:0}
.login-card .linkish:hover{text-decoration:underline;background:transparent}
.login-form{background:var(--surface);padding:28px;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);width:min(420px,100%)}
.login-form p{display:grid;gap:6px}
.errorlist{padding-left:20px;color:var(--danger);overflow-wrap:anywhere}
.message{border-left:4px solid var(--peach);background:#fff3ea;padding:12px;border-radius:0 var(--radius) var(--radius) 0}
.pagination{display:flex;gap:16px;justify-content:center;align-items:center;margin-top:18px}
@media(max-width:900px){
  .app{grid-template-columns:minmax(0,1fr)}
  .side{position:static;height:auto;padding:14px 16px}
  .logo{font-size:18px;margin-bottom:12px}
  .logo small{display:none}
  .side nav{grid-template-columns:1fr;gap:6px}
  .nav-group summary{padding:10px 12px}
  .nav-group a{padding:10px 12px 10px 18px;text-align:left;font-size:15px}
  main{padding:16px}
  header{position:static}
  h1{font-size:24px}
  .stats{gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}
  .stats article{padding:12px 8px}
  .stats strong{font-size:22px}
  .filters label{max-width:none;min-width:0;flex-basis:100%}
  .filters button,.filters a{width:100%}
  header form{max-width:100%}
  header form span{overflow-wrap:anywhere;min-width:0}
  header form button{flex-shrink:0}
}
@media(max-width:700px){
  .app{grid-template-rows:auto 1fr}
  .side{align-self:start}
  .table-wrap th:last-child,.table-wrap td:last-child{position:sticky;right:0;background:#fff;box-shadow:-2px 0 3px #2b211810}
  .table-wrap th:last-child{background:#f6e4d4}
}
.task-entry{padding:16px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}
.task-entry h3{font-size:18px}
.task-entry button{margin-top:10px}
.edit-form input[type=checkbox]{display:inline-block;width:20px;height:20px;vertical-align:middle}
.edit-form select{min-width:0}
.catalog-photo{object-fit:contain;background:#fff;max-width:100%}
.description,pre{white-space:pre-wrap;overflow-wrap:anywhere}
section pre{font-size:14px}
.receipt-history table{min-width:0;table-layout:fixed}
.receipt-history th:nth-child(2){width:80px}
.receipt-history th:last-child,.receipt-history td:last-child{position:static;box-shadow:none}
@media(max-width:700px){.receipt-history th,.receipt-history td{padding:12px 8px}}
.coupon-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.coupon-actions + .receipt-history th:nth-child(2){width:28%}
.order-items table{min-width:0;table-layout:fixed}
.order-items th:first-child{width:32%}
.order-items th:nth-child(2){width:20%}
.order-items th:nth-child(3),.order-items th:last-child{width:24%}
.order-items th:last-child,.order-items td:last-child{position:static;box-shadow:none}
@media(max-width:700px){.order-items th,.order-items td{padding:12px 6px}}
#image-preview{display:block;width:100%;max-width:400px;aspect-ratio:1;height:auto;border:1px solid var(--line)}
#crop-editor{margin:18px 0}
#image-error{color:var(--danger)}
.image-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}
.image-list img{object-fit:contain;max-width:100%;background:#fff}
.image-list article{min-width:0;overflow-wrap:anywhere}
.catalog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:18px 0}
.catalog-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px;min-width:0;box-shadow:var(--shadow);display:flex;flex-direction:column}
.catalog-card img,.catalog-missing{width:100%;height:180px;object-fit:cover;background:#fff;border-radius:var(--radius)}
.catalog-missing{display:flex;align-items:center;justify-content:center;color:var(--muted)}
.catalog-card .pick{display:flex;align-items:center;gap:8px;margin:0 0 8px;min-width:0;color:var(--muted)}
.catalog-card .pick input{width:18px;height:18px;display:inline-block;flex-shrink:0}
.batch-sale{align-items:end}
.batch-sale .sale-reason{flex:1;min-width:220px;max-width:none}
.catalog-card h2{font-size:16px;margin:12px 0 6px}
.catalog-card h2 a{color:inherit;text-decoration:none}
.catalog-card .actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:stretch;margin-top:auto}
.catalog-card .actions a,.catalog-card .actions button{width:100%;min-height:40px;display:inline-flex;align-items:center;justify-content:center;text-align:center;padding:8px 6px}
.sale-reason{min-width:160px;flex:1}
.thread-list{display:grid;gap:6px;min-width:180px}
.thread-list a{display:block;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
.thread-list a[aria-current]{background:#fff3ea}
.message-layout{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr);gap:18px;align-items:start}
@media(max-width:700px){.message-layout{grid-template-columns:minmax(0,1fr)}.catalog-card img,.catalog-missing{height:140px}}
.composer{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,0.85fr);gap:20px;align-items:start}
.composer-form{display:grid;gap:16px;min-width:0}
#local-image{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0,0,0,0);pointer-events:none}
.composer-card,.buyer-preview{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;min-width:0}
.composer-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}
.composer-card h2,.buyer-preview h2{margin:0}
.composer-back{display:inline-flex;align-items:center;border:1px solid var(--line);background:#fff;border-radius:var(--radius);padding:8px 12px;text-decoration:none;min-height:40px}
.buyer-preview{position:sticky;top:16px;padding:0;overflow:hidden}
.preview-body{min-width:0;overflow-wrap:anywhere;padding:16px 18px 18px}
.composer-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.format-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0}
.format-bar button{min-height:32px;padding:4px 10px;background:transparent;border:0}
.copy-preview{border:1px solid var(--line);border-radius:var(--radius);padding:12px;background:#fff6ee;min-height:48px;overflow-wrap:anywhere}
.preview-photo{min-height:280px;display:flex;align-items:center;justify-content:center;background:#fff3ea;color:#c9a48a;overflow:hidden}
.preview-photo img{width:100%;height:280px;object-fit:contain;background:#fff}
.preview-missing{color:#b7aea6}
.preview-price{font-size:28px;font-weight:700;color:var(--peach);margin:12px 0 4px;background:#fff3ea;border-radius:var(--radius);padding:10px 12px}
.spec-chip{display:inline-block;border:1px solid var(--peach);color:var(--peach);border-radius:var(--radius);padding:6px 10px}
.preview-stock{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:10px}
.preview-original{color:var(--muted);text-decoration:line-through;min-height:1.2em}
.sku-row{border:1px solid var(--line);border-radius:var(--radius);padding:12px;margin-bottom:12px;min-width:0}
.sku-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.sku-grid p{display:flex;flex-direction:column;gap:6px;min-width:0}
.sku-grid .errorlist{margin:0;padding-left:18px}
.sku-flags{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.sku-flags input{width:auto;display:inline-block}
.spec-chip.is-active{background:var(--peach);color:#fff;border-color:var(--peach)}
#preview-specs{display:flex;flex-wrap:wrap;gap:8px}
#preview-specs .spec-chip{cursor:pointer}
s{color:var(--muted)}
.mark-red{color:var(--danger)}
.mark-green{color:var(--ok)}
.field-required label::after{content:' *';color:var(--danger)}
.pick-image{background:var(--green);border-color:var(--green);color:#fff;font-weight:600}
.image-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:12px 0}
.image-card{display:grid;gap:8px;min-width:0}
.image-thumb{aspect-ratio:1;border:1px dashed #cfc4ba;border-radius:var(--radius);background:#faf7f4;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;width:100%;padding:0;cursor:zoom-in}
.image-thumb img{width:100%;height:100%;object-fit:cover;pointer-events:none}
.image-card.is-main .image-thumb{border-style:solid;border-color:var(--green)}
.image-thumb .main-tag{position:absolute;left:6px;top:6px;background:var(--green);color:#fff;font-size:11px;padding:2px 6px;border-radius:4px}
.image-card-tools{display:grid;gap:6px}
.image-card-tools .image-order{width:100%;min-height:32px;font-size:13px;padding:4px 8px;background:#fff}
.image-order-actions{display:flex;gap:6px}
.image-order-actions button{flex:1;min-height:32px;padding:0 8px;font-size:12px}
.gallery-lightbox{position:fixed;inset:0;background:#1a1410cc;display:flex;align-items:center;justify-content:center;padding:24px;z-index:40;cursor:zoom-out}
.gallery-lightbox img{max-width:min(92vw,960px);max-height:88vh;object-fit:contain;border-radius:8px;background:#fff;box-shadow:0 12px 40px #0004}
#preview-color{margin:0 0 8px}
.buyer-preview .composer-card-head{padding:14px 18px 0;margin:0}
.image-url-field{margin-top:8px}
@media(max-width:900px){
  .composer,.composer-row,.sku-grid,.image-gallery{grid-template-columns:minmax(0,1fr)}
  .buyer-preview{position:static}
  .preview-photo,.preview-photo img{min-height:180px;height:180px}
  .header-tools{width:100%}
  .header-tools .composer-back{margin-left:auto}
}
.report-stats{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}
.filters input[type=checkbox]{width:20px;height:20px;display:inline-block;flex-shrink:0}
.filters .check{display:flex;align-items:center;gap:8px;max-width:none;min-width:0}
.row-actions{display:grid;gap:8px;min-width:0}
.row-actions form{display:grid;gap:8px;min-width:0}
.row-actions .sale-reason{min-width:0;max-width:100%}
.notice-form{max-width:720px}
.notice-form p{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.notice-form input[type=checkbox]{display:inline-block;width:18px;height:18px;flex-shrink:0}
.customer-picker{border:1px solid var(--line);border-radius:var(--radius);padding:12px;margin:12px 0;min-width:0}
.customer-picker legend{padding:0 6px}
.pick-card{display:grid;gap:2px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:10px;min-width:0}
.pick-card input{width:18px;height:18px;display:inline-block}
.pick-card small{display:block}
body.chat-page main{padding:0;max-width:none;background:#efe4d8}
body.chat-page main>header{display:none}
body.chat-page main>.message,body.chat-page main>.errorlist{margin:12px 16px}
.chat-app{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh;background:#efe4d8;overflow:hidden}
.chat-list{background:#fffaf5;overflow:auto;min-width:0;border-right:1px solid var(--line)}
.chat-search{padding:12px;border-bottom:1px solid var(--line)}
.chat-person{display:flex;gap:10px;align-items:center;padding:12px 14px;text-decoration:none;color:inherit;border-bottom:1px solid var(--line);min-width:0}
.chat-person-copy{min-width:0;flex:1}
.chat-person small{display:block;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-person[aria-current]{background:#fff3ea}
.avatar{width:36px;height:36px;border-radius:50%;background:var(--ok);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}
.bubble-row.mine .avatar{background:#f0b089;color:#5c3d2e}
.chat-panel{display:flex;flex-direction:column;min-width:0;min-height:0}
.chat-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 16px;background:#fffaf5;border-bottom:1px solid var(--line)}
.chat-who{display:flex;gap:10px;align-items:center;min-width:0}
.chat-head h2{margin:0;font-size:18px}
.chat-thread{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:10px}
.chat-empty{text-align:center;padding:40px 12px}
.bubble-row{display:flex;gap:8px;align-items:flex-end}
.bubble-row.mine{justify-content:flex-end;flex-direction:row}
.bubble{max-width:min(72%,420px);background:#fff;border-radius:12px 12px 12px 4px;padding:8px 10px;min-width:0;overflow-wrap:anywhere}
.bubble-row.mine .bubble{background:#f0b089;border-radius:12px 12px 4px 12px}
.bubble small{display:block;color:#746960;margin-bottom:4px}
.bubble-row.mine .bubble small{color:#5c3d2e}
.bubble-text{margin:0}
.chat-card{display:flex;gap:8px;text-decoration:none;color:inherit;background:#fff;border-radius:var(--radius);padding:8px;min-width:0}
.bubble-row.mine .chat-card{background:#fff8f3}
.chat-card img{width:64px;height:64px;object-fit:cover;border-radius:6px;flex-shrink:0;background:#f3f1ee}
.chat-photo{display:block}
.chat-photo img{max-width:180px;max-height:220px;border-radius:8px;object-fit:cover;background:#fff}
.chat-card div{min-width:0;display:grid;gap:2px}
.chat-card .price{color:var(--peach);font-weight:700}
.chat-composer{background:#fffaf5;border-top:1px solid var(--line);padding:10px 16px 16px}
.chat-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.chat-tool{min-height:36px;padding:6px 12px}
.chat-tool[aria-pressed="true"],#voice-hold.is-recording{background:#fff3ea;border-color:#f0b089}
.chat-text{display:flex;gap:8px;align-items:center}
.chat-text input{flex:1;min-width:0}
.chat-sheet{margin-top:10px;max-height:240px;overflow:auto;border-top:1px solid var(--line);padding-top:10px}
.picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.picker-grid form{background:#f8f1eb;border:1px solid var(--line);border-radius:var(--radius);padding:10px;min-width:0}
.picker-grid img{width:100%;height:80px;object-fit:cover;border-radius:6px;background:#fff}
.picker-grid p{margin:6px 0;overflow-wrap:anywhere}
audio{width:100%;max-width:240px}
@media(max-width:700px){
  .chat-app{grid-template-columns:minmax(0,1fr);min-height:calc(100vh - 72px)}
  .chat-list{display:flex;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line)}
  .chat-person{min-width:168px;border-bottom:0;border-right:1px solid var(--line)}
  .chat-search{min-width:180px}
  .bubble{max-width:78%}
  .chat-text{flex-wrap:wrap}
  .chat-text button{width:100%}
}
.home-hero{width:100%;max-width:640px;aspect-ratio:2/1;height:auto;object-fit:cover;border-radius:var(--radius);background:#fff}
.catalog-card .price{color:var(--peach);font-weight:700;margin:6px 0 0}
.home-module{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin:0 0 16px;box-shadow:var(--shadow)}
.home-module h2{margin:0 0 6px}
.home-module > .muted{margin:0 0 12px}
.banner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.banner-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px;min-width:0}
.banner-card-title{margin:0 0 8px;font-weight:700}
.image-picker{display:grid;gap:8px;justify-items:start}
.image-picker-preview{width:100%;max-width:360px;height:140px;object-fit:cover;border-radius:8px;background:#f3ece6}
.image-picker-empty{width:100%;max-width:360px;height:140px;display:grid;place-items:center;background:#f7f1ea;border:1px dashed #d9b89a;border-radius:8px;color:var(--muted)}
.image-picker-actions{display:flex;gap:8px;flex-wrap:wrap}
.image-picker-button{cursor:pointer}
.image-picker-button input{display:none}
@media(max-width:900px){.banner-grid{grid-template-columns:minmax(0,1fr)}}
body.homepage-ops main{max-width:none}
.homepage-workbench{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:24px;align-items:start}
.phone-preview{position:sticky;top:72px;justify-self:end;width:390px;max-width:100%}
.phone-preview-label{margin:0 0 10px;font-weight:700}
.phone-shell{width:375px;max-width:100%;height:760px;margin:0 auto;background:#111;border:12px solid #1c1410;border-radius:36px;box-shadow:0 18px 40px #2b211833;display:grid;grid-template-rows:auto auto minmax(0,1fr) 52px;overflow:hidden;position:relative}
.phone-notch{position:absolute;top:8px;left:50%;width:118px;height:22px;margin-left:-59px;background:#0b0b0b;border-radius:16px;z-index:2}
.phone-status{display:flex;justify-content:space-between;color:#f7efe8;font-size:11px;padding:10px 22px 6px;font-family:var(--mono)}
.phone-screen{background:#f7f1ea;overflow:auto;padding:8px 12px 16px;min-width:0}
.phone-brand{margin:8px 0 10px;font-size:16px;font-weight:800}
.phone-brand span{display:block;margin-top:2px;font-size:12px;font-weight:400;color:var(--muted)}
.phone-search{margin:0 0 12px;padding:10px 12px;background:#fff;border-radius:18px;color:#a99a8f;font-size:13px}
.phone-hero{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:8px;margin-bottom:10px}
.phone-hero figure{margin:0;min-width:100%;scroll-snap-align:start}
.phone-hero img,.phone-hero .home-hero{width:100%;max-width:none;height:152px;aspect-ratio:auto;object-fit:cover;border-radius:18px;background:#fff}
.phone-hero figcaption{font-size:11px;color:var(--muted);margin-top:4px}
.phone-notice{margin:0 0 12px;padding:10px 12px;background:#fff5ed;color:#875747;border-radius:16px}
.phone-section{margin-bottom:14px}
.phone-section-title{display:flex;justify-content:space-between;gap:8px;align-items:center;font-weight:700;margin:0 0 8px}
.phone-section-title span{font-weight:700;color:#fff;background:#d9875b;font-size:12px;padding:4px 10px;border-radius:999px}
.phone-offers,.phone-products{display:grid;gap:8px}
.phone-offers article,.phone-products .catalog-card{background:#fff;border:0;border-radius:16px;padding:10px;box-shadow:none}
.phone-products{grid-template-columns:repeat(2,minmax(0,1fr))}
.phone-products .catalog-card img,.phone-products .catalog-missing{height:112px;border-radius:12px}
.phone-products .catalog-card h2{font-size:13px;margin:8px 0 4px}
.phone-cats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.phone-cats p{margin:0;text-align:center;font-size:11px;background:#fff;border-radius:14px;padding:12px 4px;overflow-wrap:anywhere}
.phone-tabbar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:#fffaf5;border-top:1px solid #ead9cb;color:#8a7466;font-size:11px}
.phone-tabbar span{display:flex;align-items:center;justify-content:center}
.phone-tabbar .is-active{color:var(--peach);font-weight:700}
@media(max-width:1100px){
  .homepage-workbench{grid-template-columns:minmax(0,1fr)}
  .phone-preview{position:static;width:100%;justify-self:stretch}
}
.home-preview{margin-top:12px}
.homepage-form{max-width:none}
.home-picker .pick-card{cursor:pointer}
.home-picker .pick-card .pick{margin-bottom:8px}
.copy-editor{min-height:160px;border:1px solid var(--line);border-radius:var(--radius);padding:12px;background:#fff;overflow-wrap:anywhere}
.copy-editor:focus{outline:3px solid var(--ok);outline-offset:3px}
.copy-editor h3{margin:0 0 8px;font-size:16px}
.copy-editor ul{margin:0;padding-left:20px}
#id_description[hidden]{display:none}
.catalog-card .actions form{display:block;min-width:0}
.confirm-dialog{position:fixed;inset:0;background:#2b211888;display:flex;align-items:center;justify-content:center;padding:16px;z-index:20}
.confirm-dialog[hidden]{display:none}
.confirm-dialog form{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;width:min(420px,100%);display:grid;gap:12px}
.confirm-dialog p{margin:0;font-weight:700}
.confirm-dialog .actions{display:flex;justify-content:flex-end;gap:8px}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *{transition:none !important;animation:none !important}
}

.chat-person .avatar{position:relative}
.unread-dot{position:absolute;top:-2px;right:-2px;width:10px;height:10px;border-radius:50%;background:#e23d2d;border:2px solid #fff;display:block}
.unread-mark{margin-left:6px;color:#e23d2d;font-size:12px;font-weight:700}

.order-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.order-actions a,.order-actions button{min-height:44px;padding:10px 16px;font-size:16px;font-weight:700}
.order-meta p{font-size:16px;margin:8px 0}
.muted{font-size:15px}

.order-number{position:relative;display:inline-block;padding-right:12px}
.order-number.has-dot{font-weight:800}
.order-number .unread-dot{top:2px;right:-2px;border-color:#fff}
tr.needs-attention td:first-child{font-weight:700}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.order-hero{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);margin-bottom:22px}
.order-hero h2{margin:0 0 8px}
.next-action{font-size:18px;font-weight:750;color:#9a3f12;margin:10px 0 0}
.order-hero .order-actions{margin:0}
.back-link{margin:0 0 12px}
.fold{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px 16px;margin-bottom:14px}
.fold summary{cursor:pointer;font-weight:700}
.fold p{margin:8px 0}
