/* KnowElectronics customer experience — warm circuit design system
   Original composition using orange, cream and evergreen; it does not reproduce
   another company’s visual identity. Loaded after page-level styles intentionally. */
:root {
  --ke-cream: #fff8ec;
  --ke-cream-deep: #f8ead3;
  --ke-paper: #fffdf8;
  --ke-orange: #e66d35;
  --ke-orange-dark: #bd4e22;
  --ke-orange-soft: #ffe1c6;
  --ke-green: #185d49;
  --ke-green-dark: #103f32;
  --ke-green-light: #e2f1e7;
  --ke-ink: #21382f;
  --ke-muted: #6c7c71;
  --ke-line: #e7d9c5;
  --ke-shadow: 0 11px 0 rgba(93, 63, 35, .065), 0 21px 36px rgba(64, 43, 22, .12);
  --ke-shadow-lift: 0 15px 0 rgba(93, 63, 35, .075), 0 27px 42px rgba(64, 43, 22, .16);
}

body { background: var(--ke-cream); color: var(--ke-ink); }
body, button, input, select, textarea { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
a { color: var(--ke-green); }
a:hover, a:focus { color: var(--ke-orange-dark); }

/* Shared navigation */
.ke-topbar { background: linear-gradient(100deg, var(--ke-green-dark), #1f7157) !important; color: #eaf8ed !important; }
.ke-topbar::before { content: ""; position:absolute; left:0; right:0; height:2px; background:linear-gradient(90deg, var(--ke-orange), #f5b15d, var(--ke-orange)); }
.ke-topbar__inner { position:relative; }
.ke-topbar__dot { background: #ffb25f !important; box-shadow: 0 0 0 4px rgba(255,178,95,.18) !important; }
.ke-topbar a { color: #eaf8ed !important; }
.ke-header { background: rgba(255,253,248,.97) !important; border-bottom: 1px solid var(--ke-line) !important; box-shadow: 0 8px 25px rgba(79, 56, 31, .07) !important; }
.ke-brand { color: var(--ke-green-dark) !important; }
.ke-brand__mark { padding: 4px; border: 1px solid #edc999; border-radius: 12px; background: linear-gradient(145deg, #fff, #f5dfbf); box-shadow: 0 5px 0 #e3c394, 0 10px 16px rgba(101,68,31,.14); }
.ke-brand__name { letter-spacing: -.045em !important; }
.ke-brand__tagline { color: #9c663d !important; }
.ke-search form { border: 1px solid #e3c49c !important; border-radius: 13px !important; background: #fffdfa !important; box-shadow: inset 0 1px 0 #fff, 0 4px 0 rgba(139,88,37,.08) !important; }
.ke-search form:focus-within { border-color: var(--ke-orange) !important; box-shadow: 0 0 0 4px rgba(230,109,53,.15), 0 4px 0 rgba(139,88,37,.08) !important; }
.ke-search input { background: transparent !important; color: var(--ke-ink) !important; }
.ke-search button { width: 48px !important; margin: 3px; border-radius: 9px !important; background: linear-gradient(145deg, #ee8753, var(--ke-orange)) !important; box-shadow: 0 3px 0 #b64d23 !important; }
.ke-search button:hover { transform: translateY(-1px); background: linear-gradient(145deg, #f19564, var(--ke-orange)) !important; }
.ke-login { color: var(--ke-green) !important; }
.ke-register { border-color: #d8b78a !important; border-radius: 10px !important; background: #fff8ed !important; color: var(--ke-green) !important; box-shadow: 0 3px 0 rgba(120,77,33,.1); }
.ke-cart { border-left: 1px dashed #dbbd93; color: var(--ke-green-dark) !important; }
.ke-cart__count { background: var(--ke-orange) !important; box-shadow: 0 2px 0 #af461e; }
.ke-cart__label { color: #8b745d !important; }
.ke-cart__total { color: var(--ke-green-dark) !important; }
.ke-nav { background: #fff7e9 !important; border-bottom: 1px solid #ead7ba !important; }
.ke-nav__link { position:relative; color: #4b6154 !important; }
.ke-nav__link:hover { color: var(--ke-orange-dark) !important; }
.ke-nav__link:hover::after { content:""; position:absolute; right:12px; bottom:8px; left:12px; height:3px; border-radius:3px; background:var(--ke-orange); }
.ke-currency .dropdown-toggle { border:1px solid #e4c9a6; border-radius:9px; background:#fffdf8; color:var(--ke-green) !important; }
.ke-currency .dropdown-menu { border-color:#e6ccb0 !important; border-radius:12px !important; background:#fffdf8; box-shadow:var(--ke-shadow) !important; }
.ke-currency .dropdown-menu > li > a:hover { background:var(--ke-green-light) !important; color:var(--ke-green-dark) !important; }

/* Classic raised surfaces used by catalog, account and informational content. */
.panel_s, .modal-content, .ke-card, .ke-about__card, .ke-careers__card, .ke-faq__list, .ke-sitemap__group, .ke-policy__card, .ke-contact__form, .ke-about__panel {
  border: 1px solid var(--ke-line) !important;
  border-radius: 17px !important;
  background: var(--ke-paper) !important;
  box-shadow: var(--ke-shadow) !important;
}
.panel_s:hover, .ke-about__card:hover, .ke-sitemap__group:hover { box-shadow: var(--ke-shadow-lift) !important; }
.panel-body { border-radius: 17px; }
.form-control, .custom-select, select, input[type="text"], input[type="search"], input[type="email"], input[type="number"], textarea {
  border-color: #ddc5a4 !important;
  border-radius: 10px !important;
  background-color: #fffdf9 !important;
  color: var(--ke-ink) !important;
  box-shadow: inset 0 1px 2px rgba(78,52,28,.04) !important;
}
.form-control:focus, .custom-select:focus, select:focus, input:focus, textarea:focus {
  border-color: var(--ke-orange) !important;
  box-shadow: 0 0 0 3px rgba(230,109,53,.14) !important;
}
.btn, button.btn { border-radius: 10px !important; font-weight: 800 !important; transition: transform .18s ease, box-shadow .18s ease, background .18s ease !important; }
.btn:hover, button.btn:hover { transform: translateY(-1px); }
.btn-primary, .btn-success, .btn-info, .btn.btn-primary, .btn.btn-success, .btn.btn-info { border-color: var(--ke-green) !important; background: linear-gradient(145deg, #2d8465, var(--ke-green)) !important; box-shadow: 0 4px 0 var(--ke-green-dark) !important; color:#fff !important; }
.btn-primary:hover, .btn-success:hover, .btn-info:hover { background: linear-gradient(145deg, #399374, #216d55) !important; }
.btn-warning, .btn-orange { border-color: var(--ke-orange) !important; background: linear-gradient(145deg, #f18e5d, var(--ke-orange)) !important; box-shadow:0 4px 0 var(--ke-orange-dark) !important; color:#fff !important; }
.btn-default, .btn-secondary { border-color:#ddc3a0 !important; background:#fff8ed !important; box-shadow:0 3px 0 rgba(132,82,34,.12) !important; color:var(--ke-green) !important; }
.table { background: transparent; }
.table > thead > tr > th, .table_header th, table#example tr.add_to_cart_table_header th { border-color: transparent !important; background: linear-gradient(90deg, var(--ke-green-dark), var(--ke-green)) !important; color:#fff !important; }
.table > tbody > tr > td { border-color: #eee1cf !important; }
.table > tbody > tr:hover { background: #fff5e5 !important; }
.alert { border-radius: 12px !important; }

/* Public content pages */
.ke-about, .ke-contact, .ke-careers, .ke-faq, .ke-sitemap, .ke-policy { color:var(--ke-ink) !important; }
.ke-about__hero { border:1px solid rgba(255,221,171,.45) !important; border-radius:20px !important; background:radial-gradient(circle at 83% 16%,rgba(255,185,103,.72) 0 6%,transparent 6.4%),linear-gradient(125deg,var(--ke-green-dark),var(--ke-green) 64%,#b6572c 155%) !important; box-shadow:0 10px 0 rgba(48,83,59,.24),0 24px 38px rgba(38,71,50,.18) !important; }
.ke-about__hero h1 { color:#fff7e9 !important; }
.ke-about__hero .ke-about__intro, .ke-about__hero .ke-about__panel span { color:#e7f4e9 !important; }
.ke-about__hero .ke-about__eyebrow { color:#ffd29b !important; }
.ke-about__hero .ke-about__panel { border-color:rgba(255,224,178,.36) !important; background:rgba(14,63,49,.46) !important; box-shadow:none !important; }
.ke-contact__head, .ke-faq__hero, .ke-sitemap__hero { border:1px solid #efd0a6 !important; border-radius:18px !important; background:linear-gradient(135deg,#fff8eb,#ffecd0) !important; box-shadow:0 7px 0 rgba(120,75,29,.06),0 18px 31px rgba(91,55,19,.08) !important; }
.ke-about__eyebrow, .ke-contact__eyebrow, .ke-faq__eyebrow, .ke-sitemap__eyebrow, .ke-careers__eyebrow, .ke-policy__eyebrow, .ke-checkout-profile__eyebrow { color: var(--ke-orange-dark) !important; }
.ke-about h1, .ke-contact h1, .ke-careers h1, .ke-faq h1, .ke-sitemap h1, .ke-policy h1, .ke-checkout-profile h1 { color: var(--ke-green-dark) !important; }
.ke-about__icon, .ke-careers__mark { background: var(--ke-orange-soft) !important; color: var(--ke-orange-dark) !important; border:1px solid #f0bd86; box-shadow:0 4px 0 #efc691; }
.ke-about__button, .ke-contact button[type="submit"], .ke-faq__support a { border-radius:10px !important; background:linear-gradient(145deg,#2e8768,var(--ke-green)) !important; box-shadow:0 4px 0 var(--ke-green-dark) !important; }
.ke-about__button--ghost { border-color:#d9b98c !important; background:#fff7e9 !important; color:var(--ke-green) !important; box-shadow:0 3px 0 rgba(114,72,29,.12) !important; }
.ke-faq details, .ke-faq__list > *, .ke-policy li { border-color:#ecd9bd !important; }
.ke-faq summary::marker { color:var(--ke-orange); }

/* Home: dimensional circuit cards and warm hero. */
.ke-home { --ink:var(--ke-ink); --muted:var(--ke-muted); --line:var(--ke-line); --blue:var(--ke-orange); --blue-dark:var(--ke-orange-dark); --pale:#fff2dd; --card:var(--ke-paper); background:var(--ke-cream) !important; }
.ke-home-hero { background: radial-gradient(circle at 82% 14%, rgba(255,190,103,.7) 0 6%, transparent 6.3%), radial-gradient(circle at 73% 54%, rgba(78,149,111,.35) 0 15%, transparent 15.4%), linear-gradient(125deg, #123e32 0%, #1c674f 54%, #e6763a 180%) !important; }
.ke-home-hero::before { content:""; position:absolute; inset:0; opacity:.45; background-image:linear-gradient(90deg,rgba(255,241,215,.17) 1px,transparent 1px),linear-gradient(rgba(255,241,215,.17) 1px,transparent 1px); background-size:34px 34px; mask-image:linear-gradient(90deg,#000,transparent); }
.ke-home-hero:after { border-color:rgba(255,239,210,.25) !important; }
.ke-eyebrow { color:#ffe0a8 !important; }
.ke-eyebrow:before { background:#ffad65 !important; box-shadow:0 0 0 5px rgba(255,173,101,.16) !important; }
.ke-home h1 span { color:#ffd79e !important; }
.ke-hero-copy { color:#f9ead4 !important; }
.ke-home-search { border-radius:16px !important; background:#fffaf0 !important; box-shadow:0 8px 0 rgba(61,38,17,.25),0 22px 34px rgba(12,40,31,.28) !important; }
.ke-home-search button { border-radius:11px !important; background:linear-gradient(145deg,#f28c59,var(--ke-orange)) !important; box-shadow:0 4px 0 var(--ke-orange-dark); }
.ke-hero-panel { transform:perspective(850px) rotateY(-3deg) rotateX(2deg); border-color:rgba(255,226,181,.42) !important; border-radius:17px !important; background:rgba(12,54,42,.54) !important; box-shadow:0 13px 0 rgba(9,43,33,.35),0 28px 42px rgba(7,27,20,.27) !important; }
.ke-panel-icon { background:rgba(255,188,108,.17) !important; color:#ffd093 !important; }
.ke-stat { background:#fffdf8; border-color:var(--ke-line) !important; }
.ke-stat__value { color:var(--ke-green-dark) !important; }
.ke-section--soft { background:#fff0da !important; }
.ke-section-kicker, .ke-category__icon { color:var(--ke-orange-dark) !important; }
.ke-feature, .ke-workflow__step, .ke-category { border-color:var(--ke-line) !important; border-radius:16px !important; box-shadow:0 6px 0 rgba(111,73,30,.07),0 14px 24px rgba(111,73,30,.07); }
.ke-feature:hover, .ke-category:hover { border-color:#e8ae72 !important; box-shadow:var(--ke-shadow-lift) !important; }
.ke-feature__icon { border-radius:12px !important; background:var(--ke-orange-soft) !important; color:var(--ke-orange-dark) !important; box-shadow:0 4px 0 #efc58f; }
.ke-supplier { border-color:#e3c6a1 !important; border-radius:9px !important; background:#fffdf8 !important; color:var(--ke-green) !important; }
.ke-cta { background:linear-gradient(125deg,var(--ke-green-dark),var(--ke-green) 52%,#d9632e 145%) !important; }
.ke-button--primary { border-radius:11px !important; background:#fff7e9 !important; color:var(--ke-green-dark) !important; box-shadow:0 4px 0 rgba(11,49,38,.45); }
.ke-button--secondary { border-radius:11px !important; }

/* Product discovery, detail and basket */
.prodtest_table, .detail_rightside { border:1px solid var(--ke-line) !important; border-radius:16px !important; overflow:hidden; background:var(--ke-paper) !important; box-shadow:var(--ke-shadow); }
.product_patno a, tr.product_list td a, .apivendors a, .cart_partno, .cart_partnum { color:var(--ke-green) !important; }
.addto_cart, button.detail_btn { border:0 !important; border-radius:10px !important; background:linear-gradient(145deg,#2e8768,var(--ke-green)) !important; box-shadow:0 4px 0 var(--ke-green-dark) !important; }
.conct-head, .detail_rightside .modal-header { background:linear-gradient(90deg,var(--ke-green-dark),var(--ke-green)) !important; color:#fff !important; }
.detail_rightside .modal-header { border:0 !important; }
.product_desc-wrap span.pr_desc_title { color:var(--ke-green-dark) !important; }
.detail_product_data .modal-content { overflow:hidden; }
.ke-checkout { --ink:var(--ke-ink); --muted:var(--ke-muted); --line:var(--ke-line); --blue:var(--ke-green); --blue-dark:var(--ke-green-dark); --soft:#fff0dc; }
.ke-checkout__eyebrow { color:var(--ke-orange-dark) !important; }
.ke-checkout h1, .ke-card__title, .ke-summary h2 { color:var(--ke-green-dark) !important; }
.ke-checkout__step--active i { background:var(--ke-orange) !important; box-shadow:0 3px 0 var(--ke-orange-dark) !important; }
.ke-submit { border-radius:10px !important; background:linear-gradient(145deg,#2f8768,var(--ke-green)) !important; box-shadow:0 4px 0 var(--ke-green-dark) !important; }
.ke-product-code { color:var(--ke-green) !important; }
.ke-summary__row--total strong { color:var(--ke-orange-dark) !important; }

/* BOM workspace receives the same raised, procurement-tool tone. */
.bom-container { --green:#185d49 !important; --green-dark:#103f32 !important; --green-light:#e2f1e7 !important; --blue:#e66d35 !important; --blue-light:#fff0de !important; --gray-50:#fffaf1 !important; --gray-100:#f7ead7 !important; --gray-200:#ead8bf !important; --gray-300:#dec5a1 !important; --gray-700:#42584b !important; --gray-800:#253b30 !important; --gray-900:#163327 !important; }
.bom-toolbar, .upload-card, .table-card, .bottom-bar { border-color:var(--ke-line) !important; border-radius:17px !important; box-shadow:var(--ke-shadow) !important; }
.nav-logo-dot { background:var(--ke-orange) !important; box-shadow:0 0 0 4px rgba(230,109,53,.14) !important; }
.btn-primary-bom, .btn-checkout-bom { background:linear-gradient(145deg,#2d8465,var(--ke-green)) !important; box-shadow:0 4px 0 var(--ke-green-dark) !important; }
.btn-outline-bom { border-color:#dfbf94 !important; background:#fffaf0 !important; color:var(--ke-green) !important; }
.upload-zone { border-color:#e7be8a !important; background:#fffaf1 !important; }
.upload-zone:hover, .upload-zone.drag { border-color:var(--ke-orange) !important; background:#fff0da !important; }
.upload-icon-wrap { background:var(--ke-orange-soft) !important; }
.upload-icon-wrap svg { stroke:var(--ke-orange-dark) !important; }
.tab-btn.active { color:var(--ke-orange-dark) !important; border-color:var(--ke-orange) !important; }

/* Footer and assistant */
.ke-site-footer { background:linear-gradient(135deg,var(--ke-green-dark),#195e49 65%,#174d3d) !important; border-top:4px solid var(--ke-orange) !important; }
.ke-site-footer p { color:#d5e7d9 !important; }
.ke-footer-brand small, .ke-site-footer__bottom { color:#bad4c1 !important; }
.ke-footer-list a, .ke-site-footer__bottom a { color:#e4f0e7 !important; }
.ke-footer-heading { color:#ffd39b !important; }

@media (max-width: 700px) {
  .ke-cart { border-left:0; }
  .ke-home-hero::before { opacity:.25; }
  .ke-hero-panel { transform:none; }
  .panel_s, .modal-content, .ke-card { border-radius:13px !important; }
}

/* Product search workspace: bespoke storefront composition. */
.ke-catalog { max-width:1280px; margin:0 auto; padding:36px 24px 8px; color:var(--ke-ink); }
.ke-catalog__head { display:flex; align-items:end; justify-content:space-between; gap:24px; margin:0 0 22px; padding:30px 32px; border:1px solid #edd1aa; border-radius:20px; background:radial-gradient(circle at 89% 12%,rgba(255,191,112,.58) 0 8%,transparent 8.4%),linear-gradient(130deg,#fffaf0,#ffecd1); box-shadow:0 8px 0 rgba(116,73,28,.06),0 20px 34px rgba(91,55,19,.1); }
.ke-catalog__eyebrow { margin:0 0 8px; color:var(--ke-orange-dark); font-size:11px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.ke-catalog .search-heading { margin:0; color:var(--ke-green-dark); font-size:clamp(28px,3.4vw,40px); line-height:1.08; font-weight:850; letter-spacing:-.045em; }
.ke-catalog__copy { max-width:690px; margin:11px 0 0; color:#68796c; font-size:14px; line-height:1.65; }
.ke-catalog__bom-link { display:inline-flex; flex:none; align-items:center; gap:8px; min-height:42px; padding:0 15px; border:1px solid #dcb98a; border-radius:11px; background:#fffaf0; box-shadow:0 4px 0 rgba(117,72,27,.12); color:var(--ke-green); font-size:13px; font-weight:800; text-decoration:none; }
.ke-catalog__bom-link:hover { transform:translateY(-1px); color:var(--ke-orange-dark); }
.ke-catalog .product-nav-tabs { display:flex; gap:8px; margin:0 0 15px; border:0; }
.ke-catalog .product-nav-tabs > li { margin:0; }
.ke-catalog .product-nav-tabs > li > a, .ke-catalog .product-nav-tabs > li:not(.active) > a { margin:0; border:1px solid #e2c39a !important; border-radius:10px !important; background:#fffaf1 !important; color:var(--ke-green) !important; font-size:12px; font-weight:800; }
.ke-catalog .product-nav-tabs > li.active > a, .ke-catalog .product-nav-tabs > li.active > a:hover, .ke-catalog .product-nav-tabs > li.active > a:focus { border-color:var(--ke-orange) !important; border-bottom-color:var(--ke-orange) !important; background:var(--ke-orange-soft) !important; color:var(--ke-orange-dark) !important; box-shadow:0 3px 0 #efc18b; }
.ke-catalog .prodtest_table { overflow:hidden; border-collapse:separate; border-spacing:0; }
.ke-catalog .prodtest_table > thead > tr:first-child > th { background:#fff8eb !important; color:var(--ke-ink) !important; border-bottom:1px solid #ecd7ba !important; }
.ke-catalog .prodtest_table .searching_parts { padding:15px 16px !important; }
.ke-catalog .price-drop_div { display:flex; align-items:center; gap:10px; }
.ke-catalog .price-drop_div label { margin:0; color:var(--ke-green-dark); font-size:12px; font-weight:800; white-space:nowrap; }
.ke-catalog .price-drop_div input { max-width:380px; height:37px; }
.ke-catalog .product_data > td { padding:15px 11px !important; vertical-align:middle !important; }
.ke-catalog .product_image { width:52px !important; height:52px !important; padding:6px; border:1px solid #ead4b6; border-radius:11px; background:#fffdf9; object-fit:contain; }
.ke-catalog .product_pricing_dropdown { min-width:105px; margin:0; padding:0; list-style:none; color:#566b5c; font-size:11px; line-height:1.75; }
.ke-catalog .buy_price { flex-wrap:wrap; gap:7px; }
.ke-catalog .buy_price .input_data { width:88px; min-width:0; height:38px; border-radius:9px 0 0 9px !important; }
.ke-catalog .addto_cart { min-width:112px; margin:0 !important; border-radius:0 9px 9px 0 !important; }
.ke-catalog .buy_price > p { margin:0; color:#7e8a7d; font-size:10px; line-height:1.2; }
.ke-catalog .matching-images-grid { grid-template-columns:repeat(auto-fill,minmax(145px,1fr)); gap:16px; padding:10px 0 28px; }
.ke-catalog .matching-image-card { border-color:#e8cda7; border-radius:15px; background:#fffdf8; box-shadow:0 5px 0 rgba(108,67,29,.07),0 12px 20px rgba(90,54,18,.07); }
.ke-catalog .matching-image-card:hover { border-color:var(--ke-orange); transform:translateY(-2px); }
.ke-catalog .matching-image-card .view-parts-btn { border-radius:8px; background:var(--ke-green); }
.ke-catalog .pagination > li > a, .ke-catalog .pagination > li > span { border-color:#e6c9a2; color:var(--ke-green); }
.ke-catalog .pagination > .active > a { border-color:var(--ke-orange); background:var(--ke-orange); color:#fff; }
@media(max-width:760px){ .ke-catalog{padding:24px 14px 0}.ke-catalog__head{align-items:flex-start;flex-direction:column;padding:25px 21px}.ke-catalog__bom-link{width:100%;justify-content:center}.ke-catalog .price-drop_div{display:block}.ke-catalog .price-drop_div label{display:block;margin-bottom:6px}.ke-catalog .price-drop_div input{max-width:none}.ke-catalog .prodtest_table{min-width:860px}.ke-catalog__results{overflow:auto;margin:0;} }

/* Account and authentication: calm, task-first customer workspace. */
.ke-auth { position:relative; display:grid; grid-template-columns:minmax(260px,.86fr) minmax(390px,1fr); gap:clamp(32px,6vw,92px); max-width:1170px; min-height:calc(100vh - 225px); margin:0 auto; padding:clamp(44px,7vw,92px) 30px 76px; align-items:center; overflow:hidden; }
.ke-auth::before { content:""; position:absolute; z-index:-1; width:440px; height:440px; top:-200px; left:-180px; border:1px solid rgba(230,109,53,.23); border-radius:50%; box-shadow:0 0 0 33px rgba(230,109,53,.045),0 0 0 76px rgba(24,93,73,.035); }
.ke-auth::after { content:""; position:absolute; z-index:-1; width:255px; height:255px; right:-106px; bottom:20px; border:24px solid rgba(24,93,73,.055); border-radius:39% 61% 62% 38% / 42% 44% 56% 58%; transform:rotate(-18deg); }
.ke-auth--wide { grid-template-columns:minmax(250px,.73fr) minmax(540px,1.27fr); max-width:1320px; }
.ke-auth--compact { grid-template-columns:minmax(245px,.9fr) minmax(340px,.8fr); max-width:960px; }
.ke-auth__intro { position:relative; }
.ke-auth__eyebrow { margin:0 0 11px; color:var(--ke-orange-dark); font-size:11px; font-weight:900; letter-spacing:.14em; line-height:1.2; text-transform:uppercase; }
.ke-auth__intro h1 { max-width:440px; margin:0; color:var(--ke-green-dark); font-size:clamp(34px,4vw,54px); font-weight:850; letter-spacing:-.055em; line-height:1.02; }
.ke-auth__intro > p:not(.ke-auth__existing) { max-width:445px; margin:18px 0 0; color:var(--ke-muted); font-size:15px; line-height:1.7; }
.ke-auth__benefits { display:grid; gap:12px; margin:27px 0 0; padding:0; list-style:none; color:var(--ke-green-dark); font-size:13px; font-weight:750; }
.ke-auth__benefits li { display:flex; align-items:center; gap:10px; }
.ke-auth__benefits i { display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; border:1px solid #cfe0d3; border-radius:50%; background:#eff7ef; color:var(--ke-green); font-size:10px; }
.ke-auth__existing { margin:26px 0 0; color:var(--ke-muted); font-size:13px; font-weight:650; }
.ke-auth__existing a, .ke-auth__text-link, .ke-auth__label-row a, .ke-auth__footer a { color:var(--ke-orange-dark) !important; font-weight:800; text-decoration:none; }
.ke-auth__existing a:hover, .ke-auth__text-link:hover, .ke-auth__label-row a:hover, .ke-auth__footer a:hover { color:var(--ke-green) !important; text-decoration:underline; }
.ke-auth__card { position:relative; padding:clamp(27px,4vw,48px); border:1px solid #e7cfaa; border-radius:22px; background:linear-gradient(150deg,rgba(255,255,255,.96),rgba(255,250,239,.97)); box-shadow:0 8px 0 rgba(112,73,33,.075),0 24px 42px rgba(68,45,17,.13); }
.ke-auth__card::before { content:""; position:absolute; top:0; left:29px; right:29px; height:4px; border-radius:0 0 5px 5px; background:linear-gradient(90deg,var(--ke-orange),#f1ae66 45%,var(--ke-green)); }
.ke-auth__card--wide { padding:clamp(28px,3.7vw,46px); }
.ke-auth__card--compact { padding:clamp(29px,4.5vw,48px); }
.ke-auth__card h2 { margin:0; color:var(--ke-green-dark); font-size:clamp(25px,2.6vw,33px); font-weight:850; letter-spacing:-.045em; line-height:1.12; }
.ke-auth__card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:26px; }
.ke-auth__card-head .ke-auth__eyebrow { margin-bottom:7px; }
.ke-auth__language { min-width:138px; }
.ke-auth__language .bootstrap-select, .ke-auth__language select { width:100% !important; }
.ke-auth__language .btn, .ke-auth__language select { min-height:38px; border:1px solid #e2c69e !important; border-radius:8px !important; background:#fffaf1 !important; color:var(--ke-green-dark) !important; box-shadow:0 2px 0 rgba(112,73,33,.06) !important; font-size:12px; font-weight:750; }
.ke-auth__form .form-group { margin-bottom:18px; }
.ke-auth__form label { margin-bottom:7px; color:var(--ke-green-dark); font-size:12px; font-weight:800; letter-spacing:.005em; }
.ke-auth__form .form-control { height:45px; border:1px solid #e2c69e !important; border-radius:9px !important; background:#fffefa !important; color:var(--ke-ink); box-shadow:inset 0 1px 1px rgba(86,51,15,.025) !important; font-size:14px; }
.ke-auth__form .form-control:focus { border-color:var(--ke-orange) !important; box-shadow:0 0 0 4px rgba(230,109,53,.13) !important; }
.ke-auth__form .has-error .form-control, .ke-auth__form .form-control.error { border-color:#c84a33 !important; }
.ke-auth__form .help-block, .ke-auth__form .error { color:#aa3d2e; font-size:12px; font-weight:650; }
.ke-auth__label-row { display:flex; align-items:baseline; justify-content:space-between; gap:13px; }
.ke-auth__label-row a { font-size:12px; }
.ke-auth__remember { margin:4px 0 22px; }
.ke-auth__remember label, .ke-auth__terms label { color:var(--ke-muted); font-size:12px; font-weight:600; }
.ke-auth__remember input, .ke-auth__terms input { accent-color:var(--ke-orange); }
.ke-auth__submit { min-height:45px; border:0 !important; border-radius:9px !important; background:linear-gradient(145deg,#ed8957,var(--ke-orange)) !important; box-shadow:0 4px 0 var(--ke-orange-dark),0 9px 14px rgba(167,69,26,.17) !important; color:#fff !important; font-size:13px; font-weight:850 !important; letter-spacing:.01em; transition:transform .16s ease,box-shadow .16s ease !important; }
.ke-auth__submit:hover, .ke-auth__submit:focus { transform:translateY(-2px); background:linear-gradient(145deg,#f09565,var(--ke-orange)) !important; box-shadow:0 6px 0 var(--ke-orange-dark),0 12px 18px rgba(167,69,26,.19) !important; }
.ke-auth__submit:active { transform:translateY(2px); box-shadow:0 2px 0 var(--ke-orange-dark) !important; }
.ke-auth__footer { margin:25px 0 0; padding-top:20px; border-top:1px solid #edddc5; color:var(--ke-muted); font-size:13px; text-align:center; }
.ke-auth__columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:31px; }
.ke-auth__fieldset { min-width:0; margin:0; padding:0; border:0; }
.ke-auth__fieldset + .ke-auth__fieldset { padding-left:31px; border-left:1px dashed #dfc7a5; }
.ke-auth__fieldset legend { width:100%; margin:0 0 18px; padding:0 0 10px; border-bottom:1px solid #ebdbc3; color:var(--ke-green-dark); font-size:14px; font-weight:850; }
.ke-auth__form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.ke-auth__form-grid .form-group { min-width:0; }
.ke-auth__optional { color:#88988e; font-size:10px; font-weight:650; text-transform:uppercase; }
.ke-auth__company-note { display:flex; gap:8px; margin-top:18px; padding:12px; border:1px solid #d5e5d8; border-radius:8px; background:#f1f7ef; color:#527061; font-size:11px; line-height:1.5; }
.ke-auth__company-note i { margin-top:2px; color:var(--ke-green); }
.ke-auth__terms { margin:25px 0 18px; padding:14px 15px; border:1px solid #ead7bb; border-radius:9px; background:#fffaf1; }
.ke-auth__terms .checkbox { margin:0; }
.ke-auth__actions { display:flex; align-items:center; justify-content:space-between; gap:18px; padding-top:19px; border-top:1px solid #edddc5; }
.ke-auth__actions p { max-width:385px; margin:0; color:var(--ke-muted); font-size:11px; line-height:1.5; }
.ke-auth__actions .ke-auth__submit { min-width:154px; }
.ke-auth .alert { margin-bottom:18px; border-radius:9px; font-size:13px; }
.ke-auth .g-recaptcha { margin:4px 0 19px; }

/* A consistent cream canvas and raised modules for account, support and checkout templates. */
.page-content { min-height:44vh; }
body.customers #wrapper { background:linear-gradient(180deg,#fffaf1 0,#fff8ec 62%,#fcf0dd 100%); }
body.customers .page-content > .row > .panel, body.customers .page-content .panel_s { border-color:var(--ke-line); border-radius:16px; box-shadow:var(--ke-shadow); }
body.customers .nav-tabs { border-color:#e5cfaf; }
body.customers .nav-tabs > li > a { border-radius:9px 9px 0 0; color:var(--ke-green); font-weight:750; }
body.customers .nav-tabs > li.active > a, body.customers .nav-tabs > li.active > a:hover { border-color:#e5cfaf #e5cfaf transparent; background:#fffaf1; color:var(--ke-orange-dark); }
body.customers .table > thead > tr > th { border-bottom-color:#ddc6a4; background:#fff5e6; color:var(--ke-green-dark); font-size:11px; font-weight:850; letter-spacing:.03em; text-transform:uppercase; }
body.customers .table > tbody > tr > td { border-top-color:#f0e3d0; }
body.customers .breadcrumb { border:1px solid #ead5b6; border-radius:9px; background:#fffaf1; }

@media(max-width:900px) { .ke-auth,.ke-auth--wide,.ke-auth--compact { grid-template-columns:1fr; gap:35px; max-width:700px; min-height:0; padding:46px 20px 58px; }.ke-auth__intro h1 { max-width:590px; }.ke-auth__intro > p:not(.ke-auth__existing) { max-width:600px; }.ke-auth__card { padding:31px 28px; }.ke-auth--wide .ke-auth__card { padding:32px 28px; } }
@media(max-width:580px) { .ke-auth { padding:31px 14px 45px; }.ke-auth__intro h1 { font-size:35px; }.ke-auth__card,.ke-auth--wide .ke-auth__card { padding:28px 19px; border-radius:16px; }.ke-auth__card-head { align-items:flex-start; flex-direction:column; margin-bottom:21px; }.ke-auth__language { width:100%; }.ke-auth__columns,.ke-auth__form-grid { grid-template-columns:1fr; gap:0; }.ke-auth__fieldset + .ke-auth__fieldset { margin-top:23px; padding:23px 0 0; border-top:1px dashed #dfc7a5; border-left:0; }.ke-auth__actions { align-items:stretch; flex-direction:column; }.ke-auth__actions .ke-auth__submit { width:100%; }.ke-auth__label-row { align-items:flex-start; flex-direction:column; gap:3px; }.ke-auth .g-recaptcha { transform:scale(.88); transform-origin:left top; margin-bottom:1px; } }

.ke-component-search-form { position:relative !important; overflow:visible !important; }

/* Customer BOM library: saved normalized BOM history sits alongside customer files. */
.ke-library { max-width:1160px; margin:0 auto; padding:42px 24px 12px; color:var(--ke-ink); }
.ke-library * { box-sizing:border-box; }
.ke-library__hero { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; padding:33px 36px; border:1px solid rgba(255,221,171,.45); border-radius:20px; background:radial-gradient(circle at 86% 18%,rgba(255,185,103,.72) 0 6%,transparent 6.4%),linear-gradient(125deg,var(--ke-green-dark),var(--ke-green) 62%,#b6572c 155%); box-shadow:0 10px 0 rgba(48,83,59,.24),0 24px 38px rgba(38,71,50,.18); }
.ke-library__eyebrow { margin:0 0 8px; color:var(--ke-orange-dark); font-size:11px; font-weight:900; letter-spacing:.13em; line-height:1.2; text-transform:uppercase; }
.ke-library__hero .ke-library__eyebrow { color:#ffd29b; }
.ke-library__hero h1 { margin:0; color:#fff8eb; font-size:clamp(31px,4vw,43px); font-weight:850; letter-spacing:-.05em; line-height:1.06; }
.ke-library__hero p:not(.ke-library__eyebrow) { max-width:660px; margin:12px 0 0; color:#e7f4e9; font-size:14px; line-height:1.65; }
.ke-library__hero-action, .ke-library__button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:42px; padding:0 15px; border:1px solid #f4c187; border-radius:10px; background:#fff9ed; box-shadow:0 4px 0 rgba(10,51,39,.36); color:var(--ke-green-dark) !important; font-size:12px; font-weight:850; text-decoration:none !important; white-space:nowrap; }
.ke-library__hero-action:hover, .ke-library__button:hover { transform:translateY(-1px); background:#fff; color:var(--ke-orange-dark) !important; }
.ke-library__section { margin-top:30px; }
.ke-library__section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:15px; }
.ke-library__section-head .ke-library__eyebrow { margin-bottom:6px; }
.ke-library__section h2 { margin:0; color:var(--ke-green-dark); font-size:22px; font-weight:850; letter-spacing:-.035em; }
.ke-library__count { flex:none; padding:6px 10px; border:1px solid #e6ca9f; border-radius:99px; background:#fff8ec; color:#796042; font-size:11px; font-weight:850; }
.ke-library__privacy-note { display:flex; align-items:flex-start; gap:9px; margin-bottom:15px; padding:12px 14px; border:1px solid #d5e5d8; border-radius:11px; background:#eff7ef; color:#587161; font-size:12px; line-height:1.55; }
.ke-library__privacy-note i { margin-top:2px; color:var(--ke-green); }
.ke-bom-library-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.ke-bom-library-card { display:flex; align-items:center; gap:13px; min-width:0; padding:16px; border:1px solid #e7d2b1; border-radius:14px; background:#fffdf8; box-shadow:0 5px 0 rgba(111,73,30,.06),0 12px 20px rgba(72,47,18,.07); transition:transform .17s ease,border-color .17s ease,box-shadow .17s ease; }
.ke-bom-library-card:hover { transform:translateY(-2px); border-color:#e8af73; box-shadow:var(--ke-shadow); }
.ke-bom-library-card__icon { display:grid; flex:none; place-items:center; width:39px; height:39px; border:1px solid #f0bd86; border-radius:10px; background:var(--ke-orange-soft); box-shadow:0 3px 0 #efc691; color:var(--ke-orange-dark); }
.ke-bom-library-card__body { min-width:0; flex:1; }
.ke-bom-library-card h3 { overflow:hidden; margin:0; color:var(--ke-green-dark); font-size:14px; font-weight:850; text-overflow:ellipsis; white-space:nowrap; }
.ke-bom-library-card p { margin:4px 0 0; color:#748279; font-size:11px; line-height:1.4; }
.ke-bom-library-card__open { display:inline-flex; align-items:center; gap:6px; flex:none; color:var(--ke-orange-dark) !important; font-size:12px; font-weight:850; text-decoration:none !important; }
.ke-bom-library-card__open:hover { color:var(--ke-green) !important; }
.ke-library__empty { display:flex; align-items:flex-start; gap:17px; padding:29px; border:1px dashed #dbbd91; border-radius:15px; background:#fffaf0; }
.ke-library__empty-icon { display:grid; flex:none; place-items:center; width:45px; height:45px; border-radius:12px; background:#ffe4c6; color:var(--ke-orange-dark); font-size:19px; }
.ke-library__empty h3 { margin:0; color:var(--ke-green-dark); font-size:16px; font-weight:850; }
.ke-library__empty p { margin:7px 0 15px; color:#6f8075; font-size:13px; line-height:1.55; }
.ke-library__files-card { overflow:hidden; }
.ke-library__files-card .panel-body { padding:0 !important; }
.ke-library__upload-intro { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:18px 21px; border-bottom:1px solid #eddfcc; background:#fffaf1; }
.ke-library__upload-intro strong { display:block; color:var(--ke-green-dark); font-size:13px; font-weight:850; }
.ke-library__upload-intro span { display:block; margin-top:3px; color:#7b897f; font-size:11px; }
.ke-library__dropzone { min-height:110px !important; margin:18px 21px 0 !important; border:1px dashed #dcb98a !important; border-radius:12px !important; background:#fffdf8 !important; }
.ke-library__external-files { display:flex; align-items:center; justify-content:flex-end; gap:9px; min-height:51px; padding:12px 21px; border-bottom:1px solid #eddfcc; }
.ke-library__external-files .gpicker { border:1px solid #dfc49f !important; border-radius:8px !important; background:#fff9ee !important; color:var(--ke-green) !important; font-size:11px; font-weight:800; }
.ke-library__file-empty { display:flex; align-items:center; gap:8px; padding:24px 21px; color:#718178; font-size:13px; }
.ke-library__file-empty i { color:var(--ke-orange-dark); font-size:17px; }
.ke-library__table { margin:0 !important; }
.ke-library__table > thead > tr > th { padding:12px 21px !important; }
.ke-library__table > tbody > tr > td { padding:14px 21px !important; vertical-align:middle !important; }
.ke-library__section--files { padding-bottom:15px; }

@media(max-width:700px) { .ke-library { padding:25px 14px 2px; }.ke-library__hero { align-items:flex-start; flex-direction:column; padding:27px 22px; border-radius:16px; }.ke-library__hero-action { width:100%; }.ke-bom-library-grid { grid-template-columns:1fr; }.ke-library__section-head { align-items:flex-start; }.ke-library__empty { padding:21px; }.ke-library__table > thead > tr > th,.ke-library__table > tbody > tr > td { padding-right:13px !important; padding-left:13px !important; }.ke-library__external-files { justify-content:flex-start; } }

/* Original category landing pages replace stale third-party catalogue embeds. */
.ke-category-page { max-width:1160px; margin:0 auto; padding:42px 24px 12px; color:var(--ke-ink); }
.ke-category-page * { box-sizing:border-box; }
.ke-category-page__hero { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr); gap:30px; align-items:stretch; padding:38px; border:1px solid rgba(255,221,171,.45); border-radius:21px; background:radial-gradient(circle at 86% 16%,rgba(255,186,104,.72) 0 6%,transparent 6.4%),linear-gradient(125deg,var(--ke-green-dark),var(--ke-green) 60%,#b6572c 155%); box-shadow:0 10px 0 rgba(48,83,59,.24),0 24px 38px rgba(38,71,50,.18); }
.ke-category-page__eyebrow { margin:0 0 9px; color:var(--ke-orange-dark); font-size:11px; font-weight:900; letter-spacing:.13em; line-height:1.2; text-transform:uppercase; }
.ke-category-page__hero .ke-category-page__eyebrow { color:#ffd29b; }
.ke-category-page h1 { margin:0; color:#fff9ed; font-size:clamp(33px,4.2vw,49px); font-weight:850; letter-spacing:-.055em; line-height:1.05; }
.ke-category-page__hero > div > p:not(.ke-category-page__eyebrow) { max-width:660px; margin:14px 0 0; color:#e5f2e6; font-size:15px; line-height:1.68; }
.ke-category-page__actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:25px; }
.ke-category-page__primary,.ke-category-page__secondary { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:42px; padding:0 15px; border:1px solid transparent; border-radius:10px; font-size:12px; font-weight:850; text-decoration:none !important; }
.ke-category-page__primary { background:#fff9ed; box-shadow:0 4px 0 rgba(10,51,39,.38); color:var(--ke-green-dark) !important; }
.ke-category-page__primary:hover { background:#fff; color:var(--ke-orange-dark) !important; transform:translateY(-1px); }
.ke-category-page__secondary { border-color:rgba(255,238,204,.53); color:#fff7e9 !important; }
.ke-category-page__secondary:hover { border-color:#fff8ed; background:rgba(255,255,255,.1); color:#fff !important; }
.ke-category-page__note { display:flex; align-items:flex-start; gap:13px; padding:21px; border:1px solid rgba(255,229,187,.33); border-radius:15px; background:rgba(7,52,39,.37); color:#eff8ef; }
.ke-category-page__note-icon { display:grid; flex:none; place-items:center; width:36px; height:36px; border-radius:10px; background:rgba(255,189,108,.17); color:#ffd093; }
.ke-category-page__note strong { display:block; color:#fff8ed; font-size:13px; font-weight:850; }
.ke-category-page__note p { margin:7px 0 0; color:#dceee0; font-size:12px; line-height:1.58; }
.ke-category-page__discover { margin-top:28px; padding:27px; border:1px solid var(--ke-line); border-radius:18px; background:#fffdf8; box-shadow:var(--ke-shadow); }
.ke-category-page__head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:19px; }
.ke-category-page__head .ke-category-page__eyebrow { margin-bottom:6px; }
.ke-category-page h2 { margin:0; color:var(--ke-green-dark); font-size:22px; font-weight:850; letter-spacing:-.035em; }
.ke-category-page__head > a { color:var(--ke-orange-dark) !important; font-size:12px; font-weight:850; text-decoration:none !important; white-space:nowrap; }
.ke-category-page__head > a:hover { color:var(--ke-green) !important; }
.ke-category-page__links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.ke-category-page__links a { display:flex; align-items:center; justify-content:space-between; gap:9px; min-height:49px; padding:11px 13px; border:1px solid #e8d2af; border-radius:11px; background:#fffaf1; color:var(--ke-green-dark) !important; font-size:12px; font-weight:800; text-decoration:none !important; transition:transform .17s ease,border-color .17s ease,box-shadow .17s ease; }
.ke-category-page__links a i { flex:none; color:var(--ke-orange-dark); font-size:11px; }
.ke-category-page__links a:hover { transform:translateY(-2px); border-color:#e6a86d; box-shadow:0 5px 0 rgba(110,70,28,.08),0 11px 18px rgba(71,46,16,.08); color:var(--ke-orange-dark) !important; }
@media(max-width:760px) { .ke-category-page { padding:25px 14px 2px; }.ke-category-page__hero { grid-template-columns:1fr; padding:28px 22px; border-radius:17px; }.ke-category-page__note { max-width:540px; }.ke-category-page__discover { padding:21px; }.ke-category-page__head { align-items:flex-start; flex-direction:column; gap:8px; }.ke-category-page__links { grid-template-columns:1fr; }.ke-category-page__actions { display:grid; grid-template-columns:1fr; }.ke-category-page__primary,.ke-category-page__secondary { width:100%; } }

/* Customer account dashboard: action-first procurement workspace. */
.ke-account-dashboard { max-width:1160px; margin:0 auto; padding:42px 24px 12px; color:var(--ke-ink); }
.ke-account-dashboard * { box-sizing:border-box; }
.ke-account-dashboard__hero { display:flex; align-items:flex-end; justify-content:space-between; gap:25px; padding:33px 36px; border:1px solid rgba(255,221,171,.45); border-radius:21px; background:radial-gradient(circle at 85% 16%,rgba(255,186,104,.72) 0 6%,transparent 6.4%),linear-gradient(125deg,var(--ke-green-dark),var(--ke-green) 60%,#b6572c 155%); box-shadow:0 10px 0 rgba(48,83,59,.24),0 24px 38px rgba(38,71,50,.18); }
.ke-account-dashboard__eyebrow { margin:0 0 8px; color:var(--ke-orange-dark); font-size:11px; font-weight:900; letter-spacing:.13em; line-height:1.2; text-transform:uppercase; }
.ke-account-dashboard__hero .ke-account-dashboard__eyebrow { color:#ffd29b; }
.ke-account-dashboard h1 { margin:0; color:#fff9ed; font-size:clamp(31px,4vw,45px); font-weight:850; letter-spacing:-.055em; line-height:1.06; }
.ke-account-dashboard__hero p:not(.ke-account-dashboard__eyebrow) { max-width:620px; margin:12px 0 0; color:#e4f1e6; font-size:14px; line-height:1.65; }
.ke-account-dashboard__hero-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:9px; }
.ke-account-dashboard__hero-actions a { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:41px; padding:0 13px; border:1px solid #f3c187; border-radius:10px; background:#fff9ed; box-shadow:0 4px 0 rgba(10,51,39,.38); color:var(--ke-green-dark) !important; font-size:12px; font-weight:850; text-decoration:none !important; white-space:nowrap; }
.ke-account-dashboard__hero-actions a:hover { background:#fff; color:var(--ke-orange-dark) !important; transform:translateY(-1px); }
.ke-account-dashboard__hero-actions a.ke-account-dashboard__hero-actions--soft { border-color:rgba(255,238,204,.53); background:transparent; box-shadow:none; color:#fff8ed !important; }
.ke-account-dashboard__hero-actions a.ke-account-dashboard__hero-actions--soft:hover { border-color:#fff8ed; background:rgba(255,255,255,.1); color:#fff !important; }
.ke-account-dashboard__quick { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; margin-top:24px; }
.ke-account-dashboard__quick > a { display:flex; align-items:center; gap:12px; min-width:0; padding:15px; border:1px solid #e6cfac; border-radius:14px; background:#fffdf8; box-shadow:0 5px 0 rgba(111,73,30,.06),0 12px 20px rgba(72,47,18,.07); color:var(--ke-green-dark) !important; text-decoration:none !important; transition:transform .17s ease,border-color .17s ease,box-shadow .17s ease; }
.ke-account-dashboard__quick > a:hover { transform:translateY(-2px); border-color:#e6a86d; box-shadow:var(--ke-shadow); color:var(--ke-orange-dark) !important; }
.ke-account-dashboard__quick-icon { display:grid; flex:none; place-items:center; width:38px; height:38px; border:1px solid #f0bd86; border-radius:10px; background:var(--ke-orange-soft); box-shadow:0 3px 0 #efc691; color:var(--ke-orange-dark); }
.ke-account-dashboard__quick span:nth-child(2) { display:grid; min-width:0; gap:3px; }
.ke-account-dashboard__quick strong { overflow:hidden; color:inherit; font-size:12px; font-weight:850; text-overflow:ellipsis; white-space:nowrap; }
.ke-account-dashboard__quick small { overflow:hidden; color:#76857b; font-size:10px; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.ke-account-dashboard__quick > a > .fa-arrow-right { margin-left:auto; font-size:11px; }
.ke-account-dashboard__section { margin-top:30px; }
.ke-account-dashboard__section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:14px; }
.ke-account-dashboard__section-head .ke-account-dashboard__eyebrow { margin-bottom:6px; }
.ke-account-dashboard h2 { margin:0; color:var(--ke-green-dark); font-size:22px; font-weight:850; letter-spacing:-.035em; }
.ke-account-dashboard__section-head > a { color:var(--ke-orange-dark) !important; font-size:12px; font-weight:850; text-decoration:none !important; white-space:nowrap; }
.ke-account-dashboard__section-head > a:hover { color:var(--ke-green) !important; }
.ke-account-dashboard__surface { padding:24px; border:1px solid var(--ke-line); border-radius:17px; background:#fffdf8; box-shadow:var(--ke-shadow); }
.ke-account-dashboard__summary { padding:19px; }
.ke-account-dashboard__surface .panel_s { border:0 !important; border-radius:0 !important; box-shadow:none !important; background:transparent !important; }
.ke-account-dashboard__statement { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:17px; padding:11px 13px; border:1px solid #d8e7da; border-radius:10px; background:#f0f7ef; color:#5d7565; font-size:12px; }
.ke-account-dashboard__statement a { color:var(--ke-green) !important; font-weight:850; white-space:nowrap; text-decoration:none !important; }
.ke-account-dashboard__statement a:hover { color:var(--ke-orange-dark) !important; }
.ke-account-dashboard__divider { height:1px; margin:20px 0; background:#eddfcc; }
.ke-account-dashboard__surface label { color:var(--ke-green-dark); font-size:11px; font-weight:850; }
.ke-account-dashboard__chart { position:relative; max-height:400px; }
@media(max-width:800px) { .ke-account-dashboard { padding:25px 14px 2px; }.ke-account-dashboard__hero { align-items:flex-start; flex-direction:column; padding:28px 22px; border-radius:17px; }.ke-account-dashboard__hero-actions { justify-content:flex-start; }.ke-account-dashboard__quick { grid-template-columns:1fr; }.ke-account-dashboard__section-head { align-items:flex-start; flex-direction:column; gap:8px; }.ke-account-dashboard__surface { padding:18px; }.ke-account-dashboard__statement { align-items:flex-start; flex-direction:column; } }

/* Global language preference lives in the storefront navigation, not inside auth forms. */
.ke-language { margin-right:2px; }
.ke-language .dropdown-toggle { display:inline-flex; align-items:center; gap:5px; padding:7px 10px; border:1px solid #e4c9a6; border-radius:9px; background:#fffdf8; color:var(--ke-green) !important; font-size:12px; font-weight:800; text-decoration:none !important; }
.ke-language .dropdown-toggle:hover,.ke-language.open .dropdown-toggle { border-color:#e2aa70; background:#fff6e8; color:var(--ke-orange-dark) !important; }
.ke-language .dropdown-menu { max-height:280px; min-width:168px; overflow:auto; margin-top:6px; padding:6px; border:1px solid #e6ccb0 !important; border-radius:12px !important; background:#fffdf8 !important; box-shadow:var(--ke-shadow) !important; }
.ke-language .dropdown-menu > li > a { padding:8px 10px; border-radius:7px; color:var(--ke-green) !important; font-size:12px; font-weight:700; }
.ke-language .dropdown-menu > li > a:hover,.ke-language .dropdown-menu > li.active > a { background:var(--ke-green-light) !important; color:var(--ke-green-dark) !important; }
@media(max-width:580px) { .ke-language .dropdown-toggle span { display:none; }.ke-language .dropdown-toggle { padding:7px 8px; }.ke-language { margin-right:0; } }

/* Commerce information architecture refresh — original KnowElectronics search,
   product-detail and checkout interfaces. */
.ke-commerce { --ke-commerce-ink:#17342b; --ke-commerce-muted:#68776e; --ke-commerce-line:#dfd7c9; --ke-commerce-orange:#df6f24; --ke-commerce-orange-dark:#b95015; --ke-commerce-green:#216a51; --ke-commerce-green-dark:#104937; --ke-commerce-cream:#fffaf0; --ke-commerce-sand:#f5ead8; max-width:1320px; margin:0 auto; padding:26px 24px 54px; color:var(--ke-commerce-ink); }
.ke-commerce * { box-sizing:border-box; }
.ke-commerce a { color:var(--ke-commerce-green); }
.ke-commerce a:hover,.ke-commerce a:focus { color:var(--ke-commerce-orange-dark); }
.ke-commerce .ke-kicker { margin:0 0 7px; color:var(--ke-commerce-orange-dark); font-size:11px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.ke-breadcrumb { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 18px; color:#7b877f; font-size:12px; font-weight:700; }
.ke-breadcrumb a { text-decoration:none; }.ke-breadcrumb span:last-child { color:#56675e; }
.ke-commerce .ke-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:42px; border:1px solid var(--ke-commerce-orange); border-radius:8px; padding:10px 16px; background:linear-gradient(180deg,#ec8842,#d9631b); box-shadow:0 3px 0 #a94713,0 7px 12px rgba(121,64,21,.14); color:#fff !important; font-size:13px; font-weight:900; line-height:1; text-decoration:none !important; text-shadow:0 1px rgba(0,0,0,.12); transition:transform .16s,box-shadow .16s,background .16s; }
.ke-commerce .ke-btn:hover,.ke-commerce .ke-btn:focus { transform:translateY(-1px); background:linear-gradient(180deg,#f09350,#d86118); box-shadow:0 4px 0 #a94713,0 9px 15px rgba(121,64,21,.18); }.ke-commerce .ke-btn:active { transform:translateY(2px); box-shadow:0 1px 0 #a94713; }.ke-commerce .ke-btn[disabled] { cursor:not-allowed; opacity:.53; transform:none; box-shadow:none; }
.ke-commerce .ke-btn--quiet { border-color:#c8d7ce; background:#fffdf8; box-shadow:0 2px 0 #c1d1c7; color:var(--ke-commerce-green) !important; text-shadow:none; }.ke-commerce .ke-btn--quiet:hover,.ke-commerce .ke-btn--quiet:focus { background:#f1f8f2; box-shadow:0 3px 0 #b2c6b9; }
.ke-search-hero,.ke-order-head,.ke-detail-head { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:18px; padding:28px 30px; border:1px solid #e3c89d; border-radius:17px; background:radial-gradient(circle at 84% 8%,rgba(230,122,38,.15),transparent 28%),linear-gradient(130deg,#fff8eb,#f4efe1); box-shadow:0 7px 0 #e8d4b5,0 13px 23px rgba(51,76,56,.08); }
.ke-search-hero > div,.ke-order-head > div,.ke-detail-head__copy { min-width:0; }.ke-search-hero h1,.ke-order-head h1,.ke-detail-head h1 { max-width:790px; margin:0; color:var(--ke-commerce-green-dark); font-size:clamp(25px,3vw,37px); font-weight:900; letter-spacing:-.045em; line-height:1.12; }.ke-search-hero p:not(.ke-kicker),.ke-order-head p:not(.ke-kicker),.ke-detail-head__description { max-width:760px; margin:11px 0 0; color:#53675b; font-size:14px; line-height:1.62; }.ke-hero-action { display:inline-flex; align-items:center; gap:9px; flex:0 0 auto; margin-top:5px; padding:11px 13px; border:1px solid #b9d1bd; border-radius:10px; background:#f7fcf5; color:var(--ke-commerce-green) !important; font-size:12px; font-weight:900; line-height:1.25; text-decoration:none !important; }.ke-hero-action i { color:var(--ke-commerce-orange); font-size:18px; }
.ke-findbar { display:flex; align-items:center; gap:10px; min-height:60px; padding:8px 9px 8px 18px; border:2px solid #c5d6c6; border-radius:12px; background:#fffef9; box-shadow:0 3px 0 #d7e1d3,0 8px 16px rgba(24,68,45,.08); }.ke-findbar > i { color:var(--ke-commerce-orange); font-size:18px; }.ke-findbar input { min-width:0; flex:1; border:0; outline:0; background:transparent; color:var(--ke-commerce-ink); font-size:15px; font-weight:700; }.ke-findbar input::placeholder { color:#9ba79e; font-weight:600; }.ke-findbar .ke-btn { min-width:100px; }
.ke-search-help { display:flex; flex-wrap:wrap; gap:9px 24px; margin:11px 2px 23px; color:#62756b; font-size:11px; font-weight:700; }.ke-search-help i { margin-right:5px; color:var(--ke-commerce-orange); }
.ke-results-layout { display:grid; grid-template-columns:238px minmax(0,1fr); gap:22px; align-items:start; }.ke-refine { position:sticky; top:14px; overflow:hidden; border:1px solid var(--ke-commerce-line); border-radius:12px; background:#fffdf8; box-shadow:0 4px 0 #eee5d6; }.ke-refine__head { display:flex; justify-content:space-between; align-items:center; padding:15px 15px 13px; border-bottom:1px solid #ebe1d2; }.ke-refine__head h2 { margin:0; font-size:14px; font-weight:900; }.ke-filter-reset { padding:0; border:0; background:transparent; color:var(--ke-commerce-green); font-size:11px; font-weight:900; text-decoration:underline; }.ke-filter-group { margin:0; padding:15px; border:0; border-bottom:1px solid #eee6da; }.ke-filter-group legend { width:100%; margin:0 0 9px; color:#52655a; font-size:11px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }.ke-filter-group label { display:block; margin:8px 0; color:#43564b; font-size:12px; font-weight:700; line-height:1.35; }.ke-filter-group input { margin:0 7px 0 0; accent-color:var(--ke-commerce-green); }.ke-refine__note { margin:14px; padding:10px; border-radius:8px; background:#f2f8f1; color:#64766b; font-size:10px; line-height:1.5; }.ke-refine__note i { color:var(--ke-commerce-green); margin-right:4px; }
.ke-results { min-width:0; }.ke-results__toolbar { display:flex; align-items:end; justify-content:space-between; gap:14px; margin:2px 0 12px; }.ke-results__toolbar h2 { margin:0; color:var(--ke-commerce-green-dark); font-size:21px; font-weight:900; letter-spacing:-.025em; }.ke-sort { display:flex; align-items:center; gap:8px; color:#64746a; font-size:11px; font-weight:800; white-space:nowrap; }.ke-sort select { height:36px; border:1px solid #d6ddd1; border-radius:7px; background:#fffdf9; color:#345145; font-size:12px; font-weight:700; }
.ke-product-list { display:grid; gap:13px; }.ke-product-row { display:grid; grid-template-columns:104px minmax(0,1fr) 222px; gap:17px; padding:17px; border:1px solid #ded6c7; border-radius:13px; background:#fffefa; box-shadow:0 4px 0 #eee5d7,0 8px 18px rgba(39,65,46,.055); transition:border-color .16s,transform .16s,box-shadow .16s; }.ke-product-row:hover { transform:translateY(-1px); border-color:#b8cdbb; box-shadow:0 5px 0 #dfeade,0 11px 21px rgba(39,65,46,.09); }.ke-product-thumb { display:flex; align-items:center; justify-content:center; min-height:98px; padding:7px; border:1px solid #ece3d6; border-radius:9px; background:#fff; }.ke-product-thumb img { max-width:100%; max-height:83px; object-fit:contain; }.ke-source-chip { display:inline-block; max-width:100%; margin:0 0 6px; padding:3px 7px; overflow:hidden; border:1px solid #c7ddcb; border-radius:999px; background:#eef7ee; color:#296045; font-size:9px; font-weight:900; letter-spacing:.04em; line-height:1.2; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }.ke-product-info h3 { margin:0; color:var(--ke-commerce-green-dark); font-size:16px; font-weight:900; line-height:1.25; }.ke-product-info h3 a { color:inherit; text-decoration:none; }.ke-product-info h3 a:hover { color:var(--ke-commerce-orange-dark); text-decoration:underline; }.ke-maker { margin:4px 0 8px; color:#667a6e; font-size:11px; font-weight:800; }.ke-description { display:-webkit-box; overflow:hidden; margin:0; color:#52655a; font-size:12px; line-height:1.48; -webkit-box-orient:vertical; -webkit-line-clamp:2; }.ke-product-meta { display:flex; flex-wrap:wrap; gap:6px 25px; margin:10px 0 0; }.ke-product-meta div { min-width:105px; }.ke-product-meta dt { color:#8a978e; font-size:9px; font-weight:900; letter-spacing:.055em; text-transform:uppercase; }.ke-product-meta dd { max-width:225px; margin:2px 0 0; overflow:hidden; color:#405347; font-size:11px; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }.ke-detail-link { display:inline-block; margin-top:10px; color:var(--ke-commerce-green); font-size:11px; font-weight:900; text-decoration:none; }.ke-detail-link i { margin-left:3px; color:var(--ke-commerce-orange); }
.ke-product-buy { align-self:stretch; padding-left:16px; border-left:1px solid #ece2d4; }.ke-stock { display:inline-flex; align-items:center; gap:5px; color:#5e7166; font-size:11px; font-weight:900; line-height:1.3; }.ke-stock--ok { color:#18704c; }.ke-stock--request { color:#99651b; }.ke-price { margin:12px 0 10px; }.ke-price span,.ke-price small { display:block; color:#809087; font-size:10px; font-weight:700; }.ke-price strong { display:block; margin:2px 0; color:var(--ke-commerce-green-dark); font-size:20px; font-weight:900; letter-spacing:-.035em; }.ke-price--request strong { font-size:15px; letter-spacing:0; }.ke-qty-control { margin-top:7px; }.ke-qty-control > label { display:block; margin:0 0 5px; color:#607268; font-size:10px; font-weight:900; text-transform:uppercase; }.ke-qty-control > div { display:flex; width:max-content; overflow:hidden; border:1px solid #c9d7c9; border-radius:7px; background:#fff; }.ke-qty-control button { width:29px; border:0; background:#eff6ef; color:var(--ke-commerce-green); font-size:17px; font-weight:900; line-height:32px; }.ke-qty-control button:hover { background:#deeedf; }.ke-qty-control input { width:53px; height:32px; border:0; border-right:1px solid #d7e1d6; border-left:1px solid #d7e1d6; color:#243e30; font-size:12px; font-weight:900; text-align:center; }.ke-buy-rule { margin:6px 0 10px; color:#7a8a80; font-size:9px; font-weight:700; }.ke-product-buy .ke-btn--cart { width:100%; min-height:37px; padding:8px; font-size:11px; }.ke-btn.is-loading { opacity:.7; }
.ke-empty-state { padding:47px 24px; border:1px dashed #cddbcf; border-radius:14px; background:#fcfdf9; color:#587062; text-align:center; }.ke-empty-state > i { display:grid; width:45px; height:45px; place-items:center; margin:0 auto 12px; border-radius:50%; background:#eef7ee; color:var(--ke-commerce-green); font-size:20px; }.ke-empty-state h1,.ke-empty-state h2 { margin:0; color:var(--ke-commerce-green-dark); font-size:21px; font-weight:900; }.ke-empty-state p { max-width:470px; margin:9px auto 17px; color:#6e7e74; font-size:13px; line-height:1.55; }.ke-pagination { margin-top:22px; }.ke-pagination .pagination { margin:0; }.ke-pagination .pagination > li > a { border-color:#d6ded4; color:var(--ke-commerce-green); font-weight:800; }
.ke-cart-modal .modal-content { overflow:hidden; border:1px solid #e2c99e; border-radius:13px; background:#fffdf8; box-shadow:0 15px 35px rgba(55,69,42,.2); }.ke-cart-modal .modal-header { padding:17px 20px; border-bottom:1px solid #eee1ce; background:#fdf4e7; }.ke-cart-modal h2 { margin:0; color:var(--ke-commerce-green-dark); font-size:18px; font-weight:900; }.ke-cart-modal .modal-body { padding:20px; }.ke-cart-modal .modal-footer { padding:13px 20px; border-top:1px solid #eee1ce; }.ke-cart-modal__description { color:#53675b; font-size:13px; line-height:1.5; }.ke-cart-modal__summary { display:grid; grid-template-columns:max-content minmax(0,1fr); gap:8px 17px; margin:15px 0 0; }.ke-cart-modal__summary dt { color:#728278; font-size:11px; font-weight:900; }.ke-cart-modal__summary dd { margin:0; color:#314d3f; font-size:12px; font-weight:700; overflow-wrap:anywhere; }
/* PDP */
.ke-detail-head { margin-bottom:21px; }.ke-detail-head .ke-source-chip { margin-bottom:9px; }.ke-detail-head .ke-kicker { margin-top:0; }.ke-detail-head .ke-maker { margin:9px 0 0; color:#4c6154; font-size:13px; }.ke-detail-grid { display:grid; grid-template-columns:minmax(0,1fr) 355px; gap:22px; align-items:start; }.ke-detail-product { display:grid; grid-template-columns:minmax(200px,.72fr) minmax(260px,1.28fr); gap:21px; min-width:0; padding:22px; border:1px solid #ded6c7; border-radius:14px; background:#fffefa; box-shadow:0 5px 0 #eee5d7; }.ke-detail-image { display:flex; min-height:290px; flex-direction:column; align-items:center; justify-content:center; padding:20px; border:1px solid #ece3d6; border-radius:11px; background:#fff; }.ke-detail-image img { max-width:100%; max-height:230px; object-fit:contain; }.ke-detail-image p { margin:15px 0 0; color:#839087; font-size:10px; text-align:center; }.ke-detail-facts h2,.ke-purchase-card h2 { margin:0; color:var(--ke-commerce-green-dark); font-size:18px; font-weight:900; }.ke-detail-facts dl { margin:15px 0; border-top:1px solid #eee7dc; }.ke-detail-facts dl div { padding:10px 0; border-bottom:1px solid #eee7dc; }.ke-detail-facts dt { margin:0 0 3px; color:#859289; font-size:10px; font-weight:900; letter-spacing:.055em; text-transform:uppercase; }.ke-detail-facts dd { margin:0; color:#3e5346; font-size:13px; font-weight:700; overflow-wrap:anywhere; }.ke-detail-resources { padding:13px; border-radius:9px; background:#f1f8f0; }.ke-detail-resources h3 { margin:0 0 7px; color:#34624a; font-size:11px; font-weight:900; text-transform:uppercase; }.ke-detail-resources a,.ke-detail-resources span { color:#296144; font-size:12px; font-weight:800; }.ke-detail-resources i { margin-right:5px; color:#df6f24; }.ke-purchase-card { position:sticky; top:13px; padding:20px; border:1px solid #d9c59f; border-radius:14px; background:linear-gradient(150deg,#fffdf7,#fbf2e2); box-shadow:0 6px 0 #e8d5b5,0 14px 23px rgba(58,61,35,.1); }.ke-purchase-card__head { display:flex; align-items:start; justify-content:space-between; gap:10px; padding-bottom:14px; border-bottom:1px solid #eadfcf; }.ke-purchase-card .ke-stock { max-width:125px; text-align:right; }.ke-lead-time { margin:12px 0; color:#617368; font-size:11px; font-weight:700; line-height:1.45; }.ke-lead-time i { margin-right:4px; color:var(--ke-commerce-orange); }.ke-price-breaks { margin:0 -20px; }.ke-price-breaks table { width:100%; margin:0; border-collapse:collapse; }.ke-price-breaks th { padding:9px 20px; background:#f1eadc; color:#687a6d; font-size:10px; font-weight:900; letter-spacing:.06em; text-align:left; text-transform:uppercase; }.ke-price-breaks td { padding:9px 20px; border-bottom:1px solid #eee4d6; color:#304b3c; font-size:12px; font-weight:800; }.ke-price-breaks td:last-child { color:var(--ke-commerce-green-dark); }.ke-price-breaks p { margin:10px 20px 14px; color:#7a887e; font-size:10px; line-height:1.45; }.ke-request-price { display:grid; grid-template-columns:20px 1fr; gap:3px 9px; margin:14px 0; padding:12px; border-radius:9px; background:#fff6e8; color:#85591c; }.ke-request-price i { grid-row:span 2; font-size:16px; }.ke-request-price strong { font-size:12px; }.ke-request-price span { font-size:10px; line-height:1.4; }.ke-qty-control--detail { margin-top:16px; }.ke-qty-control--detail > div { width:100%; }.ke-qty-control--detail button { flex:0 0 37px; }.ke-qty-control--detail input { flex:1; }.ke-purchase-card .ke-btn--cart { width:100%; margin-top:3px; }.ke-purchase-note { margin:12px 0 0; color:#687b6f; font-size:10px; line-height:1.5; }.ke-purchase-note i { color:var(--ke-commerce-green); margin-right:3px; }.ke-detail-support { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; margin-top:22px; }.ke-detail-support > div { display:grid; grid-template-columns:35px 1fr; gap:2px 10px; padding:17px; border:1px solid #d9e4d9; border-radius:12px; background:#f9fcf7; }.ke-detail-support > div > i { grid-row:span 3; color:var(--ke-commerce-orange); font-size:22px; }.ke-detail-support h2 { margin:0; color:var(--ke-commerce-green-dark); font-size:14px; font-weight:900; }.ke-detail-support p { margin:4px 0; color:#65766b; font-size:11px; line-height:1.45; }.ke-detail-support a { font-size:11px; font-weight:900; }
/* Cart, delivery and final review */
.ke-order-head { margin-bottom:17px; padding:22px 25px; }.ke-order-head h1 { font-size:31px; }.ke-checkout-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin:0 0 23px; padding:0; list-style:none; }.ke-checkout-steps li { position:relative; display:flex; align-items:center; gap:10px; color:#819087; font-size:11px; font-weight:700; }.ke-checkout-steps li:not(:last-child)::after { position:absolute; top:16px; left:38px; width:calc(100% - 36px); height:2px; background:#d9e1d8; content:""; }.ke-checkout-steps li > span { position:relative; z-index:1; display:grid; width:32px; height:32px; place-items:center; border:2px solid #d0dbd1; border-radius:50%; background:#fffdf8; color:#789080; font-size:12px; font-weight:900; }.ke-checkout-steps strong,.ke-checkout-steps small { display:block; }.ke-checkout-steps strong { color:#52665a; font-size:12px; }.ke-checkout-steps small { margin-top:1px; color:#89968e; font-size:10px; }.ke-checkout-steps .is-current > span { border-color:var(--ke-commerce-orange); background:var(--ke-commerce-orange); color:#fff; box-shadow:0 2px 0 #ae4b15; }.ke-checkout-steps .is-current strong { color:var(--ke-commerce-orange-dark); }.ke-checkout-steps .is-done > span { border-color:var(--ke-commerce-green); background:var(--ke-commerce-green); color:#fff; }.ke-checkout-steps .is-done::after { background:var(--ke-commerce-green); }
.ke-order-grid,.ke-review-grid { display:grid; grid-template-columns:minmax(0,1fr) 337px; gap:22px; align-items:start; }.ke-order-card,.ke-review-card { overflow:hidden; border:1px solid #ded6c7; border-radius:14px; background:#fffefa; box-shadow:0 5px 0 #eee5d7,0 9px 17px rgba(39,65,46,.045); }.ke-order-card__head { display:flex; align-items:start; justify-content:space-between; gap:15px; padding:19px 20px; border-bottom:1px solid #ece3d7; }.ke-order-card__head h2 { margin:0; color:var(--ke-commerce-green-dark); font-size:17px; font-weight:900; }.ke-order-card__head p { margin:5px 0 0; color:#718076; font-size:11px; line-height:1.45; }.ke-order-card__head > a { color:var(--ke-commerce-green); font-size:11px; font-weight:900; text-decoration:underline; }.ke-clear-cart { flex:0 0 auto; color:#a55238 !important; font-size:11px; font-weight:900; text-decoration:none !important; }.ke-clear-cart i { margin-right:4px; }.ke-cart-line { position:relative; display:grid; grid-template-columns:minmax(220px,1.5fr) minmax(100px,.66fr) minmax(144px,.82fr) minmax(80px,.5fr) minmax(86px,.53fr) 20px; gap:13px; align-items:center; padding:17px 20px; border-bottom:1px solid #eee6da; }.ke-cart-line:last-child { border-bottom:0; }.ke-cart-line__identity h3 { margin:1px 0 3px; color:var(--ke-commerce-green-dark); font-size:14px; font-weight:900; }.ke-cart-line__identity h3 a { color:inherit; text-decoration:none; }.ke-cart-line__identity p { margin:0 0 3px; color:#617469; font-size:11px; font-weight:800; }.ke-cart-line__identity small { display:block; overflow:hidden; color:#78867d; font-size:10px; line-height:1.4; text-overflow:ellipsis; white-space:nowrap; }.ke-cart-line__availability small,.ke-cart-line__quantity small { display:block; margin-top:4px; color:#819087; font-size:9px; line-height:1.35; }.ke-cart-line__quantity > label,.ke-cart-line__price > span,.ke-cart-line__total > span { display:block; margin-bottom:5px; color:#849087; font-size:9px; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }.ke-cart-line .ke-qty-control { margin:0; }.ke-cart-line .ke-qty-control > div { max-width:100%; }.ke-cart-line .ke-qty-control input { width:47px; }.ke-cart-line__price strong,.ke-cart-line__total strong { display:block; color:#294636; font-size:12px; font-weight:900; white-space:nowrap; }.ke-cart-line__total strong { color:var(--ke-commerce-green-dark); }.ke-line-remove { display:grid; width:24px; height:24px; place-items:center; border:1px solid #edd7cf; border-radius:6px; color:#ad5039 !important; font-size:11px; text-decoration:none !important; }.ke-line-remove:hover { background:#fff1ed; }.ke-cart-line__status { display:block; margin-top:4px; color:#5f7969; font-size:9px; line-height:1.35; }.ke-cart-line__status.is-error { color:#b34e37; }
.ke-order-summary { position:sticky; top:14px; padding:21px; border:1px solid #d9c59f; border-radius:14px; background:linear-gradient(145deg,#fffdf7,#fbf1df); box-shadow:0 6px 0 #e8d5b5,0 13px 22px rgba(58,61,35,.1); }.ke-order-summary h2 { margin:0 0 16px; color:var(--ke-commerce-green-dark); font-size:18px; font-weight:900; }.ke-summary-line { display:flex; justify-content:space-between; gap:10px; margin:11px 0; color:#66766c; font-size:12px; }.ke-summary-line strong { color:#385343; font-weight:900; white-space:nowrap; }.ke-summary-line--discount { color:#4a7356; }.ke-summary-line--discount strong { color:#277141; }.ke-summary-line small { font-weight:800; }.is-hidden { display:none !important; }.ke-summary-total { display:flex; justify-content:space-between; gap:10px; margin:17px -21px 0; padding:17px 21px 0; border-top:1px solid #e5d9c7; color:#263f30; font-size:14px; font-weight:900; }.ke-summary-total strong { color:var(--ke-commerce-orange-dark); font-size:22px; letter-spacing:-.04em; white-space:nowrap; }.ke-coupon-box { margin-top:17px; padding-top:16px; border-top:1px solid #e7dccb; }.ke-coupon-box label { display:block; margin:0 0 6px; color:#617369; font-size:10px; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }.ke-coupon-box > div { display:flex; }.ke-coupon-box input { min-width:0; flex:1; height:37px; border:1px solid #ccd9cc; border-radius:7px 0 0 7px; background:#fffefa; color:#354e3d; font-size:12px; font-weight:700; }.ke-coupon-box button { border:1px solid #c6d7c7; border-left:0; border-radius:0 7px 7px 0; padding:0 11px; background:#eef6ed; color:var(--ke-commerce-green); font-size:11px; font-weight:900; }.ke-coupon-box p { min-height:14px; margin:6px 0 0; color:#718177; font-size:10px; }.ke-btn--checkout { width:100%; margin-top:17px; }.ke-summary-assurance { margin:13px 0 0; color:#687970; font-size:10px; line-height:1.5; }.ke-summary-assurance i { color:var(--ke-commerce-green); margin-right:3px; }
.ke-review-main { display:grid; gap:17px; }.ke-review-lines > div { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 20px; border-bottom:1px solid #eee6da; }.ke-review-lines > div:last-child { border-bottom:0; }.ke-review-lines strong { display:block; color:#314c3c; font-size:12px; font-weight:900; }.ke-review-lines span { display:block; margin-top:3px; color:#718076; font-size:10px; font-weight:700; }.ke-review-lines > div > div:last-child { flex:0 0 auto; text-align:right; }.ke-address-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; }.ke-address-grid > div { min-height:114px; padding:16px 20px; border-right:1px solid #eee6da; }.ke-address-grid > div:last-child { border-right:0; }.ke-address-grid h3 { margin:0 0 8px; color:#77857c; font-size:10px; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }.ke-address-grid p { margin:0; color:#40594a; font-size:12px; font-weight:700; line-height:1.52; }.ke-address-grid small { display:block; margin-top:6px; color:#718177; font-size:10px; }.ke-review-summary form { margin:0; }.ke-review-summary .ke-btn { margin-top:19px; }
/* Delivery form retains every CRM field but receives the checkout structure. */
.ke-delivery-flow { max-width:1100px; margin:0 auto; }.ke-delivery-flow .ke-checkout-profile { margin:0 0 20px; padding:23px 25px; border:1px solid #e3c89d; border-radius:14px; background:radial-gradient(circle at 85% 10%,rgba(229,112,29,.15),transparent 29%),linear-gradient(130deg,#fff8eb,#f4efe1); box-shadow:0 6px 0 #e8d4b5; }.ke-delivery-flow .ke-checkout-profile__eyebrow { color:var(--ke-commerce-orange-dark); }.ke-delivery-flow .ke-checkout-profile h3 { color:var(--ke-commerce-green-dark); font-size:24px; letter-spacing:-.035em; }.ke-delivery-flow .ke-checkout-profile p { color:#5c7062; }.ke-delivery-flow #company-profile-form .panel_s { border-color:#ded6c7; border-radius:14px; background:#fffefa; box-shadow:0 5px 0 #eee5d7; }.ke-delivery-flow #company-profile-form .panel-body { padding:25px; }.ke-delivery-flow #company-profile-form .section-heading-company-profile { color:var(--ke-commerce-green-dark); font-size:20px; font-weight:900; }.ke-delivery-flow #company-profile-form .panel-footer { padding:18px 25px; border-color:#ece3d7; background:#fcf7ed; }.ke-delivery-flow #company-profile-form .checkoutbuttonval { min-width:220px; min-height:42px; border:1px solid var(--ke-commerce-orange); border-radius:8px; background:linear-gradient(180deg,#ec8842,#d9631b); box-shadow:0 3px 0 #a94713; color:#fff; font-size:13px; font-weight:900; }.ke-delivery-flow #company-profile-form .checkoutbuttonval:hover { background:linear-gradient(180deg,#f09350,#d86118); }.ke-delivery-flow #company-profile-form label { color:#4b6053; font-size:12px; font-weight:800; }.ke-delivery-flow #company-profile-form .form-control { border-color:#d4ded2; border-radius:7px; box-shadow:none; }.ke-delivery-flow #company-profile-form .form-control:focus { border-color:#87ad8e; box-shadow:0 0 0 3px rgba(46,112,77,.11); }
@media (max-width:1100px) { .ke-product-row { grid-template-columns:86px minmax(0,1fr) 195px; }.ke-cart-line { grid-template-columns:minmax(200px,1.4fr) minmax(100px,.7fr) minmax(130px,.8fr) 20px; }.ke-cart-line__price,.ke-cart-line__total { grid-row:2; }.ke-cart-line__price { grid-column:2; }.ke-cart-line__total { grid-column:3; }.ke-line-remove { grid-column:4; grid-row:1; }.ke-detail-grid,.ke-order-grid,.ke-review-grid { grid-template-columns:minmax(0,1fr) 310px; } }
@media (max-width:850px) { .ke-commerce { padding:20px 15px 38px; }.ke-results-layout,.ke-detail-grid,.ke-order-grid,.ke-review-grid { grid-template-columns:1fr; }.ke-refine,.ke-purchase-card,.ke-order-summary { position:static; }.ke-refine { display:grid; grid-template-columns:1fr 1fr; }.ke-refine__head,.ke-refine__note { grid-column:1/-1; }.ke-filter-group { border-bottom:0; }.ke-filter-group + .ke-filter-group { border-left:1px solid #eee6da; }.ke-detail-product { grid-template-columns:1fr; }.ke-detail-image { min-height:225px; }.ke-detail-image img { max-height:180px; }.ke-detail-support { grid-template-columns:1fr; }.ke-cart-line { grid-template-columns:minmax(0,1fr) minmax(135px,.7fr) minmax(130px,.7fr) 25px; }.ke-cart-line__availability { grid-row:2; grid-column:1; }.ke-cart-line__quantity { grid-row:2; grid-column:2; }.ke-cart-line__price { grid-row:3; grid-column:1; }.ke-cart-line__total { grid-row:3; grid-column:2; }.ke-line-remove { grid-row:1; grid-column:4; }.ke-address-grid { grid-template-columns:1fr; }.ke-address-grid > div { min-height:0; border-right:0; border-bottom:1px solid #eee6da; }.ke-address-grid > div:last-child { border-bottom:0; } }
@media (max-width:600px) { .ke-search-hero,.ke-order-head,.ke-detail-head { display:block; padding:21px 19px; }.ke-search-hero .ke-hero-action,.ke-order-head .ke-btn,.ke-detail-head > .ke-btn { margin-top:15px; }.ke-search-hero h1,.ke-order-head h1,.ke-detail-head h1 { font-size:27px; }.ke-findbar { min-height:54px; padding-left:12px; gap:7px; }.ke-findbar .ke-btn { min-width:74px; padding:9px 10px; }.ke-findbar input { font-size:12px; }.ke-refine { display:block; position:static; }.ke-filter-group + .ke-filter-group { border-top:1px solid #eee6da; border-left:0; }.ke-results__toolbar { align-items:start; flex-direction:column; }.ke-product-row { grid-template-columns:72px minmax(0,1fr); gap:11px; padding:13px; }.ke-product-thumb { min-height:72px; }.ke-product-thumb img { max-height:61px; }.ke-product-buy { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; gap:0 14px; padding:12px 0 0; border-top:1px solid #ece2d4; border-left:0; }.ke-product-buy .ke-stock,.ke-product-buy .ke-price { grid-column:span 1; }.ke-product-buy .ke-qty-control,.ke-product-buy .ke-buy-rule,.ke-product-buy .ke-btn--cart { grid-column:1/-1; }.ke-product-buy .ke-price { margin:8px 0; }.ke-product-buy .ke-price strong { font-size:17px; }.ke-product-meta { display:none; }.ke-description { -webkit-line-clamp:3; }.ke-checkout-steps { margin-bottom:19px; }.ke-checkout-steps li { gap:6px; }.ke-checkout-steps li > span { width:27px; height:27px; font-size:10px; }.ke-checkout-steps li:not(:last-child)::after { top:13px; left:31px; width:calc(100% - 29px); }.ke-checkout-steps small { display:none; }.ke-checkout-steps strong { font-size:10px; }.ke-cart-line { grid-template-columns:minmax(0,1fr) 25px; gap:10px; padding:14px; }.ke-cart-line__identity { grid-column:1; }.ke-cart-line__availability { grid-row:2; grid-column:1; }.ke-cart-line__quantity { grid-row:3; grid-column:1; }.ke-cart-line__price { grid-row:4; grid-column:1; }.ke-cart-line__total { grid-row:5; grid-column:1; }.ke-line-remove { grid-row:1; grid-column:2; }.ke-cart-line__price,.ke-cart-line__total { display:flex; justify-content:space-between; align-items:center; }.ke-cart-line__price > span,.ke-cart-line__total > span { margin:0; }.ke-review-lines > div { align-items:start; flex-direction:column; }.ke-review-lines > div > div:last-child { text-align:left; }.ke-delivery-flow #company-profile-form .panel-body { padding:16px; }.ke-delivery-flow #company-profile-form .checkoutbuttonval { width:100%; }.ke-delivery-flow .ke-checkout-profile { padding:19px; } }

/* Catalogue-first shared shell. These are original KnowElectronics patterns that
   make discovery, tools and account pathways visible across the storefront. */
.ke-nav__catalog-menu { position:relative; }
.ke-nav__catalog-menu .ke-nav__link { display:inline-flex; align-items:center; gap:6px; }
.ke-nav__catalog-menu .ke-nav__link > .fa-th-large { color:var(--ke-orange); }
.ke-nav__chevron { font-size:9px; color:#8c765f; }
.ke-nav__catalog-menu .dropdown-menu { min-width:248px; margin-top:0; padding:7px; border:1px solid #e5cba7; border-radius:0 0 13px 13px; background:#fffdf8; box-shadow:0 13px 0 rgba(100,66,30,.06),0 23px 31px rgba(64,43,22,.15); }
.ke-nav__catalog-menu .dropdown-menu > li > a { display:flex; align-items:center; gap:9px; padding:9px 10px; border-radius:7px; color:var(--ke-green) !important; font-size:12px; font-weight:800; text-decoration:none; }
.ke-nav__catalog-menu .dropdown-menu > li > a:hover { background:#eff7ee; color:var(--ke-green-dark) !important; }
.ke-nav__catalog-menu .dropdown-menu > li > a i { width:16px; color:var(--ke-orange-dark); text-align:center; }
.ke-nav__menu-title { padding:8px 10px 5px; color:#98724e; font-size:9px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.ke-nav__catalog-menu .dropdown-menu .divider { height:1px; margin:6px 3px; overflow:hidden; background:#eee0cb; }
.ke-supplier-strip__label { color:#8f6541 !important; }
.ke-supplier i { margin-right:5px; color:var(--ke-orange-dark); }
.ke-home .ke-supplier-strip { justify-content:center; max-width:1040px; margin:0 auto; }
.ke-home .ke-supplier { display:inline-flex; align-items:center; }
@media (max-width:900px) { .ke-nav__catalog-menu .dropdown-menu { position:absolute; left:0; right:auto; }.ke-nav__catalog-menu .ke-nav__link:hover::after { display:none; } }
@media (max-width:580px) { .ke-nav__catalog-menu .dropdown-menu { position:fixed; top:auto; left:10px; right:10px; min-width:0; }.ke-nav__catalog-menu .dropdown-menu > li > a { padding:11px; } }

/* Account records, project and support pages share the same calm sourcing-workspace hierarchy. */
.ke-client-page { max-width:1240px; margin:0 auto; padding:30px 24px 52px; color:var(--ke-ink); }
.ke-client-page * { box-sizing:border-box; }
.ke-client-page__hero { display:flex; align-items:flex-start; justify-content:space-between; gap:22px; margin-bottom:21px; padding:25px 28px; border:1px solid #e6cda7; border-radius:16px; background:radial-gradient(circle at 90% 14%,rgba(234,139,70,.16),transparent 24%),linear-gradient(130deg,#fff9ed,#f7eddb); box-shadow:0 6px 0 #ead8bb,0 15px 25px rgba(64,43,22,.08); }
.ke-client-page__hero > div { min-width:0; }.ke-client-page__eyebrow { margin:0 0 6px; color:var(--ke-orange-dark); font-size:10px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }.ke-client-page__hero h1 { margin:0; color:var(--ke-green-dark); font-size:31px; font-weight:900; letter-spacing:-.045em; line-height:1.15; }.ke-client-page__hero p:not(.ke-client-page__eyebrow) { max-width:690px; margin:9px 0 0; color:#607267; font-size:13px; line-height:1.6; }.ke-client-page__action { display:inline-flex; align-items:center; justify-content:center; gap:8px; flex:0 0 auto; min-height:40px; margin-top:3px; padding:9px 14px; border:1px solid #cfdccd; border-radius:9px; background:#fffdf8; box-shadow:0 3px 0 #d8e3d6; color:var(--ke-green) !important; font-size:12px; font-weight:900; text-decoration:none !important; }.ke-client-page__action:hover { transform:translateY(-1px); background:#eef7ee; color:var(--ke-green-dark) !important; }.ke-client-page__action i { color:var(--ke-orange-dark); }
.ke-client-surface,.ke-client-summary,.ke-ticket-statuses { overflow:hidden; border:1px solid var(--ke-line); border-radius:15px; background:var(--ke-paper); box-shadow:var(--ke-shadow); }.ke-client-surface__head { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; padding:19px 22px; border-bottom:1px solid #ede0cc; background:#fffaf1; }.ke-client-surface__head h2,.ke-client-summary__head h2,.ke-ticket-statuses > h2 { margin:0; color:var(--ke-green-dark); font-size:17px; font-weight:900; }.ke-client-surface__head p { margin:5px 0 0; color:#738278; font-size:11px; }.ke-client-surface__body { padding:22px; }.ke-client-divider { height:1px; margin:20px 0; background:#ecdfcb; }.ke-client-table-wrap { width:100%; overflow-x:auto; }.ke-client-page .table { min-width:660px; margin:0; }.ke-client-page .table > thead > tr > th { padding:12px 13px; border:0; background:linear-gradient(90deg,var(--ke-green-dark),var(--ke-green)) !important; color:#fff !important; font-size:10px; font-weight:900; letter-spacing:.045em; text-transform:uppercase; white-space:nowrap; }.ke-client-page .table > tbody > tr > td { padding:13px; border-color:#eee3d3; color:#4a5d51; font-size:12px; vertical-align:middle; white-space:nowrap; }.ke-client-page .table > tbody > tr:hover { background:#fff4e3 !important; }.ke-client-page .table a:not(.btn) { color:var(--ke-green); font-weight:800; }.ke-client-page .dataTables_wrapper .dataTables_filter input,.ke-client-page .dataTables_wrapper .dataTables_length select { min-height:33px; margin-left:6px; border:1px solid #dcc49f; border-radius:7px; background:#fffdf8; color:var(--ke-ink); }.ke-client-page .dataTables_wrapper .dataTables_paginate .paginate_button { border-radius:6px; color:var(--ke-green) !important; font-weight:800; }.ke-client-page .dataTables_wrapper .dataTables_paginate .paginate_button.current { border-color:#e1b77e; background:#fff0d8; color:var(--ke-orange-dark) !important; }
.ke-client-summary { margin-bottom:19px; }.ke-client-summary__head { padding:16px 21px 12px; border-bottom:1px solid #ede0cc; background:#fffaf1; }.ke-client-summary > .row,.ke-client-summary > div:not(.ke-client-summary__head) { padding:5px 14px; }.ke-client-summary .panel_s { box-shadow:none !important; }.ke-ticket-statuses { margin-bottom:19px; padding:19px; }.ke-ticket-statuses > h2 { margin-bottom:13px; }.ke-ticket-statuses dl { margin:0 !important; }.ke-ticket-statuses dl > a { overflow:hidden; border:1px solid #dfd4c4 !important; border-radius:10px !important; background:#fffdf8 !important; box-shadow:0 3px 0 rgba(112,73,30,.055); text-decoration:none !important; transition:transform .16s,box-shadow .16s; }.ke-ticket-statuses dl > a:hover { transform:translateY(-1px); box-shadow:0 5px 0 rgba(112,73,30,.08); }.ke-ticket-statuses dt { font-size:11px; font-weight:900; }.ke-ticket-statuses dd > div { color:var(--ke-green-dark) !important; font-size:21px; }
.ke-client-empty { display:flex; align-items:center; gap:10px; padding:19px; border:1px dashed #d7c19c; border-radius:10px; background:#fff9ee; color:#64766b; font-size:13px; }.ke-client-empty i { color:var(--ke-orange-dark); font-size:18px; }.ke-client-empty p { margin:0; }.ke-client-page--knowledge .kb-search-heading { color:var(--ke-green-dark); font-weight:900; }.ke-client-page--knowledge .kb-search-input { min-height:42px; }.ke-client-page--knowledge .kb-search-button { min-height:42px; border:0; background:var(--ke-green); font-weight:900; }.ke-client-page--knowledge .kb-search-button:hover { background:var(--ke-green-dark); }
.section-profile { max-width:1240px; margin:30px auto 50px !important; color:var(--ke-ink); }.section-profile > .col-md-8 > .section-text,.section-profile > .col-md-4 > .section-text { margin:0 0 12px; color:var(--ke-green-dark); font-size:19px; font-weight:900; }.section-profile .panel_s { overflow:hidden; }.section-profile .panel-body { padding:23px; }.section-profile .panel-footer { padding:16px 23px; border-top:1px solid #ede0cc; background:#fffaf1; }.section-profile .email-notifications-label { margin-top:21px; color:var(--ke-green-dark); }.section-profile .checkbox label { color:#53665b; font-size:12px; font-weight:700; }.section-profile .checkbox input { accent-color:var(--ke-orange); }
@media(max-width:760px) { .ke-client-page { padding:22px 14px 39px; }.ke-client-page__hero { display:block; padding:21px 19px; }.ke-client-page__hero h1 { font-size:27px; }.ke-client-page__action { margin-top:15px; }.ke-client-surface__head { padding:17px; }.ke-client-surface__body { padding:15px; }.ke-ticket-statuses { padding:15px; }.section-profile { margin:22px 0 39px !important; }.section-profile .panel-body { padding:17px; } }

/* Contact profile and company details complete the account-workspace family. */
.ke-profile-page { padding-bottom:52px; }.ke-profile-page .section-profile { max-width:none; margin:0 !important; }.ke-profile-page .section-profile > .col-md-8 > .section-text,.ke-profile-page .section-profile > .col-md-4 > .section-text { padding:0 1px; }.ke-profile-page .client-profile-image-thumb { max-width:150px; border:1px solid #e3cda9; border-radius:12px; box-shadow:0 4px 0 rgba(112,73,30,.08); }.ke-profile-page .profile-image-upload-group { padding:12px; border:1px dashed #d9bf98; border-radius:10px; background:#fff9ef; }.ke-profile-page .contact-profile-save-section { text-align:right; }.ke-profile-page .contact-profile-save { min-width:145px; }
.ke-company-page { max-width:1240px; margin:0 auto; padding:30px 24px 52px; color:var(--ke-ink); }.ke-company-page .row { margin-left:-10px; margin-right:-10px; }.ke-company-page [class*="col-"] { padding-left:10px; padding-right:10px; }.ke-company-page:not(.ke-company-page--checkout) #company-profile-form > .section-text { color:var(--ke-green-dark); font-size:20px; font-weight:900; }.ke-company-page:not(.ke-company-page--checkout) #company-profile-form .panel_s { overflow:hidden; }.ke-company-page:not(.ke-company-page--checkout) #company-profile-form .panel-body { padding:24px; }.ke-company-page:not(.ke-company-page--checkout) #company-profile-form .panel-footer { padding:17px 24px; border-top:1px solid #ede0cc; background:#fffaf1; }.ke-company-page:not(.ke-company-page--checkout) #company-profile-form .checkoutbuttonval { min-width:142px; }.ke-company-page #company-profile-form h3 { color:var(--ke-green-dark); font-size:17px; font-weight:900; }.ke-company-page #company-profile-form h4 { color:#496054; font-size:13px; font-weight:900; }.ke-company-page #company-profile-form .shipping-details { padding:11px 0 0; }.ke-company-page #company-profile-form .shipping_d { padding-top:8px; }.ke-company-page #company-profile-form .card-header { border:1px solid #e6d8c1; border-radius:8px; background:#fff8ed; }.ke-company-page #company-profile-form textarea { min-height:92px; resize:vertical; }
@media(max-width:760px) { .ke-profile-page { padding-bottom:39px; }.ke-company-page { padding:22px 14px 39px; }.ke-company-page:not(.ke-company-page--checkout) #company-profile-form .panel-body { padding:17px; }.ke-profile-page .contact-profile-save { width:100%; }.ke-company-page:not(.ke-company-page--checkout) #company-profile-form .checkoutbuttonval { width:100%; } }

.ke-public { max-width:1160px; margin:0 auto; padding:46px 24px 14px; color:var(--ke-ink); }.ke-public * { box-sizing:border-box; }.ke-public h1,.ke-public h2,.ke-public h3,.ke-public p { margin-top:0; }.ke-public h1 { max-width:760px; margin-bottom:15px; color:var(--ke-green-dark); font-size:clamp(32px,4.5vw,54px); font-weight:900; letter-spacing:-.06em; line-height:1.03; }.ke-public h2 { color:var(--ke-green-dark); font-size:clamp(22px,2.4vw,31px); font-weight:900; letter-spacing:-.035em; line-height:1.15; }.ke-public h3 { margin-bottom:8px; color:var(--ke-green-dark); font-size:16px; font-weight:900; }.ke-public p { color:var(--ke-muted); font-size:14px; line-height:1.75; }.ke-public a:not(.ke-button) { color:var(--ke-green); font-weight:800; text-decoration-color:#dba574; text-underline-offset:3px; }.ke-public a:not(.ke-button):hover { color:var(--ke-orange-dark); }.ke-public__eyebrow { margin-bottom:10px !important; color:var(--ke-orange-dark) !important; font-size:10px !important; font-weight:900 !important; letter-spacing:.14em; line-height:1.2; text-transform:uppercase; }.ke-public__lead { max-width:690px; margin-bottom:0 !important; color:#dcefe0 !important; font-size:16px !important; line-height:1.72 !important; }.ke-public__hero { position:relative; display:grid; grid-template-columns:minmax(0,1.42fr) minmax(245px,.65fr); gap:32px; align-items:center; overflow:hidden; min-height:270px; padding:clamp(29px,5vw,54px); border:1px solid #d7b784; border-radius:24px; background:radial-gradient(circle at 81% 14%,rgba(255,184,98,.83) 0 5%,transparent 5.3%),radial-gradient(circle at 89% 77%,rgba(91,177,137,.3) 0 13%,transparent 13.4%),linear-gradient(125deg,#103f32,#1e7056 63%,#b95a2e 165%); box-shadow:0 11px 0 rgba(49,78,54,.24),0 28px 45px rgba(40,70,46,.19); }.ke-public__hero::before { position:absolute; inset:0; opacity:.36; background-image:linear-gradient(90deg,rgba(255,242,220,.15) 1px,transparent 1px),linear-gradient(rgba(255,242,220,.15) 1px,transparent 1px); background-size:33px 33px; content:""; mask-image:linear-gradient(90deg,#000,transparent 68%); }.ke-public__hero > * { position:relative; }.ke-public__hero h1 { color:#fff9ed; }.ke-public__hero .ke-public__eyebrow { color:#ffd5a0 !important; }.ke-public__actions { display:flex; flex-wrap:wrap; gap:11px; margin-top:24px; }.ke-button { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:43px; padding:10px 16px; border:1px solid transparent; border-radius:11px; font-size:12px; font-weight:900; line-height:1.1; text-decoration:none !important; transition:transform .18s ease,box-shadow .18s ease; }.ke-button:hover { transform:translateY(-2px); }.ke-button--primary { background:linear-gradient(145deg,#f19060,var(--ke-orange)); box-shadow:0 4px 0 var(--ke-orange-dark); color:#fff !important; }.ke-button--quiet { border-color:#efc998; background:#fff9ee; box-shadow:0 3px 0 rgba(100,64,25,.16); color:var(--ke-green-dark) !important; }.ke-button--orange { background:linear-gradient(145deg,#f19362,var(--ke-orange)); box-shadow:0 4px 0 var(--ke-orange-dark); color:#fff !important; }.ke-public__signal-card { padding:24px; border:1px solid rgba(255,227,188,.4); border-radius:17px; background:rgba(8,55,42,.45); box-shadow:inset 0 1px 0 rgba(255,255,255,.08); color:#fff7ec; }.ke-public__signal-card strong { display:block; margin-bottom:6px; font-size:16px; line-height:1.25; }.ke-public__signal-card p { margin:0; color:#dfeee2; font-size:12px; line-height:1.65; }.ke-public__signal-icon,.ke-public__feature-icon { display:grid; width:39px; height:39px; place-items:center; margin-bottom:13px; border:1px solid #efbb82; border-radius:12px; background:linear-gradient(145deg,#fff0d7,#ffd9ad); box-shadow:0 4px 0 #dfaa72; color:var(--ke-orange-dark); font-size:20px; font-weight:900; }.ke-public__signal-card .ke-public__signal-icon { border-color:rgba(255,229,190,.25); background:rgba(255,255,255,.13); box-shadow:none; color:#ffe0aa; }.ke-public__section { margin-top:53px; }.ke-public__section-head { max-width:630px; margin-bottom:19px; }.ke-public__section-head h2 { margin-bottom:0; }.ke-public__feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }.ke-public__feature,.ke-public__map-card,.ke-public__form-card,.ke-public__center-card,.ke-public__policy-card { border:1px solid var(--ke-line); border-radius:18px; background:var(--ke-paper); box-shadow:var(--ke-shadow); }.ke-public__feature { min-height:210px; padding:23px; }.ke-public__feature p { margin-bottom:0; font-size:13px; }.ke-public__callout { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-top:31px; padding:28px 30px; border:1px solid #dbbc91; border-radius:18px; background:linear-gradient(110deg,#fff7e9,#f7ead6); box-shadow:0 7px 0 rgba(100,63,24,.07),0 18px 32px rgba(83,53,21,.08); }.ke-public__callout h2 { margin-bottom:7px; font-size:24px; }.ke-public__callout p { max-width:670px; margin-bottom:0; }.ke-public__hero--contact { grid-template-columns:minmax(0,1.45fr) minmax(235px,.6fr); min-height:238px; }.ke-public__form-card { min-height:840px; margin-top:25px; overflow:hidden; }.ke-public__form-card iframe { display:block; width:100%; min-height:840px; border:0; }.ke-public__fineprint { margin:14px 4px 0 !important; font-size:11px !important; }.ke-public__hero--compact { grid-template-columns:minmax(0,1fr) auto; min-height:0; padding:32px 37px; }.ke-public__hero--compact .ke-public__lead { color:#e2f1e5 !important; }.ke-public__faq-list { margin-top:23px; }.ke-public__faq-list details { margin-bottom:10px; overflow:hidden; border:1px solid var(--ke-line); border-radius:14px; background:var(--ke-paper); box-shadow:0 4px 0 rgba(104,65,28,.045); }.ke-public__faq-list summary { position:relative; padding:17px 54px 17px 19px; color:var(--ke-green-dark); font-size:14px; font-weight:900; cursor:pointer; list-style:none; }.ke-public__faq-list summary::-webkit-details-marker { display:none; }.ke-public__faq-list summary::after { position:absolute; top:11px; right:16px; display:grid; width:27px; height:27px; place-items:center; border-radius:8px; background:#ffead0; color:var(--ke-orange-dark); content:"+"; font-size:21px; font-weight:400; }.ke-public__faq-list details[open] summary { border-bottom:1px solid #edddc8; background:#fff8ed; }.ke-public__faq-list details[open] summary::after { content:"–"; }.ke-public__faq-list details > div { padding:16px 19px 19px; color:var(--ke-muted); font-size:14px; line-height:1.7; }.ke-public__callout--help { margin-top:25px; border-color:#255f4c; background:linear-gradient(120deg,var(--ke-green-dark),var(--ke-green)); box-shadow:0 7px 0 #0e3529,0 19px 30px rgba(28,74,56,.18); }.ke-public__callout--help h2,.ke-public__callout--help p { color:#fff9ec; }.ke-public__callout--help p { color:#dceee0; }.ke-public--career { display:grid; min-height:calc(100vh - 330px); place-items:center; }.ke-public__center-card { max-width:780px; padding:clamp(32px,6vw,62px); text-align:center; }.ke-public__center-card h1 { margin-right:auto; margin-left:auto; }.ke-public__center-card p:not(.ke-public__eyebrow) { max-width:600px; margin-right:auto; margin-left:auto; }.ke-public__feature-icon--large { width:55px; height:55px; margin-right:auto; margin-left:auto; font-size:26px; }.ke-public--policy { max-width:940px; }.ke-public__policy-card { padding:clamp(27px,5vw,50px); }.ke-public__policy-card h1 { margin-bottom:4px; font-size:clamp(31px,4.5vw,47px); }.ke-public__updated { margin-bottom:28px !important; color:#927354 !important; font-size:11px !important; font-weight:800; }.ke-public__policy-card h2 { margin:28px 0 8px; font-size:18px; }.ke-public__policy-card p { margin-bottom:13px; }.ke-public__map-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:24px; }.ke-public__map-card { padding:24px; }.ke-public__map-card h2 { margin-bottom:14px; font-size:17px; }.ke-public__map-card ul { margin:0; padding:0; list-style:none; }.ke-public__map-card li+li { margin-top:11px; }.ke-public__map-card a { font-size:13px; }
@media(max-width:760px){.ke-public{padding:28px 14px 5px}.ke-public__hero,.ke-public__hero--contact{grid-template-columns:1fr;gap:21px;padding:30px 23px}.ke-public__hero--compact{grid-template-columns:1fr;padding:28px 22px}.ke-public__hero--compact .ke-button{width:fit-content}.ke-public__feature-grid,.ke-public__map-grid{grid-template-columns:1fr}.ke-public__section{margin-top:39px}.ke-public__callout{align-items:flex-start;flex-direction:column;padding:25px 22px}.ke-public__form-card,.ke-public__form-card iframe{min-height:920px}.ke-public--career{min-height:0;padding-top:42px}.ke-public__center-card{padding:35px 23px}.ke-public__policy-card{padding:29px 21px}.ke-public__policy-card h2{margin-top:24px}}

/* Global catalogue search field and explicit submit action. */
.ke-search { max-width:650px !important; }.ke-search form { min-height:48px; align-items:center; border-color:#dfc29c !important; border-radius:14px !important; background:#fffdf8 !important; }.ke-search .ke-search__submit { order:0; width:42px !important; min-width:42px; height:39px; margin:3px 0 3px 3px !important; border-radius:10px !important; background:transparent !important; box-shadow:none !important; color:var(--ke-orange-dark) !important; font-size:18px; }.ke-search .ke-search__submit:hover { transform:none; background:#fff1dd !important; color:var(--ke-orange-dark) !important; }.ke-search input { order:1; height:42px !important; padding:0 9px !important; font-size:13px !important; }.ke-search__scope { order:2; flex:none; margin-right:7px; padding:5px 8px; border-left:1px solid #ead8bf; color:#69796e; font-size:10px; font-weight:850; line-height:1.1; white-space:nowrap; }
@media(max-width:700px){.ke-search__scope{display:none}.ke-search form{min-height:46px}}

/* BOM workspace visual alignment. Functional import, match, save, cart and
   checkout code stays untouched; this layer only brings the tool into the
   original KnowElectronics orange/cream/evergreen raised-surface system. */
.bom-container { --green:#185d49; --green-dark:#103f32; --green-light:#e2f1e7; --green-mid:#5aaf83; --red:#bd4e22; --red-light:#ffe5d4; --red-dark:#913817; --amber:#b95015; --amber-light:#fff0da; --blue:#bd4e22; --blue-light:#fff0db; --gray-50:#fffaf1; --gray-100:#f9efdf; --gray-200:#ead9c3; --gray-300:#dfc29b; --gray-400:#bfae98; --gray-500:#7c746a; --gray-600:#5f6d62; --gray-700:#394b41; --gray-800:#263b30; --gray-900:#16392d; --shadow-sm:0 5px 0 rgba(113,70,28,.06),0 13px 24px rgba(71,44,15,.07); --shadow-md:0 8px 0 rgba(113,70,28,.07),0 19px 31px rgba(71,44,15,.1); --shadow-lg:0 13px 0 rgba(54,89,64,.12),0 27px 45px rgba(28,65,46,.17); max-width:1320px; padding:34px 24px 48px; color:var(--gray-900); }.bom-toolbar { position:relative; overflow:hidden; padding:18px 21px; border:1px solid #d8b785; border-radius:18px; background:radial-gradient(circle at 87% 17%,rgba(255,186,103,.62) 0 8%,transparent 8.3%),linear-gradient(125deg,var(--green-dark),var(--green) 68%,#9a4b28 165%); box-shadow:0 8px 0 rgba(42,78,53,.23),0 22px 35px rgba(35,65,44,.17); }.bom-toolbar::before { position:absolute; inset:0; opacity:.28; background-image:linear-gradient(90deg,rgba(255,241,216,.17) 1px,transparent 1px),linear-gradient(rgba(255,241,216,.17) 1px,transparent 1px); background-size:29px 29px; content:""; mask-image:linear-gradient(90deg,#000,transparent 70%); }.bom-toolbar > * { position:relative; }.nav-logo { color:#fff9ee; font-size:17px; font-weight:850; letter-spacing:-.02em; }.nav-logo-dot { width:10px; height:10px; background:#ffbd76; box-shadow:0 0 0 5px rgba(255,189,118,.17); }.nav-actions { gap:8px; }.bom-container .btn-bom { min-height:38px; border-radius:10px; font-weight:800; }.bom-container .btn-outline-bom { border-color:rgba(255,230,194,.48); background:rgba(255,255,255,.11); color:#fff8eb; }.bom-container .btn-outline-bom:hover { border-color:#fff0d4; background:rgba(255,255,255,.2); color:#fff; }.bom-container .btn-primary-bom { border-color:#c35a27; background:linear-gradient(145deg,#f19362,#df6f35); box-shadow:0 3px 0 #a6471f; color:#fff; }.bom-container .btn-primary-bom:hover { border-color:#b84d20; background:linear-gradient(145deg,#f6a36f,#df6f35); }.bom-container .btn-checkout-bom { border-color:#e47b3f; background:linear-gradient(145deg,#f19362,#df6f35); box-shadow:0 4px 0 #a6471f; color:#fff; }.bom-container .btn-checkout-bom:hover { background:linear-gradient(145deg,#f6a36f,#d76329); }.bom-container .btn-ghost-bom { color:var(--green); }.bom-container .page-header { margin:31px 2px 19px; }.bom-container .page-title { color:var(--green-dark); font-size:clamp(28px,3.5vw,42px); font-weight:850; letter-spacing:-.055em; }.bom-container .page-title span { color:var(--orange-dark,#bd4e22); }.bom-container .page-desc { max-width:650px; color:var(--gray-600); font-size:14px; }.bom-container .instructions { border-color:#f0c48e; border-radius:14px; background:#fff1dc; box-shadow:0 4px 0 rgba(122,77,27,.05); }.bom-container .instructions-icon { filter:saturate(.82); }.bom-container .instructions-title { color:var(--orange-dark,#bd4e22); font-weight:850; }.bom-container .instructions-body { color:#6c573f; }.bom-container .instructions-body code { border-color:#efd0a4; background:#fffaf1; color:var(--green-dark); }.bom-container .upload-card,.bom-container .stat-card,.bom-container .table-card,.bom-container .bottom-bar { border-color:#e3cfb1; background:#fffdf8; box-shadow:var(--shadow-sm); }.bom-container .upload-card { border-radius:20px; }.bom-container .upload-zone { border-color:#d9ba91; border-radius:15px; background:#fffaf1; }.bom-container .upload-zone:hover,.bom-container .upload-zone.drag { border-color:var(--orange,#e66d35); background:#fff0dc; }.bom-container .upload-zone.has-file { border-color:var(--green); background:#edf7ef; }.bom-container .upload-icon-wrap { border:1px solid #f0c089; border-radius:14px; background:#ffe3c5; box-shadow:0 4px 0 #f0c18b; }.bom-container .upload-icon-wrap svg { stroke:var(--orange-dark,#bd4e22); }.bom-container .upload-title { color:var(--green-dark); font-weight:850; }.bom-container .upload-sub a { color:var(--green); font-weight:800; }.bom-container .format-pill { border-color:#e7cda9; background:#fffdf8; color:#6b6c59; }.bom-container .stat-card { border-radius:15px; }.bom-container .stat-value { color:var(--green-dark); }.bom-container .stat-value.green { color:var(--green); }.bom-container .stat-value.red { color:var(--orange-dark,#bd4e22); }.bom-container .coverage-bar-bg { background:#f0dfc8; }.bom-container .coverage-bar-fill { background:linear-gradient(90deg,#72be92,var(--green)); }.bom-container .table-card { border-radius:18px; }.bom-container .table-toolbar,.bom-container .table-footer { border-color:#eadac4; background:#fffaf1; }.bom-container .tab-btn { color:var(--gray-600); font-weight:750; }.bom-container .tab-btn.active { border-color:#ebc58e; background:#ffe3c4; color:var(--orange-dark,#bd4e22); }.bom-container .search-wrap input,.bom-container .qty-input,.bom-container .show-entries select,.bom-container textarea,.bom-container .ke-project-modal__input { border-color:#dec29c !important; border-radius:9px !important; background:#fffdf8 !important; color:var(--gray-800) !important; }.bom-container .search-wrap input:focus,.bom-container .qty-input:focus,.bom-container textarea:focus,.bom-container .ke-project-modal__input:focus { border-color:var(--orange,#e66d35) !important; box-shadow:0 0 0 3px rgba(230,109,53,.13) !important; }.bom-container .bom-table thead th { background:linear-gradient(90deg,var(--green-dark),var(--green)); color:#fff8eb; }.bom-container .bom-table td { border-color:#eee0cd; }.bom-container .bom-table tbody tr:hover { background:#fff5e6; }.bom-container .bom-badge.badge-found { background:#e6f3e8; color:var(--green-dark); }.bom-container .bom-badge.badge-notfound { background:#ffe4d3; color:#913817; }.bom-container .row-add-btn { border-color:var(--green); color:var(--green); font-weight:800; }.bom-container .row-add-btn:hover,.bom-container .row-add-btn.added { background:var(--green); color:#fff; }.bom-container .total-amount { color:var(--orange-dark,#bd4e22); }.bom-container .bom-toast { border:1px solid rgba(255,219,173,.25); border-radius:14px; background:var(--green-dark); box-shadow:var(--shadow-lg); }.bom-container .ke-project-modal { background:rgba(12,55,42,.53); }.bom-container .ke-project-modal__card { border-color:#e1c69d; background:#fffdf8; }.bom-container .ke-project-modal__title,.bom-container .ke-project-row__name { color:var(--green-dark); }
@media(max-width:760px){.bom-container{padding:25px 14px 36px}.bom-toolbar{align-items:flex-start;flex-direction:column;padding:20px}.nav-actions{width:100%;justify-content:flex-start}.bom-container .page-header{margin-top:27px}.bom-container .upload-card{padding:20px}.bom-container .upload-zone{padding:32px 17px}.bom-container .table-toolbar{align-items:flex-start}.bom-container .btn-checkout-bom{margin-left:auto}}
/* Keep secondary BOM actions legible on the paper workspace while the toolbar
   retains its inverse treatment. */
.bom-container .btn-outline-bom { border-color:#ddc39e; background:#fff9ed; color:var(--green); }.bom-container .btn-outline-bom:hover { border-color:#d79a5f; background:#fff1dd; color:var(--orange-dark,#bd4e22); }.bom-container .bom-toolbar .btn-outline-bom { border-color:rgba(255,230,194,.48); background:rgba(255,255,255,.11); color:#fff8eb; }.bom-container .bom-toolbar .btn-outline-bom:hover { border-color:#fff0d4; background:rgba(255,255,255,.2); color:#fff; }

/* Dense catalogue comparison rows: an original KnowElectronics engineering-search
   layout with clear component, detail and order columns on desktop. */
.ke-results__columns { display:grid; grid-template-columns:104px minmax(0,1fr) 222px; gap:17px; margin:0; padding:10px 17px; border:1px solid #dfcfba; border-bottom:0; border-radius:14px 14px 0 0; background:linear-gradient(90deg,#fff5e5,#fffaf1); color:#76624d; font-size:9px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }.ke-results__columns span:first-child { grid-column:1 / span 1; }.ke-results__columns span:nth-child(2) { grid-column:2; }.ke-results__columns span:nth-child(3) { grid-column:3; }
.ke-product-list { gap:0; overflow:hidden; border:1px solid #dfcfba; border-radius:0 0 14px 14px; background:#fffdf8; box-shadow:0 6px 0 rgba(110,68,26,.06),0 16px 28px rgba(77,48,17,.07); }.ke-product-list .ke-product-row { border:0; border-bottom:1px solid #eee0cd; border-radius:0; background:#fffdf8; box-shadow:none; }.ke-product-list .ke-product-row:last-child { border-bottom:0; }.ke-product-list .ke-product-row:hover { transform:none; border-color:#eee0cd; background:#fff7ea; box-shadow:inset 4px 0 0 var(--ke-orange); }.ke-source-help { display:flex; align-items:center; justify-content:center; gap:6px; min-height:31px; margin-top:9px; border:1px solid #e0bc91; border-radius:8px; background:#fff7ea; color:var(--ke-green) !important; font-size:10px; font-weight:850; text-decoration:none !important; }.ke-source-help:hover { border-color:var(--ke-orange); background:#fff0dc; color:var(--ke-orange-dark) !important; }
@media(max-width:1100px){.ke-results__columns{grid-template-columns:86px minmax(0,1fr) 195px}}@media(max-width:600px){.ke-results__columns{display:none}.ke-product-list{border-radius:14px}.ke-source-help{grid-column:1/-1}}

/* v20 — clean component-marketplace refinement.
   Original KnowElectronics styling: denser search utility, clearer hierarchy and
   quieter surfaces inspired only by high-level distributor usability patterns. */
:root {
  --ke-surface-soft: #fffaf2;
  --ke-surface-muted: #f8efe1;
  --ke-line-strong: #ddc8aa;
  --ke-shadow-clean: 0 1px 0 rgba(89,57,25,.07), 0 10px 25px rgba(75,48,18,.075);
  --ke-shadow-clean-hover: 0 1px 0 rgba(89,57,25,.10), 0 14px 30px rgba(75,48,18,.12);
}
body.customers { min-width:320px; background:linear-gradient(180deg,#fffaf2 0,#fff8ec 420px,#fffdf8 100%) !important; color:var(--ke-ink) !important; }
body.customers::selection { background:#ffe0bd; color:var(--ke-green-dark); }

/* Compact distributor-style global shell. */
.ke-topbar { min-height:32px; background:var(--ke-green-dark) !important; }
.ke-topbar__inner,.ke-header__inner,.ke-nav__inner { max-width:1360px !important; }
.ke-topbar__inner { min-height:32px !important; }
.ke-topbar__message,.ke-topbar__links { font-size:11px; }
.ke-header { position:sticky !important; top:0; z-index:300 !important; background:rgba(255,253,248,.98) !important; box-shadow:0 1px 0 rgba(75,48,18,.08),0 8px 20px rgba(75,48,18,.05) !important; }
.ke-header__inner { min-height:72px !important; gap:22px !important; }
.ke-brand__mark { border-radius:10px !important; box-shadow:0 3px 0 #e3c394,0 7px 14px rgba(101,68,31,.10) !important; }
.ke-brand__name { font-size:19px !important; }
.ke-search { max-width:720px !important; }
.ke-search form { min-height:46px !important; border-color:#d9bf9b !important; border-radius:11px !important; box-shadow:inset 0 1px 0 #fff,0 2px 0 rgba(123,80,32,.05) !important; }
.ke-search form:focus-within { border-color:var(--ke-orange) !important; box-shadow:0 0 0 3px rgba(230,109,53,.12) !important; }
.ke-search__scope { color:#607267 !important; }
.ke-register { border-color:#d6bd9b !important; border-radius:9px !important; box-shadow:none !important; }
.ke-cart { border-left:1px solid #eadac5 !important; }
.ke-nav { background:#fffaf2 !important; box-shadow:inset 0 1px 0 rgba(255,255,255,.7) !important; }
.ke-nav__inner { min-height:44px !important; }
.ke-nav__link { padding:13px 11px !important; font-size:12px !important; }
.ke-nav__link:hover::after { right:11px !important; bottom:5px !important; height:2px !important; }
.ke-nav .dropdown-menu { min-width:245px; margin-top:1px; padding:7px; border:1px solid var(--ke-line-strong); border-radius:11px; box-shadow:var(--ke-shadow-clean); }
.ke-nav .dropdown-menu > li > a { padding:9px 10px; border-radius:7px; color:var(--ke-green-dark); font-size:12px; font-weight:750; }
.ke-nav .dropdown-menu > li > a:hover { background:#fff0dd; color:var(--ke-orange-dark); }

/* Home: retain the warm original identity while reducing ornamental weight. */
.ke-home-hero { background:radial-gradient(circle at 84% 16%,rgba(255,188,107,.47) 0 6%,transparent 6.4%),linear-gradient(118deg,#123e32 0%,#1b664f 62%,#b95a31 170%) !important; }
.ke-home-hero::before { opacity:.28 !important; background-size:42px 42px !important; }
.ke-home-hero__inner { max-width:1360px !important; padding-top:70px !important; padding-bottom:66px !important; gap:42px !important; }
.ke-home h1 { max-width:700px; font-size:clamp(37px,4.5vw,57px) !important; }
.ke-hero-copy { max-width:610px; font-size:16px !important; }
.ke-home-search { max-width:700px; border:1px solid rgba(255,226,189,.7); border-radius:12px !important; box-shadow:0 10px 22px rgba(12,40,31,.19) !important; }
.ke-home-search button { box-shadow:0 3px 0 var(--ke-orange-dark) !important; }
.ke-hero-panel { transform:none !important; border-radius:14px !important; box-shadow:0 12px 26px rgba(7,27,20,.19) !important; }
.ke-stats { max-width:1360px !important; border-right:1px solid var(--ke-line); }
.ke-stat { padding:22px 20px !important; background:rgba(255,253,248,.9); }
.ke-section { padding:70px 0 !important; }
.ke-feature,.ke-workflow__step,.ke-category { border-radius:13px !important; box-shadow:var(--ke-shadow-clean) !important; }
.ke-feature:hover,.ke-workflow__step:hover,.ke-category:hover { transform:translateY(-2px) !important; box-shadow:var(--ke-shadow-clean-hover) !important; }
.ke-feature { min-height:0 !important; }
.ke-workflow__step:before { margin-bottom:20px !important; }
.ke-supplier { border-radius:999px !important; box-shadow:none !important; }
.ke-cta { padding-top:64px !important; padding-bottom:64px !important; }

/* Search, product detail and checkout: clearer utility surfaces and denser scan lines. */
.ke-commerce { max-width:1360px !important; padding-top:22px !important; }
.ke-search-hero,.ke-order-head,.ke-detail-head { padding:25px 28px !important; border-radius:15px !important; background:linear-gradient(120deg,#fffdf8,#fff2df) !important; box-shadow:var(--ke-shadow-clean) !important; }
.ke-search-hero h1,.ke-order-head h1,.ke-detail-head h1 { font-size:clamp(25px,2.7vw,35px) !important; }
.ke-findbar { border-radius:11px !important; box-shadow:var(--ke-shadow-clean) !important; }
.ke-results-layout { gap:18px !important; }
.ke-refine { border-radius:11px !important; box-shadow:var(--ke-shadow-clean) !important; }
.ke-refine__head { padding:14px !important; background:#fffaf2; }
.ke-filter-group { padding:13px 14px !important; }
.ke-results__toolbar { padding-bottom:13px; border-bottom:1px solid #eadbc6; }
.ke-results__columns { border-color:var(--ke-line-strong) !important; border-radius:11px 11px 0 0 !important; background:#fff7eb !important; }
.ke-product-list { border-color:var(--ke-line-strong) !important; border-radius:0 0 11px 11px !important; box-shadow:var(--ke-shadow-clean) !important; }
.ke-product-list .ke-product-row { background:#fffefb !important; }
.ke-product-list .ke-product-row:hover { background:#fff8ee !important; box-shadow:inset 3px 0 0 var(--ke-orange) !important; }
.ke-product-thumb { min-height:84px !important; border-radius:9px !important; }
.ke-product-info h3 { font-size:15px !important; }
.ke-product-buy { background:linear-gradient(90deg,rgba(255,249,239,.25),rgba(255,249,239,.8)); }
.ke-source-chip { letter-spacing:.055em !important; }
.ke-price strong { font-size:19px !important; }
.ke-source-help { border-radius:7px !important; }
.ke-detail-grid,.ke-order-grid,.ke-review-grid { gap:18px !important; }
.ke-purchase-card,.ke-order-summary,.ke-detail-product,.ke-cart-line,.ke-review-lines { box-shadow:var(--ke-shadow-clean) !important; }

/* Public, account and library pages share a measured application-like card scale. */
.ke-public,.ke-library,.ke-account-dashboard { max-width:1240px !important; padding-top:34px !important; }
.ke-public__hero,.ke-library__hero,.ke-account-dashboard__hero { border-radius:18px !important; box-shadow:0 8px 22px rgba(40,70,46,.16) !important; }
.ke-public__hero { min-height:240px !important; }
.ke-public__feature,.ke-public__map-card,.ke-public__form-card,.ke-public__center-card,.ke-public__policy-card,.ke-account-dashboard__surface,.ke-library__files-card { border-radius:14px !important; box-shadow:var(--ke-shadow-clean) !important; }
.ke-public__feature:hover,.ke-public__map-card:hover,.ke-account-dashboard__quick > a:hover { box-shadow:var(--ke-shadow-clean-hover) !important; }
.ke-public__callout { border-radius:14px !important; box-shadow:var(--ke-shadow-clean) !important; }
.ke-account-dashboard__quick > a { border-radius:12px !important; box-shadow:var(--ke-shadow-clean) !important; }
.ke-auth__card { border-radius:18px !important; box-shadow:var(--ke-shadow-clean-hover) !important; }

@media (max-width:900px) {
  .ke-header { position:relative !important; }
  .ke-header__inner { gap:14px !important; }
  .ke-search { max-width:none !important; }
  .ke-home-hero__inner { padding-top:56px !important; padding-bottom:52px !important; }
}
@media (max-width:700px) {
  .ke-topbar { display:none; }
  .ke-header__inner { min-height:64px !important; }
  .ke-search form { min-height:44px !important; }
  .ke-nav__link { padding:12px 9px !important; }
  .ke-section { padding:52px 0 !important; }
  .ke-stats { border-right:0; }
  .ke-search-hero,.ke-order-head,.ke-detail-head { border-radius:13px !important; }
}

/* v21 — high-density component comparison and reliable search overlays.
   Original KnowElectronics composition: distributor-style information hierarchy
   without third-party branding, wording, data, markup or assets. */
.ke-search form,.ke-home-search,.ke-findbar { position:relative !important; }
.ke-search form { overflow:visible !important; }

@media (min-width:1181px) {
  .ke-results__columns { grid-template-columns:78px minmax(138px,1.04fr) minmax(165px,1.22fr) minmax(102px,.72fr) minmax(138px,.92fr) minmax(139px,.82fr) minmax(178px,1fr) !important; gap:13px !important; padding:11px 15px !important; }
  .ke-results__columns span { min-width:0; }
  .ke-results__columns span:nth-child(1) { grid-column:1 !important; }
  .ke-results__columns span:nth-child(2) { grid-column:2 !important; }
  .ke-results__columns span:nth-child(3) { grid-column:3 !important; }
  .ke-results__columns span:nth-child(4) { grid-column:4 !important; }
  .ke-results__columns span:nth-child(5) { grid-column:5 !important; }
  .ke-results__columns span:nth-child(6) { grid-column:6 !important; }
  .ke-results__columns span:nth-child(7) { grid-column:7 !important; }
  .ke-product-row { grid-template-columns:78px minmax(138px,1.04fr) minmax(165px,1.22fr) minmax(102px,.72fr) minmax(138px,.92fr) minmax(139px,.82fr) minmax(178px,1fr) !important; align-items:start; gap:13px !important; padding:14px 15px !important; }
  .ke-product-thumb { min-height:78px !important; padding:5px !important; }
  .ke-product-thumb img { max-height:66px !important; }
  .ke-product-identity,.ke-product-spec,.ke-product-category,.ke-product-supplier,.ke-product-pricing,.ke-product-buy { min-width:0; }
  .ke-product-identity h3 { margin:0; color:var(--ke-commerce-green-dark); font-size:14px; font-weight:900; line-height:1.32; }
  .ke-product-identity h3 a { color:inherit; text-decoration:none; }
  .ke-product-identity h3 a:hover { color:var(--ke-commerce-orange-dark); text-decoration:underline; }
  .ke-product-identity .ke-maker { margin:5px 0 7px; line-height:1.35; }
  .ke-product-spec { padding-top:1px; }
  .ke-product-spec .ke-description { -webkit-line-clamp:3; font-size:11px; line-height:1.48; }
  .ke-product-spec__label { display:inline-flex; align-items:center; gap:5px; margin-top:9px; color:var(--ke-commerce-green); font-size:10px; font-weight:850; }
  .ke-product-category { padding-top:2px; color:#52675a; font-size:11px; font-weight:800; line-height:1.45; }
  .ke-product-category span { display:inline-block; padding:4px 7px; border:1px solid #e8d2b3; border-radius:7px; background:#fff9ef; }
  .ke-product-supplier { display:grid; gap:7px; padding-top:1px; }
  .ke-product-supplier .ke-source-chip { width:max-content; max-width:100%; margin:0; }
  .ke-supplier-part { color:#637468; font-size:10px; font-weight:750; line-height:1.45; overflow-wrap:anywhere; }
  .ke-product-pricing { min-height:75px; padding-left:12px; border-left:1px solid #eee0cd; }
  .ke-product-pricing .ke-price { margin:8px 0 0; }
  .ke-product-pricing .ke-price strong { font-size:17px !important; }
  .ke-product-buy { padding-left:0 !important; border-left:0 !important; background:transparent !important; }
  .ke-product-buy .ke-qty-control { margin-top:0; }
  .ke-product-buy .ke-btn--cart { min-height:35px; }
}

@media (max-width:1180px) {
  .ke-results__columns { display:none !important; }
  .ke-product-row { grid-template-columns:86px minmax(0,1fr) 205px !important; gap:12px !important; }
  .ke-product-thumb { grid-row:1 / span 4; }
  .ke-product-identity { grid-column:2; grid-row:1; }
  .ke-product-spec { grid-column:2; grid-row:2; }
  .ke-product-category { grid-column:2; grid-row:3; }
  .ke-product-supplier { grid-column:3; grid-row:1; }
  .ke-product-pricing { grid-column:3; grid-row:2; }
  .ke-product-buy { grid-column:3; grid-row:3 / span 2; padding-left:0 !important; border-left:0 !important; background:transparent !important; }
  .ke-product-spec__label { display:inline-flex; align-items:center; gap:5px; margin-top:8px; color:var(--ke-commerce-green); font-size:10px; font-weight:850; }
  .ke-product-category span { display:inline-block; padding:4px 7px; border:1px solid #e8d2b3; border-radius:7px; background:#fff9ef; color:#52675a; font-size:10px; font-weight:800; }
  .ke-product-supplier { display:grid; gap:5px; }
  .ke-product-supplier .ke-source-chip { width:max-content; margin:0; }
  .ke-supplier-part { color:#637468; font-size:10px; font-weight:750; overflow-wrap:anywhere; }
  .ke-product-pricing .ke-price { margin:7px 0 0; }
}

@media (max-width:600px) {
  .ke-product-row { grid-template-columns:72px minmax(0,1fr) !important; gap:11px !important; }
  .ke-product-thumb { grid-column:1; grid-row:1 / span 2; }
  .ke-product-identity { grid-column:2; grid-row:1; }
  .ke-product-spec { grid-column:2; grid-row:2; }
  .ke-product-category { grid-column:2; grid-row:3; margin-top:2px; }
  .ke-product-supplier { grid-column:2; grid-row:4; margin-top:6px; }
  .ke-product-pricing { grid-column:1 / -1; grid-row:5; display:grid; grid-template-columns:1fr 1fr; gap:11px; margin-top:3px; padding:11px 0 0; border-top:1px solid #ece2d4; border-left:0; }
  .ke-product-pricing .ke-price { margin:0; }
  .ke-product-buy { grid-column:1 / -1; grid-row:6; margin-top:0; }
  .ke-product-buy .ke-qty-control,.ke-product-buy .ke-buy-rule,.ke-product-buy .ke-btn--cart,.ke-product-buy .ke-source-help { grid-column:1 / -1; }
  .ke-product-spec .ke-description { -webkit-line-clamp:3; }
}

/* v22 — clean neutral application theme.
   Original KnowElectronics customer UI aligned to a restrained admin-like
   information system: white surfaces, slate typography, compact controls and
   one evergreen action color. No external admin CSS or assets are used. */
:root {
  --ke-admin-bg: #f5f7f9;
  --ke-admin-surface: #ffffff;
  --ke-admin-soft: #f9fafb;
  --ke-admin-line: #dfe5ea;
  --ke-admin-line-strong: #cbd5df;
  --ke-admin-ink: #26323f;
  --ke-admin-muted: #64748b;
  --ke-admin-green: #176b55;
  --ke-admin-green-dark: #11513f;
  --ke-admin-green-soft: #eaf5f0;
  --ke-admin-shadow: 0 1px 2px rgba(18,34,48,.04), 0 6px 16px rgba(18,34,48,.055);
}
body.customers { background:var(--ke-admin-bg) !important; color:var(--ke-admin-ink) !important; }
a { color:var(--ke-admin-green) !important; }
a:hover,a:focus { color:var(--ke-admin-green-dark) !important; }

/* Global application shell */
.ke-topbar { background:#f8fafb !important; border-bottom:1px solid var(--ke-admin-line) !important; color:var(--ke-admin-muted) !important; }
.ke-topbar::before { display:none !important; }
.ke-topbar a { color:#526274 !important; }
.ke-topbar a:hover { color:var(--ke-admin-green) !important; }
.ke-topbar__dot { background:var(--ke-admin-green) !important; box-shadow:0 0 0 3px rgba(23,107,85,.12) !important; }
.ke-header { background:rgba(255,255,255,.98) !important; border-bottom:1px solid var(--ke-admin-line) !important; box-shadow:0 1px 3px rgba(18,34,48,.04) !important; }
.ke-brand { color:var(--ke-admin-ink) !important; }
.ke-brand__mark { border-color:#c7d5d0 !important; border-radius:8px !important; background:var(--ke-admin-green-soft) !important; box-shadow:none !important; color:var(--ke-admin-green-dark) !important; }
.ke-brand__tagline { color:#7a8999 !important; }
.ke-search form { border-color:var(--ke-admin-line-strong) !important; border-radius:7px !important; background:#fff !important; box-shadow:none !important; }
.ke-search form:focus-within { border-color:var(--ke-admin-green) !important; box-shadow:0 0 0 3px rgba(23,107,85,.11) !important; }
.ke-search .ke-search__submit { color:var(--ke-admin-green) !important; }
.ke-search .ke-search__submit:hover { background:var(--ke-admin-green-soft) !important; }
.ke-search__scope { border-left-color:var(--ke-admin-line) !important; color:#708091 !important; }
.ke-register { border-color:var(--ke-admin-green) !important; border-radius:7px !important; background:#fff !important; box-shadow:none !important; color:var(--ke-admin-green) !important; }
.ke-register:hover { background:var(--ke-admin-green-soft) !important; }
.ke-cart { border-left-color:var(--ke-admin-line) !important; color:var(--ke-admin-ink) !important; }
.ke-cart__count { background:var(--ke-admin-green) !important; box-shadow:none !important; }
.ke-cart__label { color:#718092 !important; }
.ke-cart__total { color:var(--ke-admin-ink) !important; }
.ke-nav { background:#fff !important; border-bottom:1px solid var(--ke-admin-line) !important; box-shadow:none !important; }
.ke-nav__link { color:#4b5a6b !important; }
.ke-nav__link:hover { color:var(--ke-admin-green) !important; background:#f6faf8; }
.ke-nav__link:hover::after { background:var(--ke-admin-green) !important; }
.ke-currency .dropdown-toggle,.ke-language .dropdown-toggle { border-color:var(--ke-admin-line) !important; border-radius:6px !important; background:#fff !important; color:#4b5a6b !important; }
.ke-nav .dropdown-menu,.ke-currency .dropdown-menu { border-color:var(--ke-admin-line) !important; border-radius:8px !important; box-shadow:var(--ke-admin-shadow) !important; background:#fff !important; }

/* Shared forms, buttons, tables and surfaces */
.panel_s,.modal-content,.ke-card,.ke-about__card,.ke-careers__card,.ke-faq__list,.ke-sitemap__group,.ke-policy__card,.ke-contact__form,.ke-about__panel { border-color:var(--ke-admin-line) !important; border-radius:9px !important; background:var(--ke-admin-surface) !important; box-shadow:var(--ke-admin-shadow) !important; }
.panel_s:hover,.ke-about__card:hover,.ke-sitemap__group:hover { box-shadow:var(--ke-admin-shadow) !important; }
.form-control,.custom-select,select,input[type="text"],input[type="search"],input[type="email"],input[type="number"],textarea { border-color:var(--ke-admin-line-strong) !important; border-radius:6px !important; background:#fff !important; color:var(--ke-admin-ink) !important; box-shadow:none !important; }
.form-control:focus,.custom-select:focus,select:focus,input:focus,textarea:focus { border-color:var(--ke-admin-green) !important; box-shadow:0 0 0 3px rgba(23,107,85,.11) !important; }
.btn,.ke-button { border-radius:6px !important; box-shadow:none !important; transform:none !important; }
.btn:hover,.ke-button:hover { transform:none !important; }
.btn-primary,.btn-success,.btn-info,.btn.btn-primary,.btn.btn-success,.btn.btn-info,.ke-commerce .ke-btn,.ke-submit { border-color:var(--ke-admin-green) !important; background:var(--ke-admin-green) !important; box-shadow:none !important; color:#fff !important; text-shadow:none !important; }
.btn-primary:hover,.btn-success:hover,.btn-info:hover,.ke-commerce .ke-btn:hover,.ke-submit:hover { background:var(--ke-admin-green-dark) !important; }
.btn-default,.btn-secondary,.ke-commerce .ke-btn--quiet { border-color:var(--ke-admin-line-strong) !important; background:#fff !important; box-shadow:none !important; color:#47576a !important; }
.table > thead > tr > th,.table_header th,table#example tr.add_to_cart_table_header th { background:#f6f8fa !important; border-bottom:1px solid var(--ke-admin-line-strong) !important; color:#455467 !important; }
.table > tbody > tr > td { border-color:#edf0f3 !important; }
.table > tbody > tr:hover { background:#f8fbfa !important; }
.ke-commerce { color:var(--ke-admin-ink) !important; }
.ke-search-hero,.ke-order-head,.ke-detail-head { border-color:var(--ke-admin-line) !important; border-radius:9px !important; background:#fff !important; box-shadow:var(--ke-admin-shadow) !important; }
.ke-search-hero h1,.ke-order-head h1,.ke-detail-head h1,.ke-commerce h2 { color:var(--ke-admin-ink) !important; }
.ke-search-hero p:not(.ke-kicker),.ke-order-head p:not(.ke-kicker),.ke-detail-head__description { color:var(--ke-admin-muted) !important; }
.ke-kicker,.ke-commerce .ke-kicker,.ke-checkout__eyebrow { color:var(--ke-admin-green) !important; }
.ke-hero-action { border-color:#cde0d8 !important; border-radius:6px !important; background:#f4faf7 !important; box-shadow:none !important; color:var(--ke-admin-green) !important; }
.ke-findbar { border-color:var(--ke-admin-line-strong) !important; border-radius:7px !important; background:#fff !important; box-shadow:var(--ke-admin-shadow) !important; }
.ke-refine { border-color:var(--ke-admin-line) !important; border-radius:8px !important; background:#fff !important; box-shadow:var(--ke-admin-shadow) !important; }
.ke-refine__head,.ke-filter-group { border-color:#edf0f3 !important; background:#fff !important; }
.ke-refine__note { background:#f4faf7 !important; color:#5c7169 !important; }
.ke-results__toolbar { border-color:#e6ebef !important; }
.ke-results__columns { border-color:var(--ke-admin-line) !important; background:#f6f8fa !important; color:#607083 !important; }
.ke-product-list { border-color:var(--ke-admin-line) !important; background:#fff !important; box-shadow:var(--ke-admin-shadow) !important; }
.ke-product-list .ke-product-row { border-color:#edf0f3 !important; background:#fff !important; }
.ke-product-list .ke-product-row:hover { background:#f8fbfa !important; box-shadow:inset 3px 0 0 var(--ke-admin-green) !important; }
.ke-product-thumb { border-color:#e3e9ed !important; border-radius:7px !important; background:#fff !important; }
.ke-product-identity h3,.ke-product-info h3,.ke-detail-link { color:var(--ke-admin-green-dark) !important; }
.ke-maker,.ke-description,.ke-supplier-part { color:var(--ke-admin-muted) !important; }
.ke-product-category span { border-color:#dce6e2 !important; border-radius:5px !important; background:#f4faf7 !important; color:#4e6b60 !important; }
.ke-source-chip { border-color:#d3e3dc !important; background:#eff7f3 !important; color:var(--ke-admin-green) !important; }
.ke-product-pricing { border-color:#edf0f3 !important; }
.ke-price strong { color:var(--ke-admin-ink) !important; }
.ke-qty-control > div { border-color:var(--ke-admin-line-strong) !important; border-radius:6px !important; }
.ke-qty-control button { background:#f6f8fa !important; color:var(--ke-admin-green) !important; }
.ke-qty-control input { border-color:var(--ke-admin-line) !important; }
.ke-source-help { border-color:#cde0d8 !important; border-radius:6px !important; background:#f4faf7 !important; color:var(--ke-admin-green) !important; }

/* Home, public, account, library and BOM hierarchy */
.ke-home { background:var(--ke-admin-bg) !important; }
.ke-home-hero,.ke-public__hero,.ke-library__hero,.ke-account-dashboard__hero { border-color:var(--ke-admin-line) !important; background:#fff !important; box-shadow:var(--ke-admin-shadow) !important; }
.ke-home-hero::before,.ke-home-hero:after,.ke-public__hero::before { display:none !important; }
.ke-home h1,.ke-public__hero h1,.ke-library__hero h1,.ke-account-dashboard h1 { color:var(--ke-admin-ink) !important; }
.ke-home h1 span { color:var(--ke-admin-green) !important; }
.ke-hero-copy,.ke-public__lead,.ke-library__hero p:not(.ke-library__eyebrow),.ke-account-dashboard__hero p:not(.ke-account-dashboard__eyebrow) { color:var(--ke-admin-muted) !important; }
.ke-eyebrow,.ke-public__hero .ke-public__eyebrow,.ke-library__hero .ke-library__eyebrow,.ke-account-dashboard__hero .ke-account-dashboard__eyebrow { color:var(--ke-admin-green) !important; }
.ke-eyebrow:before { background:var(--ke-admin-green) !important; box-shadow:none !important; }
.ke-home-search,.ke-hero-panel,.ke-public__signal-card { border-color:var(--ke-admin-line) !important; border-radius:8px !important; background:#fff !important; box-shadow:var(--ke-admin-shadow) !important; color:var(--ke-admin-ink) !important; }
.ke-home-search button { background:var(--ke-admin-green) !important; box-shadow:none !important; }
.ke-hero-panel__title,.ke-hero-panel__line,.ke-public__signal-card strong,.ke-public__signal-card p { color:var(--ke-admin-ink) !important; border-color:#edf0f3 !important; }
.ke-panel-icon,.ke-public__signal-card .ke-public__signal-icon { background:var(--ke-admin-green-soft) !important; color:var(--ke-admin-green) !important; }
.ke-stats,.ke-stat { background:#fff !important; border-color:var(--ke-admin-line) !important; }
.ke-stat__value,.ke-section-title,.ke-feature h3,.ke-workflow__step h3,.ke-category,.ke-public h1,.ke-public h2,.ke-public h3 { color:var(--ke-admin-ink) !important; }
.ke-section--soft { background:#eef2f4 !important; }
.ke-feature,.ke-workflow__step,.ke-category,.ke-public__feature,.ke-public__map-card,.ke-public__form-card,.ke-public__center-card,.ke-public__policy-card,.ke-account-dashboard__surface,.ke-account-dashboard__quick > a,.ke-library__files-card,.ke-auth__card { border-color:var(--ke-admin-line) !important; border-radius:8px !important; background:#fff !important; box-shadow:var(--ke-admin-shadow) !important; }
.ke-feature:hover,.ke-workflow__step:hover,.ke-category:hover,.ke-account-dashboard__quick > a:hover { border-color:#bdd7cd !important; box-shadow:var(--ke-admin-shadow) !important; }
.ke-feature__icon,.ke-public__feature-icon,.ke-account-dashboard__quick-icon { border:0 !important; border-radius:7px !important; background:var(--ke-admin-green-soft) !important; box-shadow:none !important; color:var(--ke-admin-green) !important; }
.ke-supplier { border-color:var(--ke-admin-line) !important; background:#fff !important; color:#58687a !important; }
.ke-cta,.ke-public__callout--help { background:var(--ke-admin-green-dark) !important; box-shadow:none !important; }
.ke-button--primary,.ke-library__hero-action,.ke-library__button,.ke-account-dashboard__hero-actions a { border-color:var(--ke-admin-green) !important; background:var(--ke-admin-green) !important; box-shadow:none !important; color:#fff !important; }
.ke-button--secondary { border-radius:6px !important; }
.ke-public__callout { border-color:var(--ke-admin-line) !important; border-radius:8px !important; background:#fff !important; box-shadow:var(--ke-admin-shadow) !important; }
.ke-public p,.ke-section-copy,.ke-feature p,.ke-workflow__step p { color:var(--ke-admin-muted) !important; }
.bom-container { --green:var(--ke-admin-green) !important; --green-dark:var(--ke-admin-green-dark) !important; --green-light:var(--ke-admin-green-soft) !important; --blue:var(--ke-admin-green) !important; --blue-light:var(--ke-admin-green-soft) !important; }
.bom-toolbar { border-color:var(--ke-admin-line) !important; border-radius:8px !important; background:#fff !important; box-shadow:var(--ke-admin-shadow) !important; }
.bom-toolbar::before { display:none !important; }
.bom-toolbar .nav-logo { color:var(--ke-admin-ink) !important; }
.bom-toolbar .btn-outline-bom { border-color:var(--ke-admin-line-strong) !important; background:#fff !important; color:#4b5a6b !important; }
.bom-container .upload-card,.bom-container .table-card,.bom-container .bottom-bar { border-color:var(--ke-admin-line) !important; border-radius:8px !important; background:#fff !important; box-shadow:var(--ke-admin-shadow) !important; }

@media (max-width:700px) {
  .ke-topbar { display:none !important; }
  .ke-home-hero,.ke-public__hero,.ke-library__hero,.ke-account-dashboard__hero { border-radius:0 !important; border-right:0 !important; border-left:0 !important; }
  .ke-product-pricing { border-top-color:#edf0f3 !important; }
}


/* Customer shell layout: formerly inline in the navigation/footer templates.
   Kept here so styles are loaded once, cached once and reviewed together. */
:root {
  --ke-navy: #103f32;
  --ke-blue: #e66d35;
  --ke-blue-dark: #bd4e22;
  --ke-slate: #52675b;
  --ke-border: #ead9c3;
  --ke-surface: #fff8ec;
}
.ke-topbar { background: var(--ke-navy); color: #dbe7f7; font-size: 12px; letter-spacing: .01em; }
.ke-topbar__inner { max-width: 1280px; min-height: 36px; margin: 0 auto; padding: 0 24px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.ke-topbar__message { display: flex; align-items: center; gap: 8px; }
.ke-topbar__dot { width: 7px; height: 7px; border-radius: 50%; background: #5ad59b; box-shadow: 0 0 0 4px rgba(90,213,155,.14); }
.ke-topbar__links { display: flex; align-items: center; gap: 18px; }
.ke-topbar a { color: #dbe7f7; text-decoration: none; }
.ke-topbar a:hover { color: #fff; }
.ke-header { position: relative; z-index: 50; background: #fff; border-bottom: 1px solid var(--ke-border); box-shadow: 0 1px 2px rgba(16,35,63,.03); }
.ke-header__inner { max-width: 1280px; min-height: 76px; margin: 0 auto; padding: 0 24px; display: flex; align-items: center; gap: 28px; }
.ke-brand { display: inline-flex; align-items: center; gap: 11px; color: var(--ke-navy); text-decoration: none; min-width: max-content; }
.ke-brand__mark { display:grid; width:40px; height:40px; place-items:center; color:#103f32; font-size:21px; font-weight:900; line-height:1; object-fit:contain; }
.ke-brand__name { display: block; font-size: 18px; line-height: 1.1; font-weight: 800; letter-spacing: -.035em; }
.ke-brand__tagline { display: block; margin-top: 3px; color: #718096; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.ke-search { flex: 1; max-width: 490px; min-width: 170px; }
.ke-search form { margin: 0; display: flex; border: 1px solid #d9e1ec; border-radius: 8px; overflow: hidden; background: #fff; transition: border-color .2s, box-shadow .2s; }
.ke-search form:focus-within { border-color: var(--ke-blue); box-shadow: 0 0 0 3px rgba(22,100,217,.11); }
.ke-search input { flex: 1; min-width: 0; height: 40px; border: 0; outline: 0; box-shadow: none; padding: 0 13px; color: var(--ke-navy); font-size: 13px; }
.ke-search input::placeholder { color: #8390a3; }
.ke-search button { width: 44px; border: 0; background: var(--ke-blue); color: #fff; cursor: pointer; transition: background .2s; }
.ke-search button:hover { background: var(--ke-blue-dark); }
.ke-actions { margin-left: auto; display: flex; align-items: center; gap: 12px; white-space: nowrap; }
.ke-login { color: #314258; font-size: 13px; font-weight: 700; text-decoration: none; }
.ke-login:hover { color: var(--ke-blue); }
.ke-register { border: 1px solid #cfd9e8; border-radius: 6px; padding: 9px 12px; color: #26384f; font-size: 13px; font-weight: 700; text-decoration: none; }
.ke-register:hover { background: var(--ke-surface); color: var(--ke-navy); }
.ke-cart { position: relative; display: inline-flex; align-items: center; gap: 9px; padding: 7px 0 7px 10px; color: var(--ke-navy); text-decoration: none; }
.ke-cart__icon { position: relative; width: 25px; font-size: 20px; }
.ke-cart__count { position: absolute; top: -7px; right: -9px; display: grid; place-items: center; width: 17px; height: 17px; border-radius: 50%; background: #e04444; color: #fff; font-size: 10px; font-weight: 800; }
.ke-cart__label { display: block; color: #6d7a8d; font-size: 10px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.ke-cart__total { display: block; margin-top: 1px; color: var(--ke-navy); font-size: 13px; font-weight: 800; }
.ke-nav { background: #fff; border-bottom: 1px solid var(--ke-border); }
.ke-nav__inner { max-width: 1280px; min-height: 48px; margin: 0 auto; padding: 0 24px; display: flex; align-items: center; gap: 4px; }
.ke-nav__link { padding: 15px 12px; color: #405068; font-size: 13px; font-weight: 700; text-decoration: none; }
.ke-nav__link:hover { color: var(--ke-blue); }
.ke-nav__spacer { flex: 1; }
.ke-currency .dropdown-toggle { padding: 7px 10px; color: #405068; font-size: 12px; font-weight: 700; text-decoration: none; }
.ke-currency .dropdown-menu { min-width: 148px; margin-top: 6px; padding: 6px; border: 1px solid var(--ke-border); border-radius: 8px; box-shadow: 0 12px 24px rgba(16,35,63,.12); }
.ke-currency .dropdown-menu > li > a { padding: 8px 10px; border-radius: 5px; color: #34445a; font-size: 12px; }
.ke-currency .dropdown-menu > li > a:hover { background: var(--ke-surface); color: var(--ke-blue); }
@media (max-width: 900px) {
  .ke-header__inner { padding-top: 12px; padding-bottom: 12px; flex-wrap: wrap; gap: 14px; }
  .ke-search { order: 3; flex-basis: 100%; max-width: none; }
  .ke-actions { gap: 10px; }
  .ke-nav__inner { overflow-x: auto; padding: 0 12px; }
  .ke-nav__link { padding: 13px 10px; }
}
@media (max-width: 580px) {
  .ke-topbar__inner { padding: 8px 16px; min-height: 0; }
  .ke-topbar__links { display: none; }
  .ke-header__inner { padding-left: 16px; padding-right: 16px; }
  .ke-brand__tagline, .ke-register, .ke-cart__details { display: none; }
  .ke-actions { margin-left: auto; }
}

/* Footer layout. */
.ke-site-footer { position:relative; margin-top:68px; overflow:hidden; background:radial-gradient(circle at 84% 9%,rgba(249,161,82,.22) 0 4%,transparent 4.4%),linear-gradient(125deg,#0d3a2d,#174f3e 66%,#82452b 185%); color:#dbebe0; box-shadow:inset 0 3px 0 #e5763b; }
.ke-site-footer::before { position:absolute; inset:0; opacity:.22; background-image:linear-gradient(90deg,rgba(255,240,211,.14) 1px,transparent 1px),linear-gradient(rgba(255,240,211,.14) 1px,transparent 1px); background-size:36px 36px; content:""; mask-image:linear-gradient(90deg,#000,transparent 74%); }
.ke-site-footer__inner { position:relative; max-width:1280px; margin:0 auto; padding:56px 24px 36px; display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:38px; }
.ke-footer-brand { color:#fff8eb; display:inline-flex; align-items:center; gap:11px; text-decoration:none; }.ke-footer-brand:hover { color:#fff8eb; }
.ke-footer-brand__mark { display:grid; width:42px; height:42px; padding:3px; place-items:center; border:1px solid rgba(255,218,170,.48); border-radius:12px; background:#fff8ec; box-shadow:0 4px 0 rgba(32,23,13,.26); color:#103f32; font-size:22px; font-weight:900; line-height:1; }
.ke-footer-brand strong { display:block; font-size:18px; letter-spacing:-.03em; }.ke-footer-brand small { display:block; margin-top:3px; color:#ffc986; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.ke-site-footer p { max-width:330px; margin:18px 0 0; color:#cde1d3; font-size:13px; line-height:1.75; }.ke-footer-heading { margin:4px 0 16px; color:#ffe1af; font-size:11px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.ke-footer-list { margin:0; padding:0; list-style:none; }.ke-footer-list li+li { margin-top:10px; }.ke-footer-list a { color:#e1f0e4; font-size:13px; font-weight:700; text-decoration:none; }.ke-footer-list a:hover { color:#ffc884; text-decoration:underline; text-underline-offset:4px; }
.ke-site-footer__bottom { position:relative; max-width:1280px; margin:0 auto; padding:20px 24px; border-top:1px solid rgba(255,222,177,.22); display:flex; align-items:center; justify-content:space-between; gap:12px; color:#bdd7c6; font-size:12px; }.ke-site-footer__bottom a { color:#ffe0ac; font-weight:700; text-decoration:none; }.ke-site-footer__bottom a:hover { color:#fff8e9; text-decoration:underline; text-underline-offset:3px; }
@media(max-width:800px){.ke-site-footer__inner{grid-template-columns:1fr 1fr}}@media(max-width:520px){.ke-site-footer__inner{grid-template-columns:1fr;padding:40px 20px 29px;gap:24px}.ke-site-footer__bottom{padding:18px 20px;align-items:flex-start;flex-direction:column}}

/* Component finder layout. */
#ke-parts-finder { position:fixed; z-index:99997; right:26px; bottom:24px; display:inline-flex; align-items:center; gap:9px; min-height:48px; padding:0 15px; border:1px solid #d4763e; border-radius:15px; background:linear-gradient(145deg,#f08b57,#dd6730); box-shadow:0 5px 0 #a9451f,0 16px 27px rgba(107,52,20,.23); color:#fff; font:800 12px/1 Inter,ui-sans-serif,system-ui,sans-serif; cursor:pointer; transition:transform .18s ease,box-shadow .18s ease; }#ke-parts-finder:hover { transform:translateY(-2px); box-shadow:0 7px 0 #a9451f,0 20px 31px rgba(107,52,20,.25); }#ke-parts-finder:focus-visible,#ke-parts-finder-close:focus-visible { outline:3px solid rgba(255,221,171,.9); outline-offset:3px; }#ke-parts-finder i { font-size:16px; }
#ke-parts-finder-panel { position:fixed; z-index:99996; right:26px; bottom:87px; width:min(376px,calc(100vw - 28px)); padding:21px; border:1px solid #dfc094; border-radius:19px; background:#fffdf8; box-shadow:0 10px 0 rgba(103,63,24,.09),0 25px 45px rgba(58,36,12,.22); opacity:0; pointer-events:none; transform:translateY(14px) scale(.97); transition:opacity .2s ease,transform .2s ease; }#ke-parts-finder-panel.is-open { opacity:1; pointer-events:auto; transform:translateY(0) scale(1); }#ke-parts-finder-panel__head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }#ke-parts-finder-panel__eyebrow { margin:0 0 5px; color:#b95015; font:900 9px/1.2 Inter,ui-sans-serif,system-ui,sans-serif; letter-spacing:.12em; text-transform:uppercase; }#ke-parts-finder-panel h2 { margin:0; color:#103f32; font:900 21px/1.12 Inter,ui-sans-serif,system-ui,sans-serif; letter-spacing:-.035em; }#ke-parts-finder-close { display:grid; flex:none; width:31px; height:31px; padding:0; place-items:center; border:1px solid #e1c9a9; border-radius:9px; background:#fff8ed; color:#76593d; font-size:21px; line-height:1; cursor:pointer; }#ke-parts-finder-close:hover { color:#b95015; background:#ffecd2; }#ke-parts-finder-panel__copy { margin:11px 0 15px; color:#66766b; font:12px/1.55 Inter,ui-sans-serif,system-ui,sans-serif; }#ke-parts-finder-form { position:relative; display:flex; align-items:center; min-height:45px; overflow:visible; border:1px solid #dcc09a; border-radius:11px; background:#fffdf8; }#ke-parts-finder-form:focus-within { border-color:#e66d35; box-shadow:0 0 0 3px rgba(230,109,53,.14); }#ke-parts-finder-form > i { margin-left:13px; color:#bd4e22; }#ke-parts-finder-form input { width:100%; min-width:0; height:43px; border:0; outline:0; padding:0 9px; background:transparent; color:#21382f; font:700 12px/1 Inter,ui-sans-serif,system-ui,sans-serif; }#ke-parts-finder-form button[type="submit"] { flex:none; height:35px; margin-right:4px; padding:0 11px; border:1px solid #185d49; border-radius:8px; background:#185d49; color:#fff; font:800 11px/1 Inter,ui-sans-serif,system-ui,sans-serif; cursor:pointer; }#ke-parts-finder-form button[type="submit"]:hover { background:#103f32; }#ke-parts-finder-panel__links { display:flex; flex-wrap:wrap; gap:7px; margin-top:14px; }#ke-parts-finder-panel__links a { display:inline-flex; align-items:center; gap:5px; min-height:30px; padding:0 9px; border:1px solid #e3cba8; border-radius:8px; background:#fff8ed; color:#185d49; font:800 10px/1 Inter,ui-sans-serif,system-ui,sans-serif; text-decoration:none; }#ke-parts-finder-panel__links a:hover { border-color:#dca167; color:#bd4e22; }
@media(max-width:560px){#ke-parts-finder{right:14px;bottom:15px;min-height:46px;padding:0 13px}#ke-parts-finder-panel{right:14px;bottom:75px;padding:18px}}



/* Homepage page layout: formerly local to its view template. */
.ke-home { --ink:#103f32; --muted:#637467; --line:#e7d9c5; --blue:#e66d35; --blue-dark:#bd4e22; --pale:#fff0da; --card:#fff; color:var(--ink); background:#fff; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.ke-home * { box-sizing:border-box; }
.ke-home-shell { max-width:1240px; margin:0 auto; padding:0 24px; }
.ke-home-hero { position:relative; overflow:hidden; background:linear-gradient(124deg,#123e32 0%,#1c674f 58%,#b95a31 100%); color:#fff; }
.ke-home-hero:after { content:""; position:absolute; width:620px; height:620px; right:-260px; top:-310px; border:1px solid rgba(255,255,255,.13); border-radius:50%; box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.02); }
.ke-home-hero__inner { position:relative; z-index:1; max-width:1240px; margin:0 auto; padding:82px 24px 76px; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr); align-items:center; gap:50px; }
.ke-eyebrow { display:inline-flex; align-items:center; gap:8px; margin-bottom:20px; color:#ffe0a8; font-size:12px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.ke-eyebrow:before { content:""; width:7px; height:7px; background:#ffad65; border-radius:50%; box-shadow:0 0 0 5px rgba(119,214,166,.13); }
.ke-home h1 { max-width:720px; margin:0; font-size:clamp(39px,5vw,62px); line-height:1.04; letter-spacing:-.055em; font-weight:800; }
.ke-home h1 span { color:#ffe0a8; }
.ke-hero-copy { max-width:590px; margin:21px 0 30px; color:#f9ead4; font-size:18px; line-height:1.65; }
.ke-home-search { max-width:670px; display:flex; padding:6px; background:#fff; border-radius:10px; box-shadow:0 18px 34px rgba(5,20,45,.25); }
.ke-home-search input { flex:1; min-width:0; border:0; outline:0; padding:0 15px; color:#21382f; font-size:15px; }
.ke-home-search button { border:0; border-radius:7px; padding:13px 19px; background:var(--blue); color:#fff; cursor:pointer; font-size:14px; font-weight:800; transition:background .2s; }
.ke-home-search button:hover { background:var(--blue-dark); }
.ke-quick-searches { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:18px; color:#aebed2; font-size:12px; }
.ke-quick-searches button { padding:0; border:0; background:transparent; color:#fff; cursor:pointer; font-size:12px; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.ke-hero-panel { padding:28px; border:1px solid rgba(174,202,237,.2); border-radius:12px; background:rgba(7,27,58,.28); backdrop-filter:blur(8px); box-shadow:0 14px 28px rgba(4,16,36,.18); }
.ke-hero-panel__title { margin:0 0 21px; color:#fff; font-size:14px; font-weight:800; }
.ke-hero-panel__line { display:flex; align-items:center; gap:12px; padding:13px 0; border-top:1px solid rgba(186,208,236,.16); color:#dce8f8; font-size:13px; }
.ke-hero-panel__line:first-of-type { border-top:0; padding-top:0; }
.ke-panel-icon { width:30px; height:30px; display:grid; place-items:center; border-radius:7px; background:rgba(133,187,255,.14); color:#9ac7ff; font-size:14px; }
.ke-stats { display:grid; grid-template-columns:repeat(4,1fr); max-width:1240px; margin:0 auto; padding:0 24px; background:#fff; transform:translateY(-1px); }
.ke-stat { padding:26px 20px; border-right:1px solid var(--line); }
.ke-stat:first-child { border-left:1px solid var(--line); }
.ke-stat__value { color:var(--ink); font-size:23px; font-weight:800; letter-spacing:-.035em; }
.ke-stat__label { margin-top:5px; color:#718178; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.ke-section { padding:82px 0; }
.ke-section--soft { background:var(--pale); }
.ke-section-heading { max-width:670px; margin-bottom:35px; }
.ke-section-kicker { margin-bottom:10px; color:var(--blue); font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.ke-section-title { margin:0; color:var(--ink); font-size:clamp(28px,3vw,39px); line-height:1.15; letter-spacing:-.045em; font-weight:800; }
.ke-section-copy { margin:13px 0 0; color:var(--muted); font-size:16px; line-height:1.7; }
.ke-feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.ke-feature { min-height:214px; padding:25px; border:1px solid var(--line); border-radius:10px; background:var(--card); transition:transform .2s,box-shadow .2s,border-color .2s; }
.ke-feature:hover { transform:translateY(-4px); border-color:#e8ae72; box-shadow:0 14px 28px rgba(16,35,63,.09); }
.ke-feature__icon { width:42px; height:42px; display:grid; place-items:center; margin-bottom:23px; border-radius:9px; background:#fff0da; color:var(--blue); font-size:18px; }
.ke-feature h3 { margin:0; font-size:16px; font-weight:800; }
.ke-feature p { margin:9px 0 0; color:var(--muted); font-size:13px; line-height:1.65; }
.ke-workflow { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; counter-reset:workflow; }
.ke-workflow__step { position:relative; padding:26px 25px 25px; border-radius:10px; background:#fff; border:1px solid var(--line); }
.ke-workflow__step:before { counter-increment:workflow; content:"0" counter(workflow); display:block; margin-bottom:27px; color:#94a5bc; font-size:12px; font-weight:800; letter-spacing:.1em; }
.ke-workflow__step h3 { margin:0; color:var(--ink); font-size:17px; font-weight:800; }
.ke-workflow__step p { margin:9px 0 0; color:var(--muted); font-size:13px; line-height:1.65; }
.ke-category-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.ke-category { display:block; padding:18px; border:1px solid var(--line); border-radius:9px; background:#fff; color:var(--ink); text-decoration:none; transition:border-color .2s,box-shadow .2s,transform .2s; }
.ke-category:hover { color:var(--ink); border-color:#e8ae72; box-shadow:0 9px 20px rgba(16,35,63,.07); transform:translateY(-2px); }
.ke-category__icon { color:var(--blue); font-size:18px; }
.ke-category strong { display:block; margin-top:18px; font-size:14px; }
.ke-category span { display:block; margin-top:5px; color:#708076; font-size:12px; }
.ke-supplier-strip { display:flex; flex-wrap:wrap; gap:10px; align-items:center; padding:24px 0 0; }
.ke-supplier-strip__label { margin-right:4px; color:#718178; font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.ke-supplier { padding:8px 12px; border:1px solid var(--line); border-radius:5px; color:#43546b; background:#fff; font-size:12px; font-weight:800; }
.ke-cta { padding:72px 24px; text-align:center; background:linear-gradient(125deg,#103f32,#1d6a51); color:#fff; }
.ke-cta__inner { max-width:720px; margin:0 auto; }
.ke-cta h2 { margin:0; font-size:clamp(29px,3.5vw,43px); line-height:1.1; letter-spacing:-.045em; font-weight:800; }
.ke-cta p { margin:16px auto 26px; color:#d8ebdc; font-size:16px; line-height:1.65; }
.ke-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; border:1px solid transparent; border-radius:7px; padding:0 17px; font-size:13px; font-weight:800; text-decoration:none; transition:all .2s; }
.ke-button--primary { background:#fff; color:#103f32; }
.ke-button--primary:hover { color:#103f32; background:#fff0da; }
.ke-button--secondary { margin-left:8px; border-color:rgba(255,255,255,.45); color:#fff; }
.ke-button--secondary:hover { color:#fff; border-color:#fff; background:rgba(255,255,255,.09); }
@media (max-width:900px) { .ke-home-hero__inner{grid-template-columns:1fr;gap:36px;padding-top:62px}.ke-hero-panel{max-width:540px}.ke-feature-grid,.ke-workflow{grid-template-columns:1fr 1fr}.ke-category-grid{grid-template-columns:repeat(3,1fr)}.ke-stats{grid-template-columns:repeat(2,1fr)}.ke-stat:nth-child(3){border-left:1px solid var(--line)} }
@media (max-width:580px) { .ke-home-shell{padding:0 18px}.ke-home-hero__inner{padding:54px 18px}.ke-home h1{font-size:39px}.ke-hero-copy{font-size:16px}.ke-home-search{display:block;padding:5px}.ke-home-search input{width:100%;height:46px}.ke-home-search button{width:100%;margin-top:2px}.ke-feature-grid,.ke-workflow{grid-template-columns:1fr}.ke-category-grid{grid-template-columns:1fr 1fr}.ke-stats{padding:0;}.ke-stat{padding:20px 18px}.ke-section{padding:60px 0}.ke-cta{padding:60px 18px}.ke-button{width:100%;}.ke-button--secondary{margin:9px 0 0;} }

/* Company/profile page layout: formerly local to its view template. */
.ke-checkout-profile { margin:0 0 22px; padding:18px 20px; border:1px solid #e3c89d; border-radius:9px; background:linear-gradient(110deg,#fff8eb,#fffdf8); }
.ke-checkout-profile__eyebrow { margin-bottom:6px; color:#bd4e22; font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.ke-checkout-profile h3 { margin:0; color:#103f32; font-size:19px; font-weight:800; }
.ke-checkout-profile p { margin:7px 0 0; color:#637467; font-size:13px; line-height:1.55; }
#company-profile-form .panel_s { border:1px solid #ead9c3; border-radius:9px; box-shadow:0 2px 5px rgba(75,48,18,.05); }
#company-profile-form .panel-body { padding:24px; }
#company-profile-form .panel-footer { padding:17px 24px; border-top:1px solid #ead9c3; background:#fffaf1; }
#company-profile-form .checkoutbuttonval { min-width:190px; border:0; border-radius:6px; background:#bd4e22; font-weight:800; }
#company-profile-form .checkoutbuttonval:hover { background:#913817; }

/* BOM workspace page layout: formerly local to its view template. */
:root {
    --green: #185D49;
    --green-dark: #103F32;
    --green-light: #E2F1E7;
    --green-mid: #5DCAA5;
    --red: #E24B4A;
    --red-light: #FCEBEB;
    --red-dark: #A32D2D;
    --amber: #BA7517;
    --amber-light: #FAEEDA;
    --blue: #BD4E22;
    --blue-light: #FFF0DB;
    --gray-50: #F8F9FA;
    --gray-100: #F1F3F5;
    --gray-200: #E9ECEF;
    --gray-300: #DEE2E6;
    --gray-400: #CED4DA;
    --gray-500: #ADB5BD;
    --gray-600: #6C757D;
    --gray-700: #495057;
    --gray-800: #343A40;
    --gray-900: #21382F;
    --font-display: 'Syne', sans-serif;
    --font-body: 'Inter', sans-serif;
    --font-mono: 'DM Mono', monospace;
    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-lg: 14px;
    --radius-xl: 20px;
    --shadow-sm: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
    --shadow-md: 0 4px 12px rgba(0,0,0,0.08), 0 2px 4px rgba(0,0,0,0.04);
    --shadow-lg: 0 10px 30px rgba(0,0,0,0.1), 0 4px 8px rgba(0,0,0,0.06);
  }

  @keyframes spin { 100% { transform: rotate(360deg); } }
  .spin { animation: spin 1s linear infinite; }

  .bom-container {
    font-family: var(--font-body);
    color: var(--gray-900);
    font-size: 14px;
    line-height: 1.6;
    max-width: 1300px; 
    margin: 0 auto; 
    padding: 2rem 1.5rem;
  }

  /* TOOLBAR */
  .bom-toolbar {
    background: #fff;
    border-radius: var(--radius-lg);
    padding: 1rem 2rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 2rem;
    box-shadow: var(--shadow-sm);
    border: 1px solid var(--gray-200);
  }
  .nav-logo {
    font-family: var(--font-display);
    font-size: 18px;
    font-weight: 700;
    color: var(--gray-900);
    display: flex;
    align-items: center;
    gap: 8px;
  }
  .nav-logo-dot {
    width: 8px; height: 8px;
    background: var(--green);
    border-radius: 50%;
    display: inline-block;
  }
  .nav-actions { display: flex; align-items: center; gap: 10px; }

  /* HERO HEADER */
  .page-header {
    margin-bottom: 2rem;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
  }
  .page-title {
    font-family: var(--font-display);
    font-size: 28px;
    font-weight: 700;
    color: var(--gray-900);
    line-height: 1.2;
  }
  .page-title span { color: var(--green); }
  .page-desc { font-size: 13px; color: var(--gray-600); margin-top: 4px; }

  /* UPLOAD CARD */
  .upload-card {
    background: #fff;
    border-radius: var(--radius-xl);
    border: 1px solid var(--gray-200);
    padding: 2.5rem;
    margin-bottom: 1.5rem;
    box-shadow: var(--shadow-sm);
    transition: box-shadow 0.2s;
  }
  .upload-card:hover { box-shadow: var(--shadow-md); }

  .upload-zone {
    border: 2px dashed var(--gray-300);
    border-radius: var(--radius-lg);
    padding: 3rem 2rem;
    text-align: center;
    cursor: pointer;
    transition: all 0.25s;
    background: var(--gray-50);
    position: relative;
  }
  .upload-zone:hover, .upload-zone.drag {
    border-color: var(--green);
    background: var(--green-light);
  }
  .upload-zone.has-file {
    border-style: solid;
    border-color: var(--green);
    background: var(--green-light);
    padding: 1.5rem 2rem;
  }

  .upload-icon-wrap {
    width: 64px; height: 64px;
    background: var(--green-light);
    border-radius: var(--radius-lg);
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 1.25rem;
    transition: transform 0.2s;
  }
  .upload-zone:hover .upload-icon-wrap { transform: scale(1.08); }
  .upload-icon-wrap svg { width: 28px; height: 28px; stroke: var(--green); fill: none; }

  .upload-title { font-family: var(--font-display); font-size: 17px; font-weight: 600; color: var(--gray-800); margin-bottom: 6px; }
  .upload-sub { font-size: 13px; color: var(--gray-500); }
  .upload-sub a { color: var(--green); text-decoration: none; font-weight: 500; cursor: pointer; }
  .upload-sub a:hover { text-decoration: underline; }

  .format-pills { display: flex; gap: 8px; justify-content: center; margin-top: 1rem; flex-wrap: wrap; }
  .format-pill {
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 500;
    font-family: var(--font-mono);
    background: #fff;
    border: 1px solid var(--gray-300);
    color: var(--gray-600);
  }

  .file-pill {
    display: inline-flex; align-items: center; gap: 10px;
    background: #fff;
    border: 1px solid var(--green);
    border-radius: 999px;
    padding: 8px 16px;
    font-size: 13px;
    font-weight: 500;
    color: var(--green-dark);
    margin-top: 12px;
  }
  .file-pill button {
    background: none; border: none; cursor: pointer;
    color: var(--gray-500); font-size: 18px; line-height: 1;
    padding: 0; display: flex; align-items: center;
  }
  .file-pill button:hover { color: var(--red); }

  .upload-actions { display: flex; gap: 10px; justify-content: center; margin-top: 1.5rem; flex-wrap: wrap; }

  /* BUTTONS */
  .btn-bom {
    display: inline-flex; align-items: center; gap: 7px;
    padding: 9px 18px;
    border-radius: var(--radius-md);
    font-size: 13px; font-weight: 500; font-family: var(--font-body);
    cursor: pointer; border: 1px solid transparent;
    transition: all 0.18s; white-space: nowrap;
    text-decoration: none;
  }
  .btn-primary-bom { background: var(--green); color: #fff; border-color: var(--green); }
  .btn-primary-bom:hover { background: var(--green-dark); border-color: var(--green-dark); box-shadow: 0 4px 12px rgba(29,158,117,0.3); color:white;}
  .btn-outline-bom { background: #fff; color: var(--gray-700); border-color: var(--gray-300); }
  .btn-outline-bom:hover { background: var(--gray-50); border-color: var(--gray-400); color:var(--gray-900); }
  .btn-ghost-bom { background: transparent; color: var(--gray-600); border-color: transparent; }
  .btn-ghost-bom:hover { background: var(--gray-100); color: var(--gray-800); }
  
  .btn-checkout-bom {
    background: var(--green); color: #fff; border-color: var(--green);
    padding: 10px 22px; font-size: 14px; font-weight: 600;
    border-radius: var(--radius-md);
    box-shadow: 0 2px 8px rgba(29,158,117,0.25);
  }
  .btn-checkout-bom:hover { background: var(--green-dark); box-shadow: 0 4px 16px rgba(29,158,117,0.4); color: white;}
  .btn-checkout-bom:disabled { opacity: 0.4; cursor: not-allowed; box-shadow: none; }
  .btn-bom:disabled { opacity: 0.4; cursor: not-allowed; }
  input[type=file] { display: none; }

  /* STATS */
  .stats-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 12px;
    margin-bottom: 1.5rem;
  }
  .stat-card {
    background: #fff;
    border-radius: var(--radius-lg);
    border: 1px solid var(--gray-200);
    padding: 1.25rem 1.5rem;
    box-shadow: var(--shadow-sm);
    transition: box-shadow 0.2s;
  }
  .stat-card:hover { box-shadow: var(--shadow-md); }
  .stat-label { font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.08em; color: var(--gray-500); margin-bottom: 6px; }
  .stat-value { font-family: var(--font-display); font-size: 30px; font-weight: 700; color: var(--gray-900); }
  .stat-value.green { color: var(--green); }
  .stat-value.red { color: var(--red); }
  .stat-sub { font-size: 12px; color: var(--gray-500); margin-top: 2px; }

  .coverage-bar-bg {
    height: 5px; background: var(--gray-200); border-radius: 999px;
    overflow: hidden; margin-top: 8px;
  }
  .coverage-bar-fill {
    height: 100%; background: linear-gradient(90deg, var(--green-mid), var(--green));
    border-radius: 999px; transition: width 0.6s cubic-bezier(0.4,0,0.2,1);
  }

  /* TABLE CARD */
  .table-card {
    background: #fff;
    border-radius: var(--radius-xl);
    border: 1px solid var(--gray-200);
    box-shadow: var(--shadow-sm);
    overflow: hidden;
    margin-bottom: 1.5rem;
  }

  .table-toolbar {
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--gray-200);
    display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  }

  .filter-tabs { display: flex; gap: 4px; }
  .tab-btn {
    padding: 6px 14px; border-radius: var(--radius-sm);
    font-size: 12px; font-weight: 500; cursor: pointer;
    border: 1px solid transparent;
    background: transparent; color: var(--gray-600);
    transition: all 0.15s; font-family: var(--font-body);
  }
  .tab-btn:hover { background: var(--gray-100); color: var(--gray-800); }
  .tab-btn.active { background: var(--gray-900); color: #fff; }

  .search-wrap { flex: 1; min-width: 180px; position: relative; }
  .search-wrap input {
    width: 100%; padding: 8px 12px 8px 36px;
    border: 1px solid var(--gray-300); border-radius: var(--radius-md);
    font-size: 13px; font-family: var(--font-body); color: var(--gray-800);
    background: var(--gray-50); outline: none; transition: border-color 0.2s;
  }
  .search-wrap input:focus { border-color: var(--green); background: #fff; }
  .search-icon {
    position: absolute; left: 10px; top: 50%; transform: translateY(-50%);
    color: var(--gray-400); pointer-events: none;
  }

  .table-wrap { overflow-x: auto; }
  .bom-table { width: 100%; border-collapse: collapse; font-size: 13px; }
  .bom-table thead { background: var(--gray-50); border-bottom: 1px solid var(--gray-200); }
  .bom-table thead th {
    padding: 11px 14px; text-align: left;
    font-size: 11px; font-weight: 600; text-transform: uppercase;
    letter-spacing: 0.07em; color: var(--gray-500); white-space: nowrap;
  }
  .bom-table tbody td { padding: 12px 14px; border-bottom: 1px solid var(--gray-100); vertical-align: middle; }
  .bom-table tbody tr:last-child td { border-bottom: none; }
  .bom-table tbody tr { transition: background 0.12s; }
  .bom-table tbody tr:hover { background: var(--gray-50); }
  .bom-table tbody tr.not-found { opacity: 0.75; }

  .part-num {
    font-family: var(--font-mono); font-size: 12px; font-weight: 500;
    color: var(--blue); background: var(--blue-light);
    padding: 3px 8px; border-radius: var(--radius-sm); display: inline-block;
  }
  .desc-cell { max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--gray-700); }
  .mfr-cell { color: var(--gray-600); font-size: 12px; }

  .bom-badge {
    display: inline-flex; align-items: center; gap: 5px;
    padding: 3px 10px; border-radius: 999px; font-size: 11px; font-weight: 600;
    white-space: nowrap;
  }
  .badge-found { background: var(--green-light); color: var(--green-dark); }
  .badge-notfound { background: var(--red-light); color: var(--red-dark); }
  .badge-dot { width: 5px; height: 5px; border-radius: 50%; display: inline-block; }
  .badge-found .badge-dot { background: var(--green); }
  .badge-notfound .badge-dot { background: var(--red); }

  .stock-cell { font-weight: 500; color: var(--gray-800); font-family: var(--font-mono); font-size: 12px; }
  .price-cell { font-weight: 600; color: var(--gray-900); font-family: var(--font-mono); font-size: 13px; }
  .total-cell { font-weight: 700; color: var(--green-dark); font-family: var(--font-mono); font-size: 13px; }
  .na-cell { color: var(--gray-400); font-size: 12px; }

  .qty-input {
    width: 72px; padding: 6px 8px;
    border: 1px solid var(--gray-300); border-radius: var(--radius-sm);
    font-size: 13px; text-align: center;
    font-family: var(--font-mono); color: var(--gray-800);
    background: #fff; outline: none; transition: border-color 0.2s;
  }
  .qty-input:focus { border-color: var(--green); }

  .row-add-btn {
    padding: 5px 14px; border-radius: var(--radius-sm);
    font-size: 12px; font-weight: 500; cursor: pointer;
    border: 1px solid var(--green); background: transparent; color: var(--green);
    transition: all 0.15s; font-family: var(--font-body); white-space: nowrap;
  }
  .row-add-btn:hover { background: var(--green); color: #fff; }
  .row-add-btn.added { background: var(--green); color: #fff; }
  .row-add-btn.na { border-color: var(--gray-300); color: var(--gray-400); cursor: not-allowed; }

  .sn-cell { color: var(--gray-400); font-size: 12px; font-family: var(--font-mono); }

  /* BOTTOM BAR */
  .bottom-bar {
    background: #fff;
    border-radius: var(--radius-xl);
    border: 1px solid var(--gray-200);
    padding: 1.25rem 1.75rem;
    display: flex; align-items: center; justify-content: space-between;
    flex-wrap: wrap; gap: 1rem;
    box-shadow: var(--shadow-sm);
    margin-bottom: 2rem;
  }
  .total-block { display: flex; align-items: baseline; gap: 10px; }
  .total-label { font-size: 13px; color: var(--gray-500); }
  .total-amount {
    font-family: var(--font-display); font-size: 26px; font-weight: 700; color: var(--green);
  }
  .total-items { font-size: 12px; color: var(--gray-500); }
  .bottom-actions { display: flex; gap: 8px; flex-wrap: wrap; }

  /* TOAST */
  .bom-toast {
    position: fixed; bottom: 28px; left: 50%; transform: translateX(-50%) translateY(16px);
    background: var(--gray-900); color: #fff;
    padding: 12px 24px; border-radius: var(--radius-lg);
    font-size: 13px; font-weight: 500;
    opacity: 0; pointer-events: none;
    transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
    z-index: 9999; white-space: nowrap;
    display: flex; align-items: center; gap: 8px;
    box-shadow: var(--shadow-lg);
  }
  .bom-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }
  .toast-icon { font-size: 16px; }

  /* INSTRUCTIONS BOX */
  .instructions {
    background: var(--blue-light); border: 1px solid #EFCDA7; border-radius: var(--radius-lg);
    padding: 1rem 1.25rem; margin-bottom: 1.5rem;
    display: flex; gap: 12px; align-items: flex-start;
  }
  .instructions-icon { font-size: 18px; flex-shrink: 0; margin-top: 1px; }
  .instructions-title { font-weight: 600; font-size: 13px; color: var(--blue); margin-bottom: 2px; }
  .instructions-body { font-size: 12px; color: #BD4E22; line-height: 1.7; }
  .instructions-body code {
    background: #fff; padding: 1px 6px; border-radius: 4px;
    font-family: var(--font-mono); font-size: 11px; border: 1px solid #EFCDA7;
  }

  /* SHOW ENTRIES & PAGINATION */
  .table-footer {
    padding: 12px 1.25rem;
    border-top: 1px solid var(--gray-200);
    display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px;
  }
  .show-entries { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--gray-500); }
  .show-entries select {
    padding: 4px 8px; border: 1px solid var(--gray-300); border-radius: var(--radius-sm);
    font-size: 12px; color: var(--gray-700); background: #fff; cursor: pointer;
  }
  .pagination-controls { display: flex; align-items: center; gap: 6px; }
  .page-btn {
    padding: 5px 12px; border: 1px solid var(--gray-300); border-radius: var(--radius-sm);
    background: #fff; font-size: 12px; font-weight: 500; color: var(--gray-700);
    cursor: pointer; transition: all 0.2s; font-family: var(--font-body);
  }
  .page-btn:hover:not(:disabled) { background: var(--gray-50); border-color: var(--gray-400); color: var(--gray-900); }
  .page-btn:disabled { opacity: 0.4; cursor: not-allowed; }
  .page-info { font-size: 12px; color: var(--gray-600); margin: 0 4px; }
  .entries-info { font-size: 12px; color: var(--gray-500); }
  .ke-project-modal { position:fixed; inset:0; z-index:10020; display:flex; align-items:center; justify-content:center; padding:18px; background:rgba(17,37,29,.46); }
  .ke-project-modal__card { width:min(560px,100%); max-height:min(680px,90vh); overflow:auto; padding:24px; border:1px solid #e1c69d; border-radius:18px; background:#fffdf8; box-shadow:0 24px 60px rgba(24,46,34,.3); }
  .ke-project-modal__head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:17px; }
  .ke-project-modal__title { margin:0; color:var(--gray-900); font-size:20px; font-weight:750; }
  .ke-project-modal__copy { margin:5px 0 0; color:var(--gray-600); font-size:13px; line-height:1.55; }
  .ke-project-modal__close { width:32px; height:32px; border:1px solid var(--gray-300); border-radius:9px; background:#fff; color:var(--gray-700); font-size:21px; line-height:1; cursor:pointer; }
  .ke-project-modal__input { width:100%; margin:7px 0 15px; padding:10px 12px; border:1px solid var(--gray-300); border-radius:9px; color:var(--gray-800); font-size:14px; }
  .ke-project-modal__actions { display:flex; justify-content:flex-end; gap:9px; margin-top:14px; }
  .ke-project-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 0; border-top:1px solid var(--gray-200); }
  .ke-project-row:first-of-type { border-top:0; }
  .ke-project-row__name { color:var(--gray-900); font-size:14px; font-weight:700; }
  .ke-project-row__date { margin-top:3px; color:var(--gray-500); font-size:11px; }
  .ke-project-row__actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
  .ke-project-empty { padding:18px 0 5px; color:var(--gray-600); font-size:13px; line-height:1.55; }

  @media (max-width: 768px) {
    .stats-grid { grid-template-columns: repeat(2, 1fr); }
    .page-header { flex-direction: column; align-items: flex-start; }
    .bottom-bar { flex-direction: column; align-items: flex-start; }
    .upload-card { padding: 1.5rem; }
  }
  @media (max-width: 500px) {
    .stats-grid { grid-template-columns: 1fr 1fr; }
  }

/* BOM view utility classes replace view-level style attributes and script cssText. */
.bom-hidden { display:none; }
.bom-file-pill-wrap { margin-top:0; }
.bom-manual-entry { max-width:760px; margin:1rem auto 0; }
.bom-manual-entry__label { display:block; margin-bottom:6px; color:var(--gray-700); font-size:12px; font-weight:600; }
.bom-manual-entry__input { width:100%; box-sizing:border-box; resize:vertical; border:1px solid var(--gray-300); border-radius:8px; padding:10px 12px; color:var(--gray-800); font:12px/1.45 var(--font-mono); }
.bom-manual-entry__actions { display:flex; justify-content:flex-end; margin-top:8px; }
.bom-map-form { display:flex; flex-wrap:wrap; align-items:end; gap:12px; margin-top:14px; }
.bom-map-label { display:flex; flex-direction:column; min-width:145px; gap:5px; color:var(--gray-700); font-size:12px; font-weight:600; }
.bom-map-select { border:1px solid var(--gray-300); border-radius:6px; padding:7px; background:#fff; }
.bom-empty-cell { padding:3rem !important; color:var(--gray-400); font-size:13px; text-align:center; }
.bom-error-note { max-width:150px; margin-top:4px; white-space:normal; line-height:1.3; }
.bom-upload-browse { padding:0; border:0; background:transparent; color:inherit; font:inherit; text-decoration:underline; cursor:pointer; }

/* v23 — customer shell aligned with the active admin design language.
   This is a compact, customer-specific style layer: it uses the same neutral
   Inter/slate/primary-blue system without importing the admin stylesheet or
   coupling customer commerce pages to admin markup. */
:root {
  --ke-admin-bg: #f1f5f9;
  --ke-admin-surface: #ffffff;
  --ke-admin-soft: #f8fafc;
  --ke-admin-line: #e2e8f0;
  --ke-admin-line-strong: #cbd5e1;
  --ke-admin-ink: #1e293b;
  --ke-admin-muted: #475569;
  --ke-admin-green: #2563eb;
  --ke-admin-green-dark: #1d4ed8;
  --ke-admin-green-soft: #eff6ff;
  --ke-admin-shadow: 0 1px 3px 0 rgba(15, 23, 42, .10), 0 1px 2px -1px rgba(15, 23, 42, .10);
  --ke-cream: #f1f5f9;
  --ke-paper: #ffffff;
  --ke-ink: #1e293b;
  --ke-muted: #475569;
  --ke-line: #e2e8f0;
}
body.customers, body { background:var(--ke-admin-bg) !important; color:var(--ke-admin-muted) !important; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important; }
a { color:var(--ke-admin-green) !important; }
a:hover,a:focus { color:var(--ke-admin-green-dark) !important; }
:focus-visible { outline:3px solid rgba(37,99,235,.38) !important; outline-offset:3px !important; }

/* Header/navigation geometry and admin-like visual hierarchy. */
.ke-topbar { min-height:34px; background:#0f172a !important; color:#cbd5e1 !important; }
.ke-topbar__inner { max-width:1280px; min-height:34px; padding:0 24px; }
.ke-topbar a { color:#cbd5e1 !important; }
.ke-topbar a:hover { color:#fff !important; }
.ke-topbar__dot { width:6px; height:6px; background:#60a5fa !important; box-shadow:0 0 0 3px rgba(96,165,250,.17) !important; }
.ke-header { background:#fff !important; border-bottom:1px solid var(--ke-admin-line) !important; box-shadow:0 1px 2px rgba(15,23,42,.05) !important; }
.ke-header__inner { max-width:1280px; min-height:72px; padding:0 24px; gap:24px; }
.ke-brand { color:var(--ke-admin-ink) !important; }
.ke-brand__mark { width:38px; height:38px; padding:0; border:1px solid #bfdbfe !important; border-radius:7px !important; background:#eff6ff !important; box-shadow:none !important; color:#2563eb !important; }
.ke-brand__name { font-size:17px; letter-spacing:-.025em !important; }
.ke-brand__tagline { color:#64748b !important; }
.ke-search { max-width:520px; }
.ke-search form { min-height:40px; border:1px solid var(--ke-admin-line-strong) !important; border-radius:6px !important; background:#fff !important; box-shadow:none !important; }
.ke-search form:focus-within { border-color:#2563eb !important; box-shadow:0 0 0 3px rgba(37,99,235,.12) !important; }
.ke-search input { height:38px; color:var(--ke-admin-ink) !important; }
.ke-search button,.ke-search .ke-search__submit { width:42px; margin:0; border:0; border-radius:0 5px 5px 0 !important; background:#2563eb !important; box-shadow:none !important; color:#fff !important; transform:none !important; }
.ke-search button:hover,.ke-search .ke-search__submit:hover { background:#1d4ed8 !important; transform:none !important; }
.ke-login { color:#475569 !important; }
.ke-login:hover { color:#2563eb !important; }
.ke-register { padding:8px 11px; border-color:#cbd5e1 !important; border-radius:6px !important; background:#fff !important; box-shadow:none !important; color:#334155 !important; }
.ke-register:hover { border-color:#93c5fd !important; background:#eff6ff !important; color:#1d4ed8 !important; }
.ke-cart { padding:7px 0 7px 12px; border-left:1px solid var(--ke-admin-line) !important; color:var(--ke-admin-ink) !important; }
.ke-cart__count { background:#2563eb !important; box-shadow:none !important; }
.ke-cart__label { color:#64748b !important; }
.ke-cart__total { color:var(--ke-admin-ink) !important; }
.ke-nav { background:#fff !important; border-bottom:1px solid var(--ke-admin-line) !important; }
.ke-nav__inner { max-width:1280px; min-height:46px; padding:0 24px; }
.ke-nav__link { padding:14px 12px; color:#475569 !important; }
.ke-nav__link:hover { background:#f8fafc !important; color:#2563eb !important; }
.ke-nav__link:hover::after { right:12px; bottom:0; left:12px; height:2px; background:#2563eb !important; }
.ke-currency .dropdown-toggle,.ke-language .dropdown-toggle { border-color:var(--ke-admin-line) !important; border-radius:5px !important; color:#475569 !important; }
.ke-nav .dropdown-menu,.ke-currency .dropdown-menu { border-color:var(--ke-admin-line) !important; border-radius:7px !important; box-shadow:var(--ke-admin-shadow) !important; }

/* Common customer controls use the same low-noise admin surfaces. */
.btn-primary,.btn-success,.btn-info,.btn.btn-primary,.btn.btn-success,.btn.btn-info,.ke-commerce .ke-btn,.ke-submit,.ke-button--primary,.ke-library__hero-action,.ke-library__button,.ke-account-dashboard__hero-actions a { border-color:#2563eb !important; background:#2563eb !important; color:#fff !important; }
.btn-primary:hover,.btn-success:hover,.btn-info:hover,.ke-commerce .ke-btn:hover,.ke-submit:hover,.ke-button--primary:hover,.ke-library__hero-action:hover,.ke-library__button:hover,.ke-account-dashboard__hero-actions a:hover { border-color:#1d4ed8 !important; background:#1d4ed8 !important; }
.form-control:focus,.custom-select:focus,select:focus,input:focus,textarea:focus { border-color:#2563eb !important; box-shadow:0 0 0 3px rgba(37,99,235,.12) !important; }.ke-refine__note,.ke-source-help { background:#eff6ff !important; }.ke-feature__icon,.ke-public__feature-icon,.ke-account-dashboard__quick-icon,.ke-panel-icon { background:#eff6ff !important; color:#2563eb !important; }
.ke-source-chip { border-color:#bfdbfe !important; background:#eff6ff !important; color:#1d4ed8 !important; }
.ke-product-list .ke-product-row:hover { background:#f8fafc !important; box-shadow:inset 3px 0 0 #2563eb !important; }
.ke-product-category span { border-color:#dbeafe !important; background:#eff6ff !important; color:#1e40af !important; }
.ke-product-identity h3,.ke-product-info h3,.ke-detail-link,.ke-product-code { color:#1d4ed8 !important; }

/* Footer and finder are customer utilities, but visually follow the same system. */
.ke-site-footer { margin-top:56px; background:#0f172a !important; border-top:0 !important; box-shadow:none !important; color:#cbd5e1 !important; }
.ke-site-footer::before { display:none !important; }
.ke-site-footer__inner { max-width:1280px; padding:48px 24px 32px; }
.ke-footer-brand { color:#f8fafc !important; }
.ke-footer-brand:hover { color:#fff !important; }
.ke-footer-brand__mark { width:38px; height:38px; padding:0; border-color:#334155 !important; border-radius:7px !important; background:#1e293b !important; box-shadow:none !important; color:#93c5fd !important; }
.ke-footer-brand small,.ke-site-footer__bottom { color:#94a3b8 !important; }
.ke-site-footer p { color:#cbd5e1 !important; }
.ke-footer-heading { color:#f8fafc !important; }
.ke-footer-list a,.ke-site-footer__bottom a { color:#cbd5e1 !important; }
.ke-footer-list a:hover,.ke-site-footer__bottom a:hover { color:#fff !important; }
.ke-site-footer__bottom { border-top-color:#334155 !important; }
#ke-parts-finder { right:24px; bottom:22px; min-height:44px; padding:0 13px; border-color:#2563eb !important; border-radius:6px !important; background:#2563eb !important; box-shadow:0 2px 4px rgba(15,23,42,.16) !important; font-size:12px; transform:none !important; }
#ke-parts-finder:hover { background:#1d4ed8 !important; box-shadow:0 3px 7px rgba(15,23,42,.18) !important; transform:none !important; }
#ke-parts-finder:focus-visible,#ke-parts-finder-close:focus-visible { outline-color:rgba(147,197,253,.9) !important; }
#ke-parts-finder-panel { right:24px; bottom:78px; padding:20px; border-color:var(--ke-admin-line) !important; border-radius:8px !important; background:#fff !important; box-shadow:0 12px 28px rgba(15,23,42,.16) !important; }
#ke-parts-finder-panel__eyebrow { color:#2563eb !important; }
#ke-parts-finder-panel h2 { color:var(--ke-admin-ink) !important; }
#ke-parts-finder-close { border-color:var(--ke-admin-line) !important; border-radius:6px !important; background:#fff !important; color:#475569 !important; }
#ke-parts-finder-close:hover { background:#eff6ff !important; color:#1d4ed8 !important; }
#ke-parts-finder-panel__copy { color:#64748b !important; }
#ke-parts-finder-form { border-color:var(--ke-admin-line-strong) !important; border-radius:6px !important; background:#fff !important; }
#ke-parts-finder-form:focus-within { border-color:#2563eb !important; box-shadow:0 0 0 3px rgba(37,99,235,.12) !important; }
#ke-parts-finder-form > i { color:#2563eb !important; }
#ke-parts-finder-form input { color:var(--ke-admin-ink) !important; }
#ke-parts-finder-form button[type="submit"] { border-color:#2563eb !important; border-radius:5px !important; background:#2563eb !important; }
#ke-parts-finder-form button[type="submit"]:hover { background:#1d4ed8 !important; }
#ke-parts-finder-panel__links a { border-color:#dbeafe !important; border-radius:5px !important; background:#eff6ff !important; color:#1d4ed8 !important; }
#ke-parts-finder-panel__links a:hover { border-color:#93c5fd !important; color:#1d4ed8 !important; }

@media (max-width:900px) {
  .ke-header__inner { padding:12px 16px; gap:14px; }
  .ke-nav__inner { padding:0 12px; }
}
@media (max-width:560px) {
  #ke-parts-finder { right:14px; bottom:15px; }
  #ke-parts-finder-panel { right:14px; bottom:70px; }
}


/* Minimal document baseline, formerly inline in the document head. */
:root { color-scheme:light; }
html { background:#f1f5f9; }
*,*::before,*::after { box-sizing:border-box; }
img { max-width:100%; }


/* Small shell utilities formerly expressed as template style attributes. */
.ke-nav__chevron { font-size:9px; }
.ke-page-row { margin-right:15px; margin-left:15px; }

.bom-container .coverage-bar-fill { width:0; }

/* v24 — quiet technical catalogue system.
   An original KnowElectronics storefront treatment built around a navy/blue
   information hierarchy, flat white panels and legible specification density. */
:root {
  --ke-admin-bg: #f5f8fc;
  --ke-admin-surface: #ffffff;
  --ke-admin-soft: #f2f6fb;
  --ke-admin-line: #dfe7f0;
  --ke-admin-line-strong: #cbd8e6;
  --ke-admin-ink: #132946;
  --ke-admin-muted: #617189;
  --ke-admin-green: #1f65ca;
  --ke-admin-green-dark: #174f9f;
  --ke-admin-green-soft: #eaf2ff;
  --ke-admin-shadow: 0 1px 2px rgba(19,41,70,.045);
  --ke-cream: #f5f8fc;
  --ke-paper: #ffffff;
  --ke-ink: #132946;
  --ke-muted: #617189;
  --ke-line: #dfe7f0;
}
html,body.customers { background:#fff !important; }
body.customers { color:var(--ke-admin-ink) !important; }
a { color:#1f65ca !important; }
a:hover,a:focus { color:#174f9f !important; }
:focus-visible { outline-color:rgba(31,101,202,.38) !important; }

/* Shared application shell */
.ke-topbar { background:#132946 !important; }
.ke-topbar__dot { background:#75aaff !important; box-shadow:0 0 0 3px rgba(117,170,255,.17) !important; }
.ke-header,.ke-nav { background:#fff !important; border-color:#dfe7f0 !important; box-shadow:none !important; }
.ke-brand { color:#132946 !important; }
.ke-brand__mark { border-color:#c9dcfa !important; background:#edf4ff !important; color:#1f65ca !important; }
.ke-brand__tagline,.ke-cart__label { color:#718199 !important; }
.ke-search form,.ke-findbar { border-color:#cbd8e6 !important; border-radius:8px !important; box-shadow:none !important; }
.ke-search form:focus-within,.ke-findbar:focus-within { border-color:#1f65ca !important; box-shadow:0 0 0 3px rgba(31,101,202,.12) !important; }
.ke-search button,.ke-search .ke-search__submit { background:#1f65ca !important; }
.ke-search button:hover,.ke-search .ke-search__submit:hover { background:#174f9f !important; }
.ke-register,.ke-currency .dropdown-toggle,.ke-language .dropdown-toggle { border-color:#d5e0ea !important; border-radius:7px !important; }
.ke-register:hover { border-color:#bcd3f5 !important; background:#f4f8ff !important; color:#174f9f !important; }
.ke-cart__count { background:#1f65ca !important; }
.ke-nav__link { color:#4d5e74 !important; }
.ke-nav__link:hover { background:#f5f8fc !important; color:#1f65ca !important; }
.ke-nav__link:hover::after { background:#1f65ca !important; }

/* Base surfaces and form rhythm */
.panel_s,.modal-content,.ke-card,.ke-about__card,.ke-careers__card,.ke-faq__list,.ke-sitemap__group,.ke-policy__card,.ke-contact__form,.ke-about__panel,.ke-feature,.ke-workflow__step,.ke-category,.ke-public__feature,.ke-public__map-card,.ke-public__form-card,.ke-public__center-card,.ke-public__policy-card,.ke-account-dashboard__surface,.ke-account-dashboard__quick>a,.ke-library__files-card,.ke-auth__card { border-color:#dfe7f0 !important; border-radius:12px !important; box-shadow:0 1px 2px rgba(19,41,70,.045) !important; }
.form-control,.custom-select,select,input[type="text"],input[type="search"],input[type="email"],input[type="number"],textarea { border-color:#cbd8e6 !important; border-radius:8px !important; color:#263a55 !important; }
.form-control:focus,.custom-select:focus,select:focus,input:focus,textarea:focus { border-color:#1f65ca !important; box-shadow:0 0 0 3px rgba(31,101,202,.12) !important; }
.btn,.ke-button,.ke-commerce .ke-btn,.ke-submit { border-radius:8px !important; font-weight:750 !important; }
.btn-primary,.btn-success,.btn-info,.btn.btn-primary,.btn.btn-success,.btn.btn-info,.ke-commerce .ke-btn,.ke-submit,.ke-button--primary,.ke-library__hero-action,.ke-library__button,.ke-account-dashboard__hero-actions a { border-color:#1f65ca !important; background:#1f65ca !important; }
.btn-primary:hover,.btn-success:hover,.btn-info:hover,.ke-commerce .ke-btn:hover,.ke-submit:hover,.ke-button--primary:hover,.ke-library__hero-action:hover,.ke-library__button:hover,.ke-account-dashboard__hero-actions a:hover { border-color:#174f9f !important; background:#174f9f !important; }
.btn-default,.btn-secondary,.ke-commerce .ke-btn--quiet { border-color:#d5e0ea !important; background:#fff !important; color:#354963 !important; }
.btn-default:hover,.btn-secondary:hover,.ke-commerce .ke-btn--quiet:hover { border-color:#bcd3f5 !important; background:#f4f8ff !important; color:#174f9f !important; }

/* Search, result comparison and product detail */
.ke-commerce { max-width:1180px !important; color:#263a55 !important; }
.ke-breadcrumb { color:#718199 !important; font-size:13px !important; }
.ke-breadcrumb a { color:#617189 !important; }
.ke-search-hero,.ke-order-head,.ke-detail-head { border:0 !important; border-bottom:1px solid #dfe7f0 !important; border-radius:0 !important; background:#fff !important; box-shadow:none !important; }
.ke-search-hero h1,.ke-order-head h1,.ke-detail-head h1,.ke-commerce h2 { color:#132946 !important; }
.ke-kicker,.ke-commerce .ke-kicker,.ke-checkout__eyebrow { color:#1f65ca !important; }
.ke-results__columns { border-color:#dfe7f0 !important; background:#f2f6fb !important; color:#607187 !important; }
.ke-product-list { border-color:#dfe7f0 !important; border-radius:12px !important; box-shadow:none !important; }
.ke-product-list .ke-product-row { border-color:#e7edf4 !important; }
.ke-product-list .ke-product-row:hover { background:#f8fbff !important; box-shadow:inset 3px 0 0 #1f65ca !important; }
.ke-product-thumb { border-color:#dfe7f0 !important; border-radius:10px !important; background:#f6f9fd !important; }
.ke-product-identity h3,.ke-product-info h3,.ke-detail-link,.ke-product-code { color:#174f9f !important; }
.ke-product-category span,.ke-source-chip { border-color:#d4e3fb !important; background:#edf4ff !important; color:#1b5dbb !important; }
.ke-product-pricing { border-color:#e4ebf2 !important; }
.ke-price strong { color:#132946 !important; }
.ke-qty-control>div { border-color:#cbd8e6 !important; border-radius:8px !important; }
.ke-qty-control button { background:#f3f7fc !important; color:#1f65ca !important; }
.ke-source-help,.ke-refine__note { border-color:#d4e3fb !important; background:#f4f8ff !important; color:#1b5dbb !important; }

/* Detail view: product image/specification panel plus a clear purchasing panel. */
.ke-detail-head { margin-bottom:20px !important; padding:9px 0 20px !important; }
.ke-detail-head .ke-source-chip { border-radius:16px !important; }
.ke-detail-head__description { max-width:740px !important; color:#617189 !important; }
.ke-detail-grid { grid-template-columns:minmax(0,1.05fr) minmax(315px,.95fr) !important; gap:30px !important; }
.ke-detail-product { grid-template-columns:1fr !important; gap:20px !important; padding:0 !important; border:0 !important; background:transparent !important; box-shadow:none !important; }
.ke-detail-image { min-height:330px !important; padding:30px !important; border-color:#dfe7f0 !important; border-radius:14px !important; background:#f3f7fc !important; }
.ke-detail-image img { max-height:245px !important; }
.ke-detail-image p { color:#718199 !important; }
.ke-detail-facts { padding:22px !important; border:1px solid #dfe7f0 !important; border-radius:12px !important; background:#fff !important; }
.ke-detail-facts h2,.ke-purchase-card h2 { color:#132946 !important; }
.ke-detail-facts dl,.ke-detail-facts dl div { border-color:#e3eaf2 !important; }
.ke-detail-facts dt { color:#718199 !important; }
.ke-detail-facts dd { color:#263a55 !important; }
.ke-detail-resources { border:1px solid #d4e3fb !important; border-radius:8px !important; background:#f4f8ff !important; }
.ke-detail-resources h3,.ke-detail-resources a,.ke-detail-resources span { color:#1b5dbb !important; }
.ke-purchase-card { position:sticky !important; top:16px !important; padding:22px !important; border-color:#dfe7f0 !important; border-radius:14px !important; background:#fff !important; box-shadow:0 2px 7px rgba(19,41,70,.07) !important; }
.ke-purchase-card__head { border-color:#e2e9f1 !important; }
.ke-lead-time { color:#617189 !important; }
.ke-price-breaks { margin:0 -22px !important; }
.ke-price-breaks th { background:#f2f6fb !important; color:#607187 !important; }
.ke-price-breaks td { border-color:#e4ebf2 !important; color:#263a55 !important; }
.ke-price-breaks td:last-child { color:#132946 !important; }
.ke-request-price { border:1px solid #d4e3fb !important; background:#f4f8ff !important; color:#1b5dbb !important; }
.ke-purchase-note { color:#617189 !important; }
.ke-detail-support>div { border-color:#dfe7f0 !important; border-radius:12px !important; background:#fff !important; }
.ke-detail-support>div>i { color:#1f65ca !important; }
.ke-detail-support h2 { color:#132946 !important; }

/* Home, public, account and BOM modules share the same restrained technical canvas. */
.ke-home,.ke-section--soft { background:#f3f7fc !important; }
.ke-home-hero,.ke-public__hero,.ke-library__hero,.ke-account-dashboard__hero { border-color:#dfe7f0 !important; border-radius:0 !important; background:#fff !important; box-shadow:none !important; }
.ke-home-hero { border-bottom:1px solid #dfe7f0 !important; }
.ke-home h1,.ke-public__hero h1,.ke-library__hero h1,.ke-account-dashboard h1,.ke-section-title,.ke-feature h3,.ke-workflow__step h3,.ke-category,.ke-public h1,.ke-public h2,.ke-public h3 { color:#132946 !important; }
.ke-home h1 span,.ke-eyebrow,.ke-public__hero .ke-public__eyebrow,.ke-library__hero .ke-library__eyebrow,.ke-account-dashboard__hero .ke-account-dashboard__eyebrow,.ke-section-kicker { color:#1f65ca !important; }
.ke-eyebrow:before { background:#1f65ca !important; box-shadow:0 0 0 4px rgba(31,101,202,.1) !important; }
.ke-hero-copy,.ke-public__lead,.ke-library__hero p:not(.ke-library__eyebrow),.ke-account-dashboard__hero p:not(.ke-account-dashboard__eyebrow),.ke-section-copy,.ke-feature p,.ke-workflow__step p,.ke-public p { color:#617189 !important; }
.ke-home-search,.ke-hero-panel,.ke-public__signal-card { border-color:#dfe7f0 !important; border-radius:10px !important; background:#fff !important; box-shadow:0 2px 8px rgba(19,41,70,.06) !important; }
.ke-home-search button { background:#1f65ca !important; box-shadow:none !important; }
.ke-hero-panel__title,.ke-hero-panel__line,.ke-public__signal-card strong,.ke-public__signal-card p { color:#263a55 !important; border-color:#e4ebf2 !important; }
.ke-stat,.ke-stats { border-color:#dfe7f0 !important; background:#fff !important; }
.ke-stat__value { color:#132946 !important; }
.ke-feature__icon,.ke-public__feature-icon,.ke-account-dashboard__quick-icon,.ke-panel-icon { border-radius:8px !important; background:#edf4ff !important; color:#1f65ca !important; }
.ke-cta,.ke-public__callout--help { background:#132946 !important; box-shadow:none !important; }
.ke-site-footer { background:#132946 !important; }
.ke-footer-brand__mark { background:#1c3a61 !important; color:#91bcff !important; }
.bom-container { --green:#1f65ca !important; --green-dark:#174f9f !important; --green-light:#eaf2ff !important; --blue:#1f65ca !important; --blue-light:#eaf2ff !important; --gray-50:#f5f8fc !important; --gray-100:#f2f6fb !important; --gray-200:#dfe7f0 !important; --gray-300:#cbd8e6 !important; --gray-700:#43556d !important; --gray-800:#263a55 !important; --gray-900:#132946 !important; }
.bom-toolbar { border-color:#132946 !important; border-radius:12px !important; background:#132946 !important; box-shadow:none !important; }
.bom-toolbar::before { display:none !important; }
.bom-container .upload-card,.bom-container .table-card,.bom-container .bottom-bar,.bom-container .stat-card { border-color:#dfe7f0 !important; border-radius:12px !important; background:#fff !important; box-shadow:none !important; }

@media (max-width:850px) {
  .ke-detail-grid { grid-template-columns:1fr !important; gap:20px !important; }
  .ke-purchase-card { position:static !important; }
}
@media (max-width:600px) {
  .ke-detail-image { min-height:240px !important; padding:22px !important; }
  .ke-detail-facts,.ke-purchase-card { padding:18px !important; }
  .ke-price-breaks { margin:0 -18px !important; }
  .ke-search-hero,.ke-order-head,.ke-detail-head { padding:8px 0 18px !important; }
}


/* v25 — right-aligned global search action. */
.ke-search .ke-search__submit { order:4 !important; margin:3px 3px 3px 0 !important; border-radius:6px !important; background:#1f65ca !important; color:#fff !important; }
.ke-search .ke-search__submit:hover { background:#174f9f !important; color:#fff !important; }

/* v28 — mobile-first storefront refinements. */
@media (max-width:760px) {
  html,body.customers { overflow-x:hidden; }
  .ke-topbar { display:none !important; }
  .ke-header__inner { min-height:0 !important; padding:11px 14px !important; gap:10px 12px !important; }
  .ke-brand { min-width:0; gap:8px; }
  .ke-brand__mark { width:34px; height:34px; font-size:18px; }
  .ke-brand__name { max-width:132px; overflow:hidden; font-size:16px; text-overflow:ellipsis; white-space:nowrap; }
  .ke-brand__tagline,.ke-register,.ke-cart__details { display:none !important; }
  .ke-actions { gap:8px !important; }
  .ke-login { min-height:38px; display:inline-flex; align-items:center; font-size:12px !important; }
  .ke-cart { min-width:40px; min-height:38px; padding:7px 0 7px 8px !important; border-left:1px solid #dfe7f0 !important; }
  .ke-cart__icon { font-size:19px; }
  .ke-search { order:3; width:100%; max-width:none !important; flex-basis:100%; }
  .ke-search form { min-height:46px !important; }
  .ke-search input { height:44px !important; min-width:0; padding:0 10px !important; font-size:16px !important; }
  .ke-search__scope { display:none !important; }
  .ke-search .ke-search__submit { width:42px !important; min-width:42px; height:38px; margin:3px !important; }
  .ke-nav { overflow:hidden; }
  .ke-nav__inner { min-height:45px; max-width:none; overflow-x:auto; padding:0 8px !important; gap:0; overscroll-behavior-x:contain; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
  .ke-nav__inner::-webkit-scrollbar { display:none; }
  .ke-nav__link { display:inline-flex; flex:none; min-height:45px; align-items:center; padding:0 10px !important; font-size:12px !important; white-space:nowrap; }
  .ke-nav__spacer,.ke-language { display:none !important; }
  .ke-currency { margin-left:auto; flex:none; }
  .ke-currency .dropdown-toggle { min-height:33px; display:inline-flex; align-items:center; padding:6px 8px !important; font-size:11px !important; }
  .ke-currency #cur-label { display:none; }

  .page-content.container-fluid { padding-right:0; padding-left:0; }
  .ke-page-row { margin-right:0 !important; margin-left:0 !important; }
  .ke-commerce,.ke-catalog,.ke-account-dashboard,.ke-library,.ke-category-page { padding:18px 14px 32px !important; }
  .ke-breadcrumb { display:flex; flex-wrap:wrap; gap:4px; margin-bottom:13px !important; font-size:12px !important; }
  .ke-search-hero,.ke-order-head,.ke-detail-head { display:block; margin-bottom:16px !important; padding:7px 0 17px !important; }
  .ke-search-hero h1,.ke-order-head h1,.ke-detail-head h1 { font-size:clamp(24px,7vw,30px) !important; }
  .ke-search-hero p:not(.ke-kicker),.ke-order-head p:not(.ke-kicker),.ke-detail-head__description { font-size:13px !important; line-height:1.55 !important; }
  .ke-order-head>.ke-btn,.ke-detail-head>.ke-btn,.ke-search-hero>.ke-hero-action { width:100%; min-height:42px; justify-content:center; margin-top:14px; }
  .ke-findbar { min-height:48px; padding:3px 4px 3px 11px !important; gap:3px !important; }
  .ke-findbar input { min-width:0; font-size:16px !important; }
  .ke-findbar .ke-btn { min-width:42px; min-height:38px; padding:8px 10px !important; }
  .ke-results-layout,.ke-detail-grid,.ke-order-grid,.ke-review-grid { grid-template-columns:1fr !important; gap:16px !important; }
  .ke-refine,.ke-purchase-card,.ke-order-summary { position:static !important; }
  .ke-refine { display:block !important; margin-bottom:14px; }
  .ke-filter-group + .ke-filter-group { border-top:1px solid #e4ebf2 !important; border-left:0 !important; }
  .ke-results__toolbar { align-items:flex-start !important; flex-direction:column; gap:9px !important; }
  .ke-results__toolbar select { min-height:38px; width:100%; }
  .ke-product-list { border-radius:10px !important; }
  .ke-product-row { grid-template-columns:68px minmax(0,1fr) !important; gap:10px !important; padding:13px !important; }
  .ke-product-thumb { min-height:68px !important; }
  .ke-product-thumb img { max-height:58px !important; }
  .ke-product-identity h3 { font-size:13px !important; }
  .ke-product-spec .ke-description { -webkit-line-clamp:3; font-size:11px !important; }
  .ke-product-category,.ke-product-supplier { margin-top:2px; }
  .ke-product-pricing { grid-template-columns:1fr 1fr !important; gap:9px !important; padding-top:11px !important; }
  .ke-product-buy { gap:9px 10px !important; }
  .ke-product-buy .ke-btn--cart { min-height:42px; }
  .ke-detail-image { min-height:238px !important; padding:20px !important; }
  .ke-detail-image img { max-height:180px !important; }
  .ke-detail-facts,.ke-purchase-card { padding:17px !important; border-radius:11px !important; }
  .ke-detail-facts dl div { padding:10px 0 !important; }
  .ke-price-breaks { margin:0 -17px !important; overflow-x:auto; }
  .ke-price-breaks th,.ke-price-breaks td { padding:9px 17px !important; white-space:nowrap; }
  .ke-detail-support { grid-template-columns:1fr !important; gap:10px !important; margin-top:16px !important; }
  .ke-detail-support>div { grid-template-columns:28px 1fr !important; padding:14px !important; }
  .ke-detail-support>div>i { font-size:18px !important; }

  .ke-checkout-steps { margin-bottom:17px !important; }
  .ke-checkout-steps li { gap:5px !important; }
  .ke-checkout-steps li>span { width:26px !important; height:26px !important; font-size:10px !important; }
  .ke-checkout-steps li:not(:last-child)::after { top:12px !important; left:29px !important; width:calc(100% - 28px) !important; }
  .ke-checkout-steps small { display:none; }
  .ke-checkout-steps strong { font-size:10px !important; }
  .ke-cart-line { grid-template-columns:minmax(0,1fr) 28px !important; gap:10px !important; padding:14px !important; }
  .ke-cart-line__identity { grid-column:1; }
  .ke-cart-line__availability { grid-row:2; grid-column:1; }
  .ke-cart-line__quantity { grid-row:3; grid-column:1; }
  .ke-cart-line__price { grid-row:4; grid-column:1; }
  .ke-cart-line__total { grid-row:5; grid-column:1; }
  .ke-line-remove { grid-row:1; grid-column:2; min-width:28px; min-height:28px; }
  .ke-cart-line__price,.ke-cart-line__total { display:flex; align-items:center; justify-content:space-between; }
  .ke-cart-line__price>span,.ke-cart-line__total>span { margin:0; }
  .ke-order-card,.ke-review-card,.ke-order-summary { border-radius:11px !important; }
  .ke-order-card__head { align-items:flex-start !important; flex-direction:column; gap:8px !important; }
  .ke-order-card__head>a { min-height:38px; display:inline-flex; align-items:center; }
  .ke-order-summary .ke-btn--checkout { min-height:46px; }
  .ke-review-lines>div { align-items:flex-start !important; flex-direction:column; gap:6px; }
  .ke-review-lines>div>div:last-child { text-align:left !important; }
  .ke-address-grid { grid-template-columns:1fr !important; }
  .ke-address-grid>div { min-height:0 !important; padding:14px 0 !important; border-right:0 !important; border-bottom:1px solid #e4ebf2 !important; }
  .ke-address-grid>div:last-child { border-bottom:0 !important; }

  .ke-home-hero__inner { grid-template-columns:1fr !important; gap:24px !important; padding:38px 18px !important; }
  .ke-home-shell { padding:0 18px !important; }
  .ke-home h1 { font-size:clamp(31px,9vw,42px) !important; }
  .ke-hero-copy { font-size:15px !important; }
  .ke-home-search { display:flex !important; min-height:48px; padding:4px !important; }
  .ke-home-search input { min-width:0; height:40px !important; padding:0 10px !important; font-size:16px !important; }
  .ke-home-search button { flex:none; min-height:40px; padding:0 12px !important; font-size:0; }
  .ke-home-search button i { font-size:15px; }
  .ke-quick-searches { gap:7px !important; }
  .ke-hero-panel { padding:18px !important; }
  .ke-stats { grid-template-columns:1fr 1fr !important; padding:0 !important; }
  .ke-stat { padding:17px 14px !important; }
  .ke-section { padding:48px 0 !important; }
  .ke-feature-grid,.ke-workflow { grid-template-columns:1fr !important; gap:11px !important; }
  .ke-category-grid { grid-template-columns:1fr 1fr !important; gap:9px !important; }
  .ke-feature,.ke-workflow__step,.ke-category { min-height:0 !important; padding:17px !important; }
  .ke-cta { padding:44px 18px !important; }
  .ke-button { min-height:44px; }
  .ke-button--primary,.ke-button--secondary { width:100%; margin:0 !important; }
  .ke-button--secondary { margin-top:9px !important; }

  .ke-public__hero,.ke-library__hero,.ke-account-dashboard__hero { align-items:flex-start !important; flex-direction:column !important; padding:25px 18px !important; }
  .ke-account-dashboard__hero-actions,.ke-library__hero-actions { width:100%; }
  .ke-account-dashboard__hero-actions a,.ke-library__hero-action { min-height:42px; flex:1; justify-content:center; }
  .ke-account-dashboard__quick { grid-template-columns:1fr !important; }
  .ke-account-dashboard__surface,.ke-library__files-card { padding:16px !important; }
  .ke-auth { padding:25px 14px 42px !important; }
  .ke-auth__card,.ke-auth--wide .ke-auth__card { padding:22px 17px !important; }
  .ke-auth__columns,.ke-auth__form-grid { grid-template-columns:1fr !important; }
  .ke-auth__actions { align-items:stretch !important; flex-direction:column !important; }
  .ke-auth__actions .ke-auth__submit { width:100%; min-height:44px; }

  .bom-container { padding:18px 13px 30px !important; }
  .bom-toolbar { align-items:flex-start !important; flex-direction:column !important; gap:12px !important; padding:15px !important; }
  .nav-actions { width:100%; flex-wrap:wrap; justify-content:flex-start !important; }
  .bom-container .btn-bom { min-height:40px; }
  .bom-container .page-header { margin:22px 2px 14px !important; }
  .bom-container .page-title { font-size:clamp(25px,8vw,33px) !important; }
  .bom-container .upload-card,.bom-container .table-card,.bom-container .bottom-bar { border-radius:10px !important; }
  .bom-container .upload-card { padding:15px !important; }
  .bom-container .upload-zone { padding:27px 14px !important; }
  .bom-container .table-toolbar { align-items:stretch !important; flex-direction:column; gap:10px; }
  .bom-container .filter-tabs { overflow-x:auto; padding-bottom:3px; white-space:nowrap; }
  .bom-container .search-wrap { width:100%; }
  .bom-container .table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .bom-container .bom-table { min-width:820px; }
  .bom-container .bottom-bar { align-items:stretch !important; flex-direction:column !important; gap:14px; }
  .bom-container .bottom-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .bom-container .bottom-actions .btn-primary-bom { grid-column:1/-1; }
  .ke-site-footer { margin-top:34px !important; }
  .ke-site-footer__inner { grid-template-columns:1fr !important; gap:24px !important; padding:34px 18px 24px !important; }
  .ke-site-footer__bottom { align-items:flex-start !important; flex-direction:column !important; padding:17px 18px !important; }
  #ke-parts-finder { right:14px !important; bottom:max(14px,env(safe-area-inset-bottom)) !important; min-height:44px !important; }
  #ke-parts-finder-panel { right:14px !important; bottom:70px !important; width:calc(100vw - 28px) !important; max-height:calc(100vh - 96px); overflow-y:auto; }
}
@media (max-width:390px) {
  .ke-brand__name { max-width:112px; }
  .ke-login { font-size:11px !important; }
  .ke-login i { margin-right:3px !important; font-size:14px; }
  .ke-category-grid { grid-template-columns:1fr !important; }
  .ke-stats { grid-template-columns:1fr !important; }
  .ke-stat { border-right:0 !important; border-bottom:1px solid #dfe7f0 !important; }
  .ke-stat:last-child { border-bottom:0 !important; }
  .bom-container .bottom-actions { grid-template-columns:1fr; }
  .bom-container .bottom-actions .btn-primary-bom { grid-column:auto; }
}
/* v34 — same-origin public website assistant. Replaces the retired part finder. */
.ke-storefront-chat { position:fixed; z-index:99997; right:24px; bottom:22px; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.ke-storefront-chat__trigger { display:inline-flex; align-items:center; gap:9px; min-height:46px; padding:0 15px; border:1px solid #1f65ca; border-radius:8px; background:#1f65ca; box-shadow:0 7px 18px rgba(15,61,123,.22); color:#fff; font-size:12px; font-weight:800; cursor:pointer; transition:background .16s ease,transform .16s ease,box-shadow .16s ease; }
.ke-storefront-chat__trigger:hover { transform:translateY(-1px); border-color:#174f9f; background:#174f9f; box-shadow:0 9px 21px rgba(15,61,123,.25); }
.ke-storefront-chat__trigger:focus-visible,.ke-storefront-chat__close:focus-visible,.ke-storefront-chat__form input:focus-visible,.ke-storefront-chat__form button:focus-visible { outline:3px solid rgba(93,174,255,.68); outline-offset:3px; }
.ke-storefront-chat__trigger i { font-size:16px; }
.ke-storefront-chat__panel { position:absolute; right:0; bottom:58px; display:flex; width:min(382px,calc(100vw - 28px)); max-height:min(570px,calc(100vh - 94px)); flex-direction:column; overflow:hidden; border:1px solid #cedeed; border-radius:13px; background:#fff; box-shadow:0 18px 44px rgba(10,42,79,.22); opacity:0; pointer-events:none; transform:translateY(12px) scale(.98); transition:opacity .2s ease,transform .2s ease; }
.ke-storefront-chat.is-open .ke-storefront-chat__panel { opacity:1; pointer-events:auto; transform:translateY(0) scale(1); }
.ke-storefront-chat__head { display:flex; align-items:flex-start; justify-content:space-between; gap:13px; padding:18px 18px 15px; background:linear-gradient(120deg,#102b4f,#1c5b9d); color:#fff; }
.ke-storefront-chat__head p { margin:0 0 4px; color:#afd5ff; font-size:9px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.ke-storefront-chat__head h2 { margin:0; color:#fff; font-size:19px; font-weight:800; letter-spacing:-.035em; }
.ke-storefront-chat__close { display:grid; flex:none; width:30px; height:30px; padding:0; place-items:center; border:1px solid rgba(205,230,255,.32); border-radius:6px; background:rgba(255,255,255,.08); color:#fff; font-size:22px; line-height:1; cursor:pointer; }
.ke-storefront-chat__close:hover { background:rgba(255,255,255,.17); }
.ke-storefront-chat__context { display:flex; align-items:flex-start; gap:8px; padding:10px 16px; border-bottom:1px solid #e3ebf3; background:#f2f7fd; color:#58708b; font-size:10px; line-height:1.42; }
.ke-storefront-chat__context i { margin-top:1px; color:#1f65ca; }
.ke-storefront-chat__messages { min-height:178px; flex:1; padding:14px 15px; overflow-y:auto; background:#fbfdff; }
.ke-storefront-chat__message { max-width:92%; margin:0 0 9px; padding:10px 11px; border:1px solid #dbe6f1; border-radius:9px; color:#38516b; font-size:12px; line-height:1.52; white-space:pre-wrap; }
.ke-storefront-chat__message--assistant { border-top-left-radius:2px; background:#fff; }
.ke-storefront-chat__message--user { margin-left:auto; border-color:#cae0fb; border-top-right-radius:2px; background:#eaf4ff; color:#174f89; }
.ke-storefront-chat__sources { display:flex; flex-wrap:wrap; gap:6px; margin:-3px 0 11px; }
.ke-storefront-chat__sources a { display:inline-flex; align-items:center; min-height:27px; padding:0 8px; border:1px solid #cfe0f2; border-radius:5px; background:#fff; color:#155da9 !important; font-size:10px; font-weight:800; text-decoration:none; }
.ke-storefront-chat__sources a:hover { border-color:#a9c9ea; background:#f2f8ff; color:#0d4d95 !important; }
.ke-storefront-chat__form { display:flex; gap:7px; padding:11px 12px 9px; border-top:1px solid #e1eaf2; background:#fff; }
.ke-storefront-chat__form input { min-width:0; height:40px; flex:1; border:1px solid #c6d6e6 !important; border-radius:6px !important; padding:0 10px; background:#fff; color:#2e4965; font-size:12px; }
.ke-storefront-chat__form input:focus { border-color:#1f65ca !important; box-shadow:0 0 0 3px rgba(31,101,202,.12) !important; }
.ke-storefront-chat__form button { display:grid; width:40px; height:40px; flex:none; padding:0; place-items:center; border:1px solid #1f65ca; border-radius:6px; background:#1f65ca; color:#fff; cursor:pointer; }
.ke-storefront-chat__form button:hover { border-color:#174f9f; background:#174f9f; }
.ke-storefront-chat__form button[disabled] { border-color:#cbd7e3; background:#dbe4ed; color:#8393a4; cursor:wait; }
.ke-storefront-chat__note { margin:0; padding:0 14px 12px; color:#75869a; font-size:10px; line-height:1.4; }
.ke-storefront-chat.is-busy .ke-storefront-chat__panel { cursor:progress; }
@media (max-width:760px) { .ke-storefront-chat { right:14px; bottom:max(14px,env(safe-area-inset-bottom)); } .ke-storefront-chat__trigger { min-height:44px; padding:0 13px; } .ke-storefront-chat__panel { right:0; bottom:55px; width:calc(100vw - 28px); max-height:calc(100vh - 88px); } .ke-storefront-chat__head { padding:16px 16px 13px; } .ke-storefront-chat__messages { min-height:152px; } }
/* v35 — wide commerce workspace. */
.ke-commerce {
  max-width:1480px !important;
  margin-right:auto !important;
  margin-left:auto !important;
  color:#263a55 !important;
}

/* v40 image-assisted catalogue search and visual library */
.ke-image-search-tools{display:flex;align-items:center;gap:12px;margin:14px 0 0;flex-wrap:wrap}.ke-image-search-tools__toggle,.ke-image-search-tools__gallery{display:inline-flex;align-items:center;gap:8px;min-height:40px;border-radius:6px;font-size:13px;font-weight:700;text-decoration:none}.ke-image-search-tools__toggle{border:1px solid #b7c6d8;background:#fff;color:#163a63;padding:9px 13px}.ke-image-search-tools__toggle:hover,.ke-image-search-tools__toggle:focus{border-color:#2367a7;background:#edf5fc;color:#0d497e}.ke-image-search-tools__gallery{color:#1a5c99;padding:9px 4px}.ke-image-search-tools__gallery:hover,.ke-image-search-tools__gallery:focus{text-decoration:underline;color:#0d497e}.ke-image-search{margin:18px 0;padding:20px;border:1px solid #ccd8e5;border-radius:8px;background:#f7fafc;box-shadow:0 8px 24px rgba(21,55,91,.06)}.ke-image-search[hidden]{display:none}.ke-image-search__intro{display:flex;gap:14px;align-items:flex-start}.ke-image-search__icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 42px;border-radius:50%;background:#dcecf9;color:#155d9c;font-size:19px}.ke-image-search h2{margin:0 0 4px;font-size:18px;color:#162f4b}.ke-image-search__intro p{margin:0;color:#53687d;font-size:13px;line-height:1.55;max-width:760px}.ke-image-search__workbench{display:grid;grid-template-columns:minmax(190px,260px) minmax(120px,180px) minmax(0,1fr);gap:15px;align-items:center;margin:18px 0}.ke-image-search__file{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;min-height:112px;padding:18px;border:1px dashed #86a8c7;border-radius:7px;background:#fff;color:#164f84;text-align:center;font-size:13px;font-weight:700;cursor:pointer}.ke-image-search__file:hover,.ke-image-search__file:focus-within{border-color:#1467aa;background:#f1f8fe}.ke-image-search__file input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.ke-image-search__preview{position:relative;width:100%;height:112px;border:1px solid #cbd9e5;border-radius:7px;background:#fff;overflow:hidden}.ke-image-search__preview img{display:block;width:100%;height:100%;object-fit:contain}.ke-image-search__preview button{position:absolute;top:5px;right:5px;width:27px;height:27px;border:0;border-radius:50%;background:#173d65;color:#fff;font-size:20px;line-height:1;cursor:pointer}.ke-image-search__preview button:hover,.ke-image-search__preview button:focus{background:#0c2845}.ke-image-search__status{min-height:54px;padding:14px 15px;border-left:3px solid #7593ae;background:#fff;color:#486176;font-size:13px;line-height:1.45}.ke-image-search__status[data-state="busy"]{border-color:#2367a7;color:#174f81}.ke-image-search__status[data-state="success"]{border-color:#26805c;color:#176443}.ke-image-search__status[data-state="error"]{border-color:#b54545;color:#943434}.ke-image-search__query{padding-top:16px;border-top:1px solid #dce5ed}.ke-image-search__query label{display:block;margin:0 0 7px;color:#223b55;font-size:13px;font-weight:700}.ke-image-search__query>div{display:flex;gap:9px;max-width:650px}.ke-image-search__query input{flex:1;min-width:0;height:43px;padding:0 12px;border:1px solid #aebfd0;border-radius:5px;background:#fff;color:#1f354d}.ke-image-search__query input:focus{outline:2px solid rgba(25,102,168,.24);border-color:#1d6ead}.ke-image-search__query .ke-btn{white-space:nowrap}.ke-image-search__query .ke-btn:disabled{opacity:.55;cursor:not-allowed}.ke-image-search__query p{margin:10px 0 0;color:#64798d;font-size:12px;line-height:1.45}.ke-image-search__query p i{color:#40749d;margin-right:4px}.ke-image-library{padding:1px 0 10px}.ke-image-library__head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:2px 0 18px}.ke-image-library__head .ke-kicker{margin:0 0 3px}.ke-image-library__head h3{margin:0;color:#183955;font-size:20px;line-height:1.25}.ke-image-library__head>a{color:#155d9c;font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap}.ke-image-library__head>a:hover,.ke-image-library__head>a:focus{color:#0a416f;text-decoration:underline}.ke-image-library__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.ke-image-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid #d5e0e9;border-radius:7px;background:#fff;color:#223b55;text-decoration:none;box-shadow:0 2px 7px rgba(23,54,83,.04);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.ke-image-card:hover,.ke-image-card:focus{border-color:#5e91bb;color:#173f67;text-decoration:none;box-shadow:0 8px 20px rgba(23,67,105,.12);transform:translateY(-2px)}.ke-image-card__picture{display:flex;align-items:center;justify-content:center;height:162px;padding:12px;border-bottom:1px solid #e0e7ee;background:#fafcfd}.ke-image-card__picture img{display:block;max-width:100%;max-height:100%;object-fit:contain}.ke-image-card__body{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:6px;padding:13px}.ke-image-card__body strong{display:block;overflow:hidden;max-width:100%;color:#163a62;font-size:14px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.ke-image-card__body>span:not(.ke-source-chip),.ke-image-card__body small{display:block;overflow:hidden;max-width:100%;color:#61778b;font-size:12px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.ke-image-card__body small{margin-top:auto;color:#7a8e9f}.ke-image-card .ke-source-chip{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:1100px){.ke-image-library__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ke-image-search__workbench{grid-template-columns:minmax(190px,240px) minmax(120px,160px) minmax(0,1fr)}}
@media(max-width:760px){.ke-image-search{padding:16px}.ke-image-search__workbench{grid-template-columns:1fr}.ke-image-search__file,.ke-image-search__preview{min-height:120px;height:120px}.ke-image-search__query>div{flex-direction:column}.ke-image-search__query .ke-btn{width:100%}.ke-image-library__head{align-items:flex-start;flex-direction:column}.ke-image-library__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ke-image-card__picture{height:130px}.ke-image-card__body{padding:10px}.ke-image-card__body strong{font-size:13px}}
@media(max-width:420px){.ke-image-search-tools{align-items:stretch;flex-direction:column;gap:5px}.ke-image-search-tools__toggle,.ke-image-search-tools__gallery{justify-content:center}.ke-image-library__grid{grid-template-columns:1fr}.ke-image-card{flex-direction:row}.ke-image-card__picture{width:115px;height:115px;flex:0 0 115px;border-right:1px solid #e0e7ee;border-bottom:0}.ke-image-card__body{min-width:0}}
.ke-home-image-search{display:inline-flex;align-items:center;gap:7px;margin:11px 0 0;color:#d6e8f8;font-size:13px;font-weight:650;text-decoration:none}.ke-home-image-search:hover,.ke-home-image-search:focus{color:#fff;text-decoration:underline}.ke-home-image-search i{color:#7dc8ff}
