:root {
    color: #172033;
    background: #f8fafc;
    font-family: "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
}
.proto-pricing .public-card{display:flex;flex-direction:column}.proto-pricing__featured{border:2px solid #5a69e5!important;box-shadow:0 16px 32px #596ce025}.proto-price{margin:1rem 0;color:#253b65;font-size:1.8rem}.proto-pricing ul{flex:1;padding-left:1.1rem;color:#687995;line-height:2}.proto-faq{margin-top:3rem;padding:2rem;border:1px solid #e2e8f0;border-radius:.8rem;background:#fff}.proto-faq article{padding:1rem 0;border-top:1px solid #eef1f5}.proto-faq article:first-of-type{border:0}.proto-faq p,.proto-info p{color:#6f7f96;line-height:1.8}.proto-info{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.proto-info article{padding:2rem;border:1px solid #e2e8f0;border-radius:.8rem;background:#fff}@media(max-width:700px){.proto-info{grid-template-columns:1fr}}

* { box-sizing: border-box; }

body { margin: 0; color: #273247; background: #fff; }

a { color: inherit; text-decoration: none; }

a:hover { text-decoration: underline; }

.public-container { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }

.public-header { background: #fff; border-bottom: 1px solid #e2e8f0; }

.public-header__inner { display: flex; align-items: center; gap: 1.25rem; min-height: 4.5rem; }

.public-brand { display: inline-flex; align-items: center; gap: .5rem; flex: 0 0 auto; font-size: 1.125rem; font-weight: 800; }

.public-brand img { display: block; max-width: none; max-height: none; object-fit: contain; }

.public-nav { display: flex; flex: 1 1 auto; flex-wrap: wrap; gap: .5rem 1rem; }

.public-nav a, .public-link { color: #475569; font-size: .9375rem; }

.public-header__actions { display: flex; align-items: center; gap: .75rem; flex: 0 0 auto; }

.public-button { display: inline-flex; align-items: center; justify-content: center; min-height: 2.5rem; padding: .55rem 1rem; border: 1px solid transparent; border-radius: .5rem; font-weight: 700; text-decoration: none; }

.public-button:hover { text-decoration: none; }

.public-button--primary { color: #fff; background: var(--public-primary); }

.public-button--secondary { color: var(--public-primary); border-color: var(--public-primary); background: #fff; }

.public-main { min-height: calc(100vh - 9rem); }

.public-demo-banner { padding: .7rem 0; color: #713f12; background: #fef3c7; border-bottom: 1px solid #fbbf24; font-size: .875rem; font-weight: 700; }

.public-hero { padding: 5rem 0 4rem; background: linear-gradient(135deg, color-mix(in srgb, var(--public-primary) 10%, white), #fff); }

.public-hero__content { max-width: 47rem; }

.public-eyebrow { margin: 0 0 .75rem; color: var(--public-primary); font-weight: 800; letter-spacing: .08em; }

.public-hero h1 { margin: 0; font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1.15; }

.public-hero p:not(.public-eyebrow) { max-width: 40rem; margin: 1.25rem 0 0; color: #475569; font-size: 1.125rem; line-height: 1.8; }

.public-hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.75rem; }

.public-section { padding: 3rem 0; }

.public-hero--compact { padding: 3rem 0 2.5rem; }

.public-stats, .public-card-grid { display: grid; gap: 1rem; }

.public-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 2rem; }

.public-stats p, .public-card { margin: 0; padding: 1.25rem; background: #fff; border: 1px solid #e2e8f0; border-radius: .75rem; }

.public-stats strong { display: block; color: var(--public-primary); font-size: 1.75rem; }

.public-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.public-card h2, .public-card h3 { margin: 0 0 .5rem; }

.public-card p { color: #475569; line-height: 1.6; }

.public-card__meta, .public-result-count { color: #64748b; font-size: .875rem; }

.public-card--result { margin-bottom: 1rem; }

.public-filters { display: flex; flex-wrap: wrap; align-items: end; gap: 1rem; margin-bottom: 1.5rem; padding: 1rem; background: #fff; border: 1px solid #e2e8f0; border-radius: .75rem; }

.public-filters label { display: grid; gap: .35rem; color: #475569; font-size: .875rem; font-weight: 700; }

.public-filters input, .public-filters select { min-height: 2.5rem; padding: .45rem .6rem; border: 1px solid #cbd5e1; border-radius: .4rem; background: #fff; font: inherit; }

.public-private-action, .public-workspace__actions { display: flex; flex-wrap: wrap; align-items: end; gap: .75rem; margin: 1rem 0; }

.public-private-action label { display: grid; gap: .35rem; color: #475569; font-size: .875rem; font-weight: 700; }

.public-private-action input { min-height: 2.5rem; padding: .45rem .6rem; border: 1px solid #cbd5e1; border-radius: .4rem; background: #fff; font: inherit; }

.public-workspace { width: min(100% - 2rem, 72rem); }

.public-workspace > h1 { margin-top: 0; }

.public-workspace__actions form { margin: 0; }

.workspace-body { min-height: 100vh; background: #f4f7fb; }
.workspace-page { min-height: 100vh; padding: 1.5rem; background: #f4f7fb; }
.workspace-shell { display: grid; width: min(100%, 96rem); grid-template-columns: 15rem minmax(0, 1fr); gap: 1.5rem; align-items: start; margin: 0 auto; }
.workspace-sidebar, .workspace-stage { border: 1px solid #dce4ef; border-radius: 1rem; background: #fff; }
.workspace-sidebar { position: sticky; top: 1rem; overflow: hidden; }
.workspace-sidebar__brand { display: flex; align-items: center; gap: .6rem; padding: 1.25rem; color: #172554; font-weight: 800; }
.workspace-sidebar__brand:hover { text-decoration: none; }
.workspace-sidebar__mark { display: grid; width: 2rem; height: 2rem; place-items: center; border-radius: .6rem; color: #fff; background: var(--public-primary); }
.workspace-sidebar__account { display: flex; align-items: center; gap: .7rem; margin: 0 1rem 1rem; padding: .85rem; border-radius: .75rem; background: #f8fafc; }
.workspace-sidebar__account span:last-child { display: grid; gap: .2rem; min-width: 0; color: #334155; font-size: .8125rem; }
.workspace-sidebar__account strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.workspace-sidebar__account small { color: #64748b; }
.workspace-sidebar__avatar { display: grid; width: 2rem; height: 2rem; flex: 0 0 auto; place-items: center; border-radius: 50%; color: #1d4ed8; background: #dbeafe; font-weight: 800; }
.workspace-sidebar__nav { display: grid; gap: .25rem; padding: .25rem .75rem 1rem; }
.workspace-sidebar__label { margin: .85rem .8rem .25rem; color: #94a3b8; font-size: .6875rem; font-weight: 800; letter-spacing: .08em; }
.workspace-sidebar__nav a { padding: .7rem .8rem; border-radius: .55rem; color: #475569; font-weight: 700; }
.workspace-sidebar__disabled { padding: .7rem .8rem; color: #94a3b8; font-weight: 700; cursor: not-allowed; }
.workspace-sidebar__nav a:hover { color: var(--public-primary); text-decoration: none; background: #eff6ff; }
.workspace-sidebar__nav a.is-active { color: var(--public-primary); background: #dbeafe; }
.workspace-sidebar__foot { padding: 1rem; border-top: 1px solid #e2e8f0; color: #475569; font-size: .875rem; font-weight: 700; }
.workspace-stage { min-width: 0; overflow: hidden; }
.workspace-topbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .85rem 1.75rem; border-bottom: 1px solid #e2e8f0; background: #fff; }
.workspace-topbar form { width: min(100%, 28rem); }
.workspace-topbar input { width: 100%; min-height: 2.25rem; padding: .4rem .75rem; border: 1px solid #dbe4f0; border-radius: .5rem; background: #f8fafc; font: inherit; }
.workspace-topbar > div { display: flex; min-width: 0; align-items: center; gap: .75rem; color: #475569; font-size: .875rem; font-weight: 700; }
.workspace-topbar__user { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.workspace-topbar__notice { padding: .35rem .55rem; border: 0; border-radius: .4rem; color: #475569; background: transparent; font: inherit; font-weight: 700; }
.workspace-stage__header { display: flex; justify-content: space-between; gap: 1rem; padding: 1.75rem 1.75rem 1.25rem; border-bottom: 1px solid #e2e8f0; }
.workspace-stage__header h1 { margin: .25rem 0; color: #172554; font-size: 1.75rem; }
.workspace-stage__eyebrow { margin: 0; color: var(--public-primary); font-size: .8125rem; font-weight: 800; letter-spacing: .08em; }
.workspace-stage__subtitle { margin: 0; color: #64748b; }
.workspace-stage__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .75rem; }
.workspace-stage__content { padding: 1.5rem 1.75rem 1.75rem; }
.workspace-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.workspace-metric { padding: 1.25rem; border: 1px solid #dbe4f0; border-radius: .75rem; background: #fff; }
.workspace-metric__value { display: block; margin-bottom: .3rem; color: #172554; font-size: 1.8rem; font-weight: 800; }
.workspace-metric__label { color: #64748b; font-size: .875rem; }
.workspace-panel { margin-bottom: 1rem; padding: 1.25rem; border: 1px solid #dbe4f0; border-radius: .75rem; background: #fff; }
.workspace-panel h2, .workspace-panel h3 { margin-top: 0; color: #1e293b; }
.workspace-list { border: 1px solid #e2e8f0; border-radius: .6rem; overflow: hidden; }
.workspace-list__item { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1rem; color: #334155; border-bottom: 1px solid #e2e8f0; }
.workspace-list__item:last-child { border-bottom: 0; }
.workspace-list__item:hover { color: inherit; text-decoration: none; background: #f8fbff; }
.workspace-list__item strong, .workspace-list__item small { display: block; }
.workspace-list__item small { margin-top: .25rem; color: #64748b; }
.workspace-tabs, .workspace-filters { display: flex; flex-wrap: wrap; gap: .5rem; }
.workspace-tabs { margin-bottom: 1rem; border-bottom: 1px solid #e2e8f0; }
.workspace-tabs a { padding: .6rem .8rem; color: #64748b; font-weight: 700; }
.workspace-tabs a.is-active { color: var(--public-primary); border-bottom: 2px solid var(--public-primary); }
.workspace-filter { padding: .45rem .7rem; border: 1px solid #dbe4f0; border-radius: 999px; color: #475569; background: #fff; font: inherit; font-size: .8125rem; font-weight: 700; }
.workspace-filter.is-active { color: var(--public-primary); border-color: #bfdbfe; background: #eff6ff; }
.workspace-inbox { display: grid; grid-template-columns: minmax(13rem, .85fr) minmax(0, 1.15fr); gap: 1rem; }
.workspace-inbox__list, .workspace-inbox__detail { min-width: 0; border: 1px solid #dbe4f0; border-radius: .75rem; }
.workspace-inbox__item { display: block; padding: 1rem; border-bottom: 1px solid #e2e8f0; }
.workspace-inbox__item:last-child { border-bottom: 0; }
.workspace-inbox__item:hover, .workspace-inbox__item.is-active { color: inherit; text-decoration: none; background: #f8fbff; }
.workspace-inbox__item.is-active { box-shadow: inset 3px 0 0 var(--public-primary); }
.workspace-inbox__item strong, .workspace-inbox__item small { display: block; }
.workspace-inbox__item small { margin-top: .35rem; color: #64748b; }
.workspace-inbox__detail { padding: 1.25rem; }
.workspace-inbox__detail h3 { margin-top: 0; }
.workspace-badge { display: inline-flex; padding: .22rem .5rem; border-radius: 999px; color: #047857; background: #d1fae5; font-size: .75rem; font-weight: 800; }
.workspace-form { display: grid; gap: 1rem; }
.workspace-form__section { padding: 1.25rem; border: 1px solid #dbe4f0; border-radius: .75rem; }
.workspace-form__section h2 { margin: 0 0 1rem; font-size: 1.1rem; }
.workspace-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem 1rem; }
.workspace-form label { display: grid; gap: .35rem; color: #475569; font-size: .875rem; font-weight: 700; }
.workspace-form input, .workspace-form select { min-height: 2.5rem; padding: .45rem .6rem; border: 1px solid #cbd5e1; border-radius: .4rem; background: #fff; font: inherit; }
.workspace-form textarea { min-height: 6rem; padding: .6rem; border: 1px solid #cbd5e1; border-radius: .4rem; background: #fff; font: inherit; resize: vertical; }
.workspace-form label.workspace-check { display: flex; align-items: center; gap: .5rem; }
.workspace-form label.workspace-check input { min-height: auto; }
.workspace-form__wide { grid-column: 1 / -1; }
.workspace-notice { margin: 0 0 1rem; padding: .8rem 1rem; border-radius: .6rem; color: #166534; background: #dcfce7; font-weight: 700; }
.workspace-error { margin: .4rem 0; color: #b91c1c; font-size: .875rem; }
.workspace-definition-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem 1.5rem; margin: 0; }
.workspace-definition-list div { display: grid; gap: .25rem; }
.workspace-definition-list dt { color: #64748b; font-size: .8125rem; }
.workspace-definition-list dd { margin: 0; color: #1e293b; font-weight: 700; }
.workspace-settings-grid, .workspace-profile-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.workspace-setting-card { display: grid; gap: .4rem; min-height: 7rem; padding: 1.2rem; border: 1px solid #dbe4f0; border-radius: .75rem; color: #1e293b; background: #fff; }
.workspace-setting-card span { color: #64748b; font-size: .875rem; }
.workspace-setting-card:hover { text-decoration: none; }
.workspace-profile-grid__wide { grid-column: 1 / -1; }
.workspace-tag-list { display: flex; flex-wrap: wrap; gap: .55rem; }
.workspace-tag-list span { padding: .3rem .55rem; border-radius: 999px; color: #1d4ed8; background: #eff6ff; font-size: .8125rem; font-weight: 700; }
.workspace-tag-list .workspace-empty, .workspace-empty { color: #94a3b8; background: transparent; font-weight: 500; }
.workspace-case-list { display: grid; gap: .55rem; margin: 0; padding-left: 1.15rem; color: #334155; }

.public-detail { width: min(100% - 2rem, 60rem); margin: 0 auto; padding: 2rem; background: #fff; border: 1px solid #e2e8f0; border-radius: .75rem; }

.public-detail h1 { margin-top: 0; }

.public-detail h2 { margin-top: 2rem; }

.public-detail dl { display: grid; grid-template-columns: max-content 1fr; gap: .5rem 1rem; }

.public-detail dt { color: #64748b; }

.public-detail dd { margin: 0; }

.public-detail a, .public-demo-sample a { color: var(--public-primary); text-decoration: underline; }

.public-demo-sample { margin: 1.5rem 0; padding: 1rem; border-left: .25rem solid var(--public-accent); background: #f0f9ff; }

.public-rule-demo { margin: 0 0 1.5rem; padding: 1rem; border: 1px solid #c7d2fe; border-radius: .75rem; background: #eef2ff; color: #3730a3; }

.public-rule-demo p { margin: .5rem 0 0; }

.public-empty-state, .public-static { padding: 2rem; background: #fff; border: 1px solid #e2e8f0; border-radius: .75rem; }

.public-empty-state h2, .public-static h1 { margin-top: 0; }

.public-empty-state p, .public-static__body { color: #475569; line-height: 1.8; }

.public-static { width: min(100% - 2rem, 52rem); margin: 3rem auto; }

.public-static__excerpt { color: #64748b; }

.public-static__updated { color: #64748b; font-size: .875rem; }

.public-static__body h2, .public-static__body h3 { color: #172033; line-height: 1.3; }

.public-static__body h2 { margin: 2rem 0 1rem; font-size: 1.5rem; }

.public-static__body h3 { margin: 1.5rem 0 .75rem; font-size: 1.125rem; }

.public-static__body p, .public-static__body ul, .public-static__body ol, .public-static__body blockquote { margin: 0 0 1rem; }

.public-static__body ul, .public-static__body ol { padding-left: 1.5rem; }

.public-static__body li + li { margin-top: .5rem; }

.public-static__body a { color: var(--public-primary); text-decoration: underline; text-underline-offset: .15em; }

.public-static__body img { display: block; max-width: 100%; height: auto; margin: 1rem 0; border-radius: .5rem; }

.public-static__body code { padding: .1em .35em; border-radius: .25rem; background: #e2e8f0; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .9em; }

.public-static__body pre, .public-static__body table { display: block; max-width: 100%; overflow-x: auto; }

.public-static__body pre { margin: 0 0 1rem; padding: 1rem; border-radius: .5rem; background: #172033; color: #e2e8f0; }

.public-static__body pre code { padding: 0; background: transparent; color: inherit; }

.public-static__body table { margin: 0 0 1rem; border-collapse: collapse; }

.public-static__body th, .public-static__body td { padding: .75rem; border: 1px solid #e2e8f0; text-align: left; }

.public-static__body blockquote { padding-left: 1rem; border-left: .25rem solid var(--public-accent); color: #475569; }

.public-footer { padding: 1.5rem 0; color: #64748b; background: #fff; border-top: 1px solid #e2e8f0; }

.public-footer__inner { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; }

.proto-hero { padding: 4.5rem 0 3.5rem; background: linear-gradient(135deg, #edf4ff, #f6f4ff); }
.proto-hero h1 { max-width: 760px; margin: .4rem 0 1rem; color: #1c2b48; font-size: clamp(2rem, 4.5vw, 3.4rem); letter-spacing: -.06em; }
.proto-hero p { max-width: 700px; color: #687995; font-size: 1.05rem; line-height: 1.8; }
.proto-search { display: flex; width: min(100%, 700px); margin-top: 1.6rem; overflow: hidden; border: 1px solid #d9e3f2; border-radius: .75rem; background: #fff; box-shadow: 0 14px 30px #355b9820; }
.proto-search input { flex: 1; min-width: 0; padding: .9rem 1rem; border: 0; font: inherit; }
.proto-search button { padding: 0 1.4rem; border: 0; color: #fff; background: #2878df; font: inherit; font-weight: 800; }
.public-hero--ai { position: relative; overflow: hidden; background: radial-gradient(circle at 78% 18%, #c7d2fe 0, #eef4ff 26%, transparent 48%), linear-gradient(135deg, #eff6ff, #fff); }
.public-hero--ai::after { position: absolute; right: 7%; bottom: -11rem; width: 24rem; height: 24rem; border: 1px solid #bfdbfe; border-radius: 50%; content: ''; }
.public-hero--ai .public-container { position: relative; z-index: 1; }
.proto-search__scope { display: grid; flex: 0 0 9.5rem; gap: .15rem; padding: .55rem 0 .45rem 1rem; color: #64748b; border-right: 1px solid #e2e8f0; font-size: .68rem; font-weight: 800; }
.proto-search__scope select { padding: 0; color: #1e293b; border: 0; background: transparent; font: inherit; font-size: .88rem; font-weight: 700; }
.public-hot-searches { display: flex; flex-wrap: wrap; gap: .7rem; margin: .9rem 0 0; color: #64748b; font-size: .86rem; }
.public-hot-searches a { color: #365dcf; font-weight: 700; }
.public-overview-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin-top: -1.5rem; padding: 1.35rem; border: 1px solid #dbeafe; border-radius: 1rem; background: #fff; box-shadow: 0 18px 42px #315d9d16; }
.public-overview-strip div { display: grid; gap: .25rem; padding: .2rem 1rem; border-right: 1px solid #e7eef8; }
.public-overview-strip div:last-child { border-right: 0; }
.public-overview-strip strong { color: #204fc4; font-size: 1.6rem; }
.public-overview-strip span { color: #64748b; font-size: .8rem; }
.public-ai-workflow { padding-top: 4.5rem; }
.public-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 1.5rem; }
.public-section-heading h2 { margin: 0; color: #172554; font-size: clamp(1.65rem, 3vw, 2.25rem); }
.public-section-heading p:not(.public-eyebrow) { max-width: 42rem; margin: .8rem 0 0; color: #64748b; line-height: 1.75; }
.public-section-heading > a { color: #2758cc; font-weight: 800; white-space: nowrap; }
.public-section-heading--compact { align-items: center; }
.public-workflow-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.public-workflow-grid article { position: relative; min-height: 15.5rem; padding: 1.4rem; border: 1px solid #dbe7fa; border-radius: 1rem; background: linear-gradient(155deg, #fff, #f4f8ff); box-shadow: 0 12px 28px #315d9d0d; }
.public-workflow-grid article > span { color: #93a9cd; font-size: .8rem; font-weight: 800; letter-spacing: .08em; }
.public-workflow-grid i { display: grid; width: 2.35rem; height: 2.35rem; place-items: center; margin: 1.1rem 0; border-radius: .7rem; color: #fff; background: linear-gradient(135deg, #3b82f6, #6366f1); font-style: normal; }
.public-workflow-grid h3 { margin: 0; color: #172554; font-size: 1.08rem; }
.public-workflow-grid p { color: #64748b; line-height: 1.65; font-size: .88rem; }
.public-workflow-grid strong { position: absolute; right: 1.4rem; bottom: 1.25rem; color: #3b5dd0; font-size: .78rem; }
.public-geo-faq { background: #f7f9fd; }
.public-geo-faq__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.public-geo-faq__grid article { padding: 1.4rem; border: 1px solid #dbe5f3; border-radius: .9rem; background: #fff; }
.public-geo-faq__grid h3 { margin: 0 0 .65rem; color: #172554; font-size: 1rem; }
.public-geo-faq__grid p { margin: 0; color: #64748b; font-size: .9rem; line-height: 1.75; }
.public-recommendations { padding-top: 1rem; }
.public-content-grid { display: grid; grid-template-columns: minmax(0, 1fr) 19rem; gap: 1.5rem; align-items: start; }
.public-quick-filters { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.public-quick-filters a { padding: .4rem .7rem; border-radius: .5rem; color: #64748b; background: #edf2f7; font-size: .82rem; font-weight: 700; }
.public-quick-filters a.is-active { color: #fff; background: #286de0; }
.public-recommendation-list { display: grid; gap: .8rem; }
.public-recommendation { display: grid; grid-template-columns: 5.4rem minmax(0, 1fr) 7rem; gap: 1rem; align-items: center; padding: 1.2rem; border: 1px solid #dbe5f3; border-radius: .9rem; background: #fff; }
.public-recommendation__score { display: grid; gap: .25rem; place-items: center; align-self: stretch; padding: .7rem .35rem; border-radius: .7rem; color: #2d55cc; background: #eef4ff; text-align: center; }
.public-recommendation__score strong { font-size: 1.35rem; }
.public-recommendation__score span { color: #64748b; font-size: .72rem; font-weight: 700; }
.public-recommendation__main h3 { margin: .55rem 0 .25rem; color: #172554; font-size: 1rem; line-height: 1.5; }
.public-recommendation__main > p { margin: .35rem 0; color: #64748b; font-size: .82rem; line-height: 1.5; }
.public-recommendation__main > p strong { margin-right: .4rem; color: #365dcc; }
.public-recommendation__meta { display: flex; flex-wrap: wrap; gap: .5rem; }
.public-recommendation__meta span { color: #52647e; font-size: .75rem; }
.public-recommendation__actions { display: grid; gap: .55rem; }
.public-recommendation__actions a { padding: .48rem .4rem; border: 1px solid #bdcdf0; border-radius: .45rem; color: #315aca; text-align: center; font-size: .78rem; font-weight: 800; }
.public-side-panel { display: grid; gap: 1rem; }
.public-side-card { padding: 1.25rem; border: 1px solid #dbe5f3; border-radius: .9rem; background: #fff; }
.public-side-card h2 { margin: .5rem 0; color: #172554; font-size: 1.2rem; line-height: 1.45; }
.public-side-card h3 { margin: 0; color: #172554; }
.public-side-card p { color: #64748b; font-size: .88rem; line-height: 1.7; }
.public-side-card--radar { color: #dbeafe; background: linear-gradient(145deg, #173b88, #285fca); }
.public-side-card--radar h2, .public-side-card--radar p { color: inherit; }
.public-side-card--radar .public-button { width: 100%; margin-top: .45rem; color: #2357c5; background: #fff; }
.public-side-card__title { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.public-side-card__title a { color: #3361cf; font-size: .8rem; font-weight: 800; }
.public-region-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .55rem; margin-top: 1rem; }
.public-region-grid a { padding: .55rem .65rem; border-radius: .45rem; color: #49617f; background: #f4f7fb; font-size: .83rem; font-weight: 700; }
.public-industry-list { display: grid; gap: .55rem; margin-top: 1rem; }
.public-industry-list a { display: flex; gap: .5rem; align-items: center; color: #425978; font-size: .84rem; font-weight: 700; }
.public-industry-list span { color: #94a3b8; font-size: .72rem; }
.proto-filter { display: flex; flex-wrap: wrap; gap: .65rem 1rem; padding: 1.2rem; border: 1px solid #e1e8f2; border-radius: .8rem; background: #fff; }
.proto-filter span { padding: .35rem .65rem; border-radius: .4rem; color: #667791; background: #f2f5fa; font-size: .85rem; }
.proto-list, .proto-directory { display: grid; gap: .9rem; margin-top: 1.2rem; }
.proto-list article, .proto-directory article { display: grid; grid-template-columns: 66px 1fr auto; gap: 1rem; align-items: center; padding: 1.35rem; border: 1px solid #e0e7f0; border-radius: .8rem; background: #fff; }
.proto-list article>strong, .proto-directory article>strong { color: #3973dc; font-size: 1.1rem; }.proto-list h2,.proto-directory h2 { margin: .3rem 0; font-size: 1.1rem; }.proto-list p,.proto-directory p { margin: 0; color: #74839a; font-size: .86rem; }.proto-list small,.proto-directory small { color: #8997ab; }.proto-directory i { display:grid;place-items:center;width:48px;height:48px;border-radius:14px;color:#fff;background:#417ce1;font-style:normal;font-weight:800; }.proto-tabs { display:flex;flex-wrap:wrap;gap:1.5rem;border-bottom:1px solid #e2e8f0; }.proto-tabs a { padding:0 0 1rem;color:#71819a;font-weight:700; }.proto-tabs .active{border-bottom:2px solid #2878df;color:#2878df}.proto-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1.5rem 0}.proto-stats article{padding:1.3rem;border:1px solid #e2e8f0;border-radius:.75rem;background:#fff}.proto-stats strong{display:block;color:#326fd7;font-size:1.5rem}.proto-stats span{display:block;margin-top:.5rem;color:#75849a;font-size:.85rem}.proto-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.proto-detail-grid article,.proto-detail{padding:1.5rem;border:1px solid #e2e8f0;border-radius:.75rem;background:#fff}.proto-bars{display:flex;align-items:end;gap:1rem;height:120px}.proto-bars i{width:36px;background:linear-gradient(#4f7ee6,#9fc3ff);border-radius:6px 6px 0 0}.proto-bars i:nth-child(1){height:42%}.proto-bars i:nth-child(2){height:57%}.proto-bars i:nth-child(3){height:68%}.proto-bars i:nth-child(4){height:78%}.proto-bars i:nth-child(5){height:94%}.proto-tags{color:#3973dc!important;line-height:2}@media(max-width:700px){.public-nav{display:none}.proto-list article,.proto-directory article{grid-template-columns:50px 1fr}.proto-list article>a{grid-column:2}.proto-stats,.proto-detail-grid{grid-template-columns:1fr 1fr}}

.public-footer p { margin: 0; }

/* Shared public portal shell and the home/search/detail/pricing desktop layouts. */
.public-header { position: sticky; z-index: 20; top: 0; border-bottom: 1px solid #e1e7f0; background: rgb(255 255 255 / 96%); backdrop-filter: blur(14px); }
.public-header__inner { min-height: 76px; gap: 36px; }
.public-brand { position: relative; flex: 0 0 auto; }
.public-brand img { width: 154px; height: auto; }
.public-brand span { position: absolute; top: -10px; right: -12px; padding: 2px 7px; border-radius: 99px; color: #fff; background: linear-gradient(135deg, #6d5dfc, #167cf6); box-shadow: 0 5px 14px rgb(74 91 226 / 24%); font-size: 9px; letter-spacing: .04em; }
.public-nav { flex: 1; gap: 28px; }.public-nav a { position: relative; color: #4c596e; font-size: 15px; }.public-nav a.is-active { color: #1478f2; font-weight: 700; }.public-nav a.is-active::after { position: absolute; right: 0; bottom: -27px; left: 0; height: 3px; border-radius: 3px 3px 0 0; background: #1478f2; content: ''; }.public-nav__ai { color: #514bd4 !important; font-weight: 750; }.public-nav__ai span { color: #7c5cff; }.public-button--compact { min-height: auto; padding: 10px 17px; border-radius: 9px; }
.portal-search-head { padding-bottom: 54px; }.portal-search-head .public-container { text-align: center; }.portal-search-head h1 { max-width: 620px; margin-right: auto; margin-left: auto; }.portal-search-head p:not(.public-eyebrow) { max-width: none; margin-right: auto; margin-left: auto; }.portal-keyword-search { display: grid; grid-template-columns: 136px minmax(0, 1fr) auto; width: min(100%, 740px); margin: 22px auto 0; overflow: hidden; border: 1px solid #d9e3f2; border-radius: 11px; background: #fff; box-shadow: 0 14px 30px #355b9820; }.portal-keyword-search select,.portal-keyword-search input { min-width: 0; padding: 14px; border: 0; color: #42536c; background: #fff; font: inherit; }.portal-keyword-search select { border-right: 1px solid #e2e8f0; }.portal-keyword-search button { padding: 0 22px; border: 0; color: #fff; background: #2878df; font: inherit; font-weight: 800; }
.portal-search-page { padding-top: 28px; background: #f6f8fc; }.portal-search-filters { display: grid; gap: 0; overflow: hidden; border: 1px solid #e0e7f0; border-radius: 12px; background: #fff; }.portal-filter-row { display: flex; align-items: center; gap: 10px; padding: 16px 20px; border-bottom: 1px solid #eef2f6; }.portal-filter-row:last-child { border-bottom: 0; }.portal-filter-row > strong { flex: 0 0 72px; color: #415067; font-size: 14px; }.portal-filter-row select,.portal-filter-row button { min-width: 0; padding: 7px 10px; border: 1px solid #dce4ef; border-radius: 7px; color: #52647b; background: #fff; font: inherit; font-size: 13px; }.portal-filter-row select { max-width: 180px; }.portal-filter-row--more { flex-wrap: wrap; }.portal-filter-row--more button[disabled] { display: inline-flex; gap: 16px; align-items: center; color: #7c8899; background: #f8fafc; cursor: not-allowed; }.portal-filter-row label { display: inline-flex; align-items: center; gap: 8px; color: #52647b; font-size: 13px; }.portal-filter-row label input { width: 190px; padding: 7px 9px; border: 1px solid #dce4ef; border-radius: 7px; font: inherit; }.portal-filter-row .public-button { margin-left: auto; }
.portal-result-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 22px 0 12px; }.portal-result-toolbar > div { display: flex; align-items: baseline; gap: 12px; }.portal-result-toolbar strong { color: #273c56; font-size: 18px; }.portal-result-toolbar span { color: #8794a6; font-size: 13px; }.portal-result-toolbar select { padding: 7px 10px; border: 1px solid #dce4ef; border-radius: 7px; color: #52647b; background: #fff; font: inherit; }.portal-save-search { display: flex; align-items: end; gap: 10px; margin: 0 0 12px; }.portal-save-search label { display: grid; gap: 4px; color: #64748b; font-size: 12px; }.portal-save-search input { width: 200px; padding: 8px; border: 1px solid #dce4ef; border-radius: 7px; font: inherit; }
.portal-search-results { display: grid; gap: 12px; }.portal-result-card { display: grid; grid-template-columns: minmax(0, 1fr) 210px; gap: 24px; padding: 22px; border: 1px solid #e0e7f0; border-radius: 12px; background: #fff; box-shadow: 0 3px 13px rgb(35 59 89 / 3%); }.portal-result-card__main { min-width: 0; }.portal-result-card__main p { margin: 7px 0; color: #6e7e92; font-size: 13px; }.portal-result-card__main h2 { margin: 9px 0; color: #233852; font-size: 18px; line-height: 1.5; }.portal-result-card__main h2 a { color: inherit; }.portal-result-card__org { color: #465a74 !important; font-weight: 700; }.portal-kind-badge { display: inline-flex; margin-right: 10px; padding: 3px 8px; border-radius: 5px; color: #2471d6; background: #eaf3ff; font-size: 12px; font-weight: 700; }.portal-result-card__metrics { display: grid; align-content: center; gap: 8px; color: #68788d; font-size: 13px; }.portal-result-card__metrics a { margin-top: 6px; color: #2378ed; font-weight: 700; }

/* Search typography follows the approved prototype without affecting other public pages. */
.public-search-prototype { line-height: 1.5; }
.public-search-prototype .portal-search-head .public-eyebrow { margin-bottom: 12px; font-size: 13px; font-weight: 750; line-height: 19.5px; letter-spacing: .11em; }
.public-search-prototype .portal-search-head h1 { color: #17243c; font-size: 29px; font-weight: 400; line-height: 1.5; }
.public-search-prototype .portal-search-head p:not(.public-eyebrow) { color: #78869a; font-size: 14px; line-height: 1.7; }
.public-search-prototype .portal-search-tabs button { font-size: 16px; font-weight: 700; line-height: 24px; }
.public-search-prototype .portal-keyword-search :is(input, select, button) { line-height: 24px; }
.public-search-prototype .portal-keyword-search input { color: #273247; }
.public-search-prototype .portal-keyword-search > button { font-weight: 700; }
.public-search-prototype .portal-filter-row > strong { color: #68758a; line-height: 21px; }
.public-search-prototype .portal-result-toolbar strong { color: #17243c; font-size: 17px; line-height: 25.5px; }
.public-search-prototype .portal-result-card__main h2 { color: #17243c; font-weight: 400; line-height: 1.55; }
.public-search-prototype .portal-result-card__main > p:first-child > span:last-child { color: #73869c; font-size: 12px; line-height: 18px; }
.public-search-prototype .portal-result-card__org { color: #8490a3 !important; font-weight: 400; }
.public-search-prototype .portal-result-card__main > p:not(:first-child):not(.portal-result-card__org) { color: #9aa5b4; font-size: 11px; line-height: 16.5px; }
.public-search-prototype .portal-result-card__metrics { color: #73869c; font-size: 12px; line-height: 18px; }
.public-search-prototype .portal-result-card__metrics a { font-size: 12px; font-weight: 650; line-height: 18px; }
.public-search-prototype .portal-filter-options a { font-size: 14px; font-weight: 400; line-height: 21px; }
.public-search-prototype .portal-filter-options a.is-selected { font-weight: 700; }
.public-search-prototype .portal-filter-row :is(select, button) { font-size: 14px; font-weight: 400; line-height: 21px; }
.public-search-prototype .portal-filter-row--more input { color: #273247; font-size: 16px; font-weight: 400; line-height: 24px; }
.public-search-prototype .portal-result-toolbar strong + span { color: #97a2b2; font-size: 12px; line-height: 18px; }
.public-search-prototype .portal-result-toolbar select { color: #7d899b; font-size: 16px; font-weight: 400; line-height: 24px; }
.public-search-prototype .portal-save-search label { color: #1478f2; font-size: 11px; font-weight: 400; line-height: 16.5px; }
.portal-tender-head { padding: 26px 0 22px; border-bottom: 1px solid #e3eaf3; background: linear-gradient(135deg, #f1f6ff, #fff); }.portal-breadcrumb { display: flex; gap: 9px; align-items: center; color: #8390a1; font-size: 13px; }.portal-breadcrumb a { color: #64758c; }.portal-tender-title { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-top: 18px; }.portal-tender-title h1 { max-width: 850px; margin: 9px 0; color: #203752; font-size: clamp(25px, 3vw, 34px); line-height: 1.35; }.portal-tender-title p { margin: 0; color: #718297; }.portal-tender-actions { display: flex; gap: 10px; align-items: center; flex: 0 0 auto; }.portal-tender-actions form { margin: 0; }
.portal-tender-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 24px; padding-top: 28px; padding-bottom: 72px; }.portal-tender-content { min-width: 0; }.portal-tender-facts { display: grid; grid-template-columns: repeat(4, 1fr); margin-bottom: 16px; overflow: hidden; border: 1px solid #e1e8f1; border-radius: 12px; background: #fff; }.portal-tender-facts div { display: grid; gap: 8px; padding: 18px; border-right: 1px solid #e8edf4; }.portal-tender-facts div:last-child { border: 0; }.portal-tender-facts span,.portal-key-facts span,.portal-version-card span { color: #8492a2; font-size: 12px; }.portal-tender-facts strong { color: #334963; font-size: 15px; }.portal-danger { color: #dd5f45 !important; }.portal-key-facts,.portal-announcement,.portal-ai-evidence,.portal-article-section,.portal-side-card { margin-bottom: 16px; padding: 22px; border: 1px solid #e1e8f1; border-radius: 12px; background: #fff; box-shadow: 0 3px 13px rgb(35 59 89 / 3%); }.portal-key-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; }.portal-key-facts h2 { grid-column: 1 / -1; margin: 0 0 12px; color: #293f5b; font-size: 18px; }.portal-key-facts div { display: grid; gap: 6px; min-height: 68px; padding: 12px 14px 12px 0; border-top: 1px solid #eef2f6; }.portal-key-facts strong { color: #465a72; font-size: 14px; word-break: break-word; }.portal-announcement header { display: flex; align-items: start; justify-content: space-between; gap: 24px; padding-bottom: 18px; border-bottom: 1px solid #edf1f5; }.portal-announcement header h2 { margin: 4px 0; color: #293f5b; font-size: 20px; }.portal-announcement header p { margin: 0; color: #718298; }.portal-announcement header > span { padding: 8px 12px; border-radius: 8px; color: #4e6d9c; background: #eff5ff; font-size: 12px; text-align: right; }.portal-announcement nav { display: flex; flex-wrap: wrap; gap: 8px 16px; padding: 16px 0; border-bottom: 1px solid #edf1f5; }.portal-announcement nav strong,.portal-announcement nav a { color: #5a6b82; font-size: 13px; }.portal-announcement nav a { color: #2878df; }.portal-announcement > div { padding-top: 20px; color: #455970; line-height: 1.9; }.portal-announcement h3 { color: #2c425e; }.portal-ai-evidence > div:first-child h2 { margin: 3px 0 16px; color: #293f5b; font-size: 19px; }.portal-ai-evidence__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }.portal-ai-evidence__grid article { display: grid; gap: 8px; padding: 16px; border: 1px solid #e4eaf1; border-radius: 9px; }.portal-ai-evidence__grid span { width: max-content; padding: 3px 7px; border-radius: 4px; color: #8a6d31; background: #fff6df; font-size: 11px; }.portal-ai-evidence__grid strong { color: #354b66; }.portal-ai-evidence__grid p { margin: 0; color: #718195; font-size: 13px; line-height: 1.6; }.portal-article-section h2,.portal-side-card h3 { margin-top: 0; color: #304762; font-size: 18px; }.portal-article-section ol { margin: 0; padding-left: 20px; color: #566a82; line-height: 2; }.portal-version-card { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }.portal-version-card div { display: grid; gap: 6px; padding: 12px; border-radius: 8px; background: #f7f9fc; }.portal-version-card strong { color: #455a72; font-size: 14px; word-break: break-word; }.portal-tender-aside { min-width: 0; }.portal-side-card { padding: 18px; }.portal-side-card p { color: #718195; line-height: 1.65; }.portal-side-card > a { color: #2478ea; font-weight: 700; }.portal-timeline { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }.portal-timeline li { position: relative; display: grid; gap: 4px; padding: 0 0 17px 22px; color: #5a6d84; }.portal-timeline li::before { position: absolute; top: 5px; left: 0; width: 9px; height: 9px; border: 2px solid #4b90ed; border-radius: 50%; background: #fff; content: ''; }.portal-timeline li:not(:last-child)::after { position: absolute; top: 17px; bottom: 0; left: 5px; width: 1px; background: #dbe5f0; content: ''; }.portal-timeline span { color: #8996a5; font-size: 12px; }
.portal-pricing-page { min-height: 78vh; padding: 64px max(24px, calc((100vw - 1100px) / 2)) 80px; background: linear-gradient(180deg, #f4f8ff, #fff 45%); }.portal-pricing-hero { max-width: 760px; margin: 0 auto 38px; text-align: center; }.portal-pricing-hero > span { display: inline-flex; padding: 7px 12px; border-radius: 999px; color: #126fe7; background: #e8f1ff; font-weight: 700; }.portal-pricing-hero h1 { margin: 15px 0 10px; color: #253b56; font-size: clamp(32px, 4vw, 48px); }.portal-pricing-hero p { color: #65768d; line-height: 1.8; }.portal-pricing-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }.portal-pricing-cards article { position: relative; display: flex; flex-direction: column; min-height: 430px; padding: 30px; border: 1px solid #dfe6ef; border-radius: 18px; background: #fff; box-shadow: 0 12px 35px rgba(25,52,88,.07); }.portal-pricing-cards article.recommended { border: 2px solid #2378ed; transform: translateY(-7px); }.portal-pricing-cards em { position: absolute; top: 0; right: 24px; padding: 6px 13px; border-radius: 0 0 8px 8px; color: #fff; background: #2378ed; font-size: 12px; font-style: normal; }.portal-pricing-cards article > span { color: #7d8b9d; font-size: 13px; }.portal-pricing-cards h2 { margin: 10px 0; color: #253b56; font-size: 25px; }.portal-pricing-cards article > strong { color: #172d48; font-size: 32px; }.portal-pricing-cards small { color: #7d8b9d; font-size: 14px; }.portal-pricing-cards article > p { min-height: 48px; color: #6c7c90; line-height: 1.6; }.portal-pricing-cards ul { display: grid; gap: 10px; margin: 18px 0 28px; padding: 0; list-style: none; color: #465a73; }.portal-pricing-cards a { margin-top: auto; padding: 12px; border: 1px solid #2378ed; border-radius: 9px; color: #2378ed; text-align: center; font-weight: 700; }.portal-pricing-cards .recommended a { color: #fff; background: #2378ed; }.portal-payment-summary { max-width: 760px; margin: 56px auto 0; text-align: center; }.portal-payment-summary h2 { color: #2b405b; }.portal-payment-summary p { color: #718195; }

.checkout-page { min-height: 85vh; padding: 36px max(24px, calc((100vw - 1180px) / 2)) 75px; color: #273c56; background: #f4f7fb; }.checkout-page > header { margin-bottom: 24px; }.checkout-page > header > a { color: #61768e; }.checkout-page > header > span { float: right; color: #71839a; }.checkout-page > header h1 { margin: 22px 0 6px; font-size: 30px; }.checkout-page > header p { color: #7c8ca0; }
.checkout-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 22px; align-items: start; }.checkout-main { display: grid; gap: 18px; }.checkout-card,.order-summary-card { padding: 24px; border: 1px solid #e0e6ef; border-radius: 16px; background: #fff; box-shadow: 0 6px 22px rgba(31,51,78,.04); }.checkout-card h2 { margin: 0 0 18px; font-size: 18px; }.checkout-login-state { display: grid; gap: 10px; max-width: 700px; margin: 60px auto; text-align: center; }.checkout-login-state .public-button { justify-self: center; }
.checkout-plan-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }.checkout-plan-row button { display: grid; gap: 6px; padding: 16px; border: 1px solid #dce4ee; border-radius: 10px; color: #64758a; background: #fff; text-align: left; cursor: pointer; }.checkout-plan-row button.active { border-color: #2378ed; color: #1d5fb8; background: #f2f7ff; box-shadow: inset 0 0 0 1px #2378ed; }.checkout-plan-row button strong { color: #263e5a; font-size: 16px; }
.payment-choice-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }.payment-choice-grid button { display: grid; grid-template-columns: auto 1fr; gap: 3px 10px; align-items: center; padding: 15px; border: 1px solid #2378ed; border-radius: 10px; color: #738297; background: #f4f8ff; text-align: left; }.payment-choice-grid button > span { display: grid; grid-row: span 2; place-items: center; width: 38px; height: 38px; border-radius: 9px; color: #fff; background: #da9322; font-weight: 800; }.payment-choice-grid button strong { color: #324963; }.payment-choice-grid button small { grid-column: 2; }.transfer-notice { margin-top: 13px; padding: 14px; border-radius: 9px; color: #775926; background: #fff8e9; }.transfer-notice p { margin: 5px 0 0; line-height: 1.6; }
.order-summary-card { position: sticky; top: 20px; }.order-summary-card > span { color: #78889c; }.order-summary-card h2 { margin: 8px 0 15px; }.order-summary-card > div,.order-summary-card footer { display: flex; justify-content: space-between; padding: 8px 0; }.order-summary-card footer { margin-top: 8px; padding: 15px 0; border-top: 1px solid #e5eaf0; }.order-summary-card footer strong { color: #f05a28; font-size: 22px; }.order-summary-card > button { width: 100%; margin-top: 12px; }.checkout-error { color: #c33; font-size: 13px; }
.payment-result-page { min-height: 80vh; display: grid; place-items: center; padding: 60px 20px; background: #f4f7fb; }.payment-result-page > section { display: grid; justify-items: center; width: min(620px,100%); padding: 42px; border: 1px solid #dfe6ee; border-radius: 18px; background: #fff; box-shadow: 0 15px 45px rgba(26,51,84,.09); text-align: center; }.payment-result-page > section > span { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; color: #fff; background: #da9322; font-size: 24px; }.payment-result-page h1 { margin: 18px 0 7px; }.payment-result-page > section > p { color: #718398; }.bank-account-card { display: grid; grid-template-columns: 120px 1fr; gap: 11px; width: 100%; margin: 20px 0; padding: 18px; border-radius: 11px; background: #fff9ec; text-align: left; }.bank-account-card strong { color: #7f6b43; }.bank-account-card em { color: #4c5664; font-style: normal; }

/* Tender detail typography follows the approved prototype without changing its data or layout. */
.public-tender-prototype .portal-announcement__rich { overflow-x: auto; }
.public-tender-prototype .portal-announcement__rich table { width: 100%; margin: 16px 0; border-collapse: collapse; color: #455970; font-size: 13px; line-height: 1.65; }
.public-tender-prototype .portal-announcement__rich :is(th, td) { min-width: 88px; padding: 10px 12px; border: 1px solid #dfe6ee; vertical-align: top; text-align: left; }
.public-tender-prototype .portal-announcement__rich th { color: #314760; background: #f5f8fc; font-weight: 600; }
.public-tender-prototype .portal-announcement__rich :is(p, ul, ol) { margin: 12px 0; }
.public-tender-prototype { line-height: 1.5; }
.public-tender-prototype :is(button, input, select) { font: inherit; }
.public-tender-prototype .portal-breadcrumb { color: #8a96a9; font-size: 13px; font-weight: 400; line-height: 19.5px; }
.public-tender-prototype .portal-tender-title .portal-kind-badge { font-size: 12px; font-weight: 700; line-height: 18px; }
.public-tender-prototype .portal-tender-title h1 { color: #17243c; font-size: 28px; font-weight: 400; line-height: 1.45; }
.public-tender-prototype .portal-tender-title p { color: #8894a6; font-size: 13px; font-weight: 400; line-height: 19.5px; }
.public-tender-prototype .portal-tender-actions .public-button { font-family: inherit; font-size: 16px; line-height: 24px; }
.public-tender-prototype .portal-tender-facts span { color: #929daf; font-size: 12px; font-weight: 400; line-height: 18px; }
.public-tender-prototype .portal-tender-facts strong { color: #354258; font-size: 15px; font-weight: 700; line-height: 22.5px; }
.public-tender-prototype .portal-key-facts h2 { color: #17243c; font-size: 19px; font-weight: 400; line-height: 28.5px; }
.public-tender-prototype .portal-key-facts span, .public-tender-prototype .portal-version-card span { line-height: 18px; }
.public-tender-prototype .portal-announcement header h2 { color: #17243c; font-size: 23px; font-weight: 400; line-height: 1.55; }
.public-tender-prototype .portal-announcement__body h3 { color: #273852; font-size: 17px; font-weight: 400; line-height: 25.5px; }
.public-tender-prototype .portal-announcement__body p { color: #536278; font-size: 14px; font-weight: 400; line-height: 28px; }
.public-tender-prototype .portal-ai-evidence .public-eyebrow, .public-tender-prototype .portal-announcement .public-eyebrow { font-size: 12px; font-weight: 750; line-height: 18px; letter-spacing: .11em; }
.public-tender-prototype .portal-ai-evidence > div:first-child h2 { color: #17243c; font-size: 21px; font-weight: 400; line-height: 31.5px; }
.public-tender-prototype .portal-article-section h2 { color: #17243c; font-size: 19px; font-weight: 400; line-height: 28.5px; }
.public-tender-prototype .portal-side-card h3 { color: #273247; font-size: 16px; font-weight: 400; line-height: 24px; }
.public-tender-prototype .portal-side-card p { color: #667287; font-size: 12px; font-weight: 400; line-height: 18px; }
.public-tender-prototype .portal-ai-summary h3 { color: #3f4c62; font-size: 16px; font-weight: 700; line-height: 24px; }
.public-tender-prototype .portal-ai-summary header p { color: #8c95a4; font-size: 10px; font-weight: 400; line-height: 15px; }
.public-tender-prototype .portal-ai-summary li { color: #727d8f; font-size: 11px; font-weight: 400; line-height: 16.5px; }
.public-tender-prototype .portal-ai-summary li strong { color: #455268; font-size: 11px; font-weight: 700; line-height: 16.5px; }
.public-tender-prototype .portal-ai-summary > a.public-button--primary { padding: 12px 18px; border-radius: 9px; color: #fff; font-size: 16px; font-weight: 650; line-height: 24px; }
.public-tender-prototype .portal-ai-summary > button { min-height: auto; padding: 10px 16px; border-color: #cfd8e6; color: #53627a; font-size: 16px; font-weight: 400; line-height: 24px; }
.public-tender-prototype .portal-tender-actions .public-button--primary { font-weight: 650; }
.public-tender-prototype .portal-tender-actions .public-button--secondary { font-weight: 400; }

@media (max-width: 850px) { .portal-filter-row { align-items: flex-start; flex-wrap: wrap; }.portal-filter-row > strong { flex-basis: 100%; }.portal-filter-row .public-button { margin-left: 0; }.portal-result-card,.portal-tender-layout { grid-template-columns: 1fr; }.portal-tender-facts { grid-template-columns: repeat(2, 1fr); }.portal-tender-facts div:nth-child(2) { border-right: 0; }.portal-key-facts { grid-template-columns: repeat(2, 1fr); }.portal-pricing-cards { grid-template-columns: 1fr; max-width: 520px; margin: auto; }.portal-pricing-cards article.recommended { transform: none; } }
@media (max-width: 560px) { .public-header__inner { min-height: 64px; }.public-brand img { width: 125px; }.public-nav { display: none; }.portal-keyword-search { grid-template-columns: 1fr; }.portal-keyword-search select { border-right: 0; border-bottom: 1px solid #e2e8f0; }.portal-keyword-search button { min-height: 48px; }.portal-result-toolbar,.portal-tender-title { align-items: start; flex-direction: column; }.portal-save-search { align-items: stretch; flex-direction: column; }.portal-save-search input { width: 100%; box-sizing: border-box; }.portal-tender-facts,.portal-key-facts,.portal-ai-evidence__grid,.portal-version-card { grid-template-columns: 1fr; }.portal-tender-facts div { border-right: 0; border-bottom: 1px solid #e8edf4; }.portal-tender-facts div:last-child { border-bottom: 0; }.portal-announcement header { flex-direction: column; }.portal-pricing-page { padding-right: 16px; padding-left: 16px; } }

.public-footer { padding: 50px 0 0; color: #cbd5e5; background: #142139; border: 0; }.public-footer__grid { display: grid; grid-template-columns: 1.35fr repeat(4, 1fr); gap: 50px; padding-bottom: 38px; }.public-footer__grid > div { display: grid; align-content: start; gap: 11px; }.public-footer__grid strong { margin-bottom: 5px; color: #fff; }.public-footer__grid a { color: #9eabc0; font-size: 14px; }.public-footer__grid a:hover { color: #fff; }.public-footer__brand img { display: block; width: 150px; border-radius: 9px; background: #fff; }.public-footer__brand p { margin: 16px 0 0; color: #8f9cb1; }.public-footer__bottom { padding: 20px 0; border-top: 1px solid rgb(255 255 255 / 10%); color: #74829a; font-size: 13px; }

/* Keep the Laravel home page visually identical to the approved prototype. */
.public-hero--ai { position: relative; padding: 80px 0 88px; overflow: hidden; border-bottom: 1px solid #e7eef8; background: linear-gradient(135deg, #f6faff 0%, #eef5ff 52%, #f8fbff 100%); }
.public-hero--ai::before,.public-hero--ai::after { position: absolute; border: 0; border-radius: 50%; content: ''; filter: blur(2px); opacity: .7; }
.public-hero--ai::before { top: -110px; left: -80px; width: 340px; height: 340px; background: radial-gradient(circle, rgb(37 133 255 / 18%), rgb(37 133 255 / 0%)); }
.public-hero--ai::after { right: -100px; bottom: -220px; width: 430px; height: 430px; background: radial-gradient(circle, rgb(80 180 255 / 14%), rgb(80 180 255 / 0%)); }
.public-hero--ai .public-hero__content { max-width: none; text-align: center; }
.public-hero--ai .public-eyebrow { margin: 0 0 12px; color: #1478f2; font-size: 13px; font-weight: 750; letter-spacing: .16em; }
.public-hero--ai h1 { margin: 0; color: #17243c; font-size: clamp(36px, 5vw, 58px); font-weight: 400; letter-spacing: -.04em; line-height: 1.15; }
.public-hero--ai .public-hero__content > p:not(.public-eyebrow):not(.public-hot-searches) { max-width: 670px; margin: 19px auto 34px; color: #627089; font-size: 17px; line-height: 1.8; }
.public-hero--ai .public-hero__actions { justify-content: center; gap: 12px; margin: -14px 0 28px; }
.public-hero--ai .public-button { padding: 12px 18px; border-radius: 9px; font-weight: 700; }
.public-hero--ai .public-button--secondary { color: #405173; border-color: #bfcff0; background: rgb(255 255 255 / 75%); }
.public-hero--ai .proto-search { display: grid; grid-template-columns: 150px minmax(0, 1fr) 132px; width: min(100%, 930px); margin: 0 auto; padding: 7px; overflow: hidden; border: 1px solid #dce7f7; border-radius: 14px; box-shadow: 0 18px 52px rgb(37 75 122 / 15%); }
.public-hero--ai .proto-search__scope { display: flex; flex-direction: column; justify-content: center; padding: 0 18px; border-right: 1px solid #e5eaf2; border-bottom: 0; text-align: left; }
.public-hero--ai .proto-search__scope select { color: #334056; font-weight: 650; }
.public-hero--ai .proto-search input { padding: 0 22px; color: #273247; }
.public-hero--ai .proto-search button { min-height: 48px; padding: 0; border-radius: 10px; background: #1478f2; }
.public-hero--ai .public-hot-searches { justify-content: center; gap: 14px; margin: 17px 0 0; color: #8090a7; font-size: 13px; }
.public-hero--ai .public-hot-searches a { color: inherit; font-weight: 400; }
.public-overview-strip { position: relative; z-index: 3; gap: 0; margin-top: -30px; padding: 25px 0; border: 1px solid #edf1f6; border-radius: 15px; box-shadow: 0 14px 40px rgb(39 68 104 / 10%); }
.public-overview-strip div { display: block; padding: 0; border-right: 1px solid #e5eaf2; text-align: center; }
.public-overview-strip strong { display: block; color: #17243c; font-size: 25px; letter-spacing: -.02em; }
.public-overview-strip span { display: block; margin-top: 4px; color: #8995a7; font-size: 13px; }
.public-ai-workflow { padding: 82px 0 32px; }
.public-section-heading { align-items: end; gap: 30px; margin-bottom: 28px; }
.public-section-heading h2 { color: #202e46; font-size: 32px; }
.public-section-heading p:not(.public-eyebrow) { max-width: 710px; margin: 11px 0 0; color: #718096; line-height: 1.8; }
.public-workflow-grid { gap: 14px; }
.public-workflow-grid article { min-height: 245px; padding: 25px; border-color: #e3e5f5; border-radius: 16px; background: linear-gradient(155deg, #fff, #f8f7ff); box-shadow: 0 12px 32px rgb(56 68 116 / 7%); }
.public-workflow-grid i { position: absolute; top: 14px; right: 18px; width: auto; height: auto; margin: 0; color: #8e80ff; background: transparent; font-size: 28px; opacity: .35; }
.public-workflow-grid h3 { margin: 34px 0 10px; color: #29364d; font-size: 21px; }
.public-workflow-grid p { margin: 0 0 20px; color: #738096; font-size: 14px; line-height: 1.75; }
.public-workflow-grid strong { right: auto; bottom: 23px; left: 25px; color: #514bd4; font-size: 12px; }
.public-recommendations { padding: 66px 0 90px; }
.public-content-grid { grid-template-columns: minmax(0, 1fr) 320px; gap: 28px; }
.public-section-heading--compact { margin-bottom: 20px; }
.public-section-heading--compact h2 { color: #17243c; font-size: 27px; }
.public-quick-filters { gap: 8px; margin-bottom: 18px; }
.public-quick-filters a { padding: 8px 15px; border: 1px solid #e5eaf2; border-radius: 20px; color: #69758a; background: #fff; font-weight: 400; }
.public-quick-filters a.is-active { color: #1478f2; border-color: #c9dfff; background: #eaf3ff; font-weight: 650; }
.public-side-panel { gap: 16px; }
.public-side-card { padding: 21px; border-color: #e5eaf2; border-radius: 14px; }
.public-side-card--radar { position: relative; overflow: hidden; color: #fff; border: 0; background: linear-gradient(145deg, #0d62cc, #1688f6); }
.public-side-card--radar h2 { margin: 10px 0; font-size: 22px; line-height: 1.4; }
.public-side-card--radar p { font-size: 14px; opacity: .83; }
.public-side-card--radar .public-button { position: relative; z-index: 1; width: auto; padding: 12px 18px; color: #0c55bd; border: 0; border-radius: 9px; }
.public-region-grid { grid-template-columns: repeat(4, 1fr); gap: 9px; }
.public-region-grid a { padding: 8px 2px; border-radius: 7px; color: #59677d; font-size: 13px; font-weight: 400; text-align: center; }
.public-industry-list { gap: 12px; }
.public-industry-list a { color: #536177; font-size: 14px; font-weight: 400; }

@media (max-width: 1080px) { .public-brand img { width: 130px; } }
@media (max-width: 900px) { .public-nav { display: none; }.public-header__inner { gap: 12px; }.public-header__actions { margin-left: auto; }.public-footer__grid { grid-template-columns: repeat(2, 1fr); gap: 30px; }.public-footer__brand { grid-column: 1 / -1; } }
@media (max-width: 640px) { .public-container { width: min(100% - 24px, 1180px); }.public-header__inner { min-height: 64px; }.public-brand img { width: 126px; }.public-header__actions .public-link { display: none; } }
@media (max-width: 560px) { .public-header__actions .public-link { display: none; }.public-button--compact { padding: 8px 12px; font-size: 13px; }.public-footer__grid { grid-template-columns: 1fr; }.public-footer__brand { grid-column: auto; } }

/* Public subscriptions page mirrors the approved Vinext prototype without changing other portal pages. */
.public-subscriptions-prototype { color: #273247; background: #f4f7fb; font-family: "PingFang SC", "Microsoft YaHei", system-ui, sans-serif; line-height: 1.5; }
.public-subscriptions-prototype .prototype-shell { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.public-subscriptions-prototype .site-header { position: sticky; z-index: 20; top: 0; border-bottom: 1px solid rgb(225 231 240 / 90%); background: rgb(255 255 255 / 96%); backdrop-filter: blur(14px); }
.public-subscriptions-prototype .header-inner { display: flex; height: 76px; align-items: center; gap: 36px; }
.public-subscriptions-prototype .prototype-brand { position: relative; flex: 0 0 auto; }
.public-subscriptions-prototype .prototype-brand img { display: block; width: 154px; height: auto; }
.public-subscriptions-prototype .brand-ai-badge { position: absolute; top: -11px; right: -10px; padding: 2px 7px; border-radius: 999px; color: #fff; background: linear-gradient(135deg, #6d5dfc, #167cf6); box-shadow: 0 5px 14px rgb(74 91 226 / 24%); font-size: 9px; font-weight: 800; letter-spacing: .04em; }
.public-subscriptions-prototype .main-nav { display: flex; height: 100%; flex: 1; align-items: center; gap: 28px; }
.public-subscriptions-prototype .main-nav a { position: relative; color: #4c596e; font-size: 15px; }
.public-subscriptions-prototype .main-nav a.active { color: #1478f2; font-weight: 700; }
.public-subscriptions-prototype .main-nav a.active::after { position: absolute; right: 0; bottom: -27px; left: 0; height: 3px; border-radius: 3px 3px 0 0; background: #1478f2; content: ""; }
.public-subscriptions-prototype .main-nav .ai-nav-link { color: #514bd4; font-weight: 750; }
.public-subscriptions-prototype .main-nav .ai-nav-link span { color: #7c5cff; }
.public-subscriptions-prototype .header-actions { display: flex; align-items: center; gap: 10px; }
.public-subscriptions-prototype .text-button, .public-subscriptions-prototype .primary-button { border: 0; border-radius: 9px; cursor: pointer; font-weight: 650; }
.public-subscriptions-prototype .text-button { padding: 10px 14px; color: #46536a; background: transparent; }
.public-subscriptions-prototype .primary-button { padding: 12px 18px; color: #fff; background: #1478f2; box-shadow: 0 8px 20px rgb(20 120 242 / 18%); }
.public-subscriptions-prototype .primary-button.compact { padding: 10px 17px; }
.public-subscriptions-prototype .subscription-page { background: #f4f7fb; }
.public-subscriptions-prototype .subscription-workspace { display: grid; grid-template-columns: 202px minmax(0, 1fr); gap: 20px; align-items: start; padding-top: 22px; padding-bottom: 70px; }
.public-subscriptions-prototype .subscription-main { min-width: 0; }
.public-subscriptions-prototype .section-kicker { margin: 0 0 6px; color: #1478f2; font-size: 13px; font-weight: 750; letter-spacing: .08em; }
.public-subscriptions-prototype .subscription-main h1, .public-subscriptions-prototype .subscription-main > p:not(.section-kicker) { margin: 0; font-size: 16px; font-weight: 400; line-height: 24px; }
.public-subscriptions-prototype .subscription-card { border: 1px solid #e5eaf2; border-radius: 13px; background: #fff; box-shadow: 0 5px 18px rgb(42 65 94 / 3.5%); }
.public-subscriptions-prototype .subscription-card p { margin: 0; line-height: 24px; }
.public-subscriptions-prototype .match-modal-actions { display: flex; gap: 10px; margin-top: 18px; }
.public-subscriptions-prototype .outline-button { padding: 10px 16px; border: 1px solid #cfd8e6; border-radius: 8px; color: #53627a; background: #fff; white-space: nowrap; }
.public-subscriptions-prototype .site-footer { padding: 50px 0 0; color: #cbd5e5; background: #142139; }
.public-subscriptions-prototype .footer-grid { display: grid; grid-template-columns: 1.35fr repeat(4, 1fr); gap: 50px; padding-bottom: 38px; }
.public-subscriptions-prototype .footer-grid img { width: 150px; border-radius: 9px; background: #fff; }
.public-subscriptions-prototype .footer-grid p { margin-top: 16px; color: #8f9cb1; }
.public-subscriptions-prototype .footer-grid > div { display: grid; align-content: start; gap: 11px; }
.public-subscriptions-prototype .footer-grid strong { margin-bottom: 5px; color: #fff; }
.public-subscriptions-prototype .footer-grid a { color: #9eabc0; font-size: 14px; }
.public-subscriptions-prototype .footer-bottom { padding: 20px 0; border-top: 1px solid rgb(255 255 255 / 10%); color: #74829a; font-size: 13px; }
.public-subscriptions-prototype .subscription-guest-page { background: #fff; }
.public-subscriptions-prototype .subscription-guest-hero { padding: 72px 0 78px; overflow: hidden; border-bottom: 1px solid #deebfa; background: radial-gradient(circle at 82% 18%, rgb(59 151 255 / 17%), transparent 33%), linear-gradient(135deg, #f4f9ff, #eef6ff 55%, #f8fbff); }
.public-subscriptions-prototype .subscription-guest-hero > .prototype-shell { display: grid; grid-template-columns: minmax(0, .83fr) minmax(520px, 1.17fr); gap: 58px; align-items: center; }
.public-subscriptions-prototype .section-kicker { margin: 0 0 12px; color: #1478f2; font-size: 13px; font-weight: 750; letter-spacing: .11em; }
.public-subscriptions-prototype .subscription-guest-hero h1 { margin: 7px 0 19px; color: #17243c; font-size: clamp(40px, 5vw, 58px); font-weight: 400; line-height: 1.18; letter-spacing: -.04em; }
.public-subscriptions-prototype .subscription-guest-hero > .prototype-shell > div:first-child > p:not(.section-kicker) { color: #687991; font-size: 15px; line-height: 1.9; }
.public-subscriptions-prototype .subscription-guest-hero > .prototype-shell > div:first-child > div { display: flex; gap: 10px; margin: 26px 0 14px; }
.public-subscriptions-prototype .subscription-guest-hero small { color: #8b99aa; font-size: 11px; }
.public-subscriptions-prototype .subscription-preview-window { overflow: hidden; border: 1px solid #d9e5f4; border-radius: 16px; background: #fff; box-shadow: 0 26px 70px rgb(44 83 127 / 17%); transform: perspective(1000px) rotateY(-2deg); }
.public-subscriptions-prototype .subscription-preview-window header { display: flex; height: 58px; align-items: center; justify-content: space-between; padding: 0 20px; border-bottom: 1px solid #e8edf3; }
.public-subscriptions-prototype .subscription-preview-window header span { color: #354157; font-weight: 750; }
.public-subscriptions-prototype .subscription-preview-window header em { padding: 5px 9px; border-radius: 11px; color: #e25e45; background: #fff0ec; font-size: 10px; font-style: normal; }
.public-subscriptions-prototype .preview-tabs { display: flex; gap: 20px; padding: 14px 20px 12px; border-bottom: 1px solid #edf0f4; color: #7c899b; font-size: 10px; }
.public-subscriptions-prototype .preview-tabs b { color: #1478f2; }
.public-subscriptions-prototype .subscription-preview-window article { display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 15px 20px; border-bottom: 1px solid #edf0f4; }
.public-subscriptions-prototype .subscription-preview-window article > i { display: grid; width: 20px; height: 20px; place-items: center; border-radius: 50%; color: #e25f47; background: #fff0ec; font-size: 8px; font-style: normal; }
.public-subscriptions-prototype .subscription-preview-window article strong { display: block; overflow: hidden; color: #3f4d62; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.public-subscriptions-prototype .subscription-preview-window article p { margin: 5px 0 0; color: #8d98a8; font-size: 9px; }
.public-subscriptions-prototype .subscription-preview-window article > span { color: #617b94; font-size: 9px; }
.public-subscriptions-prototype .subscription-preview-window footer { display: flex; justify-content: space-between; padding: 13px 20px; color: #8d98a8; background: #f8fafc; font-size: 9px; }
.public-subscriptions-prototype .subscription-preview-window footer b { color: #1478f2; }
.public-subscriptions-prototype .subscription-benefits { padding: 80px 0; }
.public-subscriptions-prototype .subscription-benefits > div:first-child { text-align: center; }
.public-subscriptions-prototype .subscription-benefits h2 { margin: 0; color: #17243c; font-size: 30px; font-weight: 400; }
.public-subscriptions-prototype .subscription-benefit-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 38px; }
.public-subscriptions-prototype .subscription-benefit-grid article { padding: 28px; border: 1px solid #e0e7f0; border-radius: 14px; background: #fff; box-shadow: 0 10px 28px rgb(39 69 105 / 5%); }
.public-subscriptions-prototype .subscription-benefit-grid article > span { color: #1478f2; font-size: 11px; letter-spacing: .12em; }
.public-subscriptions-prototype .subscription-benefit-grid h3 { margin: 13px 0 10px; color: #334158; font-size: 19px; font-weight: 400; }
.public-subscriptions-prototype .subscription-benefit-grid p { min-height: 68px; margin: 0; color: #758297; font-size: 13px; line-height: 1.8; }
.public-subscriptions-prototype .subscription-benefit-grid small { display: block; margin-top: 18px; padding-top: 14px; border-top: 1px solid #edf0f4; color: #8d98a8; font-size: 10px; }
.public-subscriptions-prototype .subscription-flow { padding: 62px 0 70px; background: #f5f8fc; }
.public-subscriptions-prototype .subscription-flow h2 { margin: 0 0 32px; color: #17243c; font-size: 27px; font-weight: 400; text-align: center; }
.public-subscriptions-prototype .subscription-flow .prototype-shell > div { display: grid; grid-template-columns: repeat(7, auto); gap: 12px; align-items: center; }
.public-subscriptions-prototype .subscription-flow article { min-width: 0; text-align: center; }
.public-subscriptions-prototype .subscription-flow article span { display: grid; width: 32px; height: 32px; margin: 0 auto 11px; place-items: center; border-radius: 50%; color: #1478f2; background: #e2f0ff; font-weight: 750; }
.public-subscriptions-prototype .subscription-flow article strong { color: #3d4b60; font-size: 13px; }
.public-subscriptions-prototype .subscription-flow article p { color: #8995a6; font-size: 10px; }
.public-subscriptions-prototype .subscription-flow i { color: #a7b6c7; font-style: normal; }
.public-subscriptions-prototype .subscription-cta { padding: 45px 0; color: #fff; background: linear-gradient(135deg, #0e63ca, #1687f3); }
.public-subscriptions-prototype .subscription-cta .prototype-shell { display: flex; align-items: center; justify-content: space-between; gap: 25px; }
.public-subscriptions-prototype .subscription-cta h2 { margin: 0 0 7px; font-size: 25px; font-weight: 400; }
.public-subscriptions-prototype .subscription-cta p { margin: 0; color: rgb(255 255 255 / 72%); font-size: 12px; }
.public-subscriptions-prototype .subscription-cta .primary-button { color: #0c55bd; background: #fff; box-shadow: none; }
@media (max-width: 900px) {
    .public-subscriptions-prototype .main-nav { display: none; }
    .public-subscriptions-prototype .header-actions { margin-left: auto; }
    .public-subscriptions-prototype .subscription-guest-hero > .prototype-shell { grid-template-columns: 1fr; }
    .public-subscriptions-prototype .subscription-preview-window { transform: none; }
    .public-subscriptions-prototype .subscription-flow .prototype-shell > div { grid-template-columns: repeat(4, 1fr); }
    .public-subscriptions-prototype .subscription-flow i { display: none; }
}
@media (max-width: 640px) {
    .public-subscriptions-prototype .prototype-shell { width: min(100% - 24px, 1180px); }
    .public-subscriptions-prototype .prototype-brand img { width: 132px; }
    .public-subscriptions-prototype .subscription-guest-hero { padding: 48px 0; }
    .public-subscriptions-prototype .subscription-guest-hero h1 { font-size: 36px; }
    .public-subscriptions-prototype .subscription-guest-hero > .prototype-shell { gap: 34px; }
    .public-subscriptions-prototype .subscription-guest-hero > .prototype-shell > div:first-child > div { flex-direction: column; align-items: stretch; }
    .public-subscriptions-prototype .subscription-guest-hero :is(.primary-button, .outline-button) { text-align: center; }
    .public-subscriptions-prototype .subscription-preview-window article { grid-template-columns: 20px minmax(0, 1fr); }
    .public-subscriptions-prototype .subscription-preview-window article > span { display: none; }
    .public-subscriptions-prototype .subscription-benefits { padding: 55px 0; }
    .public-subscriptions-prototype .subscription-benefits h2 { font-size: 23px; }
    .public-subscriptions-prototype .subscription-benefit-grid { grid-template-columns: 1fr; }
    .public-subscriptions-prototype .subscription-benefit-grid p { min-height: auto; }
    .public-subscriptions-prototype .subscription-flow .prototype-shell > div { grid-template-columns: repeat(2, 1fr); gap: 24px 12px; }
    .public-subscriptions-prototype .subscription-cta .prototype-shell { display: grid; }
    .public-subscriptions-prototype .subscription-cta .primary-button { text-align: center; }
}

.entity-profile-hero { padding: 3.5rem 0 0; background: linear-gradient(135deg, #edf4ff, #f8fbff); border-bottom: 1px solid #dbe7f5; }
.entity-profile-hero h1 { margin: .35rem 0; color: #172554; font-size: clamp(2rem, 4vw, 3.1rem); }
.entity-profile-hero p:not(.public-eyebrow) { margin: 0; color: #64748b; line-height: 1.7; }
.entity-profile-hero__heading { display: flex; align-items: start; justify-content: space-between; gap: 2rem; }
.entity-profile-hero__heading > span { padding: .45rem .8rem; border-radius: 999px; color: #295cc9; background: #dbeafe; font-size: .82rem; font-weight: 800; white-space: nowrap; }
.entity-profile-hero__facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 2rem 0; }
.entity-profile-hero__facts div { padding: 1rem 1.1rem; border: 1px solid #dbe7f5; border-radius: .75rem; background: #fff; }
.entity-profile-hero__facts dt { color: #71819a; font-size: .8rem; }
.entity-profile-hero__facts dd { margin: .3rem 0 0; color: #1e3a8a; font-size: 1.2rem; font-weight: 800; }
.entity-profile-tabs { display: flex; flex-wrap: wrap; gap: 1.5rem; }
.entity-profile-tabs a { padding: 0 0 1rem; color: #536782; font-size: .88rem; font-weight: 800; }
.entity-profile-tabs a:first-child { border-bottom: 2px solid #2878df; color: #2878df; }
.entity-profile-content { padding-top: 2rem; }
.entity-profile-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.entity-profile-card { padding: 1.5rem; border: 1px solid #dce6f2; border-radius: .9rem; background: #fff; }
.entity-profile-card--wide { grid-column: 1 / -1; }
.entity-profile-card h2 { margin: .35rem 0 .8rem; color: #172554; font-size: 1.15rem; }
.entity-profile-card p { color: #64748b; line-height: 1.7; }
.entity-profile-card ul { display: grid; gap: .65rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.entity-profile-card li { display: flex; justify-content: space-between; gap: 1rem; color: #475569; }
.entity-profile-card li span { color: #94a3b8; font-size: .85rem; }
.entity-profile-card dl { display: grid; grid-template-columns: max-content 1fr; gap: .75rem 1rem; margin: 1rem 0 0; }
.entity-profile-card dt { color: #71819a; }
.entity-profile-card dd { margin: 0; color: #334155; font-weight: 700; }
.entity-profile-card a { color: #2867d6; font-weight: 700; }

.public-footer nav { display: flex; flex-wrap: wrap; gap: 1rem; }

/* Public directory and competition pages follow the approved catalog hierarchy. */
.portal-directory-hero,.portal-competition-hero { padding: 42px 0; background: linear-gradient(135deg, #edf4ff, #f8fbff); border-bottom: 1px solid #dbe7f5; }
.portal-directory-hero h1,.portal-competition-hero h1 { margin: .3rem 0 .6rem; color: #172554; font-size: clamp(2rem, 4vw, 3rem); }
.portal-directory-hero p:not(.public-eyebrow) { margin: 0; color: #64748b; }.portal-directory-search { display: grid; grid-template-columns: 1fr auto; max-width: 560px; margin-top: 1.5rem; overflow: hidden; border: 2px solid var(--public-primary); border-radius: .7rem; background: #fff; }.portal-directory-search input { min-width: 0; padding: .85rem 1rem; border: 0; outline: 0; font: inherit; }.portal-directory-search button { padding: 0 1.5rem; border: 0; color: #fff; background: var(--public-primary); font: inherit; font-weight: 700; cursor: pointer; }
.portal-directory { background: #f6f8fb; }.portal-directory-filters { display: flex; flex-wrap: wrap; gap: .8rem; padding: 1rem; border: 1px solid #dce6f2; border-radius: .85rem; background: #fff; }.portal-directory-filters label { display: grid; gap: .3rem; color: #64748b; font-size: .8rem; }.portal-directory-filters select { min-width: 120px; padding: .5rem; border: 1px solid #d7e0ec; border-radius: .4rem; color: #334155; background: #fff; font: inherit; }.portal-directory-filters button { align-self: end; }.portal-directory-results-head { display: flex; gap: .8rem; align-items: baseline; margin: 1.5rem 0 .75rem; }.portal-directory-results-head strong { color: #1e3a5f; font-size: 1.15rem; }.portal-directory-results-head span { color: #718096; font-size: .9rem; }
.portal-directory-row { display: flex; justify-content: space-between; gap: 1rem; margin-top: .75rem; padding: 1.25rem; border: 1px solid #dce6f2; border-radius: .85rem; background: #fff; }.portal-directory-row h2 { margin: 0; color: #1e3a5f; font-size: 1.1rem; }.portal-directory-row h2 a { color: inherit; }.portal-directory-row p { margin: .45rem 0 0; color: #64748b; font-size: .9rem; }.portal-directory-row > div:last-child { display: grid; align-content: center; justify-items: end; gap: .8rem; color: #718096; font-size: .8rem; white-space: nowrap; }
.portal-competition-hero { color: #fff; background: linear-gradient(125deg, #152641, #173d60); }.portal-competition-hero h1 { color: #fff; }.portal-competition-hero p:not(.public-eyebrow) { max-width: 700px; color: #c7d7e9; }.portal-competition-hero a { display: inline-block; margin-top: .9rem; color: #ddecff; font-weight: 700; }.portal-competition__layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 1.5rem; }.portal-competition__main { display: grid; gap: 1rem; }.portal-competition__panel { padding: 1.4rem; border: 1px solid #dce6f2; border-radius: .85rem; background: #fff; box-shadow: 0 3px 13px rgb(35 59 89 / 3%); }.portal-competition__panel h2 { margin: .25rem 0 1rem; color: #1e3a5f; font-size: 1.25rem; }.portal-competition__panel h3 { margin: 1.25rem 0 .3rem; color: #334155; font-size: 1rem; }.portal-competition__panel p { color: #64748b; line-height: 1.7; }.portal-competition__fact { display: grid; grid-template-columns: 120px minmax(0, 1fr) auto auto; gap: .8rem; align-items: center; padding: .8rem 0; border-top: 1px solid #edf1f5; }.portal-competition__fact a { color: #2867d6; font-weight: 700; }.portal-competition__fact span,.portal-competition__fact time { color: #718096; font-size: .82rem; }.portal-competition__metrics { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; }.portal-competition__metrics div { padding: .8rem; border-right: 1px solid #edf1f5; }.portal-competition__metrics div:last-child { border: 0; }.portal-competition__metrics dt { color: #718096; font-size: .82rem; }.portal-competition__metrics dd { margin: .35rem 0 0; color: #1e3a5f; font-size: 1.45rem; font-weight: 800; }.portal-competition__boundary { margin-top: 1rem; padding: 1rem; border-radius: .75rem; color: #64748b; background: #f1f4f8; font-size: .85rem; }.portal-competition__boundary p { margin: .35rem 0 0; line-height: 1.6; }

@media (max-width: 48rem) {
    .public-header__inner { flex-wrap: wrap; padding: .75rem 0; }
    .public-nav { order: 3; width: 100%; }
    .public-header__actions { margin-left: auto; }
    .public-hero { padding: 3.5rem 0 3rem; }
    .public-stats, .public-card-grid { grid-template-columns: 1fr; }
    .proto-search { display: grid; overflow: visible; border-radius: .75rem; }
    .proto-search__scope { border-right: 0; border-bottom: 1px solid #e2e8f0; }
    .proto-search input { min-height: 3rem; }
    .proto-search button { min-height: 3rem; }
    .public-overview-strip, .public-workflow-grid, .public-geo-faq__grid, .public-content-grid { grid-template-columns: 1fr; }
    .entity-profile-grid, .entity-profile-hero__facts { grid-template-columns: 1fr; }
    .entity-profile-hero__heading { display: grid; gap: 1rem; }
    .portal-competition__layout { grid-template-columns: 1fr; }.portal-competition__fact { grid-template-columns: 1fr; gap: .25rem; }.portal-directory-row { display: grid; }.portal-directory-row > div:last-child { justify-items: start; white-space: normal; }
    .public-overview-strip { gap: .4rem; margin-top: 0; }
    .public-overview-strip div { border-right: 0; border-bottom: 1px solid #e7eef8; }
    .public-overview-strip div:last-child { border-bottom: 0; }
    .public-section-heading { display: grid; gap: .8rem; align-items: start; }
    .public-recommendation { grid-template-columns: 1fr; }
    .public-recommendation__score { justify-items: start; }
    .public-recommendation__actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .public-filters { display: grid; grid-template-columns: 1fr; }
    .public-private-action { align-items: stretch; }
    .workspace-page { padding: 1rem; }
    .workspace-shell { grid-template-columns: 1fr; gap: 1rem; }
    .workspace-sidebar { position: static; }
    .workspace-sidebar__nav { grid-template-columns: repeat(4, minmax(0, 1fr)); overflow-x: auto; }
    .workspace-sidebar__nav a { min-width: max-content; text-align: center; }
    .workspace-sidebar__label, .workspace-sidebar__disabled { display: none; }
    .workspace-sidebar__foot { display: none; }
    .workspace-topbar { padding: .75rem 1.25rem; }
    .workspace-stage__header { display: grid; padding: 1.25rem; }
    .workspace-stage__actions { justify-content: flex-start; }
    .workspace-stage__content { padding: 1rem; }
    .workspace-grid, .workspace-inbox, .workspace-form__grid, .workspace-definition-list, .workspace-settings-grid, .workspace-profile-grid { grid-template-columns: 1fr; }
    .workspace-profile-grid__wide, .workspace-form__wide { grid-column: auto; }
    .public-subscriptions-prototype .main-nav { display: none; }
    .public-subscriptions-prototype .subscription-workspace { grid-template-columns: 1fr; }
    .public-subscriptions-prototype .footer-grid { grid-template-columns: repeat(2, 1fr); }
}

/* Public catalogue views use the approved blue CTA token without changing private branding. */
.portal-keyword-search { grid-template-columns: auto 136px minmax(0, 1fr) auto; }
.portal-search-tabs { display: flex; align-items: stretch; border-right: 1px solid #e2e8f0; }
.portal-search-tabs button { min-width: max-content; padding: 0 13px; color: #718096; background: #fff; font-size: 13px; font-weight: 700; }
.portal-search-tabs button.is-active { color: var(--public-primary); box-shadow: inset 0 -2px 0 var(--public-primary); }
.portal-search-tabs button:disabled { color: #9aa6b6; background: #f8fafc; cursor: not-allowed; }
.portal-keyword-search > button, .portal-directory-search button, .portal-pricing-cards .recommended a, .public-hero--ai .proto-search button { background: var(--public-primary); }
.portal-pricing-cards article.recommended { border-color: var(--public-primary); }
.portal-pricing-cards em { background: var(--public-primary); }
.portal-pricing-cards a { color: var(--public-primary); border-color: var(--public-primary); }
.portal-filter-options { display: flex; flex-wrap: wrap; gap: 8px; }
.portal-filter-options a { min-width: 0; padding: 7px 10px; border: 1px solid #dce4ef; border-radius: 7px; color: #52647b; background: #fff; font: inherit; font-size: 13px; }
.portal-filter-options :is(a, button) { border-color: transparent; background: #f4f7fb; text-decoration: none; }
.portal-filter-options :is(a, button).is-selected { color: var(--public-primary); border-color: color-mix(in srgb, var(--public-primary) 24%, white); background: color-mix(in srgb, var(--public-primary) 9%, white); font-weight: 700; }
.portal-ai-summary { border-color: color-mix(in srgb, var(--public-primary) 24%, white); background: linear-gradient(145deg, color-mix(in srgb, var(--public-primary) 9%, white), #fff); }
.portal-ai-summary header { display: flex; align-items: center; gap: 10px; }
.portal-ai-summary header > span { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 9px; color: #fff; background: var(--public-primary); }
.portal-ai-summary h3, .portal-ai-summary p { margin: 0; }
.portal-ai-summary header p { margin-top: 3px; font-size: 12px; }
.portal-ai-summary ul { display: grid; gap: 8px; margin: 16px 0; padding: 0; list-style: none; }
.portal-ai-summary li { display: flex; justify-content: space-between; gap: 12px; color: #61718a; font-size: 13px; }
.portal-ai-summary li strong { color: #758096; font-size: 12px; }
.portal-ai-summary .public-button, .portal-ai-summary button { width: 100%; box-sizing: border-box; }
.portal-ai-summary button { min-height: 40px; margin-top: 8px; border: 1px solid #cfd9e7; border-radius: 8px; color: #8b97a7; background: #fff; font: inherit; font-size: 13px; font-weight: 700; cursor: not-allowed; }

@media (max-width: 850px) {
    .portal-keyword-search { grid-template-columns: 1fr 1fr; }
    .portal-search-tabs { grid-column: 1 / -1; min-height: 42px; border-right: 0; border-bottom: 1px solid #e2e8f0; }
}

@media (max-width: 560px) {
    .portal-keyword-search { grid-template-columns: 1fr; }
    .portal-search-tabs { grid-column: auto; }
    .portal-search-tabs button { flex: 1; }
}

@media (max-width: 28rem) {
    .public-container { width: min(100% - 1.25rem, 72rem); }
    .public-brand { font-size: 1rem; }
    .public-header__actions { gap: .5rem; }
    .public-button { padding-inline: .75rem; }
    .public-nav { gap: .5rem .75rem; }
    .public-detail { width: min(100% - 1.25rem, 60rem); padding: 1.25rem; }
    .workspace-page { padding: .625rem; }
    .workspace-topbar { display: grid; grid-template-columns: 1fr; padding: .75rem 1rem; }
    .workspace-topbar > div { justify-content: flex-end; }
    .workspace-topbar__user { display: none; }
    .public-subscriptions-prototype .prototype-shell { width: min(100% - 24px, 1180px); }
    .public-subscriptions-prototype .prototype-brand img { width: 132px; }
    .public-subscriptions-prototype .header-inner { gap: 10px; }
    .public-subscriptions-prototype .header-actions { margin-left: auto; }
    .public-subscriptions-prototype .footer-grid { grid-template-columns: 1fr; }
}

/* Public directory, subscriptions, competition, and information-page visual baseline. */
.portal-directory-page { background: #f6f8fb; }
.portal-directory-hero { padding: 34px 0; }
.portal-directory-hero__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, 520px); align-items: end; gap: 45px; }
.portal-directory-hero .public-eyebrow, .portal-competition-hero .public-eyebrow { color: var(--public-primary); font-size: 13px; letter-spacing: .08em; }
.portal-directory-hero h1 { margin: 5px 0 9px; font-size: 29px; }
.portal-directory-search { max-width: none; margin: 0; border-color: var(--public-primary); border-radius: 10px; }
.portal-directory-search input { padding: 15px 17px; }
.portal-directory-search button { min-width: 88px; background: var(--public-primary); }
.portal-directory__body { padding: 24px 0 70px; }
.portal-directory-filters { display: grid; gap: 0; padding: 5px 22px; border-radius: 14px; box-shadow: 0 5px 20px rgb(39 67 104 / 4%); }
.portal-directory-filters label { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 12px; align-items: center; min-height: 55px; padding: 10px 0; border-bottom: 1px dashed #e5eaf1; color: #68758a; font-size: 14px; }
.portal-directory-filters label:last-of-type { border-bottom: 0; }
.portal-directory-filters label strong { font-size: 14px; font-weight: 700; }
.portal-directory-filters select { width: max-content; min-width: 132px; min-height: 38px; padding: 8px 30px 8px 12px; border: 0; color: #4f5c70; background: transparent; }
.portal-directory-filters .public-button { width: max-content; margin: 6px 0 12px 124px; }
.portal-directory-results-head { justify-content: space-between; margin: 24px 0 12px; }
.portal-directory-results-head > div { display: flex; align-items: baseline; gap: 10px; }
.portal-directory-results-head strong { font-size: 17px; }
.portal-directory-results-head span { color: #97a2b2; font-size: 12px; }
.portal-directory-results { overflow: hidden; border: 1px solid #e4e9f1; border-radius: 13px; background: #fff; }
.portal-directory-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; margin: 0; padding: 25px 24px; border: 0; border-bottom: 1px solid #e4e9f1; border-radius: 0; }
.portal-directory-row:last-child { border-bottom: 0; }
.portal-directory-row:hover { background: #fbfdff; }
.portal-directory-row__title { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.portal-directory-row h2 { font-size: 18px; }
.portal-directory-row__title span { padding: 4px 7px; border-radius: 5px; color: #728095; background: #f1f4f8; font-size: 11px; }
.portal-directory-row > div:last-child { min-width: 160px; }

.entity-profile-page { background: #f6f8fb; }
.entity-profile-hero { padding: 25px 0 0; background: linear-gradient(135deg, #f5f9ff, #eef5ff); }
.entity-profile-identity { display: grid; grid-template-columns: 76px minmax(0, 1fr) auto; gap: 20px; align-items: center; margin-top: 18px; }
.entity-profile-avatar { display: grid; width: 76px; height: 76px; place-items: center; border-radius: 14px; color: #fff; background: linear-gradient(145deg, #1e86f7, #0b5fc7); font-size: 30px; font-weight: 800; }
.entity-profile-verified { margin: 0; color: #16835f !important; font-size: 12px; }
.entity-profile-identity h1 { margin: 5px 0 7px; font-size: 27px; }
.entity-profile-tabs { gap: 22px; margin-top: 24px; border-bottom: 1px solid #e1e7ef; }
.entity-profile-tabs a { padding-bottom: 14px; }
.entity-profile-content { padding: 28px 0 70px; }
.entity-profile-layout { max-width: 930px; }
.entity-profile-panel { display: grid; gap: 20px; }
.entity-profile-summary { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; padding: 20px 0; border: 1px solid #e4e9f1; border-radius: 12px; background: #fff; }
.entity-profile-summary div { padding: 0 19px; border-right: 1px solid #e4e9f1; }
.entity-profile-summary div:last-child { border: 0; }
.entity-profile-summary dt { color: #929daf; font-size: 12px; }
.entity-profile-summary dd { margin: 8px 0 0; color: #354258; font-size: 15px; font-weight: 800; }
.entity-profile-card { padding: 22px; border-color: #e4e9f1; border-radius: 12px; box-shadow: none; }
.entity-profile-card h2 { color: #25344b; font-size: 18px; }
.entity-profile-card ul { gap: 0; }
.entity-profile-card li { display: grid; gap: 5px; padding: 14px 4px; border-top: 1px solid #edf0f4; }
.entity-profile-card li span { color: #758096; }
.entity-profile-chart header .public-eyebrow { margin-bottom: 3px; font-size: 12px; }
.entity-profile-bars { display: flex; align-items: end; gap: 18px; min-height: 180px; padding: 20px 15px 0; border-bottom: 1px solid #dfe5ee; }
.entity-profile-bars > div { display: grid; flex: 1; align-items: end; height: 160px; text-align: center; }
.entity-profile-bars i { align-self: end; min-height: 25px; border-radius: 6px 6px 0 0; background: linear-gradient(180deg, #2f8ef4, #28b298); }
.entity-profile-bars strong { padding: 7px 0; color: #8a96a8; font-size: 11px; }
.entity-profile-bars span { color: #526077; font-size: 12px; }
.entity-profile-bars > p { align-self: center; color: #718095; }
.entity-profile-source { display: flex; flex-wrap: wrap; gap: 9px 18px; align-items: center; padding: 22px; border: 1px solid #e4e9f1; border-radius: 12px; background: #fff; }
.entity-profile-source > span { padding: 6px 9px; border-radius: 6px; color: #617289; background: #f3f6fa; font-size: 11px; }
.entity-profile-source p { width: 100%; margin: 0; color: #8995a7; font-size: 12px; line-height: 1.7; }

.public-subscriptions-page { min-height: 480px; background: #f4f7fb; }
.public-subscriptions-workspace { padding: 22px 0 70px; }
.public-subscriptions-main { max-width: 760px; }
.public-subscriptions-main > .public-eyebrow { margin-bottom: 6px; font-size: 13px; }
.public-subscriptions-main h1 { margin: 0; color: #25344b; font-size: 24px; }
.public-subscriptions-main > p:not(.public-eyebrow) { margin: 8px 0 20px; color: #68758a; line-height: 24px; }
.public-subscription-card { padding: 24px; border: 1px solid #e5eaf2; border-radius: 13px; background: #fff; box-shadow: 0 5px 18px rgb(42 65 94 / 3.5%); }
.public-subscription-card p { margin: 8px 0 0; color: #68758a; line-height: 24px; }
.public-subscription-card__actions { display: flex; gap: 10px; margin-top: 18px; }

.portal-competition-page { background: #f6f8fb; }
.portal-competition-hero { padding: 56px 0 42px; background: radial-gradient(circle at 80% 20%, rgb(34 190 166 / 22%), transparent 30%), linear-gradient(125deg, #152641, #173d60); }
.portal-competition-back { display: inline-block; margin-bottom: 20px; color: #ddecff; font-size: 13px; font-weight: 700; }
.portal-competition-hero h1 { margin: 8px 0 12px; font-size: 38px; }
.portal-competition__layout { grid-template-columns: minmax(0, 1fr) 320px; gap: 24px; padding: 30px 0 60px; }
.portal-competition__main { gap: 18px; }
.portal-competition__panel { padding: 24px; border-color: #e4e9f1; border-radius: 17px; box-shadow: 0 8px 25px rgb(27 48 88 / 4%); }
.portal-competition__panel .public-eyebrow { margin-bottom: 4px; color: #087f72; font-size: 12px; }
.portal-competition__aside .public-eyebrow { color: #5d66d8; }
.portal-competition__panel h2 { margin: 0 0 18px; font-size: 21px; }
.portal-competition__fact { grid-template-columns: 1.4fr 1.6fr .7fr .6fr; gap: 14px; padding: 14px 4px; }
.portal-competition__metrics { border: 1px solid #e4e9f1; border-radius: 12px; padding: 20px 0; }
.portal-competition__metrics div { padding: 0 19px; }
.portal-competition__boundary { padding: 18px; border-radius: 14px; font-size: 12px; }

.public-static-page { background: #fff; }
.public-static-hero { padding: 70px 0 54px; background: linear-gradient(145deg, #f4f9ff, #fff); }
.public-static-hero h1 { max-width: 760px; margin: 0 0 18px; color: #25344b; font-size: clamp(30px, 5vw, 52px); }
.public-static-hero span { display: block; max-width: 760px; color: #68758a; line-height: 1.9; }
.public-static-hero small { display: block; margin-top: 16px; color: #8a96a8; font-size: 12px; }
.public-static-hero p { margin: 0; color: #1478f2; font-weight: 700; }
.public-static-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; padding-top: 42px; padding-bottom: 64px; }
.public-static-grid .public-static__body { width: auto; margin: 0; padding: 28px; border: 1px solid #e5ebf2; border-radius: 14px; background: #fff; }
.public-static-grid .public-static__body p { color: #718095; line-height: 1.9; }

@media (max-width: 1100px) {
    .portal-directory-hero__inner { grid-template-columns: 1fr; gap: 20px; }
}

@media (max-width: 1000px) {
    .portal-competition__layout { grid-template-columns: 1fr; }
}

@media (max-width: 48rem) {
    .portal-directory-row { grid-template-columns: 1fr; }
    .portal-directory-row > div:last-child { min-width: 0; justify-items: start; white-space: normal; }
    .portal-directory-filters .public-button { margin-left: 0; }
    .entity-profile-identity, .entity-profile-summary, .portal-competition__fact, .portal-competition__metrics { grid-template-columns: 1fr; }
    .entity-profile-identity { align-items: start; }
    .entity-profile-summary div, .portal-competition__metrics div { padding: 12px 0; border-right: 0; border-bottom: 1px solid #e4e9f1; }
    .entity-profile-summary div:last-child, .portal-competition__metrics div:last-child { border-bottom: 0; }
    .portal-announcement__body { min-width: 0; overflow-wrap: anywhere; word-break: break-word; }
    .portal-announcement__body :is(a, code) { overflow-wrap: anywhere; word-break: break-word; }
    .portal-announcement__body pre { max-width: 100%; overflow: auto; white-space: pre-wrap; }
    .portal-announcement__body table { display: block; max-width: 100%; overflow-x: auto; }
    .portal-announcement__body :is(img, video, audio, iframe) { max-width: 100%; }
    .portal-announcement__body :is(img, video) { height: auto; }
}

@media (max-width: 900px) {
    .checkout-layout { grid-template-columns: 1fr; }
    .order-summary-card { position: static; }
    .payment-choice-grid { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
    .checkout-page { padding-right: 14px; padding-left: 14px; }
    .checkout-plan-row { grid-template-columns: 1fr; }
    .payment-result-page > section { padding: 25px 18px; }
    .bank-account-card { grid-template-columns: 1fr; }
}

.public-daily-overview { padding: 24px 0 24px; background: #fff; }
.public-visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.public-daily-overview .public-container { max-width: 1200px; padding: 0; }
.public-daily-overview__section-title { padding: 0 0 10px; margin: 0; border-bottom: 3px solid #1685c7; color: #075a91; font-size: 20px; font-weight: 700; }
.public-daily-overview__grid { display: grid; grid-template-columns: 600px minmax(0, 1fr); gap: 26px; width: 100%; max-width: 1200px; height: auto; min-height: 574px; padding: 0; overflow: visible; border: 1px solid #eee; border-top: 0; background: #fff; }
.public-daily-overview__map { width: 600px; height: 557px; padding: 0; background: #fff; }
.public-daily-overview__summary { display: grid; grid-template-rows: auto auto; gap: 2px; width: auto; min-width: 0; height: auto; align-content: start; padding: 0; background: #fff; }
.public-daily-overview__unavailable { padding: 24px; border: 1px solid #dfe8f4; background: #fff; }
.public-china-map { position: relative; width: 600px; height: 557px; margin: 0; padding: 0; overflow: hidden; background: #fff; }.public-china-map__total { position: absolute; z-index: 1; top: 15px; left: 18px; color: #185685; font: 700 16px/1.2 "Microsoft YaHei", "PingFang SC", sans-serif; }.public-china-map--city .public-china-map__total { left: 110px; }.public-china-map__total strong { color: inherit; font-size: inherit; }.public-china-map__outline { display: block; width: 600px; height: 557px; margin: 0; }.public-china-map__outline path { stroke: #b2a471; stroke-width: 1; stroke-linejoin: round; }.public-china-map__outline a { cursor: pointer; outline: none; }.public-china-map__outline a:focus path { stroke: #7b5b1d; stroke-width: 3; }.public-china-map__outline a:not(.province-marker):hover path, .public-china-map__outline .province-unavailable:hover path { stroke: #6a8fca; stroke-width: 2; }.public-china-map__outline .province-unavailable, .public-china-map__outline .province-static path { fill: #bfd1fb; }.public-china-map__outline .province-count { fill: rgb(250 250 250 / 20%); stroke: rgb(146 208 80 / 40%); stroke-width: 4; }.public-china-map__outline .province-marker:hover .province-count { stroke: #87cefa; stroke-width: 5; }.public-china-map__outline .province-marker:hover .province-count-label { opacity: 0; }.public-china-map__outline text { fill: #8b4513; font: 12px/1 "Microsoft YaHei", "PingFang SC", sans-serif; text-anchor: middle; pointer-events: none; }.public-china-map__outline .province-count-label { fill: rgb(0 0 0 / 60%); }.public-china-map__outline .province-name, .public-china-map__outline .province-geo-label { font-size: 12px; }.south-china-sea rect { fill: rgb(255 255 255 / 70%); stroke: #b2a471; stroke-width: 1; }.south-china-sea path { fill: #bfd1fb; stroke: #b2a471; stroke-width: 1; }.south-china-sea text { font-size: 11px; }.public-china-map__legend { position: absolute; bottom: 8px; left: 4px; display: grid; justify-items: center; gap: 5px; color: #333; font: 600 12px/1 "Microsoft YaHei", "PingFang SC", sans-serif; }.public-china-map__legend i { width: 20px; height: 140px; border: 0; background: linear-gradient(#356df0, #a9c1fa); }.public-china-map__tooltip { position: absolute; z-index: 4; display: grid; gap: 2px; min-width: 72px; padding: 7px 9px; color: #fff; background: rgb(40 40 40 / 90%); font: 12px/1.35 "Microsoft YaHei", "PingFang SC", sans-serif; pointer-events: none; }.public-china-map__tooltip[hidden] { display: none; }.public-china-map__tooltip strong { font-weight: 500; }.public-china-map figcaption { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.public-china-map__regions { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; padding: 0; margin: 0; list-style: none; }.public-china-map__regions li { display: flex; gap: 6px; align-items: center; justify-content: space-between; min-width: 0; padding: 8px; border-radius: 8px; color: #255a9e; background: rgb(31 127 226 / calc(.08 + var(--daily-heat, 0) * .32)); font-size: 12px; }.public-china-map__regions li.is-unclassified { color: #68778a; background: #f1f4f8; }.public-china-map__regions a { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.public-china-map__regions strong { font-variant-numeric: tabular-nums; }
.public-china-map__return { position: absolute; z-index: 2; top: 10px; left: 10px; display: block; width: 70px; height: 50px; padding: 0; overflow: hidden; border: 1px solid #9fc1df; border-radius: 0 0 18px 0; background: #fff; cursor: pointer; animation: public-map-back-in .8s .2s both; }.public-china-map__return[hidden] { display: none; }.public-china-map__return span { display: block; width: 100%; height: 100%; }.public-china-map__thumbnail { width: 100%; height: 100%; pointer-events: none; }.public-china-map__thumbnail text, .public-china-map__thumbnail circle { display: none; }.public-china-map__outline--city path { fill: #bfd1fb; stroke: #9f8b49; stroke-width: 1.35; }.public-china-map__outline--enter { animation: public-map-enter .8s ease both; }.public-china-map__province-level { position: absolute; z-index: 1; right: 14px; top: 15px; color: #185685; font-size: 12px; font-weight: 700; }.public-china-map__status { position: absolute; z-index: 3; right: 18px; top: 52px; padding: 7px 9px; border: 1px solid #dce3ea; border-radius: 2px; color: #526981; background: rgb(255 255 255 / 94%); font-size: 12px; }.public-china-map__status[hidden] { display: none; }.public-china-map__status button { margin-left: 6px; padding: 3px 9px; border: 1px solid #1478f2; border-radius: 2px; color: #1478f2; background: #fff; cursor: pointer; }@keyframes public-map-enter { from { opacity: 0; } to { opacity: 1; } }@keyframes public-map-back-in { from { opacity: 0; transform: translateX(-10px); } to { opacity: 1; transform: translateX(0); } }@media (prefers-reduced-motion: reduce) { .public-china-map__outline--enter, .public-china-map__return { animation: none; } }
.public-daily-overview__stats-panel, .public-daily-overview__search-panel { overflow: hidden; border: 1px solid #ccd1d5; border-top: 4px solid #0b83c6; background: #fff; }.public-daily-overview__panel-title { height: 43px; padding: 0 0 0 22px; margin: 0; color: #075a91; font-size: 16px; font-weight: 700; line-height: 39px; }.public-daily-overview__panel-title span { margin-right: 8px; color: #158bc9; font-size: 22px; vertical-align: -1px; }.public-daily-overview__panel-title b { font-weight: 700; }.public-daily-overview__total { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }.public-daily-overview__types { height: auto; max-height: 420px; padding: 12px 20px 14px; overflow: auto; border-top: 1px solid #e3e6e9; }.public-daily-overview__types ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 22px; padding: 0; margin: 0; list-style: none; }.public-daily-overview__types li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; min-height: 31px; padding: 0 10px; background: #f7f7f7; color: #363b42; font-size: 13px; }.public-daily-overview__types a, .public-daily-overview__types span { overflow: hidden; color: #1b5f8e; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }.public-daily-overview__types strong { color: #0787cd; font-variant-numeric: tabular-nums; }
.public-daily-overview__search { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 14px; padding: 15px 20px; }.public-daily-overview__search label { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 8px; align-items: center; color: #17618f; font-size: 13px; font-weight: 700; }.public-daily-overview__search select, .public-daily-overview__search input { width: 100%; height: 36px; padding: 0 10px; border: 1px solid #9fa7ae; border-radius: 0; color: #333; background: #fff; font: inherit; }.public-daily-overview__keyword { grid-column: 1 / -1; }.public-daily-overview__submit { grid-column: 1 / -1; justify-self: end; width: 92px; height: 36px; border: 0; color: #fff; background: #73a9c8; font: inherit; font-weight: 700; cursor: pointer; }.public-daily-overview__ranking { display: none; }.public-daily-overview__unavailable { display: flex; gap: 18px; align-items: center; justify-content: space-between; }.public-daily-overview__unavailable p { margin: 0; color: #687a91; }

@media (max-width: 1220px) and (min-width: 48.01rem) {
    .public-daily-overview .public-container { padding: 0 20px; }
    .public-daily-overview__grid { grid-template-columns: 600px; justify-content: center; gap: 20px; width: 100%; height: auto; overflow: visible; }
    .public-daily-overview__map, .public-china-map, .public-china-map__outline { width: 600px; }
    .public-daily-overview__summary { width: 600px; padding-right: 0; }
}

@media (max-width: 48rem) {
    .public-daily-overview { padding: 28px 0; }.public-daily-overview .public-container { padding: 0 16px; }.public-daily-overview__grid { grid-template-columns: 1fr; width: 100%; height: auto; border: 0; }.public-daily-overview__map { display: none; }.public-daily-overview__summary { width: 100%; height: auto; padding: 0; }.public-daily-overview__types ul { grid-template-columns: 1fr; }.public-daily-overview__search { grid-template-columns: 1fr; }.public-daily-overview__search label, .public-daily-overview__keyword, .public-daily-overview__submit { grid-column: 1; }.public-daily-overview__ranking { display: grid; gap: 7px; padding: 16px; margin: 12px 0 0; border: 1px solid #dfe8f4; border-radius: 12px; background: #fff; list-style: none; }.public-daily-overview__ranking li { display: grid; grid-template-columns: 24px 1fr auto; gap: 8px; align-items: center; color: #526981; font-size: 13px; }.public-daily-overview__ranking li > span { color: #7890ab; font-weight: 700; }.public-daily-overview__ranking a { color: #355779; }.public-daily-overview__ranking strong { color: #254d7d; }.public-daily-overview__unavailable { display: grid; }.public-china-map__regions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.portal-ai-summary__actions{display:flex!important;flex-direction:row!important;gap:12px;width:100%}.portal-ai-summary__actions .public-button{display:block!important;flex:1 1 0!important;width:auto!important;min-width:0;text-align:center}.portal-ai-summary__report{display:block!important;width:100%!important;margin-top:12px}
.portal-ai-summary__links{display:flex!important;flex-direction:row!important;justify-content:center;gap:18px;list-style:none;margin:0 0 22px;padding:0;text-align:center}.portal-ai-summary__links li{flex:0 1 auto;min-width:0}.portal-ai-summary__links li strong{display:block}.portal-ai-summary__links a{white-space:nowrap}
.portal-result-card__metrics .portal-deadline{color:#e4573d;font-weight:600}
.public-pagination{display:flex;align-items:center;justify-content:center;gap:18px;margin:32px 0;color:#1478f2}.public-pagination a{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:42px;border-radius:9px;color:#1478f2;font-size:20px;text-decoration:none}.public-pagination a.is-current{background:#1478f2;color:#fff;min-width:74px}.public-pagination__arrow{font-size:38px!important;font-weight:300}.public-pagination__ellipsis{font-size:24px;color:#1478f2}
.portal-filter-row--region,.portal-filter-row--time{align-items:flex-start!important}.portal-filter-row--region .portal-filter-options,.portal-filter-row--time .portal-filter-options{gap:4px 22px!important;flex:1!important}.portal-filter-row--region .portal-filter-options a,.portal-filter-row--time .portal-filter-options a{border:0!important;background:transparent!important;padding:7px 2px!important;color:#4b5568!important}.portal-filter-row--region .portal-filter-options a.is-selected,.portal-filter-row--time .portal-filter-options a.is-selected{color:#1478f2!important;background:transparent!important;border:0!important;font-weight:700!important}.portal-filter-row--region{max-height:none;overflow:visible}.portal-region-overflow{display:flex!important;flex-wrap:wrap!important;gap:4px 22px!important}.portal-region-overflow[hidden]{display:none!important}.portal-region-toggle{border:0!important;background:transparent!important;padding:7px 2px!important;margin-left:auto;flex:0 0 auto;align-self:flex-start;color:#1478f2!important;font:inherit;font-weight:600;white-space:nowrap;cursor:pointer}.portal-filter-row--city{padding-top:0!important}.portal-filter-options--city{gap:4px 18px!important;flex:1!important}.portal-filter-options--city a{border:0!important;background:transparent!important;padding:7px 2px!important;color:#4b5568!important}.portal-filter-options--city a.is-selected{color:#1478f2!important;background:transparent!important;border:0!important;font-weight:700!important}.portal-filter-row--city strong{color:#7890ab!important}
/* 供应商 / 采购单位的可折叠筛换行（项目地区、采购品类）：与标讯检索页一致
   （全部 + 12 项单行、其余折叠、更多靠右），但沿用本页皮肤（38px 高圆角胶囊）。
   用「基础类+修饰类」提高特异性：基础 .supplier-filter-row 在本文件更靠后，
   同为 0,1,0 会赢，导致行只有两列、按钮被自动排到第二行。 */
.supplier-filter-row.supplier-filter-row--foldable{grid-template-columns:112px minmax(0,1fr) auto}
.directory-fold-overflow{display:flex;flex-wrap:wrap;gap:4px;min-width:0}
.directory-fold-overflow[hidden]{display:none}
.directory-fold-toggle{justify-self:end;align-self:start;min-height:38px;padding:8px 12px;border:0;border-radius:7px;color:#1478f2;background:transparent;font:inherit;font-size:14px;white-space:nowrap;cursor:pointer}
.directory-fold-toggle:hover{color:#1478f2;background:#f3f7fd}
/* 可折叠行要一行放下 全部 + 10 项，把胶囊左右内边距从 12px 收到 9px 腾出约 60px，
   避免 5 字品类名（如房地产开发）把行挤到第二行。 */
.supplier-filter-row--foldable .entity-filter-options a,.supplier-filter-row--foldable .entity-filter-options button{padding-left:9px;padding-right:9px}
/* 采购单位 / 供应商详情页：内容面板与上方「企业概览」标签菜单同宽（同在 1180px 容器）。
   原来的 max-width:930px 让面板比标签菜单窄了 250px。供应商详情共用此视图。 */
.public-container.entity-profile-layout{max-width:none}
.portal-filter-row--region{position:relative}.portal-filter-options--region{padding-right:64px}.portal-region-toggle{align-self:flex-start;border:0;background:transparent;color:#07999b;cursor:pointer;font:inherit;font-weight:600;white-space:nowrap}.portal-filter-row--region.is-collapsed .portal-filter-options{display:none}
.portal-date-range{display:flex!important;align-items:center;gap:8px;margin-left:auto!important;color:#8792a6}.portal-date-range input{width:132px!important;padding:7px 9px;border:1px solid #dce4ef;border-radius:7px;color:#52647b;background:#fff;font:inherit}

/* Public entity directory: mirrors the live directory prototype while using server-rendered links. */
.supplier-directory-head__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, 520px); align-items: end; gap: 45px; }
.supplier-directory-head .public-eyebrow { color: var(--public-primary); font-size: 13px; letter-spacing: .08em; }
.supplier-directory-head h1 { margin: 5px 0 9px; color: #172554; font-size: 29px; }
.supplier-directory-head p:not(.public-eyebrow) { margin: 0; color: #78869a; font-size: 14px; line-height: 1.7; }
.supplier-search { grid-template-columns: minmax(0, 1fr) auto; max-width: none; margin: 0; border-color: var(--public-primary); border-radius: 10px; }
.supplier-search input:not([type="hidden"]) { padding: 15px 17px; font: inherit; }
.supplier-search button { min-width: 88px; padding: 0 1.5rem; border: 0; color: #fff; background: var(--public-primary); font: inherit; font-weight: 700; cursor: pointer; }
.supplier-directory-body { padding: 24px 0 70px; }
.supplier-filter-panel { padding: 5px 22px; border: 1px solid #dce6f2; border-radius: 14px; background: #fff; box-shadow: 0 5px 20px rgb(39 67 104 / 4%); }
.supplier-filter-row { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 12px; align-items: start; min-height: 55px; padding: 10px 0; border-bottom: 1px dashed #e5eaf1; }
.supplier-filter-row:last-child { border-bottom: 0; }
.supplier-filter-row > strong { display: flex; align-items: center; min-height: 38px; color: #68758a; font-size: 14px; }
.entity-filter-options { display: flex; flex-wrap: wrap; gap: 4px; min-width: 0; }
.entity-filter-options a, .entity-filter-options button { min-height: 38px; padding: 8px 12px; border: 0; border-radius: 7px; color: #4f5c70; background: transparent; font: inherit; font-size: 14px; text-decoration: none; white-space: nowrap; }
.entity-filter-options a:hover { color: var(--public-primary); background: #f3f7fd; }
.entity-filter-options a.is-selected, .entity-filter-options button.is-selected { color: #fff; background: var(--public-primary); font-weight: 700; }
.entity-filter-options button:disabled { color: #aab4c2; cursor: not-allowed; }
.supplier-result-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin: 24px 0 12px; }
.supplier-result-toolbar > div:first-child { display: flex; align-items: baseline; gap: 10px; }
.supplier-result-toolbar strong { color: #172554; font-size: 17px; }
.supplier-result-toolbar span { color: #97a2b2; font-size: 12px; }
.supplier-result-sort { display: flex; gap: 2px; }
.supplier-result-sort a { padding: 6px 9px; color: #7d899b; font-size: 13px; text-decoration: none; }
.supplier-result-sort a.is-selected { color: var(--public-primary); font-weight: 700; }
.supplier-list { overflow: hidden; border: 1px solid #e4e9f1; border-radius: 13px; background: #fff; }
.supplier-row { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 25px 24px; border-bottom: 1px solid #e4e9f1; }
.supplier-row:last-child { border-bottom: 0; }
.supplier-row:hover { background: #fbfdff; }
.supplier-company-icon { display: grid; width: 64px; height: 64px; place-items: center; border: 1px solid #dce9f8; border-radius: 11px; color: var(--public-primary); background: linear-gradient(145deg, #e8f4ff, #d9ebff); font-size: 24px; font-weight: 800; }
.supplier-company-main { min-width: 0; }
.entity-title-line { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.supplier-company-main h2 { margin: 0 0 12px; color: #172554; font-size: 19px; }
.supplier-company-main h2 a { color: inherit; }.supplier-company-main h2 a:hover { color: var(--public-primary); }
.entity-title-line > span { padding: 4px 7px; border-radius: 5px; color: #728095; background: #f1f4f8; font-size: 11px; }
.supplier-company-main p { margin: 0 0 9px; overflow: hidden; color: #4f5c70; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.entity-list-footer-row { display: grid; justify-items: end; gap: 12px; color: #97a2b2; font-size: 12px; white-space: nowrap; }
.search-pagination { display: flex; align-items: center; justify-content: center; gap: 18px; margin: 32px 0; color: var(--public-primary); }.search-pagination a, .search-pagination button { color: var(--public-primary); text-decoration: none; }.search-pagination button { border: 0; background: transparent; font: inherit; }.search-pagination button:disabled { color: #b7c0cc; cursor: not-allowed; }
.org-identity { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 20px; align-items: center; margin-top: 18px; }.entity-profile-action { margin-top: 18px; }
.org-avatar { display: grid; width: 76px; height: 76px; place-items: center; border-radius: 14px; color: #fff; background: linear-gradient(145deg, #1e86f7, #0b5fc7); font-size: 30px; font-weight: 800; }.verified { margin: 0; color: #16835f !important; font-size: 12px; }
.org-tabs { display: flex; flex-wrap: wrap; gap: 22px; margin-top: 24px; border-bottom: 1px solid #e1e7ef; }.org-tabs a, .org-tabs button { padding: 4px 0 14px; border: 0; border-bottom: 2px solid transparent; color: #748095; background: transparent; font: inherit; font-size: .88rem; font-weight: 800; text-decoration: none; }.org-tabs .active { border-bottom-color: var(--public-primary); color: var(--public-primary); }.org-tabs button:disabled { color: #b2bcc9; cursor: not-allowed; }
.entity-profile-layout { max-width: 930px; }.org-summary-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; padding: 20px 0; border: 1px solid #e4e9f1; border-radius: 12px; background: #fff; }.org-summary-grid div { padding: 0 19px; border-right: 1px solid #e4e9f1; }.org-summary-grid div:last-child { border: 0; }.org-summary-grid dt { color: #929daf; font-size: 12px; }.org-summary-grid dd { margin: 8px 0 0; color: #354258; font-size: 15px; font-weight: 800; }
.entity-chart-card { padding: 22px; border: 1px solid #e4e9f1; border-radius: 12px; background: #fff; }.profile-panel header h2 { margin: 0; }.profile-panel > div { margin-top: 14px; }.profile-panel article { display: grid; gap: 5px; padding: 14px 4px; border-top: 1px solid #edf0f4; }.profile-panel p { margin: 0; color: #758096; font-size: 14px; }.profile-panel a { color: #2867d6; font-weight: 700; }.entity-source-card { display: flex; flex-wrap: wrap; gap: 9px 18px; align-items: center; padding: 22px; border: 1px solid #e4e9f1; border-radius: 12px; background: #fff; }.entity-source-card > span { padding: 6px 9px; border-radius: 6px; color: #617289; background: #f3f6fa; font-size: 11px; }.entity-source-card p { width: 100%; margin: 0; color: #8995a7; font-size: 12px; line-height: 1.7; }
@media (max-width: 48rem) { .supplier-directory-head__inner, .supplier-row, .org-identity, .org-summary-grid { grid-template-columns: 1fr; }.supplier-directory-head__inner { gap: 20px; }.supplier-result-toolbar { align-items: flex-start; flex-direction: column; }.entity-list-footer-row { justify-items: start; white-space: normal; }.supplier-company-icon { display: none; }.org-summary-grid div { padding: 12px 0; border-right: 0; border-bottom: 1px solid #e4e9f1; }.org-summary-grid div:last-child { border-bottom: 0; } }
@media (max-width: 420px) { .entity-filter-options { flex-wrap: nowrap; max-width: 100%; overflow-x: auto; padding-bottom: 2px; scrollbar-width: thin; } }
