/* ORBO / an editorial workspace.
   Fentura organizes work; Fleur punctuates the reading rhythm.
   Blue identifies a decision, attention due, or the current location.
   This opt-in shell never changes Gestion Inzel or client artwork. */
/* GC Fentura: Light for reading, Medium for headings and decisions.
   La Fleur Grande: one meaningful word per phrase only; navigation and the Orbo wordmark are the exceptions. */
@font-face {font-family:GC Fentura;src:url('/orbo-fentura-light.otf') format('opentype');font-weight:300;font-style:normal;font-display:swap}
@font-face {font-family:GC Fentura;src:url('/orbo-fentura-medium.otf') format('opentype');font-weight:500;font-style:normal;font-display:swap}
@font-face {font-family:La Fleur Grande;src:url('/orbo-fleur-regular.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap}
@font-face {font-family:La Fleur Grande;src:url('/orbo-fleur-italic.otf') format('opentype');font-weight:400;font-style:italic;font-display:swap}
:root {
  --ink:#252523;
  --paper:#e9e5dc;
  --ground:#ddd8ce;
  --muted:#5d5b54;
  --line:#c5c0b6;
  --line-strong:#969085;
  --accent:#315ef6;
  --accent-hover:#2149ce;
  --wash:#e0dbd1;
  --accent-wash:#e9edfc;
  --danger:#a32e25;
  --warning:#895b16;
  --success:#2d674c;
  --action:var(--accent);
  --action-hover:var(--accent-hover);
  --field:#f1ede5;
  --hover-surface:#e0dbd1;
  --avatar-surface:#d0ccc2;
  --note-surface:#f7edd9;
  --note-ink:#65420e;
  --preview-surface:#d9d4ca;
  --inverse-surface:#252523;
  --inverse-ink:#fbfaf7;
  --inverse-muted:#d7d4ce;
  color-scheme:light;
  --radius:3px;
  --rail:248px;
  --body:GC Fentura;
  --accent-face:La Fleur Grande;
  --mono:GC Fentura;
  --bs-paper:var(--paper);
  --bs-line:var(--line);
  --bs-accent:var(--accent);
  --bs-ink:var(--ink);
  --bs-muted:var(--muted);
  font-family:var(--body);
  color:var(--ink);
  background:var(--paper);
  font-synthesis:none;
}
/* Night palette. Real artwork and document canvases are never inverted. */
:root[data-theme=dark] {
  --ink:#efede7;
  --paper:#242422;
  --ground:#1c1c1a;
  --muted:#bab8b0;
  --line:#42423d;
  --line-strong:#838179;
  --accent:#9aafff;
  --accent-hover:#bccaff;
  --action:#4567dd;
  --action-hover:#5273e4;
  --wash:#343430;
  --accent-wash:#30302e;
  --danger:#ffa69d;
  --warning:#edc279;
  --success:#8bd6ae;
  --field:#2c2c29;
  --hover-surface:#383834;
  --avatar-surface:#484841;
  --note-surface:#3a3021;
  --note-ink:#f4d395;
  --preview-surface:#191917;
  --inverse-surface:#3a3a35;
  --inverse-ink:#f3f0e9;
  --inverse-muted:#cbc8bf;
  color-scheme:dark;
}

* {
  box-sizing:border-box;
}
body {
  margin:0;
  font-family:var(--body);
  font-size:15px;
  font-weight:300;
  line-height:1.55;
  color:var(--ink);
  background:var(--paper);
}
h1,h2,h3,.profile-name {
  font-family:var(--body);
  color:var(--ink);
  letter-spacing:0;
  line-height:1.2;
  font-weight:500;
}
h1 {
  font-size:34px;
}
h2 {
  font-size:22px;
}
h3 {
  font-size:17px;
}
p {
  line-height:1.55;
}
strong,b {
  font-weight:500;
}
button,input,select,textarea {
  font-family:inherit;
  font-size:inherit;
}
a {
  color:inherit;
  text-underline-offset:4px;
}
button,a,input,select,textarea {
  accent-color:var(--accent);
}
button,.button,.btn,.bs-btn {
  border:1px solid var(--line-strong);
  border-radius:3px;
  background:transparent;
  color:var(--ink);
  padding:10px 16px;
  font-size:14px;
  line-height:1.45;
  font-weight:500;
  box-shadow:none;
  transition:background-color 120ms,border-color 120ms;
  color:var(--ink);
}
button:hover,.button:hover,.btn:hover,.bs-btn:hover {
  background:var(--wash);
  border-color:var(--ink);
  transform:none;
}
button.primary,.primary,.btn.primary,.bs-btn.primary {
  background:var(--action);
  color:#fff;
  border-color:var(--action);
}
button.primary:hover,.primary:hover,.btn.primary:hover,.bs-btn.primary:hover {
  background:var(--action-hover);
  border-color:var(--action-hover);
}
button:disabled,.button[aria-disabled=true] {
  cursor:not-allowed;
  opacity:.5;
}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible {
  outline:2px solid var(--accent);
  outline-offset:3px;
}
input,select,textarea,.profile-grid select,.bs-field input,.bs-field textarea,.bs-field select {
  background:var(--field);
  border:1px solid var(--line-strong);
  border-radius:2px;
  color:var(--ink);
  min-height:44px;
  padding:10px 12px;
  box-shadow:none;
}
input:read-only {
  background:var(--ground);
  color:var(--muted);
}
input[type=checkbox],input[type=radio] {
  min-height:0;
  width:18px;
  height:18px;
  flex-shrink:0;
}
input[type=color] {
  padding:3px;
}
label {
  font-size:14px;
  font-weight:500;
}
label input,label select,label textarea {
  font-weight:300;
}
textarea {
  resize:vertical;
}
fieldset {
  border:1px solid var(--line);
  border-radius:2px;
}
legend {
  font-weight:500;
  padding:0 7px;
}
section,dialog,.table-wrap {
padding:0;border:0;border-radius:0;background:transparent;
}
dialog {
  background:var(--paper);
  color:var(--ink);
  border:1px solid var(--ink);
  border-radius:4px;
  box-shadow:0 18px 60px #17212b24;
  max-height:90dvh;
}
dialog::backdrop {
  background:#17212b70;
  backdrop-filter:none;
}
dialog h2 {
  font-size:25px;
}
dialog footer {
  border-top:1px solid var(--line);
  padding-top:20px;
}
.muted,.empty,td small,.checks small,.stock-help,.ticket time {
  color:var(--muted);
}
.error,.danger,#error,#form-error {
  color:var(--danger);
}
.pill,.badge {
  display:inline-block;
  background:var(--ground);
  color:var(--ink);
  border:1px solid var(--line);
  border-radius:2px;
  font-size:12px;
  padding:3px 7px;
}
.notice,.bs-warning {
  border-radius:2px;
  background:var(--note-surface);
  color:var(--note-ink);
  border-left:3px solid var(--warning);
}
.warning {
  color:var(--warning);
}
[hidden] {
  display:none!important;
}
/* A fixed directory at the left. The active notch echoes the four-part Orbo mark. */
.shell {
  grid-template-columns:var(--rail) minmax(0,1fr);
}
.sidebar,body>aside {
background:var(--paper);color:var(--ink);border:0;padding:38px 24px 24px;
width:var(--rail);height:100dvh;position:sticky;top:0;overflow:auto;gap:22px;display:flex;flex-direction:column;scrollbar-width:thin;
}
.sidebar .brand,.orbo-wordmark {
  color:var(--ink);
  font-family:var(--accent-face);
  font-size:40px;
  font-style:italic;
  font-weight:400;
  letter-spacing:0;
  display:flex;
  gap:12px;
  align-items:center;
  text-decoration:none;
  line-height:1;
}
/* Optical alignment compensates for the serif font’s space below its baseline. */
.sidebar .brand>div,.orbo-wordmark>span {transform:translateY(.07em)}
.sidebar .brand img,.orbo-wordmark img {
  width:38px;
  height:38px;
  border-radius:0;
  background:none;
  flex:none;
}
.sidebar .brand small {
  display:none;
}
.nav-caption {
font-family:var(--body);font-size:12px;font-weight:500;color:var(--muted);margin:40px 0 2px;text-transform:none;letter-spacing:0;
}
.nav,body>aside nav {
display:flex;flex-direction:column;gap:5px;border:0;padding:0;
}
.nav button,.nav .nav-entry,body>aside nav button,body>aside nav a.button,body>aside nav>a,body>aside nav>strong {
position:relative;display:flex;align-items:center;gap:10px;width:100%;background:none;color:var(--ink);border:0;border-radius:0;text-align:left;text-decoration:none;padding:10px 22px 10px 0;min-height:46px;font-size:16px;font-weight:300;line-height:1.45;box-shadow:none;
}
.nav button svg,.nav-entry svg {
  display:none;
}
.nav button:hover,.nav .nav-entry:hover,body>aside nav button:hover,body>aside nav a.button:hover,body>aside nav>a:hover {
color:var(--ink);background:none;transform:none;text-decoration:underline;text-underline-offset:6px;
}
.nav button.active,.nav .nav-entry.active,body>aside nav button.active,body>aside nav>strong,body>aside nav>a[aria-current=page] {
color:var(--accent);background:none;font-family:var(--accent-face);font-style:italic;font-weight:400;font-size:24px;line-height:1.15;box-shadow:none;text-decoration:none;
}
.nav button.active:before,body>aside nav button.active:before,body>aside nav>strong:before {
content:none;
}
.nav .nav-entry {
margin-top:24px;border:0;padding-top:10px;font-size:14px;
}
.sidebar-bottom,.account-dock {
  margin-top:auto;
  color:var(--muted);
  padding-top:24px;
}
.sidebar .account-entry {
display:flex;align-items:center;gap:10px;padding:8px 0;margin:0;background:none;border:0;border-radius:0;color:var(--ink);text-decoration:none;
}
.sidebar .account-entry:hover {
  background:none;
  color:var(--accent);
}
.sidebar .account-entry .account-photo {
width:40px;height:40px;flex:0 0 40px;border-radius:50%;background:var(--ground);color:var(--ink);font-size:14px;
}
.account-entry .account-identity {
  min-width:0;
  flex:1;
}
.account-entry strong {
  font-size:12px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  display:block;
}
.account-entry small {
  font-size:11px;
  line-height:1.5;
  color:var(--muted);
  display:block;
}
.account-entry .account-chevron {
  font-size:20px;
}
.orbo-back {
  font-size:12px;
  color:var(--muted);
  margin-top:12px;
  display:block;
}
.orbo-rail>header {
margin:18px 0 0;padding:0;gap:0;
}
.orbo-rail>header img {
  display:none;
}
.orbo-rail>header h2 {
font-family:var(--body);font-size:13px;font-weight:500;margin:0;color:var(--muted);text-transform:none;letter-spacing:0;
}
body>aside .account {
margin-top:auto;border:0;padding-top:18px;font-size:14px;text-decoration:none;
}
.workspace {
  min-width:0;
}
.topline {
display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;justify-content:initial;align-content:center;gap:2px 20px;min-height:100px;height:auto;padding:24px 40px;background:var(--paper);border:0;font-size:13px;
}
.topline strong {
grid-column:1;grid-row:1;font-family:var(--body);font-size:13px;font-weight:500;letter-spacing:0;
}
.topline #date {
grid-column:1;grid-row:2;color:var(--muted);font-size:12px;
}
.content {
padding:32px 40px 56px;max-width:1500px;margin:0 auto;width:100%;
}
.hub-intro {
margin:0 0 36px;display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,34%);gap:8px 30px;border:0;padding:0;align-items:end;
}
.hub-kicker {
grid-column:1/-1;font-family:var(--body);font-style:normal;font-weight:300;font-size:22px;line-height:1.4;color:var(--ink);text-transform:none;letter-spacing:0;
}
.hub-kicker em,.bs-eyebrow em {font-family:var(--accent-face);font-style:italic;font-weight:400;font-size:1em}
.hub-intro h1 {
font-size:29px;font-weight:500;letter-spacing:0;line-height:1.25;margin:8px 0 0;overflow-wrap:anywhere;
}
.hub-intro p {
font-size:14px;color:var(--muted);margin:0;line-height:1.5;max-width:34ch;
}
.hub-section {
  font-size:22px;
  margin:38px 0 15px;
}
.hub-grid {
display:block;border:0;
}
.hub-card {
display:grid;grid-template-columns:minmax(160px,1fr) minmax(180px,1.4fr) auto;align-items:center;gap:24px;background:transparent;padding:22px 0;border:0;border-radius:0;
}
.hub-card h2 {
  font-size:20px;
  font-weight:500;
  margin:0;
}
.hub-card p {
  font-size:14px;
  margin:0;
  max-width:48ch;
}
.hub-card .btn {
  margin:0;
}
.hub-empty {
  background:var(--ground);
  border:0;
  border-left:3px solid var(--line-strong);
  border-radius:0;
  padding:28px;
  max-width:680px;
}
.hub-empty h2 {
  font-size:23px;
}
.hub-editor {
  border:1px solid var(--line);
  border-radius:0;
}
.hub-editor-bar h1 {
  font-size:26px;
}
.hub-error {
  color:var(--danger);
}
/* Overview: compact situation, grouped work, quieter resource directory. */
.home-stats {display:flex;flex-wrap:wrap;align-items:center;gap:28px 34px;margin:0 0 42px;padding:0 0 32px;border:0;border-bottom:1px solid var(--line)}
.home-stat {display:flex;flex-direction:row;flex:1 1 190px;align-items:center;gap:15px;padding:0;margin:0;border:0;border-radius:0;background:none}
.home-stat>strong {font-family:var(--body);font-weight:500;font-size:38px;line-height:1.1;font-variant-numeric:tabular-nums;flex:none;color:var(--ink)}
.home-stat-copy {display:flex;flex-direction:column;gap:5px}
.home-stat-copy>span {font-size:14px;font-weight:500;line-height:1.35}
.home-stat small {font-size:13px;line-height:1.4;color:var(--muted);max-width:23ch}
.home-stat[data-kind=prospects] {flex-grow:1.25}
.home-stat[data-kind=prospects].is-due>strong {color:var(--accent)}
.home-stat[data-kind=clients] {flex:0 1 150px}
.home-stat[data-kind=clients]>strong {font-size:25px;font-weight:300}
.home-stat[data-kind=clients] .home-stat-copy>span {font-weight:300;font-size:12px}
.home-panel {padding:0;margin:0;background:none;border:0;border-radius:0}
.home-panel h2 {font-size:23px;font-weight:500;margin:0 0 25px;padding:0;border:0;line-height:1.25}
.home-panel h2 em {font-family:var(--accent-face);font-size:1em;font-style:italic;font-weight:400}
.home-columns {display:block}
.home-task-group {border:0;margin:0 0 27px;padding:0}
.home-task-group h3 {font-size:13px;font-weight:500;color:var(--muted);margin:0 0 10px}
.home-list {padding:0;margin:0;list-style:none}
.home-list li {display:block;min-width:0;padding:0;border:0;margin:0 0 7px}
.home-list a {display:flex;align-items:center;justify-content:space-between;gap:16px;position:relative;padding:11px 10px;margin-left:-10px;min-height:56px;color:var(--ink);font-family:var(--body);font-size:14px;font-weight:300;text-decoration:none;white-space:normal;border-radius:0}
.home-list a:hover {background:var(--ground);text-decoration:none}
.home-list a:hover strong {text-decoration:underline;text-underline-offset:4px}
.home-list a:focus-visible {outline-offset:2px}
.home-list strong {font-size:15px;font-weight:500;line-height:1.4;display:block}
.home-list p,.home-list .task-ref,.home-quiet {font-size:13px;font-weight:300;color:var(--muted);line-height:1.45;margin:4px 0 0}
.task-copy {min-width:0;overflow-wrap:anywhere}
.task-ref {display:block}
.task-status {font-size:13px;color:var(--muted);text-align:right;max-width:120px;flex:none}
.home-task[data-action=true] .task-status {color:var(--accent);font-weight:500}
.home-task[data-action=true] .task-status::before {content:'•';margin-right:6px;font-size:16px}
.home-guide-first {margin:0}
.home-guide-first .home-list a {display:block;padding:13px 0 20px;margin:0}
.home-guide-first .home-list strong {font-size:19px;font-weight:500}
.home-guide-first .home-list p {font-size:13px;max-width:29ch}
.home-guide-first .guide-action {display:inline-block;font-size:13px;margin-top:12px;color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.home-guide-first .home-list a:hover {background:none}
.home-quiet {margin-top:17px}
/* Operational pages retain their working density. Tables carry the structure. */
body.orbo-module {
  grid-template-columns:var(--rail) minmax(0,1fr);
}
.orbo-module>main {
  padding:30px 36px;
  max-width:1600px;
  width:100%;
  min-width:0;
}
.top {
align-items:flex-end;border:0;padding:0;margin:0 0 34px;min-height:70px;
}
.top h1 {
font-size:32px;font-weight:500;
}
.top p {
font-family:var(--body);font-style:normal;font-weight:300;font-size:16px;letter-spacing:0;margin:0 0 9px;
}
.top [role=status] {
  font-family:var(--mono);
  font-size:10px;
  line-height:1.5;
  color:var(--muted);
  max-width:220px;
  text-align:right;
}
#error:empty,#message:empty,#form-error:empty {
  display:none;
}
.toolbar,.menu-toolbar {
  margin:22px 0;
  gap:10px;
}
.table-wrap {
  padding:0;
  border:0;
  border-top:2px solid var(--ink);
  border-bottom:1px solid var(--line);
  border-radius:0;
  background:transparent;
}
.table-wrap table,.table-scroll table {
  font-size:14px;
}
th,td {
border-bottom:1px solid var(--line);padding:15px 12px;
}
th {
font-family:var(--body);font-size:12px;font-weight:500;letter-spacing:0;color:var(--muted);background:none;white-space:nowrap;border-bottom:1px solid var(--line-strong);
}
td:first-child,th:first-child {
  padding-left:10px;
}
td {
  vertical-align:middle;
}
td small {
  font-size:12px;
}
td button {
  font-size:12px;
  padding:7px 10px;
  min-height:34px;
}
.stats {
display:flex;flex-wrap:wrap;align-items:center;gap:20px 36px;border:0;margin-bottom:32px;
}
.stats section {
display:flex;align-items:center;gap:14px;border:0;border-radius:0;margin:0;padding:5px 0;background:none;
}
.stats section:last-child {
  border-right:0;
}
.stats strong {
font-size:30px;font-weight:500;
}
.kitchen {
  gap:22px;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));
}
.ticket {
  border:1px solid var(--line);
  border-top:3px solid var(--ink);
  background:var(--field);
  padding:20px;
}
.ticket.unread {
  border:1px solid var(--line);
  border-top:3px solid var(--warning);
}
.ticket h2 {
  font-size:24px;
}
.ticket header {
  align-items:flex-start;
  gap:14px;
}
.ticket header small {
  font-size:12px;
  color:var(--muted);
}
.ticket .dish {
  font-size:20px;
  font-weight:500;
}
.ticket .kitchen-note {
  font-size:17px;
  border-left:3px solid var(--warning);
  background:var(--note-surface);
  color:var(--note-ink);
  padding:10px 12px;
  border-radius:0;
}
.unread-mark {
  font-family:var(--mono);
  font-size:11px;
  color:var(--warning);
}
.option-tag {
  background:var(--accent-wash);
  font-size:13px;
  padding:3px 6px;
  border-radius:1px;
}
.ticket .toolbar button {
  min-height:44px;
}
.order-line {
  border-radius:2px;
  background:var(--ground);
  border-color:var(--line);
}
.table-context {
  border:0;
  border-left:3px solid var(--accent);
  background:var(--ground);
  padding:18px 20px;
  border-radius:0;
}
.table-context h2 {
  font-size:21px;
}
.stock-help,.help,.room-hint {
  font-size:13px;
  line-height:1.55;
  color:var(--muted);
  max-width:100ch;
}
.empty {
padding:25px 0;border:0;text-align:left;
}
.floor-wrap {
  border-radius:2px;
  background:var(--field);
  border-color:var(--line-strong);
}
.floor-details {
  border:0;
  border-top:2px solid var(--ink);
  background:var(--ground);
  padding:20px;
}
.floor-details h2 {
  font-size:25px;
}
.floor-details h3 {
  font-family:var(--mono);
  font-size:11px;
  line-height:1.6;
  font-weight:300;
}
.floor-table {
  min-height:0;
  border-radius:4px;
}
.floor-table.round {
  border-radius:50%;
}
.table-order {
  border:0;
  border-left:2px solid var(--accent);
  border-radius:0;
  padding:12px;
  background:var(--paper);
}
.table-order button {
  width:100%;
  text-align:left;
}
.table-orders-badge {
  border-radius:2px;
}
.reservation-filters {
  padding-bottom:20px;
  border-bottom:1px solid var(--line);
}
.menu-canvas-wrap {
  background:var(--hover-surface);
}
.menu-sheet {
  box-shadow:0 2px 12px #17212b18;
}
.menu-block {
  border-radius:0;
  padding:0;
  min-height:4px;
}
.menu-tools {
  border:0;
  border-top:2px solid var(--ink);
  background:var(--ground);
}
.menu-tools h2,.menu-tools h3 {
  font-size:16px;
}
.menu-pages button {
  border:0;
  border-bottom:1px solid var(--line);
  border-radius:0;
}
.menu-pages button.active {
  background:var(--ink);
  color:var(--paper);
}
/* Account and administration: dossier pages, not a second dashboard. */
.orbo-document>main {
  max-width:1180px;
  margin:0 auto;
  padding:30px 42px 60px;
}
.document-masthead {
display:flex;justify-content:space-between;align-items:center;padding-bottom:10px;border:0;
}
.document-masthead .back,.document-masthead>a:not(.orbo-wordmark) {
  font-size:13px;
  color:var(--muted);
}
.orbo-document>main>header {
margin:36px 0 38px;align-items:flex-end;border:0;padding:0;
}
.orbo-document>main>header>img {
  display:none;
}
.orbo-document>main>header p {
font-family:var(--body);font-style:normal;font-weight:300;font-size:16px;letter-spacing:0;color:var(--ink);margin:0 0 8px;
}
.orbo-document>main>header h1 {
font-size:32px;font-weight:500;
}
.account-layout {
  grid-template-columns:185px minmax(0,1fr);
  gap:50px;
}
.account-tabs {
gap:6px;top:20px;border:0;padding:0;
}
.account-tabs button {
border:0;border-radius:0;background:none;font-weight:300;min-height:46px;padding-left:0;font-size:15px;
}
.account-tabs button.active {
background:none;color:var(--accent);border:0;font-family:var(--accent-face);font-style:italic;font-size:24px;font-weight:400;
}
.account-body section {
  border:0;
  padding:0;
  margin:0 0 32px;
  max-width:780px;
}
.account-body section+section {
border:0;padding-top:12px;
}
.profile-hero {
  margin-bottom:20px;
  gap:18px;
}
.avatar {
  width:72px;
  height:72px;
  border-radius:50%;
  background:var(--ground);
  color:var(--ink);
  font-size:25px;
}
.profile-name {
  font-size:25px;
  line-height:1.25;
  font-weight:500;
}
.profile-grid {
  column-gap:24px;
}
.save-profile {
  border-top:1px solid var(--line);
  background:var(--paper);
  padding:16px 0;
  z-index:2;
}
.widget-row,.access-list li,.session-list li {
  border-color:var(--line);
}
.widget-row button {
  min-width:38px;
  min-height:38px;
  padding:5px;
}
.access-list li {
  display:grid;
  grid-template-columns:minmax(150px,.7fr) 1.5fr;
  gap:10px;
  padding:16px 0;
}
.access-list p {
  margin:0;
}
.session-row {
  padding:20px 0;
}
.section-heading {
border:0;padding:0;margin:0 0 20px;
}
.section-heading h2 {
  font-size:23px;
}
.orbo-admin #admin>section {
  border:0;
  margin:34px 0;
  padding:0;
}
.orbo-admin #admin>section>p {
  color:var(--muted);
  font-size:13px;
}
.orbo-admin .checks {
  gap:0;
}
.orbo-admin .checks label {
  background:none;
  border:0;
  border-bottom:1px solid var(--line);
  border-radius:0;
  padding:13px 2px;
}
.orbo-admin dialog {
  width:min(760px,94vw);
  padding:28px;
}
.orbo-admin dialog .actions {
  border-top:1px solid var(--line);
  padding-top:20px;
}
.orbo-admin .secret button {
  font-size:12px;
}
.orbo-admin .grid label {
  margin:14px 0;
}
.orbo-admin fieldset {
  margin-top:25px;
}
/* Login is a threshold: identity at left, a compact form at right. */
.orbo-login {
  background:var(--ground);
  min-height:100dvh;
}
.orbo-login main {
  max-width:1200px;
  width:100%;
  margin:0 auto;
  padding:38px 50px;
  min-height:100dvh;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);
  grid-template-rows:auto 1fr auto;
  column-gap:10%;
}
.login-masthead {
grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;margin:0;border:0;padding:0;
}
.login-masthead>span {
  font-family:var(--mono);
  font-size:10px;
  text-transform:none;
  letter-spacing:0;
  color:var(--muted);
}
.login-intro {
  align-self:center;
  padding:65px 0;
}
.login-intro h1 {
font-size:clamp(34px,3.2vw,46px);line-height:1.18;letter-spacing:0;font-weight:500;margin:0 0 28px;max-width:9ch;
}
.login-intro>p {
  color:var(--muted);
  max-width:29ch;
  font-size:16px;
  line-height:1.6;
}
.login-seal {
display:none;
}
.orbo-login .login-form {
align-self:center;margin:44px 0;padding:8px 0 24px;border:0;background:none;border-radius:0;box-shadow:none;
}
.login-form>h2 {
font-size:24px;font-weight:500;margin:0 0 10px;
}
.login-form>.muted {
  margin:0 0 25px;
}
.orbo-login label {
  font-size:13px;
  margin:20px 0;
}
.orbo-login input {
  padding:13px 12px;
  background:var(--paper);
  border:1px solid var(--line-strong);
  border-radius:2px;
}
.orbo-login button.primary {
  width:100%;
  margin-top:8px;
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.orbo-login button.primary:after {
  content:'→';
  font-size:21px;
}
.orbo-login #message {
  font-size:13px;
  color:var(--danger);
}
.login-footer {
grid-column:1/-1;border:0;display:flex;justify-content:space-between;gap:20px;padding-top:20px;color:var(--muted);font-family:var(--body);font-size:11px;
}
.login-footer p {
  margin:0;
}
.orbo-password>main {
  max-width:650px;
}
.orbo-password section {
  padding:0;
  border:0;
}
.orbo-password>main>header h1 {
  font-size:30px;
}
.orbo-password #logout {
  margin-top:20px;
}
/* Guide authoring chrome only. The client's iframe and exported files keep their styles. */
.bs-library {
  padding:32px 38px;
  max-width:1500px;
}
.bs-library>header {
padding-bottom:24px;border:0;align-items:center;
}
.bs-eyebrow {
font-family:var(--body);font-style:normal;font-weight:300;font-size:17px;color:var(--ink);letter-spacing:0;
}
.bs-library h1 {
font-size:32px;font-weight:500;letter-spacing:0;line-height:1.25;margin:12px 0;
}
.bs-lead {
  font-size:14px;
}
.bs-library-note {
  margin:0 0 24px;
  padding:17px 0;
  border-top:0;
}
.bs-project-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:24px;
}
.bs-project {
  border:0;
  border-bottom:1px solid var(--line-strong);
  border-radius:0;
}
.bs-cover {
  height:195px;
  border-radius:2px;
  padding:22px;
  color:var(--cover-ink);
  background:var(--cover);
}
.bs-cover:hover {
  background:var(--cover);
  border:0;
  filter:none;
}
.bs-cover strong {
  font-family:var(--body);
  font-size:32px;
  font-weight:500;
  letter-spacing:0;
}
.bs-project-bottom {
  padding:18px 0;
}
.bs-project-bottom h2 {
  font-size:17px;
}
.bs-empty {
  border-radius:0;
  text-align:left;
  padding:32px;
  background:var(--ground);
  border:0;
  border-left:3px solid var(--line-strong);
}
.bs-empty h2 {
  font-size:24px;
}
.bs-top {
  background:var(--paper);
  border-color:var(--line);
  padding:13px 20px;
}
.bs-title-group strong {
  font-weight:500;
  letter-spacing:0;
}
.bs-title-group span {
  font-family:var(--mono);
  font-size:10px;
}
.bs-panel {
  background:var(--paper);
  border-color:var(--line);
}
.bs-panel-intro {
  padding:24px 20px 16px;
}
.bs-panel-intro h2 {
  font-size:22px;
}
.bs-tabs {
  border-color:var(--line);
  gap:0;
}
.bs-tabs button {
  border-radius:0;
  min-height:40px;
  font-size:12px;
}
.bs-tabs button.active {
background:none;color:var(--accent);box-shadow:inset 0 -2px var(--accent);font-weight:500;
}
.bs-social-input,.bs-color-card,.bs-font-card,.bs-role-card,.bs-media-card {
  background:var(--ground);
  border:0;
  border-top:1px solid var(--line-strong);
  border-radius:0;
}
.bs-page-list>div,.bs-page-list>div.active {
  border:0;
  border-radius:0;
}
.bs-page-list>div.active {
  background:var(--ground);
  border-left:2px solid var(--accent);
}
.bs-page-list button {
  min-height:40px;
}
.bs-fixed-font {
  border-radius:0;
  background:var(--inverse-surface);
  color:var(--inverse-ink);
}
.bs-fixed-font p {
  color:var(--inverse-muted);
}
.bs-preview-toolbar {
  background:var(--ground);
  border-color:var(--line);
}
.bs-preview {
  background:var(--hover-surface);
}
.bs-segment {
  border-radius:2px;
  padding:2px;
}
.bs-segment button {
  border-radius:0;
}
.bs-frame-area.mobile iframe {
  border-radius:0;
  box-shadow:none;
}
.bs-dialog-head,.bs-dialog-actions {
  border-color:var(--line);
}
.bs-dialog-head h2 {
  font-size:23px;
}
.bs-dialog-head {
  padding:20px 24px;
}
.bs-dialog-body {
  padding:24px;
}
.bs-dialog-actions {
  padding:18px 24px;
}
.bs-translation-status {
  background:var(--ground);
  border-radius:0;
}
.bs-media-thumb {
  border-radius:0;
}
#bs-toast {
  border-radius:3px;
  box-shadow:none;
  transition:opacity 120ms;
  transform:translateX(-50%);
}
#bs-toast.show {
  transform:translateX(-50%);
}
.bar {
  background:var(--paper);
  border-color:var(--line);
  min-height:48px;
}
.orbo-reader .bar {
  font-size:13px;
}
.orbo-reader .bar button {
  min-height:36px;
}
.orbo-guide-hub #guides section {
display:flex;align-items:center;justify-content:space-between;gap:20px;border:0;padding:24px 0;margin:0;
}
.orbo-guide-hub #guides h2 {
  margin:0;
  font-size:23px;
}
.orbo-guide-hub #logout {
  margin-top:30px;
}
.orbo-menu-toggle {
  display:none;
}
.orbo-skip {
  position:fixed;
  left:16px;
  top:8px;
  padding:10px 16px;
  background:var(--inverse-surface);
  color:var(--inverse-ink);
  transform:translateY(-150%);
  z-index:200;
}
.orbo-skip:focus {
  transform:none;
}
@media(min-width:1600px) {
  .content,.orbo-module>main {
    padding-inline:52px;
  }
  .orbo-module .floor-layout {
    grid-template-columns:minmax(0,1fr) 310px;
  }
}
@media(max-width:1100px) {
  :root {
    --rail:210px;
  }
  .content,.orbo-module>main {
    padding:28px 26px;
  }
  .topline {
    padding-inline:26px;
  }
  .home-stat {padding:0;margin:0;}
  .hub-card {
    grid-template-columns:1fr auto;
  }
  .hub-card p {
    grid-row:2;
    grid-column:1;
  }
  .hub-card .btn {
    grid-column:2;
    grid-row:1/3;
  }
  .orbo-login main {
    padding-inline:36px;
    column-gap:8%;
  }
  .top h1 {
    font-size:29px;
  }
  .floor-layout {
    grid-template-columns:1fr;
  }
  .floor-details {
    display:block;
    max-width:none;
  }
  .orbo-document>main {
    padding-inline:30px;
  }
  .account-layout {
    gap:30px;
    grid-template-columns:165px minmax(0,1fr);
  }
}
@media(max-width:820px) {
  :root {
    --rail:190px;
  }
  .sidebar,body>aside {
    padding-inline:14px;
  }
  .content,.orbo-module>main {
    padding:25px 22px;
  }
  .topline {
    padding-inline:22px;
  }
  .home-stats {
    grid-template-columns:repeat(2,minmax(0,1fr));
    row-gap:22px;
  }
  .home-stat:nth-child(2n) {
    border-right:0;
  }
  .hub-intro {
    display:block;
  }
  .hub-intro h1 {margin:8px 0 12px;}
  .hub-intro p {
    max-width:45ch;
  }
  .orbo-login main {
    grid-template-columns:minmax(0,.8fr) minmax(300px,1fr);
    column-gap:6%;
  }
  .login-intro h1 {
    font-size:45px;
  }
  .login-intro>p {
    font-size:14px;
  }
  .bs-library {
    padding:26px;
  }
}
@media(max-width:680px) {
  .shell,body.orbo-module {
    display:block;
  }
  .sidebar,body>aside {
    position:relative;
    width:100%;
    height:auto;
    min-height:66px;
    padding:17px 20px;
    border-right:0;
    border-bottom:1px solid var(--line);
    gap:18px;
    overflow:visible;
  }
  .sidebar .brand,.orbo-wordmark {
    font-size:34px;
  }
  .sidebar .brand img,.orbo-wordmark img {
    width:32px;
    height:32px;
  }
  .orbo-menu-toggle {
    display:block;
    position:absolute;
    right:18px;
    top:14px;
    min-height:38px;
    font-size:12px;
    padding:7px 12px;
    z-index:3;
    background:var(--paper);
  }
  [data-orbo-collapsible]:not([data-orbo-open])>:not(.brand):not(.orbo-wordmark):not(.orbo-menu-toggle) {
    display:none!important;
  }
  .nav,body>aside nav {
    display:flex;
    gap:0;
  }
  .nav button,.nav .nav-entry,body>aside nav button,body>aside nav a.button {
    font-size:15px;
    padding-block:13px;
  }
  .nav-caption {
    margin:4px 10px 0;
  }
  .sidebar-bottom,.account-dock {
    margin:0;
    padding-top:4px;
  }
  .sidebar .account-entry {
    max-width:none;
  }
  .account-entry strong {
    font-size:14px;
  }
  .account-entry small {
    font-size:12px;
  }
  body>aside .account {
    display:block;
    margin-top:0;
  }
  .topline {
    height:50px;
    min-height:50px;
    padding:0 20px;
    gap:12px;
  }
  .topline strong {
    font-size:10px;
  }
  .topline #date {
    font-size:10px;
  }
  .content,.orbo-module>main {
    padding:26px 20px;
  }
  .hub-intro {
    padding-bottom:23px;
    margin-bottom:24px;
  }
  .hub-intro h1 {
    font-size:27px;
    line-height:1.25;
  }
  .home-stat {padding:0;}
  .home-stat strong {
    font-size:34px;
  }
  .home-stat small {
    font-size:11px;
  }
  .home-list li {
    gap:15px;
  }
  .home-list strong {
    font-size:14px;
  }
  .home-panel h2 {
    font-size:21px;
  }
  .home-columns {
    margin-top:28px;
  }
  .home-guide-first {
    margin-bottom:26px;
  }
  .hub-card {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
    padding:22px 0;
  }
  .hub-card .btn {
    margin-top:4px;
  }
  .hub-empty {
    padding:22px;
  }
  .hub-editor-bar {
    gap:12px;
    align-items:flex-start;
  }
  .hub-editor-bar h1 {
    font-size:22px;
  }
  .hub-editor {
    height:83dvh;
  }
  .top {
    align-items:flex-start;
    gap:14px;
    flex-direction:column;
  }
  .top h1 {
    font-size:28px;
  }
  .top [role=status] {
    text-align:left;
  }
  .toolbar {
    gap:8px;
  }
  .toolbar button,.toolbar .button {
    min-height:44px;
  }
  .stats {
    grid-template-columns:1fr 1fr;
  }
  .stats section {
    padding:16px 10px;
  }
  .stats section:nth-child(2n) {
    border-right:0;
  }
  .stats strong {
    font-size:29px;
  }
  .kitchen {
    grid-template-columns:1fr;
  }
  .ticket {
    padding:18px;
  }
  .ticket .toolbar {
    display:flex;
  }
  .floor-toolbar {
    gap:12px;
  }
  .floor-toolbar label {
    flex:1;
    min-width:125px;
  }
  .floor-layout {
    gap:20px;
  }
  .room-actions {
    gap:6px;
  }
  .room-actions button {
    font-size:12px;
    padding:9px 10px;
  }
  .floor-table {
    font-size:10px;
  }
  .floor-table small {
    font-size:8px;
  }
  .table-orders-badge {
    font-size:8px;
    padding:1px 3px;
  }
  .orbo-document>main {
    padding:20px 20px 40px;
  }
  .document-masthead {
    padding-bottom:20px;
  }
  .document-masthead .back {
    font-size:12px;
  }
  .orbo-document>main>header {
    margin:28px 0 22px;
    padding-bottom:22px;
  }
  .orbo-document>main>header h1 {
    font-size:31px;
  }
  .account-layout {
    display:block;
  }
  .account-tabs {
    position:static;
    display:flex;
    flex-direction:row;
    flex-wrap:wrap;
    border-bottom:1px solid var(--line);
    padding:0;
    margin-bottom:26px;
  }
  .account-tabs button {
    flex:1 1 40%;
    font-size:13px;
    min-height:43px;
  }
  .account-tabs button.active {border:0;}
  .profile-grid {
    grid-template-columns:1fr;
  }
  .access-list li {
    display:block;
  }
  .access-list p {
    margin-top:5px;
  }
  .save-profile {
    gap:14px;
  }
  .save-profile span {
    font-size:12px;
  }
  .orbo-admin dialog {
    padding:22px;
  }
  .orbo-login main {
    display:flex;
    flex-direction:column;
    padding:24px;
    min-height:100dvh;
  }
  .login-masthead {
    padding-bottom:22px;
    gap:15px;
    align-items:center;
    width:100%;
  }
  .login-masthead>span {
    font-size:9px;
    text-align:right;
    max-width:12ch;
  }
  .login-intro {
    padding:30px 0 18px;
    align-self:stretch;
  }
  .login-intro h1 {
    font-size:36px;
    max-width:none;
    letter-spacing:0;
    margin:12px 0;
  }
  .login-seal {
    display:none;
  }
  .login-intro>p {
    font-size:14px;
    max-width:32ch;
    margin:0;
  }
  .orbo-login .login-form {
    align-self:stretch;
    margin:15px 0 32px;
    padding:24px 0;
  }
  .login-form>h2 {
    font-size:24px;
  }
  .login-form>.muted {
    font-size:13px;
  }
  .login-footer {
    margin-top:auto;
    width:100%;
    font-size:9px;
    gap:15px;
  }
  .bs-library {
    padding:24px 20px;
  }
  .bs-library h1 {
    font-size:31px;
  }
  .bs-library>header>.bs-actions {
    margin-top:20px;
  }
  .bs-project-grid {
    grid-template-columns:1fr;
  }
  .bs-top {
    padding:10px;
  }
  .bs-top>.bs-actions .bs-btn {
    font-size:11px;
    min-height:38px;
  }
  .bs-workbench {
    min-width:0;
  }
  .bs-preview-toolbar {
    gap:8px;
  }
  .bs-preview-toolbar>.bs-actions {
    flex-wrap:wrap;
  }
  .bs-panel-intro h2 {
    font-size:20px;
  }
  .bs-panel-section {
    padding-inline:15px;
  }
  .bs-btn {
    white-space:normal;
  }
  .bs-dialog-head,.bs-dialog-body,.bs-dialog-actions {
    padding:18px;
  }
  .orbo-guide-hub #guides section {
    align-items:flex-start;
    flex-direction:column;
    gap:15px;
  }
  .bar {
    flex-wrap:wrap;
  }
  .bar strong {
    overflow-wrap:anywhere;
  }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }
}
@media print {
  body {
    background:white;
  }
  .orbo-menu-toggle,.orbo-skip {
    display:none!important;
  }
}
/* Reading order follows the account's widget ordering. */
.home-overview {display:grid;grid-template-columns:minmax(0,1.65fr) minmax(220px,1fr);gap:30px 64px;align-items:start}
.home-overview>.home-stats {grid-column:1/-1;margin-bottom:8px}
.home-overview>.home-guide-first {grid-column:2;margin:0}
.home-overview>.home-columns {grid-column:1;grid-row:auto}
.home-overview:has(>.home-guide-first:nth-last-child(2))>.home-columns {grid-row:2}
.home-overview:not(:has(>.home-stats))>.home-guide-first {grid-column:1/-1;max-width:780px}
.home-overview>.home-columns:empty {display:none}
.home-overview>.home-guide-first:first-child {grid-row:auto;grid-column:1/-1}
.home-overview:has(>.home-guide-first:first-child)>.home-columns {grid-row:auto}
.home-overview:not(:has(>.home-guide-first))>.home-columns {grid-column:1/-1;max-width:900px}
@media(max-width:1000px) {.home-overview {display:block}.home-overview>.home-stats,.home-overview>.home-guide-first {margin-bottom:34px}}
.sidebar .account-entry .account-identity strong {
  color:var(--ink);
}
.kitchen {
  grid-template-columns:repeat(auto-fill,minmax(min(100%,350px),1fr));
}
.account-body button:focus-visible,.account-tabs button:focus-visible {
  outline:2px solid var(--accent);
  outline-offset:3px;
}
.orbo-module #content>section:not(.ticket):not(.table-context) {
  border:0;
  border-top:1px solid var(--ink);
  padding:24px 0;
  margin:30px 0;
  max-width:1100px;
}
.orbo-module #content>section>label:has(#currency) {
  max-width:250px;
}
/* Keep form controls readable without zooming on a phone; printed menu text is unaffected. */
@media(max-width:680px) {
  input,select,textarea,.profile-grid select,.bs-field input,.bs-field textarea,.bs-field select {
    font-size:16px;
  }
}

/* Day / night: one tactile switch, two permanent landmarks. */
.orbo-theme-control {
  position:relative;
  display:flex;
  align-items:center;
  flex-shrink:0;
  font-family:var(--body);
  font-size:12px;
}
.orbo-theme-control .orbo-theme-switch {
  --switch-track:#d7d2c8;
  --switch-edge:#aaa498;
  --switch-thumb:#f5f0e6;
  --switch-active:#3155d6;
  --switch-idle:#646159;
  --switch-shadow:0 2px 5px #26345116,0 1px 2px #26345110;
  position:relative;
  display:grid;
  grid-template-columns:1fr 1fr;
  flex:none;
  width:96px;
  min-width:96px;
  height:48px;
  min-height:48px;
  padding:0;
  margin:0;
  border:1px solid var(--switch-edge);
  border-radius:999px;
  background:var(--switch-track);
  color:var(--switch-idle);
  box-shadow:inset 0 1px 3px #17212b08;
  cursor:pointer;
  isolation:isolate;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
:root[data-theme=dark] .orbo-theme-control .orbo-theme-switch {
  --switch-track:#292927;
  --switch-edge:#65645c;
  --switch-thumb:#55554d;
  --switch-active:#f5f1e8;
  --switch-idle:#aaa69b;
  --switch-shadow:0 2px 7px #0003,inset 0 1px 0 #ffffff12;
}
.orbo-theme-switch .theme-switch-thumb {
  position:absolute;
  top:3px;
  left:3px;
  width:40px;
  height:40px;
  border-radius:50%;
  background:var(--switch-thumb);
  box-shadow:var(--switch-shadow);
  pointer-events:none;
}
.orbo-theme-switch[aria-checked=true] .theme-switch-thumb {transform:translateX(48px)}
.orbo-theme-switch .theme-switch-icon {
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  height:46px;
  pointer-events:none;
}
.orbo-theme-switch .theme-switch-icon svg {display:block;width:22px;height:22px}
.orbo-theme-switch .theme-switch-sun {color:var(--switch-active);transform:rotate(0) scale(1)}
.orbo-theme-switch .theme-switch-moon {transform:rotate(-18deg) scale(.88)}
.orbo-theme-switch[aria-checked=true] .theme-switch-sun {color:var(--switch-idle);transform:rotate(45deg) scale(.86)}
.orbo-theme-switch[aria-checked=true] .theme-switch-moon {color:var(--switch-active);transform:rotate(0) scale(1)}
.orbo-theme-control .orbo-theme-switch:hover {background:var(--switch-track);border-color:var(--muted)}
.orbo-theme-control .orbo-theme-switch:focus-visible {outline:2px solid var(--accent);outline-offset:4px}
.orbo-theme-control .orbo-theme-switch:active .theme-switch-icon svg {transform:scale(.9)}
.orbo-theme-control .orbo-theme-switch:disabled {opacity:1;cursor:progress}
.orbo-theme-control [role=status] {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
}
.orbo-theme-control [role=status][data-error=true] {
  z-index:10;
  top:calc(100% + 8px);
  right:0;
  width:190px;
  height:auto;
  overflow:visible;
  clip-path:none;
  white-space:normal;
  color:var(--danger);
  font-size:12px;
  padding:8px 12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--paper);
}
@media(prefers-reduced-motion:no-preference) {
  .orbo-theme-switch .theme-switch-thumb {
    transition:transform 440ms cubic-bezier(.2,.85,.25,1.08),background-color 250ms,box-shadow 250ms;
  }
  .orbo-theme-switch .theme-switch-icon {transition:transform 440ms cubic-bezier(.2,.85,.25,1.08),color 220ms}
  .orbo-theme-switch .theme-switch-icon svg {transition:transform 140ms}
  body,.sidebar,body>aside,.topline,.bar,.document-masthead,.bs-top,.bs-panel,.bs-preview {
    transition:background-color 240ms,color 240ms,border-color 240ms;
  }
}
.topline .orbo-theme-control {grid-column:2;grid-row:1/3;justify-self:end}
.login-masthead,.document-masthead {flex-wrap:wrap;gap:16px}
.login-masthead>span {display:none}
.orbo-rail>.orbo-theme-control {margin-top:auto}
.orbo-rail>.orbo-theme-control+.account {margin-top:0}
.orbo-rail>.orbo-theme-control [role=status][data-error=true] {left:0;right:auto}
.orbo-reader iframe,.bs-frame-area iframe,.menu-sheet,.floor-wrap {color-scheme:light}
.floor-wrap {background:#fff}
.menu-canvas-wrap,.bs-preview {background:var(--preview-surface)}
.bs-fixed-font strong,.bs-fixed-font h3 {color:var(--inverse-ink)}
#bs-toast {background:var(--inverse-surface);color:var(--inverse-ink)}
#bs-toast.error {background:#742d25;color:#fff}
.reserved-count,.table-order small {color:var(--muted)}
.table-order-note {background:var(--note-surface);color:var(--note-ink)}
.status-arrived {background:var(--note-surface);color:var(--note-ink)}
.unsaved,.menu-status {color:var(--accent)}
.floor-details hr,.font-list li {border-color:var(--line)}
.bs-btn.danger,.bs-title-group span.error {color:var(--danger)}
@media(max-width:680px) {
  .document-masthead>.orbo-theme-control {margin-left:auto}
}
@media print {
  :root[data-theme=dark] {
    --ink:#17212b;--paper:#fff;--ground:#f3f0e8;--muted:#58616b;
    --line:#cdd0cd;--line-strong:#8f989e;--accent:#315ef6;
    --field:#fff;--note-surface:#f7edd9;--note-ink:#65420e;
    color-scheme:light;
  }
  .orbo-theme-control {display:none!important}
}

/* Editorial accents, typed hierarchy, and responsive finishing. */
.login-intro h1 .login-line {display:block;white-space:nowrap;margin-top:5px}
.login-intro h1 em {font-family:var(--accent-face);font-weight:400;font-style:italic;display:inline;font-size:1em;line-height:inherit;margin:0;letter-spacing:0}
.nav button.active::after,body>aside nav button.active::after,body>aside nav>strong::after {content:'↗';font-family:var(--body);font-style:normal;font-size:18px;position:absolute;right:0;color:var(--accent)}
.home-welcome {margin-bottom:38px}
.home-welcome .hub-kicker {font-size:22px}
.orbo-module #content>section:not(.ticket):not(.table-context) {border:0;padding:12px 0;margin:26px 0}
.home-task-group h3,.home-stat-copy>span {letter-spacing:0;text-transform:none}
button,input,select,textarea {font-family:var(--body)}
label input,label select,label textarea {font-weight:300}
.orbo-reader .bar {border:0}
.bs-title-group span,.top [role=status] {font-size:12px;letter-spacing:0}
.bs-panel-intro p,.bs-field-hint {font-size:13px}
@media(min-width:1101px) {.sidebar::after {content:'';position:absolute;right:0;top:124px;bottom:88px;width:1px;background:var(--line)}}
@media(max-width:820px) {
 .home-stats {gap:24px}.home-stat {flex-basis:180px}.home-stat[data-kind=clients] {flex-basis:160px}
 .home-welcome .hub-kicker {font-size:20px}.hub-intro h1 {font-size:27px}
 .nav button.active,body>aside nav button.active {font-size:22px}
}
@media(max-width:680px) {
 .sidebar,body>aside {border-bottom:0;padding:20px;gap:14px}
 .nav-caption {margin:8px 0 0}
 .nav button,.nav .nav-entry,body>aside nav button,body>aside nav a.button {padding-left:0}
 .topline {padding:12px 20px 8px;gap:2px 16px;min-height:72px}
 .topline strong {font-size:12px}.topline #date {font-size:11px}
 .content {padding-top:26px}.home-welcome {margin-bottom:28px}
 .home-stats {gap:24px 14px;padding-bottom:24px;margin-bottom:28px}
 .home-stat {flex-basis:calc(50% - 14px);gap:10px;align-items:flex-start}
 .home-stat>strong {font-size:32px}.home-stat-copy>span {font-size:13px}.home-stat small {font-size:12px}
 .home-stat[data-kind=clients] {flex-basis:calc(50% - 14px)}
 .home-stat[data-kind=prospects].is-due>strong {font-size:32px}
 .home-panel h2 {font-size:23px}.home-task-group {margin-bottom:24px}
 .home-list a {gap:12px;padding-block:12px}.task-status {max-width:94px;font-size:12px}
 .home-list strong {font-size:15px}.home-list .task-ref {font-size:12px}
 .login-intro h1 {font-size:30px;margin:14px 0 22px}.login-intro h1 em {font-size:1em}
 .login-masthead {padding-bottom:10px}.orbo-login .login-form {padding-top:18px}
 .login-footer {font-size:11px;flex-wrap:wrap;gap:6px}
 .account-tabs {gap:8px 16px;justify-content:flex-start;border:0}
 .account-tabs button {flex:0 1 auto;padding-inline:0}.account-tabs button.active {font-size:21px}
 .stats section {padding:6px 0}.stats strong {font-size:28px}
}

/* Explicit account action in the main navigation. */
.account-dock .orbo-logout {display:block;min-height:40px;margin:8px 0 0 50px;padding:8px 0;border:0;background:none;box-shadow:none;color:var(--muted);font-family:var(--body);font-size:13px;font-weight:300;text-align:left}
.account-dock .orbo-logout:hover {color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.account-dock .logout-error {font-size:12px;line-height:1.45;color:var(--danger);margin:6px 0 0}
.account-dock .logout-error:empty {display:none}

@media(min-width:681px) {
 .sidebar:has(.orbo-logout) {overflow:hidden}
 .sidebar:has(.orbo-logout) .brand,.sidebar:has(.orbo-logout) .nav-caption {flex-shrink:0}
 .sidebar:has(.orbo-logout) .nav {min-height:0;flex:1 1 auto;overflow-y:auto;margin-bottom:0}
 .sidebar:has(.orbo-logout) .nav>* {flex-shrink:0}
 .sidebar:has(.orbo-logout) .account-dock {flex-shrink:0;padding-top:0}
}

/* A font-outline mask gives the wordmark an exact visible height in every browser. */
.sidebar .brand,.orbo-wordmark {gap:11px;align-items:center;min-height:38px}
.sidebar .brand>div,.orbo-wordmark>span {
 transform:none;font-size:0;line-height:0;width:81.60px;height:34px;flex:0 0 81.60px;
 background:currentColor;-webkit-mask:url('/orbo-word.svg') center/contain no-repeat;mask:url('/orbo-word.svg') center/contain no-repeat;
}
.sidebar .brand img,.orbo-wordmark img {width:36px;height:36px;flex:0 0 36px}
.orbo-login .login-intro h1 {max-width:11ch;line-height:1.22}
.login-intro h1 .login-line {display:inline;white-space:nowrap;margin:0}
.login-intro h1 em {margin-left:-.025em}
.orbo-login>main {grid-template-rows:auto 1fr}
.topline:empty,.topline:has(>.orbo-theme-control:only-child) {display:flex;justify-content:flex-end;min-height:80px;padding-block:20px}
.topline:has(>.orbo-theme-control:only-child)>.orbo-theme-control {margin-left:auto}
@media(max-width:680px) {
 .sidebar .brand>div,.orbo-wordmark>span {width:72.00px;height:30px;flex-basis:72.00px}
 .sidebar .brand img,.orbo-wordmark img {width:32px;height:32px;flex-basis:32px}
 .topline:empty,.topline:has(>.orbo-theme-control:only-child) {min-height:60px;padding-block:10px}
}
