:root {
  color-scheme: light;
  --bg: #332d29;
  --panel: #fff;
  --ink: #282a33;
  --muted: #737780;
  --line: #e9e9ed;
  --blue: #ff7a24;
  --green: #24734f;
  --red: #b9384d;
  --amber: #9a591b;
  --sidebar: rgba(49, 44, 42, .83);
  --glass: rgba(54, 48, 45, .79);
  --glass-ink: #fbfaf8;
  --glass-muted: #cdc6c0;
  --glass-border: rgba(255, 255, 255, .15);
  --accent-ink: #2b1b0d;
  --control-gap: 8px;
  --command-history-width: 900px;
  --topbar-min-height: 78px;
  --radius: 27px;
  --card-radius: 17px;
  --control-radius: 11px;
  --blur: 26px;
  --shadow: 0 18px 50px rgba(24, 17, 12, .15);
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 12px;
  --space-lg: 18px;
  --space-xl: 24px;
  --space-2xl: 32px;
  --space-3xl: 40px;
  --sidebar-width: 224px;
  --font-sm: 12px;
  --font-base: 14px;
  --font-title: 24px;
  --search-width: 640px;
  --overview-column-min: 300px;
  --control-height: 42px;
  --location-map-height: 360px;
}

* { box-sizing: border-box; }
body {
  margin: 0;
  min-height: 100vh;
  display: grid;
  grid-template-columns: var(--sidebar-width) minmax(0, 1fr);
  align-items: start;
  gap: var(--space-lg);
  padding: var(--space-3xl);
  background: linear-gradient(rgba(30, 24, 19, .15), rgba(30, 24, 19, .15)), url("/assets/interior.jpg") center/cover fixed;
  color: var(--ink);
  font: var(--font-base)/1.5 Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
button, input, select, textarea { font: inherit; }
button, a { touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
h1, h2, h3, p { margin: 0; }
h1 { font-size: var(--font-title); font-weight: 650; line-height: 1.3; letter-spacing: -.55px; }
h2 { font-size: 17px; font-weight: 650; margin-bottom: var(--space-lg); }
h3 { font-size: 16px; margin-bottom: var(--space-md); }
.sidebar, .app {
  border: 1px solid var(--glass-border);
  border-radius: var(--radius);
  background: var(--glass);
  color: var(--glass-ink);
  box-shadow: var(--shadow);
  backdrop-filter: blur(var(--blur));
  -webkit-backdrop-filter: blur(var(--blur));
}
.sidebar {
  padding: var(--space-xl) var(--space-md);
  position: sticky;
  top: var(--space-3xl);
  min-height: calc(100vh - 2 * var(--space-3xl));
  background: var(--sidebar);
}
.brand {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  min-height: 42px;
  padding: 0 var(--space-sm);
  margin-bottom: var(--space-2xl);
  font-size: 15px;
  font-weight: 650;
  letter-spacing: -.3px;
}
.brand-mark {
  width: 36px;
  height: 36px;
  display: inline-grid;
  place-items: center;
  flex-shrink: 0;
  background: var(--blue);
  color: var(--accent-ink);
  border-radius: var(--control-radius);
  font-size: 21px;
  font-weight: 750;
  box-shadow: 0 5px 18px rgba(255, 122, 36, .2);
}
nav { display: grid; gap: var(--space-sm); }
nav a {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  min-height: 44px;
  color: var(--glass-muted);
  text-decoration: none;
  padding: var(--space-md);
  border-radius: var(--control-radius);
  font-size: 13px;
  transition: color .16s, background .16s, transform .16s;
}
nav a::before {
  content: "";
  display: block;
  width: 19px;
  height: 19px;
  flex-shrink: 0;
  background: currentColor;
  mask: var(--nav-icon) center/contain no-repeat;
  -webkit-mask: var(--nav-icon) center/contain no-repeat;
}
nav a[data-route="dashboard"] { --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Crect x='3' y='3' width='7' height='7' rx='2'/%3E%3Crect x='14' y='3' width='7' height='7' rx='2'/%3E%3Crect x='3' y='14' width='7' height='7' rx='2'/%3E%3Crect x='14' y='14' width='7' height='7' rx='2'/%3E%3C/svg%3E"); }
nav a[data-route="devices"] { --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'%3E%3Crect x='6' y='2' width='12' height='20' rx='3'/%3E%3Cpath d='M10 5h4M11 19h2'/%3E%3C/svg%3E"); }
nav a[data-route="abm"] { --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'%3E%3Cpath d='M12 7c-3-3-8-1-8 4 0 4 3 10 5 10 2 0 2-1 3-1s2 1 3 1c2 0 4-4 5-7-3-1-4-5-1-7-2-2-4-2-7 0ZM12 6c0-3 2-4 4-4 0 2-2 4-4 4Z'/%3E%3C/svg%3E"); }
nav a[data-route="licenses"] { --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'%3E%3Cpath d='m12 2 8 4v6c0 5-8 10-8 10S4 17 4 12V6l8-4Z'/%3E%3Cpath d='m8 12 3 3 5-6'/%3E%3C/svg%3E"); }
nav a[data-route="commands"] { --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'%3E%3Crect x='2' y='3' width='20' height='18' rx='3'/%3E%3Cpath d='m5 7 5 5-5 5M13 17h6'/%3E%3C/svg%3E"); }
nav a[data-route="employees"] { --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'%3E%3Ccircle cx='9' cy='7' r='3'/%3E%3Cpath d='M3 21v-3a6 6 0 0 1 12 0v3M17 4a3 3 0 0 1 0 6M21 21v-3a6 6 0 0 0-4-6'/%3E%3C/svg%3E"); }
nav a[data-route="events"] { --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 3v18h17M7 15l4-5 4 3 6-8'/%3E%3C/svg%3E"); }
nav a[data-route="audit"] { --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Crect x='5' y='4' width='14' height='18' rx='3'/%3E%3Cpath d='M9 2h6v5H9zM9 12h6M9 17h6'/%3E%3C/svg%3E"); }
nav a[data-route="help"] { --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M9 9a3 3 0 0 1 6 0c0 2-3 2-3 4M12 17h.01'/%3E%3C/svg%3E"); }
nav a[data-route="contracts"] { --nav-icon: var(--contract-icon, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Cpath d='M5 2h10l4 4v16H5zM9 10h6M9 15h6M9 18h3'/%3E%3C/svg%3E")); }
nav a:hover { background: rgba(255,255,255,.07); color: var(--glass-ink); transform: translateX(2px); }
nav a.active { background: var(--blue); color: var(--accent-ink); font-weight: 650; box-shadow: 0 5px 20px rgba(255, 122, 36, .18); }
.app { min-width: 0; min-height: calc(100vh - 2 * var(--space-3xl)); overflow: hidden; }
.topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-lg);
  min-height: 104px;
  height: auto;
  padding: var(--space-xl) var(--space-2xl);
  border-bottom: 1px solid var(--glass-border);
  background: transparent;
}
.topbar p { color: var(--glass-muted); margin-top: var(--space-xs); font-size: var(--font-sm); }
.account { display: flex; align-items: center; gap: var(--space-md); color: var(--glass-muted); font-size: var(--font-sm); }
#account-label { max-width: 190px; overflow-wrap: anywhere; }
.icon-btn { padding: 0; display: grid; place-items: center; width: 38px; height: 38px; flex-shrink: 0; border: 1px solid var(--glass-border); background: rgba(255,255,255,.07); color: var(--glass-ink); border-radius: 50%; }
#logout-button { background: rgba(255,255,255,.08); color: var(--glass-ink); border: 1px solid var(--glass-border); padding: var(--space-sm) var(--space-md); font-size: var(--font-sm); }
#view { padding: var(--space-2xl); min-width: 0; }
.grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-lg); margin-bottom: var(--space-xl); }
.two-col { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-lg); }
.card { background: var(--panel); color: var(--ink); border: 1px solid var(--line); border-radius: var(--card-radius); padding: var(--space-xl); min-width: 0; }
.card h2 { position: relative; display: flex; align-items: center; gap: var(--space-sm); }
.card h2::before { content: ""; width: 3px; height: 14px; background: var(--blue); border-radius: 4px; flex-shrink: 0; }
.muted { color: var(--muted); }
.metric { position: relative; padding: var(--space-xl); min-height: 142px; overflow: hidden; }
.metric p { font-size: var(--font-sm); padding-right: 20px; }
.metric strong { display: block; font-size: 38px; font-weight: 650; line-height: 1.1; letter-spacing: -1px; margin-top: var(--space-xl); color: #bf5914; }
.metric::after { content: ""; position: absolute; top: 22px; right: 18px; width: 8px; height: 8px; background: #e69560; border-radius: 50%; box-shadow: 0 0 0 5px #fff0e5; }
.metric:nth-child(2) strong { color: #b84272; }
.metric:nth-child(2)::after { background: #dc83aa; box-shadow: 0 0 0 5px #fff0f6; }
.metric:nth-child(3) strong { color: #2c855e; }
.metric:nth-child(3)::after { background: #73bd95; box-shadow: 0 0 0 5px #eaf8ef; }
.metric:nth-child(4) strong { color: #3879ce; }
.metric:nth-child(4)::after { background: #8bb2e7; box-shadow: 0 0 0 5px #eff5ff; }
.toolbar { display: flex; flex-wrap: wrap; gap: var(--space-md); align-items: center; margin-bottom: var(--space-lg); }
.toolbar input, .toolbar select, .form-field { min-width: 190px; border: 1px solid var(--line); border-radius: var(--control-radius); padding: 11px 13px; color: var(--ink); background: var(--panel); }
.toolbar input { flex: 1; }
input::placeholder, textarea::placeholder { color: #858892; }
button { border: 0; border-radius: var(--control-radius); padding: 11px 15px; background: var(--blue); color: var(--accent-ink); cursor: pointer; font-weight: 550; transition: filter .15s, transform .15s; }
button:hover:not(:disabled) { filter: brightness(1.04); }
button:active:not(:disabled) { transform: translateY(1px); }
button.secondary { background: #f0f1f4; color: var(--ink); }
button.danger { background: var(--red); color: #fff; }
button.green { background: var(--blue); color: var(--accent-ink); }
button:disabled { opacity: .5; cursor: not-allowed; }
table { display: block; width: 100%; border-collapse: collapse; background: var(--panel); color: var(--ink); border: 1px solid var(--line); border-radius: var(--card-radius); overflow-x: auto; }
th, td { padding: 14px 15px; text-align: left; vertical-align: middle; border-bottom: 1px solid var(--line); font-size: 13px; }
th { color: var(--muted); background: #f7f8fa; font-size: var(--font-sm); font-weight: 600; white-space: nowrap; }
td { white-space: nowrap; }
td details { white-space: normal; }
td button { font-size: var(--font-sm); }
tbody tr:hover { background: #fcfaf7; }
tr:last-child td { border-bottom: 0; }
.pill { display: inline-flex; align-items: center; min-height: 25px; padding: 3px 9px; border-radius: 100px; background: #edf0f4; color: #5b6370; font-size: var(--font-sm); font-weight: 550; white-space: nowrap; }
.pill.ok { background: #e8f6ed; color: #267349; }
.pill.warn { background: #fff0dd; color: #995413; }
.pill.bad { background: #fceaf0; color: #a42f49; }
.device-title { display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); margin-bottom: var(--space-lg); }
.kv { display: grid; grid-template-columns: minmax(125px, 1fr) minmax(0, 1.15fr); gap: 13px; font-size: 13px; }
.kv div { overflow-wrap: anywhere; }
.kv div:nth-child(odd) { color: var(--muted); }
.command-grid { display: flex; flex-wrap: wrap; gap: var(--space-md); }
.command-action { max-width: 240px; }
.command-action small { display: block; margin-top: var(--space-sm); font-size: var(--font-sm); }
.card > .muted { margin-bottom: var(--space-md); }
details { max-width: 400px; }
summary { cursor: pointer; color: var(--muted); font-size: var(--font-sm); }
details pre { white-space: pre-wrap; overflow-wrap: anywhere; font-size: var(--font-sm); }
.command-history { overflow-x: auto; }
.command-history table { min-width: var(--command-history-width); }
.modal { border: 1px solid var(--line); border-radius: var(--radius); padding: var(--space-xl); max-width: 460px; width: calc(100vw - 40px); color: var(--ink); background: var(--panel); box-shadow: var(--shadow); }
.modal::backdrop { background: rgba(25, 22, 20, .62); backdrop-filter: blur(6px); }
.modal label { display: grid; gap: var(--control-gap); margin-block: var(--control-gap); }
.modal input { width: 100%; min-width: 0; }
.modal p { color: var(--muted); margin-bottom: var(--space-md); }
.modal menu { display: flex; justify-content: flex-end; gap: var(--space-sm); padding: 0; margin: var(--space-lg) 0 0; }
textarea { width: 100%; min-height: 96px; padding: 11px 13px; border: 1px solid var(--line); border-radius: var(--control-radius); resize: vertical; background: var(--panel); color: var(--ink); }
.login-shell { min-height: calc(100vh - 2 * var(--space-3xl) - 174px); display: grid; place-items: center; }
.login-card { width: min(420px, 100%); padding: var(--space-2xl); box-shadow: 0 12px 28px rgba(21, 18, 16, .08); }
.login-card h2 { font-size: 25px; margin-bottom: var(--space-md); }
#login-form { display: grid; gap: var(--space-md); margin-top: var(--space-xl); }
#login-form .form-field { width: 100%; min-width: 0; padding: 13px 15px; }
#login-form button { margin-top: var(--space-xs); }
.bad-text { color: var(--red); min-height: 20px; }

@media (min-width: 1600px) {
  body { padding: 56px 5vw; }
  .sidebar { top: 56px; min-height: calc(100vh - 112px); }
  .app { min-height: calc(100vh - 112px); }
}
@media (max-width: 1200px) {
  body { padding: var(--space-xl); --sidebar-width: 204px; }
  .sidebar { top: var(--space-xl); min-height: calc(100vh - 2 * var(--space-xl)); }
  .app { min-height: calc(100vh - 2 * var(--space-xl)); }
  #view, .topbar { padding: var(--space-xl); }
  .metric { padding: var(--space-lg); }
  .metric::after { top: 20px; right: 14px; }
  .account { flex-wrap: wrap; justify-content: flex-end; }
}
@media (max-width: 900px) {
  body { grid-template-columns: minmax(0, 1fr); padding: var(--space-lg); gap: var(--space-md); }
  .sidebar { position: static; min-height: auto; padding: var(--space-lg); }
  .brand { margin-bottom: var(--space-lg); }
  nav { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-sm); }
  nav a { font-size: var(--font-sm); padding: 9px; }
  .app { min-height: 0; }
  .topbar { min-height: var(--topbar-min-height); padding: var(--space-lg); }
  #view { padding: var(--space-lg); }
  .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .two-col { grid-template-columns: minmax(0, 1fr); }
  table { max-width: 100%; }
}
@media (max-width: 520px) {
  body { padding: var(--space-md); background-attachment: scroll; }
  .sidebar, .app { border-radius: 21px; }
  .sidebar { padding: var(--space-md); }
  .brand { padding: var(--space-xs); margin-bottom: var(--space-md); }
  nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  nav a { min-height: 40px; padding: var(--space-sm); }
  nav a:last-child { grid-column: 1 / -1; }
  .topbar { flex-wrap: wrap; gap: var(--space-md); padding: var(--space-lg); }
  h1 { font-size: 21px; overflow-wrap: anywhere; }
  .account { width: 100%; justify-content: flex-start; }
  #account-label { flex: 1; max-width: none; }
  #view { padding: var(--space-lg); }
  .grid { gap: var(--space-md); margin-bottom: var(--space-lg); }
  .metric { min-height: 126px; padding: var(--space-lg); }
  .metric p { font-size: 11px; }
  .metric strong { font-size: 34px; margin-top: var(--space-lg); }
  .card { padding: var(--space-lg); }
  .kv { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: var(--space-md); font-size: var(--font-sm); }
  .toolbar input, .toolbar select, .form-field { width: 100%; min-width: 0; }
  .toolbar button { width: 100%; }
  .device-title { align-items: flex-start; }
  .device-title button { font-size: var(--font-sm); }
  .command-action { max-width: 100%; }
  .login-shell { min-height: 400px; }
  .login-card { padding: var(--space-xl); }
  .modal { padding: var(--space-xl); }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }

[hidden] { display: none !important; }
.global-search { padding: var(--space-lg) var(--space-2xl); border-bottom: 1px solid var(--glass-border); position: relative; }
.global-search label { color: var(--glass-muted); font-size: var(--font-sm); display: block; margin-bottom: var(--space-xs); }
.global-search input { width: min(100%, var(--search-width)); background: var(--panel); color: var(--ink); }
#global-results:not(:empty) { position: absolute; left: var(--space-2xl); right: var(--space-2xl); top: 100%; z-index: 5; background: var(--panel); color: var(--ink); border: 1px solid var(--line); border-radius: var(--card-radius); padding: var(--space-md); box-shadow: var(--shadow); }
.search-result { display: grid; grid-template-columns: 1fr auto; gap: var(--space-xs); padding: var(--space-md); color: var(--ink); text-decoration: none; border-radius: var(--control-radius); }
.search-result:hover { background: var(--line); }
.search-result span { font-size: var(--font-sm); }
.search-result span:first-of-type { grid-column: 1; }
.list-panel { background: var(--panel); color: var(--ink); border-radius: var(--card-radius); padding: var(--space-xl); min-width: 0; }
.list-toolbar { justify-content: space-between; }
.search-label { flex: 1; min-width: 0; }
.search-label input { width: 100%; display: block; }
.filterbar { display: flex; flex-wrap: wrap; gap: var(--space-md); align-items: end; margin: var(--space-lg) 0; }
.filterbar label,.pagination label { color: var(--muted); font-size: var(--font-sm); }
.filterbar select,.pagination select { display: block; max-width: 100%; margin-top: var(--space-xs); }
.list-count { color: var(--muted); margin-bottom: var(--space-md); }
.table-scroll { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--control-radius); }
.table-scroll table { border: 0; border-radius: 0; }
.record-link { color: var(--ink); font-weight: 650; text-decoration-color: var(--blue); }
td small { display: block; margin-top: var(--space-xs); }
.pagination { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-md); margin-top: var(--space-lg); }
.empty-state { text-align: center; padding: var(--space-3xl); }
.device-tabs { display: flex; flex-wrap: wrap; gap: var(--space-sm); margin: var(--space-lg) 0; }
.device-tabs a { background: rgba(255,255,255,.08); color: var(--glass-ink); min-height: auto; padding: var(--space-sm) var(--space-md); }
.device-tabs a::before { display: none; }
.device-tabs a.selected { background: var(--blue); color: var(--accent-ink); }
[data-panel] { margin-top: var(--space-lg); }
.quick-links { display: flex; flex-wrap: wrap; gap: var(--space-md); }
.quick-links a { color: var(--ink); padding: var(--space-md); border: 1px solid var(--line); border-radius: var(--control-radius); }
@media (max-width: 600px) {
  .global-search { padding: var(--space-lg); }
  #global-results:not(:empty) { left: var(--space-lg); right: var(--space-lg); }
  .list-panel { padding: var(--space-md); }
  .filterbar label { flex: 1; }
  .filterbar select { width: 100%; }
}

.global-search input,.filterbar select,.pagination select,dialog input:not([type=checkbox]),dialog select,dialog textarea { border: 1px solid var(--line); border-radius: var(--control-radius); padding: var(--space-sm) var(--space-md); min-height: var(--control-height); background: var(--panel); color: var(--ink); }
dialog input:not([type=checkbox]),dialog select,dialog textarea { width: 100%; }
.app-result { border-top: 1px solid var(--line); margin-top: var(--space-lg); padding-top: var(--space-lg); }
[data-panel] h3 { margin-top: var(--space-xl); }

.modal label:has(input[type=checkbox]) { display: flex; align-items: center; }
.modal input[type=checkbox] { width: auto; flex-shrink: 0; }
.setup-guide { display: grid; gap: var(--space-lg); }
.setup-page nav a::before { display: none; }
.setup-guide p + p { margin-top: var(--space-md); }
.setup-guide ol { padding-left: var(--space-xl); }
.setup-guide li + li { margin-top: var(--space-sm); }
.setup-guide a { overflow-wrap: anywhere; }

.overview-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--overview-column-min)), 1fr)); gap: var(--space-lg); }
.overview-grid .card { min-width: 0; }
.overview-grid .kv > div { overflow-wrap: anywhere; }

[hidden] { display: none !important; }
.section-nav { display: flex; flex-wrap: wrap; gap: var(--space-sm); padding: 0 var(--space-xl) var(--space-lg); }
.section-nav a { color: var(--glass-ink); padding: var(--space-sm) var(--space-md); border-radius: var(--control-radius); text-decoration: none; border: 1px solid var(--glass-border); }
.section-nav a.active { background: var(--blue); color: var(--accent-ink); border-color: var(--blue); }
.card form { display: grid; gap: var(--space-lg); max-width: var(--search-width); }
.card form label { display: grid; gap: var(--space-xs); }
.card form input:not([type=checkbox]),.card form select,.card form textarea,.card > label input { width: 100%; min-height: var(--control-height); border: 1px solid var(--line); border-radius: var(--control-radius); padding: var(--space-sm) var(--space-md); background: var(--panel); color: var(--ink); }
.card form label.checkbox-label { display: flex; align-items: center; }
nav a[data-route="clients"] { --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'%3E%3Ccircle cx='12' cy='7' r='3'/%3E%3Cpath d='M5 21v-3a7 7 0 0 1 14 0v3'/%3E%3C/svg%3E"); }

.kv small { display: block; }
[data-location-map] { margin-top: var(--space-lg); }
.location-map { display: block; width: 100%; height: var(--location-map-height); border: 1px solid var(--line); border-radius: var(--control-radius); }
.location-map-link { margin-top: var(--space-md); }

.agreement-text { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; }
nav a[data-route="products"],nav a[data-route="builds"],nav a[data-route="agreements"] { --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'%3E%3Cpath d='m12 2 10 5-10 5L2 7zM2 12l10 5 10-5M2 17l10 5 10-5'/%3E%3C/svg%3E"); }
.sidebar { max-height: calc(100vh - 2 * var(--space-3xl)); overflow-y: auto; }

.row-actions { display: flex; flex-wrap: wrap; gap: var(--space-sm); margin-top: var(--space-lg); }
