/* ANQIO / interface tokens. Logo geometry and clearspace are supplied by the brand masters. */
:root {
  color-scheme: light;
  --ink: #18222b;
  --text: #35434e;
  --muted: #65717a;
  --subtle: #73808a;
  --lime: #bbea32;
  --line: #e3e7e5;
  --paper: #fff;
  --canvas: #f6f7f2;
  --airbnb: #f9e8e2;
  --booking: #e5edf9;
  --direct: #edf3db;
  --blocked: #edf0f0;
  --other: #ede8f5;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  font-synthesis: none;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--canvas); color: var(--text); font-size: 14px; line-height: 1.5; -webkit-font-smoothing: antialiased; }
button, input, select { font: inherit; }
button, a, input, select { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; color: inherit; }
button:disabled { cursor: wait; opacity: .55; }

/* Navigation focuses the content and page title without drawing a container outline. */
#main:focus, h1[tabindex="-1"]:focus { outline: none; }
a { color: inherit; }
[hidden] { display: none !important; }
.icon-library { position: absolute; width: 0; height: 0; overflow: hidden; }
.icon { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
.topbar { height: 68px; background: var(--paper); border-bottom: 1px solid var(--line); }
.topbar-inner { max-width: 1600px; padding: 0 56px; margin: auto; display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; height: 100%; gap: 40px; }
.brand { display: flex; align-items: center; gap: 10px; text-decoration: none; flex-shrink: 0; justify-self: start; }
.brand img { width: 136px; height: auto; display: block; }
.brand-descriptor { border-left: 1px solid var(--line); padding: 3px 0 3px 14px; color: var(--muted); font-size: 13px; font-weight: 500; letter-spacing: -.2px; }
.main-nav { display: flex; align-self: stretch; gap: 26px; }
.main-nav a { position: relative; display: flex; align-items: center; color: var(--muted); text-decoration: none; font-size: 13px; font-weight: 500; white-space: nowrap; }
.main-nav a:hover, .main-nav a[aria-current="page"] { color: var(--ink); }
.main-nav a[aria-current="page"] { font-weight: 600; }
.main-nav a[aria-current="page"]::after { content: ""; height: 3px; background: var(--lime); position: absolute; bottom: 0; inset-inline: 0; }
.empty-page { min-height: calc(100dvh - 200px); }
.topbar-actions { display: flex; align-items: center; justify-content: flex-end; gap: 20px; min-width: 0; }
.connection { display: flex; align-items: center; gap: 9px; min-width: 0; min-height: 36px; padding: 4px 6px; border: 0; border-radius: 8px; background: transparent; font-size: 12px; color: var(--muted); white-space: nowrap; }
.connection:hover { background: var(--canvas); color: var(--ink); }
.connection-settings { width: 15px; height: 15px; }
#source-label { overflow: hidden; text-overflow: ellipsis; }
.connection-dot { width: 7px; height: 7px; flex-shrink: 0; background: #b88732; border-radius: 50%; box-shadow: 0 0 0 4px #b8873210; }
.connection.live .connection-dot { background: #54701a; box-shadow: 0 0 0 4px #bbea322a; }
.account { display: flex; align-items: center; gap: 10px; flex-shrink: 0; border-left: 1px solid var(--line); padding-left: 20px; }
.account-avatar { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; background: #edf3db; color: var(--ink); font-size: 12px; font-weight: 600; }
.account-info { display: flex; flex-direction: column; min-width: 72px; line-height: 1.4; }
.account-info strong { color: var(--ink); font-size: 12px; font-weight: 600; }
.account-info > span { color: var(--muted); font-size: 10px; }
.account-toggle { display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 8px; color: var(--muted); background: transparent; }
.account-toggle:hover { color: var(--ink); background: var(--canvas); }
.account-toggle.signed-out { background: var(--ink); color: var(--lime); }
.workspace { max-width: 1600px; margin: auto; padding: 56px 56px 32px; }
.workspace.has-bookings { padding-top: 28px; }
.page-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.page-heading .eyebrow { margin-bottom: 8px; }
.page-heading h1 { font-size: 30px; letter-spacing: -1px; margin-bottom: 8px; }
.eyebrow { display: flex; align-items: center; gap: 10px; font-size: 10px; font-weight: 650; letter-spacing: 1.8px; color: var(--muted); margin: 0 0 14px; }
.accent-line { width: 22px; height: 3px; background: var(--lime); }
h1 { font-size: clamp(32px, 3.1vw, 48px); line-height: 1.15; letter-spacing: -1.9px; font-weight: 600; color: var(--ink); margin: 0 0 16px; }
.subtitle { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.7; }
.refresh-area { text-align: right; display: flex; align-items: flex-end; flex-direction: column; gap: 12px; }
.muted { color: var(--muted); }
.small { font-size: 11px; margin: 0; }
.button { border: 1px solid var(--line); border-radius: 8px; background: var(--paper); padding: 12px 18px; font-weight: 550; font-size: 13px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; transition: background .15s, border-color .15s; min-height: 44px; }
.button:hover { background: #eff2e9; border-color: #c8d1c2; }
.button.primary { background: var(--ink); color: white; border-color: var(--ink); }
.button.primary:hover { background: #303e49; }
.button.primary .icon { color: var(--lime); }
.button.compact { padding: 8px 14px; font-size: 12px; min-height: 38px; }
.demo-note { display: flex; align-items: center; gap: 12px; background: #f0f4e5; border: 1px solid #e0e8ce; border-radius: 8px; padding: 12px 16px; font-size: 12px; color: #526038; margin-bottom: 24px; }
.demo-tag { font-size: 9px; letter-spacing: 1px; font-weight: 700; padding: 3px 6px; background: #e1ecbf; border-radius: 3px; }
.stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-bottom: 24px; }
.stat-card { position: relative; padding: 14px 18px; background: var(--paper); border: 1px solid var(--line); border-radius: 10px; }
.stat-label { display: flex; justify-content: space-between; align-items: center; gap: 10px; font-size: 12px; color: var(--muted); font-weight: 550; }
.stat-symbol { display: flex; color: #84909a; }
.stat-card strong { display: block; margin: 10px 0 5px; font-size: 28px; font-weight: 550; line-height: 1; letter-spacing: -.8px; color: var(--ink); font-variant-numeric: tabular-nums; }
.stat-caption { display: block; font-size: 11px; color: var(--muted); }
.stat-card:first-child { background: var(--ink); border-color: var(--ink); }
.stat-card:first-child .stat-label, .stat-card:first-child .stat-caption { color: #bac3c7; }
.stat-card:first-child strong { color: var(--paper); }
.stat-card:first-child .stat-symbol { color: var(--lime); }
.bookings-panel { background: var(--paper); border: 1px solid var(--line); border-radius: 12px; overflow: hidden; box-shadow: 0 6px 24px #18222b03; }
.panel-toolbar { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px; gap: 16px; }
.month-navigation { display: flex; align-items: center; gap: 10px; }
.month-navigation h2 { font-size: 20px; font-weight: 600; letter-spacing: -.5px; color: var(--ink); margin: 0; text-align: center; min-width: 174px; }
.icon-button { border: 1px solid var(--line); width: 38px; height: 38px; border-radius: 7px; display: grid; place-items: center; background: white; padding: 0; flex-shrink: 0; }
.icon-button:hover { background: var(--canvas); border-color: #c7ced1; }
.icon-button .icon { width: 17px; height: 17px; }
.month-navigation .button { margin-left: 8px; }
.view-switch { display: flex; padding: 4px; border-radius: 8px; background: #f2f4ef; gap: 3px; }
.view-switch button { border: 1px solid transparent; border-radius: 5px; background: transparent; padding: 8px 13px; font-size: 12px; color: var(--muted); font-weight: 550; display: flex; align-items: center; gap: 8px; }
.view-switch button.selected { color: var(--ink); background: var(--paper); border-color: #e0e5dc; box-shadow: 0 1px 2px #18222b05; }
.view-switch .icon { width: 15px; height: 15px; }
.filters { display: grid; grid-template-columns: minmax(220px,1.6fr) repeat(3,minmax(140px,1fr)); gap: 12px; margin: 0; padding: 0 20px 18px; border-bottom: 1px solid var(--line); }
.filters label { min-width: 0; }
.filters label>span { display: block; font-size: 11px; font-weight: 550; color: var(--muted); margin-bottom: 8px; }
.filters input, .filters select { width: 100%; height: 44px; border: 1px solid #dce2df; border-radius: 7px; color: var(--text); background: #fff; padding: 0 12px; font-size: 12px; min-width: 0; transition: border-color .15s; }
.filters input:hover, .filters select:hover { border-color: #a7b2b8; }
.filters input::placeholder { color: #76818a; }
.filters select { padding-right: 28px; }
.search-input { position: relative; }
.search-input input { padding-left: 38px; }
.search-input svg { position: absolute; left: 13px; top: 14px; width: 16px; height: 16px; fill: none; stroke: var(--muted); stroke-width: 1.5; pointer-events: none; }
.results-toolbar { padding: 10px 20px; display: flex; justify-content: space-between; gap: 15px; align-items: center; min-height: 40px; }
.results-toolbar p { font-size: 11px; color: var(--muted); margin: 0; }
.text-button { border: 0; background: transparent; padding: 0; font-size: 11px; color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
.calendar-scroll { overflow-x: auto; overscroll-behavior-x: contain; border-top: 1px solid var(--line); scrollbar-color: #bdc6c8 #f5f6f2; scrollbar-width: thin; }
.calendar { min-width: calc(192px + var(--days)*34px); }
.calendar-row { display: grid; grid-template-columns: 192px minmax(0,1fr); border-bottom: 1px solid var(--line); }
.calendar-row:last-child { border-bottom: 0; }
.apartment-heading { position: sticky; left: 0; z-index: 3; background: #fff; display: flex; flex-direction: column; justify-content: center; padding: 14px 18px; border-right: 1px solid var(--line); }
.apartment-heading strong { font-size: 12px; font-weight: 600; color: var(--ink); line-height: 1.55; }
.apartment-heading span { font-size: 10px; color: var(--muted); margin-top: 5px; }
.calendar-head .apartment-heading { font-size: 9px; font-weight: 650; letter-spacing: 1px; color: var(--muted); background: #f9faf7; padding: 14px 20px; }
.calendar-head .days { display: grid; grid-template-columns: repeat(var(--days),minmax(0,1fr)); background: #f9faf7; }
.day { display: flex; align-items: center; justify-content: center; flex-direction: column; padding: 12px 0; gap: 4px; border-right: 1px solid #edf0eb; font-size: 12px; color: var(--text); font-variant-numeric: tabular-nums; }
.day small { font-size: 9px; color: var(--muted); text-transform: uppercase; }
.day.weekend { background: #f2f4ef; }
.day.today { background: var(--lime); color: var(--ink); font-weight: 700; }
.day.today small { color: #394727; }
.booking-track { position: relative; display: grid; grid-template-columns: repeat(var(--days),minmax(0,1fr)); grid-template-rows: repeat(var(--lanes),44px); padding: 12px 0; align-content: center; min-height: 80px; }
.track-grid { position: absolute; inset: 0; display: grid; grid-template-columns: repeat(var(--days),minmax(0,1fr)); pointer-events: none; }
.day-stripe { border-right: 1px solid #eff1ef; }
.day-stripe.weekend { background: #fafbf8; }
.day-stripe.today { background: #f3f8e5; }
.booking-bar { position: relative; z-index: 1; margin: 2px; border-radius: 5px; border: 1px solid #18222b06; border-left: 2px solid currentColor; min-width: 0; text-align: left; padding: 5px 7px; overflow: hidden; display: flex; flex-direction: column; justify-content: center; gap: 1px; line-height: 1.4; transition: filter .15s, transform .15s; }
.booking-bar:hover { filter: brightness(.96); transform: translateY(-2px); }
.booking-bar:focus-visible { z-index: 4; outline-offset: 0; }
.booking-bar strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; font-weight: 600; }
.booking-bar small { font-size: 9px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.airbnb { background: var(--airbnb); color: #85482f; }
.booking { background: var(--booking); color: #355f8d; }
.direct { background: var(--direct); color: #506325; }
.other { background: var(--other); color: #69518c; }
.blocked { background: repeating-linear-gradient(135deg,#edf0ee,#edf0ee 5px,#f7f8f5 5px,#f7f8f5 10px); color: #606d70; }
.booking-bar.cancelled { background: #fff; color: #6c7780; border: 1px dashed #a9b1b4; }
.booking-bar.cancelled strong { text-decoration: line-through; }
.calendar-footer { border-top: 1px solid var(--line); padding: 20px 28px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.legend { display: flex; gap: 20px; flex-wrap: wrap; }
.legend span { display: flex; align-items: center; gap: 7px; font-size: 10px; color: var(--muted); }
.legend i { width: 9px; height: 9px; border-radius: 2px; display: inline-block; border: 1px solid currentColor; }
.calendar-hint { font-size: 10px; color: var(--muted); white-space: nowrap; }
.calendar-hint span { padding-left: 6px; color: var(--ink); }
.page-footnote { font-size: 11px; color: var(--muted); margin: 22px 0 0; max-width: 860px; line-height: 1.8; }
.loading-state, .empty-state { display: flex; min-height: 320px; align-items: center; justify-content: center; flex-direction: column; gap: 15px; padding: 48px 24px; text-align: center; color: var(--muted); font-size: 13px; }
.empty-state .empty-icon { width: 52px; height: 52px; border-radius: 12px; display: grid; place-items: center; font-size: 25px; background: var(--canvas); color: var(--ink); }
.empty-state h3 { margin: 0; color: var(--ink); font-size: 20px; font-weight: 600; letter-spacing: -.5px; }
.empty-state p { margin: 0; max-width: 360px; font-size: 13px; line-height: 1.7; }
.spinner { width: 24px; height: 24px; border: 2px solid #e1e7d5; border-top-color: var(--ink); border-radius: 50%; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.error-banner { border: 1px solid #e8bdb0; background: #fff2ed; color: #8d3c27; padding: 16px 20px; border-radius: 8px; margin-bottom: 24px; font-size: 13px; }
.table-scroll { overflow-x: auto; }
.booking-table { width: 100%; border-collapse: collapse; text-align: left; white-space: nowrap; font-size: 13px; }
.booking-table th { font-size: 10px; font-weight: 600; color: var(--muted); background: #f9faf7; padding: 16px 24px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.booking-table td { padding: 22px 24px; border-bottom: 1px solid #edf0ea; }
.booking-table tr:last-child td { border-bottom: 0; }
.booking-table tbody tr:hover { background: #f9fbf4; }
.guest-button { border: 0; background: transparent; display: flex; align-items: center; gap: 12px; text-align: left; padding: 0; min-width: 140px; }
.guest-button strong { font-size: 13px; font-weight: 600; display: block; color: var(--ink); }
.guest-button small { font-size: 10px; color: var(--muted); display: block; margin-top: 4px; }
.avatar { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: #eef1e8; color: #566640; font-size: 10px; font-weight: 600; flex-shrink: 0; }
.channel-badge, .status-badge { display: inline-flex; align-items: center; gap: 5px; font-size: 10px; padding: 5px 9px; border-radius: 4px; line-height: 1.4; white-space: nowrap; }
.status-badge { background: #edf3df; color: #506328; }
.status-badge.cancelled { background: #f7e9e4; color: #8b4a35; }
.status-badge.modified { background: #fbf0d7; color: #7b5c15; }
.status-badge.blocked { color: #606d70; }
.table-dates { font-variant-numeric: tabular-nums; color: var(--text); }
.table-dates small { display: block; color: var(--muted); font-size: 10px; margin-top: 4px; }
.table-count { color: var(--text); }
.skip-link { position: fixed; left: 12px; top: -80px; z-index: 20; background: #fff; padding: 12px; border: 1px solid var(--line); }
.skip-link:focus { top: 12px; }
dialog { border: 0; box-shadow: -16px 0 80px #18222b20; padding: 0; width: min(500px,100vw); max-width: 100vw; height: 100dvh; max-height: 100dvh; margin: 0 0 0 auto; color: var(--text); background: #fff; overflow-y: auto; }
dialog::backdrop { background: #18222b66; backdrop-filter: blur(3px); }
.detail-header { padding: 25px 32px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--line); position: sticky; top: 0; background: #fff; z-index: 2; }
.detail-header .eyebrow { margin: 0; }
.detail-header .icon-button { border: 0; color: var(--muted); }
#detail-content { padding: 32px; }
.detail-title { font-size: 32px; line-height: 1.2; letter-spacing: -1px; color: var(--ink); margin: 24px 0 10px; overflow-wrap: anywhere; }
.detail-apartment { margin: 0 0 26px; color: var(--muted); font-size: 14px; }
.detail-badges { display: flex; flex-wrap: wrap; gap: 8px; }
.stay-card { padding: 24px; background: var(--ink); border-radius: 10px; margin: 28px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 22px 16px; }
.stay-card span { font-size: 11px; color: #b9c3cb; display: block; margin-bottom: 8px; }
.stay-card strong { font-size: 14px; color: white; font-weight: 550; display: block; }
.stay-card small { font-size: 11px; color: #b9c3cb; display: block; margin-top: 5px; }
.stay-nights { grid-column: 1/-1; border-top: 1px solid #36414b; padding-top: 16px; color: var(--lime); font-size: 12px; }
.detail-section { margin-top: 34px; }
.detail-section h3 { font-size: 10px; letter-spacing: 1.4px; text-transform: uppercase; color: var(--muted); margin: 0 0 16px; }
.detail-section dl { margin: 0; }
.detail-section dl>div { display: flex; justify-content: space-between; gap: 20px; padding: 13px 0; border-bottom: 1px solid #edf0eb; font-size: 12px; }
.detail-section dt { color: var(--muted); flex-shrink: 0; }
.detail-section dd { margin: 0; text-align: right; overflow-wrap: anywhere; color: var(--ink); }
.detail-note { font-size: 13px; line-height: 1.7; background: var(--canvas); border-radius: 8px; padding: 16px; white-space: pre-wrap; overflow-wrap: anywhere; }
.detail-disclaimer { font-size: 11px; color: var(--muted); line-height: 1.8; margin-top: 32px; }
.integration-dialog { width: min(580px, calc(100vw - 32px)); height: fit-content; max-height: calc(100dvh - 32px); margin: auto; border-radius: 16px; box-shadow: 0 24px 100px #18222b30; }
.integration-dialog .detail-header .eyebrow { display: flex; align-items: center; gap: 12px; }
.integration-content { padding: 28px 32px 32px; }
.integration-content h2 { margin: 0 0 8px; color: var(--ink); font-size: 28px; letter-spacing: -.8px; }
#integration-description { margin: 0; color: var(--muted); font-size: 13px; }
.integration-note { margin: 20px 0 24px; padding: 12px 14px; border-radius: 8px; background: var(--canvas); font-size: 12px; color: var(--muted); }
.integration-content fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.integration-content legend { margin-bottom: 14px; font-size: 12px; font-weight: 600; color: var(--ink); }
.integration-options { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.integration-options label { position: relative; display: flex; align-items: center; gap: 10px; padding: 14px; border: 1px solid var(--line); border-radius: 10px; cursor: pointer; }
.integration-options label:hover { background: var(--canvas); }
.integration-options label:has(input:checked) { border-color: #789c20; background: #f4f8e9; }
.integration-options label:has(input:focus-visible) { border-color: #8da65a; background: #f3f6eb; }
.integration-options input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.provider-mark { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 8px; background: var(--ink); color: var(--lime); font-size: 14px; font-weight: 600; }
.integration-options strong, .integration-options small { display: block; }
.integration-options strong { font-size: 13px; font-weight: 600; color: var(--ink); }
.integration-options small { font-size: 10px; color: var(--muted); }
.integration-content .integration-config { margin-top: 26px; }
.integration-config label { display: block; margin-top: 14px; font-size: 12px; font-weight: 500; }
.integration-config label:first-of-type { margin-top: 0; }
.integration-config input, .integration-config select { display: block; width: 100%; height: 42px; margin-top: 7px; border: 1px solid var(--line); border-radius: 8px; padding: 0 12px; background: var(--paper); color: var(--ink); font-size: 13px; }
.integration-config input[readonly] { background: var(--canvas); color: var(--muted); }
.integration-config > small { display: block; margin-top: 7px; font-size: 11px; }
.integration-feedback { font-size: 12px; color: #526038; margin: 20px 0 0; }
.integration-feedback:empty { display: none; }
.integration-actions { display: flex; justify-content: flex-end; align-items: center; gap: 16px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); }
.integration-actions .text-button { margin-right: auto; font-size: 11px; }
@media (max-width: 1100px) {
  .topbar-inner { gap: 16px; padding: 0 32px; }
  .brand-descriptor, .account-avatar { display: none; }
  #source-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .topbar-actions { gap: 12px; }
  .account { padding-left: 12px; gap: 8px; }
  .workspace { padding: 40px 32px 28px; }
  .stats { gap: 12px; }
  .stat-card { padding: 14px 16px; }
  .filters { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .search-field { grid-column: 1/-1; }
  .calendar-hint { display: none; }
  .month-navigation h2 { min-width: 150px; font-size: 18px; }
}
@media (max-width: 760px) {
  .topbar { height: auto; }
  .topbar-inner { grid-template-columns: auto 1fr; grid-template-rows: 60px 44px; padding: 0 24px; column-gap: 8px; row-gap: 0; }
  .topbar-actions { margin-left: auto; gap: 12px; }
  .account { padding-left: 12px; gap: 8px; }
  .main-nav { grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; gap: 24px; }
  .main-nav a { font-size: 12px; }
  .topbar-actions { grid-column: 2; grid-row: 1; }
  .brand img { width: 120px; }
  .brand-descriptor { font-size: 12px; padding-left: 12px; }
  .workspace { padding: 36px 24px 26px; }
  .page-heading { margin-bottom: 20px; align-items: flex-start; gap: 20px; }
  h1 { font-size: 36px; letter-spacing: -1.4px; }
  .subtitle { max-width: 320px; font-size: 13px; }
  .stats { grid-template-columns: repeat(2,minmax(0,1fr)); margin-bottom: 20px; }
  .stat-card strong { font-size: 28px; margin-top: 10px; }
  .panel-toolbar { padding: 16px; flex-wrap: wrap; }
  .filters { padding: 0 16px 16px; gap: 12px; }
  .results-toolbar, .calendar-footer { padding-inline: 16px; }
  .legend { gap: 12px; }
  .refresh-area .button-label { display: none; }
  .refresh-area .button { padding: 12px; }
  .refresh-area .small { font-size: 10px; white-space: nowrap; }
}
@media (max-width: 480px) {
  .integration-dialog .detail-header { padding: 16px 20px; }
  .integration-content { padding: 22px 20px; }
  .integration-content h2 { font-size: 24px; }
  .integration-options label { padding: 10px; gap: 8px; }
  .integration-actions { flex-direction: column-reverse; align-items: stretch; }
  .integration-actions .text-button { margin: 0; }
  .connection { gap: 6px; padding-inline: 4px; }
  .topbar-inner { padding: 0 16px; }
  .main-nav { gap: 12px; max-width: 100%; overflow-x: auto; }
  .account-avatar { display: none; }
  #source-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .brand { gap: 0; }
  .brand img { width: 120px; }
  .brand-descriptor { display: none; }
  .connection { font-size: 11px; }
  .workspace { padding: 30px 16px 24px; }
  .page-heading { gap: 10px; }
  h1 { font-size: 32px; letter-spacing: -1.1px; }
  .eyebrow { font-size: 9px; letter-spacing: 1.4px; }
  .subtitle { font-size: 12px; max-width: 250px; }
  .stat-card { padding: 12px 14px; }
  .stat-label { font-size: 11px; gap: 6px; }
  .stat-symbol .icon { width: 16px; height: 16px; }
  .stat-card strong { font-size: 26px; }
  .stat-caption { font-size: 10px; }
  .demo-note { font-size: 11px; align-items: flex-start; }
  .panel-toolbar { padding: 14px; gap: 12px; }
  .month-navigation { width: 100%; gap: 4px; }
  .month-navigation h2 { min-width: 0; flex: 1; font-size: 17px; }
  .month-navigation .button { margin-left: 6px; padding-inline: 10px; }
  .view-switch { width: 100%; }
  .view-switch button { flex: 1; justify-content: center; }
  .filters { padding: 0 14px 20px; grid-template-columns: 1fr 1fr; }
  .filters label:nth-child(2) { grid-column: 1/-1; }
  .filters input, .filters select { font-size: 16px; }
  .filters input::placeholder { font-size: 12px; }
  .results-toolbar, .calendar-footer { padding-inline: 14px; }
  .calendar { min-width: calc(144px + var(--days)*34px); }
  .calendar-row { grid-template-columns: 144px minmax(0,1fr); }
  .apartment-heading, .calendar-head .apartment-heading { padding: 14px; }
  .apartment-heading strong { font-size: 11px; }
  .calendar-footer { padding-block: 16px; }
  .legend { gap: 10px 14px; }
  .page-footnote { font-size: 10px; }
  .booking-table th, .booking-table td { padding: 18px 16px; }
  .detail-header { padding: 20px 24px; }
  #detail-content { padding: 24px; }
  .detail-title { font-size: 29px; }
  .stay-card { padding: 20px; }
  .stay-card strong { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } }

/* Daily operations dashboard */
.workspace.has-dashboard { padding-top: 30px; }
.dashboard-heading { margin-bottom: 24px; }
.dashboard-heading .eyebrow { text-transform: uppercase; letter-spacing: 1.3px; }
.dashboard-demo { display: flex; align-items: center; gap: 10px; font-size: 12px; color: var(--muted); margin: 0 0 16px; }
.day-summary { display: flex; align-items: center; justify-content: space-between; gap: 36px; background: var(--ink); color: white; border-radius: 12px; padding: 28px 32px; margin-bottom: 18px; }
.day-summary .eyebrow { color: var(--lime); margin-bottom: 10px; font-size: 9px; letter-spacing: 1.5px; }
.day-summary h2 { font-size: 25px; line-height: 1.3; font-weight: 550; letter-spacing: -.6px; margin: 0 0 8px; }
.day-summary p:not(.eyebrow) { font-size: 12px; color: #bec8cc; margin: 0; }
.day-progress { flex: 0 0 230px; }
.day-progress > div { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.day-progress strong { font-size: 28px; font-weight: 550; }
.day-progress strong span { color: #9caaaf; font-size: 17px; }
.day-progress > div > span, .day-progress small { font-size: 10px; color: #bec8cc; }
.day-progress progress { display: block; width: 100%; height: 6px; margin: 10px 0 8px; border: 0; border-radius: 6px; overflow: hidden; background: #3b484f; accent-color: var(--lime); }
.day-progress progress::-webkit-progress-bar { background: #3b484f; border-radius: 6px; }
.day-progress progress::-webkit-progress-value { background: var(--lime); border-radius: 6px; }
.day-progress progress::-moz-progress-bar { background: var(--lime); border-radius: 6px; }
.daily-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-bottom: 28px; }
.daily-metrics article { border: 1px solid var(--line); background: white; border-radius: 10px; padding: 16px 18px; }
.daily-metrics article > span { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--muted); }
.daily-metrics .icon { width: 15px; height: 15px; }
.daily-metrics strong { display: block; font-size: 27px; line-height: 1; font-weight: 550; letter-spacing: -.7px; color: var(--ink); margin: 10px 0 6px; }
.daily-metrics small { display: block; font-size: 10px; color: var(--muted); }
.daily-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 0 16px; }
.daily-toolbar h2 { font-size: 18px; font-weight: 600; letter-spacing: -.4px; color: var(--ink); margin: 0; }
.daily-toolbar p { font-size: 11px; color: var(--muted); margin: 3px 0 0; }
.daily-toolbar .view-switch { background: #e9ede3; }
.daily-toolbar .view-switch span { font-size: 10px; padding: 0 4px; color: var(--muted); }
.daily-layout { display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 20px; align-items: start; }
.daily-main { display: grid; gap: 20px; min-width: 0; }
.daily-panel { border: 1px solid var(--line); border-radius: 12px; background: white; overflow: hidden; min-width: 0; }
.daily-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.daily-panel-heading h2 { display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 600; margin: 0; color: var(--ink); }
.daily-panel-heading h2 > .icon { width: 17px; height: 17px; color: var(--muted); }
.daily-panel-heading > span { color: var(--muted); font-size: 10px; white-space: nowrap; }
.daily-count { display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 6px; font-size: 10px; font-weight: 600; background: #f0f3ed; color: var(--muted); }
.attention-count { background: #fbefd7; color: #855e1c; }
.daily-stay { display: flex; align-items: center; gap: 18px; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.daily-stay:last-child { border: 0; }
.daily-time { flex: 0 0 52px; align-self: flex-start; padding-top: 3px; }
.daily-time strong { display: block; color: var(--ink); font-size: 14px; font-weight: 550; font-variant-numeric: tabular-nums; white-space: nowrap; }
.daily-time small { font-size: 9px; color: var(--muted); }
.daily-stay-info { flex: 1; min-width: 0; }
.daily-guest { border: 0; padding: 0; background: transparent; color: var(--ink); text-align: left; font-size: 13px; font-weight: 600; display: inline-flex; align-items: center; gap: 5px; max-width: 100%; overflow-wrap: anywhere; }
.daily-guest:hover { text-decoration: underline; text-underline-offset: 3px; }
.daily-guest .icon { width: 12px; height: 12px; color: var(--subtle); }
.daily-stay-info > p { margin: 3px 0 6px; color: var(--muted); font-size: 11px; overflow-wrap: anywhere; }
.daily-meta { display: flex; flex-wrap: wrap; gap: 5px 10px; font-size: 10px; color: var(--muted); }
.daily-meta span:not(:last-child)::after { content: '·'; margin-left: 10px; color: #a6afb0; }
.task-check { display: inline-flex; align-items: center; gap: 7px; min-height: 36px; flex-shrink: 0; cursor: pointer; color: var(--muted); font-size: 10px; }
.task-check input { appearance: none; width: 19px; height: 19px; margin: 0; border: 1px solid #b6c0bc; background: white; border-radius: 6px; cursor: pointer; display: grid; place-items: center; }
.task-check input:checked { border-color: #709123; background: var(--lime); }
.task-check input:checked::after { content: ''; width: 8px; height: 4px; border-bottom: 1.5px solid var(--ink); border-left: 1.5px solid var(--ink); transform: rotate(-45deg) translateY(-1px); }
.is-done { background: #fafcf6; }
.is-done .task-check { color: #526c28; }
.daily-empty { padding: 30px 20px; display: flex; flex-direction: column; align-items: center; gap: 10px; color: var(--muted); text-align: center; }
.daily-empty h2 { color: var(--ink); font-size: 18px; margin: 0; }
.daily-empty p { font-size: 12px; margin: 0; }
.daily-panel-intro { font-size: 11px; color: var(--muted); margin: 14px 20px 0; }
.daily-attention .daily-panel-heading { border-bottom: 0; padding-bottom: 0; }
.daily-action { padding: 18px 20px; border-bottom: 1px solid var(--line); }
.daily-action:last-child { border-bottom: 0; }
.daily-action-type { font-size: 8px; letter-spacing: 1px; font-weight: 650; color: #85642b; }
.daily-action h3 { font-size: 12px; color: var(--ink); font-weight: 600; margin: 6px 0; }
.daily-action-place { font-size: 11px; color: var(--muted); margin: 0 0 8px; overflow-wrap: anywhere; }
.daily-action-detail { font-size: 11px; color: var(--text); line-height: 1.65; margin: 0 0 10px; white-space: pre-wrap; overflow-wrap: anywhere; }
.daily-action .daily-guest { font-size: 11px; display: flex; margin: 6px 0; }
.daily-action .task-check { margin-top: 7px; }
.daily-context { display: flex; flex-wrap: wrap; gap: 8px 28px; padding: 18px 0 4px; }
.daily-context p { display: flex; align-items: center; gap: 8px; font-size: 11px; color: var(--muted); margin: 0; }
.daily-context .icon { width: 14px; height: 14px; }
.daily-storage-note { font-size: 10px; color: var(--muted); line-height: 1.8; margin: 12px 0 0; max-width: 820px; }
@media (max-width: 1100px) {
  .daily-layout { grid-template-columns: minmax(0,1fr) 280px; gap: 16px; }
  .daily-stay { gap: 12px; padding: 16px; }
  .daily-panel-heading { padding: 16px; }
  .daily-action { padding: 16px; }
}
@media (max-width: 900px) {
  .daily-layout { grid-template-columns: 1fr; }
  .daily-main { grid-template-columns: 1fr 1fr; align-items: start; gap: 16px; }
  .daily-stay { display: grid; grid-template-columns: 52px minmax(0,1fr); }
  .daily-stay .task-check { grid-column: 2; margin-left: 0; }
  .daily-stay-info { flex-basis: calc(100% - 64px); }
}
@media (max-width: 760px) {
  .workspace.has-dashboard { padding-top: 24px; }
  .day-summary { padding: 22px; gap: 22px; flex-direction: column; align-items: stretch; }
  .day-summary h2 { font-size: 22px; }
  .day-progress { flex-basis: auto; }
  .day-progress strong { font-size: 24px; }
  .daily-metrics { grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 22px; }
  .daily-metrics article { padding: 14px; }
  .daily-toolbar { flex-wrap: wrap; }
  .daily-main { grid-template-columns: 1fr; }
  .daily-stay { flex-wrap: nowrap; }
  .daily-stay .task-check { margin-left: 0; }
  .daily-stay-info { flex-basis: auto; }
  .dashboard-heading .eyebrow { font-size: 9px; line-height: 1.6; }
}
@media (max-width: 480px) {
  .daily-stay { flex-wrap: wrap; }
  .daily-stay .task-check { margin-left: 0; }
  .daily-stay-info { flex-basis: calc(100% - 64px); }
  .daily-toolbar .view-switch { width: 100%; }
  .dashboard-heading .eyebrow { letter-spacing: .6px; }
  .dashboard-heading h1 { font-size: 28px; }
  .daily-metrics article > span { font-size: 11px; }
}
.daily-action-detail { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* Saved guest sheets */
.sheets-actions{display:flex;gap:10px;align-items:center}.sheets-toolbar{display:flex;align-items:end;justify-content:space-between;gap:24px;padding:24px 28px;border-bottom:1px solid var(--line,#e1e5e0)}.sheets-toolbar label{display:grid;gap:8px;font-size:12px;font-weight:600;width:min(460px,100%)}.sheets-toolbar input{background:#f8f9f6;border:1px solid #dce1db;border-radius:10px;min-height:44px;padding:10px 14px;width:100%;font:inherit}.sheets-toolbar p{white-space:nowrap;font-size:13px;color:#66716e}.sheets-table-scroll{overflow-x:auto}.sheets-table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}.sheets-table th{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#68736c;background:#f8f9f6;font-weight:600;padding:15px 24px}.sheets-table td{padding:22px 24px;border-top:1px solid #edf0e9;vertical-align:middle}.sheets-table td:first-child strong,.sheets-table td:first-child small{display:block;margin-top:5px}.sheets-table td:first-child strong{font-size:15px}.sheets-table small{color:#68736c}.sheet-number{font-size:11px;font-weight:600;letter-spacing:.04em;display:flex;gap:8px;align-items:center}.sheets-pagination{display:flex;align-items:center;justify-content:flex-end;gap:18px;padding:18px 24px;border-top:1px solid #e9ede5;font-size:12px;color:#68736c}.sheet-dialog{width:min(840px,calc(100vw - 32px));max-height:90vh;padding:24px;border:0;border-radius:18px;background:#f7f8f4;overflow:auto}.sheet-detail-heading{padding:16px 8px 24px}.sheet-detail-heading h2{font-size:28px;margin:0 0 12px}.sheet-detail-heading p{font-size:14px;line-height:1.7}.sheet-saved{display:inline-block;background:#eaf2db;color:#436024;border-radius:30px;font-size:11px;font-weight:600;padding:6px 10px;margin-right:8px}.sheet-person{padding:24px;background:white;border:1px solid #e1e6dc;border-radius:14px;margin-bottom:16px}.sheet-person h3{font-size:22px;margin:10px 0 22px}.sheet-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px}.sheet-fields dt{font-size:11px;color:#697568;margin-bottom:5px}.sheet-fields dd{margin:0;font-size:14px;overflow-wrap:anywhere}.sheet-signature{display:block;width:100%;height:auto;max-height:160px;border:1px solid #e1e6dc;border-radius:10px;color:#18222b;background:#fbfcf9}.sheets-actions .button{text-decoration:none}#guest-sheets .page-heading{margin-bottom:28px}button:disabled{cursor:default;opacity:.5}
@media(max-width:760px){.sheets-actions{flex-wrap:wrap}.sheets-toolbar{padding:18px;align-items:start;flex-direction:column;gap:10px}.sheets-toolbar p{margin:0}.sheets-table{min-width:760px}.sheets-table td,.sheets-table th{padding:16px}.sheet-fields{grid-template-columns:1fr}.sheet-person{padding:18px}.sheet-dialog{padding:16px}.sheets-pagination{justify-content:space-between}}

.sheet-dialog{height:100dvh;max-height:100dvh;width:min(840px,100vw);margin:0 0 0 auto;border-radius:0;padding:0;overflow:hidden}
.sheet-dialog[open]{display:flex;flex-direction:column}
.sheet-dialog>.detail-header{position:static;flex:none;padding:22px 28px;border-bottom:1px solid #e1e6dc;background:#fff}
.sheet-dialog>[data-sheet-detail]{min-height:0;overflow-y:auto;padding:24px;flex:1}
.sheet-edit-button{float:right}.sheet-edit-notice{background:#eef2e5;border:1px solid #dde5ce;border-radius:10px;font-size:13px;line-height:1.65;padding:14px 18px;margin:0 0 20px;color:#46503e}
.sheet-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}.sheet-edit-grid label{display:grid;gap:8px;font-size:12px;color:#52604e;font-weight:500}.sheet-edit-grid input,.sheet-edit-grid select{min-width:0;width:100%;padding:11px 12px;border:1px solid #d5ddcf;background:#fff;border-radius:8px;color:#18222b;font:inherit;font-size:14px}.sheet-family{display:flex;gap:10px;align-items:center;font-size:13px;margin-bottom:20px}.sheet-family input{accent-color:#18222b}.sheet-edit-footer{position:sticky;bottom:-24px;background:#f7f8f4;padding:16px 0;border-top:1px solid #dde4d5;z-index:2}.sheet-edit-footer .sheets-actions{justify-content:flex-end}.sheet-edit-error{color:#ac3434;font-size:13px;line-height:1.5;margin:0 0 12px}.sheet-edit-error:empty{display:none}
@media(max-width:600px){.sheet-dialog>[data-sheet-detail]{padding:16px}.sheet-dialog>.detail-header{padding:16px 20px}.sheet-edit-grid{grid-template-columns:1fr}.sheet-edit-footer{bottom:-16px}.sheet-edit-button{float:none;margin-bottom:18px}}
.daily-sheet-status{display:flex;flex-direction:column;gap:5px;margin-top:16px;padding:12px 14px;background:#f3f4ee;border-radius:9px;color:#716345;font-size:12px}.daily-sheet-status small{font-size:11px;color:#6b7566}.daily-sheet-status.is-complete{background:#eaf2db;color:#436024}
.daily-stay>.daily-sheet-status{margin-top:0;flex:0 0 190px;font-size:11px}.daily-stay>.daily-sheet-status small{font-size:10px}
@media(max-width:700px){.daily-stay>.daily-sheet-status{flex-basis:auto;grid-column:1/-1;width:100%;margin-top:8px}}
.booking-table tr.booking-completed{background:#f8fbf0}.booking-status-stack{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.status-badge.sheet-completed{background:#e6efd2;color:#405d25;font-weight:600;border:1px solid #d7e5bd}
.daily-layout.daily-arrivals-departures{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
@media(max-width:1100px){.daily-arrivals-departures .daily-stay{display:grid;grid-template-columns:52px minmax(0,1fr)}.daily-arrivals-departures .daily-sheet-status{grid-column:2;min-width:0;max-width:100%;width:fit-content}}
@media(max-width:760px){.daily-layout.daily-arrivals-departures{grid-template-columns:minmax(0,1fr)}}
.day-movement-counts{display:flex;gap:28px;margin:22px 0 0;padding:0}.day-movement-counts>div{display:flex;align-items:baseline;gap:12px}.day-movement-counts>div+div{border-left:1px solid #ffffff24;padding-left:28px}.day-movement-counts dt{display:flex;align-items:center;gap:7px;color:#bec8cc;font-size:11px}.day-movement-counts dt .icon{width:14px;height:14px;color:var(--lime)}.day-movement-counts dd{margin:0;font-size:25px;font-weight:550;line-height:1;color:#fff;font-variant-numeric:tabular-nums}.day-summary{margin-bottom:28px}
@media(max-width:480px){.day-movement-counts{gap:18px}.day-movement-counts>div{gap:8px}.day-movement-counts>div+div{padding-left:18px}.day-movement-counts dd{font-size:22px}}

.daily-sheet-status.is-open{background:#fff0dc;color:#914300}.daily-sheet-status.is-open small{color:#86532b}
button.daily-sheet-status{border:0;font-family:inherit;text-align:left;cursor:pointer;transition:filter .15s}button.daily-sheet-status:hover{filter:brightness(.96)}.sheets-period-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 28px;border-bottom:1px solid var(--line)}.sheets-period-bar h2{font-size:16px;letter-spacing:-.3px;margin:0 0 7px}.sheets-period-bar p{margin:0;font-size:11px;color:var(--muted)}.sheets-period-bar .view-switch{flex-shrink:0}.sheets-search-scope{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 28px;background:#f1f5e8;color:#526637;font-size:12px}.sheets-search-scope[hidden]{display:none}
@media(max-width:800px){.sheets-period-bar{align-items:stretch;flex-direction:column;padding:20px}.sheets-period-bar .view-switch{width:100%;display:flex}.sheets-period-bar .view-switch button{flex:1;padding:9px 6px}.sheets-search-scope{padding:14px 20px;align-items:flex-start;flex-direction:column}}



/* Account configuration */
.user-account{position:relative;padding-left:18px}.user-menu-trigger{display:flex;align-items:center;gap:10px;padding:0;border:0;background:transparent;text-align:left}.user-menu-chevron{margin-left:6px;font-size:18px;color:var(--muted)}.user-menu{position:absolute;right:0;top:calc(100% + 16px);z-index:30;min-width:210px;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 40px #18222b15;padding:7px}.user-menu a,.user-menu>button{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;border-radius:7px;background:transparent;padding:13px 12px;text-decoration:none;font:inherit;font-size:12px;text-align:left}.user-menu a:hover,.user-menu>button:hover{background:var(--canvas,#f6f7f2)}.user-menu>button{border-top:1px solid var(--line);border-radius:0;margin-top:3px;color:var(--muted)}
.configuration-layout{display:grid;grid-template-columns:210px minmax(0,800px);gap:36px;align-items:start}.configuration-nav{padding:20px 0}.configuration-nav>a{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;text-decoration:none;background:#eaf2db;padding:16px 18px;margin-top:18px;border-radius:9px}.configuration-panel{background:white;border:1px solid var(--line);border-radius:15px;overflow:hidden}.configuration-panel>header{padding:28px 30px;border-bottom:1px solid var(--line)}.configuration-panel h2{font-size:23px;letter-spacing:-.6px;margin:8px 0}.configuration-panel header p:not(.eyebrow){font-size:12px;color:var(--muted);line-height:1.7;margin-bottom:0}.connector-heading{display:flex;align-items:center;gap:14px;padding:28px 30px 16px}.connector-mark{display:grid;place-items:center;flex:0 0 45px;height:45px;border-radius:12px;background:var(--ink);color:var(--lime);font-size:24px;font-weight:600}.connector-heading h3{font-size:16px;margin:0 0 5px}.connector-heading p{font-size:11px;color:var(--muted);margin:0}.connector-state{margin-left:auto;padding:6px 10px;border-radius:30px;background:#f0f2ed;color:var(--muted);font-size:10px;white-space:nowrap}.connector-state.is-configured{background:#eaf2db;color:#526a2d}[data-connector-form]{padding:16px 30px 0}.configuration-fields{display:grid;gap:22px}.configuration-fields label{font-size:12px;font-weight:600;display:grid;gap:9px}.configuration-fields input{width:100%;min-width:0;background:#fafbf8;border:1px solid #dce2d9;border-radius:8px;height:46px;padding:0 13px;font-size:13px;color:var(--ink)}.configuration-fields input::placeholder{color:#8b958a;font-size:12px;font-weight:400}.configuration-hint{font-size:11px;line-height:1.7;color:var(--muted);margin:16px 0}.configuration-feedback{font-size:12px;line-height:1.6;color:#4d6727;margin:16px 0}.configuration-feedback:empty{display:none}.configuration-feedback.is-error,.configuration-error{color:#993b26}.configuration-error{padding:24px;font-size:13px}.configuration-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:22px 0;margin-top:24px}.configuration-footer>span{font-size:10px;line-height:1.7;color:var(--muted)}.dashboard-setup{padding:60px 30px;text-align:center;background:white;border:1px solid var(--line);border-radius:16px;min-height:370px}.setup-symbol{display:grid;place-items:center;margin:0 auto 25px;width:58px;height:58px;border-radius:16px;background:var(--ink);color:var(--lime);font-size:30px}.dashboard-setup>.eyebrow{justify-content:center;text-align:center}.dashboard-setup h2{font-size:25px;letter-spacing:-.7px;margin:12px 0}.dashboard-setup>p:not(.eyebrow){font-size:13px;line-height:1.8;max-width:460px;margin:0 auto 25px;color:var(--muted)}
@media(max-width:800px){.configuration-layout{grid-template-columns:1fr;gap:12px}.configuration-nav{padding:0}.configuration-nav>.eyebrow{display:none}.configuration-nav>a{margin-top:0}.configuration-panel>header,.connector-heading{padding:22px}[data-connector-form]{padding:14px 22px 0}.configuration-footer{align-items:flex-start;flex-direction:column}.configuration-footer .button{width:100%}.connector-state{font-size:9px}.user-account{padding-left:12px}}

.integration-type-field{padding:28px 30px;border-bottom:1px solid var(--line)}.integration-type-field label{display:block;font-size:12px;font-weight:600;margin-bottom:9px}.integration-type-field select{width:100%;height:46px;padding:0 13px;border:1px solid #dce2d9;border-radius:8px;background:#fafbf8;color:var(--ink);font:inherit;font-size:13px}.integration-type-field select:disabled{opacity:1;color:var(--muted)}.integration-type-field p{font-size:11px;line-height:1.7;color:var(--muted);margin:12px 0 0}.integration-type-field:last-child{border-bottom:0}@media(max-width:800px){.integration-type-field{padding:22px}}

/* Guest sheets reuse dashboard panels, rows, status buttons and filters. */
.sheets-dashboard-list .sheets-toolbar{padding:18px 20px}
.sheets-dashboard-list .daily-time{flex-basis:76px}
.sheets-dashboard-list .daily-meta+.daily-meta{margin-top:5px}
@media(max-width:900px){.sheets-dashboard-list .daily-stay{grid-template-columns:76px minmax(0,1fr)}.sheets-dashboard-list .daily-sheet-status{grid-column:2;width:fit-content}}
@media(max-width:760px){#guest-sheets>.page-heading{flex-wrap:wrap}.sheets-dashboard-list .daily-panel-heading{flex-wrap:wrap}}

/* Authentication uses the same panels, typography and inputs as the dashboard. */
body[hidden]{display:none!important}
.login-page{min-height:100dvh;display:flex;flex-direction:column}.login-layout{width:min(460px,calc(100% - 40px));flex-shrink:0;margin:auto;padding:32px 0}.login-intro{text-align:center;margin-bottom:30px}.login-brand{display:block;width:280px;max-width:100%;margin:0 auto 24px}.login-intro h1{color:var(--ink);font-size:clamp(28px,6vw,36px);line-height:1.15;letter-spacing:-1.2px;margin:0 0 16px}.login-intro>p{max-width:370px;margin:0 auto;color:var(--muted);font-size:14px;line-height:1.7;text-wrap:pretty}.login-brand img{display:block;width:100%;height:auto}.login-panel{padding:32px}.login-panel h2{color:var(--ink);font-size:22px;line-height:1.3;letter-spacing:-.6px;margin:0 0 8px}.login-panel .eyebrow{font-size:9px}.login-panel .subtitle{font-size:12px;line-height:1.7;margin-bottom:28px}.login-panel form>.button{width:100%;margin-top:26px;justify-content:space-between}.login-error{font-size:12px;line-height:1.6;color:#993b26;margin:18px 0 0}.login-footnote{text-align:center;font-size:10px;color:var(--muted);margin:24px 0 0}#account-error:empty{display:none}#account-error{font-size:11px;color:#993b26;padding:0 12px;max-width:230px;line-height:1.5}@media(max-width:480px){.login-panel{padding:24px}}

/* Subtle brand feedback without browser focus outlines. */
:focus { outline: none; }
:is(button, a, summary, [tabindex]:not([tabindex="-1"])):focus-visible { outline: none; box-shadow: inset 0 -2px 0 #8da65a; }
:is(input, select, textarea):focus { outline: none; border-color: #8da65a; box-shadow: 0 0 0 2px #bbea3226; }


.stay-times-form{padding:26px 30px 0}.stay-times-form .configuration-fields{grid-template-columns:1fr 1fr}.stay-times-context{margin:0 0 20px;align-items:center}.stay-times-context a{font-size:11px;color:var(--muted);margin-left:auto}.stay-times-context strong{font-weight:550;color:var(--ink)}
@media(max-width:700px){.stay-times-form{padding:22px 22px 0}.stay-times-form .configuration-fields{grid-template-columns:1fr}.stay-times-context a{margin-left:0}}
.configuration-nav>a:not([aria-current]){background:transparent}
@media(max-width:760px){
  a[href^="#konfiguration"],#open-integration,#configuration{display:none}
  .user-menu>button{border-top:0;margin-top:0}
}
