*{box-sizing:border-box} :root{--navy:#0b2148;--blue:#145da0;--sky:#dceeff;--ink:#1b2a3d;--muted:#617186;--line:#d9e4ef;--bg:#edf3f8}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 Arial,Helvetica,sans-serif}a{color:var(--blue)}.site-header{background:#0b2148;color:white;border-bottom:3px solid #61b8ed;padding:14px max(20px,calc((100% - 1180px)/2));display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:12px;color:white;text-decoration:none}.brand-mark{width:42px;height:42px;border-radius:9px;background:#1768a8;color:white;display:grid;place-items:center;font-weight:800}.brand strong{display:block;font-size:14px;letter-spacing:.5px}.brand small{display:block;font-size:9px;letter-spacing:1.8px;color:#b9ddf7}.site-header nav{display:flex;gap:17px;flex-wrap:wrap}.site-header nav a{color:#eaf5ff;text-decoration:none;font-size:12px}.hero{min-height:420px;background:linear-gradient(125deg,#071a3a,#0d3972 58%,#1776b8);color:#fff;display:flex;align-items:center}.hero-inner{max-width:1180px;width:100%;margin:auto;padding:70px 26px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:3px;color:#74c9f7}.hero h1{font-size:clamp(38px,6vw,70px);line-height:1.04;letter-spacing:-1.6px;margin:16px 0}.hero-tagline{font-size:19px;color:#dceeff}.hero-intro{max-width:660px;color:#e4f2ff}.hero-link{display:inline-block;margin-top:22px;border:1px solid #b9ddf7;border-radius:5px;padding:10px 15px;color:#fff;text-decoration:none;font-weight:bold}main{max-width:1180px;margin:auto;padding:30px 22px 60px}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:36px}.panel{background:white;border:1px solid var(--line);border-radius:12px;padding:23px;box-shadow:0 5px 18px #12325508}.panel h2{margin:0 0 12px;color:var(--navy)}.panel p{color:var(--muted)}.category-chips{display:flex;flex-wrap:wrap;gap:8px}.category-chips a{background:#eff7fd;border:1px solid #d5e8f8;padding:7px 11px;border-radius:30px;text-decoration:none;font-size:13px}.section-title{font-size:29px;color:var(--navy);margin:36px 0 14px}.category-heading{border-bottom:1px solid #cad9e8;margin:32px 0 15px}.category-heading h3{font-size:21px;color:var(--navy);margin:0 0 12px}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.product-card{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden;break-inside:avoid}.product-image{height:190px;background:#f4f8fc;display:flex;align-items:center;justify-content:center;padding:14px;border-bottom:1px solid #e4edf5}.product-image img{width:100%;height:100%;object-fit:contain}.product-image.placeholder{color:#91a4b7;font-size:11px;letter-spacing:1.5px}.product-body{padding:17px}.product-body h4{margin:0 0 8px;font-size:17px;color:var(--navy)}.product-summary{font-size:13px;color:var(--muted)}.spec-list{padding-left:18px;margin:12px 0 0}.spec-list li{padding:4px 0;border-bottom:1px solid #edf1f5;font-size:12px;overflow-wrap:anywhere}.closing{margin-top:55px;padding:50px 24px;text-align:center;border-radius:13px;background:linear-gradient(130deg,#071a3a,#0e4e8a);color:white}.closing h2{font-size:clamp(28px,4vw,44px);margin:8px 0}.closing p{color:#d9edff}.closing a{display:inline-block;color:white;border:1px solid #b4dfff;border-radius:5px;padding:10px 16px;text-decoration:none}.site-footer{max-width:1180px;margin:auto;padding:20px 22px 30px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#718197;font-size:12px}.site-footer a{color:#4b6480}.narrow{max-width:560px}.narrow-wide{max-width:850px}.admin-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:10px 0 24px}.admin-heading h1{margin:4px 0;color:var(--navy);font-size:32px}.admin-heading p{margin:0;color:var(--muted)}.button,button{display:inline-block;background:var(--blue);color:white;border:0;border-radius:6px;padding:10px 14px;font-size:13px;font-weight:700;text-decoration:none;cursor:pointer}.button.secondary{background:#e9f2fa;color:var(--navy);border:1px solid var(--line)}button.danger,.danger{background:#a93232;color:#fff}.small{padding:7px 10px;font-size:12px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:20px 0}.stat-card{background:white;border:1px solid var(--line);border-radius:10px;padding:20px}.stat-card span{display:block;color:var(--muted);font-size:13px}.stat-card strong{font-size:30px;color:var(--navy)}.admin-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.admin-card{display:block;background:white;border:1px solid var(--line);border-radius:10px;padding:22px;text-decoration:none}.admin-card strong{display:block;color:var(--navy);font-size:17px;margin-bottom:8px}.admin-card span{color:var(--muted);font-size:13px}.table-wrap{overflow:auto;background:white;border:1px solid var(--line);border-radius:10px}table{border-collapse:collapse;width:100%;min-width:700px}th,td{text-align:left;padding:12px;border-bottom:1px solid #e7edf3;font-size:13px}th{background:#f1f6fb;color:var(--navy)}.table-thumb{width:64px;height:48px;object-fit:contain;background:#f5f8fb;border-radius:4px}.no-thumb{color:var(--muted);font-size:11px}.actions{display:flex;align-items:center;gap:8px}.actions form{margin:0}.narrow form,.narrow-wide form{display:grid;gap:15px}label{display:grid;gap:6px;font-size:13px;font-weight:700;color:var(--navy)}input,textarea,select{font:inherit;font-size:14px;width:100%;padding:11px 12px;border:1px solid #cbd8e5;border-radius:6px;background:#fff;color:var(--ink)}textarea{resize:vertical}input:focus,textarea:focus,select:focus{outline:2px solid #9bd5f5;border-color:#3288c6}.check-label{display:flex;align-items:center;gap:9px}.check-label input{width:auto}.edit-preview{max-width:220px;max-height:180px;object-fit:contain;background:#f4f8fc;padding:8px;border-radius:6px}.error{background:#fff0f0;border:1px solid #f0caca;color:#8e2525;padding:12px;border-radius:6px}.success{background:#edf9f0;border:1px solid #c6e8ce;color:#176533;padding:12px;border-radius:6px}.muted{font-weight:400;color:var(--muted)}.inline-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.inline-form label{flex:1;min-width:170px}.category-admin{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}.category-admin form{margin:0}.category-admin .inline-form{flex:1}.site-footer{margin-top:15px}@media(max-width:800px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-cards{grid-template-columns:1fr}.intro-grid{grid-template-columns:1fr}.site-header{align-items:flex-start;flex-direction:column}.stats-grid{grid-template-columns:1fr 1fr}}@media(max-width:540px){.product-grid{grid-template-columns:1fr}.hero-inner{padding:52px 20px}.admin-heading{align-items:flex-start;flex-direction:column}.stats-grid{grid-template-columns:1fr}.category-admin{align-items:stretch;flex-direction:column}.inline-form{align-items:stretch;flex-direction:column}}@media print{@page{size:A4;margin:12mm}body{background:white;font-size:10pt;-webkit-print-color-adjust:exact;print-color-adjust:exact}.site-header nav,.admin-heading .button{display:none}.hero{min-height:250mm;break-after:page}.hero-inner{padding:30mm 12mm}main{padding:0;max-width:none}.intro-grid{grid-template-columns:1fr 1fr;break-inside:avoid}.product-grid{grid-template-columns:1fr 1fr;gap:8px}.product-card{box-shadow:none}.product-image{height:130px}.product-body{padding:10px}.spec-list li{font-size:8.5pt}.closing{break-before:page;min-height:240mm;display:flex;flex-direction:column;justify-content:center}.site-footer{padding:12px 0}}


/* Public profile print and PDF styles */
.profile-print-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
  max-width:1180px;
  margin:18px auto 0;
  padding:0 22px;
}
.profile-print-actions button{
  background:#145da0;
  color:#fff;
  border:0;
  border-radius:6px;
  padding:10px 15px;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
}
.profile-print-actions .print-secondary{background:#e9f2fa;color:#0b2148;border:1px solid #d9e4ef}
@media print{
  @page{size:A4 portrait;margin:12mm}
  html,body{background:#fff!important;color:#1b2a3d!important}
  body{font-size:10pt;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .site-header nav,.profile-print-actions,.admin-heading,.site-footer a{display:none!important}
  .site-header{padding:8px 0;background:#0b2148!important;break-inside:avoid}
  .brand{color:#fff!important}
  .hero{min-height:245mm;break-after:page;page-break-after:always}
  .hero-inner{padding:28mm 10mm}
  main{max-width:none!important;padding:0!important}
  .intro-grid{grid-template-columns:1fr 1fr;gap:8px;break-inside:avoid}
  .panel,.product-card{box-shadow:none!important;break-inside:avoid;page-break-inside:avoid}
  .category-heading{break-after:avoid;page-break-after:avoid}
  .product-grid{grid-template-columns:1fr 1fr;gap:8px}
  .product-image{height:125px}
  .product-body{padding:9px}
  .spec-list li{font-size:8.5pt}
  .closing{min-height:240mm;break-before:page;page-break-before:always;display:flex;flex-direction:column;justify-content:center}
  a{color:inherit;text-decoration:none}
}

/* Auto-fit company logo: same 54x54 slot as the header logo mark */
.brand-logo{
  width:54px;
  height:54px;
  min-width:54px;
  flex:0 0 54px;
  border-radius:9px;
  background:transparent;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  overflow:hidden;
}
.brand-logo img{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center;
  background:transparent;
}
/* Logo upload preview in Company Settings */
.logo-preview-wrap{padding:12px;background:#f4f8fc;border:1px solid #d9e4ef;border-radius:8px}
.logo-preview{display:block;width:240px;height:140px;max-width:100%;object-fit:contain;object-position:center;background:transparent;padding:0;border-radius:6px;margin:8px 0}

/* Company logo upload/preview */
.brand-logo{width:54px;height:54px;min-width:54px;border-radius:9px;background:#fff;display:flex;align-items:center;justify-content:center;padding:4px;overflow:hidden}
.brand-logo img{width:100%;height:100%;object-fit:contain;display:block}
.logo-preview-wrap{padding:12px;background:#f4f8fc;border:1px solid #d9e4ef;border-radius:8px}
.logo-preview{display:block;max-width:240px;max-height:140px;object-fit:contain;background:#fff;padding:8px;border-radius:6px;margin:8px 0}


/* Rich text formatting on public product cards */
.rich-content {
  overflow-wrap: anywhere;
  line-height: 1.6;
}
.rich-content p {
  margin: 0 0 8px;
}
.rich-content p:last-child {
  margin-bottom: 0;
}
.rich-content ul,
.rich-content ol {
  margin: 8px 0;
  padding-left: 22px;
}
.rich-content li {
  margin: 4px 0;
  padding: 0;
  border: 0;
  font-size: inherit;
  overflow-wrap: anywhere;
}
.rich-content strong,
.rich-content b {
  font-weight: 700;
}
.rich-content em,
.rich-content i {
  font-style: italic;
}
.rich-content u {
  text-decoration: underline;
}
.product-summary.rich-content {
  font-size: 13px;
  color: var(--muted);
}
.spec-list.rich-content {
  padding-left: 0;
  margin: 12px 0 0;
  font-size: 12px;
}
.spec-list.rich-content ul,
.spec-list.rich-content ol {
  padding-left: 20px;
}
@media print {
  .rich-content {
    break-inside: auto;
    page-break-inside: auto;
  }
  .rich-content li {
    font-size: inherit;
  }
}

/* Public rich-text rendering styles for advanced editor output */
.rich-content { line-height:1.65; overflow-wrap:anywhere; }
.rich-content p { margin:0 0 8px; }
.rich-content h2 { font-size:1.35em; font-weight:800; margin:12px 0 7px; }
.rich-content h3 { font-size:1.15em; font-weight:750; margin:10px 0 6px; }
.rich-content ul,.rich-content ol { padding-left:24px; margin:8px 0; }
.rich-content li { margin:4px 0; }
.rich-content blockquote { margin:10px 0; padding:8px 13px; border-left:3px solid #438cc2; background:#f3f7fb; }
.rich-content a { color:#1768a8; text-decoration:underline; }
.rich-content span { overflow-wrap:anywhere; }

