*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  background:#f3f2ef;
  padding-bottom:240px;
  -webkit-overflow-scrolling:touch;
  color:#121212;
}
:root{
  --color-black:#111111;
  --color-gold:#C8A06A;
  --color-gold-dark:#a9824e;
  --color-white:#ffffff;
  --color-gray-bg:#f7f7f7;
  --color-gray-line:#e2e2e2;
  --color-gray-text:#777777;
  --color-danger:#c83c3c;
}
.app-header{
  background:linear-gradient(125deg,#0a0a0a 0%,#191919 72%,#25221e 100%);
  color:var(--color-white);
  padding:23px 18px 19px;
  position:sticky;top:0;z-index:100;
  box-shadow:0 8px 28px rgba(0,0,0,0.18);
}
.brand-line{display:flex;align-items:center;justify-content:space-between;gap:16px;}
.brand-name{font-size:21px;line-height:1;font-weight:650;letter-spacing:3.5px;}
.brand-name span{color:var(--color-gold);}
.brand-chip{border:1px solid rgba(200,160,106,.6);color:var(--color-gold);padding:5px 8px;font-size:9px;letter-spacing:1.4px;}
.app-header h1{font-size:13px;font-weight:500;letter-spacing:2px;margin-top:13px;}
.app-header .sub{font-size:10px;opacity:0.48;margin-top:5px;letter-spacing:.5px;}
.toolbar{
  display:flex;gap:8px;padding:12px 16px;background:rgba(255,255,255,.96);border-bottom:1px solid #e8e5df;
  position:sticky;top:98px;z-index:95;backdrop-filter:blur(12px);
}
.scheme-quickbar{display:flex;align-items:center;gap:0;background:#fff;border-bottom:1px solid #e6e2dc;padding:0 16px}
.scheme-quickbar button{flex:1;border:0;border-right:1px solid #ece8e2;background:#fff;color:#65543e;padding:10px 4px;font-size:10px;letter-spacing:.3px}
.scheme-quickbar button:last-child{border-right:0}.scheme-quickbar button:active{background:#f6f2ec}
.btn{
  flex:1;padding:11px 0;border:1px solid transparent;border-radius:4px;
  font-size:13px;font-weight:600;letter-spacing:.3px;cursor:pointer;
  transition:all 0.15s ease;
}
.btn:active{transform:scale(0.97);}
.btn-primary{background:var(--color-black);color:#fff;}
.btn-success{background:var(--color-gold);color:#000;}
.btn-success:hover{background:var(--color-gold-dark);}
.btn-warning{background:#444444;color:#fff;}
.btn-secondary{background:#888;color:#fff;}
.btn-small{flex:none;padding:8px 10px;font-size:12px;}
.btn-warning.wechat-disable{background:#cccccc;color:#888;cursor:not-allowed;}
.customer-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;padding:11px 16px;border-bottom:1px solid #e6e2dc;cursor:pointer}.customer-main{min-width:0;flex:1}.customer-title{font-size:12px;font-weight:650;color:#222;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.customer-sub{font-size:9px;color:#999;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.customer-controls{display:flex;align-items:center;gap:6px;flex:none}.customer-new{border:1px solid #ded8cf;background:#f7f4ef;color:#755c3d;padding:6px 8px;font-size:9px;border-radius:3px}.customer-edit{color:#9c784b;font-size:10px;letter-spacing:.5px}.customer-strip.empty .customer-title{color:#9c784b;font-weight:600}.customer-strip.empty .customer-sub{display:none}

.measure-wrap{
  background:#fff;padding:14px 16px;border-bottom:1px solid var(--color-gray-line);
}
.measure-title{
  font-size:15px;font-weight:650;margin-bottom:12px;color:var(--color-black);letter-spacing:.6px;
}
.measure-title:before{content:"";display:inline-block;width:3px;height:14px;background:var(--color-gold);margin-right:8px;vertical-align:-2px;}
.measure-total-stat{
  background:#f7f5f1;padding:11px 12px;border-radius:4px;margin-bottom:12px;font-size:12px;color:#595959;border-left:1px solid var(--color-gold);
}
.measure-input-row{
  display:grid;grid-template-columns:1fr 1fr 1fr 70px;gap:8px;margin-bottom:8px;
}
.measure-item{
  background:#fff;border:1px solid var(--color-gray-line);border-radius:12px;padding:12px;margin-bottom:10px;
}
.measure-item-head{
  display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;
}
.measure-desc{font-size:13px;font-weight:600;}
.measure-item-foot{
  display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;
}

/*示意图弹窗 */
.diagram-popup-overlay{
  position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.6);
  z-index:210;display:none;align-items:center;justify-content:center;padding:16px;
}
.diagram-popup-content{
  background:#fff;border-radius:14px;padding:20px;max-width:320px;width:100%;
}
.diagram-box-outer{
  margin:16px auto;
  width:220px;height:170px;
  position:relative;
}
.diagram-box{
  width:100%;height:100%;
  border:2px solid #333;
}
.diagram-label-len{
  position:absolute;
  left:-32px;top:50%;transform:translateY(-50%);
  font-size:12px;color:#222;
}
.diagram-label-wid{
  position:absolute;
  bottom:-28px;left:50%;transform:translateX(-50%);
  font-size:12px;color:#222;
}

.card-list{padding:14px 16px;}
.cut-splice-sheet{margin-top:12px;padding:12px;background:#fff;border:1px solid #d8c6ac}.cut-splice-sheet>b{font-size:12px}.cut-splice-sheet p{font-size:10px;line-height:1.7;margin:8px 0;overflow-wrap:anywhere}.cut-splice-sheet svg{display:block;width:100%;height:250px;margin:8px 0;background:#faf9f7}.cut-splice-approval{display:flex;gap:8px;align-items:flex-start;margin:14px 0;padding:12px;background:#fff4e3;color:#74552c;font-size:12px;line-height:1.7}.cut-splice-approval[hidden]{display:none!important}.cut-splice-approval input{margin-top:4px;accent-color:#c8a06a}
#quotePage .quote-card{scroll-margin-top:140px}
@media print{.quote-add-position{display:none!important}}
.quote-card{
  background:#fff;border-radius:5px;padding:16px;margin-bottom:12px;
  box-shadow:0 8px 24px rgba(20,18,14,0.045);
  border:1px solid #e7e3dc;border-top:2px solid var(--color-gold);
}
.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;}
.card-heading{display:flex;align-items:center;gap:10px;min-width:0;flex:1;cursor:pointer}.card-heading-text{min-width:0}.card-title{font-size:13px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-summary{font-size:9px;color:#999;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-actions{display:flex;gap:5px;margin-left:8px}.card-toggle{border:1px solid #ddd6cc;background:#f8f6f2;color:#776a59;padding:6px 9px;border-radius:3px;font-size:10px}.quote-card.collapsed{padding:12px 14px;border-top-width:1px}.quote-card.collapsed .card-header{margin-bottom:0}.quote-card.collapsed .card-body{display:none}.quote-card.collapsed .card-num{background:#eee9e1;color:#8c6b42}
.card-num{
  min-width:30px;height:26px;padding:0 8px;border-radius:2px;background:var(--color-black);color:var(--color-gold);
  display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:bold;
}
.card-del{
  border:1px solid #ddd6cc;background:transparent;color:#777;padding:6px 12px;border-radius:3px;font-size:11px;
}
.form-row{margin-bottom:12px;}
.form-label{font-size:13px;color:var(--color-gray-text);margin-bottom:5px;display:block;font-weight:600;}
.form-select,.form-input,.form-textarea{
  width:100%;padding:12px 14px;border:1.5px solid var(--color-gray-line);
  border-radius:4px;font-size:14px;background:#fafafa;
  outline:none;-webkit-appearance:none;
}
.form-select:focus,.form-input:focus,.form-textarea:focus{
  border-color:var(--color-gold);
  background:#fff;
}
.form-textarea{min-height:50px;resize:vertical;}
.form-select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 12 12'%3E%3Cpath fill='%23777' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;
}
.calc-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;
  margin-top:10px;padding-top:12px;border-top:1.5px dashed var(--color-gray-line);
}
.calc-item{text-align:center;}
.calc-item .label{font-size:11px;color:var(--color-gray-text);margin-bottom:2px;}
.calc-item .value{font-size:15px;font-weight:700;color:var(--color-black);}
.calc-item .value.price{color:var(--color-gold);}
.calc-item.full{
  grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;
  background:#f7f5f1;padding:10px 14px;border-radius:3px;text-align:left;border-left:2px solid var(--color-gold);
}
.empty-state{text-align:center;padding:60px 20px;color:var(--color-gray-text);}
.empty-state p{font-size:14px;}
.summary-bar{
  position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--color-gray-line);
  padding:12px 16px 22px;z-index:90;
  box-shadow:0 -2px 10px rgba(0,0,0,0.08);
}
.summary-row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:6px;margin-bottom:8px;}
.summary-item{background:#f6f4f0;border-radius:3px;padding:8px 4px;text-align:center;}
.summary-item .label{font-size:10px;color:var(--color-gray-text);}
.summary-item .value{font-size:13px;font-weight:bold;margin-top:2px;color:#222;}
.total-box{
  background:var(--color-black);
  border-radius:3px;padding:13px 16px;display:flex;justify-content:space-between;align-items:center;border-left:3px solid var(--color-gold);
}
.total-box .label{color:rgba(255,255,255,0.7);font-size:13px;}
.total-box .value{color:var(--color-gold);font-size:22px;font-weight:800;}

.popup-overlay{
  position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.6);
  z-index:200;display:flex;align-items:center;justify-content:center;padding:14px;
}
.popup-content{
  background:#fff;border-radius:6px;padding:20px;
  width:100%;max-width:540px;max-height:85vh;overflow-y:auto;
  box-shadow:0 4px 20px rgba(0,0,0,0.15);
}
.popup-content h3{margin-bottom:16px;font-size:16px;color:var(--color-black);border-left:3px solid var(--color-gold);padding-left:9px;letter-spacing:.5px;}
.quote-preview-popup{max-width:860px;height:92vh;display:flex;flex-direction:column;padding:12px;background:#eceae6}.quote-preview-head{display:flex;align-items:center;justify-content:space-between;padding:2px 3px 10px}.quote-preview-head h3{margin:0}.quote-preview-frame{width:100%;flex:1;min-height:0;border:1px solid #d8d3cb;background:#fff}.quote-preview-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding-top:10px}.quote-preview-actions button{padding:11px 5px;border:0;border-radius:3px;font-size:12px;font-weight:600}.quote-preview-actions .copy{background:#C8A06A;color:#17130e}.quote-preview-actions .warranty{background:#332b22;color:#e0bd8a}.quote-preview-actions .new{background:#111;color:#fff}.quote-preview-actions .close{background:#888;color:#fff}@media(max-width:600px){.quote-preview-popup{height:94vh;padding:8px}.quote-preview-actions{grid-template-columns:1fr 1fr}.quote-preview-actions button{font-size:10px;padding:10px 3px}}
.pdf-option-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.pdf-option{border:1px solid #ded8cf;background:#faf9f7;padding:18px 14px;text-align:left;cursor:pointer}.pdf-option:first-child{border-top:2px solid #111}.pdf-option:last-child{border-top:2px solid #C8A06A}.pdf-option b{display:block;font-size:14px;color:#222}.pdf-option span{display:block;font-size:9px;color:#888;line-height:1.6;margin-top:7px}.pdf-option i{display:block;font-style:normal;color:#9c784b;font-size:18px;margin-bottom:12px}
.pdf-file-popup{max-width:860px;height:92vh;display:flex;flex-direction:column;padding:12px;background:#eceae6}.pdf-file-head{display:flex;align-items:center;justify-content:space-between;padding:2px 3px 10px}.pdf-file-head h3{margin:0}.pdf-file-frame{width:100%;flex:1;min-height:0;border:1px solid #d8d3cb;background:#fff}.pdf-file-actions{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:8px;padding-top:10px}.pdf-file-actions button{padding:11px 5px;border:0;border-radius:3px;font-size:12px;font-weight:650}.pdf-file-actions .share{background:#111;color:#C8A06A}.pdf-file-actions .save{background:#C8A06A;color:#17130e}.pdf-file-actions .close{background:#888;color:#fff}.pdf-loading{text-align:center;padding:24px 10px}.pdf-loading-mark{width:34px;height:34px;border:3px solid #e3ded6;border-top-color:#C8A06A;border-radius:50%;margin:0 auto 14px;animation:pdfSpin .8s linear infinite}.pdf-loading b{font-size:14px}.pdf-loading span{display:block;color:#999;font-size:10px;margin-top:7px}@keyframes pdfSpin{to{transform:rotate(360deg)}}@media(max-width:600px){.pdf-file-popup{height:94vh;padding:8px}.pdf-file-actions button{font-size:10px;padding:10px 3px}}
.popup-row{margin-bottom:10px;}
.popup-row label{font-size:13px;color:#444;display:block;margin-bottom:4px;}
.popup-input{width:100%;padding:10px 12px;border:1px solid var(--color-gray-line);border-radius:8px;font-size:14px;}
.popup-input:focus{border-color:var(--color-gold);outline:none;}
.popup-btn-row{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap;}
.popup-btn{flex:1;min-width:100px;padding:11px;border:none;border-radius:9px;font-size:14px;font-weight:600;}
.popup-btn:nth-child(1){background:var(--color-black);color:#fff;}
.popup-btn:nth-child(2){background:var(--color-gold);color:#000;}
pre{background:#f4f4f4;padding:12px;border-radius:9px;white-space:pre-wrap;font-size:12px;line-height:1.4;max-height:40vh;overflow:auto;margin:10px 0;color:#222;user-select:text;}
.compare-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px;}
.compare-card{background:#f6f4f0;padding:12px;border-radius:4px;border-top:2px solid var(--color-gold);font-size:11px;line-height:1.75;}.compare-card .compare-total{font-size:15px;color:#9c784b;margin-top:5px;}.scheme-manage-list{display:grid;gap:7px;margin:7px 0 12px}.scheme-manage-item{display:grid;grid-template-columns:25px 1fr auto;align-items:center;border:1px solid #e3ded6;background:#faf9f7;padding:8px}.scheme-manage-item input{width:16px;height:16px;accent-color:#111}.scheme-manage-name{font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scheme-actions{display:flex;gap:5px}.scheme-actions button{border:1px solid #ddd;background:#fff;padding:5px 7px;font-size:9px;color:#555}.scheme-actions .danger{color:#b63b3b;border-color:#e4caca}.compare-hint{font-size:9px;color:#999;line-height:1.6;margin-top:4px}
.wechat-tip{background:#f9f3e0;color:#946c1e;padding:8px 16px;font-size:12px;}
.model-item{display:flex;gap:6px;margin:6px 0;}
.model-item input{flex:1;padding:8px;border-radius:6px;border:1px solid var(--color-gray-line);}
.model-item button{border:none;background:var(--color-danger);color:#fff;border-radius:6px;padding:0 8px;}
.model-admin-note{font-size:9px;line-height:1.65;color:#8a7357;background:#f7f2eb;border:1px solid #eadfce;padding:9px 10px;margin-bottom:10px}
hr{border:0;border-top:1px solid #e2e2e2;margin:14px 0;}

/* 品牌首页与产品页 */
.page{display:none;min-height:100vh;}
.page.active{display:block;}
.portal-page{background:#101010;color:#fff;position:relative;overflow:hidden;min-height:100vh;}
.portal-page:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 18%,rgba(200,160,106,.18),transparent 30%),linear-gradient(145deg,transparent 45%,rgba(255,255,255,.035));pointer-events:none;}
.portal-shell{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column;padding:28px 22px 24px;max-width:720px;margin:auto;}
.portal-top{display:flex;justify-content:space-between;align-items:center;}
.portal-logo{font-size:23px;font-weight:650;letter-spacing:4px;}.portal-logo i{font-style:normal;color:var(--color-gold);}
.portal-system{font-size:9px;letter-spacing:1.8px;color:var(--color-gold);border:1px solid rgba(200,160,106,.55);padding:6px 9px;}
.portal-hero{padding:14vh 0 9vh;}
.portal-kicker{font-size:10px;letter-spacing:3px;color:var(--color-gold);margin-bottom:18px;}
.portal-hero h1{font-size:clamp(32px,9vw,58px);font-weight:300;line-height:1.18;letter-spacing:2px;}
.portal-hero h1 strong{font-weight:650;}.portal-desc{margin-top:20px;color:rgba(255,255,255,.48);font-size:12px;line-height:1.8;letter-spacing:.6px;}
.entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:auto;}
.entry-card{appearance:none;text-align:left;text-decoration:none;display:block;color:#fff;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.14);padding:20px 17px;min-height:150px;cursor:pointer;transition:.2s;position:relative;}
.entry-card:first-child{border-top:2px solid var(--color-gold);}.entry-card:active{transform:scale(.985);background:rgba(255,255,255,.08);}
.entry-no{font-size:10px;color:var(--color-gold);letter-spacing:1px;}.entry-title{font-size:18px;font-weight:600;margin-top:36px;letter-spacing:1px;}.entry-en{font-size:9px;color:rgba(255,255,255,.38);margin-top:7px;letter-spacing:1.1px;}.entry-arrow{position:absolute;right:16px;top:16px;color:var(--color-gold);font-size:18px;}
.portal-foot{font-size:9px;color:rgba(255,255,255,.25);letter-spacing:1.4px;margin-top:22px;display:flex;justify-content:space-between;}
.subpage-head{background:#111;color:#fff;padding:18px 17px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:110;}
.back-btn{background:transparent;border:0;color:#fff;font-size:12px;letter-spacing:.5px;padding:7px 8px 7px 0;}.subpage-brand{font-size:15px;letter-spacing:3px;}.subpage-brand span{color:var(--color-gold);}
.product-page{background:#f3f2ef;padding-bottom:40px;}.product-intro{background:#fff;padding:30px 18px 24px;border-bottom:1px solid #e4e0d9;}.product-intro .eyebrow{font-size:9px;letter-spacing:2px;color:var(--color-gold);}.product-intro h2{font-size:27px;font-weight:400;margin-top:10px;letter-spacing:1px;}.product-intro p{font-size:12px;color:#777;line-height:1.8;margin-top:10px;}
.product-nav{display:flex;gap:7px;overflow:auto;padding:13px 16px 3px;scrollbar-width:none}.product-nav::-webkit-scrollbar{display:none}.product-nav a{flex:none;text-decoration:none;color:#666;background:#fff;border:1px solid #e4dfd7;padding:8px 11px;font-size:10px;letter-spacing:.7px}.series-list{padding:11px 16px;display:grid;gap:13px}.series-card{background:#fff;border:1px solid #e4dfd7;overflow:hidden;scroll-margin-top:70px}.series-cover{background:#151515;color:#fff;padding:21px 17px;position:relative;border-bottom:2px solid var(--color-gold)}.series-cover:after{content:"";position:absolute;width:100px;height:100px;border:1px solid rgba(200,160,106,.18);border-radius:50%;right:-24px;top:-35px}.series-index{font-size:9px;color:var(--color-gold);letter-spacing:1.5px}.series-name{font-size:22px;font-weight:600;letter-spacing:1px;margin-top:10px}.series-copy{font-size:11px;color:rgba(255,255,255,.58);margin-top:6px}.series-tag{font-size:9px;color:var(--color-gold);letter-spacing:1px;position:absolute;right:16px;bottom:18px}.series-body{padding:16px}.feature-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.feature-pill{font-size:10px;color:#65543e;background:#f5f1eb;border:1px solid #e8ddcf;padding:6px 8px}.series-text{font-size:12px;color:#666;line-height:1.75;margin-bottom:15px}.model-title{font-size:10px;color:#999;letter-spacing:1.2px;margin:14px 0 8px}.model-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.model-cell{border:1px solid #e7e3dc;padding:10px;background:#fcfcfb}.model-cell strong{font-size:12px}.model-cell span{display:block;color:#999;font-size:9px;margin-top:4px}.parameter-strip{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #e7e3dc;margin-top:14px}.parameter-strip div{padding:9px 5px;text-align:center;border-right:1px solid #e7e3dc}.parameter-strip div:last-child{border:0}.parameter-strip small{display:block;font-size:8px;color:#aaa;margin-bottom:3px}.parameter-strip b{font-size:10px;font-weight:600}.application{margin-top:14px;padding-top:12px;border-top:1px solid #eee;font-size:10px;color:#888;line-height:1.6}.parameter-guide{margin:4px 16px 18px;background:#fff;border:1px solid #e4dfd7;padding:18px 16px}.parameter-guide h3{font-size:16px;margin-bottom:4px}.parameter-guide>p{font-size:10px;color:#999;margin-bottom:13px}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.guide-item{background:#f6f4f0;padding:10px}.guide-item b{font-size:10px;color:#222}.guide-item span{font-size:9px;color:#888;display:block;margin-top:3px;line-height:1.5}.warranty-band{margin:0 16px 24px;background:#151515;color:#fff;padding:18px;display:flex;justify-content:space-between;align-items:center}.warranty-band strong{font-size:25px;color:var(--color-gold)}.warranty-band span{font-size:10px;color:rgba(255,255,255,.55);line-height:1.6;text-align:right}
.model-cell{cursor:pointer;position:relative;transition:.15s}.model-cell:after{content:"查看参数  ›";display:block;color:#a9824e;font-size:8px;margin-top:8px;letter-spacing:.4px}.model-cell:active{background:#f5f1eb;border-color:#c8a06a}.product-detail-head{background:#151515;color:#fff;margin:-20px -20px 18px;padding:22px 20px;border-bottom:2px solid var(--color-gold)}.product-detail-head small{font-size:9px;color:var(--color-gold);letter-spacing:1.5px}.product-detail-head h3{border:0;padding:0;margin:9px 0 4px;color:#fff;font-size:22px;letter-spacing:.7px}.product-detail-head p{font-size:10px;color:rgba(255,255,255,.55)}.detail-param-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid #e4dfd7}.detail-param{padding:11px;border-right:1px solid #e4dfd7;border-bottom:1px solid #e4dfd7}.detail-param:nth-child(even){border-right:0}.detail-param small{display:block;font-size:8px;color:#aaa;margin-bottom:4px}.detail-param b{font-size:11px;font-weight:600;color:#333}.detail-note{font-size:9px;color:#999;line-height:1.65;margin-top:10px}.add-quote-btn{width:100%;border:0;background:#111;color:#c8a06a;padding:13px;margin-top:16px;font-size:13px;font-weight:650;letter-spacing:.6px}.detail-close{width:100%;border:1px solid #ddd;background:#fff;color:#777;padding:11px;margin-top:7px;font-size:12px}
.model-cell{appearance:none;-webkit-appearance:none;width:100%;font:inherit;color:inherit;text-align:left;touch-action:pan-y}
.quote-back{display:flex;align-items:center;gap:10px;margin-bottom:13px;}.quote-back .back-btn{color:rgba(255,255,255,.7);}
.service-page{background:#f3f2ef;padding-bottom:45px}.service-hero{background:#fff;padding:28px 18px 23px;border-bottom:1px solid #e4e0d9}.service-hero small{font-size:9px;letter-spacing:2px;color:#a9824e}.service-hero h2{font-size:26px;font-weight:450;margin-top:9px;letter-spacing:.8px}.service-hero p{font-size:11px;color:#888;line-height:1.75;margin-top:8px}.service-shell{max-width:760px;margin:auto;padding:14px 16px}.service-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.service-action{border:0;padding:17px 14px;text-align:left;background:#151515;color:#fff;border-top:2px solid #C8A06A}.service-action.alt{background:#fff;color:#222;border:1px solid #dfdad2;border-top:2px solid #111}.service-action b{display:block;font-size:14px}.service-action span{display:block;font-size:9px;opacity:.55;margin-top:6px;line-height:1.5}.service-search{display:grid;grid-template-columns:1fr auto;gap:7px;background:#fff;border:1px solid #e2ded7;padding:9px;margin-top:10px}.service-search input{border:0;background:#f6f4f0;padding:11px;font-size:12px;outline:0;min-width:0}.service-search button{border:0;background:#C8A06A;color:#18130e;padding:0 15px;font-size:11px;font-weight:650}.service-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:10px 0 16px}.service-stat{background:#fff;border:1px solid #e5e0d9;padding:11px 8px;text-align:center}.service-stat small{display:block;font-size:8px;color:#999}.service-stat b{display:block;font-size:16px;margin-top:4px}.service-section-title{font-size:13px;margin:16px 0 9px;padding-left:8px;border-left:3px solid #C8A06A}.service-list{display:grid;gap:8px}.service-card{background:#fff;border:1px solid #e3ded6;padding:14px;border-left:3px solid #C8A06A}.service-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.service-card h4{font-size:13px}.service-card .code{font-size:9px;color:#a9824e;margin-top:4px;letter-spacing:.5px}.service-meta{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;margin-top:11px;font-size:10px;color:#777;line-height:1.55}.service-meta b{display:block;color:#aaa;font-size:8px;font-weight:400}.service-card-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:11px}.service-card-actions button{border:1px solid #ddd7ce;background:#faf9f7;color:#5f5548;padding:6px 9px;font-size:9px}.service-card-actions button.primary{background:#111;color:#C8A06A;border-color:#111}.service-card-actions button.danger{color:#b43939}.service-status{flex:none;font-size:8px;padding:5px 7px;border:1px solid}.service-status.active{color:#387b51;border-color:#b9d8c4;background:#f3faf5}.service-status.pending{color:#9a6c20;border-color:#e5d2aa;background:#fffaf0}.service-status.void{color:#a64848;border-color:#e6c3c3;background:#fff6f6}.service-empty{background:#fff;border:1px dashed #d8d1c7;padding:32px 15px;text-align:center;color:#999;font-size:11px}.test-notice{font-size:9px;color:#8c6b42;background:#f8f2e8;border:1px solid #eadcc6;padding:9px 10px;margin-bottom:10px;line-height:1.6}.warranty-certificate{background:#fff;border:1px solid #ddd;max-width:520px;margin:auto}.warranty-cert-head{background:#111;color:#fff;padding:22px;border-bottom:3px solid #C8A06A}.warranty-cert-head strong{font-size:22px;letter-spacing:3px}.warranty-cert-head i{color:#C8A06A;font-style:normal}.warranty-cert-head span{display:block;color:#C8A06A;font-size:8px;letter-spacing:1.6px;margin-top:5px}.warranty-cert-title{text-align:center;padding:20px 12px 12px}.warranty-cert-title h2{font-size:20px;letter-spacing:2px}.warranty-cert-title p{font-size:9px;color:#999;margin-top:5px}.warranty-cert-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #ddd;margin:0 18px}.warranty-cert-grid div{padding:9px;border-right:1px solid #ddd;border-bottom:1px solid #ddd;font-size:11px}.warranty-cert-grid div:nth-child(even){border-right:0}.warranty-cert-grid small{display:block;color:#aaa;font-size:8px;margin-bottom:3px}.warranty-cert-foot{padding:16px 18px 20px;color:#777;font-size:9px;line-height:1.65}.warranty-cert-foot b{color:#9c784b}.service-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.service-form-grid .wide{grid-column:1/-1}.channel-badge{display:inline-block;font-size:8px;padding:4px 6px;margin-top:6px;background:#f3ede4;color:#86653e;border:1px solid #e2d4c3}.roll-state{font-size:8px;padding:4px 6px;border:1px solid #ddd}.roll-state.unused{color:#3e7854;border-color:#bdd8c6;background:#f4faf6}.roll-state.used{color:#8b6b3e;border-color:#e2d3bb;background:#fbf7f0}.service-action.wide-action{grid-column:1/-1;background:#332b22;color:#ead0a8}.conditional-field[hidden]{display:none!important}
.service-filterbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0;background:#fff;border:1px solid #e3ded6;padding:7px}.service-filter-tabs{display:flex;gap:5px;overflow-x:auto;scrollbar-width:none}.service-filter-tabs::-webkit-scrollbar{display:none}.service-filter-tabs button{flex:none;border:1px solid #ded8cf;background:#faf9f7;color:#756b60;padding:7px 9px;font-size:9px;white-space:nowrap}.service-filter-tabs button.active{background:#171717;border-color:#171717;color:#d4ad77}.service-filter-search{min-width:180px;max-width:260px;border:0;background:#f5f3ef;padding:8px 10px;font-size:10px;outline:0}.service-pager{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 4px 3px}.service-pager:empty{display:none}.service-pager button{border:1px solid #ded8cf;background:#fff;color:#5f5548;padding:7px 12px;font-size:9px}.service-pager button:disabled{opacity:.35}.service-pager span{font-size:9px;color:#888}.service-result-note{font-size:9px;color:#999;margin:7px 1px}.warranty-item-row{display:grid;grid-template-columns:1.2fr 1.5fr 1.2fr .8fr .8fr auto;gap:8px;align-items:end;padding:12px;border:1px solid #e8e8e6;border-radius:12px;background:#fafafa}.warranty-cert-items{padding:16px 18px 4px}.warranty-cert-items>h3{margin:0 0 9px;padding-left:8px;border-left:3px solid #c8a06a;font-size:12px}.warranty-cert-item{display:grid;grid-template-columns:48px 1.1fr 1.4fr 1.2fr .7fr;border:1px solid #e2ded7;border-bottom:0;background:#faf9f7}.warranty-cert-item.customer-view{grid-template-columns:48px 1.1fr 1.4fr .7fr}.warranty-cert-item:last-child{border-bottom:1px solid #e2ded7}.warranty-cert-item>div{min-width:0;padding:9px;border-right:1px solid #e2ded7;font-size:10px;overflow-wrap:anywhere}.warranty-cert-item>div:last-child{border-right:0}.warranty-cert-item small{display:block;margin-bottom:4px;color:#999;font-size:8px}.auth-customer-query{width:100%;margin-top:10px;padding:12px;border:1px solid rgba(200,160,106,.55);background:transparent;color:#d9b780;font-size:13px}.public-warranty-overlay{z-index:1200}.public-warranty-popup{max-width:720px;padding:0;background:#f3f2ef}.public-warranty-form{padding:22px}.public-warranty-form>p{margin:-7px 0 18px;color:#777;font-size:11px;line-height:1.7}.public-warranty-error{min-height:20px;color:#b13939;font-size:11px;line-height:1.6}
@media(max-width:390px){.entry-grid{grid-template-columns:1fr}.entry-card{min-height:118px}.entry-title{margin-top:24px}.portal-hero{padding:10vh 0 6vh}.portal-foot{display:none}.toolbar{top:124px}}
@media(max-width:520px){.service-form-grid{grid-template-columns:1fr}.service-form-grid .wide{grid-column:auto}.service-meta{grid-template-columns:1fr}.service-action-grid{grid-template-columns:1fr 1fr}.service-action{padding:14px 11px}.portal-hero{padding:7vh 0 4vh}.entry-card{min-height:112px;padding:15px}.entry-title{margin-top:22px;font-size:15px}.entry-grid{gap:8px}}
@media(max-width:620px){.service-filterbar{align-items:stretch;flex-direction:column}.service-filter-search{max-width:none;width:100%}.service-filter-tabs{width:100%}.series-cover{padding-right:17px}.series-copy{max-width:100%;line-height:1.55}.model-cell strong,.model-cell span{overflow-wrap:anywhere}}
#quotePage .app-header{padding:10px 14px;min-height:54px;display:flex;align-items:center;justify-content:space-between}#quotePage .quote-back{margin:0;position:static;order:1}#quotePage .brand-line{order:2;margin-left:auto;gap:8px}#quotePage .brand-name{font-size:16px;letter-spacing:2.8px}#quotePage .brand-chip{font-size:7px;padding:4px 6px;letter-spacing:1px}#quotePage .app-header h1,#quotePage .app-header .sub{display:none}#quotePage .toolbar{top:54px}@media(max-width:390px){#quotePage .toolbar{top:54px}}

.warranty-share-overlay{z-index:1350}.warranty-share-popup{max-width:580px}.warranty-share-popup>p{font-size:11px;color:#777;line-height:1.7;margin:0 0 12px}.warranty-share-text{min-height:135px;line-height:1.7;resize:none;user-select:text;-webkit-user-select:text}.warranty-open-link{display:flex;align-items:center;justify-content:center;text-decoration:none;background:#c8a06a!important;color:#17130e!important}.share-copied{background:#277648!important}

@media print{
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  @page {margin:12mm;size:A4 portrait;}
  body{background:#fff;padding:0;margin:0;}
  .app-header,.toolbar,.summary-bar,.popup-overlay,.diagram-popup-overlay,#wechatTipBox{display:none !important;}
}
#printWindowTemplate{
  display:none;
  font-family:SimHei,Microsoft YaHei,sans-serif;
  font-size:10.5pt;
  line-height:1.4;
  color:#000;
  white-space:pre-wrap;
  padding:0;
  margin:0;
}


/* ===== V22 统一二级页面：沿用独立量房系统风格 ===== */
body.panorama-subpage{background:#f3f3f1;color:#17191d}
#measurePage,#productPage{height:100vh;height:100dvh;min-height:620px;background:#f3f3f1;overflow:hidden;position:relative}
.measure-app-frame{display:block;width:100%;height:100%;border:0;background:#f3f3f1}
.measure-loader{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;background:#f3f3f1;padding:24px;text-align:center}
.measure-loader.is-hidden{display:none}.measure-loader-box{width:min(330px,100%);background:#fff;border:1px solid rgba(0,0,0,.05);border-radius:16px;padding:28px 22px;box-shadow:0 10px 30px rgba(20,20,20,.07)}
.measure-loader-mark{width:34px;height:34px;margin:0 auto 14px;border:3px solid #e7e7e4;border-top-color:#c8a06a;border-radius:50%;animation:measureLoading .8s linear infinite}.measure-loader b{display:block;font-size:15px}.measure-loader span{display:block;margin-top:7px;color:#74777e;font-size:11px;line-height:1.7}.measure-loader button{display:none;width:100%;margin-top:15px;border:0;border-radius:10px;padding:11px;background:#17191d;color:#fff;font-size:12px}.measure-loader.has-error .measure-loader-mark{animation:none;border-color:#c8a06a}.measure-loader.has-error button{display:block}@keyframes measureLoading{to{transform:rotate(360deg)}}
.portal-page .entry-card:last-child:nth-child(odd){grid-column:1/-1;min-height:116px}
.product-page,.service-page,#quotePage{background:#f3f3f1;color:#17191d}
.product-page .subpage-head,.service-page .subpage-head{
  position:sticky;top:0;z-index:40;max-width:none;margin:0;padding:calc(13px + env(safe-area-inset-top)) 18px 13px;
  background:rgba(23,25,29,.96);color:#fff;border:0;backdrop-filter:blur(15px)
}
.product-page .back-btn,.service-page .back-btn{color:#ddd;border-color:#4a4b4d;background:transparent;border-radius:8px}
.product-page .subpage-brand,.service-page .subpage-brand{color:#fff;letter-spacing:3px}
.product-page{padding-bottom:28px}
.product-intro,.product-nav,.parameter-guide,.warranty-band{max-width:980px;margin-left:auto;margin-right:auto}
.product-intro{margin-top:14px;background:#fff;border:1px solid rgba(0,0,0,.04);border-radius:16px;padding:24px;box-shadow:0 10px 30px rgba(20,20,20,.07)}
.product-nav{margin-top:12px;background:#fff;border:1px solid #e8e8e6;border-radius:12px;padding:8px;box-shadow:0 7px 20px rgba(20,20,20,.05)}
.series-list{max-width:980px;margin:14px auto}
.series-card{border:1px solid rgba(0,0,0,.04)!important;border-radius:16px!important;box-shadow:0 10px 30px rgba(20,20,20,.07)!important;overflow:hidden;margin-bottom:14px!important}
.series-body{background:#fff!important}
.feature-pill{background:#f5efe6!important;color:#76592f!important;border-color:#eadfce!important;border-radius:7px!important}
.model-cell,.guide-item{background:#fafafa!important;border-color:#e8e8e6!important;border-radius:10px!important}
.parameter-strip{background:#f3f3f1!important;border-radius:10px!important}
.parameter-guide,.warranty-band{border-radius:16px!important;box-shadow:0 10px 30px rgba(20,20,20,.06)}
.service-hero{max-width:980px;margin:14px auto 0;background:#fff!important;color:#17191d!important;border:1px solid rgba(0,0,0,.04)!important;border-radius:16px!important;padding:24px!important;box-shadow:0 10px 30px rgba(20,20,20,.07)!important}
.service-hero small{color:#c8a06a!important}.service-hero p{color:#74777e!important}
.service-shell{max-width:980px;margin:14px auto 30px;background:transparent!important;padding:0!important}
.test-notice{background:#f5efe6!important;color:#76592f!important;border:0!important;border-radius:10px!important}
.service-action,.service-search,.service-stat,.service-item{background:#fff!important;border:1px solid rgba(0,0,0,.05)!important;border-radius:14px!important;box-shadow:0 8px 24px rgba(20,20,20,.055)!important}
.service-action{min-height:105px!important}.service-action b{color:#17191d!important}.service-action span{color:#74777e!important}
.service-search input{background:#fafafa!important;border-color:#e8e8e6!important;border-radius:10px!important}.service-search button{background:#17191d!important;color:#fff!important;border-radius:10px!important}
#quotePage{padding:0 14px 260px}
#quotePage .app-header{margin:0 -14px 14px;padding:calc(14px + env(safe-area-inset-top)) 18px 16px;background:rgba(23,25,29,.97)!important;color:#fff!important;border:0!important;box-shadow:none!important}
#quotePage .app-header h1{color:#fff!important;margin-top:13px!important}
#quotePage .app-header .sub{color:#aaa!important}
#quotePage .quote-back .back-btn{color:#ddd!important;border-color:#4a4b4d!important;background:transparent!important;border-radius:8px!important}
#quotePage .toolbar,#quotePage .customer-strip,#quotePage .quote-card{background:#fff!important;border:1px solid rgba(0,0,0,.04)!important;border-radius:16px!important;box-shadow:0 10px 30px rgba(20,20,20,.07)!important}
#quotePage .toolbar{padding:12px!important;gap:8px!important}
#quotePage .btn{border-radius:10px!important}
#quotePage .btn-primary{background:#17191d!important;color:#fff!important}
#quotePage .btn-success{background:#e9e9e7!important;color:#17191d!important}
#quotePage .btn-warning{background:#c8a06a!important;color:#fff!important}
#quotePage .customer-strip{padding:13px 15px!important}
#quotePage .measure-wrap{display:none!important}
#quotePage .quote-card{overflow:hidden!important;margin-bottom:14px!important}
#quotePage .card-header{background:#fff!important;border-bottom:1px solid #e8e8e6!important}
#quotePage .card-num{border-radius:9px!important;background:#17191d!important;color:#fff!important}
#quotePage .form-select,#quotePage .form-input,#quotePage .form-textarea{border:1px solid #e8e8e6!important;border-radius:10px!important;background:#fafafa!important}
#quotePage .calc-item.full{background:#f5efe6!important;border-left-color:#c8a06a!important;border-radius:9px!important}
#quotePage .summary-item{background:#f3f3f1!important;border-radius:9px!important}
#quotePage .total-box{border-radius:12px!important;border-left:0!important}
@media(max-width:600px){
  .product-intro,.product-nav,.series-list,.parameter-guide,.warranty-band,.service-hero,.service-shell{margin-left:10px;margin-right:10px}
  .product-intro,.service-hero{padding:18px!important}
  #quotePage{padding-left:10px;padding-right:10px}
  #quotePage .app-header{margin-left:-10px;margin-right:-10px}
}

/* ===== CloudBase 真实登录与角色工作台 ===== */
.auth-gate{position:fixed;inset:0;width:100%;height:100vh;height:100dvh;z-index:1000;display:flex;align-items:center;justify-content:center;padding:22px;background:#111;color:#fff;overflow-x:hidden;overflow-y:auto;overscroll-behavior:none;-webkit-overflow-scrolling:touch;touch-action:pan-y}
.auth-gate:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 16%,rgba(200,160,106,.18),transparent 32%),linear-gradient(145deg,transparent 42%,rgba(255,255,255,.035));pointer-events:none}
.auth-card{position:relative;width:min(430px,100%);padding:34px 28px 28px;background:#181818;border:1px solid rgba(255,255,255,.12);box-shadow:0 28px 80px rgba(0,0,0,.42)}
.auth-brand{font-size:24px;font-weight:650;letter-spacing:4px}.auth-brand i{font-style:normal;color:#c8a06a}.auth-system{margin-top:7px;color:#c8a06a;font-size:9px;letter-spacing:2.2px}
.auth-heading{margin-top:42px;font-size:25px;font-weight:400;letter-spacing:1px}.auth-copy{margin-top:9px;color:rgba(255,255,255,.46);font-size:11px;line-height:1.8}
.auth-loading{margin-top:34px;padding:22px 0;color:rgba(255,255,255,.62);font-size:12px}.auth-loading:before{content:"";display:inline-block;width:15px;height:15px;margin-right:9px;border:2px solid rgba(255,255,255,.2);border-top-color:#c8a06a;border-radius:50%;vertical-align:-3px;animation:authSpin .8s linear infinite}@keyframes authSpin{to{transform:rotate(360deg)}}
.auth-form{margin-top:27px}.auth-field{margin-bottom:13px}.auth-field label{display:block;margin-bottom:6px;color:rgba(255,255,255,.52);font-size:10px;letter-spacing:.8px}.auth-field input{width:100%;padding:13px 14px;border:1px solid rgba(255,255,255,.16);border-radius:3px;background:#111;color:#fff;font-size:15px;outline:none}.auth-field input:focus{border-color:#c8a06a}.auth-submit{width:100%;margin-top:7px;padding:13px;border:0;border-radius:3px;background:#c8a06a;color:#17130e;font-size:14px;font-weight:700;cursor:pointer}.auth-submit:disabled{opacity:.55}.auth-error{min-height:18px;margin-top:12px;color:#e5a2a2;font-size:11px;line-height:1.6}.auth-help{margin-top:22px;padding-top:16px;border-top:1px solid rgba(255,255,255,.09);color:rgba(255,255,255,.32);font-size:9px;line-height:1.7}
.auth-blocked{margin-top:25px;padding:15px;border:1px solid rgba(200,160,106,.35);background:rgba(200,160,106,.07);font-size:11px;line-height:1.7;color:#dfc49e}.auth-blocked button{width:100%;margin-top:12px;padding:10px;border:1px solid rgba(255,255,255,.2);background:transparent;color:#fff}
.portal-account{appearance:none;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);color:rgba(255,255,255,.76);padding:6px 9px;font-size:9px;letter-spacing:.7px;cursor:pointer}.portal-top-right{display:flex;align-items:center;gap:7px}.portal-account-role{color:#c8a06a}
[data-role-hidden="true"]{display:none!important}
@media(max-width:520px){.auth-card{padding:29px 21px 24px}.auth-heading{margin-top:36px}.portal-system{display:none}.portal-account{max-width:128px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}

/* AUTH ISOLATION HOTFIX: Samsung Internet may resize the visual viewport while
   its browser chrome collapses. Logged-out pages must never scroll the hidden
   workspace into view, even during viewport bounce/overscroll. */
html:has(body.auth-locked){height:100%;overflow:hidden;overscroll-behavior:none;background:#111}
body.auth-locked{position:fixed;inset:0;width:100%;height:100vh;height:100dvh;overflow:hidden!important;overscroll-behavior:none;background:#111}
body.auth-locked #appRoot{display:none!important}
body.auth-locked #authGate{display:flex!important}
@media(max-width:760px){.warranty-item-row{grid-template-columns:1fr 1fr!important}.warranty-item-row .popup-row:nth-child(2),.warranty-item-row .popup-row:nth-child(3),.warranty-item-row .w-item-hint{grid-column:1/-1!important}.warranty-item-row>button{grid-column:2;justify-self:end}.warranty-cert-item{grid-template-columns:1fr 1fr}.warranty-cert-item>div{border-bottom:1px solid #e2ded7}.warranty-cert-item>div:nth-child(even){border-right:0}.warranty-cert-item>div:last-child{grid-column:1/-1;border-bottom:0}}
@media(max-width:520px){.warranty-item-row{grid-template-columns:1fr!important}.warranty-item-row .popup-row,.warranty-item-row .w-item-hint,.warranty-item-row>button{grid-column:1!important;width:100%;justify-self:stretch}.warranty-cert-grid{grid-template-columns:1fr}.warranty-cert-grid div{border-right:0}.warranty-cert-item{grid-template-columns:1fr 1fr}.warranty-cert-items{padding-left:10px;padding-right:10px}}

/* ===== V13 施工、人员岗位、总部数据中心 ===== */
.popup-wide{max-width:860px}
.popup-btn.muted{background:#aaa;color:#fff}
.construction-card{overflow:hidden}
.construction-positions{display:flex;gap:12px;margin-top:12px;padding:12px;border-radius:10px;background:#f7f5f1;font-size:12px;line-height:1.7}
.construction-positions b{flex:none;color:#8d693d}.construction-positions span{min-width:0;color:#555}
.construction-photos{display:flex;gap:8px;margin-top:12px;overflow-x:auto;padding-bottom:3px}
.construction-thumb{position:relative;flex:0 0 116px;height:82px;padding:0;border:0;border-radius:9px;overflow:hidden;background:#eee;cursor:pointer}
.construction-thumb img{width:100%;height:100%;object-fit:cover;display:block}.construction-thumb span{position:absolute;left:0;right:0;bottom:0;padding:5px 6px;background:rgba(0,0,0,.62);color:#fff;font-size:9px;text-align:left}
.construction-form-head{display:flex;align-items:center;justify-content:space-between;margin:20px 0 10px;padding-top:16px;border-top:1px solid #ece8e1}
.construction-form-head button{border:0;border-radius:8px;padding:9px 12px;background:#17191d;color:#fff}
.construction-form-item{display:grid;grid-template-columns:1.2fr 1.2fr .7fr .7fr;gap:10px;margin-bottom:10px;padding:13px;border:1px solid #e5e1db;border-radius:12px;background:#fafafa}
.construction-form-item .wide{grid-column:1/-2}.construction-remove{align-self:end;border:1px solid #e0c9c9;border-radius:8px;background:#fff;color:#a34a4a;padding:11px}
.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;border:1px solid #e3ded6;border-radius:10px;background:#fafafa}
.permission-option{display:flex;align-items:flex-start;gap:8px;padding:9px;border-radius:8px;background:#fff;border:1px solid #ebe7e0;font-size:12px;cursor:pointer}
.permission-option input{margin-top:3px;accent-color:#b78a4e}.permission-option span{display:flex;flex-direction:column;gap:3px}.permission-option small{color:#999;line-height:1.4}
.permission-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:15px}
.permission-group{padding:12px;border:1px solid #e5e1db;border-radius:12px}.permission-group>b{display:block;margin-bottom:9px;color:#8d693d;font-size:12px}.permission-group .permission-option{margin-bottom:6px}
.permission-active{display:block;margin-top:14px;font-size:13px}.position-description{margin:9px 0;color:#70737a;font-size:12px;line-height:1.7}
.permission-tags{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0}.permission-tags span{padding:5px 8px;border-radius:99px;background:#f5efe6;color:#76592f;font-size:10px}
.analytics-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:20px}.analytics-stats>.service-empty{grid-column:1/-1}
.analytics-stat{padding:16px 12px;border:1px solid rgba(0,0,0,.05);border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(20,20,20,.055)}
.analytics-stat small{display:block;color:#8b8e94;font-size:10px}.analytics-stat b{display:block;margin-top:7px;font-size:19px}
.export-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.export-card{padding:16px;border:1px solid rgba(0,0,0,.05);border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(20,20,20,.055)}
.export-card>span{display:inline-block;padding:4px 7px;border-radius:5px;background:#17191d;color:#c8a06a;font-size:9px}.export-card h4{margin-top:13px;font-size:14px}.export-card p{min-height:40px;margin-top:7px;color:#7c7f85;font-size:11px;line-height:1.6}.export-card button{width:100%;margin-top:12px;padding:10px;border:0;border-radius:8px;background:#f3eee7;color:#76592f;cursor:pointer}.export-card button:disabled{opacity:.55}
.migration-note{padding:18px;border-radius:14px;background:#17191d;color:#fff}.migration-note b{color:#c8a06a}.migration-note p{margin-top:8px;color:#aaa;font-size:12px;line-height:1.8}
@media(max-width:760px){.construction-form-item{grid-template-columns:1fr 1fr}.construction-form-item .wide{grid-column:1/-1}.construction-remove{grid-column:1/-1}.permission-columns,.analytics-stats,.export-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.permission-grid,.permission-columns{grid-template-columns:1fr}.analytics-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.export-grid{grid-template-columns:1fr}.construction-positions{flex-direction:column;gap:4px}.construction-form-item{grid-template-columns:1fr}.construction-form-item .wide{grid-column:1}.analytics-stat{padding:13px 10px}}


/* V13.1 · 报价确认订单 */
.quote-confirm-order-dock{position:relative;z-index:2;display:none;justify-content:flex-end;margin:12px 0 18px;padding:0 2px}
#quotePage.active .quote-confirm-order-dock{display:flex}
.quote-confirm-order-btn{appearance:none;border:0;border-radius:14px;background:#17191d;color:#fff;min-width:148px;padding:13px 17px 12px;box-shadow:0 12px 30px rgba(0,0,0,.22);text-align:left;cursor:pointer;border:1px solid rgba(200,160,106,.48)}
.area-input{-moz-appearance:textfield;appearance:textfield}
.area-input::-webkit-outer-spin-button,.area-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.quote-confirm-order-btn span{display:block;font-size:14px;font-weight:650;letter-spacing:.8px}
.quote-confirm-order-btn small{display:block;margin-top:3px;font-size:7px;letter-spacing:1.3px;color:#c8a06a}
.quote-confirm-order-btn:disabled{opacity:.62;cursor:default}
.confirm-order-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}
.confirm-order-summary>div{background:#f5f5f3;border-radius:10px;padding:10px}
.confirm-order-summary b{display:block;font-size:8px;color:#999;font-weight:500;margin-bottom:4px}.confirm-order-summary strong{font-size:13px;color:#17191d}
.confirm-order-staff{max-height:220px;overflow:auto;border:1px solid #ecece9;border-radius:12px;padding:8px;background:#fafafa}
.confirm-order-result{padding:18px;border-radius:14px;background:#f5efe6;margin:14px 0;line-height:1.8}.confirm-order-result b{font-size:16px}.confirm-order-result code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}
@media(max-width:520px){.quote-confirm-order-dock{margin:10px 0 16px;padding:0}.quote-confirm-order-btn{min-width:138px;padding:12px 15px}.confirm-order-summary{grid-template-columns:1fr 1fr}.confirm-order-summary>div:last-child{grid-column:1/-1}}

.construction-documents{margin-top:12px;padding:12px;border:1px solid #e6e2da;border-radius:12px;background:#faf9f6;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.construction-documents>b{font-size:12px;margin-right:4px}.construction-document{border:1px solid #d8d2c8;background:#fff;border-radius:10px;padding:8px 10px;display:inline-flex;gap:8px;align-items:center;cursor:pointer}.construction-document b{background:#191919;color:#fff;font-size:9px;padding:3px 5px;border-radius:4px}.construction-document span{font-size:12px}.service-card-actions .danger{border-color:#b54a42;color:#9a2e28;background:#fff}
.construction-document.cut-layout{border-color:#c8a06a;background:#fffaf2}.construction-document.cut-layout b{background:#c8a06a;color:#21180e}
/* V13.8 大数据量折叠与首屏性能 */
.section-fold-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:22px}
.section-fold-head .service-section-title{margin:0}
.section-fold-toggle{border:1px solid rgba(30,30,30,.14);background:#fff;border-radius:10px;padding:9px 14px;font-size:12px;cursor:pointer}
.panorama-fold-card{padding:0;overflow:hidden}
.panorama-fold-card>summary{list-style:none;cursor:pointer;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.panorama-fold-card>summary::-webkit-details-marker{display:none}
.panorama-fold-card>summary:after{content:'+';font-size:20px;font-weight:300;color:#8b6d44;margin-left:auto}
.panorama-fold-card[open]>summary:after{content:'−'}
.panorama-fold-card .panorama-fold-body{padding:0 20px 20px;border-top:1px solid rgba(0,0,0,.06)}
@media(max-width:640px){.section-fold-head{align-items:center}.section-fold-toggle{white-space:nowrap}.panorama-fold-card>summary{padding:15px 16px}.panorama-fold-card .panorama-fold-body{padding:0 16px 16px}}

.popup-content{position:relative}.popup-x{position:absolute;right:14px;top:12px;width:34px;height:34px;border:0;border-radius:50%;background:#f1f1ef;color:#222;font-size:24px;line-height:34px;text-align:center;cursor:pointer;z-index:3}.popup-x:active{transform:scale(.96)}

/* V14.2 construction measurement / print parity with measure module */
.construction-measure-preview{max-height:62vh;overflow:auto;background:#ececea;padding:14px;border-radius:8px;-webkit-overflow-scrolling:touch}
.construction-print-pages{background:#ececea;padding:14px}
.construction-print-page{background:#fff;border-radius:8px;padding:16px;margin:0 auto 14px;box-shadow:0 4px 18px rgba(0,0,0,.08);color:#17191d}
.construction-print-head{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:2px solid #17191d;padding-bottom:9px;margin-bottom:10px;gap:14px}
.construction-print-brand{font-size:17px;font-weight:800;letter-spacing:.05em}.construction-print-sub{font-size:10px;color:#777;margin-top:3px;letter-spacing:.08em}
.construction-print-project{text-align:right;font-size:10px;line-height:1.55;max-width:58%}
.construction-print-area-title{display:flex;align-items:center;justify-content:space-between;margin:9px 0 6px;font-size:13px;font-weight:750}
.construction-print-legend{display:flex;gap:14px;font-size:9px;color:#555;font-weight:500}
.construction-print-drawing{height:340px;border:1px solid #d9d9d6;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}
.construction-print-drawing svg{width:100%;height:100%;display:block}
.construction-cut-table{width:100%;border-collapse:collapse;margin-top:9px;font-size:9px}.construction-cut-table th,.construction-cut-table td{border:1px solid #cfcfcb;padding:5px;text-align:left}.construction-cut-table th{background:#f1f1ee;font-weight:700}.construction-cut-table .size{font-weight:750;font-size:10px}
.construction-print-summary{display:flex;justify-content:flex-end;gap:20px;margin-top:7px;font-size:10px}.construction-print-summary strong{font-size:12px}.construction-print-note{font-size:8px;color:#777;margin-top:7px}
.cut-layout-popup{max-width:1040px}.cut-layout-safe-note{display:flex;gap:12px;align-items:center;padding:12px 14px;margin:0 0 12px;background:#f7f2e9;border-left:3px solid #c8a06a}.cut-layout-safe-note b{font-size:12px;white-space:nowrap}.cut-layout-safe-note span{font-size:10px;color:#756b60;line-height:1.6}.cut-layout-settings{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr)) minmax(170px,1.3fr) auto;gap:8px;align-items:end;margin-bottom:10px}.cut-layout-settings label{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px;background:#f6f5f2;border:1px solid #e0dcd5;padding:8px;font-size:9px;color:#777}.cut-layout-settings label input[type=number]{grid-column:1/2;width:100%;border:0;background:#fff;padding:8px;font-size:12px}.cut-layout-settings label>span:last-child{grid-column:2/3;grid-row:2;color:#999}.cut-layout-settings .cut-layout-check{display:flex;min-height:58px;color:#333}.cut-layout-settings .cut-layout-check input{accent-color:#c8a06a}.cut-layout-settings .cut-layout-check span{font-size:10px;color:#333}.cut-layout-settings>button{min-height:58px;border:0;background:#17191d;color:#c8a06a;padding:0 14px;font-weight:700}.cut-layout-results{margin-top:12px;display:grid;gap:14px}.cut-layout-group{background:#f1f0ed;border:1px solid #dedbd5;padding:12px}.cut-layout-group-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:9px}.cut-layout-group-head small{display:block;color:#a9824e;font-size:8px;letter-spacing:1px}.cut-layout-group-head h4{font-size:17px;margin-top:4px}.cut-layout-group-head>span{font-size:10px;color:#777}.cut-layout-compare{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cut-compare-card{position:relative;display:grid;gap:4px;background:#fff;border:1px solid #dedbd5;padding:11px}.cut-compare-card b{font-size:17px}.cut-compare-card span{font-size:9px;color:#666}.cut-compare-card.recommended{border:2px solid #c8a06a;padding:10px}.cut-compare-card em{position:absolute;right:8px;top:8px;background:#c8a06a;color:#20170d;padding:3px 6px;font-style:normal;font-size:8px;font-weight:700}.cut-layout-error{color:#a43e36!important;font-weight:700}.cut-layout-warning{margin-top:8px;padding:9px;background:#fff4f2;border:1px solid #e2bcb7;color:#93453e;font-size:9px;line-height:1.6}.cut-layout-rolls{display:grid;gap:10px;margin-top:10px}.cut-roll{background:#fff;border:1px solid #d8d4cd;padding:9px}.cut-roll-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:7px;font-size:10px}.cut-roll-head span{color:#777}.cut-roll svg{display:block;width:100%;height:clamp(340px,60vh,900px);background:#faf9f7}.cut-layout-print-summary{display:flex;gap:18px;flex-wrap:wrap;margin:7px 0 9px;padding:8px 10px;background:#f5f2ec;font-size:9px}.cut-layout-print-summary b{color:#9a6e35}.cut-layout-drawing{height:520px}.cut-layout-drawing .cut-roll{width:100%;height:100%;border:0;padding:0}.cut-layout-drawing .cut-roll-head{display:none}.cut-layout-drawing .cut-roll svg{height:100%;max-height:none}
#constructionPrintHost{display:none}
.measure-top-print-overlay{position:fixed;inset:0;z-index:110000;background:#ececea;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
.delivery-pdf-toolbar{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fff;border-bottom:1px solid #ddd;flex:none}.delivery-pdf-toolbar>button,.delivery-pdf-toolbar>div button{min-height:44px;border:1px solid #c8a06a;background:#fff;border-radius:9px;padding:0 14px;font-size:14px}.delivery-pdf-toolbar strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.delivery-pdf-toolbar>div{display:flex;gap:8px;margin-left:auto}.delivery-pdf-toolbar>div .primary{background:#111;border-color:#111;color:#fff}
.measure-top-print-toolbar{display:flex;align-items:center;gap:11px;padding:11px 14px;background:rgba(255,255,255,.96);border-bottom:1px solid #ddd;box-shadow:0 5px 20px rgba(0,0,0,.05);flex:none}.measure-top-print-toolbar button{min-height:40px;border:1px solid #d8c6ac;background:#fff;border-radius:999px;padding:0 16px;font-size:13px;color:#171717}.measure-top-print-toolbar button:disabled{opacity:.38}.measure-top-print-toolbar .measure-print-back{width:40px;min-width:40px;padding:0;font-size:19px}.measure-print-title{min-width:0;display:flex;flex-direction:column;gap:2px}.measure-print-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.measure-print-title small{font-size:10px;color:#9a7b51;white-space:nowrap}.measure-top-print-primary-actions{display:flex;align-items:center;gap:7px;margin-left:auto}.measure-top-print-primary-actions .primary{background:#111;border-color:#111;color:#fff}.measure-top-print-preview{overflow:auto;padding:14px;-webkit-overflow-scrolling:touch}.measure-top-print-preview .print-pages{max-width:900px;margin:auto}.measure-top-print-preview .print-page{background:#fff;border-radius:8px;padding:16px;margin:0 auto 14px;box-shadow:0 4px 18px rgba(0,0,0,.08);color:#17191d}.measure-top-print-preview .print-head{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:2px solid #17191d;padding-bottom:9px;margin-bottom:10px;gap:14px}.measure-top-print-preview .print-brand{font-size:17px;font-weight:800;letter-spacing:.05em}.measure-top-print-preview .print-sub{font-size:10px;color:#777;margin-top:3px}.measure-top-print-preview .print-project{text-align:right;font-size:10px;line-height:1.55}.measure-top-print-preview .print-area-title{display:flex;align-items:center;justify-content:space-between;margin:9px 0 6px;font-size:13px;font-weight:750}.measure-top-print-preview .print-legend{display:flex;gap:14px;font-size:9px;color:#555}.measure-top-print-preview .print-drawing{height:340px;border:1px solid #d9d9d6;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}.measure-top-print-preview .print-drawing svg{width:100%;height:100%;display:block}.measure-top-print-preview .cut-table{width:100%;border-collapse:collapse;margin-top:9px;font-size:9px}.measure-top-print-preview .cut-table th,.measure-top-print-preview .cut-table td{border:1px solid #cfcfcb;padding:5px;text-align:left}.measure-top-print-preview .cut-table th{background:#f1f1ee}.measure-top-print-preview .cut-table .size{font-weight:750;font-size:10px}.measure-top-print-preview .print-summary{display:flex;justify-content:flex-end;gap:20px;margin-top:7px;font-size:10px}.measure-top-print-preview .print-note{font-size:8px;color:#777;margin-top:7px}#measurePrintHost{display:none}.measure-pdf-render-host{position:fixed!important;left:-20000px!important;top:0!important;width:1123px!important;overflow:visible!important;z-index:-1!important;background:#fff!important;pointer-events:none!important;padding:0!important}
@media(max-width:700px){.construction-measure-preview{padding:8px}.construction-print-page{padding:12px}.construction-print-head{display:block}.construction-print-project{text-align:left;max-width:none;margin-top:7px}.construction-print-drawing{height:300px}.construction-cut-table{font-size:8px}.construction-cut-table th,.construction-cut-table td{padding:4px 3px}.measure-top-print-toolbar,.delivery-pdf-toolbar{flex-wrap:wrap}.measure-print-title{flex:1}.delivery-pdf-toolbar strong{flex:1}.measure-top-print-primary-actions,.delivery-pdf-toolbar>div{width:100%;margin-left:0}.measure-top-print-primary-actions button,.delivery-pdf-toolbar>div button{flex:1;padding:0 8px}.measure-top-print-primary-actions button{min-height:38px}.measure-print-title small{max-width:240px;overflow:hidden;text-overflow:ellipsis}}
@media(max-width:700px){.cut-layout-safe-note{display:block}.cut-layout-safe-note b{display:block;margin-bottom:4px;white-space:normal}.cut-layout-settings{grid-template-columns:1fr 1fr}.cut-layout-settings .cut-layout-check,.cut-layout-settings>button{min-height:48px}.cut-layout-compare{grid-template-columns:1fr}.cut-roll svg{height:520px}.cut-layout-drawing{height:390px}}
@media print{
  @page{size:A4 portrait;margin:0}
  body.construction-print-mode{background:#fff!important;padding:0!important;margin:0!important}
  body.construction-print-mode>*:not(#constructionPrintHost){display:none!important}
  body.construction-print-mode #constructionPrintHost{display:block!important;width:210mm!important;margin:0!important;padding:0!important}
  body.construction-print-mode #constructionPrintHost .construction-print-pages{display:block!important;background:#fff!important;padding:0!important;margin:0!important}
  body.construction-print-mode #constructionPrintHost .construction-print-page{box-sizing:border-box!important;width:210mm!important;height:297mm!important;min-height:297mm!important;max-height:297mm!important;overflow:hidden!important;padding:10mm!important;margin:0!important;border-radius:0!important;box-shadow:none!important;break-after:page!important;page-break-after:always!important}
  body.construction-print-mode #constructionPrintHost .construction-print-page:last-child{break-after:auto!important;page-break-after:auto!important}
  body.construction-print-mode #constructionPrintHost .construction-print-drawing{height:150mm!important}
  body.construction-print-mode #constructionPrintHost .construction-cut-table{font-size:8.5pt!important;margin-top:7px!important}
  body.construction-print-mode #constructionPrintHost .construction-cut-table th,body.construction-print-mode #constructionPrintHost .construction-cut-table td{padding:4px!important}
  body.construction-print-mode #constructionPrintHost .construction-cut-table .size{font-size:9.5pt!important}
  body.construction-print-mode #constructionPrintHost .construction-print-brand{font-size:16pt!important}
  body.construction-print-mode #constructionPrintHost .construction-print-project{font-size:8pt!important}
  body.construction-print-mode #constructionPrintHost .construction-print-note{font-size:7.5pt!important}
}
@media print{
  @page{size:A4 portrait;margin:0}
  body.measure-top-print-mode{background:#fff!important;padding:0!important;margin:0!important}
  body.measure-top-print-mode>*:not(#measurePrintHost){display:none!important}
  body.measure-top-print-mode #measurePrintHost{display:block!important;width:210mm!important;margin:0!important;padding:0!important}
  body.measure-top-print-mode #measurePrintHost .print-pages{display:block!important;background:#fff!important;padding:0!important;margin:0!important}
  body.measure-top-print-mode #measurePrintHost .print-page{box-sizing:border-box!important;width:210mm!important;height:297mm!important;min-height:297mm!important;max-height:297mm!important;overflow:hidden!important;padding:10mm!important;margin:0!important;border-radius:0!important;box-shadow:none!important;break-after:page!important;page-break-after:always!important}
  body.measure-top-print-mode #measurePrintHost .print-page:last-child{break-after:auto!important;page-break-after:auto!important}
  body.measure-top-print-mode #measurePrintHost .print-head{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;border-bottom:2px solid #17191d!important;padding-bottom:9px!important;margin-bottom:10px!important}
  body.measure-top-print-mode #measurePrintHost .print-brand{font-size:16pt!important;font-weight:800!important}
  body.measure-top-print-mode #measurePrintHost .print-sub{font-size:9pt!important;color:#777!important}
  body.measure-top-print-mode #measurePrintHost .print-project{text-align:right!important;font-size:8pt!important;line-height:1.55!important}
  body.measure-top-print-mode #measurePrintHost .print-area-title{display:flex!important;justify-content:space-between!important;margin:9px 0 6px!important;font-size:12pt!important;font-weight:750!important}
  body.measure-top-print-mode #measurePrintHost .print-legend{display:flex!important;gap:14px!important;font-size:8pt!important}
  body.measure-top-print-mode #measurePrintHost .print-drawing{height:150mm!important;border:1px solid #d9d9d6!important;display:flex!important;overflow:hidden!important}
  body.measure-top-print-mode #measurePrintHost .print-drawing svg{width:100%!important;height:100%!important}
  body.measure-top-print-mode #measurePrintHost .cut-table{width:100%!important;border-collapse:collapse!important;margin-top:7px!important;font-size:8.5pt!important}
  body.measure-top-print-mode #measurePrintHost .cut-table th,body.measure-top-print-mode #measurePrintHost .cut-table td{border:1px solid #cfcfcb!important;padding:4px!important;text-align:left!important}
  body.measure-top-print-mode #measurePrintHost .cut-table .size{font-size:9.5pt!important;font-weight:750!important}
  body.measure-top-print-mode #measurePrintHost .print-summary{display:flex!important;justify-content:flex-end!important;gap:20px!important;margin-top:7px!important;font-size:9pt!important}
  body.measure-top-print-mode #measurePrintHost .print-note{font-size:7.5pt!important;color:#777!important;margin-top:7px!important}
}
/* V14.5.2 iOS tap + order center polish */
button,[role="button"],.construction-document{-webkit-tap-highlight-color:rgba(200,160,106,.16);touch-action:manipulation}
.service-card-actions button,.popup-btn,#measureQuickPrintBtn,#measureDoPrintBtn{min-height:38px}
.order-center-card{background:#fff;border:1px solid #e4dfd7;border-left:3px solid #c8a06a;padding:16px 15px;margin-bottom:10px}
.order-center-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.order-center-head h4{font-size:17px;line-height:1.25;margin:0;font-weight:650;letter-spacing:.2px}
.order-center-nos{display:flex;flex-wrap:wrap;gap:5px 10px;margin-top:7px;color:#9f7948;font-size:10px;letter-spacing:.35px}
.order-center-status{flex:none;border:1px solid #ded5c8;padding:5px 8px;font-size:9px;color:#7d6547;background:#faf7f2}
.order-center-body{display:grid;grid-template-columns:1fr 1fr;gap:11px 14px;margin-top:16px;padding-top:14px;border-top:1px solid #eee9e2}
.order-center-field.wide{grid-column:1/-1}.order-center-field small{display:block;color:#aaa;font-size:9px;margin-bottom:4px}.order-center-field strong{font-size:13px;line-height:1.45;font-weight:560}.order-center-field .money{font-size:19px;font-weight:700;color:#111}
@media(max-width:640px){.order-center-card{padding:14px 13px}.order-center-head h4{font-size:16px}.order-center-body{grid-template-columns:1fr}.order-center-field.wide{grid-column:auto}.service-card-actions button{font-size:11px;padding:8px 11px}}

/* V14.6 global interaction feedback + task badges */
.panorama-global-feedback{position:fixed;z-index:999999;left:50%;top:max(14px,env(safe-area-inset-top));transform:translate(-50%,-18px);opacity:0;pointer-events:none;display:flex;align-items:center;gap:9px;background:rgba(18,18,18,.92);color:#fff;border:1px solid rgba(200,160,106,.55);border-radius:999px;padding:10px 15px;box-shadow:0 12px 35px rgba(0,0,0,.25);font-size:12px;transition:.18s ease}.panorama-global-feedback.show{opacity:1;transform:translate(-50%,0)}.panorama-feedback-spinner{width:13px;height:13px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#c8a06a;animation:panoramaSpin .72s linear infinite}@keyframes panoramaSpin{to{transform:rotate(360deg)}}
button,a,[onclick],[role=button]{-webkit-tap-highlight-color:rgba(200,160,106,.16);touch-action:manipulation}.panorama-pressed{transform:scale(.985)!important;filter:brightness(.92);transition:transform .06s ease,filter .06s ease}.panorama-action-pending{opacity:.72!important;cursor:wait!important}
.portal-notification-button{position:relative;border:1px solid rgba(200,160,106,.42);background:transparent;color:#c8a06a;padding:8px 10px;font-size:10px;display:flex;align-items:center;gap:5px}.notification-badge{position:absolute;display:flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#d53131;color:white;font-style:normal;font-weight:800;font-size:10px;line-height:1;box-shadow:0 0 0 2px #161616}.portal-notification-button .notification-badge{right:-7px;top:-8px}.entry-card{position:relative}.entry-notification-badge{right:13px;top:13px}.entry-notification-badge[hidden],.notification-badge[hidden]{display:none!important}
.notification-center{max-width:620px}.notification-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid #eee;padding-bottom:12px}.notification-title small{letter-spacing:.18em;color:#a37a45}.notification-title h3{margin:5px 0 0}.notification-read-all{border:1px solid #d8d2c8;background:#fff;padding:8px 10px}.notification-list{display:grid;gap:8px;max-height:62vh;overflow:auto;margin-top:12px}.notification-item{width:100%;border:1px solid #e4e0d9;background:#fff;text-align:left;padding:12px;display:grid;grid-template-columns:8px 1fr;gap:11px}.notification-item>i{width:8px;height:8px;border-radius:50%;background:#c8a06a;margin-top:5px}.notification-item.read{opacity:.58}.notification-item.read>i{background:#ccc}.notification-item b,.notification-item span,.notification-item small{display:block}.notification-item b{font-size:13px}.notification-item span{font-size:11px;color:#666;margin-top:4px}.notification-item small{font-size:9px;color:#aaa;margin-top:6px}
@media(max-width:600px){.portal-notification-button{padding:7px 8px}.portal-notification-button>span:not(.portal-bell){display:none}.notification-center{max-width:none}.panorama-global-feedback{max-width:82vw;white-space:nowrap}}
/* V14.7 CORE 1.0 UX cleanup: interaction feedback must not resize legacy controls */
.service-card-actions button,.popup-btn,#measureQuickPrintBtn,#measureDoPrintBtn{min-height:0}
.notification-title-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.notification-clear-handled{border:1px solid #d8d2c8;background:#171717;color:#d4ad77;padding:8px 10px}.notification-clear-handled:disabled{opacity:.35}.notification-row{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:stretch}.notification-delete-one{border:1px solid #e4d4d4;background:#fff;color:#a44;padding:0 10px;font-size:10px}.notification-item.handled{opacity:.55}.notification-item.handled>i{background:#aaa}.notification-item.pending>i{background:#c8a06a}
@media(max-width:600px){.service-card-actions button{min-height:0!important;padding:7px 9px!important;font-size:10px!important}.notification-title{align-items:stretch;flex-direction:column}.notification-title-actions{justify-content:flex-start}}

/* CORE 1.0 STABILITY A: background reads are intentionally silent. */
.panorama-silent-loading{min-height:18px;opacity:0;pointer-events:none}


/* INVENTORY 1.0A */
.inventory-filterbar{align-items:center;gap:10px;flex-wrap:wrap}
.inventory-model-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:14px 0 20px}
.inventory-model-chip{border:1px solid #e9e9e9;border-radius:14px;padding:12px 14px;background:#fff;display:flex;flex-direction:column;gap:5px}
.inventory-model-chip b{font-size:13px;color:#161616}
.inventory-model-chip span{font-size:11px;color:#777}
.inventory-textarea{min-height:150px;resize:vertical;line-height:1.7}
.inventory-roll-selector{max-height:320px;overflow:auto;border:1px solid #e8e8e8;border-radius:14px;padding:8px;background:#fafafa;margin-top:8px}
.inventory-roll-option{display:flex;align-items:flex-start;gap:10px;padding:10px;border-bottom:1px solid #ececec;cursor:pointer}
.inventory-roll-option:last-child{border-bottom:0}
.inventory-roll-option input{margin-top:3px}
.inventory-roll-option span{display:flex;flex-direction:column;gap:3px;min-width:0}
.inventory-roll-option b{font-size:13px;color:#111}
.inventory-roll-option small{font-size:11px;color:#777;line-height:1.5}
.inventory-movement-value{font-size:12px;font-weight:700;padding:5px 9px;border-radius:999px;background:#f3f3f3;color:#333}
.inventory-movement-value.positive{background:#eef8f0}
.inventory-movement-value.negative{background:#fff1f0}
@media(max-width:680px){
  .inventory-model-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .inventory-filterbar .service-filter-search{width:100%;max-width:none}
  .inventory-roll-selector{max-height:280px}
}


/* DATA CENTER 2.0A */
.analytics2-shell{display:flex;flex-direction:column;gap:18px}
.analytics2-periodbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid #eee}
.analytics2-custom-dates{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.analytics2-custom-dates input{border:1px solid #ddd;border-radius:10px;padding:9px 10px;background:#fff;font-size:12px}
.analytics2-custom-dates button{border:0;background:#111;color:#fff;border-radius:10px;padding:9px 14px}
.analytics2-period-label{margin-left:auto;font-size:11px;color:#777}
.analytics2-tabs{display:flex;gap:8px;overflow:auto;padding-bottom:4px}
.analytics2-tabs button{flex:0 0 auto;border:1px solid #ddd;background:#fff;color:#444;border-radius:10px;padding:10px 14px;font-size:12px}
.analytics2-tabs button.active{background:#111;color:#fff;border-color:#111}
.analytics2-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.analytics2-kpi{background:#fff;border:1px solid #e8e8e8;border-radius:14px;padding:14px 15px;min-height:88px;display:flex;flex-direction:column;justify-content:center}
.analytics2-kpi small{font-size:10px;color:#777}
.analytics2-kpi b{font-size:21px;font-weight:650;margin-top:7px;letter-spacing:-.3px}
.analytics2-kpi span{font-size:10px;color:#999;margin-top:5px;line-height:1.4}
.analytics2-panel{border:1px solid #e9e9e9;border-radius:16px;background:#fff;padding:16px;margin-top:14px}
.analytics2-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.analytics2-panel-head h3{margin:0;font-size:15px}
.analytics2-panel-head p{margin:5px 0 0;color:#888;font-size:10px;line-height:1.5}
.analytics2-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.analytics2-quality{border:1px solid #eadfcf;background:#fbf8f3;border-radius:14px;padding:14px 16px;margin-top:14px}
.analytics2-quality b{font-size:13px}
.analytics2-quality p{font-size:11px;line-height:1.7;margin:7px 0;color:#555}
.analytics2-quality span{font-size:10px;color:#8a765a}
.analytics2-crm-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}
.analytics2-crm-strip>div{border:1px solid #eee;border-radius:12px;padding:12px}
.analytics2-crm-strip small{font-size:9px;color:#888;display:block}
.analytics2-crm-strip b{font-size:18px;display:block;margin-top:5px}
.analytics2-crm-placeholder{border:1px dashed #d8d8d8;border-radius:14px;padding:18px;background:#fafafa}
.analytics2-crm-placeholder.large{padding:28px}
.analytics2-crm-placeholder b{font-size:13px}
.analytics2-crm-placeholder p{font-size:11px;line-height:1.8;color:#666;margin:8px 0 0}
.analytics2-future-flow{margin-top:14px;padding:12px 14px;border-radius:10px;background:#111;color:#fff;font-size:11px;letter-spacing:.2px}
.analytics2-rank{display:flex;flex-direction:column;gap:11px}
.analytics2-rank-row{display:flex;gap:10px;align-items:center}
.analytics2-rank-no{width:22px;height:22px;border-radius:50%;background:#f1f1f1;display:flex;align-items:center;justify-content:center;font-size:9px;color:#666;flex:0 0 22px}
.analytics2-rank-main{min-width:0;flex:1}
.analytics2-rank-label{display:flex;justify-content:space-between;gap:10px;align-items:center}
.analytics2-rank-label b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.analytics2-rank-label span{font-size:10px;color:#777;white-space:nowrap}
.analytics2-bar{height:5px;border-radius:999px;background:#eee;margin-top:6px;overflow:hidden}
.analytics2-bar i{display:block;height:100%;background:#C8A06A;border-radius:999px}
.analytics2-trend{overflow:auto;padding-bottom:4px}
.analytics2-legend{display:flex;gap:16px;font-size:9px;color:#777;margin-bottom:12px}
.analytics2-legend span{display:flex;align-items:center;gap:5px}.analytics2-legend i{width:8px;height:8px;background:#111;border-radius:2px}
.analytics2-trend-row{display:grid;grid-template-columns:82px minmax(120px,1fr) 74px;gap:10px;align-items:end;min-width:330px;border-bottom:1px solid #f1f1f1;padding:7px 0}
.analytics2-trend-row small{font-size:9px;color:#777}
.analytics2-trend-row>b{font-size:9px;text-align:right;color:#666}
.analytics2-trend-bars{height:54px;display:flex;align-items:flex-end;gap:4px}
.analytics2-trend-bars i{width:18%;max-width:34px;min-height:2px;background:#111;border-radius:4px 4px 0 0}
.analytics2-trend-bars i:nth-child(2){background:#C8A06A}.analytics2-trend-bars i:nth-child(3){background:#aaa}
.analytics2-table-wrap{overflow:auto;border:1px solid #eee;border-radius:12px}
.analytics2-table{width:100%;border-collapse:collapse;min-width:820px;font-size:10px}
.analytics2-table th{position:sticky;top:0;background:#111;color:#fff;text-align:left;padding:10px 11px;white-space:nowrap;font-weight:550}
.analytics2-table td{padding:10px 11px;border-bottom:1px solid #eee;vertical-align:top;line-height:1.5}
.analytics2-table tr:last-child td{border-bottom:0}
.analytics2-cell-sub{display:block;color:#999;font-size:9px;margin-top:3px}
.analytics2-note{border:1px solid #eee;border-radius:12px;padding:15px;min-height:120px}
.analytics2-note b{font-size:12px}.analytics2-note p{font-size:10px;line-height:1.7;color:#666;margin:8px 0 0}
.analytics2-report-hero{background:#111;color:#fff;border-radius:16px;padding:24px;margin-bottom:14px;border-bottom:3px solid #C8A06A}
.analytics2-report-hero small{color:#C8A06A;font-size:9px;letter-spacing:2px}.analytics2-report-hero h3{font-size:20px;margin:7px 0}.analytics2-report-hero p{font-size:10px;color:#bbb;margin:0;line-height:1.6}
.analytics2-report-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.analytics2-report-grid button{border:1px solid #e6e6e6;background:#fff;border-radius:14px;padding:18px;text-align:left;display:flex;flex-direction:column;gap:7px}
.analytics2-report-grid button b{font-size:13px}.analytics2-report-grid button span{font-size:10px;color:#777;line-height:1.5}
.analytics2-export-filters{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.analytics2-export-filters>div{display:flex;flex-direction:column;gap:5px}.analytics2-export-filters label{font-size:9px;color:#777}
.analytics2-export-filters input,.analytics2-export-filters select{border:1px solid #ddd;border-radius:10px;padding:9px 10px;font-size:11px;background:#fff;min-width:0}
.analytics2-export-grid{margin-top:14px}
.analytics2-preview-table{overflow:auto;max-height:58vh;border:1px solid #e8e8e8;border-radius:14px}
.analytics2-preview-table table{width:100%;border-collapse:collapse;min-width:900px}
.analytics2-preview-table th{position:sticky;top:0;background:#111;color:#fff;text-align:left;padding:11px 12px;font-size:11px;white-space:nowrap}
.analytics2-preview-table td{padding:10px 12px;border-bottom:1px solid #eee;font-size:11px;vertical-align:top}
@media(max-width:900px){
  .analytics2-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .analytics2-grid-2{grid-template-columns:1fr}
  .analytics2-crm-strip{grid-template-columns:repeat(3,1fr)}
  .analytics2-export-filters{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .analytics2-periodbar{align-items:flex-start}
  .analytics2-period-label{width:100%;margin-left:0}
  .analytics2-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .analytics2-kpi{min-height:76px;padding:12px}.analytics2-kpi b{font-size:18px}
  .analytics2-crm-strip{grid-template-columns:repeat(2,1fr)}
  .analytics2-report-grid{grid-template-columns:1fr}
  .analytics2-export-filters{grid-template-columns:1fr}
  .analytics2-panel{padding:13px}
  .analytics2-tabs{margin-left:-2px;margin-right:-2px}
}


.analytics2-dashboard-head{display:flex;justify-content:space-between;gap:22px;align-items:flex-end;background:#111;color:#fff;border-radius:18px;padding:24px 26px;margin-bottom:14px;border-bottom:3px solid #C8A06A}
.analytics2-dashboard-head small{display:block;color:#C8A06A;font-size:9px;letter-spacing:2px}.analytics2-dashboard-head h3{font-size:25px;margin:7px 0}.analytics2-dashboard-head p{color:#aaa;font-size:10px;margin:0}
.analytics2-dashboard-head>div:last-child{text-align:right}.analytics2-dashboard-head>div:last-child span{display:block;color:#aaa;font-size:9px}.analytics2-dashboard-head>div:last-child b{display:block;font-size:25px;margin:4px 0}.analytics2-dashboard-head>div:last-child small{letter-spacing:0;color:#bbb}
.analytics2-order-trend{display:flex;align-items:flex-end;gap:10px;min-height:210px;overflow-x:auto;padding:14px 2px 0}
.analytics2-order-trend>div{display:grid;grid-template-rows:145px auto auto;gap:5px;min-width:56px;flex:1;text-align:center}.analytics2-order-trend>div>span{display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid #ddd}.analytics2-order-trend i{display:block;width:24px;min-height:3px;background:linear-gradient(#C8A06A,#111);border-radius:6px 6px 0 0}.analytics2-order-trend b{font-size:9px}.analytics2-order-trend small{font-size:8px;color:#777;white-space:nowrap}
.analytics2-funnel{display:flex;flex-direction:column;gap:8px}.analytics2-funnel>div{width:var(--funnel-width);min-width:220px;max-width:100%;display:grid;grid-template-columns:25px 1fr auto;gap:9px;align-items:center;background:#111;color:#fff;border-left:4px solid #C8A06A;padding:10px 12px;border-radius:0 8px 8px 0}.analytics2-funnel span{color:#C8A06A;font-size:9px}.analytics2-funnel b{font-size:11px}.analytics2-funnel strong{font-size:14px}
.analytics2-alerts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.analytics2-alerts>div{border:1px solid #e7e4df;border-radius:11px;padding:11px;background:#faf9f7;display:grid;grid-template-columns:1fr auto;gap:4px}.analytics2-alerts small{font-size:9px;color:#666}.analytics2-alerts b{font-size:17px}.analytics2-alerts span{grid-column:1/-1;font-size:8px;color:#999}.analytics2-alerts .warning{border-color:#e6c498;background:#fff8ec}.analytics2-alerts .warning b{color:#9c5c10}.analytics2-alerts .ok b{color:#3d8050}
.analytics2-health{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:10px}.analytics2-health.health-good{background:#eaf6ed;color:#2f7540}.analytics2-health.health-watch{background:#fff3dc;color:#8b5c17}.analytics2-health.health-low{background:#f6e7e7;color:#963e3e}
@media(max-width:600px){.analytics2-dashboard-head{align-items:flex-start;padding:19px;flex-direction:column}.analytics2-dashboard-head>div:last-child{text-align:left}.analytics2-dashboard-head h3{font-size:22px}.analytics2-alerts{grid-template-columns:1fr}.analytics2-order-trend>div{min-width:68px}.analytics2-funnel>div{min-width:185px}}

/* MATERIAL INVENTORY 1.0A + DATA CENTER 2.2 */
.inventory-material-divider{margin:34px 0 18px;padding:22px 24px;background:#111;color:#fff;border-radius:18px;border-bottom:3px solid #C8A06A}
.inventory-material-divider small{font-size:9px;letter-spacing:2px;color:#C8A06A}
.inventory-material-divider h3{margin:7px 0 5px;font-size:20px;font-weight:560}
.inventory-material-divider p{margin:0;color:#bbb;font-size:11px;line-height:1.65}
.material-ship-option{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:10px;align-items:center;padding:10px;border-bottom:1px solid #ececec}
.material-ship-option:last-child{border-bottom:0}
.material-ship-option label{display:flex;gap:10px;align-items:flex-start;cursor:pointer}
.material-ship-option label input{margin-top:4px}
.material-ship-option label span{display:flex;flex-direction:column;gap:3px;min-width:0}
.material-ship-option label b{font-size:12px}
.material-ship-option label small{font-size:10px;color:#777}
.material-ship-qty{width:100%;border:1px solid #ddd;border-radius:9px;padding:8px 9px;font-size:11px}
.analytics2-inventory-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.analytics2-inventory-actions button{border:1px solid #e5e5e5;border-radius:14px;background:#fff;padding:17px 18px;text-align:left;display:flex;flex-direction:column;gap:6px}
.analytics2-inventory-actions button.primary{background:#111;color:#fff;border-color:#111}
.analytics2-inventory-actions button b{font-size:13px}
.analytics2-inventory-actions button span{font-size:10px;color:#888;line-height:1.5}
.analytics2-inventory-actions button.primary span{color:#bbb}
.analytics2-detail-actions{margin-top:12px;display:flex;gap:10px}
@media(max-width:680px){
  .material-ship-option{grid-template-columns:minmax(0,1fr) 86px}
  .analytics2-inventory-actions{grid-template-columns:1fr}
}

/* CORE 1.1: phone, tablet and desktop use distinct workspace layouts. */
.product-nav button{flex:none;text-decoration:none;color:#666;background:#fff;border:1px solid #e4dfd7;padding:8px 11px;font:inherit;font-size:10px;letter-spacing:.7px;cursor:pointer}
html,body{width:100%;min-height:100%;overflow-x:hidden}
body{padding-bottom:0}
#quotePage{padding-bottom:260px}
img,video{max-width:100%;height:auto}
input,select,textarea{min-width:0}

@media (min-width:760px) and (max-width:1099px){
  .portal-shell{max-width:1040px;padding:30px 34px 28px}
  .portal-hero{padding:7vh 0 5vh;max-width:720px}
  .portal-hero h1{font-size:clamp(40px,6vw,56px)}
  .entry-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%}
  .entry-card{min-height:132px;padding:18px 16px}
  .entry-title{margin-top:28px}
  .portal-page .entry-card:last-child:nth-child(odd){grid-column:auto}
  .service-hero,.service-shell,.product-intro,.product-nav,.series-list,.parameter-guide,.warranty-band{max-width:calc(100vw - 56px)}
}

@media (min-width:1100px){
  .service-shell{max-width:1120px;padding:20px 24px 34px}
  .service-hero>div{max-width:1120px;margin:0 auto}
  .popup-content.popup-wide{width:min(1040px,calc(100vw - 72px));max-width:1040px}
  .service-action-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .service-action.wide-action{grid-column:span 2}
  .portal-shell{width:100%;max-width:1480px;min-height:100vh;min-height:100dvh;padding:34px clamp(42px,5vw,82px) 30px;display:grid;grid-template-columns:minmax(300px,.78fr) minmax(660px,1.55fr);grid-template-rows:auto minmax(0,1fr) auto;column-gap:clamp(44px,6vw,96px);row-gap:24px}
  .portal-top{grid-column:1/-1;grid-row:1}
  .portal-hero{grid-column:1;grid-row:2;align-self:center;padding:0;max-width:520px}
  .portal-kicker{font-size:11px;letter-spacing:3.6px;margin-bottom:24px}
  .portal-hero h1{font-size:clamp(48px,4.6vw,72px);line-height:1.12;letter-spacing:1px}
  .portal-desc{font-size:13px;line-height:2;margin-top:26px}
  .entry-grid{grid-column:2;grid-row:2;align-self:center;margin:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
  .entry-card{min-height:148px;padding:19px 17px;background:rgba(255,255,255,.052)}
  .entry-card:hover{transform:translateY(-2px);border-color:rgba(200,160,106,.58);background:rgba(255,255,255,.075)}
  .entry-title{font-size:17px;margin-top:34px}
  .portal-page .entry-card:last-child:nth-child(odd){grid-column:auto;min-height:148px}
  .portal-foot{grid-column:1/-1;grid-row:3;margin-top:0;padding-top:2px}
  .service-hero,.service-shell,.product-intro,.product-nav,.series-list,.parameter-guide,.warranty-band{max-width:1180px}
  .popup-wide{max-width:min(980px,calc(100vw - 64px))}
}

@media (max-width:759px){
  .portal-shell{padding-top:calc(22px + env(safe-area-inset-top));padding-bottom:calc(20px + env(safe-area-inset-bottom))}
  .popup-overlay{padding:8px;padding-top:max(8px,env(safe-area-inset-top));padding-bottom:max(8px,env(safe-area-inset-bottom))}
  .popup-content{max-height:92vh;max-height:92dvh;padding:17px 14px}
  .popup-input,.form-select,.form-input,.form-textarea{font-size:16px}
  .scheme-manage-item{grid-template-columns:25px minmax(0,1fr)}
  .scheme-manage-item .scheme-actions{grid-column:2;flex-wrap:wrap}
}

@media (max-width:420px){
  .service-action-grid{grid-template-columns:1fr}
  .summary-row{grid-template-columns:1fr 1fr}
}

/* CORE 1.2 · CRM 1.3 */
.crm-shell{padding-bottom:48px}.crm-stats{grid-template-columns:repeat(6,minmax(0,1fr))}.crm-filterbar{align-items:center;flex-wrap:wrap}.crm-filterbar .service-filter-tabs{flex:1 1 620px}.crm-filterbar .service-filter-search{min-width:180px}.service-search-button{border:0;background:#111;color:#fff;padding:11px 20px;border-radius:8px;cursor:pointer}.crm-lead-card{cursor:pointer;transition:.18s ease;border-left-width:4px}.crm-lead-card:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(0,0,0,.06)}.crm-lead-card.priority-urgent{border-left-color:#c83c3c}.crm-lead-card.priority-high{border-left-color:#d48a36}.crm-card-top,.crm-detail-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.crm-card-top small,.crm-detail-head small{color:#8c7658;font-size:10px;letter-spacing:.4px}.crm-card-top h4{font-size:18px;margin:6px 0 0}.crm-stage{flex:0 0 auto;border-radius:999px;padding:7px 11px;background:#eee;color:#555;font-size:10px}.crm-stage.stage-won{background:#e7f5ea;color:#28743a}.crm-stage.stage-lost{background:#f1f1f1;color:#888}.crm-stage.stage-new{background:#fff1db;color:#8a5b1a}.crm-stage.stage-negotiation,.crm-stage.stage-quoted{background:#e9efff;color:#385da8}.crm-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.crm-card-grid span,.crm-detail-meta>div{display:flex;flex-direction:column;gap:5px;color:#444;font-size:12px}.crm-card-grid b,.crm-detail-meta b{color:#999;font-size:9px;font-weight:500}.crm-card-address{padding:10px 12px;background:#f7f5f1;color:#5d5a55;font-size:11px;border-radius:8px}.crm-card-foot{display:flex;justify-content:space-between;gap:12px;margin-top:13px;color:#777;font-size:10px}.crm-card-foot.overdue{color:#b22b2b;font-weight:650}.crm-popup-title small{letter-spacing:2px;color:#aa8452}.crm-popup-title h3{font-size:25px;margin:6px 0 20px}.crm-detail-head h3{font-size:27px;margin:6px 0}.crm-detail-head p{color:#777;font-size:12px}.crm-detail-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#e8e5df;margin:22px 0}.crm-detail-meta>div{background:#faf9f6;padding:14px}.crm-detail-actions{display:flex;gap:8px;flex-wrap:wrap}.crm-detail-actions button{border:1px solid #ddd;background:#fff;padding:9px 13px;border-radius:8px}.crm-detail-actions button.primary{background:#111;color:#fff;border-color:#111}.crm-detail-actions button.danger{color:#b22b2b;border-color:#e4b3b3}.crm-timeline-title{margin:28px 0 14px}.crm-timeline{border-top:1px solid #eee}.crm-timeline-item{display:grid;grid-template-columns:16px 1fr;gap:10px;padding:15px 0;border-bottom:1px solid #eee}.crm-timeline-item i{width:8px;height:8px;margin-top:5px;border-radius:50%;background:#c8a06a}.crm-timeline-item b{font-size:11px}.crm-timeline-item p{font-size:12px;line-height:1.7;margin:6px 0;color:#393939}.crm-timeline-item small{font-size:9px;color:#999}.crm-small-popup{max-width:520px}
@media(max-width:900px){.crm-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.crm-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.crm-filterbar .service-filter-tabs{flex:0 0 auto;width:100%;height:auto;min-height:0;align-items:center}.crm-filterbar .service-filter-tabs button{height:auto;min-height:34px}}
@media(max-width:560px){.crm-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.crm-card-grid,.crm-detail-meta{grid-template-columns:1fr 1fr}.crm-card-foot{flex-direction:column}.crm-filterbar .service-filter-search{width:100%}.crm-detail-head h3{font-size:22px}}
.crm-operation-notice{display:flex;align-items:center;gap:12px;margin:12px 0;padding:13px 15px;border:1px solid #b9dbc1;background:#f0f8f2;color:#2d6d3d}.crm-operation-notice[hidden]{display:none}.crm-operation-notice b{white-space:nowrap}.crm-operation-notice span{font-size:11px}.crm-operation-notice.warning{border-color:#e1c38f;background:#fff8eb;color:#855a1f}.crm-workflow-hint{display:flex;gap:10px;align-items:flex-start;margin:12px 0;padding:12px 14px;background:#f7f4ee;border-left:3px solid #c8a06a;color:#63594c}.crm-workflow-hint b{white-space:nowrap}.crm-workflow-hint span{font-size:10px;line-height:1.65}.crm-popup-title p{margin:-12px 0 20px;color:#777;font-size:11px;line-height:1.7}.crm-field-hint{display:block;margin-top:5px;color:#999;font-size:9px;line-height:1.5}.crm-stage-track{display:flex;gap:6px;overflow-x:auto;margin:18px 0;padding-bottom:4px;scrollbar-width:none}.crm-stage-track::-webkit-scrollbar{display:none}.crm-stage-track span{flex:none;padding:6px 9px;border:1px solid #ded9d1;background:#faf9f7;color:#8b8175;font-size:9px;border-radius:999px}.crm-stage-track span.current{border-color:#171717;background:#171717;color:#d4ad77}.crm-stage-track span.result.won{border-color:#b9d5bf;color:#347445}.crm-stage-track span.result.lost{border-color:#dfc4c4;color:#9b3c3c}.crm-stage-track span.result.current{color:#fff}.crm-stage-track span.result.won.current{background:#347445}.crm-stage-track span.result.lost.current{background:#9b3c3c}.crm-result-note{display:flex;flex-direction:column;gap:5px;margin:12px 0;padding:12px 14px;border-radius:8px;font-size:11px}.crm-result-note.won{background:#eef8f0;color:#2f7040}.crm-result-note.lost{background:#fff1f1;color:#8d3535}.crm-detail-actions button.crm-win{border-color:#9ac8a4;color:#26723a}.crm-detail-actions button.crm-lose{border-color:#ddb1b1;color:#a03232}@media(max-width:560px){.crm-operation-notice,.crm-workflow-hint{flex-direction:column;gap:5px}.crm-detail-actions button{flex:1 1 calc(50% - 8px)}.crm-stage-track{margin-left:-2px;margin-right:-2px}}
.crm-business-panel{margin:18px 0 22px;padding:16px;border:1px solid #e4ded4;background:#fbfaf7;border-radius:12px}.crm-business-title{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}.crm-business-title small{color:#a17a49;letter-spacing:1.5px;font-size:8px}.crm-business-title h4{margin:4px 0 0;font-size:16px}.crm-business-title>span{font-size:9px;color:#888}.crm-business-actions{display:flex;gap:8px;flex-wrap:wrap;margin:13px 0}.crm-business-actions button{border:1px solid #d8d1c6;background:#fff;padding:9px 13px;border-radius:8px;font-size:11px}.crm-business-actions button.primary{background:#111;color:#fff;border-color:#111}.crm-business-actions>span{font-size:10px;color:#999}.crm-business-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.crm-business-card{display:flex;flex-direction:column;align-items:flex-start;gap:5px;border:1px solid #e4e0da;background:#fff;border-radius:9px;padding:11px 12px;text-align:left}.crm-business-card small{font-size:8px;color:#9a805d}.crm-business-card b{font-size:11px}.crm-business-card span{font-size:9px;color:#777}.crm-business-empty{grid-column:1/-1;border:1px dashed #d9d2c7;padding:14px;color:#888;font-size:10px;line-height:1.7;text-align:center}@media(max-width:560px){.crm-business-list{grid-template-columns:1fr}.crm-business-title{align-items:flex-start;flex-direction:column}.crm-business-actions button{flex:1 1 calc(50% - 4px)}}
.crm-lead-card.is-archived{opacity:.86;border-left-color:#777}.crm-stage.stage-archived{background:#eee;color:#555;border-color:#ccc}.crm-archive-notice{display:flex;gap:12px;align-items:flex-start;margin:18px 0;padding:14px 16px;background:#f3f1ed;border-left:4px solid #777}.crm-archive-notice b{white-space:nowrap}.crm-archive-notice span{color:#666;line-height:1.6}
