:root,
html[data-oto760-theme="ocean"] {
  --navy: #073852;
  --teal: #0799ad;
  --ink: #122b45;
  --muted: #647d92;
  --surface: #ffffff;
  --soft: #f1f7fa;
  --line: #d3e2ea;
  --oto760-page: #edf5f8;
  --oto760-accent-soft: #dff3f6;
}

html[data-oto760-theme="emerald"] {
  --navy: #164f43;
  --teal: #238a70;
  --ink: #18352e;
  --muted: #668078;
  --surface: #fffefa;
  --soft: #f1f7f2;
  --line: #d2e3da;
  --oto760-page: #edf5f0;
  --oto760-accent-soft: #dff1e8;
}

html[data-oto760-theme="night"] {
  color-scheme: dark;
  --navy: #091d2d;
  --teal: #32b6cf;
  --ink: #edf7fb;
  --muted: #a6becb;
  --surface: #112b3d;
  --soft: #17384d;
  --line: #31556a;
  --oto760-page: #0b2232;
  --oto760-accent-soft: #16475a;
}

html[data-oto760-theme="copper"] {
  --navy: #57382b;
  --teal: #b86635;
  --ink: #3d2a22;
  --muted: #806c60;
  --surface: #fffdf8;
  --soft: #f7eee2;
  --line: #e4d2c2;
  --oto760-page: #f3eadf;
  --oto760-accent-soft: #f3dfcd;
}

html[data-oto760-theme] body { background-color: var(--oto760-page); color: var(--ink); }
html[data-oto760-theme="night"] .dashboard-wrap,
html[data-oto760-theme="night"] .workflow-column,
html[data-oto760-theme="night"] .module-frame,
html[data-oto760-theme="night"] .record-frame,
html[data-oto760-theme="night"] .transaction-frame { background-color: var(--oto760-page); color: var(--ink); }
html[data-oto760-theme="night"] input,
html[data-oto760-theme="night"] select,
html[data-oto760-theme="night"] textarea { color: var(--ink); background: var(--surface); border-color: var(--line); }

.oto760-meeting-start-module > button:first-child b { color: var(--teal); }

.oto760-web-theme-section {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.oto760-web-theme-section > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 9px;
}

.oto760-web-theme-section > header span { display: grid; gap: 2px; }
.oto760-web-theme-section > header strong { color: var(--ink); font-size: 12px; }
.oto760-web-theme-section > header small { color: var(--muted); font-size: 9px; }
.oto760-web-theme-section > header > b { border-radius: 999px; padding: 4px 8px; color: var(--teal); background: var(--oto760-accent-soft); font-size: 9px; }
.oto760-web-theme-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.oto760-web-theme-grid button { position: relative; min-width: 0; display: grid; grid-template-columns: 44px minmax(0, 1fr) 18px; align-items: center; gap: 8px; border: 1px solid var(--line); border-radius: 13px; padding: 9px; color: var(--ink); background: var(--surface); text-align: left; cursor: pointer; transition: border-color 160ms ease, transform 160ms ease, box-shadow 160ms ease; }
.oto760-web-theme-grid button:hover { transform: translateY(-1px); border-color: var(--teal); }
.oto760-web-theme-grid button.selected { border-color: var(--teal); box-shadow: 0 0 0 2px color-mix(in srgb, var(--teal) 14%, transparent); }
.oto760-web-theme-palette { width: 44px; height: 34px; display: grid; grid-template-columns: repeat(3, 1fr); overflow: hidden; border: 1px solid color-mix(in srgb, var(--line) 80%, transparent); border-radius: 10px; }
.oto760-web-theme-palette i { display: block; }
.oto760-web-theme-grid button > span:nth-child(2) { min-width: 0; display: grid; gap: 2px; }
.oto760-web-theme-grid button strong { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.oto760-web-theme-grid button small { overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.oto760-web-theme-grid button > b { display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; color: transparent; background: var(--soft); font-size: 10px; }
.oto760-web-theme-grid button.selected > b { color: #fff; background: var(--teal); }

body.oto760-meeting-open { overflow: hidden; }
.oto760-meeting-center { position: fixed; inset: 0; z-index: 980; display: grid; place-items: center; padding: 22px; background: rgba(4, 24, 39, .58); backdrop-filter: blur(8px); }
.oto760-meeting-center[hidden], .oto760-meeting-editor[hidden] { display: none; }
.oto760-meeting-frame { position: relative; width: min(1380px, 96vw); height: min(900px, 94vh); display: grid; grid-template-rows: auto auto auto minmax(0, 1fr); overflow: hidden; border: 1px solid color-mix(in srgb, var(--teal) 45%, var(--line)); border-radius: 24px; color: var(--ink); background: var(--oto760-page); box-shadow: 0 32px 90px rgba(2, 18, 31, .38); animation: oto760-meeting-enter 260ms cubic-bezier(.22, 1, .36, 1); }
@keyframes oto760-meeting-enter { from { opacity: 0; transform: translateY(18px) scale(.985); } to { opacity: 1; transform: none; } }
.oto760-meeting-header { min-height: 82px; display: grid; grid-template-columns: 52px minmax(0, 1fr) auto auto; align-items: center; gap: 12px; padding: 13px 18px; color: #fff; background: linear-gradient(120deg, var(--navy), color-mix(in srgb, var(--navy) 70%, var(--teal))); }
.oto760-meeting-brand-icon { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 16px; background: var(--teal); font-size: 24px; }
.oto760-meeting-brand { display: grid; gap: 4px; }
.oto760-meeting-brand strong { font-size: 20px; letter-spacing: .02em; }
.oto760-meeting-brand small { color: rgba(255,255,255,.72); font-size: 11px; }
.oto760-meeting-header button { min-height: 44px; border-radius: 13px; padding: 0 18px; color: #fff; font-size: 12px; font-weight: 800; cursor: pointer; }
.oto760-meeting-new { border: 1px solid color-mix(in srgb, var(--teal) 70%, #fff); background: var(--teal); }
.oto760-meeting-close { border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.08); }
.oto760-meeting-toolbar { min-height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 10px 18px; border-bottom: 1px solid var(--line); background: var(--surface); }
.oto760-meeting-toolbar > span { display: flex; align-items: center; gap: 10px; }
.oto760-meeting-toolbar > span strong { font-size: 12px; }
.oto760-meeting-toolbar > span small { color: var(--muted); font-size: 10px; }
.oto760-meeting-toolbar nav { display: flex; align-items: center; gap: 6px; }
.oto760-meeting-toolbar nav button { min-height: 34px; border: 1px solid var(--line); border-radius: 10px; padding: 0 12px; color: var(--muted); background: var(--soft); font-size: 10px; font-weight: 800; cursor: pointer; }
.oto760-meeting-toolbar nav button.selected { color: #fff; border-color: var(--teal); background: var(--teal); }
.oto760-meeting-status { padding: 10px 18px; color: var(--teal); background: var(--oto760-accent-soft); font-size: 11px; font-weight: 700; }
.oto760-meeting-status.error { color: #ad3440; background: #fff0f1; }
.oto760-meeting-status[hidden] { display: none; }
.oto760-meeting-body { min-height: 0; display: grid; grid-template-columns: minmax(300px, 33%) minmax(0, 1fr); gap: 12px; padding: 12px; }
.oto760-meeting-list, .oto760-meeting-detail { min-height: 0; overflow: auto; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); }
.oto760-meeting-list { padding: 10px; }
.oto760-meeting-card { position: relative; width: 100%; display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; align-items: center; gap: 10px; border: 1px solid var(--line); border-left: 4px solid var(--teal); border-radius: 15px; padding: 10px; color: var(--ink); background: var(--soft); text-align: left; cursor: pointer; opacity: .9; transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease; }
.oto760-meeting-card + .oto760-meeting-card { margin-top: 8px; }
.oto760-meeting-card:hover { transform: translateY(-1px); }
.oto760-meeting-card.selected { opacity: 1; border-color: var(--teal); box-shadow: 0 0 0 2px color-mix(in srgb, var(--teal) 12%, transparent); }
.oto760-meeting-card.status-active { border-left-color: #7f57c7; }
.oto760-meeting-card.status-upcoming { border-left-color: #2b9b68; }
.oto760-meeting-card.status-past { border-left-color: #cf4b56; opacity: .58; }
.oto760-meeting-card-day { width: 56px; height: 58px; display: grid; place-content: center; border-radius: 13px; color: #fff; background: var(--teal); text-align: center; }
.oto760-meeting-card.status-active .oto760-meeting-card-day { background: #7f57c7; }
.oto760-meeting-card.status-upcoming .oto760-meeting-card-day { background: #2b9b68; }
.oto760-meeting-card.status-past .oto760-meeting-card-day { background: #b8545d; }
.oto760-meeting-card-day strong { font-size: 18px; line-height: 1; }
.oto760-meeting-card-day small { margin-top: 4px; font-size: 9px; }
.oto760-meeting-card-copy { min-width: 0; display: grid; gap: 3px; }
.oto760-meeting-card-copy strong, .oto760-meeting-card-copy span, .oto760-meeting-card-copy b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.oto760-meeting-card-copy strong { font-size: 12px; }
.oto760-meeting-card-copy span { color: var(--muted); font-size: 10px; }
.oto760-meeting-card-copy b { color: var(--teal); font-size: 9px; }
.oto760-meeting-card em { align-self: start; border-radius: 999px; padding: 5px 7px; color: var(--teal); background: var(--oto760-accent-soft); font-size: 8px; font-style: normal; font-weight: 800; white-space: nowrap; }
.oto760-meeting-detail { padding: 18px; }
.oto760-meeting-detail.empty { display: grid; place-content: center; gap: 6px; color: var(--muted); text-align: center; }
.oto760-meeting-detail.empty strong { color: var(--ink); }
.oto760-meeting-detail-actions { display: flex; justify-content: flex-end; gap: 8px; margin-bottom: 14px; }
.oto760-meeting-detail-actions button { min-height: 40px; border: 1px solid var(--line); border-radius: 12px; padding: 0 15px; color: var(--ink); background: var(--surface); font-size: 10px; font-weight: 800; cursor: pointer; }
.oto760-meeting-detail-actions button.primary { color: #fff; border-color: var(--teal); background: var(--teal); }
.oto760-meeting-detail-actions button.danger { color: #fff; border-color: #b83945; background: #b83945; }
.oto760-meeting-detail > header { padding-bottom: 15px; border-bottom: 1px solid var(--line); }
.oto760-meeting-detail-state { display: inline-flex; border-radius: 999px; padding: 6px 10px; color: var(--teal); background: var(--oto760-accent-soft); font-size: 9px; font-weight: 900; }
.oto760-meeting-detail h2 { margin: 12px 0 5px; font-size: 25px; }
.oto760-meeting-detail p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.oto760-meeting-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 15px 0; }
.oto760-meeting-facts > span { display: grid; gap: 5px; border: 1px solid var(--line); border-radius: 14px; padding: 12px; background: var(--soft); }
.oto760-meeting-facts small { color: var(--muted); font-size: 8px; }
.oto760-meeting-facts strong { font-size: 11px; }
.oto760-meeting-detail-participants h3 { margin: 0 0 8px; font-size: 12px; }
.oto760-meeting-detail-participants > div { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: center; gap: 9px; padding: 8px 4px; border-top: 1px solid var(--line); }
.oto760-meeting-detail-participants > div > b { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--teal); font-size: 10px; }
.oto760-meeting-detail-participants > div > span { display: grid; gap: 2px; }
.oto760-meeting-detail-participants strong { font-size: 11px; }
.oto760-meeting-detail-participants small { color: var(--muted); font-size: 9px; }
.oto760-meeting-detail-participants em { color: #249164; font-size: 9px; font-style: normal; }
.oto760-meeting-empty { min-height: 180px; display: grid; place-content: center; gap: 6px; padding: 20px; color: var(--muted); text-align: center; }
.oto760-meeting-empty strong { color: var(--ink); }
.oto760-meeting-empty span { max-width: 240px; font-size: 10px; line-height: 1.5; }

.oto760-meeting-editor { position: absolute; inset: 0; z-index: 4; display: grid; place-items: center; padding: 20px; background: rgba(4, 24, 39, .54); backdrop-filter: blur(5px); }
.oto760-meeting-form { width: min(860px, 94%); max-height: 94%; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; overflow: hidden; border: 1px solid var(--line); border-radius: 20px; color: var(--ink); background: var(--surface); box-shadow: 0 24px 70px rgba(3, 24, 40, .3); }
.oto760-meeting-form > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 18px; color: #fff; background: var(--navy); }
.oto760-meeting-form > header span { display: grid; gap: 3px; }
.oto760-meeting-form > header strong { font-size: 17px; }
.oto760-meeting-form > header small { color: rgba(255,255,255,.7); font-size: 10px; }
.oto760-meeting-form > header button { width: 36px; height: 36px; border: 1px solid rgba(255,255,255,.2); border-radius: 11px; color: #fff; background: rgba(255,255,255,.08); font-size: 22px; cursor: pointer; }
.oto760-meeting-form-content { min-height: 0; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; overflow: auto; padding: 17px; }
.oto760-meeting-form-content label { display: grid; align-content: start; gap: 6px; }
.oto760-meeting-form-content label.full, .oto760-meeting-participant-field.full { grid-column: 1 / -1; }
.oto760-meeting-form-content label > span, .oto760-meeting-participant-field > header strong { font-size: 10px; font-weight: 800; }
.oto760-meeting-form-content input, .oto760-meeting-form-content textarea, .oto760-meeting-form-content select { width: 100%; border: 1px solid var(--line); border-radius: 11px; padding: 10px 11px; color: var(--ink); background: var(--soft); font: inherit; font-size: 11px; }
.oto760-meeting-form-content textarea { resize: vertical; }
.oto760-meeting-participant-field { overflow: hidden; border: 1px solid var(--line); border-radius: 14px; }
.oto760-meeting-participant-field > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; background: var(--soft); }
.oto760-meeting-participant-field > header span { display: grid; gap: 2px; }
.oto760-meeting-participant-field > header small { color: var(--muted); font-size: 8px; }
.oto760-meeting-participant-field > header input { max-width: 220px; background: var(--surface); }
.oto760-meeting-participants { max-height: 220px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 10px; overflow: auto; padding: 8px 10px; }
.oto760-meeting-participants label { grid-template-columns: 18px 34px minmax(0, 1fr); align-items: center; gap: 8px; padding: 7px 4px; border-bottom: 1px solid var(--line); cursor: pointer; }
.oto760-meeting-participants label > input { width: 16px; height: 16px; margin: 0; padding: 0; accent-color: var(--teal); }
.oto760-meeting-participants label > b { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--teal); font-size: 9px; }
.oto760-meeting-participants label > span { min-width: 0; display: grid; gap: 2px; }
.oto760-meeting-participants label strong { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.oto760-meeting-participants label small { color: var(--muted); font-size: 8px; }
.oto760-meeting-participant-empty { grid-column: 1 / -1; padding: 22px; color: var(--muted); font-size: 10px; text-align: center; }
.oto760-meeting-form > footer { display: flex; align-items: center; justify-content: flex-end; gap: 9px; padding: 11px 17px; border-top: 1px solid var(--line); background: var(--soft); }
.oto760-meeting-form > footer > span { margin-right: auto; color: #b33c46; font-size: 10px; }
.oto760-meeting-form > footer button { min-height: 40px; border: 1px solid var(--line); border-radius: 11px; padding: 0 16px; color: var(--ink); background: var(--surface); font-size: 10px; font-weight: 800; cursor: pointer; }
.oto760-meeting-form > footer button[type="submit"] { color: #fff; border-color: var(--teal); background: var(--teal); }
.oto760-meeting-form > footer button:disabled { opacity: .5; cursor: default; }

@media (max-width: 820px) {
  .oto760-web-theme-grid { grid-template-columns: 1fr; }
  .oto760-meeting-center { padding: 0; }
  .oto760-meeting-frame { width: 100%; height: 100%; border: 0; border-radius: 0; }
  .oto760-meeting-header { grid-template-columns: 44px minmax(0, 1fr) auto; }
  .oto760-meeting-brand-icon { width: 44px; height: 44px; }
  .oto760-meeting-new { grid-column: 1 / -1; grid-row: 2; }
  .oto760-meeting-close { grid-column: 3; grid-row: 1; }
  .oto760-meeting-toolbar { align-items: stretch; flex-direction: column; }
  .oto760-meeting-toolbar nav { overflow-x: auto; }
  .oto760-meeting-body { grid-template-columns: 1fr; }
  .oto760-meeting-list { max-height: 38vh; }
  .oto760-meeting-facts { grid-template-columns: 1fr; }
  .oto760-meeting-form-content { grid-template-columns: 1fr; }
  .oto760-meeting-form-content label.full, .oto760-meeting-participant-field.full { grid-column: auto; }
  .oto760-meeting-participants { grid-template-columns: 1fr; }
}

body.oto760-productivity-open { overflow: hidden; }
.oto760-productivity-start-module > button:first-child b { color: var(--teal); }
.oto760-productivity-center { position: fixed; inset: 0; z-index: 975; display: grid; place-items: center; padding: 22px; color: var(--ink); background: rgba(4, 24, 39, .58); backdrop-filter: blur(8px); }
.oto760-productivity-center[hidden], .oto760-notes-view[hidden], .oto760-calendar-view[hidden] { display: none; }
.oto760-productivity-frame { width: min(1320px, 96vw); height: min(860px, 94vh); display: grid; grid-template-rows: auto minmax(0, 1fr); overflow: hidden; border: 1px solid color-mix(in srgb, var(--teal) 44%, var(--line)); border-radius: 24px; background: var(--oto760-page); box-shadow: 0 32px 90px rgba(2, 18, 31, .38); animation: oto760-meeting-enter 260ms cubic-bezier(.22, 1, .36, 1); }
.oto760-productivity-header { min-height: 82px; display: grid; grid-template-columns: 52px minmax(0, 1fr) auto auto; align-items: center; gap: 12px; padding: 13px 18px; color: #fff; background: linear-gradient(120deg, var(--navy), color-mix(in srgb, var(--navy) 70%, var(--teal))); }
.oto760-productivity-icon { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 16px; background: var(--teal); font-size: 25px; }
.oto760-productivity-heading { display: grid; gap: 4px; }
.oto760-productivity-heading strong { font-size: 20px; }
.oto760-productivity-heading small { color: rgba(255,255,255,.72); font-size: 11px; }
.oto760-productivity-header nav { display: flex; gap: 6px; }
.oto760-productivity-header button { min-height: 42px; border: 1px solid rgba(255,255,255,.2); border-radius: 12px; padding: 0 15px; color: #fff; background: rgba(255,255,255,.08); font-size: 11px; font-weight: 800; cursor: pointer; }
.oto760-productivity-header nav button.selected { border-color: var(--teal); background: var(--teal); }
.oto760-productivity-frame > main { min-height: 0; padding: 12px; }

.oto760-notes-view { height: 100%; min-height: 0; display: grid; grid-template-columns: minmax(270px, 32%) minmax(0, 1fr); gap: 12px; }
.oto760-notes-view > aside, .oto760-note-editor { min-height: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); }
.oto760-notes-view > aside { display: grid; grid-template-rows: auto minmax(0, 1fr); }
.oto760-notes-view > aside > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px; border-bottom: 1px solid var(--line); background: var(--soft); }
.oto760-notes-view > aside > header span { display: grid; gap: 2px; }
.oto760-notes-view > aside > header strong { font-size: 12px; }
.oto760-notes-view > aside > header small { color: var(--muted); font-size: 9px; }
.oto760-notes-view > aside > header button { min-height: 36px; border: 1px solid var(--teal); border-radius: 11px; padding: 0 11px; color: #fff; background: var(--teal); font-size: 9px; font-weight: 800; cursor: pointer; }
.oto760-notes-list { min-height: 0; overflow: auto; padding: 9px; }
.oto760-note-card { width: 100%; display: grid; gap: 5px; border: 1px solid var(--line); border-left: 4px solid var(--teal); border-radius: 13px; padding: 11px; color: var(--ink); background: var(--soft); text-align: left; cursor: pointer; }
.oto760-note-card + .oto760-note-card { margin-top: 7px; }
.oto760-note-card.selected { border-color: var(--teal); box-shadow: 0 0 0 2px color-mix(in srgb, var(--teal) 12%, transparent); }
.oto760-note-card strong, .oto760-note-card span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.oto760-note-card strong { font-size: 11px; }
.oto760-note-card span { color: var(--muted); font-size: 9px; }
.oto760-note-card small { color: var(--teal); font-size: 8px; }
.oto760-notes-list-empty, .oto760-note-empty { height: 100%; min-height: 180px; display: grid; place-content: center; gap: 6px; color: var(--muted); text-align: center; }
.oto760-notes-list-empty strong, .oto760-note-empty strong { color: var(--ink); }
.oto760-notes-list-empty span, .oto760-note-empty span { font-size: 10px; }
.oto760-note-editor { display: grid; grid-template-rows: auto auto minmax(0, 1fr) auto; padding: 15px; }
.oto760-note-editor > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.oto760-note-editor > header span { display: grid; gap: 2px; }
.oto760-note-editor > header strong { font-size: 12px; }
.oto760-note-editor > header small { color: var(--muted); font-size: 8px; }
.oto760-note-editor > header button { min-height: 34px; border: 1px solid #d6a2a8; border-radius: 10px; padding: 0 11px; color: #a6323d; background: #fff2f3; font-size: 9px; font-weight: 800; cursor: pointer; }
.oto760-note-editor > input { border: 0; border-bottom: 1px solid var(--line); padding: 10px 4px; color: var(--ink); background: transparent; font-size: 22px; font-weight: 800; outline: none; }
.oto760-note-editor > textarea { width: 100%; min-height: 0; resize: none; border: 0; padding: 14px 4px; color: var(--ink); background: transparent; font: inherit; font-size: 12px; line-height: 1.7; outline: none; }
.oto760-note-editor > footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-top: 10px; border-top: 1px solid var(--line); }
.oto760-note-editor > footer span { color: var(--muted); font-size: 9px; }
.oto760-note-editor > footer button { min-height: 40px; border: 1px solid var(--teal); border-radius: 11px; padding: 0 15px; color: #fff; background: var(--teal); font-size: 10px; font-weight: 800; cursor: pointer; }

.oto760-calendar-view { height: 100%; min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 31%); gap: 12px; }
.oto760-calendar-board, .oto760-calendar-agenda { min-height: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); }
.oto760-calendar-board { display: grid; grid-template-rows: auto auto minmax(0, 1fr); }
.oto760-calendar-board > header { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto 38px; align-items: center; gap: 8px; padding: 11px; border-bottom: 1px solid var(--line); background: var(--soft); }
.oto760-calendar-board > header span { display: grid; gap: 2px; text-align: center; }
.oto760-calendar-board > header strong { font-size: 14px; text-transform: capitalize; }
.oto760-calendar-board > header small { color: var(--muted); font-size: 8px; }
.oto760-calendar-board > header button { height: 36px; border: 1px solid var(--line); border-radius: 10px; color: var(--ink); background: var(--surface); font-weight: 800; cursor: pointer; }
.oto760-calendar-board > header button:nth-of-type(2) { padding: 0 12px; color: #fff; border-color: var(--teal); background: var(--teal); font-size: 9px; }
.oto760-calendar-weekdays { display: grid; grid-template-columns: repeat(7, 1fr); border-bottom: 1px solid var(--line); background: var(--surface); }
.oto760-calendar-weekdays b { padding: 8px; color: var(--muted); font-size: 8px; text-align: center; }
.oto760-calendar-grid { min-height: 0; display: grid; grid-template-columns: repeat(7, 1fr); grid-template-rows: repeat(6, minmax(66px, 1fr)); overflow: auto; }
.oto760-calendar-day { min-width: 0; display: flex; align-items: stretch; flex-direction: column; gap: 3px; overflow: hidden; border: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 6px; color: var(--ink); background: var(--surface); text-align: left; cursor: pointer; }
.oto760-calendar-day:nth-child(7n) { border-right: 0; }
.oto760-calendar-day.outside { opacity: .4; background: var(--soft); }
.oto760-calendar-day.today > strong { color: #fff; background: var(--teal); }
.oto760-calendar-day.selected { box-shadow: inset 0 0 0 2px var(--teal); background: var(--oto760-accent-soft); }
.oto760-calendar-day > strong { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 8px; font-size: 9px; }
.oto760-calendar-day > span { overflow: hidden; border-radius: 5px; padding: 3px 4px; color: #fff; background: #2e9870; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.oto760-calendar-day > span.meeting { background: #7654bd; }
.oto760-calendar-day > small { color: var(--muted); font-size: 7px; }
.oto760-calendar-agenda { display: grid; grid-template-rows: auto minmax(120px, 1fr) auto; }
.oto760-calendar-agenda > header { padding: 13px; border-bottom: 1px solid var(--line); background: var(--soft); }
.oto760-calendar-agenda > header span { display: grid; gap: 2px; }
.oto760-calendar-agenda > header strong { font-size: 12px; text-transform: capitalize; }
.oto760-calendar-agenda > header small { color: var(--muted); font-size: 8px; }
.oto760-calendar-agenda-list { min-height: 0; overflow: auto; padding: 9px; }
.oto760-calendar-agenda-list article { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; gap: 8px; border: 1px solid var(--line); border-left: 4px solid #2e9870; border-radius: 12px; padding: 9px; background: var(--soft); }
.oto760-calendar-agenda-list article.kind-meeting { border-left-color: #7654bd; }
.oto760-calendar-agenda-list article + article { margin-top: 7px; }
.oto760-calendar-agenda-list article > b { color: var(--teal); font-size: 9px; }
.oto760-calendar-agenda-list article > span { min-width: 0; display: grid; gap: 2px; }
.oto760-calendar-agenda-list article strong, .oto760-calendar-agenda-list article small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.oto760-calendar-agenda-list article strong { font-size: 10px; }
.oto760-calendar-agenda-list article small { color: var(--muted); font-size: 8px; }
.oto760-calendar-agenda-list article button { min-height: 30px; border: 1px solid var(--line); border-radius: 9px; padding: 0 8px; color: var(--ink); background: var(--surface); font-size: 8px; font-weight: 800; cursor: pointer; }
.oto760-calendar-agenda-empty { min-height: 110px; display: grid; place-content: center; gap: 5px; color: var(--muted); text-align: center; }
.oto760-calendar-agenda-empty strong { color: var(--ink); }
.oto760-calendar-agenda-empty span { font-size: 9px; }
#oto760CalendarEventForm { display: grid; grid-template-columns: 1fr 110px; gap: 8px; padding: 11px; border-top: 1px solid var(--line); background: var(--soft); }
#oto760CalendarEventForm > strong { grid-column: 1 / -1; font-size: 10px; }
#oto760CalendarEventForm label { display: grid; gap: 4px; }
#oto760CalendarEventForm label:nth-of-type(3) { grid-column: 1 / -1; }
#oto760CalendarEventForm label span { color: var(--muted); font-size: 8px; }
#oto760CalendarEventForm input, #oto760CalendarEventForm textarea { width: 100%; border: 1px solid var(--line); border-radius: 9px; padding: 8px; color: var(--ink); background: var(--surface); font: inherit; font-size: 9px; }
#oto760CalendarEventForm button { grid-column: 1 / -1; min-height: 36px; border: 1px solid var(--teal); border-radius: 10px; color: #fff; background: var(--teal); font-size: 9px; font-weight: 800; cursor: pointer; }

@media (max-width: 820px) {
  .oto760-productivity-center { padding: 0; }
  .oto760-productivity-frame { width: 100%; height: 100%; border: 0; border-radius: 0; }
  .oto760-productivity-header { grid-template-columns: 44px minmax(0, 1fr) auto; }
  .oto760-productivity-icon { width: 44px; height: 44px; }
  .oto760-productivity-header nav { grid-column: 1 / -1; grid-row: 2; }
  .oto760-productivity-close { grid-column: 3; grid-row: 1; }
  .oto760-notes-view, .oto760-calendar-view { grid-template-columns: 1fr; }
  .oto760-notes-view > aside, .oto760-calendar-board { max-height: 48vh; }
}
.oto760-meeting-start-module,
.oto760-productivity-start-module {
    isolation: isolate;
    border-radius: 13px;
    background: var(--surface);
}

.oto760-meeting-start-module > button:first-child,
.oto760-productivity-start-module > button:first-child {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    padding-right: 38px;
}
.oto760-web-start-cart-module-copy > b {
    display: block !important;
    margin-top: 1px;
    color: #07869a !important;
    font-size: .61rem !important;
    font-weight: 900;
    line-height: 1.05;
}

.oto760-web-start-panel > .oto760-web-theme-section {
    max-height: 52px;
    flex: 0 0 auto;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    border-top: 1px solid var(--line);
    background: var(--surface);
    box-shadow: 0 -10px 24px rgb(3 26 48 / 0%);
    transition: max-height .3s ease, box-shadow .3s ease;
}

.oto760-web-start-panel > .oto760-web-theme-section.is-open {
    max-height: min(46vh, 310px);
    box-shadow: 0 -10px 24px rgb(3 26 48 / 14%);
}

.oto760-web-start-panel > .oto760-web-theme-section > header {
    min-height: 52px;
    margin: 0 !important;
    padding: 9px 14px;
    cursor: pointer;
    user-select: none;
}

.oto760-web-start-panel > .oto760-web-theme-section > header::after {
    content: "\2303";
    width: 24px;
    height: 24px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    color: var(--teal);
    background: var(--oto760-accent-soft);
    font-weight: 900;
}

.oto760-web-start-panel > .oto760-web-theme-section.is-open > header::after {
    content: "\2304";
}

.oto760-web-start-panel > .oto760-web-theme-section > .oto760-web-theme-grid {
    max-height: min(38vh, 245px);
    padding: 0 10px 12px;
    overflow-x: hidden;
    overflow-y: auto;
    opacity: 0;
    pointer-events: none;
    transform: translateY(18px);
    transition: opacity .22s ease, transform .3s ease;
}

.oto760-web-start-panel > .oto760-web-theme-section.is-open > .oto760-web-theme-grid {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}
.oto760-web-start-panel {
    display: flex;
    height: min(78vh, 720px);
    flex-direction: column;
    overflow: hidden !important;
}

.oto760-web-start-panel > header {
    flex: 0 0 auto;
}

.oto760-web-start-scroll-frame {
    min-height: 0;
    flex: 1 1 auto;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-color: #7898a6 transparent;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
}

.oto760-web-start-scroll-frame::-webkit-scrollbar {
    width: 10px;
}

.oto760-web-start-scroll-frame::-webkit-scrollbar-track {
    background: transparent;
}

.oto760-web-start-scroll-frame::-webkit-scrollbar-thumb {
    border: 2px solid transparent;
    border-radius: 999px;
    background: #7898a6;
    background-clip: padding-box;
}

.oto760-web-start-scroll-frame > footer {
    padding: 9px 14px 11px;
    border-top: 1px solid #c9dfe8;
    color: var(--muted);
    font-size: .63rem;
    font-weight: 700;
    letter-spacing: .04em;
}
.oto760-web-start-grid .oto760-web-start-cart-module-count {
    right: 6px !important;
    bottom: 6px !important;
    left: auto !important;
    width: 28px !important;
    height: 28px !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 1px solid #d99421;
    border-radius: 9px !important;
    color: #fff;
    background: linear-gradient(145deg, #d98c25, #b96332);
    box-shadow: 0 4px 12px rgb(184 102 53 / 22%);
    font-size: .72rem;
    font-weight: 900;
    line-height: 1;
}
