html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin: 0;
  color: #20213a;
  background: radial-gradient(circle at 5% 10%, #ede5ff 0, transparent 22rem),
    radial-gradient(circle at 95% 30%, #d9faf1 0, transparent 24rem), #f8f9ff;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}

.access-page { --ink: #271955; --purple: #6746c7; --coral: #f36f75; --mint: #45bfa8; color: var(--ink); }
.access-hero { position: relative; display: grid; grid-template-columns: .9fr 1.1fr; min-height: 35rem; overflow: hidden; margin: 1.25rem 0 0; border-radius: 2rem; background: linear-gradient(120deg, #fffaf8 0%, #f8f5ff 48%, #ece9fb 100%); box-shadow: 0 1.5rem 4rem rgb(45 28 99 / .1); }
.access-hero::before { position: absolute; width: 22rem; height: 22rem; left: -13rem; bottom: -14rem; border-radius: 50%; background: #f9dcd9; content: ""; }
.access-hero-copy { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; padding: clamp(2.5rem, 6vw, 5rem); padding-right: 1rem; }
.access-kicker { display: flex; gap: .65rem; align-items: center; color: #7856be; font-size: .73rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.access-kicker > span { width: .55rem; height: .55rem; border-radius: 50%; background: var(--coral); box-shadow: 0 0 0 .3rem rgb(243 111 117 / .13); }
.access-hero h1 { max-width: 37rem; margin: 1rem 0 1.25rem; font-size: clamp(2.7rem, 5.3vw, 5rem); font-weight: 850; line-height: .98; letter-spacing: -.065em; }
.access-hero h1 em { color: var(--coral); font-style: normal; }
.access-hero-copy > p { max-width: 34rem; margin: 0; color: #676079; font-size: 1.08rem; line-height: 1.7; }
.access-hero-actions { display: flex; flex-wrap: wrap; gap: 1.35rem; align-items: center; margin-top: 2rem; }
.access-primary-action { padding: .85rem 1.3rem; border: 0; border-radius: .85rem; color: #fff; font-weight: 750; background: linear-gradient(135deg, #6c4bcd, #5333ad); box-shadow: 0 .75rem 1.5rem rgb(99 68 192 / .25); }
.access-primary-action:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 1rem 2rem rgb(99 68 192 / .3); }
.access-primary-action span, .access-submit span { margin-left: .6rem; }
.access-text-action { color: #433370; font-weight: 750; text-underline-offset: .25rem; }
.access-trust { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; margin-top: 2.25rem; color: #706a80; font-size: .78rem; font-weight: 650; }
.access-trust i { display: inline-grid; width: 1.15rem; height: 1.15rem; place-items: center; margin-right: .2rem; border-radius: 50%; color: #fff; font-size: .68rem; font-style: normal; background: var(--mint); }
.access-showcase { position: relative; min-width: 0; }
.showcase-glow { position: absolute; inset: 5% -10% -15% 2%; border-radius: 50% 0 0 45%; background: linear-gradient(145deg, #7454cf, #5530af 58%, #3b2189); transform: rotate(-5deg); box-shadow: inset 0 0 5rem rgb(255 255 255 / .08); }
.showcase-orbit { position: absolute; border: 1px solid rgb(255 255 255 / .18); border-radius: 50%; }
.orbit-one { width: 27rem; height: 27rem; right: -7rem; top: 3rem; }
.orbit-two { width: 16rem; height: 16rem; left: 4rem; bottom: -3rem; }
.pet-profile-card, .showcase-card, .showcase-services { position: absolute; z-index: 2; border: 1px solid rgb(255 255 255 / .75); background: rgb(255 255 255 / .94); box-shadow: 0 1.3rem 3rem rgb(31 20 80 / .2); backdrop-filter: blur(12px); }
.pet-profile-card { display: grid; grid-template-columns: auto 1fr auto; gap: .85rem; align-items: center; width: min(88%, 31rem); left: 5%; top: 16%; padding: 1rem 1.2rem; border-radius: 1.25rem; transform: rotate(-2deg); }
.pet-avatar { display: grid; width: 3.7rem; height: 3.7rem; place-items: center; overflow: hidden; border: 4px solid #f6d6c7; border-radius: 50%; font-size: 2rem; background: #f7dfc9; }
.pet-profile-card div:nth-child(2), .showcase-card > div:nth-child(2) { display: grid; }
.pet-profile-card span, .showcase-card span { color: #8a8296; font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.pet-profile-card strong { font-size: 1rem; }.pet-profile-card small, .showcase-card small { color: #817a8d; font-size: .72rem; }
.pet-status { padding: .38rem .6rem; border-radius: 2rem; color: #2b8878 !important; font-size: .64rem !important; background: #e2f7f1; white-space: nowrap; }.pet-status i { display: inline-block; width: .4rem; height: .4rem; border-radius: 50%; background: var(--mint); }
.showcase-card { display: grid; grid-template-columns: auto 1fr auto; gap: .75rem; align-items: center; width: min(60%, 21rem); padding: .9rem 1rem; border-radius: 1.05rem; }
.next-care-card { right: 5%; top: 40%; transform: rotate(2deg); }.health-card { left: 5%; top: 58%; transform: rotate(-2deg); }
.showcase-card-icon { display: grid; width: 2.5rem; height: 2.5rem; place-items: center; border-radius: .8rem; }.showcase-card-icon svg { width: 1.25rem; fill: none; stroke: currentColor; stroke-width: 1.8; }.icon-coral { color: #dc5964; background: #ffe5e5; }.icon-mint { color: #278d7c; background: #dcf5ef; }
.showcase-card strong { font-size: .85rem; }.showcase-card > b { color: #9c94aa; font-size: 1.6rem; }.showcase-card .health-check { display: grid; width: 1.3rem; height: 1.3rem; place-items: center; border-radius: 50%; color: #fff; font-size: .7rem; background: var(--mint); }
.showcase-services { display: grid; grid-template-columns: repeat(4, 1fr); width: 80%; right: 2%; bottom: 5%; padding: 1rem; border-radius: 1.2rem; transform: rotate(1deg); }.showcase-services div { display: grid; gap: .3rem; place-items: center; color: #62528b; }.showcase-services div + div { border-left: 1px solid #ece8f4; }.showcase-services span { display: grid; width: 2rem; height: 2rem; place-items: center; border-radius: .65rem; background: #f1ecff; }.showcase-services small { font-size: .64rem; font-weight: 750; }
.floating-paw { position: absolute; z-index: 1; width: 2.2rem; height: 2rem; color: rgb(255 255 255 / .2); font-size: 1rem; transform: rotate(28deg); }.floating-paw i, .floating-paw b, .floating-paw em { position: absolute; font-size: .52rem; font-style: normal; }.floating-paw i { left: 0; top: -.4rem; }.floating-paw b { left: .75rem; top: -.8rem; }.floating-paw em { right: 0; top: -.35rem; }.paw-one { right: 12%; top: 15%; }.paw-two { left: 18%; bottom: 4%; transform: rotate(-20deg); }

.access-login-section { padding: 5rem clamp(0rem, 4vw, 3rem) 3rem; scroll-margin-top: 2rem; }.access-login-intro { margin-bottom: 1.75rem; text-align: center; }.access-section-kicker { color: var(--coral); font-size: .69rem; font-weight: 850; letter-spacing: .16em; }.access-login-intro h2 { margin: .45rem 0; font-size: clamp(1.9rem, 4vw, 2.7rem); font-weight: 850; letter-spacing: -.04em; }.access-login-intro p { color: #777083; }
.access-portal { max-width: 59rem; margin: 0 auto; overflow: hidden; border: 1px solid #e9e3f3; border-radius: 1.5rem; background: #fff; box-shadow: 0 1.5rem 4rem rgb(42 26 94 / .09); }.access-tabs { display: grid; grid-template-columns: repeat(3, 1fr); padding: .65rem .65rem 0; background: #faf8fd; }.access-tabs button { position: relative; display: flex; gap: .7rem; align-items: center; padding: 1rem; border: 0; color: #81798c; text-align: left; background: transparent; }.access-tabs button::after { position: absolute; height: 3px; right: .65rem; bottom: 0; left: .65rem; border-radius: 2rem; background: transparent; content: ""; }.access-tabs button[aria-selected="true"] { color: var(--purple); }.access-tabs button[aria-selected="true"]::after { background: var(--purple); }.tab-icon { display: grid; width: 2.35rem; height: 2.35rem; flex: 0 0 auto; place-items: center; border-radius: .7rem; color: #766c86; background: #eeeaf5; }.access-tabs button[aria-selected="true"] .tab-icon { color: #fff; background: var(--purple); }.access-tabs button > span:last-child { display: grid; }.access-tabs strong { font-size: .9rem; }.access-tabs small { font-size: .68rem; }
.access-panels { padding: clamp(1.5rem, 4vw, 2.5rem); }.access-panel[hidden] { display: none !important; }.panel-heading { margin-bottom: 1.35rem; }.panel-heading h3 { margin: 0 0 .25rem; font-size: 1.15rem; font-weight: 800; }.panel-heading p { margin: 0; color: #817a8d; font-size: .85rem; }.access-form-grid { display: grid; grid-template-columns: .8fr 1.15fr 1fr; gap: 1rem; }.access-form-grid-two { grid-template-columns: 1fr 1fr; }.access-panel .form-label { margin-bottom: .4rem; font-size: .78rem; }.access-input { position: relative; }.access-input > span { position: absolute; z-index: 1; left: .85rem; top: 50%; color: #928a9f; font-size: .85rem; transform: translateY(-50%); }.access-input .form-control { padding-left: 2.25rem; border-color: #e3deeb; background: #fcfbfd; }.access-input .form-control::placeholder { color: #aaa3b2; font-size: .82rem; }.access-form-meta { display: flex; justify-content: space-between; gap: 1rem; margin: 1rem 0; color: #8a8394; font-size: .75rem; }.access-form-meta .form-check { display: flex; gap: .45rem; align-items: center; margin: 0; padding: 0; }.access-form-meta .form-check-input { position: static; float: none; margin: 0; }.access-form-meta a { font-weight: 700; }.access-submit { width: 100%; padding: .8rem 1rem; border: 0; border-radius: .8rem; color: #fff; font-weight: 750; background: linear-gradient(135deg, #6c4bcd, #5333ad); }.access-submit:hover { color: #fff; filter: brightness(1.06); }.access-submit-coral { background: linear-gradient(135deg, #f17a7d, #e65f70); }.access-submit-dark { background: linear-gradient(135deg, #332164, #241747); }
.access-ecosystem { display: flex; flex-wrap: wrap; gap: 1.3rem 2rem; justify-content: center; align-items: center; margin: 1rem 0 0; padding: 2rem; border-top: 1px solid #e8e3ef; color: #777083; font-size: .78rem; font-weight: 700; }.access-ecosystem > span { margin-right: 1rem; color: #463a68; font-weight: 800; }.access-ecosystem b { display: inline-grid; width: 1.8rem; height: 1.8rem; place-items: center; margin-right: .3rem; border-radius: .55rem; color: var(--purple); background: #f0ebfc; }

.simple-access { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(25rem, .75fr); min-height: calc(100vh - 10.5rem); overflow: hidden; border-radius: 1.5rem; background: #f8faf9; box-shadow: 0 1.4rem 4rem rgb(32 25 76 / .13); }
.simple-access-brand { position: relative; display: flex; flex-direction: column; justify-content: center; overflow: hidden; padding: clamp(2.5rem, 6vw, 5rem); color: #fff; background: radial-gradient(circle at 90% 10%, rgb(255 255 255 / .2), transparent 13rem), linear-gradient(135deg, #4f35ad 0%, #2f8fa1 52%, #35ba91 100%); }
.simple-access-brand::after { position: absolute; width: 28rem; height: 28rem; right: -15rem; bottom: -16rem; border: 1px solid rgb(255 255 255 / .22); border-radius: 50%; content: ""; box-shadow: 0 0 0 5rem rgb(255 255 255 / .035), 0 0 0 10rem rgb(255 255 255 / .025); }
.simple-brand-mark { display: flex; gap: .45rem; align-items: center; margin-bottom: 1.6rem; }.simple-brand-mark span { color: #ffd66f; font-size: 1.4rem; }.simple-brand-mark strong { font-size: 1.15rem; letter-spacing: -.04em; }
.simple-eyebrow { font-size: .72rem; font-weight: 850; letter-spacing: .14em; opacity: .85; }
.simple-access-brand h1 { max-width: 46rem; margin: .65rem 0 1.25rem; font-size: clamp(2.7rem, 5vw, 5rem); font-weight: 850; line-height: .98; letter-spacing: -.055em; }
.simple-access-brand > p { max-width: 40rem; margin: 0; font-size: clamp(1rem, 1.5vw, 1.2rem); line-height: 1.65; opacity: .92; }
.simple-access-benefits { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; margin-top: 2.5rem; }.simple-access-benefits article { display: grid; grid-template-columns: auto 1fr; gap: .15rem .6rem; padding: .85rem; border: 1px solid rgb(255 255 255 / .2); border-radius: .9rem; background: rgb(255 255 255 / .1); backdrop-filter: blur(8px); }.simple-access-benefits article > span { grid-row: span 2; font-size: 1.1rem; }.simple-access-benefits strong { font-size: .8rem; }.simple-access-benefits small { font-size: .66rem; opacity: .78; }
.simple-access-side { display: grid; align-content: center; padding: clamp(1.5rem, 4vw, 3rem); background: #f6faf8; }
.simple-login-card { width: 100%; max-width: 31rem; margin: auto; padding: clamp(1.5rem, 3vw, 2.4rem); border-radius: 1.35rem; background: #fff; box-shadow: 0 1rem 3rem rgb(29 51 46 / .1); }
.simple-login-heading { display: grid; grid-template-columns: auto 1fr; gap: .85rem; align-items: center; margin-bottom: 1.35rem; }.simple-login-logo { display: grid; width: 3rem; height: 3rem; place-items: center; border-radius: .85rem; color: #fff; font-size: .9rem; font-weight: 850; background: linear-gradient(135deg, #6746c7, #44bc94); }.simple-login-heading > span { display: grid; }.simple-login-heading strong { color: #29243a; font-size: 1.35rem; line-height: 1.15; }.simple-login-heading small { margin-top: .25rem; color: #726d79; font-size: .78rem; line-height: 1.4; }
.simple-access-panel[hidden], .simple-login-heading > span[hidden] { display: none !important; }.simple-field { margin-bottom: .9rem; }.simple-field label { margin-bottom: .35rem; color: #3f3a49; font-size: .8rem; font-weight: 750; }.simple-field .form-control { min-height: 3.15rem; padding-inline: .9rem; border-color: #dfe5e2; background: #f8faf9; }.simple-field .form-control::placeholder { color: #a09ba4; }.simple-remember { display: flex; gap: .45rem; align-items: center; margin: .2rem 0 1rem; color: #706b76; font-size: .76rem; }.simple-remember .form-check-input { margin: 0; }
.simple-login-submit { width: 100%; min-height: 3.15rem; border: 0; border-radius: .72rem; color: #fff; font-weight: 800; background: linear-gradient(135deg, #6242c2, #4b319f); }.simple-login-submit:hover { color: #fff; filter: brightness(1.06); }.simple-login-client { background: linear-gradient(135deg, #248d7d, #36ae88); }.simple-login-admin { background: linear-gradient(135deg, #32235d, #21173e); }
.simple-client-actions { display: flex; gap: 1rem; justify-content: center; margin-top: .9rem; }.simple-client-actions a { font-size: .74rem; font-weight: 700; }
.simple-access-switcher { display: grid; grid-template-columns: repeat(3, 1fr); gap: .35rem; margin-top: 1.4rem; padding-top: 1.1rem; border-top: 1px solid #ece9ef; }.simple-access-switcher button { padding: .55rem .25rem; border: 1px solid #e2dfea; border-radius: .55rem; color: #746e7d; font-size: .68rem; font-weight: 750; background: #fff; }.simple-access-switcher button[aria-selected="true"] { border-color: #6a4ac6; color: #6040bb; background: #f1edfc; }.simple-access-note { margin: 1rem 0 0; color: #7c8581; font-size: .69rem; text-align: center; }.simple-access-note span { color: #3bb394; }
.company-finder { margin-top: 1rem; border-top: 1px solid #ece9ef; }.company-finder summary { padding: .85rem .2rem 0; color: #635b72; cursor: pointer; font-size: .73rem; font-weight: 750; text-align: center; }.company-finder-form { display: grid; grid-template-columns: 1fr 1fr auto; gap: .55rem; align-items: end; margin-top: .85rem; }.company-finder-form label { display: block; margin-bottom: .25rem; color: #645e6d; font-size: .68rem; font-weight: 750; }.company-finder-form .form-control { min-height: 2.4rem; }.company-finder-form .btn { min-height: 2.4rem; font-size: .72rem; }.company-directory { display: grid; gap: .4rem; max-height: 13rem; overflow-y: auto; margin-top: .75rem; }.company-directory > p { margin: .5rem 0; color: #7a7480; font-size: .75rem; text-align: center; }.company-directory article { display: flex; gap: .75rem; justify-content: space-between; align-items: center; padding: .65rem; border: 1px solid #ebe7ef; border-radius: .65rem; background: #faf9fc; }.company-directory article > div:first-child { display: grid; }.company-directory strong { font-size: .76rem; }.company-directory span, .company-directory small { color: #7b7582; font-size: .64rem; }.company-directory article > div:last-child { display: grid; gap: .25rem; justify-items: end; }.company-directory button, .company-directory a { border: 0; color: #5e42b0; font-size: .65rem; font-weight: 750; background: transparent; text-decoration: none; }
.client-registration { display: grid; grid-template-columns: .8fr 1.2fr; max-width: 70rem; min-height: calc(100vh - 12rem); margin: 0 auto; overflow: hidden; border-radius: 1.5rem; background: #fff; box-shadow: 0 1.4rem 4rem rgb(32 25 76 / .11); }.client-registration-intro { padding: clamp(2rem, 5vw, 4rem); color: #fff; background: linear-gradient(145deg, #5033a4, #2a8f90); }.client-registration-intro > span { font-size: .67rem; font-weight: 850; letter-spacing: .13em; opacity: .8; }.client-registration-intro h1 { margin: .75rem 0 1rem; font-size: clamp(2rem, 4vw, 3.3rem); font-weight: 850; line-height: 1.02; letter-spacing: -.05em; }.client-registration-intro p { line-height: 1.65; opacity: .88; }.client-registration-intro ul { display: grid; gap: .65rem; padding-left: 1.1rem; margin-top: 2rem; font-size: .82rem; }.client-registration-card { align-self: center; padding: clamp(1.5rem, 4vw, 3rem); }.client-registration-card h2 { margin: .35rem 0 1rem; color: #30245f; font-weight: 850; }.selected-company { display: grid; margin-bottom: 1.2rem; padding: .8rem 1rem; border-radius: .75rem; color: #315e55; background: #e8f6f2; }.selected-company span, .selected-company small { font-size: .68rem; }.registration-consent { display: flex; gap: .7rem; align-items: start; padding: .8rem; border-radius: .75rem; background: #f7f5fb; }.registration-consent input { flex: 0 0 auto; margin-top: .15rem; }.registration-consent span { display: grid; }.registration-consent strong { font-size: .76rem; }.registration-consent small { color: #77717d; font-size: .68rem; }

.petuniverse-shell { min-height: 100vh; display: flex; flex-direction: column; }
.petuniverse-nav { margin-bottom: 0; border-bottom: 1px solid rgb(42 31 96 / .08); background: rgb(255 255 255 / .82); backdrop-filter: blur(14px); }
.petuniverse-brand { color: #2d2168; font-size: 1.15rem; font-weight: 800; letter-spacing: -.03em; }
.petuniverse-brand span { color: #ec6a8d; }
.petuniverse-nav .nav-link { color: #4e4d63; font-weight: 600; }
.petuniverse-nav .nav-link:hover { color: #5c3bb1; }
.petuniverse-content { flex: 1; padding-top: 2rem; padding-bottom: 3rem; }
.petuniverse-footer { margin-top: auto; padding: 1.25rem 0; border-top: 1px solid rgb(42 31 96 / .08); color: #727287; background: rgb(255 255 255 / .6); }

.auth-page { display: grid; min-height: calc(100vh - 16rem); place-items: center; padding: 1rem 0; }
.auth-card { width: min(100%, 31rem); padding: clamp(1.5rem, 4vw, 2.5rem); border: 1px solid rgb(82 60 174 / .14); border-radius: 1.5rem; background: rgb(255 255 255 / .94); box-shadow: 0 1.5rem 3.5rem rgb(37 31 89 / .13); }
.auth-card-wide { width: min(100%, 38rem); }
.auth-emblem { display: grid; width: 3rem; height: 3rem; place-items: center; margin-bottom: 1.25rem; border-radius: 1rem; color: #fff; font-size: 1.35rem; background: linear-gradient(135deg, #30206f, #6b45c2); }
.auth-emblem-pink { background: linear-gradient(135deg, #e85d82, #f6a34b); }
.auth-kicker { display: block; margin-bottom: .45rem; color: #6954a7; font-size: .72rem; font-weight: 800; letter-spacing: .13em; }
.auth-card h1, .page-heading h1 { margin-bottom: .6rem; color: #2b2165; font-size: clamp(1.7rem, 4vw, 2.3rem); font-weight: 800; letter-spacing: -.04em; }
.auth-card > p, .page-heading p { margin-bottom: 1.75rem; color: #68687b; }
.auth-card .btn { padding: .65rem 1.15rem; font-weight: 700; }

.service-page { max-width: 58rem; margin: 0 auto; }
.page-heading { margin-bottom: 1.5rem; }
.service-form { padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid rgb(82 60 174 / .12); border-radius: 1.25rem; background: #fff; box-shadow: 0 1rem 2.5rem rgb(37 31 89 / .08); }
.service-form .btn-primary, .dashboard-heading .btn-primary { border: 0; background: linear-gradient(120deg, #5b3bb1, #217f9c); }
.service-form .btn-primary:hover, .dashboard-heading .btn-primary:hover { background: linear-gradient(120deg, #4a3097, #176b86); }

.dashboard-page { max-width: 72rem; margin: 0 auto; }
.dashboard-heading { padding: clamp(1.25rem, 3vw, 2rem); border-radius: 1.25rem; color: #fff; background: linear-gradient(120deg, #292064, #573cb0 55%, #2386a1); box-shadow: 0 1rem 2.5rem rgb(37 31 89 / .13); }
.dashboard-heading h1 { margin: 0 0 .35rem; font-size: clamp(1.55rem, 4vw, 2.25rem); font-weight: 800; }
.dashboard-heading .text-muted { color: rgb(255 255 255 / .78) !important; }
.metric-card { height: 100%; padding: 1.35rem; border: 1px solid rgb(82 60 174 / .1); border-radius: 1rem; color: #66667a; background: #fff; box-shadow: 0 .7rem 1.8rem rgb(37 31 89 / .07); }
.metric-card strong { display: block; margin-top: .25rem; color: #32246f; font-size: 2rem; line-height: 1; }
.metric-card p { min-height: 2.5rem; margin: .7rem 0; font-size: .82rem; }
.metric-card a { font-size: .78rem; font-weight: 750; }
.module-kicker { display: block; margin-bottom: .55rem; color: #cabdf6; font-size: .68rem; font-weight: 850; letter-spacing: .14em; }
.module-card-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.module-action-card { padding: 1.25rem; border: 1px solid rgb(82 60 174 / .1); border-radius: 1rem; background: #fff; box-shadow: 0 .7rem 1.8rem rgb(37 31 89 / .06); }
.module-action-card > span { display: grid; width: 2rem; height: 2rem; place-items: center; margin-bottom: .8rem; border-radius: .6rem; color: #6244bc; font-size: .72rem; font-weight: 850; background: #eee9fc; }
.module-action-card h2 { margin-bottom: .45rem; font-size: .98rem; }.module-action-card p { min-height: 5rem; margin-bottom: .65rem; color: #746e80; font-size: .78rem; line-height: 1.55; }.module-action-card a { font-size: .76rem; font-weight: 750; }
.fiscal-status { display: flex; gap: 2rem; align-items: center; padding: 1rem 1.25rem; border: 1px solid #e7e2ef; border-radius: 1rem; background: #fff; box-shadow: 0 .7rem 1.8rem rgb(37 31 89 / .05); }.fiscal-status > div { display: flex; gap: .65rem; align-items: center; }.fiscal-status > div:nth-child(2) { margin-left: auto; }.fiscal-status strong, .fiscal-status small { display: block; }.fiscal-status small { color: #7a7484; font-size: .72rem; }.status-dot { width: .75rem; height: .75rem; border-radius: 50%; background: #d7a13b; box-shadow: 0 0 0 .3rem rgb(215 161 59 / .15); }.status-dot.status-ready { background: #38a68f; box-shadow: 0 0 0 .3rem rgb(56 166 143 / .15); }
.operational-layout { display: grid; grid-template-columns: 14.75rem minmax(0, 1fr); gap: 1.5rem; align-items: start; }
.operational-layout-none { display: block; }
.operational-sidebar { position: sticky; top: 1rem; max-height: calc(100vh - 2rem); overflow-y: auto; padding: .75rem; border: 1px solid rgb(82 60 174 / .12); border-radius: 1rem; background: rgb(255 255 255 / .9); box-shadow: 0 .7rem 1.8rem rgb(37 31 89 / .06); scrollbar-width: thin; }
.operational-context { display: grid; gap: .2rem; padding: 0 .25rem .85rem; margin-bottom: .6rem; border-bottom: 1px solid #e6e3f1; color: #30206f; }
.operational-context strong { font-size: .9rem; }
.operational-context span { color: #68687b; font-size: .78rem; }
.operational-sidebar nav { display: grid; gap: .15rem; }
.operational-sidebar a { padding: .42rem .55rem; border-radius: .55rem; color: #514c61; font-size: .82rem; font-weight: 650; line-height: 1.2; text-decoration: none; }
.operational-sidebar a:hover, .operational-sidebar a:focus-visible { color: #fff; background: #5b3bb1; outline: 0; }
.module-home { display: flex; gap: .55rem; align-items: center; margin-bottom: .35rem; color: #33256d !important; font-weight: 800 !important; }
.module-home:hover { color: #fff !important; }
.module-menu { border-top: 1px solid #ece8f2; }
.module-menu summary { display: grid; grid-template-columns: 1.8rem 1fr auto; gap: .45rem; align-items: center; padding: .52rem .35rem; border-radius: .55rem; color: #49435c; cursor: pointer; list-style: none; user-select: none; }
.module-menu summary::-webkit-details-marker { display: none; }
.module-menu summary:hover { color: #392775; background: #f4f0fc; }
.module-menu summary strong { font-size: .8rem; font-weight: 800; }
.module-menu summary > i { color: #a19aaa; font-size: .72rem; font-style: normal; transition: transform .18s ease; }
.module-menu[open] summary > i { transform: rotate(180deg); }
.module-icon { display: grid; width: 1.65rem; height: 1.65rem; place-items: center; border-radius: .48rem; color: #6356a0; font-size: .78rem; background: #eeebf7; }
.module-icon-clinical { color: #b6455d; background: #ffe8ec; }.module-icon-grooming { color: #a46623; background: #fff0dc; }.module-icon-lodging { color: #327966; background: #e0f5ee; }.module-icon-walking { color: #2f7290; background: #e2f3fa; }.module-icon-store { color: #346f43; background: #e4f3e5; }.module-icon-marketing { color: #a04479; background: #f9e5f1; }
.module-menu > div { display: grid; gap: .08rem; padding: 0 0 .4rem 2.15rem; }
.module-menu > div a { position: relative; padding: .33rem .5rem; color: #6e687a; font-size: .76rem; font-weight: 600; }
.module-menu > div a::before { position: absolute; width: .25rem; height: .25rem; left: -.15rem; top: 50%; border-radius: 50%; background: #c7bfda; content: ""; transform: translateY(-50%); }
.operational-page { max-width: 76rem; }
.operational-page h2 { margin: 0 0 1rem; color: #30206f; font-size: 1.2rem; font-weight: 800; }
.operational-page h3 { color: #3f365f; font-size: 1rem; font-weight: 800; }
.operational-grid { display: grid; grid-template-columns: minmax(17rem, .8fr) minmax(0, 1.2fr); gap: 1.5rem; align-items: start; }
.operational-grid-wide { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.operational-list, .clinical-record { padding: clamp(1.25rem, 3vw, 1.75rem); border: 1px solid rgb(82 60 174 / .12); border-radius: 1.25rem; background: rgb(255 255 255 / .92); box-shadow: 0 .7rem 1.8rem rgb(37 31 89 / .06); }
.operational-list .table { margin-bottom: 0; }
.operational-list a { font-weight: 700; }
.empty-state { margin: 0; color: #68687b; }
.operational-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.5rem; }
.compact-list { display: grid; gap: .45rem; padding-left: 1.1rem; color: #555168; }
.date-filter { display: flex; flex-wrap: wrap; gap: .6rem; align-items: end; margin-bottom: 1.25rem; }
.date-filter .form-control { width: auto; }
.agenda-list, .triage-list, .timeline-list { display: grid; gap: .75rem; }
.agenda-item, .triage-item, .timeline-item { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid #e8e6ef; }
.agenda-item:last-child, .triage-item:last-child, .timeline-item:last-child { padding-bottom: 0; border-bottom: 0; }
.agenda-item span, .agenda-item small, .triage-item span, .triage-item small, .timeline-item span { display: block; color: #68687b; }
.agenda-actions { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; justify-content: end; }
.agenda-actions form { display: flex; gap: .35rem; align-items: center; margin: 0; }
.agenda-actions .form-select { min-height: auto; width: 7.5rem; }
.priority-urgent strong { color: #a55c00; }
.priority-emergency strong { color: #b4234c; }
.clinical-record { max-width: 56rem; }
.clinical-record section + section { margin-top: 1.25rem; }
.clinical-record h2 { margin-bottom: .35rem; }
.clinical-record p { white-space: pre-line; }
.record-audit { color: #68687b; font-size: .88rem; }
.clinical-form { max-width: 56rem; }
.timeline-item { align-items: start; }
.timeline-item > div:nth-child(2) { flex: 1; }
.timeline-item p { margin-bottom: .35rem; white-space: pre-line; }

.form-control, .form-select { min-height: 2.75rem; border-color: #d9d7e6; border-radius: .75rem; }
.form-control:focus, .form-select:focus { border-color: #715ac4; box-shadow: 0 0 0 .22rem rgb(113 90 196 / .15); }
.form-label { color: #414054; font-weight: 700; }
.text-danger { color: #b4234c !important; font-weight: 600; }
.alert { border: 0; border-radius: .9rem; }

@media (max-width: 991px) {
  .client-registration { grid-template-columns: 1fr; }
  .simple-access { grid-template-columns: 1fr; }
  .simple-access-brand { min-height: 31rem; }
  .simple-access-side { padding-block: 3rem; }
  .access-hero { grid-template-columns: 1fr; }
  .access-hero-copy { padding-right: clamp(2.5rem, 6vw, 5rem); }
  .access-showcase { min-height: 28rem; }
  .showcase-glow { inset: 0 4% -20%; border-radius: 45% 45% 0 0; transform: none; }
  .pet-profile-card { left: 14%; top: 8%; }
  .next-care-card { right: 13%; top: 35%; }
  .health-card { left: 14%; top: 55%; }
  .showcase-services { right: 10%; bottom: 3%; }
  .access-form-grid { grid-template-columns: 1fr; }
  .operational-layout { grid-template-columns: 1fr; gap: 1.25rem; }
  .module-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .operational-sidebar { position: static; }
  .operational-sidebar nav { display: flex; overflow-x: auto; padding-bottom: .1rem; }
  .operational-sidebar a { white-space: nowrap; }
}

@media (max-width: 575px) {
  .simple-access { min-height: auto; border-radius: 1rem; }
  .simple-access-brand { min-height: auto; padding: 2rem 1.35rem; }
  .simple-access-brand h1 { font-size: 2.65rem; }
  .simple-access-benefits { grid-template-columns: 1fr; margin-top: 1.5rem; }
  .simple-access-side { padding: 1rem; }
  .simple-login-card { padding: 1.25rem; }
  .simple-access-switcher { grid-template-columns: 1fr; }
  .company-finder-form { grid-template-columns: 1fr; }
  .company-directory article { align-items: start; flex-direction: column; }
  .company-directory article > div:last-child { grid-auto-flow: column; justify-items: start; }
  .client-registration { border-radius: 1rem; }
  .client-registration-intro, .client-registration-card { padding: 1.35rem; }
  .petuniverse-content { padding-top: 1.25rem; }
  .access-hero { min-height: auto; margin-top: 0; border-radius: 1.25rem; }
  .access-hero-copy { padding: 2rem 1.35rem; }
  .access-hero h1 { font-size: clamp(2.35rem, 13vw, 3.4rem); }
  .access-hero-actions { align-items: stretch; }
  .access-primary-action { width: 100%; }
  .access-text-action { text-align: center; }
  .access-trust { gap: .7rem; }
  .access-showcase { min-height: 24rem; }
  .pet-profile-card { grid-template-columns: auto 1fr; width: 91%; left: 3%; top: 6%; padding: .8rem; }
  .pet-status { display: none; }
  .next-care-card { width: 80%; right: 3%; top: 37%; }
  .health-card { width: 78%; left: 3%; top: 57%; }
  .showcase-services { width: 94%; right: 3%; bottom: 2%; padding: .65rem .25rem; }
  .showcase-services small { font-size: .55rem; }
  .access-login-section { padding: 3.5rem 0 2rem; }
  .access-tabs { padding: .4rem .4rem 0; }
  .access-tabs button { display: grid; gap: .25rem; justify-items: center; padding: .75rem .25rem; text-align: center; }
  .access-tabs small { display: none; }
  .access-panels { padding: 1.25rem; }
  .access-form-meta { align-items: start; flex-direction: column; }
  .access-ecosystem { gap: 1rem; padding-inline: .5rem; }
  .access-ecosystem > span { width: 100%; margin: 0; text-align: center; }
  .dashboard-heading { display: block !important; }
  .dashboard-heading .btn { margin-top: 1rem; }
  .operational-grid, .operational-grid-wide { grid-template-columns: 1fr; }
  .module-card-grid { grid-template-columns: 1fr; }
  .module-action-card p { min-height: auto; }
  .fiscal-status { align-items: stretch; flex-direction: column; gap: 1rem; }
  .fiscal-status > div:nth-child(2) { margin-left: 0; }
  .agenda-item, .triage-item, .timeline-item { display: grid; }
  .agenda-actions { justify-content: start; }
  .date-filter .form-control { width: 100%; }
}

.page-help-trigger { align-items:center; background:linear-gradient(135deg,#5637b8,#168bb0); border:0; border-radius:999px; bottom:1.25rem; box-shadow:0 12px 30px rgba(35,24,88,.28); color:#fff; display:flex; gap:.45rem; padding:.55rem .9rem .55rem .55rem; position:fixed; right:1.25rem; z-index:1040; }
.page-help-trigger span { align-items:center; background:#fff; border-radius:50%; color:#4930a5; display:flex; font-size:1.05rem; height:1.9rem; justify-content:center; width:1.9rem; }
.page-help-panel { --bs-offcanvas-width:min(430px,94vw); }
.page-help-panel .offcanvas-header { align-items:flex-start; background:linear-gradient(135deg,#f2edff,#e9fafa); border-bottom:1px solid #ded8ef; padding:1.5rem; }
.page-help-panel .offcanvas-header small { color:#654daf; font-weight:800; letter-spacing:.11em; }
.page-help-panel h2 { color:#281a6b; font-weight:800; margin-top:.25rem; }
.page-help-panel h3 { color:#342776; font-size:1rem; font-weight:800; margin:1.5rem 0 .75rem; text-transform:uppercase; }
.page-help-purpose { color:#4e4a61; font-size:1.05rem; line-height:1.6; }
.page-help-panel ol { display:grid; gap:.8rem; padding-left:1.4rem; }
.page-help-panel li { line-height:1.5; padding-left:.25rem; }
.page-help-tip { background:#f3fbf7; border-left:4px solid #24a77a; border-radius:.65rem; display:grid; gap:.25rem; padding:1rem; }
.page-help-tip strong { color:#147658; }
.product-manual { color:#3f3a50; margin:0 auto 4rem; max-width:1100px; }
.manual-hero { background:linear-gradient(135deg,#322078,#147f91); border-radius:1.5rem; color:#fff; margin-bottom:1.5rem; overflow:hidden; padding:clamp(2rem,6vw,4.5rem); position:relative; }
.manual-hero:after { background:radial-gradient(circle,#9cf2c8 0,transparent 65%); content:""; height:22rem; opacity:.3; position:absolute; right:-7rem; top:-8rem; width:22rem; }
.manual-hero span { font-size:.78rem; font-weight:800; letter-spacing:.13em; }
.manual-hero h1 { font-size:clamp(3rem,8vw,5.5rem); font-weight:900; margin:.4rem 0; }
.manual-hero p { font-size:1.25rem; line-height:1.6; max-width:680px; }
.manual-hero div { display:flex; flex-wrap:wrap; gap:.75rem; position:relative; z-index:1; }
.manual-summary { background:#fff; border:1px solid #e2ddef; border-radius:1rem; display:flex; flex-wrap:wrap; gap:.75rem 1.25rem; margin-bottom:2rem; padding:1rem 1.25rem; position:sticky; top:.5rem; z-index:10; }
.manual-summary strong { color:#2c1d70; }.manual-summary a { color:#5a4b77; text-decoration:none; }
.product-manual > section { background:#fff; border:1px solid #e9e5f1; border-radius:1.25rem; margin:1.25rem 0; padding:clamp(1.4rem,4vw,2.5rem); }
.product-manual h2 { color:#2b1c73; font-weight:850; margin-bottom:1.25rem; }.product-manual h3 { color:#44338b; font-size:1.1rem; font-weight:800; }
.product-manual p,.product-manual li { line-height:1.7; }.product-manual li+li { margin-top:.45rem; }
.manual-benefits,.manual-routine { display:grid; gap:1rem; grid-template-columns:repeat(3,minmax(0,1fr)); }.manual-benefits div,.manual-routine div { background:#f5f3fb; border-radius:.85rem; display:grid; gap:.35rem; padding:1rem; }
.manual-benefits strong { color:#35247b; }.manual-benefits span { line-height:1.5; }
.product-manual table { border-collapse:collapse; width:100%; }.product-manual th,.product-manual td { border-bottom:1px solid #e8e4ef; padding:.8rem; text-align:left; vertical-align:top; }.product-manual th { color:#39277e; }
.manual-note { background:#ebfaf5; border-left:4px solid #22a779; border-radius:.6rem; margin-top:1.25rem; padding:1rem; }
.manual-module { border-left:3px solid #7658c8; padding:.15rem 0 .15rem 1rem; }.manual-module+.manual-module { margin-top:1.3rem; }
.manual-contact { background:#211759; border-radius:1.25rem; color:#fff; display:grid; gap:.35rem; padding:2rem; }.manual-contact h2 { color:#fff; margin:0; }.manual-contact a,.manual-contact span { color:#aef0d2; font-weight:700; }
@media(max-width:767px){.manual-benefits,.manual-routine{grid-template-columns:1fr}.manual-summary{position:static}.page-help-trigger strong{display:none}.page-help-trigger{padding:.55rem}}
