/* =========================================================
   KENDROS — "Provider Cards" design system
   Card-based knowledge platform
   ========================================================= */

:root{
  --navy-900:#0b1f3a;
  --navy-800:#12294f;
  --navy-700:#1a3766;
  --navy-600:#26478c;
  --magenta-600:#c8006e;
  --magenta-500:#e0187f;
  --magenta-100:#fce4f0;
  --ground:#f3f4f7;
  --card:#ffffff;
  --ink-900:#181d27;
  --ink-700:#3d4454;
  --ink-500:#6b7280;
  --ink-300:#c6cad3;
  --line:#e3e6ec;
  --success:#0f8a5f;
  --warn:#a15c00;
  --radius-lg:16px;
  --radius-md:12px;
  --radius-sm:8px;
  --shadow-card:0 1px 2px rgba(15,23,42,.06), 0 4px 14px rgba(15,23,42,.06);
  --shadow-card-hover:0 4px 10px rgba(15,23,42,.08), 0 10px 28px rgba(15,23,42,.10);
  --gutter:22px;
  --font: "Segoe UI", "Inter", -apple-system, BlinkMacSystemFont, Roboto, Helvetica, Arial, sans-serif;
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:var(--font);
  background:var(--ground);
  color:var(--ink-900);
  line-height:1.45;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--navy-600);text-decoration:none;}
a:hover{text-decoration:underline;}
img{max-width:100%;}

.container{
  max-width:1220px;
  margin:0 auto;
  padding:0 28px;
}

/* ---------------- Header / chrome ---------------- */
.site-header{
  background:var(--navy-900);
  color:#fff;
  border-bottom:3px solid var(--magenta-600);
}
.header-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 28px;
  max-width:1220px;
  margin:0 auto;
  gap:24px;
}
.brand{
  display:flex;
  align-items:center;
  gap:12px;
}
.brand-mark{display:flex;align-items:center;gap:2px;}
.brand-word{
  font-size:26px;
  font-weight:700;
  letter-spacing:-0.5px;
  color:#fff;
}
.brand-dot-svg{display:block;}
.brand-tagline{
  font-size:11.5px;
  color:#b7c2dd;
  letter-spacing:.4px;
  border-left:1px solid rgba(255,255,255,.25);
  padding-left:12px;
  margin-left:2px;
}
.header-actions{
  display:flex;
  align-items:center;
  gap:18px;
  font-size:13.5px;
}
.lang-toggle{
  display:flex;
  gap:6px;
  font-weight:600;
  color:#cfd8ec;
}
.lang-toggle span{cursor:default;padding:2px 5px;border-radius:5px;}
.lang-toggle span.active{background:rgba(255,255,255,.14);color:#fff;}
.account-actions a{
  color:#e7ebf5;
  font-weight:600;
  margin-left:14px;
}
.account-actions a:hover{color:#fff;}
.account-actions .user-pill{
  background:rgba(255,255,255,.1);
  padding:6px 12px;
  border-radius:20px;
  color:#fff;
  font-weight:600;
  margin-right:6px;
}

/* main nav = category tiles bar */
.nav-strip{
  background:var(--navy-800);
  overflow-x:auto;
}
.nav-strip-inner{
  display:flex;
  gap:2px;
  max-width:1220px;
  margin:0 auto;
  padding:0 20px;
}
.nav-strip a{
  display:block;
  white-space:nowrap;
  padding:12px 16px;
  font-size:13.5px;
  font-weight:600;
  color:#cfd8ec;
  border-bottom:3px solid transparent;
}
.nav-strip a:hover{color:#fff;text-decoration:none;background:rgba(255,255,255,.05);}
.nav-strip a.active{color:#fff;border-bottom-color:var(--magenta-500);background:rgba(255,255,255,.06);}

/* ---------------- Page shell ---------------- */
.page{
  padding:32px 0 60px;
}
.page-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:22px;
  flex-wrap:wrap;
}
.page-head h1{
  font-size:28px;
  margin:0 0 6px;
  letter-spacing:-0.3px;
}
.page-head p.lead{
  margin:0;
  color:var(--ink-500);
  font-size:14.5px;
  max-width:640px;
}
.breadcrumb{
  font-size:12.5px;
  color:var(--ink-500);
  margin-bottom:10px;
}
.breadcrumb a{color:var(--ink-500);}
.breadcrumb .sep{margin:0 6px;color:var(--ink-300);}

.layout-with-rationale{
  display:grid;
  grid-template-columns:1fr 300px;
  gap:28px;
  align-items:start;
}
@media (max-width:980px){
  .layout-with-rationale{grid-template-columns:1fr;}
}

/* ---------------- Rationale panel ---------------- */
.rationale-panel{
  background:linear-gradient(180deg,#12294f 0%, #0b1f3a 100%);
  color:#eef1f8;
  border-radius:var(--radius-lg);
  padding:20px 20px 18px;
  position:sticky;
  top:20px;
  box-shadow:var(--shadow-card);
}
.rationale-panel h3{
  margin:0 0 4px;
  font-size:12.5px;
  text-transform:uppercase;
  letter-spacing:1.1px;
  color:var(--magenta-500);
  display:flex;
  align-items:center;
  gap:8px;
}
.rationale-panel h3::before{
  content:"";
  width:7px;height:7px;border-radius:50%;
  background:var(--magenta-500);
  display:inline-block;
}
.rationale-panel p.sub{
  font-size:12px;color:#9fb0d1;margin:0 0 14px;
}
.rationale-panel ul{
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.rationale-panel li{
  font-size:13px;
  line-height:1.5;
  padding-left:18px;
  position:relative;
  color:#dde3f2;
}
.rationale-panel li::before{
  content:"›";
  position:absolute;left:0;top:0;
  color:var(--magenta-500);
  font-weight:700;
}
.rationale-panel li b{color:#fff;}

/* ---------------- Category tiles ---------------- */
.category-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:var(--gutter);
  margin-bottom:36px;
}
@media (max-width:900px){.category-grid{grid-template-columns:repeat(2,1fr);}}
.category-tile{
  background:var(--navy-900);
  background:linear-gradient(155deg,var(--navy-800),var(--navy-900));
  border-radius:var(--radius-md);
  padding:18px 16px;
  color:#fff;
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:96px;
  justify-content:space-between;
  transition:transform .15s ease, box-shadow .15s ease;
  box-shadow:var(--shadow-card);
}
.category-tile:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow-card-hover);
  text-decoration:none;
}
.category-tile .icon{font-size:20px;}
.category-tile .label{font-size:14px;font-weight:700;letter-spacing:-.1px;}
.category-tile .count{font-size:11.5px;color:#a9b8dc;}

.section-title-row{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  margin:34px 0 16px;
}
.section-title-row h2{font-size:19px;margin:0;}
.section-title-row a.view-all{font-size:13px;font-weight:600;}

/* ---------------- Provider Cards ---------------- */
.card-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:var(--gutter);
}
@media (max-width:980px){.card-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:680px){.card-grid{grid-template-columns:1fr;}}

.provider-card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:18px;
  display:flex;
  flex-direction:column;
  gap:12px;
  box-shadow:var(--shadow-card);
  transition:transform .14s ease, box-shadow .14s ease;
  min-height:270px;
}
.provider-card:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow-card-hover);
}
.provider-card-top{
  display:flex;
  align-items:flex-start;
  gap:12px;
}
.provider-logo{
  width:52px;height:52px;border-radius:12px;
  background:var(--navy-800);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:16px;flex:none;
  letter-spacing:-.5px;
}
.provider-heading{flex:1;min-width:0;}
.provider-name{
  font-size:16.5px;font-weight:700;color:var(--ink-900);
  margin:0 0 2px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.provider-type-row{
  display:flex;align-items:center;gap:6px;
  font-size:12px;color:var(--ink-500);
}
.type-icon{font-size:13px;}
.trust-badge{
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-size:11px;
  font-weight:700;
  padding:4px 9px;
  border-radius:20px;
  background:var(--magenta-100);
  color:var(--magenta-600);
  white-space:nowrap;
}
.trust-badge.unverified{
  background:#eef0f4;
  color:var(--ink-500);
  font-weight:600;
}
.trust-badge::before{content:"✓";font-size:10px;}
.trust-badge.unverified::before{content:"–";}

.provider-card-address{
  font-size:12.5px;
  color:var(--ink-700);
  margin:0;
}

.provider-tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:auto;
}
.tag{
  font-size:11px;
  font-weight:600;
  background:var(--ground);
  color:var(--ink-700);
  border:1px solid var(--line);
  padding:3px 9px;
  border-radius:20px;
}
.tag.more{color:var(--navy-600);background:#eef2fb;border-color:#dbe4f7;}

.provider-card-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-top:10px;
  border-top:1px solid var(--line);
}
.provider-card-footer .btn-link{
  font-size:12.5px;font-weight:700;color:var(--navy-600);
}

/* ---------------- Search / filter bar ---------------- */
.search-filter-bar{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:18px 20px;
  box-shadow:var(--shadow-card);
  margin-bottom:26px;
}
.search-row{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.search-field{
  display:flex;
  flex-direction:column;
  gap:5px;
  flex:1;
  min-width:150px;
}
.search-field label{
  font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-500);
}
.search-field input, .search-field select{
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  padding:10px 12px;
  font-size:13.5px;
  font-family:var(--font);
  background:#fbfbfd;
  color:var(--ink-900);
}
.search-field input:focus, .search-field select:focus{
  outline:none;border-color:var(--navy-600);background:#fff;
  box-shadow:0 0 0 3px rgba(38,71,140,.12);
}
.search-actions{display:flex;align-items:flex-end;}
.facet-row{
  display:flex;flex-wrap:wrap;gap:8px;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--line);
}
.facet-chip{
  border:1px solid var(--line);
  background:var(--ground);
  border-radius:20px;
  padding:6px 13px;
  font-size:12.5px;
  font-weight:600;
  color:var(--ink-700);
  cursor:default;
  display:inline-flex;align-items:center;gap:6px;
}
.facet-chip.active{
  background:var(--navy-800);
  color:#fff;
  border-color:var(--navy-800);
}
.facet-chip .count{color:var(--ink-500);font-weight:600;}
.facet-chip.active .count{color:#b7c2dd;}

/* ---------------- Buttons ---------------- */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-radius:var(--radius-sm);
  padding:10px 20px;
  font-size:13.5px;
  font-weight:700;
  border:1px solid transparent;
  cursor:pointer;
  font-family:var(--font);
}
.btn-primary{background:var(--magenta-600);color:#fff;}
.btn-primary:hover{background:#a5005c;text-decoration:none;}
.btn-navy{background:var(--navy-800);color:#fff;}
.btn-navy:hover{background:var(--navy-900);text-decoration:none;}
.btn-outline{background:#fff;border-color:var(--line);color:var(--ink-700);}
.btn-outline:hover{border-color:var(--navy-600);color:var(--navy-600);text-decoration:none;}
.btn-block{width:100%;}

/* ---------------- Login pages ---------------- */
.login-shell{
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
.login-main{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:50px 20px;
  background:
    radial-gradient(circle at 15% 20%, rgba(224,24,127,.10), transparent 45%),
    radial-gradient(circle at 85% 80%, rgba(38,71,140,.18), transparent 50%),
    var(--navy-900);
}
.login-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  max-width:920px;
  width:100%;
  background:var(--card);
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:0 20px 60px rgba(0,0,0,.35);
}
@media (max-width:760px){.login-grid{grid-template-columns:1fr;}}
.login-promo{
  background:linear-gradient(160deg,var(--navy-800),var(--navy-900));
  color:#e7ebf5;
  padding:40px 36px;
  display:flex;
  flex-direction:column;
  gap:18px;
  justify-content:center;
}
.login-promo .brand-word{font-size:24px;}
.login-promo p{font-size:13.5px;line-height:1.65;color:#c3cce4;margin:0;}
.login-form-side{
  padding:40px 40px;
  display:flex;
  flex-direction:column;
  gap:18px;
  justify-content:center;
}
.login-form-side h1{margin:0 0 4px;font-size:21px;}
.field{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.field label{font-size:12.5px;font-weight:700;color:var(--ink-700);}
.field input{
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  padding:11px 13px;
  font-size:14px;
  font-family:var(--font);
}
.field input:focus{outline:none;border-color:var(--navy-600);box-shadow:0 0 0 3px rgba(38,71,140,.12);}
.field.has-error input{border-color:var(--magenta-600);background:#fff5fa;}
.field-error-msg{font-size:12px;color:var(--magenta-600);font-weight:600;}
.alert-error{
  background:#fdeef5;
  border:1px solid #f6c3dd;
  color:#8a0049;
  padding:12px 14px;
  border-radius:var(--radius-sm);
  font-size:13px;
  font-weight:600;
  display:flex;
  gap:8px;
  align-items:flex-start;
}
.login-help{font-size:12px;color:var(--ink-500);line-height:1.6;}
.login-help a{font-weight:600;}

.user-select-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.user-select-item{
  display:flex;
  align-items:center;
  gap:12px;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  padding:14px 16px;
  background:#fff;
  transition:border-color .15s, box-shadow .15s;
}
.user-select-item:hover{
  border-color:var(--navy-600);
  box-shadow:0 4px 14px rgba(15,23,42,.08);
  text-decoration:none;
}
.user-avatar{
  width:38px;height:38px;border-radius:50%;
  background:var(--navy-700);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:13.5px;flex:none;
}
.user-select-item .name{font-weight:700;color:var(--ink-900);font-size:14.5px;}
.user-select-item .go{margin-left:auto;color:var(--ink-300);font-size:18px;}

/* ---------------- Tabs (provider profile) ---------------- */
.profile-header{
  display:flex;
  gap:20px;
  align-items:flex-start;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:24px;
  box-shadow:var(--shadow-card);
  margin-bottom:0;
}
.profile-logo{
  width:76px;height:76px;border-radius:16px;
  background:var(--navy-800);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:22px;flex:none;
}
.profile-header-main{flex:1;}
.profile-header-main h1{margin:0 0 6px;font-size:24px;}
.profile-meta-row{
  display:flex;flex-wrap:wrap;gap:10px;align-items:center;
  margin-bottom:10px;
}
.profile-tags{display:flex;flex-wrap:wrap;gap:6px;}

.tabs{
  display:flex;
  gap:2px;
  border-bottom:1px solid var(--line);
  margin:22px 0 0;
  overflow-x:auto;
}
.tab-btn{
  padding:12px 18px;
  font-size:13.5px;
  font-weight:700;
  color:var(--ink-500);
  border-bottom:3px solid transparent;
  white-space:nowrap;
  cursor:pointer;
  background:none;border:none;font-family:var(--font);
}
.tab-btn.active{color:var(--navy-800);border-bottom-color:var(--magenta-600);}
.tab-panel{display:none;padding:24px 2px;}
.tab-panel.active{display:block;}

.info-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
}
@media (max-width:700px){.info-grid{grid-template-columns:1fr;}}
.info-block{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  padding:16px 18px;
}
.info-block h4{
  margin:0 0 10px;font-size:12px;text-transform:uppercase;
  letter-spacing:.6px;color:var(--ink-500);
}
.info-block dl{margin:0;display:flex;flex-direction:column;gap:8px;}
.info-block dt{font-size:11.5px;color:var(--ink-500);font-weight:600;}
.info-block dd{margin:0 0 2px;font-size:13.5px;color:var(--ink-900);font-weight:600;}

.contact-service-list{display:flex;flex-direction:column;gap:12px;}
.contact-service-item{
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  padding:14px 16px;
  background:var(--card);
}
.contact-service-item .role{font-size:11.5px;font-weight:700;color:var(--magenta-600);text-transform:uppercase;letter-spacing:.4px;margin-bottom:4px;}
.contact-service-item .carriers{font-size:13.5px;color:var(--ink-900);}

table.offers-table{
  width:100%;
  border-collapse:collapse;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  overflow:hidden;
}
table.offers-table th{
  text-align:left;
  font-size:11.5px;
  text-transform:uppercase;
  letter-spacing:.5px;
  color:var(--ink-500);
  background:var(--ground);
  padding:11px 14px;
  border-bottom:1px solid var(--line);
}
table.offers-table td{
  padding:12px 14px;
  font-size:13.5px;
  border-bottom:1px solid var(--line);
  color:var(--ink-900);
}
table.offers-table tr:last-child td{border-bottom:none;}
table.offers-table td.filesize{color:var(--ink-500);font-size:12.5px;}

.destination-pill-grid{display:flex;flex-wrap:wrap;gap:8px;}
.dest-pill{
  background:var(--ground);
  border:1px solid var(--line);
  border-radius:20px;
  padding:6px 14px;
  font-size:12.5px;
  font-weight:600;
  color:var(--ink-700);
}

/* ---------------- Empty state ---------------- */
.empty-state{
  text-align:center;
  padding:70px 20px;
  background:var(--card);
  border:1px dashed var(--line);
  border-radius:var(--radius-lg);
}
.empty-state .icon-circle{
  width:64px;height:64px;border-radius:50%;
  background:var(--magenta-100);
  color:var(--magenta-600);
  display:flex;align-items:center;justify-content:center;
  font-size:26px;margin:0 auto 18px;
}
.empty-state h2{margin:0 0 8px;font-size:19px;}
.empty-state p{color:var(--ink-500);font-size:13.5px;max-width:440px;margin:0 auto 20px;}
.empty-suggestions{
  display:flex;gap:10px;justify-content:center;flex-wrap:wrap;
}

/* ---------------- Visa tables ---------------- */
.visa-form-card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:24px;
  box-shadow:var(--shadow-card);
  max-width:560px;
}
.dfae-note{
  font-size:12.5px;color:var(--ink-500);margin-bottom:16px;
  background:var(--ground);
  border-left:3px solid var(--navy-600);
  padding:10px 14px;border-radius:6px;
}
table.visa-table{
  width:100%;border-collapse:collapse;
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden;
}
table.visa-table th{
  text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-500);
  background:var(--ground);padding:12px 16px;border-bottom:1px solid var(--line);
}
table.visa-table td{padding:13px 16px;font-size:13.5px;border-bottom:1px solid var(--line);}
table.visa-table tr:last-child td{border-bottom:none;}

/* ---------------- Jobs ---------------- */
.job-card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  padding:18px 20px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  box-shadow:var(--shadow-card);
  margin-bottom:14px;
}
.job-card .job-title{font-size:15.5px;font-weight:700;margin:0 0 4px;}
.job-card .job-meta{font-size:12.5px;color:var(--ink-500);}
.job-card .job-tag{
  background:var(--magenta-100);color:var(--magenta-600);
  font-size:11px;font-weight:700;padding:4px 10px;border-radius:20px;
  margin-right:6px;
}
.newsletter-box{
  background:linear-gradient(160deg,var(--navy-800),var(--navy-900));
  color:#fff;border-radius:var(--radius-lg);
  padding:26px;display:flex;flex-direction:column;gap:12px;
  margin-top:10px;
}
.newsletter-box h3{margin:0;font-size:16px;}
.newsletter-box p{margin:0;color:#c3cce4;font-size:13px;}
.newsletter-form{display:flex;gap:10px;margin-top:6px;flex-wrap:wrap;}
.newsletter-form input{
  flex:1;min-width:200px;border:none;border-radius:var(--radius-sm);
  padding:11px 14px;font-size:13.5px;
}
.prose-block{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:22px 24px;box-shadow:var(--shadow-card);margin-bottom:24px;
}
.prose-block p{font-size:13.5px;color:var(--ink-700);line-height:1.7;}

/* ---------------- Footer ---------------- */
.site-footer{
  background:var(--navy-900);
  color:#8a97b8;
  padding:22px 0;
  font-size:12px;
  text-align:center;
  margin-top:40px;
}
.site-footer a{color:#b7c2dd;}

/* ---------------- Index / cover page ---------------- */
.cover-hero{
  background:linear-gradient(160deg,var(--navy-800),var(--navy-900));
  color:#fff;
  border-radius:var(--radius-lg);
  padding:48px 40px;
  margin-bottom:30px;
  position:relative;
  overflow:hidden;
}
.cover-hero::after{
  content:"";
  position:absolute;right:-60px;top:-60px;
  width:260px;height:260px;border-radius:50%;
  background:radial-gradient(circle, rgba(224,24,127,.35), transparent 70%);
}
.cover-kicker{
  font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--magenta-500);margin-bottom:10px;
}
.cover-hero h1{font-size:36px;margin:0 0 10px;letter-spacing:-.5px;}
.cover-hero p.tagline{font-size:16px;color:#c9d1e8;max-width:640px;margin:0;}

.spec-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
  margin-bottom:30px;
}
@media (max-width:760px){.spec-grid{grid-template-columns:1fr;}}
.spec-card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius-md);
  padding:18px 20px;box-shadow:var(--shadow-card);
}
.spec-card h4{
  margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--magenta-600);
}
.spec-card p, .spec-card li{font-size:13.5px;color:var(--ink-700);line-height:1.6;}
.spec-card ul{margin:0;padding-left:18px;}

.swot-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:30px;
}
@media (max-width:900px){.swot-grid{grid-template-columns:1fr;}}
.swot-card{border-radius:var(--radius-md);padding:18px 20px;}
.swot-card.strengths{background:#eafaf3;border:1px solid #bfe9d4;}
.swot-card.weaknesses{background:#fdf3e8;border:1px solid #f2d9b3;}
.swot-card.risks{background:#fdeef5;border:1px solid #f6c3dd;}
.swot-card h4{margin:0 0 10px;font-size:13px;}
.swot-card ul{margin:0;padding-left:18px;font-size:13px;color:var(--ink-700);}

.ratings-grid{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:22px 24px;box-shadow:var(--shadow-card);margin-bottom:30px;
}
.rating-row{
  display:flex;align-items:center;gap:14px;margin-bottom:12px;
}
.rating-row:last-child{margin-bottom:0;}
.rating-label{width:170px;font-size:13px;font-weight:600;flex:none;}
.rating-bar-track{flex:1;height:9px;background:var(--ground);border-radius:20px;overflow:hidden;}
.rating-bar-fill{height:100%;background:linear-gradient(90deg,var(--navy-600),var(--magenta-500));border-radius:20px;}
.rating-value{width:34px;text-align:right;font-size:12.5px;color:var(--ink-500);font-weight:700;}
.risk-chip{
  display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:700;
  background:#fdf3e8;color:var(--warn);
}

.screen-links-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:14px;
}
@media (max-width:760px){.screen-links-grid{grid-template-columns:1fr;}}
.screen-link-card{
  display:flex;gap:12px;align-items:flex-start;
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius-md);
  padding:14px 16px;box-shadow:var(--shadow-card);
}
.screen-link-card:hover{border-color:var(--navy-600);text-decoration:none;box-shadow:var(--shadow-card-hover);}
.screen-link-card .num{
  width:26px;height:26px;border-radius:50%;background:var(--navy-800);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:700;flex:none;
}
.screen-link-card .file{font-weight:700;font-size:13.5px;color:var(--ink-900);margin-bottom:2px;}
.screen-link-card .desc{font-size:12.5px;color:var(--ink-500);}

/* Reviewer toolbar — shared across all 10 prototypes, do not restyle per-proposal */
.kx-reviewer-bar{position:sticky;top:0;z-index:9999;display:flex;align-items:center;gap:10px;background:#1a1b1e;color:#e8e8ea;font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-size:12.5px;padding:8px 16px;border-bottom:1px solid #000;flex-wrap:wrap;}
.kx-reviewer-bar a{color:#e8e8ea;text-decoration:none;padding:4px 8px;border-radius:4px;}
.kx-reviewer-bar a:hover{background:#33343a;}
.kx-reviewer-bar select{background:#2a2b30;color:#e8e8ea;border:1px solid #45464c;border-radius:4px;padding:4px 8px;font-size:12.5px;}
.kx-rb-sep{color:#55565c;}
.kx-rb-name{font-weight:700;letter-spacing:.02em;white-space:nowrap;}
.kx-rb-count{color:#9a9ba1;margin-left:auto;padding:4px 4px;white-space:nowrap;}
@media(max-width:800px){.kx-reviewer-bar{font-size:11.5px}}
