/* BrasilBid v15.5 premium interface system */
:root{
  --bb-canvas:#f5f5f7;
  --bb-surface:#ffffff;
  --bb-surface-soft:#fbfbfd;
  --bb-ink:#1d1d1f;
  --bb-ink-soft:#424245;
  --bb-muted:#6e6e73;
  --bb-line:rgba(29,29,31,.10);
  --bb-line-strong:rgba(29,29,31,.16);
  --bb-accent:#39728f;
  --bb-accent-dark:#28566f;
  --bb-accent-soft:#edf4f7;
  --bb-success:#2f7356;
  --bb-warning:#8a651f;
  --bb-danger:#a94751;
  --bb-radius-xl:30px;
  --bb-radius-lg:24px;
  --bb-radius-md:16px;
  --bb-radius-sm:12px;
  --bb-shadow-soft:0 1px 2px rgba(0,0,0,.03),0 14px 42px rgba(0,0,0,.055);
  --bb-shadow-float:0 24px 70px rgba(0,0,0,.13);
  --bb-ease:cubic-bezier(.2,.8,.2,1);
}

html{
  min-width:320px;
  color-scheme:light;
  scroll-behavior:smooth;
}

body.app-shell{
  min-height:100vh;
  margin:0;
  overflow-x:hidden;
  background:var(--bb-canvas);
  color:var(--bb-ink);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"SF Pro Text",
    "Segoe UI","PingFang SC","Noto Sans SC",Arial,sans-serif;
  font-size:15px;
  line-height:1.65;
  letter-spacing:0;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

body.app-shell *,body.app-shell *::before,body.app-shell *::after{
  letter-spacing:0;
}

a{
  color:var(--bb-accent);
  transition:color .22s var(--bb-ease),background-color .22s var(--bb-ease),
    box-shadow .22s var(--bb-ease),transform .22s var(--bb-ease),
    opacity .22s var(--bb-ease);
}

h1,h2,h3,h4{
  color:var(--bb-ink);
  font-weight:700;
  line-height:1.16;
  letter-spacing:0;
}

p{line-height:1.7}

/* Glass navigation */
.topbar{
  position:sticky;
  top:0;
  z-index:80;
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;
  min-height:60px;
  height:auto;
  padding:8px clamp(18px,3vw,46px);
  border:0;
  border-bottom:1px solid rgba(29,29,31,.08);
  background:rgba(250,250,252,.82);
  color:var(--bb-ink);
  box-shadow:0 1px 0 rgba(255,255,255,.72);
  -webkit-backdrop-filter:saturate(150%) blur(24px);
  backdrop-filter:saturate(150%) blur(24px);
}

.brand{
  display:inline-flex;
  align-items:center;
  gap:9px;
  flex:none;
  max-width:250px;
  color:var(--bb-ink)!important;
  font-size:15px;
  font-weight:700;
}

.topbar .brand>span{color:var(--bb-ink)!important}
.brand-logo{width:30px;height:30px;filter:none}

.main-navigation{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:2px!important;
  flex:1;
  min-width:0;
  padding-left:4px;
  overflow-x:auto;
  scrollbar-width:none;
}
.main-navigation::-webkit-scrollbar{display:none}
.mobile-membership-link{display:none!important}

.topbar .main-navigation a,
.topbar .main-navigation a:visited{
  display:inline-flex;
  align-items:center;
  flex:none;
  min-height:36px;
  padding:7px 9px;
  border-radius:10px;
  color:#4b4b4f!important;
  font-size:12px;
  font-weight:580;
  white-space:nowrap;
}
.topbar .main-navigation a:hover,
.topbar .main-navigation a:visited:hover{
  color:var(--bb-ink)!important;
  background:rgba(29,29,31,.055);
}

.membership-spotlight{
  display:inline-flex;
  align-items:center;
  gap:6px;
  flex:none;
  min-height:34px;
  padding:6px 11px;
  border:0;
  border-radius:999px;
  background:var(--bb-accent-soft);
  color:var(--bb-accent-dark)!important;
  box-shadow:none;
  font-size:12px;
  font-weight:700;
}
.membership-spotlight span{color:var(--bb-accent-dark)!important}
.membership-spotlight:hover{background:#e1edf2;transform:translateY(-1px)}
.membership-spotlight-icon{font-size:11px}

.userbox{
  display:flex;
  align-items:center;
  flex:none;
  gap:8px;
  color:var(--bb-muted);
  font-size:12px;
  white-space:nowrap;
}
.userbox .badge,.guest-label{
  padding:5px 9px;
  border:0;
  border-radius:999px;
  background:#ececef;
  color:var(--bb-ink-soft);
}
.linkbtn{min-height:30px;padding:5px 7px;background:transparent;color:var(--bb-muted)}
.linkbtn:hover{color:var(--bb-ink)}

.mobile-nav-toggle{
  display:none;
  border:0;
  border-radius:12px;
  background:#ececef;
  box-shadow:none;
}
.mobile-nav-toggle span{background:var(--bb-ink)}
.mobile-nav-toggle small{color:var(--bb-muted)}

/* Layout and hierarchy */
.container{
  width:min(1460px,calc(100% - 64px));
  margin:44px auto 104px;
}
.container.narrow,.narrow{width:min(960px,calc(100% - 64px))}

.eyebrow{
  display:block;
  color:var(--bb-accent);
  font-size:11px;
  font-weight:760;
  letter-spacing:0;
  text-transform:uppercase;
}

.hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) 280px;
  gap:0;
  margin-bottom:28px;
  overflow:hidden;
  border:0;
  border-radius:var(--bb-radius-xl);
  background:#1d1d1f;
  color:#fff;
  box-shadow:var(--bb-shadow-soft);
}
.hero>div:first-child{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:clamp(36px,5vw,68px);
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.hero h1{
  max-width:1000px;
  margin:10px 0 16px;
  color:#fff;
  font-size:clamp(36px,4.5vw,64px);
  font-weight:720;
  line-height:1.08;
}
.hero p{
  max-width:820px;
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:clamp(16px,1.7vw,21px);
  line-height:1.55;
}
.hero .eyebrow{color:#9fc5d7}
.hero>.member{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  margin:0;
  padding:34px;
  border:0;
  border-left:1px solid rgba(255,255,255,.12);
  border-radius:0;
  background:#28282b;
  color:#fff;
  box-shadow:none;
}
.hero>.member span,.hero>.member small{color:rgba(255,255,255,.64)}
.hero>.member strong{margin:8px 0;color:#fff;font-size:30px;line-height:1.1}

.panel,
.stats article,
.admin-entry-card,
.data-source-card,
.subscription-card,
.industry-admin-card,
.premium-plan-card,
.account-overview-card,
.account-settings-shell{
  border:0;
  background:var(--bb-surface);
  box-shadow:var(--bb-shadow-soft);
}

.panel{
  margin-bottom:28px;
  padding:clamp(24px,3vw,42px);
  border-radius:var(--bb-radius-lg);
}
.panelhead{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  margin-bottom:24px;
}
.panelhead>div{min-width:0}
.panelhead h1,.panelhead h2,.panelhead h3,.panelhead h4{margin:5px 0}
.panelhead h2{font-size:clamp(24px,2.4vw,34px)}
.panelhead p{margin:8px 0 0;color:var(--bb-muted)}

.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:28px}
.stats article{min-width:0;padding:24px;border-radius:20px}
.stats span,.progressgrid span{display:block;margin-bottom:8px;color:var(--bb-muted);font-size:13px}
.stats strong{color:var(--bb-ink);font-size:clamp(24px,2.5vw,34px);line-height:1.12}

.admin-entry-grid,.data-source-grid{gap:16px;margin:0 0 28px}
.admin-entry-card,.data-source-card{
  padding:26px;
  border-radius:20px;
  color:var(--bb-ink);
  transition:transform .24s var(--bb-ease),box-shadow .24s var(--bb-ease),background .24s var(--bb-ease);
}
.admin-entry-card:hover,.data-source-card:hover{
  border-color:transparent;
  background:var(--bb-surface-soft);
  box-shadow:0 18px 48px rgba(0,0,0,.085);
  transform:translateY(-3px);
}
.admin-entry-card.active{border:0;background:#1d1d1f;color:#fff;box-shadow:var(--bb-shadow-soft)}
.admin-entry-card.active strong{color:#fff}
.admin-entry-card.active small{color:rgba(255,255,255,.68)}
.admin-entry-card.active .eyebrow{color:#9fc5d7}

/* Forms and controls */
.grid,.filters{gap:18px;align-items:end}
.filters{
  padding:20px;
  border:0;
  border-radius:20px;
  background:var(--bb-canvas);
}
.grid label,.filters label,.stack label,.member-search-grid label,
.account-compact-form>label{
  gap:8px;
  color:var(--bb-ink-soft);
  font-size:13px;
  font-weight:650;
}
label small,.field-help{color:var(--bb-muted);font-size:12px;line-height:1.5}

input,select,textarea{
  width:100%;
  min-height:50px;
  padding:12px 14px;
  border:1px solid var(--bb-line-strong);
  border-radius:var(--bb-radius-sm);
  background:#fff;
  color:var(--bb-ink);
  font:inherit;
  box-shadow:0 1px 0 rgba(0,0,0,.02);
  outline:0;
  transition:border-color .2s var(--bb-ease),box-shadow .2s var(--bb-ease),background .2s var(--bb-ease);
}
textarea{min-height:112px;resize:vertical}
input::placeholder,textarea::placeholder{color:#a2a2a7}
input:hover,select:hover,textarea:hover{border-color:rgba(29,29,31,.24)}
input:focus,select:focus,textarea:focus{
  border-color:var(--bb-accent);
  box-shadow:0 0 0 4px rgba(57,114,143,.13);
}
input:disabled,select:disabled,textarea:disabled{background:#f0f0f2;color:#85858a;cursor:not-allowed}

.check{gap:9px!important;color:var(--bb-ink-soft)}
.check input[type="checkbox"],.check input[type="radio"],
.checks input[type="checkbox"],.modalities input[type="checkbox"]{
  width:18px!important;
  min-width:18px!important;
  height:18px!important;
  min-height:18px!important;
  padding:0;
  accent-color:var(--bb-accent);
}

.buttons,.checks{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:20px 0}
.primary,.secondary,.warn,.danger,.ghost,.buttonlink,button{
  min-height:44px;
  padding:10px 18px;
  border:0;
  border-radius:12px;
  font:inherit;
  font-weight:700;
  cursor:pointer;
  transition:transform .2s var(--bb-ease),box-shadow .2s var(--bb-ease),
    background-color .2s var(--bb-ease),color .2s var(--bb-ease),opacity .2s var(--bb-ease);
}
.primary{background:var(--bb-accent);color:#fff;box-shadow:0 8px 20px rgba(57,114,143,.18)}
.primary:hover{background:var(--bb-accent-dark);color:#fff;transform:translateY(-1px);box-shadow:0 12px 26px rgba(57,114,143,.23)}
.secondary,.ghost{background:#ececef;color:#3f3f43}
.secondary:hover,.ghost:hover{background:#e2e2e6;color:var(--bb-ink);transform:translateY(-1px)}
.warn{background:#f8f2e5;color:var(--bb-warning)}
.warn:hover{background:#f3e8d0;transform:translateY(-1px)}
.danger{background:#f8eaec;color:var(--bb-danger)}
.danger:hover{background:#f3dde0;transform:translateY(-1px)}
button:disabled,.primary:disabled,.secondary:disabled{opacity:.42;cursor:not-allowed;transform:none;box-shadow:none}
.compact{min-height:36px;padding:7px 12px}

.state,.badge,.vigency-badge,.promotion-badge,.recommended-badge{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 10px;
  border:0;
  border-radius:999px;
  background:#ececef;
  color:#55555a;
  font-size:12px;
  font-weight:700;
}

.message,.notice,.performance-note,.role-separation-note{
  margin:18px 0;
  padding:15px 17px;
  border:0;
  border-radius:14px;
  background:var(--bb-accent-soft);
  color:#365568;
  font-size:13px;
  line-height:1.6;
}
.message.success{border:0;background:#eaf4ef;color:var(--bb-success)}
.message.error{border:0;background:#f9ebed;color:var(--bb-danger)}
.message.working,.warn.message{border:0;background:#faf3e4;color:var(--bb-warning)}

details{
  margin:16px 0;
  overflow:hidden;
  border:0;
  border-radius:16px;
  background:var(--bb-surface-soft);
}
details>summary{
  min-height:50px;
  padding:14px 17px;
  color:var(--bb-ink-soft);
  font-weight:700;
  cursor:pointer;
}
details[open]>summary{border-bottom:1px solid var(--bb-line)}
details>.modalities,details>.notice,details>p{margin:16px}

/* Tables */
.tablewrap{
  margin-top:20px;
  overflow:auto;
  border:0;
  border-radius:18px;
  background:#fff;
  box-shadow:inset 0 0 0 1px var(--bb-line);
}
table{width:100%;border-collapse:separate;border-spacing:0;min-width:1080px}
th,td{
  padding:15px 16px;
  border:0;
  border-bottom:1px solid var(--bb-line);
  color:var(--bb-ink-soft);
  text-align:left;
  vertical-align:top;
  font-size:13px;
  line-height:1.55;
}
table thead th{
  position:sticky;
  top:0;
  z-index:2;
  background:#f5f5f7;
  color:#515156;
  font-size:12px;
  font-weight:720;
}
tbody tr:last-child td{border-bottom:0}
tbody tr{transition:background-color .18s var(--bb-ease)}
tbody tr:hover{background:#fafafa}
.clickable-result:hover,.clickable-row:hover{background:#f4f7f8!important;transform:none}

.pager,.pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px;
  margin-top:22px;
}
.pager button,.pagination a,.pagination span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:40px;
  min-height:40px;
  padding:8px 12px;
  border:0;
  border-radius:11px;
  background:#ececef;
  color:var(--bb-ink-soft);
}

.progressgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.progressgrid article{
  min-width:0;
  padding:18px;
  border:0;
  border-radius:16px;
  background:#f5f5f7;
}
.progressgrid strong{display:block;color:var(--bb-ink);font-size:16px;overflow-wrap:anywhere}
.track{height:8px;border-radius:999px;background:#e4e4e8}
.bar{height:100%;border-radius:999px;background:var(--bb-accent)}

/* Member search: the working surface comes before discovery content. */
.member-only-page{display:flex;max-width:1460px;flex-direction:column}
.member-only-page .member-hero{order:1}
.member-only-page .search-panel{order:2}
.member-only-page .protected-results{order:3}
.member-only-page .member-data-launcher{order:4}

.member-hero{min-height:200px;grid-template-columns:minmax(0,1fr) 250px}
.member-hero h1{font-size:clamp(36px,4vw,58px)}
.search-panel{padding:clamp(26px,3vw,44px)}
.advanced-search-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.advanced-search-grid .keyword-field{grid-column:span 2}
.search-panel>.buttons{margin-bottom:0}
.search-panel>.buttons .primary{min-width:150px}
.member-date-range-hint{align-self:center;color:var(--bb-muted);font-size:12px;line-height:1.5}
.fuzzy-search-check{
  display:grid!important;
  grid-template-columns:18px minmax(0,1fr);
  grid-template-areas:"input title" ". hint";
  align-content:center;
  align-items:center!important;
  min-height:50px;
  column-gap:10px;
  row-gap:2px;
}
.fuzzy-search-check input{grid-area:input;margin:0}
.fuzzy-search-title{grid-area:title;font-weight:700}
.fuzzy-search-check small{grid-area:hint}

.member-data-launcher{
  margin:36px 0 0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--bb-ink);
  box-shadow:none;
}
.launcher-copy{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:36px;
  max-width:none;
  margin:0 0 24px;
}
.launcher-copy h2{margin:7px 0 0;color:var(--bb-ink);font-size:clamp(28px,3vw,42px)}
.launcher-copy p{max-width:560px;margin:0;color:var(--bb-muted);text-align:left}
.member-data-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.member-data-card,.member-data-card.contract,.member-data-card.edital,.member-data-card.ata{
  position:relative;
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  grid-template-rows:auto 1fr auto;
  gap:14px;
  min-height:230px;
  padding:28px;
  overflow:hidden;
  border:0;
  border-radius:var(--bb-radius-lg);
  background:#fff;
  color:var(--bb-ink);
  box-shadow:var(--bb-shadow-soft);
}
.member-data-card.intelligence-featured,
.member-data-card.edital.intelligence-featured{
  grid-column:span 2;
  border-color:transparent;
  background:#1d1d1f;
  color:#fff;
  box-shadow:0 18px 48px rgba(0,0,0,.16);
}
.member-data-card.ata{grid-column:span 2}
.member-data-card::after{display:none}
.member-data-card:hover{border:0;background:#fff;box-shadow:0 24px 58px rgba(0,0,0,.10);transform:translateY(-4px)}
.member-data-card.intelligence-featured:hover,
.member-data-card.edital.intelligence-featured:hover{
  border-color:transparent;
  background:#2b2b2e;
  box-shadow:0 24px 58px rgba(0,0,0,.22);
}
.member-data-card .data-card-icon{
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  border:0;
  border-radius:16px;
  background:var(--bb-accent-soft);
  color:var(--bb-accent-dark);
  font-size:17px;
  font-weight:760;
}
.member-data-card.intelligence-featured .data-card-icon,
.member-data-card.edital.intelligence-featured .data-card-icon{
  border-color:rgba(255,255,255,.08);
  background:rgba(255,255,255,.12);
  color:#fff;
  box-shadow:none;
}
.member-data-card>div{min-width:0}
.member-data-card small{color:var(--bb-accent);font-size:11px;font-weight:700}
.member-data-card strong{display:block;margin:8px 0;color:var(--bb-ink);font-size:22px;line-height:1.25}
.member-data-card p{margin:0;color:var(--bb-muted);font-size:14px;line-height:1.65}
.member-data-card b{grid-column:2;align-self:end;color:var(--bb-accent);font-size:13px}
.member-data-card.intelligence-featured small,
.member-data-card.intelligence-featured p,
.member-data-card.intelligence-featured b,
.member-data-card.edital.intelligence-featured small,
.member-data-card.edital.intelligence-featured p,
.member-data-card.edital.intelligence-featured b{color:rgba(255,255,255,.72)}
.member-data-card.intelligence-featured strong,
.member-data-card.edital.intelligence-featured strong{color:#fff}
.feature-new-badge{top:22px;right:22px;border:0;border-radius:999px;background:#fff;color:#1d1d1f;box-shadow:none}

/* Authentication */
.auth.auth-branded{
  min-height:calc(100svh - 60px);
  padding:clamp(28px,6vw,80px) 20px;
  background-color:#0d1e2e;
  background-image:url('/static/assets/brasilbid-login-bg.jpg');
  background-position:center;
  background-size:cover;
}
.auth.auth-branded::before{display:none}
.authcard{
  width:min(520px,100%);
  padding:clamp(30px,5vw,50px);
  border:0;
  border-radius:var(--bb-radius-xl);
  background:rgba(255,255,255,.96);
  box-shadow:var(--bb-shadow-float);
  -webkit-backdrop-filter:blur(20px);
  backdrop-filter:blur(20px);
  color:var(--bb-ink);
}
.authcard h1{margin:28px 0 10px;color:var(--bb-ink);font-size:clamp(32px,4vw,46px)}
.authcard>p,.authcard .hint,.auth-footer-links{color:#5f6470}
.authcard label,.authcard legend{color:var(--bb-ink-soft)}
.authcard input,.authcard select,.authcard textarea{
  border-color:#c8cbd1;
  background:#fff;
  color:var(--bb-ink);
}
.authcard input::placeholder,.authcard textarea::placeholder{color:#777d88;opacity:1}
.authcard [hidden]{display:none!important}
.registration-verification-panel [hidden]{display:none!important}
.registration-method-switch{display:grid;grid-template-columns:1fr 1fr;border:1px solid #b9cdda;border-radius:10px;overflow:hidden}
.registration-method-option{border-radius:0;background:#f3f7fa;color:#27465c;padding:10px 6px;font-size:14px;line-height:1.3}
.registration-method-option+ .registration-method-option{border-left:1px solid #b9cdda}
.registration-method-option.active{background:#27698d;color:#fff}
.registration-form #authCodeStatus:empty{display:none}
.auth-brand-lockup{border-bottom:1px solid var(--bb-line)}
.auth-brand-lockup img{border-radius:14px}
.authcard .stack{gap:18px;margin-top:26px}
.authcard .primary{width:100%;min-height:50px}
.verification-row{gap:10px}
.verification-button{white-space:nowrap}
.registration-contact-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.registration-phone-field{display:flex;min-width:0;min-height:50px;overflow:hidden;border:1px solid #c8cbd1;border-radius:var(--bb-radius-sm);background:#fff;transition:border-color .2s var(--bb-ease),box-shadow .2s var(--bb-ease)}
.registration-phone-field:focus-within{border-color:var(--bb-accent);box-shadow:0 0 0 4px rgba(57,114,143,.13)}
.registration-phone-prefix{display:flex;align-items:center;flex:none;padding:0 14px;border-right:1px solid #c8cbd1;background:#eef3f7;color:#27465c;font-weight:750;white-space:nowrap}
.authcard .registration-phone-field input,.authcard .registration-phone-field input:focus{flex:1;min-width:0;width:100%;border:0;border-radius:0;box-shadow:none}
.auth-footer-links{margin-top:24px}

/* Account, subscriptions, plans and administration */
.account-overview-card{
  padding:30px;
  border-radius:var(--bb-radius-lg);
  background:#fff;
}
.account-avatar{border-radius:20px;background:#1d1d1f;box-shadow:none}
.account-plan-pill{border:0;border-radius:16px;background:var(--bb-canvas)}
.account-plan-remaining{display:block;color:var(--bb-accent);font-size:.82rem;font-weight:750;white-space:nowrap}
.account-nav-link{display:inline-flex!important;align-items:center;gap:6px}
.nav-plan-days{display:inline-flex;align-items:center;border-radius:999px;background:#e7f4fa;color:#17627d;padding:3px 7px;font-size:.72rem;font-weight:750;white-space:nowrap}
.account-settings-shell{border-radius:var(--bb-radius-lg)}
.account-settings-tabs{border:0;border-right:1px solid var(--bb-line);background:#f5f5f7}
.account-settings-tabs button{border-radius:12px;color:var(--bb-muted)}
.account-settings-tabs button.active{background:#1d1d1f;color:#fff;box-shadow:none}
.account-settings-tabs button span{border:0;background:#fff;color:var(--bb-accent)}
.account-settings-content{padding:clamp(28px,4vw,52px)}
.membership-summary-card{border:0;border-radius:20px;background:#f5f5f7}
.membership-entitlement-grid article{border:0;border-radius:14px;background:#fff}

.premium-pricing-grid,.pricing-grid{gap:18px}
.premium-plan-card{padding:30px;border-radius:var(--bb-radius-lg)}
.premium-plan-card.featured{border:0;background:#1d1d1f;color:#fff;box-shadow:var(--bb-shadow-float)}
.premium-plan-card.featured h2,.premium-plan-card.featured .premium-price,
.premium-plan-card.featured strong{color:#fff}
.premium-plan-card.featured p,.premium-plan-card.featured li{color:rgba(255,255,255,.70)}
.premium-plan-card.featured .plan-tier{color:#8ad8ef}
.premium-plan-card.featured .plan-card-head{border-bottom-color:rgba(255,255,255,.14)}
.premium-plan-card.featured .plan-scenario,
.premium-plan-card.featured .price-caption,
.premium-plan-card.featured .payment-security,
.premium-plan-card.featured .original-price{color:#c7c7cc!important}
.premium-plan-card.featured .membership-custom-benefits{
  border-color:rgba(255,255,255,.12);
  background:#2a2a2d;
}
.premium-plan-card.featured .membership-custom-benefits .benefit-item{
  border-bottom-color:rgba(255,255,255,.10);
}
.premium-plan-card.featured .membership-custom-benefits strong{color:#f5f5f7}
.premium-plan-card.featured .membership-custom-benefits p,
.premium-plan-card.featured .membership-custom-benefits .empty-note{color:#d1d1d6!important}
.plan-feature-list li{border:0;border-radius:12px;background:#f5f5f7}
.premium-plan-card.featured .plan-feature-list li{background:rgba(255,255,255,.08)}
.plan-payment-button{border-radius:12px;background:var(--bb-accent);box-shadow:none}

.profile-form-modern{padding:clamp(26px,4vw,46px)}
.profile-form-heading{border-bottom:1px solid var(--bb-line)}
.optional-profile{border:0;border-radius:16px;background:#f5f5f7}
.product-tag-editor{border:1px solid var(--bb-line-strong);border-radius:16px}
.product-tag{border:0;background:var(--bb-accent-soft);color:var(--bb-accent-dark)}

.feature-toggle-card,.product-config-card,.payment-mode-card,
.invoice-choice-card,.email-channel-section{
  border:0!important;
  border-radius:20px!important;
  background:#f5f5f7!important;
  box-shadow:none!important;
}

.catalog-ai-panel{
  padding:24px;
  border:0;
  border-radius:20px;
  background:#f5f5f7;
}
.catalog-ai-result{border-radius:18px;background:#1d1d1f;color:#f5f5f7}

/* Dialogs and notifications */
.modal{
  padding:24px;
  background:rgba(20,20,22,.48);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
}
.modalcard{
  width:min(1320px,96vw);
  max-height:92svh;
  padding:clamp(24px,3vw,42px);
  border:0;
  border-radius:var(--bb-radius-xl);
  background:#fff;
  box-shadow:var(--bb-shadow-float);
}
.modal-close{width:40px;height:40px;padding:0;border-radius:50%;background:#ececef;color:var(--bb-ink)}
.guest-login-card,.upgrade-modal-card,.onboarding-welcome-card{width:min(680px,94vw)}
.guest-auth-choice{border:0;border-radius:18px;background:#f5f5f7}
.guest-auth-choice.login-choice,
.guest-auth-choice.login-choice strong{color:#164f70!important}
.guest-auth-choice.login-choice small{color:#38647d!important;opacity:1!important}
.guest-auth-choice.login-choice:hover{background:#e9eef1;transform:translateY(-2px)}
.guest-auth-choice.register-choice{
  background:#1d1d1f;
  color:#fff!important;
}
.guest-auth-choice.register-choice strong{color:#fff!important}
.guest-auth-choice.register-choice small{color:#c7c7cc!important;opacity:1!important}
.guest-auth-choice.register-choice:hover{background:#303033;transform:translateY(-2px)}
.guest-login-card>p{color:#565d68}
.success-burst{background:#eaf4ef;color:var(--bb-success)}

.flashbox{top:78px;right:22px;display:grid;gap:10px;max-width:min(430px,calc(100vw - 32px))}
.flash{
  padding:14px 17px;
  border:0;
  border-radius:14px;
  background:rgba(255,255,255,.94);
  color:var(--bb-ink-soft);
  box-shadow:var(--bb-shadow-float);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
}
.flash.error{border:0;background:#fff2f3;color:var(--bb-danger)}

.floating-email-alert{
  right:22px;
  bottom:22px;
  min-height:50px;
  padding:10px 15px 10px 12px;
  border:0;
  border-radius:999px;
  background:#1d1d1f;
  color:#fff;
  box-shadow:0 16px 44px rgba(0,0,0,.18);
}
.floating-email-alert:hover{background:#2a2a2d;color:#fff;transform:translateY(-2px);box-shadow:0 20px 48px rgba(0,0,0,.22)}
.floating-email-alert svg{width:24px;height:24px}

@media(max-width:1180px){
  .topbar{gap:8px;padding-inline:18px}
  .brand{max-width:190px}
  .brand>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .topbar .main-navigation a{padding-inline:7px;font-size:11px}
  .advanced-search-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .advanced-search-grid .keyword-field{grid-column:span 2}
  .progressgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:1000px){
  .topbar{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    min-height:58px;
    padding:8px 14px;
  }
  .brand{max-width:none}
  .membership-spotlight{display:none}
  .mobile-nav-toggle{
    display:inline-flex;
    grid-column:2;
    width:42px;
    height:42px;
    margin:0;
  }
  .topbar .main-navigation{
    position:absolute;
    top:calc(100% + 8px);
    right:12px;
    left:12px;
    display:none!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-height:calc(100svh - 84px);
    padding:10px;
    overflow:auto;
    border:1px solid rgba(29,29,31,.08);
    border-radius:20px;
    background:rgba(255,255,255,.97);
    box-shadow:var(--bb-shadow-float);
    -webkit-backdrop-filter:blur(24px);
    backdrop-filter:blur(24px);
  }
  .topbar .main-navigation .mobile-membership-link{display:inline-flex!important}
  .topbar .main-navigation.mobile-open{display:grid!important}
  .topbar .main-navigation a{
    min-height:46px;
    padding:10px 13px;
    border:0;
    border-radius:12px;
    background:transparent;
    color:var(--bb-ink-soft)!important;
    font-size:14px;
  }
  .topbar .main-navigation a:hover{background:#f1f1f3;color:var(--bb-ink)!important}
  .topbar .userbox,.topbar .guest-userbox{display:none!important}
  .mobile-nav-logout{display:block}
  .mobile-nav-logout button{width:100%;background:#f8eaec;color:var(--bb-danger)}
}

@media(max-width:900px){
  .container,.container.narrow,.narrow{width:min(100% - 36px,900px);margin-top:28px}
  .hero{grid-template-columns:1fr}
  .member-hero{
    grid-template-columns:minmax(0,1fr) 220px!important;
    min-height:188px;
  }
  .member-hero>div:first-child{padding:28px 32px}
  .member-hero>.member{
    display:flex;
    min-height:188px;
    padding:24px;
    border-top:0;
    border-left:1px solid rgba(255,255,255,.12);
  }
  .hero>.member{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:5px 18px;
    border-left:0;
    border-top:1px solid rgba(255,255,255,.12);
  }
  .hero>.member>span,.hero>.member>strong{grid-column:1/-1}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid,.filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .advanced-search-grid,.member-search-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .advanced-search-grid .keyword-field,.member-search-grid .keyword-field{grid-column:1/-1!important}
  .member-data-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .member-data-card.intelligence-featured,.member-data-card.ata{grid-column:span 2}
  .launcher-copy{align-items:flex-start;flex-direction:column;gap:10px}
  .progressgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .account-settings-shell{grid-template-columns:1fr}
  .account-settings-tabs{grid-template-columns:repeat(4,minmax(0,1fr));min-height:0;border-right:0;border-bottom:1px solid var(--bb-line)}
  .floating-email-alert{width:48px;padding:10px;justify-content:center}
  .floating-email-alert span{display:none}
}

@media(max-width:760px){
  .topbar{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    min-height:58px;
    padding:8px 12px;
  }
  .brand{max-width:none;font-size:14px}
  .brand-logo{width:29px;height:29px}
  .membership-spotlight{display:none}
  .mobile-nav-toggle{display:inline-flex;grid-column:2;width:42px;height:42px;margin:0}
  .topbar .main-navigation{
    position:absolute;
    top:calc(100% + 8px);
    right:10px;
    left:10px;
    display:none;
    grid-template-columns:1fr;
    max-height:calc(100svh - 84px);
    padding:10px;
    overflow:auto;
    border:1px solid rgba(29,29,31,.08);
    border-radius:20px;
    background:rgba(255,255,255,.96);
    box-shadow:var(--bb-shadow-float);
    -webkit-backdrop-filter:blur(24px);
    backdrop-filter:blur(24px);
  }
  .topbar .main-navigation.mobile-open{display:grid!important}
  .topbar .main-navigation a{min-height:46px;padding:10px 13px;border:0;border-radius:12px;background:transparent;color:var(--bb-ink-soft);font-size:14px}
  .topbar .main-navigation a:hover{background:#f1f1f3;color:var(--bb-ink)}
  .topbar .userbox,.topbar .guest-userbox{display:none!important}
  .mobile-nav-logout{display:block}
  .mobile-nav-logout button{width:100%;background:#f8eaec;color:var(--bb-danger)}

  .container,.container.narrow,.narrow,.member-only-page,.membership-page{
    width:calc(100% - 24px)!important;
    max-width:none!important;
    margin:20px auto 72px!important;
  }
  .hero{border-radius:24px}
  .hero>div:first-child{padding:32px 24px}
  .member-hero{grid-template-columns:1fr!important;min-height:0}
  .member-hero>.member{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    min-height:0;
    padding:20px 24px;
    border-top:1px solid rgba(255,255,255,.12);
    border-left:0;
  }
  .member-hero>.member>span,.member-hero>.member>strong{grid-column:1/-1}
  .hero h1,.member-hero h1{font-size:clamp(31px,10vw,43px)!important;line-height:1.12!important}
  .hero p{font-size:15px}
  .hero>.member{padding:22px 24px}
  .panel{padding:22px 18px;border-radius:20px}
  .panelhead{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:20px}
  .panelhead h2{font-size:26px}
  .stats,.grid,.filters,.advanced-search-grid,.member-search-grid,
  .progressgrid,.profile-grid,.profile-grid-modern{grid-template-columns:1fr!important}
  .advanced-search-grid .keyword-field,.member-search-grid .keyword-field{grid-column:auto!important}
  .stats{gap:10px}
  .stats article{padding:20px}
  .buttons,.checks{align-items:stretch;flex-direction:column;width:100%}
  .buttons button,.buttons .buttonlink,.buttons .primary,.buttons .secondary,.buttons .warn,.buttons .danger,
  .search-panel>.buttons .primary{width:100%;min-width:0;justify-content:center}
  .member-data-cards{grid-template-columns:1fr}
  .member-data-card,.member-data-card.contract,.member-data-card.edital,.member-data-card.ata,
  .member-data-card.intelligence-featured{grid-column:auto;min-height:210px;padding:22px;border-radius:20px}
  .launcher-copy h2{font-size:30px}
  .tablewrap{margin-inline:0;border-radius:14px}
  th,td{padding:13px 14px}
  .modal{align-items:end;padding:10px}
  .modalcard{width:100%;max-height:92svh;padding:24px 18px;border-radius:24px 24px 18px 18px}
  .auth.auth-branded{align-items:center;padding:24px 12px}
  .authcard{padding:30px 22px;border-radius:24px}
  .verification-row{display:grid;grid-template-columns:1fr}
  .verification-button{width:100%}
  .account-settings-tabs{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px}
  .account-settings-tabs button{justify-content:center;padding:11px 8px;font-size:13px}
  .account-settings-tabs button span{display:none}
  .floating-email-alert{right:12px;bottom:max(12px,env(safe-area-inset-bottom));min-height:46px}
}

@media(max-width:430px){
  .brand>span{max-width:152px}
  .membership-spotlight span:last-child{display:none}
  .stats{grid-template-columns:1fr}
  .member-data-card{grid-template-columns:46px minmax(0,1fr)}
  .member-data-card .data-card-icon{width:46px;height:46px;border-radius:14px}
  .flashbox{top:70px;right:12px;left:12px;max-width:none}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}
