/* Public customer entrance only. Authenticated pages keep portal.css unchanged. */
.cli-entry-page { --entry-accent: #007a44; --entry-ink: #15362b; --entry-muted: #526c61; }
:root[data-gemma-theme="night"] .cli-entry-page { --entry-accent: #7be2ac; --entry-ink: #effaf4; --entry-muted: #adc2b6; }
.cli-entry-page .cli-topbar { position: relative; box-shadow: none; background: transparent; border: 0; backdrop-filter: none; }
.cli-entry-page .cli-topbar__inner { max-width: 1320px; display: flex; justify-content: space-between; padding: 24px 32px; }
.cli-entry-page .cli-brand__copy strong { font-family: "Segoe UI", Arial, sans-serif; font-weight: 650; }
.cli-entry-page .cli-footer { position: relative; max-width: 1256px; padding-top: 18px; }
.cli-main.cli-entry { position: relative; isolation: isolate; width: min(100%, 1280px); min-height: calc(100svh - 190px); padding: 44px 32px 60px; display: grid; grid-template-columns: minmax(0,1.15fr) minmax(360px,.85fr); gap: clamp(40px,7vw,110px); align-items: center; }
.cli-entry__ambient { position: absolute; z-index: -1; inset: -80px 0 -50px; overflow: hidden; pointer-events: none; }
.cli-entry__ambient::before { content: ""; position: absolute; width: 75%; height: 90%; top: 5%; left: 0; background: radial-gradient(ellipse, #65c78b25, transparent 68%); }
.cli-entry__ambient span { position: absolute; width: 620px; height: 620px; border: 1px solid #007a4414; border-radius: 48% 3% 48% 48%; transform: rotate(-28deg); left: -190px; top: 30px; animation: cli-entry-drift 9.230769s ease-in-out infinite alternate; }
.cli-entry__ambient span:nth-child(2) { width: 520px; height: 520px; left: -140px; top: 80px; animation-delay: -3.076923s; }
.cli-entry__ambient span:nth-child(3) { width: 420px; height: 420px; left: -90px; top: 130px; animation-delay: -6.153846s; }
:root[data-gemma-theme="night"] .cli-entry__ambient span { border-color: #7be2ac12; }
@keyframes cli-entry-drift { from { transform: translate(0,0) rotate(-28deg); } to { transform: translate(24px,-18px) rotate(-20deg); } }
.cli-entry__intro { min-width: 0; padding-block: 30px; }
.cli-entry__eyebrow { display: flex; align-items: center; gap: 10px; color: var(--entry-accent); font-size: .8rem; font-weight: 700; letter-spacing: .13em; margin: 0 0 28px; }
.cli-entry__eyebrow > span { width: 7px; height: 7px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 5px #007a440c; }
.cli-entry__intro h1 { font-family: "Segoe UI", Arial, sans-serif; font-size: clamp(2.55rem,4.35vw,3.85rem); font-weight: 650; line-height: 1.12; letter-spacing: -.045em; color: var(--entry-ink); margin: 0 0 26px; }
.cli-entry__intro h1 em { color: var(--entry-accent); font-style: normal; }
.cli-entry__lead { max-width: 420px; color: var(--entry-muted); font-size: 1.1rem; line-height: 1.8; margin: 0; }
.cli-entry__features { display: flex; gap: 28px; padding: 0; margin: 42px 0 0; list-style: none; }
.cli-entry__features li { display: grid; gap: 12px; color: var(--entry-muted); font-size: .875rem; }
.cli-entry__features svg { width: 25px; height: 25px; color: var(--entry-accent); }
.cli-entry__card { min-width: 0; width: 100%; border: 1px solid var(--gemma-border-soft); border-radius: 26px; padding: clamp(26px,3vw,42px); background: var(--gemma-surface); box-shadow: 0 24px 75px #15362b12, 0 2px 5px #15362b04; }
:root[data-gemma-theme="night"] .cli-entry__card { box-shadow: 0 24px 75px #0004; background: #15241d; }
.cli-entry__logo { display: block; width: 150px; height: auto; margin-bottom: 26px; }
.cli-entry__card h2 { font-family: "Segoe UI", Arial, sans-serif; color: var(--entry-ink); font-size: 1.8rem; font-weight: 650; letter-spacing: -.025em; margin: 0 0 4px; line-height: 1.3; }
.cli-entry__subtitle { color: var(--entry-muted); margin: 0 0 26px; font-size: 1rem; }
.cli-entry__card .cli-button { width: 100%; min-height: 52px; font-family: "Segoe UI", Arial, sans-serif; font-size: 1rem; font-weight: 650; border-radius: 11px; gap: 12px; text-decoration: none; transition: background-color .2s, box-shadow .2s; }
.cli-entry__card a.cli-entry__email { background: #007a44; color: #fff; border: 1px solid #007a44; }
.cli-entry__card a.cli-entry__email:hover { background: #006438; box-shadow: 0 5px 18px #007a4426; }
.cli-entry__email svg { width: 20px; height: 20px; flex-shrink: 0; }
.cli-entry__email > span { margin-left: auto; }
.cli-entry__card a.cli-entry__google { background: transparent; color: var(--entry-ink); border: 1px solid var(--gemma-border); }
.cli-entry__card a.cli-entry__google:hover { background: var(--gemma-surface-soft); }
/* Override the shared employee theme's important generic night-link color. */
:root[data-gemma-theme="night"] .cli-entry-page .cli-entry__card a.cli-entry__email { color: #fff !important; }
:root[data-gemma-theme="night"] .cli-entry-page .cli-entry__card a.cli-entry__google { color: var(--entry-ink) !important; }
.cli-entry-page .cli-skip-link:not(:focus) { clip-path: inset(50%); width: 1px; height: 1px; overflow: hidden; }
.cli-entry__hint { margin: 10px 0 0; color: var(--entry-muted); font-size: .875rem; line-height: 1.55; }
.cli-entry__divider { display: flex; align-items: center; gap: 14px; margin: 17px 0; color: var(--entry-muted); font-size: .8rem; }
.cli-entry__divider::before,.cli-entry__divider::after { content: ""; flex: 1; border-top: 1px solid var(--gemma-border-soft); }
.cli-entry__returning { color: var(--entry-muted); font-size: .875rem; line-height: 1.6; margin: 22px 0; }
.cli-entry__help { border-block: 1px solid var(--gemma-border-soft); margin-top: 22px; }
.cli-entry__help summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 17px 0; cursor: pointer; list-style: none; color: var(--entry-accent); font-size: .95rem; font-weight: 650; }
.cli-entry__help summary::-webkit-details-marker { display: none; }
.cli-entry__help summary > span { font-size: 1.4rem; line-height: 1; transition: transform .2s; }
.cli-entry__help[open] summary > span { transform: rotate(45deg); }
.cli-entry__help ol { padding-left: 20px; margin: 0 0 16px; }
.cli-entry__help li + li { margin-top: 12px; }
.cli-entry__help li,.cli-entry__help p { font-size: .875rem; line-height: 1.7; color: var(--entry-muted); }
.cli-entry__trust { display: flex; align-items: flex-start; gap: 9px; margin: 20px 0 0; font-size: .8rem; line-height: 1.6; color: var(--entry-muted); }
.cli-entry__trust svg { flex: 0 0 16px; height: 18px; margin-top: 2px; }
@media (max-width: 800px) {
 .cli-main.cli-entry { grid-template-columns: minmax(0,1fr); width: min(100%,560px); padding: 18px 20px 36px; gap: 28px; }
 .cli-entry__card { grid-row: 1; }
 .cli-entry__intro { padding: 12px 6px; }
 .cli-entry__intro h1 { font-size: 2.4rem; }
 .cli-entry__eyebrow { margin-bottom: 20px; }
 .cli-entry__features { margin-top: 24px; gap: 22px; flex-wrap: wrap; }
 .cli-entry__features li { font-size: .8rem; }
 .cli-entry__ambient { inset: 0; }
 .cli-entry-page .cli-topbar__inner { flex-wrap: wrap; padding: 18px 20px; gap: 18px; }
 .cli-entry-page .cli-brand__copy { display: none; }
 .cli-entry-page .cli-brand__logo { height: 32px; }
 .cli-entry-page .cli-theme-switch button { padding-inline: 10px; }
}
@media (max-width: 360px) {
 .cli-entry-page .cli-topbar__inner { justify-content: center; }
 .cli-main.cli-entry { padding-inline: 12px; }
 .cli-entry__card { padding: 24px 20px; }
}
@media (prefers-reduced-motion: reduce) {
 .cli-entry__ambient span { animation: none; }
 .cli-entry__card .cli-button,.cli-entry__help summary > span { transition: none; }
}
@media (forced-colors: active) { .cli-entry__ambient { display: none; } .cli-entry__card { border: 1px solid CanvasText; } }
