:root {
  --ink: #222222;
  --ink-2: #3f3f3f;
  --muted: #6a6a6a;
  --line: #e4e4e4;
  --line-strong: #cfcfcf;
  --bg: #f7f7f7;
  --surface: #ffffff;
  --surface-2: #f9fafc;
  --navy: #111827;
  --navy-2: #1a2335;
  --primary: #ff385c;
  --primary-dark: #e31c5f;
  --primary-soft: #fff0f3;
  --teal: #0f9f95;
  --green: #128567;
  --green-soft: #e8f7f2;
  --amber: #d6811e;
  --amber-soft: #fff5df;
  --red: #d34b58;
  --red-soft: #fff0f1;
  --blue: #3678ee;
  --blue-soft: #edf4ff;
  --violet-soft: #f1efff;
  --shadow-sm: 0 2px 10px rgba(0, 0, 0, .045);
  --shadow: 0 10px 30px rgba(0, 0, 0, .08);
  --shadow-lg: 0 24px 60px rgba(0, 0, 0, .14);
  --radius-sm: 10px;
  --radius: 16px;
  --radius-lg: 24px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--bg); font-family: "Airbnb Cereal VF", Circular, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 16px; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, summary, a { -webkit-tap-highlight-color: transparent; }
svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.icon-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.app-shell { display: grid; grid-template-columns: 252px minmax(0, 1fr); min-height: 100vh; }
.mobile-topbar, .sidebar-overlay { display: none; }

/* Sidebar */
.sidebar { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; padding: 22px 17px 16px; overflow-y: auto; color: #f7f8fb; background: linear-gradient(180deg, #121a2a 0%, #0d1422 100%); border-right: 1px solid rgba(255,255,255,.04); z-index: 40; }
.sidebar-top { display: flex; align-items: center; justify-content: space-between; }
.sidebar-close { display: none; border: 0; background: transparent; color: white; }
.brand { display: inline-flex; align-items: center; gap: 11px; }
.brand-mark { display: inline-grid; place-items: center; flex: 0 0 auto; width: 39px; height: 39px; color: white; font-size: 13px; font-weight: 900; letter-spacing: -.7px; border-radius: 12px; background: linear-gradient(145deg, #7b74ff, #5148e5); box-shadow: 0 10px 24px rgba(99,91,255,.34), inset 0 1px 0 rgba(255,255,255,.25); }
.brand strong, .brand small { display: block; }
.brand strong { color: #fff; font-size: 14px; letter-spacing: -.2px; }
.brand small { margin-top: 2px; color: #8f9aaf; font-size: 10px; }
.workspace-switcher { display: flex; align-items: center; gap: 10px; margin: 22px 0 16px; padding: 10px; border: 1px solid rgba(255,255,255,.08); border-radius: 13px; background: rgba(255,255,255,.045); transition: background .2s ease, border-color .2s ease; }
.workspace-switcher:hover { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.14); }
.workspace-icon { display: grid; place-items: center; width: 33px; height: 33px; color: #b5b1ff; border-radius: 9px; background: rgba(99,91,255,.16); }
.workspace-icon svg { width: 17px; }
.workspace-switcher > span:nth-child(2) { min-width: 0; flex: 1; }
.workspace-switcher small, .workspace-switcher strong { display: block; }
.workspace-switcher small { color: #7f8ba0; font-size: 9px; text-transform: uppercase; letter-spacing: .85px; }
.workspace-switcher strong { margin-top: 2px; font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.workspace-count { min-width: 24px; padding: 4px 6px; color: #c9c7ff; text-align: center; font-size: 10px; font-weight: 800; border-radius: 7px; background: rgba(99,91,255,.15); }
.sidebar-nav { display: grid; gap: 2px; }
.nav-label { margin: 12px 11px 5px; color: #647087; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: 1.2px; }
.sidebar-nav a { position: relative; display: flex; align-items: center; gap: 11px; min-height: 39px; padding: 9px 11px; color: #aeb7c8; font-size: 12.5px; font-weight: 650; border-radius: 10px; transition: .18s ease; }
.sidebar-nav a svg { width: 17px; height: 17px; color: #7e899d; transition: .18s ease; }
.sidebar-nav a:hover { color: white; background: rgba(255,255,255,.055); }
.sidebar-nav a:hover svg { color: #c9c7ff; }
.sidebar-nav a.active { color: #fff; background: linear-gradient(90deg, rgba(99,91,255,.23), rgba(99,91,255,.08)); box-shadow: inset 2px 0 #817aff; }
.sidebar-nav a.active svg { color: #aaa6ff; }
.sidebar-bottom { margin-top: auto; padding-top: 16px; }
.plan-card { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 11px 12px; border: 1px solid rgba(132,124,255,.19); border-radius: 12px; background: linear-gradient(135deg, rgba(99,91,255,.17), rgba(99,91,255,.07)); }
.plan-card small, .plan-card strong { display: block; }
.plan-card small { color: #8f9aaf; font-size: 9px; text-transform: uppercase; letter-spacing: .7px; }
.plan-card strong { margin-top: 2px; font-size: 12px; }
.plan-card svg { width: 15px; color: #aaa6ff; }
.sidebar-tools { display: flex; align-items: center; gap: 7px; margin: 9px 0; }
.sidebar-tools .lang-dd { flex: 1; }
.sidebar-tools .lang-dd summary { width: 100%; }
.sidebar-tools form { margin: 0; }
.icon-control { display: grid; place-items: center; width: 35px; height: 35px; color: #aeb7c8; border: 1px solid rgba(255,255,255,.09); border-radius: 10px; background: rgba(255,255,255,.04); cursor: pointer; }
.icon-control span { font-size: 13px; font-weight: 850; }
.user-card { display: grid; grid-template-columns: 33px minmax(0,1fr) 25px; gap: 9px; align-items: center; padding-top: 10px; border-top: 1px solid rgba(255,255,255,.07); }
.user-avatar { display: inline-grid; place-items: center; width: 33px; height: 33px; color: #4d46cc; font-size: 12px; font-weight: 850; border-radius: 10px; background: #deddff; }
.user-avatar.small { width: 30px; height: 30px; border-radius: 9px; }
.user-card strong, .user-card small { display: block; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.user-card strong { color: #eef0f6; font-size: 11.5px; }
.user-card small { margin-top: 2px; color: #69758b; font-size: 9px; }
.user-card > a { display: grid; place-items: center; color: #6f7a8e; }
.user-card > a svg { width: 15px; }

/* Language menu */
.lang-dd { position: relative; display: inline-block; }
.lang-dd summary { display: flex; align-items: center; gap: 6px; min-height: 35px; padding: 8px 10px; color: #aeb7c8; font-size: 10.5px; font-weight: 700; list-style: none; cursor: pointer; border: 1px solid rgba(255,255,255,.09); border-radius: 10px; background: rgba(255,255,255,.04); }
.lang-dd summary::-webkit-details-marker { display: none; }
.lang-dd .flag { font-size: 13px; }
.lang-menu { position: absolute; bottom: calc(100% + 7px); left: 0; z-index: 60; display: grid; min-width: 178px; max-height: 300px; padding: 6px; overflow: auto; border: 1px solid var(--line); border-radius: 13px; background: white; box-shadow: var(--shadow-lg); }
.lang-menu form { margin: 0; }
.lang-menu button { display: flex; align-items: center; gap: 8px; width: 100%; padding: 8px 9px; color: var(--ink); font-size: 11px; font-weight: 650; text-align: left; border: 0; border-radius: 8px; background: transparent; cursor: pointer; }
.lang-menu button:hover, .lang-menu button.active { color: var(--primary); background: var(--primary-soft); }
.topbar-public { position: fixed; top: 18px; right: 24px; z-index: 80; }
.topbar-public .lang-dd summary { color: var(--ink); border-color: rgba(24,32,51,.1); background: rgba(255,255,255,.9); box-shadow: var(--shadow-sm); backdrop-filter: blur(12px); }
.topbar-public .lang-menu { top: calc(100% + 7px); right: 0; bottom: auto; left: auto; }

/* Main surface */
.main { min-width: 0; padding: 28px 30px 56px; }
.main-inner { width: 100%; max-width: 1440px; margin: 0 auto; }
.page-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin: 2px 0 24px; }
.page-head > div:first-child { min-width: 0; }
.page-head h1 { margin: 5px 0 5px; color: #141b2b; font-size: clamp(29px, 3vw, 38px); line-height: 1.08; letter-spacing: -1.5px; }
.page-head p { max-width: 760px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.55; }
.eyebrow, .section-kicker { margin: 0 !important; color: var(--primary) !important; font-size: 9.5px !important; font-weight: 850; text-transform: uppercase; letter-spacing: 1.45px; }
.actions, .card-actions { display: flex; align-items: center; gap: 9px; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 40px; padding: 9px 15px; color: var(--ink); font-size: 12px; font-weight: 780; border: 1px solid var(--line-strong); border-radius: 11px; background: white; cursor: pointer; transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease; }
.btn svg { width: 16px; height: 16px; }
.btn:hover:not(:disabled) { transform: translateY(-1px); border-color: #cdd3df; box-shadow: 0 8px 20px rgba(35,45,75,.1); }
.btn.primary { color: white; border-color: var(--primary); background: linear-gradient(135deg, #7169ff, var(--primary-dark)); box-shadow: 0 8px 18px rgba(99,91,255,.22); }
.btn.primary:hover:not(:disabled) { box-shadow: 0 12px 24px rgba(99,91,255,.28); }
.btn.primary.soft { color: #514bd0; border-color: #d8d5ff; background: var(--primary-soft); box-shadow: none; }
.btn.secondary { background: white; }
.btn.danger { color: var(--red); border-color: #f1c8cd; background: var(--red-soft); }
.btn:disabled { color: #9aa3b4; cursor: not-allowed; background: #f3f5f8; box-shadow: none; }
.panel { border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); box-shadow: var(--shadow-sm); }
.panel.spaced { margin-top: 18px; }
.section-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.section-head h2 { margin: 3px 0 2px; font-size: 19px; letter-spacing: -.45px; }
.section-head p { margin: 0; color: var(--muted); font-size: 11.5px; line-height: 1.5; }
.section-head .text-link { margin-top: 5px; }
.text-link { display: inline-flex; align-items: center; gap: 5px; color: var(--primary); font-size: 11px; font-weight: 800; }
.text-link svg { width: 14px; }
.count-badge { display: grid; place-items: center; min-width: 30px; height: 30px; color: var(--primary); font-size: 11px; font-weight: 850; border-radius: 9px; background: var(--primary-soft); }
.help-banner { display: flex; gap: 10px; margin: 0 0 18px; padding: 13px 14px; color: #6e5429; font-size: 12px; line-height: 1.55; border: 1px solid #f2dfba; border-radius: 13px; background: #fff9ec; }
.help-banner p { margin: 0; }
.help-banner-icon { flex: 0 0 auto; }
.flash-wrap { margin-bottom: 14px; }
.flash { padding: 12px 14px; color: var(--green); font-size: 12px; font-weight: 700; border: 1px solid #cce9df; border-radius: 12px; background: var(--green-soft); }
.flash.danger { color: var(--red); border-color: #f4cdd1; background: var(--red-soft); }
.pill { display: inline-flex; align-items: center; width: max-content; padding: 5px 8px; color: #69758a; font-size: 8.5px; font-weight: 850; text-transform: uppercase; letter-spacing: .55px; border-radius: 999px; background: #edf0f4; }
.pill.done, .pill.completed, .pill.confirmed, .pill.checked-in { color: #08735b; background: #def4ec; }
.pill.planned, .pill.pending { color: #9a6311; background: #fff0ca; }
.pill.open, .pill.in-progress { color: #285fae; background: #e9f1ff; }
.pill.high { color: #ae6713; background: #fff0d9; }
.pill.urgent, .pill.cancelled { color: #a93946; background: #ffe8ea; }

/* Dashboard */
.dashboard-head { margin-bottom: 20px; }
.command-hero { position: relative; display: grid; grid-template-columns: minmax(0,1.55fr) 160px minmax(210px,.7fr); align-items: center; gap: 28px; min-height: 220px; padding: 32px 34px; overflow: hidden; color: white; border-radius: 26px; background: radial-gradient(circle at 72% 5%, rgba(131,123,255,.42), transparent 33%), linear-gradient(125deg, #151d32 0%, #212a49 58%, #31336f 100%); box-shadow: 0 22px 50px rgba(25,31,57,.2); }
.command-hero::after { content: ""; position: absolute; right: -90px; bottom: -140px; width: 350px; height: 350px; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; box-shadow: 0 0 0 55px rgba(255,255,255,.025), 0 0 0 110px rgba(255,255,255,.018); pointer-events: none; }
.command-copy { position: relative; z-index: 1; }
.status-dot { display: inline-flex; align-items: center; gap: 7px; color: #b9c1d5; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: 1.15px; }
.status-dot i { width: 7px; height: 7px; border-radius: 50%; background: #39d5a8; box-shadow: 0 0 0 4px rgba(57,213,168,.12); }
.command-copy h2 { max-width: 580px; margin: 12px 0 8px; font-size: clamp(27px, 3vw, 39px); line-height: 1.08; letter-spacing: -1.45px; }
.command-copy p { max-width: 570px; margin: 0; color: #aeb8cc; font-size: 13px; line-height: 1.55; }
.hero-link { display: inline-flex; align-items: center; gap: 7px; margin-top: 18px; color: #c8c5ff; font-size: 11px; font-weight: 800; }
.hero-link svg { width: 15px; }
.readiness-orbit { position: relative; display: grid; place-items: center; width: 136px; height: 136px; border-radius: 50%; background: conic-gradient(#817aff calc(var(--score) * 1%), rgba(255,255,255,.09) 0); box-shadow: 0 18px 35px rgba(0,0,0,.15); }
.readiness-orbit::before { content: ""; position: absolute; inset: 9px; border-radius: 50%; background: #222b4a; box-shadow: inset 0 0 0 1px rgba(255,255,255,.06); }
.readiness-orbit > div { position: relative; z-index: 1; text-align: center; }
.readiness-orbit strong, .readiness-orbit span { display: block; }
.readiness-orbit strong { font-size: 26px; letter-spacing: -1px; }
.readiness-orbit span { margin-top: 2px; color: #9ea8bd; font-size: 9px; line-height: 1.25; text-transform: uppercase; letter-spacing: .7px; }
.hero-signal { position: relative; z-index: 1; padding: 18px; border: 1px solid rgba(255,255,255,.09); border-radius: 17px; background: rgba(255,255,255,.06); backdrop-filter: blur(10px); }
.hero-signal span, .hero-signal strong, .hero-signal small { display: block; }
.hero-signal span { color: #9faabd; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; }
.hero-signal strong { margin: 7px 0 3px; font-size: 25px; letter-spacing: -.7px; }
.hero-signal small { color: #c0c7d4; font-size: 9.5px; line-height: 1.45; }
.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; margin: 14px 0 18px; }
.metric-grid.compact-metrics { grid-template-columns: repeat(3, minmax(0,1fr)); }
.metric-card { position: relative; display: flex; align-items: center; gap: 12px; min-height: 86px; padding: 15px 16px; border: 1px solid var(--line); border-radius: 17px; background: white; box-shadow: var(--shadow-sm); transition: transform .16s ease, box-shadow .16s ease; }
a.metric-card:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.metric-icon { display: inline-grid; place-items: center; flex: 0 0 auto; width: 39px; height: 39px; color: var(--primary); font-weight: 850; border-radius: 12px; background: var(--primary-soft); }
.metric-icon svg { width: 18px; height: 18px; }
.metric-icon.violet { color: #645ce3; background: var(--violet-soft); }
.metric-icon.blue { color: var(--blue); background: var(--blue-soft); }
.metric-icon.green { color: var(--green); background: var(--green-soft); }
.metric-icon.amber { color: var(--amber); background: var(--amber-soft); }
.metric-card > span:nth-child(2) { min-width: 0; }
.metric-card small, .metric-card strong, .metric-card em { display: block; }
.metric-card small { color: var(--muted); font-size: 9px; font-weight: 700; }
.metric-card strong { margin: 2px 0 1px; font-size: 22px; line-height: 1; letter-spacing: -.65px; }
.metric-card em { color: #929bad; font-size: 8.5px; font-style: normal; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.metric-arrow { position: absolute; right: 12px; width: 13px; color: #b6bdca; }
.dashboard-layout { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(300px,.75fr); gap: 14px; margin-bottom: 14px; }
.focus-panel, .onboarding-panel, .schedule-panel, .property-health-panel { padding: 21px; }
.focus-list { margin-top: 13px; }
.focus-item { display: grid; grid-template-columns: 39px minmax(0,1fr) auto; gap: 11px; align-items: center; padding: 10px 0; border-top: 1px solid var(--line); }
.focus-item:first-child { border-top: 0; }
.focus-icon { display: grid; place-items: center; width: 37px; height: 37px; color: var(--primary); border-radius: 11px; background: var(--primary-soft); }
.focus-icon svg { width: 17px; }
.focus-icon.arrival { color: var(--blue); background: var(--blue-soft); }
.focus-icon.turnover { color: #7356c7; background: #f1ebff; }
.focus-icon.issue { color: var(--red); background: var(--red-soft); }
.focus-icon.supply { color: var(--amber); background: var(--amber-soft); }
.focus-icon.compliance { color: var(--teal); background: #e8f7f5; }
.focus-body small, .focus-body strong, .focus-body em { display: block; }
.focus-body small { color: var(--primary); font-size: 8px; font-weight: 850; text-transform: uppercase; letter-spacing: .6px; }
.focus-body strong { margin: 2px 0 1px; font-size: 12.5px; }
.focus-body em { color: var(--muted); font-size: 9.5px; font-style: normal; }
.focus-action { display: inline-flex; align-items: center; gap: 3px; color: #8c95a7; font-size: 9px; font-weight: 750; }
.focus-action svg { width: 12px; }
.progress-line { display: block; width: 100%; height: 6px; margin-top: 16px; overflow: hidden; border-radius: 99px; background: #eceff4; }
.progress-line span, .progress-line i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #6e66ff, #928cff); }
.progress-line.small { height: 5px; margin-top: 7px; }
.progress-label { margin: 7px 0 13px; color: var(--muted); font-size: 9.5px; }
.progress-label strong { color: var(--ink); }
.onboarding-list { display: grid; }
.onboarding-list a { display: grid; grid-template-columns: 27px minmax(0,1fr) 14px; gap: 9px; align-items: center; padding: 8px 0; border-top: 1px solid var(--line); }
.onboarding-list a > span { display: grid; place-items: center; width: 24px; height: 24px; color: #7c879a; font-size: 8px; font-weight: 850; border: 1px solid var(--line-strong); border-radius: 8px; background: white; }
.onboarding-list a.done > span { color: var(--green); border-color: #caeade; background: var(--green-soft); }
.onboarding-list a strong { font-size: 10px; }
.onboarding-list a.done strong { color: #8a93a3; text-decoration: line-through; }
.onboarding-list svg { width: 12px; color: #b1b8c5; }
.dashboard-lower { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(320px,.75fr); gap: 14px; }
.stay-list, .property-health-panel > .health-row:first-of-type { margin-top: 12px; }
.stay-row { display: grid; grid-template-columns: 40px minmax(0,1fr) 48px 72px; gap: 11px; align-items: center; min-height: 56px; padding: 9px 0; border-top: 1px solid var(--line); }
.stay-row:first-child { border-top: 0; }
.date-tile { display: grid; place-items: center; width: 39px; height: 43px; border: 1px solid #dddafe; border-radius: 11px; background: #f6f5ff; }
.date-tile small, .date-tile strong { display: block; }
.date-tile small { color: var(--primary); font-size: 7px; font-weight: 850; text-transform: uppercase; }
.date-tile strong { margin-top: -2px; font-size: 15px; }
.stay-main strong, .stay-main small { display: block; }
.stay-main strong { font-size: 11px; }
.stay-main small { margin-top: 2px; color: var(--muted); font-size: 8.5px; }
.stay-duration { text-align: center; }
.stay-duration strong, .stay-duration small { display: block; }
.stay-duration strong { font-size: 13px; }
.stay-duration small { color: var(--muted); font-size: 8px; }
.health-row { display: grid; grid-template-columns: 38px minmax(0,1fr) auto; gap: 10px; align-items: center; padding: 12px 0; border-top: 1px solid var(--line); }
.health-row:first-of-type { border-top: 0; }
.property-monogram { display: grid; place-items: center; width: 37px; height: 37px; color: #514bd0; font-size: 10px; font-weight: 850; border-radius: 11px; background: #e5e3ff; }
.health-main strong, .health-main small { display: block; }
.health-main strong { font-size: 10.5px; }
.health-main small { margin-top: 2px; color: var(--muted); font-size: 8.5px; }
.health-score { font-size: 11px; font-weight: 850; }
.empty-state { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px 0; }
.empty-state.compact { justify-content: flex-start; padding: 14px 0; }
.empty-state strong { font-size: 12px; }
.empty-state p { margin: 3px 0 0; color: var(--muted); font-size: 9.5px; }
.empty-check { display: grid; place-items: center; width: 34px; height: 34px; color: var(--green); font-weight: 900; border-radius: 11px; background: var(--green-soft); }

/* Portfolio */
.portfolio-summary { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); margin-bottom: 18px; border: 1px solid var(--line); border-radius: 17px; background: white; box-shadow: var(--shadow-sm); }
.portfolio-summary > div { padding: 14px 18px; border-left: 1px solid var(--line); }
.portfolio-summary > div:first-child { border-left: 0; }
.portfolio-summary span, .portfolio-summary small { display: block; }
.portfolio-summary span { font-size: 20px; font-weight: 850; letter-spacing: -.6px; }
.portfolio-summary small { margin-top: 2px; color: var(--muted); font-size: 9px; }
.property-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 17px; }
.property-tile { overflow: hidden; border: 1px solid var(--line); border-radius: 22px; background: white; box-shadow: var(--shadow-sm); transition: transform .2s ease, box-shadow .2s ease; }
.property-tile:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.property-cover { position: relative; display: flex; align-items: flex-end; min-height: 185px; padding: 18px; color: white; background: radial-gradient(circle at 82% 18%, rgba(144,136,255,.75), transparent 30%), linear-gradient(135deg, #263152, #5650b8); background-size: cover; background-position: center; }
.property-state, .readiness-chip { position: absolute; top: 14px; padding: 5px 8px; font-size: 8px; font-weight: 850; border-radius: 8px; backdrop-filter: blur(8px); }
.property-state { left: 14px; background: rgba(14,22,38,.44); }
.readiness-chip { right: 14px; color: #1f3151; background: rgba(255,255,255,.88); }
.property-cover-title small { color: #d5d9e5; font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .8px; }
.property-cover-title h2 { margin: 4px 0 2px; font-size: 21px; letter-spacing: -.65px; }
.property-cover-title p { margin: 0; color: #e2e5ed; font-size: 10px; }
.property-tile-body { padding: 16px; }
.property-signals { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.property-signals > div { min-width: 0; padding: 9px; border-radius: 11px; background: #f7f8fb; }
.property-signals small, .property-signals strong, .property-signals span { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.property-signals small { color: var(--muted); font-size: 7.5px; }
.property-signals strong { margin: 2px 0 1px; font-size: 12px; }
.property-signals span { color: #8c95a5; font-size: 7.5px; }
.setup-progress { margin: 14px 0; }
.setup-progress > span { display: block; height: 5px; overflow: hidden; border-radius: 99px; background: #eceff5; }
.setup-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #655dff, #8a84ff); }
.setup-progress small { display: block; margin-top: 6px; color: var(--muted); font-size: 8px; }
.setup-progress small strong { color: var(--ink-2); }
.property-actions { display: flex; align-items: center; gap: 7px; }
.property-actions .btn { flex: 1; }
.icon-action { display: grid; place-items: center; width: 40px; height: 40px; color: #657086; font-size: 9px; font-weight: 900; border: 1px solid var(--line); border-radius: 11px; }
.icon-action svg { width: 15px; }
.empty-portfolio { grid-column: 1 / -1; display: grid; place-items: center; min-height: 360px; padding: 50px; text-align: center; border: 1px dashed #ccd3df; border-radius: 24px; background: rgba(255,255,255,.6); }
.empty-portfolio h2 { margin: 9px 0 4px; font-size: 24px; letter-spacing: -.7px; }
.empty-portfolio p { max-width: 480px; margin: 0 0 18px; color: var(--muted); font-size: 12px; line-height: 1.55; }
.empty-illustration { display: grid; place-items: center; width: 68px; height: 68px; color: var(--primary); border-radius: 20px; background: var(--primary-soft); box-shadow: 0 14px 30px rgba(99,91,255,.13); }
.empty-illustration.green { color: var(--green); background: var(--green-soft); }
.empty-illustration svg { width: 30px; height: 30px; }

/* Forms and editor */
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.form-grid label, .auth-form label { display: grid; gap: 6px; min-width: 0; color: var(--ink-2); font-size: 9.5px; font-weight: 780; }
.form-grid label > span:first-child, .auth-form label > span:first-child { display: block; }
.form-grid input, .form-grid select, .form-grid textarea, .auth-form input, .compliance-item input, .compliance-item select { width: 100%; min-height: 40px; padding: 9px 11px; color: var(--ink); font-size: 11px; border: 1px solid var(--line-strong); border-radius: 10px; outline: none; background: #fff; transition: border-color .15s ease, box-shadow .15s ease; }
.form-grid textarea { min-height: 90px; resize: vertical; line-height: 1.5; }
.form-grid input:focus, .form-grid select:focus, .form-grid textarea:focus, .auth-form input:focus, .compliance-item input:focus, .compliance-item select:focus { border-color: #918cff; box-shadow: 0 0 0 3px rgba(99,91,255,.1); }
.form-grid input::placeholder, .form-grid textarea::placeholder, .auth-form input::placeholder { color: #aab1bf; }
.wide { grid-column: 1 / -1; }
.add-box { margin: 0 0 15px; }
.premium-add { overflow: hidden; }
.premium-add > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 65px; padding: 15px 18px; list-style: none; cursor: pointer; }
.premium-add > summary::-webkit-details-marker { display: none; }
.premium-add > summary > span { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 820; }
.premium-add > summary svg { width: 16px; color: var(--primary); }
.premium-add > summary small { color: var(--muted); font-size: 9.5px; font-weight: 500; }
.premium-add[open] > summary { border-bottom: 1px solid var(--line); background: #fafbfe; }
.premium-add > form { padding: 18px; }
.property-editor-head { align-items: flex-end; }
.back-link { display: inline-block; margin-bottom: 11px; color: var(--muted); font-size: 9.5px; font-weight: 750; }
.property-editor-layout { display: grid; grid-template-columns: 220px minmax(0,1fr); gap: 18px; align-items: start; }
.setup-sidebar { position: sticky; top: 20px; }
.setup-score-card { display: flex; align-items: center; gap: 11px; padding: 14px; border: 1px solid var(--line); border-radius: 16px; background: white; box-shadow: var(--shadow-sm); }
.mini-ring { --score: 0; position: relative; display: grid; place-items: center; width: 49px; height: 49px; flex: 0 0 auto; border-radius: 50%; background: conic-gradient(var(--primary) calc(var(--score) * 1%), #eceef4 0); }
.mini-ring::after { content: ""; position: absolute; inset: 5px; border-radius: 50%; background: white; }
.mini-ring strong { position: relative; z-index: 1; font-size: 11px; }
.setup-score-card small, .setup-score-card > div strong { display: block; }
.setup-score-card small { color: var(--muted); font-size: 8px; }
.setup-score-card > div strong { margin-top: 2px; font-size: 10px; }
.anchor-nav { display: grid; gap: 3px; margin-top: 12px; padding: 10px; border: 1px solid var(--line); border-radius: 16px; background: white; }
.anchor-nav a { display: flex; align-items: center; gap: 9px; padding: 9px; color: #6f7a8c; font-size: 9.5px; font-weight: 680; border-radius: 9px; }
.anchor-nav a span { color: #adb4c0; font-size: 7.5px; font-weight: 850; }
.anchor-nav a:hover, .anchor-nav a.active { color: var(--primary); background: var(--primary-soft); }
.anchor-nav a.active span { color: var(--primary); }
.side-tip { display: flex; gap: 9px; margin-top: 12px; padding: 13px; color: #5f587f; border: 1px solid #e1defd; border-radius: 14px; background: #f6f4ff; }
.side-tip svg { flex: 0 0 auto; width: 16px; }
.side-tip p { margin: 0; font-size: 8.5px; line-height: 1.5; }
.side-tip strong { display: block; margin-bottom: 2px; color: var(--ink); font-size: 9.5px; }
.editor-main { min-width: 0; }
.editor-form { display: grid; gap: 14px; }
.editor-section { padding: 21px; border: 1px solid var(--line); border-radius: 20px; background: white; box-shadow: var(--shadow-sm); scroll-margin-top: 18px; }
.editor-section-head { display: flex; align-items: flex-start; gap: 11px; margin-bottom: 17px; }
.editor-section-head > span { display: grid; place-items: center; flex: 0 0 auto; min-width: 29px; height: 29px; padding: 0 5px; color: var(--primary); font-size: 8px; font-weight: 850; border-radius: 9px; background: var(--primary-soft); }
.editor-section-head > div { flex: 1; }
.editor-section-head h2 { margin: 0 0 3px; font-size: 17px; letter-spacing: -.4px; }
.editor-section-head p { margin: 0; color: var(--muted); font-size: 9.5px; line-height: 1.45; }
.language-tabs { display: flex; gap: 7px; margin: -3px 0 15px 40px; }
.language-tabs span { padding: 6px 9px; color: var(--muted); font-size: 8px; font-weight: 750; border-radius: 8px; background: #f3f5f8; }
.language-tabs span.active { color: var(--primary); background: var(--primary-soft); }
.text-pairs textarea { min-height: 105px; }
.color-field { display: flex; align-items: center; gap: 10px; min-height: 40px; padding: 6px 9px; border: 1px solid var(--line-strong); border-radius: 10px; }
.color-field input[type=color] { width: 30px; min-height: 28px; padding: 0; overflow: hidden; border: 0; border-radius: 7px; }
.color-field em { color: var(--muted); font-size: 9px; font-style: normal; }
.editor-savebar { position: sticky; bottom: 12px; z-index: 10; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 12px 14px; border: 1px solid rgba(216,222,234,.9); border-radius: 16px; background: rgba(255,255,255,.92); box-shadow: 0 18px 38px rgba(25,35,60,.15); backdrop-filter: blur(14px); }
.editor-savebar strong, .editor-savebar small { display: block; }
.editor-savebar strong { font-size: 10px; }
.editor-savebar small { margin-top: 2px; color: var(--muted); font-size: 8px; }
.guide-builder { margin-top: 14px; }
.guide-builder .editor-section-head .btn { margin-left: auto; }
.guide-builder-list { border-top: 1px solid var(--line); }
.guide-builder-row { display: grid; grid-template-columns: 18px 34px minmax(0,1fr) 31px; gap: 10px; align-items: start; padding: 13px 0; border-bottom: 1px solid var(--line); }
.drag-handle { padding-top: 7px; color: #bcc2cc; font-size: 11px; }
.guide-icon { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 9px; background: #f4f5f8; }
.guide-builder-row strong, .guide-builder-row small { display: inline; }
.guide-builder-row strong { font-size: 10px; }
.guide-builder-row small { margin-left: 5px; color: var(--muted); font-size: 8px; }
.guide-builder-row p { margin: 5px 0 0; color: var(--muted); font-size: 9px; line-height: 1.5; white-space: pre-wrap; }
.icon-btn { display: grid; place-items: center; width: 30px; height: 30px; color: #8a93a2; font-size: 16px; border: 1px solid var(--line); border-radius: 9px; background: white; cursor: pointer; }
.icon-btn:hover { color: var(--red); border-color: #efc9ce; background: var(--red-soft); }
.add-section-box { margin-top: 14px; border: 1px dashed #cfd5e0; border-radius: 13px; }
.add-section-box > summary { display: flex; align-items: center; gap: 7px; padding: 12px; color: var(--primary); font-size: 10px; font-weight: 800; list-style: none; cursor: pointer; }
.add-section-box > summary::-webkit-details-marker { display: none; }
.add-section-box > summary svg { width: 15px; }
.add-section-box > form { padding: 0 13px 13px; }
.danger-zone { margin-top: 14px; padding: 13px 15px; color: #6d7586; font-size: 9.5px; border: 1px solid #e4e7ed; border-radius: 14px; background: #fafbfc; }
.danger-zone summary { font-weight: 800; cursor: pointer; }
.danger-zone p { margin: 10px 0 0; }

/* Data panels */
.data-panel { overflow: hidden; }
.table-heading { padding: 18px 18px 12px; }
.table-wrap { width: 100%; overflow-x: auto; }
.premium-table { width: 100%; min-width: 850px; border-collapse: collapse; }
.premium-table th, .premium-table td { padding: 11px 14px; text-align: left; vertical-align: middle; border-top: 1px solid var(--line); }
.premium-table th { color: #8c96a8; font-size: 8px; font-weight: 850; text-transform: uppercase; letter-spacing: .8px; background: #fafbfc; }
.premium-table td { color: #495367; font-size: 10px; }
.premium-table td strong, .premium-table td small { display: block; }
.premium-table td strong { color: var(--ink); font-size: 10.5px; }
.premium-table td small { margin-top: 2px; color: var(--muted); font-size: 8px; }
.premium-table tr.past-row { opacity: .67; }
.person-cell { display: flex; align-items: center; gap: 9px; }
.person-cell > span { display: grid; place-items: center; width: 30px; height: 30px; color: #4d47c8; font-size: 9px; font-weight: 850; border-radius: 9px; background: #e7e5ff; }
.channel-badge { display: inline-flex; padding: 5px 7px; color: #6c7688; font-size: 8px; font-weight: 800; border: 1px solid var(--line); border-radius: 7px; background: #f9fafb; }
.channel-badge.airbnb { color: #c3435a; border-color: #f3d5da; background: #fff4f5; }
.channel-badge.vrbo { color: #3265bb; border-color: #d7e3f9; background: #f2f7ff; }
.amount.income { color: var(--green); }
.amount.expense { color: var(--red); }

/* Money */
.money-hero { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 30px; min-height: 160px; margin-bottom: 14px; padding: 28px 30px; color: white; border-radius: 23px; background: radial-gradient(circle at 80% -20%, rgba(64,219,180,.24), transparent 35%), linear-gradient(130deg, #17223b, #243651); box-shadow: var(--shadow); }
.money-hero small, .money-hero strong { display: block; }
.money-hero > div:first-child > small { color: #9da9bc; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; }
.money-hero > div:first-child > strong { margin: 6px 0 4px; font-size: 37px; letter-spacing: -1.3px; }
.money-hero p { max-width: 500px; margin: 0; color: #aeb8c8; font-size: 9.5px; }
.money-flow { display: flex; gap: 8px; }
.money-flow > span { min-width: 115px; padding: 13px; border: 1px solid rgba(255,255,255,.08); border-radius: 14px; background: rgba(255,255,255,.055); }
.money-flow i { display: inline-block; width: 8px; height: 8px; border-radius: 50%; }
.money-flow i.income { background: #35d3a5; }
.money-flow i.expense { background: #ff8792; }
.money-flow small { margin: 5px 0 2px; color: #9da8ba; font-size: 8px; }
.money-flow strong { font-size: 15px; }
.money-layout { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(280px,.7fr); gap: 14px; margin-bottom: 14px; }
.category-panel, .finance-note { padding: 20px; }
.category-list { display: grid; gap: 10px; margin-top: 15px; }
.category-list > div > span { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 5px; }
.category-list strong { font-size: 9.5px; }
.category-list small { color: var(--muted); font-size: 8.5px; }
.category-list i { display: block; height: 5px; overflow: hidden; border-radius: 99px; background: #eef0f4; }
.category-list b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #6b63ff, #9c97ff); }
.finance-note { color: white; background: linear-gradient(145deg, #564fd2, #756eff); }
.finance-note .metric-icon { color: white; background: rgba(255,255,255,.15); }
.finance-note h2 { margin: 18px 0 7px; font-size: 20px; }
.finance-note p { color: #dbd9ff; font-size: 10px; line-height: 1.55; }
.finance-note .text-link { margin-top: 9px; color: white; }

/* Turnovers */
.operation-strip { display: grid; grid-template-columns: 160px 160px minmax(0,1fr); gap: 0; margin-bottom: 14px; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: white; box-shadow: var(--shadow-sm); }
.operation-strip > div { display: flex; align-items: center; gap: 10px; padding: 14px 16px; border-left: 1px solid var(--line); }
.operation-strip > div:first-child { border-left: 0; }
.operation-strip p { margin: 0; }
.operation-strip small, .operation-strip strong { display: block; }
.operation-strip small { color: var(--muted); font-size: 8px; }
.operation-strip strong { font-size: 17px; }
.operation-strip .operation-message { justify-content: flex-end; gap: 12px; }
.operation-message strong { font-size: 10px; white-space: nowrap; }
.operation-message span { color: var(--muted); font-size: 8.5px; }
.operation-message a { color: var(--primary); font-size: 9px; font-weight: 800; white-space: nowrap; }
.task-board { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; align-items: start; }
.task-column { min-width: 0; }
.task-column > header { display: flex; align-items: center; gap: 7px; padding: 0 3px 9px; }
.task-column > header h2 { margin: 0; font-size: 11px; }
.task-column > header em { display: grid; place-items: center; min-width: 21px; height: 21px; color: var(--muted); font-size: 8px; font-style: normal; font-weight: 850; border-radius: 7px; background: #e9ecf1; }
.status-dot-simple { width: 8px; height: 8px; border-radius: 50%; background: #aab2c0; }
.status-dot-simple.in-progress { background: var(--blue); }
.status-dot-simple.planned { background: var(--amber); }
.status-dot-simple.done { background: var(--green); }
.task-column-list { display: grid; gap: 10px; }
.turnover-card { padding: 15px; border: 1px solid var(--line); border-radius: 17px; background: white; box-shadow: var(--shadow-sm); }
.turnover-top { display: grid; grid-template-columns: 39px minmax(0,1fr) auto; gap: 10px; align-items: center; }
.turnover-top h3 { margin: 0; font-size: 11.5px; }
.turnover-top p { margin: 2px 0 0; color: var(--muted); font-size: 8.5px; }
.task-note { margin: 10px 0; padding: 8px; color: #6b7381; font-size: 8.5px; line-height: 1.5; border-radius: 9px; background: #f5f6f9; }
.premium-checklist { display: grid; gap: 5px; margin: 12px 0; }
.premium-checklist span { display: flex; align-items: center; gap: 7px; min-height: 28px; color: #6e7889; font-size: 8.5px; }
.premium-checklist i { display: grid; place-items: center; width: 17px; height: 17px; color: #9da5b3; font-size: 7px; font-style: normal; border: 1px solid #dce0e8; border-radius: 5px; }
.premium-checklist span.done { color: var(--green); }
.premium-checklist span.done i { color: white; border-color: var(--green); background: var(--green); }
.turnover-card form .btn { width: 100%; }
.column-empty { padding: 24px 10px; color: #9ba4b3; font-size: 9px; text-align: center; border: 1px dashed #d7dce5; border-radius: 15px; }

/* Issues */
.issue-summary-bar { display: grid; grid-template-columns: 120px 100px 110px minmax(0,1fr); align-items: center; gap: 0; margin-bottom: 14px; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: white; }
.issue-summary-bar > div { padding: 13px 16px; border-right: 1px solid var(--line); }
.issue-summary-bar > div strong, .issue-summary-bar > div span { display: block; }
.issue-summary-bar > div strong { font-size: 18px; }
.issue-summary-bar > div span { color: var(--muted); font-size: 8px; }
.issue-summary-bar > p { margin: 0; padding: 13px 16px; color: var(--muted); font-size: 8.5px; line-height: 1.5; }
.issue-summary-bar .status-dot { color: var(--ink); margin-right: 8px; }
.issue-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; }
.issue-tile { position: relative; overflow: hidden; padding: 17px; border: 1px solid var(--line); border-radius: 19px; background: white; box-shadow: var(--shadow-sm); }
.issue-tile::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 3px; background: #b6bdc9; }
.issue-tile.high::before { background: var(--amber); }
.issue-tile.urgent::before { background: var(--red); }
.issue-tile.closed { opacity: .68; }
.issue-tile-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.issue-tile-top > div { display: flex; gap: 5px; }
.issue-property { color: var(--muted); font-size: 8.5px; font-weight: 750; }
.issue-icon { display: grid; place-items: center; width: 38px; height: 38px; margin-top: 18px; color: var(--red); border-radius: 11px; background: var(--red-soft); }
.issue-icon svg { width: 18px; }
.issue-tile h2 { margin: 10px 0 5px; font-size: 15px; }
.issue-tile > p { min-height: 31px; margin: 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.assigned-row { display: flex; align-items: center; gap: 8px; margin: 14px 0; padding: 10px; border-radius: 11px; background: #f7f8fa; }
.assigned-row small, .assigned-row strong { display: block; }
.assigned-row small { color: var(--muted); font-size: 7px; }
.assigned-row strong { margin-top: 1px; font-size: 9px; }
.resolved-label { display: inline-flex; padding: 8px 10px; color: var(--green); font-size: 9px; font-weight: 800; border-radius: 9px; background: var(--green-soft); }

/* Supplies */
.inventory-alert { display: grid; grid-template-columns: 43px minmax(0,1fr) auto; gap: 13px; align-items: center; margin-bottom: 14px; padding: 17px 19px; border: 1px solid #f0dcbd; border-radius: 18px; background: linear-gradient(100deg, #fffaf0, #fff); }
.inventory-alert.clear { border-color: #cfe7df; background: linear-gradient(100deg, #effaf6, #fff); }
.inventory-alert small, .inventory-alert h2, .inventory-alert p { margin: 0; }
.inventory-alert > div > small { color: var(--amber); font-size: 8px; font-weight: 850; text-transform: uppercase; letter-spacing: .7px; }
.inventory-alert h2 { margin-top: 3px; font-size: 16px; }
.inventory-alert p { margin-top: 2px; color: var(--muted); font-size: 8.5px; }
.inventory-alert > strong { font-size: 20px; text-align: right; }
.inventory-alert > strong small { display: block; color: var(--muted); font-size: 7.5px; font-weight: 650; }
.supply-name { display: flex; align-items: center; gap: 9px; }
.supply-name .metric-icon { width: 31px; height: 31px; border-radius: 9px; }
.supply-name .metric-icon svg { width: 14px; }
.stock-count { display: inline !important; font-size: 14px !important; }
.quantity-stepper { display: inline-flex; align-items: center; overflow: hidden; border: 1px solid var(--line-strong); border-radius: 9px; }
.quantity-stepper form { margin: 0; }
.quantity-stepper button, .quantity-stepper span { display: grid; place-items: center; width: 28px; height: 27px; border: 0; background: white; }
.quantity-stepper button { color: var(--primary); font-weight: 850; cursor: pointer; }
.quantity-stepper span { width: 31px; font-size: 9px; font-weight: 800; border-right: 1px solid var(--line); border-left: 1px solid var(--line); background: #f7f8fb; }

/* Messages */
.message-guide { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 14px; padding: 14px 17px; border: 1px solid #dcd9ff; border-radius: 18px; background: linear-gradient(100deg, #f4f2ff, #fff); }
.message-guide > div:first-child { display: flex; align-items: center; gap: 11px; }
.message-guide p { margin: 0; }
.message-guide strong, .message-guide small { display: block; }
.message-guide strong { font-size: 10px; }
.message-guide small { margin-top: 2px; color: var(--muted); font-size: 8.5px; }
.variable-chips { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.variable-chips code { padding: 5px 7px; color: #5d56cf; font-size: 8px; border: 1px solid #dddafe; border-radius: 7px; background: white; }
.message-library { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; }
.message-template { display: flex; flex-direction: column; min-height: 270px; padding: 17px; border: 1px solid var(--line); border-radius: 19px; background: white; box-shadow: var(--shadow-sm); }
.message-card-head { display: flex; justify-content: space-between; gap: 9px; }
.message-card-head > div { display: flex; align-items: center; gap: 7px; }
.stage-label { color: var(--muted); font-size: 8px; }
.message-template h2 { margin: 16px 0 4px; font-size: 14px; }
.message-subject { margin: 0 0 8px; color: #5d6678; font-size: 9px; font-weight: 750; }
.message-body { flex: 1; padding: 12px; color: #596377; font-size: 9.5px; line-height: 1.6; white-space: pre-wrap; border-radius: 11px; background: #f8f9fb; }
.message-actions { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 12px; }
.message-actions span { color: var(--muted); font-size: 7.5px; }

/* Compliance */
.compliance-principle { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; gap: 12px; align-items: center; margin-bottom: 14px; padding: 15px 17px; border: 1px solid #d9e4f7; border-radius: 18px; background: linear-gradient(105deg, #f1f6ff, #fff); }
.compliance-principle strong { font-size: 10.5px; }
.compliance-principle p { margin: 3px 0 0; color: var(--muted); font-size: 8.5px; line-height: 1.45; }
.legal-tag { padding: 6px 8px; color: #53647e; font-size: 7.5px; font-weight: 800; border: 1px solid #d9e2f0; border-radius: 8px; background: white; }
.compliance-properties { display: grid; gap: 12px; }
.compliance-property { overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: white; box-shadow: var(--shadow-sm); }
.compliance-property > summary { display: grid; grid-template-columns: 40px minmax(0,1fr) 200px 18px; gap: 12px; align-items: center; padding: 16px 18px; list-style: none; cursor: pointer; }
.compliance-property > summary::-webkit-details-marker { display: none; }
.compliance-property > summary > svg { width: 15px; color: #939cac; transition: transform .2s ease; }
.compliance-property[open] > summary > svg { transform: rotate(90deg); }
.compliance-property-name strong, .compliance-property-name small { display: block; }
.compliance-property-name strong { font-size: 12px; }
.compliance-property-name small { margin-top: 2px; color: var(--muted); font-size: 8.5px; }
.compliance-progress { display: grid; grid-template-columns: minmax(70px,1fr) auto; gap: 6px 9px; align-items: center; }
.compliance-progress i { display: block; height: 5px; overflow: hidden; border-radius: 99px; background: #eceff4; }
.compliance-progress b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #17a28d, #45c5ad); }
.compliance-progress strong { font-size: 10px; }
.compliance-progress small { grid-column: 1 / -1; color: var(--muted); font-size: 7.5px; }
.compliance-list { border-top: 1px solid var(--line); }
.compliance-item { display: grid; grid-template-columns: 28px minmax(240px,1.35fr) 130px 135px minmax(180px,.8fr) minmax(190px,.9fr) 55px; gap: 9px; align-items: end; padding: 12px 16px; border-top: 1px solid var(--line); }
.compliance-item:first-child { border-top: 0; }
.compliance-state { align-self: center; }
.compliance-state i { display: grid; place-items: center; width: 24px; height: 24px; color: #8c95a6; font-size: 8px; font-style: normal; font-weight: 850; border: 1px solid #d9dee7; border-radius: 8px; }
.compliance-item.done .compliance-state i { color: white; border-color: var(--green); background: var(--green); }
.compliance-item.na .compliance-state i { color: white; border-color: #96a0b1; background: #96a0b1; }
.compliance-copy { align-self: center; }
.compliance-copy strong, .compliance-copy small, .compliance-copy a { display: block; }
.compliance-copy strong { font-size: 9.5px; line-height: 1.35; }
.compliance-copy small { margin-top: 2px; color: var(--muted); font-size: 7.5px; }
.compliance-copy a { margin-top: 4px; color: var(--primary); font-size: 7.5px; font-weight: 780; }
.compliance-item label { display: grid; gap: 4px; color: var(--muted); font-size: 7.5px; font-weight: 750; }
.compliance-item input, .compliance-item select { min-height: 35px; padding: 7px 8px; font-size: 9px; }
.save-compliance { min-height: 35px; padding: 7px 9px; }

/* Team */
.team-explainer { display: grid; grid-template-columns: minmax(0,1fr) 40px minmax(0,1fr) 40px minmax(0,1fr); align-items: center; gap: 10px; margin-bottom: 14px; padding: 14px 18px; border: 1px solid #dcdafe; border-radius: 18px; background: linear-gradient(100deg, #f6f4ff, #fff); }
.team-explainer > div { display: flex; align-items: center; gap: 9px; }
.team-explainer > div > span { display: grid; place-items: center; width: 28px; height: 28px; color: var(--primary); font-size: 9px; font-weight: 850; border-radius: 9px; background: white; box-shadow: var(--shadow-sm); }
.team-explainer p { margin: 0; }
.team-explainer strong, .team-explainer small { display: block; }
.team-explainer strong { font-size: 9px; }
.team-explainer small { margin-top: 2px; color: var(--muted); font-size: 7.5px; }
.team-explainer > i { height: 1px; background: #d8d6f7; }
.check-row { display: flex; flex-wrap: wrap; gap: 6px; }
.check-pill { display: inline-flex !important; align-items: center; gap: 6px; width: auto !important; padding: 7px 9px; color: var(--ink-2); font-size: 8.5px !important; font-weight: 680 !important; border: 1px solid var(--line); border-radius: 9px; background: #f8f9fb; cursor: pointer; }
.check-pill input { width: auto !important; min-height: 0 !important; padding: 0 !important; }
.team-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
.team-card { padding: 17px; border: 1px solid var(--line); border-radius: 20px; background: white; box-shadow: var(--shadow-sm); }
.team-card > header { display: grid; grid-template-columns: 41px minmax(0,1fr) auto; gap: 10px; align-items: center; }
.team-avatar { display: grid; place-items: center; width: 40px; height: 40px; color: #514bd0; font-size: 12px; font-weight: 850; border-radius: 12px; background: #e5e3ff; }
.team-avatar.maintenance { color: var(--amber); background: var(--amber-soft); }
.team-card h2 { margin: 0; font-size: 13px; }
.team-card header p { margin: 2px 0 0; color: var(--muted); font-size: 8.5px; }
.assigned-properties { margin: 14px 0 10px; }
.assigned-properties small { color: var(--muted); font-size: 7.5px; }
.assigned-properties p { margin: 3px 0 0; font-size: 9px; font-weight: 720; }
.private-link { display: flex; gap: 9px; align-items: center; padding: 10px; border-radius: 11px; background: #f7f8fb; }
.private-link > svg { flex: 0 0 auto; width: 16px; color: var(--green); }
.private-link > span { min-width: 0; }
.private-link small, .private-link code { display: block; }
.private-link small { color: var(--muted); font-size: 7px; }
.private-link code { margin-top: 2px; overflow: hidden; color: #647086; font-size: 7.5px; text-overflow: ellipsis; white-space: nowrap; }
.team-card .card-actions { margin-top: 11px; flex-wrap: wrap; }
.edit-box { margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--line); }
.edit-box > summary { color: var(--muted); font-size: 8.5px; font-weight: 800; cursor: pointer; }
.edit-box > form { margin-top: 12px; }

/* Billing */
.current-plan-banner { display: grid; grid-template-columns: 43px minmax(0,1fr) auto; gap: 13px; align-items: center; margin-bottom: 14px; padding: 17px 19px; color: white; border-radius: 19px; background: linear-gradient(125deg, #19223a, #2e3761); box-shadow: var(--shadow); }
.current-plan-banner .metric-icon { color: white; background: rgba(255,255,255,.1); }
.current-plan-banner small, .current-plan-banner h2, .current-plan-banner p { margin: 0; }
.current-plan-banner small { color: #98a4bb; font-size: 8px; text-transform: uppercase; letter-spacing: .8px; }
.current-plan-banner h2 { margin-top: 3px; font-size: 15px; }
.current-plan-banner p { margin-top: 2px; color: #aeb7ca; font-size: 8.5px; }
.launch-notice { display: flex; align-items: center; gap: 13px; margin-bottom: 14px; padding: 13px 16px; color: #685433; border: 1px solid #efdcb5; border-radius: 15px; background: #fff9ec; }
.launch-notice > span { flex: 0 0 auto; padding: 5px 7px; color: #9b6719; font-size: 8px; font-weight: 850; text-transform: uppercase; border-radius: 7px; background: #ffedc4; }
.launch-notice p { margin: 0; font-size: 8.5px; }
.launch-notice strong { color: #4f412b; }
.pricing-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-top: 22px; }
.pricing-plan { position: relative; display: flex; flex-direction: column; padding: 22px; border: 1px solid var(--line); border-radius: 22px; background: white; box-shadow: var(--shadow-sm); }
.pricing-plan.featured { transform: translateY(-8px); border-color: #bdb9ff; box-shadow: 0 20px 48px rgba(99,91,255,.14); }
.pricing-plan.current { box-shadow: inset 0 0 0 2px rgba(99,91,255,.22), var(--shadow); }
.popular-badge { position: absolute; top: -11px; right: 18px; padding: 5px 9px; color: white; font-size: 7.5px; font-weight: 850; text-transform: uppercase; letter-spacing: .6px; border-radius: 99px; background: var(--primary); }
.plan-icon { display: grid; place-items: center; width: 39px; height: 39px; color: var(--primary); border-radius: 12px; background: var(--primary-soft); }
.plan-icon svg { width: 18px; }
.pricing-plan h2 { margin: 13px 0 3px; font-size: 17px; }
.pricing-plan header p { min-height: 28px; margin: 0; color: var(--muted); font-size: 9px; line-height: 1.45; }
.plan-price { display: flex; align-items: flex-end; gap: 7px; margin-top: 18px; }
.plan-price strong { font-size: 31px; letter-spacing: -1.1px; }
.plan-price span { padding-bottom: 4px; color: var(--muted); font-size: 7px; line-height: 1.25; }
.plan-capacity { margin: 3px 0 14px; color: var(--muted); font-size: 9px; }
.pricing-plan ul { flex: 1; display: grid; gap: 9px; margin: 0 0 18px; padding: 14px 0 0; list-style: none; border-top: 1px solid var(--line); }
.pricing-plan li { position: relative; padding-left: 17px; color: #5c6678; font-size: 9px; }
.pricing-plan li::before { content: "✓"; position: absolute; left: 0; color: var(--green); font-weight: 900; }
.billing-value { display: grid; grid-template-columns: 1.5fr repeat(3,1fr); gap: 18px; align-items: center; margin-top: 18px; padding: 20px; color: white; border-radius: 20px; background: linear-gradient(120deg, #181f33, #28314e); }
.billing-value h2 { margin: 5px 0 0; font-size: 18px; }
.billing-value > div:not(:first-child) { padding-left: 16px; border-left: 1px solid rgba(255,255,255,.1); }
.billing-value > div:not(:first-child) strong, .billing-value > div:not(:first-child) span { display: block; }
.billing-value > div:not(:first-child) strong { color: #9994ff; font-size: 19px; }
.billing-value > div:not(:first-child) span { margin-top: 3px; color: #aeb7c8; font-size: 8px; line-height: 1.4; }

/* Authentication */
.auth-shell { display: grid; grid-template-columns: minmax(460px,.82fr) minmax(600px,1.18fr); min-height: 100vh; background: white; }
.auth-main { position: relative; display: flex; flex-direction: column; min-height: 100vh; padding: 32px clamp(38px,6vw,88px) 24px; }
.auth-brand .brand strong { color: var(--ink); }
.auth-brand strong { color: var(--ink); }
.auth-brand small { color: var(--muted); }
.auth-content { width: min(420px,100%); margin: auto 0; padding: 40px 0; }
.auth-kicker { display: inline-block; margin-bottom: 12px; color: var(--primary); font-size: 9px; font-weight: 850; text-transform: uppercase; letter-spacing: 1.35px; }
.auth-content h1 { margin: 0; font-size: clamp(39px,4.4vw,58px); line-height: .98; letter-spacing: -2.8px; }
.auth-content > p { margin: 14px 0 0; color: var(--muted); font-size: 13px; }
.auth-form { display: grid; gap: 13px; margin-top: 25px; }
.auth-form label { position: relative; gap: 7px; font-size: 10px; }
.auth-form label > a { position: absolute; top: 0; right: 0; color: var(--primary); font-size: 9px; }
.auth-form input { min-height: 47px; padding: 11px 13px; font-size: 12px; border-radius: 12px; background: #fafbfc; }
.auth-submit { width: 100%; min-height: 48px; margin-top: 2px; font-size: 12px; }
.auth-demo { display: flex; align-items: center; gap: 6px; margin-top: 13px; }
.auth-demo > span { color: var(--muted); font-size: 8px; font-weight: 750; }
.auth-demo code { padding: 4px 6px; color: #5e6778; font-size: 7.5px; border-radius: 6px; background: #f1f3f7; }
.auth-switch { font-size: 10px !important; }
.auth-switch a, .signup-legal a { color: var(--primary); font-weight: 800; }
.signup-legal { font-size: 8px !important; line-height: 1.5; }
.auth-footer { display: flex; gap: 13px; color: var(--muted); font-size: 8px; }
.auth-footer span { margin-right: auto; }
.auth-showcase { position: relative; display: grid; place-items: center; overflow: hidden; padding: 60px; color: white; background: linear-gradient(145deg, #12192b 0%, #232b4b 60%, #3f3d82 100%); }
.showcase-glow { position: absolute; border-radius: 50%; filter: blur(1px); }
.showcase-glow.one { top: -200px; right: -150px; width: 500px; height: 500px; background: radial-gradient(circle, rgba(111,103,255,.4), transparent 65%); }
.showcase-glow.two { bottom: -260px; left: -140px; width: 550px; height: 550px; background: radial-gradient(circle, rgba(15,159,149,.2), transparent 68%); }
.showcase-copy { position: absolute; top: 7vh; left: 8%; z-index: 2; max-width: 560px; }
.showcase-copy > span { color: #a8a3ff; font-size: 9px; font-weight: 850; text-transform: uppercase; letter-spacing: 1.3px; }
.showcase-copy h2 { margin: 8px 0 5px; font-size: clamp(25px,3vw,40px); line-height: 1.05; letter-spacing: -1.5px; }
.showcase-copy p { margin: 0; color: #aeb7ca; font-size: 11px; }
.showcase-dashboard { position: relative; z-index: 2; width: min(650px,88%); margin-top: 16vh; padding: 16px; color: var(--ink); border: 1px solid rgba(255,255,255,.24); border-radius: 20px; background: rgba(255,255,255,.96); box-shadow: 0 45px 90px rgba(0,0,0,.34); transform: perspective(1000px) rotateY(-3deg) rotateX(1deg); }
.showcase-dashboard > header { display: flex; align-items: center; padding: 0 2px 10px; color: #747e90; font-size: 8px; border-bottom: 1px solid var(--line); }
.showcase-dashboard > header strong { margin: auto; color: var(--ink); }
.fake-dots { display: flex; gap: 3px; }
.fake-dots i { width: 5px; height: 5px; border-radius: 50%; background: #d4d7dd; }
.live-label { color: var(--green); }
.fake-welcome { padding: 14px 4px 9px; }
.fake-welcome small { color: var(--primary); font-size: 6px; font-weight: 850; text-transform: uppercase; letter-spacing: .8px; }
.fake-welcome h3 { margin: 4px 0 2px; font-size: 19px; }
.fake-welcome p { margin: 0; color: var(--muted); font-size: 7.5px; }
.fake-metrics { display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; }
.fake-metrics span { padding: 9px; border-radius: 9px; background: #f5f6fa; }
.fake-metrics small, .fake-metrics strong { display: block; }
.fake-metrics small { color: var(--muted); font-size: 6px; }
.fake-metrics strong { margin-top: 2px; font-size: 14px; }
.fake-focus { margin-top: 6px; padding: 3px 10px; border: 1px solid var(--line); border-radius: 10px; }
.fake-focus > div { display: grid; grid-template-columns: 28px minmax(0,1fr) auto; gap: 8px; align-items: center; padding: 7px 0; border-top: 1px solid var(--line); }
.fake-focus > div:first-child { border-top: 0; }
.fake-focus .metric-icon { width: 27px; height: 27px; border-radius: 8px; }
.fake-focus .metric-icon svg { width: 12px; }
.fake-focus small, .fake-focus strong, .fake-focus em { display: block; }
.fake-focus small { color: var(--primary); font-size: 5.5px; font-weight: 850; text-transform: uppercase; }
.fake-focus strong { font-size: 8px; }
.fake-focus em { color: var(--muted); font-size: 5.7px; font-style: normal; }
.fake-focus b { color: var(--primary); font-size: 6px; }
.floating-proof { position: absolute; z-index: 3; display: flex; align-items: center; gap: 8px; padding: 10px 12px; color: var(--ink); border: 1px solid rgba(255,255,255,.5); border-radius: 12px; background: rgba(255,255,255,.94); box-shadow: 0 20px 40px rgba(0,0,0,.2); backdrop-filter: blur(12px); }
.floating-proof > span { display: grid; place-items: center; min-width: 30px; height: 30px; color: var(--green); font-size: 8px; font-weight: 850; border-radius: 9px; background: var(--green-soft); }
.floating-proof p { margin: 0; }
.floating-proof strong, .floating-proof small { display: block; }
.floating-proof strong { font-size: 8px; }
.floating-proof small { margin-top: 2px; color: var(--muted); font-size: 6px; }
.proof-one { right: 5%; bottom: 13%; }
.proof-two { left: 4%; top: 47%; }
.signup-showcase { background: linear-gradient(145deg, #12192b 0%, #212a4a 55%, #473f91 100%); }
.trial-promise { position: relative; z-index: 2; width: min(470px,90%); padding: 38px; border: 1px solid rgba(255,255,255,.14); border-radius: 25px; background: rgba(255,255,255,.07); box-shadow: var(--shadow-lg); backdrop-filter: blur(14px); }
.trial-promise .eyebrow { color: #a9a4ff !important; }
.trial-promise h2 { margin: 10px 0 25px; font-size: 34px; line-height: 1.03; letter-spacing: -1.3px; }
.trial-promise ul { display: grid; gap: 13px; margin: 0; padding: 0; list-style: none; }
.trial-promise li { display: flex; align-items: center; gap: 10px; color: #d8ddea; font-size: 10px; }
.trial-promise li span { display: grid; place-items: center; width: 22px; height: 22px; color: #54d6b2; font-size: 8px; border-radius: 7px; background: rgba(52,210,168,.12); }
.trial-bottom { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 26px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.1); }
.trial-bottom strong { font-size: 24px; }
.trial-bottom span { color: #aeb7c9; font-size: 8px; }

/* Guest guide */
.guide-page { min-height: 100vh; color: #182033; background: #f1f3f6; }
.guide-hero { position: relative; min-height: 480px; color: white; background: radial-gradient(circle at 80% 15%, color-mix(in srgb, var(--guide-accent) 70%, white), transparent 26%), linear-gradient(140deg, #142039 10%, color-mix(in srgb, var(--guide-accent) 75%, #1a2340) 100%); background-position: center; background-size: cover; }
.guide-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,16,30,.05), rgba(10,16,30,.62)); }
.guide-nav { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; width: min(980px,calc(100% - 40px)); margin: 0 auto; padding-top: 24px; }
.guide-brand { display: flex; align-items: center; gap: 8px; }
.guide-brand span { display: grid; place-items: center; width: 32px; height: 32px; color: white; font-size: 10px; font-weight: 900; border: 1px solid rgba(255,255,255,.25); border-radius: 10px; background: rgba(255,255,255,.14); backdrop-filter: blur(8px); }
.guide-brand strong { font-size: 11px; }
.guide-lang { display: flex; gap: 4px; padding: 4px; border: 1px solid rgba(255,255,255,.18); border-radius: 10px; background: rgba(8,14,26,.2); backdrop-filter: blur(8px); }
.guide-lang a { padding: 6px 9px; color: rgba(255,255,255,.68); font-size: 8px; font-weight: 850; border-radius: 7px; }
.guide-lang a.active { color: #172033; background: white; }
.guide-hero-content { position: absolute; bottom: 44px; left: 50%; z-index: 2; width: min(980px,calc(100% - 40px)); transform: translateX(-50%); }
.guide-badge { display: inline-flex; padding: 6px 9px; font-size: 8px; font-weight: 850; text-transform: uppercase; letter-spacing: 1px; border: 1px solid rgba(255,255,255,.22); border-radius: 8px; background: rgba(255,255,255,.12); backdrop-filter: blur(8px); }
.guide-hero h1 { margin: 12px 0 3px; font-size: clamp(40px,7vw,68px); line-height: .98; letter-spacing: -2.4px; }
.guide-hero-content > p { margin: 0; color: #d8dce5; font-size: 12px; }
.guide-welcome { display: flex; align-items: center; gap: 8px; max-width: 530px; margin-top: 18px; padding: 10px 12px; border-left: 2px solid var(--guide-accent); background: rgba(8,14,26,.25); backdrop-filter: blur(8px); }
.guide-welcome span { color: #d9d5ff; }
.guide-welcome p { margin: 0; color: #e1e4ea; font-size: 9px; line-height: 1.5; }
.guide-main { position: relative; z-index: 3; width: min(980px,calc(100% - 28px)); margin: -22px auto 0; padding-bottom: 45px; }
.guide-essentials { display: grid; grid-template-columns: 1fr 1fr 1.35fr 1.15fr; overflow: hidden; border-radius: 18px; background: white; box-shadow: 0 22px 45px rgba(22,31,51,.16); }
.guide-essentials article { position: relative; min-width: 0; min-height: 105px; padding: 17px; border-left: 1px solid var(--line); }
.guide-essentials article:first-child { border-left: 0; }
.essential-icon { display: grid; place-items: center; width: 25px; height: 25px; margin-bottom: 9px; color: var(--guide-accent); font-size: 11px; font-weight: 900; border-radius: 8px; background: color-mix(in srgb, var(--guide-accent) 10%, white); }
.guide-essentials small, .guide-essentials strong { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.guide-essentials small { color: #838da0; font-size: 7.5px; font-weight: 750; text-transform: uppercase; letter-spacing: .65px; }
.guide-essentials strong { margin-top: 3px; font-size: 11px; white-space: nowrap; }
.guide-essentials a, .guide-essentials button { display: inline-block; margin-top: 6px; padding: 0; color: var(--guide-accent); font-size: 7.5px; font-weight: 850; border: 0; background: none; cursor: pointer; }
.guide-access { display: grid; grid-template-columns: 55px minmax(0,1fr); gap: 15px; margin-top: 16px; padding: 22px; color: white; border-radius: 18px; background: linear-gradient(120deg, color-mix(in srgb, var(--guide-accent) 78%, #18203a), color-mix(in srgb, var(--guide-accent) 62%, #10182c)); box-shadow: 0 18px 35px color-mix(in srgb, var(--guide-accent) 18%, transparent); }
.guide-big-icon { display: grid; place-items: center; width: 52px; height: 52px; font-size: 24px; border: 1px solid rgba(255,255,255,.18); border-radius: 15px; background: rgba(255,255,255,.1); }
.guide-access small { color: rgba(255,255,255,.65); font-size: 7px; font-weight: 850; text-transform: uppercase; letter-spacing: 1px; }
.guide-access h2 { margin: 4px 0 5px; font-size: 17px; }
.guide-access p { margin: 0; color: rgba(255,255,255,.78); font-size: 9.5px; line-height: 1.6; white-space: pre-wrap; }
.guide-section-heading { padding: 40px 3px 15px; }
.guide-section-heading span { color: var(--guide-accent); font-size: 8px; font-weight: 850; text-transform: uppercase; letter-spacing: 1.1px; }
.guide-section-heading h2 { margin: 6px 0 0; font-size: 25px; letter-spacing: -.8px; }
.guide-sections { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.guide-section { display: grid; grid-template-columns: 41px minmax(0,1fr); gap: 12px; min-height: 150px; padding: 20px; border: 1px solid #e3e7ed; border-radius: 17px; background: white; box-shadow: 0 7px 20px rgba(23,32,52,.04); }
.guide-section-icon { display: grid; place-items: center; width: 39px; height: 39px; color: var(--guide-accent); font-size: 15px; font-weight: 850; border-radius: 12px; background: color-mix(in srgb, var(--guide-accent) 9%, white); }
.guide-section h2 { margin: 2px 0 6px; font-size: 14px; }
.guide-section p { margin: 0; color: #667185; font-size: 9.5px; line-height: 1.65; white-space: pre-wrap; }
.guide-safety { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 16px; align-items: center; margin-top: 12px; padding: 19px 21px; color: white; border-radius: 17px; background: #1b2335; }
.guide-safety > div { display: flex; align-items: center; gap: 10px; }
.guide-safety > div > span { display: grid; place-items: center; width: 34px; height: 34px; color: #ff9aa3; font-size: 20px; border-radius: 10px; background: rgba(255,115,127,.12); }
.guide-safety small, .guide-safety strong { display: block; }
.guide-safety small { color: #909bad; font-size: 7px; text-transform: uppercase; }
.guide-safety strong { margin-top: 2px; font-size: 13px; }
.guide-safety p { margin: 0; color: #9fa9b9; font-size: 8.5px; line-height: 1.5; }
.guide-safety a { padding: 8px 11px; color: white; font-size: 8px; font-weight: 850; border-radius: 9px; background: #d74e5c; }
.guide-footer { display: grid; place-items: center; padding: 40px 0 0; text-align: center; }
.guide-footer .brand-mark { width: 36px; height: 36px; }
.guide-footer > strong { margin-top: 8px; font-size: 11px; }
.guide-footer p { margin: 4px 0; color: var(--muted); font-size: 8.5px; }
.guide-footer small { color: #a4aab5; font-size: 7px; }

/* Legacy legal, reset and operator surfaces */
.auth-page { display: grid; place-items: center; min-height: 100vh; padding: 30px; background: white; }
.auth-page .login-card { width: min(430px,100%); }
.login-brand { margin-bottom: 26px; }
.login-card h1 { margin: 0 0 7px; font-size: 34px; letter-spacing: -1.2px; }
.login-card > p { color: var(--muted); font-size: 12px; }
.stack { display: grid; gap: 13px; margin-top: 18px; }
.stack label { display: grid; gap: 6px; color: var(--ink-2); font-size: 9px; font-weight: 750; }
.stack input { min-height: 44px; padding: 10px 12px; border: 1px solid var(--line-strong); border-radius: 11px; }
.stack .btn { width: 100%; }
.forgot-link, .legal-footer-links { color: var(--muted); font-size: 9px; }
.forgot-link a { color: var(--primary); font-weight: 750; }
.legal-page { max-width: 780px; margin: 0 auto; padding: 60px 25px 80px; line-height: 1.65; }
.legal-page h1 { font-size: 31px; }
.legal-page h2 { margin-top: 28px; font-size: 16px; }
.legal-page p, .legal-page li { color: #4f596b; font-size: 11px; }
.legal-draft-banner { padding: 12px 14px; color: #855c1c; font-size: 9px; font-weight: 750; border: 1px solid #efd8ad; border-radius: 11px; background: #fff8e9; }
.op-page { width: min(650px,calc(100% - 28px)); margin: 0 auto; padding: 65px 0 45px; }
.op-brand { display: flex; align-items: center; gap: 9px; margin-bottom: 24px; }
.op-brand-mark { display: grid; place-items: center; width: 34px; height: 34px; color: white; font-size: 10px; font-weight: 900; border-radius: 10px; background: var(--primary); }
.op-header h1 { margin: 5px 0; font-size: 27px; }
.op-header p { color: var(--muted); font-size: 10px; }
.op-section { margin-top: 26px; }
.op-section > h2 { font-size: 14px; }
.op-task-card { margin-top: 10px; padding: 17px; }
.panel-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.op-task-card h3 { margin: 0; font-size: 13px; }
.op-due { color: var(--muted); font-size: 9px; }
.op-checklist { display: grid; grid-template-columns: repeat(2,1fr); gap: 7px; margin: 13px 0; }
.op-check-btn { width: 100%; min-height: 43px; color: #5e6879; font-size: 9px; font-weight: 750; border: 1px solid var(--line); border-radius: 11px; background: #fafbfc; }
.op-check-btn.done { color: var(--green); border-color: #cce9df; background: var(--green-soft); }
.op-big-btn { width: 100%; }
.op-footer { margin-top: 35px; color: var(--muted); font-size: 8px; text-align: center; }

/* Responsive */
@media (max-width: 1180px) {
  .property-grid, .message-library, .issue-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .command-hero { grid-template-columns: minmax(0,1fr) 130px; }
  .hero-signal { display: none; }
  .compliance-item { grid-template-columns: 28px minmax(220px,1.2fr) 120px 130px minmax(170px,.8fr) 55px; }
  .compliance-item .notes-field { grid-column: 2 / -1; }
}

@media (max-width: 980px) {
  .app-shell { grid-template-columns: 220px minmax(0,1fr); }
  .main { padding: 24px 20px 45px; }
  .dashboard-layout, .dashboard-lower, .money-layout { grid-template-columns: 1fr; }
  .metric-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .task-board { grid-template-columns: 1fr; }
  .task-column-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .operation-strip { grid-template-columns: 130px 130px minmax(0,1fr); }
  .auth-shell { grid-template-columns: 1fr 1fr; }
  .auth-main { padding: 28px 38px 22px; }
  .auth-showcase { padding: 35px; }
  .showcase-copy { left: 6%; right: 6%; }
  .proof-two { display: none; }
}

@media (max-width: 820px) {
  body { padding-top: 60px; }
  .mobile-topbar { position: fixed; top: 0; left: 0; right: 0; z-index: 35; display: flex; align-items: center; justify-content: space-between; height: 60px; padding: 0 14px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.95); backdrop-filter: blur(14px); }
  .mobile-menu-btn { display: grid; place-items: center; width: 36px; height: 36px; color: var(--ink); border: 1px solid var(--line); border-radius: 10px; background: white; }
  .mobile-menu-btn svg { width: 18px; }
  .mobile-brand { display: flex; align-items: center; gap: 7px; }
  .mobile-brand .brand-mark { width: 31px; height: 31px; border-radius: 9px; font-size: 10px; }
  .mobile-brand strong { font-size: 11px; }
  .mobile-topbar > .user-avatar { width: 33px; height: 33px; }
  .app-shell { display: block; }
  .sidebar { position: fixed; top: 0; bottom: 0; left: 0; width: 265px; height: 100vh; transform: translateX(-105%); transition: transform .22s ease; }
  .sidebar.open { transform: translateX(0); box-shadow: 20px 0 50px rgba(0,0,0,.25); }
  .sidebar-close { display: grid; place-items: center; width: 33px; height: 33px; cursor: pointer; }
  .sidebar-close svg { width: 17px; }
  .sidebar-overlay { position: fixed; inset: 0; z-index: 34; display: block; visibility: hidden; opacity: 0; background: rgba(11,16,27,.55); transition: opacity .2s ease, visibility .2s ease; }
  .sidebar-overlay.open { visibility: visible; opacity: 1; }
  .main { padding: 22px 14px 45px; }
  .page-head { align-items: flex-start; }
  .page-head h1 { font-size: 30px; }
  .command-hero { grid-template-columns: minmax(0,1fr) 110px; min-height: 205px; padding: 27px; }
  .readiness-orbit { width: 105px; height: 105px; }
  .readiness-orbit strong { font-size: 21px; }
  .property-editor-layout { grid-template-columns: 1fr; }
  .setup-sidebar { position: relative; top: auto; }
  .anchor-nav { display: flex; overflow-x: auto; }
  .anchor-nav a { flex: 0 0 auto; }
  .portfolio-summary { grid-template-columns: repeat(2,1fr); }
  .portfolio-summary > div:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .portfolio-summary > div:nth-child(4) { border-top: 1px solid var(--line); }
  .team-explainer { grid-template-columns: 1fr; }
  .team-explainer > i { display: none; }
  .team-grid, .pricing-grid { grid-template-columns: 1fr; }
  .pricing-plan.featured { transform: none; }
  .billing-value { grid-template-columns: 1fr; }
  .billing-value > div:not(:first-child) { padding: 12px 0 0; border-top: 1px solid rgba(255,255,255,.1); border-left: 0; }
  .compliance-property > summary { grid-template-columns: 40px minmax(0,1fr) 18px; }
  .compliance-progress { grid-column: 2; grid-row: 2; }
  .compliance-property > summary > svg { grid-column: 3; grid-row: 1 / 3; }
  .compliance-item { grid-template-columns: 28px repeat(2,minmax(0,1fr)); align-items: end; }
  .compliance-copy { grid-column: 2 / -1; }
  .source-field, .notes-field { grid-column: auto !important; }
  .save-compliance { grid-column: 2 / -1; justify-self: start; }
  .auth-shell { display: block; }
  .auth-main { min-height: 100vh; }
  .auth-showcase { display: none; }
  .topbar-public { top: 13px; right: 14px; }
  body:has(.auth-shell), body:has(.guide-page) { padding-top: 0; }
  body.guide-page { padding-top: 0 !important; }
  .guide-hero { min-height: 420px; }
  .guide-essentials { grid-template-columns: repeat(2,1fr); }
  .guide-essentials article:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .guide-essentials article:nth-child(4) { border-top: 1px solid var(--line); }
}

@media (max-width: 620px) {
  .page-head { flex-direction: column; }
  .page-head .actions { width: 100%; flex-wrap: wrap; }
  .page-head .actions .btn { flex: 1; }
  .command-hero { display: block; min-height: 0; padding: 24px 21px; border-radius: 21px; }
  .command-copy h2 { font-size: 28px; }
  .readiness-orbit { display: none; }
  .metric-grid, .metric-grid.compact-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .metric-card { min-height: 82px; padding: 13px; }
  .metric-arrow { display: none; }
  .metric-card strong { font-size: 19px; }
  .metric-card em { white-space: normal; }
  .dashboard-layout, .dashboard-lower { gap: 11px; }
  .focus-panel, .onboarding-panel, .schedule-panel, .property-health-panel { padding: 17px; }
  .focus-action { display: none; }
  .stay-row { grid-template-columns: 38px minmax(0,1fr) auto; }
  .stay-duration { display: none; }
  .property-grid, .message-library, .issue-grid { grid-template-columns: 1fr; }
  .property-cover { min-height: 210px; }
  .form-grid { grid-template-columns: 1fr; }
  .wide { grid-column: auto; }
  .editor-section { padding: 17px; }
  .text-pairs { grid-template-columns: 1fr; }
  .editor-savebar { bottom: 8px; }
  .editor-savebar > span { display: none; }
  .editor-savebar .btn { width: 100%; }
  .guide-builder-row { grid-template-columns: 29px minmax(0,1fr) 30px; }
  .drag-handle { display: none; }
  .premium-add > summary { align-items: flex-start; flex-direction: column; }
  .money-hero { display: block; padding: 23px; }
  .money-flow { margin-top: 18px; }
  .money-flow > span { flex: 1; min-width: 0; }
  .operation-strip { grid-template-columns: repeat(2,1fr); }
  .operation-strip .operation-message { grid-column: 1 / -1; justify-content: flex-start; border-top: 1px solid var(--line); border-left: 0; }
  .operation-message span { display: none; }
  .task-column-list { grid-template-columns: 1fr; }
  .issue-summary-bar { grid-template-columns: repeat(3,1fr); }
  .issue-summary-bar > p { grid-column: 1 / -1; border-top: 1px solid var(--line); }
  .inventory-alert { grid-template-columns: 40px minmax(0,1fr); }
  .inventory-alert > strong { display: none; }
  .message-guide { align-items: flex-start; flex-direction: column; }
  .variable-chips { justify-content: flex-start; }
  .compliance-principle { grid-template-columns: 40px minmax(0,1fr); }
  .legal-tag { grid-column: 1 / -1; width: max-content; }
  .compliance-item { grid-template-columns: 26px minmax(0,1fr); }
  .compliance-copy, .compliance-item label, .save-compliance { grid-column: 2 !important; }
  .team-card .card-actions .btn { flex: 1; }
  .auth-main { padding: 24px 22px 20px; }
  .auth-content { padding: 45px 0 30px; }
  .auth-content h1 { font-size: 43px; }
  .auth-demo { align-items: flex-start; flex-wrap: wrap; }
  .guide-hero { min-height: 390px; }
  .guide-nav, .guide-hero-content { width: calc(100% - 28px); }
  .guide-hero h1 { font-size: 43px; }
  .guide-main { width: calc(100% - 18px); }
  .guide-essentials article { min-height: 100px; padding: 14px; }
  .guide-sections { grid-template-columns: 1fr; }
  .guide-section { min-height: 0; }
  .guide-safety { grid-template-columns: 1fr auto; }
  .guide-safety > p { grid-column: 1 / -1; grid-row: 2; }
}

html[dir="rtl"] .sidebar { border-right: 0; border-left: 1px solid rgba(255,255,255,.04); }
html[dir="rtl"] .sidebar-nav a.active { box-shadow: inset -2px 0 #817aff; }
html[dir="rtl"] .auth-form label > a { right: auto; left: 0; }

/* Airbnb-inspired hospitality theme and accessible type scale */
.app-shell { grid-template-columns: 280px minmax(0, 1fr); }
.sidebar {
  padding: 24px 18px 18px;
  color: var(--ink);
  background: #ffffff;
  border-right: 1px solid #e2e2e2;
  box-shadow: 8px 0 28px rgba(0,0,0,.035);
}
.brand-mark {
  width: 44px;
  height: 44px;
  font-size: 14px;
  border-radius: 50%;
  background: linear-gradient(145deg, #ff5a5f, #e31c5f);
  box-shadow: 0 8px 20px rgba(227,28,95,.22);
}
.brand strong { color: var(--ink); font-size: 17px; letter-spacing: -.35px; }
.brand small { color: var(--muted); font-size: 12px; }
.workspace-switcher {
  margin: 26px 0 18px;
  padding: 13px;
  border-color: #dddddd;
  border-radius: 14px;
  background: #f7f7f7;
}
.workspace-switcher:hover { background: #f1f1f1; border-color: #c7c7c7; }
.workspace-icon { width: 38px; height: 38px; color: var(--primary); background: var(--primary-soft); }
.workspace-switcher small { color: var(--muted); font-size: 11px; }
.workspace-switcher strong { color: var(--ink); font-size: 14px; }
.workspace-count { color: #b01648; font-size: 12px; background: #ffe1e8; }
.nav-label { margin-top: 18px; color: #8a8a8a; font-size: 11px; letter-spacing: 1px; }
.sidebar-nav { gap: 4px; }
.sidebar-nav a { min-height: 48px; padding: 12px 13px; color: #545454; font-size: 15px; font-weight: 650; border-radius: 12px; }
.sidebar-nav a svg { width: 20px; height: 20px; color: #717171; }
.sidebar-nav a:hover { color: var(--ink); background: #f7f7f7; }
.sidebar-nav a:hover svg { color: var(--primary); }
.sidebar-nav a.active { color: var(--ink); background: var(--primary-soft); box-shadow: inset 3px 0 var(--primary); }
.sidebar-nav a.active svg { color: var(--primary); }
.plan-card { padding: 14px; border-color: #ffd0da; background: #fff5f7; }
.plan-card small { color: #8a626b; font-size: 11px; }
.plan-card strong { color: var(--ink); font-size: 14px; }
.plan-card svg { color: var(--primary); }
.lang-dd summary, .icon-control { color: #545454; border-color: #dddddd; background: white; }
.lang-dd summary { min-height: 40px; font-size: 13px; }
.user-card { border-color: #e5e5e5; }
.user-card strong { color: var(--ink); font-size: 14px; }
.user-card small { color: var(--muted); font-size: 11px; }
.user-card > a { color: #717171; }
.user-avatar { color: #b01648; background: #ffe1e8; border-radius: 50%; }

.main { padding: 38px 40px 70px; }
.main-inner { max-width: 1480px; }
.page-head { margin-bottom: 30px; }
.page-head h1 { margin-top: 7px; font-size: clamp(38px, 3.2vw, 52px); line-height: 1.02; letter-spacing: -2.1px; }
.page-head p { max-width: 900px; color: #5f5f5f; font-size: 17px; line-height: 1.55; }
.eyebrow, .section-kicker { color: var(--primary) !important; font-size: 12px !important; letter-spacing: 1.3px; }
.btn { min-height: 48px; padding: 12px 19px; font-size: 15px; border-radius: 10px; }
.btn.primary { border-color: var(--primary-dark); background: linear-gradient(135deg, #ff385c, #e31c5f); box-shadow: 0 8px 20px rgba(227,28,95,.2); }
.btn.primary:hover:not(:disabled) { box-shadow: 0 12px 26px rgba(227,28,95,.26); }
.btn.primary.soft { color: #b01648; border-color: #ffc4d1; background: var(--primary-soft); }
.panel { border-color: #dedede; border-radius: 20px; box-shadow: var(--shadow-sm); }
.section-head h2 { font-size: 23px; letter-spacing: -.65px; }
.section-head p { font-size: 14px; }
.text-link { font-size: 14px; }
.count-badge { font-size: 13px; background: var(--primary-soft); }
.help-banner, .flash { font-size: 14px; }
.pill { padding: 6px 10px; font-size: 11px; letter-spacing: .45px; }

.premium-add > summary { min-height: 72px; padding: 18px 22px; }
.premium-add > summary > span { font-size: 16px; }
.premium-add > summary small { font-size: 13px; }
.form-grid label, .auth-form label { gap: 8px; font-size: 13px; }
.form-grid input, .form-grid select, .form-grid textarea, .auth-form input, .compliance-item input, .compliance-item select { min-height: 48px; padding: 12px 14px; font-size: 15px; border-radius: 10px; }

.command-hero { background: radial-gradient(circle at 72% 5%, rgba(255,90,95,.34), transparent 34%), linear-gradient(125deg, #222 0%, #3a2a2e 58%, #6b273c 100%); }
.status-dot { font-size: 11px; }
.command-copy p { font-size: 15px; }
.hero-link { color: #ffd4dd; font-size: 14px; }
.readiness-orbit { background: conic-gradient(var(--primary) calc(var(--score) * 1%), rgba(255,255,255,.1) 0); }
.metric-card { min-height: 104px; padding: 19px; border-radius: 18px; }
.metric-icon { width: 46px; height: 46px; color: var(--primary); background: var(--primary-soft); }
.metric-card small { font-size: 12px; }
.metric-card strong { font-size: 25px; }
.metric-card em { font-size: 12px; }
.focus-panel, .onboarding-panel, .schedule-panel, .property-health-panel { padding: 26px; }
.focus-item { padding: 14px 0; }
.focus-body small { font-size: 10px; }
.focus-body strong { font-size: 15px; }
.focus-body em, .focus-action, .progress-label { font-size: 12px; }
.onboarding-list a { padding: 12px 0; }
.onboarding-list a strong { font-size: 13px; }
.stay-main strong, .health-main strong { font-size: 14px; }
.stay-main small, .health-main small, .stay-duration small { font-size: 12px; }

.portfolio-summary small, .property-signals small, .property-signals span, .setup-progress small { font-size: 12px; }
.property-cover-title small { font-size: 11px; }
.property-cover-title p { font-size: 13px; }
.property-signals strong { font-size: 15px; }
.property-tile-body { padding: 22px; }
.back-link { font-size: 13px; }
.editor-section { padding: 26px; }
.editor-section-head h2 { font-size: 21px; }
.editor-section-head p { font-size: 13px; }
.editor-section-head > span, .language-tabs span { font-size: 11px; }
.anchor-nav a, .side-tip p, .guide-builder-row p, .danger-zone { font-size: 13px; }
.side-tip strong, .guide-builder-row strong { font-size: 14px; }

.premium-table th { font-size: 11px; }
.premium-table td, .premium-table td strong { font-size: 14px; }
.premium-table td small, .channel-badge { font-size: 12px; }
.money-hero p { font-size: 13px; }
.money-flow small, .category-list small { font-size: 12px; }
.category-list strong { font-size: 14px; }
.operation-strip small, .operation-message span, .task-note, .premium-checklist span, .column-empty { font-size: 12px; }
.operation-message strong, .operation-message a, .task-column > header h2, .turnover-top h3 { font-size: 14px; }
.turnover-top p { font-size: 12px; }
.issue-summary-bar > div span, .issue-summary-bar > p, .issue-property, .assigned-row small { font-size: 12px; }
.issue-tile h2 { font-size: 19px; }
.issue-tile > p, .assigned-row strong, .resolved-label { font-size: 13px; }
.inventory-alert > div > small, .inventory-alert p, .inventory-alert > strong small { font-size: 12px; }
.inventory-alert h2 { font-size: 20px; }
.message-guide strong { font-size: 14px; }
.message-guide small, .stage-label, .message-subject, .message-actions span { font-size: 12px; }
.variable-chips code, .message-body { font-size: 13px; }
.message-template h2 { font-size: 18px; }

.team-explainer { gap: 16px; margin-bottom: 18px; padding: 20px 22px; border-color: #dedede; border-radius: 18px; background: #fff; }
.team-explainer > div { gap: 12px; }
.team-explainer > div > span { width: 36px; height: 36px; color: var(--primary); font-size: 13px; border: 1px solid #eeeeee; box-shadow: none; }
.team-explainer strong { font-size: 14px; }
.team-explainer small { margin-top: 4px; font-size: 12px; }
.team-explainer > i { background: #dddddd; }
.team-grid { gap: 18px; }
.team-card { padding: 24px; border-color: #dedede; border-radius: 18px; }
.team-card > header { grid-template-columns: 48px minmax(0,1fr) auto; gap: 14px; }
.team-avatar { width: 48px; height: 48px; color: #b01648; font-size: 15px; border-radius: 50%; background: #ffe1e8; }
.team-card h2 { font-size: 19px; }
.team-card header p { font-size: 13px; }
.assigned-properties { margin-top: 22px; }
.assigned-properties small, .private-link small { font-size: 12px; }
.assigned-properties p { font-size: 14px; }
.private-link { margin-top: 16px; padding: 14px; background: #f7f7f7; }
.private-link code { font-size: 12px; }
.edit-box > summary { padding-top: 14px; font-size: 13px; }

.compliance-principle strong, .compliance-property-name strong, .compliance-progress strong { font-size: 14px; }
.compliance-principle p, .compliance-property-name small, .compliance-progress small, .compliance-copy small, .compliance-copy a, .compliance-item label { font-size: 12px; }
.compliance-copy strong { font-size: 14px; }
.legal-tag { font-size: 11px; }
.current-plan-banner small, .launch-notice p, .pricing-plan header p, .plan-capacity, .pricing-plan li { font-size: 13px; }
.current-plan-banner h2 { font-size: 20px; }
.pricing-plan h2 { font-size: 22px; }
.plan-price span { font-size: 11px; }

@media (max-width: 820px) {
  .sidebar { width: 288px; }
  .main { padding: 28px 18px 52px; }
  .page-head h1 { font-size: 36px; }
  .page-head p { font-size: 15px; }
}

html[dir="rtl"] .sidebar { border-left-color: #e2e2e2; }
html[dir="rtl"] .sidebar-nav a.active { box-shadow: inset -3px 0 var(--primary); }

/* Calendar connections --------------------------------------------------- */
.calendar-connect-box {
  border: 1px solid #ffd0d8;
  background: linear-gradient(135deg, #fff 0%, #fff8f9 100%);
}

.calendar-connect-box[open] {
  box-shadow: 0 18px 48px rgba(34, 34, 34, .08);
}

.field-help {
  display: block;
  margin-top: 8px;
  color: #6a6a6a;
  font-size: .84rem;
  line-height: 1.45;
}

.calendar-hub {
  padding: clamp(22px, 2vw, 32px);
}

.calendar-security {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 12px;
  border-radius: 999px;
  background: #e8f8f2;
  color: #007a5e;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .02em;
}

.calendar-security::before {
  content: "\2713";
  font-size: .9rem;
}

.calendar-property-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 22px;
}

.calendar-property-card {
  overflow: hidden;
  border: 1px solid #e3e3e3;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 4px 18px rgba(34, 34, 34, .05);
}

.calendar-property-card > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  border-bottom: 1px solid #eee;
}

.calendar-property-card > header > div {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.calendar-property-card h3 {
  margin: 0 0 3px;
  color: #222;
  font-size: 1.03rem;
}

.calendar-property-card header p {
  margin: 0;
  color: #717171;
  font-size: .8rem;
}

.calendar-property-icon {
  display: grid;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 13px;
  background: #fff0f3;
  color: #ff385c;
}

.calendar-property-icon svg {
  width: 20px;
  height: 20px;
}

.calendar-connections {
  padding: 8px 20px;
}

.calendar-connection-row {
  position: relative;
  display: grid;
  grid-template-columns: 38px minmax(110px, 1fr) auto auto;
  align-items: center;
  gap: 11px;
  padding: 13px 0;
  border-bottom: 1px solid #eee;
}

.calendar-connection-row:last-child {
  border-bottom: 0;
}

.platform-mark {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 11px;
  background: #f1f1f1;
  color: #222;
  font-size: .76rem;
  font-weight: 900;
}

.platform-mark.airbnb { background: #fff0f3; color: #ff385c; }
.platform-mark.vrbo { background: #eef3ff; color: #2452a8; }
.platform-mark.booking { background: #eaf2ff; color: #003580; }
.platform-mark.other { background: #f1edff; color: #5d39c7; }

.calendar-connection-main,
.calendar-sync-state {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 4px;
}

.calendar-connection-main strong {
  overflow: hidden;
  color: #222;
  font-size: .9rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.calendar-connection-main small,
.calendar-sync-state small {
  color: #717171;
  font-size: .72rem;
}

.calendar-sync-state { align-items: flex-end; }

.calendar-row-actions {
  display: flex;
  align-items: center;
  gap: 7px;
}

.calendar-row-actions form { margin: 0; }
.calendar-row-actions .btn { min-height: 36px; padding: 8px 11px; font-size: .76rem; }

.calendar-error {
  grid-column: 2 / -1;
  margin: -2px 0 2px;
  padding: 9px 11px;
  border-radius: 9px;
  background: #fff0f3;
  color: #c1354e;
  font-size: .74rem;
}

.calendar-empty {
  padding: 20px 0;
  text-align: center;
}

.calendar-empty strong { color: #484848; font-size: .88rem; }
.calendar-empty p { margin: 5px 0 0; color: #717171; font-size: .77rem; }

.calendar-export-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 16px 20px;
  border-top: 1px solid #eee;
  background: #fafafa;
}

.calendar-export-row > div:first-child {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 5px;
}

.calendar-export-row span { color: #222; font-size: .83rem; font-weight: 800; }
.calendar-export-row code {
  overflow: hidden;
  max-width: 440px;
  color: #5b5b5b;
  font-family: inherit;
  font-size: .69rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.calendar-export-row small { color: #717171; font-size: .69rem; line-height: 1.35; }

.synced-lock {
  display: inline-grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 50%;
  background: #e8f8f2;
  color: #007a5e;
  font-size: 1rem;
  font-weight: 900;
}

@media (max-width: 1180px) {
  .calendar-property-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .calendar-connection-row { grid-template-columns: 38px 1fr auto; }
  .calendar-sync-state { display: none; }
  .calendar-export-row { align-items: flex-start; flex-direction: column; }
  .calendar-export-row .calendar-row-actions { width: 100%; }
  .calendar-export-row .btn { flex: 1; }
}

/* Guided activation ------------------------------------------------------- */
.onboarding-body { min-height:100vh; margin:0; background:#f7f7f7; color:#222; font-size:16px; }
.onboarding-topbar { height:76px; padding:0 max(24px,calc((100vw - 1180px)/2)); display:flex; align-items:center; justify-content:space-between; background:#fff; border-bottom:1px solid #e7e7e7; }
.onboarding-brand { display:flex; align-items:center; gap:12px; color:#222; text-decoration:none; font-size:1.08rem; }
.onboarding-brand > span { display:grid; width:43px; height:43px; place-items:center; border-radius:14px; background:#ff385c; color:#fff; font-weight:900; box-shadow:0 9px 25px rgba(255,56,92,.22); }
.onboarding-tools { display:flex; align-items:center; gap:16px; }
.onboarding-tools > a { color:#555; font-size:.88rem; font-weight:750; text-decoration:none; }
.onboarding-shell { width:min(1180px,calc(100% - 40px)); margin:0 auto; padding:34px 0 72px; }
.onboarding-progress { display:grid; grid-template-columns:auto 1fr auto 1fr auto; align-items:center; width:min(760px,100%); margin:0 auto 52px; }
.onboarding-progress > div { display:flex; align-items:center; gap:10px; opacity:.5; }
.onboarding-progress > div.done,.onboarding-progress > div.active { opacity:1; }
.onboarding-progress b { display:grid; width:34px; height:34px; place-items:center; flex:none; border:1px solid #ddd; border-radius:50%; background:#fff; font-size:.82rem; }
.onboarding-progress .done b { border-color:#d8f0e7; background:#e8f8f2; color:#008a68; }
.onboarding-progress .active b { border-color:#ff385c; background:#ff385c; color:#fff; box-shadow:0 7px 18px rgba(255,56,92,.25); }
.onboarding-progress span { display:flex; flex-direction:column; white-space:nowrap; }
.onboarding-progress small { color:#898989; font-size:.65rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.onboarding-progress strong { font-size:.82rem; }
.onboarding-progress > i { height:1px; margin:0 18px; background:#ddd; }
.onboarding-hero { max-width:790px; margin:0 auto 34px; text-align:center; }
.onboarding-hero.compact { margin-bottom:28px; }
.onboarding-kicker { color:#ff385c; font-size:.72rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.onboarding-hero h1,.payment-wait-card h1 { margin:9px 0 12px; color:#151515; font-size:clamp(2.25rem,5vw,3.8rem); line-height:1.02; letter-spacing:-.055em; }
.onboarding-hero > p,.payment-wait-card > p { margin:0 auto; color:#656565; font-size:1.06rem; line-height:1.6; }
.onboarding-layout { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr); gap:24px; align-items:start; }
.onboarding-card,.onboarding-guide,.trial-choice,.onboarding-plan,.payment-wait-card { border:1px solid #e3e3e3; border-radius:24px; background:#fff; box-shadow:0 10px 36px rgba(0,0,0,.055); }
.onboarding-card { padding:32px; }
.onboarding-card-head { display:flex; gap:14px; align-items:center; margin-bottom:28px; }
.onboarding-card-icon { display:grid; width:48px; height:48px; place-items:center; border-radius:15px; background:#fff0f3; color:#ff385c; font-size:1.35rem; font-weight:900; }
.onboarding-card h2 { margin:0 0 3px; font-size:1.35rem; letter-spacing:-.025em; }
.onboarding-card-head p { margin:0; color:#737373; font-size:.87rem; }
.onboarding-form { display:grid; gap:18px; }
.onboarding-form label { display:grid; gap:8px; color:#333; font-size:.82rem; font-weight:800; }
.onboarding-form input,.onboarding-form select { width:100%; min-height:51px; padding:0 15px; border:1px solid #cfcfcf; border-radius:12px; background:#fff; color:#222; font:inherit; box-sizing:border-box; outline:none; }
.onboarding-form input:focus,.onboarding-form select:focus { border-color:#222; box-shadow:0 0 0 3px rgba(0,0,0,.06); }
.onboarding-form label small { color:#818181; font-size:.7rem; font-weight:500; line-height:1.45; }
.onboarding-form .form-grid { display:grid; gap:14px; }
.onboarding-form .form-grid.two { grid-template-columns:1fr 1fr; }
.onboarding-form .form-grid.three { grid-template-columns:1.4fr .65fr .65fr; }
.onboarding-form-section { display:flex; align-items:center; gap:12px; margin:5px 0 -3px; color:#8a8a8a; font-size:.68rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.onboarding-form-section:after { content:""; height:1px; flex:1; background:#ececec; }
.onboarding-submit { min-height:54px; margin-top:4px; font-size:.92rem; }
.onboarding-guide { position:sticky; top:24px; padding:30px; }
.guide-number { color:#ff385c; font-size:.72rem; font-weight:900; letter-spacing:.1em; }
.onboarding-guide h3 { margin:8px 0; font-size:1.35rem; }
.onboarding-guide > p { margin:0 0 24px; color:#707070; font-size:.86rem; line-height:1.55; }
.onboarding-guide ol { display:grid; gap:17px; margin:0; padding:0; list-style:none; }
.onboarding-guide li { display:grid; gap:3px; padding-left:16px; border-left:2px solid #eee; }
.onboarding-guide li b { font-size:.84rem; }
.onboarding-guide li span { color:#777; font-size:.72rem; line-height:1.45; }
.security-note { margin-top:27px; padding:17px; border-radius:14px; background:#effaf6; color:#087c61; }
.security-note b { font-size:.77rem; }
.security-note p { margin:5px 0 0; color:#4f776d; font-size:.7rem; line-height:1.5; }
.calendar-confirmed { display:inline-flex; align-items:center; gap:10px; margin-top:22px; padding:10px 16px; border:1px solid #dcefe8; border-radius:999px; background:#f3fbf8; text-align:left; }
.calendar-confirmed > span { display:grid; width:27px; height:27px; place-items:center; border-radius:50%; background:#00a67e; color:#fff; font-weight:900; }
.calendar-confirmed div { display:flex; flex-direction:column; }
.calendar-confirmed b { font-size:.75rem; }
.calendar-confirmed small { color:#6a776f; font-size:.67rem; }
.trial-choice { display:flex; align-items:center; justify-content:space-between; gap:28px; padding:28px 32px; border:2px solid #ff385c; box-shadow:0 12px 35px rgba(255,56,92,.1); }
.choice-badge { color:#ff385c; font-size:.66rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.trial-choice h2 { margin:6px 0 5px; font-size:1.5rem; }
.trial-choice p { margin:0; color:#6c6c6c; font-size:.86rem; }
.trial-choice form { display:grid; min-width:230px; gap:7px; text-align:center; }
.trial-choice form small { color:#777; font-size:.67rem; }
.onboarding-divider { display:flex; align-items:center; gap:15px; margin:28px 0 20px; color:#999; font-size:.68rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.onboarding-divider:before,.onboarding-divider:after { content:""; height:1px; flex:1; background:#dedede; }
.onboarding-pricing { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.onboarding-plan { position:relative; padding:25px; }
.onboarding-plan.featured { border-color:#ff9bad; }
.onboarding-plan h3 { margin:0 0 13px; font-size:1.2rem; }
.onboarding-plan > p { color:#727272; font-size:.78rem; }
.onboarding-plan ul { min-height:112px; margin:18px 0; padding:0; list-style:none; }
.onboarding-plan li { margin:8px 0; color:#555; font-size:.73rem; }
.onboarding-plan li:before { content:"✓"; margin-right:7px; color:#00a67e; font-weight:900; }
.onboarding-plan .btn { width:100%; }
.onboarding-plan .popular-badge { position:absolute; top:17px; right:17px; }
.onboarding-config-note { margin:18px auto 0; color:#777; font-size:.75rem; text-align:center; }
.onboarding-skip { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-top:24px; padding:22px 26px; border:1px solid #dedede; border-radius:18px; background:#fff; box-shadow:0 8px 26px rgba(0,0,0,.035); }
.onboarding-skip.compact { margin-top:22px; }
.onboarding-skip strong { color:#222; font-size:.92rem; }
.onboarding-skip p { margin:5px 0 0; color:#707070; font-size:.78rem; line-height:1.5; }
.onboarding-skip form { flex:none; }
.onboarding-skip .btn { min-width:175px; }
.payment-wait-card { width:min(650px,100%); margin:70px auto; padding:56px; text-align:center; }
.payment-wait-card h1 { font-size:2.65rem; }
.payment-wait-card .btn { margin-top:24px; }
.payment-spinner { display:block; width:42px; height:42px; margin:0 auto 25px; border:4px solid #ffdbe2; border-top-color:#ff385c; border-radius:50%; animation:onboarding-spin .8s linear infinite; }
@keyframes onboarding-spin { to { transform:rotate(360deg); } }

/* Platform owner control center */
.owner-head { align-items:center; }
.owner-live { display:inline-flex; align-items:center; gap:9px; padding:10px 14px; color:#176b52; font-size:.75rem; font-weight:800; border:1px solid #cdebdc; border-radius:999px; background:#f1fbf6; }
.owner-live i,.owner-calendar-state i { width:8px; height:8px; border-radius:50%; background:#b5b5b5; }
.owner-live i,.owner-calendar-state.ready i { background:#23b886; box-shadow:0 0 0 5px rgba(35,184,134,.11); }
.owner-metrics { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; margin:0 0 24px; }
.owner-metrics article { min-height:142px; padding:22px; border:1px solid #e4e4e4; border-radius:20px; background:#fff; box-shadow:0 7px 24px rgba(0,0,0,.035); }
.owner-metrics small { display:block; color:#747474; font-size:.69rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.owner-metrics strong { display:block; margin:12px 0 8px; color:#171717; font-size:2.25rem; letter-spacing:-.055em; }
.owner-metrics span { color:#777; font-size:.72rem; }
.owner-metrics .owner-revenue { color:#fff; border-color:#1c1c1c; background:#1c1c1c; }
.owner-metrics .owner-revenue small,.owner-metrics .owner-revenue span { color:#bdbdbd; }
.owner-metrics .owner-revenue strong { color:#fff; }
.owner-accounts { padding:0; overflow:hidden; }
.owner-accounts > header { display:flex; align-items:center; justify-content:space-between; padding:24px 26px; border-bottom:1px solid #ededed; }
.owner-accounts h2 { margin:5px 0 0; font-size:1.35rem; }
.owner-table-wrap { overflow-x:auto; }
.owner-table { width:100%; border-collapse:collapse; }
.owner-table th { padding:13px 20px; color:#858585; font-size:.64rem; letter-spacing:.055em; text-align:left; text-transform:uppercase; background:#fafafa; }
.owner-table td { padding:17px 20px; color:#4d4d4d; font-size:.76rem; border-top:1px solid #efefef; }
.owner-person { display:flex; align-items:center; gap:11px; min-width:220px; }
.owner-person > b { display:grid; place-items:center; width:38px; height:38px; color:#c51d42; border-radius:12px; background:#ffe8ed; }
.owner-person span,.owner-person small { display:block; }
.owner-person strong { color:#181818; }
.owner-person small { margin-top:3px; color:#888; }
.owner-calendar-state { display:inline-flex; align-items:center; gap:9px; white-space:nowrap; }
.owner-empty { padding:50px !important; text-align:center; }
@media (max-width:1200px) { .owner-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:700px) { .owner-metrics { grid-template-columns:1fr 1fr; } .owner-metrics article { min-height:120px; } }

/* Platform owner control center */
.owner-actions,.owner-control-row,.owner-checks { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.owner-alert { display:flex; align-items:center; gap:13px; margin:0 0 20px; padding:15px 18px; border:1px solid #ffd4dc; border-radius:16px; background:#fff3f5; color:#5a2430; font-size:.82rem; }
.owner-alert span { flex:1; color:#79545c; }.owner-alert a { color:#c91f48; font-weight:800; }
.owner-activation-center { margin:0 0 22px; padding:0; overflow:hidden; border-color:#ffd1da; }.owner-activation-center > header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:21px 24px; border-bottom:1px solid #f0e3e6; background:linear-gradient(90deg,#fff5f7,#fff); }.owner-activation-center h2 { margin:4px 0; font-size:1.25rem; }.owner-activation-center header p { margin:0; color:#777f8b; font-size:.7rem; }.activation-count { padding:9px 12px; border-radius:999px; background:#ff385c; color:#fff; font-size:.66rem; font-weight:900; white-space:nowrap; }.activation-alert-list { display:grid; }.activation-alert-row { display:grid; grid-template-columns:42px 1fr auto 20px; align-items:center; gap:13px; padding:15px 22px; border-bottom:1px solid #f0f0f0; color:#202633; text-decoration:none; transition:.15s ease; }.activation-alert-row:last-child { border-bottom:0; }.activation-alert-row:hover { background:#fafbfc; }.activation-avatar { display:grid; place-items:center; width:40px; height:40px; border-radius:13px; background:#ffe8ed; color:#c41f46; font-weight:900; }.activation-alert-row > span:nth-child(2) strong,.activation-alert-row > span:nth-child(2) small,.activation-status small { display:block; }.activation-alert-row > span:nth-child(2) strong { font-size:.78rem; }.activation-alert-row > span:nth-child(2) small { margin-top:4px; color:#858d99; font-size:.65rem; }.activation-status { min-width:175px; padding:9px 11px; border-radius:11px; font-size:.66rem; }.activation-status small { margin-top:3px; font-size:.58rem; font-weight:650; opacity:.75; }.activation-status.waiting { color:#a62943; background:#fff0f3; }.activation-status.confirmed { color:#087052; background:#eaf9f4; }.activation-alert-row > i { color:#c51f46; font-style:normal; font-weight:900; }
.owner-registration-toast { position:fixed; z-index:2000; right:24px; bottom:24px; display:grid; gap:5px; width:min(390px,calc(100vw - 32px)); padding:18px 20px; border:1px solid #ffd0d9; border-radius:17px; background:#172033; color:#fff; box-shadow:0 18px 50px rgba(15,23,39,.28); opacity:0; transform:translateY(20px); transition:.25s ease; text-decoration:none; }.owner-registration-toast.visible { opacity:1; transform:translateY(0); }.owner-registration-toast strong { color:#ff6b85; font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; }.owner-registration-toast span { font-size:.82rem; font-weight:800; }.owner-registration-toast small { color:#bbc4d1; font-size:.67rem; }
.owner-metrics-wide { grid-template-columns:repeat(6,minmax(0,1fr)); }.owner-metrics-wide article { min-height:132px; }
.owner-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(320px,.75fr); gap:18px; margin-bottom:22px; }
.owner-chart-card,.owner-health-card,.owner-feed,.owner-profile-main,.owner-profile-side { padding:0; overflow:hidden; }
.owner-chart-card > header,.owner-health-card > header,.owner-feed > header,.owner-profile-main > header,.owner-profile-side > header { display:flex; align-items:center; justify-content:space-between; padding:22px 24px; border-bottom:1px solid #eee; }
.owner-chart-card h2,.owner-health-card h2,.owner-feed h2,.owner-profile-main h2,.owner-profile-side h2 { margin:5px 0 0; font-size:1.15rem; }
.owner-bar-chart { display:flex; align-items:flex-end; gap:5px; height:190px; padding:28px 24px 0; }
.owner-bar-chart > span { position:relative; flex:1; min-height:5px; border-radius:6px 6px 2px 2px; background:linear-gradient(180deg,#ff385c,#ff768f); }
.owner-bar-chart i { position:absolute; top:-18px; left:50%; transform:translateX(-50%); font-size:.58rem; font-style:normal; font-weight:800; }
.owner-chart-axis { display:flex; justify-content:space-between; padding:12px 24px 20px; color:#999; font-size:.67rem; }
.owner-health-row { display:flex; align-items:center; justify-content:space-between; padding:15px 22px; border-bottom:1px solid #f0f0f0; font-size:.78rem; }
.owner-health-row span { display:flex; align-items:center; gap:9px; }.owner-health-row i,.owner-feed-row > i { width:9px; height:9px; border-radius:50%; background:#a4a4a4; }
.owner-health-row i.ok,.owner-feed-row > i.ok { background:#18a978; box-shadow:0 0 0 5px #e3f7f0; }.owner-health-row i.bad,.owner-feed-row > i.bad { background:#e33156; box-shadow:0 0 0 5px #ffe8ed; }
.danger-text { color:#d2264c; }.owner-plan-row { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; padding:20px; }.owner-plan-row span { padding:12px 8px; border-radius:11px; background:#f7f7f7; text-align:center; color:#777; font-size:.65rem; }.owner-plan-row b { display:block; margin-top:5px; color:#111; font-size:1.05rem; }
.owner-person { color:inherit; text-decoration:none; }.owner-state { display:inline-flex; padding:7px 10px; border-radius:999px; color:#097a58; background:#e9f8f3; font-size:.66rem; font-weight:800; }.owner-state.warn { color:#9b6710; background:#fff5de; }
.owner-cell-note { display:block; margin-top:4px; color:#999; font-size:.65rem; }.owner-open { color:#d31f49; font-weight:800; text-decoration:none; white-space:nowrap; }
.owner-grid-bottom { grid-template-columns:1fr 1fr; margin-top:22px; }.owner-feed-row { display:grid; grid-template-columns:10px 1fr auto; align-items:center; gap:12px; padding:14px 22px; border-bottom:1px solid #f0f0f0; }.owner-feed-row span,.owner-feed-row small { display:block; }.owner-feed-row strong { font-size:.75rem; }.owner-feed-row small { margin-top:3px; max-width:520px; overflow:hidden; color:#8a8a8a; font-size:.66rem; text-overflow:ellipsis; white-space:nowrap; }.owner-feed-row time { color:#999; font-size:.64rem; text-transform:capitalize; }
.owner-profile-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr); gap:18px; margin-bottom:20px; }.owner-details { display:grid; grid-template-columns:1fr 1fr; margin:0; }.owner-details > div { padding:18px 24px; border-bottom:1px solid #eee; }.owner-details dt { margin-bottom:6px; color:#999; font-size:.64rem; font-weight:800; text-transform:uppercase; }.owner-details dd { margin:0; font-size:.82rem; font-weight:700; }.owner-profile-main .owner-control-row { padding:22px 24px; }.owner-user-metrics { grid-template-columns:repeat(4,1fr); }
.owner-form { display:grid; gap:15px; padding:22px; }.owner-form label,.owner-settings-form label { display:grid; gap:7px; color:#555; font-size:.72rem; font-weight:800; }.owner-form select,.owner-settings-form input { width:100%; padding:13px 14px; border:1px solid #dcdcdc; border-radius:10px; background:#fff; color:#191919; font:inherit; }.owner-mail-actions { display:grid; gap:10px; padding:0 22px 22px; }.owner-mail-actions .btn { width:100%; }.btn.danger-outline { color:#c91f48; border-color:#ffc5d0; background:#fff5f7; }
.owner-settings-card { max-width:920px; margin:0 auto; padding:0; overflow:hidden; }.owner-settings-intro { display:flex; gap:18px; padding:28px; border-bottom:1px solid #eee; }.owner-settings-intro h2 { margin:0 0 8px; }.owner-settings-intro p { margin:0; color:#666; line-height:1.6; }.owner-settings-icon { display:grid; flex:0 0 52px; place-items:center; height:52px; border-radius:16px; color:#fff; background:#ff385c; font-size:1.35rem; }.owner-settings-form { display:grid; gap:20px; padding:28px; }.owner-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.owner-checks label { display:flex; grid-template-columns:auto 1fr; align-items:center; gap:8px; }.owner-checks input { width:auto; }.owner-security-note { max-width:920px; margin:16px auto 0; padding:16px 20px; border-radius:14px; background:#f4f7fb; color:#536174; font-size:.75rem; }.owner-security-note p { display:inline; margin-left:8px; }
@media (max-width:1350px) { .owner-metrics-wide { grid-template-columns:repeat(3,1fr); } }
@media (max-width:950px) { .owner-grid,.owner-grid-bottom,.owner-profile-grid { grid-template-columns:1fr; }.owner-user-metrics { grid-template-columns:1fr 1fr; } }
@media (max-width:650px) { .owner-metrics-wide,.owner-user-metrics,.owner-form-grid,.owner-details { grid-template-columns:1fr; }.owner-alert { align-items:flex-start; flex-direction:column; }.owner-bar-chart { gap:3px; }.owner-settings-form,.owner-settings-intro { padding:20px; } }
@media (max-width:650px) { .owner-activation-center > header { align-items:flex-start; flex-direction:column; }.activation-alert-row { grid-template-columns:40px 1fr 18px; }.activation-status { grid-column:2; min-width:0; }.activation-alert-row > i { grid-column:3; grid-row:1 / span 2; } }

.password-field { position:relative; display:block; width:100%; }
.password-field > input { width:100%; padding-right:88px !important; }
.password-toggle { position:absolute; top:50%; right:12px; transform:translateY(-50%); padding:7px 9px; border:0; border-radius:8px; background:rgba(255,255,255,.88); color:#bf2046; font:inherit; font-size:.67rem; font-weight:800; cursor:pointer; }
.password-toggle:hover { background:#fff0f3; }
.btn.is-loading { cursor:wait; opacity:.78; }
.smtp-result { display:flex; gap:14px; margin:0 28px 28px; padding:17px 19px; border:1px solid; border-radius:14px; }
.smtp-result > span { display:grid; flex:0 0 30px; place-items:center; height:30px; border-radius:50%; color:#fff; font-weight:900; }
.smtp-result strong,.smtp-result small { display:block; }.smtp-result p { margin:5px 0; font-size:.76rem; }.smtp-result small { opacity:.68; font-size:.64rem; }
.smtp-result.success { color:#086e51; border-color:#bce8da; background:#effbf7; }.smtp-result.success > span { background:#13a779; }
.smtp-result.error { color:#a51f3c; border-color:#ffd0da; background:#fff3f5; }.smtp-result.error > span { background:#e33156; }
.owner-settings-form label > small { color:#858d99; font-size:.65rem; font-weight:500; line-height:1.45; }

.verify-page { min-height:100vh; padding:28px; background:radial-gradient(circle at 50% 0,#fff1f4 0,transparent 32%),#f7f8fa; }
.verify-brand { width:max-content; margin:0 auto 24px; }
.verify-card { width:min(620px,100%); margin:0 auto; padding:42px; border:1px solid #e3e5e9; border-radius:26px; background:#fff; box-shadow:0 22px 60px rgba(18,28,45,.09); text-align:center; }
.verify-mail-icon { display:grid; place-items:center; width:76px; height:76px; margin:0 auto 20px; border-radius:24px; background:#ff385c; box-shadow:0 13px 27px rgba(255,56,92,.25); }
.verify-mail-icon span { position:relative; width:32px; height:23px; border:3px solid #fff; border-radius:5px; }.verify-mail-icon span:after { content:""; position:absolute; top:2px; left:4px; width:18px; height:12px; border-right:3px solid #fff; border-bottom:3px solid #fff; transform:rotate(45deg); }
.verify-card h1 { margin:8px 0 10px; font-size:clamp(34px,5vw,49px); letter-spacing:-2.2px; }.verify-subtitle { margin:0 auto; color:#626b79; font-size:.95rem; line-height:1.55; }
.verify-lock { margin:24px 0; padding:14px 16px; border:1px solid #ffd0d9; border-radius:13px; background:#fff4f6; color:#89243a; font-size:.76rem; }
.verify-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:0; padding:0; list-style:none; }.verify-steps li { display:grid; gap:9px; align-content:start; min-height:108px; padding:15px 10px; border-radius:14px; background:#f6f7f9; color:#4f5866; font-size:.7rem; line-height:1.4; }.verify-steps b { display:grid; place-items:center; width:26px; height:26px; margin:auto; border-radius:50%; color:#fff; background:#172033; }
.verify-delivery { display:flex; align-items:center; justify-content:center; gap:9px; margin:18px 0 0; padding:10px; border-radius:10px; font-size:.7rem; font-weight:800; }.verify-delivery i { width:8px; height:8px; border-radius:50%; }.verify-delivery.ok { color:#087052; background:#ebfaf5; }.verify-delivery.ok i { background:#16aa7b; }.verify-delivery.error { color:#a7203d; background:#fff0f3; }.verify-delivery.error i { background:#e33257; }
.verify-resend { margin-top:22px; padding-top:22px; border-top:1px solid #e9eaed; }.verify-resend h2 { margin:0; font-size:1rem; }.verify-resend p { margin:7px 0 14px; color:#737b87; font-size:.72rem; }.verify-resend .btn { min-width:230px; }.verify-back { display:inline-block; margin-top:20px; color:#626b79; font-size:.72rem; font-weight:800; text-decoration:none; }
@media (max-width:600px) { .verify-page { padding:18px; }.verify-card { padding:30px 20px; }.verify-steps { grid-template-columns:1fr; }.verify-steps li { grid-template-columns:32px 1fr; align-items:center; min-height:0; text-align:left; }.verify-steps b { margin:0; } }

.social-login-list { display:grid; gap:10px; margin-top:20px; }.social-login-button { display:flex; align-items:center; justify-content:center; gap:12px; min-height:50px; padding:10px 14px; border:1px solid #d9dce1; border-radius:12px; background:#fff; color:#202632; font-size:.78rem; text-decoration:none; transition:.18s ease; }.social-login-button:hover { border-color:#aeb4be; box-shadow:0 5px 16px rgba(20,28,42,.07); transform:translateY(-1px); }
.social-google { font-family:Arial,sans-serif; font-size:1.25rem; font-weight:900; background:conic-gradient(from -45deg,#4285f4 0 25%,#34a853 0 43%,#fbbc05 0 68%,#ea4335 0 82%,#4285f4 0); color:transparent; background-clip:text; -webkit-background-clip:text; }.social-microsoft { display:grid; grid-template-columns:repeat(2,8px); gap:2px; }.social-microsoft i { width:8px; height:8px; background:#f35325; }.social-microsoft i:nth-child(2){background:#81bc06}.social-microsoft i:nth-child(3){background:#05a6f0}.social-microsoft i:nth-child(4){background:#ffba08}
.social-divider { display:flex; align-items:center; gap:12px; margin:17px 0; color:#8a909a; font-size:.62rem; text-transform:uppercase; }.social-divider:before,.social-divider:after { content:""; flex:1; height:1px; background:#e4e6ea; }.social-divider span { white-space:nowrap; }
.login-code-link { display:flex; align-items:center; gap:9px; width:max-content; color:#c91e47; font-size:.75rem; font-weight:850; text-decoration:none; }.login-code-link span { font-size:1.1rem; }
.human-check { display:flex; align-items:center; gap:10px; min-height:48px; padding:11px 13px; border:1px solid #dde1e7; border-radius:12px; background:#f8f9fb; color:#596374; font-size:.7rem; font-weight:800; transition:.2s ease; }.human-shield { display:grid; flex:0 0 28px; place-items:center; height:28px; border:2px solid #8d96a5; border-radius:9px; color:transparent; }.human-copy { flex:1; }.human-spinner { width:18px; height:18px; border:3px solid #dfe3e9; border-top-color:#ff385c; border-radius:50%; animation:human-spin .8s linear infinite; }.human-check.verified { border-color:#b8e7d8; background:#effaf6; color:#087254; }.human-check.verified .human-shield { border-color:#13a77a; color:#13a77a; }.human-check.verified .human-spinner { display:none; }.human-check.failed { border-color:#ffc7d2; background:#fff2f4; color:#9c2640; }.human-check.failed .human-spinner { display:none; }.human-check button { border:0; background:transparent; color:#c51f46; font:inherit; cursor:pointer; }.auth-honeypot { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }.auth-submit:disabled { cursor:not-allowed; box-shadow:none; filter:grayscale(.35); opacity:.55; }.auth-form label > small { color:#7c8592; font-size:.64rem; font-weight:550; line-height:1.4; }.auth-code-card { max-width:570px; }.code-shield { display:grid; place-items:center; width:76px; height:76px; margin:0 auto 20px; border-radius:24px; background:#172033; color:#fff; font-size:2rem; font-weight:900; }.login-code-input { text-align:center; font-size:1.7rem !important; font-weight:900; letter-spacing:.4em; }.auth-code-card .auth-form { margin-top:26px; text-align:left; }
@keyframes human-spin { to { transform:rotate(360deg); } }
.owner-oauth-card { margin-top:28px; }
.owner-settings-icon.oauth { background:#172033; }
.oauth-provider-list { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.oauth-provider-card { display:grid; gap:17px; padding:21px; border:1px solid #e3e5e9; border-radius:17px; background:#fafbfc; }
.oauth-provider-card > header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.oauth-provider-name { display:flex; align-items:center; gap:12px; }
.oauth-provider-name > .social-google,.oauth-provider-name > .social-microsoft { display:grid; flex:0 0 40px; place-items:center; width:40px; height:40px; border-radius:12px; background:#fff; box-shadow:0 2px 9px rgba(19,29,46,.07); }
.oauth-provider-name > .social-microsoft { grid-template-columns:repeat(2,8px); align-content:center; gap:2px; }
.oauth-provider-name h3 { margin:0 0 2px; font-size:.95rem; }.oauth-provider-name small { color:#858d99; font-size:.64rem; }
.oauth-state { padding:7px 10px; border-radius:999px; font-size:.61rem; font-weight:900; text-transform:uppercase; }
.oauth-state.ready { color:#087052; background:#e8f8f2; }.oauth-state.pending { color:#8c6414; background:#fff4db; }
.oauth-callback { display:flex; align-items:center; gap:8px; }.oauth-callback input { min-width:0; color:#596273; background:#fff; }.oauth-callback button { align-self:stretch; padding:0 15px; border:1px solid #d7dce4; border-radius:10px; background:#fff; color:#c31e46; font:inherit; font-size:.67rem; font-weight:900; cursor:pointer; }
.oauth-security-summary { display:flex; flex-wrap:wrap; gap:9px; }.oauth-security-summary span { padding:9px 12px; border-radius:999px; background:#eef9f5; color:#087052; font-size:.65rem; font-weight:800; }
.oauth-apple-note { margin:0 28px 28px; padding:17px 19px; border:1px solid #e1e4ea; border-radius:14px; background:#f5f7fa; }.oauth-apple-note strong { font-size:.76rem; }.oauth-apple-note p { margin:6px 0 0; color:#687283; font-size:.7rem; line-height:1.55; }
@media (max-width:800px) { .oauth-provider-list { grid-template-columns:1fr; }.oauth-callback { align-items:stretch; flex-direction:column; }.oauth-callback button { min-height:42px; } }
@media (max-width:700px) { .onboarding-skip { align-items:stretch; flex-direction:column; gap:16px; } .onboarding-skip .btn { width:100%; } }

@media (max-width:900px) {
  .onboarding-layout { grid-template-columns:1fr; }
  .onboarding-guide { position:static; }
  .onboarding-pricing { grid-template-columns:1fr; }
  .onboarding-plan ul { min-height:0; }
}
@media (max-width:650px) {
  .onboarding-shell { width:min(100% - 24px,1180px); padding-top:24px; }
  .onboarding-progress span { display:none; }
  .onboarding-progress { grid-template-columns:34px 1fr 34px 1fr 34px; margin-bottom:34px; }
  .onboarding-card,.onboarding-guide { padding:22px; border-radius:19px; }
  .onboarding-form .form-grid.two,.onboarding-form .form-grid.three { grid-template-columns:1fr; }
  .trial-choice { align-items:stretch; flex-direction:column; padding:24px; }
  .trial-choice form { min-width:0; }
  .onboarding-hero h1 { font-size:2.35rem; }
  .onboarding-tools .language-picker { display:none; }
}
