:root {
  --umo-ink: #123c3a;
  --umo-teal: #08b6b6;
  --umo-pale: #eafafa;
  --umo-line: #bce9e8;
  --umo-warm: #f6f1e7;
}
.umo-fa { max-width: 1240px; color: var(--umo-ink); }
.umo-fa__heading { display:flex; justify-content:space-between; gap:24px; align-items:flex-start; padding:28px 30px; margin:20px 0 18px; border:1px solid var(--umo-line); border-radius:22px; background:linear-gradient(120deg,#fff 0%,var(--umo-pale) 100%); box-shadow:0 14px 36px rgba(18,60,58,.08); }
.umo-fa__heading h1 { margin:0 0 8px; color:var(--umo-ink); font-size:32px; }
.umo-fa__heading p { margin:0; font-size:15px; }
.umo-fa__eyebrow { color:#008d91; text-transform:uppercase; letter-spacing:.14em; font-weight:800; font-size:11px!important; }
.umo-fa__version,.umo-fa__badge { display:inline-flex; padding:6px 10px; border:1px solid var(--umo-line); border-radius:999px; background:#fff; font-weight:700; white-space:nowrap; }
.umo-fa__panel { background:#fff; border:1px solid #dce9e8; border-radius:18px; padding:28px; margin-top:22px; box-shadow:0 10px 28px rgba(18,60,58,.06); }
.umo-fa__panel h2 { color:var(--umo-ink); font-size:25px; margin-top:0; }
.umo-fa__panel-title { display:flex; justify-content:space-between; gap:24px; align-items:flex-start; }
.umo-fa__form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:22px; }
.umo-fa label { display:flex; flex-direction:column; gap:7px; font-weight:700; color:var(--umo-ink); }
.umo-fa label span { font-size:12px; text-transform:uppercase; letter-spacing:.06em; }
.umo-fa input[type=text],.umo-fa input[type=email],.umo-fa input[type=password],.umo-fa input[type=date],.umo-fa input[type=number],.umo-fa input[type=datetime-local],.umo-fa select,.umo-fa textarea { width:100%; max-width:none; border:1px solid #acdedd; border-radius:10px; padding:9px 11px; color:#173e3d; background:#fff; }
.umo-fa__full { margin-top:20px; }
.umo-fa__wide { grid-column:1/-1; }
.umo-fa__status { display:flex; justify-content:space-between; gap:20px; padding:14px 17px; margin-bottom:24px; border-left:4px solid #dba02c; background:#fff8e8; }
.umo-fa__status.is-ready { border-color:#1f9c69; background:#eaf8f1; }
.umo-fa__connection-state { display:flex; flex-direction:column; justify-content:center; gap:6px; min-height:72px; padding:12px 14px; border:1px solid var(--umo-line); border-radius:10px; background:var(--umo-pale); }
.umo-fa__connection-state > span { color:var(--umo-ink); font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.umo-fa__connection-state strong { color:#087f82; }
.umo-fa__connection-state small { margin:0; }
.umo-fa__redirect-uri { margin:22px 0 0; padding:14px 16px; overflow-wrap:anywhere; border-left:3px solid var(--umo-teal); background:var(--umo-pale); }
.umo-fa__redirect-uri code { white-space:normal; }
.umo-fa__imports { display:grid; gap:12px; margin-top:20px; }
.umo-fa__import { display:grid; grid-template-columns:2fr 1.5fr 1fr auto; gap:16px; align-items:center; padding:17px 19px; border:1px solid var(--umo-line); border-radius:13px; color:var(--umo-ink); text-decoration:none; }
.umo-fa__import:hover { border-color:var(--umo-teal); background:var(--umo-pale); }
.umo-fa__event { padding:20px; border:1px solid var(--umo-line); border-radius:16px; background:#fbffff; margin:16px 0; }
.umo-fa__event.is-published { border-color:#a9d8bd; background:#f4fbf6; }
.umo-fa__event.is-selected { border-color:var(--umo-teal); box-shadow:0 0 0 2px rgba(8,182,182,.13); }
.umo-fa__event header { display:flex; align-items:center; gap:14px; }
.umo-fa__event header div { display:flex; flex-direction:column; gap:4px; flex:1; min-width:0; }
.umo-fa__event header strong { font-size:17px; }
.umo-fa__event header span { color:#557372; }
.umo-fa__number { width:32px; height:32px; display:grid; place-items:center; border-radius:50%; background:var(--umo-pale); color:#008d91!important; font-weight:800; }
.umo-fa__card-select { display:block!important; flex:none; line-height:1; }
.umo-fa__card-select input { width:20px; height:20px; margin:0; }
.umo-fa__bulk { position:sticky; top:42px; z-index:6; display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin:22px 0 10px; padding:14px 16px; border:1px solid var(--umo-line); border-radius:14px; background:rgba(244,255,255,.96); box-shadow:0 8px 20px rgba(18,60,58,.08); backdrop-filter:blur(8px); }
.umo-fa__bulk label { flex-direction:row; align-items:center; gap:8px; }
.umo-fa__bulk label span { font-size:12px; }
.umo-fa__bulk-all { white-space:nowrap; }
.umo-fa__bulk-all input { width:18px; height:18px; margin:0; }
.umo-fa__bulk-count { flex:1; min-width:130px; color:#557372; font-weight:700; }
.umo-fa__bulk-decision select { min-width:140px; }
.umo-fa__actions { position:sticky; bottom:12px; padding:15px; margin:20px -10px -10px; border:1px solid var(--umo-line); border-radius:14px; background:rgba(255,255,255,.94); backdrop-filter:blur(8px); text-align:right; z-index:5; }
.umo-fa__publish-row { display:flex; align-items:center; flex-wrap:wrap; gap:12px; padding-top:22px; border-top:1px solid #dde8e7; margin-top:25px; }
.umo-fa__empty { text-align:center; padding:55px 20px; background:var(--umo-pale); border-radius:14px; margin-top:20px; }
.umo-fa__empty .dashicons { width:auto; height:auto; font-size:44px; color:#08a8a9; }
.umo-fa__error { padding:10px 12px; color:#8a2c23; background:#fff0ed; border-left:3px solid #bf4737; }
.umo-fa__extract-status { margin:20px 0 0; padding:13px 15px; border:1px solid var(--umo-line); border-radius:11px; background:var(--umo-pale); font-weight:700; }
.umo-fa__extract-status.is-error { color:#8a2c23; border-color:#efbbb3; background:#fff0ed; }
.umo-fa__analyse-form.is-reading button[type=submit] { opacity:.6; pointer-events:none; }
.umo-fa__manual { margin:24px 0; border:1px solid var(--umo-line); border-radius:15px; background:#f8ffff; }
.umo-fa__manual summary { display:flex; align-items:center; gap:9px; padding:17px 19px; color:var(--umo-ink); font-weight:800; cursor:pointer; }
.umo-fa__manual summary::marker { color:var(--umo-teal); }
.umo-fa__manual-body { padding:0 19px 19px; border-top:1px solid var(--umo-line); }
.umo-fa__google-location { display:flex; align-items:flex-start; gap:7px; margin:0; padding:10px 12px; border-left:3px solid var(--umo-teal); background:var(--umo-pale); color:#406563; font-size:13px; }
.umo-fa__google-location .dashicons { color:#008d91; }
.umo-fa__reanalyse { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:22px 0; padding:14px 16px; border:1px solid #e2d5ac; border-radius:12px; background:#fffaf0; }
.umo-fa__reanalyse div { display:flex; flex-direction:column; gap:4px; }
.umo-fa__reanalyse span { color:#6c675a; }
.umo-fa small { color:#557372; font-weight:500; line-height:1.5; }
.umo-fa__preflight { margin:22px 0; padding:20px; border:1px solid #e4c675; border-radius:16px; background:#fffaf0; }
.umo-fa__preflight.is-ready { border-color:#9ed8ba; background:#f1fbf5; }
.umo-fa__preflight-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.umo-fa__preflight-head h3 { margin:2px 0 5px; font-size:21px; color:var(--umo-ink); }
.umo-fa__preflight-head p { margin:0; }
.umo-fa__readiness { display:inline-flex; flex:none; padding:7px 12px; border-radius:999px; background:#f0c85d; color:#513e0b; font-weight:800; }
.umo-fa__preflight.is-ready .umo-fa__readiness { background:#d9f2e3; color:#17633f; }
.umo-fa__metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:18px; }
.umo-fa__metrics span { padding:12px; border:1px solid rgba(18,60,58,.1); border-radius:11px; background:rgba(255,255,255,.75); }
.umo-fa__metrics strong { display:block; margin-bottom:3px; font-size:22px; }
.umo-fa__issues { margin:16px 0 0; padding:14px 14px 14px 34px; border-radius:11px; background:#fff; color:#743a22; }
.umo-fa__issues li + li { margin-top:6px; }
.umo-fa__warnings { margin-top:14px; padding:13px 15px; border-left:3px solid #dba02c; border-radius:8px; background:rgba(255,255,255,.72); color:#62583d; }
.umo-fa__warnings ul { margin:7px 0 0 18px; }
.umo-fa__warnings li + li { margin-top:4px; }
.umo-fa__google-preview { margin-top:16px; border-top:1px solid rgba(18,60,58,.14); }
.umo-fa__google-preview summary { padding:15px 0 5px; cursor:pointer; font-weight:800; color:#087f82; }
.umo-fa__preview-list { display:grid; gap:10px; margin-top:10px; }
.umo-fa__preview-list article { display:flex; flex-direction:column; gap:6px; padding:15px; border:1px solid var(--umo-line); border-radius:12px; background:#fff; }
.umo-fa__preview-list article > strong { font-size:16px; }
.umo-fa__preview-list time,.umo-fa__preview-list span { color:#456a68; }
.umo-fa__preview-list p { margin:5px 0 0; padding-top:10px; border-top:1px solid #e5eeee; }
.umo-fa button[disabled] { cursor:not-allowed; opacity:.5; }
html.umo-fa-portal-active,body.umo-fa-portal-active { width:100%!important; height:100%!important; overflow:hidden!important; overscroll-behavior:none!important; }
body.umo-fa-portal-active { position:relative!important; }
.umo-fa__portal { position:fixed!important; inset:0!important; z-index:2147483647!important; isolation:isolate!important; transform:none!important; width:100vw!important; max-width:none!important; height:100vh!important; height:100dvh!important; margin:0!important; padding:clamp(18px,3vw,42px)!important; overflow-x:hidden!important; overflow-y:auto!important; overscroll-behavior:contain!important; box-sizing:border-box!important; background:radial-gradient(circle at 14% 8%,rgba(8,182,182,.12),transparent 28%),#f7fbfb!important; font-family:inherit; }
.umo-fa__portal > * { width:min(1180px,100%); margin-inline:auto; }
.umo-fa__portal .button { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:8px 16px; border:2px solid var(--umo-teal); border-radius:999px; background:#fff; color:var(--umo-ink); font-weight:800; text-decoration:none; cursor:pointer; }
.umo-fa__portal .button-primary { background:var(--umo-teal); color:#fff; }
.umo-fa__portal-header { position:sticky; top:0; z-index:20; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:18px 22px; border:1px solid var(--umo-line); border-radius:20px; background:rgba(255,255,255,.94); box-shadow:0 12px 30px rgba(18,60,58,.09); backdrop-filter:blur(16px); }
.umo-fa__portal-header h1 { margin:2px 0 4px; color:var(--umo-ink); font-size:clamp(25px,3vw,34px); }
.umo-fa__portal-header p { margin:0; }
.umo-fa__portal-brand { display:flex; align-items:center; gap:16px; min-width:0; }
.umo-fa__portal-brand > div { min-width:0; }
.umo-fa__portal-logo { width:62px!important; height:62px!important; flex:none; object-fit:contain; border-radius:50%; background:#fff; box-shadow:0 6px 18px rgba(18,60,58,.13); }
.umo-fa__portal-logo-fallback { display:grid; place-items:center; width:62px; height:62px; flex:none; border:1px solid var(--umo-line); border-radius:50%; background:var(--umo-pale); color:#008d91; font-size:13px; font-weight:900; letter-spacing:.04em; }
.umo-fa__portal-identity { margin-bottom:2px!important; color:#087f82; font-size:13px!important; font-weight:900; }
.umo-fa__portal-user { display:flex; align-items:flex-end; flex-direction:column; gap:12px; color:#557372; font-weight:700; }
.umo-fa__portal-login { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.72fr); gap:clamp(28px,7vw,90px); align-items:center; min-height:min(650px,75vh); padding:clamp(28px,6vw,74px); border:1px solid var(--umo-line); border-radius:26px; background:radial-gradient(circle at 15% 20%,rgba(8,182,182,.14),transparent 32%),linear-gradient(135deg,#fff,#effafa); box-shadow:0 22px 60px rgba(18,60,58,.12); }
.umo-fa__portal-login h1 { max-width:11ch; margin:8px 0 18px; color:var(--umo-ink); font-size:clamp(40px,6vw,72px); line-height:.95; letter-spacing:-.04em; }
.umo-fa__portal-login > div > p:last-child { max-width:42ch; color:#557372; font-size:17px; line-height:1.6; }
.umo-fa__portal-login form { display:grid; gap:17px; padding:26px; border:1px solid var(--umo-line); border-radius:19px; background:#fff; box-shadow:0 12px 30px rgba(18,60,58,.08); }
.umo-fa__portal-login .umo-fa__remember { align-items:center; flex-direction:row; }
.umo-fa__portal-login .umo-fa__remember input { width:18px; height:18px; margin:0; }
.umo-fa__portal-login form > a { color:#087f82; font-weight:700; text-align:center; }
.umo-fa__login-error { grid-column:2; margin:0 0 -8px; padding:12px 14px; border-left:3px solid #bf4737; background:#fff0ed; color:#8a2c23; }
.umo-fa__portal-denied { max-width:680px; margin-inline:auto; text-align:center; }
.umo-fa__portal > .notice { margin-top:14px; }
.umo-fa__portal .umo-fa__panel { margin-top:18px; padding:clamp(20px,3vw,34px); }
.umo-fa__portal .umo-fa__panel > .umo-fa__panel-title h2 { font-size:clamp(24px,3vw,34px); overflow-wrap:anywhere; }
.umo-fa__portal .umo-fa__panel > .umo-fa__panel-title p:not(.umo-fa__eyebrow) { color:#557372; }
.umo-fa__portal .umo-fa__raw-text { display:none; }
.umo-fa__portal .umo-fa__analyse-form .umo-fa__form-grid { grid-template-columns:1.45fr 1fr 1fr 1fr; }
.umo-fa__portal .umo-fa__analyse-form input[type=file] { min-height:54px; padding:12px; border:2px dashed var(--umo-line); background:var(--umo-pale); }
.umo-fa__portal .umo-fa__analyse-form .submit { margin-bottom:0; text-align:right; }
.umo-fa__portal .umo-fa__analyse-form .button-hero { min-width:210px; min-height:50px; }
.umo-fa__portal .umo-fa__portal-option { margin:16px 0; padding:12px 14px; background:#fffdf7; }
.umo-fa__portal .umo-fa__empty { padding:38px 20px; }
.umo-fa__portal .umo-fa__manual { margin:16px 0; }
.umo-fa__handoff { padding:12px 15px; border-left:3px solid #dba02c; background:#fff8e8; }
@media (max-width:782px) {
  .umo-fa__heading,.umo-fa__panel-title,.umo-fa__status,.umo-fa__preflight-head { flex-direction:column; }
  .umo-fa__form-grid { grid-template-columns:1fr; }
  .umo-fa__wide { grid-column:auto; }
  .umo-fa__import { grid-template-columns:1fr; }
  .umo-fa__reanalyse { align-items:flex-start; flex-direction:column; }
  .umo-fa__metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .umo-fa__bulk { position:static; align-items:stretch; flex-direction:column; }
  .umo-fa__bulk-count { min-width:0; }
  .umo-fa__bulk-decision { justify-content:space-between; }
  .umo-fa__bulk .button { width:100%; }
  .umo-fa__portal-header,.umo-fa__portal-login { grid-template-columns:1fr; flex-direction:column; }
  .umo-fa__portal { padding:12px; }
  .umo-fa__portal-header { position:relative; align-items:flex-start; padding:18px; }
  .umo-fa__portal-brand { align-items:flex-start; }
  .umo-fa__portal-logo,.umo-fa__portal-logo-fallback { width:48px!important; height:48px!important; }
  .umo-fa__portal-user { align-items:flex-start; }
  .umo-fa__portal .umo-fa__analyse-form .umo-fa__form-grid { grid-template-columns:1fr; }
  .umo-fa__portal .umo-fa__analyse-form .button-hero { width:100%; }
  .umo-fa__login-error { grid-column:auto; }
}
