:root {
  --brand: #034c7f;
  --brand-hover: #023d66;
  --brand-soft: #e8f2f8;
  --ink: #183139;
  --ink-2: #345159;
  --muted: #718087;
  --line: #e5e8e5;
  --paper: #ffffff;
  --canvas: #f6f7f4;
  --cream: #eef0e9;
  --orange: #ef7445;
  --orange-soft: #fff1ea;
  --green: #3f8b72;
  --green-soft: #e9f5ef;
  --blue: #4d75a8;
  --blue-soft: #eaf0f8;
  --purple: #7664a9;
  --purple-soft: #f0edf8;
  --yellow: #c9953b;
  --yellow-soft: #fff7df;
  --shadow: 0 14px 40px rgba(30, 48, 52, 0.08);
  --radius: 18px;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--canvas);
}

* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; background: var(--canvas); }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid rgba(239, 116, 69, .25); outline-offset: 2px; }
[hidden] { display: none !important; }

.app-shell { display: flex; min-height: 100vh; }
.sidebar { position: fixed; z-index: 30; inset: 0 auto 0 0; width: 252px; padding: 24px 17px 16px; background: var(--brand); color: #f5f8f6; display: flex; flex-direction: column; }
.brand { display: flex; align-items: center; gap: 12px; padding: 2px 11px 26px; }
.brand strong { display: block; font-size: 20px; letter-spacing: -.4px; }
.brand small { color: #9eb0b3; font-size: 11px; }
.brand-mark { width: 35px; height: 35px; border: 1.5px solid rgba(255,255,255,.85); border-radius: 11px; position: relative; transform: rotate(2deg); }
.brand-mark span:first-child { position: absolute; width: 14px; height: 14px; border: 2px solid rgba(255,255,255,.9); border-radius: 50%; top: 7px; left: 7px; }
.brand-mark span:last-child { position: absolute; width: 8px; height: 5px; border: 2px solid rgba(255,255,255,.9); border-left: 0; top: 12px; right: 4px; }
.brand-logo { width: 38px; height: 38px; flex: 0 0 auto; object-fit: contain; border-radius: 8px; background: #fff; padding: 3px; }
.nav { display: flex; flex-direction: column; gap: 5px; overflow-y: auto; scrollbar-width: none; }
.nav-label { margin: 18px 12px 6px; font-size: 9px; font-weight: 750; letter-spacing: 1.4px; color: #758f94; }
.nav-label:first-child { margin-top: 0; }
.nav-item { width: 100%; min-height: 44px; border: 0; background: transparent; color: #adbdc0; border-radius: 11px; padding: 0 12px; display: flex; align-items: center; gap: 12px; cursor: pointer; text-align: left; font-size: 13px; transition: .18s ease; }
.nav-item:hover { background: rgba(255,255,255,.06); color: #fff; }
.nav-item.active { color: #fff; background: rgba(255,255,255,.105); box-shadow: inset 3px 0 0 var(--orange); }
.nav-icon { width: 20px; text-align: center; font-size: 18px; opacity: .95; }
.nav-badge { margin-left: auto; min-width: 22px; height: 20px; padding: 0 6px; border-radius: 10px; display: grid; place-items: center; background: rgba(255,255,255,.12); font-size: 10px; color: #dbe3e2; }
.nav-badge.accent { background: var(--orange); color: #fff; }
.sidebar-footer { margin-top: auto; position: relative; border-top: 1px solid rgba(255,255,255,.09); padding-top: 14px; }
.profile-switch { width: 100%; padding: 7px 5px; display: flex; gap: 10px; align-items: center; color: #fff; background: transparent; border: 0; border-radius: 10px; cursor: pointer; text-align: left; }
.profile-switch:hover { background: rgba(255,255,255,.05); }
.avatar { width: 35px; height: 35px; flex: 0 0 auto; border-radius: 50%; display: grid; place-items: center; color: #fff; background: #d27b55; font-weight: 750; font-size: 11px; border: 2px solid rgba(255,255,255,.18); }
.avatar.mini { width: 30px; height: 30px; }
.avatar.has-photo, .rank-avatar.has-photo { overflow: hidden; padding: 0; }
.avatar.has-photo img, .rank-avatar.has-photo img { width: 100%; height: 100%; display: block; object-fit: cover; }
.user-avatar { background: #4d75a8; }
.profile-copy { min-width: 0; }
.profile-copy strong { font-size: 11px; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.profile-copy small { color: #91a4a8; font-size: 9px; }
.chevron { margin-left: auto; color: #80969a; }
.profile-menu { position: absolute; left: 0; right: 0; bottom: 58px; padding: 6px; border-radius: 13px; background: #fff; color: var(--ink); box-shadow: 0 18px 45px rgba(0,0,0,.25); }
.profile-menu button { width: 100%; padding: 8px; display: flex; align-items: center; gap: 9px; background: transparent; border: 0; border-radius: 9px; cursor: pointer; text-align: left; }
.profile-menu button:hover { background: var(--canvas); }
.profile-menu strong, .profile-menu small { display: block; }
.profile-menu strong { font-size: 11px; }.profile-menu small { font-size: 9px; color: var(--muted); }

.main { min-width: 0; width: 100%; margin-left: 252px; }
.topbar { height: 68px; padding: 0 30px; background: rgba(255,255,255,.93); border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: flex-end; position: sticky; top: 0; z-index: 20; backdrop-filter: blur(12px); }
.topbar-actions { display: flex; gap: 9px; align-items: center; }
.sync-status { margin-right: 9px; display: flex; align-items: center; gap: 7px; font-size: 10px; color: var(--muted); }
.sync-status > span:first-child { width: 7px; height: 7px; border-radius: 50%; background: #5bae7f; box-shadow: 0 0 0 4px #e8f5ee; }
.icon-button { width: 37px; height: 37px; display: grid; place-items: center; border-radius: 10px; border: 1px solid var(--line); background: #fff; color: var(--ink-2); cursor: pointer; font-size: 19px; position: relative; }
.icon-button:hover { background: var(--canvas); }
.has-dot::after { content: ""; position: absolute; right: 7px; top: 7px; width: 6px; height: 6px; border: 2px solid #fff; border-radius: 50%; background: var(--orange); }
.quick-book, .primary-button { min-height: 38px; border: 0; border-radius: 10px; background: var(--brand); color: #fff; padding: 0 15px; font-size: 11px; font-weight: 700; cursor: pointer; box-shadow: 0 5px 13px rgba(3,76,127,.18); }
.quick-book:hover, .primary-button:hover { background: var(--brand-hover); transform: translateY(-1px); }
.quick-book span { margin-right: 4px; font-size: 16px; }
.menu-button, .mobile-brand { display: none; }
.notification-wrap { position: relative; }
.notification-panel { width: 340px; position: absolute; top: 47px; right: 0; border-radius: 15px; background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow); overflow: hidden; }
.panel-head { padding: 15px 16px 11px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); font-size: 12px; }
.text-button { border: 0; padding: 0; background: transparent; color: var(--orange); font-size: 9px; cursor: pointer; }
.notice { display: flex; gap: 10px; padding: 13px 16px; border-bottom: 1px solid #eff0ee; }
.notice:last-child { border-bottom: 0; }.notice p { font-size: 10px; margin: 3px 0; color: var(--ink-2); }.notice strong { font-size: 10px; }.notice small { font-size: 8px; color: var(--muted); }
.notice-icon { width: 30px; height: 30px; flex: 0 0 auto; border-radius: 9px; display: grid; place-items: center; font-weight: 700; }.notice-icon.orange { background: var(--orange-soft); color: var(--orange); }.notice-icon.green { background: var(--green-soft); color: var(--green); }

.view-container { width: min(1440px, 100%); margin: 0 auto; padding: 27px 31px 48px; }
.page-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 25px; }
.page-head h1 { margin: 0 0 6px; font-size: 24px; letter-spacing: -.7px; font-weight: 750; }
.page-head p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.head-actions { display: flex; align-items: center; gap: 8px; }
.secondary-button { min-height: 37px; padding: 0 13px; border-radius: 10px; border: 1px solid var(--line); background: #fff; font-size: 10px; font-weight: 650; cursor: pointer; }
.secondary-button:hover { border-color: #cdd3d1; background: #fafbf9; }
.primary-button { padding: 0 16px; }
.subtle-button { border: 0; background: transparent; padding: 5px; color: var(--orange); font-size: 10px; font-weight: 700; cursor: pointer; }
.card { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 1px 2px rgba(30,48,52,.02); }
.card-header { min-height: 59px; padding: 16px 18px; border-bottom: 1px solid #eceeeb; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.card-header h2, .card-header h3 { margin: 0; font-size: 13px; }.card-header p { margin: 4px 0 0; color: var(--muted); font-size: 9px; }

.metric-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; margin-bottom: 15px; }
.metric-card { min-height: 105px; padding: 17px; position: relative; overflow: hidden; }
.metric-top { display: flex; justify-content: space-between; align-items: flex-start; }
.metric-label { color: var(--muted); font-size: 10px; font-weight: 600; }.metric-value { margin: 9px 0 3px; font-size: 25px; font-weight: 760; letter-spacing: -.7px; }.metric-detail { font-size: 8px; color: var(--muted); }.metric-detail b { color: var(--green); }
.metric-icon { width: 33px; height: 33px; border-radius: 10px; display: grid; place-items: center; font-size: 15px; }.metric-icon.orange { color: var(--orange); background: var(--orange-soft); }.metric-icon.green { color: var(--green); background: var(--green-soft); }.metric-icon.blue { color: var(--blue); background: var(--blue-soft); }.metric-icon.purple { color: var(--purple); background: var(--purple-soft); }
.dashboard-main { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(280px, .8fr); gap: 15px; margin-bottom: 15px; }
.schedule-card { overflow: hidden; }.schedule-list { padding: 4px 18px 8px; }
.schedule-row { display: grid; grid-template-columns: 55px 1fr auto; gap: 14px; align-items: center; padding: 12px 0; border-bottom: 1px solid #eff0ee; }
.schedule-row:last-child { border-bottom: 0; }.date-tile { height: 48px; border-radius: 11px; background: #f4f5f1; display: grid; place-items: center; align-content: center; }.date-tile b { font-size: 17px; line-height: 1; }.date-tile small { margin-top: 3px; font-size: 8px; color: var(--muted); text-transform: uppercase; }.date-tile.today { color: #fff; background: var(--orange); }.date-tile.today small { color: #ffe5da; }
.property-info { min-width: 0; }.property-info strong { display: block; font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }.property-info p { margin: 4px 0 0; color: var(--muted); font-size: 9px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }.property-info p span { margin-right: 8px; }.schedule-side { text-align: right; }.schedule-side b { display: block; font-size: 11px; }.schedule-side small { display: block; margin-top: 5px; color: var(--muted); font-size: 8px; }
.queue-summary { padding: 15px 17px 16px; }.queue-donut { width: 122px; height: 122px; border-radius: 50%; margin: 2px auto 18px; background: conic-gradient(var(--orange) 0 37%, var(--green) 37% 63%, var(--blue) 63% 84%, #edf0ed 84%); position: relative; display: grid; place-items: center; }.queue-donut::before { content: ""; position: absolute; width: 88px; height: 88px; border-radius: 50%; background: #fff; }.queue-donut > div { position: relative; text-align: center; }.queue-donut b { display: block; font-size: 23px; }.queue-donut small { font-size: 8px; color: var(--muted); }
.legend-list { display: grid; gap: 10px; }.legend-row { display: flex; align-items: center; gap: 8px; font-size: 9px; color: var(--muted); }.legend-row::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--dot); }.legend-row b { margin-left: auto; color: var(--ink); }.progress { height: 5px; margin-top: 5px; background: #edf0ed; border-radius: 5px; overflow: hidden; }.progress span { display: block; height: 100%; border-radius: inherit; background: var(--color, var(--orange)); }
.analytics-grid { display: grid; grid-template-columns: 1fr 1fr 1.2fr; gap: 15px; }.analytics-card { min-height: 245px; }.chart-body { padding: 18px; }.bar-list { display: grid; gap: 16px; }.bar-label { display: flex; justify-content: space-between; font-size: 9px; margin-bottom: 6px; }.bar-label b { font-size: 10px; }.rank-list { padding: 4px 18px; }.rank-row { display: grid; grid-template-columns: 24px 32px 1fr auto; gap: 9px; align-items: center; padding: 11px 0; border-bottom: 1px solid #f0f1ef; }.rank-row:last-child { border: 0; }.rank-number { color: var(--muted); font-size: 9px; }.rank-number.top { color: var(--orange); font-weight: 800; }.rank-avatar { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: var(--tone, #d3e3e2); color: #fff; font-size: 9px; font-weight: 750; }.rank-name strong { display: block; font-size: 10px; }.rank-name small { color: var(--muted); font-size: 8px; }.rank-count { text-align: right; }.rank-count b { display: block; font-size: 11px; }.rank-count small { font-size: 7px; color: var(--muted); }

.toolbar { min-height: 57px; display: flex; align-items: center; gap: 9px; margin-bottom: 13px; }.segmented { display: flex; padding: 3px; gap: 2px; border: 1px solid var(--line); background: #fff; border-radius: 10px; }.segmented button { border: 0; border-radius: 7px; background: transparent; padding: 7px 11px; font-size: 9px; color: var(--muted); cursor: pointer; }.segmented button.active { background: var(--ink); color: #fff; }.toolbar-spacer { flex: 1; }.search-field { min-width: 210px; height: 35px; padding: 0 11px; display: flex; align-items: center; gap: 7px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }.search-field input { width: 100%; border: 0; outline: 0; color: var(--ink); font-size: 9px; }.search-field span { color: var(--muted); }

.kanban { display: grid; grid-template-columns: repeat(3, minmax(260px, 1fr)); gap: 12px; overflow-x: auto; padding-bottom: 6px; }.kanban-column { min-height: 560px; padding: 11px; border-radius: 16px; background: #ecefea; border: 1px solid #e0e4e0; }.kanban-column.drag-over { background: #e3ebe7; border-color: #aabfb5; }.column-head { height: 37px; display: flex; align-items: center; gap: 8px; padding: 0 3px 10px; }.column-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--column-color); }.column-head strong { font-size: 10px; }.column-count { margin-left: auto; min-width: 21px; height: 20px; border-radius: 10px; background: rgba(255,255,255,.7); display: grid; place-items: center; font-size: 8px; }.kanban-list { display: grid; gap: 9px; }.kanban-card { padding: 12px; border-radius: 13px; background: #fff; border: 1px solid rgba(28,49,54,.08); box-shadow: 0 4px 14px rgba(35,57,61,.04); cursor: grab; }.kanban-card:active { cursor: grabbing; }.kanban-card.dragging { opacity: .45; }.kanban-card-top { display: flex; justify-content: space-between; gap: 8px; align-items: start; }.type-pill { display: inline-flex; align-items: center; gap: 4px; padding: 4px 7px; border-radius: 6px; font-size: 7px; font-weight: 750; text-transform: uppercase; letter-spacing: .3px; }.type-pill.photo { background: var(--blue-soft); color: var(--blue); }.type-pill.video { background: var(--purple-soft); color: var(--purple); }.type-pill.both { background: var(--orange-soft); color: var(--orange); }.more-button { padding: 0; border: 0; background: transparent; color: var(--muted); cursor: pointer; }.kanban-card h4 { margin: 10px 0 4px; font-size: 11px; line-height: 1.35; }.kanban-card .address { margin: 0 0 10px; color: var(--muted); font-size: 8px; line-height: 1.5; }.queue-position { margin: 10px 0; padding: 8px; display: flex; align-items: center; gap: 7px; border-radius: 8px; background: var(--yellow-soft); color: #836826; font-size: 8px; }.queue-position b { font-size: 13px; }.kanban-meta { display: flex; align-items: center; justify-content: space-between; padding-top: 9px; border-top: 1px solid #f0f1ef; color: var(--muted); font-size: 8px; }.tiny-avatar { width: 22px; height: 22px; border-radius: 50%; background: #6c8e98; color: #fff; display: grid; place-items: center; font-size: 7px; font-weight: 700; }.editor-chip { display: flex; align-items: center; gap: 5px; }

.calendar-layout { display: grid; grid-template-columns: minmax(0,1fr) 260px; gap: 15px; }.calendar-card { overflow: hidden; }.calendar-nav { display: flex; align-items: center; gap: 8px; }.calendar-nav h2 { min-width: 130px; text-align: center; font-size: 13px; }.round-control { width: 28px; height: 28px; border: 1px solid var(--line); background: #fff; border-radius: 8px; cursor: pointer; }.calendar-grid { display: grid; grid-template-columns: repeat(7, 1fr); }.weekday { height: 35px; display: grid; place-items: center; color: var(--muted); font-size: 8px; text-transform: uppercase; border-bottom: 1px solid var(--line); }.calendar-day { min-height: 105px; padding: 8px; border-right: 1px solid #edf0ed; border-bottom: 1px solid #edf0ed; position: relative; }.calendar-day:nth-child(7n) { border-right: 0; }.calendar-day.outside { background: #fafbf9; color: #b5bdbc; }.day-number { width: 23px; height: 23px; display: grid; place-items: center; border-radius: 50%; font-size: 9px; }.calendar-day.today .day-number { background: var(--orange); color: #fff; }.calendar-event { display: block; width: 100%; margin-top: 4px; padding: 5px 6px; border: 0; border-left: 3px solid var(--event-color); border-radius: 5px; background: var(--event-bg); text-align: left; cursor: pointer; color: var(--ink); font-size: 7px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.calendar-event b { margin-right: 3px; }.agenda-side { align-self: start; }.mini-date { margin: 17px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }.mini-date strong { display: block; font-size: 34px; line-height: 1; }.mini-date span { display: block; margin-top: 5px; font-size: 10px; color: var(--muted); }.day-agenda { padding: 0 17px 17px; }.agenda-item { display: grid; grid-template-columns: 39px 1fr; gap: 8px; padding: 10px 0; border-bottom: 1px solid #f0f1ef; }.agenda-item:last-child { border: 0; }.agenda-time { color: var(--muted); font-size: 8px; }.agenda-content { border-left: 2px solid var(--item-color); padding-left: 8px; }.agenda-content strong { display: block; font-size: 9px; }.agenda-content small { display: block; margin-top: 4px; color: var(--muted); font-size: 7px; line-height: 1.4; }.free-slot { padding: 9px; margin-top: 8px; border: 1px dashed #a9c9b9; border-radius: 9px; background: var(--green-soft); color: var(--green); font-size: 8px; text-align: center; cursor: pointer; }

.data-table-wrap { overflow: hidden; }.table-tools { display: flex; gap: 9px; align-items: center; padding: 13px 16px; border-bottom: 1px solid var(--line); }.data-table { width: 100%; border-collapse: collapse; }.data-table th { padding: 10px 14px; text-align: left; color: var(--muted); background: #fafbf9; font-size: 8px; text-transform: uppercase; letter-spacing: .5px; }.data-table td { padding: 13px 14px; border-top: 1px solid #eff0ee; font-size: 9px; vertical-align: middle; }.table-property strong { display: block; font-size: 10px; }.table-property small { color: var(--muted); }.status-pill { display: inline-flex; padding: 5px 8px; border-radius: 12px; font-size: 7px; font-weight: 700; }.status-pill.scheduled { background: var(--orange-soft); color: var(--orange); }.status-pill.queue { background: var(--yellow-soft); color: #9b752c; }.status-pill.editing { background: var(--purple-soft); color: var(--purple); }.status-pill.done { background: var(--green-soft); color: var(--green); }

.booking-layout { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(270px, .7fr); gap: 16px; }.booking-card { padding: 23px; }.form-section { padding: 0 0 24px; margin-bottom: 22px; border-bottom: 1px solid var(--line); }.form-section:last-child { border-bottom: 0; margin-bottom: 0; }.section-title { display: flex; align-items: center; gap: 10px; margin-bottom: 15px; }.step-number { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 8px; background: var(--ink); color: #fff; font-size: 9px; font-weight: 750; }.section-title strong { display: block; font-size: 11px; }.section-title small { display: block; margin-top: 2px; color: var(--muted); font-size: 8px; }.input-group label, .field label { display: block; margin-bottom: 6px; font-size: 8px; color: var(--ink-2); font-weight: 700; }.input-with-button { display: flex; gap: 8px; }.input-with-button input { flex: 1; }.field input, .field select, .field textarea, .input-with-button input { min-height: 39px; width: 100%; border: 1px solid #dfe4e0; border-radius: 9px; background: #fff; padding: 0 11px; font-size: 10px; color: var(--ink); }.field textarea { min-height: 72px; padding-top: 10px; resize: vertical; }.property-result { margin-top: 11px; padding: 13px; border: 1px solid #cfe4d8; border-radius: 12px; background: #f4fbf7; display: grid; grid-template-columns: 50px 1fr auto; gap: 11px; align-items: center; }.property-thumb { width: 50px; height: 45px; border-radius: 9px; background: linear-gradient(140deg,#9cb3ac 0 42%,#dce5dc 42% 54%,#bd8767 54%); position: relative; overflow: hidden; }.property-thumb::after { content: ""; position: absolute; width: 22px; height: 17px; background: #fff; opacity: .78; left: 13px; bottom: 6px; clip-path: polygon(0 35%,50% 0,100% 35%,100% 100%,0 100%); }.property-result strong { display: block; font-size: 10px; }.property-result p { margin: 3px 0 0; color: var(--muted); font-size: 8px; }.verified { color: var(--green); font-size: 8px; font-weight: 700; }.content-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }.option-card { position: relative; }.option-card input { position: absolute; opacity: 0; }.option-card label { min-height: 62px; padding: 10px; display: flex; align-items: center; gap: 9px; border: 1px solid var(--line); border-radius: 11px; cursor: pointer; }.option-card input:checked + label { border-color: var(--orange); background: var(--orange-soft); box-shadow: inset 0 0 0 1px var(--orange); }.option-icon { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 8px; background: #f1f3ef; }.option-card input:checked + label .option-icon { background: #fff; color: var(--orange); }.option-copy strong, .option-copy small { display: block; }.option-copy strong { font-size: 9px; }.option-copy small { margin-top: 3px; font-size: 7px; color: var(--muted); }.date-strip { display: grid; grid-template-columns: repeat(5, 1fr); gap: 7px; margin-bottom: 12px; }.date-option { min-height: 55px; border: 1px solid var(--line); border-radius: 10px; background: #fff; cursor: pointer; }.date-option small, .date-option b { display: block; }.date-option small { font-size: 7px; color: var(--muted); }.date-option b { margin-top: 3px; font-size: 13px; }.date-option.active { background: var(--ink); color: #fff; border-color: var(--ink); }.date-option.active small { color: #b8c6c8; }.time-slots { display: flex; flex-wrap: wrap; gap: 7px; }.time-slot { min-width: 67px; min-height: 33px; border: 1px solid var(--line); border-radius: 8px; background: #fff; font-size: 9px; cursor: pointer; }.time-slot.active { border-color: var(--green); background: var(--green-soft); color: var(--green); font-weight: 750; }.time-slot[disabled] { background: #f2f3f1; color: #b5bdbc; text-decoration: line-through; cursor: not-allowed; }.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }.summary-card { align-self: start; position: sticky; top: 90px; overflow: hidden; }.summary-visual { height: 120px; position: relative; background: linear-gradient(140deg,#67877e 0 38%,#d2dbd2 38% 52%,#a9684c 52% 72%,#694d3d 72%); }.summary-visual::before { content: ""; position: absolute; width: 96px; height: 70px; left: calc(50% - 48px); bottom: 13px; background: rgba(255,255,255,.84); clip-path: polygon(0 36%,50% 0,100% 36%,100% 100%,0 100%); }.summary-visual::after { content: "Prévia do agendamento"; position: absolute; left: 13px; top: 12px; padding: 5px 7px; border-radius: 7px; background: rgba(23,51,58,.75); color: #fff; font-size: 7px; }.summary-body { padding: 17px; }.summary-body h3 { margin: 0 0 4px; font-size: 12px; }.summary-body > p { margin: 0 0 16px; color: var(--muted); font-size: 8px; }.summary-list { display: grid; gap: 12px; }.summary-line { display: grid; grid-template-columns: 24px 1fr; gap: 8px; align-items: start; }.summary-line > span { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 7px; background: #f0f2ee; font-size: 10px; }.summary-line strong { display: block; font-size: 8px; }.summary-line small { display: block; margin-top: 2px; color: var(--muted); font-size: 8px; line-height: 1.5; }.summary-total { margin: 16px 0; padding: 11px 0; display: flex; justify-content: space-between; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 9px; }.summary-total b { color: var(--green); }.full-button { width: 100%; min-height: 42px; }

.properties-list { display: grid; gap: 13px; }.property-track-card { display: grid; grid-template-columns: 150px minmax(220px,.75fr) minmax(420px,1.4fr) 130px; gap: 18px; align-items: center; padding: 14px; }.track-thumb { height: 91px; border-radius: 12px; background: var(--house-gradient); position: relative; overflow: hidden; }.track-thumb::after { content: ""; position: absolute; width: 55px; height: 39px; left: 45px; bottom: 13px; background: rgba(255,255,255,.82); clip-path: polygon(0 35%,50% 0,100% 35%,100% 100%,0 100%); }.track-info h3 { margin: 0 0 5px; font-size: 12px; }.track-info p { margin: 0; color: var(--muted); font-size: 8px; line-height: 1.6; }.track-code { display: inline-block; margin-top: 8px; padding: 4px 6px; border-radius: 5px; background: #f0f2ee; color: var(--ink-2); font-size: 7px; font-weight: 700; }.timeline { display: grid; grid-template-columns: repeat(4,1fr); position: relative; }.timeline::before { content: ""; position: absolute; left: 8%; right: 8%; top: 10px; height: 2px; background: #dfe4e0; }.timeline-step { position: relative; text-align: center; z-index: 1; }.timeline-dot { width: 21px; height: 21px; margin: 0 auto 7px; border: 4px solid #fff; border-radius: 50%; background: #d5dbd7; box-shadow: 0 0 0 1px #d5dbd7; }.timeline-step.done .timeline-dot { background: var(--green); box-shadow: 0 0 0 1px var(--green); }.timeline-step.current .timeline-dot { background: var(--orange); box-shadow: 0 0 0 3px #ffe3d7; }.timeline-step span { display: block; font-size: 7px; color: var(--muted); }.timeline-step.done span, .timeline-step.current span { color: var(--ink); font-weight: 650; }.track-action { text-align: center; }.queue-big { font-size: 20px; font-weight: 760; }.queue-big small { font-size: 8px; color: var(--muted); font-weight: 500; }.media-button { width: 100%; min-height: 34px; border: 1px solid #b9d5c6; border-radius: 9px; background: var(--green-soft); color: var(--green); font-size: 8px; font-weight: 700; cursor: pointer; }

.settings-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }.integration-card { padding: 18px; }.integration-head { display: flex; align-items: flex-start; gap: 12px; }.integration-logo { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; background: var(--logo-bg); color: var(--logo-color); font-weight: 800; font-size: 17px; }.integration-title { flex: 1; }.integration-title h3 { margin: 2px 0 4px; font-size: 12px; }.integration-title p { margin: 0; color: var(--muted); font-size: 8px; }.connection-status { display: flex; align-items: center; gap: 5px; color: var(--green); font-size: 8px; font-weight: 700; }.connection-status::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--green); }.connection-status.off { color: var(--muted); }.connection-status.off::before { background: #b6bfbc; }.integration-details { margin-top: 16px; padding: 12px; border-radius: 10px; background: #f7f8f5; display: grid; gap: 8px; }.detail-row { display: flex; justify-content: space-between; font-size: 8px; }.detail-row span { color: var(--muted); }.integration-actions { display: flex; gap: 7px; margin-top: 13px; }.integration-actions button { flex: 1; }.settings-span { grid-column: 1 / -1; }.automation-list { padding: 4px 18px 8px; }.automation-row { min-height: 67px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid #eff0ee; }.automation-row:last-child { border: 0; }.automation-icon { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: var(--icon-bg); color: var(--icon-color); }.automation-copy { flex: 1; }.automation-copy strong { display: block; font-size: 10px; }.automation-copy p { margin: 4px 0 0; color: var(--muted); font-size: 8px; }.switch { width: 36px; height: 21px; position: relative; }.switch input { opacity: 0; position: absolute; }.switch span { position: absolute; inset: 0; border-radius: 12px; background: #cfd6d2; cursor: pointer; transition: .2s; }.switch span::after { content: ""; position: absolute; width: 15px; height: 15px; top: 3px; left: 3px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.2); transition: .2s; }.switch input:checked + span { background: var(--green); }.switch input:checked + span::after { transform: translateX(15px); }

.automation-metrics { display: grid; grid-template-columns: repeat(3,1fr); gap: 13px; margin-bottom: 15px; }.log-list { padding: 0 18px 8px; }.log-row { display: grid; grid-template-columns: 35px 1fr auto; gap: 10px; align-items: center; padding: 12px 0; border-bottom: 1px solid #eff0ee; }.log-row:last-child { border: 0; }.log-icon { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 9px; background: var(--green-soft); color: var(--green); }.log-copy strong { display: block; font-size: 9px; }.log-copy p { margin: 3px 0 0; color: var(--muted); font-size: 8px; }.log-time { text-align: right; font-size: 8px; color: var(--muted); }.log-time b { display: block; margin-bottom: 3px; color: var(--green); font-size: 7px; }

.empty-state { min-height: 230px; display: grid; place-items: center; text-align: center; padding: 30px; }.empty-state .empty-icon { width: 55px; height: 55px; margin: 0 auto 12px; border-radius: 16px; display: grid; place-items: center; background: var(--orange-soft); color: var(--orange); font-size: 24px; }.empty-state h3 { margin: 0 0 5px; font-size: 13px; }.empty-state p { max-width: 330px; margin: 0 auto 13px; color: var(--muted); font-size: 9px; line-height: 1.6; }
.toast-region { position: fixed; z-index: 80; right: 21px; bottom: 20px; display: grid; gap: 8px; }.toast { min-width: 260px; max-width: 360px; padding: 13px 15px; border-radius: 11px; background: #17333a; color: #fff; box-shadow: 0 15px 40px rgba(0,0,0,.2); animation: toast-in .25s ease; font-size: 9px; }.toast strong { display: block; margin-bottom: 3px; font-size: 10px; }.toast.success { border-left: 4px solid #65bd92; }.toast.error { border-left: 4px solid #ef7445; }
@keyframes toast-in { from { opacity: 0; transform: translateY(8px); } }
.modal-backdrop { position: fixed; z-index: 90; inset: 0; display: grid; place-items: center; padding: 20px; background: rgba(17,38,43,.55); backdrop-filter: blur(4px); }.modal { width: min(470px,100%); max-height: calc(100vh - 40px); overflow-y: auto; position: relative; border-radius: 19px; background: #fff; box-shadow: 0 28px 90px rgba(10,28,32,.3); }.modal-close { position: absolute; right: 12px; top: 12px; width: 30px; height: 30px; border: 0; border-radius: 9px; background: #f1f3f0; color: var(--muted); font-size: 20px; cursor: pointer; }.modal-body { padding: 27px; }.success-mark { width: 57px; height: 57px; margin: 0 auto 15px; display: grid; place-items: center; border-radius: 50%; background: var(--green-soft); color: var(--green); font-size: 27px; }.modal-body.centered { text-align: center; }.modal-body h2 { margin: 0 0 7px; font-size: 18px; }.modal-body > p { margin: 0 auto 17px; color: var(--muted); font-size: 9px; line-height: 1.6; }.confirmation-box { padding: 13px; border-radius: 11px; background: #f5f7f3; text-align: left; }.confirmation-box .detail-row { padding: 4px 0; }.modal-actions { margin-top: 16px; display: flex; gap: 8px; }.modal-actions button { flex: 1; }

/* Acesso e primeiro cadastro */
.auth-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(430px, 1.05fr) minmax(470px, .95fr); background: #fff; }
.auth-visual { min-height: 100vh; padding: 48px clamp(42px,6vw,90px); color: #fff; background: linear-gradient(145deg,rgba(3,76,127,.97),rgba(2,54,91,.96)), radial-gradient(circle at 70% 25%,#1a739d,#023552 70%); display: flex; flex-direction: column; position: relative; overflow: hidden; }
.auth-visual::before { content: ""; position: absolute; width: 540px; height: 540px; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; right: -270px; top: -80px; box-shadow: 0 0 0 90px rgba(255,255,255,.025), 0 0 0 180px rgba(255,255,255,.018); }
.auth-brand { display: flex; align-items: center; gap: 13px; position: relative; }
.auth-logo-mark { width: 44px; height: 44px; border-radius: 13px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.65); font-weight: 800; }
.auth-brand strong, .auth-brand small { display: block; }.auth-brand strong { font-size: 18px; }.auth-brand small { margin-top: 3px; color: #b8d4e4; font-size: 11px; }
.auth-message { margin: auto 0; position: relative; }.auth-message > span { color: #9fc7dc; font-size: 11px; font-weight: 750; letter-spacing: 2px; }.auth-message h1 { margin: 19px 0 22px; font-size: clamp(40px,4vw,64px); line-height: 1.05; letter-spacing: -2px; }.auth-message h1 em { color: #86c7e7; font-style: normal; }.auth-message p { max-width: 470px; margin: 0; color: #d2e3eb; font-size: 16px; line-height: 1.7; }
.auth-quote { max-width: 500px; display: flex; gap: 15px; align-items: flex-start; position: relative; padding-top: 25px; border-top: 1px solid rgba(255,255,255,.15); }.auth-quote span { color: #7bbbd9; font-family: Georgia,serif; font-size: 38px; line-height: .8; }.auth-quote p { margin: 0; color: #bbd3df; font-size: 12px; line-height: 1.6; }
.auth-panel { min-height: 100vh; padding: 40px; display: grid; place-items: center; background: #fbfcfa; }
.auth-card { width: min(440px,100%); }.auth-mobile-brand { display: none; }.eyebrow { color: var(--brand); font-size: 11px; font-weight: 800; letter-spacing: 1.7px; }.auth-card h2 { margin: 12px 0 8px; color: var(--ink); font-size: 34px; letter-spacing: -1px; }.auth-card > p { margin: 0 0 28px; color: var(--muted); font-size: 14px; line-height: 1.6; }.auth-card > p strong { color: var(--ink); }
.auth-field { margin-bottom: 16px; }.auth-field label { display: block; margin-bottom: 7px; color: var(--ink-2); font-size: 12px; font-weight: 700; }.auth-field input { width: 100%; height: 50px; padding: 0 14px; border: 1px solid #dbe2e5; border-radius: 11px; background: #fff; color: var(--ink); font-size: 14px; }.password-field { position: relative; }.password-field input { padding-right: 48px; }.password-field button { position: absolute; right: 5px; top: 5px; width: 40px; height: 40px; border: 0; background: transparent; color: var(--muted); cursor: pointer; }
.auth-options { margin: 2px 0 20px; display: flex; justify-content: space-between; align-items: center; color: var(--muted); font-size: 12px; }.auth-options label { display: flex; align-items: center; gap: 7px; }.auth-link, .auth-back { border: 0; background: transparent; padding: 0; color: var(--brand); font-size: 12px; font-weight: 700; cursor: pointer; }.auth-back { margin-bottom: 28px; }
.auth-primary, .auth-secondary { width: 100%; min-height: 50px; border-radius: 11px; font-size: 13px; font-weight: 750; cursor: pointer; }.auth-primary { border: 0; color: #fff; background: var(--brand); box-shadow: 0 8px 20px rgba(3,76,127,.15); }.auth-primary:hover { background: var(--brand-hover); }.auth-secondary { margin-top: 10px; border: 1px solid #dce3e5; color: var(--ink); background: #fff; }
.auth-divider { margin: 23px 0 16px; display: flex; align-items: center; gap: 10px; color: #9aa7ab; font-size: 10px; }.auth-divider::before,.auth-divider::after { content: ""; height: 1px; flex: 1; background: #e3e7e6; }.demo-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }.demo-actions button { min-height: 42px; border: 1px solid #dbe3e5; border-radius: 10px; background: #fff; color: var(--brand); font-size: 11px; font-weight: 700; cursor: pointer; }.demo-actions button:hover { background: var(--brand-soft); border-color: #a9c7d8; }
.auth-security { display: block; margin-top: 22px; color: #98a5a9; font-size: 10px; text-align: center; }.first-info { margin: 6px 0 20px; padding: 13px; border-radius: 10px; display: flex; gap: 10px; align-items: center; color: var(--brand); background: var(--brand-soft); }.first-info span { font-size: 18px; }.first-info p { margin: 0; font-size: 11px; line-height: 1.5; }.email-sent-mark { width: 65px; height: 65px; margin-bottom: 24px; border-radius: 20px; display: grid; place-items: center; color: var(--brand); background: var(--brand-soft); font-size: 26px; }

/* Identidade Felipe Leal Imóveis */
.segmented button.active, .step-number, .date-option.active { background: var(--brand); }
.date-option.active { border-color: var(--brand); }
.time-slot.active { border-color: var(--brand); background: var(--brand-soft); color: var(--brand); }
.summary-visual::after { background: rgba(3,76,127,.84); }
.property-thumb.has-photo::after, .track-thumb.has-photo::after, .summary-visual.has-photo::before { display: none; }
.property-thumb img, .track-thumb img, .summary-visual img { width: 100%; height: 100%; display: block; object-fit: cover; }
.summary-visual.has-photo::after { z-index: 1; }
.user-row-actions { display: flex; gap: 7px; align-items: center; }
.user-row-actions .user-action { white-space: nowrap; }
.form-help { margin: 12px 0 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.email-error { display: block; margin-top: 5px; color: #b43c2f; font-size: 9px; line-height: 1.4; }
.required-chip, .optional-chip { margin-left: 6px; padding: 3px 6px; border-radius: 8px; font-size: 7px; font-style: normal; font-weight: 700; }
.required-chip { color: var(--brand); background: var(--brand-soft); }
.optional-chip { color: var(--muted); background: #f0f2ef; }
.branding-layout { display: grid; grid-template-columns: 210px 1fr; gap: 24px; padding: 20px; }
.brand-preview { min-height: 150px; padding: 20px; border-radius: 14px; background: var(--brand); color: #fff; display: grid; place-items: center; text-align: center; }
.brand-preview img { max-width: 150px; max-height: 70px; object-fit: contain; margin-bottom: 12px; }
.brand-preview strong { display: block; font-size: 14px; }
.brand-preview small { display: block; margin-top: 4px; opacity: .75; font-size: 8px; }
.upload-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.upload-box { min-height: 94px; padding: 15px; border: 1px dashed #b8c8d3; border-radius: 12px; background: #f9fbfc; position: relative; cursor: pointer; }
.upload-box:hover { border-color: var(--brand); background: var(--brand-soft); }
.upload-box input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.upload-box span { width: 30px; height: 30px; margin-bottom: 8px; display: grid; place-items: center; border-radius: 8px; background: var(--brand-soft); color: var(--brand); }
.upload-box strong, .upload-box small { display: block; }
.upload-box strong { font-size: 9px; }
.upload-box small { margin-top: 3px; color: var(--muted); font-size: 7px; line-height: 1.4; }
.transport-options { grid-template-columns: repeat(3, 1fr); }
.transport-options .option-card label { min-height: 82px; align-items: flex-start; }
.transport-options .option-icon { flex: 0 0 auto; }
.kanban { grid-template-columns: repeat(3, minmax(260px, 1fr)); }

/* Escala de leitura confortável */
.sidebar { width: 270px; }
.main { margin-left: 270px; }
.brand strong { font-size: 21px; }
.brand small { font-size: 12px; }
.nav-label { font-size: 10px; }
.nav-item { min-height: 48px; font-size: 14px; }
.profile-copy strong { font-size: 13px; }
.profile-copy small { font-size: 11px; }
.topbar { height: 74px; }
.sync-status, .quick-book, .primary-button, .secondary-button { font-size: 12px; }
.page-head h1 { font-size: 30px; }
.page-head p { font-size: 14px; }
.card-header h2, .card-header h3 { font-size: 16px; }
.card-header p { font-size: 11px; }
.metric-label { font-size: 12px; }
.metric-value { font-size: 30px; }
.metric-detail { font-size: 10px; }
.subtle-button { font-size: 11px; }
.property-info strong, .schedule-side b { font-size: 13px; }
.property-info p, .schedule-side small { font-size: 10px; }
.legend-row { font-size: 11px; }
.queue-donut small { font-size: 10px; }
.bar-label, .rank-name small, .rank-count small { font-size: 10px; }
.bar-label b, .rank-name strong, .rank-count b { font-size: 12px; }
.segmented button, .search-field input { font-size: 11px; }
.column-head strong { font-size: 13px; }
.column-count { font-size: 10px; }
.type-pill { font-size: 9px; }
.kanban-card h4 { font-size: 14px; }
.kanban-card .address, .kanban-meta, .queue-position { font-size: 10px; }
.weekday, .day-number { font-size: 10px; }
.calendar-event { font-size: 9px; }
.mini-date span { font-size: 12px; }
.agenda-time, .agenda-content small, .free-slot { font-size: 10px; }
.agenda-content strong { font-size: 12px; }
.data-table th { font-size: 10px; }
.data-table td { font-size: 12px; }
.table-property strong { font-size: 13px; }
.status-pill { font-size: 9px; }
.section-title strong { font-size: 14px; }
.section-title small { font-size: 10px; }
.input-group label, .field label { font-size: 11px; }
.field input, .field select, .field textarea, .input-with-button input { font-size: 13px; }
.property-result strong { font-size: 13px; }
.property-result p, .verified { font-size: 10px; }
.option-copy strong { font-size: 12px; }
.option-copy small { font-size: 10px; }
.date-option small { font-size: 9px; }
.date-option b { font-size: 16px; }
.time-slot { font-size: 12px; }
.summary-body h3 { font-size: 16px; }
.summary-body > p, .summary-line strong, .summary-total { font-size: 11px; }
.summary-line small { font-size: 10px; }
/* Resumo lateral com leitura confortável */
.summary-body { padding: 22px; }
.summary-body h3 { margin-bottom: 6px; font-size: 19px; }
.summary-body > p { margin-bottom: 20px; font-size: 13px; line-height: 1.5; }
.summary-list { gap: 17px; }
.summary-line { grid-template-columns: 30px 1fr; gap: 11px; }
.summary-line > span { width: 30px; height: 30px; font-size: 13px; }
.summary-line strong { font-size: 13px; line-height: 1.35; }
.summary-line small { margin-top: 3px; font-size: 12px; line-height: 1.55; }
.summary-total { margin: 21px 0; padding: 15px 0; font-size: 13px; }
.summary-visual::after { font-size: 9px; }
.summary-card .full-button { min-height: 46px; font-size: 13px; }
.track-info h3 { font-size: 15px; }
.track-info p, .timeline-step span, .track-code { font-size: 10px; }
.integration-title h3 { font-size: 15px; }
.integration-title p, .detail-row { font-size: 10px; }
.connection-status { font-size: 10px; }
.automation-copy strong, .log-copy strong { font-size: 12px; }
.automation-copy p, .log-copy p, .log-time { font-size: 10px; }
.required-chip, .optional-chip { font-size: 8px; }
.user-cell { display: flex; align-items: center; gap: 10px; }.user-cell strong, .user-cell small { display: block; }.user-cell strong { font-size: 12px; }.user-cell small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.source-chip { display: inline-flex; padding: 5px 8px; border-radius: 8px; color: var(--brand); background: var(--brand-soft); font-size: 9px; font-weight: 700; }
.role-select { min-width: 135px; height: 36px; padding: 0 10px; border: 1px solid #dce3e2; border-radius: 9px; color: var(--ink); background: #fff; font-size: 11px; }.role-select:disabled { color: var(--muted); background: #f2f4f1; }
.user-action { min-width: 88px; }.user-action:disabled { opacity: .45; cursor: not-allowed; }
.permission-note { margin-top: 13px; padding: 16px 18px; display: flex; gap: 11px; border: 1px solid #cbdfe9; border-radius: 13px; color: var(--brand); background: var(--brand-soft); }.permission-note > span { font-size: 18px; }.permission-note strong { display: block; font-size: 12px; }.permission-note p { margin: 4px 0 0; color: #41677c; font-size: 11px; line-height: 1.5; }

.google-account-box { padding: 12px; display: flex; align-items: center; gap: 10px; border: 1px solid #dbe4e8; border-radius: 12px; background: #f9fbfc; }
.google-account-box > div { flex: 1; }.google-account-box strong, .google-account-box small { display: block; }.google-account-box strong { font-size: 11px; }.google-account-box small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.queue-split { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }.queue-split > span { padding: 8px 5px; border-radius: 9px; background: var(--yellow-soft); text-align: center; }.queue-split b, .queue-split small { display: block; }.queue-split b { font-size: 18px; }.queue-split small { margin-top: 2px; color: var(--muted); font-size: 9px; }.media-status-stack { display: grid; gap: 6px; }.media-status-stack .status-pill { justify-content: center; }

/* Configurações com leitura ampliada */
.settings-grid .card-header h2, .settings-grid .card-header h3 { font-size: 19px; }
.settings-grid .card-header p { font-size: 13px; line-height: 1.5; }
.settings-grid .integration-title h3 { font-size: 18px; }
.settings-grid .integration-title p { font-size: 12px; line-height: 1.5; }
.settings-grid .connection-status { font-size: 11px; }
.settings-grid .detail-row { font-size: 12px; line-height: 1.5; }
.settings-grid .integration-details { gap: 10px; padding: 14px; }
.settings-grid .integration-actions button { min-height: 42px; font-size: 12px; }
.settings-grid .field label, .branding-layout > div > label { font-size: 13px !important; }
.settings-grid .field input, .settings-grid .field select { min-height: 45px; font-size: 14px; }
.settings-grid .option-copy strong { font-size: 13px; }
.settings-grid .upload-box strong { font-size: 13px; }
.settings-grid .upload-box small { font-size: 11px; line-height: 1.5; }
.settings-grid .brand-preview strong { font-size: 18px; }
.settings-grid .brand-preview small { font-size: 11px; }
.modal-body h2 { font-size: 23px; }
.modal-body > p { font-size: 12px; }
.modal-body .field label { font-size: 12px; }
.modal-body .field input, .modal-body .field select { font-size: 13px; }
.modal-body .detail-row { font-size: 11px; }
.modal.wide { width: min(760px,100%); }
.task-mapping-grid { margin-top: 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }.task-mapping-grid section { padding: 15px; border: 1px solid #e0e5e4; border-radius: 12px; background: #fafbf9; }.task-mapping-grid h3 { margin: 0 0 13px; font-size: 14px; }.task-mapping-grid .field + .field { margin-top: 10px; }

/* Análise editorial opcional com Gemini */
.ai-analysis-bar { margin-top: 12px; padding: 12px 13px; display: flex; align-items: center; justify-content: space-between; gap: 14px; border: 1px solid #ded7f5; border-radius: 12px; background: linear-gradient(135deg,#faf8ff,#f5f2ff); }
.ai-analysis-bar > div { display: flex; align-items: center; gap: 9px; }.ai-analysis-bar strong, .ai-analysis-bar small { display: block; }.ai-analysis-bar strong { font-size: 12px; }.ai-analysis-bar small { margin-top: 3px; color: #746b8c; font-size: 10px; line-height: 1.4; }
.ai-spark { width: 32px; height: 32px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 9px; color: #fff; background: linear-gradient(145deg,#7258c6,#4b3495); font-size: 15px; }
.ai-analysis-button { min-height: 38px; padding: 0 13px; flex: 0 0 auto; border: 0; border-radius: 9px; color: #fff; background: #5f49ad; font-size: 11px; font-weight: 750; cursor: pointer; box-shadow: 0 5px 12px rgba(95,73,173,.18); }.ai-analysis-button:hover { background: #513a9e; }.ai-analysis-button:disabled { opacity: .75; cursor: progress; }
.ai-analysis-loading { margin-top: 10px; padding: 14px; display: flex; align-items: center; gap: 11px; border: 1px dashed #cfc4ed; border-radius: 11px; color: #554285; background: #fbfaff; }.ai-analysis-loading strong, .ai-analysis-loading small { display: block; }.ai-analysis-loading strong { font-size: 12px; }.ai-analysis-loading small { margin-top: 3px; color: #746b8c; font-size: 10px; }
.ai-spinner { width: 15px; height: 15px; display: inline-block; vertical-align: -3px; border: 2px solid rgba(255,255,255,.45); border-top-color: currentColor; border-radius: 50%; animation: ai-spin .75s linear infinite; }.ai-analysis-loading .ai-spinner { width: 22px; height: 22px; color: #654cad; border-color: #ddd5f3; border-top-color: currentColor; }
@keyframes ai-spin { to { transform: rotate(360deg); } }
.ai-analysis-result { margin-top: 10px; padding: 16px; border: 1px solid #d8cff1; border-radius: 13px; background: #fbfaff; box-shadow: 0 8px 20px rgba(68,48,128,.06); }
.ai-result-head { display: grid; grid-template-columns: 60px 1fr; gap: 13px; align-items: center; }.score-ring { width: 60px; height: 60px; display: flex; align-items: baseline; justify-content: center; padding-top: 14px; border: 5px solid #806bc2; border-radius: 50%; color: #4c358f; background: #fff; }.score-ring strong { font-size: 23px; line-height: 1; }.score-ring span { font-size: 10px; font-weight: 750; }.ai-eyebrow { color: #6b55ad; font-size: 8px; font-weight: 850; letter-spacing: .08em; }.ai-result-head h3 { margin: 3px 0 4px; color: #342260; font-size: 16px; }.ai-result-head p { margin: 0; color: #625a74; font-size: 10px; line-height: 1.5; }
.ai-reasons { margin-top: 13px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }.ai-reasons span { padding: 10px; border-radius: 9px; color: #625a74; background: #f2eefb; font-size: 10px; line-height: 1.45; }.ai-reasons b { display: block; margin-bottom: 3px; color: #3d2b6a; font-size: 10px; }
.ai-result-actions { margin-top: 12px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }.ai-result-actions small { color: #777083; font-size: 9px; }.ai-result-actions button { flex: 0 0 auto; }
.gemini-inputs { margin: 13px 0; padding: 13px; display: grid; gap: 7px; border-radius: 11px; color: #554285; background: #f6f3fd; }.gemini-inputs strong { margin-bottom: 2px; font-size: 12px; }.gemini-inputs span { font-size: 11px; }

/* Regras de duração, prazos e ações do agendamento */
.production-rules-grid { padding: 0 18px 20px; display: grid; grid-template-columns: 1.15fr .85fr; gap: 16px; }.operation-rule-panel { padding: 18px; border: 1px solid #e1e6e3; border-radius: 13px; background: #fafbf9; }.operation-rule-title { display: flex; gap: 11px; align-items: flex-start; }.operation-rule-title > span { width: 36px; height: 36px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 10px; color: var(--brand); background: var(--brand-soft); font-size: 16px; }.operation-rule-title h3 { margin: 0 0 4px; font-size: 16px; }.operation-rule-title p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.duration-rule-list, .deadline-rule-list { margin-top: 16px; display: grid; gap: 9px; }.duration-rule-row { min-height: 46px; display: grid; grid-template-columns: 125px 78px 30px minmax(105px,1fr); gap: 7px; align-items: center; }.duration-rule-row .rule-label { color: var(--ink-2); font-size: 12px; font-weight: 700; }.duration-rule-row input, .duration-rule-row select, .deadline-rule-row input, .deadline-rule-row select { min-height: 40px; width: 100%; padding: 0 9px; border: 1px solid #d9e0dc; border-radius: 8px; color: var(--ink); background: #fff; font-size: 12px; }.duration-rule-row .rule-unit { color: var(--muted); font-size: 11px; }.last-range { grid-column: 2 / span 2; color: var(--brand); font-size: 12px; font-weight: 750; }.operation-example { margin-top: 14px; padding: 10px 11px; border-radius: 9px; color: #41677c; background: var(--brand-soft); font-size: 11px; line-height: 1.45; }
.deadline-rule-row { min-height: 62px; padding: 9px; display: grid; grid-template-columns: 34px 1fr 62px 115px; gap: 9px; align-items: center; border: 1px solid #e5e8e6; border-radius: 10px; background: #fff; }.deadline-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; color: #6a55a3; background: #f0edf8; }.deadline-rule-row strong, .deadline-rule-row small { display: block; }.deadline-rule-row strong { font-size: 12px; }.deadline-rule-row small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.duration-calculation { margin-bottom: 13px; padding: 11px 12px; display: flex; align-items: center; gap: 9px; border: 1px solid #cddfeb; border-radius: 10px; color: var(--brand); background: var(--brand-soft); }.duration-calculation > span { font-size: 17px; }.duration-calculation strong, .duration-calculation small { display: block; }.duration-calculation strong { font-size: 12px; }.duration-calculation small { margin-top: 3px; color: #527187; font-size: 10px; }
.edit-deadline { margin-top: 10px; padding: 8px 9px; border-radius: 8px; color: #5f4b89; background: #f4f0fb; font-size: 10px; }.deadline-note { color: var(--muted); font-size: 10px; line-height: 1.5; }.queue-action, .scheduled-actions { display: grid; gap: 7px; }.scheduled-actions .secondary-button, .scheduled-actions .text-danger-button { min-height: 34px; width: 100%; }.text-danger-button { min-height: 34px; border: 1px solid #efcbc8; border-radius: 8px; color: #a4443e; background: #fff7f6; font-size: 11px; font-weight: 750; cursor: pointer; }.text-danger-button:hover { background: #fff0ef; }.danger-button { min-height: 40px; padding: 0 15px; border: 0; border-radius: 9px; color: #fff; background: #b94c45; font-weight: 750; cursor: pointer; }.status-pill.cancelled { color: #9b443e; background: #fff0ef; }

/* Dashboard filtrável e indicadores coerentes com o Kanban */
.filter-period-button { min-height: 40px; padding: 0 13px; border: 1px solid #cbd9df; border-radius: 9px; color: var(--brand); background: var(--brand-soft); font-size: 11px; font-weight: 750; cursor: pointer; }.period-options { margin-top: 15px; display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; }.period-option { min-height: 52px; padding: 10px 12px; display: flex; align-items: center; gap: 9px; border: 1px solid #dde3e0; border-radius: 10px; color: var(--ink); background: #fff; cursor: pointer; }.period-option span { color: var(--brand); }.period-option strong { font-size: 12px; }.period-option.active { border-color: var(--brand); color: var(--brand); background: var(--brand-soft); box-shadow: inset 0 0 0 1px var(--brand); }.custom-period-fields { margin-top: 12px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.custom-period-fields[hidden] { display: none; }
.queue-donut.three-stage { background: conic-gradient(var(--orange) 0 var(--queue-part),var(--purple) var(--queue-part) var(--editing-part),var(--green) var(--editing-part) 100%); }.sold-conversion-card { grid-column: span 2; }.sold-conversion { min-height: 174px; padding: 22px; display: grid; grid-template-columns: auto 1fr; align-content: center; column-gap: 16px; }.sold-conversion > strong { grid-row: span 2; color: var(--green); font-size: 54px; line-height: 1; }.sold-conversion > span { align-self: end; font-size: 15px; font-weight: 750; }.sold-conversion > small { align-self: start; margin-top: 7px; color: var(--muted); font-size: 11px; line-height: 1.5; }

/* Preferências individuais de e-mail dos administradores */
.default-off-chip { padding: 7px 9px; border-radius: 8px; color: #74623a; background: #fff5d9; font-size: 10px; font-weight: 750; }.personal-email-grid { padding: 0 18px 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.personal-email-row { min-height: 72px; padding: 12px; display: flex; align-items: center; gap: 11px; border: 1px solid #e1e6e3; border-radius: 11px; background: #fafbf9; }.personal-email-row > div { flex: 1; }.personal-email-row strong { display: block; font-size: 12px; }.personal-email-row p { margin: 4px 0 0; color: var(--muted); font-size: 10px; line-height: 1.45; }

/* Estados iniciais da instalação limpa */
.empty-state { min-height: 230px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; text-align: center; padding: 34px; }
.empty-state > span { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 15px; color: var(--brand); background: var(--brand-soft); font-size: 24px; }
.empty-state > strong { font-size: 16px; }
.empty-state > p { max-width: 390px; margin: 0 0 6px; color: var(--muted); font-size: 13px; line-height: 1.55; }
.empty-state.compact { min-height: 245px; padding: 24px 20px; }
.property-result.pending { border-style: dashed; background: #fafbf9; }
.property-placeholder-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 10px; color: var(--brand); background: var(--brand-soft); font-size: 18px; }
.integration-pending { justify-self: end; padding: 6px 8px; border-radius: 8px; color: #876c2f; background: #fff4d5; font-size: 10px; font-weight: 750; }
.sync-status.pending { color: #876c2f; background: #fff8e5; }
.sync-status.pending > span:first-child { background: #d39a2e; }
.ai-analysis-button:disabled, .primary-button:disabled { opacity: .48; cursor: not-allowed; box-shadow: none; }
.empty-panel-note { padding: 28px 18px; color: var(--muted); font-size: 13px; line-height: 1.5; text-align: center; }

@media (max-width: 1100px) {
  .metric-grid { grid-template-columns: 1fr 1fr; }
  .analytics-grid { grid-template-columns: 1fr 1fr; }.analytics-card:last-child { grid-column: 1 / -1; }
  .kanban { grid-template-columns: repeat(3, 280px); }
  .property-track-card { grid-template-columns: 120px 1fr; }.timeline { grid-column: 1 / -1; order: 3; }.track-action { grid-column: 2; grid-row: 1 / span 2; justify-self: end; }
}
@media (max-width: 700px) { .branding-layout, .task-mapping-grid, .production-rules-grid, .personal-email-grid { grid-template-columns: 1fr; }.upload-grid, .transport-options { grid-template-columns: 1fr; }.ai-analysis-bar, .ai-result-actions { align-items: stretch; flex-direction: column; }.ai-analysis-button { width: 100%; }.ai-reasons { grid-template-columns: 1fr; }.duration-rule-row { grid-template-columns: 1fr 70px 25px; }.duration-rule-row select { grid-column: 1 / -1; }.deadline-rule-row { grid-template-columns: 34px 1fr 55px; }.deadline-rule-row select { grid-column: 2 / -1; }.sold-conversion-card { grid-column: auto; } }
@media (max-width: 820px) {
  .auth-shell { grid-template-columns: 1fr; }.auth-visual { display: none; }.auth-panel { padding: 28px 20px; }.auth-mobile-brand { display: block; margin-bottom: 42px; color: var(--brand); font-size: 17px; font-weight: 800; }.auth-card h2 { font-size: 29px; }
  .sidebar { transform: translateX(-102%); transition: .25s ease; }.sidebar.open { transform: translateX(0); }.main { margin-left: 0; }.mobile-overlay { position: fixed; z-index: 25; inset: 0; background: rgba(15,33,37,.45); opacity: 0; pointer-events: none; transition: .2s; }.mobile-overlay.show { opacity: 1; pointer-events: auto; }
  .topbar { padding: 0 17px; justify-content: space-between; }.menu-button, .mobile-brand { display: grid; }.mobile-brand { font-size: 15px; font-weight: 760; }.sync-status, #search-button { display: none; }
  .view-container { padding: 22px 17px 40px; }.dashboard-main, .booking-layout, .calendar-layout { grid-template-columns: 1fr; }.summary-card { position: static; }.agenda-side { display: none; }.settings-grid { grid-template-columns: 1fr; }.settings-span { grid-column: auto; }
  .calendar-day { min-height: 82px; padding: 5px; }.calendar-event { font-size: 0; height: 7px; padding: 0; border-left: 0; border-radius: 4px; background: var(--event-color); }.property-track-card { grid-template-columns: 100px 1fr; }
}
@media (max-width: 590px) {
  .quick-book { width: 38px; padding: 0; font-size: 0; }.quick-book span { margin: 0; font-size: 19px; }.metric-grid, .analytics-grid, .automation-metrics { grid-template-columns: 1fr; }.analytics-card:last-child { grid-column: auto; }.page-head { align-items: flex-start; flex-direction: column; }.page-head h1 { font-size: 21px; }.head-actions { width: 100%; }.head-actions button { flex: 1; }.schedule-row { grid-template-columns: 47px 1fr; }.schedule-side { grid-column: 2; text-align: left; display: flex; gap: 7px; }.schedule-side small { margin-top: 1px; }.content-options { grid-template-columns: 1fr; }.date-strip { grid-template-columns: repeat(5, minmax(55px,1fr)); overflow-x: auto; }.form-grid { grid-template-columns: 1fr; }.booking-card { padding: 16px; }.property-result { grid-template-columns: 42px 1fr; }.property-result .verified { grid-column: 2; }.toolbar { flex-wrap: wrap; }.toolbar-spacer { display: none; }.search-field { flex: 1; min-width: 160px; }.data-table-wrap { overflow-x: auto; }.data-table { min-width: 720px; }.property-track-card { grid-template-columns: 1fr; }.track-thumb { height: 140px; }.track-action { grid-column: auto; grid-row: auto; justify-self: stretch; }.timeline { grid-column: auto; }.calendar-card .card-header { align-items: flex-start; flex-direction: column; }.calendar-day { min-height: 62px; }.notification-panel { width: min(340px, calc(100vw - 28px)); right: -46px; }
}

/* Tipografia final: leitura confortável em telas comuns e no celular */
.page-head p, .card-header p, .metric-label, .metric-detail, .property-info p,
.schedule-side small, .legend-row, .bar-label, .kanban-card .address, .kanban-meta,
.queue-position, .weekday, .day-number, .calendar-event, .data-table th, .status-pill,
.section-title small, .property-result p, .verified, .option-copy small, .summary-body > p,
.summary-line strong, .summary-line small, .summary-total, .track-info p, .timeline-step span,
.track-code, .integration-title p, .detail-row, .connection-status, .automation-copy p,
.personal-email-row p, .ai-result-head p, .ai-reasons span, .deadline-note,
.availability-note { font-size: 12px; line-height: 1.5; }
.primary-button, .secondary-button, .quick-book, .filter-period-button, .text-danger-button,
.danger-button, .media-button, .ai-analysis-button { font-size: 13px; }
.card-header h2, .card-header h3 { font-size: 17px; }
.property-info strong, .schedule-side b, .kanban-card h4, .table-property strong,
.section-title strong, .property-result strong, .option-copy strong, .summary-body h3,
.track-info h3, .automation-copy strong, .personal-email-row strong { font-size: 14px; }
.field label, .input-group label { font-size: 13px; }
.field input, .field select, .field textarea, .input-with-button input { min-height: 44px; font-size: 14px; }
.data-table td { font-size: 13px; }
.summary-body { padding: 22px; }
.summary-body h3 { font-size: 18px; }
.summary-line small { font-size: 13px; }
.summary-line strong { font-size: 12px; }
.settings-grid .card-header h2, .settings-grid .card-header h3 { font-size: 21px; }
.settings-grid .card-header p, .settings-grid .integration-title p, .settings-grid .detail-row,
.settings-grid .connection-status, .settings-grid .upload-box small { font-size: 14px; }
.settings-grid .integration-title h3 { font-size: 20px; }
.settings-grid .field label { font-size: 15px !important; }
.settings-grid .field input, .settings-grid .field select { min-height: 48px; font-size: 15px; }
.settings-grid .integration-actions button { min-height: 44px; font-size: 14px; }
.booking-date-field { max-width: 280px; margin: 14px 0; }
.availability-note { margin: 12px 0 0; color: var(--muted); }
.calendar-event.external { --event-color:#718087; --event-bg:#eef1f1; }
.material-line { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.material-line b { font-size:12px; color:var(--muted); }
.table-actions { display:flex; flex-wrap:wrap; gap:7px; }
.table-actions button { min-height:34px; white-space:nowrap; }
.auth-secondary { margin-top:10px; }
.toast > span { display:block; margin-top:3px; }

@media (max-width: 820px) {
  .summary-line small, .property-result p, .option-copy small { font-size: 13px; }
  .settings-grid .card-header p, .settings-grid .integration-title p, .settings-grid .detail-row { font-size: 13px; }
}
