
:root{--cc-brand:#123f73;--cc-dark:#082f5f;--cc-ink:#123f73;--cc-muted:#607894;--cc-line:#d7e4f2;--cc-bg:#f5f7fb;--cc-radius:16px}
*{box-sizing:border-box}html{scroll-padding-top:100px}body{margin:0!important;padding:0!important;background:var(--cc-bg)!important;color:var(--cc-ink)!important;font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif!important;line-height:1.55}
a{color:#123f73;text-underline-offset:3px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}:focus-visible{outline:3px solid #f36c21!important;outline-offset:4px}
.cc-skip{position:absolute;left:16px;top:-90px;z-index:1000;background:white;padding:12px}.cc-skip:focus{top:12px}
.cc-top{position:relative;z-index:30;background:var(--cc-dark);color:#fff;border-bottom:4px solid var(--cc-brand)}.cc-top-inner{max-width:1320px;margin:auto;padding:18px 28px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}.cc-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:white;line-height:1.25}.cc-mark{background:#195b94;border:1px solid #d7e4f2;border-radius:12px;padding:10px;font-weight:850;letter-spacing:-2px;font-size:24px}.cc-brand strong{font-size:18px;display:block}.cc-brand small{color:#607894;font-size:12px;letter-spacing:1.5px;text-transform:uppercase}.cc-nav{margin-left:auto;display:flex;gap:8px;align-items:center}.cc-nav a{color:#123f73;padding:10px 15px;border-radius:8px;text-decoration:none;font-size:14px}.cc-nav a:hover,.cc-nav a[aria-current]{background:#eaf3fb;color:white}.cc-menu{display:none;border:1px solid #b8cde5;background:transparent;color:white;padding:9px 14px;border-radius:8px}.cc-context{max-width:1200px;margin:18px auto 0;padding:0 24px;color:var(--cc-muted);font-size:13px;display:flex;gap:10px;flex-wrap:wrap}
body>.wrapper,body>.container,.cc-dashboard{width:100%!important;max-width:1200px!important;margin:24px auto 140px!important;padding:0 24px!important}h1{font-size:clamp(24px,3vw,36px);line-height:1.25;letter-spacing:-.8px}h2{line-height:1.3}h3{line-height:1.4}.title-box,.wrapper>.header,.container>.header{background:linear-gradient(120deg,#fff,#edf6fd)!important;text-align:left!important;border:1px solid var(--cc-line);border-top:4px solid var(--cc-brand);padding:28px!important;border-radius:var(--cc-radius)!important;box-shadow:none!important}.title-accent,.section h3{color:var(--cc-brand)!important}.title{border:1px solid var(--cc-line);box-shadow:none!important;color:var(--cc-ink)}
.erp-input-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))!important;gap:16px!important;margin:24px 0!important}.result-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))!important;gap:16px!important}.erp-input-card,.card,.section,.box{border:1px solid var(--cc-line);box-shadow:0 3px 12px #14394105!important;border-radius:var(--cc-radius)!important}.erp-input-card{font-size:14px;font-weight:600;padding:18px!important}.erp-input-wrap{padding:4px 10px!important;min-height:50px;background:#f8fafb!important;border:1px solid #c7d7dc!important;border-radius:9px!important}.erp-input-wrap:focus-within{border-color:var(--cc-brand)!important;box-shadow:0 0 0 3px #123f7320}.erp-input-wrap input,.erp-input-wrap select{min-width:0;min-height:42px;width:100%;font-size:16px!important;color:var(--cc-ink);outline:revert!important}.erp-input-wrap input:focus,.erp-input-wrap select:focus{outline:none!important}input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{max-width:100%;font-size:16px}textarea{border:1px solid #c7d7dc;border-radius:9px;padding:12px;line-height:1.6}.card{padding:22px!important;text-align:left!important}.card small,.label{color:var(--cc-muted)}.card h2{font-size:clamp(23px,2.6vw,30px)!important;overflow-wrap:anywhere;color:var(--cc-ink);font-variant-numeric:tabular-nums}.highlight{background:#eaf3fb!important;border:1px solid #b8cde5!important;border-top:4px solid var(--cc-brand)!important}.section-label{text-align:left!important;font-size:17px;color:var(--cc-ink)!important;margin:28px 0 16px!important}
button,.btn,.back-btn{min-height:42px;border-radius:9px!important;cursor:pointer}button{padding:10px 18px}.save-btn,.primary,.print-btn,.btn-print,.print{background:var(--cc-brand)!important;color:#fff!important}.action-btn.secondary,.back,.btn-back{background:#eaf3fb!important;color:var(--cc-ink)!important}.delete{background:#b63c3c!important}.view{background:#123f73!important}.save-bar{z-index:40;padding:12px max(16px,env(safe-area-inset-left)) calc(12px + env(safe-area-inset-bottom))!important;box-shadow:0 -8px 28px #17363c0b;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px}.save-bar button{margin:0!important}.cc-table-scroll{overflow-x:auto;width:100%;border:1px solid var(--cc-line);border-radius:12px;background:white;margin:12px 0;overscroll-behavior-x:contain}.table-box{overflow:visible!important;box-shadow:none!important;background:transparent!important}.cc-table-scroll table{margin:0!important;width:100%;border-collapse:collapse}.cc-table-scroll th{background:#eaf3fb!important;color:#123f73;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.cc-table-scroll th,.cc-table-scroll td{padding:14px 16px!important;border-bottom:1px solid var(--cc-line);white-space:normal}.cc-table-scroll thead~tbody td{white-space:nowrap}.cc-table-scroll tr:hover td{background:#f0f6fc}.cc-table-scroll td{font-variant-numeric:tabular-nums}.cc-foot{max-width:1200px;margin:24px auto 110px;padding:20px 24px;color:var(--cc-muted);font-size:12px;border-top:1px solid var(--cc-line)}
.cc-hero{padding:34px;background:var(--cc-dark);color:white;border-radius:20px;margin-bottom:24px}.cc-hero h1{max-width:700px;margin:10px 0}.cc-hero p{color:#d6e5f4;max-width:650px}.cc-eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:2px;color:#ff985e}.cc-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}.cc-stat{background:#fff;border:1px solid var(--cc-line);padding:20px;border-radius:14px}.cc-stat strong{display:block;font-size:28px;color:var(--cc-brand)}.cc-catalog{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:16px}.cc-module{background:white;border:1px solid var(--cc-line);border-radius:16px;padding:24px}.cc-module h2{font-size:19px;margin:8px 0 20px}.cc-module small{color:var(--cc-muted)}.cc-module a{display:inline-block;margin:4px 12px 4px 0;font-weight:650}.cc-search{display:block;width:100%;padding:14px;border:1px solid #b8ced4;border-radius:10px;margin:8px 0 24px;background:white}.cc-empty{padding:20px;background:white;border-radius:12px}[hidden]{display:none!important}
@media(max-width:640px){.cc-top-inner{padding:14px 16px;gap:12px}.cc-brand strong{font-size:14px}.cc-brand small{font-size:10px}.cc-mark{font-size:21px;padding:8px}.cc-menu{display:block;margin-left:auto}.cc-nav{display:none;width:100%;margin:0;flex-direction:column;align-items:stretch}.cc-nav.cc-open{display:flex}.cc-context{padding:0 16px}body>.wrapper,body>.container,.cc-dashboard{padding:0 16px!important;margin-top:18px!important}.title-box,.wrapper>.header{padding:22px!important}.grid{grid-template-columns:1fr!important}.cc-stats{gap:8px}.cc-stat{padding:12px;font-size:12px}.cc-stat strong{font-size:23px}.cc-hero{padding:24px}.save-bar button,.save-bar .btn{flex:1}.cc-table-scroll th,.cc-table-scroll td{padding:12px!important}.cc-foot{padding:18px 16px}.result-grid{grid-template-columns:1fr!important}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{body{background:white!important;color:black!important}.cc-top,.cc-context,.cc-skip,.cc-foot,.save-bar,.action-bar,.cc-search,.cc-menu{display:none!important}body>.wrapper,body>.container{margin:0!important;padding:0!important;max-width:none!important}.cc-table-scroll{overflow:visible!important;border:0}.cc-table-scroll td,.cc-table-scroll th{white-space:normal!important}.card,.section,.box,.title-box{box-shadow:none!important;break-inside:avoid}.result-grid{grid-template-columns:repeat(2,1fr)!important}a{color:inherit}}

/* CC website palette and approved header artwork */
.cc-top{background:#fff;color:#123f73;border-bottom:4px solid #f36c21}.cc-brand{color:#123f73}.cc-brand small{color:#607894}.cc-header-logo{display:block;width:265px;max-width:100%;height:64px;object-fit:contain}.cc-brand>span{display:none}.cc-nav a{color:#123f73;font-weight:700}.cc-nav a:hover,.cc-nav a[aria-current]{background:#eaf3fb;color:#123f73}.cc-menu{color:#123f73;border-color:#b8cde5}.cc-hero{background:linear-gradient(110deg,#082f5f,#123f73);border-bottom:4px solid #f36c21}.title-box,.wrapper>.header,.container>.header{border-top-color:#f36c21}.highlight{border-top-color:#f36c21!important}.cc-eyebrow{color:#ffad7d}.cc-module a:hover{color:#a7420b}.cc-table-scroll th{color:#123f73}.save-btn:hover,.primary:hover,.print-btn:hover{background:#195b94!important}
@media(max-width:640px){.cc-header-logo{width:220px;height:52px}.cc-top-inner{gap:10px}.cc-menu{font-size:14px;padding:9px 12px}}

.cc-brand{min-width:0;max-width:100%}.cc-header-logo{flex-shrink:1}.cc-top-inner{min-width:0}@media(max-width:640px){.cc-brand{max-width:calc(100% - 84px)}.cc-header-logo{width:220px!important;height:52px!important}}

/* Unified BOQ product identity, form and result components */
.cc-product-identity{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 22px;padding:0 0 18px;border-bottom:1px solid #d7e4f2}.cc-product-caption{font-size:10px;letter-spacing:1.2px;font-weight:700;color:#607894;text-align:right;max-width:210px}.cc-product-identity img{object-fit:contain;flex-shrink:0}.title-box h1,.header h1,.header h2{font-size:clamp(25px,3vw,34px)!important;line-height:1.28!important;margin:16px 0!important;color:#123f73!important;letter-spacing:-.6px}.title-box,.wrapper>.header,.container>.header{padding:26px!important;border-radius:16px!important;margin-bottom:24px!important}.title-box p{color:#607894!important}.wrapper>.grid,.container>.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))!important;gap:16px!important}.result{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))!important;gap:16px!important;margin-top:24px!important}.result-card,.result>.box{background:white!important;border:1px solid #d7e4f2!important;border-radius:16px!important;padding:22px!important;box-shadow:0 3px 12px #123f7305!important;text-align:left!important}.result-card h2,.result>.box h2,.result>.box .value{font-size:clamp(23px,2.6vw,30px)!important;color:#123f73!important;margin:10px 0!important;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.result-card small,.box small{color:#607894!important}.input{display:flex;align-items:center;gap:10px;padding:4px 10px!important;min-height:50px;border:1px solid #c7d7dc!important;border-radius:9px!important;background:#f8fafb!important}.input input,.input select{width:100%;min-width:0;min-height:42px;color:#123f73;font-size:16px!important;border:0;background:transparent}.input:focus-within{border-color:#123f73!important;box-shadow:0 0 0 3px #123f7320}.grid>.card label{font-size:14px!important;font-weight:600;color:#123f73!important}.box.total,.result-card.highlight,.result .highlight{background:#eaf3fb!important;border-top:4px solid #f36c21!important}.section,.info-box{background:white;border-radius:16px;border:1px solid #d7e4f2}.save-bar .action-btn,.save-bar button{font-size:14px!important;font-weight:700;min-height:46px;padding:12px 22px!important}.save-bar .secondary,.save-bar .print-btn{background:#eaf3fb!important;color:#123f73!important;border:1px solid #c5d9ee!important}.cc-table-scroll{font-size:14px}.cc-table-scroll td .btn{font-weight:600}body .title{font-size:23px!important;padding:22px!important;border-top:4px solid #f36c21!important;border-radius:16px!important}
@media(max-width:640px){.cc-product-identity{align-items:flex-start;flex-direction:column;gap:10px}.cc-product-caption{text-align:left;max-width:none;font-size:9px}.cc-product-identity img{width:230px!important;max-width:100%;flex-shrink:1}.title-box,.wrapper>.header,.container>.header{padding:20px!important}.result{grid-template-columns:1fr!important}.wrapper>.grid,.container>.grid{grid-template-columns:1fr!important}}
@media print{.cc-product-caption{display:none}.cc-product-identity{break-inside:avoid}.result{grid-template-columns:repeat(2,1fr)!important}.result-card{break-inside:avoid}}
