/* Scoped corrections for the Sil's workspace; storefront dimensions stay unchanged. */
.campaign-copy>p,.welcome-box p { white-space:pre-line; }
.category-choice .category-custom-photo { width:24px; height:24px; object-fit:cover; border-radius:6px; flex:none; }
.admin-page { height:100dvh; overflow:hidden; }
.admin-page #main { height:calc(100dvh - 100px); overflow:hidden; }
.admin-page .admin-shell { height:100%; min-height:0; }
.admin-page .admin-sidebar { position:static; top:auto; height:100%; overflow-y:auto; }
.admin-page .admin-content { height:100%; overflow-y:auto; }
.admin-page.dialog-open .admin-content { overflow:hidden; }
.admin-content { min-width:0; }
.admin-page .admin-logo-preview { display:block; width:240px; max-width:100%; height:80px; object-fit:contain; border-radius:0; border:0; }
.admin-page .brand-logo-preview-row { flex-wrap:wrap; gap:18px; padding:18px; }
.admin-page .brand-logo-preview-row .muted { flex:1 1 200px; font-size:12px; }
.admin-page .admin-stats { align-items:stretch; }
.admin-page .admin-stats strong { overflow-wrap:anywhere; }
.admin-page .admin-stats>div { background:#fffcf6; }
.admin-page .birthday-badge { background:#f5e7d5; border-color:#dfc3a2; color:var(--pink-dark); }
.admin-page .bday-wa-btn { background:#586b43 !important; border-color:#586b43 !important; }
.admin-page .featured-star { display:inline-flex; vertical-align:middle; color:var(--pink); }
.admin-page .featured-star svg { width:15px; height:15px; fill:#f1dec3; }
.admin-page .product-admin-row>div:has(>strong) { min-width:0; }
.admin-page .product-admin-row>div>strong { overflow-wrap:anywhere; }
.admin-page .product-admin-actions { flex-wrap:wrap; gap:7px; }
.admin-page .product-admin-actions>[data-action="admin-prod-move"] { display:none; }
/* Product ordering occupies a fixed rail, never a share of the entire row. */
.admin-page #product-admin-list .product-admin-row { display:grid; grid-template-columns:32px 68px minmax(160px,1fr) 44px auto; align-items:center; gap:16px; padding:16px 18px; background:#fffdf8; border-radius:10px; margin-bottom:10px; }
.admin-page #product-admin-list .prod-order-btns { display:grid; grid-template-columns:1fr; width:32px; gap:4px; margin:0; }
.admin-page #product-admin-list .prod-order-btns button { display:grid; place-items:center; width:32px; height:32px; min-height:32px; padding:0; font-size:0; background:#faf4e9; border-color:#e4d4c0; border-radius:6px; }
.admin-page #product-admin-list .prod-order-btns svg { width:15px; height:15px; }
.admin-page #product-admin-list .product-admin-row>img { width:68px; height:76px; object-fit:cover; border-radius:8px; }
.admin-page #product-admin-list .product-admin-row>div>strong { font-size:15px; line-height:1.4; margin-bottom:4px; }
.admin-page #product-admin-list .product-admin-row>div>span { display:block; font-size:12px; line-height:1.5; }
.admin-page #product-admin-list .product-admin-actions { display:flex; width:auto; justify-content:flex-end; align-items:center; gap:8px; }
.admin-page #product-admin-list .product-admin-actions .button { min-height:40px; padding:8px 12px; font-size:12px; gap:7px; white-space:nowrap; flex:none; }
.admin-page #product-admin-list .product-admin-actions .button svg { width:16px; height:16px; flex:none; }
.admin-page #product-admin-list .product-admin-actions .icon-button,.admin-page #product-admin-list .product-admin-actions .danger { width:40px; height:40px; padding:0; }
.admin-page .admin-filters .search-field { flex:1 1 240px; }
.admin-page .admin-filters>select { flex:0 1 210px; min-width:150px; }
.admin-page .admin-filters>.button { flex:none; white-space:nowrap; }
.admin-page .admin-brand-toggle { min-width:0; flex-wrap:wrap; }
.admin-page .admin-brand-toggle>.payment-brand { flex:none; }
.admin-page .admin-brand-toggle input { flex:0 0 18px; }
.admin-page .admin-brand-toggle>span:last-child:not(.payment-brand) { font-size:12px; }
.admin-page .admin-payment-brands-list { grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
.admin-page .delivery-row input { min-width:0; }
.admin-page .delivery-row .neigh-fee { max-width:140px; }
.admin-page .admin-login { width:calc(100% - 32px); box-sizing:border-box; }
.admin-page .admin-login>img { width:220px; max-width:100%; height:auto; margin-bottom:20px; }
.admin-page .admin-load-error>svg { width:36px; height:36px; color:var(--pink); }
.admin-page .admin-load-error .text-link { display:block; margin-top:18px; }
.admin-modal { max-height:calc(100dvh - 32px); overflow:auto; }
.admin-modal .modal-head { gap:14px; align-items:flex-start; }
.admin-modal .modal-head h2 { min-width:0; overflow-wrap:anywhere; }
.admin-modal .modal-head .icon-button { flex:0 0 44px; }
.admin-modal .admin-form,.admin-modal .admin-form fieldset,.admin-modal .admin-form label,.admin-modal .field-pair>* { min-width:0; }
.admin-modal .admin-form input:not([type=checkbox]):not([type=radio]),.admin-modal .admin-form select { min-width:0; max-width:100%; }
.admin-modal .contains-row { grid-template-columns:minmax(0,1fr) 70px 36px; }
.admin-modal .rich-area { overflow-wrap:anywhere; }
/* The outer picker groups sections; only its inner photo grid has columns. */
.admin-modal #gallery-picker { display:block; min-width:0; width:100%; }
.admin-modal .gallery-upload-bar { display:flex; flex-direction:column; align-items:stretch; gap:8px; margin-bottom:18px; }
.photo-picker-field { display:block; min-width:0; }
.admin-photo-picker { position:relative; display:flex; flex-wrap:wrap; align-items:center; gap:14px; width:100%; min-width:0; padding:18px; background:#fffdf8; border:1px dashed #cbaa87; border-radius:10px; cursor:pointer; transition:background .15s,border-color .15s; }
.admin-photo-picker:hover { background:#faf0e2; border-color:var(--pink-dark); }
.admin-photo-picker:focus-within { outline:2px solid var(--pink-dark); outline-offset:3px; }
.photo-picker-symbol { display:grid; place-items:center; flex:0 0 44px; height:44px; border-radius:9px; background:#f4e7d7; color:var(--pink-dark); }
.photo-picker-symbol svg { width:22px; height:22px; }
.photo-picker-copy { display:flex; flex:1 1 160px; min-width:0; flex-direction:column; gap:5px; }
.photo-picker-copy strong { font:600 14px/1.4 var(--sans); color:var(--ink); }
.photo-picker-copy>span { font:400 12px/1.5 var(--sans); color:var(--muted); }
.photo-picker-button { display:flex; flex:none; align-items:center; justify-content:center; gap:8px; padding:10px 14px; min-height:44px; border-radius:7px; background:var(--pink-dark); color:#fff; font:600 12px/1.4 var(--sans); }
.photo-picker-button svg { width:16px; height:16px; }
.admin-page .admin-photo-picker>input[type=file],.admin-modal .admin-photo-picker>input[type=file] { position:absolute; inset:0; opacity:0; width:100%; height:100%; margin:0; padding:0; cursor:pointer; }
.photo-picker-status { display:block; margin-top:8px; color:var(--muted); font:400 12px/1.5 var(--sans); overflow-wrap:anywhere; }
.admin-modal .gallery-tray-wrap { min-width:0; background:#f8efe2; border-color:#e5d1b7; padding:14px; border-radius:10px; }
.admin-modal .gallery-tray-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; overflow:visible; }
.admin-modal .gallery-tray-card { min-width:0; padding:8px; box-shadow:none; border-color:#e3d4c0; }
.admin-modal .gallery-tray-card img { width:100%; height:auto; aspect-ratio:1; object-fit:cover; }
.admin-modal .tray-num { top:12px; left:12px; padding:2px 7px; font-size:11px; }
.admin-modal .tray-btns { width:100%; justify-content:center; gap:5px; margin-top:8px; }
.admin-modal .tray-btn { width:36px; height:36px; border-radius:6px; color:var(--pink-dark); border-color:#e1cfb8; }
.admin-modal .tray-btn svg { width:16px; height:16px; }
.admin-modal .tray-rm { color:#945849; background:#fcf5ed; }
.admin-modal .gallery-picker-grid { grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
.admin-modal .gpick { width:100%; display:block; border-radius:8px; }
.admin-modal .gpick.selected span { background:#9c461b55; }
.admin-modal:has(.production-sheet-view) { width:min(960px,calc(100vw - 32px)); }
.production-sheet-view { color:var(--ink); padding:0; font-size:14px; }
.production-sheet-view .sheet-header { align-items:center; gap:20px; border-bottom:1px solid #e2c9ac; padding:0 0 22px; margin:0 0 22px; }
.production-sheet-view .sheet-brand { display:flex; align-items:center; gap:18px; min-width:0; }
.production-sheet-view .sheet-brand>img { width:58px; height:66px; object-fit:contain; flex:none; }
.production-sheet-view .sheet-header h1 { font:600 32px/1.1 var(--serif); color:var(--pink-dark); letter-spacing:-.04em; }
.production-sheet-view .sheet-subtitle { font-size:12px; color:var(--muted); margin-top:6px; }
.production-sheet-view .sheet-code { font:600 16px/1.4 var(--sans); color:var(--ink); white-space:nowrap; }
.production-sheet-view .sheet-badge-method { background:#f3e4d2; color:var(--pink-dark); font-size:10px; letter-spacing:.07em; border-radius:5px; padding:5px 10px; }
.production-sheet-view .sheet-grid { gap:14px; margin-bottom:14px; }
.production-sheet-view .sheet-box { padding:18px; background:#fffdf8; border:1px solid #e5d5c2; border-radius:9px; }
.production-sheet-view .sheet-box.full-width { margin-bottom:14px; }
.production-sheet-view .sheet-box-title { display:flex; align-items:center; gap:9px; font-size:11px; color:var(--pink-dark); letter-spacing:.06em; margin-bottom:12px; }
.production-sheet-view .sheet-box-title svg { width:17px; height:17px; flex:none; }
.production-sheet-view .sheet-box p { margin:5px 0 0; font-size:13px; line-height:1.55; overflow-wrap:anywhere; }
.production-sheet-view .sheet-highlight { color:var(--ink); font-size:16px !important; }
.production-sheet-view .sheet-items-list { margin:0; gap:10px; }
.production-sheet-view .sheet-item-row { align-items:center; gap:14px; padding:12px; border:1px solid #eadfce; border-radius:7px; background:white; }
.production-sheet-view .sheet-checkbox { width:18px; height:18px; border:1px solid #b29b83; border-radius:3px; flex:none; }
.production-sheet-view .sheet-item-photo { width:64px; height:72px; object-fit:cover; border-radius:5px; flex:none; }
.production-sheet-view .sheet-item-info { min-width:0; }
.production-sheet-view .sheet-item-info strong { font:600 14px/1.45 var(--sans); color:var(--ink); }
.production-sheet-view .sheet-item-sub { font-size:12px; color:var(--muted); }
.production-sheet-view .sheet-item-dedication { background:#faf1e5; color:#76563b; font-size:12px; padding:8px; }
.production-sheet-view .sheet-card-box { background:#f6ebdc !important; border-color:#dfc6a7 !important; }
.production-sheet-view .sheet-card-msg { font:400 17px/1.6 var(--serif); color:var(--ink); border-left:2px solid #bc5d26; background:#fffaf3; padding:14px 18px; }
.production-sheet-view .sheet-obs-box { background:#f9f2e8 !important; border-color:#e6d3ba !important; color:var(--ink); }
.production-sheet-view .sheet-actions { gap:12px; padding-top:18px; border-color:#e2c9ac; }
.production-sheet-view .sheet-actions .button { min-height:46px; padding-inline:22px; gap:9px; }
.production-sheet-view .sheet-actions svg { width:18px; height:18px; }
@media(max-width:1100px) {
  .admin-page #product-admin-list .product-admin-row { grid-template-columns:32px 64px minmax(0,1fr) 44px; }
  .admin-page #product-admin-list .product-admin-actions { grid-column:3/-1; justify-content:flex-start; }
  .admin-page #product-admin-list .product-admin-row>img { grid-row:1/3; height:80px; }
  .admin-page #product-admin-list .prod-order-btns { grid-row:1/3; }
}
@media(min-width:801px) and (max-height:850px) {
  .admin-sidebar { overflow-y:auto; }
  .admin-sidebar nav { flex-shrink:0; }
  .admin-sidebar .logout { margin-top:16px; }
}
@media(max-width:800px) {
  .admin-page #main { height:calc(100dvh - 82px); }
  .admin-page .admin-shell { grid-template-rows:auto minmax(0,1fr); }
  .admin-page .admin-sidebar { height:auto; max-height:55dvh; overflow-y:auto; }
  .admin-page .admin-content { padding:24px 18px 36px; }
  .admin-page .admin-heading { align-items:flex-start; gap:12px; }
  .admin-page .admin-heading>div { min-width:0; }
  .admin-page .admin-heading h1 { font-size:28px; }
  .admin-page .admin-heading .icon-button { flex:0 0 44px; }
  .admin-page .admin-filters { gap:10px; }
  .admin-page .admin-form { max-width:100%; }
  .admin-page .admin-payment-brands-list { grid-template-columns:1fr; }
  .admin-page .delivery-city-bar>label { min-width:0 !important; flex:1 1 100% !important; }
  .admin-page .delivery-row .neigh-fee { flex:0 0 92px !important; max-width:92px; }
  .admin-page .delivery-row .icon-button { flex:0 0 32px; }
}
@media(max-width:560px) {
  .admin-page .admin-form fieldset { padding:16px; }
  .admin-page .admin-form legend { font-size:20px; line-height:1.3; }
  .admin-page .admin-form input:not([type=checkbox]):not([type=radio]),.admin-modal input:not([type=checkbox]):not([type=radio]) { font-size:16px; }
  .admin-page .product-admin-row { padding:14px; gap:12px; }
  .admin-page .product-admin-actions { width:100%; }
  .admin-page .admin-brand-toggle { gap:12px; }
  .admin-page .brand-logo-preview-row { padding:14px; }
  .admin-modal { width:calc(100vw - 24px); max-width:calc(100vw - 24px); }
  .admin-modal .admin-modal-body { padding:18px; }
  .admin-modal .field-pair { grid-template-columns:1fr; }
  .admin-modal .form-actions { flex-wrap:wrap; }
  .admin-photo-picker { flex-wrap:wrap; gap:12px; padding:14px; }
  .photo-picker-button { flex:1 1 100%; }
  .admin-modal .gallery-picker-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .admin-modal .gallery-tray-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .admin-modal .gallery-tray-wrap { padding:10px; }
  .admin-modal .tray-btn { width:32px; height:36px; }
  .admin-modal .contains-row { grid-template-columns:minmax(0,1fr) 54px 32px; gap:6px; }
  .admin-modal .form-actions .button { flex:1 1 100%; }
  .admin-page #product-admin-list .product-admin-row { grid-template-columns:30px 52px minmax(0,1fr) 36px; padding:13px; gap:10px; }
  .admin-page #product-admin-list .product-admin-row>img { width:52px; height:64px; grid-row:1; }
  .admin-page #product-admin-list .prod-order-btns { width:30px; grid-row:1; }
  .admin-page #product-admin-list .prod-order-btns button { width:30px; height:30px; min-height:30px; }
  .admin-page #product-admin-list .product-admin-actions { grid-column:2/-1; gap:8px; }
  .admin-page #product-admin-list .product-admin-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .admin-page #product-admin-list .product-admin-actions .button,.admin-page #product-admin-list .product-admin-actions .icon-button,.admin-page #product-admin-list .product-admin-actions .danger { width:100%; justify-content:center; padding:9px; }
  .admin-page #product-admin-list .product-admin-actions a[title="Ver na loja"]::after { content:'Ver'; }
  .admin-page #product-admin-list .product-admin-actions .danger::after { content:'Excluir'; }
  .admin-page #product-admin-list .product-admin-actions .button { min-height:44px; font-size:12px; }
  .admin-page #product-admin-list .product-admin-row>div>strong { font-size:14px; }
  .production-sheet-view .sheet-header { align-items:flex-start; flex-wrap:wrap; gap:14px; }
  .production-sheet-view .sheet-brand { gap:12px; }
  .production-sheet-view .sheet-brand>img { width:44px; height:52px; }
  .production-sheet-view .sheet-header h1 { font-size:27px; }
  .production-sheet-view .sheet-order-tag { text-align:left; padding-left:56px; }
  .production-sheet-view .sheet-grid { grid-template-columns:1fr; gap:12px; }
  .production-sheet-view .sheet-box { padding:15px; }
  .production-sheet-view .sheet-item-row { align-items:flex-start; gap:9px; padding:10px; }
  .production-sheet-view .sheet-item-photo { width:48px; height:56px; }
  .production-sheet-view .sheet-actions { flex-direction:column; }
  .production-sheet-view .sheet-actions .button { width:100%; }
}
@media print {
  .admin-page { height:auto; overflow:visible; }
  .admin-page #main { display:none !important; }
  .admin-modal:has(.production-sheet-view) { max-height:none !important; overflow:visible !important; }
  .production-sheet-view .sheet-box,.production-sheet-view .sheet-item-row { break-inside:avoid; background:#fff !important; }
  .production-sheet-view .sheet-card-msg { background:#fff; border-left-color:#000; }
  .production-sheet-view .sheet-item-photo { width:48px; height:54px; }
  .production-sheet-view .sheet-header h1 { font-size:24px; color:#000; }
  .production-sheet-view .sheet-actions { display:none !important; }
}
