:root {
  color-scheme: dark;
  --bg: #171715; --panel: #1d1d1a; --raised: #252520; --nav: #10100f;
  --ink: #e6e1d5; --muted: #a6a399; --dim: #807e74; --line: #34342e;
  --accent: #cfad62; --danger: #d99887; --sidebar: 216px;
  font-family: 'Segoe UI Variable', 'Segoe UI', sans-serif; font-size: 13px;
  font-synthesis: none;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--ink); }
button,input,select,textarea { font: inherit; }
button,a { touch-action: manipulation; -webkit-tap-highlight-color: #cfad621a; }
button { cursor: pointer; color: var(--ink); background: transparent; border: 1px solid var(--line); border-radius: 5px; padding: 9px 13px; }
button:hover { background: var(--raised); border-color: #64604f; }
button:disabled { cursor: default; color: var(--dim); opacity: .55; }
a { color: var(--accent); text-decoration: none; }
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
button.primary,.primary { background: var(--accent); border-color: var(--accent); color: #171610; font-weight: 600; }
button.primary:hover { background: #ddbd79; border-color: #ddbd79; }
.danger { color: var(--danger); }
.small { padding: 6px 10px; font-size: 12px; }
.muted,.help { color: var(--muted); }
.help { font-size: 12px; line-height: 1.65; overflow-wrap: anywhere; }
.eyebrow { color: var(--muted); font-size: 11px; font-weight: 500; }
.mono,.record-id { font-variant-numeric: tabular-nums; }
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.skip-link { position: fixed; z-index: 80; top: -60px; left: 12px; padding: 12px; background: var(--accent); color: #111; }
.skip-link:focus { top: 10px; }
.demo-band { height: 27px; display: flex; gap: 12px; align-items: center; justify-content: center; background: #25231c; color: #c3ae81; font-size: 10px; }
.demo-band span { color: #b4a88f; }
.shell { display: grid; grid-template-columns: var(--sidebar) minmax(0,1fr); min-height: 100vh; }
.shell.demo { min-height: calc(100vh - 27px); }
.sidebar { height: calc(100vh - 27px); position: sticky; top: 0; display: flex; flex-direction: column; padding: 26px 14px 20px; border-right: 1px solid #292921; background: var(--nav); }
.shell:not(.demo) .sidebar { height: 100vh; }
.brand { display: flex; align-items: center; gap: 12px; padding: 0 4px 27px; color: var(--ink); }
.brand img { flex: none; object-fit: contain; border-radius: 50%; }
.brand strong { display: block; font-size: 25px; font-weight: 600; letter-spacing: 1px; }
.brand small { display: block; max-width: 100px; font-size: 10px; line-height: 1.5; color: var(--muted); margin-top: 3px; }
.nav-group { margin: 13px 0 24px; }
.sidebar nav { min-height: 0; flex: 1; overflow: auto; scrollbar-width: thin; scrollbar-color: #4b4027 transparent; }
.sidebar-footer { flex: none; }
.nav-label { display: block; padding: 0 11px 8px; color: var(--dim); font-size: 11px; }
.nav-item { display: flex; width: 100%; align-items: center; gap: 10px; margin: 3px 0; padding: 10px 11px; border: 1px solid transparent; text-align: left; color: #aba99e; font-size: 12px; }
.nav-item svg { width: 16px; height: 16px; flex: none; color: #8d897b; }
.nav-item.active { color: #ead6a5; border-color: #4b4027; background: #2b261b; }
.nav-item.active svg { color: var(--accent); }
.nav-item .count { margin-left: auto; color: #8c887b; font-size: 10px; font-variant-numeric: tabular-nums; }
.sidebar-footer { margin-top: auto; padding: 15px 11px 0; border-top: 1px solid #2c2c24; color: var(--muted); font-size: 11px; }
.sidebar-footer small { display: block; font-size: 10px; color: var(--dim); margin: 7px 0 0 12px; }
.connection-dot { display: inline-block; width: 5px; height: 5px; background: #a7b58d; border-radius: 50%; margin-right: 7px; vertical-align: middle; }
.workspace { min-width: 0; height: 100dvh; display: flex; flex-direction: column; overflow: hidden; }
.shell.demo .workspace { height: calc(100dvh - 27px); }
.topbar { display: flex; align-items: center; gap: 28px; padding: 22px 30px; border-bottom: 1px solid var(--line); background: #191916; min-height: 100px; }
.main-search { display: flex; align-items: center; gap: 13px; flex: 1; min-width: 0; height: 54px; background: #11110f; border: 1px solid #6d5b33; border-radius: 6px; padding: 0 17px; }
.main-search:focus-within { border-color: var(--accent); box-shadow: 0 0 0 2px #cfad6212; }
.main-search>svg { color: var(--accent); width: 21px; height: 21px; flex: none; }
.main-search input { background: transparent; border: 0; outline: 0; padding: 0; color: var(--ink); width: 100%; min-width: 0; font-size: 15px; }
.main-search input::placeholder { color: #8c897d; opacity: 1; }
.main-search input:focus-visible { outline: 0; }
.main-search kbd { white-space: nowrap; font: 10px 'Segoe UI',sans-serif; color: #99927f; border: 1px solid #3c382a; padding: 4px 6px; border-radius: 3px; }
.identity { display: flex; align-items: center; gap: 10px; border: 0; padding: 4px 0 4px 5px; text-align: left; flex: none; }
.identity strong { font-size: 12px; font-weight: 600; display: block; }
.identity small { display: block; margin-top: 4px; font-size: 10px; color: var(--muted); }
.avatar { width: 32px; height: 32px; background: #353025; color: #d7bc83; display: inline-grid; place-items: center; border-radius: 50%; object-fit: cover; font-size: 11px; flex: none; }
.mobile-menu { display: none; }
.workspace-body { display: grid; grid-template-columns: minmax(0,1fr) 286px; flex: 1; min-height: 0; overflow: hidden; }
.workspace-body.has-inspector { grid-template-columns: minmax(0,1fr) 400px; }
.main { min-width: 0; padding: 30px; outline: 0; overflow: auto; }
.workspace-rail { min-width: 0; min-height: 0; display: flex; flex-direction: column; border-left: 1px solid var(--line); background: #1b1b17; }
.inspector-empty { flex: 1; padding: 33px 25px; color: var(--dim); }
.inspector-empty>svg { width: 24px; height: 24px; color: #8c7a51; }
.inspector-empty h2 { font-size: 14px; font-weight: 500; color: #bab29d; margin: 16px 0 10px; }
.inspector-empty p,.inspector-tip { font-size: 12px; line-height: 1.75; margin: 0; }
.inspector-tip { padding-top: 22px; margin-top: 22px; border-top: 1px solid #333127; font-size: 11px; }
.has-inspector .inspector-empty { display: none; }
.page-heading { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-bottom: 25px; }
.page-heading h1 { font-size: 24px; font-weight: 550; letter-spacing: -.6px; margin: 0; text-wrap: balance; }
.page-heading p { margin: 7px 0 0; color: var(--muted); font-size: 12px; line-height: 1.6; max-width: 75ch; }
.actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; min-width: 0; }
.record-tabs { display: flex; gap: 2px; border-bottom: 1px solid var(--line); margin-bottom: 18px; overflow: auto; }
.record-tab { border: 0; border-bottom: 2px solid transparent; border-radius: 0; padding: 13px 15px; color: var(--muted); font-size: 12px; white-space: nowrap; }
.record-tab:first-child { padding-left: 0; padding-right: 20px; }
.record-tab.active { border-bottom-color: var(--accent); color: #e6d0a0; }
.record-tab span { display: inline-block; font-size: 10px; color: var(--dim); margin-left: 7px; }
.record-section { border: 1px solid var(--line); border-radius: 6px; background: var(--panel); overflow: hidden; }
.table-toolbar,.table-foot { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 17px; color: var(--muted); font-size: 11px; }
.table-toolbar { border-bottom: 1px solid var(--line); min-height: 55px; }
.table-toolbar>span { display: flex; align-items: center; flex-wrap: wrap; }
.toolbar-divider { display: inline-block; height: 12px; border-left: 1px solid #4d4a3f; margin: 0 12px; }
.table-foot { border-top: 1px solid var(--line); min-height: 48px; }
.table-wrap { position: relative; overflow: auto; max-width: 100%; overscroll-behavior-x: contain; }
table { width: 100%; min-width: 600px; border-collapse: collapse; text-align: left; font-size: 12px; }
th { background: #20201b; color: #a3a092; font-size: 11px; font-weight: 500; padding: 13px 17px; white-space: nowrap; }
td { padding: 16px 17px; border-top: 1px solid #2e2e28; font-size: 12px; vertical-align: middle; line-height: 1.4; }
td strong { display: block; color: var(--ink); font-weight: 500; }
td small { display: block; font-size: 10px; color: var(--muted); margin-top: 5px; }
tbody tr:hover { background: #26261f; }
tbody tr.selected { background: #302a1c; }
.records-table td { height: 68px; }
.record-name { display: flex; align-items: center; gap: 12px; border: 0; padding: 0; text-align: left; width: 100%; min-width: 190px; }
.record-name:hover { background: transparent; }
.record-name svg { flex: none; color: #a8966b; width: 18px; height: 18px; }
.record-name strong { font-weight: 500; color: #e2dfd3; font-size: 12px; }
.record-name small { font-size: 10px; color: #938e7d; font-variant-numeric: tabular-nums; }
.type-cell { color: #b4b0a1; white-space: nowrap; }
.summary-cell { max-width: 250px; color: var(--muted); }
.summary-cell>span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 240px; }
.date-cell { color: #b1ab9a; white-space: nowrap; font-size: 11px; font-variant-numeric: tabular-nums; }
.open-record { border: 0; padding: 2px 7px; color: var(--dim); font-size: 22px; }
.tag { display: inline-flex; align-items: center; padding: 4px 7px; font-size: 10px; font-weight: 500; color: #b6c9a5; background: #263024; border: 1px solid #3a4933; border-radius: 4px; white-space: nowrap; }
.tag.neutral { background: #292923; color: #bbb8a9; border-color: #424137; }
.tag.warning { color: #d4b97c; background: #362f20; border-color: #5a4b2c; }
.tag.danger { color: #dba797; background: #382822; border-color: #604236; }
.toolbar { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 18px; }
.filters { display: flex; align-items: center; gap: 10px; min-width: 0; }
.filters input { width: 260px; }
input,select,textarea { background: #151512; color: var(--ink); border: 1px solid #46453a; border-radius: 4px; width: 100%; min-width: 0; padding: 10px 12px; }
input::placeholder,textarea::placeholder { color: #8f8b7d; }
input[type=checkbox] { width: auto; accent-color: var(--accent); }
input[type=file] { font-size: 12px; }
textarea { resize: vertical; min-height: 95px; line-height: 1.6; }
select { width: auto; max-width: 100%; }
.field select { width: 100%; }
select[multiple] { height: 115px; }
label { display: block; margin-bottom: 7px; color: #c4c0b2; font-size: 12px; }
.field { margin-bottom: 17px; }
.field small { display: block; color: var(--muted); font-size: 11px; line-height: 1.5; margin-top: 7px; }
.field:has(.picker-search) label { margin-bottom: 8px; }
.picker-search { margin-bottom: 7px; font-size: 12px; }
.form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 17px; }
.full { grid-column: 1/-1; }
.form-footer { display: flex; gap: 10px; justify-content: flex-end; border-top: 1px solid var(--line); padding-top: 20px; margin-top: 20px; }
.form-error { color: var(--danger); font-size: 12px; margin-top: 14px; line-height: 1.6; }
.record-inspector { display: none; min-width: 0; min-height: 0; flex: 1; overflow: auto; background: #1b1b17; }
.has-inspector .record-inspector { display: block; }
.drawer { width: 100%; }
.drawer-top { display: flex; align-items: center; justify-content: space-between; padding: 19px 23px; border-bottom: 1px solid var(--line); background: #1f1f1a; min-height: 57px; }
.drawer-top .eyebrow { color: #b3a890; font-size: 11px; }
.drawer-content { padding: 25px 23px 35px; }
.drawer-content>.eyebrow { font-size: 10px; color: #918b7b; }
.drawer h2 { margin: 13px 0 8px; font-size: 26px; line-height: 1.25; font-weight: 500; letter-spacing: -.7px; overflow-wrap: anywhere; }
.drawer h3 { margin: 27px 0 14px; font-size: 12px; font-weight: 600; color: #c8c0ac; }
.close { border: 0; color: #b8b09b; font-size: 22px; line-height: 1; padding: 4px 7px; }
.detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px 16px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); margin: 25px 0; padding: 21px 0; }
.detail-grid dt { color: var(--muted); font-size: 11px; margin-bottom: 6px; }
.detail-grid dd { margin: 0; font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.detail-copy { color: #c5c1b5; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.8; font-size: 12px; max-width: 75ch; }
.linked-record { display: flex; width: 100%; align-items: center; gap: 12px; text-align: left; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; padding: 15px 0; font-size: 12px; }
.linked-record>svg { flex: none; color: var(--accent); }
.linked-record div { min-width: 0; overflow-wrap: anywhere; }
.linked-record>span:last-child { margin-left: auto; color: #aaa18c; }
.timeline { border-left: 1px solid #554a31; padding-left: 16px; margin-left: 4px; }
.timeline-item { position: relative; padding-bottom: 20px; line-height: 1.65; font-size: 11px; overflow-wrap: anywhere; }
.timeline-item:before { content: ''; width: 5px; height: 5px; border-radius: 50%; position: absolute; left: -19px; top: 6px; background: var(--accent); }
.timeline-item small { display: block; color: var(--muted); font-size: 10px; margin-top: 3px; }
.photo-large { object-fit: cover; width: 90px; height: 90px; background: #000; border-radius: 5px; margin-top: 20px; }
.modal-backdrop { position: fixed; inset: 0; z-index: 40; background: #000b; display: flex; align-items: center; justify-content: center; padding: 24px; }
.modal { background: #20201b; border: 1px solid #57503e; border-radius: 8px; width: min(680px,100%); max-height: 92dvh; overflow: auto; overscroll-behavior: contain; }
.modal-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 20px 26px; border-bottom: 1px solid var(--line); position: sticky; top: 0; background: #20201b; z-index: 1; }
.modal-top h2 { font-size: 19px; font-weight: 550; margin: 0; }
.modal-body { padding: 25px 26px; }
body:has(.modal-backdrop) { overflow: hidden; }
details { grid-column: 1/-1; border-top: 1px solid var(--line); padding-top: 17px; margin-top: 8px; }
summary { cursor: pointer; color: #d4ba82; font-size: 12px; margin-bottom: 20px; }
.text-button { border: 0; padding: 0; color: var(--accent); font-size: 11px; }
.text-button:hover { background: transparent; text-decoration: underline; }
.row-link { padding: 0; border: 0; color: var(--ink); text-align: left; }
.panel { background: var(--panel); border: 1px solid var(--line); border-radius: 6px; margin-bottom: 22px; min-width: 0; overflow: hidden; }
.panel-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 19px 20px; border-bottom: 1px solid var(--line); }
.panel-head h2 { margin: 0; font-size: 13px; font-weight: 550; }
.panel-body { padding: 22px; }
.empty { padding: 60px 25px; text-align: center; color: var(--muted); }
.empty h2 { font-size: 16px; font-weight: 500; color: #c4bba4; }
.empty p { font-size: 12px; line-height: 1.7; margin-top: 12px; }
.stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 15px; margin-bottom: 25px; }
.stat { padding: 19px; background: var(--panel); border: 1px solid var(--line); border-radius: 5px; position: relative; }
.stat strong { font-size: 28px; display: block; font-weight: 500; margin: 16px 0 9px; font-variant-numeric: tabular-nums; }
.stat small { color: var(--muted); font-size: 11px; }
.stat-icon { position: absolute; top: 20px; right: 16px; color: #8a805f; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); gap: 22px; }
.dashboard-grid>div { min-width: 0; }
.announcement { padding: 20px; border-bottom: 1px solid var(--line); }
.announcement:last-child { border-bottom: 0; }
.announcement p { font-size: 12px; color: #bcb6a5; line-height: 1.7; overflow-wrap: anywhere; }
.roster-row { display: flex; align-items: center; gap: 12px; padding: 17px 20px; border-bottom: 1px solid var(--line); }
.roster-row strong { display: block; font-size: 12px; font-weight: 500; }
.roster-row small { display: block; color: var(--muted); font-size: 11px; margin-top: 5px; }
.roster-row .tag { margin-left: auto; }
.notice { padding: 15px 18px; background: #29261e; color: #c6bda5; border: 1px solid #4d4531; border-radius: 5px; line-height: 1.7; font-size: 12px; margin-bottom: 20px; overflow-wrap: anywhere; }
.chart-row { display: flex; align-items: center; gap: 13px; margin: 22px 0; font-size: 12px; }
.chart-row>span { width: 95px; flex: none; color: var(--muted); }
.bar-track { flex: 1; height: 6px; background: #343228; }
.bar-fill { height: 100%; background: #ae935c; }
.chart-row>strong { width: 25px; text-align: right; font-variant-numeric: tabular-nums; }
.calendar-scroll { overflow: auto; }
.calendar-grid { display: grid; grid-template-columns: repeat(7,minmax(100px,1fr)); min-width: 700px; }
.calendar-weekday { font-size: 10px; color: var(--muted); padding: 13px; border-bottom: 1px solid var(--line); }
.calendar-cell { min-height: 110px; padding: 12px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.calendar-cell:nth-child(7n) { border-right: 0; }
.calendar-date { color: var(--muted); display: block; font-size: 11px; margin-bottom: 12px; font-variant-numeric: tabular-nums; }
.calendar-cell.today { background: #302b1d; }
.calendar-cell.today .calendar-date { color: #dec180; }
.calendar-event { display: block; width: 100%; padding: 7px; font-size: 10px; text-align: left; border-color: #615032; color: #d9c295; background: #342e20; line-height: 1.5; overflow-wrap: anywhere; }
.calendar-event small { display: block; color: #b2a480; }
.status-strip { color: var(--muted); font-size: 11px; padding: 13px 20px; }
.shift-dock { position: relative; z-index: 25; margin: 14px; flex: none; border: 1px solid #776039; border-radius: 8px; background: #202019; }
.shift-heading { display: flex; align-items: center; justify-content: space-between; padding: 12px 17px; border-bottom: 1px solid #3c382b; font-size: 12px; }
.shift-heading>span { display: flex; align-items: center; gap: 8px; color: #c7beaa; }
.shift-heading i { width: 6px; height: 6px; border-radius: 50%; background: #93866a; }
.is-active .shift-heading i { background: #b9c891; }
.shift-collapse { border: 0; color: #bca779; font-size: 17px; line-height: 1; padding: 1px 3px; }
.shift-body { padding: 15px 17px 13px; }
.shift-current>span { font-size: 11px; color: #bcb4a0; }
.shift-current strong { display: block; font-size: 29px; line-height: 1.4; font-weight: 450; letter-spacing: 1px; color: #ead5a8; font-variant-numeric: tabular-nums; margin-top: 3px; }
.shift-total { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 11px; border-top: 1px solid #3b372a; padding-top: 12px; font-size: 11px; color: #b1a992; }
.shift-total strong { font-weight: 500; color: #ddd2b6; font-variant-numeric: tabular-nums; }
.shift-button { width: 100%; display: flex; justify-content: center; align-items: center; gap: 9px; margin-top: 14px; padding: 9px; font-size: 12px; }
.shift-button.outline { border-color: #8e7343; color: #dfc48b; }
.shift-body p { font-size: 10px; margin: 9px 0 0; color: #a59a80; text-align: center; }
.shift-dock.collapsed .shift-body { display: none; }
.shift-dock.collapsed .shift-heading { border-bottom: 0; }
body:has(.modal-backdrop) .shift-dock { visibility: hidden; }
#toast { position: fixed; z-index: 70; left: 50%; bottom: 27px; transform: translateX(-50%); padding: 13px 20px; color: #e0d3b4; background: #353023; border: 1px solid #75603a; border-radius: 6px; display: none; font-size: 12px; max-width: 85vw; }
.boot { display: grid; place-content: center; min-height: 100vh; color: var(--muted); font-size: 12px; }
.auth { display: grid; place-items: center; min-height: calc(100vh - 27px); padding: 30px; }
.auth-card { padding: 36px; border: 1px solid var(--line); border-radius: 8px; background: var(--panel); width: min(470px,100%); }
.auth-card .brand { padding: 0; }.auth-card h1 { font-size: 25px; font-weight: 500; margin: 25px 0 15px; }
.auth-card p { color: var(--muted); line-height: 1.7; font-size: 13px; }
.auth-card .primary { display: inline-block; padding: 12px 18px; border-radius: 5px; margin-top: 16px; }
.auth-emblem { object-fit: contain; border-radius: 50%; }
.print-only { display: none; }
@media(min-width:1700px) { .workspace-body.has-inspector { grid-template-columns: minmax(0,1fr) 460px; }.topbar { padding-right: 40px; }.main { padding-left: 40px; padding-right: 40px; } }
@media(max-width:1180px) { :root { --sidebar: 190px; }.brand { gap: 8px; }.brand img { width: 58px; height: 58px; }.brand strong { font-size: 22px; }.brand small { font-size: 9px; }.topbar { padding: 18px 23px; gap: 20px; }.main { padding: 24px 23px; }.workspace-body.has-inspector { grid-template-columns: minmax(0,1fr) 350px; }.dashboard-grid { grid-template-columns: 1fr; }.stats { gap: 10px; }.stat { padding: 15px; }.stat small { font-size: 10px; } }
@media(max-width:900px) { .has-inspector .record-inspector { position: fixed; z-index: 35; right: 0; top: 0; bottom: 0; width: min(480px,100%); overflow: auto; box-shadow: -50px 0 100px #0008; overscroll-behavior: contain; }.workspace-body,.workspace-body.has-inspector { grid-template-columns: minmax(0,1fr); }.workspace-rail { border: 0; }.inspector-empty { display: none; }.shift-dock { position: fixed; bottom: 20px; right: 20px; width: 250px; margin: 0; }.main { padding-bottom: 290px; }.drawer-content { padding-bottom: 40px; }body:has(.has-inspector) .shift-dock { visibility: hidden; } }
@media(max-width:760px) {
  .shell { display: block; }.workspace,.shell.demo .workspace { height: auto; overflow: visible; }.workspace-body { overflow: visible; }.sidebar { display: none; position: fixed; z-index: 36; width: 216px; top: 27px; bottom: 0; height: calc(100dvh - 27px); overflow: auto; }.sidebar.open { display: flex; }.shell:not(.demo) .sidebar { top: 0; height: 100dvh; }
  .mobile-menu { display: block; border: 0; padding: 8px 0; flex: none; }.topbar { min-height: 85px; padding: 14px 15px; gap: 12px; }.main-search { height: 48px; padding: 0 11px; gap: 9px; }.main-search input { font-size: 13px; }.main-search kbd { display: none; }.main-search>svg { width: 18px; height: 18px; }.identity { padding: 0; }.identity>span:last-child { display: none; }
  .demo-band span { display: none; }.main { padding: 24px 16px 290px; }.page-heading { display: block; margin-bottom: 21px; }.page-heading h1 { font-size: 23px; }.page-heading>.actions { margin-top: 16px; }.record-tabs { margin-bottom: 16px; }.record-tab { padding: 12px 11px; font-size: 11px; }.record-tab:first-child { padding-right: 14px; }
  .table-toolbar,.table-foot { padding: 12px; font-size: 10px; flex-wrap: wrap; }.toolbar { align-items: stretch; flex-direction: column; }.filters { width: 100%; }.filters input { width: 100%; }.filters select { max-width: 145px; }.stats { grid-template-columns: repeat(2,minmax(0,1fr)); }.form-grid { grid-template-columns: minmax(0,1fr); }.modal-backdrop { padding: 10px; }.modal-top { padding: 18px 20px; }.modal-body { padding: 20px; }
  .shift-dock { right: 15px; bottom: max(15px,env(safe-area-inset-bottom)); width: 250px; }.drawer-top { position: sticky; top: 0; z-index: 2; }.shift-current strong { font-size: 27px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation: none!important; scroll-behavior: auto!important; transition: none!important; } }
@media print { body { background: #fff; color: #222; }.sidebar,.topbar,.demo-band,.shift-dock,.main,.drawer-top,.no-print,#toast,.skip-link { display: none!important; }.shell,.workspace,.workspace-body,.record-inspector,.drawer { display: block!important; position: static!important; width: 100%!important; background: white!important; color: #222!important; border: 0; box-shadow: none!important; }.drawer-content { padding: 20px; }.detail-copy,.help,.muted,.eyebrow,.detail-grid dt { color: #555!important; }.detail-grid,.timeline-item { break-inside: avoid; }.print-only { display: block; }.drawer h2 { color: #222; }.linked-record { color: #222; } }

.button-link { display: inline-flex; align-items: center; justify-content: center; border: 1px solid #514936; border-radius: 5px; color: #d2ba84; padding: 9px 12px; font-size: 12px; white-space: nowrap; }
.button-link:hover { background: #302a1e; border-color: #8b7549; }
.button-link.small { padding: 8px 12px; font-size: 13px; min-height:38px; line-height:normal; }
.inline-label { display: flex; align-items: center; gap: 12px; margin: 0; font-size: 12px; color: var(--muted); }
.inline-label select { min-width: 130px; }
.recent-strip { display: flex; gap: 9px; align-items: center; flex-wrap: wrap; margin: -3px 0 22px; font-size: 11px; color: var(--muted); }
.recent-strip>span { margin-right: 3px; }
.recent-strip>button { font-size: 11px; padding: 5px 8px; }
.recent-strip>.text-button { border: 0; color: var(--accent); }
.saved-nav .nav-item span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.saved-manage { margin: 7px 0 0 12px; }
.status-reason { max-width: 320px; overflow-wrap: anywhere; font-size: 12px; line-height: 1.6; }
.tool-hits { margin-top: 20px; max-height: 360px; overflow: auto; }
.tool-hits>button { display: flex; width: 100%; gap: 15px; align-items: center; border: 0; border-bottom: 1px solid var(--line); text-align: left; border-radius: 0; padding: 14px 0; }
.tool-hits small { color: var(--muted); margin-left: auto; }
.network-controls { display: flex; gap: 15px; align-items: center; margin-bottom: 20px; }
.network-scroll { overflow: auto; }
.network-canvas { display: block; width: 100%; min-width: 640px; min-height: 470px; max-height: 680px; }
.network-edge { stroke: #62553b; stroke-width: 1.2; }
.network-node { cursor: pointer; }
.network-node rect { fill: #25251f; stroke: #5c543e; stroke-width: 1; }
.network-node.root rect { fill: #423620; stroke: #c5a361; stroke-width: 1.5; }
.network-node:hover rect,.network-node:focus rect { fill: #3a3222; stroke: #c5a361; }
.network-node text { fill: #e1d9c6; font: 12px 'Segoe UI',sans-serif; pointer-events: none; }
.network-node .network-kind { fill: #aea18a; font-size: 10px; }
.audit-filters { display: grid; grid-template-columns: minmax(180px,1fr) 150px 150px auto; gap: 12px; align-items: end; margin-bottom: 22px; }
.audit-filters label { margin: 0; display: grid; gap: 7px; color: var(--muted); font-size: 11px; }
.audit-filters button { height: 39px; }
.audit-diff { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 20px; }
.audit-diff h3 { font-size: 13px; font-weight: 500; color: #c8b17f; }
.audit-diff pre { white-space: pre-wrap; overflow-wrap: anywhere; font: 11px/1.7 Consolas,monospace; color: #c6c0ae; background: #171713; border: 1px solid var(--line); border-radius: 5px; padding: 13px; max-height: 450px; overflow: auto; }
.map-empty>svg { width: 45px; height: 45px; color: #a58c55; margin-bottom: 10px; }
.map-empty p { line-height: 1.9; }
.map-placeholder { overflow: hidden; }
.map-placeholder-preview { min-height: 300px; display: grid; place-items: center; padding: 32px 20px; background-color: #151512; background-image: linear-gradient(#cfad6209 1px,transparent 1px),linear-gradient(90deg,#cfad6209 1px,transparent 1px); background-size: 36px 36px; }
.map-placeholder-message { text-align: center; max-width: 520px; padding: 22px; background: #151512; }
.map-placeholder-message img { display: block; margin: 0 auto 15px; }
.map-placeholder-message>span { font-size: 11px; }
.map-placeholder-message h2 { font-size: 17px; font-weight: 500; line-height: 1.5; margin: 10px 0; }
.map-placeholder-message p,.map-placeholder-footer p { color: var(--muted); font-size: 12px; line-height: 1.7; margin: 0; }
.map-placeholder-layers { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--line); }
.map-placeholder-layers>div { display: flex; flex-direction: column; gap: 7px; padding: 20px; border-right: 1px solid var(--line); }
.map-placeholder-layers>div:last-child { border-right: 0; }
.map-placeholder-layers strong { font-size: 12px; font-weight: 500; }
.map-placeholder-layers span { font-size: 11px; color: var(--muted); }
.map-placeholder-layers small { font-size: 10px; color: var(--accent); margin-top: 5px; }
.map-placeholder-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px; border-top: 1px solid var(--line); }
.map-placeholder-footer button { flex: none; }
@media(max-width:760px) { .map-placeholder-preview { min-height: 260px; padding: 20px 12px; }.map-placeholder-message { padding: 16px 8px; }.map-placeholder-layers { grid-template-columns: 1fr; }.map-placeholder-layers>div { border-right: 0; border-bottom: 1px solid var(--line); padding: 16px; }.map-placeholder-layers>div:last-child { border-bottom: 0; }.map-placeholder-footer { align-items: flex-start; flex-direction: column; padding: 16px; } }
.map-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 15px; flex-wrap: wrap; margin-bottom: 18px; }
.map-toolbar select { max-width: 160px; font-size: 11px; padding: 6px 8px; }
.active-control { color: #e0c48b; border-color: #a48a50; background: #302a1e; }
.map-scroll { overflow: auto; max-height: 600px; background: #13130f; overscroll-behavior: contain; }
.island-map-stage { position: relative; min-width: 100%; }
.island-map-stage img { width: 100%; height: auto; display: block; }
.island-map-stage>svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.island-map-stage.drawing { cursor: crosshair; }
.map-point { cursor: pointer; }
.map-point circle { fill: #dfb75a; stroke: #33280f; stroke-width: 3; }
.map-point text { font: 13px 'Segoe UI',sans-serif; fill: #fff4d5; paint-order: stroke; stroke: #27200c; stroke-width: 3; }
.map-zone { fill: #b4bd6728; stroke: #c6c66c; stroke-width: 3; cursor: pointer; }
.map-zone.restricted { fill: #c17b5c35; stroke: #d39d77; }
.map-ghost { stroke: #ffe2a0; fill: #cfad6220; stroke-width: 3; stroke-dasharray: 8 5; pointer-events: none; }
.map-drawing-note { display: flex; justify-content: space-between; align-items: center; gap: 15px; background: #30291c; color: #d6bc85; border: 1px solid #615033; padding: 13px 17px; border-radius: 5px; margin-bottom: 18px; font-size: 12px; }
.map-location-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.map-location-list>button { display: flex; gap: 14px; justify-content: space-between; align-items: center; text-align: left; border: 0; border-bottom: 1px solid var(--line); padding: 17px 20px; border-radius: 0; }
.map-location-list strong { display: block; font-size: 12px; font-weight: 500; }
.map-location-list small { display: block; font-size: 10px; color: var(--muted); margin-top: 6px; }
.analytics-totals { display: flex; gap: 0; border: 1px solid var(--line); border-radius: 5px; background: #1d1d18; margin-bottom: 24px; }
.analytics-totals>span { padding: 19px 23px; color: var(--muted); flex: 1; border-right: 1px solid var(--line); font-size: 12px; }
.analytics-totals>span:last-child { border: 0; }
.analytics-totals strong { margin-left: 16px; font-size: 22px; color: #d7c18f; font-weight: 500; font-variant-numeric: tabular-nums; }
.storage-summary { display: flex; gap: 18px; flex-wrap: wrap; margin-bottom: 20px; color: #c2b69a; font-size: 12px; }
.backup-list { margin-top: 20px; }
.backup-list>div { border-top: 1px solid var(--line); padding: 12px 0; }
.backup-list strong { font-size: 11px; font-weight: 500; overflow-wrap: anywhere; }
.backup-list small { display: block; color: var(--muted); font-size: 10px; margin-top: 6px; }
.search-management-row { display: flex; align-items: center; gap: 10px; border-bottom: 1px solid var(--line); padding: 10px 0; }
.search-management-row>button:first-child { flex: 1; text-align: left; border: 0; }
.search-management-row strong { display: block; font-size: 12px; font-weight: 500; }
.search-management-row small { color: var(--muted); display: block; font-size: 11px; margin-top: 4px; }
.recent-search-row { display: block; width: 100%; text-align: left; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; padding: 12px 0; margin-bottom: 5px; }
@media(max-width:1180px) { .audit-filters { grid-template-columns: minmax(160px,1fr) 130px; }.filters { flex-wrap: wrap; }.filters input { width: min(260px,100%); }.analytics-totals { flex-wrap: wrap; }.analytics-totals>span { flex: 1 0 45%; } }
@media(max-width:760px) { .audit-filters,.audit-diff { grid-template-columns: minmax(0,1fr); }.network-controls { flex-wrap: wrap; }.map-drawing-note { display: block; }.map-drawing-note .actions { margin-top: 10px; }.map-location-list { grid-template-columns: 1fr; }.analytics-totals>span { padding: 15px; }.inline-label { flex-wrap: wrap; }.network-canvas { min-width: 560px; }.map-toolbar { align-items: stretch; flex-direction: column; }.status-reason { max-width: 230px; } }

/* Overview: a working shift handover, with the existing database palette. */
.overview-updated { display:flex; justify-content:space-between; align-items:center; gap:14px; color:var(--muted); font-size:11px; margin:-8px 0 22px; }
.overview-updated button { display:flex; align-items:center; gap:7px; color:var(--muted); font-size:11px; }
.overview-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-bottom:24px; }
.overview-summary>button { display:grid; grid-template-columns:1fr auto; align-items:center; text-align:left; border:0; border-radius:0; border-right:1px solid var(--line); padding:17px 18px; gap:7px; }
.overview-summary>button:first-child { padding-left:0; }.overview-summary>button:last-child { border-right:0; }
.overview-summary span { font-size:11px; color:var(--muted); }.overview-summary strong { grid-row:2; font-size:23px; font-weight:500; font-variant-numeric:tabular-nums; }
.overview-summary svg { grid-column:2; grid-row:1/3; color:#9c8b62; width:19px; height:19px; }
.overview-panel { margin-bottom:22px; overflow:hidden; }.overview-panel .panel-head { padding:16px 18px; gap:12px; }
.overview-panel h2 { font-size:13px; font-weight:600; }.overview-panel .panel-head .text-button { font-size:11px; }
.overview-columns { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(250px,1fr); gap:22px; align-items:start; }
.overview-primary,.overview-secondary { min-width:0; }.overview-roster { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.overview-officer { display:flex; gap:12px; align-items:center; min-width:0; padding:18px; border-bottom:1px solid var(--line); }
.overview-officer:nth-child(odd) { border-right:1px solid var(--line); }.overview-officer-name { min-width:0; flex:1; }
.overview-officer-name strong { font-size:12px; font-weight:500; display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.overview-officer small { color:var(--muted); font-size:10px; display:block; margin-top:6px; }.overview-shift-time { flex:none; text-align:right; font-size:12px; font-variant-numeric:tabular-nums; }
.overview-live { display:inline-flex; gap:6px; align-items:center; margin-left:auto; color:#b3c29d; font-size:10px; white-space:nowrap; }
.overview-live i { display:block; height:5px; width:5px; background:#a7b58d; border-radius:50%; }
.overview-panel-foot { display:flex; justify-content:space-between; gap:10px; padding:12px 18px; font-size:10px; color:var(--muted); }
.overview-report { width:100%; text-align:left; display:flex; gap:12px; align-items:flex-start; padding:18px; border:0; border-bottom:1px solid var(--line); border-radius:0; }
.overview-report:last-child { border-bottom:0; }.overview-record-icon { color:#a18d5f; padding-top:2px; flex:none; }
.overview-report-copy { min-width:0; flex:1; }.overview-report-copy>strong { font-size:12px; font-weight:500; line-height:1.5; display:block; margin-bottom:6px; overflow-wrap:anywhere; }
.overview-report-copy>span { color:var(--muted); font-size:11px; line-height:1.65; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.overview-report-copy small { color:var(--dim); display:block; font-size:10px; margin-top:9px; line-height:1.5; }
.overview-report-status { flex:none; text-align:right; }.overview-report-status small { display:block; color:var(--muted); font-size:10px; margin-top:8px; }
.overview-people td { padding:14px 16px; }.overview-people .record-name { padding:0; gap:10px; min-width:180px; }.overview-people .record-name strong { font-size:11px; }
.overview-people .record-name small { max-width:180px; font-size:8px; overflow:hidden; text-overflow:ellipsis; }.overview-people .avatar { width:28px; height:28px; font-size:10px; }
.overview-notice { width:100%; text-align:left; padding:18px; display:block; border:0; border-bottom:1px solid var(--line); border-radius:0; }
.overview-notice:last-child { border-bottom:0; }.overview-notice strong { display:block; font-size:12px; font-weight:500; line-height:1.6; }
.overview-notice>span { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; color:var(--muted); font-size:11px; line-height:1.8; margin:8px 0 11px; }
.overview-notice small { color:var(--dim); font-size:10px; }.overview-event { display:flex; align-items:center; gap:13px; padding:17px 18px; width:100%; border:0; border-bottom:1px solid var(--line); border-radius:0; text-align:left; }
.overview-event:last-child { border-bottom:0; }.overview-event time { flex:none; text-align:center; width:36px; color:var(--accent); }
.overview-event time strong { display:block; font-size:21px; font-weight:500; }.overview-event time span { display:block; font-size:10px; margin-top:3px; }
.overview-event>span { min-width:0; }.overview-event>span>strong { display:block; font-weight:500; font-size:12px; line-height:1.6; }.overview-event small { display:block; font-size:10px; color:var(--muted); margin-top:6px; line-height:1.6; }
.overview-statuses { padding:6px 18px; }.overview-statuses button { display:flex; align-items:center; justify-content:space-between; border:0; border-bottom:1px solid var(--line); border-radius:0; width:100%; padding:12px 0; }
.overview-statuses button:last-child { border:0; }.overview-statuses strong { font-size:15px; font-weight:500; font-variant-numeric:tabular-nums; }
.overview-footnote { margin:0; padding:7px 18px 17px; font-size:10px; color:var(--muted); line-height:1.8; }.overview-empty { margin:0; color:var(--muted); font-size:12px; line-height:1.8; padding:22px 18px; }
.overview-attention { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:22px; }.overview-attention button { display:flex; align-items:center; text-align:left; gap:9px; padding:11px 14px; background:#282419; border-color:#4d4127; color:#d4bc83; font-size:11px; }
.overview-quick-actions { display:grid; gap:8px; margin-top:18px; }.overview-quick-actions button { display:flex; align-items:center; gap:10px; width:100%; text-align:left; padding:12px 10px; font-size:11px; }
.overview-quick-actions button>span:last-child { margin-left:auto; color:var(--accent); }.inspector-empty .rail-title { margin-top:0; font-size:12px; }
.search-suggestions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:-5px 0 18px; }.search-suggestions>span { color:var(--muted); font-size:11px; margin-right:3px; }.search-suggestions button { padding:6px 10px; font-size:11px; }
.trend-chart { padding:20px; }.trend-chart svg { display:block; width:100%; height:175px; overflow:visible; }.trend-chart .trend-reported { fill:#867855; }.trend-chart .trend-verified { fill:#cfad62; }
.trend-axis { display:flex; justify-content:space-between; gap:12px; color:var(--muted); font-size:10px; margin-top:8px; }.trend-legend { display:flex; flex-wrap:wrap; gap:20px; font-size:11px; color:var(--muted); margin-bottom:16px; }.trend-legend i { display:inline-block; width:8px; height:8px; margin-right:7px; background:#867855; }.trend-legend i.verified { background:#cfad62; }
.trend-table { padding:0 20px 20px; }.trend-table summary { cursor:pointer; font-size:11px; color:var(--accent); padding:5px 0; }.trend-table table { margin-top:15px; }
@media(max-width:900px) { #toast { bottom:auto; top:100px; max-width:calc(100vw - 30px); } }
@media(max-width:1280px) { .overview-columns { grid-template-columns:minmax(0,1fr); }.overview-secondary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }.overview-secondary>.panel { margin-bottom:0; }.overview-secondary { margin-bottom:22px; } }
@media(max-width:900px) { .workspace,.shell.demo .workspace { height:100dvh; overflow:hidden; }.shell.demo .workspace { height:calc(100dvh - 27px); }.workspace-body,.workspace-body.has-inspector { grid-template-rows:minmax(0,1fr) auto; overflow:hidden; }.workspace-rail { background:var(--bg); align-items:flex-end; }.shift-dock { position:relative; bottom:auto; right:auto; width:min(280px,calc(100% - 30px)); margin:10px 15px max(10px,env(safe-area-inset-bottom)); }.main { padding-bottom:24px; } }
@media(max-width:760px) { .overview-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }.overview-summary>button { padding:13px 12px; }.overview-summary>button:nth-child(2) { border-right:0; }.overview-summary>button:nth-child(n+3) { border-top:1px solid var(--line); }.overview-summary>button:nth-child(3) { padding-left:0; }.overview-summary strong { font-size:21px; }.overview-roster,.overview-secondary { grid-template-columns:minmax(0,1fr); }.overview-officer:nth-child(odd) { border-right:0; }.overview-panel-foot { flex-wrap:wrap; }.overview-report { padding:15px 13px; gap:9px; }.overview-report-status .tag { font-size:9px; }.overview-updated { align-items:flex-start; gap:10px; flex-wrap:wrap; }.overview-people .record-name { min-width:145px; }.main { padding-bottom:20px; }.overview-panel { margin-bottom:18px; }.overview-secondary { gap:18px; } }

/* Record profiles sit above the workspace; forms can open above the profile. */
.record-modal-backdrop { position:fixed; inset:0; z-index:35; display:flex; align-items:center; justify-content:center; padding:32px; background:#000a; }
.record-dialog { background:#1b1b17; border:1px solid #625435; border-radius:10px; width:min(940px,100%); max-height:calc(100dvh - 64px); overflow:auto; overscroll-behavior:contain; box-shadow:0 25px 100px #0009; outline:none; }
.record-dialog .drawer-top { position:sticky; top:0; z-index:2; gap:16px; padding:16px 28px; }
.record-dialog .drawer-top .eyebrow { flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.record-dialog .drawer-content { padding:26px 34px 38px; }
.record-dialog .drawer-content>h2 { font-size:29px; margin-top:12px; }
.record-dialog .detail-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.record-dialog .detail-copy { max-width:100%; line-height:1.85; font-size:13px; }
.record-dialog .linked-record { padding:16px 0; }.record-dialog .linked-record:hover { background:#cfad6208; }
.record-dialog .record-back { flex:none; color:var(--accent); font-size:11px; }
.record-dialog .close { min-width:40px; min-height:40px; }
body:has(.record-modal-backdrop) { overflow:hidden; }
body:has(.record-modal-backdrop) .shift-dock { visibility:hidden; }
#record-overlay[inert] .record-dialog { filter:brightness(.7); }
@media(max-width:760px) { .record-modal-backdrop { padding:0; align-items:stretch; }.record-dialog { width:100%; height:100dvh; max-height:100dvh; border:0; border-radius:0; box-shadow:none; }.record-dialog .drawer-top { padding:16px 18px; padding-top:max(16px,env(safe-area-inset-top)); }.record-dialog .drawer-content { padding:23px 20px max(32px,env(safe-area-inset-bottom)); }.record-dialog .drawer-content>h2 { font-size:26px; }.record-dialog .detail-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 16px; } }
@media print { body:has(.record-modal-backdrop) #app { display:none!important; }#record-overlay,.record-modal-backdrop,.record-dialog { display:block!important; position:static!important; width:100%!important; height:auto!important; max-height:none!important; overflow:visible!important; padding:0!important; background:#fff!important; color:#222!important; border:0!important; box-shadow:none!important; }.record-dialog .drawer-content { padding:20px; } }

/* Simplified Overview cards, following the owner's preferred layout. */
.overview-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.overview-card-grid>.overview-card { display:flex; flex-direction:column; margin:0; background:#20201b; border:1px solid #403d32; border-radius:10px; min-width:0; }
.overview-card-grid>.overview-duty { grid-column:1/-1; }
.overview-card .panel-head { padding:18px 20px; gap:12px; border-bottom:1px solid #36352c; min-height:66px; }
.overview-card .panel-head h2 { font-size:15px; font-weight:550; }.overview-card .panel-head>.text-button:last-child { margin-left:auto; white-space:nowrap; font-size:11px; }
.overview-card-count { margin-left:auto; display:inline-flex; align-items:center; justify-content:center; background:#302d23; color:#dbc38b; border:1px solid #49412c; border-radius:5px; min-width:27px; padding:4px 7px; font-size:11px; font-variant-numeric:tabular-nums; }
.overview-card .overview-officer { padding:20px; border-bottom:0; }.overview-card .overview-officer:nth-child(n+3) { border-top:1px solid var(--line); }
.overview-card .overview-officer-name strong { font-size:13px; }.overview-card .overview-officer small { font-size:11px; }.overview-card .overview-shift-time>span { color:#d9c48f; font-size:14px; }
.overview-card-list { flex:1; }.overview-card-person,.overview-card-report { display:flex; align-items:center; gap:12px; width:100%; border:0; border-bottom:1px solid #36352c; border-radius:0; padding:18px 20px; text-align:left; min-width:0; }
.overview-card-person:last-child,.overview-card-report:last-child { border-bottom:0; }.overview-card-person>.tag,.overview-card-report>.tag { flex:none; font-size:9px; }
.overview-card-copy { min-width:0; flex:1; }.overview-card-copy strong { display:block; font-size:12px; font-weight:500; line-height:1.55; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.overview-card-copy small { display:block; font-size:10px; color:var(--muted); margin-top:6px; line-height:1.6; }.overview-card-report .overview-record-icon { color:#c3a968; }
.overview-status-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:22px 12px 12px; }
.overview-status-cards button { padding:7px 5px 12px; border:0; border-right:1px solid #3a382e; border-radius:0; text-align:center; }.overview-status-cards button:last-child { border:0; }
.overview-status-cards strong { display:block; font-size:30px; font-weight:500; font-variant-numeric:tabular-nums; color:#969282; margin-bottom:8px; }.overview-status-cards .has-records strong { color:var(--accent); }.overview-status-cards span { color:var(--muted); font-size:11px; }
.overview-card-footnote { padding:6px 20px 18px; margin:0; color:var(--muted); font-size:11px; line-height:1.7; }
.overview-update-section { padding:17px 20px; border-bottom:1px solid #36352c; }.overview-update-section:last-child { border:0; }
.overview-update-label { display:block; font-size:10px; color:var(--muted); margin-bottom:9px; }.overview-update-record { display:block; width:100%; border:0; padding:0; text-align:left; }
.overview-update-record strong { display:block; font-size:12px; line-height:1.5; font-weight:500; }.overview-update-record>span { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; color:var(--muted); font-size:11px; line-height:1.7; margin-top:7px; }
.overview-update-record small { display:block; color:var(--muted); font-size:10px; margin-top:7px; line-height:1.7; }.overview-update-section>.text-button { margin-top:12px; }.overview-update-empty { margin:0; color:var(--muted); font-size:11px; line-height:1.7; }
.overview-card-attention { margin-bottom:18px; }.overview-card-attention button { font-size:11px; padding:9px 12px; }.overview-recent-searches { margin-top:22px; }.overview-recent-searches summary { font-size:11px; margin-bottom:12px; }
@media(max-width:1050px) { .overview-card-grid { grid-template-columns:minmax(0,1fr); }.overview-card-grid>.overview-duty { grid-column:auto; } }
@media(max-width:760px) { .overview-card-grid { gap:16px; }.overview-card .panel-head { padding:16px; min-height:60px; }.overview-card .panel-head h2 { font-size:14px; }.overview-card .overview-officer { padding:17px 16px; }.overview-card .overview-officer:nth-child(n+2) { border-top:1px solid var(--line); }.overview-card-person,.overview-card-report { padding:17px 16px; gap:10px; }.overview-card-copy strong { font-size:12px; }.overview-update-section { padding:16px; } }

/* Larger, quieter controls and profile sections. */
:root { --sidebar:232px; font-size:15px; --muted:#b3afa2; }
button,input,select,textarea { font-size:14px; }button { min-height:38px; }.small { font-size:13px; padding:8px 12px; }.text-button { font-size:13px; min-height:32px; }
.nav-item { font-size:14px; padding:12px; }.nav-label { font-size:12px; }.nav-item .count { font-size:11px; }.sidebar-footer { font-size:12px; }.brand strong { font-size:28px; }.brand small { font-size:11px; }
.main-search { height:58px; }.main-search input { font-size:17px; }.identity strong { font-size:14px; }.identity small { font-size:12px; }.avatar { width:36px; height:36px; font-size:12px; }
.workspace-body { grid-template-columns:minmax(0,1fr) 296px; }.page-heading h1 { font-size:28px; }.page-heading p { font-size:14px; }.overview-updated { font-size:13px; }.overview-updated button { font-size:13px; }
.overview-card .panel-head h2 { font-size:17px; }.overview-card .panel-head>.text-button:last-child { font-size:13px; }.overview-live { font-size:12px; }.overview-card .overview-officer-name strong { font-size:15px; }.overview-card .overview-officer small { font-size:12px; }
.overview-card-grid>.overview-duty { grid-column:auto; }.overview-duty .overview-roster { grid-template-columns:minmax(0,1fr); }.overview-duty .overview-officer:nth-child(odd) { border-right:0; }.overview-duty .overview-officer+.overview-officer { border-top:1px solid var(--line); }
.overview-card-grid>.overview-announcements,.overview-card-grid>.overview-activity { grid-column:1/-1; }.overview-card .overview-empty { font-size:14px; }
.overview-announcement { display:block; padding:21px 23px; width:100%; text-align:left; border:0; border-radius:0; }.overview-announcement strong { display:block; font-weight:550; font-size:17px; }.overview-announcement>span { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; font-size:14px; color:var(--muted); line-height:1.8; margin:9px 0; }.overview-announcement small { color:var(--dim); font-size:12px; }
.overview-status-cards { flex:1; align-items:center; padding:24px 15px; }.overview-status-cards span { font-size:13px; }.overview-status-cards strong { font-size:35px; }
.overview-activity-tabs { display:flex; gap:5px; padding:10px 16px; border-bottom:1px solid var(--line); overflow:auto; }.overview-activity-tabs button { padding:8px 12px; border:0; white-space:nowrap; font-size:14px; }.overview-activity-tabs [aria-selected=true] { color:var(--accent); background:#302a1e; }
.overview-activity-row { display:flex; align-items:center; gap:15px; padding:20px 23px; text-align:left; width:100%; border:0; border-radius:0; border-bottom:1px solid var(--line); }.overview-activity-row:last-child { border:0; }.overview-activity-icon { color:var(--accent); flex:none; }.overview-activity-icon svg { width:21px; height:21px; }.overview-activity-row .overview-card-copy strong { font-size:15px; }.overview-activity-row .overview-card-copy small { font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:560px; }.overview-activity-meta { flex:none; text-align:right; }.overview-activity-meta small { display:block; color:var(--muted); font-size:12px; margin-top:5px; }
.overview-next-event { display:flex; align-items:center; gap:18px; margin-top:20px; padding:18px; border:1px solid var(--line); border-radius:8px; background:var(--panel); }.overview-next-event>span { color:var(--muted); font-size:13px; }.overview-next-event>button:not(.text-button) { text-align:left; border:0; flex:1; padding:0; }.overview-next-event small { display:block; margin-top:5px; color:var(--muted); font-size:12px; }
.record-name strong { font-size:14px; }.record-name small { font-size:10px; }table { font-size:14px; }th { font-size:12px; }.tag { font-size:11px; padding:5px 8px; }.table-foot,.table-toolbar { font-size:12px; }.inspector-empty h2 { font-size:15px; }.inspector-empty p,.inspector-tip { font-size:13px; }.overview-quick-actions button { font-size:13px; padding:12px; }
.field label { font-size:14px; }.field input,.field select,.field textarea { min-height:44px; font-size:15px; }.field select { cursor:pointer; padding:10px 34px 10px 12px; border-color:#514b3b; }.field select option { background:#25251f; color:var(--ink); font-size:15px; }input[type=checkbox] { accent-color:var(--accent); }input[type=file]::file-selector-button { padding:9px 12px; border:1px solid #65573a; color:var(--ink); background:#302d23; border-radius:5px; font:inherit; margin-right:12px; }
.profile-hero { display:flex; gap:20px; align-items:center; margin:5px 0 22px; }.profile-portrait { flex:none; width:80px; height:80px; display:grid; place-items:center; background:#25231b; border:1px solid #51452d; border-radius:8px; color:var(--accent); }.profile-portrait .avatar,.profile-portrait .photo-large { width:80px; height:80px; font-size:29px; border-radius:7px; margin:0; }.profile-portrait>svg { width:35px; height:35px; }.profile-heading { min-width:0; }.profile-heading h2 { font-size:31px; margin:7px 0; }.profile-heading .eyebrow,.profile-heading .help { font-size:12px; }.profile-reference { margin:6px 0; color:var(--muted); font-size:12px; overflow-wrap:anywhere; }
.profile-tabs { display:flex; gap:10px; margin:25px 0 20px; border-bottom:1px solid var(--line); }.profile-tabs button { border:0; border-radius:0; padding:12px 14px; font-size:15px; border-bottom:2px solid transparent; }.profile-tabs [aria-selected=true] { border-bottom-color:var(--accent); color:var(--accent); }
.profile-tab-panel[hidden] { display:none; }.record-dialog .detail-grid { grid-template-columns:repeat(2,minmax(0,1fr)); border-top:0; margin-top:0; padding-top:8px; }.record-dialog .detail-grid dt { font-size:13px; }.record-dialog .detail-grid dd { font-size:15px; }.record-dialog .detail-copy { font-size:15px; }.record-dialog h3 { font-size:15px; }.record-dialog .timeline-item { font-size:14px; }.record-dialog .timeline-item small { font-size:12px; }.record-dialog .linked-record { font-size:15px; }.record-dialog .linked-record small { display:block; margin-top:5px; color:var(--muted); font-size:12px; }.record-dialog .actions { gap:9px; }
.person-connections { margin-top:24px; }.person-connections-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }.person-connections-heading h3 { margin:0; }.person-connection { padding:16px; border:1px solid #45402f; border-radius:8px; margin:12px 0; background:#23221b; cursor:pointer; }.person-connection:hover { border-color:#77613a; }.person-connection-person { display:flex; gap:12px; align-items:center; width:100%; text-align:left; padding:0; border:0; }.person-connection-person strong { display:block; font-size:15px; }.person-connection-person small { display:block; color:var(--accent); font-size:13px; margin-top:6px; }.person-connection p { color:var(--muted); line-height:1.8; font-size:14px; }.person-connection-footer { display:flex; gap:12px; justify-content:space-between; align-items:center; margin-top:8px; }.person-connection-footer small { font-size:12px; color:var(--muted); }.network-modal { width:min(1100px,95vw); }.network-modal .modal-body { padding:20px; }.network-modal .network-canvas { min-width:600px; }
.records-table tbody tr[data-record-row],tr[data-record-row],.overview-duty,.overview-watchlist,.overview-announcements { cursor:pointer; }.records-table tbody tr[data-record-row]:hover,tr[data-record-row]:hover { background:#cfad6209; }
.picker-control { position:relative; }.picker-trigger { width:100%; display:flex; justify-content:space-between; align-items:center; gap:12px; text-align:left; min-height:44px; padding:10px 12px; background:#181815; border:1px solid #514b3b; }.picker-trigger>span:first-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.picker-trigger>span:last-child { color:var(--accent); font-size:19px; }
.picker-native { position:absolute!important; width:1px!important; height:1px!important; min-height:0!important; padding:0!important; overflow:hidden!important; clip-path:inset(50%); opacity:0; pointer-events:none; }
.picker-popover { position:fixed; z-index:80; padding:10px; background:#25251f; border:1px solid #75613a; border-radius:8px; box-shadow:0 12px 35px #0008; overflow:auto; overscroll-behavior:contain; }.picker-popover[hidden] { display:none; }.picker-popover>input { width:100%; min-height:42px; margin-bottom:8px; font-size:15px; }.picker-options { display:grid; gap:4px; }.picker-options button { width:100%; border:0; text-align:left; display:flex; align-items:center; gap:10px; padding:11px; border-radius:5px; font-size:14px; min-height:42px; }.picker-options [aria-selected=true] { background:#3b3320; color:#ead4a0; }.picker-check { width:17px; flex:none; color:var(--accent); }.picker-done { display:block; margin:8px 0 0 auto; background:#cfad62; color:#171610; min-height:38px; }
.shift-heading,.shift-total,.shift-dock p { font-size:12px; }.shift-current>span { font-size:13px; }.shift-current strong { font-size:32px; }.shift-button { min-height:44px; font-size:14px; }
@media(max-width:1180px) { :root { --sidebar:214px; }.workspace-body { grid-template-columns:minmax(0,1fr) 280px; }.brand strong { font-size:26px; }.brand small { font-size:10px; }.overview-card-grid { grid-template-columns:minmax(0,1fr); }.overview-card-grid>.overview-duty { grid-column:auto; } }
@media(max-width:900px) { .workspace-body,.workspace-body.has-inspector { grid-template-columns:minmax(0,1fr); }.overview-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) { .main-search input { font-size:15px; }.main-search { height:50px; }.page-heading h1 { font-size:27px; }.overview-card-grid { grid-template-columns:minmax(0,1fr); }.overview-card .panel-head h2 { font-size:16px; }.overview-card .panel-head { flex-wrap:wrap; gap:9px; }.overview-activity-row { padding:17px 15px; gap:10px; }.overview-activity-row .overview-card-copy strong { font-size:14px; }.overview-activity-meta small { font-size:10px; }.overview-activity-meta .tag { font-size:10px; }.overview-announcement { padding:18px; }.overview-announcement strong { font-size:16px; }.profile-hero { gap:13px; align-items:flex-start; }.profile-portrait,.profile-portrait .avatar,.profile-portrait .photo-large { width:62px; height:62px; font-size:24px; }.profile-heading h2 { font-size:27px; }.profile-heading .help { font-size:11px; }.profile-reference { font-size:10px; }.profile-tabs { gap:1px; }.profile-tabs button { padding:11px 9px; font-size:13px; }.record-dialog .detail-grid { gap:18px 14px; }.person-connections-heading { flex-wrap:wrap; }.overview-next-event { flex-wrap:wrap; }.overview-card .panel-head>.small { font-size:12px; } }
.overview-card-grid>.overview-attention { grid-column:1/-1; margin:0; }
.announcement[data-open] { cursor:pointer; }.announcement[data-open]:hover { background:#cfad6208; }.announcement[data-open] p { display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; font-size:14px; line-height:1.8; }.announcement h3 { font-size:16px!important; }.announcement .row-link { font-size:16px; }

/* Keep the subject visible while exploring their connected records. */
.profile-accordions { margin-top:28px; display:grid; gap:10px; }
.profile-section { border:1px solid var(--line); border-radius:7px; overflow:hidden; }
.profile-section>summary,.inline-record>summary { display:flex; align-items:center; gap:12px; cursor:pointer; list-style:none; padding:18px; font-size:15px; min-height:58px; }
.profile-section>summary::-webkit-details-marker,.inline-record>summary::-webkit-details-marker { display:none; }
.profile-section>summary:hover,.inline-record>summary:hover { background:#cfad6209; }
summary:focus-visible { outline:2px solid var(--accent); outline-offset:-3px; }
.profile-section-count { color:var(--muted); font-size:13px; font-variant-numeric:tabular-nums; }
.profile-chevron { margin-left:auto; color:var(--accent); transition:transform .15s; }
details[open]>.profile-chevron,details[open]>summary>.profile-chevron { transform:rotate(180deg); }
.profile-section[open]>summary { background:#25231c; border-bottom:1px solid var(--line); }
.profile-section-body { padding:8px 18px 16px; }
.profile-section-body>h3:first-child { display:none; }
.profile-section-actions { display:flex; justify-content:flex-end; margin:10px 0; }
.inline-record { border-bottom:1px solid var(--line); min-width:0; }
.inline-record:last-child { border-bottom:0; }
.inline-record>summary { padding:16px 0; }
.inline-record>summary>svg { flex:none; color:var(--accent); }
.inline-record-label { min-width:0; flex:1; overflow-wrap:anywhere; }
.inline-record-label strong { font-size:15px; font-weight:600; display:block; }
.inline-record-label small { display:block; margin-top:5px; color:var(--muted); font-size:12px; }
.inline-record>summary>.profile-chevron { margin-left:0; }
.inline-record-body { padding:6px 0 18px 18px; border-left:2px solid #51452e; margin:0 0 8px 7px; min-width:0; }
.inline-profile-content { min-width:0; padding:8px 0 0; }
.inline-profile-content .profile-hero { gap:12px; margin:8px 0 16px; }
.inline-profile-content .profile-portrait,.inline-profile-content .profile-portrait .avatar,.inline-profile-content .photo-large { width:48px; height:48px; font-size:18px; }
.inline-profile-content .profile-portrait>svg { width:25px; height:25px; }
.record-dialog .inline-profile-title { margin:0 0 5px; font-size:19px; color:var(--ink); }
.inline-profile-content .actions { margin-top:14px!important; margin-bottom:22px; flex-wrap:wrap; }
.inline-profile-content .profile-accordions { margin-top:20px; }
.inline-profile-content .profile-section-body { padding:6px 12px 12px; }
.inline-profile-content .profile-section>summary { padding:13px; font-size:14px; }
.inline-record.person-connection { padding:0; border:0; border-bottom:1px solid var(--line); border-radius:0; margin:0; background:transparent; cursor:default; }
.inline-record .connection-note { font-size:14px; line-height:1.7; color:var(--muted); }
.inline-record .person-connection-footer { margin-bottom:15px; }
.profile-section .timeline-item { overflow-wrap:anywhere; }
.record-dialog .actions>.small { min-height:38px; display:inline-flex; align-items:center; justify-content:center; font-size:13px; padding:8px 12px; line-height:normal; }
.view-as-button { white-space:nowrap; flex:none; }
.preview-banner { display:flex; align-items:center; gap:12px; background:#39301e; border-bottom:1px solid #786037; padding:12px 24px; color:#ead8b2; }
.preview-banner div { min-width:0; flex:1; }.preview-banner strong { display:block; font-size:14px; }.preview-banner small { display:block; font-size:12px; margin-top:4px; }
.workspace:has(.preview-banner) { grid-template-rows:auto auto minmax(0,1fr); }
.preview-scopes { border:1px solid var(--line); border-radius:6px; padding:14px; margin:15px 0; }.preview-scopes legend { padding:0 6px; font-size:13px; }.preview-scopes label { display:flex; align-items:center; gap:9px; padding:5px 0; font-size:14px; }
@media(max-width:760px){.profile-section-body{padding:6px 12px 12px}.profile-section>summary{padding:16px 12px}.inline-record-body{padding-left:10px;margin-left:2px}.inline-record>summary{gap:9px}.inline-record>summary>.tag{max-width:85px;font-size:10px}.inline-profile-content .profile-portrait{display:none}.preview-banner{padding:12px 15px;flex-wrap:wrap}.preview-banner>div{flex-basis:65%}.view-as-button{font-size:12px;padding:8px}.inline-profile-content .detail-grid{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.profile-chevron{transition:none}}
@media print{.profile-accordions details>div{display:block!important}.profile-accordions details{break-inside:auto}.view-as-button,.preview-banner{display:none!important}}

.main-search { cursor:text; }
.shift-heading.shift-collapse { width:100%; min-height:50px; border:0; border-bottom:1px solid var(--line); border-radius:0; padding:16px; text-align:left; justify-content:space-between; }
.shift-heading.shift-collapse:hover { background:#cfad620c; }
.shift-dock.collapsed .shift-heading.shift-collapse { border-bottom:0; }
.shift-heading .shift-toggle-icon { font-size:16px; color:var(--accent); }
.inline-record-reference { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding:10px 0; }.inline-record-reference button { display:flex; align-items:center; gap:8px; }.inline-record-reference small { font-size:12px; color:var(--muted); }
.picker-popover>input[hidden] { display:none; }.picker-group { padding:10px 10px 5px; color:#b7aa8a; font-size:11px; border-top:1px solid var(--line); margin-top:6px; }.picker-group:first-child { margin-top:0; border-top:0; }
.filters .picker-control { width:auto; min-width:135px; max-width:240px; }.inline-label>.picker-control { min-width:145px; width:auto; }
.picker-trigger { min-height:42px; }.picker-trigger[aria-expanded=true] { border-color:var(--accent); background:#2e291e; }.picker-trigger>span:last-child { color:var(--accent); }
.picker-options [role=option]:focus-visible { background:#393221; outline-offset:-2px; }.picker-options [role=option]:hover { background:#302d22; }.picker-options [aria-selected=true] .picker-check { background:#cfad6220; border-radius:3px; }
.inspector-empty { min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:26px 24px; scrollbar-width:thin; scrollbar-color:#665a3f transparent; }
.record-hover-preview { color:var(--ink); animation:record-preview-arrive .12s ease-out; }.record-preview-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; color:#c2b58f; font-size:12px; }.record-preview-heading button { font-size:20px; min-width:32px; padding:0; }
.record-preview-portrait { display:grid; place-items:center; width:64px; height:64px; margin:18px 0 14px; background:#2f2b1f; border:1px solid #635337; border-radius:8px; color:var(--accent); }.record-preview-portrait>svg { width:28px; height:28px; }.record-preview-portrait>.avatar { width:64px; height:64px; border-radius:7px; font-size:23px; }
.inspector-empty .record-hover-preview h2 { font-size:21px; color:var(--ink); line-height:1.3; margin:0 0 8px; overflow-wrap:anywhere; }.inspector-empty .record-preview-id { font-size:10px; color:var(--muted); margin-bottom:14px; overflow-wrap:anywhere; }
.record-preview-facts { display:grid; gap:13px; margin:20px 0; }.record-preview-facts>div { display:grid; gap:4px; }.record-preview-facts dt { font-size:11px; color:var(--muted); }.record-preview-facts dd { margin:0; font-size:14px; line-height:1.5; overflow-wrap:anywhere; }
.inspector-empty .record-preview-note { font-size:13px; color:#bbb5a7; line-height:1.8; margin-bottom:18px; overflow-wrap:anywhere; }.record-preview-decision { border-left:2px solid #b99a56; padding:2px 0 2px 12px; margin:16px 0; }.record-preview-decision strong { font-size:13px; }.record-preview-decision p { font-size:12px; margin:7px 0; overflow-wrap:anywhere; }.record-preview-decision small { font-size:10px; color:var(--muted); }
.record-preview-links { border-top:1px solid var(--line); padding-top:16px; margin:18px 0; }.record-preview-links h3 { font-size:12px; font-weight:500; margin:0 0 10px; color:var(--muted); }.record-preview-links h3>span { float:right; color:var(--accent); }.record-preview-links details { border-bottom:1px solid var(--line); }.record-preview-links summary { display:flex; align-items:center; gap:9px; padding:12px 0; cursor:pointer; list-style:none; font-size:12px; color:var(--ink); }.record-preview-links summary::-webkit-details-marker { display:none; }.record-preview-links summary>svg { color:var(--accent); }.record-preview-links summary>small { color:var(--muted); margin-left:auto; }.record-preview-links .profile-chevron { margin-left:0; }.record-preview-links details>div { padding:0 0 12px 25px; }.record-preview-links details p { font-size:12px; padding:5px 0; color:#c7beaa; }
.record-preview-open { display:flex; align-items:center; justify-content:space-between; width:100%; font-size:13px; border-color:#766039; background:#2c271c; margin-top:18px; }.record-preview-open:hover { background:#3a301d; border-color:var(--accent); }.record-preview-updated { display:block; color:var(--muted); font-size:10px; margin-top:12px; }
.records-table tr.is-previewed { background:#cfad6209; box-shadow:inset 2px 0 var(--accent); }.records-table tr:hover .open-record { border-color:#917747; color:#f0d798; }.overview-activity-row:hover,.overview-announcement:hover { background:#cfad6209; }.record-preview-empty { padding-top:12px; }.record-preview-empty>svg { width:26px; height:26px; color:var(--accent); }
@keyframes record-preview-arrive { from{opacity:.6;transform:translateX(4px)}to{opacity:1;transform:none} }
@media(prefers-reduced-motion:reduce){.record-hover-preview{animation:none}}
.profile-section,.inline-record,.record-preview-links details { padding-top:0; margin-top:0; grid-column:auto; }
.profile-section>summary,.inline-record>summary,.record-preview-links summary { margin-bottom:0; color:var(--ink); }
.record-preview-links details { border-top:0; }
.record-preview-heading { position:sticky; top:-26px; background:#1b1b17; z-index:1; padding:14px 0 10px; border-bottom:1px solid var(--line); }
.record-preview-heading>span { max-width:calc(100% - 38px); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#overlay details { border:1px solid var(--line); border-radius:6px; padding:0 15px 15px; margin:8px 0; }
#overlay details>summary { display:flex; align-items:center; justify-content:space-between; list-style:none; margin:0 -15px -15px; min-height:46px; padding:13px 15px; font-size:13px; color:var(--ink); }
#overlay details>summary::-webkit-details-marker { display:none; }
#overlay details>summary::after { content:'⌄'; color:var(--accent); margin-left:12px; }
#overlay details[open]>summary { margin-bottom:17px; border-bottom:1px solid var(--line); background:#cfad6207; }
#overlay details[open]>summary::after { transform:rotate(180deg); }
#overlay details>summary:hover { background:#cfad620b; }
.main-search { position:relative; }
.search-suggestion-menu { position:absolute; top:calc(100% + 7px); left:0; right:0; z-index:40; padding:7px; background:#25251f; border:1px solid #75613a; border-radius:7px; box-shadow:0 14px 35px #0008; max-height:min(380px,60dvh); overflow:auto; }
.search-suggestion-menu[hidden] { display:none; }
.search-suggestion-menu button { display:flex; align-items:center; gap:12px; width:100%; text-align:left; border:0; padding:12px; min-height:53px; }
.search-suggestion-menu button>svg { color:var(--accent); flex:none; }.search-suggestion-menu button>span:nth-child(2){min-width:0;flex:1}.search-suggestion-menu button>span:last-child{color:var(--accent)}
.search-suggestion-menu strong { display:block; font-size:14px; font-weight:500; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.search-suggestion-menu small{display:block;color:var(--muted);font-size:11px;margin-top:5px}
.search-suggestion-menu [aria-selected=true] { background:#3b3320; }
.modal-top h2 { font-size:24px; line-height:1.25; letter-spacing:-.3px; }.modal-top { gap:15px; }.modal-body { padding-top:23px; }.form-section { border-top:1px solid var(--line); padding-top:20px; margin-top:4px; }.form-section h3 { font-size:16px; font-weight:600; margin:0 0 12px; }.form-section h3>span { font-size:12px; font-weight:400; color:var(--muted); margin-left:8px; }.form-section .field { margin-top:14px; }.form-grid>.full { min-width:0; }.status-choice-help { padding:12px 14px; border-left:2px solid #a48a4e; background:#cfad6208; color:#c8bd9f; font-size:13px; line-height:1.65; margin:12px 0; }
.picker-trigger .picker-arrow { width:18px; height:18px; flex:none; display:grid; place-items:center; line-height:1; }.picker-arrow>svg { display:block; }
.quick-form-tools { display:grid; gap:7px; margin-top:18px; padding-top:17px; border-top:1px solid var(--line); }.quick-form-tools button { text-align:left; font-size:12px; min-height:36px; }
.image-drop-zone { position:relative; display:flex; gap:18px; align-items:center; padding:20px; border:1px dashed #6d6044; border-radius:8px; background:#191916; min-height:145px; }.image-drop-zone.drag-over,.image-drop-zone:focus-visible { border-color:var(--accent); background:#cfad620b; outline:2px solid #cfad6240; outline-offset:2px; }.image-drop-copy { flex:1; min-width:0; }.image-drop-copy>strong { display:block; font-size:15px; margin-bottom:7px; }.image-drop-copy>span { display:block; color:var(--muted); font-size:12px; line-height:1.6; }.image-drop-copy .actions { margin:12px 0 9px; flex-wrap:wrap; gap:8px; }.image-drop-copy button { font-size:12px; padding:7px 10px; min-height:34px; }.image-drop-status { display:block; font-size:11px; color:var(--muted); overflow-wrap:anywhere; }.image-drop-preview { width:90px; height:100px; flex:none; border:1px solid var(--line); background:#000; border-radius:6px; overflow:hidden; }.image-drop-preview[hidden] { display:none; }.image-drop-preview img { width:100%; height:100%; object-fit:contain; }.enhanced-file-input { position:absolute; width:1px!important; height:1px!important; min-height:0!important; opacity:0; padding:0!important; left:20px; bottom:20px; pointer-events:none; }
.connection-entry { display:flex; gap:10px; margin-top:15px; }.connection-entry input { min-width:0; flex:1; }.connection-entry button { flex:none; }.name-suggestions { display:grid; gap:3px; margin:6px 0 0; padding:6px; background:#28251c; border:1px solid #75613a; border-radius:6px; }.name-suggestions[hidden] { display:none; }.name-suggestions button { text-align:left; border:0; padding:10px; }.name-suggestions strong { display:block; font-size:13px; }.name-suggestions small { display:block; color:var(--muted); font-size:10px; margin-top:4px; }.intake-connections { display:grid; gap:10px; }.intake-connection-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:9px 15px; padding:15px; border:1px solid #4d4634; border-radius:7px; background:#25231b; }.intake-connection-row>strong { font-size:14px; overflow-wrap:anywhere; }.intake-connection-row>small { grid-column:1; color:var(--muted); font-size:11px; }.intake-connection-row>button { grid-column:2; grid-row:1/3; align-self:start; }.intake-connection-row>label,.intake-connection-row>input { grid-column:1/-1; font-size:12px; }.intake-connection-row .picker-control { margin-top:7px; }.pending-connection { border:1px dashed #665b42; padding:16px; border-radius:7px; margin:10px 0; }.pending-connection strong { display:block; font-size:14px; }.pending-connection small { display:block; color:var(--muted); margin-top:7px; font-size:12px; }.pending-connection p { font-size:13px; line-height:1.7; color:var(--muted); }
.record-dialog .status-action { border-color:#8e7541; color:#ead19a; }.profile-danger-zone { padding-top:18px; margin-top:25px; border-top:1px solid var(--line); display:flex; justify-content:flex-end; }
.status-filter-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(115px,1fr)); gap:10px; margin:24px 0; }.status-filter-cards button { display:flex; flex-direction:column; align-items:flex-start; gap:9px; min-height:95px; text-align:left; padding:17px 14px; background:var(--panel); }.status-filter-cards strong { font-size:26px; font-weight:500; line-height:1; }.status-filter-cards span { font-size:12px; line-height:1.5; }.status-filter-cards [aria-selected=true] { background:#332d1e; border-color:var(--accent); color:#f1d89e; }.overview-status-cards { grid-template-columns:repeat(auto-fit,minmax(92px,1fr)); }
.draft-form-bar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 18px; padding-bottom:12px; border-bottom:1px solid var(--line); }.draft-save-status { font-size:11px; color:#bdc49d; line-height:1.5; }.draft-save-status.error,.draft-restored-notice.error { color:#e5a18a; }.draft-form-bar button { font-size:11px; min-height:30px; white-space:nowrap; }.draft-restore-offer { display:flex; gap:12px; align-items:center; padding:15px; margin:0 0 20px; border:1px solid #816c3f; background:#302a1d; border-radius:7px; }.draft-restore-offer>div { flex:1; min-width:0; }.draft-restore-offer strong { display:block; font-size:13px; }.draft-restore-offer small { display:block; font-size:11px; color:var(--muted); margin-top:6px; overflow-wrap:anywhere; }.draft-restore-offer button { flex:none; font-size:12px; }.draft-restored-notice { font-size:12px; line-height:1.7; padding:12px 14px; margin:0 0 18px; border-left:2px solid var(--accent); background:#cfad620b; color:#dcc68e; }.saved-draft-list { display:grid; gap:12px; }.saved-draft-list article { display:flex; align-items:center; gap:12px; padding:22px; background:var(--panel); border:1px solid var(--line); border-radius:8px; }.saved-draft-list article>div { flex:1; min-width:0; }.saved-draft-list strong { display:block; font-size:15px; overflow-wrap:anywhere; }.saved-draft-list small { display:block; margin-top:8px; font-size:12px; color:var(--muted); }.saved-draft-list button { flex:none; }
.leave-backdrop { position:fixed; inset:0; z-index:90; display:flex; align-items:center; justify-content:center; padding:20px; background:#000b; backdrop-filter:blur(4px); }.leave-dialog { width:min(510px,100%); background:#24221b; border:1px solid #8a7445; border-radius:10px; box-shadow:0 25px 100px #000a; padding:30px; }.leave-dialog h2 { font-size:26px; font-weight:500; margin:0 0 15px; }.leave-dialog p { font-size:14px; color:var(--muted); line-height:1.75; margin:0 0 24px; }.leave-actions { display:flex; flex-wrap:wrap; gap:11px; }.leave-actions button { flex:1; white-space:nowrap; min-height:42px; font-size:13px; }.leave-actions button:last-child { flex-basis:100%; }
@media(max-width:760px){.image-drop-zone{padding:15px;gap:12px;align-items:flex-start;flex-wrap:wrap}.image-drop-preview{width:65px;height:75px}.image-drop-copy{min-width:180px}.modal-top h2{font-size:23px}.status-filter-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.status-filter-cards button{min-height:84px}.saved-draft-list article{flex-wrap:wrap;padding:17px}.saved-draft-list article>div{flex-basis:100%}.draft-restore-offer{flex-wrap:wrap}.draft-restore-offer>div{flex-basis:100%}.leave-dialog{padding:24px}.draft-form-bar{align-items:flex-start}.draft-form-bar button{white-space:normal}.record-dialog .actions{flex-wrap:wrap}}
.profile-group { min-width:0; border-top:1px solid var(--line); padding-top:20px; }.profile-group-heading { display:flex; align-items:center; gap:10px; margin-bottom:12px; }.profile-group-heading>svg { color:var(--accent); }.record-dialog .profile-group-heading h3 { margin:0; font-size:15px; color:var(--ink); }.profile-group-heading>span { color:var(--muted); font-size:12px; margin-left:auto; }
.profile-group>.inline-record { border:1px solid #45402f; background:#20201b; border-radius:7px; padding:0; margin:9px 0; }.profile-group>.inline-record>summary { padding:16px; }.profile-group>.inline-record>.inline-record-body { margin:0 16px 16px 23px; }
.profile-owner { margin:22px 0 26px; }.record-dialog .profile-owner>h3 { margin:0 0 12px; color:var(--muted); font-weight:500; font-size:13px; }.owner-record { border:1px solid #665638; border-radius:8px; background:#242219; padding:0; }.owner-record>summary { padding:18px; }.owner-record>summary .avatar { width:46px; height:46px; font-size:17px; }.owner-record>.inline-record-body { margin:0 18px 18px 25px; }.owner-record[open]>summary { border-bottom:1px solid var(--line); margin-bottom:16px; }.owner-record>.inline-record-body .profile-hero { display:none; }
.profile-accordions { gap:22px; }.profile-accordions>.profile-section { margin-top:0; }
.picker-popover { margin:0; right:auto; bottom:auto; color:var(--ink); }
.overview-status-cards { grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px 0; }.overview-status-cards>button { grid-column:span 2; }.overview-status-cards>button:nth-child(n+4) { grid-column:span 3; }.overview-status-cards>button:nth-child(3),.overview-status-cards>button:last-child { border-right:0; }
.draft-checkbox { display:flex; align-items:center; gap:9px; margin:10px 0; font-size:13px; }.draft-checkbox input { width:auto; }
.records-table .record-name>.avatar { width:44px; height:52px; flex:none; border-radius:6px; object-fit:cover; object-position:center 25%; background:#24231c; border:1px solid #484332; font-size:14px; color:#b9a775; }
.rail-roster { flex:none; margin:8px 14px 0; border:1px solid #48422f; border-radius:8px; background:#201f19; overflow:hidden; }.rail-roster-heading { display:flex; align-items:center; gap:10px; width:100%; border:0; border-bottom:1px solid #38362a; border-radius:0; padding:13px 14px; font-size:12px; background:transparent; }.rail-roster-heading>span:first-child { display:flex; align-items:center; gap:8px; margin-right:auto; }.rail-roster-heading i { width:5px; height:5px; border-radius:50%; background:#b6c58b; }.rail-roster-heading strong { font-weight:500; color:#d6be83; }.rail-roster-heading>span:last-child { color:#a9976a; }.rail-roster-people { max-height:178px; overflow-y:auto; padding:3px 13px; scrollbar-width:thin; }.rail-roster-person { display:flex; align-items:center; gap:9px; padding:10px 0; border-bottom:1px solid #302f25; }.rail-roster-person:last-child { border:0; }.rail-roster-person .avatar { width:27px; height:30px; border-radius:5px; flex:none; font-size:9px; object-fit:cover; }.rail-roster-person>span { min-width:0; flex:1; }.rail-roster-person strong { display:block; font-size:12px; font-weight:500; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.rail-roster-person small { display:block; margin-top:3px; font-size:10px; color:var(--muted); }.rail-roster-person time { font-size:10px; color:#c3b486; white-space:nowrap; }.rail-roster-people>p { font-size:12px; color:var(--muted); line-height:1.6; padding:10px 0; }.rail-roster-more { width:100%; font-size:11px; padding:9px; border-top:1px solid var(--line); border-radius:0; }
.island-map-workspace { border:1px solid #484638; border-radius:10px; background:#1e1e19; overflow:hidden; }.island-map-toolbar { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:15px; border-bottom:1px solid #414033; flex-wrap:wrap; }.map-layer-switch { display:flex; padding:4px; gap:3px; background:#151611; border:1px solid #3e3c2f; border-radius:8px; }.map-layer-switch>button { display:flex; align-items:center; gap:8px; border:1px solid transparent; background:transparent; font-size:12px; min-height:40px; padding:8px 12px; color:#b5b0a0; border-radius:5px; }.map-layer-switch>button svg { width:17px; height:17px; }.map-layer-switch>button[aria-pressed=true] { background:#353020; border-color:#75643a; color:#eed59a; }.map-layer-switch>button:hover { color:#f0e3c0; background:#29271d; }.island-map-tools { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }.island-map-tools .map-kind-control { margin:0; width:138px; }.map-kind-control .picker-trigger { min-height:38px; font-size:12px; padding:8px 10px; }.island-map-tools>.text-button { font-size:12px; min-height:38px; }.island-map-tools>button.small { min-height:38px; white-space:nowrap; }
.island-map-view { position:relative; height:clamp(410px,calc(100dvh - 315px),720px); min-width:0; overflow:hidden; background:#0d161a; touch-action:none; cursor:grab; isolation:isolate; }.island-map-view.is-panning { cursor:grabbing; user-select:none; }.island-map-view.is-placing:not(.is-panning) { cursor:crosshair; }.island-map-workspace .island-map-stage { position:absolute; left:0; top:0; min-width:0; transform-origin:0 0; will-change:transform; outline-offset:5px; }.island-image-host { position:absolute; inset:0; pointer-events:none; }.island-map-image { position:absolute; display:block; max-width:none; user-select:none; pointer-events:none; }.island-map-overlay { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }.island-saved-markers[hidden] { display:none; }.island-map-overlay .map-point circle { fill:#d7b565; stroke:#17160f; stroke-width:2; }.island-map-overlay .map-point text { font:12px 'Segoe UI',sans-serif; fill:#fff0c3; stroke:#15180e; stroke-width:3; paint-order:stroke; }.island-map-overlay .map-zone { vector-effect:non-scaling-stroke; stroke-width:2; }.island-drawing-ghost { pointer-events:none; }.island-drawing-ghost>* { vector-effect:non-scaling-stroke; stroke:#ffe3a5; stroke-width:2; stroke-dasharray:5 4; fill:#ddb3571a; }
.island-map-caption { position:absolute; left:16px; bottom:16px; display:flex; align-items:center; gap:8px; pointer-events:none; border:1px solid #88816d55; background:#171a17e8; border-radius:6px; padding:9px 12px; color:#ddd5bd; font-size:11px; }.map-live-dot { width:5px; height:5px; border-radius:50%; background:#c0b16c; }.island-map-caption [data-map-detail-status] { color:#aaaf96; font-size:10px; }.island-map-caption [data-map-detail-status]:empty { display:none; }.island-map-buttons { position:absolute; right:16px; bottom:16px; display:flex; flex-direction:column; align-items:stretch; border:1px solid #77715c; background:#1b1d17f2; border-radius:8px; box-shadow:0 4px 15px #0004; overflow:hidden; cursor:default; }.island-map-buttons button { width:42px; height:40px; min-height:40px; display:grid; place-items:center; padding:0; font-size:22px; border:0; border-radius:0; background:transparent; color:#eee3c6; }.island-map-buttons button:hover { background:#3a3424; }.island-map-buttons output { text-align:center; min-width:42px; padding:2px 1px; font-size:10px; color:#baaf92; font-variant-numeric:tabular-nums; }.island-map-buttons>span { border-top:1px solid #4a4738; }.island-map-buttons button svg { width:18px; height:18px; }.island-map-loading { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); padding:12px 18px; border:1px solid #645a3e; border-radius:7px; background:#24251dee; color:#d6c696; font-size:13px; pointer-events:none; }.island-map-loading[hidden],.island-map-error[hidden] { display:none; }.island-map-error { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; gap:15px; flex-direction:column; background:#161c1b; color:#d0c7ad; font-size:14px; }
.island-map-footer { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:11px 16px; border-top:1px solid #3e3e31; }.island-map-footer p { margin:0; font-size:11px; color:#999e8d; line-height:1.6; }.island-map-footer button { font-size:11px; padding:5px 0; min-height:30px; white-space:nowrap; }.island-map-footer button span { display:inline-block; padding:2px 6px; margin-left:5px; background:#363123; border-radius:4px; color:#d8bf83; }.map-touch-help { display:none; }.island-drawing-bar { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:12px 16px; background:#39301c; border-bottom:1px solid #74603a; font-size:12px; color:#ddcc9e; line-height:1.7; }.island-drawing-bar strong { display:block; font-size:13px; color:#f0da9e; }.island-drawing-bar .actions { flex:none; }
.island-locations { margin-top:24px; }.island-locations-heading { margin-bottom:12px; }.island-locations-heading h2 { font-size:16px; font-weight:500; margin:0 0 7px; }.island-locations-heading h2 span { margin-left:8px; color:#a8915c; font-size:12px; }.island-locations-heading p { font-size:12px; color:var(--muted); margin:0; }.island-locations .map-location-list { border:1px solid var(--line); border-radius:8px; overflow:hidden; }.island-locations .map-location-list button>span:nth-child(2) { flex:1; min-width:0; }.map-location-dot { width:7px; height:7px; border-radius:50%; background:#d4b66c; flex:none; }.map-location-dot.restricted { background:#c08b70; }.island-no-locations { color:#aaa795; font-size:13px; line-height:1.7; padding:18px; border:1px dashed #494534; border-radius:7px; margin:0; }
.island-map-workspace:fullscreen { display:flex; flex-direction:column; width:100%; height:100%; border:0; border-radius:0; background:#171a17; }.island-map-workspace:fullscreen .island-map-view { flex:1; height:auto; }.island-map-workspace:fullscreen .island-map-toolbar { flex:none; padding:16px 24px; }.island-map-workspace:fullscreen .island-map-footer { padding:12px 24px; }
@media(max-width:1100px){.island-map-toolbar{gap:10px;padding:12px}.map-layer-switch>button{padding:8px 10px}.island-map-tools{width:100%}.island-map-tools .map-kind-control{flex:1;max-width:185px}}
.shift-dock { overflow:hidden; }
.shift-dock .rail-roster { margin:0; border:0; border-radius:0; background:transparent; }
.shift-dock .rail-roster-heading { padding:15px 16px; font-size:13px; }
.shift-dock .rail-roster-people { padding:3px 16px; }
.shift-dock .shift-heading.shift-collapse { border-top:1px solid var(--line); }
.shift-dock .shift-heading-status { font-size:11px; color:var(--muted); }
@media(max-width:900px){.rail-roster{display:none}.shift-dock .shift-heading.shift-collapse{border-top:0}}
@media(max-width:600px){.island-map-view{height:450px;min-height:330px}.map-layer-switch{width:100%}.map-layer-switch>button{flex:1;justify-content:center;gap:6px;font-size:12px;padding:8px 6px}.map-layer-switch>button svg{width:15px;height:15px}.island-map-tools{gap:7px}.island-map-footer{align-items:flex-start;padding:10px 12px}.island-map-footer p{max-width:175px}.map-desktop-help{display:none}.map-touch-help{display:inline}.island-map-caption{left:10px;bottom:10px;padding:8px;font-size:10px}.island-map-buttons{right:10px;bottom:10px}.island-drawing-bar{align-items:flex-start;flex-direction:column}.island-map-workspace:fullscreen .island-map-toolbar{padding:10px}.records-table .record-name>.avatar{width:38px;height:46px}}
/* Overview: clear sections, generous staff portraits, compact record activity. */
.shift-dock .rail-roster { display:block; }
.shift-dock .rail-roster-heading.shift-heading { border-top:0; }
.shift-dock.collapsed .rail-roster-people,.shift-dock.collapsed .shift-personal-label { display:none; }
.shift-personal-label { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:13px 16px 0; border-top:1px solid var(--line); font-size:11px; color:var(--muted); }
.staff-roster-avatar { position:relative; display:inline-flex; flex:none; }
.rail-roster-person>.staff-roster-avatar { flex:0 0 auto; width:27px; height:30px; }
.staff-presence { position:absolute; right:-3px; bottom:0; width:8px; height:8px; border:2px solid #202019; border-radius:50%; background:#747568; }
.staff-presence.online { background:#a8c77d; }
.staff-presence.away { background:#747568; }
@media(max-width:900px){.shift-dock .rail-roster{display:block}.shift-dock:not(.collapsed){max-height:70dvh;overflow-y:auto}.shift-dock .rail-roster-people{max-height:130px}}
.record-dialog .profile-group { border-top:0; padding-top:0; }
.record-dialog .profile-group-heading { margin-bottom:10px; padding:0 2px; }
.record-dialog .profile-group-heading>span { min-width:23px; padding:3px 6px; border-radius:4px; background:#2b2c22; color:#bfb697; text-align:center; font-size:11px; }
.record-dialog .profile-group>.inline-record { margin:8px 0; border:1px solid #454334; background:#20211a; }
.record-dialog .inline-record>summary { gap:12px; padding:16px; min-height:68px; }
.record-dialog .inline-record-label strong { font-size:14px; line-height:1.55; font-weight:550; }
.record-dialog .inline-record-label small { font-size:11px; line-height:1.6; color:#a9aa96; }
.record-dialog .inline-record-label small:empty { display:none; }
.record-dialog .profile-chevron { width:16px; height:16px; padding:5px; border:1px solid #4d4935; border-radius:5px; background:#29291f; display:block; flex:none; box-sizing:content-box; }
.record-dialog .profile-section>summary>.profile-chevron { margin-left:auto; }
.inline-toggle-label { font-size:10px; color:#b7ae8c; flex:none; white-space:nowrap; }
.inline-record:not([open])>summary .when-open,.inline-record[open]>summary .when-closed { display:none; }
.record-dialog .inline-record>.inline-record-body,.record-dialog .profile-group>.inline-record>.inline-record-body,.record-dialog .owner-record>.inline-record-body { border-left:0; border-top:1px solid #3e4031; margin:0; padding:16px; }
.record-dialog .owner-record[open]>summary { border-bottom:0; margin-bottom:0; }
.record-dialog .inline-profile-content { padding:0; }
.record-dialog .inline-profile-content .actions { margin-top:0!important; margin-bottom:18px; gap:7px; }
.record-dialog .inline-profile-content .detail-grid { border:0; padding-top:0; margin-top:0; }
.record-dialog .inline-profile-content .profile-group>.inline-record { background:#1b1d17; border-color:#3c3f2e; }
.record-dialog .inline-profile-content .profile-accordions { gap:18px; margin-top:20px; }
.inline-record-meta { color:#a7ab93; font-size:10px; margin:0 0 14px; line-height:1.6; }
.record-dialog .profile-owner { margin:20px 0; }
.shift-dock .rail-roster-heading:focus-visible,.shift-dock .shift-heading:focus-visible { outline-offset:-4px; }
.picker-trigger { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.picker-trigger>span:first-child { min-width:0; flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:left; }
.picker-trigger .picker-arrow { align-self:center; margin:0; width:18px; height:18px; }
.picker-options>[role=option] { min-height:40px; align-items:center; font-size:13px; line-height:1.5; }
.picker-options>[role=option]>span:last-child { min-width:0; overflow-wrap:anywhere; }
@media(max-width:760px){.record-dialog .inline-toggle-label{display:none}.record-dialog .inline-record>summary{padding:13px;gap:9px}.record-dialog .inline-record>.inline-record-body,.record-dialog .profile-group>.inline-record>.inline-record-body,.record-dialog .owner-record>.inline-record-body{padding:13px}.record-dialog .profile-chevron{width:14px;height:14px;padding:4px}.record-dialog .inline-record-label strong{font-size:13px}.record-dialog .inline-record-label small{font-size:10px}}
.account-settings { display:flex; flex-direction:column; gap:20px; max-width:1000px; }
.account-settings>.panel { margin:0; overflow:hidden; }
.account-settings .panel-head { padding:18px 20px; border-bottom:1px solid var(--line); }
.account-settings .panel-head h2 { font-size:16px; }
.account-profile-layout { display:grid; grid-template-columns:190px minmax(0,1fr); }
.account-profile-preview { display:flex; flex-direction:column; align-items:center; text-align:center; gap:12px; padding:28px 16px; border-right:1px solid var(--line); background:#1b1c16; }
.account-profile-preview>.avatar { width:92px; height:92px; font-size:30px; border-radius:14px; border:1px solid #6a5a37; }
.account-profile-preview>strong { font-size:17px; line-height:1.5; overflow-wrap:anywhere; }
.account-profile-preview>[data-account-callsign] { color:var(--accent); font-size:12px; }
.account-profile-preview>[data-account-callsign]:empty { display:none; }
.account-fields { padding:22px; margin:0; gap:19px; }
.account-fields .field { margin:0; }
.account-fields textarea { min-height:80px; }
.account-fields small { font-size:11px; line-height:1.65; }
.account-toggle-group { display:flex; flex-direction:column; gap:16px; border-top:1px solid var(--line); padding-top:19px; }
.account-toggle { display:flex; align-items:flex-start; gap:12px; cursor:pointer; }
.account-toggle>input,.account-photo-remove>input { width:auto; margin:3px 0 0; }
.account-toggle strong { display:block; font-size:13px; font-weight:500; }
.account-toggle small { display:block; color:var(--muted); margin-top:5px; }
.account-photo-remove { display:flex; align-items:center; gap:8px; font-size:12px; margin-top:10px; cursor:pointer; }
.account-access-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:0; padding:20px; }
.account-access-grid dt { font-size:11px; color:var(--muted); margin-bottom:8px; }
.account-access-grid dd { margin:0; font-size:13px; overflow-wrap:anywhere; }
.account-access-panel>.help { padding:0 20px 20px; margin:0; font-size:12px; }
.account-save-bar { display:flex; gap:12px; align-items:center; padding-bottom:10px; }
#app[data-record-density=compact] .records-table td { padding-top:9px; padding-bottom:9px; }
#app[data-record-density=compact] .records-table .record-name>.avatar { width:30px; height:36px; }
.account-reduced-motion * { animation-duration:.01ms!important; animation-iteration-count:1!important; transition:none!important; scroll-behavior:auto!important; }
.profile-roster-list .overview-officer>.avatar { width:48px; height:48px; font-size:17px; border-radius:9px; }
.profile-roster-list .overview-officer-name p { color:var(--muted); font-size:12px; line-height:1.6; margin:8px 0 0; white-space:pre-wrap; overflow-wrap:anywhere; }
@media(max-width:1100px){.account-profile-layout{grid-template-columns:minmax(0,1fr)}.account-profile-preview{border:0;border-bottom:1px solid var(--line);padding:20px}.account-access-grid{grid-template-columns:minmax(0,1fr);gap:16px}}
@media(max-width:760px){.account-settings{gap:16px}.account-fields{padding:17px}.account-settings .panel-head{padding:16px}.account-fields.form-grid{grid-template-columns:minmax(0,1fr)}.account-profile-preview>.avatar{width:80px;height:80px}.profile-roster-list .overview-shift-time{font-size:11px}}
.main.island-map-page { display:flex; flex-direction:column; overflow:hidden; gap:0; }
.workspace-body:has(>.island-map-page) { grid-template-columns:minmax(0,1fr); }
.workspace-body:has(>.island-map-page)>.workspace-rail { display:none; }
.main.island-map-page { padding:14px; }
.island-map-page>.page-heading { position:absolute; width:1px; height:1px; margin:0; padding:0; overflow:hidden; clip-path:inset(50%); }
.island-map-page>.page-heading { flex:none; margin-bottom:18px; }
.island-map-page>.island-map-workspace { display:flex; flex-direction:column; flex:1; min-height:0; }
.island-map-page .island-map-toolbar,.island-map-page .island-map-footer,.island-map-page .island-drawing-bar { flex:none; }
.island-map-page .island-map-view { flex:1; height:auto; min-height:120px; }
.island-map-page>.island-locations { flex:none; display:flex; align-items:center; gap:16px; margin-top:12px; min-width:0; max-height:88px; }
.island-map-page .island-locations-heading { flex:none; margin:0; }
.island-map-page .island-locations-heading h2 { font-size:12px; line-height:1.5; margin:0; }
.island-map-page .island-locations-heading p { display:none; }
.island-map-page .island-locations .map-location-list { display:flex; flex:1; gap:8px; overflow-x:auto; min-width:0; border:0; border-radius:0; scrollbar-width:thin; padding-bottom:3px; }
.island-map-page .map-location-list>button { flex:0 0 180px; min-width:0; gap:10px; padding:10px 12px; border:1px solid var(--line); border-radius:6px; }
.island-map-page .map-location-list strong { font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.island-map-page .map-location-list small { font-size:10px; }
.island-map-page .island-no-locations { border:0; padding:6px 0; font-size:11px; }
.island-map-page>.island-locations:has(.island-no-locations) { display:none; }
@media(max-width:760px){.main.island-map-page{padding:16px}.island-map-page>.page-heading{margin-bottom:12px}.island-map-page>.page-heading p{display:none}.island-map-page .island-map-toolbar{padding:8px;gap:8px}.island-map-page .map-layer-switch>button{min-height:36px}.island-map-page .island-map-footer{padding:8px 10px}.island-map-page .island-map-footer p{font-size:10px;max-width:130px}.island-map-page>.island-locations{gap:10px;margin-top:9px}.island-map-page .island-locations-heading{max-width:60px}.island-map-page .island-no-locations{font-size:10px;line-height:1.5}.island-map-page .map-location-list>button{flex-basis:165px;padding:8px 10px}.island-map-page .island-locations-heading h2{font-size:11px}.island-map-page .island-map-view{min-height:110px}}
.overview-home { display:flex; flex-direction:column; gap:20px; min-width:0; }
.overview-home>.page-heading { margin:0 0 5px; display:flex; justify-content:space-between; align-items:center; gap:18px; }
.overview-home .page-heading p { margin-top:8px; color:var(--muted); font-size:13px; }
.overview-home .page-heading>.actions { margin:0; }
.overview-refresh { display:flex; align-items:center; gap:7px; color:var(--muted); font-size:12px; }
.overview-refresh svg { width:15px; height:15px; }
.overview-home .overview-panel { margin:0; min-width:0; border:1px solid #403e32; border-radius:9px; background:#1e1f19; }
.overview-home .panel-head { padding:16px 20px; min-height:56px; border-bottom:1px solid #35362c; display:flex; align-items:center; gap:12px; }
.overview-home .panel-head h2 { font-size:15px; font-weight:550; margin-right:auto; }
.overview-panel-actions { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.overview-home .overview-panel-actions .text-button { font-size:12px; color:#b9ad8b; }
.overview-home .panel-head>.text-button { margin-left:0; font-size:12px; color:#b9ad8b; }
.overview-home .overview-announcement { padding:20px; }
.overview-home .overview-announcement>strong { font-size:17px; line-height:1.5; }
.overview-home .overview-announcement>span:not(.overview-notice-author) { font-size:13px; line-height:1.75; max-width:80ch; margin:7px 0 15px; -webkit-line-clamp:2; }
.overview-home .overview-notice-author { display:flex; align-items:center; gap:8px; margin:0; }
.overview-notice-author .avatar { width:23px; height:23px; font-size:8px; }
.overview-notice-author small { color:var(--muted); font-size:11px; }
.overview-home .overview-duty .overview-roster { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:0; padding:6px 8px; }
.overview-home .overview-duty .overview-officer { padding:20px 14px; gap:15px; border:0; }
.overview-staff-photo { position:relative; flex:none; width:64px; height:64px; }
.overview-staff-photo .avatar { width:64px; height:64px; border-radius:12px; border:1px solid #655a3b; background:#2c2c22; font-size:21px; object-fit:cover; }
.overview-staff-photo i { position:absolute; width:11px; height:11px; right:-2px; bottom:2px; border-radius:50%; background:#b8c68e; border:3px solid #1e1f19; }
.overview-home .overview-officer-name strong { font-size:15px; font-weight:550; }
.overview-home .overview-officer-name>small { font-size:12px; margin-top:6px; }
.overview-home .overview-shift-time { text-align:left; display:flex; align-items:center; gap:8px; margin-top:9px; font-size:12px; color:#d2be88; }
.overview-home .overview-shift-time>span { font-size:12px; }
.overview-home .overview-shift-time small { margin:0; color:#8f9480; font-size:10px; }
.overview-home .overview-live { margin:0; font-size:11px; }
.overview-home .overview-card-footnote { padding:0 20px 15px; font-size:11px; }
.overview-section-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(245px,1fr); align-items:start; gap:20px; min-width:0; }
.overview-side-stack { display:flex; flex-direction:column; gap:20px; min-width:0; }
.overview-home .overview-activity-tabs { padding:9px 12px; gap:3px; }
.overview-home .overview-activity-tabs button { font-size:12px; padding:7px 10px; min-height:32px; }
.overview-home .overview-activity-row { padding:16px 18px; gap:12px; min-width:0; }
.overview-home .overview-activity-icon { display:grid; place-items:center; width:38px; height:42px; border:1px solid #3d3d30; background:#25261e; border-radius:7px; overflow:hidden; }
.overview-home .overview-activity-icon .avatar { width:38px; height:42px; border:0; border-radius:0; font-size:11px; }
.overview-home .overview-activity-icon svg { width:18px; height:18px; }
.overview-home .overview-card-copy strong { font-size:13px; line-height:1.5; }
.overview-home .overview-card-copy small { font-size:11px; line-height:1.5; margin-top:5px; max-width:100%; }
.overview-home .overview-activity-meta small { font-size:10px; margin-top:6px; }
.overview-home .overview-activity-meta .tag { font-size:9px; padding:4px 6px; }
.overview-entry-list { padding:6px 16px; }
.overview-entry-list>button { display:flex; align-items:center; gap:10px; width:100%; padding:14px 0; min-height:49px; text-align:left; border:0; border-radius:0; border-bottom:1px solid #33352a; background:transparent; }
.overview-entry-list>button:last-child { border:0; }
.overview-entry-list>button>span:first-child { display:flex; align-items:center; gap:9px; flex:1; min-width:0; font-size:12px; color:#b6b4a5; }
.overview-entry-list>button>strong { min-width:24px; padding:4px 6px; border-radius:4px; font-size:12px; font-weight:500; text-align:center; color:#979b88; background:#292b22; }
.overview-entry-list>button>span:last-child { color:#71745e; }
.overview-entry-list>button.has-records>strong { color:#e4cb8d; background:#373121; }
.entry-dot { width:5px; height:5px; border-radius:50%; background:#85836a; flex:none; }
.entry-watchlist { background:#ccad62; }.entry-entry-prohibited { background:#b77a68; }.entry-restricted { background:#bd9466; }
.overview-schedule-event { display:flex; gap:13px; align-items:center; width:100%; padding:18px 16px; text-align:left; border:0; border-radius:0; }
.overview-event-day { width:43px; flex:none; padding-right:12px; border-right:1px solid var(--line); text-align:center; }
.overview-event-day strong { display:block; font-size:23px; font-weight:500; color:#d7bf84; }
.overview-schedule-event>span:last-child { min-width:0; }
.overview-schedule-event>span:last-child>strong { font-size:12px; font-weight:500; line-height:1.6; display:block; overflow-wrap:anywhere; }
.overview-schedule-event small { display:block; font-size:10px; color:var(--muted); margin-top:5px; line-height:1.6; }
.overview-home .overview-empty { margin:0; padding:22px 20px; font-size:13px; }
.overview-home .overview-attention { margin:0; }
.header-qrf { display:flex; align-items:center; justify-content:center; gap:7px; min-height:40px; padding:9px 12px; border:1px solid #814b3e; background:#3b261f; color:#edb8a5; font-size:12px; font-weight:550; white-space:nowrap; flex:none; }
.header-qrf:hover { border-color:#bb7862; background:#543024; color:#ffdcce; }
.header-qrf svg { width:17px; height:17px; }
.topbar { gap:18px; }
@media(max-width:1250px) and (min-width:901px){.overview-section-grid{grid-template-columns:minmax(0,1fr)}.overview-side-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.overview-side-stack:has(> :only-child){grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){.topbar{gap:10px}.header-qrf{min-height:36px;padding:8px}.header-qrf svg{width:15px;height:15px}.overview-home{gap:16px}.overview-home>.page-heading{align-items:flex-start}.overview-home .page-heading p{font-size:12px}.overview-home .panel-head{padding:14px 16px;gap:8px;flex-wrap:wrap}.overview-home .panel-head h2{font-size:14px}.overview-home .panel-head>.text-button{font-size:11px}.overview-home .overview-announcement{padding:17px 16px}.overview-home .overview-duty .overview-roster{grid-template-columns:minmax(0,1fr);padding:0 16px}.overview-home .overview-duty .overview-officer{padding:17px 0;border-bottom:1px solid #34362a}.overview-home .overview-duty .overview-officer:last-child{border:0}.overview-staff-photo,.overview-staff-photo .avatar{width:58px;height:58px}.overview-home .overview-shift-time{margin-top:7px}.overview-section-grid{grid-template-columns:minmax(0,1fr);gap:16px}.overview-side-stack{gap:16px}.overview-home .overview-activity-row{padding:15px 14px;gap:10px}.overview-home .overview-activity-tabs{padding:8px 10px}.overview-home .overview-activity-tabs button{padding:7px 10px}.overview-home .overview-entry-list{padding:4px 16px}.overview-home .overview-activity-meta .tag{display:none}}
.qrf-send { background:#8b3b31; border-color:#ae5d4e; color:#fff0e8; font-weight:600; }.qrf-send:hover { background:#a34638; border-color:#d48672; }
.alert-explainer { display:flex; align-items:flex-start; gap:20px; background:#24221b; border:1px solid #51472f; border-radius:8px; padding:24px; margin:24px 0; }.alert-explainer>svg { flex:none; width:26px; height:26px; color:var(--accent); }.alert-explainer strong { font-size:17px; font-weight:500; }.alert-explainer p { color:var(--muted); font-size:14px; line-height:1.7; margin:9px 0 12px; max-width:70ch; }.alert-explainer small { font-size:12px; color:#b7aa90; }.qrf-explainer { background:#281e1a; border-color:#624036; }.qrf-explainer>svg { color:#dc9e85; }
.alert-list { display:grid; gap:16px; }.alert-card { padding:22px; border:1px solid var(--line); border-radius:8px; background:var(--panel); }.alert-card.qrf { border-left:3px solid #ae6250; }.alert-card.page { border-left:3px solid var(--accent); }.alert-card-heading { display:flex; align-items:center; gap:12px; }.alert-card-heading>svg { color:var(--accent); width:22px; height:22px; }.alert-card-heading>div { flex:1; min-width:0; }.alert-card-heading h2 { font-size:17px; margin:0 0 6px; overflow-wrap:anywhere; }.alert-card-heading small { font-size:12px; color:var(--muted); }.alert-card>p { font-size:15px; line-height:1.7; white-space:pre-wrap; overflow-wrap:anywhere; }.alert-card-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; border-top:1px solid var(--line); padding-top:14px; }.alert-card-footer>span { font-size:12px; color:var(--muted); }
.urgent-backdrop { position:fixed; inset:0; display:flex; align-items:center; justify-content:center; background:#000b; backdrop-filter:blur(5px); padding:20px; z-index:100; }.urgent-dialog { width:min(540px,100%); max-height:90dvh; overflow:auto; border:1px solid #9e7450; background:#242019; border-radius:12px; padding:32px; box-shadow:0 25px 110px #000b; }.urgent-dialog.qrf { border-color:#be715d; background:#291e1a; }.urgent-icon { width:62px; height:62px; display:grid; place-items:center; background:#cfad6218; border:1px solid #856540; border-radius:12px; margin-bottom:22px; }.urgent-icon>svg { width:31px; height:31px; color:var(--accent); }.qrf .urgent-icon { border-color:#ae6250; background:#ae625022; }.qrf .urgent-icon>svg { color:#e3ad96; }.urgent-dialog>small { color:#d3b794; font-size:13px; }.urgent-dialog h2 { font-size:28px; margin:12px 0 18px; line-height:1.2; overflow-wrap:anywhere; }.urgent-dialog>p { font-size:16px; line-height:1.75; white-space:pre-wrap; overflow-wrap:anywhere; }.urgent-sender { color:var(--muted); font-size:12px; margin:20px 0 25px; }.urgent-dialog .actions { gap:12px; }.urgent-dialog .actions button { flex:1; min-height:44px; }.urgent-dialog p.help { font-size:12px; color:var(--muted); margin-top:18px; }
.audit-removed-toggle { display:flex; flex-direction:row!important; align-items:center; gap:8px; font-size:12px; }.audit-removed-toggle input { width:auto; }
@media(max-width:760px){.alert-explainer{padding:18px;gap:12px}.alert-card{padding:17px}.alert-card-footer{flex-wrap:wrap}.urgent-dialog{padding:24px}.urgent-dialog h2{font-size:25px}.owner-record>summary{padding:14px}.owner-record>.inline-record-body{margin-left:15px;margin-right:10px}}
/* Administration keeps actions close to the data they affect. */
.dev-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-bottom:22px}.dev-summary>div{display:flex;flex-direction:column;gap:8px}.dev-summary strong{font-size:25px;font-weight:600}.dev-summary span{font-size:13px;color:var(--muted,#a5a397)}.access-requests>div{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--line,#36362e)}.access-requests .access-request-identity{flex:1;min-width:0;overflow-wrap:anywhere}.access-requests .avatar{flex:0 0 38px;width:38px;height:38px;aspect-ratio:1;object-fit:cover}.access-requests button{flex:none}.access-requests>div{flex-wrap:wrap}@media(max-width:480px){.access-requests .access-request-identity{flex-basis:calc(100% - 50px)}.access-requests button{margin-left:50px}}.access-requests small{display:block;margin-top:5px;color:var(--muted,#a5a397)}.connection-readiness{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.connection-readiness>span:last-child{margin-left:auto;font-size:12px;color:var(--muted,#a5a397)}.connection-dot.inactive{background:#777669}.check-line{display:flex;align-items:center;gap:10px;margin-top:18px;font-size:14px}.check-line input,.record-selection{accent-color:#baa468;width:17px;height:17px}.bulk-toolbar{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--line,#36362e);flex-wrap:wrap}.bulk-toolbar>span{font-size:13px;color:var(--muted,#a5a397)}.records-table td:first-child:has(.record-selection){position:relative;padding-left:46px}.records-table .record-selection{position:absolute;left:16px;top:50%;transform:translateY(-50%);margin:0}.bulk-record-list{max-height:180px;overflow:auto;border:1px solid var(--line,#36362e);padding:6px 14px;border-radius:6px;margin:18px 0}.bulk-record-list p{margin:8px 0;font-size:14px}#cad-discord-form>.field{margin-top:20px}#cad-discord-form>.form-grid{margin-top:20px}@media(max-width:760px){.dev-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.connection-readiness>span:last-child{margin-left:0;width:100%}.bulk-toolbar{gap:8px;padding:12px}}

.overview-staff-photo i.away{background:#77796e}.overview-staff-photo i.online{background:#75ab7e}.recovery-notice{border:1px solid #9b854b;background:#a38b3d12;padding:18px;border-radius:6px;margin-bottom:22px}.recovery-notice p{font-size:14px;line-height:1.6;color:#bfbbaa}
.record-create-control>button { display:inline-flex; align-items:center; gap:16px; min-height:44px; }
.record-create-menu { padding:6px; }
.record-create-menu>button { display:flex; align-items:center; gap:12px; width:100%; min-height:44px; padding:11px 12px; border:0; border-radius:5px; background:transparent; text-align:left; color:var(--text); font-size:14px; }
.record-create-menu>button:hover,.record-create-menu>button:focus-visible { background:#c0a45d1c; color:var(--accent); outline:none; }
.record-create-menu>button>svg { flex:none; color:var(--accent); }
