﻿:root {
  --ink: #17312c;
  --muted: #74837d;
  --canvas: #f6f4ee;
  --paper: #fffefb;
  --line: #e9e5db;
  --green: #153f37;
  --mint: #d9f0e6;
  --mint-strong: #86c9ae;
  --orange: #ed9a66;
  --sand: #f5e9cb;
  --red: #c85e4b;
  --blue: #a6d6e7;
  --shadow: 0 18px 45px rgba(29, 53, 46, .08);
  font-family: "PingFang SC", "Microsoft YaHei", ui-sans-serif, system-ui, sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; color: var(--ink); background: #e7ebe5; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; border: 0; color: inherit; }
.desktop-rail { position: fixed; left: max(24px, calc(50% - 560px)); top: 46px; z-index: 0; width: 180px; color: var(--green); }
.brand { display:flex; align-items:center; gap: 10px; font-size: 22px; font-weight: 800; letter-spacing: -.06em; }
.brand-mark { width: 34px; height: 34px; display:grid; place-items:center; background: var(--green); color:white; border-radius: 11px 11px 11px 3px; font-size: 18px; }
.desktop-rail p { color:#7a8982; font-size: 13px; margin: 12px 0 48px; }
.rail-note { padding: 14px 0; border-top: 1px solid #cbd6cf; font-size: 12px; line-height: 1.8; }
.rail-note span { color: #799087; }
.app-shell { position: relative; width: min(100%, 470px); min-height: 100vh; margin: 0 auto; background: var(--canvas); box-shadow: 0 0 0 1px rgba(22,58,49,.04), 0 18px 80px rgba(30,60,49,.14); padding-bottom: 86px; overflow: hidden; }
.topbar { height: 78px; padding: 16px 20px 11px; display: flex; align-items: center; justify-content: space-between; background: rgba(246,244,238,.96); position: sticky; top: 0; z-index: 8; backdrop-filter: blur(16px); }
.merchant-switch { background: transparent; display: flex; gap: 9px; align-items: center; text-align:left; padding:0; }
.avatar { flex:0 0 auto; width: 34px; height:34px; border-radius: 50%; display:grid; place-items:center; background:#f0d6c1; color:#79472f; font-size: 13px; font-weight:800; }
.merchant-switch strong { display:block; font-size: 14px; letter-spacing: .01em; }
.merchant-switch small { display:block; margin-top:2px; color:var(--muted); font-size: 11px; }
.chevron { color: #8b9a91; margin-left: 2px; margin-top: -4px; }
.top-actions { display:flex; align-items:center; gap:10px; }
.icon-btn { position: relative; width:34px; height:34px; border-radius:50%; background:var(--paper); box-shadow: 0 2px 9px rgba(33,60,52,.07); font-size: 23px; color: var(--green); transform: rotate(-20deg); }
.icon-btn i { position:absolute; width:7px; height:7px; border-radius:50%; background:#ec6f5d; top:5px; right:5px; border:1px solid white; }
.profile { border:2px solid #d8eadf; background:#d9f0e6; color:var(--green); }
.view-root { padding: 0 20px 24px; }
.page-head { display:flex; align-items:flex-end; justify-content:space-between; margin: 10px 0 16px; }
.eyebrow { font-size:12px; color:#738179; margin:0 0 3px; }
h1 { font-size: 25px; margin:0; letter-spacing:-.055em; line-height:1.15; }
h2 { font-size: 17px; margin:0; letter-spacing:-.04em; }
.mini-action { background: var(--green); color:#fff; border-radius: 12px; padding: 9px 11px; font-size:12px; font-weight:700; }
.mini-action.soft { color:var(--green); background:var(--mint); }
.stats-grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:10px; margin-bottom:20px; }
.stat-card { min-height:104px; background:var(--paper); border:1px solid rgba(227,224,214,.9); border-radius:18px; padding:14px; box-shadow: 0 4px 15px rgba(20,51,42,.025); }
.stat-card.primary { background:var(--green); color:white; border-color:var(--green); }
.stat-label { display:block; color:var(--muted); font-size:11px; }
.primary .stat-label { color:#bed5cb; }
.stat-value { display:flex; align-items:baseline; gap:4px; margin-top: 9px; font-size:25px; font-weight:800; letter-spacing:-.06em; }
.stat-value small { font-size:11px; font-weight:600; letter-spacing:0; }
.stat-trend { margin-top:7px; font-size:11px; color:#55917d; }
.primary .stat-trend { color:#9ed1b7; }
.section { margin-top:24px; }
.section-title { display:flex; justify-content:space-between; align-items:center; margin-bottom:11px; }
.section-title a, .text-link { color:#477b6d; font-size:12px; font-weight:700; text-decoration:none; cursor:pointer; }
.alert-card { position:relative; background:#f9e8d9; border:1px solid #f2dac6; padding:14px 14px 14px 50px; border-radius:16px; margin-bottom:12px; }
.alert-icon { position:absolute; left:14px; top:14px; width:25px; height:25px; display:grid; place-items:center; border-radius:9px; background:#f2bf96; color:#7c4121; font-weight:800; }
.alert-card strong { display:block; font-size:13px; }
.alert-card p { color:#8b6b55; margin:4px 0 0; font-size:11px; line-height:1.45; }
.card-list { display:flex; flex-direction:column; gap:10px; }
.matter-card { background:var(--paper); padding:14px; border:1px solid rgba(226,224,216,.95); border-radius:17px; box-shadow:0 4px 12px rgba(28,53,45,.025); transition:transform .18s, box-shadow .18s; }
.matter-card:hover { transform: translateY(-1px); box-shadow: var(--shadow); }
.matter-top { display:flex; justify-content:space-between; gap:10px; align-items:flex-start; }
.person { display:flex; gap:9px; min-width:0; }
.person .avatar { width:31px; height:31px; background:#e8e3d4; color:#6a614a; }
.person b { display:block; font-size:13px; }
.person small { display:block; color:var(--muted); font-size:11px; margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width: 205px; }
.priority { white-space:nowrap; border-radius:8px; padding:4px 7px; font-size:10px; font-weight:800; }
.priority.high { background:#f9dfda; color:#a84839; }
.priority.medium { background:#f7eac7; color:#91651d; }
.priority.low { background:#e8ede9; color:#65746b; }
.matter-main { margin:12px 0 10px; font-size:13px; font-weight:700; letter-spacing:-.02em; line-height:1.45; }
.matter-meta { display:flex; gap:8px; flex-wrap:wrap; font-size:10.5px; color:#61736a; }
.matter-meta span { display:inline-flex; align-items:center; gap:4px; background:#f3f3ed; padding:4px 7px; border-radius:7px; }
.matter-footer { display:flex; justify-content:space-between; align-items:center; margin-top:12px; padding-top:10px; border-top:1px solid #f0eee8; }
.assignee { font-size:11px; color:#64746c; display:flex; align-items:center; gap:5px; }
.assignee i { display:inline-grid; place-items:center; width:19px; height:19px; border-radius:50%; font-style:normal; background:#d9f0e6; color:#276254; font-size:9px; font-weight:800; }
.status { font-size:10px; border-radius:7px; padding:5px 7px; font-weight:800; }
.status.pending { background:#fff0db; color:#a66419; }
.status.contact { background:#e1f0f5; color:#34748b; }
.status.booked { background:#d9f0e6; color:#32735f; }
.status.done { background:#e8ede9; color:#66766d; }
.empty { padding:28px 18px; text-align:center; border:1px dashed #cbd6cf; border-radius:16px; color:#7d8d84; font-size:13px; }
.tabbar { position:fixed; bottom:0; left:50%; transform:translateX(-50%); width:min(100%,470px); height:76px; background:rgba(255,254,251,.96); border-top:1px solid #e6e4dd; display:flex; align-items:center; justify-content:space-around; z-index:10; backdrop-filter:blur(16px); }
.tab { width:20%; height:100%; position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; background:transparent; color:#89958e; }
.tab span { font-size:20px; line-height:16px; font-weight:400; }
.tab b { font-size:10px; font-weight:650; }
.tab.active { color:var(--green); }
.tab.active::before { content:""; position:absolute; top:7px; width:18px; height:3px; border-radius:8px; background:var(--green); }
.tab em { position:absolute; top:14px; right:22%; font-style:normal; min-width:15px; height:15px; border-radius:9px; background:#df705b; color:#fff; font-size:9px; display:grid; place-items:center; border:1px solid white; }
.filter-row, .chip-row { display:flex; overflow:auto; gap:8px; padding:2px 0 12px; scrollbar-width:none; }
.filter-row::-webkit-scrollbar,.chip-row::-webkit-scrollbar { display:none; }
.chip { white-space:nowrap; background:#ebece5; color:#68786f; border-radius:20px; padding:7px 11px; font-size:11px; font-weight:700; }
.chip.active { background:var(--green); color:white; }
.chip.mint { background:var(--mint); color:var(--green); }
.search-row { display:flex; gap:8px; margin-bottom:13px; }
.search { flex:1; border:1px solid #e1e2da; background:var(--paper); border-radius:12px; padding:10px 12px; outline:none; font-size:12px; }
.sort-btn { border:1px solid #e1e2da; background:var(--paper); border-radius:12px; padding:0 11px; font-size:12px; color:#557168; }
.calendar-hero { background:var(--green); color:white; border-radius:20px; padding:16px; margin-bottom:14px; overflow:hidden; position:relative; }
.calendar-hero::after { content:""; position:absolute; right:-18px; top:-28px; height:116px; width:116px; background:rgba(163,223,199,.14); border-radius:50%; }
.calendar-hero p { font-size:11px; color:#bcd6cb; margin:3px 0 0; }
.calendar-hero h2 { position:relative; z-index:1; }
.calendar-tabs { display:flex; gap:6px; margin-top:15px; position:relative; z-index:1; }
.calendar-tabs button { background:rgba(255,255,255,.12); color:#cde2d8; padding:7px 10px; border-radius:9px; font-size:11px; }
.calendar-tabs button.active { color:var(--green); background:#e7f4ee; font-weight:800; }
.date-strip { display:grid; grid-template-columns:repeat(5,1fr); gap:6px; margin: 11px 0 16px; }
.date-cell { text-align:center; padding:8px 2px; border-radius:12px; background:var(--paper); border:1px solid #e6e4dc; color:#78877f; font-size:10px; }
.date-cell b { display:block; font-size:15px; color:var(--ink); margin-top:3px; }
.date-cell.active { background:var(--mint); border-color:#cde6da; color:#397461; }
.date-cell.active b { color:var(--green); }
.resource-block { background:var(--paper); border-radius:16px; border:1px solid #e8e5dc; padding:13px; margin-bottom:10px; }
.resource-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
.resource-top b { font-size:13px; }
.resource-top small { color:#73827a; font-size:10px; }
.time-grid { display:grid; grid-template-columns:42px repeat(4,1fr); gap:5px; align-items:center; }
.time-grid .time { font-size:10px; color:#85948c; }
.slot { min-height:30px; border-radius:7px; background:#e5f0e9; color:#3c7965; display:grid; place-items:center; font-size:9px; font-weight:700; }
.slot.busy { background:#f1e1d8; color:#a75f40; }
.slot.open { background:#e5f0e9; color:#3c7965; }
.slot.hold { background:#f6edcf; color:#9b792c; }
.inventory-row { display:grid; grid-template-columns:1fr auto; gap:12px; align-items:center; padding:11px 0; border-bottom:1px solid #efede7; }
.inventory-row:last-child { border-bottom:0; }
.inventory-row strong { display:block; font-size:13px; }
.inventory-row small { display:block; color:#77867e; margin-top:3px; font-size:10px; }
.inventory-meter { text-align:right; }
.inventory-meter b { font-size:16px; display:block; color:var(--green); }
.inventory-meter small { color:#73837b; font-size:10px; }
.kb-hero { background:#e0efe7; border-radius:19px; padding:16px; margin-bottom:14px; }
.kb-hero .eyebrow { color:#52806f; }
.kb-hero h2 { font-size:18px; }
.kb-progress { height:7px; background:#c8e1d5; border-radius:20px; margin-top:14px; overflow:hidden; }
.kb-progress i { display:block; width:86%; height:100%; background:#3d826b; border-radius:inherit; }
.kb-list { display:flex; flex-direction:column; gap:9px; }
.kb-item { padding:13px; border:1px solid #e4e3dc; background:var(--paper); border-radius:14px; display:flex; gap:10px; align-items:flex-start; }
.kb-icon { width:30px; height:30px; border-radius:9px; background:#f1eee5; display:grid; place-items:center; flex:0 0 auto; font-size:14px; }
.kb-item b { display:block; font-size:12px; }
.kb-item p { font-size:10.5px; color:#77877e; margin:4px 0 0; line-height:1.45; }
.publish { margin-left:auto; font-size:10px; color:#357461; font-weight:800; white-space:nowrap; }
.danger-box { background:#fff3ef; border:1px solid #f5ded7; border-radius:15px; padding:13px; margin-top:14px; }
.danger-box b { font-size:12px; color:#9f4c3e; }
.danger-box p { margin:5px 0 0; color:#9b6b61; font-size:10.5px; line-height:1.5; }
.member { display:flex; align-items:center; gap:10px; padding:12px 0; border-bottom:1px solid #ebeae3; }
.member:last-child { border-bottom:0; }
.member .avatar { width:37px; height:37px; }
.member-info { flex:1; }
.member-info b { display:block; font-size:13px; }
.member-info small { color:#7a8981; font-size:10.5px; }
.role-pill { font-size:10px; color:#506d63; background:#e8eee9; padding:5px 7px; border-radius:7px; }
.setting-group { background:var(--paper); border:1px solid #e6e4dc; border-radius:16px; padding:0 13px; }
.setting { min-height:56px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid #edeae4; gap:15px; }
.setting:last-child { border-bottom:0; }
.setting b { display:block; font-size:12px; }
.setting small { display:block; color:#7b8981; font-size:10.5px; margin-top:3px; }
.setting select { border:0; color:var(--green); background:#e8f0eb; padding:7px; border-radius:8px; font-size:11px; }
.switch { position:relative; width:36px; height:21px; background:#bdc9c1; border-radius:20px; padding:0; }
.switch::after { content:""; width:17px; height:17px; position:absolute; top:2px; left:2px; border-radius:50%; background:white; box-shadow:0 1px 2px rgba(0,0,0,.14); transition:.2s; }
.switch.on { background:#4c9379; }
.switch.on::after { left:17px; }
.modal-backdrop { position:fixed; inset:0; z-index:20; background:rgba(17,38,33,.35); display:flex; justify-content:center; align-items:flex-end; padding:0; }
.modal { width:min(100%,470px); max-height:91vh; overflow:auto; background:var(--canvas); border-radius:24px 24px 0 0; padding:17px 20px 28px; box-shadow:0 -12px 48px rgba(18,40,33,.22); animation:rise .22s ease-out; }
@keyframes rise { from { transform:translateY(16px); opacity:.4; } }
.modal-handle { width:38px; height:4px; border-radius:8px; background:#c6d0c9; margin:0 auto 16px; }
.modal-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:15px; }
.modal-head h2 { font-size:19px; }
.close { width:29px; height:29px; border-radius:50%; background:#e9ece6; font-size:18px; color:#617269; }
.call-stage { position:relative; overflow:hidden; background:var(--green); color:white; border-radius:20px; padding:18px; min-height:208px; }
.call-stage::before { content:""; position:absolute; width:210px; height:210px; border:1px solid rgba(190,232,213,.25); border-radius:50%; right:-90px; top:-95px; }
.call-status { color:#c4dfd2; font-size:11px; display:flex; align-items:center; gap:6px; }
.pulse { width:7px; height:7px; background:#8fe1b6; border-radius:50%; box-shadow:0 0 0 5px rgba(143,225,182,.16); }
.call-stage h3 { font-size:20px; margin:17px 0 5px; position:relative; }
.call-stage p { color:#c9e0d5; position:relative; margin:0; line-height:1.6; font-size:12px; }
.transcript { margin-top:14px; }
.bubble { border-radius:13px; padding:10px 11px; margin:7px 0; font-size:11.5px; line-height:1.52; }
.bubble.ai { background:#e0f1e8; color:#275344; border-bottom-left-radius:3px; }
.bubble.client { background:var(--paper); color:var(--ink); margin-left:32px; border-bottom-right-radius:3px; }
.notice { padding:11px; background:#fff5dc; color:#886b2f; border-radius:12px; margin:14px 0; font-size:11px; line-height:1.5; }
.modal-actions { display:flex; gap:9px; margin-top:16px; }
.primary-btn, .secondary-btn { flex:1; border-radius:12px; padding:12px; font-size:12px; font-weight:800; }
.primary-btn { background:var(--green); color:white; }
.secondary-btn { background:#e6ebe6; color:#486158; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.field { margin-bottom:11px; }
.field.full { grid-column:1/-1; }
.field label { display:block; color:#6e7e75; font-size:10.5px; margin-bottom:5px; font-weight:700; }
.field input,.field select,.field textarea { width:100%; border:1px solid #dedfd8; background:#fffefb; border-radius:10px; padding:10px; outline:none; color:var(--ink); font-size:12px; }
.field textarea { min-height:66px; resize:vertical; }
.detail-hero { background:var(--paper); border:1px solid #e7e4dc; border-radius:18px; padding:15px; }
.detail-hero .matter-main { font-size:15px; margin:11px 0; }
.detail-block { margin-top:17px; }
.detail-block h3 { font-size:12px; margin:0 0 8px; }
.log { position:relative; padding:0 0 12px 17px; border-left:1px solid #d9e3dd; color:#5d7168; font-size:11px; line-height:1.5; }
.log::before { content:""; position:absolute; left:-4px; top:4px; width:7px; height:7px; border-radius:50%; background:#57a183; }
.log b { color:#294d42; display:block; }
.audio-row { display:flex; align-items:center; gap:9px; padding:11px; background:#edf4ef; border-radius:12px; }
.play { width:27px; height:27px; border-radius:50%; background:var(--green); color:white; }
.audio-line { flex:1; height:4px; background:#cbded3; border-radius:5px; position:relative; }
.audio-line::after { content:""; position:absolute; left:0; width:35%; height:100%; background:#508a73; border-radius:inherit; }
.toast { position:fixed; z-index:40; bottom:95px; left:50%; transform:translate(-50%, 18px); opacity:0; background:#1d4137; color:white; padding:10px 14px; border-radius:11px; font-size:12px; box-shadow:0 10px 26px rgba(19,48,39,.2); transition:.22s; pointer-events:none; white-space:nowrap; }
.toast.show { opacity:1; transform:translate(-50%,0); }
.hidden { display:none!important; }
@media (max-width: 830px) { .desktop-rail { display:none; } }
@media (min-width: 831px) { .app-shell { margin-left: calc(50% - 32px); } }
@media (max-width:470px) { .app-shell { width:100%; } .tabbar { width:100%; } }

/* Industry entry and life-beauty module isolation */
.app-shell.entry-shell { width: min(100%, 620px); min-height: 100vh; padding-bottom: 0; background: var(--bg); }
.industry-entry-view { min-height: 100vh; padding: 32px 22px 50px; background: #f7f5ef; }
.entry-brand { display:flex; align-items:center; gap:8px; color:#173b31; font-weight:850; letter-spacing:-.5px; font-size:18px; }
.entry-mark { display:flex; align-items:center; justify-content:center; width:31px; height:31px; border-radius:10px; color:#fff; background:#165b4a; font-size:16px; }
.entry-eyebrow,.entry-caption { margin:30px 0 0; color:#628073; font-size:10px; font-weight:800; letter-spacing:1.6px; text-transform:uppercase; }
.industry-entry-view h1 { margin:9px 0 0; color:#17362c; font-size:32px; letter-spacing:-1.5px; line-height:1.15; }
.entry-lead { margin:13px 0 0; color:#65766d; font-size:13px; line-height:1.75; }
.entry-architecture { display:flex; gap:12px; margin-top:24px; padding:15px; border:1px solid #d5e5da; border-radius:16px; color:#376252; background:#e9f3ec; }
.entry-architecture > span { display:flex; flex:none; align-items:center; justify-content:center; width:34px; height:34px; border-radius:11px; color:#fff; background:#165b4a; font-size:18px; }
.entry-architecture b,.entry-architecture small { display:block; }.entry-architecture b { font-size:12.5px; }.entry-architecture small { margin-top:5px; color:#608071; font-size:11px; line-height:1.5; }
.entry-caption { margin-top:27px; }
.industry-choice-list { display:flex; flex-direction:column; gap:10px; margin-top:12px; }
.industry-choice { display:flex; width:100%; align-items:center; gap:12px; padding:14px; border:1px solid #e7e6df; border-radius:17px; text-align:left; background:#fffefa; box-shadow:0 7px 18px rgba(31,54,43,.04); }
.industry-choice.available { border-color:#b8d9c9; background:linear-gradient(135deg,#fffefa,#eff8f1); }.industry-choice.soon { opacity:.66; }
.industry-choice-icon { display:flex; flex:none; align-items:center; justify-content:center; width:38px; height:38px; border-radius:12px; color:#447566; background:#edf2ee; font-size:20px; }.industry-choice.available .industry-choice-icon { color:#fff; background:#165b4a; }
.industry-choice-main { min-width:0; flex:1; }.industry-choice-top { display:flex; align-items:center; justify-content:space-between; gap:8px; }.industry-choice-top b { color:#1b392e; font-size:14px; }.industry-choice-top em { padding:4px 7px; border-radius:99px; color:#698176; background:#eef0eb; font-size:9px; font-style:normal; font-weight:800; }.industry-choice.available em { color:#17634e; background:#def0e6; }.industry-choice-main small,.industry-choice-main i { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.industry-choice-main small { margin-top:4px; color:#748078; font-size:10.5px; }.industry-choice-main i { margin-top:5px; color:#28715a; font-size:9.5px; font-style:normal; }.industry-choice-arrow { color:#6d8c7e; font-size:25px; }.industry-choice.soon .industry-choice-arrow { color:#98a39c; font-size:11px; letter-spacing:2px; }
.entry-footnote { margin:25px 4px 0; color:#7c857e; font-size:10.5px; line-height:1.65; }.entry-footnote b { color:#2e6b56; }
.industry-context,.resource-model,.merchant-profile { display:flex; align-items:center; gap:10px; border:1px solid #d5e6da; border-radius:15px; background:#edf6ef; }.industry-context { margin:16px 0; padding:12px; }.industry-context > span,.resource-model > span { display:flex; align-items:center; justify-content:center; width:31px; height:31px; border-radius:10px; color:#fff; background:#17634e; font-weight:900; }.industry-context div,.resource-model div { flex:1; }.industry-context b,.industry-context small,.resource-model b,.resource-model small { display:block; }.industry-context b,.resource-model b { color:#285242; font-size:11px; }.industry-context small,.resource-model small { margin-top:3px; color:#668071; font-size:9.5px; line-height:1.4; }.industry-context button,.merchant-profile button { color:#17634e; font-size:10px; font-weight:800; white-space:nowrap; }
.dashboard-view .view-header h1,.matters-view .view-header h1,.calendar-view .view-header h1,.knowledge-view .view-header h1,.team-view .view-header h1 { margin:5px 0 3px; }
.subcopy { margin:0; color:#78847d; font-size:11px; }.role-chip { padding:8px 10px; border-radius:10px; color:#286754; background:#eaf3ec; font-size:10px; font-weight:800; }.ai-status { display:flex; align-items:center; gap:11px; padding:14px; border-radius:17px; color:#e5f4ea; background:#173f35; }.ai-orb { display:flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:12px; color:#174b3c; background:#9ee0bd; font-weight:900; }.ai-status div:nth-child(2) { flex:1; }.ai-status b,.ai-status small { display:block; }.ai-status b { font-size:12px; }.ai-status small { margin-top:4px; color:#c2ddcf; font-size:10px; }.ai-status em { padding:5px 7px; border-radius:99px; color:#8fe1b6; background:rgba(143,225,182,.12); font-size:9px; font-style:normal; }.metric-row { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:14px 0 20px; }.metric-row article { display:flex; flex-direction:column; min-height:78px; justify-content:space-between; padding:12px 10px; border:1px solid #e7e4dc; border-radius:14px; background:#fffefa; }.metric-row .metric-hot { border-color:#e6d6ba; background:#fffaf0; }.metric-row b { color:#1d4136; font-size:23px; letter-spacing:-1px; }.metric-row b i { font-size:11px; font-style:normal; }.metric-row span { color:#718078; font-size:9.5px; }.section-row { display:flex; align-items:center; justify-content:space-between; margin:21px 0 10px; }.section-row h2,.subheading { margin:0; color:#24463a; font-size:13px; }.section-row button,.section-row span { color:#6d7d74; font-size:10px; }.matter-stack,.matter-list { display:flex; flex-direction:column; gap:9px; }.matter-card { width:100%; padding:13px; border:1px solid #e7e4dc; border-radius:15px; text-align:left; background:#fffefa; }.matter-top,.matter-foot { display:flex; align-items:center; justify-content:space-between; }.person { display:flex; align-items:center; gap:7px; color:#315447; font-size:11px; font-weight:800; }.person i { display:flex; align-items:center; justify-content:center; width:23px; height:23px; border-radius:8px; color:#2d6854; background:#e3f0e7; font-style:normal; }.tag { padding:4px 7px; border-radius:99px; font-size:9px; font-style:normal; font-weight:800; }.tag.amber { color:#9b650e; background:#feedc9; }.tag.green { color:#1e7157; background:#e0f1e8; }.tag.gray { color:#6c7770; background:#f0f0ea; }.matter-card > b { display:block; margin:10px 0 5px; color:#294a3e; font-size:13px; }.matter-card p { display:-webkit-box; overflow:hidden; margin:0; color:#697970; font-size:10.5px; line-height:1.55; -webkit-box-orient:vertical; -webkit-line-clamp:2; }.matter-foot { margin-top:10px; color:#8a958e; font-size:9px; }.matter-foot strong { color:#2f765d; font-size:9.5px; }.distribution { padding:11px 12px; border:1px solid #e7e4dc; border-radius:14px; background:#fffefa; }.distribution div { display:grid; grid-template-columns:88px 1fr 28px; align-items:center; gap:8px; margin:7px 0; }.distribution span,.distribution b,.distribution p { color:#64766d; font-size:10px; }.distribution i { display:block; height:5px; border-radius:99px; background:#77b99a; }.wide-cta { display:flex; align-items:center; justify-content:space-between; width:100%; margin-top:20px; padding:14px; border-radius:14px; color:#fff; background:#165b4a; font-size:11px; font-weight:800; }.wide-cta span { font-size:18px; }.search { display:flex; align-items:center; gap:7px; margin:16px 0 11px; padding:10px; border:1px solid #e0e2da; border-radius:12px; background:#fffefa; }.search input { width:100%; border:0; outline:0; color:#29473b; background:transparent; font-size:11px; }.filters { display:flex; gap:6px; overflow:auto; margin-bottom:12px; }.filters button { flex:none; padding:7px 9px; border-radius:99px; color:#758179; background:#eceeea; font-size:9.5px; }.filters button.on { color:#fff; background:#17634e; }.list-meta { margin:0 0 10px; color:#7b867e; font-size:10px; }.empty-state { padding:30px 15px; border:1px dashed #d7dfd8; border-radius:14px; color:#7a857d; background:#fbfcf9; text-align:center; font-size:11px; }.calendar-notice { margin:16px 0 11px; padding:11px 12px; border-radius:12px; color:#366a58; background:#eaf4ee; font-size:10.5px; line-height:1.55; }.resource-model { padding:12px; background:#fffefa; }.date-tabs { display:flex; gap:8px; margin:17px 0 10px; }.date-tabs button { flex:1; padding:9px; border-radius:12px; color:#6d7d74; background:#eceeea; font-size:11px; font-weight:800; }.date-tabs button.active { color:#fff; background:#17634e; }.date-tabs small { display:block; margin-top:2px; font-size:9px; font-weight:400; }.resource-board { border:1px solid #e5e4dd; border-radius:15px; overflow:hidden; background:#fffefa; }.resource-row { padding:12px; border-bottom:1px solid #eceae3; }.resource-row:last-child { border:0; }.resource-row > div:first-child { display:flex; justify-content:space-between; align-items:center; }.resource-row b { color:#2b4f41; font-size:11px; }.resource-row small { color:#87918a; font-size:9px; }.time-cells { display:flex; gap:5px; margin-top:9px; }.time-cell { flex:1; padding:7px 1px; border-radius:7px; color:#28715a; background:#e4f2e9; font-size:9px; }.time-cell.busy { color:#9a7351; background:#f1ebe3; }.calendar-tip { margin:10px 2px 19px; color:#76827a; font-size:10px; line-height:1.55; }.confirmed-list { overflow:hidden; border:1px solid #e7e4dc; border-radius:14px; background:#fffefa; }.confirmed-booking { display:flex; justify-content:space-between; gap:8px; padding:11px; border-bottom:1px solid #ece9e1; color:#668078; font-size:10px; }.confirmed-booking:last-child { border:0; }.confirmed-booking b { color:#2c634e; font-size:10px; }.calendar-empty { padding:13px; color:#7d877f; font-size:10px; }.knowledge-summary { display:grid; grid-template-columns:auto 1fr; gap:3px 11px; margin:14px 0; padding:13px; border-radius:15px; color:#62756c; background:#eaf3ec; }.knowledge-summary b { grid-row:span 2; color:#246651; font-size:30px; }.knowledge-summary span { align-self:end; font-size:11px; }.knowledge-summary small { grid-column:1/-1; padding-top:7px; border-top:1px solid #d6e7dc; font-size:9.5px; line-height:1.45; }.knowledge-list { display:flex; flex-direction:column; gap:9px; }.knowledge-list article { padding:13px; border:1px solid #e7e4dc; border-radius:15px; background:#fffefa; }.knowledge-list article > div { display:flex; align-items:center; justify-content:space-between; gap:9px; }.knowledge-list em { color:#6f8377; font-size:9px; font-style:normal; }.knowledge-list h3 { margin:4px 0 0; color:#284a3d; font-size:12px; }.publish-state { color:#788279; font-size:9px; }.publish-state.on { color:#247359; }.knowledge-list p { margin:10px 0; color:#6a7a71; font-size:10px; line-height:1.55; }.knowledge-list footer { display:flex; justify-content:space-between; align-items:center; color:#7a857d; font-size:9px; }.knowledge-list footer b { color:#6e7d74; font-size:9px; }.knowledge-list footer button { color:#28715a; font-size:10px; font-weight:800; }.boundary-note { display:flex; gap:10px; margin-top:15px; padding:13px; border-radius:14px; color:#805b41; background:#fff4e5; }.boundary-note > span { display:flex; flex:none; align-items:center; justify-content:center; width:22px; height:22px; border-radius:50%; color:#fff; background:#c78653; font-size:12px; font-weight:900; }.boundary-note b { font-size:11px; }.boundary-note p { margin:5px 0 0; font-size:9.8px; line-height:1.5; }.merchant-profile { margin-top:15px; padding:13px; background:#fffefa; }.merchant-profile > span { display:flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:12px; color:#fff; background:#236a54; font-weight:900; }.merchant-profile div { flex:1; }.merchant-profile b,.merchant-profile small,.merchant-profile p { display:block; }.merchant-profile b { color:#274a3d; font-size:12px; }.merchant-profile small,.merchant-profile p { margin-top:3px; color:#718078; font-size:9.5px; }.merchant-profile p { margin-bottom:0; }.team-list { overflow:hidden; margin-top:10px; border:1px solid #e7e4dc; border-radius:14px; background:#fffefa; }.team-list article { display:flex; align-items:center; gap:9px; padding:12px; border-bottom:1px solid #ece9e1; }.team-list article:last-child { border:0; }.team-list article > span { display:flex; align-items:center; justify-content:center; width:29px; height:29px; border-radius:9px; color:#45645a; font-size:11px; font-weight:800; }.team-list div { flex:1; }.team-list b,.team-list small { display:block; }.team-list b { color:#2b4d40; font-size:11px; }.team-list small { margin-top:3px; color:#78837c; font-size:9px; }.team-list em { color:#3d795f; font-size:9px; font-style:normal; }.setting-list { margin-top:10px; padding:13px; border:1px solid #e7e4dc; border-radius:14px; background:#fffefa; }.setting-list label { display:flex; justify-content:space-between; align-items:center; color:#305344; font-size:11px; font-weight:800; }.setting-list select { padding:5px; border:1px solid #dae2dc; border-radius:7px; color:#2b694f; background:#f5faf6; font-size:10px; }.setting-list p { margin:10px 0 0; padding-top:10px; border-top:1px solid #ece9e1; color:#718078; font-size:9.5px; line-height:1.55; }.modal-kicker { margin:0; color:#628073; font-size:9px; font-weight:800; letter-spacing:1px; }.modal h2 { margin:5px 0 8px; color:#254a3c; font-size:19px; }.modal-copy { margin:0 0 14px; color:#6a796f; font-size:10.5px; line-height:1.55; }.modal-head { display:flex; align-items:center; gap:9px; padding-right:25px; }.big-avatar { display:flex; align-items:center; justify-content:center; width:39px; height:39px; border-radius:12px; color:#246751; background:#e1f0e7; font-weight:900; }.modal-head div { flex:1; }.modal-head p { margin:0; color:#7c877f; font-size:9px; }.modal-head h2 { margin:3px 0 0; }.detail-status { display:flex; align-items:center; gap:7px; }.detail-status span { color:#718078; font-size:9px; }.detail-status b { color:#246b52; font-size:10px; }.detail-status button { margin-left:auto; color:#2a7259; font-size:10px; font-weight:800; }.detail-hero h3 { margin:11px 0 5px; color:#284e40; font-size:14px; }.detail-hero p,.detail-block p { color:#6a796f; font-size:10px; line-height:1.55; }.detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:10px; }.detail-grid span { color:#7a857e; font-size:9px; }.detail-grid b { display:block; margin-top:3px; color:#36594c; font-size:10px; }.booking-empty,.booking-confirmed { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px; border-radius:10px; background:#eef6f0; }.booking-empty span { color:#668077; font-size:10px; }.booking-empty .primary-btn { flex:none; padding:8px 10px; font-size:10px; }.booking-confirmed { display:block; }.booking-confirmed b,.booking-confirmed span,.booking-confirmed small { display:block; }.booking-confirmed b { color:#246a52; font-size:10.5px; }.booking-confirmed span { margin-top:3px; color:#5f776b; font-size:10px; }.booking-confirmed small { margin-top:5px; color:#7d8880; font-size:9px; }.modal .detail-block { margin-top:15px; }.modal .detail-block h3 { margin:0 0 7px; color:#34584b; font-size:11px; }.modal .log { margin:8px 0 0; font-size:9.5px; }.modal .log b { margin-bottom:2px; font-size:9.5px; }.modal .audio-row { padding:9px; font-size:9.5px; }.modal .modal-actions { margin-top:16px; }.modal .primary-btn,.modal .secondary-btn { min-height:38px; padding:8px 10px; font-size:10px; }.modal-close { position:absolute; top:12px; right:13px; color:#698077; font-size:23px; }.call-stage { padding:15px; border-radius:14px; color:#e1f2e8; background:#163e34; }.call-stage h3 { margin:9px 0 4px; font-size:15px; }.call-stage p { margin:0; color:#c2ddcf; font-size:10px; line-height:1.5; }.pulse { display:inline-block; width:7px; height:7px; border-radius:50%; background:#8fe1b6; box-shadow:0 0 0 4px rgba(143,225,182,.15); }.transcript { margin-top:11px; }.bubble { max-width:88%; margin:7px 0; padding:9px; border-radius:11px; font-size:10px; line-height:1.5; }.bubble.ai { color:#275344; background:#e0f1e8; border-bottom-left-radius:3px; }.bubble.client { margin-left:auto; color:#44564d; background:#f1efe9; border-bottom-right-radius:3px; }.modal > .notice { margin:11px 0; padding:9px; border-radius:10px; color:#8c6b31; background:#fff5dc; font-size:9.5px; line-height:1.5; }
@media (max-width:470px) { .industry-entry-view { padding-left:18px; padding-right:18px; } .metric-row article { padding-left:8px; padding-right:8px; } .metric-row b { font-size:20px; } }

/* 生活美容经营配置 */
.config-section { margin-top: 17px; }
.config-copy { margin: 6px 0 10px; color: #738178; font-size: 10px; line-height: 1.55; }
.config-form { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; padding: 12px; border: 1px solid #e7e4dc; border-radius: 14px; background: #fffefa; }
.config-form label { display: grid; gap: 5px; color: #49665b; font-size: 9px; font-weight: 800; }
.config-form label.wide { grid-column: 1 / -1; }
.config-form input, .config-form select { min-width: 0; width: 100%; box-sizing: border-box; padding: 8px; border: 1px solid #dce5df; border-radius: 8px; color: #2b5143; background: #fbfdfb; font: inherit; font-size: 10px; }
.config-form button { grid-column: 1 / -1; margin: 1px 0 0; }
.service-config-list { overflow: hidden; margin: 10px 0; border: 1px solid #e7e4dc; border-radius: 14px; background: #fffefa; }
.service-config-row { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 8px; padding: 11px 12px; border-bottom: 1px solid #ece9e1; }
.service-config-row:last-child { border: 0; }
.service-config-row b, .service-config-row small { display: block; }
.service-config-row b { color: #2b5143; font-size: 11px; }
.service-config-row small { margin-top: 3px; color: #7a8780; font-size: 9px; }
.service-config-row span { padding: 4px 6px; border-radius: 7px; font-size: 8.5px; font-weight: 800; white-space: nowrap; }
.service-config-row .is-published { color: #216a51; background: #e3f2e9; }
.service-config-row .is-draft { color: #7d827d; background: #eff0ed; }
.service-config-row button { color: #2d7359; font-size: 9px; font-weight: 800; }
.service-config-form { margin-top: 10px; }
@media (max-width:470px) { .config-form { grid-template-columns: 1fr; } .config-form label.wide { grid-column: auto; } }
