:root {
  --ink: #1d1d1f;
  --ink-deep: #000000;
  --sage: #e5e5ea;
  --sage-soft: #f5f5f7;
  --cream: #f5f5f7;
  --paper: #ffffff;
  --gold: #bf8b45;
  --line: #d2d2d7;
  --muted: #6e6e73;
  --shadow: 0 14px 38px rgba(0, 0, 0, .08);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--cream);
  color: var(--ink);
  font-family: 'Noto Sans SC', 'Microsoft YaHei', sans-serif;
  -webkit-font-smoothing: antialiased;
}
button, input, select, textarea { font: inherit; }
button { border: 0; cursor: pointer; }
.app-shell { min-height: 100vh; padding-bottom: 94px; }
.topbar { height: 74px; padding: 18px 20px 12px; display:flex; justify-content:space-between; align-items:center; max-width: 760px; margin:auto; }
.brand-lockup { display:flex; gap:10px; align-items:center; }
.brand-mark { width:34px; height:34px; display:grid; place-items:center; background:var(--ink); color:var(--sage); font-family:'ZCOOL XiaoWei', serif; border-radius: 11px 11px 11px 3px; font-size:21px; }
.brand-name { font-weight:700; letter-spacing:.07em; font-size:15px; }
.brand-subtitle { font-size:10px; color:var(--muted); letter-spacing:.16em; margin-top:2px; }
.offline-pill { color:var(--ink); background:var(--sage-soft); border:1px solid #c8d9bf; border-radius:999px; padding:6px 10px; font-size:11px; font-weight:600; }
.offline-pill span { display:inline-block; width:6px; height:6px; border-radius:50%; background:#4c8d61; vertical-align:1px; margin-right:4px; }
main { max-width: 760px; margin: auto; padding: 0 18px; }
.overview { display:grid; grid-template-columns: 1fr 148px; gap:16px; align-items:end; padding: 16px 2px 22px; }
.eyebrow { margin:0 0 7px; color:var(--muted); font-size:11px; letter-spacing:.12em; }
h1, h2, p { margin-top:0; }
h1 { margin-bottom:8px; font-size: clamp(28px, 7vw, 40px); line-height:1.16; letter-spacing:-.05em; font-weight:700; }
h2 { margin-bottom:0; font-size:19px; letter-spacing:-.03em; }
.overview-note { color:var(--muted); font-size:12px; margin:0; line-height:1.7; }
.total-card { background:var(--ink); color:#fffef8; border-radius:17px; padding:14px; min-height:108px; display:flex; flex-direction:column; justify-content:space-between; box-shadow: var(--shadow); }
.total-card span { font-size:11px; color:#bfd0c4; }
.total-card strong { font-size:20px; letter-spacing:-.04em; color:#f1dbad; }
.total-card small { color:#9cb8a5; font-size:10px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mode-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding:10px; margin:0 0 20px; border:1px solid #e2e7e3; border-radius:18px; background:rgba(255,255,255,.72); box-shadow:0 8px 22px rgba(31,48,38,.05); }
.support-note { margin:8px 0 0; color:#87958d; font-size:11px; letter-spacing:.02em; }
.mode-strip::-webkit-scrollbar, .category-scroller::-webkit-scrollbar { display:none; }
.mode-button { width:100%; min-height:48px; background:#fff; color:#617168; border:1px solid #d7dfd9; border-radius:13px; padding:11px 8px; font-size:13px; font-weight:600; letter-spacing:.01em; white-space:nowrap; transition:transform .18s ease,box-shadow .18s ease,background .18s ease; }
.mode-button:hover { transform:translateY(-1px); box-shadow:0 5px 12px rgba(31,48,38,.08); }
.mode-button.active { background:var(--ink); color:#fff; border-color:var(--ink); box-shadow:0 7px 16px rgba(31,48,38,.18); }
.category-section, .form-card, .breakdown-card, .history-section { margin-bottom:20px; }
.section-heading { display:flex; align-items:end; justify-content:space-between; margin-bottom:13px; }
.section-heading.compact { align-items:center; }
.text-button { color:var(--ink); background:none; font-size:12px; text-decoration:underline; text-underline-offset:3px; }
.category-scroller { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; padding:2px 0 5px; }
.category-chip { width:100%; min-width:0; text-align:left; padding:14px 13px; background:var(--paper); border:1px solid var(--line); color:var(--ink); border-radius:15px; min-height:76px; box-shadow:0 4px 14px rgba(22,60,50,.03); }
.category-chip small { display:block; color:var(--muted); font-size:10px; margin-bottom:7px; }
.category-chip strong { display:block; font-size:13px; }
.category-chip.active { color:#fff; background:var(--ink); border-color:var(--ink); box-shadow:0 8px 20px rgba(22,60,50,.18); }
.category-chip.active small { color:#a7c2ad; }
.form-card, .breakdown-card { background:var(--paper); border:1px solid rgba(217,224,213,.8); border-radius:20px; padding:18px; box-shadow:var(--shadow); }
.form-card-header { display:flex; justify-content:space-between; align-items:start; margin-bottom:18px; }
.section-kicker { color:var(--gold); font-size:10px; letter-spacing:.12em; }
.form-card h2 { margin-top:5px; }
.live-badge { background:var(--sage-soft); color:#5d8060; font-size:10px; padding:6px 8px; border-radius:99px; }
.live-badge i { display:inline-block; width:5px; height:5px; background:#5d9a65; border-radius:50%; margin-right:3px; vertical-align:1px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:13px 10px; }
.product-stack { display:grid; gap:12px; margin-top:16px; }
.product-card { border:1px solid var(--line); border-radius:14px; padding:13px; background:#fbfaf5; }
.product-card-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:11px; font-size:13px; }
.remove-product { background:none; color:#a25f52; font-size:11px; }
.product-card .form-grid { gap:11px 9px; }
.product-type-select { width:100%; margin-bottom:11px; border:1px solid var(--line); background:#fffdf8; border-radius:9px; padding:10px; color:var(--ink); font-size:12px; }
.add-product { margin-top:13px; width:100%; min-height:42px; border-radius:11px; border:1px dashed #9bb89a; color:#557b5d; background:var(--sage-soft); font-size:12px; font-weight:600; }
.price-hint { color:#66836b; background:var(--sage-soft); border-radius:10px; padding:10px 11px; margin:13px 0 0; font-size:11px; line-height:1.5; }
.field { display:flex; flex-direction:column; gap:6px; }
.field.full { grid-column:1 / -1; }
.field label { font-size:11px; color:var(--muted); }
.field-help { color:#7c9580; font-size:10px; line-height:1.4; margin-top:-2px; }
.field input, .field select, .field textarea { width:100%; border:1px solid var(--line); background:#fbfaf5; border-radius:10px; padding:11px 10px; color:var(--ink); outline:none; font-size:13px; min-height:40px; }
.field textarea { min-height:72px; resize:vertical; line-height:1.6; }
.field input:focus, .field select:focus, .field textarea:focus { border-color:#7aa17e; box-shadow:0 0 0 3px rgba(122,161,126,.15); }
.field input::placeholder, .field textarea::placeholder { color:#b8c0b8; }
.unit-wrap { position:relative; }
.unit-wrap input { padding-right:32px; }
.unit { position:absolute; right:11px; top:11px; color:#9da89d; font-size:11px; }
.form-actions { display:flex; gap:9px; margin-top:18px; }
.primary-button, .secondary-button, .ghost-button { min-height:43px; border-radius:11px; padding:0 15px; font-size:13px; font-weight:600; }
.primary-button { background:var(--ink); color:#fff; flex:1; }
.primary-button span { color:#f1dbad; margin-left:5px; }
.secondary-button { background:var(--sage-soft); color:var(--ink); }
.breakdown-card { background:var(--ink); color:#fff; border:0; }
.breakdown-card .eyebrow { color:#9eb7a3; }
.breakdown-card h2 { color:#fff; }
.formula-tag { color:#c9d8c9; font-size:10px; border:1px solid #49695c; border-radius:999px; padding:5px 8px; }
.breakdown-list { border-top:1px solid #35584c; margin-top:14px; }
.breakdown-row { display:flex; justify-content:space-between; gap:12px; padding:12px 0; border-bottom:1px solid #35584c; font-size:12px; }
.breakdown-row span:first-child { color:#c1d2c3; }
.breakdown-row span:last-child { color:#f1dbad; font-weight:600; }
.breakdown-row small { display:block; color:#7e9b88; font-size:9px; margin-top:3px; }
.breakdown-total { display:flex; justify-content:space-between; align-items:center; padding-top:17px; }
.breakdown-total span { font-size:12px; color:#c1d2c3; }
.breakdown-total strong { font-size:24px; color:#f1dbad; letter-spacing:-.05em; }
.summary-actions { display:flex; gap:8px; margin-top:16px; }
.ghost-button { flex:1; color:#ecf4e9; border:1px solid #49695c; background:transparent; font-size:11px; }
.history-count { color:var(--muted); font-size:11px; }
.history-list { display:grid; gap:9px; }
.cost-section { margin-bottom:20px; }
.cost-card { background:var(--paper); border:1px solid var(--line); border-radius:20px; padding:18px; box-shadow:var(--shadow); }
.cost-intro { color:var(--muted); font-size:12px; line-height:1.6; margin:0 0 12px; }
.cost-actions { display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; }
.cost-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px 10px; }
.cost-result { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:17px; padding-top:15px; border-top:1px solid var(--line); }
.cost-result > div { background:var(--sage-soft); border-radius:12px; padding:12px; }
.cost-result span, .cost-result small { display:block; color:var(--muted); font-size:10px; }
.cost-result strong { display:block; color:var(--ink); font-size:17px; margin-top:6px; }
.cost-result .profit { grid-column:1 / -1; background:var(--ink); }
.cost-result .profit span, .cost-result .profit small { color:#b9d0be; }
.cost-result .profit strong { color:#f1dbad; font-size:23px; }
.cost-history-list { margin-top:12px; }
.history-empty { padding:22px 16px; background:rgba(255,255,255,.38); border:1px dashed #cbd6c7; border-radius:13px; text-align:center; color:var(--muted); font-size:12px; line-height:1.7; }
.history-item { display:grid; grid-template-columns:1fr auto; gap:12px; padding:14px; background:var(--paper); border:1px solid var(--line); border-radius:13px; }
.history-item strong { display:block; font-size:13px; margin-bottom:5px; }
.history-item small { color:var(--muted); font-size:10px; }
.history-item .history-price { color:var(--ink); font-weight:700; text-align:right; }
.history-item button { background:none; color:#6d8b71; font-size:11px; padding:8px 0 0; }
.history-detail-item{border:1px solid #dce5de;border-radius:16px;background:#fff;overflow:hidden}.history-detail-item+ .history-detail-item{margin-top:10px}.history-detail-item summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;cursor:pointer;list-style:none}.history-detail-item summary::-webkit-details-marker{display:none}.history-detail-item summary>span{display:grid;gap:5px}.history-detail-item summary strong{font-size:13px}.history-detail-item summary small{color:#718077;font-size:11px}.history-detail-item summary>b{white-space:nowrap;font-size:14px}.history-detail-body{padding:0 14px 14px;border-top:1px solid #edf1ed}.history-detail-body pre{white-space:pre-wrap;margin:12px 0 8px;font:12px/1.8 'Noto Sans SC',sans-serif;color:#405148}.history-detail-actions{display:flex;gap:14px}.history-detail-actions button{background:#eef5ef;color:#294132;border-radius:9px;padding:8px 12px;font-size:11px}
.bottom-nav { position:fixed; z-index:10; bottom:0; left:50%; transform:translateX(-50%); width:min(100%, 760px); height:82px; padding:8px 10px max(10px, env(safe-area-inset-bottom)); background:rgba(247,249,247,.96); backdrop-filter:blur(18px); border-top:1px solid #dbe4dd; display:grid; grid-template-columns:repeat(5,1fr); }
.nav-item { background:transparent; color:#9aa69b; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; font-size:10px; }
.nav-item span { font-size:20px; line-height:1; }
.nav-item.active { color:var(--ink); }
.nav-item b { font-size:10px; font-weight:500; }
.toast { position:fixed; z-index:20; bottom:90px; left:50%; transform:translate(-50%, 15px); opacity:0; pointer-events:none; background:var(--ink); color:#fff; padding:10px 14px; border-radius:99px; font-size:12px; transition:.25s ease; white-space:nowrap; }
.toast.show { opacity:1; transform:translate(-50%, 0); }
.summary-dialog { width:min(92vw, 520px); border:0; border-radius:18px; padding:0; background:var(--paper); color:var(--ink); box-shadow:0 24px 80px rgba(10,33,27,.3); }
.summary-dialog::backdrop { background:rgba(15,47,40,.55); backdrop-filter:blur(3px); }
.dialog-topline { display:flex; justify-content:space-between; align-items:center; padding:15px 17px; border-bottom:1px solid var(--line); font-weight:600; }
.dialog-topline button { background:none; font-size:24px; color:var(--muted); line-height:1; }
.summary-dialog pre { white-space:pre-wrap; font-family:'Noto Sans SC', sans-serif; font-size:11px; line-height:1.85; padding:16px 17px; max-height:54vh; overflow:auto; margin:0; }
.dialog-copy { margin:0 17px 17px; width:calc(100% - 34px); }
@media (min-width: 560px) { main { padding:0 24px; } .topbar { padding-left:24px; padding-right:24px; } .category-scroller { grid-template-columns:repeat(3,minmax(0,1fr)); } .category-chip { width:auto; min-width:0; } }
@media (max-width: 390px) { .overview { grid-template-columns:1fr 132px; gap:10px; } .total-card strong { font-size:18px; } .form-grid { grid-template-columns:1fr; } .field.full { grid-column:auto; } }
@media (max-width: 390px) { .cost-form-grid { grid-template-columns:1fr; } }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior:auto !important; transition:none !important; } }

.cost-source{display:grid;gap:6px;padding:14px 16px;background:var(--sage-soft);border-radius:16px;color:var(--ink)}.cost-source span{color:var(--muted);font-size:13px}.cost-source b{color:var(--gold);font-size:18px}
.quote-snapshot{margin-top:14px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}
.cost-item-card{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--paper)}.cost-item-card h3{margin:0 0 6px}.cost-item-sales{margin:0;color:var(--gold);font-weight:700}.cost-item-card .cost-form-grid{margin-top:12px}
.order-detail{margin-top:18px;padding:16px;border-top:1px solid var(--line)}.order-detail h3{margin:0 0 14px}.repeat-list{display:grid;gap:8px}.repeat-row{display:flex;gap:8px}.repeat-row input{flex:1}.repeat-row button{padding:0 12px;border-radius:10px;background:var(--sage-soft);color:var(--ink);white-space:nowrap}
.cost-note{margin:14px 0;padding:12px 14px;border-radius:12px;background:#fff8e8;color:#8b632d;font-size:13px;line-height:1.6}
#costForm > .order-detail{display:none}
.snapshot-title,.cost-fields-title{font-weight:700;color:var(--ink);margin-bottom:12px}.snapshot-title small{font-weight:400;color:var(--muted);margin-left:6px}.snapshot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.snapshot-grid span{display:flex;justify-content:space-between;gap:8px;padding:9px 10px;border-radius:10px;background:var(--sage-soft);font-size:13px;color:var(--muted)}.snapshot-grid b{color:var(--ink);font-weight:600}.empty-snapshot{grid-column:1/-1;display:block!important}.cost-fields-title{margin-top:18px;font-size:15px}
.page-panel{transition:opacity .2s ease}
body[data-page="quote"] .page-history,body[data-page="quote"] .page-cost,body[data-page="quote"] .page-stats{display:none}
body[data-page="history"] .page-quote,body[data-page="history"] .page-cost,body[data-page="history"] .page-stats{display:none}
body[data-page="cost"] .page-quote,body[data-page="cost"] .page-history,body[data-page="cost"] .page-stats{display:none}
body[data-page="stats"] .page-quote,body[data-page="stats"] .page-history,body[data-page="stats"] .page-cost{display:none}
body[data-page="talk"] .page-quote,body[data-page="talk"] .page-history,body[data-page="talk"] .page-cost,body[data-page="talk"] .page-stats{display:none}
.page-talk{display:none}body[data-page="talk"] .page-talk{display:block}
/* 镶嵌报价台是独立入口，但复用原有镶嵌字段与计算区块。 */
.mode-custom-hidden{display:none!important}
body[data-page="custom"] .page-quote.overview,
body[data-page="custom"] .page-quote.mode-strip,
body[data-page="custom"] .page-quote.category-section{display:none}
body[data-page="custom"] .page-cost,
body[data-page="custom"] .page-history,
body[data-page="custom"] .page-stats{display:none}
body[data-page="custom"] .page-quote.form-card,
body[data-page="custom"] .page-quote.breakdown-card{display:block}
body[data-page="custom"] .page-quote.form-card{margin-top:0}
body[data-page="custom"] .custom-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
body[data-page="custom"] .form-card-header{border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:14px}
.stats-section{padding-bottom:110px}.stats-intro{margin:0 0 16px;color:#607166;font-size:13px;line-height:1.65}.month-picker{display:grid;gap:4px;color:#65756a;font-size:11px}.month-picker input{border:1px solid #d6e1d9;border-radius:10px;padding:8px 10px;background:#fff;font:inherit;color:#1f3026}.stats-kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px}.stats-kpi{padding:14px;border-radius:16px;background:#1f3026;color:#f6fbf7}.stats-kpi:nth-child(2){background:#dfeee3;color:#203328}.stats-kpi:nth-child(3){background:#f3ead7;color:#59431f}.stats-kpi:nth-child(4){background:#e4e9f2;color:#26354c}.stats-kpi span{display:block;font-size:11px;opacity:.72}.stats-kpi strong{display:block;margin-top:6px;font-size:20px;letter-spacing:-.02em}.stats-table-wrap{display:none}.stats-actions{display:flex;gap:10px;margin-top:14px}.stats-empty{display:none;margin:14px 0 0;color:#79877e;font-size:12px}.stats-empty.show{display:block}.stats-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.stats-category-card{display:grid;gap:6px;text-align:left;padding:14px;border:1px solid #dce5de;border-radius:16px;background:#fff;color:#203328;min-height:100px}.stats-category-card.active{background:#1f3026;border-color:#1f3026;color:#f6fbf7}.stats-category-card span{font-size:13px;font-weight:700}.stats-category-card strong{font-size:17px}.stats-category-card small{font-size:11px;opacity:.7}.stats-detail{margin-top:14px;padding:16px;border:1px solid #dce5de;border-radius:18px;background:#fff}.stats-detail-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}.stats-detail-head h3{margin:4px 0 0;font-size:20px}.stats-detail-head>span{max-width:160px;color:#718077;font-size:11px;text-align:right}.stats-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.stats-detail-cell{padding:11px;border-radius:12px;background:#f4f8f4}.stats-detail-cell span{display:block;color:#718077;font-size:11px}.stats-detail-cell strong{display:block;margin-top:5px;color:#203328;font-size:15px}
@media (max-width:560px){main{padding:0 14px 104px}.topbar{padding:14px 16px}.overview,.form-card,.breakdown-card,.history-section,.cost-section,.stats-section{padding:18px}.category-section{padding:16px}.overview{grid-template-columns:1fr;gap:16px}.total-card{min-height:108px}.mode-strip{gap:8px;padding:8px;margin-bottom:16px;border-radius:16px}.mode-button{min-height:46px;padding:9px 6px;font-size:12px}.category-scroller{gap:10px}.category-chip{min-height:84px;padding:13px}.form-grid{gap:14px}.field label{margin-bottom:7px}.field input,.field select,.field textarea{min-height:48px;padding:12px 13px}.form-actions{gap:10px}.form-actions button{min-height:48px}.breakdown-row{padding:15px 0}.bottom-nav{height:78px;padding-left:2px;padding-right:2px}.nav-item span{font-size:18px}.nav-item b{font-size:9px}.stats-kpis{gap:8px}.stats-kpi{padding:13px}.stats-kpi strong{font-size:18px}body[data-page="custom"] .custom-grid{grid-template-columns:1fr}}

.talk-section{padding:26px;margin-bottom:24px}.talk-intro{color:var(--muted);line-height:1.7;margin:0 0 18px}.talk-search{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:0 14px;margin-bottom:16px}.talk-search span{font-size:22px;color:var(--muted)}.talk-search input{border:0!important;outline:0;flex:1;background:transparent;min-height:48px!important;padding:10px 0!important}.talk-category-grid{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;margin-bottom:18px}.talk-category{white-space:nowrap;border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:999px;padding:10px 14px;font-size:13px}.talk-category.active{background:var(--ink);color:#fff;border-color:var(--ink)}.talk-list{display:grid;gap:12px}.talk-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px}.talk-card h3{font-size:16px;margin:0 0 12px;line-height:1.5}.talk-answer,.talk-tip{font-size:14px;line-height:1.75;color:var(--ink);margin:0 0 10px;white-space:pre-wrap}.talk-tip{color:var(--muted);font-size:13px;border-left:3px solid var(--accent);padding-left:10px}.talk-card-actions{display:flex;justify-content:flex-end}.talk-copy{border:0;background:#f1f4f1;color:var(--ink);padding:8px 12px;border-radius:10px;font-size:12px}.talk-empty{padding:28px;text-align:center;color:var(--muted);background:#fff;border-radius:14px}
.stats-history-button{align-self:center;white-space:nowrap;border:1px solid #d9e5dc;border-radius:999px;padding:8px 11px;background:#f8fbf8;color:#53695b;font-size:11px;box-shadow:0 2px 8px rgba(31,48,38,.04)}.stats-history-button:hover{background:#eef6ef;color:var(--ink)}
.field-state{font-size:10px;color:#849487;font-weight:400;margin-left:4px}
/* 贵金属回收统计：按旧料类型独立分组，避免明细堆叠 */
.recycle-type-block{grid-column:1/-1;padding:13px;border:1px solid #e1e9e2;border-radius:14px;background:#fbfdfb}.recycle-type-block h4{margin:0 0 9px;color:#203328;font-size:14px}.stats-detail-grid-inner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.stats-detail-grid-inner .stats-detail-cell{background:#f1f6f2}
@media (max-width:560px){.stats-detail-grid-inner{grid-template-columns:1fr}}

/* v12 mobile-first stone configuration */
.side-stones-section{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,#fbfdfb,#f2f7f2)}
.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.section-heading h3{margin:4px 0;font-size:18px}.section-heading p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.eyebrow{color:#7a927f;font-size:10px;letter-spacing:.08em}.add-side-stone,.remove-side-stone{border:1px solid #c7d9c9;border-radius:12px;background:#fff;color:var(--ink);min-height:44px;padding:0 13px;white-space:nowrap}.add-side-stone{background:var(--ink);color:#fff;border-color:var(--ink)}
.side-stone-card{margin-top:12px;padding:15px;border:1px solid #dbe6dc;border-radius:16px;background:#fff;box-shadow:0 6px 18px rgba(24,58,38,.05)}.side-stone-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.side-stone-header>div{display:grid;gap:3px}.side-stone-index{font-weight:700;color:var(--ink)}.side-stone-header small{color:var(--muted);font-size:11px}.side-stone-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px}.side-stone-grid .field{min-width:0}.side-stone-total input{font-weight:700;color:var(--ink);background:#f3f8f3}.side-stone-match{margin:12px 0 0;padding:10px 11px;border-radius:10px;background:#f5f8f5;color:#637567;font-size:11px;line-height:1.5}.side-stones-grand-total{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding-top:14px;border-top:1px solid #dbe6dc;color:var(--muted);font-size:13px}.side-stones-grand-total strong{color:var(--ink);font-size:20px}.custom-extra-fields{margin-top:16px}
@media (max-width:560px){.side-stones-section{padding:15px;margin-left:-2px;margin-right:-2px}.section-heading{align-items:stretch;flex-direction:column}.add-side-stone{width:100%}.side-stone-grid{grid-template-columns:1fr;gap:12px}.side-stone-card{padding:14px}.side-stone-header{align-items:flex-start}.side-stone-header .remove-side-stone{min-height:40px}.side-stones-grand-total{position:sticky;bottom:82px;z-index:2;background:rgba(247,249,247,.95);margin-left:-15px;margin-right:-15px;padding:13px 15px;border-top:1px solid #dbe6dc;backdrop-filter:blur(12px)}.custom-base-fields,.custom-extra-fields{gap:13px}.field label{font-size:12px}.field input,.field select,.field textarea{font-size:16px}}

/* v18 mobile comfort pass: fewer visual collisions, calmer rhythm, clearer exits. */
:root{--ink:#18382d;--ink-deep:#10251d;--cream:#f4f7f4;--paper:#fff;--sage-soft:#edf4ee;--line:#dce7df;--muted:#6e7d74;--gold:#a87835;--shadow:0 10px 28px rgba(24,56,45,.07)}
body{background:var(--cream);font-size:15px}
.app-shell{padding-bottom:calc(92px + env(safe-area-inset-bottom))}
.topbar{height:auto;min-height:76px;padding:18px 20px 14px}
.brand-mark{width:38px;height:38px;border-radius:12px 12px 12px 4px}
.brand-name{font-size:16px;letter-spacing:.04em}.brand-subtitle{font-size:10px;letter-spacing:.12em}
.offline-pill{padding:7px 11px;background:#f8fbf8;border-color:#d3e1d6;font-size:11px}
main{padding:0 18px 112px}
.overview{padding:24px 2px 26px;gap:18px}.overview-note{font-size:13px;line-height:1.8}.support-note{font-size:11px;line-height:1.6}
h1{font-size:clamp(29px,7.2vw,40px);line-height:1.2}h2{font-size:20px}
.total-card{min-height:116px;padding:17px;border-radius:18px}
.mode-strip{margin-bottom:24px;padding:8px;border-radius:16px;gap:8px}.mode-button{min-height:50px;border-radius:12px;font-size:13px}
.category-section,.form-card,.breakdown-card,.history-section,.cost-section,.stats-section,.talk-section{border-radius:22px;padding:20px;margin-bottom:22px}
.category-section{background:transparent;padding:4px 0 0}.category-section .section-heading{padding:0 2px}
.category-scroller{gap:11px}.category-chip{min-height:82px;padding:16px;border-radius:17px;box-shadow:0 5px 16px rgba(24,56,45,.045)}.category-chip strong{font-size:14px}.category-chip small{font-size:11px}
.form-card,.cost-card,.quote-snapshot,.stats-detail,.talk-card{box-shadow:0 8px 24px rgba(24,56,45,.055)}
.form-card-header{margin-bottom:21px}.field{gap:7px}.field label{font-size:12px;line-height:1.45}.field input,.field select,.field textarea{min-height:48px;border-radius:13px;background:#fbfdfb;font-size:16px;padding:12px 13px}.field textarea{min-height:92px}
.form-grid,.cost-form-grid{gap:17px 12px}.form-actions{gap:11px;margin-top:22px}.primary-button,.secondary-button,.ghost-button{min-height:48px;border-radius:13px;font-size:13px}
.breakdown-card{padding:20px}.breakdown-row{padding:15px 0;font-size:13px;line-height:1.55}.breakdown-total{padding-top:20px}.breakdown-total strong{font-size:25px}.summary-actions{gap:10px}
.cost-intro,.stats-intro,.talk-intro{font-size:13px;line-height:1.75}.cost-actions{align-items:stretch;gap:10px;flex-direction:column}.cost-actions .secondary-button{width:100%}.cost-actions .text-button{align-self:flex-start}
.cost-source{padding:16px;border-radius:16px}.quote-snapshot{padding:17px}.snapshot-grid{grid-template-columns:1fr;gap:8px}.snapshot-grid span{padding:11px 12px;line-height:1.45}
.cost-result{gap:10px;margin-top:21px;padding-top:18px}.cost-result>div{padding:14px;border-radius:13px}.cost-result strong{font-size:18px}
.order-detail{margin-top:22px;padding:18px 0 0}.order-detail h3{font-size:18px;margin-bottom:16px}
.history-heading-actions{display:flex;align-items:center;gap:10px}.history-back-button{border:1px solid #cfe0d2;background:#f7fbf7;color:#315340;border-radius:999px;padding:8px 11px;font-size:11px;white-space:nowrap}.history-back-button:active{background:#e8f2ea}
.history-section .section-heading{margin-bottom:18px}.history-detail-item{border-radius:16px}.history-detail-item summary{padding:16px}.history-detail-body{padding:0 16px 16px}.history-detail-body pre{font-size:12px;line-height:1.85}
.stats-section{background:#f8fbf8}.stats-section>.section-heading{display:grid;grid-template-columns:1fr auto;grid-template-areas:'title history' 'month month';align-items:end;gap:12px}.stats-section>.section-heading>div{grid-area:title}.stats-section>.section-heading>.stats-history-button{grid-area:history;align-self:end}.stats-section>.section-heading>.month-picker{grid-area:month;width:100%;margin-top:3px}.month-picker input{min-height:46px;border-radius:13px;padding:11px 12px;font-size:16px}
.stats-category-grid{grid-template-columns:1fr;gap:11px;margin:18px 0}.stats-category-card{min-height:88px;padding:16px;border-radius:17px}.stats-category-card strong{font-size:20px}.stats-detail{padding:18px;border-radius:18px}.stats-detail-head{align-items:flex-start}.stats-detail-head h3{font-size:21px}.stats-detail-grid{grid-template-columns:1fr;gap:9px}.stats-detail-cell{padding:13px;border-radius:12px;display:flex;justify-content:space-between;align-items:center;gap:12px}.stats-detail-cell span{font-size:12px}.stats-detail-cell strong{margin-top:0;font-size:16px}.recycle-type-block{padding:14px;border-radius:15px}.stats-detail-grid-inner{gap:8px}
.talk-section{padding:20px}.talk-search{margin-bottom:18px}.talk-search input{font-size:16px}.talk-card{padding:18px;border-radius:17px}.talk-card h3{font-size:16px;line-height:1.6}.talk-answer{font-size:14px;line-height:1.85}
.bottom-nav{height:78px;padding:7px 6px max(8px,env(safe-area-inset-bottom));background:rgba(250,252,250,.97);border-top:1px solid #dce7df;box-shadow:0 -8px 24px rgba(24,56,45,.06)}.nav-item{gap:5px;border-radius:12px}.nav-item span{font-size:19px}.nav-item b{font-size:10px}.nav-item.active{background:#eaf3ec;color:var(--ink)}
.toast{bottom:calc(88px + env(safe-area-inset-bottom));font-size:12px;padding:11px 15px}
@media (max-width:560px){.overview,.form-card,.breakdown-card,.history-section,.cost-section,.stats-section,.talk-section{padding:18px}.category-section{padding:4px 0}.form-grid,.cost-form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.cost-result{grid-template-columns:1fr 1fr}.cost-result .profit{grid-column:1/-1}.side-stones-section{padding:16px}.side-stone-grid{grid-template-columns:1fr}.side-stones-grand-total{position:static;margin:14px 0 0;padding:14px 0 0;background:transparent;backdrop-filter:none}.history-heading-actions{gap:7px}.history-back-button{padding:8px 10px}}

/* v19 deep navy palette: dark, calm, and high-contrast without green cast. */
:root{color-scheme:dark;--ink:#edf2f8;--ink-deep:#f6f8fb;--cream:#111821;--paper:#1b2531;--sage:#253244;--sage-soft:#253140;--gold:#e2bd78;--line:#354355;--muted:#aab6c5;--shadow:0 14px 34px rgba(0,0,0,.24)}
body{background:#111821;color:#edf2f8}
.topbar{color:#edf2f8}.brand-mark{background:#d9b46f;color:#17202a}.brand-name{color:#f4f6fa}.brand-subtitle,.eyebrow,.overview-note,.support-note{color:#aeb9c7}
.offline-pill{background:#1d2936;border-color:#405064;color:#d9e2ec}.offline-pill span{background:#65c994}
.total-card{background:linear-gradient(145deg,#243449,#192432);border:1px solid #3a4b60;box-shadow:0 12px 30px rgba(0,0,0,.24)}.total-card span,.total-card small{color:#c0cad6}.total-card strong{color:#f0cb83}
.mode-strip{background:#19232f;border-color:#334255;box-shadow:0 8px 22px rgba(0,0,0,.16)}.mode-button{background:#202c3a;border-color:#3a4a5e;color:#c4cfdd}.mode-button.active{background:#d9b46f;color:#1b2430;border-color:#d9b46f;box-shadow:0 7px 16px rgba(0,0,0,.22)}
.text-button{color:#d9bd82}.category-chip,.form-card,.cost-card,.history-item,.history-detail-item,.quote-snapshot,.cost-item-card,.stats-detail,.talk-card,.talk-empty{background:#1b2531;border-color:#354355;color:#edf2f8;box-shadow:0 10px 26px rgba(0,0,0,.17)}
.category-chip{box-shadow:0 5px 16px rgba(0,0,0,.12)}.category-chip small,.history-count,.field label,.cost-intro,.stats-intro,.talk-intro{color:#aab6c5}.category-chip.active{background:#d9b46f;color:#1a2330;border-color:#d9b46f}.category-chip.active small{color:#594723}
.section-kicker,.cost-source b,.cost-item-sales{color:#e2bd78}.live-badge{background:#263442;color:#aad9be}.field input,.field select,.field textarea,.product-type-select,.month-picker input,.talk-search{background:#131c26;border-color:#3b4a5d;color:#eef3f8}.field input::placeholder,.field textarea::placeholder{color:#748295}.field input:focus,.field select:focus,.field textarea:focus{border-color:#d9b46f;box-shadow:0 0 0 3px rgba(217,180,111,.18)}.unit{color:#aab6c5}
.primary-button{background:#d9b46f;color:#1b2430}.primary-button span{color:#384252}.secondary-button{background:#2a3746;color:#edf2f8;border:1px solid #435268}.ghost-button{color:#e4ebf3;border-color:#4a5b70}.secondary-button:hover,.ghost-button:hover{background:#344456}
.breakdown-card{background:linear-gradient(150deg,#202e3e,#182330);border:1px solid #3a4b60}.breakdown-card .eyebrow{color:#c5d0dc}.breakdown-row{border-color:#39495b}.breakdown-row span:first-child,.breakdown-total span{color:#d1d9e3}.breakdown-row span:last-child,.breakdown-total strong{color:#f0cb83}.formula-tag{color:#e0c887;border-color:#6b5c3b}
.cost-source,.snapshot-grid span,.cost-result>div,.history-detail-actions button,.talk-copy,.stats-detail-cell{background:#253140;color:#c0cad6}.cost-source strong,.cost-source b,.snapshot-grid b,.stats-detail-cell strong{color:#edf2f8}.snapshot-grid span{color:#c0cad6}.cost-result .profit{background:#293849}.cost-result .profit span,.cost-result .profit small{color:#ced9e5}.cost-result .profit strong{color:#f0cb83}
.order-detail{border-color:#39495b}.repeat-row button{background:#2a3746;color:#edf2f8}.cost-note,.price-hint{background:#352f22;color:#e8cb8e}.history-empty{background:#1b2531;border-color:#455366;color:#aab6c5}.history-item .history-price,.history-detail-item summary>b{color:#f0cb83}.history-item button,.history-detail-actions button{color:#e0c887}.history-detail-body{border-color:#354355}.history-detail-body pre{color:#d0d9e3}.history-back-button,.stats-history-button{background:#263342;border-color:#4a5b70;color:#e5c783}.stats-history-button:hover{background:#344456;color:#fff}
.stats-section{background:#17212c}.stats-category-card{background:#1c2835;border-color:#354355;color:#edf2f8}.stats-category-card.active{background:#d9b46f;border-color:#d9b46f;color:#1b2430}.stats-category-card.active small{opacity:.8}.stats-detail{border-color:#354355}.stats-detail-head>span,.stats-detail-cell span{color:#b4c0ce}.recycle-type-block{background:#202c39;border-color:#3b4b5e}.recycle-type-block h4{color:#f0cb83}.stats-detail-grid-inner .stats-detail-cell{background:#2a3746}
.talk-search span,.talk-card h3,.talk-answer{color:#edf2f8}.talk-category{background:#202c39;border-color:#3b4b5e;color:#c5cfdb}.talk-category.active{background:#d9b46f;border-color:#d9b46f;color:#1b2430}.talk-tip{color:#bcc7d3;border-color:#d9b46f}
.side-stones-section{background:#1a2531;border-color:#39495c}.side-stone-card{background:#202c39;border-color:#3b4b5e;box-shadow:0 6px 18px rgba(0,0,0,.15)}.side-stone-header small,.side-stone-match,.side-stones-grand-total{color:#b7c3d0}.side-stone-match{background:#293746}.side-stone-total input{background:#25384a;color:#f0cb83}.add-side-stone{background:#d9b46f;color:#1b2430;border-color:#d9b46f}.remove-side-stone{background:#293746;color:#efc5bc;border-color:#6a4946}.side-stones-grand-total{border-color:#3a4b5e}
.bottom-nav{background:rgba(17,24,33,.97);border-color:#344255;box-shadow:0 -8px 24px rgba(0,0,0,.25)}.nav-item{color:#9eabba}.nav-item.active{background:#273544;color:#f0cb83}.nav-item.active span,.nav-item.active b{color:#f0cb83}
.toast{background:#e2bd78;color:#18212b}.summary-dialog{background:#1b2531;color:#edf2f8;border:1px solid #405064}.dialog-topline{border-color:#354355}.dialog-topline button{color:#d1d9e3}.summary-dialog pre{color:#d7dfe8}.summary-dialog::backdrop{background:rgba(0,0,0,.7)}
@media(max-width:560px){.side-stones-grand-total{background:#1a2531}.stats-kpi{background:#263649;color:#f2f5f8}.stats-kpi:nth-child(2){background:#293747;color:#f2f5f8}.stats-kpi:nth-child(3){background:#3b3428;color:#f3dfb6}.stats-kpi:nth-child(4){background:#293747;color:#e1eaf5}}

/* v20 daylight palette: soft porcelain, slate blue and restrained champagne accents. */
:root{color-scheme:light;--ink:#17263a;--ink-deep:#122036;--cream:#f4f6fa;--paper:#fff;--sage:#e8edf4;--sage-soft:#f1f4f8;--gold:#a97939;--line:#dfe5ed;--muted:#66758a;--shadow:0 10px 28px rgba(36,55,80,.08)}
body{background:#f4f6fa;color:#17263a}
.topbar{color:#17263a}.brand-mark{background:#263b59;color:#f5d99d}.brand-name{color:#17263a}.brand-subtitle,.eyebrow,.overview-note,.support-note{color:#6d7b8e}
.offline-pill{background:#fff;border-color:#d9e2ed;color:#40556e}.offline-pill span{background:#4ca979}
.total-card{background:linear-gradient(145deg,#314a6c,#263b59);border:1px solid #496181;box-shadow:0 12px 28px rgba(41,62,91,.18)}.total-card span,.total-card small{color:#d1dbe8}.total-card strong{color:#f5d99d}
.mode-strip{background:rgba(255,255,255,.84);border-color:#dfe6ef;box-shadow:0 8px 22px rgba(36,55,80,.06)}.mode-button{background:#f7f9fc;border-color:#d8e0ea;color:#586a80}.mode-button.active{background:#526a91;color:#fff;border-color:#526a91;box-shadow:0 7px 16px rgba(53,76,111,.2)}
.text-button{color:#526a91}.category-chip,.form-card,.cost-card,.history-item,.history-detail-item,.quote-snapshot,.cost-item-card,.stats-detail,.talk-card,.talk-empty{background:#fff;border-color:#dfe5ed;color:#17263a;box-shadow:0 9px 24px rgba(36,55,80,.06)}
.category-chip{box-shadow:0 5px 16px rgba(36,55,80,.05)}.category-chip small,.history-count,.field label,.cost-intro,.stats-intro,.talk-intro{color:#6d7b8e}.category-chip.active{background:#526a91;color:#fff;border-color:#526a91}.category-chip.active small{color:#d8e1ee}
.section-kicker,.cost-source b,.cost-item-sales{color:#a97939}.live-badge{background:#edf6f1;color:#3c7b5c}.field input,.field select,.field textarea,.product-type-select,.month-picker input,.talk-search{background:#fbfcfe;border-color:#d7e0eb;color:#17263a}.field input::placeholder,.field textarea::placeholder{color:#aab6c4}.field input:focus,.field select:focus,.field textarea:focus{border-color:#7f96b8;box-shadow:0 0 0 3px rgba(82,106,145,.16)}.unit{color:#7e8da0}
.primary-button{background:#526a91;color:#fff}.primary-button span{color:#f5d99d}.secondary-button{background:#edf1f6;color:#2a3d58;border:1px solid #d8e1ec}.ghost-button{color:#eef4fb;border-color:#71829a}.secondary-button:hover{background:#e3eaf2}.ghost-button:hover{background:#3d536f}
.breakdown-card{background:linear-gradient(150deg,#314a6c,#263b59);border:1px solid #496181}.breakdown-card .eyebrow{color:#d4dfeb}.breakdown-row{border-color:#526784}.breakdown-row span:first-child,.breakdown-total span{color:#d8e2ee}.breakdown-row span:last-child,.breakdown-total strong{color:#f5d99d}.formula-tag{color:#f0d49a;border-color:#8b7651}
.cost-source,.snapshot-grid span,.cost-result>div,.history-detail-actions button,.talk-copy,.stats-detail-cell{background:#f1f4f8;color:#5d6e83}.cost-source strong,.cost-source b,.snapshot-grid b,.stats-detail-cell strong{color:#17263a}.snapshot-grid span{color:#63738a}.cost-result .profit{background:#314a6c}.cost-result .profit span,.cost-result .profit small{color:#d6e0ec}.cost-result .profit strong{color:#f5d99d}
.order-detail{border-color:#dfe5ed}.repeat-row button{background:#edf1f6;color:#2a3d58}.cost-note,.price-hint{background:#fbf3e4;color:#87632d}.history-empty{background:#fff;border-color:#d5dee9;color:#6d7b8e}.history-item .history-price,.history-detail-item summary>b{color:#9a6d30}.history-item button,.history-detail-actions button{color:#526a91}.history-detail-body{border-color:#e7ebf1}.history-detail-body pre{color:#43566e}.history-back-button,.stats-history-button{background:#fff;border-color:#d4dfeb;color:#526a91}.stats-history-button:hover{background:#edf2f8;color:#2a3d58}
.stats-section{background:#f7f9fc}.stats-category-card{background:#fff;border-color:#dfe5ed;color:#17263a}.stats-category-card.active{background:#526a91;border-color:#526a91;color:#fff}.stats-detail{border-color:#dfe5ed}.stats-detail-head>span,.stats-detail-cell span{color:#6d7b8e}.recycle-type-block{background:#f8fafc;border-color:#dfe6ef}.recycle-type-block h4{color:#526a91}.stats-detail-grid-inner .stats-detail-cell{background:#edf2f7}
.talk-search span,.talk-card h3,.talk-answer{color:#17263a}.talk-category{background:#f7f9fc;border-color:#d8e1eb;color:#64758b}.talk-category.active{background:#526a91;border-color:#526a91;color:#fff}.talk-tip{color:#63738a;border-color:#b98a48}
.side-stones-section{background:#f7f9fc;border-color:#dfe6ef}.side-stone-card{background:#fff;border-color:#dfe6ef;box-shadow:0 6px 18px rgba(36,55,80,.06)}.side-stone-header small,.side-stone-match,.side-stones-grand-total{color:#697a8f}.side-stone-match{background:#f1f5f9}.side-stone-total input{background:#f3f6fa;color:#526a91}.add-side-stone{background:#526a91;color:#fff;border-color:#526a91}.remove-side-stone{background:#fff7f4;color:#a15e52;border-color:#e8c9c0}.side-stones-grand-total{border-color:#dfe6ef}
.bottom-nav{background:rgba(255,255,255,.96);border-color:#dfe6ef;box-shadow:0 -8px 24px rgba(36,55,80,.08)}.nav-item{color:#8b98a8}.nav-item.active{background:#edf2f8;color:#526a91}.nav-item.active span,.nav-item.active b{color:#526a91}
.toast{background:#526a91;color:#fff}.summary-dialog{background:#fff;color:#17263a;border:1px solid #dfe5ed}.dialog-topline{border-color:#e3e8ef}.dialog-topline button{color:#6d7b8e}.summary-dialog pre{color:#43566e}.summary-dialog::backdrop{background:rgba(31,47,70,.38)}
@media(max-width:560px){.side-stones-grand-total{background:#f7f9fc}.stats-kpi{background:#314a6c;color:#fff}.stats-kpi:nth-child(2){background:#e7edf5;color:#263b59}.stats-kpi:nth-child(3){background:#fbf0dc;color:#735427}.stats-kpi:nth-child(4){background:#e9eef5;color:#2e486b}}

/* v21 maison palette: porcelain, Cartier-inspired wine red, ink and champagne. */
:root{color-scheme:light;--ink:#211d1e;--ink-deep:#171315;--cream:#f6f2ed;--paper:#fffdfa;--sage:#eee8e1;--sage-soft:#f5f0eb;--gold:#b08a4d;--line:#e5ddd6;--muted:#756b68;--shadow:0 10px 28px rgba(61,42,35,.08)}
body{background:#f6f2ed;color:#211d1e}
.topbar{color:#211d1e}.brand-mark{background:#8f1738;color:#fff5e8}.brand-name{color:#211d1e}.brand-subtitle,.eyebrow,.overview-note,.support-note{color:#756b68}
.offline-pill{background:#fffdfa;border-color:#e0d3c9;color:#5b4b49}.offline-pill span{background:#4ca979}
.total-card{background:linear-gradient(145deg,#65152d,#8f1738);border:1px solid #a34b60;box-shadow:0 12px 28px rgba(102,21,45,.2)}.total-card span,.total-card small{color:#f2dfe2}.total-card strong{color:#f4d59a}
.mode-strip{background:rgba(255,253,250,.9);border-color:#e6ddd5;box-shadow:0 8px 22px rgba(76,48,38,.06)}.mode-button{background:#fbf7f3;border-color:#e3d9d0;color:#6b5c59}.mode-button.active{background:#8f1738;color:#fff;border-color:#8f1738;box-shadow:0 7px 16px rgba(111,22,49,.2)}
.text-button{color:#8f1738}.category-chip,.form-card,.cost-card,.history-item,.history-detail-item,.quote-snapshot,.cost-item-card,.stats-detail,.talk-card,.talk-empty{background:#fffdfa;border-color:#e5ddd6;color:#211d1e;box-shadow:0 9px 24px rgba(61,42,35,.06)}
.category-chip{box-shadow:0 5px 16px rgba(61,42,35,.05)}.category-chip small,.history-count,.field label,.cost-intro,.stats-intro,.talk-intro{color:#756b68}.category-chip.active{background:#8f1738;color:#fff;border-color:#8f1738}.category-chip.active small{color:#f3dfe0}
.section-kicker,.cost-source b,.cost-item-sales{color:#a4773d}.live-badge{background:#f0f6f1;color:#46775a}.field input,.field select,.field textarea,.product-type-select,.month-picker input,.talk-search{background:#fffdfa;border-color:#ded4cc;color:#211d1e}.field input::placeholder,.field textarea::placeholder{color:#afa4a0}.field input:focus,.field select:focus,.field textarea:focus{border-color:#b36a79;box-shadow:0 0 0 3px rgba(143,23,56,.13)}.unit{color:#897b77}
.primary-button{background:#8f1738;color:#fff}.primary-button span{color:#f4d59a}.secondary-button{background:#f0e9e3;color:#5c2a38;border:1px solid #dfd2ca}.ghost-button{color:#fff4ea;border-color:#af6b7d}.secondary-button:hover{background:#e9ded6}.ghost-button:hover{background:#71142e}
.breakdown-card{background:linear-gradient(150deg,#65152d,#8f1738);border:1px solid #a34b60}.breakdown-card .eyebrow{color:#f1dfe1}.breakdown-row{border-color:#a14a60}.breakdown-row span:first-child,.breakdown-total span{color:#f2dfe2}.breakdown-row span:last-child,.breakdown-total strong{color:#f4d59a}.formula-tag{color:#f2d69e;border-color:#d09a68}
.cost-source,.snapshot-grid span,.cost-result>div,.history-detail-actions button,.talk-copy,.stats-detail-cell{background:#f4eee9;color:#756b68}.cost-source strong,.cost-source b,.snapshot-grid b,.stats-detail-cell strong{color:#211d1e}.snapshot-grid span{color:#756b68}.cost-result .profit{background:#65152d}.cost-result .profit span,.cost-result .profit small{color:#f1dfe0}.cost-result .profit strong{color:#f4d59a}
.order-detail{border-color:#e5ddd6}.repeat-row button{background:#f0e9e3;color:#5c2a38}.cost-note,.price-hint{background:#fbf2e2;color:#86612c}.history-empty{background:#fffdfa;border-color:#ddcfc5;color:#756b68}.history-item .history-price,.history-detail-item summary>b{color:#94642a}.history-item button,.history-detail-actions button{color:#8f1738}.history-detail-body{border-color:#ebe3dd}.history-detail-body pre{color:#5a4d4a}.history-back-button,.stats-history-button{background:#fffdfa;border-color:#ddcfc5;color:#8f1738}.stats-history-button:hover{background:#f3e9e2;color:#65152d}
.stats-section{background:#fbf8f5}.stats-category-card{background:#fffdfa;border-color:#e5ddd6;color:#211d1e}.stats-category-card.active{background:#8f1738;border-color:#8f1738;color:#fff}.stats-detail{border-color:#e5ddd6}.stats-detail-head>span,.stats-detail-cell span{color:#756b68}.recycle-type-block{background:#fbf8f5;border-color:#e4dcd4}.recycle-type-block h4{color:#8f1738}.stats-detail-grid-inner .stats-detail-cell{background:#f2ebe5}
.talk-search span,.talk-card h3,.talk-answer{color:#211d1e}.talk-category{background:#fbf7f3;border-color:#dfd5cd;color:#756b68}.talk-category.active{background:#8f1738;border-color:#8f1738;color:#fff}.talk-tip{color:#756b68;border-color:#b08a4d}
.side-stones-section{background:#fbf8f5;border-color:#e4dcd4}.side-stone-card{background:#fffdfa;border-color:#e5ddd6;box-shadow:0 6px 18px rgba(61,42,35,.06)}.side-stone-header small,.side-stone-match,.side-stones-grand-total{color:#756b68}.side-stone-match{background:#f4eee9}.side-stone-total input{background:#f7f0ea;color:#8f1738}.add-side-stone{background:#8f1738;color:#fff;border-color:#8f1738}.remove-side-stone{background:#fff7f4;color:#9c5c51;border-color:#e7cbc2}.side-stones-grand-total{border-color:#e5ddd6}
.bottom-nav{background:rgba(255,253,250,.97);border-color:#e4dcd4;box-shadow:0 -8px 24px rgba(61,42,35,.08)}.nav-item{color:#9a8e89}.nav-item.active{background:#f3e5e8;color:#8f1738}.nav-item.active span,.nav-item.active b{color:#8f1738}
.toast{background:#8f1738;color:#fff}.summary-dialog{background:#fffdfa;color:#211d1e;border:1px solid #e5ddd6}.dialog-topline{border-color:#ebe3dd}.dialog-topline button{color:#756b68}.summary-dialog pre{color:#5a4d4a}.summary-dialog::backdrop{background:rgba(55,23,32,.35)}
@media(max-width:560px){.side-stones-grand-total{background:#fbf8f5}.stats-kpi{background:#8f1738;color:#fff}.stats-kpi:nth-child(2){background:#f0e5df;color:#5f2937}.stats-kpi:nth-child(3){background:#fbf0dc;color:#735427}.stats-kpi:nth-child(4){background:#f2e7e4;color:#6d2c3c}}

/* v22 cobalt blue palette: bright cobalt anchor, airy blue-white surfaces, readable ink. */
:root{color-scheme:light;--ink:#14213d;--ink-deep:#0d1a33;--cream:#f5f8ff;--paper:#fff;--sage:#e7effc;--sage-soft:#eef4ff;--gold:#a97835;--line:#dbe5f4;--muted:#64748b;--shadow:0 10px 28px rgba(38,79,145,.09)}
body{background:#f5f8ff;color:#14213d}
.topbar{color:#14213d}.brand-mark{background:#246bfd;color:#fff}.brand-name{color:#14213d}.brand-subtitle,.eyebrow,.overview-note,.support-note{color:#64748b}
.offline-pill{background:#fff;border-color:#d9e5f5;color:#3d577a}.offline-pill span{background:#42a877}
.total-card{background:linear-gradient(145deg,#246bfd,#1d55cc);border:1px solid #5c8df4;box-shadow:0 12px 28px rgba(36,107,253,.22)}.total-card span,.total-card small{color:#dce9ff}.total-card strong{color:#fff2c9}
.mode-strip{background:rgba(255,255,255,.9);border-color:#dce7f6;box-shadow:0 8px 22px rgba(38,79,145,.06)}.mode-button{background:#f7faff;border-color:#d7e2f2;color:#526987}.mode-button.active{background:#246bfd;color:#fff;border-color:#246bfd;box-shadow:0 7px 16px rgba(36,107,253,.2)}
.text-button{color:#1d5bdd}.category-chip,.form-card,.cost-card,.history-item,.history-detail-item,.quote-snapshot,.cost-item-card,.stats-detail,.talk-card,.talk-empty{background:#fff;border-color:#dbe5f2;color:#14213d;box-shadow:0 9px 24px rgba(38,79,145,.06)}
.category-chip{box-shadow:0 5px 16px rgba(38,79,145,.05)}.category-chip small,.history-count,.field label,.cost-intro,.stats-intro,.talk-intro{color:#64748b}.category-chip.active{background:#246bfd;color:#fff;border-color:#246bfd}.category-chip.active small{color:#dce9ff}
.section-kicker,.cost-source b,.cost-item-sales{color:#a97835}.live-badge{background:#eaf7f0;color:#347b55}.field input,.field select,.field textarea,.product-type-select,.month-picker input,.talk-search{background:#fbfdff;border-color:#d4e0f0;color:#14213d}.field input::placeholder,.field textarea::placeholder{color:#a2b0c2}.field input:focus,.field select:focus,.field textarea:focus{border-color:#72a0f4;box-shadow:0 0 0 3px rgba(36,107,253,.14)}.unit{color:#71839d}
.primary-button{background:#246bfd;color:#fff}.primary-button span{color:#fff2c9}.secondary-button{background:#edf3fc;color:#254c85;border:1px solid #d5e1f1}.ghost-button{color:#eef5ff;border-color:#79a6f6}.secondary-button:hover{background:#e2ecfb}.ghost-button:hover{background:#1c56cf}
.breakdown-card{background:linear-gradient(150deg,#2459c7,#1a47a5);border:1px solid #5683df}.breakdown-card .eyebrow{color:#dce9ff}.breakdown-row{border-color:#5680d0}.breakdown-row span:first-child,.breakdown-total span{color:#dfeaff}.breakdown-row span:last-child,.breakdown-total strong{color:#fff2c9}.formula-tag{color:#dce9ff;border-color:#83a9ef}
.cost-source,.snapshot-grid span,.cost-result>div,.history-detail-actions button,.talk-copy,.stats-detail-cell{background:#eef4fc;color:#64748b}.cost-source strong,.cost-source b,.snapshot-grid b,.stats-detail-cell strong{color:#14213d}.snapshot-grid span{color:#64748b}.cost-result .profit{background:#2459c7}.cost-result .profit span,.cost-result .profit small{color:#dce9ff}.cost-result .profit strong{color:#fff2c9}
.order-detail{border-color:#dbe5f2}.repeat-row button{background:#edf3fc;color:#254c85}.cost-note,.price-hint{background:#fff6e6;color:#86612c}.history-empty{background:#fff;border-color:#d6e2f1;color:#64748b}.history-item .history-price,.history-detail-item summary>b{color:#956b2d}.history-item button,.history-detail-actions button{color:#1d5bdd}.history-detail-body{border-color:#e5edf7}.history-detail-body pre{color:#435a7c}.history-back-button,.stats-history-button{background:#fff;border-color:#d3e0f0;color:#1d5bdd}.stats-history-button:hover{background:#edf4ff;color:#1749a9}
.stats-section{background:#f8faff}.stats-category-card{background:#fff;border-color:#dbe5f2;color:#14213d}.stats-category-card.active{background:#246bfd;border-color:#246bfd;color:#fff}.stats-detail{border-color:#dbe5f2}.stats-detail-head>span,.stats-detail-cell span{color:#64748b}.recycle-type-block{background:#f8fbff;border-color:#dce7f5}.recycle-type-block h4{color:#1d5bdd}.stats-detail-grid-inner .stats-detail-cell{background:#edf4fc}
.talk-search span,.talk-card h3,.talk-answer{color:#14213d}.talk-category{background:#f7faff;border-color:#d7e2f2;color:#64748b}.talk-category.active{background:#246bfd;border-color:#246bfd;color:#fff}.talk-tip{color:#64748b;border-color:#7ea7f4}
.side-stones-section{background:#f8fbff;border-color:#dce7f5}.side-stone-card{background:#fff;border-color:#dbe5f2;box-shadow:0 6px 18px rgba(38,79,145,.06)}.side-stone-header small,.side-stone-match,.side-stones-grand-total{color:#64748b}.side-stone-match{background:#eef4fc}.side-stone-total input{background:#f2f6fc;color:#1d5bdd}.add-side-stone{background:#246bfd;color:#fff;border-color:#246bfd}.remove-side-stone{background:#fff7f4;color:#9c5c51;border-color:#e7cbc2}.side-stones-grand-total{border-color:#dbe5f2}
.bottom-nav{background:rgba(255,255,255,.97);border-color:#dbe5f2;box-shadow:0 -8px 24px rgba(38,79,145,.08)}.nav-item{color:#8795a8}.nav-item.active{background:#eaf2ff;color:#1d5bdd}.nav-item.active span,.nav-item.active b{color:#1d5bdd}
.toast{background:#246bfd;color:#fff}.summary-dialog{background:#fff;color:#14213d;border:1px solid #dbe5f2}.dialog-topline{border-color:#e5edf7}.dialog-topline button{color:#64748b}.summary-dialog pre{color:#435a7c}.summary-dialog::backdrop{background:rgba(17,52,110,.34)}
@media(max-width:560px){.side-stones-grand-total{background:#f8fbff}.stats-kpi{background:#246bfd;color:#fff}.stats-kpi:nth-child(2){background:#e5efff;color:#21477e}.stats-kpi:nth-child(3){background:#fff1dc;color:#725327}.stats-kpi:nth-child(4){background:#e8f0fb;color:#294a76}}
/* Loss selector: clear touch target with fixed business percentage stops. */
.loss-slider-field{grid-column:span 2}
.loss-slider-field input[type="range"]{width:100%;accent-color:#246bfd;min-height:34px;cursor:pointer}
.loss-slider-field label{display:flex;justify-content:space-between;align-items:center}
.loss-slider-field output{color:#246bfd;font-weight:700}
.range-labels{display:flex;justify-content:space-between;color:#62708a;font-size:.78rem;margin-top:2px}
@media (max-width:640px){.loss-slider-field{grid-column:1/-1}}
.service-card-market{border-color:#b9d7ff;background:linear-gradient(145deg,#f8fbff,#edf5ff)}
.diamond-brand-mark{font-size:30px;line-height:1;color:#fff;text-shadow:0 1px 2px rgba(18,72,180,.35);display:flex;align-items:center;justify-content:center}
.custom-image-attachments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 16px}.custom-image-card{min-width:0;border:1px solid #d7e4f7;border-radius:16px;background:#f8fbff;padding:12px}.custom-image-card label{display:block;color:#17365f;font-weight:700;font-size:14px;margin-bottom:8px}.custom-image-card input[type=file]{display:block;width:100%;max-width:100%;font-size:12px;color:#55708f;overflow:hidden}.style-image-preview{width:100%;aspect-ratio:16/9;height:auto;margin-top:8px;border:1px dashed #a9c5e8;border-radius:12px;display:grid;place-items:center;overflow:hidden;background:#fff;color:#7890ad;font-size:12px}.style-image-preview img{display:block;width:100%!important;height:100%!important;max-width:100%;max-height:100%;object-fit:contain!important;object-position:center;cursor:zoom-in;background:#fff}.custom-image-card small{display:block;color:#7890ad;font-size:11px;margin-top:7px}.style-image-viewer{position:fixed;inset:0;z-index:1200;background:rgba(9,29,58,.86);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px}.style-image-viewer img{max-width:94vw;max-height:82vh;object-fit:contain;border-radius:12px}.style-image-viewer span{color:#fff;margin-top:12px;font-size:13px}@media(max-width:640px){.custom-image-attachments{grid-template-columns:1fr 1fr}.style-image-preview{aspect-ratio:16/9;height:auto}}
.tutorial-tool{margin-top:16px;border:1px solid #d7e4f7;border-radius:20px;background:#fff;padding:18px}.tutorial-content{display:grid;gap:12px}.tutorial-content article{padding:14px;border-radius:14px;background:#f7faff;border:1px solid #e3ecf8}.tutorial-content h4{margin:0 0 8px;color:#17365f;font-size:16px}.tutorial-content p{margin:6px 0;color:#55708f;font-size:13px;line-height:1.7}.tutorial-content aside{display:flex;gap:8px;flex-direction:column;padding:14px;border-radius:14px;background:#eef5ff;color:#315d91;font-size:13px;line-height:1.6}
.service-modal-open{position:fixed!important;inset:5vh 5vw!important;z-index:1100!important;max-height:90vh;overflow:auto!important;margin:0!important;box-shadow:0 22px 70px rgba(17,52,95,.28)}
.gallery-dialog{width:min(92vw,680px)}.gallery-dialog img{width:100%;max-height:72vh;object-fit:contain;background:#fff;border-radius:12px}
.market-qr-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center}.market-qr-modal[hidden]{display:none}.market-qr-backdrop{position:absolute;inset:0;background:rgba(15,35,65,.55);backdrop-filter:blur(4px)}.market-qr-dialog{position:relative;width:min(88vw,380px);padding:24px;border-radius:24px;background:#fff;text-align:center;box-shadow:0 20px 60px rgba(15,35,65,.3)}.market-qr-dialog img{display:block;width:min(72vw,280px);height:auto;margin:16px auto;border-radius:12px}.market-qr-dialog p{color:#5b6b82;font-size:14px}.market-qr-close{position:absolute;right:12px;top:8px;border:0;background:transparent;font-size:28px;color:#52647c;cursor:pointer}.market-qr-dialog .primary-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border-radius:12px;background:#246bfd;color:#fff;text-decoration:none;font-weight:700}
/* Repeatable setting-fee rows: compact on desktop, stacked and thumb-friendly on phones. */
.fee-lines-section{margin:18px 0;padding:16px 18px;background:var(--paper,#fff);border:1px solid var(--line,#dbe5f2);border-radius:16px}
.fee-lines-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.fee-lines-head h4{margin:0;color:var(--ink,#14213d);font-size:1rem}.fee-lines-head small{color:var(--muted,#64748b)}
.fee-add,.fee-remove{border:1px solid var(--line,#dbe5f2);border-radius:10px;min-height:36px;padding:0 12px;cursor:pointer;font:inherit}
.fee-add{background:#246bfd;color:#fff;border-color:#246bfd}.fee-remove{background:#fff7f4;color:#a15e52}
.fee-line{display:grid;grid-template-columns:110px minmax(120px,1fr) 90px minmax(100px,1fr) auto;align-items:center;gap:8px;padding:9px 0;border-top:1px solid color-mix(in srgb,var(--line,#dbe5f2) 72%,transparent)}
.fee-line label{color:var(--muted,#64748b);font-size:.88rem}.fee-line .fee-qty-label{text-align:right}.fee-line .unit-wrap{min-width:0}
.side-setting-fee-total{margin-top:10px;padding-top:10px;border-top:1px dashed var(--line,#dbe5f2);text-align:right;color:var(--muted,#64748b);font-size:.88rem}.side-setting-fee-total strong{color:#246bfd}
@media(max-width:640px){.fee-lines-section{padding:14px 12px}.fee-lines-head{align-items:flex-start}.fee-lines-head .fee-add{white-space:nowrap;padding:0 9px;font-size:.82rem}.fee-line{grid-template-columns:1fr 1fr;gap:7px 8px}.fee-line>label:first-child{grid-column:1/-1;font-weight:600}.fee-line .fee-qty-label{text-align:left}.fee-line .fee-remove{grid-column:1/-1;justify-self:start;min-height:34px}.fee-line .unit-wrap{width:100%}}

/* Keep the two labour-fee panels together after the side-stone cards. */
body[data-page="custom"] #quoteForm{display:flex;flex-direction:column}
body[data-page="custom"] #quoteForm>.custom-base-fields{order:1}
body[data-page="custom"] #quoteForm>.side-stones-section{order:2}
body[data-page="custom"] #quoteForm>.main-fee-section{order:3}
body[data-page="custom"] #quoteForm>.custom-extra-fields{order:4}
body[data-page="custom"] .main-fee-section{margin-top:14px}
body[data-page="custom"] .main-fee-section .fee-qty-label{font-size:0}
body[data-page="custom"] .main-fee-section .fee-qty-label::after{content:'本单多少颗？';font-size:12px}
body[data-page="custom"] .main-fee-section .fee-line>label:first-child{font-size:0}
body[data-page="custom"] .main-fee-section .fee-line>label:first-child::after{content:'主石镶石费';font-size:13px}
body[data-page="custom"] .main-fee-section .fee-line .fee-qty-label + .unit-wrap .unit{font-size:0}
body[data-page="custom"] .main-fee-section .fee-line .fee-qty-label + .unit-wrap .unit::after{content:'颗';font-size:11px}

/* Fee editor refinement: each charge is a calm, self-contained row. */
.fee-lines-section{padding:20px 20px 12px!important;background:#fbfdff!important;border:1px solid #d7e3f3!important;border-radius:22px!important;box-shadow:0 8px 24px rgba(38,79,145,.06)}
.fee-lines-head{padding-bottom:14px;margin-bottom:0!important;border-bottom:1px solid #e5edf7;align-items:center!important}.fee-lines-head h4{font-size:18px!important;letter-spacing:-.02em}.fee-lines-head small{display:block;margin-top:5px;font-size:12px;color:#71839d!important}.fee-add{min-height:42px!important;padding:0 16px!important;border-radius:13px!important;background:#246bfd!important;box-shadow:0 6px 14px rgba(36,107,253,.18);font-size:13px!important}
.fee-line{grid-template-columns:116px minmax(150px,1fr) 92px minmax(116px,1fr) 48px!important;gap:10px 12px!important;margin:0!important;padding:16px 0!important;border-top:0!important;border-bottom:1px solid #e5edf7}.fee-line:last-child{border-bottom:0}.fee-line>label:first-child{font-weight:600;color:#526987!important;font-size:13px!important}.fee-line .fee-qty-label{text-align:left!important;font-size:12px!important;color:#8090a4!important}.fee-line .unit-wrap input{min-height:44px!important;border-radius:12px!important;background:#fff!important;border-color:#d3dfef!important;padding-left:12px!important}.fee-line .unit{right:12px!important;top:14px!important;color:#8191a6!important}.fee-remove{min-height:36px!important;width:48px;padding:0!important;border-radius:10px!important;background:#fff!important;color:#9a5e59!important;border-color:#e6c9c5!important;font-size:11px!important}.fee-remove:hover{background:#fff3f1!important}
@media(max-width:640px){.fee-lines-section{padding:16px 14px 8px!important}.fee-lines-head{align-items:flex-start!important}.fee-lines-head h4{font-size:16px!important}.fee-add{min-height:38px!important;padding:0 10px!important;font-size:11px!important}.fee-line{grid-template-columns:1fr 1fr!important;gap:8px!important;padding:14px 0!important}.fee-line>label:first-child{grid-column:1/-1!important}.fee-line>label:first-child::before{content:'费用项目 · ';color:#9aabc0;font-weight:400}.fee-line>.unit-wrap:nth-of-type(1){grid-column:1/-1}.fee-line .fee-qty-label{grid-column:1;align-self:end}.fee-line>.unit-wrap:nth-of-type(2){grid-column:2}.fee-line .fee-remove{grid-column:1/-1;justify-self:end;width:auto;padding:0 12px!important;min-height:32px!important}.side-setting-fee-total{font-size:12px!important}}

/* Public-facing service hub: light, calm and easy to scan on a phone. */
.services-section{display:none;padding:20px;margin-bottom:22px}.services-hero{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:22px;border-radius:24px;background:linear-gradient(135deg,#edf4ff,#fff);border:1px solid #dbe5f4;margin-bottom:14px}.services-hero h2{font-size:28px;margin:4px 0 8px}.services-hero p:not(.eyebrow){margin:0;color:#64748b;font-size:13px;line-height:1.65}.services-badge{padding:7px 10px;border-radius:999px;background:#eaf2ff;color:#246bfd;font-size:11px;white-space:nowrap}.service-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.service-card{min-height:162px;text-align:left;padding:17px;border:1px solid #dbe5f2;border-radius:19px;background:#fff;color:#14213d;display:flex;flex-direction:column;align-items:flex-start;box-shadow:0 8px 22px rgba(38,79,145,.06)}.service-card .service-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#edf4ff;color:#246bfd;font-size:19px;margin-bottom:13px}.service-card strong{font-size:15px}.service-card small{margin-top:7px;color:#6d7d91;line-height:1.55;font-size:11px}.service-card b{margin-top:auto;color:#246bfd;font-size:11px}.service-card-accent{background:#246bfd;color:#fff;border-color:#246bfd}.service-card-accent .service-icon{background:rgba(255,255,255,.18);color:#fff}.service-card-accent small,.service-card-accent b{color:#e3edff}.document-tool{margin-top:14px;padding:18px;border:1px solid #dbe5f2;border-radius:20px;background:#fff}.document-tool[hidden]{display:none}.document-tool-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.document-tool-head h3{margin:4px 0 6px}.document-tool-head p{margin:0;color:#6d7d91;font-size:12px;line-height:1.6}.document-upload{margin-top:16px;min-height:130px;border:1.5px dashed #9ab8ef;border-radius:16px;background:#f7faff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#246bfd;cursor:pointer}.document-upload input{display:none}.upload-icon{font-size:28px}.document-upload small{font-size:11px;color:#7587a1}.document-preview-wrap{display:flex;gap:12px;align-items:center;margin-top:14px;padding:10px;border-radius:14px;background:#f7faff}.document-preview-wrap img{width:94px;height:94px;object-fit:cover;border-radius:10px}.document-preview-wrap>div{display:grid;gap:7px}.document-preview-wrap small{color:#6d7d91;font-size:11px}.document-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.document-actions{display:flex;gap:10px;margin-top:14px}.document-actions button{min-height:42px}.document-actions .text-button{padding:0 10px}.document-tool .primary-button{flex:0 0 auto}
body[data-page="quote"] .page-services,body[data-page="cost"] .page-services,body[data-page="custom"] .page-services,body[data-page="talk"] .page-services,body[data-page="stats"] .page-services,body[data-page="history"] .page-services{display:none!important}body[data-page="services"] .page-quote,body[data-page="services"] .page-history,body[data-page="services"] .page-cost,body[data-page="services"] .page-stats,body[data-page="services"] .page-talk{display:none!important}body[data-page="services"] .page-services{display:block!important}
@media(max-width:560px){.bottom-nav{grid-template-columns:repeat(4,1fr)}.nav-item b{font-size:10px}.services-section{padding:16px}.services-hero{padding:18px}.services-hero h2{font-size:24px}.service-card-grid{grid-template-columns:1fr 1fr;gap:9px}.service-card{min-height:172px;padding:14px}.document-fields{grid-template-columns:1fr}.document-tool{padding:15px}}
/* Cartier inspired light ivory, burgundy and gold system. */
:root{--cartier-ivory:#fbf8f3;--cartier-paper:#fffdf9;--cartier-burgundy:#8f1738;--cartier-burgundy-deep:#67132c;--cartier-gold:#b58a4a;--cartier-ink:#2d2526;--cartier-muted:#76696a;--cartier-line:#eadfd7}
body{background:var(--cartier-ivory);color:var(--cartier-ink)}
.overview,.category-section,.form-card,.breakdown-card,.history-section,.cost-section,.stats-section,.talk-section,.services-section{background:var(--cartier-paper);border-color:var(--cartier-line);box-shadow:0 12px 30px rgba(103,19,44,.07)}
.category-chip.active,.mode-button.active,.primary-button,.service-card-accent{background:var(--cartier-burgundy);border-color:var(--cartier-burgundy);color:#fff}
.category-chip,.mode-button,.service-card,.stats-category-card,.talk-category{border-color:var(--cartier-line);background:#fff;color:var(--cartier-ink)}
.category-chip small,.talk-intro,.cost-intro,.stats-intro,.service-card small,.field label{color:var(--cartier-muted)}
.section-kicker,.eyebrow,.cost-source b,.cost-item-sales{color:var(--cartier-burgundy)}
.field input,.field select,.field textarea,.product-type-select,.month-picker input,.talk-search{background:#fff;border-color:var(--cartier-line);color:var(--cartier-ink)}
.field input:focus,.field select:focus,.field textarea:focus,.talk-search:focus-within{border-color:var(--cartier-gold);box-shadow:0 0 0 3px rgba(181,138,74,.16)}
.unit{color:var(--cartier-burgundy)}
.talk-category.active,.stats-category-card.active{background:var(--cartier-burgundy);border-color:var(--cartier-burgundy);color:#fff}
.bottom-nav{background:rgba(255,253,249,.96);border-top:1px solid var(--cartier-line)}
.bottom-nav .nav-item.active{color:var(--cartier-burgundy);background:#f5e8e8}
.fee-latest{background:#fffaf5;border:1px solid var(--cartier-line);border-radius:16px;padding:14px;margin-top:12px}
.fee-latest .fee-lines-head h4{color:var(--cartier-burgundy);margin:0}
.fee-line-latest{display:grid;grid-template-columns:72px minmax(110px,1fr) 88px minmax(110px,1fr) 88px minmax(110px,1fr) auto;gap:8px;align-items:center;padding:10px 0;border-top:1px solid #f0e5dd}
.fee-line-latest>label{font-size:12px;color:var(--cartier-muted)}
.fee-line-latest .fee-total-value{background:#f5eee6;font-weight:700;color:var(--cartier-burgundy)}
.fee-line-latest .fee-remove{border:0;background:#f6e9e9;color:var(--cartier-burgundy);border-radius:9px;padding:8px 10px}
.side-fee-group{border-top:1px dashed var(--cartier-line);padding-top:8px;margin-top:10px}
.local-document-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.local-document-card{display:flex;gap:12px;padding:12px;background:#fff;border:1px solid var(--cartier-line);border-radius:14px}.local-document-card img{width:86px;height:86px;object-fit:cover;border-radius:10px}.local-document-card strong,.local-document-card small{display:block}.local-document-card small{color:var(--cartier-muted);margin:5px 0}.local-document-card button{border:0;background:#f5e8e8;color:var(--cartier-burgundy);border-radius:8px;padding:5px 8px;margin-right:5px}
.document-empty{color:var(--cartier-muted);padding:18px;background:#fff;border:1px dashed var(--cartier-line);border-radius:12px}
@media(max-width:680px){.fee-line-latest{grid-template-columns:1fr 1fr;gap:7px}.fee-line-latest>label{font-size:11px}.fee-line-latest .fee-remove{grid-column:1/-1;justify-self:end}.local-document-list{grid-template-columns:1fr}}
.style-image-tools{margin:14px 0;padding:16px;border:1px solid #dbe6f2;border-radius:16px;background:#f8fbff}.style-image-head h3{margin:4px 0;font-size:16px}.style-image-head p{margin:4px 0 12px;color:#718096;font-size:12px}.style-image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.style-upload-card{display:flex;flex-direction:column;gap:5px;padding:12px;border:1px dashed #b8cbe2;border-radius:12px;background:#fff;cursor:pointer}.style-upload-card input{display:none}.style-upload-card strong{font-size:13px;color:#345b86}.style-upload-card small{color:#8293a7;font-size:11px}.style-upload-card img{display:none;width:100%;height:110px;object-fit:contain;border-radius:8px;background:#f1f5f9;margin-top:6px}@media(max-width:560px){.style-image-grid{grid-template-columns:1fr}.style-upload-card img{height:150px}}
