/* Reacty 3.0.2. Dimensions use px; layout fractions remain fluid. */
:root {
  --reacty-blue-950: #17324d;
  --reacty-blue-900: #02417c;
  --reacty-blue-800: #075b9e;
  --reacty-blue-700: #0869b2;
  --reacty-blue-600: #1684cf;
  --reacty-blue-200: #d3e4f2;
  --reacty-blue-100: #eaf2fa;
  --reacty-blue-50: #f5f8fc;
  --reacty-ink: #1d2733;
  --reacty-muted: #626c79;
  --reacty-line: #e5e8ed;
  --reacty-surface: #fff;
  --reacty-surface-soft: #f5f5f7;
  --reacty-shadow: 0 4px 20px rgba(24, 39, 57, .045);
  --reacty-glass: rgba(255, 255, 255, .86);
  --reacty-radius: 16px;
  --science-ink: #1d2733;
  --science-muted: #626c79;
  --science-line: #e5e8ed;
  --science-wash: #f5f5f7;
  --popup-line: #e5e8ed;
  --popup-ink: #1d2733;
  --popup-soft: #f5f8fc;
  --popup-field: #f5f5f7;
}
body.reacty-ui-minimal {
  margin: 0;
  color: var(--reacty-ink);
  background: #f5f5f7;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 15px;
  line-height: 1.5;
}
.reacty-ui-minimal *, .reacty-ui-minimal *::before, .reacty-ui-minimal *::after { box-sizing: border-box; }
.reacty-ui-minimal :where(button, input, select, textarea) { font-family: inherit; font-size: 15px; }
.reacty-ui-minimal :where(h1) { font-size: 28px; line-height: 1.2; letter-spacing: -.5px; }
.reacty-ui-minimal :where(h2) { font-size: 22px; line-height: 1.3; letter-spacing: -.3px; }
.reacty-ui-minimal :where(h3) { font-size: 18px; line-height: 1.4; }
.reacty-ui-minimal :where(small, .help-text, .form-text) { font-size: 13px; }
.reacty-ui-minimal :where(img, canvas, video) { max-width: 100%; }
.reacty-ui-minimal :where(main, section, article, aside) { min-width: 0; }
.reacty-ui-minimal :where(button, a, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid #1684cf;
  outline-offset: 3px;
}
.reacty-ui-minimal :where(button:disabled, input:disabled, select:disabled) { cursor: not-allowed; }
.reacty-ui-minimal :where(input, textarea)::placeholder { color: #747e8b; opacity: 1; }
.reacty-ui-minimal :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]), select, textarea) {
  min-height: 40px;
  padding: 8px 12px;
  color: var(--reacty-ink);
  background: #f5f5f7;
  border: 1px solid #dfe3e8;
  border-radius: 8px;
  box-shadow: none;
  font-size: 15px;
}
.reacty-ui-minimal :where(input, select, textarea):focus {
  background: #fff;
  border-color: #1684cf;
}
.reacty-ui-minimal :where(input[type="checkbox"], input[type="radio"]) { accent-color: #075b9e; }
.reacty-ui-minimal :where(.btn, .button, .btn-primary, .btn-secondary, .filter-action, .export-button) {
  min-height: 40px;
  padding: 8px 16px;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 600;
  box-shadow: none;
}
.reacty-ui-minimal :where(.btn-primary, .filter-action.primary, .export-button) { background: #075b9e; border-color: transparent; color: #fff; }
.reacty-ui-minimal :where(.table-responsive, .table-scroll, .dataTables_wrapper, .table-container) { max-width: 100%; overflow-x: auto; }
.reacty-ui-minimal :where(table) { font-size: 14px; border-collapse: collapse; }
.reacty-ui-minimal :where(table th) { padding: 12px 16px; background: #f5f5f7; color: #374454; border: 0; border-bottom: 1px solid #e5e8ed; }
.reacty-ui-minimal :where(table td) { padding: 12px 16px; border: 0; border-bottom: 1px solid #eef0f3; }
.reacty-ui-minimal :where(table tbody tr:hover) { background: #f5f8fc; }

/* Shared navigation: subdued blue glass keeps the white Reacty logo legible. */
.reacty-ui-minimal .site-header { z-index: 11000; }
.reacty-ui-minimal header #navbar {
  min-height: 64px;
  height: 64px;
  padding: 0 32px;
  background: linear-gradient(110deg, rgba(16, 40, 66, .97), rgba(22, 57, 91, .96));
  border: 0;
  box-shadow: 0 2px 12px rgba(15, 39, 65, .09);
  backdrop-filter: blur(16px) saturate(140%);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
}
.reacty-ui-minimal header #navbar::before, .reacty-ui-minimal header #navbar::after { display: none; }
.reacty-ui-minimal header #navbar .nav-brand { padding: 0; font-size: 24px; }
.reacty-ui-minimal header #navbar .nav-brand img { width: 142px; height: 56px; object-fit: contain; }
.reacty-ui-minimal header #navbar .nav-list { gap: 4px; padding: 0; }
.reacty-ui-minimal header #navbar .nav-list a.nav-item { display: inline-flex; align-items: center; min-height: 64px; padding: 8px 12px; border: 0; border-radius: 0; font-size: 14px; font-weight: 500; transition: color .18s, background .18s; }
.reacty-ui-minimal header #navbar .nav-list a.nav-item:is(:hover, :focus) { color: #fff; background: rgba(255,255,255,.045); box-shadow: none; }
.reacty-ui-minimal header #navbar .nav-list a.nav-item.is-active { color: #fff; background: transparent; }
.reacty-ui-minimal header #navbar .nav-list a.nav-item.is-active::before { display: none; }
.reacty-ui-minimal header #navbar .nav-list a.nav-item.is-active::after { display: block; content: ""; position: absolute; height: 2px; inset: auto 12px 0; background: #54b7ff; border-radius: 2px; box-shadow: none; }
.reacty-ui-minimal header #navbar .nav-list a.nav-item:focus-visible { outline: 2px solid #81caff; outline-offset: -5px; }
.reacty-ui-minimal header #navbar .dropdown-content { padding: 8px; border: 1px solid #e5e8ed; border-radius: 12px; background: #fff; box-shadow: 0 16px 40px rgba(18, 34, 54, .14); }
.reacty-ui-minimal header #navbar .dropdown-content a { padding: 10px 12px; border-radius: 6px; color: #243d57; font-size: 14px; }
.reacty-ui-minimal header #navbar .nav-list .dropdown-content { margin-top: 0; min-width: 224px; }
.reacty-ui-minimal header #navbar .nav-list > li:last-of-type .dropdown-content { left: auto; right: 0; }
.reacty-ui-minimal header #navbar .nav-list .dropdown-content a:is(:hover, :focus, .is-active) { color: #02417c; background: #eaf2fa; padding-left: 12px; box-shadow: none; }
.reacty-ui-minimal header #navbar .nav-list .dropdown-content a:focus-visible { outline: 3px solid #1684cf; outline-offset: -3px; box-shadow: none; }
.reacty-ui-minimal .hamburger-button { color: #fff; font-size: 24px; }
.reacty-ui-minimal footer:not(.reacty-dialog-footer):not(.study-action-bar) { font-size: 13px; }

/* Main modules and operational surfaces. */
.reacty-ui-minimal.reacty-science-theme main .title { margin: 16px 24px; padding: 12px 20px; background: linear-gradient(110deg,#ffffffec,#edf4faaa); border-radius: 12px; backdrop-filter: blur(16px); filter: none; }
.reacty-ui-minimal.reacty-science-theme main .title h1 {
  justify-content: flex-start;
  min-height: 36px;
  padding: 0;
  color: #17324d;
  background: transparent;
  border: 0;
  clip-path: none;
  font-size: 22px;
  letter-spacing: -.4px;
  text-align: left;
}
.reacty-ui-minimal.reacty-science-theme main .title h1::before,
.reacty-ui-minimal.reacty-science-theme main .title h1::after { display: none; }
.reacty-ui-minimal.reacty-science-theme main :is(.smiles, .lateralbar30, .form-grid, .content-legenda, .iframe70, .pd-card, .comp-table, .reactions, .smiles-table) {
  background: #fff;
  border: 0;
  border-radius: 16px;
  box-shadow: var(--reacty-shadow);
}
.reacty-ui-minimal.reacty-science-theme main :is(.smiles-grid, .smiles-box) { background: #f5f5f7; border: 0; }
.reacty-ui-minimal.reacty-science-theme main :is(input.form-control, select.form-control, .form-control-select, .form-box, .input-estilizado, textarea) {
  color: #1d2733;
  background: #f5f5f7;
  border-color: #dfe3e8;
  box-shadow: none;
  font-size: 15px;
}
.reacty-ui-minimal.reacty-science-theme main :is(.form-group > label, .form-group-select > label, .smiles-section > label, .grid-header) { font-size: 14px; letter-spacing: 0; font-weight: 600; }
.reacty-ui-minimal.reacty-science-theme main ul.form-box { padding: 4px; gap: 8px; background: transparent; border: 0; }
.reacty-ui-minimal.reacty-science-theme main ul.form-box > li > label { padding: 8px 32px 8px 12px; min-height: 40px; border-color: transparent; border-radius: 8px; background: #f5f5f7; font-size: 14px; }
.reacty-ui-minimal :is(.card, .surface, .sso-admin-card, .profile-card, .credit-card, .alchemia-panel) { border-color: transparent; border-radius: 16px; box-shadow: var(--reacty-shadow); }
.reacty-ui-minimal .modules-page { padding: 32px 24px; background: #f5f5f7; }
.reacty-ui-minimal .modules-page::before { display: none; }
.reacty-ui-minimal .modules-hero { min-height: 132px; padding: 24px 32px; border: 0; background: linear-gradient(110deg,#ffffffeb,#edf4fab5); backdrop-filter: blur(16px); box-shadow: var(--reacty-shadow); }
.reacty-ui-minimal .hero-chemistry-ambient { height: 140px; margin: -24px -32px -24px 0; }
.reacty-ui-minimal .hero-copy h1 { font-size: 28px; }
.reacty-ui-minimal .modules-grid { gap: 24px; margin-top: 24px; }
.reacty-ui-minimal .module-card { display: grid; grid-template-columns: 40px minmax(0,1fr); grid-template-rows: auto 1fr auto auto; gap: 16px 12px; padding: 24px; border: 0; border-radius: 12px; box-shadow: var(--reacty-shadow); background: #fff; transition: box-shadow .18s, transform .18s; }
.reacty-ui-minimal .module-card:hover { transform: translateY(-2px); box-shadow: 0 8px 28px #153e6410; }
.reacty-ui-minimal .module-card::before, .reacty-ui-minimal .module-card::after { display: none; }
.reacty-ui-minimal .module-card h2 { align-self: center; margin: 0; font-size: 20px; }
.reacty-ui-minimal .module-card p { grid-column: 1 / -1; margin: 0; font-size: 15px; line-height: 24px; color: #626c79; }
.reacty-ui-minimal .module-card .card-icon { width: 40px; height: 40px; margin: 0; border-radius: 10px; background: #edf4fb; color: #075b9e; box-shadow: none; font-size: 18px; }
.reacty-ui-minimal .module-card .module-link { grid-column: 1 / -1; justify-self: start; margin: 0; min-height: 36px; padding: 8px 12px; border: 0; border-radius: 6px; font-size: 14px; background: #edf4fb; color: #075b9e; box-shadow: none; }
.reacty-ui-minimal .module-card .module-link::after { content: "→"; margin-left: 12px; }
.reacty-ui-minimal .module-card .module-link:hover { background: #dfeefa; color: #02417c; }
.reacty-ui-minimal .module-references { grid-column: 1 / -1; gap: 8px; margin: 0; }
.reacty-ui-minimal .module-references span { padding: 4px 8px; border: 0; background: #f5f5f7; color: #626c79; font-size: 13px; }
.reacty-ui-minimal .dashboard-wrapper { width: calc(100% - 48px); padding-top: 24px; }
.reacty-ui-minimal .dashboard-wrapper .hero { background: #fff; }
.reacty-ui-minimal .nlb-hero { padding: 24px 32px; background: #fff; color: #17324d; box-shadow: var(--reacty-shadow); border-radius: 16px; }
.reacty-ui-minimal .nlb-hero h1 { color: #17324d; font-size: 28px; }
.reacty-ui-minimal .nlb-hero p { color: #626c79; font-size: 15px; }
.reacty-ui-minimal .nlb-eyebrow { color: #626c79; font-size: 13px; }
.reacty-ui-minimal :is(.nlb-summary-card, .nlb-toolbar, .nlb-advanced-filters, .nlb-table-card) { background: #fff; border: 0; box-shadow: var(--reacty-shadow); }
.reacty-ui-minimal .nlb-button { min-height: 40px; border-radius: 8px; font-size: 14px; }
.reacty-ui-minimal .nlb-button-light { color: #075b9e; background: #eaf2fa; border: 0; }
.reacty-ui-minimal :is(.nlb-button-primary, .nlb-button-accent) { background: #075b9e; color: #fff; }
.reacty-ui-minimal .nlb-table-scroll { position: relative; max-width: 100%; }
.reacty-ui-minimal .nlb-table th { font-size: 13px; background: #f5f5f7; }
.reacty-ui-minimal .nlb-dialog { border: 0; border-radius: 16px; }

/* Dialogs: one raised surface, glass only on the header/action area. */
.reacty-ui-minimal :is(.reacty-dialog-panel, .modal-content, .science-info-dialog, .science-visual-dialog) {
  border: 0;
  border-radius: 16px;
  box-shadow: 0 24px 80px rgba(16, 32, 50, .22);
}
.reacty-ui-minimal :is(.reacty-dialog-header, .modal-header, .science-info-dialog-header) {
  color: #17324d;
  background: var(--reacty-glass);
  border-bottom: 1px solid #e5e8ed;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.reacty-ui-minimal :is(.reacty-dialog-header h2, .modal-header h2, .science-info-dialog-header h2) { color: #17324d; font-size: 20px; }
.reacty-ui-minimal .reacty-dialog-header-icon { background: #eaf2fa; color: #075b9e; border-radius: 12px; }
.reacty-ui-minimal .reacty-dialog-footer { background: #fafafb; border-top: 1px solid #e5e8ed; }
.reacty-ui-minimal .reacty-dialog-body { font-size: 15px; }
.reacty-ui-minimal :is(.reacty-dialog-button, .reacty-dialog-close) { border-radius: 8px; font-size: 14px; }
.reacty-ui-minimal .science-info-dialog .science-info-dialog-shell > header {
  color: #17324d !important;
  background: rgba(240, 246, 252, .94);
  border-bottom: 1px solid #e5e8ed;
  backdrop-filter: blur(16px);
}
.reacty-ui-minimal .science-info-dialog .science-info-dialog-shell > header h3 { color: #17324d !important; }
.reacty-ui-minimal .science-info-dialog header button { color: #075b9e; background: #fff; border: 0; }
.reacty-ui-minimal .reacty-export-modal { display: flex; flex-direction: column; border: 0; border-radius: 16px; overflow: hidden; }
.reacty-ui-minimal .reacty-export-modal[hidden] { display: none; }
.reacty-ui-minimal .reacty-export-header { flex-shrink: 0; padding: 24px; background: var(--reacty-glass); backdrop-filter: blur(16px); }
.reacty-ui-minimal .reacty-export-header h2 { font-size: 22px; }
.reacty-ui-minimal .reacty-export-eyebrow { font-size: 13px; letter-spacing: .6px; }
.reacty-ui-minimal .reacty-export-body { min-height: 0; padding: 24px; overflow-y: auto; }
.reacty-ui-minimal :is(.reacty-export-fieldset legend, .reacty-export-status) { font-size: 14px; }
.reacty-ui-minimal .reacty-export-option { min-height: 80px; padding: 16px; border: 1px solid transparent; border-radius: 12px; background: #f5f5f7; }
.reacty-ui-minimal .reacty-export-option.selected { border-color: #aac7df; background: #eaf2fa; box-shadow: none; }
.reacty-ui-minimal :is(.reacty-export-language button, .reacty-export-scenarios button) { border-color: transparent; background: #f5f5f7; font-size: 14px; }
.reacty-ui-minimal :is(.reacty-export-language button.selected, .reacty-export-scenarios button.selected) { border-color: #aac7df; background: #eaf2fa; box-shadow: none; }
.reacty-ui-minimal .reacty-export-footer { flex-shrink: 0; padding: 16px 24px; gap: 12px; background: #fafafb; }
.reacty-ui-minimal .reacty-export-footer button { padding: 8px 16px; font-size: 15px; }
.reacty-ui-minimal :is(.reacty-export-download, .reacty-export-trigger) { background: #075b9e; box-shadow: none; }

/* Scientific workspaces keep molecular diagrams and charts on white. */
body.reacty-ui-minimal.reacty-science-popup { padding: 0; background: #f5f5f7; }
.reacty-ui-minimal .science-modal-shell { grid-template-columns: minmax(240px, 24%) minmax(0, 1fr); background: #f5f5f7; }
.reacty-ui-minimal .science-molecule-rail { padding: 24px; gap: 24px; color: #17324d; background: #eef2f7; }
.reacty-ui-minimal .science-molecule-image { padding: 16px; border: 0; border-radius: 16px; box-shadow: var(--reacty-shadow); }
.reacty-ui-minimal .science-molecule-identifiers span { color: #626c79; }
.reacty-ui-minimal .science-tab-workspace { background: #fff; }
.reacty-ui-minimal .science-modal-header { padding: 24px 32px 16px; background: #fff; }
.reacty-ui-minimal .science-modal-header h1 { font-size: 26px; }
.reacty-ui-minimal .science-modal-header > span { font-size: 13px; letter-spacing: 1px; }
.reacty-ui-minimal .science-tabs-shell { background: var(--reacty-glass); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); box-shadow: none; }
.reacty-ui-minimal .science-tabs { padding: 0 24px; gap: 4px; }
.reacty-ui-minimal .science-tabs button { padding: 16px 12px 12px; font-size: 14px; font-weight: 600; }
.reacty-ui-minimal .science-tabs button[aria-selected="true"] { color: #075b9e; border-bottom-color: #075b9e; }
.reacty-ui-minimal .science-tabs-scroll { background: transparent; }
.reacty-ui-minimal .science-tabs-scroll span { border: 0; box-shadow: none; background: #eef2f7; }
.reacty-ui-minimal .science-component-strip { padding: 16px; background: #f5f5f7; border: 0; box-shadow: none; border-radius: 12px; }
.reacty-ui-minimal .science-component-option { border: 1px solid transparent; background: #fff; color: #374454; border-radius: 8px; box-shadow: none; }
.reacty-ui-minimal .science-component-option.is-active { background: #eaf2fa; color: #02417c; border-color: #c3d9eb; box-shadow: none; }
.reacty-ui-minimal .science-component-option.is-active :is(strong, small) { color: #02417c; }
.reacty-ui-minimal .science-section-heading h2 { font-size: 20px; }
.reacty-ui-minimal :is(.science-property-card, .science-empty-state, .science-overview-card, .ionization-site-card, .ionization-chart-card, .ionization-analytic-card, .mass-v2-card) { border: 0; border-radius: 12px; background: #f7f8fa; box-shadow: none; }
.reacty-ui-minimal .science-property-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.reacty-ui-minimal .science-property-card { padding: 24px; }
.reacty-ui-minimal .science-property-card::before { display: none; }
.reacty-ui-minimal .science-property-card header { display: flex; align-items: center; gap: 8px; }
.reacty-ui-minimal .science-property-card header h3 { flex: 1; font-size: 16px; }
.reacty-ui-minimal .science-property-card header > span { display: none; }
.reacty-ui-minimal .science-property-values strong { color: #17324d; font-size: 24px; }
.reacty-ui-minimal .science-property-values > div { padding: 8px 0; border: 0; background: transparent; }
.reacty-ui-minimal .science-property-estimate { padding: 0; color: #626c79; background: transparent; font-size: 13px; font-weight: 400; }
.reacty-ui-minimal .science-property-status { display: block; margin: 12px 0; color: #626c79; font-size: 14px; }
.reacty-ui-minimal .science-property-method { margin-top: 12px; color: #626c79; font-size: 13px; }
.reacty-ui-minimal .science-info-button { width: 30px; height: 30px; min-width: 30px; padding: 0; background: #eaf2fa; color: #075b9e; border: 0; border-radius: 50%; box-shadow: none; font-size: 15px; }
.reacty-ui-minimal :is(.science-info-visual-grid article, .science-info-method-card) { padding: 16px; border: 0; background: #f5f5f7; border-radius: 12px; }
.reacty-ui-minimal .science-smiles-example { display: flex; align-items: center; gap: 12px; margin: 16px 0; padding: 16px; background: #f5f5f7; border-radius: 12px; }
.reacty-ui-minimal .science-smiles-example code { padding: 4px 8px; background: #fff; border-radius: 6px; font-size: 16px; color: #075b9e; }
.reacty-ui-minimal .ionization-panel { padding: 0; background: #fff; border: 0; box-shadow: none; }
.reacty-ui-minimal .ionization-sites { gap: 16px; }
.reacty-ui-minimal .science-study-selector { margin-bottom: 16px; }
.reacty-ui-minimal .science-study-selector select { width: 100%; margin: 8px 0; }
.reacty-ui-minimal .science-component-assessment { padding: 0; margin-bottom: 24px; background: transparent; border: 0; }

/* Sign-in, SSO and account recovery share the same neutral surfaces. */
.reacty-ui-minimal .login-page { min-height: 100vh; height: auto; background: #f5f5f7; }
.reacty-ui-minimal .login-page > .left-side { flex: 0 0 38%; padding: 32px; background: #173a5e; }
.reacty-ui-minimal .login-logo { width: 320px; max-width: 100%; }
.reacty-ui-minimal .login-page > .right-side { flex: 1; padding: 32px; color: #1d2733; }
.reacty-ui-minimal .login-container { max-width: 440px; padding: 32px; border-radius: 20px; background: #fff; box-shadow: var(--reacty-shadow); }
.reacty-ui-minimal .login-title { color: #17324d; font-size: 26px; text-align: left; margin-bottom: 8px; }
.reacty-ui-minimal .login-title2 { color: #626c79; font-size: 15px; font-weight: 400; text-align: left; margin-bottom: 24px; }
.reacty-ui-minimal .form-group-icon { background: #f5f5f7; border: 1px solid #dfe3e8; border-radius: 8px; margin-bottom: 16px; }
.reacty-ui-minimal .form-group-icon input { width: 100%; border: 0; background: transparent; min-height: 44px; }
.reacty-ui-minimal .icon-box { width: 40px; flex: 0 0 40px; color: #075b9e; }
.reacty-ui-minimal .login-button { min-height: 44px; border-radius: 8px; background: #075b9e; color: #fff; font-size: 15px; }
.reacty-ui-minimal .login-links a { color: #075b9e; font-size: 13px; }
.reacty-ui-minimal .sso-login-button { min-height: 44px; border-color: #dfe3e8; color: #17324d; background: #fff; border-radius: 8px; font-size: 14px; }
.reacty-ui-minimal :is(.sso-login-help, .sso-help, .sso-footnote) { color: #626c79; font-size: 13px; }
.reacty-ui-minimal .sso-page { background: #f5f5f7; padding: 32px 16px; }
.reacty-ui-minimal .sso-card { background: #fff; border: 0; border-radius: 20px; box-shadow: var(--reacty-shadow); }
.reacty-ui-minimal .sso-card h1 { font-size: 26px; }
.reacty-ui-minimal .sso-brand { background: #173a5e; border-radius: 12px; padding: 8px 16px; }

/* Public information uses the same readable light surfaces. */
.reacty-public-home .container { max-width: 960px; margin: 64px auto; padding: 0 24px; }
.reacty-public-home :is(.text1, .text3, .text4) { color: #17324d; font-size: 28px; line-height: 1.3; }
.reacty-public-home .text2 { max-width: 800px; margin: 0 auto; color: #626c79; font-size: 16px; }
.reacty-public-home .buttons-container { gap: 16px; margin-top: 24px; }
.reacty-public-home :is(.button1, .button2) { min-height: 44px; padding: 12px 24px; border-radius: 8px; font-size: 15px; }
.reacty-public-home .button1 { background: #075b9e; }
.reacty-public-home .button2 { border: 1px solid #d3dce5; background: #fff; }
.reacty-public-home .button2 a { color: #075b9e; }
.reacty-public-home .main-content { max-width: 1120px; margin: 0 auto 64px; padding: 0 24px; }
.reacty-public-home :is(.container2, .container3) { max-width: 1120px; margin: 0 auto 64px; padding: 0 24px; }
.reacty-public-home .feature-box { padding: 24px; background: #fff; border: 0; border-radius: 16px; box-shadow: var(--reacty-shadow); }
.reacty-public-home .feature-box h3 { color: #17324d; font-size: 20px; }
.reacty-public-home .feature-box p { color: #626c79; font-size: 15px; }
.reacty-public-home .icon-wrapper { background: #eaf2fa; color: #075b9e; }
.reacty-public-home .icon-wrapper i { color: #075b9e; }
.reacty-public-home .accordion { margin-top: 24px; }
.reacty-public-home .accordion-item { background: #fff; border: 0; border-bottom: 1px solid #e5e8ed; }
.reacty-public-home .accordion-header { padding: 16px; color: #17324d; font-size: 16px; }
.reacty-public-home .accordion-content { color: #425c72; font-size: 15px; background: #f4f8fc; border: 1px solid #dce7f1; }
.reacty-public-home .footer { background: #17324d; padding: 24px; }
.reacty-public-home .footer :is(p, a, span) { font-size: 13px; }
.reacty-policy-page .container { max-width: 960px; margin: 32px auto; padding: 32px; color: #374454; background: #fff; border: 0; box-shadow: var(--reacty-shadow); backdrop-filter: none; }
.reacty-policy-page .text2 h1 { color: #17324d; font-size: 28px; text-align: left; margin-bottom: 24px; }
.reacty-policy-page .text2 h2 { color: #17324d; font-size: 22px; margin: 32px 0 12px; }
.reacty-policy-page .text2 h3 { color: #374454; font-size: 18px; margin: 24px 0 8px; }
.reacty-policy-page .text2 :is(p, li) { color: #374454; font-size: 16px; line-height: 1.7; text-align: left; }
.reacty-policy-page a { color: #075b9e; }
.reacty-ui-minimal .about-content { max-width: 880px; padding: 32px; margin: 32px auto; background: #fff; border-radius: 16px; }
.reacty-ui-minimal .about-content p { font-size: 16px; text-align: left; }

/* Account, credits and payment dialogs. */
.reacty-ui-minimal :is(.profile-container, .buy-credits-container) { width: calc(100% - 48px); margin: 32px auto; padding: 32px; background: #fff; color: #1d2733; border: 0; border-radius: 16px; box-shadow: var(--reacty-shadow); font-family: inherit; }
.reacty-ui-minimal .profile-container h2, .reacty-ui-minimal .buy-credits-container .header h2 { color: #17324d; font-size: 24px; }
.reacty-ui-minimal .profile-container .email, .reacty-ui-minimal .buy-credits-container .header p { color: #626c79; font-size: 15px; }
.reacty-ui-minimal .profile-container .avatar img { width: 80px; height: 80px; border: 0; box-shadow: none; }
.reacty-ui-minimal .profile-container .card { padding: 24px; background: #f5f5f7; color: #17324d; box-shadow: none; }
.reacty-ui-minimal .profile-container .card:hover { transform: none; }
.reacty-ui-minimal .profile-container .card h3 { color: #626c79; font-size: 15px; }
.reacty-ui-minimal .profile-container .creditos { color: #075b9e; font-size: 28px; }
.reacty-ui-minimal .profile-container .action-buttons { flex-wrap: wrap; gap: 12px; }
.reacty-ui-minimal .packages { gap: 24px; margin-top: 24px; }
.reacty-ui-minimal .package { flex: 1; padding: 24px; background: #f5f5f7; border-radius: 12px; box-shadow: none; }
.reacty-ui-minimal .package:hover { transform: none; background: #eaf2fa; }
.reacty-ui-minimal .package h3 { font-size: 18px; color: #17324d; }
.reacty-ui-minimal .package p { font-size: 16px; }
.reacty-ui-minimal .package button { font-size: 15px; }
.reacty-ui-minimal .payment-methods { padding: 24px; margin-top: 24px; background: #f5f5f7; }
.reacty-ui-minimal .payment-methods h4 { font-size: 16px; }
.reacty-ui-minimal .payment-option { padding: 8px 0; font-size: 15px; }
.reacty-ui-minimal #pixModal .modal-content { padding: 24px; background: #fff; color: #1d2733; border: 0; border-radius: 16px; }
.reacty-ui-minimal #pixModal .close-button { color: #075b9e; }
.reacty-ui-minimal #pixModal :is(.copy-text, textarea) { color: #374454; background: #f5f5f7; }

/* Existing Ketcher modules fit below navigation, title and structure input. */
@media (min-width: 1024px) {
  .reacty-ui-minimal.reacty-science-theme main .container:has(> .left-pane) { height: max(480px, calc(100dvh - 168px)); margin: 0; max-width: none; padding: 0 24px 24px; gap: 16px; }
  .reacty-ui-minimal.reacty-science-theme main .container > :is(.left-pane, .right-pane) { min-width: 0; padding: 0; }
  .reacty-ui-minimal.reacty-science-theme main .container > .right-pane { overflow-y: auto; padding-right: 8px; }
  .reacty-ui-minimal.reacty-science-theme:not(.reacty-molecular-workspace) main .content:has(#ifKetcher) { min-height: 0; height: max(480px, calc(100dvh - 284px)); margin: 16px 24px 24px; gap: 16px; }
  .reacty-ui-minimal.reacty-science-theme:not(.reacty-molecular-workspace) main .content:has(#ifKetcher) > :is(.iframe70, .lateralbar30) { min-height: 0; height: 100%; margin: 0; }
  .reacty-ui-minimal.reacty-science-theme:not(.reacty-molecular-workspace) main .content:has(#ifKetcher) > .iframe70 iframe { height: 100%; min-height: 0; }
  .reacty-ui-minimal.reacty-science-theme:not(.reacty-molecular-workspace) main .content:has(#ifKetcher) > .lateralbar30 { overflow-y: auto; padding: 24px; }
}

@media (max-width: 1600px) {
  .reacty-ui-minimal header #navbar { padding: 0 24px; }
  .reacty-ui-minimal header #navbar .nav-list a.nav-item { padding: 8px 10px; }
  .reacty-ui-minimal .science-modal-header { padding: 24px 24px 16px; }
}
@media (max-width: 1023px) {
  .reacty-ui-minimal .science-modal-shell { grid-template-columns: 1fr; }
  .reacty-ui-minimal .science-molecule-rail { position: static; height: auto; padding: 16px; }
  .reacty-ui-minimal .science-molecule-image { min-height: 180px; max-width: 320px; }
  .reacty-ui-minimal .science-tab-workspace { height: auto; overflow: visible; }
  .reacty-ui-minimal .login-page > .left-side { flex-basis: 32%; }
}
@media (max-width: 767px) {
  .reacty-public-home .container { margin: 32px auto; }
  .reacty-public-home :is(.main-content, .container2, .container3) { margin-bottom: 32px; padding: 0 16px; }
  .reacty-public-home .features-container { grid-template-columns: 1fr; }
  .reacty-public-home .buttons-container { flex-wrap: wrap; justify-content: center; }
  .reacty-policy-page .container { margin: 16px; padding: 24px; width: calc(100% - 32px); }
  .reacty-ui-minimal .about-content { margin: 16px; padding: 24px; }
  .reacty-ui-minimal :is(.profile-container, .buy-credits-container) { width: calc(100% - 32px); padding: 24px; }
  .reacty-ui-minimal .packages { flex-direction: column; gap: 16px; }
  .reacty-ui-minimal .package { width: 100%; }
  .reacty-ui-minimal header #navbar { padding: 0 16px; }
  .reacty-ui-minimal header #navbar .nav-list { gap: 4px; padding: 12px; background: #173a5e; border-radius: 0 0 12px 12px; }
  .reacty-ui-minimal .modules-page { padding: 16px; }
  .reacty-ui-minimal .modules-hero { padding: 24px; }
  .reacty-ui-minimal .hero-chemistry-ambient { display: none; }
  .reacty-ui-minimal .modules-grid { gap: 16px; }
  .reacty-ui-minimal .module-card { padding: 24px; }
  .reacty-ui-minimal .dashboard-wrapper { width: calc(100% - 32px); }
  .reacty-ui-minimal .login-page { flex-direction: column; }
  .reacty-ui-minimal .login-page > .left-side { flex: none; padding: 12px; min-height: 72px; }
  .reacty-ui-minimal .login-logo { width: 160px; }
  .reacty-ui-minimal .login-page > .right-side { padding: 24px 16px; }
  .reacty-ui-minimal .login-container { padding: 24px; }
  .reacty-ui-minimal .science-modal-header { padding: 16px; }
  .reacty-ui-minimal .science-smiles-example { flex-wrap: wrap; }
}
@supports not (backdrop-filter: blur(16px)) {
  .reacty-ui-minimal :is(.science-tabs-shell, .reacty-dialog-header, .science-info-dialog-header) { background: #fff; }
}
@media (prefers-reduced-motion: reduce) {
  .reacty-ui-minimal *, .reacty-ui-minimal *::before, .reacty-ui-minimal *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
@media print {
  body.reacty-ui-minimal { color: #111; background: #fff; }
  .reacty-ui-minimal :is(.site-header, .study-action-bar) { display: none; }
  .reacty-ui-minimal :is(.science-tabs-shell, .reacty-dialog-header, .science-info-dialog-header) { background: #fff; backdrop-filter: none; box-shadow: none; }
}

/* Compact technical navigation and sign-in. */
.reacty-public-home .public-site-header { position: relative; z-index: 11000; }
.reacty-public-home header #navbar.public-navbar { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.reacty-public-home .public-nav-links { display: flex; align-items: center; gap: 8px; margin: 0; }
.reacty-public-home .public-nav-link { display: inline-flex; position: relative; align-items: center; min-height: 64px; padding: 8px 16px; color: #d8e6f4; font-size: 14px; font-weight: 500; text-decoration: none; }
.reacty-public-home .public-nav-link:hover { color: #fff; background: #ffffff0b; }
.reacty-public-home .public-nav-link.is-active::after { content: ""; position: absolute; inset: auto 16px 0; height: 2px; background: #54b7ff; }
.reacty-public-home .public-login-link { display: inline-flex; align-items: center; justify-content: center; gap: 24px; min-height: 36px; padding: 8px 16px; margin-left: 16px; border: 1px solid #ffffff30; border-radius: 8px; color: #fff; background: #ffffff0e; font-size: 14px; font-weight: 600; text-decoration: none; }
.reacty-public-home .public-login-link:hover { color: #fff; background: #ffffff22; border-color: #ffffff60; }
.reacty-public-home .public-language { margin-left: 16px; }
.reacty-public-home .public-menu-toggle { display: none; }
.reacty-ui-minimal header #navbar :is(.gt_selected, .gt_current_lang) a { color: #e0edf8; font-size: 14px; }
.reacty-login-page .login-page > .left-side { position: relative; display: flex; align-items: flex-start; justify-content: flex-start; flex-direction: column; flex-basis: 42%; min-height: 100vh; padding: 40px 48px; overflow: hidden; background: linear-gradient(155deg,#102842,#174567); }
.reacty-login-page .login-brand { position: relative; z-index: 1; }
.reacty-login-page .login-logo { width: 180px; }
.reacty-login-page .login-intro { position: relative; z-index: 1; margin: auto 0; padding: 48px 0 140px; max-width: 420px; }
.reacty-login-page .login-intro > span { color: #a6c9e5; font-size: 13px; letter-spacing: 2px; font-weight: 600; }
.reacty-login-page .login-intro h1 { font-size: 40px; line-height: 48px; letter-spacing: -1px; font-weight: 600; color: #fff; margin: 20px 0; }
.reacty-login-page .login-intro p { color: #b7cadd; font-size: 16px; line-height: 26px; }
.reacty-login-page .login-capabilities { display: flex; gap: 20px; flex-wrap: wrap; margin-top: 32px; color: #b7d4e9; font-size: 13px; }
.reacty-login-page .login-capabilities i { margin-right: 8px; }
.reacty-login-page .login-molecular-grid { position: absolute; width: 320px; bottom: 24px; right: -32px; color: #70bced; opacity: .18; }
.reacty-login-page .login-container { max-width: 440px; padding: 40px; border-radius: 16px; }
.reacty-login-page .mobile-login-logo { display: none; }
.reacty-login-page .login-field-label { display: block; margin-bottom: 8px; color: #495c6e; font-size: 14px; font-weight: 500; }
.reacty-login-page .form-group-icon { overflow: visible; background: #f4f7fa; border-color: transparent; }
.reacty-login-page .form-group-icon:focus-within { background: #fff; border-color: #1684cf; box-shadow: 0 0 0 3px #1684cf14; }
.reacty-login-page .form-group-icon input { min-width: 0; height: 44px; padding: 8px 12px 8px 0; background: transparent; color: #24384d; line-height: 24px; outline: none; }
.reacty-login-page .form-group-icon input:focus-visible { outline: none; }
.reacty-login-page .login-button { margin-top: 8px; }
.reacty-login-page .login-button:hover { background: #024b85; }
.reacty-login-page .sso-login-button:hover { color: #075b9e; background: #f0f6fb; transform: none; }
.reacty-login-page .login-divider { font-size: 13px; color: #6b7c8e; }
.reacty-login-page .login-divider::before, .reacty-login-page .login-divider::after { background: #e5eaf0; }
.reacty-login-page .login-links { display: flex; justify-content: space-between; gap: 16px; margin-top: 24px; }
@media (max-width: 1024px) {
  .reacty-ui-minimal .site-header #navbar nav { top: 64px; max-height: calc(100dvh - 64px); background: #153754; }
  .reacty-ui-minimal .site-header #navbar .nav-list { align-items: stretch; padding: 12px 16px; }
  .reacty-ui-minimal .site-header #navbar .nav-list a.nav-item { min-height: 44px; width: 100%; padding: 12px; }
  .reacty-ui-minimal .site-header #navbar .nav-list .dropdown-content { position: static; margin: 4px 0 8px; }
  .reacty-ui-minimal .site-header .hamburger-button { top: auto; right: auto; transform: none; width: 40px; height: 40px; }
}
@media (max-width: 767px) {
  .reacty-public-home header #navbar .public-nav-links { display: none; position: absolute; top: 64px; left: 0; right: 0; padding: 12px 16px 16px; background: #153754; box-shadow: 0 12px 24px #17324d18; }
  .reacty-public-home header #navbar .public-nav-links.is-open { display: flex; flex-direction: column; align-items: stretch; }
  .reacty-public-home .public-nav-link { min-height: 44px; padding: 12px; }
  .reacty-public-home .public-login-link { margin: 8px 0 0; justify-content: space-between; }
  .reacty-public-home .public-menu-toggle { display: grid; place-items: center; width: 40px; height: 40px; padding: 8px; color: #fff; background: transparent; border: 0; font-size: 20px; cursor: pointer; }
  .reacty-login-page .login-page > .left-side { min-height: 80px; padding: 12px 24px; flex-basis: auto; }
  .reacty-login-page .login-intro, .reacty-login-page .login-molecular-grid { display: none; }
  .reacty-login-page .login-page > .right-side { align-items: flex-start; padding: 24px 16px; }
  .reacty-login-page .login-container { padding: 24px; }
}
.reacty-ui-minimal [aria-invalid="true"]:is(input, select, textarea) { border-color: #be4353 !important; background-color: #fff5f6; }
.reacty-ui-minimal .account-notice { padding: 12px 16px; border-radius: 8px; background: #fff7e9; color: #866020; font-size: 14px; }
.reacty-ui-minimal header #navbar a.gt_switcher-popup { color: #d8e6f4; font-size: 14px; }
.reacty-ui-minimal header #navbar a.gt_switcher-popup:hover { color: #fff; }
.reacty-ui-minimal .sso-card { color-scheme: light; }
.reacty-ui-minimal .sso-card .sso-lead { color: #626c79; }
.reacty-ui-minimal .sso-card .sso-local-link { color: #075b9e; background: #edf4fb; border-color: transparent; }
.reacty-ui-minimal .sso-card .sso-local-link:hover { background: #dcebf7; }
.reacty-ui-minimal .sso-card .sso-field-error { color: #b03e4e; }
.reacty-ui-minimal .sso-card .sso-alert { color: #a13947; background: #fbf0f1; border-color: #edcfd4; }
.reacty-ui-minimal :is(input,select,textarea):user-invalid { border-color: #be4353; background-color: #fff5f6; }
.reacty-ui-minimal header #navbar .nav-list > li.dropdown:nth-last-child(2) .dropdown-content { left: auto; right: 0; }
