.cx{--mid:#0B1F4D;--gold:#174EA6;--gr:#172B4D;--st:#8BA9D6;--sd:#EAF2FC;--ln:#c9d8ee;font-family:'Inter','Segoe UI',system-ui,sans-serif;color:var(--gr);position:relative}
.cx *{box-sizing:border-box}
.cx-box{background:#ffffff;border:1px solid var(--ln);border-radius:16px;padding:24px 26px;margin-bottom:20px;box-shadow:0 12px 30px -22px rgba(11,31,77,.5)}
.cx-box h3{margin:0 0 16px;font:600 1.15rem 'Playfair Display',Georgia,serif;color:var(--mid)}
.cx-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px 16px}
.cx label{display:block;font:600 .76rem/1.2 'Inter',sans-serif;letter-spacing:.04em;color:#3b4a6b}
.cx label.wide{grid-column:1/-1}
.cx input,.cx select{display:block;width:100%;margin-top:6px;padding:11px 12px;border:1.5px solid #c9d8ee;border-radius:10px;font:400 .95rem 'Inter',sans-serif;background:#fff;color:var(--gr)}
.cx input:focus,.cx select:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 3px rgba(23,78,166,.25)}
.cx-row{border:1.5px solid #a9bddf;border-radius:18px;padding:12px 18px 18px;margin:0 0 16px;background:#fff;min-width:0}
.cx-row legend{padding:0 10px;font:700 .85rem 'Inter',sans-serif;color:var(--gr)}
.cx-top{display:grid;grid-template-columns:1.4fr 1fr auto;gap:14px;align-items:end;margin-bottom:14px}
.cx-x{border:0;background:none;color:#a2271a;font:600 .8rem 'Inter',sans-serif;cursor:pointer;padding:12px 6px}
.cx-line{display:grid;grid-template-columns:150px repeat(3,minmax(130px,1fr)) minmax(120px,.9fr) minmax(130px,1fr);gap:14px;align-items:end}
.cx-line>div>span:first-child{display:block;font:500 .82rem 'Inter',sans-serif;color:#555}
.cx-line>div.off{opacity:.35}
.cx-step{display:flex;margin-top:6px;border:1.5px solid #c9d8ee;border-radius:10px;overflow:hidden;background:#fff}
.cx-step button{width:38px;border:0;background:#eaf2fc;font:700 1.1rem 'Inter',sans-serif;cursor:pointer;color:var(--gr)}.cx-step button:hover{background:var(--gold);color:#fff}
.cx-step input{margin:0;border:0;border-radius:0;text-align:center;min-width:0;padding:11px 4px;box-shadow:none!important}
.cx-u{display:flex;margin-top:6px;border:1.5px solid #c9d8ee;border-radius:10px;background:#fff;overflow:hidden}.cx-u:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px rgba(23,78,166,.25)}
.cx-u input{margin:0;border:0;text-align:right;min-width:0;box-shadow:none!important}.cx-u select{margin:0;border:0;border-left:1px solid #dbe6f6;width:auto;padding:0 6px;color:#7586a6;background:#f5f9fe;box-shadow:none!important}
.cx-u .rb{font-style:normal;color:#7586a6;padding:11px 10px 0 0;font-size:.78rem}
.cx-vol{background:#eaf2fc;border-radius:10px;padding:8px 12px;min-height:60px}.cx-vol b{display:block;font:700 1.05rem 'Inter',sans-serif;color:var(--mid)}.cx-vol i{font-style:normal;color:#8493b0;font-weight:400;font-size:.8rem}.cx-vol small{color:#174ea6;font-weight:600}
.cx-bar{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:6px 0 20px}.cx-hint{font-size:.82rem;color:#5b6b8c}
.cx-foot{margin-top:6px}
.cx-btn{display:inline-block;border:2px solid var(--mid);background:#fff;color:var(--mid);padding:12px 22px;border-radius:40px;font:700 .8rem 'Inter',sans-serif;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;text-decoration:none;transition:.25s}
.cx-btn:hover{background:var(--mid);color:#fff}.cx-btn.gold{background:linear-gradient(135deg,#2a63bd,#174EA6);border-color:#174ea6;color:#ffffff}.cx-btn.gold:hover{filter:brightness(1.07);color:#ffffff}
.cx-btn.dark{background:var(--mid);color:#fff}.cx-btn.dark:hover{background:#11367f}.cx-btn.ghost{border-color:#c9d8ee;color:#5b6b8c}.cx-btn:disabled{opacity:.6;cursor:wait}
.cx-total{display:flex;gap:30px;flex-wrap:wrap;align-items:baseline;margin-top:22px;padding-top:18px;border-top:1px dashed #c9d8ee;font-size:1.15rem}
.cx-total b{font:700 1.9rem 'Playfair Display',Georgia,serif;color:var(--mid)}.cx-total small{color:#5b6b8c;font-size:.85rem}
.cx-actions{display:flex;gap:12px;flex-wrap:wrap;margin:6px 0}
.cx-msg{margin-top:14px;padding:0;white-space:pre-line}.cx-msg.ok,.cx-msg.err{padding:14px 18px;border-radius:12px;font-weight:500}.cx-msg.ok{background:#eaf2fc;color:#0b1f4d;border:1px solid #c9d8ee}.cx-msg.err{background:#fdeceb;color:#a2271a;border:1px solid #f3c1bb}
/* printable document */
.sheet-wrap{overflow-x:auto;padding:6px 0 10px}
.sheet{background:#fff;color:#172b4d;width:210mm;max-width:100%;min-height:200mm;margin:0 auto;padding:12mm 12mm 10mm;border:1px solid #a9bddf;box-shadow:0 18px 50px -24px rgba(11,31,77,.6);font:400 10.5pt/1.45 'Inter',Arial,sans-serif}
.sheet p{margin:0 0 2px}.sheet h2{margin:0 0 4px;font:700 17pt 'Playfair Display',Georgia,serif;color:#0b1f4d}
.sh-head{display:flex;justify-content:space-between;gap:16px;border-bottom:3px solid #0b1f4d;padding-bottom:10px;margin-bottom:12px}
.sh-co{display:flex;gap:12px;align-items:flex-start}.sh-co img{width:58px;height:58px;border-radius:50%;flex:none;border:2px solid #174ea6}.sh-co p{font-size:9pt;color:#34456b}
.sh-doc{text-align:right;white-space:nowrap}.sh-doc h1{margin:0 0 6px;font:700 17pt 'Inter',Arial,sans-serif;letter-spacing:.06em;color:#174ea6}
.sh-meta{display:grid;grid-template-columns:1.5fr 1fr;gap:14px;margin-bottom:12px}.sh-meta>div{border:1px solid #c9d8ee;border-radius:6px;padding:8px 12px;font-size:9.5pt}
.sh h4,.sheet h4{margin:0 0 4px;font:700 8.5pt 'Inter',Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#0b1f4d}
.sh-tbl{width:100%;border-collapse:collapse;margin-bottom:12px;font-size:9.5pt}
.sh-tbl th{background:#0b1f4d;color:#fff;padding:6px 8px;text-align:left;font-size:8.5pt;letter-spacing:.04em}
.sh-tbl td{padding:6px 8px;border-bottom:1px solid #d3e1f4;vertical-align:top}.sh-tbl small{color:#5b6b8c}
.sh-tbl .r{text-align:right}.sh-tbl .c{text-align:center}.sh-tbl tfoot td{background:#eaf2fc;border-top:2px solid #0b1f4d;border-bottom:0}
.sh-bot{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;align-items:start;margin-bottom:12px}.sh-left p{font-size:9pt}.pre{white-space:pre-line}.sh-left>div{margin-top:8px}
.sh-sum{width:100%;border-collapse:collapse;font-size:10pt}.sh-sum td{padding:4px 8px;border-bottom:1px solid #dbe6f6}.sh-sum td:last-child{text-align:right;white-space:nowrap}
.sh-sum .g td{background:#0b1f4d;color:#fff;font-weight:700;font-size:11pt;border:0}
.sh-words{margin-bottom:6px!important;font-size:9.5pt!important}
.sh-sign{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;margin-top:14px;font-size:9.5pt}.sg{text-align:center}.sg .line{height:38px;border-bottom:1px solid #5b6b8c;margin:4px 0}
.sh-foot{margin-top:14px!important;text-align:center;font-size:8pt;color:#8493b0;border-top:1px solid #dbe6f6;padding-top:6px}
.hp{display:none}
.cx-tolsel select{white-space:normal}
.cx-tol{display:grid;grid-template-columns:1.4fr repeat(3,minmax(100px,1fr)) 1.6fr;gap:12px;align-items:end;margin-top:12px;padding:12px 14px;background:#eaf2fc;border-radius:12px}
.cx-tol .cx-tolh{display:flex;flex-direction:column;font-size:.8rem;color:#3b4a6b}.cx-tol .cx-tolh b{font-size:.85rem;color:var(--mid)}.cx-tol .cx-tolh span{font-size:.74rem;color:#174ea6;line-height:1.3}
.cx-tol label.off{opacity:.35}.cx-act{font-size:.78rem;color:#3b4a6b}.cx-act b{display:block;font-size:1rem;color:var(--mid)}
.cx-vol .act{display:block;color:#0b1f4d;font-weight:600;margin-top:2px}
.cx-total .act{font-size:1.05rem;color:#174ea6}.cx-total .act b{font-size:1.5rem;color:#174ea6}
.cx-explain{display:grid;grid-template-columns:1.3fr 1fr;gap:28px;align-items:center;background:#ffffff;border:1px solid #c9d8ee;border-radius:16px;padding:24px 28px}
.cx-explain h3{margin:0 0 8px;font:600 1.3rem 'Playfair Display',Georgia,serif;color:#0b1f4d}.cx-explain p{margin:0;color:#3b4a6b;font-size:.95rem}
.cx-ex{border-collapse:collapse;width:100%;font-size:.9rem}.cx-ex th,.cx-ex td{padding:8px 10px;border-bottom:1px solid #dbe6f6;text-align:left}.cx-ex th{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#5b6b8c}
@media(max-width:900px){.cx-tol{grid-template-columns:1fr 1fr}.cx-explain{grid-template-columns:1fr}}
@media(max-width:1060px){.cx-line{grid-template-columns:repeat(3,1fr)}.cx-top{grid-template-columns:1fr 1fr auto}}
@media(max-width:640px){.cx-line,.cx-top{grid-template-columns:1fr 1fr}.cx-box{padding:18px}.cx-btn{width:100%;text-align:center}.sheet{font-size:9pt;padding:8mm}.sh-head,.sh-bot,.sh-sign,.sh-meta{grid-template-columns:1fr;display:block}.sh-doc{text-align:left;margin-top:8px}}
@page{size:A4;margin:8mm}
@media print{
  .topbar,.hdr,.drawer,.ft,.float,.basket,.lb,.banner,.sec-head,.sec-alt,.side,.top,.flash,.noprint,.cx-box,.cx-actions{display:none!important}
  html,body,.sec,.main,main,.container{background:#fff!important;margin:0!important;padding:0!important;max-width:none!important;width:auto!important}
  .sheet-wrap{overflow:visible;padding:0}
  .sheet{width:100%!important;max-width:none;min-height:0;margin:0;border:0;box-shadow:none;padding:0}
  .sh-tbl th,.sh-sum .g td,.sh-tbl tfoot td{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .sh-tbl tr,.sh-sign,.sh-bot{break-inside:avoid}
}

/* customer page: no rate column */
.cx[data-mode="public"] .cx-line{grid-template-columns:150px repeat(3,minmax(130px,1fr)) minmax(170px,1.1fr)}
@media(max-width:1060px){.cx[data-mode="public"] .cx-line{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.cx[data-mode="public"] .cx-line{grid-template-columns:1fr 1fr}}
@media print{.cx-explain,.cx-explain *{display:none!important}}
/* tabs, plywood helper */
.cx-tabs{display:flex;gap:8px;margin:0 0 16px;flex-wrap:wrap}.cx-tabs button{padding:11px 22px;border:1.5px solid #c9d8ee;background:#fff;border-radius:40px;font:700 .8rem 'Inter',sans-serif;letter-spacing:.05em;text-transform:uppercase;color:#46567a;cursor:pointer;transition:.25s}.cx-tabs button.on,.cx-tabs button:hover{background:var(--mid);border-color:var(--mid);color:#fff}
.cx-plybox{margin-bottom:16px}.cx-note{background:#eaf2fc;border-radius:12px;padding:14px 18px;margin-bottom:14px;font-size:.88rem;color:#34456b}.cx-note p{margin:0 0 6px}.cx-note p:last-child{margin:0}
.cx-cover{border:1.5px dashed #8ba9d6;border-radius:14px;padding:16px 18px;background:#fff}.cx-cover h4{margin:0 0 10px;font:700 .85rem 'Inter',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--mid)}
.cx-cvout{margin:12px 0;font-size:1.05rem;color:var(--mid)}.cx-cvout b{font-size:1.5rem}
.cx-line.ply{grid-template-columns:repeat(auto-fit,minmax(135px,1fr))}.cx-line.ply .cx-vol{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:4px 18px}.cx-line.ply .cx-vol span:first-child{grid-column:1/-1}
.cx-row.ply legend{color:#174EA6}
.cx-u select[data-f="rb"]{max-width:92px;font-size:.78rem}
.cx-empty{padding:18px;text-align:center;color:#5b6b8c;border:1.5px dashed #c9d8ee;border-radius:12px;margin-bottom:14px}
