/* Canonical console layout: assets/web/console. Theme: assets/brand/daisyui.
   Keep dimensions here, not in individual Office/Cloud stylesheets. */
body { margin: 0; min-height: 100dvh; background: var(--color-base-100); color: var(--color-base-content); font-family: var(--rt-font-sans); -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5, h6 { color: var(--rt-heading); }
.rt-header { position: sticky; top: 0; z-index: 50; flex-shrink: 0; border-bottom: var(--border) solid var(--color-primary); }
.rt-bar { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: calc(var(--rt-space-unit) * 4); min-height: var(--rt-nav-height); padding: calc(var(--rt-space-unit) * 3) var(--rt-header-padding); background: var(--rt-navbar-surface); backdrop-filter: blur(var(--rt-navbar-blur)); color: var(--color-base-content); }
.rt-bar > .header-left { grid-column: 1; justify-self: start; width: 100%; min-width: 0; }
.rt-bar > .header-center { grid-column: 2; justify-self: center; min-width: 0; }
.rt-bar > .header-right { grid-column: 3; justify-self: end; width: 100%; min-width: 0; }
.rt-brand { display: flex; align-items: center; flex-shrink: 0; gap: calc(var(--rt-space-unit) * 5); text-decoration: none; }
.rt-brand img { display: block; width: auto; height: calc(var(--rt-space-unit) * 7.2); }
.rt-product { padding-left: calc(var(--rt-space-unit) * 5); border-left: var(--border) solid var(--rt-border-subtle); color: var(--rt-muted); font-size: var(--rt-text-xs); letter-spacing: var(--rt-tracking-wide); }
.rt-user-controls { display: flex; align-items: center; justify-content: flex-end; gap: calc(var(--rt-space-unit) * 3.5); min-width: 0; }
.rt-user-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 35vw; font-size: var(--rt-text-sm); font-weight: var(--rt-font-weight-medium); }
.rt-user-controls form { margin: 0; display: flex; }
.rt-user-controls .btn { flex-shrink: 0; width: var(--rt-touch-target); height: var(--rt-touch-target); padding: 0; color: var(--rt-muted); }
.rt-user-controls .btn:hover, .rt-user-controls [aria-current="page"] { color: var(--color-primary); }
.rt-brand:focus-visible, .rt-nav-link:focus-visible { outline: var(--rt-focus-width) solid var(--color-primary); outline-offset: var(--rt-focus-offset); border-radius: var(--radius-field); }
.has-sidebar { --sidebar-width: calc(var(--rt-touch-target) + var(--rt-space-unit) * 6); --rt-header-height: calc(var(--rt-nav-height) + var(--border)); }
.has-sidebar > main, .has-sidebar > footer { margin-left: var(--sidebar-width); min-width: 0; }
.rt-sidebar { position: fixed; inset: var(--rt-header-height) auto 0 0; width: var(--sidebar-width); z-index: 40; display: flex; flex-direction: column; align-items: center; padding-top: calc(var(--rt-space-unit) * 4); background: var(--color-base-300); border-right: var(--border) solid var(--rt-border-subtle); }
.rt-nav-list { display: flex; flex-direction: column; align-items: center; gap: calc(var(--rt-space-unit) * 2); margin: 0; padding: 0; list-style: none; }
.rt-nav-link { position: relative; display: flex; align-items: center; justify-content: center; width: var(--rt-touch-target); height: var(--rt-touch-target); padding: 0; border-radius: var(--radius-field); color: var(--color-base-content); text-decoration: none; transition: background var(--rt-transition), color var(--rt-transition); }
.rt-nav-link:hover, .rt-nav-link[aria-current="page"] { color: var(--color-primary); background: color-mix(in srgb, var(--color-primary) 12%, transparent); }
.rt-nav-link[aria-current="page"]::before { content: ""; position: absolute; left: calc((var(--rt-touch-target) - var(--sidebar-width)) / 2); top: calc(var(--rt-space-unit) * 3); bottom: calc(var(--rt-space-unit) * 3); width: var(--rt-space-unit); border-radius: 0 var(--radius-field) var(--radius-field) 0; background: var(--color-primary); }
.rt-nav-group { position: relative; }
.rt-nav-flyout { position: absolute; left: calc(100% + var(--rt-space-unit) * 3); top: 50%; transform: translateY(-50%); display: flex; align-items: center; gap: calc(var(--rt-space-unit) * 2); width: max-content; max-width: calc(100vw - var(--sidebar-width) - var(--rt-space-unit) * 4); padding: calc(var(--rt-space-unit) * 2); border: var(--border) solid var(--color-primary); border-radius: calc(var(--rt-touch-target) * 2); background: var(--color-base-300); animation: rt-nav-pop var(--rt-transition) ease-out; }
.rt-nav-flyout::before { content: ""; position: absolute; right: 100%; top: 0; bottom: 0; width: calc(var(--rt-space-unit) * 3); }
.rt-nav-flyout[hidden] { display: none; }
.rt-nav-action { width: var(--rt-touch-target); height: var(--rt-touch-target); min-height: var(--rt-touch-target); padding: 0; color: var(--color-base-content); }
.rt-nav-action:hover, .rt-nav-action[aria-current="page"] { color: var(--color-primary); background: color-mix(in srgb, var(--color-primary) 12%, var(--color-base-300)); }
.rt-page { width: 100%; max-width: var(--rt-page-max); margin-inline: auto; padding: calc(var(--rt-space-unit) * 9) clamp(calc(var(--rt-space-unit) * 5), 3vw, calc(var(--rt-space-unit) * 12)) calc(var(--rt-space-unit) * 25); }
.rt-page h1 { font-size: clamp(var(--rt-text-2xl), 3vw, var(--rt-text-4xl)); font-weight: var(--rt-font-weight-semibold); letter-spacing: var(--rt-tracking-tight); line-height: var(--rt-leading-tight); }
.skip-link { position: absolute; left: -9999px; top: 0; z-index: 100; }
.skip-link:focus { left: calc(var(--rt-space-unit) * 2); top: calc(var(--rt-space-unit) * 2); padding: calc(var(--rt-space-unit) * 3) calc(var(--rt-space-unit) * 5); background: var(--color-primary); color: var(--color-primary-content); border-radius: var(--radius-field); }
@keyframes rt-nav-pop { from { opacity: 0; transform: translate(calc(var(--rt-space-unit) * -2), -50%); } to { opacity: 1; transform: translate(0, -50%); } }
@media (max-width: 700px) { .rt-product { display: none; } }
@media (max-width: 600px) {
  .has-sidebar { --sidebar-width: calc(var(--rt-touch-target) + var(--rt-space-unit) * 4); --rt-header-height: calc(var(--rt-space-unit) * 16 + var(--border)); }
  .rt-bar { gap: calc(var(--rt-space-unit) * 2); min-height: calc(var(--rt-space-unit) * 16); padding: calc(var(--rt-space-unit) * 2.5) calc(var(--rt-space-unit) * 3.5); }
  .rt-brand img { height: calc(var(--rt-space-unit) * 5.4); }
  .rt-user-controls { gap: calc(var(--rt-space-unit) * 1.5); }
  .rt-user-name { font-size: var(--rt-text-xs); max-width: 30vw; }
  .rt-page { padding: calc(var(--rt-space-unit) * 6) calc(var(--rt-space-unit) * 3.5) calc(var(--rt-space-unit) * 25); }
}
@media (max-width: 360px) { .rt-brand img { height: calc(var(--rt-space-unit) * 4.2); } .rt-user-name { max-width: 25vw; } }
@media (min-width: 64rem) { .rt-bar { padding-inline: var(--rt-header-padding-lg); } }
@media (min-width: 80rem) { .rt-bar { padding-inline: var(--rt-header-padding-xl); } }
@media (prefers-reduced-motion: reduce) { .rt-nav-flyout { animation: none; } .rt-nav-link { transition: none; } }

/* Compact website footer: company links beside the RT mark on phones. */
@media (width < 48rem) {
  #site-footer { display: grid; grid-template-columns: 1fr auto; align-items: start; gap: calc(var(--rt-space-unit) * 6); }
  #site-footer .company-footer-company { grid-column: 1; grid-row: 1; }
  #site-footer .company-footer-brand { grid-column: 2; grid-row: 1; }
  #site-footer .company-footer-brand > :not(:first-child),
  #site-footer .company-footer-contacts,
  #site-footer .company-footer-spacer,
  #site-footer .company-footer-social { display: none; }
}
