/*
Theme Name: Love-On Personal
Theme URI: https://www.love-on.co.il/
Author: Tomer Gilat
Description: A fast, mobile-first WordPress application theme for Love-On personal and premium services. Designed for Classic Editor and Elementor, with a dedicated app shell, RTL support, login-ready account pages, and clean hooks for a future Premium Core plugin.
Version: 0.8.5
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: loveon-personal
License: GPL-2.0-or-later
*/

:root {
  --lo-navy: #27357f;
  --lo-navy-deep: #20285f;
  --lo-pink: #ff1e9a;
  --lo-pink-hover: #d91883;
  --lo-bg: #f7f8ff;
  --lo-panel: #f1f3fc;
  --lo-surface: #ffffff;
  --lo-text: #20285f;
  --lo-muted: #626a8c;
  --lo-border: #dce1f4;
  --lo-success: #287a4d;
  --lo-warning: #8a6500;
  --lo-danger: #a93d3d;
  --lo-shadow: 0 10px 32px rgba(32, 40, 95, 0.08);
  --lo-radius-sm: 10px;
  --lo-radius: 16px;
  --lo-radius-lg: 24px;
  --lo-content: 1180px;
  --lo-app-sidebar: 248px;
  --lo-bottom-nav: 68px;
  --lo-font: Arial, Helvetica, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--lo-bg);
  color: var(--lo-text);
  font-family: var(--lo-font);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; }
/* Important: generic typography and form controls are intentionally NOT styled here.
   ZodiacPress and other embedded services own their UI. Theme styling is scoped to
   Love-On components below so plugin forms cannot be flattened by the host theme. */
.lo-site-header a,.lo-site-footer a,.lo-app-sidebar a,.lo-app-topbar a,.lo-dashboard a,.lo-login-card a,.lo-login-gate a,.lo-profile-settings a,.lo-placeholder a { color: var(--lo-navy); text-decoration: none; }
.lo-site-header a:hover,.lo-site-footer a:hover,.lo-app-sidebar a:hover,.lo-app-topbar a:hover,.lo-dashboard a:hover,.lo-login-card a:hover,.lo-login-gate a:hover,.lo-profile-settings a:hover,.lo-placeholder a:hover { color: var(--lo-pink); text-decoration: none; }
.lo-button { cursor: pointer; }
.lo-dashboard h1,.lo-dashboard h2,.lo-dashboard h3,.lo-dashboard h4,.lo-login-card h1,.lo-login-card h2,.lo-profile-settings h1,.lo-profile-settings h2,.lo-profile-settings h3,.lo-placeholder h1,.lo-placeholder h2,.lo-app-page-header h1 {
  color: var(--lo-text); line-height: 1.25; margin: 0 0 .65em;
}
.lo-dashboard h1 { font-size: clamp(1.75rem, 3vw, 2.45rem); }
.lo-dashboard h2,.lo-profile-settings h2,.lo-placeholder h2 { font-size: clamp(1.35rem, 2.3vw, 1.8rem); }
.lo-dashboard h3,.lo-profile-settings h3 { font-size: clamp(1.05rem, 1.6vw, 1.3rem); }

.screen-reader-text {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0);
  white-space: nowrap; border: 0;
}

/* Public shell */
.lo-site-header {
  position: relative;
  z-index: 50;
  background: var(--lo-surface);
  border-bottom: 1px solid var(--lo-border);
}
.lo-site-header__inner,
.lo-site-footer__inner,
.lo-container {
  width: min(calc(100% - 32px), var(--lo-content));
  margin-inline: auto;
}
.lo-site-header__inner {
  min-height: 72px;
  display: flex;
  align-items: center;
  gap: 24px;
}
.lo-brand { display: inline-flex; align-items: center; gap: 10px; flex-shrink: 0; }
.lo-brand img { max-height: 42px; width: auto; display: block; }
.lo-brand__text { font-weight: 800; font-size: 1.2rem; letter-spacing: .01em; }
.lo-brand__mark {
  width: 34px; height: 34px; border-radius: 50%;
  display: grid; place-items: center;
  background: var(--lo-navy); color: #fff;
  font-weight: 800;
}
.lo-site-nav { margin-inline-start: auto; }
.lo-site-nav ul,
.lo-app-nav ul,
.lo-footer-nav ul {
  display: flex; align-items: center; gap: 18px;
  list-style: none; padding: 0; margin: 0;
}
.lo-site-nav a { font-weight: 700; color: var(--lo-text); }
.lo-site-header__account { display: flex; align-items: center; gap: 10px; }
.lo-mobile-menu-toggle { display: none; }

.lo-main { min-height: 60vh; }
.lo-page { padding: 48px 0 72px; }
.lo-page--narrow .lo-page__content { max-width: 820px; margin-inline: auto; }
.lo-page__header { margin-bottom: 28px; }
.lo-page__content { width: 100%; }
.lo-page__content > *:first-child { margin-top: 0; }

.lo-site-footer {
  padding: 32px 0;
  background: var(--lo-surface);
  border-top: 1px solid var(--lo-border);
  color: var(--lo-muted);
}
.lo-site-footer__inner {
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
}
.lo-footer-nav ul { flex-wrap: wrap; }

/* Buttons and controls */
.lo-button,
button.lo-button {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 18px;
  border: 1px solid var(--lo-navy);
  border-radius: var(--lo-button-radius, 999px);
  background: var(--lo-navy);
  color: #fff;
  font-weight: 800;
  line-height: 1.1;
  transition: .18s ease;
}
.lo-button:hover, .lo-button:focus {
  background: var(--lo-pink);
  border-color: var(--lo-pink);
  color: #fff;
  transform: translateY(-1px);
}
.lo-button--secondary { background: var(--lo-surface); color: var(--lo-navy); }
.lo-button--ghost { background: transparent; color: var(--lo-navy); border-color: var(--lo-border); }
.lo-button--small { min-height: 36px; padding: 8px 14px; font-size: .92rem; }

/* Theme-owned forms only. Embedded ZodiacPress forms are deliberately excluded. */
.lo-login-form input[type="text"],.lo-login-form input[type="email"],.lo-login-form input[type="password"],
.lo-profile-settings input[type="text"],.lo-profile-settings input[type="email"],.lo-profile-settings input[type="password"],.lo-profile-settings input[type="number"],.lo-profile-settings input[type="date"],.lo-profile-settings input[type="time"],.lo-profile-settings input[type="tel"],.lo-profile-settings input[type="url"],.lo-profile-settings select,.lo-profile-settings textarea {
  width: 100%; min-height: 46px; padding: 10px 13px; background: var(--lo-surface); color: var(--lo-text);
  border: 1px solid #cad2eb; border-radius: var(--lo-radius-sm); outline: none; font: inherit;
}
.lo-profile-settings textarea { min-height: 130px; resize: vertical; }
.lo-login-form input:focus,.lo-profile-settings input:focus,.lo-profile-settings select:focus,.lo-profile-settings textarea:focus { border-color: var(--lo-navy); box-shadow: 0 0 0 3px rgba(39,53,127,.10); }
.lo-login-form label,.lo-profile-settings label { font-weight: 700; }

/* Reusable app components, also usable inside Elementor via CSS classes */
.lo-card {
  background: var(--lo-surface);
  border: 1px solid var(--lo-border);
  border-radius: var(--lo-radius);
  padding: 22px;
  box-shadow: var(--lo-shadow);
}
.lo-card--flat { box-shadow: none; }
.lo-card--accent { border-top: 4px solid var(--lo-pink); }
.lo-grid { display: grid; gap: 20px; }
.lo-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lo-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lo-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.lo-stack { display: flex; flex-direction: column; gap: 18px; }
.lo-row { display: flex; align-items: center; gap: 14px; }
.lo-row--between { justify-content: space-between; }
.lo-section { margin-block: 0 38px; }
.lo-section__header { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 16px; }
.lo-eyebrow { color: var(--lo-pink); font-weight: 800; font-size: .78rem; letter-spacing: .04em; text-transform: uppercase; }
.lo-muted { color: var(--lo-muted); }
.lo-chip {
  display: inline-flex; align-items: center; gap: 6px;
  min-height: 28px; padding: 4px 10px;
  border-radius: 999px;
  background: var(--lo-nav-active-bg, var(--lo-panel)); color: var(--lo-navy);
  font-size: .82rem; font-weight: 800;
}
.lo-chip--premium { background: #fff0f8; color: #b91370; }
.lo-chip--success { background: #e9f7ef; color: var(--lo-success); }
.lo-stat { display: flex; flex-direction: column; gap: 3px; }
.lo-stat__value { font-size: 1.65rem; font-weight: 900; line-height: 1.1; }
.lo-stat__label { color: var(--lo-muted); font-size: .9rem; }
.lo-divider { border: 0; border-top: 1px solid var(--lo-border); margin: 24px 0; }

/* App shell */
body.lo-app-mode { background: var(--lo-bg); }
.lo-app-shell { min-height: 100vh; display: grid; grid-template-columns: var(--lo-app-sidebar) minmax(0, 1fr); }
.lo-app-sidebar {
  position: sticky; top: 0;
  height: 100vh;
  display: flex; flex-direction: column;
  padding: 24px 16px;
  background: var(--lo-surface);
  border-inline-end: 1px solid var(--lo-border);
  overflow-y: auto;
}
.lo-app-sidebar__brand { padding: 0 8px 22px; }
.lo-app-sidebar__user {
  padding: 14px;
  margin-bottom: 18px;
  border-radius: var(--lo-radius);
  background: var(--lo-panel);
}
.lo-app-sidebar__user-name { font-weight: 800; }
.lo-app-sidebar__user-plan { color: var(--lo-muted); font-size: .88rem; }
.lo-app-nav { flex: 1; }
.lo-app-nav ul { display: flex; flex-direction: column; align-items: stretch; gap: 5px; }
.lo-app-nav li { width: 100%; }
.lo-app-nav a {
  min-height: 44px;
  display: flex; align-items: center; gap: 11px;
  padding: 9px 12px;
  border-radius: 12px;
  color: var(--lo-text);
  font-weight: 750;
}
.lo-app-nav a:hover,
.lo-app-nav .current-menu-item > a,
.lo-app-nav a[aria-current="page"] { background: var(--lo-nav-active-bg, var(--lo-panel)); color: var(--lo-navy); }
.lo-app-nav__icon { width: 21px; height: 21px; display: inline-grid; place-items: center; flex: 0 0 21px; }
.lo-app-nav__icon svg { width: 21px; height: 21px; stroke: currentColor; }
.lo-app-sidebar__footer { padding: 14px 8px 0; border-top: 1px solid var(--lo-border); }

.lo-app-main { min-width: 0; }
.lo-app-topbar {
  min-height: 70px;
  display: flex; align-items: center; gap: 14px;
  padding: 12px clamp(18px, 3vw, 34px);
  background: color-mix(in srgb, var(--lo-topbar-bg, var(--lo-bg)) 92%, transparent);
  border-bottom: 1px solid var(--lo-border);
  backdrop-filter: blur(12px);
  position: sticky; top: 0; z-index: 30;
}
.lo-app-topbar__title { font-weight: 900; font-size: 1.05rem; }
.lo-app-topbar__spacer { flex: 1; }
.lo-app-topbar__back { display: none; }
.lo-app-content {
  width: min(calc(100% - 40px), var(--lo-content));
  margin-inline: auto;
  padding: 36px 0 90px;
}
.lo-app-page-header { margin-bottom: 24px; }
.lo-app-page-header h1 { font-size: clamp(1.8rem, 3vw, 2.6rem); margin-bottom: 6px; }

.lo-app-bottom-nav { display: none; }

/* Dashboard */
.lo-dashboard-welcome {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: 28px;
  margin-bottom: 24px;
  background: var(--lo-surface);
  border: 1px solid var(--lo-border);
  border-radius: var(--lo-radius-lg);
  box-shadow: var(--lo-shadow);
}
.lo-dashboard-welcome__actions { display: flex; gap: 10px; flex-wrap: wrap; }
.lo-service-card {
  min-height: 170px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  position: relative;
  overflow: hidden;
}
.lo-service-card__icon {
  width: 44px; height: 44px;
  display: grid; place-items: center;
  border-radius: 13px;
  background: var(--lo-panel);
  color: var(--lo-navy);
}
.lo-service-card__icon svg { width: 23px; height: 23px; stroke: currentColor; }
.lo-service-card__title { margin: 0; font-size: 1.08rem; }
.lo-service-card__desc { color: var(--lo-muted); font-size: .92rem; margin: 0; }
.lo-service-card__link { margin-top: auto; font-weight: 800; color: var(--lo-navy); }
.lo-service-card__link:hover { color: var(--lo-pink); }

/* Login gate */
.lo-login-gate {
  width: min(100%, 560px);
  margin: 64px auto;
  padding: clamp(24px, 5vw, 42px);
  background: var(--lo-surface);
  border: 1px solid var(--lo-border);
  border-radius: var(--lo-radius-lg);
  box-shadow: var(--lo-shadow);
}
.lo-login-gate__logo { margin-bottom: 22px; }
.lo-login-gate .login-username,
.lo-login-gate .login-password { margin-bottom: 14px; }
.lo-login-gate .login-remember { margin: 14px 0; }
.lo-login-gate .login-submit { margin: 0; }
.lo-login-gate .login-submit input { width: 100%; }

/* WordPress content */
.alignwide { width: min(100%, 1120px); margin-inline: auto; }
.alignfull { width: 100vw; margin-inline-start: calc(50% - 50vw); }
.wp-caption { max-width: 100%; }
.entry-content table { width: 100%; border-collapse: collapse; }
.entry-content th, .entry-content td { padding: 10px 12px; border-bottom: 1px solid var(--lo-border); text-align: start; }
.entry-content blockquote { margin: 24px 0; padding: 18px 22px; border-inline-start: 4px solid var(--lo-pink); background: var(--lo-panel); }

/* Elementor compatibility */
.elementor-page .lo-page { padding-top: 0; padding-bottom: 0; }
.elementor-page .lo-page__content { max-width: none; }
.lo-elementor-fullwidth .elementor { width: 100%; }
.lo-app-content > .elementor { width: 100%; }

/* Responsive */
@media (max-width: 1024px) {
  .lo-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lo-app-shell { grid-template-columns: 210px minmax(0, 1fr); }
  :root { --lo-app-sidebar: 210px; }
}

@media (max-width: 820px) {
  body.lo-app-mode { padding-bottom: var(--lo-bottom-nav); }
  .lo-app-shell { display: block; min-height: 100vh; }
  .lo-app-sidebar { display: none; }
  .lo-app-topbar { min-height: 58px; padding: 9px 16px; }
  .lo-app-topbar__back { display: inline-flex; }
  .lo-app-content { width: min(calc(100% - 28px), 720px); padding: 24px 0 42px; }
  .lo-app-bottom-nav {
    position: fixed;
    inset-inline: 0; bottom: 0; z-index: 100;
    height: var(--lo-bottom-nav);
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    background: color-mix(in srgb, var(--lo-mobile-nav-bg, var(--lo-surface)) 97%, transparent);
    border-top: 1px solid var(--lo-border);
    padding-bottom: env(safe-area-inset-bottom);
  }
  .lo-app-bottom-nav a {
    min-width: 0;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 2px;
    padding: 6px 4px;
    color: var(--lo-muted);
    font-size: .68rem; font-weight: 800;
  }
  .lo-app-bottom-nav a[aria-current="page"], .lo-app-bottom-nav a:hover { color: var(--lo-pink); }
  .lo-app-bottom-nav svg { width: 20px; height: 20px; stroke: currentColor; }
  .lo-dashboard-welcome { grid-template-columns: 1fr; }
  .lo-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lo-site-nav { display: none; }
  .lo-mobile-menu-toggle { display: inline-flex; margin-inline-start: auto; }
  .lo-site-header.is-open .lo-site-nav {
    display: block; position: absolute; top: 72px; inset-inline: 0;
    background: var(--lo-surface); border-bottom: 1px solid var(--lo-border); padding: 18px;
  }
  .lo-site-header.is-open .lo-site-nav ul { flex-direction: column; align-items: stretch; }
}

@media (max-width: 560px) {
  .lo-grid--2, .lo-grid--3, .lo-grid--4 { grid-template-columns: 1fr; }
  .lo-site-header__inner { width: min(calc(100% - 24px), var(--lo-content)); }
  .lo-site-header__account .lo-account-label { display: none; }
  .lo-page { padding: 32px 0 54px; }
  .lo-card { padding: 18px; }
  .lo-dashboard-welcome { padding: 22px; border-radius: 18px; }
  .lo-app-page-header h1 { font-size: 1.8rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}


/* v0.2 application utilities */
.lo-app-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;padding:clamp(22px,4vw,38px);margin-bottom:24px;background:linear-gradient(135deg,var(--lo-surface),var(--lo-panel));border:1px solid var(--lo-border);border-radius:var(--lo-radius-lg);box-shadow:var(--lo-shadow)}
.lo-app-hero__actions{display:flex;gap:10px;flex-wrap:wrap}
.lo-lock-card{position:relative;overflow:hidden}.lo-lock-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,color-mix(in srgb,var(--lo-surface) 94%,transparent));pointer-events:none}.lo-lock-card__cta{position:relative;z-index:2;margin-top:16px}
.lo-placeholder{padding:28px;border:1px dashed var(--lo-border);border-radius:var(--lo-radius);background:color-mix(in srgb,var(--lo-panel) 60%,var(--lo-surface));text-align:center}.lo-placeholder h2{margin-bottom:8px}.lo-placeholder p{max-width:680px;margin-inline:auto;color:var(--lo-muted)}
.lo-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.lo-kpi{padding:18px;background:var(--lo-surface);border:1px solid var(--lo-border);border-radius:var(--lo-radius);box-shadow:var(--lo-shadow)}
@media(max-width:820px){.lo-app-hero{grid-template-columns:1fr}.lo-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.lo-kpi-grid{grid-template-columns:1fr}}

body.lo-sidebar-dark .lo-app-sidebar{background:var(--lo-navy);border-inline-end-color:color-mix(in srgb,var(--lo-navy) 75%,#fff)}
body.lo-sidebar-dark .lo-app-sidebar .lo-brand,body.lo-sidebar-dark .lo-app-sidebar .lo-brand a,body.lo-sidebar-dark .lo-app-sidebar__user-name,body.lo-sidebar-dark .lo-app-sidebar__footer a{color:#fff}
body.lo-sidebar-dark .lo-app-sidebar__user{background:rgba(255,255,255,.10)}body.lo-sidebar-dark .lo-app-sidebar__user-plan{color:rgba(255,255,255,.72)}
body.lo-sidebar-dark .lo-app-nav a{color:rgba(255,255,255,.88)}body.lo-sidebar-dark .lo-app-nav a:hover,body.lo-sidebar-dark .lo-app-nav a[aria-current="page"],body.lo-sidebar-dark .lo-app-nav .current-menu-item>a{background:rgba(255,255,255,.12);color:#fff}
body.lo-sidebar-dark .lo-app-sidebar__footer{border-top-color:rgba(255,255,255,.16)}
@media(max-width:820px){body.lo-mobile-icon-only .lo-app-bottom-nav a span:not(.lo-app-nav__icon){display:none}body.lo-mobile-icon-only .lo-app-bottom-nav a{font-size:0}}

/* 0.3.0 paired light/dark application theming. Uses Foxiz-compatible data-theme="dark" semantics. */
.lo-brand__logo--dark{display:none}
html[data-theme="dark"] body.lo-has-dark-logo .lo-brand__logo--light,body[data-theme="dark"].lo-has-dark-logo .lo-brand__logo--light{display:none}
html[data-theme="dark"] body.lo-has-dark-logo .lo-brand__logo--dark,body[data-theme="dark"].lo-has-dark-logo .lo-brand__logo--dark{display:block}
html[data-theme="dark"] body{background:var(--lo-bg);color:var(--lo-text)}

.lo-theme-toggle-wrap{display:inline-flex;align-items:center;flex:0 0 auto}
.lo-theme-toggle{appearance:none;-webkit-appearance:none;border:1px solid var(--lo-border);background:var(--lo-panel);color:var(--lo-text);padding:3px;width:50px;height:30px;border-radius:999px;cursor:pointer;box-shadow:none;transition:border-color .18s ease,background .18s ease}
.lo-theme-toggle .dark-mode-slide{position:relative;display:block;width:100%;height:100%}
.lo-theme-toggle .dark-mode-slide-btn{position:absolute;top:50%;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;font-size:14px;line-height:1;transform:translateY(-50%);transition:opacity .18s ease,transform .18s ease,background .18s ease,color .18s ease}
.lo-theme-toggle .mode-icon-default{inset-inline-start:1px;background:var(--lo-surface);color:var(--lo-navy);opacity:1}
.lo-theme-toggle .mode-icon-dark{inset-inline-end:1px;color:var(--lo-muted);opacity:.42}
html[data-theme="dark"] .lo-theme-toggle .mode-icon-default,body[data-theme="dark"] .lo-theme-toggle .mode-icon-default{opacity:.38;background:transparent;color:var(--lo-muted)}
html[data-theme="dark"] .lo-theme-toggle .mode-icon-dark,body[data-theme="dark"] .lo-theme-toggle .mode-icon-dark{opacity:1;background:var(--lo-surface);color:var(--lo-navy)}
.lo-theme-toggle:hover{border-color:var(--lo-navy)}
.lo-theme-toggle:focus-visible{outline:2px solid var(--lo-navy);outline-offset:2px}

html[data-theme="dark"] .lo-chip--success,body[data-theme="dark"] .lo-chip--success{background:color-mix(in srgb,#287a4d 26%,var(--lo-surface));color:#86efac}


html[data-theme="dark"] .lo-button--secondary,body[data-theme="dark"] .lo-button--secondary{background:var(--lo-surface);color:var(--lo-text)}
html[data-theme="dark"] .lo-placeholder,body[data-theme="dark"] .lo-placeholder{background:color-mix(in srgb,var(--lo-panel) 74%,var(--lo-surface))}

/* AstroLovely profile: brand character stays magenta/orange while surfaces remain neutral. */
body.lo-brand-astrolovely .lo-eyebrow{color:var(--lo-pink)}
body.lo-brand-astrolovely .lo-card--accent{border-top-color:var(--lo-pink)}
body.lo-brand-astrolovely .lo-service-card__icon{color:var(--lo-navy)}
body.lo-brand-astrolovely .lo-button:not(.lo-button--secondary):not(.lo-button--ghost){background:var(--lo-navy);border-color:var(--lo-navy)}
body.lo-brand-astrolovely .lo-button:not(.lo-button--secondary):not(.lo-button--ghost):hover{background:var(--lo-pink);border-color:var(--lo-pink)}

/* v0.4.0 app backgrounds, dashboard builder output and frontend login */
.lo-app-main{position:relative;background-color:var(--lo-bg);background-image:linear-gradient(var(--lo-app-bg-overlay),var(--lo-app-bg-overlay)),var(--lo-app-bg-image);background-size:var(--lo-app-bg-size,cover);background-position:var(--lo-app-bg-position,center);background-attachment:var(--lo-app-bg-attachment,scroll);background-repeat:no-repeat}
.lo-dashboard-welcome h1{font-size:inherit;margin-bottom:.3em}.lo-dashboard-welcome p{max-width:760px;margin:0}.lo-dashboard-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}.lo-service-card--third{grid-column:span 4}.lo-service-card--half{grid-column:span 6}.lo-service-card--full{grid-column:1/-1}.lo-service-card__top{display:flex;align-items:center;justify-content:space-between;gap:12px}.lo-service-card--accent-primary{border-top:4px solid var(--lo-navy)}.lo-service-card--accent-accent{border-top:4px solid var(--lo-pink)}.lo-system-messages{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}.lo-system-message{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid var(--lo-border);border-radius:var(--lo-radius);background:var(--lo-surface)}.lo-system-message>div{display:flex;flex-direction:column;gap:2px}.lo-system-message span{color:var(--lo-muted)}.lo-system-message--success{border-inline-start:4px solid #2d8a57}.lo-system-message--warning{border-inline-start:4px solid #d88a20}.lo-system-message--premium{border-inline-start:4px solid var(--lo-pink)}.lo-system-message--info{border-inline-start:4px solid var(--lo-navy)}
@media(max-width:980px){.lo-service-card--third{grid-column:span 6}}@media(max-width:620px){.lo-service-card--third,.lo-service-card--half,.lo-service-card--full{grid-column:1/-1}.lo-system-message{align-items:flex-start;flex-direction:column}}

.lo-login-page-mode{margin:0;min-height:100vh;background:var(--lo-bg)}.lo-login-page{min-height:100vh;position:relative;display:grid;place-items:center;padding:28px;overflow:hidden}.lo-login-page__visual{position:absolute;inset:0;background-color:var(--lo-login-bg,#f7f8ff);background-image:linear-gradient(var(--lo-login-overlay),var(--lo-login-overlay)),var(--lo-login-image);background-size:cover;background-position:var(--lo-login-position,center);background-repeat:no-repeat}.lo-login-page__inner{position:relative;z-index:1;width:100%;display:flex;justify-content:var(--lo-login-justify,center)}.lo-login-card{width:min(100%,var(--lo-login-width,480px));padding:clamp(24px,5vw,42px);background:var(--lo-login-panel);border:1px solid color-mix(in srgb,var(--lo-border) 80%,transparent);border-radius:var(--lo-login-radius,20px);box-shadow:0 22px 70px rgba(14,19,46,.18);backdrop-filter:blur(14px)}.lo-login-card h1{margin:.25em 0;color:var(--lo-login-title,var(--lo-text))}.lo-login-card>.lo-muted{color:var(--lo-login-text,var(--lo-muted));margin-bottom:24px}.lo-login-card__brand{margin-bottom:24px}.lo-login-brand img{max-height:58px;width:auto}.lo-login-form{display:flex;flex-direction:column;gap:14px}.lo-login-form label{display:flex;flex-direction:column;gap:6px}.lo-login-remember{flex-direction:row!important;align-items:center!important;font-weight:500}.lo-login-remember input{width:auto!important;min-height:0!important}.lo-login-submit{width:100%}.lo-login-links{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:18px;font-size:.92rem}.lo-login-logged-in{text-align:center}

/* v0.6.0 icon media support */
.lo-service-card__icon,.lo-app-nav__icon{display:inline-grid;place-items:center}
.lo-service-card__icon .lo-icon-svg,.lo-app-nav__icon .lo-icon-svg{width:1em;height:1em;display:block}
.lo-service-card__icon .lo-custom-icon,.lo-app-nav__icon .lo-custom-icon{display:block;width:1em;height:1em;object-fit:contain}
.lo-service-card__icon{font-size:24px}.lo-app-nav__icon{font-size:21px}
.lo-custom-icon--mask{display:block;width:1em;height:1em;background:currentColor;-webkit-mask-image:var(--lo-custom-icon-url);mask-image:var(--lo-custom-icon-url);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}

/* Premium dashboard card controls v0.7 */
.lo-dashboard-grid{align-items:stretch}
.lo-service-card{
  padding:var(--lo-dashboard-card-padding,22px)!important;
  border-width:var(--lo-dashboard-card-border-width,1px)!important;
  border-style:solid!important;
  border-color:var(--lo-dashboard-card-border,var(--lo-border))!important;
  border-radius:var(--lo-dashboard-card-radius,var(--lo-radius))!important;
  background:var(--lo-dashboard-card-bg,var(--lo-surface))!important;
  box-shadow:var(--lo-dashboard-card-shadow,none)!important;
}
.lo-service-card--quarter{grid-column:span 3}
.lo-service-card__icon{
  width:calc(var(--lo-card-icon-size,24px) + 24px);
  height:calc(var(--lo-card-icon-size,24px) + 24px);
  flex:0 0 auto;
  font-size:var(--lo-card-icon-size,24px)!important;
  color:var(--lo-card-icon-color,var(--lo-navy))!important;
  background:var(--lo-card-icon-bg,var(--lo-panel))!important;
  border-radius:var(--lo-card-icon-radius,14px)!important;
}
.lo-service-card__icon .lo-icon-svg,.lo-service-card__icon .lo-custom-icon{width:var(--lo-card-icon-size,24px)!important;height:var(--lo-card-icon-size,24px)!important}
.lo-service-card__icon .lo-custom-icon--mask{background-color:currentColor;mask-image:var(--lo-custom-icon-url);-webkit-mask-image:var(--lo-custom-icon-url);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-position:center;-webkit-mask-position:center;mask-size:contain;-webkit-mask-size:contain}
.lo-service-card__title{font-size:var(--lo-dashboard-title-size,18px)!important;color:var(--lo-dashboard-title-color,var(--lo-text))!important}
.lo-service-card__desc{font-size:var(--lo-dashboard-desc-size,15px)!important;color:var(--lo-dashboard-desc-color,var(--lo-muted))!important;line-height:1.55}
@media(max-width:1180px){.lo-service-card--quarter{grid-column:span 4}}
@media(max-width:820px){.lo-service-card--quarter,.lo-service-card--third{grid-column:span 6}}
@media(max-width:620px){.lo-service-card--quarter,.lo-service-card--third,.lo-service-card--half,.lo-service-card--full{grid-column:1/-1}}

/* Account / profile settings */
.lo-profile-settings{display:flex;flex-direction:column;gap:22px}
.lo-profile-settings__section{padding:clamp(18px,3vw,28px);border:1px solid var(--lo-border);border-radius:var(--lo-radius-lg);background:var(--lo-surface)}
.lo-profile-settings__section h2,.lo-profile-settings__section h3{margin-top:0}
.lo-profile-settings__head{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:22px}
.lo-profile-avatar{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.lo-profile-avatar__image{width:92px;height:92px;border-radius:50%;overflow:hidden;border:1px solid var(--lo-border);background:var(--lo-panel);display:grid;place-items:center}
.lo-profile-avatar__image img{width:100%;height:100%;object-fit:cover}
.lo-profile-avatar__controls{display:flex;flex-direction:column;gap:8px;min-width:min(100%,280px)}
.lo-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.lo-profile-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.lo-profile-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.lo-profile-field--wide{grid-column:1/-1}
.lo-profile-field>span{font-weight:700;color:var(--lo-text)}
.lo-profile-field small{color:var(--lo-muted)}
.lo-profile-field input,.lo-profile-field select,.lo-profile-field textarea{width:100%;margin:0}
.lo-profile-notice{padding:13px 15px;border-radius:var(--lo-radius);border:1px solid var(--lo-border);background:var(--lo-panel);margin-bottom:16px}
.lo-profile-notice--success{border-inline-start:4px solid #2d8a57}
.lo-profile-notice--error{border-inline-start:4px solid #b42318}
.lo-profile-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}
.lo-profile-native-birth{margin-top:16px}
.lo-profile-native-birth>.zpf-wrap,.lo-profile-native-birth>.zp-wrap{max-width:none!important}
@media(max-width:760px){.lo-profile-grid,.lo-profile-grid--3{grid-template-columns:1fr}.lo-profile-field--wide{grid-column:auto}.lo-profile-avatar{align-items:flex-start}.lo-profile-actions{justify-content:stretch}.lo-profile-actions .lo-button{width:100%}}

/* v0.8.5 stable premium dashboard, scoped so embedded services keep their own design */
.lo-app-sidebar__brand{padding:2px 6px 18px;text-align:center}
.lo-app-sidebar__brand .lo-brand{justify-content:center;width:100%}
.lo-app-sidebar__brand img{max-width:168px;max-height:72px;width:auto;height:auto}
.lo-app-sidebar__user{display:flex;align-items:center;gap:12px;padding:13px;margin-bottom:18px;border:1px solid var(--lo-border);background:linear-gradient(180deg,#fff,var(--lo-panel));border-radius:18px}
.lo-app-sidebar__avatar{width:54px;height:54px;flex:0 0 54px;border-radius:50%;overflow:hidden;border:2px solid color-mix(in srgb,var(--lo-pink) 22%,var(--lo-border));box-shadow:0 7px 20px rgba(32,40,95,.10)}
.lo-app-sidebar__avatar img{width:100%;height:100%;object-fit:cover;display:block}
.lo-app-sidebar__user-copy{min-width:0;display:flex;flex-direction:column;gap:2px}

.lo-dashboard{display:flex;flex-direction:column;gap:24px}
.lo-dashboard-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:18px;align-items:stretch}
.lo-dashboard-hero__copy{padding:clamp(22px,3vw,34px);border:1px solid var(--lo-border);border-radius:26px;background:radial-gradient(circle at 88% 10%,color-mix(in srgb,var(--lo-pink) 10%,#fff),transparent 40%),linear-gradient(180deg,#fff,var(--lo-surface));box-shadow:0 18px 50px rgba(32,40,95,.08);display:flex;flex-direction:column;justify-content:center;gap:9px}
.lo-dashboard-hero__copy h1{margin:0;font-size:clamp(1.75rem,3vw,2.45rem);line-height:1.05}
.lo-dashboard-hero__copy p{margin:0;max-width:62ch}
.lo-dashboard-hero__featured{display:flex}
.lo-dashboard-columns{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;align-items:start}
.lo-dashboard-main{display:flex;flex-direction:column;gap:22px;min-width:0}
.lo-dashboard-rail{display:flex;flex-direction:column;gap:14px;position:sticky;top:88px}
.lo-dashboard-section{display:flex;flex-direction:column;gap:14px}
.lo-dashboard-section__head h2{margin:2px 0 0}
.lo-dashboard-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;align-items:stretch}
.lo-service-card{display:flex;flex-direction:column;gap:14px;min-height:190px;padding:var(--lo-dashboard-card-padding,22px)!important;border:var(--lo-dashboard-card-border-width,1px) solid var(--lo-dashboard-card-border,var(--lo-border))!important;border-radius:var(--lo-dashboard-card-radius,20px)!important;background:var(--lo-dashboard-card-bg,var(--lo-surface))!important;box-shadow:var(--lo-dashboard-card-shadow,none)!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.lo-service-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--lo-navy) 18%,var(--lo-border))!important;box-shadow:0 16px 36px rgba(32,40,95,.09)!important}
.lo-service-card--quarter{grid-column:span 3}.lo-service-card--third{grid-column:span 4}.lo-service-card--half{grid-column:span 6}.lo-service-card--full{grid-column:1/-1}
.lo-service-card__top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.lo-service-card__icon{width:calc(var(--lo-card-icon-size,24px) + 24px);height:calc(var(--lo-card-icon-size,24px) + 24px);display:grid;place-items:center;font-size:var(--lo-card-icon-size,24px)!important;color:var(--lo-card-icon-color,var(--lo-navy))!important;background:var(--lo-card-icon-bg,var(--lo-panel))!important;border-radius:var(--lo-card-icon-radius,14px)!important}
.lo-service-card__icon .lo-icon-svg,.lo-service-card__icon .lo-custom-icon{width:var(--lo-card-icon-size,24px)!important;height:var(--lo-card-icon-size,24px)!important}
.lo-service-card__body{display:flex;flex-direction:column;gap:7px;min-width:0}
.lo-service-card__title{margin:0!important;font-size:var(--lo-dashboard-title-size,18px)!important;color:var(--lo-dashboard-title-color,var(--lo-text))!important}
.lo-service-card__desc{margin:0!important;font-size:var(--lo-dashboard-desc-size,15px)!important;line-height:1.5;color:var(--lo-dashboard-desc-color,var(--lo-muted))!important}
.lo-service-card__cta{margin-top:auto;align-self:flex-start}
.lo-service-card--featured{min-height:100%;padding:clamp(24px,3vw,32px)!important;background:radial-gradient(circle at 12% 10%,color-mix(in srgb,var(--lo-pink) 9%,#fff),transparent 42%),var(--lo-surface)!important}
.lo-service-card--featured .lo-service-card__title{font-size:clamp(1.3rem,2vw,1.75rem)!important}
.lo-service-card--featured .lo-service-card__desc{font-size:1rem!important;max-width:48ch}
.lo-service-card--accent-primary{border-top-width:4px!important;border-top-color:var(--lo-navy)!important}.lo-service-card--accent-accent{border-top-width:4px!important;border-top-color:var(--lo-pink)!important}

.lo-dashboard-widget{padding:18px;border:1px solid var(--lo-border);border-radius:20px;background:linear-gradient(180deg,#fff,var(--lo-surface));box-shadow:0 10px 26px rgba(32,40,95,.05)}
.lo-dashboard-widget__head h3{margin:2px 0 12px}.lo-dashboard-profile{display:flex;align-items:center;gap:12px;margin-bottom:14px}.lo-dashboard-profile__avatar{width:58px;height:58px;border-radius:50%;overflow:hidden;flex:0 0 58px}.lo-dashboard-profile__avatar img{width:100%;height:100%;object-fit:cover;display:block}.lo-dashboard-profile>div:last-child{display:flex;flex-direction:column;gap:2px}.lo-dashboard-profile span{font-size:.86rem;color:var(--lo-muted)}
.lo-dashboard-quick-list,.lo-dashboard-feed{display:flex;flex-direction:column;gap:9px}.lo-dashboard-quick{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--lo-border);border-radius:14px;background:var(--lo-panel);color:inherit!important;text-decoration:none!important}.lo-dashboard-quick:hover{background:#fff}.lo-dashboard-quick__icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#fff;color:var(--lo-navy);flex:0 0 38px}.lo-dashboard-quick__icon svg{width:20px;height:20px}.lo-dashboard-quick>span:last-child{display:flex;flex-direction:column;gap:1px;min-width:0}.lo-dashboard-quick strong{font-size:.9rem}.lo-dashboard-quick small{font-size:.76rem;color:var(--lo-muted);line-height:1.35}
.lo-dashboard-feed article{padding:11px 12px;border:1px solid var(--lo-border);border-radius:14px;background:var(--lo-panel)}.lo-dashboard-feed article p{margin:4px 0;font-size:.86rem;color:var(--lo-muted)}.lo-dashboard-feed article a{font-size:.82rem;font-weight:800}
.lo-dashboard-fast-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}

/* Four safe layout templates. Same data, different composition. */
.lo-dashboard--spotlight .lo-dashboard-hero{grid-template-columns:1fr}.lo-dashboard--spotlight .lo-dashboard-hero__copy{max-width:none}.lo-dashboard--spotlight .lo-dashboard-feature-slot{display:flex}.lo-dashboard--spotlight .lo-service-card--featured{width:100%}
.lo-dashboard--focus .lo-dashboard-hero{grid-template-columns:1fr}.lo-dashboard--focus .lo-dashboard-columns{grid-template-columns:minmax(0,1fr) 280px}.lo-dashboard--focus .lo-service-card{min-height:170px}.lo-dashboard--focus .lo-dashboard-section__head .lo-eyebrow{display:none}
.lo-dashboard--editorial .lo-dashboard-hero{grid-template-columns:minmax(0,.85fr) minmax(360px,1.15fr)}.lo-dashboard--editorial .lo-dashboard-hero__copy{box-shadow:none;background:transparent;border:0;padding-inline:0}.lo-dashboard--editorial .lo-dashboard-rail{position:static}.lo-dashboard--editorial .lo-dashboard-widget{background:#fff}

@media(max-width:1180px){.lo-dashboard-columns,.lo-dashboard--focus .lo-dashboard-columns{grid-template-columns:minmax(0,1fr)}.lo-dashboard-rail{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.lo-dashboard-fast-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.lo-dashboard-hero,.lo-dashboard--editorial .lo-dashboard-hero{grid-template-columns:minmax(0,1fr)}.lo-service-card--quarter,.lo-service-card--third{grid-column:span 6}}
@media(max-width:700px){.lo-dashboard-rail{grid-template-columns:1fr}.lo-dashboard-fast-row{grid-template-columns:1fr}.lo-service-card--quarter,.lo-service-card--third,.lo-service-card--half,.lo-service-card--full{grid-column:1/-1}.lo-dashboard-hero__copy{padding:20px}.lo-service-card__cta{width:100%;justify-content:center}}

/* v0.8.5 dashboard layout correction: RTL-safe grid placement + premium wide canvas */
.lo-app-content{
  width:min(calc(100% - 48px),1480px);
}
.lo-dashboard,
.lo-dashboard *{
  min-width:0;
}
.lo-dashboard-hero{
  display:block;
}
.lo-dashboard-hero__copy{
  width:100%;
  min-height:150px;
  padding:clamp(24px,3vw,34px);
  overflow:hidden;
}
.lo-dashboard-hero__copy h1,
.lo-dashboard-hero__copy p{
  overflow-wrap:anywhere;
}
.lo-dashboard-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:8px;
}
.lo-dashboard-columns{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:22px;
  align-items:start;
}
/* Explicit grid lines are required because automatic placement reverses in RTL. */
.lo-dashboard-main{grid-column:1;min-width:0}
.lo-dashboard-rail{grid-column:2;min-width:0}
.lo-dashboard-feature-slot{width:100%;min-width:0}
.lo-dashboard-feature-slot .lo-service-card--featured{width:100%;min-height:210px}
.lo-dashboard-grid{min-width:0}
.lo-service-card{min-width:0;min-height:180px}
.lo-service-card__body{min-width:0}
.lo-service-card__title,.lo-service-card__desc{overflow-wrap:anywhere}
.lo-service-card__desc{max-width:42ch}
.lo-dashboard-widget{min-width:0;overflow:hidden}
.lo-dashboard-quick{min-width:0}
.lo-dashboard-quick>span:last-child{min-width:0}
.lo-dashboard-quick strong,.lo-dashboard-quick small{overflow-wrap:anywhere}

/* Bento Premium: deliberate mixed-size composition, independent of RTL auto-placement. */
.lo-dashboard--bento .lo-dashboard-grid--primary>.lo-service-card:nth-child(1){grid-column:span 6}
.lo-dashboard--bento .lo-dashboard-grid--primary>.lo-service-card:nth-child(2),
.lo-dashboard--bento .lo-dashboard-grid--primary>.lo-service-card:nth-child(3){grid-column:span 3}
.lo-dashboard--bento .lo-dashboard-grid--primary>.lo-service-card:nth-child(n+4){grid-column:span 4}

/* Spotlight: one promoted feature, then calm two-column services. */
.lo-dashboard--spotlight .lo-dashboard-grid--primary>.lo-service-card{grid-column:span 6}
.lo-dashboard--spotlight .lo-dashboard-feature-slot .lo-service-card--featured{min-height:230px}

/* Focus Flow: faster, denser service access. */
.lo-dashboard--focus .lo-dashboard-grid--primary>.lo-service-card{grid-column:span 4}
.lo-dashboard--focus .lo-service-card{min-height:168px}
.lo-dashboard--focus .lo-dashboard-hero__copy{min-height:132px}

/* Editorial: strong feature plus balanced service blocks. */
.lo-dashboard--editorial .lo-dashboard-grid--primary>.lo-service-card{grid-column:span 6}
.lo-dashboard--editorial .lo-dashboard-feature-slot .lo-service-card--featured{min-height:250px}
.lo-dashboard--editorial .lo-dashboard-hero__copy{
  border:0;
  box-shadow:none;
  background:linear-gradient(90deg,color-mix(in srgb,var(--lo-panel) 74%,transparent),transparent);
}

@media(max-width:1260px){
  .lo-app-content{width:min(calc(100% - 36px),1180px)}
  .lo-dashboard-columns{grid-template-columns:minmax(0,1fr) 290px}
  .lo-dashboard--bento .lo-dashboard-grid--primary>.lo-service-card:nth-child(1){grid-column:span 6}
  .lo-dashboard--bento .lo-dashboard-grid--primary>.lo-service-card:nth-child(n+2){grid-column:span 6}
  .lo-dashboard--focus .lo-dashboard-grid--primary>.lo-service-card{grid-column:span 6}
}
@media(max-width:980px){
  .lo-dashboard-columns{grid-template-columns:minmax(0,1fr)}
  .lo-dashboard-main,.lo-dashboard-rail{grid-column:1}
  .lo-dashboard-rail{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .lo-dashboard--bento .lo-dashboard-grid--primary>.lo-service-card,
  .lo-dashboard--spotlight .lo-dashboard-grid--primary>.lo-service-card,
  .lo-dashboard--focus .lo-dashboard-grid--primary>.lo-service-card,
  .lo-dashboard--editorial .lo-dashboard-grid--primary>.lo-service-card{grid-column:span 6}
}
@media(max-width:700px){
  .lo-app-content{width:min(calc(100% - 28px),720px)}
  .lo-dashboard-rail{grid-template-columns:1fr}
  .lo-dashboard--bento .lo-dashboard-grid--primary>.lo-service-card,
  .lo-dashboard--spotlight .lo-dashboard-grid--primary>.lo-service-card,
  .lo-dashboard--focus .lo-dashboard-grid--primary>.lo-service-card,
  .lo-dashboard--editorial .lo-dashboard-grid--primary>.lo-service-card{grid-column:1/-1}
  .lo-dashboard-hero__actions{display:grid;grid-template-columns:1fr}
  .lo-dashboard-hero__actions .lo-button{width:100%}
}

/* v0.8.5 dashboard stability: full-width service canvas, no crush-prone side rail */
.lo-app-content{
  width:100%!important;
  max-width:none!important;
  margin-inline:0!important;
  padding:34px clamp(22px,2.8vw,46px) 90px!important;
}
.lo-elementor-fullwidth{width:100%;min-width:0}
.lo-dashboard{width:100%;max-width:none;container-type:inline-size}
.lo-dashboard-columns{
  display:flex!important;
  flex-direction:column!important;
  gap:24px!important;
  width:100%!important;
}
.lo-dashboard-main{
  width:100%!important;
  min-width:0!important;
}
.lo-dashboard-rail{
  width:100%!important;
  min-width:0!important;
  position:static!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
}
.lo-dashboard-widget{width:100%;min-width:0}
.lo-dashboard-grid{width:100%;min-width:0;grid-template-columns:repeat(12,minmax(0,1fr))!important}
.lo-service-card{min-width:0!important;max-width:none!important}
.lo-service-card__title,.lo-service-card__desc,.lo-dashboard-quick strong,.lo-dashboard-quick small{
  overflow-wrap:break-word!important;
  word-break:normal!important;
  hyphens:none!important;
}
.lo-service-card__title{
  font-size:clamp(16px,var(--lo-dashboard-title-size,18px),24px)!important;
}
.lo-service-card__desc{
  font-size:clamp(13px,var(--lo-dashboard-desc-size,15px),18px)!important;
  max-width:none!important;
}
.lo-dashboard--bento .lo-dashboard-grid--primary>.lo-service-card:nth-child(1){grid-column:span 6!important}
.lo-dashboard--bento .lo-dashboard-grid--primary>.lo-service-card:nth-child(2),
.lo-dashboard--bento .lo-dashboard-grid--primary>.lo-service-card:nth-child(3){grid-column:span 3!important}
.lo-dashboard--bento .lo-dashboard-grid--primary>.lo-service-card:nth-child(n+4){grid-column:span 4!important}
.lo-dashboard--spotlight .lo-dashboard-grid--primary>.lo-service-card{grid-column:span 6!important}
.lo-dashboard--focus .lo-dashboard-grid--primary>.lo-service-card{grid-column:span 4!important}
.lo-dashboard--editorial .lo-dashboard-grid--primary>.lo-service-card{grid-column:span 6!important}

@container (max-width:1100px){
  .lo-dashboard--bento .lo-dashboard-grid--primary>.lo-service-card,
  .lo-dashboard--spotlight .lo-dashboard-grid--primary>.lo-service-card,
  .lo-dashboard--focus .lo-dashboard-grid--primary>.lo-service-card,
  .lo-dashboard--editorial .lo-dashboard-grid--primary>.lo-service-card,
  .lo-service-card--quarter,.lo-service-card--third,.lo-service-card--half{grid-column:span 6!important}
  .lo-dashboard-rail{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@container (max-width:700px){
  .lo-dashboard--bento .lo-dashboard-grid--primary>.lo-service-card,
  .lo-dashboard--spotlight .lo-dashboard-grid--primary>.lo-service-card,
  .lo-dashboard--focus .lo-dashboard-grid--primary>.lo-service-card,
  .lo-dashboard--editorial .lo-dashboard-grid--primary>.lo-service-card,
  .lo-service-card--quarter,.lo-service-card--third,.lo-service-card--half,.lo-service-card--full{grid-column:1/-1!important}
  .lo-dashboard-rail{grid-template-columns:1fr!important}
  .lo-app-content{padding-inline:16px!important}
}
