/* FatGuys cockpit — presentation layer over the recovered production application.
   Keep law data, calculations, storage and dialogs in the original bundle. */
:root, .dark {
  --background: #080d16;
  --foreground: #eaf0fa;
  --card: #141f31;
  --primary: #60a5ff;
  --border: #28364d;
  --muted-foreground: #96a8c2;
  --fg-accent: #60a5ff;
  --fg-header: 72px;
}
html, body, #root { min-height: 100%; }
body {
  background: radial-gradient(ellipse at 70% 0%, #18294966, transparent 65%), #080d16;
  color: #eaf0fa;
  font-family: "Segoe UI", Inter, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}
* { scrollbar-width: thin; scrollbar-color: #3b4e6a transparent; }
button, a, input, textarea { -webkit-tap-highlight-color: transparent; }
button, a { touch-action: manipulation; }
:is(button, a, input, textarea, [role="tab"]):focus-visible {
  outline: 2px solid #80b9ff;
  outline-offset: 3px;
}
input:focus, textarea:focus { border-color: #70adff !important; box-shadow: 0 0 0 3px #60a5ff12; }

/* One quiet, full-width command bar. */
.topbar {
  height: var(--fg-header);
  padding: 0 24px;
  gap: 22px;
  background: #0b1220ee;
  border-bottom: 1px solid #283b555e;
  box-shadow: 0 8px 30px #0002;
}
.brand { gap: 10px; letter-spacing: 0; flex-shrink: 0; }
.brand-mark {
  width: 39px; height: 39px;
  border-radius: 11px;
  color: #eaf5ff;
  background: linear-gradient(135deg, #529aff, #2b5bd7);
  box-shadow: inset 0 1px 0 #ffffff38, 0 5px 20px #3477f32b;
  font-size: 19px;
  letter-spacing: -2px;
  transform: none;
}
.brand-mark > span { color: #9edbff; right: 4px; bottom: -3px; }
.brand-wordmark { font-size: 17px; letter-spacing: -.5px; }
.brand-sub { font-size: 10px; margin-top: 3px; color: #859ab8; letter-spacing: .3px; }
.server-tag { display: block; color: #9ec7ff; border-color: #2f4970; background: #162b46; font-size: 10px; }
.topbar nav { gap: 4px; justify-content: flex-end; flex: 1; margin: 0; min-width: 0; }
.topbar nav button {
  color: #a7b7cd; border: 1px solid transparent;
  border-radius: 7px; gap: 6px; padding: 8px 9px; font-size: 11px;
}
.topbar nav button span { display: inline; }
.topbar nav button > svg { width: 14px; height: 14px; color: #7895bc; }
.topbar nav button:hover, .topbar nav .nav-active {
  color: #e2eeff; background: #1a2d49; border-color: #31517a;
}
.topbar nav button:hover > svg, .topbar nav .nav-active > svg { color: #79b5ff; }
.topbar nav small { color: #8cc3ff; }
.avatar { width: 32px; height: 32px; flex-shrink: 0; border-radius: 50%; background: #1b2b42; border-color: #39516e; color: #c6ddff; font-size: 10px; }

/* Independently scrollable case and catalogue; the search stays in reach. */
.workspace {
  grid-template-columns: 264px minmax(0, 1fr);
  gap: 14px; max-width: 1680px; height: calc(100dvh - var(--fg-header));
  padding: 16px 22px 20px;
}
.case-sidebar {
  position: relative; top: auto; height: 100%; min-height: 0;
  padding: 15px 13px 12px;
  background: linear-gradient(155deg, #162237 0%, #101a2b 48%, #111a29 100%);
  border: 1px solid #2a3a53; border-radius: 13px;
  box-shadow: 0 16px 40px #0002, inset 0 1px 0 #ffffff04;
  overscroll-behavior: contain; scrollbar-gutter: auto;
}
.sidebar-title { color: #eaf2ff; font-size: 15px; letter-spacing: -.2px; margin-bottom: 10px; line-height: 1.3; }
.local-tag { display: flex; align-items: center; gap: 5px; font-size: 9px; padding: 3px 6px; color: #91a5c1; background: #111c2d; border-color: #30405a; border-radius: 20px; }
.local-tag::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: #5bd5aa; box-shadow: 0 0 8px #5bd5aa66; }
.view-controls { gap: 5px; margin-bottom: 10px; }
.view-controls button { min-height: 33px; padding: 7px 10px; color: #dbeaff; background: #1b3558; border-color: #335785; border-radius: 6px; font-size: 11px; }
.view-controls button:hover { color: #fff; background: #254b7b; border-color: #5b96e7; }
.view-controls button svg:last-child { color: #a2c6fa; }
.sort-control { color: #89a5cb; }
.sort-control .field { margin-top: 0; min-height: 33px; background: #15273e; border-color: #304d70; }
.case-sidebar .sort-control .field { margin: 0; padding-left: 31px; }
.case-sidebar .select-field [data-slot="select-value"] { white-space: nowrap; line-height: 1.3; }
.total-panel {
  padding: 10px 12px; border-radius: 10px; border-color: #2b695a;
  background: radial-gradient(ellipse at 90% 0, #2ce5a214, transparent 75%), #0d2727;
  box-shadow: inset 0 1px 0 #a5ffe20a, 0 5px 20px #0001;
}
.total-panel .eyebrow { font-size: 9px; letter-spacing: 1.6px; color: #88b8ac; }
.total-panel .eyebrow > svg { color: #5e9d8d; width: 13px; height: 13px; }
.total-amount { margin-top: 3px; font-size: 30px; line-height: 1.15; letter-spacing: -1px; color: #6ef0b5; text-shadow: 0 0 24px #38e39e20; }
.total-amount small { color: #6ef0b5; font-size: 22px; }
.total-detail { color: #86aa9f; font-size: 10px; margin-top: 2px; line-height: 1.35; }
.leading-law { font-size: inherit; }
.wanted-row { padding-top: 7px; font-size: 10px; color: #a5c6bb; line-height: 1.4; }
.wanted-row b { color: #d5eade; font-size: 12px; }
.wanted-row b small { font-size: 10px; color: #769d91; }
.stars.large { gap: 3px; }
.stars.large svg { width: 17px; height: 17px; stroke: #396054; fill: #22453b; }
.stars.large .lit { stroke: #ffda6a; fill: #ffce55; filter: drop-shadow(0 0 3px #ffcb5720); }
.file-section { margin-top: 11px; }
.section-label { color: #9caec5; margin-bottom: 6px; font-size: 9px; letter-spacing: 1.2px; line-height: 1.4; }
.record-preview {
  color: #8ce6bf; background: #070f17;
  border: 1px solid #283d4e; border-left: 2px solid #4bc7a0;
  border-radius: 7px; min-height: 55px; max-height: 118px; overflow: auto;
  padding: 9px 10px; font-size: 11px; line-height: 1.65;
}
.record-preview:not(:disabled):hover { background: #0c1d24; border-color: #5fbcaa; }
.empty-record { color: #7a96a5; font-size: 10px; }
.empty-record span { color: #5e758e; }
.record-copy-link { min-height: 21px; margin-top: 3px; font-size: 10px; color: #8bb3dd; }
.record-copy-link:hover { color: #c2e2ff; }
.bodycam-toggle { min-height: 33px; margin-top: 8px; padding: 7px 9px; background: #172438; border-color: #30425d; }
.bodycam-toggle > span { font-size: 11px; gap: 6px; }
.bodycam-toggle.bodycam-active { color: #bddbff; background: #1d3658; border-color: #5b8fc7; }
.bodycam-active > span > svg { color: #89bcff; }
.case-modifiers { margin: 8px 0 10px; padding: 6px; gap: 4px; background: #0d1727; border-color: #2b3a51; border-radius: 8px; }
.case-modifiers .switch-row { padding: 6px 8px; min-height: 29px; font-size: 11px; background: #1a283d; border-color: #2d405c; }
.case-modifiers .modifier-repeat > span { color: #f6b86e; }
.case-modifiers .modifier-long > span { color: #7eb3ff; }
.case-modifiers .modifier-remorse > span { color: #c19af4; }
.case-modifiers .modifier-active { border-color: #5e7da7; background: #253c5a; }
[data-slot="switch"] { width: 28px; height: 16px; background: #37475c; }
[data-slot="switch-thumb"] { width: 12px; height: 12px; }
[data-slot="switch"][data-state="checked"] { background: #5b9efa; }
[data-slot="switch"][data-state="checked"] [data-slot="switch-thumb"] { background: #fff !important; }
.form-grid { gap: 8px; }
.case-sidebar :is(.form-label, .form-grid label) { color: #94a6bf; margin-bottom: 7px; font-size: 10px; line-height: 1.35; }
.case-sidebar :is(.form-label input, .form-grid input, textarea, .field) {
  padding: 6px 8px; margin-top: 4px; font-size: 11px; min-height: 29px; line-height: 1.35;
  color: #dbe7f7; background: #0c1728; border-color: #2b3c56;
}
.case-sidebar .form-grid .field { margin-top: 4px; }
.case-sidebar > .form-label:not(.note-label) { display: grid; grid-template-columns: 69px minmax(0, 1fr); gap: 6px; align-items: center; }
.case-sidebar > .form-label:not(.note-label) input { margin-top: 0; }
.case-sidebar .switch-row { font-size: 11px; padding-top: 6px; padding-bottom: 6px; line-height: 1.4; }
.case-sidebar .microcopy { font-size: 10px; line-height: 1.45; }
.case-sidebar .system-hint { margin: -3px 0 7px; color: #6f86a3; font-size: 9px; }
.case-sidebar textarea { min-height: 39px; height: 40px; max-height: 160px; }
.note-label { margin-top: 8px; }
.note-label > span { font-size: 9px; color: #6e85a2; }
.utility-grid { margin-top: 9px; gap: 5px; }
.utility-grid button { padding: 6px 4px; min-height: 28px; font-size: 10px; line-height: 1.3; color: #bbcee7; background: #1b2a41; border-color: #354a69; }
.utility-grid button:hover { color: #eaf5ff; background: #29466d; border-color: #5e85b6; }
.utility-grid .spicker-sidebar-button { min-height: 30px; padding: 6px 9px; font-size: 11px; color: #a9cdff; background: #1a3458; border-color: #3d6392; }
.reset-btn { min-height: 34px; margin-top: 10px; padding: 8px; font-size: 11px; color: #ffb2b5; background: #3d202c; border: 1px solid #733549; }
.reset-btn:hover { color: #ffe6e8; background: #642a3d; border-color: #b9566e; }
.sidebar-footer.credits { margin-top: 9px; padding-top: 7px; font-size: 9px; line-height: 1.4; border-color: #2a3b53; flex-direction: row; }
.sidebar-footer.credits > span { margin: 0; }
.sidebar-footer.credits strong { margin-left: auto; }
.credits strong { font-size: 10px; color: #8da6c6; }

/* Compact title, fixed search and an airy but information-dense card grid. */
.catalog {
  display: flex; flex-direction: column; min-height: 0; height: 100%; overflow: hidden;
  padding: 0 16px; background: linear-gradient(155deg, #151f34, #101a2a 70%);
  border: 1px solid #2a3c59; border-radius: 13px; box-shadow: 0 16px 45px #0002;
}
.page-heading.fib-heading {
  flex-shrink: 0; isolation: auto; background: transparent;
  border: 0; border-bottom: 1px solid #2a3c565e; border-radius: 0;
  min-height: 42px; margin: 0; padding: 9px 1px !important;
  overflow: visible; position: relative; align-items: center;
}
.fib-header-art, .fib-heading::after { display: none; }
.fib-heading-content { display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 12px; max-width: none; width: 100%; }
.fib-heading-content .beta-label { order: 2; }
.fib-heading .beta-label { margin: 0; color: #809aba; font-size: 10px; letter-spacing: .25px; }
.beta-label > span { color: #a5caff; background: #213d65; border: 1px solid #325884; padding: 2px 5px; font-size: 8px; letter-spacing: .75px; }
.fib-heading h1 { display: flex; align-items: center; gap: 10px; color: #edf4ff; font-size: 15px; font-weight: 650; letter-spacing: -.25px; text-shadow: none; }
.fib-heading h1 > span { display: inline; margin: 0; padding-left: 13px; border-left: 1px solid #3b4d68; color: #819ab9; letter-spacing: 1px; font-size: 9px; font-weight: 500; }
.fib-heading .source-pill { position: static; display: flex; flex-shrink: 0; background: #172a35; border: 1px solid #2c4a4c; border-radius: 20px; padding: 5px 9px; color: #93beb4; font-size: 9px; }
.source-pill > span { background: #6ad2ac; width: 5px; height: 5px; }
.catalog-toolbar { flex-shrink: 0; position: static; padding: 10px 0 0; background: transparent; backdrop-filter: none; }
.search-box { height: 43px; padding: 0 13px; gap: 10px; background: #0b1628; border-color: #354d70; border-radius: 8px; box-shadow: inset 0 1px 4px #0002; }
.search-box > svg { color: #7caaff; width: 17px; height: 17px; }
.search-box input { color: #e4eeff; font-size: 12px; }
.search-box input::placeholder { color: #7e94b5; }
.search-box kbd { font-size: 9px; padding: 3px 5px; background: #192b44; border-color: #334d6c; color: #829cbc; }
.search-box:focus-within { border-color: #6da9ff; box-shadow: 0 0 0 3px #4a8fff15; }
.filter-row { min-height: 43px; margin-top: 7px; padding-bottom: 5px; gap: 12px; border-color: #2a3c55; }
.category-tabs[data-slot="tabs-list"] { height: 30px; gap: 3px; padding: 0; }
.category-tabs button[data-slot="tabs-trigger"] { height: 28px; padding: 6px 10px !important; font-size: 10px; color: #92a8c6; border-radius: 6px; }
.category-tabs button[data-slot="tabs-trigger"][data-state="active"] { color: #cce3ff; background: #25426a !important; box-shadow: inset 0 0 0 1px #3b608c; }
.category-tabs button[data-slot="tabs-trigger"]:hover { background: #203754 !important; }
.catalog-count { display: block; font-size: 10px; color: #8199bb; }
.selection-filter { font-size: 10px; padding: 3px 0; color: #9eb7d7; }
.selection-filter b { color: #a5cfff; background: #253e60; font-size: 10px; min-width: 22px; height: 20px; }
.selection-filter.filter-active { color: #a9d3ff; }
.selection-filter.filter-active b { color: #fff; background: #3a7de6; }
.active-filter { color: #9dc9ff; background: #1b3456; border-color: #3c5e8a; font-size: 11px; }
.catalog-content { min-height: 0; flex: 1; overflow-y: auto; overscroll-behavior: contain; padding: 0 6px 20px 0; margin-right: -7px; scrollbar-gutter: stable; }
.law-section { --law-accent: #7eb5ff; margin: 15px 0 20px; }
.law-section[data-law] { --law-accent: #7eb5ff; }
.category-heading { min-height: 22px; gap: 8px; margin-bottom: 9px; }
.category-index { font-size: 12px; color: #566f93; font-family: inherit; font-weight: 600; }
.category-heading h2 { color: #f0cb74; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; line-height: 1.5; }
.category-code { order: 0; min-width: 0; font-size: 9px; padding: 3px 5px; color: #8ea8cc; background: #192940; border-color: #314663; letter-spacing: .3px; }
.count-badge { color: #7b91af; font-size: 10px; }
.heading-rule { background: #2a3e5a; margin: 0 4px; }
.law-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.law-card, .compact .law-card {
  min-height: 76px; border-radius: 8px; border-color: #304360;
  background: linear-gradient(135deg, #1d2c43, #1a283d);
  box-shadow: inset 0 1px 0 #ffffff04;
}
.law-select, .compact .law-select { min-height: 76px; padding: 8px 10px 7px; }
.law-card:hover { background: #243a58; border-color: #577eae; transform: translateY(-1px); box-shadow: 0 5px 16px #0002; }
.law-ref, .compact .law-ref { gap: 5px; padding-right: 34px; color: #7fb5ff; font-size: 10px; line-height: 1.35; letter-spacing: 0; }
.select-indicator { width: 11px; height: 11px; border-radius: 3px; border-color: #4e6689; background: #14233a; }
.select-indicator svg { width: 9px; height: 9px; }
.law-card h3, .compact .law-card h3 { min-height: 25px; margin: 4px 0 5px; color: #c4d3e9; font-size: 10.5px; font-weight: 450; line-height: 1.3; }
.card-bottom { margin: auto 0 0; padding: 0; border: 0; gap: 5px; background: transparent; }
.card-bottom strong { order: 0; color: #64e3ac; font-size: 12px; font-weight: 700; letter-spacing: -.1px; }
.law-card .stars svg { width: 12px; height: 12px; }
.stars .lit { fill: #ffd05a; stroke: #ffd05a; }
.stars .optional { fill: #63718b; stroke: #63718b; }
.law-card .card-bottom .no-wanteds { color: #6d83a4; font-size: 9px; }
.variable-indicator { color: #9cb3ce; }
.favorite-btn { top: 6px; right: 5px; padding: 4px; color: #5e7393; }
.favorite-btn > svg { width: 13px; height: 13px; }
.favorite-btn:hover, .favorite-btn.is-favorite { color: #ffd16c; background: #d8ac3d12; }
.favorite-btn.is-favorite svg { fill: #ffd16c; }
.detail-btn, .list-view .detail-btn { top: 6px; right: 27px; padding: 4px; color: #7086a8; }
.detail-btn > svg { width: 12px; height: 12px; }
.detail-btn:hover { color: #d0e7ff; background: #35577c; }
.detail-btn.has-warning { color: #d2b16d; }
.law-card.selected { background: #1a3b56; border-color: #60a5ff; box-shadow: inset 3px 0 #60a5ff, 0 0 0 1px #60a5ff0a; }
.law-card.selected:hover { background: #214866; border-color: #8cc3ff; }
.selected .select-indicator { color: #07182c; background: #80b9ff; border-color: #80b9ff; }
.selected .law-ref { color: #a3d0ff; }
.selected h3 { color: #edf6ff; }
.selected .card-bottom { background: transparent; border: 0; }
.selected .card-bottom strong { color: #79f1bb; }
.compact .law-card, .compact .law-select { min-height: 70px; }
.compact .law-card h3 { margin: 4px 0 5px; }
.compact .law-select { padding-top: 6px; padding-bottom: 6px; }
.catalog-footer { margin-top: 20px; padding-top: 12px; border-color: #293d58; color: #7187a6; font-size: 10px; line-height: 1.6; }
.catalog-footer button { color: #93b1d5; font-size: 10px; }
.list-view { grid-template-columns: 1fr !important; gap: 6px; }
.list-view .law-card, .list-view .law-select { min-height: 55px; }
.list-view .law-select { grid-template-columns: 120px minmax(0, 1fr) 155px; padding: 10px 65px 10px 12px; gap: 12px; }
.list-view .law-ref { padding: 0; }
.list-view .law-card h3 { min-height: 0; margin: 0; font-size: 12px; }
.list-view .card-bottom { margin: 0; padding: 0; background: none; }
.list-view .favorite-btn { top: 15px; right: 7px; }
.list-view .detail-btn { top: 15px; right: 31px; }

/* Dialogs use the same blue/green palette while retaining warning colors. */
.app-modal { background: #121e31 !important; border-color: #3b5275 !important; border-radius: 15px !important; }
.app-modal.rights-confirm-modal { border-top-color: #67aaff !important; }
.primary-btn { color: #f5f9ff; background: #357ce8; border-color: #639df0; }
.primary-btn:hover { color: #fff; background: #4a91ff; box-shadow: 0 4px 20px #357ce828; }
.secondary-btn { background: #203550; border-color: #3e5b7e; color: #c3d9f6; }
.secondary-btn.active { color: #c7e3ff; background: #294c76; border-color: #6ca9f4; }
.reading-card { border-left-color: #68adff; background: #192e49; }
.profile-avatar { color: #e8f3ff; background: #347ce7; border-color: #72a8f3; }
.tool-result > strong, .detail-totals > span:first-child { color: #70e8b0; }
.spicker-entry { background: linear-gradient(120deg, #1e3e64, #1c2c43); border-color: #426c9f; color: #c5e1ff; }
.spicker-entry:hover { background: #2a4e79; border-color: #6da9f6; }
.spicker-groups [data-slot="tabs-trigger"][data-state="active"],
.lawyer-kind-tabs [data-state="active"],
.event-day-filters [data-slot="tabs-trigger"][data-state="active"] { color: #eaf5ff; background: #315e99; }
.spicker-search:focus-within { border-color: #76b2ff; box-shadow: 0 0 0 3px #60a5ff15; }
.spicker-card-meta { color: #99c7ff; }
.spicker-card mark { color: #d6ebff; background: #3975b657; }
.spicker-footer a { color: #a2ceff; }

@media (min-width: 1500px) {
  .workspace { grid-template-columns: 280px minmax(0, 1fr); }
  .topbar { padding-left: max(24px, calc((100vw - 1636px) / 2)); padding-right: max(24px, calc((100vw - 1636px) / 2)); }
  .law-card h3 { font-size: 12px; }
  .law-ref { font-size: 11px; }
  .card-bottom strong { font-size: 13px; }
}
@media (max-width: 1190px) {
  .topbar { gap: 12px; padding: 0 18px; }
  .topbar nav { gap: 1px; }
  .topbar nav button { gap: 4px; padding: 8px 6px; font-size: 10px; }
  .brand-wordmark { font-size: 15px; }
  .brand-mark { width: 34px; height: 36px; font-size: 18px; }
  .server-tag { display: none; }
  .workspace { grid-template-columns: 248px minmax(0, 1fr); padding: 12px 16px 16px; gap: 12px; }
  .catalog { padding: 0 13px; }
  .law-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .fib-heading h1 > span { font-size: 8px; letter-spacing: .5px; }
  .fib-heading .source-pill { display: none; }
  .list-view .law-select { grid-template-columns: 100px minmax(0, 1fr) 125px; gap: 9px; }
}
@media (max-width: 960px) {
  .topbar nav button span { display: none; }
  .topbar nav button { padding: 9px; }
  .topbar nav button > svg { width: 16px; height: 16px; }
  .law-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .catalog-count { display: none; }
  .filter-row { gap: 8px; }
  .category-tabs button[data-slot="tabs-trigger"] { padding: 6px 8px !important; }
  .fib-heading h1 { font-size: 15px; }
  .fib-heading h1 > span { display: none; }
  .list-view .law-select { grid-template-columns: 90px minmax(0, 1fr); padding-right: 57px; }
  .list-view .card-bottom { grid-column: 2; justify-content: space-between; }
  .list-view .law-ref { align-self: start; grid-row: 1 / 3; }
}
@media (min-width: 701px) and (max-width: 840px) {
  .law-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  :root, .dark { --fg-header: 102px; }
  body { overflow: auto; }
  .topbar { height: 102px; padding: 11px 14px 7px; gap: 7px; flex-wrap: wrap; }
  .brand { height: 38px; }
  .brand-mark { width: 34px; height: 34px; font-size: 17px; }
  .brand-wordmark { font-size: 15px; }
  .brand-sub { font-size: 9px; }
  .server-tag { display: block; }
  .avatar { position: absolute; top: 14px; right: 15px; width: 30px; height: 30px; }
  .topbar nav { order: 3; justify-content: space-between; margin: 0; gap: 0; flex-basis: 100%; min-width: 0; width: 100%; }
  .topbar nav button { padding: 8px; }
  .topbar nav button > svg { width: 15px; height: 15px; }
  .workspace { display: block; height: auto; padding: 0 10px 14px; }
  .mobile-case-toggle { width: calc(100% - 20px); margin: 11px 10px; padding: 10px 13px; border-color: #395e88; background: #193451; color: #c5e2ff; border-radius: 8px; min-height: 42px; }
  .mobile-case-toggle > span { color: #8be4bc; }
  .mobile-case-toggle strong { color: #78edb6; }
  .case-sidebar { display: none; height: auto; max-height: none; margin-bottom: 12px; padding: 15px; }
  .mobile-case-open .case-sidebar { display: block; }
  .sidebar-title { font-size: 17px; }
  .case-sidebar :is(.form-label, .form-grid label), .case-sidebar .switch-row, .bodycam-toggle > span, .case-modifiers .switch-row { font-size: 13px; }
  .case-sidebar :is(.form-label input, .form-grid input, textarea, .field) { min-height: 40px; font-size: 16px; }
  .case-sidebar .view-controls button, .utility-grid button, .utility-grid .spicker-sidebar-button, .reset-btn { min-height: 39px; font-size: 12px; }
  .case-modifiers .switch-row { min-height: 40px; }
  .catalog { height: auto; min-height: 500px; overflow: visible; padding: 0 11px; }
  .page-heading.fib-heading { min-height: 43px; padding: 9px 0 !important; margin: 0; }
  .fib-heading h1 { font-size: 14px; }
  .fib-heading .beta-label { font-size: 9px; }
  .fib-heading-content { gap: 6px; }
  .case-sidebar > .form-label:not(.note-label) { display: block; }
  .case-sidebar > .form-label:not(.note-label) input { margin-top: 5px; }
  .catalog-toolbar { position: sticky; top: 102px; z-index: 20; margin: 0 -11px; padding: 10px 11px 0; background: #121e31f7; backdrop-filter: blur(14px); }
  .search-box { height: 44px; padding: 0 11px; }
  .search-box input { font-size: 14px; }
  .search-box kbd { display: none; }
  .filter-row { min-height: 42px; margin-top: 5px; gap: 6px; }
  .category-tabs[data-slot="tabs-list"] { gap: 1px; }
  .category-tabs button[data-slot="tabs-trigger"] { font-size: 10px; padding: 6px 7px !important; min-height: 30px; }
  .selection-filter { font-size: 10px; margin-left: auto; }
  .selection-filter b { min-width: 19px; }
  .filter-row .divider { display: none; }
  .catalog-content { overflow: visible; margin: 0; padding: 0 0 15px; }
  .law-section { margin: 16px 0 21px; }
  .category-heading { gap: 6px; margin-bottom: 8px; }
  .category-heading h2 { font-size: 10px; letter-spacing: .25px; }
  .category-index { display: none; }
  .category-code { font-size: 8px; padding: 3px 4px; }
  .count-badge { font-size: 9px; }
  .heading-rule { min-width: 4px; margin: 0; }
  .law-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
  .law-card, .law-select { min-height: 118px; }
  .law-select { padding: 10px 9px; }
  .law-ref { font-size: 10px; padding-right: 37px; }
  .select-indicator { display: none; }
  .law-card h3 { font-size: 11px; min-height: 37px; line-height: 1.5; margin: 8px 0; }
  .card-bottom { flex-wrap: wrap; gap: 4px; }
  .card-bottom strong { font-size: 12px; margin-left: auto; }
  .law-card .card-bottom .no-wanteds { font-size: 8px; }
  .favorite-btn, .detail-btn { padding: 6px; top: 4px; }
  .favorite-btn { right: 3px; }
  .detail-btn { right: 26px; }
  .favorite-btn > svg { width: 14px; height: 14px; }
  .list-view .law-select { grid-template-columns: 80px minmax(0, 1fr); min-height: 85px; padding: 11px 50px 11px 10px; gap: 7px; }
  .list-view .law-card h3 { font-size: 11px; }
  .list-view .favorite-btn { right: 3px; top: 9px; }
  .list-view .detail-btn { right: 25px; top: 9px; }
  .catalog-footer { flex-direction: column; gap: 5px; font-size: 10px; }
}
@media (max-width: 360px) {
  .topbar nav button { padding: 7px; }
  .workspace { padding-left: 7px; padding-right: 7px; }
  .catalog { padding: 0 9px; }
  .category-tabs button[data-slot="tabs-trigger"] { padding: 6px 5px !important; }
  .selection-filter { gap: 4px; font-size: 9px; }
  .card-bottom strong { font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  .law-card, .primary-btn { transition: none; transform: none !important; }
}

/* Requested shortcut: immediate reset to the left of the existing copy link. */
.record-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 3px; }
.record-actions .record-copy-link { margin: 0; min-width: 0; padding: 3px 0; }
.record-reset-link { display: flex; align-items: center; gap: 5px; min-height: 25px; margin: 0; padding: 3px 0; border: 0; border-radius: 3px; background: none; color: #e89ca8; font-size: 10px; line-height: 1.4; white-space: nowrap; }
.record-reset-link:hover { color: #ffd2d9; background: none; }
.record-reset-link:focus-visible { outline: 2px solid #78b7ff; outline-offset: 3px; }
@media (max-width: 700px) { .record-actions { gap: 8px; } .record-reset-link, .record-actions .record-copy-link { min-height: 30px; } }

/* Community calendar: long briefing times and unscheduled entries */
.server-calendar .event-day-filters{display:flex;flex-wrap:wrap;height:auto;gap:5px;justify-content:flex-start}.server-calendar .event-day-filters [role=tab]{flex:0 0 auto;min-width:36px;padding:0 6px}.server-event-body{min-width:0}.server-event-meta{flex-wrap:wrap}.server-event-meta>span{min-width:0;max-width:100%;white-space:normal;align-items:flex-start}.server-event-time>svg,.server-event-meta>span>svg{flex-shrink:0;margin-top:2px}.server-event-time>span{white-space:normal;overflow-wrap:anywhere}.calendar-source-summary{margin:0}.calendar-source-notes{flex-shrink:0;max-height:26vh;overflow-y:auto}.calendar-source-notes summary{cursor:pointer;color:#a8c7ed;padding:4px 0}.calendar-source-notes p{margin:8px 0}.calendar-source-notes .modal-source{margin-right:14px}.server-event-days{flex-wrap:wrap}
