:root {
  --bg:#f4f4f1;--panel:#fff;--text:#202326;--muted:#6d7479;--line:#e4e5e1;--dark:#23272b;
  --green:#17723b;--red:#bd3934;--blue:#2e5b9f;--soft:#f0f1ed;--soft-green:#edf7f0;
  --soft-red:#fff0ef;--soft-blue:#edf3ff;--radius:18px;--shadow:0 8px 30px rgba(28,31,35,.06)
}
*{box-sizing:border-box}html{color-scheme:light}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}textarea{resize:vertical}.hidden{display:none!important}
.center-screen{min-height:100dvh;display:grid;place-items:center;padding:22px}.auth-card{width:min(100%,430px);background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow)}.brand-mark{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:var(--dark);color:#fff;font-size:23px;font-weight:850;margin-bottom:18px}.auth-card h1{margin:0;font-size:24px;letter-spacing:-.03em}.lead,.auth-card>p{color:var(--muted);line-height:1.65}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--soft);padding:4px;border-radius:13px;margin:22px 0 16px}.auth-tab{border:0;border-radius:10px;padding:10px;background:transparent;color:var(--muted);font-weight:750;cursor:pointer}.auth-tab.active{background:#fff;color:var(--text);box-shadow:0 2px 7px rgba(0,0,0,.06)}.auth-card form{display:grid;gap:13px}
label{display:block;color:var(--muted);font-size:12px;font-weight:750}label input,label select,label textarea{margin-top:6px}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 13px;background:#fff;color:var(--text);outline:none}input:focus,select:focus,textarea:focus{border-color:#92999f;box-shadow:0 0 0 3px rgba(40,45,50,.08)}label small{display:block;margin-top:6px;color:#8a9095;font-weight:500}.button{border:1px solid var(--line);border-radius:12px;padding:11px 14px;background:#fff;color:var(--text);font-weight:780;cursor:pointer}.button:disabled{opacity:.55;cursor:wait}.button.primary{background:var(--dark);color:#fff;border-color:var(--dark)}.button.quiet{background:#fff}.button.full{width:100%;margin-top:4px}.text-button{display:block;margin:16px auto 0;border:0;background:transparent;color:var(--muted);text-decoration:underline;cursor:pointer}.form-message{min-height:22px;margin:12px 0 0;font-size:13px}.form-message.error{color:var(--red)}.form-message.success{color:var(--green)}
.app{max-width:980px;margin:0 auto;padding:18px 14px calc(150px + env(safe-area-inset-bottom))}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px;padding:16px;border-radius:22px;background:linear-gradient(135deg,#fff 0,#faf9ff 55%,#f6fbff 100%);border:1px solid var(--line);box-shadow:var(--shadow)}.topbar h1{margin:0;font-size:23px;letter-spacing:-.03em}.subtitle{margin:5px 0 0;color:var(--muted);font-size:12px}.top-actions{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:8px;justify-content:flex-end}.action-button{justify-content:center;font-weight:800;border-width:1px}.action-receipt{background:#fff2f4;border-color:#ffd4dd;color:#a7435c}.action-sheet{background:#eefaf0;border-color:#cfead5;color:#207447}.action-backup{background:#eef5ff;border-color:#d4e3ff;color:#295fa8}.action-logout{background:#fff4ef;border-color:#ffd9c8;color:#ad5b35}.main-tabs{position:fixed;z-index:42;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,980px);display:grid;grid-template-columns:repeat(6,1fr);background:rgba(244,244,241,.96);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:6px max(10px,env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-right));border:1px solid rgba(210,211,207,.9);border-bottom:0;border-radius:18px 18px 0 0;margin:0;box-shadow:0 -8px 28px rgba(25,29,34,.13)}.main-tab{border:0;border-radius:12px;padding:12px 10px;background:transparent;color:var(--muted);font-weight:800;cursor:pointer;transition:.15s ease}.main-tab.active{background:#fff;color:var(--text);box-shadow:0 2px 10px rgba(0,0,0,.08)}.main-tab.tab-items.active{box-shadow:0 2px 10px rgba(66,115,188,.16)}.main-tab.tab-inventory.active{box-shadow:0 2px 10px rgba(44,151,113,.18)}.main-tab.tab-route.active{box-shadow:0 2px 10px rgba(55,136,190,.2)}.main-tab.tab-expenses.active{box-shadow:0 2px 10px rgba(221,145,58,.18)}.main-tab.tab-analytics.active{box-shadow:0 2px 10px rgba(228,116,138,.16)}.main-tab.tab-settings.active{box-shadow:0 2px 10px rgba(105,102,148,.16)}
.period-panel{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:13px 14px;margin-bottom:10px;box-shadow:var(--shadow)}.period-label{display:block;color:var(--muted);font-size:11px;font-weight:800;margin-bottom:6px}.period-controls{display:flex;gap:7px}.period-controls select{min-width:105px;padding:9px 11px}.period-note{margin:0;color:var(--muted);font-size:11px;line-height:1.55;text-align:right}
.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.profit-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.summary-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);position:relative;overflow:hidden}.summary-card::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:#d9d9d9}.summary-card.procurement-card::before{background:#8a75cf}.summary-card.sales-card::before{background:#7bb3f0}.summary-card.product-profit-card::before{background:#e7b765}.summary-card.common-expense-card::before{background:#ef91a8}.summary-card.final-profit-card::before{background:#55ad72}.summary-card.current-balance-card::before{background:#2f8f83}.summary-card.profit-rate-card::before{background:#9674d4}.summary-card.final-profit-card{border-color:#cfe8d7;background:linear-gradient(180deg,#fff 0,#f3fbf5 100%);box-shadow:0 10px 32px rgba(38,126,69,.10)}.summary-card.current-balance-card{border-color:#c8e8e3;background:linear-gradient(180deg,#fff 0,#f1fbf9 100%);box-shadow:0 10px 32px rgba(31,128,115,.09)}.summary-badge{display:inline-flex;align-items:center;justify-content:center;margin-bottom:8px;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800;background:var(--soft)}.procurement-card .summary-badge{background:#f1edff;color:#6b4fb3}.sales-card .summary-badge{background:#eef5ff;color:#2b68b9}.product-profit-card .summary-badge{background:#fff5e6;color:#946319}.common-expense-card .summary-badge{background:#fff0f4;color:#aa4967}.final-profit-card .summary-badge{background:#eaf8ee;color:#247343}.current-balance-card .summary-badge{background:#e7f8f5;color:#176e64}.profit-rate-card .summary-badge{background:#f2edff;color:#704da8}.summary-card span,.mini-grid span{color:var(--muted);font-size:12px}.summary-card strong{display:block;margin-top:9px;font-size:clamp(20px,2.8vw,28px);letter-spacing:-.035em}.final-profit-card strong,.current-balance-card strong{font-size:clamp(23px,3.4vw,32px)}.positive{color:var(--green)!important}.negative{color:var(--red)!important}.mini-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0 14px}.mini-grid article{background:var(--soft);border-radius:14px;padding:12px;border:1px solid transparent}.mini-card.inventory-cost-card{background:#f8f2ff;border-color:#eadcff}.mini-card.inventory-count-card{background:#eef7ff;border-color:#d8e9ff}.mini-card.sold-count-card{background:#eefaf2;border-color:#d5eedc}.mini-card.average-profit-card{background:#fff7ec;border-color:#f7e2bb}.mini-grid strong{display:block;margin-top:6px;font-size:16px}
.toolbar{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px;box-shadow:var(--shadow);margin-bottom:14px}.search-row{display:grid;grid-template-columns:1fr 150px 180px;gap:8px}.view-mode-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:10px 12px;border-radius:14px;background:var(--soft)}.view-mode-label{display:block;font-size:12px;font-weight:800;color:var(--muted)}.swipe-hint{display:block;margin-top:3px;color:#858b90;font-size:10px;font-weight:600}.view-mode-switch{display:inline-flex;gap:6px;flex-wrap:wrap}.view-mode-btn{border:1px solid var(--line);background:#fff;color:var(--muted);padding:8px 12px;border-radius:999px;font-size:12px;font-weight:800;cursor:pointer}.view-mode-btn.active{background:var(--dark);border-color:var(--dark);color:#fff}.bulk-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}.bulk-hint{color:var(--muted);font-size:12px}.button.active{background:var(--dark);color:#fff;border-color:var(--dark)}.bulk-bar{position:sticky;bottom:calc(76px + env(safe-area-inset-bottom));z-index:18;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.08)}.bulk-bar-text strong{display:block;font-size:14px}.bulk-bar-text span{display:block;font-size:12px;color:var(--muted);margin-top:2px}.bulk-bar-actions{display:flex;gap:8px;flex-wrap:wrap}.tag-filters{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.tag-button,.tag-chip{border:1px solid var(--line);border-radius:999px;background:#fff;padding:6px 9px;color:#555c62;font-size:11px}.tag-button{cursor:pointer}.tag-button.active{background:var(--dark);color:#fff;border-color:var(--dark)}
.item-list{display:grid;gap:10px}.item-list.display-compact{gap:5px}.item-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:10px 11px;box-shadow:var(--shadow)}.normal-mode-card{padding:12px}.ultra-compact-card{padding:6px 8px;border-radius:16px}.status-card{position:relative;overflow:hidden}.status-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px}.status-card.stock{border-color:#bfd8ff;background:linear-gradient(180deg,#ffffff 0,#eef5ff 100%)}.status-card.stock::before{background:#2f7df6}.status-card.listed{border-color:#cfe9ef;background:linear-gradient(180deg,#ffffff 0,#f1fbfd 100%)}.status-card.listed::before{background:#1ca6a6}.status-card.shipping{border-color:#ffe2bf;background:linear-gradient(180deg,#ffffff 0,#fff9f1 100%)}.status-card.shipping::before{background:#ee9a2d}.status-card.rating{border-color:#e7d8ff;background:linear-gradient(180deg,#ffffff 0,#faf7ff 100%)}.status-card.rating::before{background:#9a72dd}.status-card.sold{border-color:#d5efd9;background:linear-gradient(180deg,#ffffff 0,#f5fcf6 100%)}.status-card.sold::before{background:#58b06d}.compact-card{padding-top:9px;padding-bottom:9px}.item-row-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.item-left-wrap{display:flex;align-items:flex-start;gap:9px;min-width:0;flex:1}.item-main-line{min-width:0}.item-name{margin:0 0 3px;font-size:17px;letter-spacing:-.015em}.compact-name{font-size:14px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.item-meta{color:var(--muted);font-size:12px;line-height:1.55}.compact-meta{font-size:10px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-pill{flex:0 0 auto;padding:4px 8px;border:0;border-radius:999px;font-size:11px;font-weight:800;background:var(--soft);font-family:inherit}.quick-status-button{cursor:pointer;box-shadow:inset 0 0 0 1px rgba(70,78,88,.08)}.quick-status-button:active{transform:scale(.97)}.status-pill.stock{background:#e7f0ff;color:#1f63d8}.status-pill.listed{background:#e8fbfb;color:#0d8c8c}.status-pill.shipping{background:#fff1dd;color:#a36407}.status-pill.rating{background:#f2eaff;color:#7246b0}.status-pill.sold{background:var(--soft-green);color:var(--green)}.money-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:9px}.normal-money-grid{grid-template-columns:repeat(4,1fr)}.compact-money-grid{gap:5px}.money-cell{padding:7px 8px;border-radius:10px;background:var(--soft);min-width:0}.money-cell span{display:block;color:var(--muted);font-size:10px;margin-bottom:3px}.money-cell strong{font-size:13px;overflow-wrap:anywhere}.money-cell.profit.positive{background:var(--soft-green)}.money-cell.profit.negative{background:var(--soft-red)}.item-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.compact-tags .tag-chip{padding:3px 7px;font-size:10px}.item-actions{display:flex;gap:5px;margin-top:8px;flex-wrap:wrap}.compact-actions .button{padding:6px 9px;border-radius:10px;font-size:12px}.compact-actions .sell{margin-left:auto}.ultra-actions{margin-top:5px;gap:4px}.ultra-actions .button{padding:4px 7px;font-size:10px;border-radius:8px}.compact-top-row{margin-bottom:1px}.compact-left-wrap{gap:6px}.compact-main-line{width:100%}.compact-title-row{display:flex;align-items:center;justify-content:space-between;gap:6px}.compact-title-row .status-pill{padding:3px 7px;font-size:10px}.compact-stats-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin-top:5px}.compact-stat{padding:4px 5px;border-radius:8px;background:var(--soft);min-width:0}.compact-stat span{display:block;color:var(--muted);font-size:9px;margin-bottom:1px;line-height:1.1}.compact-stat strong{display:block;font-size:11px;line-height:1.15;overflow-wrap:anywhere}.compact-stat.positive{background:var(--soft-green)}.compact-stat.negative{background:var(--soft-red)}.bulk-check input{width:18px;height:18px;accent-color:#1f6fff}.danger{color:var(--red)}.empty-state{padding:48px 20px;text-align:center;color:var(--muted);background:var(--panel);border:1px dashed var(--line);border-radius:var(--radius);line-height:1.7}.loading{padding:40px 20px;text-align:center;color:var(--muted)}.floating-add{position:fixed;right:max(18px,calc((100vw - 980px)/2 + 18px));bottom:calc(78px + env(safe-area-inset-bottom));border:0;border-radius:16px;padding:14px 18px;background:var(--dark);color:#fff;font-weight:850;box-shadow:0 12px 34px rgba(21,24,27,.24);cursor:pointer}

.expense-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.expense-head h2{margin:0;font-size:20px}.expense-head p{margin:5px 0 0;color:var(--muted);font-size:12px}.expense-head-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.expense-period-panel{display:flex;justify-content:space-between;align-items:center;gap:14px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px;box-shadow:var(--shadow);margin-bottom:10px}.expense-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:10px}.expense-summary-grid article{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:13px;box-shadow:var(--shadow)}.expense-summary-grid span{display:block;color:var(--muted);font-size:11px}.expense-summary-grid strong{display:block;margin-top:5px;font-size:19px}.expense-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 150px 170px;gap:8px;margin-bottom:10px}.expense-tax-note{margin:0 0 10px;padding:10px 12px;border-radius:12px;background:#fff8e8;color:#7b6336;font-size:11px;line-height:1.6}.expense-list{display:grid;gap:8px}.expense-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:11px 12px;box-shadow:var(--shadow)}.expense-card-main{display:flex;align-items:center;gap:10px}.expense-category-pill{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:#fff1dc;color:#9a620d;font-size:10px;font-weight:850}.expense-card-text{min-width:0;flex:1}.expense-card-text h3{margin:0;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.expense-card-text p{margin:3px 0 0;color:var(--muted);font-size:11px}.expense-card-amount{font-size:18px;white-space:nowrap}.expense-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.expense-card-memo{margin:7px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.expense-card-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:8px}.expense-category-pill.category-梱包資材{background:#e9f3ff;color:#236db8}.expense-category-pill.category-食費{background:#fff0e8;color:#b85c28}.expense-category-pill.category-交通費{background:#ebf9f3;color:#27845d}.expense-category-pill.category-消耗品{background:#f2edff;color:#7150a5}.expense-category-pill.category-通信費{background:#e9f7fb;color:#287b91}.expense-category-pill.category-外注費{background:#fff0f4;color:#a74c68}.expense-category-pill.category-手数料{background:#fff7dd;color:#94720f}.expense-category-pill.category-その他{background:#f0f1f1;color:#636869}

.analytics-head,.settings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.analytics-head h2,.settings-head h2,.settings-card h2{margin:0;font-size:20px}.analytics-head p,.settings-head p{margin:5px 0 0;color:var(--muted);font-size:12px}.analytics-head select{width:auto;min-width:105px}.analytics-period-picker{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:10px 11px;box-shadow:var(--shadow)}.analytics-picker-label{display:block;color:var(--muted);font-size:10px;font-weight:800;margin-bottom:6px}.analytics-picker-controls{display:flex;gap:7px}.analytics-picker-controls select{padding:9px 10px}.analytics-period-summary{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px;margin-bottom:10px;box-shadow:var(--shadow)}.analytics-period-title{font-size:13px;font-weight:850;margin-bottom:10px}.analytics-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.profit-analytics-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.analytics-summary-grid article{background:var(--soft);border-radius:13px;padding:11px 12px;border:1px solid transparent}.analytics-summary-grid .analytics-sales-card{background:#eef5ff;border-color:#dbe8ff}.analytics-summary-grid .analytics-product-profit-card{background:#fff7e8;border-color:#f5e3bd}.analytics-summary-grid .analytics-common-expense-card{background:#fff0f4;border-color:#f5d6df}.analytics-summary-grid .analytics-final-profit-card{background:#edf9f1;border-color:#d2ecdb}.analytics-summary-grid .analytics-current-balance-card{background:#eaf8f6;border-color:#cce8e3}.analytics-summary-grid .analytics-profit-rate-card{background:#f3efff;border-color:#e2d9fa}.analytics-summary-grid span{display:block;color:var(--muted);font-size:11px}.analytics-summary-grid strong{display:block;margin-top:5px;font-size:18px;overflow-wrap:anywhere}.analytics-final-profit-card strong,.analytics-current-balance-card strong{font-size:21px}.analytics-insight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.analytics-insight-grid article{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:11px 12px;box-shadow:var(--shadow)}.analytics-insight-grid span{display:block;color:var(--muted);font-size:11px}.analytics-insight-grid strong{display:block;margin-top:5px;font-size:17px;overflow-wrap:anywhere}.analytics-top-product small{display:block;margin-top:4px;font-size:12px;font-weight:800}.chart-card,.settings-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);margin-bottom:12px}.chart-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.chart-title-row h3{margin:0;font-size:16px}.chart-title-row p{margin:4px 0 0;color:var(--muted);font-size:11px}.chart-title-row select{width:auto;min-width:120px;padding:8px 10px}.chart-wrap{height:330px;position:relative}.chart-wrap.supplier{height:300px}.supplier-table{margin-top:14px;overflow-x:auto}.supplier-table table{width:100%;border-collapse:collapse;font-size:12px}.supplier-table th,.supplier-table td{padding:10px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}.supplier-table th:first-child,.supplier-table td:first-child{text-align:left}.supplier-table th{color:var(--muted);font-weight:800}.settings-note{margin:0 0 14px;padding:11px 12px;border-radius:12px;background:var(--soft);color:var(--muted);font-size:11px;line-height:1.65}.fee-rule-list{display:grid;gap:8px}.fee-rule{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:12px}.fee-rule strong{display:block}.fee-rule span{display:block;color:var(--muted);font-size:11px;margin-top:4px}.fee-rule-actions{display:flex;gap:6px}.integration-row{padding:13px 0;border-top:1px solid var(--line)}.integration-row:first-of-type{border-top:0}.integration-row>div{display:flex;justify-content:space-between;gap:12px}.integration-row span{font-size:11px;padding:4px 8px;border-radius:999px;background:var(--soft)}.integration-row span.ready{background:var(--soft-green);color:var(--green)}.integration-row p{margin:7px 0 0;color:var(--muted);font-size:11px;line-height:1.6}
dialog{width:min(94vw,680px);max-height:92dvh;border:0;border-radius:22px;padding:0;box-shadow:0 30px 90px rgba(0,0,0,.28)}dialog::backdrop{background:rgba(24,27,30,.52)}.modal{padding:19px;overflow-y:auto;max-height:92dvh}.modal.compact{max-width:520px}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.modal-head h2{margin:0;font-size:21px}.modal-head p{margin:5px 0 0;color:var(--muted);font-size:12px}.icon-button{width:36px;height:36px;flex:0 0 auto;border:0;border-radius:50%;background:var(--soft);cursor:pointer}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.form-grid .full{grid-column:1/-1}.sale-price-primary{padding:10px 11px;border:2px solid #b8d3ff;border-radius:14px;background:#f4f8ff}.sale-price-primary>span{font-weight:900;color:#245fae}.sale-price-primary small{color:#356aa8;font-weight:700}#saleFields h3{margin:20px 0 10px;font-size:13px;color:var(--muted)}.live-calc{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.live-calc>div{background:var(--soft);border-radius:14px;padding:12px}.live-calc span{color:var(--muted);font-size:11px}.live-calc strong{display:block;margin-top:4px;font-size:18px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.backup-actions{display:grid;gap:9px}.file-button{text-align:center}.file-button input{display:none}.fine-print{color:var(--muted);font-size:11px;line-height:1.6}.receipt-drop{display:grid;place-items:center;text-align:center;border:1px dashed #bfc3c0;background:var(--soft);border-radius:16px;padding:24px;cursor:pointer}.receipt-drop input{display:none}.receipt-drop span{font-size:16px;color:var(--text);font-weight:850}.receipt-drop small{margin-top:8px}.receipt-preview{display:block;max-width:100%;max-height:300px;margin:12px auto;border-radius:12px}.receipt-progress{margin-top:12px;padding:13px;border-radius:12px;background:var(--soft);color:var(--muted);text-align:center;font-size:12px}.receipt-result{margin-top:12px;border:1px solid var(--line);border-radius:14px;padding:12px}.receipt-result dl{display:grid;grid-template-columns:100px 1fr;gap:7px;margin:0;font-size:12px}.receipt-result dt{color:var(--muted)}.receipt-result dd{margin:0;font-weight:750}.sheet-preview{display:grid;grid-template-columns:1fr;gap:6px;margin-top:13px;padding:12px;border-radius:13px;background:var(--soft);font-size:12px}.sheet-preview strong{margin-bottom:3px}
.toast{position:fixed;z-index:50;left:50%;top:18px;translate:-50% -140%;opacity:0;width:min(92vw,520px);padding:12px 15px;border-radius:13px;background:var(--dark);color:#fff;text-align:center;font-size:13px;transition:.22s ease;box-shadow:0 10px 32px rgba(0,0,0,.2)}.toast.show{translate:-50% 0;opacity:1}.toast.error{background:#9f2f2b}code{background:var(--soft);padding:2px 5px;border-radius:5px}
@media(max-width:760px){.topbar{align-items:stretch;flex-direction:column}.top-actions{max-width:none;grid-template-columns:repeat(2,1fr)}.top-actions .button{padding:10px 10px;font-size:12px}.period-panel{align-items:flex-start;flex-direction:column}.period-note{text-align:left}.summary-grid{grid-template-columns:1fr}.summary-card{display:flex;justify-content:space-between;align-items:center;gap:14px}.summary-card strong{margin-top:0;font-size:22px}.summary-badge{margin-bottom:0}.mini-grid{grid-template-columns:repeat(2,1fr)}.search-row{grid-template-columns:1fr}.view-mode-row{align-items:flex-start;flex-direction:column}.bulk-toolbar{align-items:flex-start;flex-direction:column}.bulk-bar{bottom:74px;align-items:flex-start;flex-direction:column}.bulk-bar-actions{width:100%;justify-content:flex-end}.money-grid{grid-template-columns:repeat(2,1fr)}.normal-money-grid{grid-template-columns:repeat(2,1fr)}.compact-stats-grid{grid-template-columns:repeat(2,1fr)}.compact-meta{white-space:normal}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.live-calc{grid-template-columns:1fr}.floating-add{right:16px}.analytics-head{align-items:stretch;flex-direction:column}.analytics-period-picker{width:100%}.analytics-picker-controls{width:100%}.analytics-picker-controls select{flex:1;min-width:0}.chart-wrap{height:290px}.fee-rule{grid-template-columns:1fr}.fee-rule-actions{justify-content:flex-end}}
@media(max-width:430px){.item-list.display-compact .compact-name{font-size:12px}.item-list.display-compact .compact-meta{font-size:9px}.item-list.display-compact .compact-stat strong{font-size:10px}.item-list.display-compact .compact-stat span{font-size:8px}.item-list.display-compact .compact-tags{margin-top:5px}.item-list.display-compact .compact-actions{margin-top:5px}.app{padding-left:10px;padding-right:10px}.topbar{display:block;padding:14px}.top-actions{max-width:none;margin-top:10px;display:grid;grid-template-columns:1fr 1fr}.action-button{font-size:12px}.main-tab{padding:10px 6px}.period-controls{width:100%}.period-controls select{flex:1;min-width:0}.mini-grid{grid-template-columns:1fr 1fr}.view-mode-switch{width:100%}.view-mode-btn{flex:1}.compact-actions .button{flex:1}.compact-actions .sell{margin-left:0}.item-row-top{gap:8px}.compact-name{font-size:13px}.normal-mode-card{padding:10px}.ultra-compact-card{padding:6px 7px}.compact-title-row{align-items:flex-start;flex-direction:column}.compact-stats-grid{grid-template-columns:repeat(3,1fr)}.bulk-bar{bottom:72px;padding:11px 12px}.analytics-summary-grid{grid-template-columns:1fr}.analytics-summary-grid article{display:flex;justify-content:space-between;align-items:center}.analytics-summary-grid strong{margin-top:0}.chart-wrap{height:250px}}


/* 複数商品レシート読取 */
.receipt-dialog-wide{width:min(96vw,860px)}
.receipt-modal{max-height:92dvh}
.receipt-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}
.receipt-overview>div,.receipt-total-box{background:var(--soft);border-radius:14px;padding:12px}
.receipt-overview span,.receipt-total-box span{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}
.receipt-overview strong{font-size:14px;overflow-wrap:anywhere}
.receipt-options{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin:12px 0}
.receipt-check{display:flex;align-items:center;gap:7px;color:var(--text);font-size:12px;cursor:pointer}
.receipt-check input{width:auto;margin:0;accent-color:var(--dark)}
.receipt-items-editor{display:grid;gap:10px}
.receipt-item-editor{border:1px solid var(--line);border-radius:15px;padding:12px;background:#fff;transition:opacity .15s ease}
.receipt-item-editor-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.receipt-item-muted{opacity:.48}
.receipt-planned{font-size:12px;font-weight:800;color:var(--green)}
.receipt-item-grid{display:grid;grid-template-columns:120px 1fr;gap:9px;margin:9px 0}
.receipt-line-note,.receipt-note{font-size:11px;line-height:1.6;color:var(--muted);margin:9px 0 0}
.receipt-note{padding:10px 12px;background:#fff8e7;border-radius:12px}
.receipt-total-box{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.receipt-total-box p,.receipt-total-box b{grid-column:1/-1;margin:0;font-size:11px;color:var(--muted)}
.receipt-total-box b{font-size:14px;color:var(--text)}
.receipt-warning-text{color:#a35b00!important}
.sticky-actions{position:sticky;bottom:-19px;background:linear-gradient(transparent 0,#fff 28%);padding-top:28px;padding-bottom:2px;z-index:2}
@media(max-width:690px){.receipt-overview,.receipt-total-box{grid-template-columns:1fr}.receipt-item-grid{grid-template-columns:90px 1fr}.receipt-options{align-items:flex-start;flex-direction:column}.receipt-dialog-wide{width:96vw}}


/* 超コンパクト表示 v3 */
.item-list.display-compact{gap:4px}
.item-list.display-compact .ultra-compact-card{padding:5px 7px;border-radius:14px;min-height:0}
.item-list.display-compact .status-card::before{width:4px}
.ultra-compact-head{display:flex;align-items:flex-start;justify-content:space-between;gap:6px;min-width:0}
.ultra-compact-title-wrap{display:flex;align-items:flex-start;gap:6px;min-width:0;flex:1}
.ultra-compact-title-block{min-width:0;flex:1}
.ultra-compact-title-line{display:flex;align-items:center;gap:6px;min-width:0}
.ultra-compact-name{margin:0;min-width:0;flex:1;font-size:12px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ultra-compact-title-line .status-pill{padding:2px 6px;font-size:9px;line-height:1.2}
.ultra-compact-meta{margin-top:1px;color:var(--muted);font-size:8.5px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ultra-compact-actions{display:flex;align-items:center;gap:3px;flex:0 0 auto}
.icon-mini{width:24px;height:24px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--text);font-size:13px;line-height:1;display:grid;place-items:center;padding:0;cursor:pointer}
.icon-mini.danger{color:var(--red)}
.icon-mini.next{color:#2566b0;background:#eef5ff;border-color:#d6e6ff}
.ultra-metrics-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;margin-top:4px}
.ultra-metrics-row>span{min-width:0;padding:3px 4px;border-radius:7px;background:var(--soft);font-size:9px;line-height:1.1;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ultra-metrics-row b{display:block;margin-bottom:1px;color:var(--muted);font-size:7.5px;font-weight:800;line-height:1}
.ultra-metrics-row>span.positive{background:var(--soft-green)}
.ultra-metrics-row>span.negative{background:var(--soft-red)}
.item-list.display-compact .item-tags,
.item-list.display-compact .item-actions{display:none!important}
.item-list.display-compact .bulk-check input{width:15px;height:15px;margin-top:1px}

@media(max-width:430px){
  .item-list.display-compact .ultra-compact-card{padding:5px 6px}
  .ultra-compact-name{font-size:11.5px}
  .ultra-compact-meta{font-size:8px}
  .icon-mini{width:22px;height:22px;font-size:12px}
  .ultra-metrics-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:2px}
  .ultra-metrics-row>span{padding:3px 2px;font-size:8.5px}
  .ultra-metrics-row b{font-size:7px}
}

@media(max-width:760px){.expense-head{flex-direction:column}.expense-head-actions{width:100%;justify-content:flex-start}.expense-period-panel{align-items:flex-start;flex-direction:column}.expense-summary-grid{grid-template-columns:1fr}.expense-summary-grid article{display:flex;justify-content:space-between;align-items:center}.expense-summary-grid strong{margin-top:0}.expense-toolbar{grid-template-columns:1fr}.expense-card-main{align-items:flex-start;flex-wrap:wrap}.expense-card-text{min-width:55%}.expense-card-amount{margin-left:auto}.main-tabs{grid-template-columns:repeat(6,1fr)}.main-tab{font-size:11px;padding-left:3px;padding-right:3px}}
@media(max-width:430px){.expense-head-actions{display:grid;grid-template-columns:1fr 1fr}.expense-head-actions .button:last-child{grid-column:1/-1}.expense-card{padding:9px 10px}.expense-card-amount{font-size:16px}}

@media(max-width:980px) and (min-width:761px){.profit-summary-grid{grid-template-columns:repeat(3,1fr)}.profit-analytics-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.profit-summary-grid{grid-template-columns:repeat(2,1fr)}.summary-card{display:block}.summary-card strong{margin-top:7px}.profit-analytics-summary{grid-template-columns:repeat(2,1fr)}.analytics-insight-grid{grid-template-columns:1fr}}
@media(max-width:430px){.profit-summary-grid,.profit-analytics-summary{grid-template-columns:1fr}.summary-card{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px}.summary-card .summary-badge{margin-bottom:0}.summary-card>span:not(.summary-badge){display:none}.summary-card strong{margin-top:0;font-size:20px}.final-profit-card strong{font-size:23px}}

/* 集計修正版 v5 */
.build-badge{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;background:#eaf8ee;color:#247343;font-size:10px;font-weight:850;white-space:nowrap}.inline-refresh{border:1px solid var(--line);border-radius:999px;background:#fff;padding:4px 8px;margin-left:5px;color:var(--text);font-size:10px;font-weight:800;cursor:pointer}.inline-refresh:active{transform:translateY(1px)}

/* v6: 出品前・出品中でも予定売価を入力 */
#saleFields{margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fbfcff}
#saleFields h3{margin-top:0!important;color:#315f9d!important}
#soldDateHint{display:block;margin-top:4px;color:var(--muted);font-size:10px}


/* まとめ売りフォルダ */
.bundle-folder{border:1px solid #d8dce4;border-radius:18px;background:#f7f8fb;box-shadow:0 6px 20px rgba(30,40,60,.07);overflow:hidden}
.bundle-folder-head{display:flex;align-items:stretch;gap:7px;padding:7px;background:linear-gradient(135deg,#f1f5ff,#f8f4ff)}
.bundle-folder-toggle{flex:1;min-width:0;display:flex;align-items:center;gap:9px;border:0;border-radius:13px;background:#fff;padding:10px 11px;text-align:left;cursor:pointer;color:var(--text);box-shadow:inset 0 0 0 1px rgba(98,112,160,.12)}
.bundle-folder-icon{font-size:20px;flex:0 0 auto}
.bundle-folder-title-wrap{min-width:0;flex:1}
.bundle-folder-title-wrap strong{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bundle-folder-title-wrap small{display:block;margin-top:3px;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bundle-folder-chevron{font-size:10px;color:var(--muted);flex:0 0 auto}
.bundle-folder-remove{flex:0 0 auto;border:1px solid #e4cfd2;background:#fff;color:#9f4047;border-radius:12px;padding:0 10px;font-size:10px;font-weight:800;cursor:pointer}
.bundle-folder-body{display:grid;gap:6px;padding:0 7px 7px}
.bundle-folder-body .item-card{box-shadow:none;background:#fff}
.item-list.display-compact .bundle-folder{border-radius:14px}
.item-list.display-compact .bundle-folder-head{padding:4px;gap:4px}
.item-list.display-compact .bundle-folder-toggle{padding:6px 7px;border-radius:10px;gap:6px}
.item-list.display-compact .bundle-folder-icon{font-size:15px}
.item-list.display-compact .bundle-folder-title-wrap strong{font-size:11px}
.item-list.display-compact .bundle-folder-title-wrap small{font-size:8px;margin-top:1px}
.item-list.display-compact .bundle-folder-remove{padding:0 7px;font-size:8px;border-radius:9px}
.item-list.display-compact .bundle-folder-body{gap:4px;padding:0 4px 4px}
@media(max-width:430px){.bundle-folder-head{flex-wrap:wrap}.bundle-folder-remove{min-height:32px}.item-list.display-compact .bundle-folder-head{flex-wrap:nowrap}.item-list.display-compact .bundle-folder-remove{min-height:auto}}


/* 操作改善版 v9: スワイプ操作・固定下部タブ */
.swipe-enabled{position:relative;overflow:hidden;padding:0!important;touch-action:pan-y}
.swipe-enabled::before{z-index:5}
.swipe-card-content{position:relative;z-index:2;min-height:100%;background:inherit;transition:transform .19s ease;will-change:transform;touch-action:pan-y}
.swipe-card-content.swiping{transition:none}
.normal-mode-card .swipe-card-content{padding:12px}
.ultra-compact-card .swipe-card-content{padding:4px 6px}
.swipe-actions-panel{position:absolute;z-index:1;inset:0 0 0 auto;width:132px;display:grid;grid-template-columns:1fr 1fr;background:#eef1f5}
.swipe-action{border:0;color:#fff;font-size:12px;font-weight:900;cursor:pointer}
.swipe-action.duplicate{background:#4777be}
.swipe-action.delete{background:#c54d4a}
.swipe-action:active{filter:brightness(.92)}
.swipe-open .swipe-card-content{transform:translateX(-132px)}
.quick-status-note{text-align:left;margin-top:12px}
.main-tab{min-height:48px}
@media(max-width:760px){
  .main-tabs{width:100%;border-radius:16px 16px 0 0}
  .floating-add{bottom:calc(76px + env(safe-area-inset-bottom))}
  .normal-mode-card .swipe-card-content{padding:10px}
  .ultra-compact-card .swipe-card-content{padding:4px 5px}
}
@media(min-width:761px){
  .main-tabs{bottom:10px;border-bottom:1px solid rgba(210,211,207,.9);border-radius:18px;width:min(calc(100% - 28px),952px)}
  .floating-add{bottom:88px}
}


/* 在庫一覧＋商品写真 v10 */
.inventory-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.inventory-head h2{margin:0;font-size:21px}.inventory-head p{margin:5px 0 0;color:var(--muted);font-size:12px}.inventory-head-badge{padding:7px 10px;border-radius:999px;background:#e9f8f1;color:#24765a;font-size:11px;font-weight:850}.inventory-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:12px}.inventory-summary-grid article{padding:13px;border:1px solid #d9e8df;border-radius:15px;background:linear-gradient(180deg,#fff,#f4fbf7);box-shadow:var(--shadow)}.inventory-summary-grid span{display:block;color:var(--muted);font-size:11px}.inventory-summary-grid strong{display:block;margin-top:5px;font-size:19px}.inventory-toolbar{display:grid;grid-template-columns:1.3fr repeat(3,minmax(130px,.7fr));gap:8px;padding:11px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow);margin-bottom:12px}.inventory-supplier-card{padding:13px;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:var(--shadow);margin-bottom:12px}.inventory-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.inventory-section-title h3{margin:0;font-size:15px}.inventory-section-title span{color:var(--muted);font-size:10px}.inventory-supplier-summary{display:flex;flex-wrap:wrap;gap:7px}.inventory-supplier-chip{border:1px solid #d9e8df;border-radius:12px;background:#f4fbf7;padding:7px 9px;text-align:left;cursor:pointer}.inventory-supplier-chip strong{display:block;font-size:11px}.inventory-supplier-chip span{display:block;margin-top:2px;color:var(--muted);font-size:9px}.inventory-supplier-chip.active{background:#277e60;color:#fff;border-color:#277e60}.inventory-supplier-chip.active span{color:#eaf8f2}.inventory-screen-list{display:grid;gap:8px}.inventory-row{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-left-width:5px;border-radius:16px;background:#fff;box-shadow:var(--shadow)}.inventory-row.status-stock{border-left-color:#2f7df6}.inventory-row.status-listed{border-left-color:#1ca6a6}.inventory-photo-thumb{width:58px;height:58px;border-radius:12px;object-fit:cover;background:var(--soft);display:grid;place-items:center;font-size:23px}.inventory-row-main{min-width:0}.inventory-row-title{display:flex;align-items:center;gap:8px;min-width:0}.inventory-row-title>strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inventory-row-meta{margin-top:4px;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inventory-row-numbers{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:7px;font-size:11px}.inventory-age{padding:4px 7px;border-radius:999px;font-size:9px;font-weight:850}.inventory-age.fresh{background:#edf8ef;color:#38764a}.inventory-age.aging{background:#fff5d9;color:#8a6700}.inventory-age.old{background:#ffead7;color:#a34e13}.inventory-age.very-old{background:#ffe3e2;color:#a13936}.inventory-age.unknown{background:var(--soft);color:var(--muted)}.inventory-edit-btn{padding:7px 10px;font-size:11px}.empty-inline{color:var(--muted);font-size:11px}
.item-photo-editor{display:grid;grid-template-columns:150px 1fr;gap:13px;align-items:center;margin-bottom:14px;padding:12px;border:1px solid #d7e5f5;border-radius:17px;background:#f5f9ff}.item-photo-preview-wrap{width:150px;height:120px;border-radius:14px;overflow:hidden;background:#eaf0f7}.item-photo-preview{width:100%;height:100%;object-fit:cover}.item-photo-empty{width:100%;height:100%;display:grid;place-items:center;align-content:center;gap:5px;color:#6a7890;font-size:28px}.item-photo-empty span{font-size:10px;font-weight:800}.item-photo-controls strong{font-size:14px}.item-photo-controls p{margin:5px 0 9px;color:var(--muted);font-size:10px;line-height:1.55}.item-photo-controls{display:flex;align-items:flex-start;flex-direction:column}.item-photo-controls .button{margin-top:6px}.item-photo-picker input{display:none}.item-photo-thumb{width:44px;height:44px;flex:0 0 auto;border-radius:10px;object-fit:cover;background:var(--soft);display:grid;place-items:center;font-size:18px}.item-list.display-compact .item-photo-thumb{width:28px;height:28px;border-radius:7px;font-size:13px}.photo-placeholder{color:#7a8490}.bundle-folder-body .item-photo-thumb{box-shadow:inset 0 0 0 1px rgba(0,0,0,.04)}
@media(max-width:760px){.inventory-summary-grid{grid-template-columns:repeat(2,1fr)}.inventory-toolbar{grid-template-columns:1fr}.inventory-row{grid-template-columns:48px minmax(0,1fr) auto}.inventory-photo-thumb{width:48px;height:48px}.item-photo-editor{grid-template-columns:110px 1fr}.item-photo-preview-wrap{width:110px;height:100px}}
@media(max-width:430px){.main-tab{font-size:10px;padding-left:1px;padding-right:1px}.inventory-summary-grid{grid-template-columns:1fr 1fr}.inventory-summary-grid article{padding:10px}.inventory-summary-grid strong{font-size:16px}.inventory-row{grid-template-columns:42px minmax(0,1fr);gap:8px;padding:8px}.inventory-photo-thumb{width:42px;height:42px;border-radius:9px}.inventory-edit-btn{grid-column:1/-1;width:100%}.inventory-row-title{align-items:flex-start;flex-direction:column;gap:4px}.inventory-row-meta{white-space:normal}.item-photo-editor{grid-template-columns:1fr}.item-photo-preview-wrap{width:100%;height:180px}.item-photo-controls .button{width:100%;justify-content:center}}


/* 商品URL画像取得・モーダル背景スクロール停止 v11 */
body.dialog-scroll-locked{position:fixed;left:0;right:0;width:100%;overflow:hidden}
dialog[open]{overscroll-behavior:contain}
dialog .modal{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.product-image-url-box{width:100%;margin-top:8px;padding:9px;border:1px solid #d7e5f5;border-radius:12px;background:#fff}
.product-image-url-box>label{display:block;margin-bottom:5px;color:var(--muted);font-size:10px;font-weight:850}
.product-image-url-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}
.product-image-url-row input{min-width:0;padding:9px 10px;font-size:12px}
.product-image-url-row .button{margin:0;white-space:nowrap;padding:8px 10px;font-size:11px}
.product-image-url-box small{display:block;margin-top:6px;color:var(--muted);font-size:9px;line-height:1.45}
.product-image-url-box small.success-text{color:#24765a;font-weight:750}
.product-image-url-box small.error-text{color:#a13936;font-weight:750}
.product-image-url-box small.loading-text{color:#2f68a8;font-weight:750}
@media(max-width:430px){.product-image-url-row{grid-template-columns:1fr}.product-image-url-row .button{width:100%}}

/* v12: フォルダ内商品でも左スワイプを確実に動かす */
.bundle-folder-body{overflow:visible}
.bundle-folder-body .bundle-item-card{width:100%;min-width:0;isolation:isolate;touch-action:pan-y;overscroll-behavior-x:contain}
.bundle-folder-body .bundle-item-card .swipe-actions-panel{z-index:1}
.bundle-folder-body .bundle-item-card .swipe-card-content{z-index:2}
.bundle-folder-body .bundle-item-card.swipe-open .swipe-card-content{transform:translateX(-132px)}
@media(max-width:430px){.bundle-folder-body .bundle-item-card{border-radius:12px}}


/* v13: まとめ売りフォルダ本体を左スワイプして複製・削除 */
.bundle-folder-swipe-shell{position:relative;overflow:hidden;touch-action:pan-y;background:linear-gradient(135deg,#f1f5ff,#f8f4ff)}
.bundle-swipe-content{position:relative;z-index:2;background:inherit;transition:transform .19s ease;will-change:transform;touch-action:pan-y}
.bundle-swipe-content.swiping{transition:none}
.bundle-swipe-actions-panel{position:absolute;z-index:1;inset:0 0 0 auto;width:132px;display:grid;grid-template-columns:1fr 1fr;background:#eef1f5}
.bundle-swipe-action{border:0;color:#fff;font-size:12px;font-weight:900;cursor:pointer}
.bundle-swipe-action.duplicate{background:#4777be}
.bundle-swipe-action.delete{background:#c54d4a}
.bundle-swipe-action:active{filter:brightness(.92)}
.bundle-folder-swipe-shell.swipe-open .bundle-swipe-content{transform:translateX(-132px)}
.bundle-folder-swipe-shell .bundle-folder-head{padding:7px}
.item-list.display-compact .bundle-folder-swipe-shell .bundle-folder-head{padding:4px}
@media(max-width:430px){.bundle-swipe-action{font-size:11px}}


/* 仕入れルート v14 */
.route-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.route-head h2{margin:0;font-size:20px}.route-head p{margin:5px 0 0;color:var(--muted);font-size:12px}.route-head-actions{display:flex;gap:8px;flex-wrap:wrap}.route-setup-notice{margin-bottom:12px;padding:12px 14px;border:1px solid #ffd4c2;border-radius:14px;background:#fff5ef;color:#a9532e;font-size:12px;font-weight:750}.route-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}.route-summary-grid article{background:#fff;border:1px solid var(--line);border-radius:15px;padding:12px;box-shadow:var(--shadow)}.route-summary-grid span{display:block;color:var(--muted);font-size:11px}.route-summary-grid strong{display:block;margin-top:5px;font-size:20px}.route-builder-card,.route-store-card,.route-result-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow);margin-bottom:12px}.route-builder-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;align-items:end}.route-return-check{display:flex;align-items:center;gap:8px;min-height:47px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--soft);color:var(--text)}.route-return-check input{width:auto;margin:0;accent-color:var(--dark)}.route-location-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}.route-location-row span{color:var(--muted);font-size:12px}.route-note{margin:10px 0 0;color:var(--muted);font-size:11px;line-height:1.6}.route-builder-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:12px}.route-store-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.route-store-toolbar input{max-width:430px}.route-store-toolbar span{color:var(--muted);font-size:11px}.route-store-list{display:grid;gap:7px}.route-store-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:9px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:10px;background:#fff}.route-store-row.selected{border-color:#b9d9ef;background:#f5fbff}.route-store-check{display:grid;place-items:center}.route-store-check input{width:18px;height:18px;margin:0;accent-color:#2980b9}.route-store-main{min-width:0}.route-store-title{display:flex;align-items:center;gap:7px;min-width:0}.route-store-title strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-store-title span{padding:3px 7px;border-radius:999px;background:var(--soft);color:var(--muted);font-size:9px;font-weight:800}.route-store-address{margin-top:3px;font-size:12px}.route-store-address.missing{color:#b15a31;font-weight:800}.route-store-meta{margin-top:3px;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-store-actions{display:flex;gap:5px}.route-result-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.route-result-head h3{margin:0;font-size:17px}.route-result-head p{margin:4px 0 0;color:var(--muted);font-size:12px}.route-result-list{display:grid;gap:7px;list-style:none;padding:0;margin:12px 0 0}.route-result-list li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:9px;align-items:center;padding:9px 10px;border-radius:12px;background:var(--soft)}.route-result-list>li>span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--dark);color:#fff;font-size:12px;font-weight:900}.route-result-list strong,.route-result-list small{display:block}.route-result-list small{margin-top:2px;color:var(--muted);font-size:10px}.success-text{color:var(--green)!important}.error-text{color:var(--red)!important}
@media(max-width:760px){.route-head{flex-direction:column}.route-head-actions{width:100%}.route-summary-grid{grid-template-columns:repeat(2,1fr)}.route-builder-grid{grid-template-columns:1fr}.route-store-toolbar{align-items:flex-start;flex-direction:column}.route-store-toolbar input{max-width:none}.route-store-row{grid-template-columns:26px minmax(0,1fr)}.route-store-actions{grid-column:2;justify-content:flex-end}.route-result-head{flex-direction:column}.route-result-head .button{width:100%}}
@media(max-width:430px){.route-summary-grid article{padding:10px}.route-summary-grid strong{font-size:17px}.route-head-actions .button,.route-builder-actions .button{flex:1}.route-store-row{padding:8px}.route-store-actions .button{padding:6px 8px;font-size:10px}.main-tab{font-size:9px}}


/* v15 操作安定化・利益強化・写真修正 */
.forecast-balance-card{border-top:4px solid #5d7fd7;background:linear-gradient(180deg,#fff 0,#f4f7ff 100%)}
.monthly-goal-panel{background:linear-gradient(135deg,#fffdf3,#fff 60%,#f7fbff);border:1px solid #eadfae;border-radius:20px;padding:16px;margin:12px 0;box-shadow:var(--shadow)}
.monthly-goal-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.monthly-goal-head h2{font-size:18px;margin:3px 0 0}.goal-kicker{font-size:11px;font-weight:900;color:#956b00}.monthly-goal-values{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:13px}.monthly-goal-values article{background:rgba(255,255,255,.82);border:1px solid rgba(224,215,175,.7);border-radius:13px;padding:10px}.monthly-goal-values span{display:block;color:var(--muted);font-size:10px}.monthly-goal-values strong{display:block;margin-top:4px;font-size:17px}.goal-progress-track{height:12px;border-radius:999px;background:#ecebe5;overflow:hidden;margin-top:12px}.goal-progress-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,#f0b32f,#53ad70);border-radius:inherit;transition:width .3s ease}.monthly-goal-panel>p{margin:7px 0 0;color:var(--muted);font-size:11px}
.profit-alert-panel{border:1px solid #f1c6c0;background:linear-gradient(180deg,#fff,#fff7f5);border-radius:18px;padding:14px;margin:12px 0;box-shadow:var(--shadow)}.profit-alert-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.profit-alert-head h2{font-size:16px;margin:2px 0}.alert-kicker{font-size:10px;font-weight:900;color:#af4d3e}.profit-alert-head>strong{padding:5px 9px;border-radius:999px;background:#ffe8e4;color:#a2392e}.profit-alert-list{display:grid;gap:7px;margin-top:10px}.profit-alert-item{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;border:1px solid var(--line);border-radius:12px;padding:9px 10px;background:#fff;cursor:pointer}.profit-alert-item span{min-width:0}.profit-alert-item strong,.profit-alert-item small{display:block}.profit-alert-item strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profit-alert-item small{font-size:10px;color:var(--muted);margin-top:3px}.profit-alert-item b{font-size:12px;white-space:nowrap}.profit-alert-item.loss{border-left:5px solid #d54b3d}.profit-alert-item.low{border-left:5px solid #e6a62a}
.item-card.profit-loss-card{box-shadow:0 0 0 2px rgba(213,75,61,.18),var(--shadow)}.item-card.profit-low-card{box-shadow:0 0 0 2px rgba(230,166,42,.16),var(--shadow)}
.supplier-ranking{display:grid;gap:7px}.supplier-rank-item{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:13px;padding:9px 11px;background:#fff}.supplier-rank-number{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#f0edf9;font-weight:900;color:#5d4b92}.supplier-rank-item strong,.supplier-rank-item small{display:block}.supplier-rank-item small{font-size:10px;color:var(--muted);margin-top:3px}.supplier-rank-item>b{font-size:14px}
.item-photo-picker-row{display:grid;grid-template-columns:1fr 1fr;gap:7px}.item-photo-picker-row .item-photo-picker{text-align:center;justify-content:center}.swipe-card-content,.bundle-swipe-content{touch-action:pan-y}.swiping{transition:none!important}.swipe-action:disabled,.bundle-swipe-action:disabled{opacity:.5;pointer-events:none}
@media(max-width:620px){.monthly-goal-values{grid-template-columns:1fr}.monthly-goal-values article{display:flex;align-items:center;justify-content:space-between}.monthly-goal-values strong{margin:0}.item-photo-picker-row{grid-template-columns:1fr}.supplier-rank-item{grid-template-columns:30px 1fr}.supplier-rank-item>b{grid-column:2}.profit-alert-item{align-items:flex-start;flex-direction:column}.profit-alert-item b{white-space:normal}}


/* v16 現在の実質利益と内訳 */
.summary-card.actual-profit-card{grid-column:span 3;border-color:#bfe1d8;background:linear-gradient(180deg,#fff 0,#effaf7 100%);box-shadow:0 10px 32px rgba(24,116,101,.11);padding:15px 16px}
.summary-card.actual-profit-card::before{background:#238b78}
.actual-profit-head{display:flex;align-items:center;justify-content:space-between;gap:14px}
.actual-profit-head>div{min-width:0}
.actual-profit-head .summary-badge{margin-bottom:4px;background:#def5ef;color:#176e60}
.actual-profit-head small{display:block;color:var(--muted);font-size:11px}
.actual-profit-head>strong{margin:0;font-size:clamp(25px,3.8vw,36px)}
.actual-profit-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px;padding-top:11px;border-top:1px solid #d4ebe5}
.actual-profit-breakdown>div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 9px;border-radius:11px;background:rgba(255,255,255,.74)}
.actual-profit-breakdown span{font-size:10px;color:var(--muted)}
.actual-profit-breakdown b{font-size:13px;white-space:nowrap}
.actual-profit-breakdown .deduction b{color:var(--red)}
.analytics-actual-profit-card{grid-column:span 2;background:linear-gradient(180deg,#fff,#effaf7)!important;border:1px solid #c8e7df}
.analytics-actual-profit-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.analytics-actual-profit-head>span{color:#176e60!important;font-weight:850}
.analytics-actual-profit-head>strong{margin:0!important;font-size:22px!important}
.analytics-actual-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:9px;padding-top:8px;border-top:1px solid #d4ebe5}
.analytics-actual-breakdown>div{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:7px;border-radius:9px;background:#fff}
.analytics-actual-breakdown span{font-size:9px!important;color:var(--muted)!important}
.analytics-actual-breakdown b{font-size:11px;white-space:nowrap}
.analytics-actual-breakdown>div:nth-child(n+2) b{color:var(--red)}
@media(max-width:980px) and (min-width:761px){.summary-card.actual-profit-card{grid-column:span 2}}
@media(max-width:760px){.summary-card.actual-profit-card{grid-column:span 2}.actual-profit-breakdown{grid-template-columns:1fr}.analytics-actual-profit-card{grid-column:span 2}.analytics-actual-breakdown{grid-template-columns:1fr}}
@media(max-width:430px){.summary-card.actual-profit-card{grid-column:span 1;display:block;padding:12px}.actual-profit-head{align-items:flex-start}.actual-profit-head .summary-badge{display:inline-flex}.actual-profit-head small{font-size:10px}.actual-profit-head>strong{font-size:25px}.actual-profit-breakdown{display:grid;margin-top:9px;padding-top:8px}.actual-profit-breakdown>div{display:flex;padding:7px 8px}.actual-profit-breakdown span{display:block!important;font-size:10px!important}.actual-profit-breakdown b{font-size:12px}.analytics-actual-profit-card{grid-column:span 1}.analytics-actual-breakdown{display:grid}.analytics-actual-breakdown span{display:block!important}}


/* 取扱説明・ヘルプ v17 */
.support-mini-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-4px 0 14px;padding:9px 11px;border:1px solid #dfe4ec;border-radius:15px;background:linear-gradient(135deg,#fff,#f7f9ff);box-shadow:0 5px 18px rgba(38,49,70,.05)}
.support-mini-copy{min-width:0}.support-mini-copy strong{display:block;font-size:12px}.support-mini-copy span{display:block;margin-top:2px;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.support-mini-actions{display:flex;gap:6px;flex:0 0 auto}.support-mini-button{border:1px solid var(--line);border-radius:999px;padding:7px 10px;background:#fff;font-size:11px;font-weight:850;cursor:pointer}.support-mini-button.guide{color:#315f9d;background:#f2f7ff;border-color:#d8e6fb}.support-mini-button.help{color:#76562d;background:#fff8e9;border-color:#f1dfba}
.support-dialog{width:min(94vw,760px)}.support-modal{max-height:90dvh}.support-section{margin-top:12px;padding:13px;border:1px solid var(--line);border-radius:15px;background:#fff}.support-section:first-of-type{margin-top:0}.support-section h3{margin:0 0 9px;font-size:14px}.support-steps{display:grid;gap:8px;margin:0;padding:0;list-style:none;counter-reset:guide-step}.support-steps li{position:relative;padding:9px 10px 9px 42px;border-radius:12px;background:var(--soft);counter-increment:guide-step}.support-steps li::before{content:counter(guide-step);position:absolute;left:10px;top:9px;width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:var(--dark);color:#fff;font-size:11px;font-weight:900}.support-steps b,.support-steps span{display:block}.support-steps b{font-size:12px}.support-steps span{margin-top:2px;color:var(--muted);font-size:10px;line-height:1.5}
.support-feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.support-feature-grid article{padding:10px;border-radius:12px;background:var(--soft)}.support-feature-grid b,.support-feature-grid span{display:block}.support-feature-grid b{font-size:12px}.support-feature-grid span{margin-top:3px;color:var(--muted);font-size:10px;line-height:1.5}.support-note-list,.support-checklist{display:grid;gap:7px}.support-note-list p,.support-checklist p{margin:0;padding:9px 10px;border-radius:11px;background:var(--soft);font-size:11px;line-height:1.55}.important-support{background:#fff9ea;border-color:#f1dfba}.important-support p{margin:7px 0 0;color:#695431;font-size:11px;line-height:1.6}
@media(max-width:600px){.support-mini-bar{align-items:flex-start}.support-mini-copy span{white-space:normal}.support-mini-actions{flex-direction:column}.support-mini-button{padding:6px 9px;font-size:10px}.support-feature-grid{grid-template-columns:1fr}.support-dialog{width:96vw}.support-section{padding:11px}.support-modal{padding:15px}}
@media(max-width:390px){.support-mini-copy span{display:none}.support-mini-bar{align-items:center}.support-mini-actions{flex-direction:row}.support-mini-button{padding:6px 8px}}

/* ===== サブスク基盤 v19 ===== */
.plan-badge-button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 42px;
  padding: 8px 12px;
  border: 1px solid #d7c9a7;
  border-radius: 999px;
  background: #fff8e8;
  color: #5d4816;
  font: inherit;
  font-weight: 900;
  cursor: pointer;
}
.plan-badge-button small {
  padding: 2px 6px;
  border-radius: 999px;
  background: #5d4816;
  color: #fff;
  font-size: .66rem;
  letter-spacing: .04em;
}
.subscription-settings-card {
  border: 1px solid #d7c9a7;
  background: linear-gradient(145deg, #fffdf7, #fff8e8);
}
.subscription-settings-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
}
.subscription-settings-head h2 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
  margin: 3px 0 7px;
}
.subscription-kicker {
  color: #806116;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .08em;
}
.test-mode-pill {
  display: inline-flex;
  padding: 4px 8px;
  border-radius: 999px;
  background: #2f2920;
  color: #fff;
  font-size: .68rem;
  font-weight: 800;
}
.subscription-settings-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}
.subscription-usage-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 18px;
}
.subscription-usage-grid article {
  padding: 13px;
  border: 1px solid #e3dccd;
  border-radius: 14px;
  background: rgba(255,255,255,.82);
}
.subscription-usage-grid article > div:first-child {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  font-size: .82rem;
}
.subscription-usage-grid small {
  display: block;
  margin-top: 6px;
  color: #716b60;
}
.usage-track {
  height: 7px;
  margin-top: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: #e9e4da;
}
.usage-track i {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: #a77b1f;
  transition: width .25s ease;
}
.pricing-dialog {
  width: min(1080px, calc(100vw - 24px));
}
.pricing-modal {
  width: 100%;
  max-width: none;
}
.pricing-test-notice {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
  padding: 11px 13px;
  border: 1px solid #d7c9a7;
  border-radius: 12px;
  background: #fff8e8;
  color: #5d4816;
}
.pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.pricing-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 390px;
  padding: 20px;
  border: 1px solid #ddd7ca;
  border-radius: 18px;
  background: #fff;
}
.pricing-card.recommended {
  border: 2px solid #a77b1f;
  box-shadow: 0 12px 34px rgba(80,60,15,.12);
}
.pricing-card.pro {
  background: linear-gradient(160deg, #fff, #f4f0ff);
}
.pricing-card.current {
  outline: 3px solid rgba(167,123,31,.18);
}
.pricing-plan-label {
  color: #6f5518;
  font-weight: 900;
}
.pricing-popular {
  position: absolute;
  top: 14px;
  right: 14px;
  padding: 4px 8px;
  border-radius: 999px;
  background: #a77b1f;
  color: #fff;
  font-size: .7rem;
  font-weight: 900;
}
.pricing-card h3 {
  margin: 12px 0 4px;
  font-size: 2rem;
}
.pricing-card h3 small {
  margin-left: 4px;
  color: #746e64;
  font-size: .8rem;
}
.pricing-card p {
  min-height: 44px;
  color: #6b665d;
}
.pricing-card ul {
  flex: 1;
  margin: 15px 0 22px;
  padding-left: 20px;
  line-height: 1.9;
}
.upgrade-modal {
  text-align: center;
}
.upgrade-icon {
  font-size: 2.5rem;
}
.plan-locked {
  position: relative;
  opacity: .72;
}
.main-tab.plan-locked::after,
.action-button.plan-locked::after {
  content: "🔒";
  margin-left: 4px;
  font-size: .72em;
}
.plan-inline-lock,
.plan-feature-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border: 1px dashed #b9aa87;
  border-radius: 12px;
  background: #fffaf0;
  color: #64532d;
}
.plan-inline-lock span,
.plan-feature-card span {
  color: #766d5d;
  font-size: .82rem;
}
.plan-feature-card > div {
  display: grid;
  gap: 3px;
}
.plan-panel-locked > :not(.plan-inline-lock) {
  opacity: .38;
  pointer-events: none;
  user-select: none;
}
.plan-section-locked {
  position: relative;
  opacity: .58;
}
.plan-section-locked::after {
  content: "上位プランで利用できます";
  position: absolute;
  inset: 8px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: rgba(255,255,255,.78);
  color: #5f512e;
  font-weight: 900;
  pointer-events: none;
}

@media (max-width: 760px) {
  .plan-badge-button {
    min-height: 38px;
    padding: 7px 10px;
  }
  .subscription-settings-head {
    display: grid;
  }
  .subscription-settings-actions {
    justify-content: stretch;
  }
  .subscription-settings-actions .button {
    flex: 1;
  }
  .subscription-usage-grid,
  .pricing-grid {
    grid-template-columns: 1fr;
  }
  .pricing-card {
    min-height: 0;
  }
  .pricing-test-notice,
  .plan-inline-lock,
  .plan-feature-card {
    align-items: flex-start;
    flex-direction: column;
  }
}


/* お問い合わせ・管理者受信箱 v22 */
.support-mini-button.contact{color:#376d5f;background:#eefaf5;border-color:#cfe9df}
.support-request-dialog{width:min(94vw,700px)}
.support-request-modal{max-height:90dvh}
.support-privacy-note{display:grid;gap:4px;margin:0 0 13px;padding:11px 12px;border:1px solid #cfe8dd;border-radius:13px;background:#f0fbf6}
.support-privacy-note b{font-size:12px;color:#276a55}
.support-privacy-note span{font-size:10px;color:var(--muted);line-height:1.55}
.support-request-form-grid textarea{min-height:150px}
.field-count{display:block;margin-top:5px;text-align:right;color:var(--muted);font-size:10px}

.admin-support-card{border-color:#d8dcef;background:linear-gradient(180deg,#fff,#f8f8ff)}
.admin-support-kicker{display:inline-block;margin-bottom:3px;color:#6859a6;font-size:10px;font-weight:900}
.admin-support-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:13px}
.admin-support-summary article{padding:10px;border:1px solid #e2e3ef;border-radius:13px;background:#fff}
.admin-support-summary span{display:block;color:var(--muted);font-size:10px}
.admin-support-summary strong{display:block;margin-top:4px;font-size:17px}

.admin-support-dialog{width:min(96vw,900px)}
.admin-support-modal{max-height:92dvh}
.admin-support-toolbar{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-bottom:12px;padding:10px;border:1px solid var(--line);border-radius:13px;background:var(--soft)}
.admin-support-toolbar label{min-width:170px}
.admin-support-list{display:grid;gap:10px}
.admin-support-request{border:1px solid var(--line);border-left:6px solid #9aa4b2;border-radius:16px;padding:13px;background:#fff}
.admin-support-request.status-new{border-left-color:#e49a27}
.admin-support-request.status-reviewing{border-left-color:#4e82d8}
.admin-support-request.status-done{border-left-color:#52a16b}
.admin-support-request-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.admin-support-request-head>div{display:flex;gap:6px;flex-wrap:wrap}
.admin-support-request-head time{color:var(--muted);font-size:10px;white-space:nowrap}
.support-category-pill,.support-status-pill{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:850}
.support-category-pill{background:#f1f3f6;color:#556170}
.support-category-pill.category-feature{background:#f0ebff;color:#6d4db0}
.support-category-pill.category-bug{background:#fff0ee;color:#a9493f}
.support-category-pill.category-question{background:#eaf5ff;color:#2c6ea8}
.support-category-pill.category-other{background:#f2f2f2;color:#626262}
.support-status-pill.status-new{background:#fff4df;color:#98630b}
.support-status-pill.status-reviewing{background:#eaf1ff;color:#315f9f}
.support-status-pill.status-done{background:#eaf8ee;color:#2f7546}
.admin-support-request h3{margin:10px 0 7px;font-size:16px}
.admin-support-message{padding:10px 11px;border-radius:12px;background:var(--soft);font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.admin-support-meta{display:flex;flex-wrap:wrap;gap:7px 14px;margin-top:9px;color:var(--muted);font-size:10px}
.support-email-link{color:#2f6ca6;font-weight:750;text-decoration:none}
.admin-support-request-actions{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-top:10px}
.admin-support-request-actions label{min-width:150px;font-size:10px}
.admin-support-request-actions select{margin-top:4px}

@media(max-width:600px){
  .support-mini-bar{flex-direction:column}
  .support-mini-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
  .support-mini-button{white-space:nowrap;padding:7px 6px}
  .admin-support-summary{grid-template-columns:repeat(2,1fr)}
  .admin-support-toolbar{align-items:stretch}
  .admin-support-request-head{align-items:flex-start}
  .admin-support-request-actions{align-items:stretch;flex-direction:column}
  .admin-support-request-actions label{width:100%}
}
@media(max-width:390px){
  .support-mini-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
  .support-mini-button{font-size:9px;padding:6px 4px}
}


/* 問い合わせメール非表示 v23 */
.support-private-email{
  display:grid;
  align-content:center;
  gap:4px;
  min-height:72px;
  padding:11px 12px;
  border:1px solid #dce8e2;
  border-radius:13px;
  background:#f5fbf8;
}
.support-private-email>span{
  color:var(--muted);
  font-size:10px;
  font-weight:750;
}
.support-private-email>strong{
  color:#2d6555;
  font-size:12px;
  overflow-wrap:anywhere;
}
.support-private-email>small{
  color:var(--muted);
  font-size:9px;
  line-height:1.5;
}


/* 一般公開トップ・法務ページ v25 */
.public-site{min-height:100dvh;background:#f6f6f2;color:#171a1f}
.public-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px clamp(16px,4vw,58px);border-bottom:1px solid rgba(25,30,35,.08);background:rgba(250,250,247,.92);backdrop-filter:blur(16px)}
.public-brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none}.public-brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:#20252b;color:#fff;font-size:20px;font-weight:900}.public-brand b,.public-brand small{display:block}.public-brand b{font-size:14px}.public-brand small{margin-top:1px;color:var(--muted);font-size:9px}
.public-nav{display:flex;gap:22px}.public-nav a{color:#4c535c;text-decoration:none;font-size:11px;font-weight:800}.public-header-actions{display:flex;gap:8px}
.public-main{max-width:1180px;margin:0 auto;padding:0 clamp(15px,4vw,42px) 70px}.public-test-banner{display:flex;align-items:center;justify-content:center;gap:10px;margin:18px 0 0;padding:9px 12px;border:1px solid #e8c978;border-radius:13px;background:#fff7dc;color:#74520c;font-size:10px}
.public-hero{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:48px;min-height:650px;padding:72px 0 55px}.public-eyebrow,.public-section-head>span{display:inline-block;color:#6c5ca8;font-size:10px;font-weight:950;letter-spacing:.14em}.public-hero h1{margin:16px 0 20px;font-size:clamp(42px,7vw,76px);line-height:1.05;letter-spacing:-.045em}.public-hero h1 em{color:#7967bb;font-style:normal}.public-hero-copy>p{max-width:620px;color:#5e6570;font-size:15px;line-height:1.85}.public-hero-actions{display:flex;gap:10px;margin-top:28px}.public-large-button{min-height:48px;padding-inline:24px;font-size:13px}.public-trust-row{display:flex;flex-wrap:wrap;gap:9px 17px;margin-top:20px;color:#68717c;font-size:10px;font-weight:700}
.public-hero-visual{display:grid;grid-template-columns:1fr 1fr;gap:12px;transform:rotate(1deg)}.public-demo-card{min-height:145px;padding:20px;border:1px solid #e0e1dd;border-radius:24px;background:#fff;box-shadow:0 18px 45px rgba(31,36,40,.08)}.public-demo-card.primary-demo{grid-column:1/-1;min-height:185px;background:#20252b;color:#fff}.public-demo-card span,.public-demo-card small,.public-demo-card i{display:block}.public-demo-card span{font-size:11px;font-weight:850}.public-demo-card strong{display:block;margin:18px 0 9px;font-size:32px}.public-demo-card small{color:#858d96;font-size:9px;line-height:1.6}.public-demo-card.primary-demo small{color:#cdd2d7}.public-demo-card i{color:#4d9663;font-size:10px;font-style:normal;font-weight:850}.public-demo-card.warning-demo{border-color:#ecd0c8;background:#fff7f4}
.public-section{padding:76px 0}.public-section-head{max-width:720px;margin:0 auto 32px;text-align:center}.public-section-head h2{margin:10px 0 9px;font-size:clamp(28px,4.5vw,45px);letter-spacing:-.035em}.public-section-head p{color:#676f79;font-size:12px;line-height:1.75}
.public-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.public-feature-grid article{padding:24px;border:1px solid #e0e1dc;border-radius:22px;background:#fff}.public-feature-grid article>span{font-size:25px}.public-feature-grid h3{margin:16px 0 8px;font-size:17px}.public-feature-grid p{margin:0;color:#66707a;font-size:11px;line-height:1.75}
.public-how-section{margin:42px 0;padding:62px 42px;border-radius:32px;background:#20252b;color:#fff}.public-how-section .public-section-head>span{color:#bcaef0}.public-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.public-steps article{display:flex;gap:14px;padding:19px;border:1px solid rgba(255,255,255,.12);border-radius:19px;background:rgba(255,255,255,.05)}.public-steps article>b{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:11px;background:#fff;color:#20252b}.public-steps h3{margin:1px 0 7px}.public-steps p{margin:0;color:#cdd2d8;font-size:10px;line-height:1.65}
.public-pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:stretch}.public-plan-card{position:relative;padding:26px;border:1px solid #dedfd9;border-radius:25px;background:#fff}.public-plan-card.public-pro-card{border:2px solid #7b68bd;box-shadow:0 18px 42px rgba(90,73,153,.13)}.public-plan-name{font-size:11px;font-weight:950;letter-spacing:.09em}.public-plan-popular{position:absolute;top:20px;right:20px;padding:5px 9px;border-radius:999px;background:#ede7ff;color:#6049a4;font-size:9px;font-weight:900}.public-plan-card h3{margin:19px 0 6px;font-size:35px}.public-plan-card h3 small{font-size:11px}.public-plan-card p{color:#69717b;font-size:11px}.public-plan-card ul{min-height:150px;margin:20px 0;padding-left:20px;color:#414852;font-size:11px;line-height:2}.public-price-note{margin-top:15px;color:#737b84;font-size:9px;text-align:center;line-height:1.7}
.public-faq-list{display:grid;max-width:850px;margin:0 auto;gap:9px}.public-faq-list details{padding:0 18px;border:1px solid #dedfd9;border-radius:16px;background:#fff}.public-faq-list summary{padding:17px 0;cursor:pointer;font-size:12px;font-weight:850}.public-faq-list p{margin:0 0 17px;color:#66707a;font-size:11px;line-height:1.75}.public-final-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:65px 0 15px;padding:35px 38px;border-radius:28px;background:#e9e4fb}.public-final-cta span{color:#675a95;font-size:10px;font-weight:850}.public-final-cta h2{margin:7px 0 0;font-size:27px}
.public-footer{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:24px;padding:28px clamp(16px,4vw,58px);border-top:1px solid #dcddd8;background:#eeeeea}.public-footer>div b,.public-footer>div span{display:block}.public-footer>div span,.public-footer small{color:#727983;font-size:9px}.public-footer nav{display:flex;flex-wrap:wrap;gap:11px}.public-footer button,.app-legal-footer button{border:0;background:none;color:#555f69;font:inherit;font-size:9px;text-decoration:underline;cursor:pointer}.app-legal-footer{display:flex;justify-content:center;gap:11px;padding:15px 10px 95px;background:#f4f4f1}
.auth-back-button{display:inline-flex;margin:-5px 0 15px;padding:0;border:0;background:none;color:#6b7280;font-size:10px;cursor:pointer}.signup-agreement{display:flex!important;align-items:flex-start;gap:8px;margin:12px 0;padding:10px;border:1px solid #e0e2dc;border-radius:12px;background:#f8f8f5}.signup-agreement input{width:17px;height:17px;margin:1px 0 0;flex:none}.signup-agreement span{font-size:10px;line-height:1.6}.signup-agreement button,.checkout-review-agreement button{padding:0;border:0;background:none;color:#6552a5;font:inherit;text-decoration:underline;cursor:pointer}
.checkout-review-dialog{width:min(94vw,680px)}.checkout-review-plan{display:flex;align-items:center;justify-content:space-between;margin:4px 0 13px;padding:17px;border-radius:17px;background:#252a30;color:#fff}.checkout-review-plan span{font-size:12px;font-weight:950;letter-spacing:.08em}.checkout-review-plan strong{font-size:20px}.checkout-review-details{display:grid;gap:0;margin:0;border:1px solid var(--line);border-radius:15px;overflow:hidden}.checkout-review-details>div{display:grid;grid-template-columns:125px 1fr;gap:12px;padding:11px 13px;border-bottom:1px solid var(--line)}.checkout-review-details>div:last-child{border-bottom:0}.checkout-review-details dt{font-size:10px;font-weight:850}.checkout-review-details dd{margin:0;color:#626a74;font-size:10px;line-height:1.65}.checkout-review-agreement{display:flex;align-items:flex-start;gap:8px;margin-top:13px;padding:11px;border:1px solid #d9dbe4;border-radius:13px;background:#f7f7fb}.checkout-review-agreement input{flex:none;width:17px;height:17px}.checkout-review-agreement span{font-size:10px;line-height:1.65}
.public-legal-dialog{width:min(95vw,850px)}.public-legal-modal{max-height:92dvh}.public-legal-head span{display:block;color:#7463b2;font-size:9px;font-weight:950;letter-spacing:.12em}.public-legal-content{display:grid;gap:19px}.public-legal-content section{padding-bottom:17px;border-bottom:1px solid var(--line)}.public-legal-content h3{margin:0 0 8px;font-size:14px}.public-legal-content p,.public-legal-content li{color:#515a65;font-size:10px;line-height:1.85}.public-legal-content ul{margin:7px 0 0;padding-left:20px}.legal-placeholder-warning{display:grid;gap:4px;margin:0 0 15px;padding:12px;border:1px solid #e8b8ad;border-radius:13px;background:#fff1ed;color:#8e3b30}.legal-placeholder-warning b{font-size:11px}.legal-placeholder-warning span{font-size:9px;line-height:1.6}.legal-table{display:grid;border:1px solid var(--line);border-radius:15px;overflow:hidden}.legal-table>div{display:grid;grid-template-columns:190px 1fr;border-bottom:1px solid var(--line)}.legal-table>div:last-child{border-bottom:0}.legal-table b,.legal-table span{padding:11px 13px;font-size:10px;line-height:1.7}.legal-table b{background:#f3f3f0}.legal-contact-actions{display:flex;gap:9px;margin-top:15px}

@media(max-width:800px){.public-nav{display:none}.public-hero{grid-template-columns:1fr;min-height:auto;padding-top:55px}.public-hero-visual{max-width:620px}.public-feature-grid,.public-pricing-grid,.public-steps{grid-template-columns:1fr}.public-how-section{padding:45px 20px}.public-plan-card ul{min-height:auto}.public-footer{grid-template-columns:1fr;text-align:center}.public-footer nav{justify-content:center}.public-final-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.public-header{padding:10px 12px}.public-brand small{display:none}.public-header-actions .button{padding:8px 10px;font-size:9px}.public-main{padding-inline:12px}.public-hero{padding-top:42px;gap:31px}.public-hero h1{font-size:44px}.public-hero-copy>p{font-size:12px}.public-hero-actions{display:grid;grid-template-columns:1fr 1fr}.public-trust-row{font-size:9px}.public-hero-visual{gap:8px}.public-demo-card{min-height:120px;padding:15px;border-radius:18px}.public-demo-card.primary-demo{min-height:155px}.public-demo-card strong{font-size:25px}.public-section{padding:55px 0}.public-feature-grid article{padding:20px}.public-how-section{margin-inline:0;border-radius:24px}.public-final-cta{padding:27px 23px}.public-final-cta h2{font-size:22px}.public-test-banner{align-items:flex-start;flex-direction:column}.checkout-review-details>div,.legal-table>div{grid-template-columns:1fr;gap:0}.legal-table b{padding-bottom:4px}.legal-table span{padding-top:5px}.public-legal-content p,.public-legal-content li{font-size:10px}}


/* 事業者情報の開示請求 v26 */
.legal-disclosure-request{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:13px;
  margin-top:16px;
  padding:15px;
  border:1px solid #d8e3ef;
  border-radius:17px;
  background:linear-gradient(135deg,#f7fbff,#f6f4ff);
}
.legal-disclosure-icon{font-size:25px}
.legal-disclosure-request h3{margin:0 0 5px;font-size:15px}
.legal-disclosure-request p{margin:0;color:var(--muted);font-size:11px;line-height:1.65}

.business-disclosure-dialog{width:min(94vw,720px)}
.business-disclosure-modal{max-height:92dvh}
.disclosure-kicker{display:inline-block;margin-bottom:4px;color:#6657a4;font-size:9px;font-weight:900;letter-spacing:.08em}
.disclosure-privacy-note{
  display:grid;
  gap:4px;
  margin-bottom:13px;
  padding:11px 12px;
  border:1px solid #cee7dd;
  border-radius:13px;
  background:#f0faf6;
}
.disclosure-privacy-note b{color:#2e6c58;font-size:11px}
.disclosure-privacy-note span{color:var(--muted);font-size:10px;line-height:1.55}
.disclosure-consent{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin-top:12px;
  padding:11px 12px;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--soft);
  font-size:11px;
  line-height:1.6;
}
.disclosure-consent input{flex:0 0 auto;margin-top:3px}
.disclosure-limit-note{margin:8px 0 0;color:var(--muted);font-size:9px;line-height:1.5}
.disclosure-honeypot{
  position:absolute!important;
  left:-10000px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}

.admin-inbox-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}
.admin-inbox-actions .button span{font-size:10px}
.admin-disclosure-strip{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:10px;
  padding:11px 12px;
  border:1px solid #dedff0;
  border-radius:13px;
  background:#faf9ff;
}
.admin-disclosure-strip>div{display:grid;gap:2px}
.admin-disclosure-strip span{font-size:11px;font-weight:850}
.admin-disclosure-strip small{color:var(--muted);font-size:9px}
.admin-disclosure-strip strong{white-space:nowrap;color:#6a55a2;font-size:12px}

.admin-disclosure-warning{
  display:grid;
  gap:4px;
  margin-bottom:12px;
  padding:10px 11px;
  border:1px solid #f0dfb6;
  border-radius:13px;
  background:#fff9ea;
}
.admin-disclosure-warning b{font-size:11px;color:#80611b}
.admin-disclosure-warning span{font-size:9px;color:var(--muted);line-height:1.55}
.disclosure-request-card.status-sent{border-left-color:#52a16b}
.disclosure-request-card.status-closed{border-left-color:#8e98a6}
.disclosure-admin-email{
  display:flex;
  align-items:center;
  gap:8px;
  margin:7px 0 9px;
  padding:8px 10px;
  border:1px solid #dce6ef;
  border-radius:11px;
  background:#f7fbff;
  font-size:10px;
}
.disclosure-admin-email span{color:var(--muted)}
.disclosure-admin-email a{color:#2f6ca6;font-weight:850;text-decoration:none;overflow-wrap:anywhere}
.admin-disclosure-actions{
  display:grid;
  grid-template-columns:auto minmax(150px,1fr) auto;
  align-items:end;
  gap:8px;
  margin-top:10px;
}
.admin-disclosure-actions label{font-size:10px}
.admin-disclosure-actions select{margin-top:4px}

@media(max-width:650px){
  .legal-disclosure-request{grid-template-columns:auto minmax(0,1fr)}
  .legal-disclosure-request .button{grid-column:1/-1;width:100%}
  .admin-inbox-actions{justify-content:stretch;width:100%}
  .admin-inbox-actions .button{flex:1}
  .admin-disclosure-actions{grid-template-columns:1fr}
  .admin-disclosure-actions .button{width:100%;text-align:center}
}


/* 開示請求フォームのスマホ表示修正 v27 */
.disclosure-consent{
  width:100%;
  min-height:auto;
  box-sizing:border-box;
  align-items:flex-start;
}
.disclosure-consent input[type="checkbox"]{
  appearance:auto;
  -webkit-appearance:checkbox;
  flex:0 0 20px;
  width:20px;
  min-width:20px;
  max-width:20px;
  height:20px;
  min-height:20px;
  max-height:20px;
  margin:1px 0 0;
  padding:0;
  border-radius:4px;
  box-shadow:none;
  accent-color:var(--dark);
}
.disclosure-consent span{
  display:block;
  flex:1 1 auto;
  min-width:0;
  width:auto;
  color:var(--text);
  font-size:11px;
  font-weight:650;
  line-height:1.65;
  writing-mode:horizontal-tb;
  word-break:normal;
  overflow-wrap:anywhere;
}
.business-disclosure-modal{
  overflow-x:hidden;
}
@media(max-width:600px){
  .business-disclosure-dialog{
    width:calc(100vw - 20px);
    max-height:calc(100dvh - 24px);
    border-radius:18px;
  }
  .business-disclosure-modal{
    max-height:calc(100dvh - 24px);
    padding:15px;
  }
  .disclosure-consent{
    gap:10px;
    padding:10px 11px;
  }
  .disclosure-consent span{
    font-size:10px;
    line-height:1.7;
  }
}


/* =========================================================
   テーマ切替 v28
   ========================================================= */
html[data-theme="natural"]{
  --bg:#f4f4f1;
  --panel:#ffffff;
  --text:#202326;
  --muted:#6d7479;
  --line:#e4e5e1;
  --dark:#23272b;
  --green:#17723b;
  --red:#bd3934;
  --blue:#2e5b9f;
  --soft:#f0f1ed;
  --soft-green:#edf7f0;
  --soft-red:#fff0ef;
  --soft-blue:#edf3ff;
  --shadow:0 8px 30px rgba(28,31,35,.06);
  --glass-bg:rgba(244,244,241,.96);
  --topbar-start:#ffffff;
  --topbar-end:#f6fbff;
}

html[data-theme="mint"]{
  --bg:#edf7f2;
  --panel:#ffffff;
  --text:#19332d;
  --muted:#60716b;
  --line:#d4e7df;
  --dark:#276a59;
  --green:#1d7b4b;
  --red:#bd4c4c;
  --blue:#327a83;
  --soft:#e6f2ed;
  --soft-green:#dff2e7;
  --soft-red:#fff0ef;
  --soft-blue:#e6f3f5;
  --shadow:0 8px 30px rgba(35,96,76,.08);
  --glass-bg:rgba(237,247,242,.95);
  --topbar-start:#ffffff;
  --topbar-end:#eaf8f2;
}

html[data-theme="sky"]{
  --bg:#edf4fb;
  --panel:#ffffff;
  --text:#1d2d41;
  --muted:#607084;
  --line:#d5e2ef;
  --dark:#315f91;
  --green:#267858;
  --red:#bd4b55;
  --blue:#315f91;
  --soft:#e7eff8;
  --soft-green:#e4f3eb;
  --soft-red:#fff0f2;
  --soft-blue:#e4effb;
  --shadow:0 8px 30px rgba(44,83,124,.08);
  --glass-bg:rgba(237,244,251,.95);
  --topbar-start:#ffffff;
  --topbar-end:#edf6ff;
}

html[data-theme="rose"]{
  --bg:#faf0f3;
  --panel:#ffffff;
  --text:#3a2730;
  --muted:#78636c;
  --line:#ead9df;
  --dark:#98526d;
  --green:#397858;
  --red:#b94055;
  --blue:#6e609d;
  --soft:#f5e7ec;
  --soft-green:#ebf4ee;
  --soft-red:#fbe4ea;
  --soft-blue:#eee9f8;
  --shadow:0 8px 30px rgba(125,67,91,.08);
  --glass-bg:rgba(250,240,243,.95);
  --topbar-start:#ffffff;
  --topbar-end:#fff1f5;
}

html[data-theme="dark"]{
  --bg:#12171d;
  --panel:#1b222a;
  --text:#f1f5f7;
  --muted:#aab4bf;
  --line:#35404c;
  --dark:#7c69c7;
  --green:#67cf89;
  --red:#ff827c;
  --blue:#80aef2;
  --soft:#252e37;
  --soft-green:#1e3a2a;
  --soft-red:#402629;
  --soft-blue:#22344e;
  --shadow:0 10px 34px rgba(0,0,0,.28);
  --glass-bg:rgba(18,23,29,.94);
  --topbar-start:#1d252e;
  --topbar-end:#202735;
}

body,
.public-site{
  transition:background-color .22s ease,color .22s ease;
}

.topbar{
  background:linear-gradient(135deg,var(--topbar-start) 0,var(--panel) 55%,var(--topbar-end) 100%);
}
.main-tabs{
  background:var(--glass-bg);
  border-color:var(--line);
}
.main-tab.active,
.auth-tab.active{
  background:var(--panel);
  color:var(--text);
}
.button.quiet,
.button,
.view-mode-btn,
.tag-button,
.tag-chip{
  background:var(--panel);
  color:var(--text);
  border-color:var(--line);
}
input,
select,
textarea{
  background:var(--panel);
  color:var(--text);
  border-color:var(--line);
}
input::placeholder,
textarea::placeholder{
  color:color-mix(in srgb,var(--muted) 78%,transparent);
}

/* テーマ選択欄 */
.theme-settings-card{
  overflow:hidden;
}
.theme-settings-head{
  align-items:center;
}
.theme-settings-kicker{
  display:inline-block;
  margin-bottom:4px;
  color:var(--dark);
  font-size:10px;
  font-weight:900;
  letter-spacing:.05em;
}
.current-theme-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:92px;
  padding:7px 11px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--soft);
  color:var(--text);
  font-size:11px;
  font-weight:900;
}
.theme-picker{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
}
.theme-choice{
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  min-width:0;
  padding:10px;
  border:1px solid var(--line);
  border-radius:15px;
  background:var(--panel);
  color:var(--text);
  text-align:left;
  cursor:pointer;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.theme-choice:hover{
  transform:translateY(-1px);
}
.theme-choice.active{
  border-color:var(--dark);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--dark) 16%,transparent);
}
.theme-choice>span:nth-child(2){
  min-width:0;
}
.theme-choice b,
.theme-choice small{
  display:block;
}
.theme-choice b{
  font-size:11px;
}
.theme-choice small{
  margin-top:3px;
  color:var(--muted);
  font-size:8px;
  white-space:normal;
  line-height:1.4;
}
.theme-choice em{
  display:grid;
  place-items:center;
  width:19px;
  height:19px;
  border-radius:50%;
  background:var(--dark);
  color:#fff;
  font-size:10px;
  font-style:normal;
  opacity:0;
  transform:scale(.75);
  transition:.15s ease;
}
.theme-choice.active em{
  opacity:1;
  transform:scale(1);
}
.theme-preview{
  position:relative;
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:1fr 1fr;
  gap:2px;
  width:37px;
  height:37px;
  flex:0 0 37px;
  padding:4px;
  border-radius:11px;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);
}
.theme-preview i{
  display:block;
  border-radius:4px;
}
.theme-preview i:first-child{
  grid-column:1/-1;
}
.preview-natural{background:#f4f4f1}.preview-natural i:nth-child(1){background:#23272b}.preview-natural i:nth-child(2){background:#ffffff}.preview-natural i:nth-child(3){background:#dfe2dd}
.preview-mint{background:#edf7f2}.preview-mint i:nth-child(1){background:#276a59}.preview-mint i:nth-child(2){background:#ffffff}.preview-mint i:nth-child(3){background:#cfe7dc}
.preview-sky{background:#edf4fb}.preview-sky i:nth-child(1){background:#315f91}.preview-sky i:nth-child(2){background:#ffffff}.preview-sky i:nth-child(3){background:#d0e1f1}
.preview-rose{background:#faf0f3}.preview-rose i:nth-child(1){background:#98526d}.preview-rose i:nth-child(2){background:#ffffff}.preview-rose i:nth-child(3){background:#ecd3dc}
.preview-dark{background:#12171d}.preview-dark i:nth-child(1){background:#7c69c7}.preview-dark i:nth-child(2){background:#1b222a}.preview-dark i:nth-child(3){background:#35404c}
.theme-settings-note{
  margin-top:11px;
  margin-bottom:0;
}

/* ダークテーマの白背景・薄色背景をまとめて調整 */
html[data-theme="dark"] body,
html[data-theme="dark"] .public-site{
  background:var(--bg);
  color:var(--text);
}
html[data-theme="dark"] :where(
  .auth-card,
  .topbar,
  .period-panel,
  .summary-card,
  .mini-grid article,
  .toolbar,
  .item-card,
  .swipe-card-content,
  .bundle-item-card,
  .analytics-period-picker,
  .analytics-period-summary,
  .analytics-summary-grid article,
  .analytics-insight-grid article,
  .chart-card,
  .settings-card,
  .fee-rule,
  .receipt-result,
  .receipt-drop,
  .sheet-preview,
  .route-builder-card,
  .route-result-card,
  .route-store-card,
  .inventory-supplier-card,
  .expense-card,
  .pricing-card,
  .plan-feature-card,
  .subscription-usage-grid article,
  .admin-support-summary article,
  .admin-support-request,
  .public-demo-card,
  .public-plan-card,
  .public-feature-grid article,
  .public-how-section,
  .public-final-cta,
  .support-mini-bar,
  .support-privacy-note,
  .support-private-email,
  .disclosure-privacy-note,
  .disclosure-consent,
  .legal-disclosure-request,
  .admin-disclosure-warning,
  .admin-disclosure-strip,
  .disclosure-admin-email
){
  background:var(--panel)!important;
  border-color:var(--line)!important;
  color:var(--text);
}
html[data-theme="dark"] dialog,
html[data-theme="dark"] .modal{
  background:var(--panel);
  color:var(--text);
}
html[data-theme="dark"] dialog::backdrop{
  background:rgba(0,0,0,.72);
}
html[data-theme="dark"] .public-header{
  background:rgba(18,23,29,.92);
  border-color:var(--line);
}
html[data-theme="dark"] :where(
  .public-nav a,
  .public-hero-copy>p,
  .public-trust-row,
  .public-section-head p,
  .public-plan-card p,
  .public-plan-card ul,
  .public-price-note,
  .public-legal-content p,
  .public-legal-content li,
  .public-footer,
  .public-footer a
){
  color:var(--muted);
}
html[data-theme="dark"] .public-demo-card.primary-demo{
  background:#11161c!important;
}
html[data-theme="dark"] .legal-table b{
  background:var(--soft);
}
html[data-theme="dark"] .public-plan-popular,
html[data-theme="dark"] .pricing-popular{
  background:#342b55;
  color:#d9ceff;
}
html[data-theme="dark"] .pricing-test-notice,
html[data-theme="dark"] .public-test-banner,
html[data-theme="dark"] .legal-placeholder-warning{
  background:#392d20;
  border-color:#6b5636;
  color:#f2d69d;
}
html[data-theme="dark"] :where(
  .summary-card.final-profit-card,
  .summary-card.current-balance-card,
  .actual-profit-card,
  .analytics-actual-profit-card
){
  background:var(--panel)!important;
  border-color:var(--line)!important;
}
html[data-theme="dark"] :where(
  .summary-card.procurement-card,
  .summary-card.sales-card,
  .summary-card.product-profit-card,
  .summary-card.common-expense-card,
  .summary-card.profit-rate-card,
  .mini-card,
  .analytics-sales-card,
  .analytics-product-profit-card,
  .analytics-common-expense-card,
  .analytics-profit-rate-card
){
  background:var(--soft)!important;
  border-color:var(--line)!important;
}
html[data-theme="dark"] .button.primary,
html[data-theme="dark"] .main-tab.active,
html[data-theme="dark"] .view-mode-btn.active,
html[data-theme="dark"] .tag-button.active{
  background:var(--dark);
  border-color:var(--dark);
  color:#fff;
}
html[data-theme="dark"] canvas{
  filter:saturate(.92) brightness(1.06);
}

@media(max-width:850px){
  .theme-picker{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .theme-choice:last-child{
    grid-column:1/-1;
  }
}
@media(max-width:520px){
  .theme-settings-head{
    align-items:flex-start;
  }
  .current-theme-label{
    min-width:auto;
    padding:6px 9px;
  }
  .theme-picker{
    grid-template-columns:1fr;
  }
  .theme-choice:last-child{
    grid-column:auto;
  }
  .theme-choice{
    min-height:60px;
  }
}


/* アカウントメール変更 v29 */
.account-settings-card{
  overflow:hidden;
}
.account-settings-head{
  align-items:center;
}
.account-settings-kicker{
  display:inline-block;
  margin-bottom:4px;
  color:var(--dark);
  font-size:10px;
  font-weight:900;
  letter-spacing:.05em;
}
.account-email-display,
.email-change-current{
  display:grid;
  gap:4px;
  margin-top:12px;
  padding:11px 12px;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--soft);
}
.account-email-display span,
.email-change-current span{
  color:var(--muted);
  font-size:10px;
}
.account-email-display strong,
.email-change-current strong{
  color:var(--text);
  font-size:13px;
  overflow-wrap:anywhere;
}
.email-change-dialog{
  width:min(94vw,600px);
}
.email-change-modal{
  max-height:90dvh;
}
.email-change-note{
  display:grid;
  gap:4px;
  margin-top:12px;
  padding:11px 12px;
  border:1px solid #d8e3ef;
  border-radius:13px;
  background:var(--soft-blue);
}
.email-change-note b{
  color:var(--blue);
  font-size:11px;
}
.email-change-note span{
  color:var(--muted);
  font-size:10px;
  line-height:1.6;
}
html[data-theme="dark"] :where(
  .account-email-display,
  .email-change-current,
  .email-change-note
){
  background:var(--soft)!important;
  border-color:var(--line)!important;
}
@media(max-width:520px){
  .account-settings-head{
    align-items:flex-start;
  }
  .account-settings-head .button{
    width:100%;
    margin-top:8px;
  }
}


/* 管理者無料・無制限 v30 */
.admin-unlimited-notice{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:11px;
  padding:10px 12px;
  border:1px solid #dacdf4;
  border-radius:13px;
  background:linear-gradient(135deg,#f7f2ff,#eef8ff);
}
.admin-unlimited-notice b{
  color:#674aa2;
  font-size:11px;
  white-space:nowrap;
}
.admin-unlimited-notice span{
  color:var(--muted);
  font-size:10px;
  line-height:1.55;
  text-align:right;
}
.pricing-card.admin-not-needed{opacity:.72}
.pricing-card.admin-not-needed .button:disabled{
  opacity:1;
  background:var(--soft);
  color:var(--muted);
}
html[data-theme="dark"] .admin-unlimited-notice{
  background:linear-gradient(135deg,#2d2444,#20303e);
  border-color:#554777;
}
html[data-theme="dark"] .admin-unlimited-notice b{color:#d4c5ff}
@media(max-width:560px){
  .admin-unlimited-notice{
    align-items:flex-start;
    flex-direction:column;
  }
  .admin-unlimited-notice span{text-align:left}
}

/* スマホ日本語改行・横幅安定化 v31 */
:where(
  .settings-head,
  .analytics-head,
  .chart-title-row,
  .inventory-head,
  .expense-head,
  .route-head,
  .route-result-head,
  .route-store-toolbar,
  .monthly-goal-head,
  .profit-alert-head,
  .subscription-settings-head,
  .admin-disclosure-strip,
  .integration-row>div
)>*{
  min-width:0;
}

:where(
  .settings-head h2,
  .settings-card>h2,
  .analytics-head h2,
  .chart-title-row h3,
  .inventory-head h2,
  .expense-head h2,
  .route-head h2,
  .route-result-head h3,
  .monthly-goal-head h2,
  .profit-alert-head h2,
  .theme-choice b,
  .current-theme-label,
  .admin-inbox-actions .button,
  .main-tab,
  .view-mode-btn,
  .support-mini-button,
  .status-pill,
  .summary-badge
){
  overflow-wrap:normal;
  word-break:keep-all;
}

.theme-choice>span:nth-child(2){
  overflow:hidden;
}
.theme-choice b,
.theme-choice small{
  max-width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.current-theme-label{
  flex:0 0 auto;
  white-space:nowrap;
}
.admin-inbox-actions .button{
  min-width:max-content;
  white-space:nowrap;
}

@media(max-width:650px){
  .settings-head,
  .theme-settings-head,
  .account-settings-head{
    flex-direction:column;
    align-items:stretch;
  }
  .settings-head>div:first-child,
  .theme-settings-head>div:first-child,
  .account-settings-head>div:first-child{
    width:100%;
    min-width:0;
  }
  .settings-head>.button,
  .account-settings-head>.button{
    width:100%;
    align-self:stretch;
    margin-top:0;
  }
  .current-theme-label{
    align-self:flex-start;
    min-width:max-content;
  }
  .admin-inbox-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
    justify-content:stretch;
  }
  .admin-inbox-actions .button{
    width:100%;
    min-width:0;
    padding-inline:10px;
    font-size:12px;
  }
  .admin-disclosure-strip{
    align-items:flex-start;
  }
}

@media(max-width:430px){
  .settings-card{
    padding:14px;
  }
  .settings-head h2,
  .settings-card>h2{
    font-size:clamp(18px,5.7vw,20px);
    line-height:1.35;
  }
  .settings-head p{
    line-height:1.65;
  }
  .admin-disclosure-strip{
    flex-direction:column;
  }
  .admin-disclosure-strip strong{
    align-self:flex-end;
  }
  .integration-row>div{
    align-items:flex-start;
    flex-direction:column;
  }
  .integration-row span{
    align-self:flex-start;
    white-space:nowrap;
  }
}

@media(max-width:350px){
  .admin-inbox-actions{
    grid-template-columns:1fr;
  }
}

/* グラフ領域の横はみ出し防止 v31 */
.chart-wrap canvas{
  display:block;
  width:100%!important;
  max-width:100%!important;
  height:100%!important;
}

/* v35: 本番公開準備・決済モード表示・公開前チェック */
.sheet-preview-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.sheet-preview-list span{display:block;min-width:0;padding:7px 9px;border:1px solid var(--line);border-radius:10px;background:var(--panel);font-weight:750;line-height:1.35}
@media(max-width:420px){.sheet-preview-list{grid-template-columns:1fr}}


/* v35: 本番公開準備 */
.pricing-test-notice.live-mode-notice{border-color:#acd7bd;background:#eef9f2;color:#1f6c3d}
html[data-theme="dark"] .pricing-test-notice.live-mode-notice{border-color:#35664a;background:#173426;color:#bce8cc}
.launch-readiness-card{border:1px solid #d9e2dc;background:linear-gradient(145deg,#fff,#f5faf7)}
.launch-overall-status{display:inline-flex;align-items:center;justify-content:center;min-width:92px;padding:8px 11px;border-radius:999px;background:#fff2cf;color:#7b5800;font-size:11px;white-space:nowrap}
.launch-overall-status.ready{background:#e6f7ec;color:#1f6c3d}
.launch-readiness-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:15px}
.launch-readiness-grid article{min-width:0;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}
.launch-readiness-grid span{display:block;color:var(--muted);font-size:10px;font-weight:750}
.launch-readiness-grid b{display:block;margin-top:6px;font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.launch-readiness-grid b.ready{color:#1f7a45}
.launch-readiness-grid b.needs-check{color:#a06500}
html[data-theme="dark"] .launch-readiness-card{border-color:#35433b;background:linear-gradient(145deg,#1a2228,#17211c)}
@media(max-width:760px){.launch-readiness-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.launch-readiness-card .settings-head{align-items:flex-start}}
@media(max-width:360px){.launch-readiness-grid{grid-template-columns:1fr}}
