html{font-size:17px}
body{font-family:'Zen Maru Gothic',sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;padding-bottom:2rem}

/* ===== HEADER ===== */
.header{position:sticky;top:0;z-index:200;background:var(--nav-bg);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:.5rem .8rem;border-bottom:1px solid var(--nav-border);gap:.4rem}
.header-logo{font-family:Quicksand,sans-serif;font-size:.8rem;color:var(--nav-accent);font-weight:700;text-decoration:none;text-align:center;min-width:0}
.header-right{display:flex;justify-content:flex-end;min-width:0}
/* ===== HAMBURGER ===== */
.hamburger{background:none;border:none;cursor:pointer;display:flex;flex-direction:column;justify-content:center;gap:5px;width:32px;height:32px;padding:2px;flex-shrink:0;position:relative}
.hamburger span{display:block;width:22px;height:2px;background:var(--nav-muted);border-radius:2px;transition:.25s}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
/* ===== BADGE ===== */
.nav-badge{position:absolute;top:-2px;right:-4px;min-width:16px;height:16px;background:#e05a6a;color:#fff;border-radius:100px;font-size:.5rem;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px;line-height:1;border:2px solid var(--nav-bg);}
.nav-item-badge{margin-left:auto;min-width:16px;height:16px;background:#e05a6a;color:#fff;border-radius:100px;font-size:.5rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;padding:0 4px;line-height:1;}
.nav-item-dot{margin-left:.4rem;width:8px;height:8px;background:#e05a6a;border-radius:100px;display:inline-block;flex-shrink:0;}
/* ===== NAV DRAWER ===== */
.nav-drawer{display:none;position:fixed;top:49px;left:0;right:0;bottom:0;z-index:190;background:rgba(0,0,0,.4)}
.nav-drawer.open{display:block}
.nav-panel{position:absolute;top:0;left:0;width:220px;height:100%;background:var(--nav-bg);border-right:1px solid var(--nav-border);padding:.5rem 0;overflow-y:auto}
.nav-item{display:flex;align-items:center;gap:.6rem;padding:.7rem 1.2rem;color:var(--nav-muted);text-decoration:none;font-size:.85rem;transition:.15s}
.nav-item:hover{background:rgba(255,255,255,.05)}
.nav-item.active{color:var(--nav-accent);font-weight:700;background:rgba(232,160,180,.1)}
.nav-item-guide{color:#b8d4a8}
.nav-divider{border:none;border-top:1px solid var(--nav-border);margin:.4rem 0}
.nav-section-label{padding:.3rem 1.2rem .1rem;font-size:.6rem;color:var(--nav-muted);letter-spacing:.08em;font-weight:700}
.nav-user{display:flex;flex-direction:column;gap:.5rem;padding:.6rem 1.2rem;border-top:1px solid var(--nav-border);margin-top:.4rem}
.nav-user-row{display:flex;align-items:center;gap:.6rem;min-width:0;text-decoration:none}
.nav-user-row-link{color:inherit;transition:opacity .15s}
.nav-user-row-link:hover{opacity:.75}
.nav-user-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;flex-shrink:0}
.nav-user-avatar-placeholder{background:var(--nav-muted);display:flex;align-items:center;justify-content:center;font-size:.7rem;color:#fff}
.nav-user-name{font-size:.72rem;color:var(--nav-muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ===== CONTENT ===== */
.page-body{padding:.8rem;padding-bottom:1.5rem;max-width:480px;margin:0 auto}

/* ===== CARDS ===== */
.wire-card{background:var(--card);border:1px solid var(--divider);border-radius:12px;padding:.8rem;margin-bottom:.6rem}
.wire-card-accent{background:var(--pink-pale);border-color:var(--pink-soft)}
.wire-card-title{font-size:.82rem;font-weight:700;margin-bottom:.3rem}
.wire-compact-card,.prod-row-card{background:#fff;border:1px solid var(--divider);border-radius:12px;padding:.6rem .8rem;margin-bottom:.5rem}

/* ===== ROWS ===== */
.wire-row{display:flex;justify-content:space-between;align-items:center;padding:.3rem 0;font-size:.82rem}
.wire-row-label{color:var(--muted)}
.wire-row-value{font-weight:700}
.wire-divider{border:none;border-top:1px solid var(--divider);margin:.4rem 0}
.wire-data-table,.shipping-guide-table,.map-table,.sample-table,.product-platform-table,.plan-matrix{width:100%;border-collapse:collapse;font-size:.68rem}
.wire-data-table th,.shipping-guide-table th,.map-table th,.sample-table th,.product-platform-table th,.plan-matrix th{padding:.32rem .45rem;text-align:left;font-size:.62rem;font-weight:700;color:var(--muted);border-bottom:1px solid var(--divider);background:var(--surface)}
.wire-data-table td,.shipping-guide-table td,.map-table td,.sample-table td,.product-platform-table td,.plan-matrix td{padding:.34rem .45rem;border-bottom:1px solid var(--divider);vertical-align:middle}
.wire-data-table tbody tr:last-child td,.shipping-guide-table tbody tr:last-child td,.map-table tr:last-child td,.sample-table tr:last-child td,.product-platform-table tr:last-child td,.plan-matrix tr:last-child td{border-bottom:none}
.wire-data-table-wrap,.shipping-guide-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* ===== BUTTONS ===== */
.wire-btn{width:100%;padding:.65rem;background:var(--pink);color:#fff;border:none;border-radius:10px;font-family:'Zen Maru Gothic',sans-serif;font-size:.8rem;font-weight:700;margin-top:.4rem;cursor:pointer;text-decoration:none;display:block;text-align:center}
.wire-btn:hover{opacity:.9}
.wire-btn-outline{width:100%;padding:.65rem;background:transparent;color:var(--pink);border:1.5px solid var(--pink);border-radius:10px;font-family:'Zen Maru Gothic',sans-serif;font-size:.8rem;font-weight:700;margin-top:.4rem;cursor:pointer;text-decoration:none;display:block;text-align:center}
.wire-btn-danger{width:100%;padding:.65rem;background:transparent;color:#d47979;border:1.5px solid #d47979;border-radius:10px;font-family:'Zen Maru Gothic',sans-serif;font-size:.8rem;font-weight:700;margin-top:.4rem;cursor:pointer}
.wire-edit-btn{display:inline-flex;align-items:center;gap:.2rem;padding:.3rem .6rem;font-size:.65rem;font-weight:700;color:var(--pink);background:var(--pink-pale);border:1.5px solid var(--pink-soft);border-radius:7px;cursor:pointer;font-family:'Zen Maru Gothic',sans-serif;text-decoration:none;white-space:nowrap}
.wire-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:var(--pink);color:#fff;border:none;text-decoration:none;font-size:1.1rem;font-weight:700;flex-shrink:0;cursor:pointer;font-family:inherit}
.wire-icon-btn:hover{opacity:.9}

/* ===== FORMS ===== */
.wire-input{width:100%;padding:.55rem .7rem;border:1.5px solid var(--divider);border-radius:9px;font-family:'Zen Maru Gothic',sans-serif;font-size:.78rem;color:var(--text);background:#fff;margin-bottom:.4rem}
.wire-input:focus{outline:none;border-color:var(--pink)}
.wire-input-mini{width:56px;padding:.25rem .35rem;border:1.5px solid var(--divider);border-radius:7px;font-family:'Zen Maru Gothic',sans-serif;font-size:.75rem;color:var(--text);background:#fff;text-align:center;margin:0}
.wire-select{width:100%;padding:.55rem .7rem;border:1.5px solid var(--divider);border-radius:9px;font-family:'Zen Maru Gothic',sans-serif;font-size:.78rem;color:var(--text);background:#fff;margin-bottom:.4rem}
.wire-select-sm{padding:.3rem .5rem;font-size:.65rem;border:1.5px solid var(--divider);border-radius:7px;font-family:'Zen Maru Gothic',sans-serif;color:var(--muted);background:#fff}
.wire-label{font-size:.75rem;font-weight:700;color:var(--ink-light);margin-bottom:.15rem;display:flex;align-items:center;gap:.3rem}
.req{color:var(--pink);font-size:.68rem}
.opt{color:var(--muted);font-size:.65rem;font-weight:400}

/* ===== CHIPS ===== */
.chip{display:inline-block;padding:.15rem .4rem;border-radius:100px;font-size:.62rem;white-space:nowrap}
.chip-pink{background:var(--pink-pale);color:var(--pink)}
.chip-green{background:var(--mint);color:#5a7a6a}
.chip-gray{background:#f0ebe5;color:var(--muted)}
.chip-orange{background:#fde8d0;color:#c47a3d}
.chip-blue{background:#dce8f5;color:#4a7ab5}
.chip-purple{background:#e8dff0;color:#8a6ab5}
.status-chip,.csv-badge,.can-make-chip,.product-stock-chip,.product-rate-badge,.product-shipping-badge,.prev-badge,.dash-compare-badge,.pricing-badge,.pf-st-badge{display:inline-block;border-radius:100px;font-weight:700;white-space:nowrap}
.status-ok,.can-make-ok,.product-stock-chip-ok,.product-rate-badge-ok,.product-shipping-badge-insurance,.badge-ok,.badge-up,.pf-st-ins{background:#e8f5ee;color:#5a9a7a}
.status-danger,.can-make-zero,.product-stock-chip-zero,.product-rate-badge-high,.badge-warn,.badge-down{background:#fde8e8;color:#d47979}
.status-warn,.can-make-warn,.badge-dup,.pf-st-ins-over{background:#fff3e0;color:#c07030}
.status-muted,.can-make-chip-muted,.product-shipping-badge-notrack,.product-shipping-badge-noins,.badge-skip,.badge-flat,.pf-st-no-ins{background:#f0ebe5;color:var(--muted)}
.status-info,.csv-badge,.product-shipping-badge-track,.pf-st-track{background:#e8f0fe;color:#3a6ad4}
.status-primary,.pricing-badge,.product-shipping-badge-recommended,.pf-st-rec{background:var(--pink);color:#fff}
.csv-badge{font-size:.48rem;padding:.05rem .3rem;vertical-align:middle;margin-left:.3rem;letter-spacing:.02em}

/* ===== LIST ITEMS ===== */
.wire-list-item{display:flex;gap:.5rem;align-items:center;padding:.4rem 0;border-bottom:1px solid var(--divider);cursor:pointer;text-decoration:none;color:inherit}
.wire-list-item:last-child{border-bottom:none}
.wire-list-item-body{flex:1;min-width:0}
.wire-list-item-right{text-align:right;flex-shrink:0}
.wire-thumb{width:44px;height:44px;border-radius:9px;background:var(--divider);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:1.1rem}
.wire-thumb-img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}

/* ===== SEARCH BAR ===== */
.wire-search-bar{display:flex;gap:.3rem;margin-bottom:.6rem;align-items:center}
.wire-search-bar .wire-input{flex:1;margin-bottom:0}
.wire-inline-form{display:contents}
.wire-toolbar{display:flex;justify-content:flex-end;align-items:center;margin-bottom:.6rem}
.wire-list-toolbar,.production-list-toolbar{display:flex;align-items:center;gap:.4rem;margin-bottom:.5rem}
.wire-list-toolbar-title,.production-list-title{font-size:.82rem;font-weight:700;flex:1}
.wire-list-toolbar-btn,.production-list-toolbar-btn{padding:.3rem .6rem;font-size:.68rem;width:auto;margin-top:0}
.wire-filter-row,.production-list-search{display:flex;gap:.3rem;margin-bottom:.5rem;align-items:center}
.wire-filter-input,.production-list-search-input{flex:1;margin-bottom:0;font-size:.72rem}
.wire-filter-select,.production-list-search-select{margin-bottom:0;font-size:.68rem;width:auto;padding:.4rem .5rem}
.wire-filter-btn,.production-list-search-btn{padding:.4rem .6rem;font-size:.68rem;width:auto;margin-top:0}

/* ===== SECTION TITLE ===== */
.wire-section-title{font-size:.75rem;font-weight:700;color:var(--muted);letter-spacing:.05em;margin:.6rem 0 .4rem}

/* ===== BREADCRUMB ===== */
.wire-breadcrumb{font-size:.72rem;color:var(--muted);margin-bottom:.6rem}
.wire-breadcrumb a{color:var(--pink);text-decoration:none}

/* ===== PAGER ===== */
.wire-pager{display:flex;justify-content:center;gap:.25rem;margin-top:.8rem}
.wire-pager-btn{padding:.3rem .5rem;font-size:.65rem;border:1px solid var(--divider);border-radius:7px;color:var(--muted);cursor:pointer;text-decoration:none}
.wire-pager-btn.active{background:var(--pink);color:#fff;border-color:var(--pink);font-weight:700}
.wire-pager-info{font-size:.6rem;color:var(--muted);text-align:center;margin-top:.2rem}

/* ===== STEPS ===== */
.wire-steps,.import-steps{display:flex;gap:0;margin-bottom:.8rem;counter-reset:step}
.wire-step,.import-step{flex:1;text-align:center;font-size:.58rem;color:var(--muted);position:relative}
.wire-step::before,.import-step::before{counter-increment:step;content:counter(step);display:block;width:22px;height:22px;border-radius:50%;background:var(--divider);color:var(--muted);font-weight:700;font-size:.7rem;line-height:22px;margin:0 auto .25rem}
.wire-step.active::before,.import-step.active::before{background:var(--pink);color:#fff}
.wire-step.done::before,.import-step.done::before{background:#5a9a7a;color:#fff;content:"✓"}
.wire-step::after,.import-step::after{content:'';position:absolute;top:11px;left:calc(50% + 14px);right:calc(-50% + 14px);height:1px;background:var(--divider)}
.wire-step:last-child::after,.import-step:last-child::after{display:none}

/* ===== MATERIAL ROW ===== */
.wire-mat-row{display:flex;gap:.4rem;align-items:center;padding:.4rem 0;border-bottom:1px solid var(--divider);text-decoration:none;color:inherit;font-size:.72rem}
.wire-mat-row:last-child{border-bottom:none}
.wire-mat-name{font-weight:700;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wire-mat-icon{width:26px;height:26px;border-radius:5px;background:var(--divider);display:flex;align-items:center;justify-content:center;font-size:.65rem;flex-shrink:0;overflow:hidden}
.wire-list-header{font-size:.55rem;color:var(--muted);font-weight:500;padding:.2rem 0;border-bottom:1px solid var(--divider);pointer-events:none}
.wire-check-row{display:flex;align-items:center;gap:.45rem;font-size:.78rem;font-weight:700;color:var(--ink)}
.wire-check-row input{flex-shrink:0}
.wire-help{font-size:.62rem;line-height:1.6;color:var(--muted);margin-top:.25rem}
.wire-list-header-icon{visibility:hidden}
.wire-list-main{flex:1;min-width:0}
.wire-list-meta{font-size:.55rem;color:var(--muted)}
.wire-list-emoji{font-size:.85rem;flex-shrink:0}
.wire-list-emoji-spacer{width:20px;flex-shrink:0}
.wire-list-col{text-align:right;flex-shrink:0}
.wire-list-col-cost{width:52px}
.wire-list-col-price{width:60px}
.wire-list-col-unit-price{width:70px}
.wire-list-col-stock{width:44px}
.wire-list-value{font-size:.62rem;font-weight:700}
.wire-list-value-pink{font-size:.58rem;color:var(--pink);font-weight:600}
.wire-list-stock{font-size:.68rem}
.wire-list-stock-low{color:#d47979;font-weight:700}
.wire-empty{font-size:.78rem;color:var(--muted);padding:1.5rem;text-align:center}
.wire-empty-compact{padding:.8rem}
.wire-empty,.inv-empty,.dash-empty,.product-options-empty-card,.product-outsourcing-empty,.addon-edit-bom-empty,.product-bom-empty,.product-bom-ai-empty{font-size:.75rem;color:var(--muted);text-align:center;padding:1rem}
.product-options-empty,.product-bom-add-empty,.addon-edit-bom-add-empty{font-size:.7rem;color:var(--muted);text-align:center;padding:.45rem 0}
.wire-limit-alert{background:#fdecea;border:1px solid #f5a0a0;border-radius:10px;padding:.6rem .8rem;margin-bottom:.5rem;font-size:.72rem;display:flex;align-items:center;gap:.5rem}
.wire-limit-alert-message{flex:1}
.wire-limit-alert-link{color:var(--pink);font-weight:700;white-space:nowrap}
.wire-section-heading{flex:1;font-size:.82rem;font-weight:700}
.wire-simple-row{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;border-bottom:1px solid var(--divider)}
.wire-simple-row:last-child{border-bottom:none}
.wire-simple-body{flex:1;min-width:0}
.wire-simple-title{font-size:.78rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wire-simple-meta{font-size:.62rem;color:var(--muted)}
.wire-edit-btn-compact{padding:.15rem .4rem;font-size:.6rem;flex-shrink:0}
.wire-empty-link{font-size:.65rem;color:var(--pink);text-decoration:none}
.wire-note{font-size:.62rem;color:var(--muted);margin-top:.4rem;line-height:1.6}
.wire-inline-actions,.product-options-actions,.product-outsourcing-form-actions{display:flex;gap:.4rem}
.wire-inline-action-btn,.product-options-action-btn,.product-outsourcing-action-btn{flex:1;margin-top:0 !important;padding:.4rem .55rem;font-size:.65rem}
.wire-inline-form-row,.product-options-new-row,.product-outsourcing-row,.product-outsourcing-add-row,.addon-edit-cost-row,.addon-edit-bom-add-controls,.product-bom-add-controls{display:flex;align-items:center;gap:.4rem}
.wire-inline-input,.product-options-new-input,.product-options-input,.product-outsourcing-name-input,.product-outsourcing-add-input,.addon-edit-cost-input,.addon-edit-bom-search,.product-bom-search{flex:1;min-width:0;margin-bottom:0 !important}
.wire-flex-fields,.product-options-fields{display:flex;gap:.3rem;align-items:flex-end;flex-wrap:wrap}
.wire-muted-small,.product-options-note,.product-outsourcing-master-note,.addon-edit-cost-note{font-size:.62rem;color:var(--muted);line-height:1.6}
.wire-limit-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:8500;display:flex;align-items:center;justify-content:center;padding:1rem}
.wire-limit-dialog{background:#fff;border-radius:16px;padding:1.4rem;max-width:320px;width:100%;text-align:center}
.wire-modal{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:8000;display:flex;align-items:center;justify-content:center;padding:1rem}
.wire-modal-panel{background:#fff;border-radius:16px;width:100%;max-width:480px;max-height:80vh;display:flex;flex-direction:column;padding:1rem}
.wire-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}
.wire-modal-title{font-weight:700;font-size:.82rem}
.wire-modal-close{background:none;border:none;font-size:1.1rem;cursor:pointer;color:var(--muted)}
.wire-modal-body{overflow-y:auto;flex:1}
.wire-limit-icon{font-size:1.6rem;margin-bottom:.5rem}
.wire-limit-title{font-weight:700;font-size:.9rem;margin-bottom:.4rem}
.wire-limit-copy{font-size:.72rem;color:var(--muted);margin-bottom:1rem}
.wire-limit-upgrade{margin-bottom:.4rem}
.wire-limit-back{margin-top:.2rem}
.ai-input-banner{display:flex;align-items:center;gap:.5rem;padding:.45rem .6rem;background:var(--pink-pale);border-radius:10px;border:1.5px dashed var(--pink);margin-bottom:.6rem}
.ai-input-text{font-size:.65rem;color:var(--ink-light);flex:1}
.ai-input-action{font-size:.62rem;flex-shrink:0}
.ai-input-label{font-size:.62rem;flex-shrink:0;cursor:pointer}
.ai-input-file{display:none}
.size-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.4rem;margin-bottom:.4rem}
.size-field-label{font-size:.6rem;color:var(--muted);margin-bottom:.1rem}
.size-input{margin-bottom:0 !important}
.weight-wrap{flex:1;margin-bottom:.4rem}
.weight-row{display:flex;gap:.4rem;align-items:flex-end;margin-bottom:.4rem}
.weight-field{flex:1}

/* ===== SHIPPING MATRIX ===== */
.ship-matrix-card{padding:.5rem .6rem;margin-bottom:.4rem}
.ship-matrix-header{font-size:.6rem;color:var(--pink);font-weight:700;margin-bottom:.5rem}
.ship-matrix-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem}
.ship-matrix-col{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.45rem .5rem;min-width:0;position:relative}
.ship-matrix-col-head{margin-bottom:.3rem;padding-bottom:.25rem;border-bottom:1px solid var(--divider)}
.ship-matrix-col-label{font-size:.62rem;font-weight:700;color:var(--ink)}
.ship-matrix-col-sub{font-size:.5rem;color:var(--muted)}
.ship-matrix-name{font-size:.65rem;font-weight:700;color:var(--ink);line-height:1.3}
.ship-matrix-price{font-size:.78rem;font-weight:700;color:var(--pink);margin-top:.15rem}
.ship-matrix-note{font-size:.5rem;color:var(--muted);margin-top:.1rem}
.ship-matrix-none{font-size:.62rem;color:var(--muted);padding:.1rem 0}
.ship-matrix-hint{margin-top:.3rem;padding:.3rem .35rem;background:#fffbeb;border:1px solid #fde68a;border-radius:6px}
.ship-matrix-hint-name{font-size:.58rem;font-weight:700;color:#92400e}
.ship-matrix-hint-tip{font-size:.52rem;color:#78350f;margin-top:.1rem}
.ship-matrix-more-btn{margin-top:.3rem;font-size:.52rem;color:var(--pink);background:none;border:none;padding:0;cursor:pointer;font-weight:700;display:block}
.ship-matrix-popup{display:none;position:absolute;z-index:200;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.12);padding:.4rem .5rem;min-width:160px;max-width:calc(100vw - 1rem);margin-top:.2rem;box-sizing:border-box}
.ship-matrix-popup.open{display:block}
.ship-matrix-popup-row{display:flex;justify-content:space-between;align-items:center;gap:.4rem;padding:.2rem 0;border-bottom:1px solid var(--divider);font-size:.62rem}
.ship-matrix-popup-row:last-child{border-bottom:none}
.ship-matrix-popup-name{font-weight:700;color:var(--ink)}
.ship-matrix-popup-note{font-weight:400;color:var(--muted);font-size:.52rem}
.ship-matrix-popup-price{color:var(--pink);font-weight:700;flex-shrink:0}

/* ===== SALE FORM ===== */
.addon-cb:checked{background:var(--pink) !important;border-color:var(--pink) !important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M1.5 5l2.5 2.5 4-5' stroke='%23fff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") !important;background-repeat:no-repeat !important;background-position:center !important;background-size:70% !important}
.sale-hidden{display:none !important}
.sale-empty{font-size:.72rem;color:var(--muted);text-align:center;padding:.8rem;border:1.5px dashed var(--divider);border-radius:10px;margin-bottom:.4rem}
.sale-error{font-size:.72rem;color:#d47979;background:#fde8e8;border-radius:8px;padding:.5rem .7rem;margin-bottom:.4rem}
.sale-addon-card{margin-bottom:.5rem;padding:.5rem .7rem}
.sale-addon-row{display:flex;align-items:center;gap:.5rem;padding:.3rem 0;border-bottom:1px solid var(--divider);cursor:pointer;font-size:.75rem}
.sale-addon-check{-webkit-appearance:none;appearance:none;width:18px;height:18px;border:2px solid var(--divider);border-radius:4px;background:#fff;cursor:pointer;flex-shrink:0;position:relative;margin:0}
.sale-addon-name{flex:1}
.sale-addon-controls{display:flex;align-items:center;gap:.25rem;flex-shrink:0}
.sale-addon-qty{width:36px}
.sale-addon-cost{color:var(--muted);font-size:.68rem;white-space:nowrap}
.sale-summary-hidden{display:none !important}
.sale-summary-extras-hidden{display:none !important}
.sale-summary-profit-row{font-size:.88rem}
.sale-summary-profit-label{font-weight:700}
.sale-summary-profit{font-weight:700;font-size:1.1rem;color:var(--pink)}
.sale-summary-profit-negative{color:#d47979}
/* 作品リスト（材料表スタイル） */
.sale-items-card{padding:.5rem .7rem}
.sale-items-empty-msg{font-size:.72rem;color:var(--muted);padding:.4rem 0 .5rem;text-align:center}
.sale-item-card{display:flex;align-items:center;gap:.4rem;padding:.35rem 0;border-bottom:1px solid var(--divider);flex-wrap:wrap}
.sale-item-card:last-child{border-bottom:none}
.sale-row-thumb{width:32px;height:32px;min-width:32px;border-radius:6px;overflow:hidden;background:var(--divider);display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0}
.sale-row-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.sale-row-info{flex:1;min-width:0}
.sale-row-name-row{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}
.sale-row-name{font-weight:700;font-size:.75rem}
.sale-row-range{font-size:.6rem;color:var(--muted)}
.sale-row-deleted-badge{font-size:.5rem;background:#fde8e8;color:#d47979;border-radius:100px;padding:.05rem .3rem;font-weight:700}
.sale-row-cost{font-size:.58rem;color:var(--muted);margin-top:.1rem;display:flex;align-items:center;gap:.4rem}
.sale-row-stock{font-size:.58rem;color:var(--muted)}
.sale-row-stock-zero{color:#d47979;font-weight:600}
.sale-prd-opt-stock{color:var(--muted)}
.sale-prd-opt-stock-zero{color:#d47979;font-weight:600}
.sale-row-inputs{display:flex;align-items:center;gap:.25rem;flex-shrink:0}
.sale-item-currency{font-size:.6rem;color:var(--muted)}
.sale-item-price{width:76px}
.sale-item-times{font-size:.6rem;color:var(--muted)}
.sale-item-qty{width:40px}
.sale-item-unit{font-size:.58rem;color:var(--muted)}
.sale-item-remove{flex-shrink:0}
.sale-readonly-field{background:var(--surface)}
.sale-row-stock-deduct{display:flex;align-items:center;gap:.4rem;width:100%;padding-left:40px;font-size:.62rem;margin-top:.1rem;flex-wrap:wrap}
.sale-row-stock-deduct-label{color:var(--muted);white-space:nowrap}
.sale-item-stock-deduct{width:56px}
.sale-row-stock-warning{font-size:.62rem;color:#d47979;font-weight:600;white-space:nowrap}
.sale-row-stock-warning-on{background:#fff3e0;border:1px solid #f5c878;border-radius:6px;padding:.1rem .4rem}
/* 作品検索エリア */
.sale-prd-add-area{position:relative;margin-top:.5rem;padding-top:.4rem;border-top:1px solid var(--divider)}
.sale-prd-search{font-size:.72rem;margin-bottom:0 !important}
.sale-prd-dropdown{position:absolute;top:calc(100% + 2px);left:0;right:0;background:#fff;border:1px solid var(--divider);border-radius:8px;max-height:220px;overflow-y:auto;z-index:200;box-shadow:0 4px 12px rgba(0,0,0,.12)}
.sale-prd-option{display:flex;align-items:center;gap:.4rem;padding:.35rem .5rem;cursor:pointer;border-bottom:1px solid var(--divider);font-size:.72rem}
.sale-prd-option:last-child{border-bottom:none}
.sale-prd-option:hover{background:var(--pink-pale)}
.sale-prd-opt-thumb{width:30px;height:30px;min-width:30px;border-radius:5px;overflow:hidden;background:var(--divider);display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0}
.sale-prd-opt-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.sale-prd-opt-info{flex:1;min-width:0}
.sale-prd-opt-name{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sale-prd-opt-meta{font-size:.58rem;color:var(--muted)}
.sale-prd-opt-add{font-size:.6rem;color:var(--pink);font-weight:700;flex-shrink:0}
.sale-prd-empty{padding:.5rem .6rem;font-size:.68rem;color:var(--muted)}
/* 旧スタイル（互換） */
.sale-item-meta-hidden{display:none !important}
/* チュートリアル中: ドロップダウンをカード内に収める */
body.tour-sale-product .sale-prd-dropdown:not(.sale-hidden){position:static;box-shadow:none;border-radius:0 0 6px 6px;max-height:none}

/* ===== PLATFORM TABLE ===== */
.wire-platform-table{width:100%;font-size:.68rem;border-collapse:collapse}
.wire-platform-table th{text-align:left;padding:.3rem .2rem;color:var(--muted);font-weight:500;border-bottom:1px solid var(--divider)}
.wire-platform-table td{padding:.3rem .2rem;border-bottom:1px solid var(--divider)}
.wire-platform-table td:last-child{text-align:right;font-weight:700}
.wire-platform-table tr.best td{color:var(--pink)}

/* ===== MATERIAL TABLE (BOM) ===== */
.wire-material-row{display:flex;justify-content:space-between;align-items:center;padding:.4rem 0;border-bottom:1px solid var(--divider)}
.wire-material-row:last-child{border-bottom:none}
.wire-delete-btn{color:#d47979;font-size:.65rem;cursor:pointer;padding:.15rem .35rem;border:1px solid #f0c4a8;border-radius:5px;background:none}

/* ===== PF CHECKBOX ===== */
.wire-pf-check{display:flex;align-items:center;gap:.4rem;padding:.35rem 0;border-bottom:1px solid var(--divider);font-size:.75rem}
.wire-pf-check:last-child{border-bottom:none}
.wire-pf-check input[type=checkbox]{-webkit-appearance:none;appearance:none;width:18px;height:18px;border:2px solid var(--divider);border-radius:4px;background:#fff;cursor:pointer;flex-shrink:0;position:relative;margin:0}
.wire-pf-check input[type=checkbox]:checked{background:var(--pink);border-color:var(--pink);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M1.5 5l2.5 2.5 4-5' stroke='%23fff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:70%}
.pf-price{margin-left:auto;display:flex;align-items:center;gap:.15rem}

/* ===== BOM ROW STATES ===== */
.bom-row-new{background:var(--mint);border-radius:6px;padding-left:.3rem;padding-right:.3rem;margin:0 -.3rem}
.bom-row-deleted{background:#fde8e8;border-radius:6px;padding-left:.3rem;padding-right:.3rem;margin:0 -.3rem;opacity:.6}
.bom-row-deleted .wire-mat-name,.bom-row-deleted span[style*="font-weight:700"]{text-decoration:line-through}
.bom-row-deleted input{pointer-events:none}
.wire-restore-btn{color:#5a7a6a;font-size:.6rem;cursor:pointer;padding:.15rem .35rem;border:1px solid var(--mint);border-radius:5px;background:var(--mint);white-space:nowrap}

/* ===== MATERIAL SEARCH DROPDOWN ===== */
.mat-search-list{max-height:180px;overflow-y:auto;margin-top:.3rem}
.mat-search-item{display:flex;align-items:center;gap:.4rem;padding:.35rem .2rem;border-bottom:1px solid var(--divider);cursor:pointer;font-size:.7rem}
.mat-search-item:last-child{border-bottom:none}
.mat-search-item:hover,.mat-search-item:active{background:var(--pink-pale);border-radius:6px}
.mat-search-empty{text-align:center;padding:.6rem;font-size:.7rem;color:var(--muted)}

/* ===== SEARCH DROPDOWN ===== */
.srch-wrap{position:relative;flex:1;min-width:0}
.srch-input{width:100%;box-sizing:border-box}
.srch-dd{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--divider);border-radius:8px;max-height:200px;overflow-y:auto;z-index:200;box-shadow:0 4px 12px rgba(0,0,0,.12);margin-top:2px;display:none}
.srch-dd-item{padding:.35rem .5rem;cursor:pointer;border-bottom:1px solid var(--divider);display:flex;align-items:center;gap:.4rem;font-size:.7rem}
.srch-dd-item:last-child{border-bottom:none}
.srch-dd-item:hover,.srch-dd-item.active{background:var(--pink-pale)}
.srch-dd-empty{padding:.45rem .6rem;font-size:.68rem;color:var(--muted)}
.srch-dd-thumb-wrap{width:28px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:4px}
.srch-dd-thumb{width:28px;height:28px;object-fit:cover;border-radius:4px}
.srch-dd-emoji-icon{font-size:.9rem;line-height:1}
.srch-dd-body{display:flex;flex-direction:column;min-width:0;flex:1}
.srch-dd-name{font-size:.72rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.srch-dd-meta{font-size:.58rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.srch-dd-stock{color:#2e7d32;font-weight:600}
.srch-dd-stock-zero{color:#d47979;font-weight:600}
.srch-selected-card{display:none;align-items:center;gap:.4rem;padding:.32rem .45rem;background:var(--pink-pale);border:1px solid var(--divider);border-radius:8px;width:100%;box-sizing:border-box;min-height:36px}
.srch-selected-clear{background:none;border:none;cursor:pointer;font-size:.8rem;color:var(--muted);flex-shrink:0;padding:0 .1rem;line-height:1;margin-left:auto}

/* ===== MANUFACTURING MATERIAL ROWS ===== */
.mat-deduct-row,.extra-mat-row{display:flex;align-items:center;gap:.4rem;padding:.35rem 0;border-bottom:1px solid var(--divider);font-size:.68rem;flex-wrap:wrap}
.mat-deduct-row:last-child,.extra-mat-row:last-child{border-bottom:none}
/* 検索を主役に：検索ボックスを1行いっぱいに広げ、グループ・数量等は次の行へ折り返す */
.mat-deduct-row .srch-wrap,.extra-mat-row .srch-wrap{flex:1 1 100%}
/* 材料の新規/編集フォームのグループ選択（チップ型トグル） */
.material-group-label-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}
.material-group-manage-link{font-size:.66rem;color:var(--pink);text-decoration:none;white-space:nowrap}
.material-group-manage-link:hover{text-decoration:underline}
.material-group-empty{font-size:.66rem;color:var(--ink-soft,#999);margin-bottom:.3rem}
.material-group-checks{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.3rem;max-height:8.5rem;overflow-y:auto;padding:.1rem}
.material-group-check{display:inline-flex;align-items:center;gap:.25rem;padding:.32rem .7rem;border:1px solid var(--divider);border-radius:999px;font-size:.72rem;line-height:1;color:var(--ink,#555);cursor:pointer;background:#fff;user-select:none;transition:background .12s,border-color .12s,color .12s}
.material-group-check input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.material-group-check::before{content:"＋";font-size:.7rem;font-weight:700;color:var(--divider)}
.material-group-check:has(input:checked){background:var(--pink);border-color:var(--pink);color:#fff;font-weight:700}
.material-group-check:has(input:checked)::before{content:"✓";color:#fff}
.material-group-check:has(input:focus-visible){outline:2px solid var(--pink);outline-offset:2px}
.extra-mat-group-filter{flex:0 1 auto;width:auto;max-width:140px;min-width:0;margin:0;font-size:.64rem}
.mat-stock-warning{font-size:.58rem;color:#d47979;font-weight:600}
.mat-stock-warning-on{background:#fff3e0;border:1px solid #f5c878;border-radius:6px;padding:.05rem .35rem}
.mat-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}
.mat-unit{font-size:.58rem;color:var(--muted);flex-shrink:0}
.mat-qty-input{width:72px;text-align:right;background:var(--bg);border:1px solid var(--divider);border-radius:6px;padding:.22rem .35rem;font-size:.7rem;font-family:inherit}
.mat-qty-input:disabled{color:var(--muted);background:transparent;border-color:transparent}
.mat-stock{font-size:.58rem;flex-shrink:0;width:52px;text-align:right;color:var(--muted)}
.stock-warn{color:#d47979;font-weight:700}

/* ===== NAME TOOLTIP ===== */
.wire-name-tooltip{position:fixed;z-index:8000;background:var(--nav-bg);color:#fff;padding:.4rem .6rem;border-radius:8px;font-size:.72rem;max-width:280px;word-break:break-all;pointer-events:none;box-shadow:0 2px 8px rgba(0,0,0,.3)}

/* ===== COLORS ===== */
.color-pink{color:var(--pink)}
.color-red{color:#d47979}
.color-muted{color:var(--muted)}

/* ===== TYPE TOGGLE ===== */
.type-toggle{display:flex;gap:.3rem;margin-bottom:.5rem}
.type-btn{flex:1;padding:.5rem;border:2px solid var(--divider);border-radius:9px;text-align:center;font-size:.7rem;color:var(--muted);cursor:pointer;background:#fff;font-family:'Zen Maru Gothic',sans-serif}
.type-btn.active{border-color:var(--pink);color:var(--pink);background:var(--pink-pale);font-weight:700}

/* ===== TABS ===== */
.wire-tab-bar{display:flex;gap:.3rem;margin-bottom:.6rem}
.wire-tab{flex:1;padding:.4rem;text-align:center;font-size:.7rem;border-radius:8px;cursor:pointer;border:none;font-family:'Zen Maru Gothic',sans-serif}
.wire-tab-active{background:var(--pink);color:#fff;font-weight:700}
.wire-tab-inactive{background:#f0ebe5;color:var(--muted)}

/* ===== PHOTO AREA ===== */
.wire-photo-area{width:100%;height:90px;border:2px dashed var(--divider);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);font-size:.75rem;margin-bottom:.5rem;cursor:pointer}
.wire-photo-area .photo-icon{font-size:1.2rem;margin-bottom:.2rem}
.wire-upload-actions{display:flex;gap:.5rem;margin-bottom:.5rem}
.wire-upload-actions .wire-btn-outline{margin-top:0;flex:1}
.wire-hidden-input{display:none}

/* ===== MONTH NAV ===== */
.month-nav{display:flex;align-items:center;justify-content:center;gap:.8rem;margin-bottom:.6rem}
.month-nav-btn{font-size:.9rem;color:var(--muted);text-decoration:none;padding:.1rem .3rem}
.month-nav-label{font-size:.88rem;font-weight:700}

/* ===== IMAGE PREVIEW ===== */
.wire-img-preview{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem;min-height:0}
.wire-img-preview-item{position:relative;width:72px;height:72px;border-radius:8px;overflow:hidden;border:2px solid var(--pink);flex-shrink:0}
.wire-img-preview-item img,.wire-img-preview-item video{width:100%;height:100%;object-fit:cover;display:block;background:#111}
.wire-img-preview-badge{position:absolute;left:50%;top:50%;z-index:1;transform:translate(-50%,-50%);width:24px;height:24px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.65rem;pointer-events:none}
.wire-img-preview-rm{position:absolute;top:1px;right:1px;background:rgba(0,0,0,.55);color:#fff;border:none;border-radius:50%;width:18px;height:18px;font-size:.65rem;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;padding:0}
.wire-img-preview-edit{position:absolute;z-index:2;left:4px;bottom:4px;min-height:25px;border:1px solid rgba(255,255,255,.7);border-radius:999px;background:rgba(25,25,25,.82);color:#fff;font:700 .62rem/1.2 inherit;padding:.3rem .5rem;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.wire-img-preview-item{cursor:grab}
.drag-over{outline:2px dashed var(--pink);outline-offset:2px}
.saved-img-item{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab}
.saved-img-item.saved-img-dragging{cursor:grabbing;z-index:10;position:relative}
.saved-img-item img{-webkit-user-drag:none;pointer-events:none}
.saved-img-item button{pointer-events:auto}
.image-editor-open{overflow:hidden}
.image-editor-overlay{position:fixed;inset:0;z-index:12000;background:rgba(20,18,17,.82);display:flex;align-items:center;justify-content:center;padding:0}
.image-editor-overlay[hidden]{display:none}
.image-editor-panel{width:min(100%,760px);max-height:100dvh;background:#fff;display:flex;flex-direction:column;overflow:auto}
.image-editor-header,.image-editor-footer{display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:.75rem 1rem;background:#fff}
.image-editor-header{border-bottom:1px solid var(--border)}
.image-editor-header button{border:none;background:var(--surface);border-radius:50%;width:32px;height:32px;cursor:pointer}
.image-editor-stage{background:#222;line-height:0;text-align:center;touch-action:none}
.image-editor-stage canvas{display:block;max-width:100%;margin:auto;touch-action:none;cursor:move}
.image-editor-controls{padding:.7rem 1rem;display:grid;gap:.55rem}
.image-editor-aspects,.image-editor-actions{display:flex;gap:.4rem;flex-wrap:wrap}
.image-editor-aspects button{display:grid;grid-template-columns:auto auto;align-items:center;gap:.35rem}
.image-editor-ratio-shape{display:block;border:2px solid currentColor;border-radius:2px;width:17px;height:17px;box-sizing:border-box}
.image-editor-ratio-shape.is-free{border-style:dashed}
.image-editor-ratio-shape.is-portrait{width:14px;height:18px}
.image-editor-ratio-shape.is-landscape{width:20px;height:15px}
.image-editor-controls button,.image-editor-footer button{border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--text);font-family:inherit;font-weight:700;padding:.45rem .75rem;cursor:pointer}
.image-editor-controls button.is-active{background:var(--pink);border-color:var(--pink);color:#fff}
.image-editor-zoom{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.55rem;font-size:.72rem;font-weight:700}
.image-editor-zoom input{width:100%}
.image-editor-footer{border-top:1px solid var(--border);position:sticky;bottom:0}
.image-editor-footer .image-editor-apply{background:var(--pink);border-color:var(--pink);color:#fff}
@media(min-width:760px){.image-editor-panel{border-radius:16px;max-height:94vh}.image-editor-overlay{padding:1rem}}
.wire-upload-count{font-size:.65rem;color:var(--pink);font-weight:700;margin-bottom:.3rem;display:none}
.material-list-filter-form{display:grid !important;grid-template-columns:minmax(100px,1fr) minmax(90px,.72fr) auto;gap:.3rem}
.material-list-filter-form .wire-input,.material-list-filter-form .wire-select-sm{width:100%;min-width:0;margin:0}
@media(max-width:520px){.material-list-filter-form{grid-template-columns:minmax(90px,1fr) minmax(88px,.8fr) minmax(72px,.7fr)}.material-list-filter-form .wire-input,.material-list-filter-form .wire-select-sm{font-size:.6rem;padding-left:.35rem;padding-right:.35rem}}

/* ===== EDIT TABS ===== */
.wire-tabs,.settings-tabs,.dash-top-tabs,.settings-business-tabs{display:flex;gap:0;border-bottom:2px solid var(--divider);margin-bottom:.6rem}
.wire-tab,.settings-tab,.dash-top-tab,.settings-business-tab{flex:1;padding:.45rem .3rem;background:none;border:none;border-radius:0;border-bottom:2px solid transparent;margin-bottom:-2px;font-family:inherit;font-size:.68rem;font-weight:700;color:var(--muted);cursor:pointer;text-align:center;transition:color .15s,border-color .15s;user-select:none;}
.wire-tab.active,.settings-tab.active,.dash-top-tab.active,.settings-business-tab.active{color:var(--pink);border-bottom-color:var(--pink)}
.wire-tab-panel{display:none}
.wire-tab-panel.active{display:block}

/* ===== LIGHTBOX ===== */
.lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:9000;align-items:center;justify-content:center;touch-action:none}
.lightbox.open{display:flex}
.lightbox-img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:8px;user-select:none}
.lightbox-close{position:absolute;top:.8rem;right:.9rem;font-size:1.6rem;color:#fff;cursor:pointer;line-height:1;background:none;border:none;padding:.2rem .4rem}
.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);font-size:2rem;color:#fff;background:rgba(255,255,255,.12);border:none;cursor:pointer;padding:.3rem .7rem;border-radius:8px;line-height:1}
.lightbox-nav-prev{left:.6rem}
.lightbox-nav-next{right:.6rem}
.lightbox-counter{position:absolute;bottom:.8rem;left:50%;transform:translateX(-50%);color:#fff;font-size:.7rem;background:rgba(0,0,0,.4);padding:.2rem .6rem;border-radius:100px}

/* ===== GALLERY STRIP ===== */
.gallery-strip{display:flex;gap:.4rem;overflow-x:auto;margin-bottom:.6rem;padding-bottom:.2rem;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}
.gallery-strip-item{flex-shrink:0;scroll-snap-align:start;cursor:pointer;border-radius:8px;overflow:hidden;border:2px solid transparent;transition:.15s}
.gallery-strip-item:first-child{border-color:var(--pink)}

/* ===== HELP TOOLTIP ===== */
.help-btn{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--divider);color:var(--muted);font-size:.55rem;font-weight:700;cursor:pointer;border:none;font-family:inherit;flex-shrink:0;vertical-align:middle;margin-left:.3rem;line-height:1;}
.help-btn:hover{background:var(--pink-soft);color:var(--pink);}
.help-modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:8500;align-items:flex-end;justify-content:center;}
.help-modal-overlay.open{display:flex;}
.help-modal{background:#fff;border-radius:16px 16px 0 0;padding:1rem 1rem 1.5rem;width:100%;max-width:480px;max-height:80vh;overflow-y:auto;}
.help-modal-title{font-size:.82rem;font-weight:700;margin-bottom:.5rem;display:flex;align-items:center;gap:.4rem;}
.help-modal-body{font-size:.72rem;color:var(--muted);line-height:1.7;}
.help-modal-benefit{display:none;margin-top:.6rem;padding:.5rem .7rem;background:#f0f8f0;border-radius:8px;font-size:.68rem;color:#5a7a5a;line-height:1.6;}
.help-modal-benefit strong{color:#4a6a4a;}
.help-modal-close{width:100%;margin-top:.8rem;padding:.55rem;background:var(--pink-pale);color:var(--pink);border:none;border-radius:10px;font-family:inherit;font-size:.78rem;font-weight:700;cursor:pointer;}
.is-hidden{display:none !important}
.is-disabled{opacity:.4;pointer-events:none}

/* ===== CONFIRM DIALOG ===== */
.wire-confirm-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:9800;align-items:center;justify-content:center;padding:1rem}
.wire-confirm-dialog{background:#fff;border-radius:16px;padding:1.4rem 1.2rem;max-width:360px;width:100%;box-shadow:0 8px 32px rgba(0,0,0,.2)}
.wire-confirm-msg{font-size:.82rem;line-height:1.65;text-align:center;margin-bottom:1rem;color:var(--text);word-break:break-word}
.wire-confirm-msg-multiline{text-align:left;white-space:normal}
.wire-confirm-actions{display:flex;gap:.5rem}
.wire-confirm-btn{flex:1;padding:.6rem;border-radius:10px;font-family:inherit;font-size:.78rem;cursor:pointer}
.wire-confirm-btn-cancel{background:transparent;color:var(--muted);border:1.5px solid var(--divider)}
.wire-confirm-btn-ok{background:#d47979;color:#fff;border:none;font-weight:700}

/* ===== CAMERA MODAL ===== */
.camera-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:9500;flex-direction:column;align-items:center;justify-content:center;gap:.8rem}
.camera-video{max-width:90vw;max-height:60vh;border-radius:10px;background:#000}
.camera-actions{display:flex;gap:.6rem}
.camera-btn{padding:.6rem 1.4rem;border:none;border-radius:10px;font-size:.85rem;font-family:inherit;cursor:pointer}
.camera-btn-primary{background:var(--pink);color:#fff}
.camera-btn-cancel{background:rgba(255,255,255,.15);color:#fff}
.camera-canvas{display:none}


/* ===== AI OVERLAY ===== */
@keyframes ai-spin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
.ai-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:9000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem}
.ai-overlay-icon{font-size:2rem;animation:ai-spin 1.5s linear infinite}
.ai-overlay-title{color:#fff;font-size:.85rem;font-weight:700}
.ai-overlay-sub{color:rgba(255,255,255,.7);font-size:.7rem}

/* ===== TOUR ===== */
.driver-popover{background:#fff9f6;border:1.5px solid #ecdfd5;border-radius:14px;box-shadow:0 4px 24px rgba(180,120,100,.13);padding:18px 18px 14px;min-width:260px;max-width:320px;font-family:'Zen Maru Gothic',sans-serif !important;color:#5c4a3d}
.driver-popover *{font-family:'Zen Maru Gothic',sans-serif !important}
.driver-popover-title{font-family:'Zen Maru Gothic',sans-serif !important;font-size:.92rem !important;font-weight:700;color:#3d2b1f;line-height:1.4;margin-bottom:.3rem}
.tour-phase-progress{font-family:'Zen Maru Gothic',sans-serif;font-size:.66rem;font-weight:700;color:#bb9a8e;letter-spacing:.02em;margin-bottom:.35rem}
.driver-popover-description{font-family:'Zen Maru Gothic',sans-serif !important;font-size:.78rem !important;color:#7a6358;line-height:1.65}
.driver-popover-close-btn{color:#c8b8b0;font-size:16px}
.driver-popover-close-btn:hover{color:#5c4a3d}
.driver-popover-progress-text{font-size:.68rem;color:#b0a098}
.driver-popover-footer{margin-top:12px;border-top:1px solid #ecdfd5;padding-top:10px;display:flex;align-items:center;gap:.4rem}
.driver-popover-footer button,.driver-popover-navigation-btns button{font-family:inherit !important;font-size:.75rem !important;font-weight:600 !important;line-height:1.4 !important;border-radius:999px !important;padding:.32rem .9rem !important;border:1.5px solid #ecdfd5 !important;background:#fff !important;color:#7a6358 !important;cursor:pointer !important;transition:background .15s,color .15s !important;text-shadow:none !important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.driver-popover-footer button:hover,.driver-popover-navigation-btns button:hover{background:#fbeef2 !important;color:#d4789a !important}
.driver-popover-next-btn{background:#e8a0b4 !important;color:#fff !important;border-color:#e8a0b4 !important;text-shadow:none !important}
.driver-popover-next-btn:hover{background:#d4789a !important;border-color:#d4789a !important;color:#fff !important}
.driver-popover-arrow-side-top{border-top-color:#ecdfd5}
.driver-popover-arrow-side-bottom{border-bottom-color:#ecdfd5}
.driver-popover-arrow-side-left{border-left-color:#ecdfd5}
.driver-popover-arrow-side-right{border-right-color:#ecdfd5}
.tour-skip-btn{background:none !important;border-color:transparent !important;color:#c8b8b0 !important;font-size:.68rem !important;padding:.2rem .4rem !important;margin-right:auto;text-shadow:none !important}
.tour-skip-btn:hover{color:#9a8880 !important;background:none !important}
.tour-toast{position:fixed;left:50%;bottom:1rem;transform:translateX(-50%);width:calc(100% - 2rem);max-width:360px;background:#fff9f6;border:1.5px solid #ecdfd5;border-radius:14px;box-shadow:0 6px 28px rgba(180,120,100,.18);padding:14px 16px 12px;color:#5c4a3d;z-index:9999;animation:tour-toast-in .25s ease-out}
@keyframes tour-toast-in{from{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%,0)}}
.tour-toast-title{font-size:.85rem;font-weight:700;color:#3d2b1f;margin-bottom:.35rem}
.tour-toast-body{font-size:.75rem;line-height:1.6;color:#7a6358;margin-bottom:.6rem}
.tour-toast-close{background:#fff;border:1.5px solid #ecdfd5;border-radius:999px;padding:.25rem .8rem;font-size:.72rem;color:#7a6358;cursor:pointer;font-family:inherit;font-weight:600}
.tour-toast-close:hover{background:#fbeef2;color:#d4789a}
.tour-toast-desc{font-size:.75rem;line-height:1.6;color:#7a6358}
.pf-crop-toast{z-index:13000;bottom:auto;top:56px;transform:translateX(-50%)}
.pf-products-tour-active::before{content:'';position:fixed;inset:0;z-index:12500;background:rgba(0,0,0,.45)}
.pf-products-tour-active #pf-tab-products .pfgen-product-check,
.pf-products-tour-active #pf-tab-products .pfgen-product-check *,
.pf-products-tour-active #pf-tab-products .pfgen-candidate-save{position:relative;z-index:12600;pointer-events:auto}
.page-help-btn{position:absolute;top:.5rem;right:.5rem;width:28px;height:28px;border-radius:50%;background:#fff;border:1.5px solid #ecdfd5;color:#b09080;font-size:.85rem;font-weight:700;cursor:pointer;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,color .15s;z-index:5}
.page-help-btn:hover{background:#fbeef2;color:#d4789a}
.page-help-anchor{position:relative}
.tour-help-action{margin-top:1rem;padding-top:.8rem;border-top:1px solid #ecdfd5}
.tour-help-button{width:100%}

/* ===== PWA INSTALL ===== */
.pwa-install-banner{position:fixed;left:50%;bottom:calc(.8rem + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:7800;display:flex;align-items:center;gap:.55rem;width:calc(100% - 1.4rem);max-width:420px;background:#fff;border:1.5px solid var(--pink-soft);border-radius:14px;box-shadow:0 8px 28px rgba(92,74,61,.16);padding:.65rem .7rem .65rem .85rem}
.pwa-install-banner[hidden]{display:none}
.pwa-install-text{flex:1;min-width:0}
.pwa-install-title{font-size:.76rem;font-weight:800;color:var(--ink);line-height:1.35}
.pwa-install-copy{font-size:.62rem;color:var(--muted);line-height:1.45;margin-top:.08rem}
.pwa-install-btn{flex-shrink:0;border:none;border-radius:999px;background:var(--pink);color:#fff;font-family:inherit;font-size:.72rem;font-weight:800;padding:.46rem .9rem;cursor:pointer}
.pwa-install-close{flex-shrink:0;width:28px;height:28px;border:none;border-radius:50%;background:var(--surface);color:var(--muted);font-size:1rem;line-height:1;cursor:pointer}
.pwa-install-guide{position:fixed;inset:0;z-index:8800;background:rgba(0,0,0,.5);display:flex;align-items:flex-end;justify-content:center;padding:1rem}
.pwa-install-guide[hidden]{display:none}
.pwa-install-guide-panel{position:relative;width:100%;max-width:420px;background:#fff;border-radius:16px;padding:1.1rem 1rem 1rem;box-shadow:0 8px 28px rgba(0,0,0,.18)}
.pwa-install-guide-close{position:absolute;top:.55rem;right:.55rem;width:28px;height:28px;border:none;border-radius:50%;background:var(--surface);color:var(--muted);font-size:1rem;line-height:1;cursor:pointer}
.pwa-install-guide-title{font-size:.9rem;font-weight:800;color:var(--ink);margin-bottom:.45rem;padding-right:2rem}
.pwa-install-guide-body{font-size:.76rem;line-height:1.8;color:var(--text)}
.pwa-install-done-btn{width:100%;margin-top:.9rem;border:none;border-radius:10px;background:var(--pink);color:#fff;font-family:inherit;font-size:.78rem;font-weight:800;padding:.65rem;cursor:pointer}

/* ===== RESPONSIVE ===== */
@media(min-width:600px){
  .page-body{max-width:600px;padding:1rem 1.4rem}
  .wire-card-title{font-size:.9rem}
  .wire-input,.wire-select{font-size:.85rem}
  .wire-btn,.wire-btn-outline{font-size:.85rem}
  .header-tab{font-size:.75rem;padding:.4rem .8rem}
  .header-logo{font-size:.9rem}
}
@media(min-width:960px){
  .page-body{max-width:800px;padding:1.2rem 2rem}
  body{font-size:15px}
  .wire-card{padding:1rem;border-radius:14px}
  .wire-card-title{font-size:.95rem}
  .wire-input,.wire-select{font-size:.88rem;padding:.6rem .8rem}
  .wire-btn,.wire-btn-outline{font-size:.88rem;padding:.7rem}
  .wire-label{font-size:.74rem}
  .wire-row{font-size:.82rem}
  .wire-section-title{font-size:.74rem}
  .header{padding:.6rem 1.8rem}
  .header-logo{font-size:1rem}
  .header-tab{font-size:.78rem;padding:.4rem 1rem}
  .wire-thumb{width:52px;height:52px}
  .wire-mat-name{max-width:160px}
}
