:root{--bg:#0b1118;--s1:#131c28;--s2:#1a2636;--s3:#203044;--b:rgba(46,168,229,.16);--bb:rgba(46,168,229,.36);--a:#2EA8E5;--a2:#1565C0;--ag:rgba(46,168,229,.24);--ad:rgba(46,168,229,.1);--g:#4CAF50;--gd:rgba(76,175,80,.12);--am:#F59E0B;--amd:rgba(245,158,11,.12);--r:#ef6b6b;--rd:rgba(239,107,107,.1);--t:#e6eef5;--tm:#7b8a9a;--tb:#f8fbfd;--rad:12px;--rads:8px;--fa:"SF Pro Text","SF Pro Arabic","SF Pro Display",-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;--fe:"SF Pro Text","SF Pro Arabic","SF Pro Display",-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;--fm:"SF Pro Text","SF Pro Arabic","SF Pro Display",-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;}

body.light-theme{--bg:#F7FAFC;--s1:#FFFFFF;--s2:#F4F9FC;--s3:#EEF6FB;--b:rgba(226,232,240,.95);--bb:rgba(46,168,229,.24);--a:#2EA8E5;--a2:#1565C0;--ag:rgba(46,168,229,.16);--ad:rgba(46,168,229,.08);--g:#B8F75A;--gd:rgba(184,247,90,.14);--am:#F5A623;--amd:rgba(245,166,35,.14);--r:#D14343;--rd:rgba(209,67,67,.08);--t:#333333;--tm:#64748B;--tb:#1F2937;}
body.light-theme::before{background-image:linear-gradient(rgba(46,168,229,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(46,168,229,.04) 1px,transparent 1px);}
body.light-theme::after{background:radial-gradient(circle,rgba(46,168,229,.05) 0%,transparent 70%);}
body.light-theme .dd-menu{box-shadow:0 8px 32px rgba(0,0,0,.12);}
body.light-theme .modal-box{box-shadow:0 16px 48px rgba(0,0,0,.15);}
body.light-theme .toast{box-shadow:0 4px 20px rgba(0,0,0,.12);}
*{margin:0;padding:0;box-sizing:border-box;}
body{background:var(--bg);color:var(--t);font-family:var(--fa);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"kern" 1;}
body::before{content:'';position:fixed;inset:0;background-image:linear-gradient(rgba(56,189,248,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(56,189,248,.03) 1px,transparent 1px);background-size:40px 40px;pointer-events:none;z-index:0;}
body::after{content:'';position:fixed;top:-200px;right:-200px;width:600px;height:600px;background:radial-gradient(circle,rgba(56,189,248,.08) 0%,transparent 70%);pointer-events:none;z-index:0;}
.app{position:relative;z-index:1;max-width:480px;margin:0 auto;padding:16px;padding-bottom:120px;}
.header{display:flex;align-items:center;justify-content:space-between;padding:10px 0 14px;}
.logo{display:flex;align-items:center;gap:10px;}
.logo-icon{width:40px;height:40px;background:linear-gradient(135deg,var(--a2),var(--a));border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 0 20px var(--ag);}
.logo-text{font-family:var(--fe);font-size:22px;font-weight:700;color:var(--tb);letter-spacing:1px;}
.logo-text span{color:var(--a);}
.logo-sub{font-size:10px;color:var(--tm);letter-spacing:2px;font-family:var(--fe);text-transform:uppercase;}
.lang-btn{background:var(--s2);border:1px solid var(--b);color:var(--t);padding:8px 14px;border-radius:20px;cursor:pointer;font-family:var(--fe);font-size:13px;font-weight:600;transition:all .2s;}
.lang-btn:hover{border-color:var(--a);color:var(--a);}
.dash{background:var(--s1);border:1px solid var(--b);border-radius:var(--rad);padding:18px;margin-bottom:10px;position:relative;overflow:hidden;}
.dash::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--a),transparent);}
.dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.met{background:var(--s2);border:1px solid var(--b);border-radius:var(--rads);padding:12px;}
.met.p{background:linear-gradient(135deg,rgba(14,165,233,.1),rgba(56,189,248,.05));border-color:rgba(56,189,248,.3);}
.met.g{background:var(--gd);border-color:rgba(52,211,153,.2);}
.met.am{background:var(--amd);border-color:rgba(251,191,36,.2);}
.met-lbl{font-size:10px;color:var(--tm);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:4px;font-family:var(--fe);}
.met-val{font-family:var(--fe);font-size:26px;font-weight:700;color:var(--tb);line-height:1;transition:opacity .15s;}
.met-val.fade{opacity:0;}
.met.p .met-val{color:var(--a);}
.met.g .met-val{color:var(--g);}
.met.am .met-val{color:var(--am);}
.met-unit{font-size:11px;color:var(--tm);font-family:var(--fe);margin-top:3px;}
.card{background:var(--s1);border:1px solid var(--b);border-radius:var(--rad);padding:16px;margin-bottom:10px;}
.sec-ttl{font-size:11px;letter-spacing:2px;color:var(--tm);text-transform:uppercase;margin-bottom:14px;font-family:var(--fe);display:flex;align-items:center;gap:8px;}
.sec-ttl::after{content:'';flex:1;height:1px;background:var(--b);}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;}
.room-top-row{grid-template-columns:minmax(148px,1fr) minmax(84px,98px) minmax(84px,98px);align-items:end;}
.load-factor-row{
  align-items:end;
  grid-template-columns:minmax(148px,.9fr) minmax(180px,1.1fr);
  gap:12px;
}
.load-factor-row>div{min-width:0;}
.load-factor-row .lbl{
  font-size:10.5px;
  color:var(--tm);
}
.load-factor-row .ifield-wrap{
  min-height:42px;
  padding-inline:10px;
  justify-content:space-between;
  gap:10px;
}
.load-factor-preset-wrap{
  padding-inline:0 !important;
}
.load-factor-row .qs-sel{
  width:100%;
  min-height:40px;
  border:none;
  background:transparent;
  padding:0 12px;
  font-size:14px;
  font-weight:700;
  color:var(--tb);
}
.load-factor-row .ninput{
  font-size:16px;
  font-weight:700;
  text-align:center;
}
.load-factor-row .ninput.readonly-like{
  color:var(--a2);
  cursor:default;
}
.load-factor-value-wrap .unit-chip{
  font-size:10px;
  padding:3px 8px;
}
.calc-mode-note{
  margin:0 0 10px;
  padding:8px 12px;
  border-radius:10px;
  border:1px solid var(--b);
  background:var(--s2);
  font-size:11px;
  line-height:1.6;
  color:var(--tm);
}
.calc-mode-note strong{
  display:block;
  margin-bottom:2px;
  color:var(--tb);
  font-family:var(--fe);
  font-size:11px;
  font-weight:800;
}
.calc-mode-note.hc{
  background:linear-gradient(135deg,rgba(46,168,229,.08),rgba(184,247,90,.08));
  border-color:rgba(46,168,229,.22);
}
.calc-mode-note.rot{
  background:linear-gradient(135deg,rgba(184,247,90,.08),rgba(46,168,229,.05));
  border-color:rgba(184,247,90,.28);
}
.load-factor-helper{
  margin:-2px 0 10px;
  font-size:11px;
  color:var(--tm);
  padding:0 2px;
}
.fresh-air-row{
  margin-bottom:10px;
  grid-template-columns:minmax(220px,1fr);
}
.fresh-air-wrap{
  min-height:42px;
  padding-inline:0 !important;
}
.fresh-air-wrap .qs-sel{
  width:100%;
  min-height:40px;
  border:none;
  background:transparent;
  padding:0 12px;
  font-size:14px;
  font-weight:700;
  color:var(--tb);
}
.fresh-air-warning{
  background:linear-gradient(135deg,rgba(245,166,35,.10),rgba(245,166,35,.04));
  border-color:rgba(245,166,35,.28);
}
.room-top-row>div{min-width:0;}
.room-top-row .ifield-wrap,.room-top-row .dd-btn{min-height:40px;padding-inline:8px;}
.room-top-row .ninput{font-size:14px;}
.room-top-row .lbl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.room-top-row .dd-btn span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;}
.stepper-field{gap:0;padding-inline:0;background:transparent;border:0;box-shadow:none;}
.stepper-field .ninput{min-width:0;text-align:center;}
.stepper-buttons{display:flex;flex-direction:column;gap:2px;flex-shrink:0;}
.horizontal-stepper{width:100%;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:5px;}
.count-like-input{min-width:22px;max-width:22px;flex:0 0 22px;font-family:var(--fm);font-size:15px;font-weight:700;color:var(--tb);background:transparent;border:0;padding:0;text-align:center;}
.ifield-wrap.horizontal-stepper{justify-content:center;gap:10px;padding-inline:10px;}
.ifield-wrap.horizontal-stepper .ninput{caret-color:transparent;}
.count-like-btn{width:28px;height:28px;border-radius:6px;border:1px solid var(--b);background:var(--s3);color:var(--t);cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;user-select:none;transition:all .15s;flex-shrink:0;line-height:1;}
.count-like-btn:hover{border-color:var(--a);color:var(--a);}
.stepper-btn{width:18px;height:16px;border:0;background:var(--s3);color:var(--tm);border-radius:5px;font-size:8px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s;}
.stepper-btn:hover{background:var(--ad);color:var(--a);}
.stepper-btn:active{transform:scale(.95);}
.row1{margin-bottom:10px;}
.lbl{font-size:11px;color:var(--tm);margin-bottom:5px;font-family:var(--fe);}
.dim-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:10px;}
.dim-field,.calc-volume-wrap{justify-content:space-between;gap:8px;}
.dim-field .ninput,.calc-volume-wrap .ninput{text-align:center;min-width:0;}
.dim-grid>div{min-width:0;}
.dim-field{min-height:40px;padding-inline:8px;}
.dim-field .ninput{font-size:14px;}
.unit-chip{font-family:var(--fe);font-size:11px;font-weight:700;color:var(--a);background:var(--ad);border:1px solid rgba(56,189,248,.24);border-radius:4px;padding:2px 7px;line-height:1;white-space:nowrap;flex-shrink:0;}
.calculated-volume-input{color:var(--g);}
.calc-volume-wrap{background:linear-gradient(135deg,rgba(52,211,153,.1),rgba(52,211,153,.035)),var(--s2);}
[dir="rtl"] .room-card .lbl{text-align:right;}
[dir="rtl"] .calc-hero{direction:rtl;text-align:right;}
[dir="rtl"] .hero-steps{direction:rtl;}
[dir="rtl"] .results-dash,[dir="rtl"] .results-head,[dir="rtl"] .met{direction:rtl;text-align:right;}
[dir="rtl"] .met-val,[dir="rtl"] .met-unit{direction:ltr;text-align:right;}
.dd-wrap{position:relative;}
.dd-btn{background:var(--s2);border:1px solid var(--b);border-radius:var(--rads);padding:10px 12px;min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:6px;cursor:pointer;transition:all .2s;font-size:13px;color:var(--tb);}
.dd-btn.open{border-color:var(--a);box-shadow:0 0 0 2px var(--ag);}
.dd-arr{color:var(--tm);font-size:10px;transition:transform .2s;flex-shrink:0;}
.dd-btn.open .dd-arr{transform:rotate(180deg);}
.dd-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--s3);border:1px solid var(--bb);border-radius:var(--rads);z-index:300;display:none;max-height:260px;overflow-y:auto;box-shadow:0 8px 32px rgba(0,0,0,.5);}
.dd-menu.show{display:block;}
.dd-item{padding:10px 14px;font-size:13px;cursor:pointer;border-bottom:1px solid var(--b);display:flex;align-items:center;justify-content:space-between;gap:8px;transition:background .15s;}
.dd-item:last-child{border-bottom:none;}
.dd-item:hover,.dd-item.sel{background:var(--ad);color:var(--a);}
.dd-item-info{flex:1;}
.dd-item-sub{font-size:10px;color:var(--tm);margin-top:2px;font-family:var(--fe);}
.dd-badge{font-size:10px;font-family:var(--fe);background:var(--s2);border:1px solid var(--b);padding:2px 7px;border-radius:4px;color:var(--tm);flex-shrink:0;}
.dd-cat-hdr{padding:8px 14px 4px;font-size:10px;font-weight:700;letter-spacing:1.5px;color:var(--a);text-transform:uppercase;font-family:var(--fe);border-bottom:1px solid var(--b);margin-top:4px;background:rgba(56,189,248,.04);}
.dd-item.sel .dd-badge{background:var(--ad);color:var(--a);border-color:rgba(56,189,248,.3);}
.dev-list{display:flex;flex-direction:column;gap:8px;margin-bottom:10px;}
.dev-row{background:var(--s2);border:1px solid var(--b);border-radius:var(--rads);padding:10px 12px;display:flex;align-items:center;gap:8px;}
.dev-ico{font-size:22px;flex-shrink:0;}
.dev-info{flex:1;min-width:0;}
.dev-name{font-size:13px;font-weight:600;color:var(--tb);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dev-watt{font-size:11px;color:var(--tm);font-family:var(--fe);margin-top:1px;}
.dev-qty{display:flex;align-items:center;gap:5px;flex-shrink:0;}
.qbtn{width:28px;height:28px;border-radius:6px;border:1px solid var(--b);background:var(--s3);color:var(--t);cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;user-select:none;transition:all .15s;}
.qbtn:hover{border-color:var(--a);color:var(--a);}
.qnum{font-family:var(--fm);font-size:15px;font-weight:700;color:var(--tb);min-width:22px;text-align:center;}
.dev-btu{font-family:var(--fe);font-size:10px;color:var(--am);background:var(--amd);border:1px solid rgba(251,191,36,.2);padding:2px 6px;border-radius:4px;flex-shrink:0;white-space:nowrap;}
.dev-del{width:28px;height:28px;border-radius:6px;border:1px solid rgba(248,113,113,.2);background:var(--rd);color:var(--r);cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s;}
.dev-del:hover{background:rgba(248,113,113,.2);}
.dev-empty{text-align:center;color:var(--tm);padding:20px;font-size:13px;border:1px dashed var(--b);border-radius:var(--rads);}
.add-btn{width:100%;background:var(--s2);border:1px dashed var(--bb);border-radius:var(--rads);padding:11px;color:var(--a);font-size:14px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px;font-family:var(--fa);}
.add-btn:hover{background:var(--ad);}
.dev-total{background:var(--amd);border:1px solid rgba(251,191,36,.2);border-radius:var(--rads);padding:8px 12px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--am);margin-top:8px;}
.breakdown{display:none;}
.breakdown.show{display:block;}
.br-row{display:flex;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--b);}
.br-row:last-child{border-bottom:none;}
.br-lbl{font-size:13px;color:var(--tm);}
.br-val{font-family:var(--fm);font-size:14px;color:var(--tb);}
.badge{display:inline-block;padding:2px 7px;border-radius:4px;font-size:10px;font-family:var(--fe);font-weight:700;}
.ba{background:var(--ad);color:var(--a);border:1px solid rgba(56,189,248,.2);}
.bg{background:var(--gd);color:var(--g);border:1px solid rgba(52,211,153,.2);}
.bam{background:var(--amd);color:var(--am);border:1px solid rgba(251,191,36,.2);}
.hc-card{border-color:rgba(56,189,248,.35);background:linear-gradient(135deg,rgba(14,165,233,.07),rgba(56,189,248,.03));}
.hc-badge-row{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap;}
.hc-pill{padding:4px 10px;border-radius:20px;font-size:11px;font-family:var(--fe);font-weight:700;letter-spacing:.5px;}
.hc-pill.pos{background:rgba(52,211,153,.15);color:var(--g);border:1px solid rgba(52,211,153,.35);}
.hc-pill.neg{background:rgba(248,113,113,.12);color:var(--r);border:1px solid rgba(248,113,113,.3);}
.hc-pill.neu{background:var(--ad);color:var(--a);border:1px solid rgba(56,189,248,.3);}
.hc-meta{font-size:11px;color:var(--tm);font-family:var(--fe);background:var(--s2);padding:3px 8px;border-radius:6px;border:1px solid var(--b);}
.hist-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.hist-clr{background:none;border:1px solid rgba(248,113,113,.3);color:var(--r);padding:5px 12px;border-radius:6px;font-size:12px;cursor:pointer;font-family:var(--fa);transition:all .2s;}
.hist-clr:hover{background:rgba(248,113,113,.1);}
.calc-rooms-clear{min-width:38px;height:38px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:12px;font-size:16px;line-height:1;white-space:nowrap;}
.hist-item{background:var(--s2);border:1px solid var(--b);border-radius:var(--rads);padding:10px 12px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:6px;}
.hist-item:last-child{margin-bottom:0;}
.hist-main{flex:1;min-width:0;}
.hist-room{font-size:13px;font-weight:600;color:var(--tb);margin-bottom:2px;}
.hist-detail{font-size:11px;color:var(--tm);}
.hist-cfm{font-size:10px;color:var(--tm);margin-top:2px;font-family:var(--fe);}
.hist-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0;}
.hist-tr{font-family:var(--fm);font-size:15px;font-weight:700;color:var(--a);}
.hist-btu{font-size:10px;color:var(--tm);font-family:var(--fe);}
.hist-time{font-size:10px;color:var(--tm);margin-top:2px;}
.hist-empty{text-align:center;color:var(--tm);padding:24px;font-size:13px;}
.hist-actions{display:flex;gap:4px;margin-top:4px;}
.hact-btn{background:var(--s3);border:1px solid var(--b);border-radius:6px;padding:3px 8px;font-size:12px;cursor:pointer;color:var(--tm);transition:all .15s;}
.hact-btn:hover{border-color:var(--a);color:var(--a);}
.del-btn:hover{border-color:var(--r)!important;color:var(--r)!important;}
.room-count{display:inline-block;background:var(--ad);border:1px solid rgba(56,189,248,.3);color:var(--a);font-size:10px;font-family:var(--fe);padding:2px 7px;border-radius:10px;margin-right:8px;}
.calc-rooms-card{margin-top:10px;}
.calc-rooms-card #calc-rooms-title{font-size:20px;font-family:var(--fe);font-weight:700;letter-spacing:0;text-transform:none;line-height:1.1;}
.calc-rooms-card #calc-rooms-count{display:none;}
.calc-room-item:last-child{margin-bottom:0;}
.calc-room-item{padding:0;overflow:hidden;}
.calc-room-item.open{border-color:rgba(46,168,229,.35);box-shadow:0 10px 24px rgba(46,168,229,.08);}
.calc-room-toggle{width:100%;background:none;border:none;padding:12px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;text-align:inherit;cursor:pointer;color:inherit;font:inherit;}
.calc-room-toggle .hist-main,.calc-room-toggle .hist-right{pointer-events:none;}
.calc-room-toggle .hist-main{display:flex;flex-direction:column;gap:0;justify-content:center;}
.calc-room-toggle .hist-right{display:flex;align-items:center;gap:8px;justify-content:flex-end;}
.calc-room-chevron{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 10px;border-radius:12px;background:linear-gradient(135deg,rgba(46,168,229,.14),rgba(111,211,255,.22));border:1px solid rgba(46,168,229,.28);color:#1565C0;font-size:18px;font-weight:700;line-height:1;box-shadow:0 6px 16px rgba(46,168,229,.14);margin-top:2px;flex-shrink:0;}
.calc-room-item.open .calc-room-chevron{background:linear-gradient(135deg,#2EA8E5,#6FD3FF);color:#FFFFFF;border-color:rgba(46,168,229,.4);}
.calc-room-detail{border-top:1px solid var(--b);padding:12px;background:linear-gradient(180deg,rgba(46,168,229,.04),transparent);}
.calc-room-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.calc-room-detail-row{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;background:var(--s1);border:1px solid var(--b);border-radius:12px;padding:10px;min-width:0;min-height:96px;text-align:center;}
.calc-room-detail-row-wide{grid-column:auto;}
.calc-room-detail-lbl{font-size:10px;color:var(--tm);font-family:var(--fe);}
.calc-room-detail-val{font-size:12px;color:var(--tb);font-weight:600;word-break:break-word;line-height:1.45;}
.calc-room-detail-stat{align-items:center;justify-content:center;text-align:center;min-height:96px;}
.calc-room-detail-type .calc-room-detail-val,
.calc-room-detail-dims .calc-room-detail-val,
.calc-room-detail-equipment .calc-room-detail-val{text-align:center;line-height:1.5;}
.calc-room-detail-note{margin-top:8px;font-size:11px;color:var(--tm);padding:8px 10px;background:var(--s1);border:1px dashed var(--b);border-radius:10px;}
.calc-room-detail-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:10px;}
.calc-room-edit-btn,.calc-room-del-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:10px;font-weight:600;}
.calc-room-del-btn{border-color:rgba(248,113,113,.28);color:var(--r);}
.calc-room-del-btn:hover{border-color:var(--r)!important;color:var(--r)!important;background:var(--rd);}
@media (max-width: 640px){
  .calc-room-toggle{grid-template-columns:minmax(0,1fr) auto;}
  .calc-room-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .calc-room-detail-stat{min-height:68px;}
}
.quote-jump-btn{background:linear-gradient(135deg,rgba(52,211,153,.18),rgba(52,211,153,.08));border-color:rgba(52,211,153,.5);color:var(--g);}
.cum-card{background:linear-gradient(135deg,rgba(14,165,233,.12),rgba(56,189,248,.06));border:1px solid rgba(56,189,248,.4);border-radius:var(--rad);padding:14px;margin-bottom:10px;position:relative;overflow:hidden;}
.cum-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--a),transparent);}
.cum-ttl{font-size:11px;letter-spacing:2px;color:var(--a);text-transform:uppercase;margin-bottom:10px;font-family:var(--fe);}
.cum-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.cum-item{background:var(--s2);border:1px solid var(--b);border-radius:var(--rads);padding:10px;}
.cum-lbl{font-size:9px;color:var(--tm);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:3px;font-family:var(--fe);}
.cum-val{font-family:var(--fe);font-size:20px;font-weight:700;color:var(--a);}
.cum-unit{font-size:10px;color:var(--tm);font-family:var(--fe);margin-top:2px;}
/* QUOTATION */
.quote-card{background:linear-gradient(135deg,rgba(14,165,233,.08),rgba(56,189,248,.03));border:1px solid rgba(56,189,248,.35);border-radius:var(--rad);padding:18px;margin-bottom:10px;position:relative;overflow:hidden;}
.quote-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--a),transparent);}
.quote-page{display:flex;flex-direction:column;gap:10px;}
.quote-main-card{margin-bottom:0;}
.q-hdr-grid{display:grid;grid-template-columns:1.25fr .85fr;gap:12px;margin-bottom:16px;align-items:end;}
.quote-meta-row{align-items:stretch!important;}
.quote-header-tools-slot,
#quote-header-tools-slot{display:flex;flex-direction:column;gap:10px;margin-top:12px;}
.qi-list{display:flex;flex-direction:column;gap:10px;margin-bottom:14px;}
.qi-item{background:var(--s2);border:1px solid var(--b);border-radius:var(--rads);overflow:hidden;}
.qi-head{display:flex;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid var(--b);background:rgba(56,189,248,.04);}
.qi-num{font-family:var(--fm);font-size:11px;color:var(--a);font-weight:700;background:var(--ad);border:1px solid rgba(56,189,248,.25);padding:2px 7px;border-radius:4px;flex-shrink:0;}
.qi-name{font-size:13px;font-weight:600;color:var(--tb);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.qi-body{padding:10px 12px;}
.qi-tech{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:8px;}
.qi-stat{background:var(--s3);border:1px solid var(--b);border-radius:6px;padding:5px 4px;text-align:center;}
.qi-slbl{font-size:9px;color:var(--tm);text-transform:uppercase;letter-spacing:.8px;font-family:var(--fe);margin-bottom:2px;}
.qi-sval{font-family:var(--fm);font-size:11px;font-weight:700;color:var(--tb);}
.qi-sval.ca{color:var(--a);}
.qi-sval.cam{color:var(--am);}
.qi-sval.cg{color:var(--g);}
.qi-devline{font-size:10px;color:var(--am);margin-bottom:7px;padding:4px 8px;background:var(--amd);border-radius:5px;border:1px solid rgba(251,191,36,.15);}
.qi-hcline{font-size:10px;color:var(--a);margin-bottom:7px;padding:4px 8px;background:var(--ad);border-radius:5px;border:1px solid rgba(56,189,248,.15);}
.qi-price-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;align-items:end;}
.qi-plbl{font-size:10px;color:var(--tm);margin-bottom:4px;font-family:var(--fe);}
.qi-lt-box{background:linear-gradient(135deg,rgba(52,211,153,.1),rgba(52,211,153,.04));border:1px solid rgba(52,211,153,.25);border-radius:6px;padding:7px;text-align:center;}
.qi-lt-lbl{font-size:9px;color:var(--g);text-transform:uppercase;letter-spacing:1px;font-family:var(--fe);margin-bottom:3px;}
.qi-lt-val{font-family:var(--fm);font-size:13px;font-weight:700;color:var(--g);}
.qi-empty{text-align:center;color:var(--tm);padding:22px;font-size:13px;border:1px dashed var(--b);border-radius:var(--rads);}
.minp{width:100%;background:var(--s3);border:1px solid var(--b);border-radius:6px;padding:7px 8px;font-family:var(--fm);font-size:13px;color:var(--tb);text-align:center;outline:none;transition:border .15s;}
.minp:focus{border-color:var(--a);box-shadow:0 0 0 2px var(--ag);}
.minp::-webkit-inner-spin-button,.minp::-webkit-outer-spin-button{-webkit-appearance:none;}
.minp[type=number]{-moz-appearance:textfield;}
.q-totals{background:linear-gradient(135deg,rgba(52,211,153,.12),rgba(52,211,153,.05));border:1px solid rgba(52,211,153,.35);border-radius:var(--rads);padding:12px 14px;margin-bottom:12px;}
.q-trow{display:flex;align-items:center;justify-content:space-between;padding:5px 0;border-bottom:1px solid rgba(52,211,153,.1);}
.q-trow:last-child{border-bottom:none;padding-top:8px;}
.q-tlbl{font-size:12px;color:var(--tm);font-family:var(--fe);}
.q-tval{font-family:var(--fm);font-size:13px;font-weight:700;color:var(--tb);}
.q-trow.grand .q-tlbl{color:var(--g);font-size:14px;font-weight:700;}
.q-trow.grand .q-tval{color:var(--g);font-size:18px;}
.exp-btn{width:100%;background:linear-gradient(135deg,rgba(52,211,153,.15),rgba(52,211,153,.06));border:1px solid rgba(52,211,153,.4);color:var(--g);padding:14px;border-radius:var(--rads);font-family:var(--fa);font-size:14px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px;}
.exp-btn:hover{background:linear-gradient(135deg,rgba(52,211,153,.25),rgba(52,211,153,.12));border-color:var(--g);}
.con-card{background:var(--s1);border:1px solid var(--b);border-radius:var(--rad);padding:24px;text-align:center;}
.con-av{width:80px;height:80px;background:linear-gradient(135deg,var(--a2),var(--a));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:36px;margin:0 auto 16px;box-shadow:0 0 30px var(--ag);}
.con-name{font-size:20px;font-weight:700;color:var(--tb);margin-bottom:4px;}
.con-title{font-size:12px;color:var(--tm);letter-spacing:1px;margin-bottom:20px;font-family:var(--fe);text-transform:uppercase;}
.con-desc{font-size:13px;line-height:1.9;color:var(--t);margin:0 auto 14px;max-width:520px;}
.con-features{display:grid;gap:8px;margin:0 0 16px;text-align:start;}
.con-feat{background:var(--s2);border:1px solid var(--b);border-radius:12px;padding:10px 12px;font-size:12px;line-height:1.7;color:var(--t);}
.con-link{display:flex;align-items:center;gap:12px;padding:12px;background:var(--s2);border:1px solid var(--b);border-radius:var(--rads);margin-bottom:8px;text-decoration:none;color:var(--t);transition:all .2s;font-size:13px;}
.con-link:hover{border-color:var(--a);color:var(--a);}
.made-in{margin-top:20px;font-size:13px;color:var(--tm);}
.set-group{background:var(--s1);border:1px solid var(--b);border-radius:var(--rad);overflow:hidden;margin-bottom:12px;}
.set-item{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--b);}
.set-item:last-child{border-bottom:none;}
.settings-section-head{margin:14px 4px 8px;font-size:11px;font-weight:800;letter-spacing:1.4px;color:var(--tm);text-transform:uppercase;font-family:var(--fe);}
.set-lbl{font-size:14px;}
.set-sub{font-size:11px;color:var(--tm);margin-top:2px;}
.auth-account-row,.auth-account-meta{gap:12px;flex-wrap:wrap;}
.auth-account-row>div:first-child,.auth-account-meta>div:first-child{flex:1;min-width:0;}
.auth-settings-btn,.auth-logout-btn{border:none;border-radius:12px;padding:10px 14px;font-family:var(--fa);font-size:12px;font-weight:700;cursor:pointer;transition:all .2s;white-space:nowrap;}
.auth-settings-btn{background:linear-gradient(135deg,var(--a2),var(--a));color:#fff;box-shadow:0 6px 18px rgba(46,168,229,.2);}
.auth-settings-btn:hover{box-shadow:0 10px 24px rgba(46,168,229,.24);}
.auth-logout-btn{background:rgba(209,67,67,.08);color:var(--r);border:1px solid rgba(209,67,67,.18);}
.auth-user-summary{margin:12px 16px 0;padding:12px 14px;border-radius:14px;background:linear-gradient(135deg,rgba(46,168,229,.08),rgba(184,247,90,.06));border:1px solid rgba(46,168,229,.14);}
.auth-user-summary-name{font-size:14px;font-weight:700;color:var(--tb);margin-bottom:3px;}
.auth-user-summary-email{font-size:12px;color:var(--tm);}
.auth-mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:14px 16px 0;}
.auth-mode-btn{border:1px solid var(--b);background:var(--s2);color:var(--tm);border-radius:12px;padding:10px 12px;font-family:var(--fa);font-size:12px;font-weight:700;cursor:pointer;transition:all .2s;}
.auth-mode-btn.active{border-color:rgba(46,168,229,.18);background:rgba(46,168,229,.08);color:var(--a2);}
.auth-form-wrap{padding:14px 16px 6px;}
.auth-field{margin-bottom:10px;}
.auth-input{text-align:start;font-size:14px;}
.auth-primary-btn{margin-bottom:8px;}
.auth-link-btn{width:100%;margin-bottom:8px;}
.auth-sheet{max-width:460px;border:1px solid var(--b);box-shadow:0 24px 64px rgba(15,23,42,.18);}
.auth-hero{padding-bottom:12px;}
.auth-helper{margin-top:4px;margin-bottom:12px;}
.auth-field .lbl{text-align:start;}
.auth-form-wrap .ifield-wrap{justify-content:flex-start;}
[dir="rtl"] .auth-input{text-align:right;}
[dir="ltr"] .auth-input{text-align:left;}
.tog{width:44px;height:24px;background:var(--s3);border-radius:12px;position:relative;cursor:pointer;transition:background .2s;border:1px solid var(--b);flex-shrink:0;}
.tog.on{background:var(--a2);border-color:var(--a);}
.tog::after{content:'';position:absolute;top:2px;right:2px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .2s;}
.tog.on::after{transform:translateX(-20px);}
.bnav{position:fixed;bottom:0;left:0;right:0;background:rgba(10,14,23,.97);backdrop-filter:blur(12px);border-top:1px solid var(--b);display:flex;align-items:center;justify-content:space-around;padding:10px 0 max(10px,env(safe-area-inset-bottom));z-index:1000;}
[dir="rtl"] .bnav{flex-direction:row-reverse;}
.ni{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;padding:6px 10px;color:var(--tm);transition:color .2s;-webkit-tap-highlight-color:transparent;text-align:center;flex:1;min-width:0;}.ni.icon-only{padding:10px 10px;flex:0 0 auto;}
.ni-lbl{display:block;width:100%;text-align:center;line-height:1.2;}
.ni.on{color:var(--a);}
.ni-svg{width:22px;height:22px;stroke-width:2;}
.ni-lbl{font-size:10px;font-family:var(--fa);}
.panel{display:none;}
.panel.on{display:block;}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.8);z-index:500;display:none;align-items:flex-end;justify-content:center;}
.overlay.on{display:flex;}
.modal{background:var(--s1);border:1px solid var(--bb);border-radius:var(--rad) var(--rad) 0 0;width:100%;max-width:480px;padding:20px;max-height:85vh;overflow-y:auto;}
.modal-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.modal-ttl{font-size:16px;font-weight:700;color:var(--tb);}
.modal-x{width:30px;height:30px;border-radius:50%;border:1px solid var(--b);background:var(--s2);color:var(--tm);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:15px;}
.modal-x:hover{border-color:var(--r);color:var(--r);}
.ftabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px;}
.ftab{padding:6px 12px;border-radius:20px;border:1px solid var(--b);background:var(--s2);color:var(--tm);font-size:12px;cursor:pointer;font-family:var(--fa);transition:all .2s;}
.ftab:hover,.ftab.on{background:var(--ad);border-color:var(--a);color:var(--a);}
.cat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.cat-hdr{grid-column:1/-1;font-size:11px;font-weight:700;letter-spacing:1.5px;color:var(--a);text-transform:uppercase;padding:8px 2px 4px;font-family:var(--fe);border-bottom:1px solid var(--b);}
.cat-item{background:var(--s2);border:1px solid var(--b);border-radius:var(--rads);padding:14px 10px;cursor:pointer;text-align:center;transition:all .2s;}
.cat-item:hover{border-color:var(--a);background:var(--ad);transform:translateY(-1px);}
.cat-ico{font-size:28px;margin-bottom:6px;}
.cat-name{font-size:12px;color:var(--tb);font-weight:600;margin-bottom:4px;line-height:1.3;}
.cat-w{font-size:12px;color:var(--am);font-family:var(--fe);font-weight:600;}
.cat-btu{font-size:10px;color:var(--tm);font-family:var(--fe);margin-top:2px;}
.toast{position:fixed;bottom:90px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--s3);border:1px solid var(--bb);color:var(--tb);padding:12px 20px;border-radius:20px;font-size:13px;opacity:0;transition:all .3s;z-index:9999;white-space:nowrap;pointer-events:none;}
.toast.on{opacity:1;transform:translateX(-50%) translateY(0);}
.ninput{width:100%;background:transparent;border:none;outline:none;font-family:var(--fm);font-size:16px;color:var(--tb);text-align:center;padding:0;caret-color:var(--a);}
.ninput::placeholder{color:var(--tm);font-family:var(--fa);font-size:13px;}
.ninput::-webkit-inner-spin-button,.ninput::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}
.ninput[type=number]{-moz-appearance:textfield;}
.sync-readonly{cursor:default;caret-color:transparent;user-select:text;}
.ifield-wrap .sync-readonly[readonly]{color:var(--t);opacity:.92;}
.ifield-wrap:has(.sync-readonly[readonly]){background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(248,250,252,.92));}
.ifield-wrap:has(.sync-readonly[readonly]):focus-within{border-color:var(--b);box-shadow:none;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(248,250,252,.92));}
.ifield-wrap{background:var(--s2);border:1px solid var(--b);border-radius:var(--rads);padding:0 12px;min-height:46px;display:flex;align-items:center;justify-content:center;cursor:text;transition:all .2s;}
.ifield-wrap:focus-within{border-color:var(--a);box-shadow:0 0 0 2px var(--ag);background:rgba(56,189,248,.05);}
.disclaimer{background:rgba(251,191,36,.07);border:1px solid rgba(251,191,36,.2);border-radius:var(--rads);padding:8px 12px;margin-bottom:12px;font-size:10.5px;color:var(--am);line-height:1.5;text-align:center;}
.calc-btn{width:100%;background:linear-gradient(135deg,var(--a2),var(--a));border:none;border-radius:var(--rads);padding:14px;color:#fff;font-family:var(--fe);font-size:15px;font-weight:700;letter-spacing:1px;cursor:pointer;box-shadow:0 4px 16px rgba(56,189,248,.3);transition:all .2s;margin-top:4px;}
.calc-btn:hover{box-shadow:0 6px 24px rgba(56,189,248,.5);}

/* PRO QUOTATION SETTINGS */
.qs-card{background:linear-gradient(135deg,rgba(56,189,248,.07),rgba(14,165,233,.03));border:1px solid rgba(56,189,248,.3);border-radius:var(--rad);padding:16px;margin-bottom:0;position:relative;overflow:hidden;}
.qs-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--a),transparent);}
.qs-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:10px;}
.qs-row:last-child{margin-bottom:0;}
.qs-label{font-size:13px;color:var(--t);flex:1;}
.qs-sub{font-size:11px;color:var(--tm);margin-top:2px;}
.vat-tog{width:44px;height:24px;background:var(--s3);border-radius:12px;position:relative;cursor:pointer;transition:background .2s;border:1px solid var(--b);flex-shrink:0;}
.vat-tog.on{background:var(--g);border-color:rgba(52,211,153,.6);}
.vat-tog::after{content:'';position:absolute;top:2px;right:2px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .2s;}
.vat-tog.on::after{transform:translateX(-20px);}
.qs-sel{background:var(--s2);border:1px solid var(--b);border-radius:var(--rads);padding:8px 10px;color:var(--tb);font-family:var(--fa);font-size:13px;outline:none;cursor:pointer;transition:border .15s;flex-shrink:0;}
.qs-sel:focus{border-color:var(--a);}
.qs-ta{background:var(--s2);border:1px solid var(--b);border-radius:var(--rads);padding:10px 12px;color:var(--tb);font-family:var(--fa);font-size:13px;outline:none;width:100%;resize:vertical;min-height:68px;transition:border .15s;line-height:1.6;margin-top:5px;}
.qs-ta:focus{border-color:var(--a);}
.q-summary{background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.01));border:1px solid var(--b);border-radius:14px;padding:10px;margin-bottom:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.q-sr{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:10px 12px;border:1px solid rgba(148,163,184,.14);border-radius:12px;background:var(--s3);font-size:13px;min-height:72px;}
.q-sr:last-child{padding:10px 12px;}
.q-sl{color:var(--tm);font-family:var(--fe);font-size:11px;line-height:1.5;}
.q-sv{font-family:var(--fm);color:var(--tb);font-size:18px;font-weight:700;margin-top:6px;}
.q-sr.vrow .q-sv{color:var(--am);}
.q-sr.grow{grid-column:1/-1;background:linear-gradient(135deg,rgba(52,211,153,.12),rgba(52,211,153,.05));border-color:rgba(52,211,153,.2);}
.q-sr.grow .q-sl{color:var(--g);font-size:13px;font-weight:700;}
.q-sr.grow .q-sv{color:var(--g);font-size:22px;font-weight:800;}
.tech-card{background:linear-gradient(135deg,rgba(16,185,129,.08),rgba(14,165,233,.03));border-color:rgba(16,185,129,.26);}
.tech-summary{margin-bottom:14px;}
.tech-engineering-slot{display:flex;flex-direction:column;gap:12px;margin-bottom:14px;}
.quote-project-pricing-slot,
#quote-project-pricing-slot{display:flex;flex-direction:column;gap:10px;margin:12px 0 0;}
#tech-cumulative-slot{margin:14px 0 0;}
.quote-actions-toolbar{margin-top:12px;}
.quote-lower-grid{display:grid;grid-template-columns:1fr;gap:10px;}
.quote-history-card{margin-bottom:0;}
.quote-header-tools-slot .qs-card,
#quote-header-tools-slot .qs-card{margin-top:0;}
.quote-transfer-summary{margin:0 0 12px;padding:12px;border:1px solid rgba(56,189,248,.24);border-radius:14px;background:linear-gradient(135deg,rgba(56,189,248,.08),rgba(59,130,246,.03));}
.quote-transfer-head{font-size:11px;color:var(--a);font-family:var(--fe);letter-spacing:.6px;margin-bottom:10px;}
.quote-transfer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.quote-transfer-item{display:flex;flex-direction:column;gap:4px;padding:10px 11px;border-radius:12px;background:var(--s3);border:1px solid rgba(148,163,184,.14);min-height:66px;}
.quote-transfer-item-wide{grid-column:1/-1;}
.quote-transfer-lbl{font-size:10px;color:var(--tm);font-family:var(--fe);}
.quote-transfer-val{font-size:13px;color:var(--tb);font-weight:700;line-height:1.5;word-break:break-word;}
.quote-transfer-accent{background:linear-gradient(135deg,rgba(52,211,153,.12),rgba(52,211,153,.04));border-color:rgba(52,211,153,.22);}
.quote-transfer-accent .quote-transfer-lbl,
.quote-transfer-accent .quote-transfer-val{color:var(--g);}
#quote-save-btn{display:none!important;}
.tech-room-list{display:flex;flex-direction:column;gap:8px;}
.tech-room-item{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:12px;border:1px solid var(--b);border-radius:12px;background:var(--s2);}
.tech-room-main{flex:1;min-width:0;}
.tech-room-name{font-size:13px;font-weight:700;color:var(--tb);margin-bottom:3px;}
.tech-room-meta{font-size:11px;color:var(--tm);line-height:1.5;}
.tech-room-stats{display:flex;flex-direction:column;gap:4px;align-items:flex-end;font-family:var(--fm);font-size:12px;color:var(--g);white-space:nowrap;}
.tech-actions{display:flex;justify-content:flex-start;margin-top:14px;}
.tech-actions .exp-btn-tech{width:100%;min-height:58px;}
.exp-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.tech-report-card{margin-bottom:12px;}
.tech-report-note{margin:-2px 0 14px;color:var(--tm);font-size:12px;line-height:1.8;font-family:var(--fa);}
.tech-exp-row{grid-template-columns:1fr;}
#tech-cum-slot,
#tech-controls-slot,
#tech-room-slot,
#tech-proj-slot,
#tech-analysis-slot{display:flex;flex-direction:column;gap:10px;margin-bottom:10px;}
#quote-settings-slot,
#quote-proj-pricing-slot{display:flex;flex-direction:column;gap:10px;}
#quote-settings-slot{margin:-4px 0 12px;}
#quote-proj-pricing-slot{margin:-2px 0 14px;}
#quote-proj-pricing-inline-slot{display:flex;flex-direction:column;gap:10px;margin-top:12px;}
#quote-proj-pricing-slot:empty,
#quote-settings-slot:empty,
#quote-proj-pricing-inline-slot:empty,
#tech-cum-slot:empty,
#tech-controls-slot:empty,
#tech-room-slot:empty,
#tech-proj-slot:empty,
#tech-analysis-slot:empty{display:none;}
.quote-readonly-card{background:var(--s2);border:1px solid var(--b);border-radius:var(--rads);overflow:hidden;}
.quote-readonly-head{display:flex;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid var(--b);background:rgba(56,189,248,.04);}
.quote-readonly-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px 12px;}
.quote-readonly-stat{background:rgba(255,255,255,.02);border:1px solid var(--b);border-radius:10px;padding:9px 10px;}
.quote-readonly-label{font-size:9px;color:var(--tm);font-family:var(--fe);letter-spacing:.6px;text-transform:uppercase;margin-bottom:4px;}
.quote-readonly-value{font-family:var(--fm);font-size:13px;font-weight:700;color:var(--tb);line-height:1.45;}
.quote-readonly-note{padding:0 12px 12px;font-size:10px;line-height:1.7;color:var(--tm);}
.quote-price-row{padding:0 12px 12px;}
.quote-proj-pricing-card{background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(247,250,255,.92));border:1px solid rgba(148,163,184,.18);border-radius:16px;padding:14px;box-shadow:0 14px 34px rgba(15,23,42,.06);}
.qs-card .quote-proj-pricing-card{background:rgba(255,255,255,.68);box-shadow:none;margin-top:0;}
.quote-proj-pricing-grid{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end;}
.quote-proj-pricing-card .proj-input-group{margin:0;}
.quote-proj-pricing-card #proj-line-total{margin:0;padding-top:0;border-top:none;min-width:120px;justify-content:flex-end;gap:12px;}
.exp-btn-csv{background:linear-gradient(135deg,rgba(56,189,248,.15),rgba(56,189,248,.06));border:1px solid rgba(56,189,248,.4);color:var(--a);padding:10px 6px;border-radius:10px;font-family:var(--fa);font-size:12px;min-height:56px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:5px;}
.exp-btn-csv:hover{background:rgba(56,189,248,.22);}
.exp-btn-hap{background:linear-gradient(135deg,rgba(184,247,90,.22),rgba(76,175,80,.08));border:1px solid rgba(76,175,80,.34);color:#2f7a35;padding:10px 6px;border-radius:10px;font-family:var(--fa);font-size:12px;min-height:56px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:5px;}
.exp-btn-hap:hover{background:rgba(184,247,90,.24);border-color:rgba(76,175,80,.48);}
.exp-btn-inv{background:linear-gradient(135deg,rgba(52,211,153,.15),rgba(52,211,153,.06));border:1px solid rgba(52,211,153,.4);color:var(--g);padding:10px 6px;border-radius:10px;font-family:var(--fa);font-size:12px;min-height:56px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:5px;}
.exp-btn-inv:hover{background:rgba(52,211,153,.22);}.exp-btn-pdf{background:linear-gradient(135deg,rgba(248,113,113,.15),rgba(248,113,113,.06));border:1px solid rgba(248,113,113,.4);color:var(--r);padding:10px 6px;border-radius:10px;font-family:var(--fa);font-size:12px;min-height:56px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:5px;}.exp-btn-pdf:hover{background:rgba(248,113,113,.2);border-color:var(--r);}.exp-btn-pdf:disabled{opacity:.5;cursor:not-allowed;}
.exp-btn-tech{background:linear-gradient(135deg,rgba(45,212,191,.15),rgba(20,184,166,.06));border:1px solid rgba(45,212,191,.4);color:#2dd4bf;padding:10px 6px;border-radius:10px;font-family:var(--fa);font-size:12px;min-height:56px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:5px;}.exp-btn-tech:hover{background:rgba(45,212,191,.22);border-color:#2dd4bf;}.exp-btn-tech:disabled{opacity:.5;cursor:not-allowed;}
body.light-theme .exp-btn-tech{color:#4CAF50;border-color:rgba(76,175,80,.34);background:linear-gradient(135deg,rgba(76,175,80,.12),rgba(76,175,80,.04));}.body.light-theme .exp-btn-tech:hover{background:rgba(76,175,80,.16);}

/* AC SELECTION CARD */
.ac-seg{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:2px;}
.ac-seg-btn{background:var(--s2);border:1px solid var(--b);border-radius:var(--rads);
  padding:10px 8px;font-family:var(--fa);font-size:12px;color:var(--tm);cursor:pointer;
  text-align:center;transition:all .2s;}
.ac-seg-btn.on{background:rgba(56,189,248,.15);border-color:var(--a);color:var(--a);font-weight:600;}
.ac-result{background:var(--s2);border:1px solid rgba(56,189,248,.25);border-radius:var(--rads);
  padding:14px;margin-top:10px;display:none;}
.ac-result.show{display:block;}
.ac-res-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px;}
.ac-res-item{text-align:center;}
.ac-res-val{font-size:20px;font-weight:700;color:var(--a);font-family:var(--fm);}
.ac-res-lbl{font-size:10px;color:var(--tm);margin-top:2px;font-family:var(--fe);}
.ac-per-room{margin-top:8px;}
.ac-room-row{display:flex;align-items:center;justify-content:space-between;
  padding:8px 10px;background:var(--s3);border-radius:var(--rads);
  margin-bottom:6px;font-size:12px;gap:8px;}
.ac-room-name{color:var(--tb);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ac-room-cap{color:var(--a);font-weight:600;font-family:var(--fm);white-space:nowrap;}
.ac-room-tr{color:var(--tm);font-size:11px;white-space:nowrap;}
.ac-opt-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;}


/* UNIT TYPE SELECTOR IN QUOTE CARD */
.qi-utype{display:flex;align-items:center;gap:8px;padding:5px 0 6px;border-bottom:1px solid var(--b);margin-bottom:6px;flex-wrap:wrap;}
.qi-utype-lbl{font-size:10px;color:var(--tm);font-family:var(--fe);letter-spacing:.5px;white-space:nowrap;}
.qi-utype-sel{background:var(--s3);border:1px solid var(--b);border-radius:4px;padding:4px 8px;color:var(--tb);font-family:var(--fa);font-size:11px;outline:none;cursor:pointer;flex:1 1 130px;min-width:110px;max-width:180px;}
.qi-utype-sel:focus{border-color:var(--a);}
.qi-unit-count,.qi-unit-cap{display:flex;align-items:center;gap:6px;}
.qi-unit-count{margin-inline-start:auto;}
.qi-unit-stepper{display:flex;align-items:center;gap:5px;background:transparent;border:0;border-radius:0;padding:0;}
.qi-unit-stepper:focus-within{border-color:var(--a);box-shadow:0 0 0 2px var(--ag);}
.qty-auto-row{display:flex;align-items:center;gap:6px;width:100%;margin-top:6px;}
.qty-auto-btn{border:1px solid var(--b);background:var(--s3);color:var(--tm);border-radius:8px;padding:4px 10px;font-size:10px;font-family:var(--fe);cursor:pointer;transition:all .15s;}
.qty-auto-btn.active{border-color:rgba(56,189,248,.35);background:rgba(56,189,248,.1);color:var(--a);font-weight:700;}
.qty-auto-btn[disabled]{opacity:.45;cursor:not-allowed;}
.qty-auto-note{width:100%;font-size:10px;line-height:1.7;color:var(--tm);margin-top:4px;}
.qty-locked,.qbtn.qty-locked{opacity:.5;cursor:not-allowed;}
.qty-locked-input{background:transparent;color:var(--tm);}
.proj-input-group #proj-qty-auto-tools{margin-top:6px;}
.qi-unit-count-input{width:22px;background:transparent;border:0;padding:0;color:var(--tb);font-family:var(--fm);font-size:15px;text-align:center;outline:none;}
.qi-unit-stepper .qbtn{flex-shrink:0;}
.qi-unit-count-input::-webkit-inner-spin-button,.qi-unit-count-input::-webkit-outer-spin-button{-webkit-appearance:none;}
.qi-unit-count-input[type=number]{-moz-appearance:textfield;}
.qi-price-row.qi-price-row-simple{grid-template-columns:1fr 1fr;}


/* CAPACITY SELECTOR + UNDERSIZED WARNING */
.qi-cap-row{display:flex;align-items:center;gap:8px;padding:5px 0 6px;flex-wrap:wrap;border-bottom:1px solid var(--b);margin-bottom:6px;}
.qi-cap-status{display:flex;align-items:center;gap:8px;padding:0 0 6px;flex-wrap:wrap;}
.qi-cap-lbl{font-size:10px;color:var(--tm);font-family:var(--fe);letter-spacing:.5px;white-space:nowrap;}
.qi-cap-sel{background:var(--s3);border:1px solid var(--b);border-radius:4px;padding:4px 8px;color:var(--tb);font-family:var(--fa);font-size:11px;outline:none;cursor:pointer;min-width:120px;max-width:190px;}
.qi-cap-sel:focus{border-color:var(--a);}
.qi-cap-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:10px;font-weight:700;font-family:var(--fm);white-space:nowrap;gap:4px;}
.qi-cap-badge.matched{background:rgba(52,211,153,.15);color:#34d399;border:1px solid rgba(52,211,153,.35);}
.qi-cap-badge.deficit-mild{background:rgba(251,191,36,.18);color:#fbbf24;border:1px solid rgba(251,191,36,.5);}
.qi-cap-badge.deficit-severe{background:rgba(239,68,68,.15);color:#f87171;border:1px solid rgba(239,68,68,.45);}
.qi-cap-badge.oversize-ok{background:rgba(99,102,241,.12);color:#818cf8;border:1px solid rgba(99,102,241,.3);}
.qi-cap-badge.oversize-high{background:rgba(156,163,175,.12);color:#9ca3af;border:1px solid rgba(156,163,175,.3);}
.qi-warn{border-radius:6px;padding:10px 13px;margin:0 0 8px;font-size:11px;line-height:1.65;font-family:var(--fa);}
.qi-warn.mild{background:rgba(251,191,36,.08);border:1px solid rgba(251,191,36,.4);color:#fcd34d;}
.qi-warn.severe{background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.4);color:#fca5a5;}
.qi-warn-head{font-weight:700;font-size:12px;margin-bottom:4px;}
.qi-warn-row{margin-top:3px;opacity:.9;}
.qi-warn-tip{margin-top:7px;opacity:.7;font-size:10px;border-top:1px solid rgba(255,255,255,.12);padding-top:5px;}

@media(min-width:480px){.app{padding:24px;padding-bottom:120px;}}
@media(min-width:680px){.app{max-width:680px;}.qi-item{grid-template-columns:1fr;}.qi-price-row{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;}.proj-unit-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;}.quote-lower-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start;}}
@media(min-width:900px){.app{max-width:820px;}.qi-tech{grid-template-columns:repeat(5,1fr);}.q-hdr-grid{grid-template-columns:1.35fr .8fr;}}
.inv-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
@media print{.inv-page{page-break-after:always;}.no-print{display:none!important;}}

/* ── PROJECT MODE TOGGLE ── */
.mode-toggle-row{display:flex;gap:6px;margin-bottom:12px;background:var(--s2);border:1px solid var(--b);border-radius:var(--rads);padding:5px;}
.bundle-row{display:flex;align-items:center;gap:8px;margin-bottom:10px;padding:8px 12px;background:rgba(251,191,36,.08);border:1px solid rgba(251,191,36,.35);border-radius:var(--rads);}
.esp-block{background:var(--s2);border:1px solid var(--b);border-radius:10px;padding:12px;margin-top:8px;}
.esp-section{border:1px solid rgba(148,163,184,.12);border-radius:10px;padding:10px;margin-top:10px;background:rgba(255,255,255,.02);}
.esp-section:first-of-type{margin-top:0;}
.esp-section-title{font-size:10px;color:var(--a);font-family:var(--fe);font-weight:700;letter-spacing:.4px;margin-bottom:8px;}
.esp-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;}
.esp-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.esp-field{display:flex;flex-direction:column;gap:2px;}
.esp-lbl{font-size:10px;color:var(--tm);line-height:1.6;}
.esp-inp{background:var(--s3);border:1px solid var(--b);border-radius:8px;color:var(--ft);padding:7px 9px;font-size:12px;width:100%;font-family:var(--fm);}
.esp-section-result{background:linear-gradient(135deg,rgba(56,189,248,.08),rgba(56,189,248,.03));border-color:rgba(56,189,248,.16);}
.esp-result{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:2px;}
.esp-badge{padding:3px 10px;border-radius:12px;font-size:11px;font-weight:700;}
.esp-low{background:rgba(52,211,153,.15);color:#065f46;border:1px solid rgba(52,211,153,.4);}
.esp-med{background:rgba(251,191,36,.15);color:#92400e;border:1px solid rgba(251,191,36,.4);}
.esp-high{background:rgba(239,68,68,.12);color:#991b1b;border:1px solid rgba(239,68,68,.35);}
.esp-total-stack{display:flex;flex-direction:column;gap:3px;min-width:180px;}
.esp-total-main{font-size:18px;font-weight:800;color:var(--tb);line-height:1.3;}
.esp-total-sub{font-size:11px;color:var(--tm);font-family:var(--fm);}
.esp-breakdown{display:grid;grid-template-columns:1fr;gap:6px;margin-top:10px;}
.esp-breakdown.hidden{display:none;}
.esp-break-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--b);border-radius:8px;background:var(--s3);}
.esp-break-row-total{background:linear-gradient(135deg,rgba(56,189,248,.08),rgba(56,189,248,.03));border-color:rgba(56,189,248,.24);}
.esp-break-lbl{font-size:10px;color:var(--tm);line-height:1.7;}
.esp-break-val{font-size:11px;font-family:var(--fm);font-weight:700;color:var(--tb);white-space:nowrap;}
.esp-toggle-btn{border:1px solid rgba(148,163,184,.18);background:var(--s3);color:var(--tm);border-radius:8px;padding:5px 10px;font-size:10px;font-family:var(--fe);cursor:pointer;transition:all .15s;}
.esp-toggle-btn:hover{border-color:rgba(56,189,248,.28);color:var(--a);}
.esp-note,.esp-catalog-note{margin-top:10px;padding:7px 10px;border-radius:8px;font-size:9.5px;line-height:1.8;}
.esp-note{background:rgba(56,189,248,.04);border:1px solid rgba(56,189,248,.14);color:var(--tm);}
.esp-catalog-note{background:rgba(251,191,36,.05);border:1px solid rgba(251,191,36,.16);color:#a16207;}
.bundle-toggle-btn{padding:4px 14px;border-radius:4px;border:1px solid rgba(251,191,36,.6);background:rgba(251,191,36,.15);color:#d97706;font-size:10px;font-family:var(--fe);cursor:pointer;font-weight:700;transition:all .2s;}
.bundle-toggle-btn.on{background:rgba(251,191,36,.35);color:#92400e;border-color:#f59e0b;}
.bundle-lock-note{font-size:10px;color:#92400e;background:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.3);border-radius:4px;padding:4px 8px;margin-top:4px;}
.mode-btn{flex:1;padding:8px 4px;border-radius:6px;border:none;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;background:transparent;color:var(--tm);font-family:var(--fe);}
.mode-btn.active{background:var(--a);color:#fff;box-shadow:0 2px 8px rgba(14,165,233,.35);}
/* ── PROJECT BLOCK (one-unit mode) ── */
.proj-block{background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(247,250,255,.92));border:1px solid rgba(148,163,184,.18);border-radius:16px;padding:14px;margin-bottom:12px;box-shadow:0 14px 34px rgba(15,23,42,.06);}
.proj-panel{background:rgba(255,255,255,.72);border:1px solid rgba(148,163,184,.16);border-radius:14px;padding:12px 12px 10px;}
.proj-panel + .proj-panel{margin-top:10px;}
.proj-summary-panel{background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(244,247,255,.92));}
.proj-config-panel{background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(248,250,252,.92));}
.proj-block-ttl{font-size:11px;letter-spacing:1.35px;color:#6366f1;text-transform:uppercase;margin-bottom:12px;font-family:var(--fe);font-weight:800;}
.proj-totals-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:0;}
.proj-total-item{background:linear-gradient(180deg,#fff,rgba(248,250,252,.98));border:1px solid rgba(148,163,184,.18);border-radius:12px;padding:10px 8px;text-align:center;min-height:74px;display:flex;flex-direction:column;justify-content:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.8);}
.proj-total-lbl{font-size:9px;color:var(--tm);text-transform:uppercase;letter-spacing:.9px;margin-bottom:4px;line-height:1.45;}
.proj-total-val{font-family:var(--fm);font-size:16px;font-weight:700;color:var(--a);line-height:1.2;}
.proj-unit-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;}
.proj-unit-row:last-of-type{margin-bottom:0;}
.proj-config-row{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(92px,.7fr);}
.proj-input-group{display:flex;flex-direction:column;gap:5px;min-width:0;}
.proj-input-lbl{font-size:10px;color:var(--tm);font-family:var(--fe);font-weight:700;letter-spacing:.25px;}
.proj-field-control{min-height:42px;border-radius:12px!important;border:1px solid rgba(148,163,184,.24)!important;background:rgba(255,255,255,.96)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.85);}
#proj-block .qi-utype-sel,
#proj-block .qi-cap-sel,
#proj-block .minp{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  flex:none!important;
  font-size:12px!important;
  padding:9px 12px!important;
  color:var(--t)!important;
  appearance:none;
  -webkit-appearance:none;
  min-height:42px!important;
  height:42px!important;
  border-radius:12px!important;
  border:1px solid rgba(148,163,184,.24)!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85)!important;
  line-height:1.2!important;
  box-sizing:border-box!important;
}
#proj-block .qi-utype-sel,
#proj-block .qi-cap-sel{
  padding-inline-end:34px!important;
}
.proj-qty-stepper{justify-content:flex-start;gap:6px;min-height:42px;padding:0 8px;border:1px solid rgba(148,163,184,.24);border-radius:12px;background:rgba(255,255,255,.96);box-shadow:inset 0 1px 0 rgba(255,255,255,.85);}
.proj-qty-input{width:22px !important;min-width:22px;max-width:22px;background:transparent;border:0;box-shadow:none;}
.proj-qty-input:focus{box-shadow:none;border:0;}
.proj-status-row{padding:10px 12px;border-radius:12px;background:linear-gradient(180deg,rgba(99,102,241,.07),rgba(99,102,241,.03));border:1px dashed rgba(99,102,241,.24);min-height:48px;}
.proj-status-row:empty{display:none!important;}
.proj-total-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:12px 14px 0;border-top:1px solid rgba(99,102,241,.14);}
@media(max-width:679px){
  .proj-totals-grid{grid-template-columns:1fr 1fr;}
  .proj-unit-row,.proj-config-row{grid-template-columns:1fr;}
  .proj-total-footer{flex-direction:column;align-items:flex-start;}
}
/* ── DUCT SIZING BLOCK ── */
.duct-block{background:linear-gradient(180deg,rgba(240,253,249,.98),rgba(248,250,252,.96));border:1px solid rgba(52,211,153,.2);border-radius:14px;padding:12px 12px 10px;margin-top:10px;box-shadow:inset 0 1px 0 rgba(255,255,255,.88);}
.duct-block-ttl{font-size:10px;letter-spacing:1.3px;color:var(--g);text-transform:uppercase;margin-bottom:10px;font-family:var(--fe);font-weight:800;}
.duct-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px;}
.duct-lbl{font-size:10px;color:var(--tm);white-space:nowrap;}
.duct-val{font-family:var(--fm);font-size:12px;font-weight:700;color:var(--g);}
.duct-note{font-size:9px;color:var(--tm);opacity:.75;margin-top:4px;font-style:italic;}
.duct-sel{background:var(--s3);border:1px solid var(--b);border-radius:4px;padding:3px 6px;color:var(--tb);font-size:11px;font-family:var(--fe);}


/* ── PROJECTS MANAGER ──────────────────────────────────────────── */
.proj-mgr-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:10px;}
.proj-mgr-title{font-family:var(--fe);font-size:16px;font-weight:700;color:var(--tb);letter-spacing:.5px;}
.proj-mgr-save-btn{display:flex;align-items:center;gap:6px;background:var(--a2);color:#fff;border:none;border-radius:var(--rads);padding:9px 14px;font-size:12px;font-family:var(--fa);font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0;}
.proj-mgr-save-btn:hover{background:var(--a);box-shadow:0 0 12px var(--ag);}
.proj-mgr-save-btn:active{transform:scale(.97);}
.proj-mgr-search-wrap{position:relative;margin-bottom:12px;}
.proj-search-ico{position:absolute;top:50%;transform:translateY(-50%);color:var(--tm);pointer-events:none;}
[dir="rtl"] .proj-search-ico{right:11px;}
[dir="ltr"] .proj-search-ico{left:11px;}
.proj-search-inp{width:100%;background:var(--s2);border:1px solid var(--b);border-radius:var(--rads);color:var(--t);font-size:13px;font-family:var(--fa);padding:9px 12px;transition:border .2s;outline:none;}
[dir="rtl"] .proj-search-inp{padding-right:34px;}
[dir="ltr"] .proj-search-inp{padding-left:34px;}
.proj-search-inp:focus{border-color:var(--a);box-shadow:0 0 0 2px var(--ad);}
.proj-search-inp::placeholder{color:var(--tm);}

/* Project card */
.pm-card{background:var(--s1);border:1px solid var(--b);border-radius:var(--rad);padding:14px;margin-bottom:10px;cursor:pointer;transition:all .2s;position:relative;overflow:hidden;}
.pm-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--a),transparent);opacity:0;transition:opacity .2s;}
.pm-card:hover{border-color:var(--bb);box-shadow:0 4px 20px rgba(0,0,0,.3);}
.pm-card:hover::before{opacity:1;}
.pm-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px;}
.pm-card-name{font-size:14px;font-weight:700;color:var(--tb);line-height:1.3;word-break:break-word;}
.pm-card-badge{font-size:10px;font-family:var(--fe);font-weight:700;background:var(--ad);color:var(--a);border-radius:10px;padding:2px 9px;white-space:nowrap;flex-shrink:0;}
.pm-card-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;}
.pm-meta-pill{font-size:10px;font-family:var(--fe);color:var(--tm);background:var(--s2);border:1px solid var(--b);border-radius:8px;padding:2px 8px;display:flex;align-items:center;gap:4px;}
.pm-meta-pill.green{color:var(--g);background:var(--gd);border-color:rgba(52,211,153,.2);}
.pm-meta-pill.amber{color:var(--am);background:var(--amd);border-color:rgba(251,191,36,.2);}
.pm-card-dates{font-size:10px;color:var(--tm);font-family:var(--fe);margin-bottom:10px;display:flex;flex-wrap:wrap;gap:10px;}
.pm-card-actions{display:flex;gap:6px;flex-wrap:wrap;}
.pm-act-btn{flex:1;min-width:60px;display:flex;align-items:center;justify-content:center;gap:5px;padding:7px 6px;border-radius:var(--rads);border:1px solid var(--b);background:var(--s2);color:var(--tm);font-size:11px;font-family:var(--fa);cursor:pointer;transition:all .18s;white-space:nowrap;}
.pm-act-btn:hover{border-color:var(--bb);color:var(--t);}
.pm-act-btn.open{border-color:rgba(56,189,248,.4);background:var(--ad);color:var(--a);}
.pm-act-btn.open:hover{background:var(--a);color:#fff;border-color:var(--a);}
.pm-act-btn.del{border-color:rgba(248,113,113,.2);}
.pm-act-btn.del:hover{border-color:var(--r);color:var(--r);background:var(--rd);}

/* Empty state */
.pm-empty{text-align:center;padding:48px 20px;color:var(--tm);}
.pm-empty-ico{font-size:48px;margin-bottom:14px;opacity:.5;}
.pm-empty-ttl{font-size:15px;font-weight:700;color:var(--t);margin-bottom:6px;opacity:.7;}
.pm-empty-sub{font-size:12px;line-height:1.6;opacity:.6;}

/* Rename modal */
.pm-rename-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:8000;display:flex;align-items:center;justify-content:center;padding:20px;}
.pm-rename-box{background:var(--s1);border:1px solid var(--bb);border-radius:var(--rad);padding:22px;width:100%;max-width:340px;box-shadow:0 16px 48px rgba(0,0,0,.5);}
.pm-rename-ttl{font-size:14px;font-weight:700;color:var(--tb);margin-bottom:14px;}
.pm-rename-inp{width:100%;background:var(--s2);border:1px solid var(--b);border-radius:var(--rads);color:var(--t);font-size:14px;font-family:var(--fa);padding:10px 12px;outline:none;margin-bottom:14px;}
.pm-rename-inp:focus{border-color:var(--a);box-shadow:0 0 0 2px var(--ad);}
.pm-rename-btns{display:flex;gap:8px;justify-content:flex-end;}
.pm-rename-cancel{background:var(--s2);border:1px solid var(--b);color:var(--tm);border-radius:var(--rads);padding:8px 18px;font-size:13px;font-family:var(--fa);cursor:pointer;}
.pm-rename-ok{background:var(--a2);border:none;color:#fff;border-radius:var(--rads);padding:8px 18px;font-size:13px;font-family:var(--fa);cursor:pointer;font-weight:600;}
.pm-rename-ok:hover{background:var(--a);}

/* Save-as modal */
.pm-saveas-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:8000;display:flex;align-items:center;justify-content:center;padding:20px;}
.pm-saveas-box{background:var(--s1);border:1px solid var(--bb);border-radius:var(--rad);padding:22px;width:100%;max-width:340px;box-shadow:0 16px 48px rgba(0,0,0,.5);}

/* ── PROJECT SAVE BUTTON (Quotation page inline) ─────────────────── */
.qp-save-row{display:flex;align-items:center;gap:7px;}
.qp-save-btn{flex-shrink:0;width:42px;height:42px;background:var(--a2);border:none;border-radius:var(--rads);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent;}
.qp-save-btn:hover{background:var(--a);box-shadow:0 0 12px var(--ag);}
.qp-save-btn:active{transform:scale(.93);}
.qp-save-btn.saved{background:var(--g);animation:pm-pulse .4s ease;}
@keyframes pm-pulse{0%{transform:scale(1)}50%{transform:scale(1.12)}100%{transform:scale(1)}}

/* ── PLAN SYSTEM ──────────────────────────────────────────────────────────── */

/* PRO badge in header */
.pro-badge{display:inline-flex;align-items:center;padding:2px 8px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:9px;font-family:var(--fe);font-weight:700;letter-spacing:1.5px;border-radius:6px;box-shadow:0 0 10px rgba(245,158,11,.4);text-transform:uppercase;flex-shrink:0;vertical-align:middle;margin-inline-start:6px;}
.free-badge{display:inline-flex;align-items:center;padding:2px 8px;background:var(--s3);color:var(--tm);font-size:9px;font-family:var(--fe);font-weight:700;letter-spacing:1.5px;border-radius:6px;border:1px solid var(--b);text-transform:uppercase;flex-shrink:0;vertical-align:middle;margin-inline-start:6px;}
.early-badge{display:inline-flex;align-items:center;padding:2px 8px;background:linear-gradient(135deg,rgba(46,168,229,.18),rgba(184,247,90,.24));color:var(--a2);font-size:9px;font-family:var(--fe);font-weight:700;letter-spacing:1px;border-radius:6px;border:1px solid rgba(46,168,229,.18);text-transform:uppercase;flex-shrink:0;vertical-align:middle;margin-inline-start:6px;}

/* Locked overlay on buttons */
.btn-locked{position:relative;opacity:.55;cursor:not-allowed!important;}
.btn-locked::after{content:'🔒';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:14px;pointer-events:none;}
.btn-locked:hover{opacity:.65;}

/* Locked section overlay */
.section-locked{position:relative;pointer-events:none;user-select:none;}
.section-locked::after{content:'🔒 Pro';position:absolute;inset:0;background:rgba(10,14,23,.72);display:flex;align-items:center;justify-content:center;font-family:var(--fe);font-size:13px;font-weight:700;color:rgba(255,255,255,.5);border-radius:var(--rad);pointer-events:none;}

/* Upgrade entry in settings */
.set-upgrade-row{display:flex;align-items:center;justify-content:space-between;padding:16px;cursor:pointer;background:linear-gradient(135deg,rgba(46,168,229,.08),rgba(184,247,90,.05));border-bottom:1px solid var(--b);transition:background .2s;}
.set-upgrade-row:hover{background:linear-gradient(135deg,rgba(46,168,229,.12),rgba(184,247,90,.08));}
.set-upgrade-row:last-child{border-bottom:none;}
.set-upgrade-ico{font-size:22px;margin-inline-end:10px;}
.set-upgrade-lbl{font-size:14px;font-weight:700;color:var(--a2);}
.set-upgrade-sub{font-size:11px;color:var(--tm);margin-top:2px;}
.set-upgrade-arr{color:var(--a2);font-size:18px;flex-shrink:0;}

/* Upgrade modal overlay */
.upgrade-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:9000;display:flex;align-items:flex-end;justify-content:center;padding:0;}
.upgrade-overlay.hidden{display:none;}
.upgrade-sheet{background:var(--s1);border-radius:20px 20px 0 0;width:100%;max-width:520px;max-height:92vh;overflow-y:auto;padding:0 0 32px;animation:sheet-up .3s ease;}
@keyframes sheet-up{from{transform:translateY(100%)}to{transform:translateY(0)}}
.upgrade-sheet-handle{width:40px;height:4px;background:var(--b);border-radius:2px;margin:12px auto 0;cursor:pointer;}
.upgrade-sheet-close{position:absolute;top:14px;right:16px;background:var(--s2);border:1px solid var(--b);color:var(--tm);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;z-index:1;}
[dir="rtl"] .upgrade-sheet-close{right:auto;left:16px;}
.upgrade-hero{text-align:center;padding:24px 20px 16px;border-bottom:1px solid var(--b);}
.upgrade-hero-icon{font-size:40px;margin-bottom:8px;}
.upgrade-hero-title{font-family:var(--fe);font-size:22px;font-weight:700;color:var(--tb);margin-bottom:4px;}
.upgrade-hero-title span{color:#f59e0b;}
.upgrade-hero-sub{font-size:12px;color:var(--tm);}

/* Plan comparison cards */
.upgrade-plans{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px;}
.plan-card{background:var(--s2);border:1px solid var(--b);border-radius:var(--rad);padding:16px;position:relative;overflow:hidden;}
.plan-card.pro{border-color:rgba(245,158,11,.5);background:linear-gradient(160deg,rgba(245,158,11,.08),rgba(245,158,11,.03));}
.plan-card.pro::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#f59e0b,transparent);}
.plan-card-name{font-family:var(--fe);font-size:13px;font-weight:700;color:var(--tm);letter-spacing:1px;margin-bottom:10px;text-transform:uppercase;}
.plan-card.pro .plan-card-name{color:#f59e0b;}
.plan-feature{display:flex;align-items:flex-start;gap:6px;font-size:11px;color:var(--t);margin-bottom:6px;line-height:1.4;}
.plan-feature .pf-ico{flex-shrink:0;font-size:11px;margin-top:1px;}
.plan-feature.locked{color:var(--tm);opacity:.6;}

/* Pricing section */
.upgrade-pricing{padding:0 16px 16px;}
.price-row{display:flex;gap:10px;margin-bottom:12px;}
.price-pill{flex:1;background:var(--s2);border:2px solid var(--b);border-radius:var(--rads);padding:12px 8px;text-align:center;cursor:pointer;transition:all .2s;}
.price-pill.active{border-color:#f59e0b;background:rgba(245,158,11,.1);}
.coming-soon-pill{cursor:default;pointer-events:none;opacity:.96;background:linear-gradient(180deg,rgba(255,255,255,.02),transparent),var(--s2);border-color:rgba(245,158,11,.18);}
.price-pill-amount{font-family:var(--fe);font-size:17px;font-weight:700;color:var(--tb);}
.price-pill-period{font-size:10px;color:var(--tm);margin-top:2px;}
.price-pill-badge{font-size:9px;color:#f59e0b;font-weight:700;letter-spacing:.5px;margin-top:3px;}

/* CTA buttons */
.upgrade-cta{padding:0 16px;}
.btn-upgrade-primary{width:100%;padding:15px;background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:var(--rad);color:#fff;font-family:var(--fa);font-size:15px;font-weight:700;cursor:pointer;transition:all .2s;margin-bottom:10px;box-shadow:0 4px 20px rgba(245,158,11,.35);}
.btn-upgrade-primary:hover{background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 6px 28px rgba(245,158,11,.5);}
.btn-upgrade-primary:active{transform:scale(.98);}
.btn-upgrade-primary.btn-upgrade-disabled,
.btn-upgrade-primary.btn-upgrade-disabled:hover{background:linear-gradient(135deg,#2EA8E5,#1565C0);box-shadow:none;cursor:default;opacity:1;}
.btn-upgrade-secondary{width:100%;padding:12px;background:transparent;border:1px solid var(--b);border-radius:var(--rad);color:var(--tm);font-family:var(--fa);font-size:13px;cursor:pointer;transition:all .2s;}
.btn-upgrade-secondary:hover{border-color:var(--bb);color:var(--t);}
.upgrade-note{text-align:center;font-size:10px;color:var(--tm);padding:12px 16px 0;font-family:var(--fe);}

/* Pulse animation for upgrade button */
@keyframes upgrade-pulse{0%{box-shadow:0 0 0 0 rgba(245,158,11,.6)}70%{box-shadow:0 0 0 10px rgba(245,158,11,0)}100%{box-shadow:0 0 0 0 rgba(245,158,11,0)}}
.upgrade-pulse{animation:upgrade-pulse .8s ease!important;}
#set-upgrade-btn.upgrade-pulse{animation:upgrade-pulse .8s ease;}

/* Plan status pill in settings */
.plan-status-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:10px;font-size:11px;font-family:var(--fe);font-weight:700;}
.plan-status-pill.free{background:var(--s3);color:var(--tm);border:1px solid var(--b);}
.plan-status-pill.pro{background:rgba(245,158,11,.15);color:#f59e0b;border:1px solid rgba(245,158,11,.3);}
.plan-status-pill.early{background:linear-gradient(135deg,rgba(46,168,229,.08),rgba(184,247,90,.12));color:var(--a2);border:1px solid rgba(46,168,229,.16);}

/* Test mode buttons in settings */
.test-plan-row{padding:12px 16px;background:var(--s2);border-radius:var(--rads);margin:8px 0;display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.test-plan-btn{padding:10px 8px;border-radius:var(--rad);border:1px solid var(--b);background:var(--s2);color:var(--t);font-family:var(--fa);cursor:pointer;transition:all .2s;text-align:center;-webkit-tap-highlight-color:transparent;}
.test-plan-btn:hover{border-color:var(--bb);background:var(--s3);}
.test-plan-btn:active{transform:scale(.97);}
.test-plan-btn.active-plan{border-color:#f59e0b;background:linear-gradient(135deg,rgba(245,158,11,.15),rgba(245,158,11,.06));box-shadow:0 0 0 1px rgba(245,158,11,.3);}
.test-plan-btn.active-plan div{color:#f59e0b!important;}
.ea-price-preview{padding:12px 16px;display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.ea-price-card{background:linear-gradient(180deg,rgba(255,255,255,.02),transparent),var(--s2);border:1px solid var(--b);border-radius:14px;padding:12px;box-shadow:inset 0 1px 0 rgba(255,255,255,.03);}
.ea-price-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
.ea-price-name{font-size:12px;font-weight:700;color:var(--tb);margin-bottom:4px;}
.ea-price-amount{font-size:11px;color:var(--tm);line-height:1.5;}
.ea-soon-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:999px;background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.18);color:#f59e0b;font-size:10px;font-weight:700;white-space:nowrap;}
/* Feature row in plan status */
.ptg-feat{display:flex;align-items:center;gap:5px;font-size:10px;font-family:var(--fe);padding:3px 0;color:var(--tm);}
.ptg-feat.ok{color:var(--g);}
.ptg-feat.no{color:var(--r);opacity:.7;}

/* ── NAV RED DOTS ──────────────────────────────────────────────────────── */
.nav-red-dot{position:absolute;top:-2px;inset-inline-end:-3px;width:7px;height:7px;background:#ef4444;border-radius:50%;border:1.5px solid var(--bg);pointer-events:none;flex-shrink:0;}

/* ── CALC MODE SWITCH (Basic / Advanced) ──────────────────────────────── */
.calc-mode-row{display:flex;gap:0;margin:10px 0 0;background:var(--s2);border:1px solid var(--b);border-radius:var(--rads);overflow:hidden;}
.calc-mode-btn{flex:1;padding:9px 12px;border:none;background:transparent;color:var(--tm);font-family:var(--fe);font-size:12px;font-weight:600;letter-spacing:.5px;cursor:pointer;transition:all .2s;text-transform:uppercase;}
.calc-mode-btn:first-child{border-inline-end:1px solid var(--b);}
.calc-mode-btn.active{background:var(--s3);color:var(--a);box-shadow:inset 0 -2px 0 var(--a);}
.calc-mode-btn:not(.active):hover{background:var(--s3);color:var(--t);}

/* ── ADVANCED DUCT ANALYSIS BLOCK ────────────────────────────────────── */
.adv-duct-block{background:var(--s1);border:1px solid var(--b);border-radius:var(--rad);padding:14px;margin-top:10px;position:relative;overflow:hidden;}
.adv-duct-block::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--a2),transparent);}
.adv-duct-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:12px;}
.adv-duct-title{font-family:var(--fe);font-size:11px;font-weight:700;color:var(--tb);letter-spacing:.5px;text-transform:uppercase;}
.adv-duct-ref{font-family:var(--fm);font-size:9px;color:var(--tm);white-space:nowrap;flex-shrink:0;}
.adv-duct-section{background:linear-gradient(180deg,rgba(255,255,255,.02),transparent),var(--s2);border:1px solid var(--b);border-radius:16px;padding:12px 12px 10px;margin-bottom:12px;}
.adv-duct-section-supply{box-shadow:inset 0 1px 0 rgba(52,211,153,.08);}
.adv-duct-section-return{box-shadow:inset 0 1px 0 rgba(14,165,233,.08);}
.adv-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--b);}
.adv-section-label{font-family:var(--fe);font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--a);margin:0;}
.adv-section-note{font-family:var(--fm);font-size:9px;color:var(--tm);white-space:nowrap;}
.adv-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:0;}
.adv-field{background:rgba(255,255,255,.02);border:1px solid var(--b);border-radius:12px;padding:10px 11px;min-height:78px;display:flex;flex-direction:column;justify-content:space-between;}
.adv-field-wide{grid-column:1/-1;}
.adv-field-lbl{font-family:var(--fe);font-size:9px;color:var(--tm);text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px;}
.adv-field-val{font-family:var(--fm);font-size:16px;font-weight:700;color:var(--tb);line-height:1.2;}
.adv-field-unit{display:none;}
.adv-field-main{font-family:var(--fm);font-size:17px;font-weight:700;color:var(--tb);line-height:1.25;}
.adv-field-sub{font-family:var(--fe);font-size:10px;color:var(--tm);margin-top:6px;line-height:1.45;}
.adv-duct-note{font-family:var(--fm);font-size:9px;color:var(--tm);line-height:1.5;border-top:1px solid var(--b);padding-top:8px;margin-top:4px;}
.adv-duct-summary{display:grid;gap:10px;}
.adv-duct-summary-intro{font-size:10px;line-height:1.7;color:var(--tm);}
.adv-duct-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.adv-duct-summary-card{background:linear-gradient(180deg,rgba(255,255,255,.02),transparent),var(--s2);border:1px solid var(--b);border-radius:14px;padding:11px 12px;}
.adv-duct-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:8px;}
.adv-duct-summary-title{font-family:var(--fe);font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--tb);}
.adv-duct-summary-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 9px;border-radius:999px;font-size:10px;font-weight:700;white-space:nowrap;border:1px solid transparent;}
.adv-duct-summary-badge-good{background:rgba(34,197,94,.12);color:#22c55e;border-color:rgba(34,197,94,.24);}
.adv-duct-summary-badge-ok{background:rgba(14,165,233,.12);color:#38bdf8;border-color:rgba(14,165,233,.24);}
.adv-duct-summary-badge-warn{background:rgba(245,158,11,.12);color:#f59e0b;border-color:rgba(245,158,11,.26);}
.adv-duct-summary-badge-bad{background:rgba(239,68,68,.12);color:#ef4444;border-color:rgba(239,68,68,.26);}
.adv-duct-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px;}
.adv-duct-pill{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:700;border:1px solid transparent;}
.adv-duct-pill-good{background:rgba(34,197,94,.12);color:#22c55e;border-color:rgba(34,197,94,.22);}
.adv-duct-pill-ok{background:rgba(14,165,233,.12);color:#38bdf8;border-color:rgba(14,165,233,.22);}
.adv-duct-pill-warn{background:rgba(245,158,11,.12);color:#f59e0b;border-color:rgba(245,158,11,.22);}
.adv-duct-pill-bad{background:rgba(239,68,68,.12);color:#ef4444;border-color:rgba(239,68,68,.22);}
.adv-duct-summary-copy{display:grid;gap:3px;font-size:10px;line-height:1.6;color:var(--tm);}
.adv-duct-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:9px;}
.adv-duct-metric{background:rgba(255,255,255,.02);border:1px solid var(--b);border-radius:10px;padding:8px 9px;}
.adv-duct-metric-lbl{font-size:9px;color:var(--tm);font-family:var(--fe);letter-spacing:.6px;text-transform:uppercase;margin-bottom:4px;}
.adv-duct-metric-val{font-family:var(--fm);font-size:12px;font-weight:700;color:var(--tb);line-height:1.35;}
.adv-duct-metric-good{border-color:rgba(34,197,94,.24);background:rgba(34,197,94,.06);}
.adv-duct-metric-warn{border-color:rgba(245,158,11,.26);background:rgba(245,158,11,.07);}
.adv-duct-metric-bad{border-color:rgba(239,68,68,.26);background:rgba(239,68,68,.07);}
.adv-duct-standards{display:grid;gap:10px;background:linear-gradient(135deg,rgba(14,165,233,.06),rgba(99,102,241,.05));border:1px solid rgba(125,211,252,.16);border-radius:14px;padding:12px;}
.adv-duct-standards-title{font-family:var(--fe);font-size:11px;font-weight:700;letter-spacing:.8px;color:var(--tb);}
.adv-duct-standards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.adv-std-card{background:var(--s2);border:1px solid var(--b);border-radius:10px;padding:10px;}
.adv-std-card-title{font-size:10px;font-weight:700;color:var(--tb);margin-bottom:5px;line-height:1.4;}
.adv-std-card-copy{font-size:10px;line-height:1.6;color:var(--tm);}
.adv-std-current{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.adv-std-row{background:var(--s2);border:1px solid var(--b);border-radius:10px;padding:10px;display:grid;gap:5px;}
.adv-std-row-head{font-size:10px;font-weight:700;color:var(--tb);}
.adv-std-row-val{justify-self:start;}
.adv-std-row-copy{font-size:10px;line-height:1.6;color:var(--tm);}
.adv-duct-recommend{background:linear-gradient(135deg,rgba(56,189,248,.08),rgba(52,211,153,.06));border:1px solid rgba(125,211,252,.16);border-radius:12px;padding:10px 12px;font-size:10px;line-height:1.7;color:var(--tb);font-weight:600;}
.adv-duct-footnote{font-size:9px;line-height:1.6;color:var(--tm);}

/* CALCULATOR HERO + FIRST-SCREEN POLISH */
.calc-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(14,165,233,.18),rgba(56,189,248,.06) 45%,rgba(52,211,153,.08));border:1px solid rgba(125,211,252,.24);border-radius:18px;padding:14px 16px 12px;margin-bottom:10px;box-shadow:0 14px 36px rgba(2,8,23,.22);}
.calc-hero::before{content:'';position:absolute;inset:auto -40px -60px auto;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.12) 0%,transparent 70%);pointer-events:none;}
.hero-copy{position:relative;z-index:1;margin-bottom:10px;}
.hero-kicker,.results-kicker,.input-kicker{font-size:9px;letter-spacing:1.8px;text-transform:uppercase;font-family:var(--fe);color:#bae6fd;margin-bottom:6px;}
.results-kicker{font-size:clamp(17px,2vw,20px);letter-spacing:0;text-transform:none;font-family:var(--fa);font-weight:700;line-height:1.2;}
.hero-title{font-family:var(--fe);font-size:22px;line-height:1.05;color:var(--tb);margin-bottom:6px;max-width:12ch;}
.hero-subtitle{font-size:12px;line-height:1.55;color:rgba(226,232,240,.84);max-width:42ch;}
.hero-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;position:relative;z-index:1;}
.hero-step{display:flex;align-items:center;gap:6px;background:rgba(15,23,42,.42);border:1px solid rgba(186,230,253,.14);border-radius:12px;padding:8px 10px;}
.hero-step-no{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(56,189,248,.18);border:1px solid rgba(56,189,248,.25);color:#e0f2fe;font-family:var(--fm);font-size:10px;font-weight:700;flex-shrink:0;}
.hero-step-text{font-size:10px;color:var(--tb);font-weight:600;line-height:1.2;}
.results-dash{padding-top:16px;box-shadow:0 16px 40px rgba(2,8,23,.18);}
.results-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:14px;}
.results-caption{font-size:12px;line-height:1.5;color:var(--tm);max-width:34ch;}
.results-mode-toggle{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 8px;background:rgba(255,255,255,.55);border:1px solid rgba(46,168,229,.12);border-radius:14px;}
.results-mode-btn{border:none;background:transparent;color:var(--tm);border:1px solid transparent;border-radius:10px;padding:8px 14px;font-size:11px;font-family:var(--fe);font-weight:700;cursor:pointer;transition:all .18s ease;min-height:36px;}
.results-mode-btn.on{background:rgba(46,168,229,.08);color:#1565C0;border-color:rgba(46,168,229,.16);box-shadow:none;}
.input-card{padding:18px;}
.room-card{background:linear-gradient(180deg,rgba(255,255,255,.015),transparent),var(--s1);}
.devices-card{background:linear-gradient(180deg,rgba(52,211,153,.035),transparent),var(--s1);}
.input-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--b);}
.input-title{font-size:20px;font-family:var(--fe);font-weight:700;color:var(--tb);line-height:1.1;}
.input-note{max-width:26ch;font-size:12px;line-height:1.6;color:var(--tm);}
.calc-cta-panel{background:linear-gradient(135deg,rgba(14,165,233,.08),rgba(52,211,153,.05));border:1px solid rgba(125,211,252,.18);border-radius:18px;padding:16px;margin-bottom:10px;}
.cta-head{margin-bottom:10px;padding-bottom:12px;}
.calc-cta-panel .disclaimer{margin-bottom:12px;background:rgba(15,23,42,.28);}
.calc-btn{min-height:56px;border:1px solid rgba(125,211,252,.18);font-size:16px;letter-spacing:1.2px;}
.ifield-wrap,.dd-btn,.add-btn,.met,.card,.dev-row,.hist-item,.qi-item,.cum-item{box-shadow:inset 0 1px 0 rgba(255,255,255,.02);}

body.light-theme .calc-hero{background:linear-gradient(135deg,rgba(46,168,229,.14),rgba(46,168,229,.06) 45%,rgba(184,247,90,.08));border-color:rgba(46,168,229,.18);box-shadow:0 18px 44px rgba(21,37,53,.08);}
body.light-theme .hero-kicker,body.light-theme .results-kicker,body.light-theme .input-kicker{color:#1565C0;}
body.light-theme .hero-subtitle{color:rgba(30,41,59,.75);}
body.light-theme .hero-step{background:rgba(255,255,255,.7);border-color:rgba(46,168,229,.12);}
body.light-theme .hero-step-no{background:rgba(46,168,229,.1);border-color:rgba(46,168,229,.18);color:#1565C0;}
body.light-theme .calc-cta-panel .disclaimer{background:rgba(255,255,255,.55);}

@media(max-width:520px){
  .hero-steps{grid-template-columns:1fr;}
  .hero-title{font-size:20px;max-width:none;}
  .input-head{flex-direction:column;}
  .input-note,.results-caption{max-width:none;}
  .dim-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
  .adv-grid,.adv-duct-summary-grid{grid-template-columns:1fr;}
  .adv-duct-metric-grid,.adv-duct-standards-grid,.adv-std-current{grid-template-columns:1fr;}
  .adv-duct-summary-head{flex-direction:column;align-items:flex-start;}
  .tech-room-item{flex-direction:column;align-items:flex-start;}
  .tech-room-stats{align-items:flex-start;white-space:normal;}
}

@media(min-width:1100px){
  .app{max-width:1280px;padding:28px 28px 140px;}
  .header{padding:6px 0 18px;}
  #p-calc.panel.on{
    display:grid;
    grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);
    gap:16px;
    align-items:start;
  }
  #p-calc .calc-hero{
    grid-column:1 / -1;
    padding:16px 18px 14px;
  }
  #p-calc .hero-title{font-size:26px;max-width:14ch;}
  #p-calc .hero-steps{grid-template-columns:repeat(3,minmax(0,1fr));}
  #p-calc .results-dash{
    grid-column:1;
    margin-bottom:0;
  }
  #p-calc .room-card{
    grid-column:1;
    margin-bottom:0;
  }
  #p-calc .devices-card{
    grid-column:2;
    grid-row:2 / span 3;
    position:sticky;
    top:24px;
    margin-bottom:0;
  }
  #p-calc .calc-cta-panel{
    grid-column:1;
    margin-bottom:0;
  }
  #p-calc .breakdown{
    grid-column:1;
    margin-bottom:0;
  }
  #p-calc .hc-card{
    grid-column:2;
    margin-bottom:0;
  }
  #p-calc .calc-rooms-card,
  #p-calc #add-quote-wrap{
    grid-column:1;
    margin-top:0 !important;
  }
  .dash-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
  .row2{grid-template-columns:1fr 1fr;}
  .card,.calc-cta-panel,.dash{border-radius:16px;}
}

/* UI refresh: clearer hierarchy, stronger touch targets, and desktop polish */
:root{
  --surface-glow:0 18px 48px rgba(2,8,23,.24);
  --tap:48px;
}

body{
  background:
    radial-gradient(circle at 12% 8%,rgba(56,189,248,.1),transparent 30rem),
    radial-gradient(circle at 88% 0%,rgba(52,211,153,.07),transparent 28rem),
    var(--bg);
  line-height:1.45;
}

body.light-theme{
  background:
    radial-gradient(circle at 12% 8%,rgba(46,168,229,.09),transparent 30rem),
    radial-gradient(circle at 88% 0%,rgba(184,247,90,.08),transparent 28rem),
    var(--bg);
}

.app{
  width:min(100%,480px);
}

.logo{
  direction:ltr;
  min-width:0;
}

.logo-brand-img{
  display:block;
  width:auto;
  height:48px;
  max-width:min(38vw,220px);
  object-fit:contain;
}

.logo>div{
  min-width:0;
}

.logo-text{
  max-width:150px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  letter-spacing:0;
}

.header{
  position:sticky;
  top:0;
  z-index:90;
  margin:-16px -16px 12px;
  padding:14px 16px 12px;
  background:linear-gradient(180deg,rgba(10,14,23,.96),rgba(10,14,23,.78) 72%,transparent);
  backdrop-filter:blur(18px);
}

body.light-theme .header{
  background:linear-gradient(180deg,rgba(240,244,248,.96),rgba(240,244,248,.8) 72%,transparent);
}

.logo-icon{
  border-radius:14px!important;
  box-shadow:0 10px 26px rgba(14,165,233,.28)!important;
}

@media (max-width: 520px){
  .logo-brand-img{
    height:42px;
    max-width:min(48vw,180px);
  }
  .auth-account-row,
  .auth-account-meta{
    align-items:flex-start;
  }
  .auth-settings-btn,
  .auth-logout-btn{
    width:100%;
    justify-content:center;
  }
}

.lang-btn{
  min-width:var(--tap);
  min-height:42px;
  border-radius:999px;
  padding:8px 13px;
}

.calc-hero{
  direction:ltr;
  text-align:left;
  border-radius:20px;
  padding:18px;
  margin-bottom:12px;
  background:
    linear-gradient(135deg,rgba(14,165,233,.2),rgba(56,189,248,.07) 42%,rgba(52,211,153,.11)),
    linear-gradient(180deg,rgba(255,255,255,.05),transparent);
}

.calc-hero::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 42%);
  pointer-events:none;
}

.hero-title{
  font-size:28px;
  letter-spacing:0;
  max-width:none;
}

.hero-subtitle{
  color:rgba(226,232,240,.9);
}

.hero-step{
  min-height:44px;
  border-radius:14px;
  backdrop-filter:blur(10px);
}

.results-dash,.results-head,.met{
  direction:ltr;
  text-align:left;
}

.dash,.card,.calc-cta-panel,.quote-card,.cum-card,.set-group,.con-card,.adv-duct-block,.pm-card{
  box-shadow:var(--surface-glow);
}

.dash,.card,.calc-cta-panel,.quote-card,.cum-card,.set-group,.con-card,.adv-duct-block,.pm-card,.modal,.upgrade-sheet{
  border-color:rgba(125,211,252,.18);
}

.dash-grid,.cum-grid,.q-hdr-grid,.qi-tech,.proj-totals-grid{
  gap:12px;
}

.met{
  min-height:104px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:14px;
}

.met-val{
  font-size:30px;
  letter-spacing:0;
}

.input-title{
  font-size:22px;
  letter-spacing:0;
}

.lbl,.met-lbl,.cum-lbl,.qi-slbl,.adv-field-lbl{
  letter-spacing:.9px;
}

.ifield-wrap,.dd-btn,.add-btn,.calc-btn,.exp-btn,.exp-btn-csv,.exp-btn-hap,.exp-btn-inv,.exp-btn-pdf,.exp-btn-tech,.minp,.qs-sel,.qs-ta,.proj-search-inp,.test-plan-btn{
  min-height:var(--tap);
}

.dim-field{
  min-height:40px;
}

.ifield-wrap,.dd-btn,.minp,.qs-sel,.qs-ta,.proj-search-inp{
  background:linear-gradient(180deg,rgba(255,255,255,.035),transparent),var(--s2);
}

.ifield-wrap:focus-within,.dd-btn.open,.minp:focus,.qs-sel:focus,.qs-ta:focus,.proj-search-inp:focus{
  box-shadow:0 0 0 3px rgba(56,189,248,.16);
}

.dd-menu{
  border-radius:14px;
  max-height:min(360px,58vh);
}

.dd-item,.cat-item,.hist-item,.qi-item,.pm-card{
  transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;
}

.cat-item:hover,.hist-item:hover,.qi-item:hover,.pm-card:hover{
  transform:translateY(-1px);
}

.calc-btn{
  border-radius:14px;
  box-shadow:0 14px 30px rgba(14,165,233,.25);
}

.calc-btn:active,.add-btn:active,.lang-btn:active,.ni:active{
  transform:scale(.98);
}

.modal{
  border-radius:22px 22px 0 0;
  box-shadow:0 -24px 60px rgba(0,0,0,.45);
}

.modal-x,.upgrade-sheet-close{
  min-width:38px;
  min-height:38px;
}

.bnav{
  left:50%;
  right:auto;
  transform:translateX(-50%);
  width:min(calc(100% - 20px),560px);
  direction:ltr;
  justify-content:stretch;
  gap:2px;
  bottom:10px;
  border:1px solid rgba(125,211,252,.16);
  border-radius:22px;
  padding:8px max(8px,env(safe-area-inset-left)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-right));
  background:rgba(10,14,23,.9);
  box-shadow:0 18px 50px rgba(0,0,0,.34);
}

body.light-theme .bnav{
  background:rgba(255,255,255,.9);
  box-shadow:0 16px 42px rgba(15,23,42,.14);
}

.ni{
  flex:1 1 0;
  min-width:0;
  min-height:52px;
  border-radius:16px;
  justify-content:center;
  padding:6px 3px;
}

#ni-calc{order:1;}
#ni-tech{order:2;}
#ni-hist{order:3;}
#ni-projects{order:4;}
#ni-contact{order:5;}
#ni-settings{order:6;}

.ni.on{
  background:rgba(56,189,248,.12);
  color:var(--a);
}

.ni-svg{
  width:23px;
  height:23px;
}

.ni-lbl{
  width:100%;
  max-width:100%;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  line-height:1.15;
}

.toast{
  bottom:92px;
  border-radius:999px;
  box-shadow:0 16px 38px rgba(0,0,0,.32);
}

body.light-theme .calc-hero{
  background:
    linear-gradient(135deg,rgba(46,168,229,.15),rgba(46,168,229,.055) 42%,rgba(184,247,90,.08)),
    linear-gradient(180deg,rgba(255,255,255,.75),transparent);
}

body.light-theme .hero-subtitle{
  color:rgba(30,41,59,.78);
}

@media(max-width:380px){
  .app{padding-inline:12px;}
  .header{margin-inline:-12px;padding-inline:12px;}
  .dash-grid{grid-template-columns:1fr;}
  .row2,.q-hdr-grid,.exp-row,.upgrade-plans,.price-row{grid-template-columns:1fr;}
  .quote-proj-pricing-grid{grid-template-columns:1fr;}
  .quote-proj-pricing-card #proj-line-total{justify-content:space-between;}
  .quote-readonly-grid{grid-template-columns:1fr;}
  .room-top-row{grid-template-columns:minmax(92px,1fr) minmax(66px,78px) minmax(66px,78px);gap:6px;}
  .room-top-row .ifield-wrap,.room-top-row .dd-btn{padding-inline:6px;}
  .room-top-row .ninput{font-size:13px;}
  .dim-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;}
  .auth-mode-tabs{grid-template-columns:1fr;}
  .dim-field{padding-inline:6px;}
  .dim-field .ninput{font-size:13px;}
  .dim-field .unit-chip{font-size:10px;padding-inline:5px;}
  .met{min-height:92px;}
  .met-val{font-size:28px;}
  .ni{min-width:48px;padding-inline:8px;}
  .ni-lbl{font-size:9px;max-width:56px;}
}

@media(min-width:680px){
  .app{width:min(100%,720px);}
  .header{margin:-24px -24px 16px;padding:18px 24px 14px;}
  .dash-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
  .met{min-height:112px;}
}

@media(min-width:1100px){
  .app{width:min(100%,1280px);}
  .header{
    margin:-28px -28px 18px;
    padding:18px 28px 14px;
  }
  #p-calc.panel.on{
    grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);
    gap:18px;
  }
  #p-calc .calc-hero{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);
    align-items:end;
    gap:20px;
    padding:22px 24px;
  }
  #p-calc .hero-copy{margin-bottom:0;}
  #p-calc .hero-title{font-size:34px;}
  #p-calc .hero-steps{align-self:stretch;}
  .bnav{bottom:18px;}
}

/* Light professional refresh: minimal Apple-inspired surfaces */
body.light-theme{
  --bg:#F7FAFC;
  --s1:#ffffff;
  --s2:#F4F9FC;
  --s3:#EEF6FB;
  --b:rgba(226,232,240,.95);
  --bb:rgba(46,168,229,.24);
  --a:#2EA8E5;
  --a2:#1565C0;
  --ag:rgba(46,168,229,.16);
  --ad:rgba(46,168,229,.08);
  --g:#4CAF50;
  --gd:rgba(76,175,80,.1);
  --am:#F59E0B;
  --amd:rgba(245,158,11,.12);
  --r:#D14343;
  --rd:rgba(217,45,32,.08);
  --t:#333333;
  --tm:#64748B;
  --tb:#1F2937;
  --rad:10px;
  --rads:8px;
  --surface-glow:0 8px 24px rgba(15,23,42,.055);
  background:#F7FAFC;
}

body.light-theme::before,
body.light-theme::after{
  display:none;
}

body.light-theme .app{
  background:transparent;
}

body.light-theme .header{
  background:rgba(247,250,252,.84);
  border-bottom:1px solid rgba(226,232,240,.95);
  box-shadow:none;
}

body.light-theme .logo-icon{
  box-shadow:0 8px 20px rgba(46,168,229,.18)!important;
}

body.light-theme .logo-text{
  color:#111827;
}

body.light-theme .logo-sub,
body.light-theme .hero-kicker,
body.light-theme .results-kicker,
body.light-theme .input-kicker,
body.light-theme .sec-ttl,
body.light-theme .lbl{
  color:#6e6e73;
  letter-spacing:.04em;
}

body.light-theme .lang-btn{
  background:linear-gradient(180deg,#FFFFFF,#F4F9FC);
  border-color:rgba(46,168,229,.18);
  color:#333333;
  box-shadow:0 4px 14px rgba(46,168,229,.08);
}

body.light-theme .lang-btn:hover{
  border-color:rgba(46,168,229,.3);
  color:#1565C0;
}

body.light-theme .calc-hero{
  background:#fff;
  border-color:rgba(15,23,42,.08);
  box-shadow:var(--surface-glow);
  border-radius:10px;
}

body.light-theme .calc-hero::before,
body.light-theme .calc-hero::after,
body.light-theme .dash::before,
body.light-theme .quote-card::before,
body.light-theme .cum-card::before{
  display:none;
}

body.light-theme .hero-title,
body.light-theme .input-title,
body.light-theme .modal-ttl,
body.light-theme .upgrade-hero-title{
  color:#111827;
  letter-spacing:0;
}

body.light-theme .hero-subtitle,
body.light-theme .results-caption,
body.light-theme .input-note{
  color:#6e6e73;
}

body.light-theme .hero-step{
  background:#F7FAFC;
  border-color:rgba(46,168,229,.08);
  border-radius:8px;
  backdrop-filter:none;
}

body.light-theme .hero-step-no{
  background:#fff;
  color:#1565C0;
  border-color:rgba(46,168,229,.2);
}

body.light-theme .hero-step-text{
  color:#1d1d1f;
}

body.light-theme .dash,
body.light-theme .card,
body.light-theme .calc-cta-panel,
body.light-theme .quote-card,
body.light-theme .cum-card,
body.light-theme .set-group,
body.light-theme .con-card,
body.light-theme .adv-duct-block,
body.light-theme .pm-card,
body.light-theme .modal,
body.light-theme .upgrade-sheet{
  background:
    linear-gradient(180deg,rgba(184,247,90,.08),rgba(184,247,90,0) 56%),
    #fff;
  border-color:rgba(226,232,240,.95);
  border-radius:10px;
  box-shadow:var(--surface-glow);
}

body.light-theme .room-card,
body.light-theme .devices-card,
body.light-theme .hc-card{
  background:
    linear-gradient(180deg,rgba(184,247,90,.1),rgba(184,247,90,0) 54%),
    linear-gradient(180deg,#FFFFFF,rgba(244,249,252,.72));
}

body.light-theme .results-dash{
  background:
    linear-gradient(180deg,rgba(184,247,90,.1),rgba(184,247,90,0) 52%),
    linear-gradient(180deg,#FFFFFF,rgba(238,246,251,.92));
  border-color:rgba(46,168,229,.26);
  box-shadow:0 14px 36px rgba(46,168,229,.09);
}

body.light-theme .room-card{
  border-color:rgba(46,168,229,.24);
  box-shadow:0 12px 28px rgba(46,168,229,.06);
}

body.light-theme .room-card .input-title{
  display:inline-flex;
  align-items:center;
  padding:8px 14px;
  border-radius:14px;
  background:linear-gradient(135deg,#B8F75A,#A9EE45);
  color:#1F2937;
  box-shadow:0 8px 20px rgba(184,247,90,.2);
}

body.light-theme .devices-card .input-title{
  display:inline-flex;
  align-items:center;
  padding:8px 14px;
  border-radius:14px;
  background:linear-gradient(135deg,#F5A623,#FFB347);
  color:#1F2937;
  box-shadow:0 8px 20px rgba(245,166,35,.22);
  font-size:20px;
  font-family:var(--fe);
  font-weight:700;
  letter-spacing:0;
  text-transform:none;
}

body.light-theme .results-kicker{
  display:inline-flex;
  align-items:center;
  padding:8px 14px;
  border-radius:14px;
  background:linear-gradient(135deg,#2EA8E5,#6FD3FF);
  color:#FFFFFF;
  box-shadow:0 8px 20px rgba(46,168,229,.22);
}

body.light-theme #tech-ttl{
  display:inline-flex;
  align-items:center;
  padding:8px 14px;
  border-radius:14px;
  background:linear-gradient(135deg,#2EA8E5,#6FD3FF);
  color:#FFFFFF;
  box-shadow:0 8px 20px rgba(46,168,229,.22);
  font-size:20px;
  font-family:var(--fe);
  font-weight:700;
  letter-spacing:0;
  text-transform:none;
}

body.light-theme #tech-ttl::after{
  display:none;
}

body.light-theme #q-ttl{
  display:inline-flex;
  align-items:center;
  padding:8px 14px;
  border-radius:14px;
  background:linear-gradient(135deg,#F5A623,#FFB347);
  color:#1F2937;
  box-shadow:0 8px 20px rgba(245,166,35,.22);
  font-size:20px;
  font-family:var(--fe);
  font-weight:700;
  letter-spacing:0;
  text-transform:none;
}

body.light-theme #q-ttl::after{
  display:none;
}

body.light-theme #hist-ttl-lbl{
  display:inline-flex;
  align-items:center;
  padding:8px 14px;
  border-radius:14px;
  background:linear-gradient(135deg,#2EA8E5,#6FD3FF);
  color:#FFFFFF;
  box-shadow:0 8px 20px rgba(46,168,229,.22);
  font-size:20px;
  font-family:var(--fe);
  font-weight:700;
  letter-spacing:0;
  text-transform:none;
  line-height:1.1;
}

body.light-theme .hist-hdr #hist-count{
  display:none;
}

body.light-theme .devices-card{
  border-color:rgba(184,247,90,.42);
  box-shadow:0 12px 28px rgba(76,175,80,.07);
}

body.light-theme .calc-cta-panel{
  background:
    linear-gradient(180deg,rgba(184,247,90,.12),rgba(184,247,90,0) 50%),
    linear-gradient(135deg,rgba(46,168,229,.14),rgba(46,168,229,.06) 56%,rgba(184,247,90,.11));
  border-color:rgba(46,168,229,.3);
  box-shadow:0 14px 34px rgba(46,168,229,.09);
}

body.light-theme .hc-card{
  background:
    linear-gradient(180deg,rgba(184,247,90,.1),rgba(184,247,90,0) 54%),
    linear-gradient(135deg,rgba(76,175,80,.08),rgba(46,168,229,.04));
  border-color:rgba(76,175,80,.24);
}

body.light-theme .met,
body.light-theme .dev-row,
body.light-theme .qi-item,
body.light-theme .qi-stat,
body.light-theme .cum-item,
body.light-theme .adv-field,
body.light-theme .adv-duct-summary-card,
body.light-theme .proj-total-item,
body.light-theme .duct-block,
body.light-theme .hist-item{
  background:
    linear-gradient(180deg,rgba(184,247,90,.06),rgba(184,247,90,0) 52%),
    #F4F9FC;
  border-color:rgba(226,232,240,.95);
  box-shadow:none;
  border-radius:8px;
}

body.light-theme .met.p,
body.light-theme .met.g,
body.light-theme .met.am{
  border-width:1px;
}

body.light-theme .met.p{
  background:linear-gradient(135deg,rgba(46,168,229,.24),rgba(46,168,229,.1));
  border-color:rgba(46,168,229,.42);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8), 0 8px 18px rgba(46,168,229,.08);
}

body.light-theme .met.g{
  background:linear-gradient(135deg,rgba(184,247,90,.24),rgba(184,247,90,.08));
  border-color:rgba(184,247,90,.42);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8), 0 8px 18px rgba(184,247,90,.1);
}

body.light-theme .met.am{
  background:linear-gradient(135deg,rgba(245,166,35,.24),rgba(245,166,35,.08));
  border-color:rgba(245,166,35,.42);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8), 0 8px 18px rgba(245,166,35,.1);
}

body.light-theme .met.p .met-val{
  color:#2EA8E5;
}

body.light-theme .met.g .met-val{
  color:#7CB518;
}

body.light-theme .met.am .met-val{
  color:#F5A623;
}

body.light-theme .met.p .met-lbl,
body.light-theme .met.p .met-unit{
  color:#1D79B8;
}

body.light-theme .met.g .met-lbl,
body.light-theme .met.g .met-unit{
  color:#5E8F18;
}

body.light-theme .met.am .met-lbl,
body.light-theme .met.am .met-unit{
  color:#B86B00;
}

body.light-theme .ifield-wrap,
body.light-theme .dd-btn,
body.light-theme .minp,
body.light-theme .qs-sel,
body.light-theme .qs-ta,
body.light-theme .proj-search-inp,
body.light-theme .esp-inp{
  background:#fff;
  border-color:rgba(46,168,229,.16);
  border-radius:8px;
  box-shadow:0 1px 0 rgba(255,255,255,.9);
}

body.light-theme .ifield-wrap:focus-within,
body.light-theme .dd-btn.open,
body.light-theme .minp:focus,
body.light-theme .qs-sel:focus,
body.light-theme .qs-ta:focus,
body.light-theme .proj-search-inp:focus{
  border-color:#2EA8E5;
  box-shadow:0 0 0 4px rgba(46,168,229,.12);
}

body.light-theme .ninput,
body.light-theme .minp,
body.light-theme .qs-ta,
body.light-theme .qs-sel,
body.light-theme .proj-search-inp{
  color:#1d1d1f;
}
body.light-theme .load-factor-row .ifield-wrap{
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(244,249,252,.94));
  border-color:rgba(46,168,229,.18);
}
body.light-theme .load-factor-preset-wrap{
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(244,249,252,.94));
}
body.light-theme .load-factor-row .qs-sel{
  color:#1565C0;
}
body.light-theme .load-factor-value-wrap .ninput{
  color:#1d1d1f;
}
body.light-theme .calc-mode-note.rot{
  background:linear-gradient(135deg,rgba(46,168,229,.06),rgba(184,247,90,.07));
  border-color:rgba(46,168,229,.16);
}

body.light-theme .calc-volume-wrap{
  background:#F1FBF6;
}

body.light-theme .stepper-btn{
  background:#f2f4f7;
  color:#6e6e73;
}

body.light-theme .stepper-btn:hover{
  background:rgba(46,168,229,.09);
  color:#2EA8E5;
}
body.light-theme .count-like-btn{
  background:#F7FAFC;
  border-color:rgba(226,232,240,.95);
  color:#4b5563;
}
body.light-theme .count-like-btn:hover{
  background:rgba(46,168,229,.09);
  border-color:rgba(46,168,229,.18);
  color:#2EA8E5;
}

body.light-theme .unit-chip,
body.light-theme .badge,
body.light-theme .dd-badge,
body.light-theme .room-count,
body.light-theme .hc-meta{
  border-radius:7px;
}

body.light-theme .dd-menu{
  background:#fff;
  border-color:rgba(15,23,42,.1);
  box-shadow:0 18px 40px rgba(15,23,42,.12);
}

body.light-theme .dd-cat-hdr{
  background:#F4F9FC;
  color:#1565C0;
  border-color:rgba(226,232,240,.95);
}

body.light-theme .dd-item:hover,
body.light-theme .dd-item.sel{
  background:linear-gradient(135deg,rgba(46,168,229,.14),rgba(46,168,229,.06));
  color:#1565C0;
}

body.light-theme .input-head,
body.light-theme .br-row,
body.light-theme .set-item,
body.light-theme .qi-head{
  border-color:rgba(15,23,42,.07);
}

body.light-theme .calc-btn,
body.light-theme .exp-btn,
body.light-theme .exp-btn-pdf,
body.light-theme .exp-btn-tech,
body.light-theme .btn-upgrade-primary{
  border-radius:8px;
  box-shadow:none;
}

body.light-theme .calc-btn{
  background:linear-gradient(135deg,#1565C0,#2EA8E5);
  border-color:#2EA8E5;
  color:#fff;
  box-shadow:0 14px 30px rgba(46,168,229,.28);
}

body.light-theme .add-btn,
body.light-theme .exp-btn-csv,
body.light-theme .exp-btn-inv{
  background:linear-gradient(180deg,#FFFFFF,rgba(244,249,252,.92));
  border-color:rgba(46,168,229,.28);
  color:#1565C0;
  border-radius:8px;
  box-shadow:0 6px 18px rgba(46,168,229,.06);
}

body.light-theme .exp-btn{
  background:linear-gradient(135deg,rgba(76,175,80,.16),rgba(76,175,80,.06));
  border-color:rgba(76,175,80,.3);
  color:#2E7D32;
}

body.light-theme .exp-btn-pdf{
  background:linear-gradient(135deg,rgba(209,67,67,.13),rgba(209,67,67,.05));
  border-color:rgba(209,67,67,.24);
  color:#C0392B;
}

body.light-theme .exp-btn-tech{
  background:linear-gradient(135deg,rgba(76,175,80,.16),rgba(46,168,229,.05));
  border-color:rgba(76,175,80,.28);
  color:#2E7D32;
}

body.light-theme .disclaimer{
  background:#FFF8E8;
  border-color:rgba(245,158,11,.2);
  color:#B45309;
}

body.light-theme .bnav{
  background:rgba(255,255,255,.92);
  border-color:rgba(46,168,229,.18);
  border-radius:18px;
  box-shadow:0 14px 34px rgba(46,168,229,.1);
}

body.light-theme .ni{
  border-radius:12px;
}

body.light-theme .ni.on{
  background:linear-gradient(135deg,#B8F75A,#A9EE45);
  color:#1565C0;
  box-shadow:inset 0 0 0 1px rgba(184,247,90,.55), 0 6px 16px rgba(184,247,90,.22);
}

body.light-theme .unit-chip{
  background:rgba(46,168,229,.12);
  border-color:rgba(46,168,229,.24);
  color:#2EA8E5;
}

body.light-theme .dev-total{
  background:linear-gradient(135deg,rgba(245,166,35,.14),rgba(245,166,35,.06));
  border-color:rgba(245,166,35,.28);
  color:#B86B00;
}

body.light-theme .toast{
  background:rgba(29,29,31,.92);
  color:#fff;
  box-shadow:0 12px 30px rgba(15,23,42,.18);
}

body.light-theme .modal{
  border-radius:18px 18px 0 0;
}

@media(min-width:1100px){
  body.light-theme #p-calc.panel.on{
    gap:20px;
  }
  body.light-theme #p-calc .devices-card{
    top:20px;
  }
}

@media (min-width: 1024px){
  .app{
    width:min(100%,1320px);
    max-width:1320px;
    margin-inline:auto;
    padding-inline:clamp(22px,3vw,40px);
    padding-bottom:150px;
  }

  .header{
    margin-inline:calc(clamp(22px,3vw,40px) * -1);
    margin-bottom:18px;
    padding-inline:clamp(22px,3vw,40px);
  }

  #p-calc.panel.on{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:18px;
    align-items:start;
  }

  #p-calc .calc-hero,
  #p-calc .results-dash,
  #p-calc .room-card,
  #p-calc .devices-card,
  #p-calc .calc-cta-panel,
  #p-calc .breakdown,
  #p-calc .calc-rooms-card,
  #p-calc #add-quote-wrap,
  #p-calc .hc-card{
    grid-column:1 / -1;
    margin-bottom:0;
    min-width:0;
  }

  #p-calc .room-card{ grid-row:auto; }
  #p-calc .devices-card{
    grid-row:auto;
    position:static;
    top:auto;
    align-self:auto;
  }
  #p-calc .calc-cta-panel{ grid-row:auto; }
  #p-calc .breakdown{ grid-row:auto; }
  #p-calc .calc-rooms-card{ grid-row:auto; }
  #p-calc #add-quote-wrap{ grid-row:auto; }
  #p-calc .hc-card{
    grid-row:auto;
    align-self:start;
  }

  .dash-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
  }

  .results-head{
    align-items:flex-end;
    gap:18px;
  }

  .results-caption{
    max-width:48ch;
  }

  .room-top-row{
    grid-template-columns:minmax(220px,1.25fr) minmax(110px,.52fr) minmax(110px,.52fr);
    gap:12px;
  }

  .dim-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
  }

  .calc-volume-wrap{
    min-height:48px;
  }

  .devices-card .dev-row{
    padding:12px 14px;
  }

  .devices-card .dev-info{
    min-width:0;
  }

  .devices-card .add-btn{
    min-height:48px;
  }

  .calc-cta-panel{
    padding:18px;
  }

  .bnav{
    left:50%;
    right:auto;
    transform:translateX(-50%);
    width:min(calc(100% - 36px),860px);
    bottom:18px;
    border:1px solid var(--b);
    border-radius:24px;
    padding:12px 14px max(12px,env(safe-area-inset-bottom));
    box-shadow:0 18px 46px rgba(15,23,42,.16);
  }

  .ni{
    padding:8px 14px;
  }

  .ni-lbl{
    font-size:11px;
    max-width:88px;
  }
}

@media (min-width: 768px){
  #p-settings{
    max-width:760px;
    margin-inline:auto;
  }
}

@media (min-width: 1440px){
  .app{
    width:min(100%,1360px);
    max-width:1360px;
  }

  #p-calc.panel.on{
    grid-template-columns:minmax(0,1.28fr) minmax(390px,.88fr);
    gap:22px;
  }

  #p-calc .calc-hero{
    padding:24px 26px;
  }
}

@media (min-width: 1024px){
  #p-hist.panel.on,
  #p-tech.panel.on{
    display:block;
  }

  #p-hist .quote-page,
  #p-tech .quote-page{
    gap:14px;
  }

  #p-hist .q-hdr-grid,
  #p-tech .q-hdr-grid{
    grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);
    gap:16px;
    align-items:start;
  }

  #p-hist .quote-main-card,
  #p-tech .tech-report-card{
    padding:20px;
  }

  #p-hist .q-summary,
  #p-tech .q-summary{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
  }

  #p-hist .q-sr.grow,
  #p-tech .q-sr.grow{
    grid-column:auto;
  }

  #p-hist .quote-transfer-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  #p-hist .quote-transfer-item-wide{
    grid-column:1 / -1;
  }

  #p-hist .quote-lower-grid{
    grid-template-columns:minmax(0,1.28fr) minmax(320px,.72fr);
    gap:14px;
    align-items:start;
  }

  #p-hist #quote-header-tools-slot,
  #p-hist #quote-settings-slot,
  #p-hist #quote-proj-pricing-inline-slot{
    gap:12px;
  }

  #p-hist .qi-tech{
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:8px;
  }

  #p-hist .qi-item,
  #p-tech .tech-room-item,
  #p-tech .proj-panel,
  #p-tech .adv-duct-block{
    min-width:0;
  }

  #p-tech #tech-room-slot,
  #p-tech #tech-proj-slot,
  #p-tech #tech-analysis-slot,
  #p-tech #tech-controls-slot,
  #p-tech #tech-cum-slot{
    gap:12px;
  }

  #p-tech .tech-room-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }

  #p-tech .tech-room-item{
    min-height:108px;
  }

  #p-tech .tech-room-stats{
    min-width:120px;
  }

  #p-tech .exp-row{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
}

@media (min-width: 1440px){
  #p-hist .q-hdr-grid,
  #p-tech .q-hdr-grid{
    grid-template-columns:minmax(0,1.28fr) minmax(360px,.72fr);
  }

  #p-hist .quote-lower-grid{
    grid-template-columns:minmax(0,1.38fr) minmax(340px,.68fr);
  }

  #p-tech .tech-room-list{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
