:root {
  color-scheme: dark;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-synthesis: none;
  --ink: #111827;
  --muted: #667085;
  --line: rgba(20, 32, 54, 0.09);
  --gold: #f4b942;
  --gold-strong: #ffca42;
  --indigo: #5b5cf0;
  --green: #16b67a;
  --rose: #ef5b78;
  --radius-xl: 28px;
  --shadow: 0 20px 55px rgba(26, 35, 58, 0.09);
}

* { box-sizing: border-box; }
html { min-width: 320px; background: #090b12; }
body { margin: 0; min-width: 320px; min-height: 100vh; }
button, input, select { font: inherit; }
button, select { cursor: pointer; }
button:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid rgba(244, 185, 66, 0.42); outline-offset: 3px; }
[hidden] { display: none !important; }
.records-view { margin-bottom: 24px; }
.mobile-logout { display: none; }
.record-filters { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 16px; }
.dark-field select { width: 100%; padding: 12px; border: 1px solid #dce1ea; border-radius: 12px; background: white; color: var(--ink); font: inherit; }
.record-row { padding: 18px 0; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.record-row p, .case-dialog p { margin: 10px 0; line-height: 1.5; }
.record-row small { display: block; color: #667085; line-height: 1.6; }
.record-row .status-pill { display: inline-block; margin: 8px 0; }
.case-number { border: 0; background: transparent; color: #5556d7; font: inherit; font-weight: 700; padding: 0; cursor: pointer; }
.record-pages { display: flex; justify-content: space-between; align-items: center; padding-top: 18px; gap: 10px; }
.jobs-heading { margin-top: 32px; }
.case-dialog { max-width: 740px; width: calc(100% - 32px); max-height: 85vh; border: 1px solid #e3e6ef; border-radius: 24px; padding: 32px; color: #27324a; background: #fbfcff; overflow-wrap: anywhere; }
.case-dialog::backdrop { background: #10182b99; backdrop-filter: blur(5px); }
.case-dialog .monitoring-close { float: right; }
.case-dialog h4 { margin-top: 28px; }
.case-dialog small { color: #667085; }
.case-dialog a { display: block; margin: 18px 0; }
.identity-review { color: #956119; }
.identity-confirmed { color: #238061; }
.exclude-case-button { padding: 12px 16px; border: 1px solid #efd8bb; border-radius: 12px; background: #fff7ed; color: #8c5419; font: inherit; text-align: left; cursor: pointer; margin: 4px 0 14px; }
.exclude-case-button:disabled { opacity: .65; cursor: wait; }
.confirm-case-button { display:block; width:100%; margin:14px 0 8px; padding:15px 18px; border:1px solid #15916b; border-radius:12px; background:#179d75; color:#fff; font:inherit; font-weight:700; text-align:left; cursor:pointer; box-shadow:0 6px 18px rgba(23,157,117,.15); }
.confirm-case-button:hover { background:#128561; }
.confirm-case-button:disabled { opacity:.65; cursor:wait; }
.confirm-case-button:focus-visible { outline:3px solid #8addc2; outline-offset:3px; }
.confirm-case-copy { display:block; margin-bottom:12px; color:#71809a; }
.case-confirmed-badge { padding:12px 16px; border-radius:12px; background:#e1f5ee; color:#127953; font-weight:700; }

.hearings-view { min-width:0; }
.calendar-heading,.calendar-toolbar,.calendar-month-controls { display:flex; align-items:center; gap:14px; }
.calendar-heading,.calendar-toolbar { justify-content:space-between; flex-wrap:wrap; }
.calendar-heading h3 { margin:4px 0 0; }
.calendar-toolbar { margin:24px 0 12px; }
.calendar-month-controls { gap:10px; flex-wrap:wrap; }
.calendar-month-controls h3 { min-width:170px; margin:0; font-size:1.08rem; text-transform:capitalize; text-align:center; }
.calendar-nav { width:38px; height:38px; border:1px solid #e1e5ee; border-radius:10px; color:#354263; background:#fff; font-size:1.6rem; cursor:pointer; }
.calendar-nav:disabled { opacity:.4; cursor:default; }
.calendar-month-controls .quiet-button { padding:10px; color:#524bed; }
.calendar-modes { display:flex; gap:4px; padding:4px; background:#e8ebf5; border-radius:12px; }
.calendar-modes button { padding:9px 14px; border:0; border-radius:9px; background:transparent; color:#71809a; cursor:pointer; }
.calendar-modes button.active { background:#fff; color:#524bed; box-shadow:0 2px 6px rgba(53,66,99,.06); }
.calendar-review-toggle { display:flex; align-items:center; gap:8px; color:#65708a; font-size:.8rem; cursor:pointer; }
.calendar-review-toggle input { width:17px; height:17px; accent-color:#524bed; }
.calendar-review-notice { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:12px 14px; margin:12px 0; border:1px solid #f3d6a3; border-radius:12px; background:#fff7e9; color:#94601f; font-size:.78rem; line-height:1.5; }
.calendar-review-notice .quiet-button { color:#94601f; font-weight:600; }
.calendar-weekdays,.calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:6px; }
.calendar-weekdays { padding:10px 0; text-align:center; color:#7d88a0; font-size:.75rem; font-weight:600; }
.calendar-day { min-width:0; min-height:116px; padding:6px; border:1px solid #e6eaf4; border-radius:12px; background:rgba(255,255,255,.65); }
.calendar-day.outside-month { background:#f4f6fa; opacity:.6; }
.calendar-day.is-today { border-color:#aba6ff; }
.calendar-day.is-selected { border-color:#6258ee; box-shadow:0 0 0 1px #6258ee; background:#f5f4ff; }
.calendar-day-select { display:flex; align-items:center; justify-content:space-between; gap:3px; width:100%; min-height:30px; padding:2px 4px; border:0; border-radius:6px; color:#354263; background:transparent; cursor:pointer; }
.calendar-day-number { font-size:.8rem; font-weight:700; }
.calendar-day.is-today .calendar-day-number { color:#524bed; }
.calendar-day-count { display:inline-flex; align-items:center; justify-content:center; min-width:18px; height:18px; padding:0 3px; border-radius:6px; background:#dedbff; color:#524bed; font-size:.65rem; font-weight:700; }
.calendar-day-count.needs-review { background:#ffedcd; color:#94601f; }
.calendar-event-chip { display:block; width:100%; min-width:0; padding:6px; margin-top:4px; border:0; border-left:3px solid #514bed; border-radius:6px; background:#eae9ff; color:#454093; text-align:left; cursor:pointer; }
.calendar-event-chip b,.calendar-event-chip span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.63rem; line-height:1.5; }
.calendar-event-chip.needs-review { border-left-color:#dc9633; background:#fff0d5; color:#94601f; }
.calendar-more { width:100%; margin-top:4px; padding:4px; border:0; background:transparent; color:#524bed; text-align:left; font-size:.65rem; cursor:pointer; }
.calendar-day-details { margin-top:22px; padding-top:18px; border-top:1px solid #e6eaf4; }
.calendar-day-details h4 { margin:0 0 14px; text-transform:capitalize; }
.calendar-event-list { margin-top:18px; }
.calendar-event-row { display:flex; align-items:flex-start; gap:18px; padding:16px; border:1px solid #e6eaf4; border-radius:12px; background:#fff; }
.calendar-event-row.needs-review { border-color:#f3d6a3; background:#fffcf6; }
.calendar-event-row time { flex:0 0 100px; color:#524bed; font-size:.8rem; line-height:1.6; font-weight:700; }
.calendar-event-body { display:grid; gap:5px; min-width:0; flex:1; overflow-wrap:anywhere; }
.calendar-event-body p { margin:0; font-size:.85rem; }
.calendar-event-body small { color:#7b87a1; font-size:.75rem; line-height:1.6; }
.calendar-event-body .status-pill { justify-self:start; }
.calendar-open-case { flex:0 0 auto; border:0; padding:6px 0; color:#524bed; background:transparent; font-size:.75rem; cursor:pointer; }
.calendar-day-select:focus-visible,.calendar-event-chip:focus-visible,.calendar-nav:focus-visible { outline:2px solid #6258ee; outline-offset:2px; }
@media(max-width:760px) {
  .calendar-heading,.calendar-toolbar { align-items:flex-start; gap:12px; }
  .calendar-heading { flex-direction:column; }
  .calendar-modes { align-self:stretch; }
  .calendar-modes button { flex:1; }
  .calendar-month-controls { gap:5px; }
  .calendar-month-controls h3 { min-width:150px; font-size:.98rem; }
  .calendar-weekdays,.calendar-grid { gap:4px; }
  .calendar-day { min-height:52px; padding:2px; border-radius:9px; }
  .calendar-day-select { flex-direction:column; justify-content:center; min-height:46px; padding:2px 0; }
  .calendar-day-number { font-size:.78rem; }
  .calendar-day-count { min-width:15px; height:15px; font-size:.58rem; }
  .calendar-event-chip,.calendar-more { display:none; }
  .calendar-event-row { flex-wrap:wrap; gap:8px; padding:12px; }
  .calendar-event-row time { flex-basis:100%; }
  .calendar-event-body { flex-basis:100%; }
  .calendar-open-case { padding:8px 0; }
}
@media (max-width: 720px) { .record-filters { grid-template-columns: 1fr; } .case-dialog { padding: 20px; } .mobile-logout { display: block; } }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.auth-view {
  position: relative; min-height: 100vh; overflow: hidden; display: grid; place-items: center;
  padding: 92px 24px 70px; color: #fff; isolation: isolate;
  background: radial-gradient(circle at 50% 48%, #171823 0, #0c0e16 42%, #06070b 100%);
}
.auth-view::before { content: ""; position: absolute; inset: 0; z-index: -4; background: repeating-linear-gradient(116deg, transparent 0 66px, rgba(255,255,255,.018) 67px, transparent 69px); }
.aurora { position: absolute; z-index: -3; width: 48vw; height: 48vw; border-radius: 50%; filter: blur(80px); opacity: .18; }
.aurora-one { left: -20vw; top: 4vh; background: #f2a324; }
.aurora-two { right: -25vw; bottom: -10vh; background: #ff7a18; }
.gold-ribbon { position: absolute; z-index: -2; width: 140vw; height: 16px; background: linear-gradient(90deg, transparent, #6c3b08, #ffb829, #fff1b0, #8f510d, transparent); box-shadow: 0 0 26px rgba(255,177,43,.45); opacity: .75; transform: rotate(-24deg); }
.ribbon-one { top: 23%; left: -22%; }
.ribbon-two { bottom: 17%; left: -14%; transform: rotate(-31deg); height: 8px; opacity: .5; }
.auth-brand { position: absolute; left: 32px; top: 26px; display: flex; align-items: center; gap: 10px; font-weight: 750; letter-spacing: -.02em; }
.brand-mark { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid rgba(244,185,66,.52); border-radius: 13px; color: var(--gold); background: rgba(244,185,66,.09); box-shadow: inset 0 0 18px rgba(244,185,66,.08); }
.glass-panel { border: 1px solid rgba(255,255,255,.14); background: linear-gradient(155deg, rgba(38,40,52,.78), rgba(14,15,23,.68)); box-shadow: inset 0 1px 0 rgba(255,255,255,.09), 0 38px 90px rgba(0,0,0,.48); backdrop-filter: blur(30px) saturate(125%); }
.auth-card { position: relative; width: min(100%, 550px); padding: 48px 58px 38px; border-radius: 34px; text-align: center; overflow: hidden; }
.auth-card::before { content: ""; position: absolute; width: 200px; height: 200px; left: -80px; top: -100px; border: 1px solid rgba(255,255,255,.12); border-radius: 48px; transform: rotate(45deg); background: rgba(255,255,255,.025); }
.auth-icon { width: 54px; height: 54px; margin: 0 auto 20px; display: grid; place-items: center; color: var(--gold); border-radius: 17px; border: 1px solid rgba(244,185,66,.45); background: rgba(244,185,66,.09); box-shadow: 0 0 35px rgba(244,185,66,.14); transition: .45s ease; }
.key-shape { font-size: 30px; transform: rotate(-35deg); }
.eyebrow { margin: 0 0 8px; color: var(--gold); text-transform: uppercase; letter-spacing: .15em; font-size: .75rem; font-weight: 800; }
.auth-card h1 { margin: 0; font-size: clamp(2rem, 6vw, 2.8rem); line-height: 1.1; letter-spacing: -.045em; }
.auth-copy { max-width: 390px; margin: 14px auto 28px; color: #a9adba; line-height: 1.55; }
.account-form { display: grid; gap: 14px; text-align: left; }
.field-label { display: grid; gap: 7px; color: #c6c9d2; font-size: .78rem; font-weight: 650; }
.field-label input { width: 100%; height: 52px; padding: 0 15px; border: 1px solid rgba(255,255,255,.14); border-radius: 15px; color: #fff; background: rgba(3,4,8,.34); box-shadow: inset 0 1px 0 rgba(255,255,255,.05); }
.field-label input::placeholder { color: #6f7480; }
.field-label input:focus { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(244,185,66,.08); }
.consent-line { display: grid; grid-template-columns: 18px 1fr; align-items: start; gap: 9px; color: #9297a4; font-size: .72rem; line-height: 1.45; text-align: left; }
.consent-line input { width: 17px; height: 17px; margin: 1px 0 0; accent-color: var(--gold); }
.form-switch { margin: 2px 0 0; color: #8c919e; font-size: .8rem; text-align: center; }
.otp-fieldset { padding: 0; margin: 0; border: 0; }
.otp-grid { position: relative; display: flex; justify-content: center; gap: 13px; height: 66px; perspective: 600px; }
.otp-input { width: 62px; height: 62px; border-radius: 17px; border: 1px solid rgba(255,255,255,.16); background: rgba(3,4,8,.38); color: #fff; font-size: 1.65rem; font-weight: 750; text-align: center; caret-color: var(--gold); box-shadow: inset 0 1px 0 rgba(255,255,255,.06); transition: border-color .2s ease, transform .25s ease, box-shadow .25s ease, opacity .4s ease; }
.otp-input:focus, .otp-input.filled { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(244,185,66,.08), 0 0 22px rgba(244,185,66,.12); transform: translateY(-2px); }
.otp-grid.verifying .otp-input { position: relative; animation: digit-orbit 1.05s cubic-bezier(.55,-.15,.3,1.35) forwards; }
.otp-grid.verifying .otp-input:nth-child(1) { --tx: 86px; --ty: 20px; --rot: -32deg; }
.otp-grid.verifying .otp-input:nth-child(2) { --tx: 20px; --ty: -78px; --rot: 23deg; }
.otp-grid.verifying .otp-input:nth-child(3) { --tx: -70px; --ty: -42px; --rot: 55deg; }
.otp-grid.verifying .otp-input:nth-child(4) { --tx: -42px; --ty: 48px; --rot: -48deg; }
.otp-grid.verifying .otp-input:nth-child(5) { --tx: 36px; --ty: 58px; --rot: 42deg; }
.otp-grid.verifying .otp-input:nth-child(6) { --tx: 76px; --ty: -34px; --rot: -28deg; }
.otp-grid-six { gap: 9px; }
.otp-grid-six .otp-input { width: 56px; height: 60px; }
@keyframes digit-orbit { 45% { transform: translate(var(--tx), var(--ty)) rotate(var(--rot)) scale(.88); border-color: #ff8a42; } 80% { opacity: .85; } 100% { transform: translate(0, 0) rotate(0) scale(.2); opacity: 0; } }
.resend-line { min-height: 44px; display: flex; align-items: center; justify-content: center; gap: 6px; margin: 12px 0 17px; color: #8c919e; font-size: .875rem; }
.text-button { border: 0; padding: 5px; color: var(--gold); background: transparent; font-weight: 700; }
.text-button:disabled { opacity: .45; cursor: wait; }
.primary-button { width: 100%; height: 56px; display: flex; align-items: center; justify-content: center; gap: 10px; border: 0; border-radius: 16px; color: #17130a; background: linear-gradient(115deg, #d69d19, #ffd55a); font-weight: 800; box-shadow: 0 14px 30px rgba(230,163,27,.22); transition: transform .2s ease, filter .2s ease, opacity .2s ease; }
.primary-button:not(:disabled):hover { transform: translateY(-2px); filter: brightness(1.07); }
.primary-button:disabled { opacity: .42; cursor: not-allowed; box-shadow: none; }
.button-loader { display: none; width: 17px; height: 17px; border: 2px solid rgba(20,17,10,.2); border-top-color: #18140b; border-radius: 50%; animation: spin .7s linear infinite; }
.auth-card.checking .button-loader { display: block; }
.auth-card.checking .button-arrow { display: none; }
.auth-card.success { border-color: rgba(35,225,146,.38); background: linear-gradient(155deg, rgba(18,65,50,.82), rgba(11,25,23,.78)); }
.auth-card.success .auth-icon { color: #dffff2; border-color: #27df94; background: #18a66e; box-shadow: 0 0 38px rgba(39,223,148,.3); transform: scale(1.06); }
.auth-card.success .eyebrow { color: #52e9aa; }
.auth-card.success .primary-button { color: white; background: linear-gradient(115deg,#13a96e,#32e3a0); }
.auth-note { margin: 17px 0 0; color: #717684; font-size: .75rem; }
.auth-note.auth-ok { color: #54d7a3; }
.auth-note.auth-error { color: #ff849d; }
.security-note { position: absolute; bottom: 26px; display: flex; gap: 8px; align-items: center; color: #707582; font-size: .78rem; }
@keyframes spin { to { transform: rotate(360deg); } }

.dashboard-view { min-height: 100vh; display: grid; grid-template-columns: 264px 1fr; padding: 18px; gap: 18px; color: var(--ink); background: radial-gradient(circle at 8% 8%, rgba(84,218,180,.12), transparent 28%), linear-gradient(135deg,#f4fbf9 0,#f7f8fc 48%,#f5f4fb 100%); }
.glass-light { border: 1px solid rgba(255,255,255,.88); background: rgba(255,255,255,.74); box-shadow: var(--shadow), inset 0 1px 0 white; backdrop-filter: blur(22px) saturate(115%); }
.sidebar { position: sticky; top: 18px; height: calc(100vh - 36px); display: flex; flex-direction: column; border-radius: var(--radius-xl); padding: 23px 16px 15px; }
.sidebar-brand { display: flex; align-items: center; gap: 12px; padding: 0 9px 22px; color: var(--ink); text-decoration: none; font-weight: 800; font-size: 1.05rem; }
.brand-mark-small { width: 36px; height: 36px; border-radius: 12px; color: #49370f; background: linear-gradient(145deg,#ffe09a,#f4b942); border: 0; }
.nav-list { display: grid; gap: 6px; }
.nav-item { width: 100%; min-height: 47px; padding: 0 12px; border: 0; border-radius: 14px; display: grid; grid-template-columns: 25px 1fr auto; align-items: center; gap: 9px; color: #667085; background: transparent; text-align: left; transition: .2s ease; }
.nav-item b { font-size: .89rem; font-weight: 650; }
.nav-item i { min-width: 25px; padding: 3px 7px; border-radius: 999px; color: #72798a; background: #eef1f5; text-align: center; font-style: normal; font-size: .7rem; }
.nav-item:hover { color: var(--ink); background: rgba(91,92,240,.06); transform: translateX(2px); }
.nav-item.active { color: white; background: linear-gradient(135deg,#21243a,#111522); box-shadow: 0 10px 24px rgba(28,33,54,.2); }
.nav-item.active i { color: white; background: rgba(255,255,255,.14); }
.nav-item i.alert-count { color: #a33652; background: #ffe7ed; }
.sidebar-footer { margin-top: auto; display: grid; gap: 8px; }
.profile-button { width: 100%; padding: 11px; display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 9px; border: 1px solid var(--line); border-radius: 16px; color: var(--ink); background: rgba(255,255,255,.72); text-align: left; }
.avatar { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; color: #3f2d07; background: linear-gradient(145deg,#ffe19c,#efb33a); font-size: .72rem; font-weight: 800; }
.profile-button b, .profile-button small { display: block; }
.profile-button b { font-size: .8rem; }
.profile-button small { margin-top: 2px; color: #8b92a3; font-size: .65rem; }
.dashboard-main { min-width: 0; padding: 16px 18px 40px 0; }
.topbar { min-height: 65px; display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-bottom: 16px; }
.dashboard-date { margin: 0 0 3px; color: #8c94a4; font-size: .8rem; text-transform: capitalize; }
.topbar h2 { margin: 0; font-size: 1.7rem; letter-spacing: -.04em; }
.topbar-actions { display: flex; align-items: center; gap: 9px; }
.organization-select select, .icon-button, .sync-button { height: 43px; border: 1px solid var(--line); border-radius: 13px; color: #343b4c; background: rgba(255,255,255,.78); box-shadow: 0 8px 18px rgba(33,42,68,.05); }
.organization-select select { min-width: 180px; padding: 0 35px 0 13px; }
.icon-button { position: relative; width: 43px; font-size: 1.15rem; }
.notification-button span { position: absolute; right: 9px; top: 8px; width: 7px; height: 7px; border: 2px solid white; border-radius: 50%; background: var(--rose); }
.sync-button { padding: 0 16px; color: white; border: 0; background: linear-gradient(135deg,#5b5cf0,#4244ce); font-weight: 700; }
.sync-button span { display: inline-block; margin-right: 6px; }
.sync-button:hover span { transform: rotate(180deg); transition: .5s ease; }
.sync-button:disabled { opacity: .55; cursor: wait; }
.demo-banner { margin-bottom: 14px; padding: 10px 14px; border: 1px solid rgba(237,173,47,.23); border-radius: 13px; color: #765a22; background: rgba(255,247,220,.75); font-size: .78rem; }
.demo-banner span { margin-right: 7px; padding: 3px 7px; border-radius: 7px; color: #704d04; background: #ffe9a6; font-weight: 800; }
.metrics-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 13px; margin-bottom: 14px; }
.metric-card { position: relative; overflow: hidden; min-height: 158px; padding: 19px; border-radius: 21px; }
.metric-card::after { content: ""; position: absolute; right: -30px; bottom: -40px; width: 100px; height: 100px; border-radius: 50%; background: var(--card-accent); opacity: .08; }
.metric-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.metric-icon { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 11px; color: var(--card-accent); background: color-mix(in srgb,var(--card-accent) 10%,white); font-weight: 900; }
.trend { color: #8d94a4; font-size: .66rem; }
.trend.positive { color: #18966a; }.trend.warning { color: #b87912; }.trend.danger { color: #c74462; }
.metric-card p { margin: 16px 0 3px; color: #778092; font-size: .8rem; }
.metric-card strong { font-size: 1.9rem; letter-spacing: -.04em; }
.metric-progress { height: 4px; margin-top: 12px; overflow: hidden; border-radius: 999px; background: #edf0f4; }
.metric-progress span { display: block; height: 100%; border-radius: inherit; background: var(--card-accent); }
.accent-indigo { --card-accent: #5b5cf0; }.accent-blue { --card-accent: #3994e7; }.accent-amber { --card-accent: #e5a128; }.accent-rose { --card-accent: #e45473; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(310px,.85fr); gap: 14px; }
.content-card { border-radius: 22px; padding: 21px; }
.card-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 18px; }
.card-heading h3 { margin: 2px 0 0; font-size: 1rem; }
.dark-eyebrow { color: #7f8798; margin: 0; font-size: .62rem; }
.quiet-button, .more-button { border: 0; color: #626a7b; background: transparent; font-size: .75rem; }
.more-button { font-size: 1rem; letter-spacing: .12em; }
.week-strip { display: grid; grid-template-columns: repeat(7,1fr); gap: 7px; padding: 10px; border-radius: 17px; background: #f5f7fa; }
.week-strip button { position: relative; min-height: 56px; display: grid; place-items: center; gap: 2px; border: 0; border-radius: 12px; color: #5c6475; background: transparent; }
.week-strip small { font-size: .58rem; }.week-strip b { font-size: .84rem; }
.week-strip .weekend { color: #b87b86; }
.week-strip .selected { color: white; background: linear-gradient(145deg,#5f60ee,#4749d8); box-shadow: 0 9px 20px rgba(74,76,220,.23); }
.week-strip i { position: absolute; bottom: 4px; width: 4px; height: 4px; border-radius: 50%; background: currentColor; opacity: .55; }
.hearing-list { display: grid; margin-top: 12px; }
.hearing-row { min-height: 74px; display: grid; grid-template-columns: 49px 7px minmax(0,1fr) auto 13px; align-items: center; gap: 10px; padding: 9px 3px; border: 0; border-bottom: 1px solid var(--line); color: var(--ink); background: transparent; text-align: left; text-decoration: none; }
.hearing-row:last-child { border-bottom: 0; }
.hearing-row:hover { transform: translateX(3px); }
.hearing-row time { font-size: .75rem; font-weight: 800; }
.hearing-dot { width: 7px; height: 7px; border-radius: 50%; }.hearing-dot.amber{background:#e9a62f}.hearing-dot.indigo{background:#5b5cf0}.hearing-dot.green{background:#1eb97c}
.hearing-info { min-width: 0; }.hearing-info b,.hearing-info small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hearing-info b{font-size:.78rem}.hearing-info small{margin-top:5px;color:#8991a2;font-size:.66rem}
.status-pill { padding: 5px 8px; border-radius: 999px; font-size: .62rem; font-weight: 750; white-space: nowrap; }.waiting{color:#97610d;background:#fff0cd}.planned{color:#4a4bb8;background:#e9e9ff}.calm{color:#16825b;background:#dff7ed}
.row-arrow { color: #a5acb9; font-size: 1.3rem; }
.activity-list { display: grid; gap: 16px; }
.empty-state { margin: 18px 0; color: #8b93a3; font-size: .78rem; text-align: center; }
.activity-item { display: grid; grid-template-columns: 36px 1fr; gap: 11px; }
.activity-icon { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 11px; font-size: .8rem; font-weight: 900; }
.amber-bg{color:#9a650e;background:#fff0cf}.green-bg{color:#16845c;background:#def7eb}.violet-bg{color:#5750b7;background:#ebe9ff}.red-bg{color:#ad3551;background:#ffe5eb}
.activity-item b { display: block; font-size: .77rem; }.activity-item p{margin:4px 0 3px;color:#7e8798;font-size:.68rem}.activity-item time{color:#a2a9b6;font-size:.61rem}
.activity-link { width: 100%; margin-top: 19px; padding-top: 14px; border: 0; border-top: 1px solid var(--line); color: #4b4dc8; background: transparent; font-size: .72rem; font-weight: 700; }
.health-card { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1.8fr; align-items: center; }
.health-status { display: grid; grid-template-columns: 10px 1fr auto; align-items: center; gap: 11px; padding-right: 20px; border-right: 1px solid var(--line); }
.pulse-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 5px rgba(22,182,122,.11); animation: pulse 2s infinite; }
.health-status small,.health-status b{display:block}.health-status small{color:#8b93a3;font-size:.65rem}.health-status b{margin-top:3px;font-size:.83rem}
.health-metrics { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; padding-left: 24px; }
.health-metrics span,.health-metrics b{display:block}.health-metrics span{color:#9299a8;font-size:.63rem}.health-metrics b{margin-top:5px;font-size:.75rem}
@keyframes pulse { 50% { box-shadow: 0 0 0 9px rgba(22,182,122,0); } }

@media (max-width: 1050px) { .metrics-grid { grid-template-columns: repeat(2,1fr); }.dashboard-grid{grid-template-columns:1fr}.health-card{grid-column:auto}.dashboard-view{grid-template-columns:88px 1fr}.sidebar{padding-inline:10px}.brand-name,.nav-item b,.nav-item i,.profile-button>span:not(.avatar){display:none}.sidebar-brand{justify-content:center;padding-inline:0}.nav-item{display:grid;grid-template-columns:1fr;place-items:center;padding:0}.profile-button{display:grid;grid-template-columns:1fr;place-items:center}.dashboard-main{padding-right:8px} }
@media (max-width: 720px) { .auth-card{padding:44px 22px 32px}.otp-grid-six{gap:5px}.otp-grid-six .otp-input{width:min(13vw,51px);height:min(15vw,57px);border-radius:13px}.auth-brand{left:20px}.dashboard-view{display:block;padding:10px 10px 84px}.sidebar{position:fixed;z-index:20;left:10px;right:10px;bottom:10px;top:auto;width:auto;height:64px;display:block;padding:7px 10px;border-radius:20px}.sidebar-brand,.sidebar-footer{display:none}.nav-list{height:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:3px}.nav-item{min-height:auto;height:100%;border-radius:13px}.nav-item span{font-size:1rem}.dashboard-main{padding:9px 2px 28px}.topbar{align-items:flex-start}.topbar-actions{flex-wrap:wrap;justify-content:flex-end}.sync-button{width:43px;padding:0;font-size:0}.sync-button span{margin:0;font-size:1rem}.metrics-grid{grid-template-columns:repeat(2,1fr)}.metric-card{min-height:142px;padding:15px}.metric-top{align-items:flex-start}.trend{max-width:72px;text-align:right}.dashboard-grid{grid-template-columns:1fr}.content-card{padding:16px}.week-strip{gap:3px;padding:7px}.hearing-row{grid-template-columns:42px 6px minmax(0,1fr) 12px}.hearing-row .status-pill{display:none}.health-card{display:block}.health-status{border-right:0;border-bottom:1px solid var(--line);padding:0 0 15px}.health-metrics{padding:15px 0 0;grid-template-columns:1fr 1fr} }
@media (max-width: 460px) { .metrics-grid{grid-template-columns:1fr}.metric-card{min-height:130px}.topbar h2{font-size:1.45rem}.icon-button:first-of-type{display:none}.hearing-info b{font-size:.72rem}.auth-copy{font-size:.9rem}.gold-ribbon{width:180vw}.security-note{font-size:.68rem} }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.otp-grid.verifying .otp-input{opacity:0} }

/* Glassy OTP motion: dark glass, warm diagonal light and a soft digit orbit. */
.auth-view {
  background:
    radial-gradient(ellipse at 50% 38%, rgba(34, 32, 40, .84) 0, rgba(10, 11, 16, .92) 43%, #030406 100%),
    #030406;
}

.auth-view::before {
  background:
    linear-gradient(119deg, transparent 0 17%, rgba(255, 210, 111, .08) 17.2%, transparent 18.1% 34%, rgba(255, 255, 255, .035) 34.2%, transparent 35.1% 100%),
    repeating-linear-gradient(116deg, transparent 0 66px, rgba(255,255,255,.022) 67px, transparent 69px);
  opacity: .9;
}

.auth-view::after {
  content: "";
  position: absolute;
  z-index: -3;
  left: -34%;
  top: 37%;
  width: 168%;
  height: 190px;
  border-radius: 50%;
  transform: rotate(17deg);
  background:
    linear-gradient(180deg, transparent 0 26%, rgba(255, 216, 130, .08) 30%, rgba(255, 164, 36, .26) 45%, rgba(255, 231, 158, .46) 50%, rgba(125, 63, 12, .20) 57%, transparent 73%),
    linear-gradient(180deg, transparent 0 48%, rgba(255, 210, 111, .18) 50%, transparent 53%);
  filter: blur(8px);
  opacity: .68;
  pointer-events: none;
}

.aurora { filter: blur(105px); opacity: .15; }
.aurora-one { background: #b56613; }
.aurora-two { background: #7b3008; }

.gold-ribbon {
  width: 152vw;
  height: 100px;
  border-radius: 50%;
  background:
    linear-gradient(180deg, transparent 0 31%, rgba(111, 54, 9, .32) 36%, rgba(255, 176, 45, .35) 44%, rgba(255, 239, 176, .80) 49%, rgba(255, 161, 26, .28) 54%, transparent 66%),
    linear-gradient(180deg, transparent 47%, rgba(255, 207, 100, .30) 50%, transparent 53%);
  box-shadow: 0 0 34px rgba(255, 177, 43, .30), 0 0 95px rgba(255, 150, 22, .12);
  filter: blur(1.5px);
  mix-blend-mode: screen;
  opacity: .56;
}
.ribbon-one { top: 22%; left: -27%; transform: rotate(-24deg); }
.ribbon-two { bottom: 15%; left: -20%; height: 74px; transform: rotate(-31deg); opacity: .38; }

.glass-panel {
  border-color: rgba(255,255,255,.18);
  background:
    linear-gradient(145deg, rgba(47, 47, 56, .70), rgba(10, 11, 17, .72)),
    rgba(10, 11, 17, .65);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    inset 0 -1px 0 rgba(255, 188, 55, .08),
    0 38px 100px rgba(0,0,0,.62),
    0 0 45px rgba(255, 173, 41, .045);
  backdrop-filter: blur(34px) saturate(135%);
}

.auth-card {
  padding-top: 46px;
  border-radius: 27px;
}
.auth-card::after {
  content: "";
  position: absolute;
  inset: 1px;
  border: 1px solid rgba(255,255,255,.045);
  border-radius: 26px;
  pointer-events: none;
}
.auth-icon {
  width: 50px;
  height: 50px;
  margin-bottom: 17px;
  border-radius: 14px;
  background: rgba(244,185,66,.07);
  box-shadow: 0 0 30px rgba(244,185,66,.11), inset 0 0 16px rgba(244,185,66,.08);
}
.auth-card h1 { font-size: clamp(1.85rem, 5.5vw, 2.45rem); }
.auth-copy { margin-top: 12px; color: #9699a5; font-size: .73rem; }

.otp-grid {
  height: 76px;
  gap: 10px;
  overflow: visible;
}
.otp-grid::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 50%;
  top: 50%;
  width: 255px;
  height: 54px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: rgba(244, 185, 66, .05);
  filter: blur(18px);
  opacity: 0;
  transition: opacity .3s ease;
}
.otp-grid.verifying::before { opacity: 1; animation: otp-halo 1.3s ease-out both; }
.otp-input {
  width: 58px;
  height: 58px;
  border-radius: 14px;
  border-color: rgba(255,255,255,.13);
  background: linear-gradient(145deg, rgba(24,25,32,.72), rgba(4,5,9,.52));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 8px 22px rgba(0,0,0,.16);
}
.otp-input:focus, .otp-input.filled {
  border-color: rgba(244,185,66,.88);
  box-shadow: 0 0 0 3px rgba(244,185,66,.08), 0 0 24px rgba(244,185,66,.18), inset 0 1px 0 rgba(255,255,255,.1);
}
.otp-grid.verifying .otp-input {
  animation: digit-orbit 1.3s cubic-bezier(.32, .04, .18, 1) forwards;
  will-change: transform, opacity, filter;
}
.otp-grid.verifying .otp-input:nth-child(1) { --tx: 82px; --ty: 22px; --rot: -33deg; }
.otp-grid.verifying .otp-input:nth-child(2) { --tx: 42px; --ty: -66px; --rot: 26deg; }
.otp-grid.verifying .otp-input:nth-child(3) { --tx: -40px; --ty: -78px; --rot: 51deg; }
.otp-grid.verifying .otp-input:nth-child(4) { --tx: -80px; --ty: 5px; --rot: -43deg; }
.otp-grid.verifying .otp-input:nth-child(5) { --tx: -34px; --ty: 62px; --rot: 37deg; }
.otp-grid.verifying .otp-input:nth-child(6) { --tx: 72px; --ty: 57px; --rot: -29deg; }
@keyframes digit-orbit {
  0% { opacity: 1; transform: translate(0, 0) rotate(0) scale(1); filter: brightness(1); }
  24% { opacity: 1; transform: translate(calc(var(--tx) * .30), calc(var(--ty) * .30)) rotate(calc(var(--rot) * .35)) scale(1.04); filter: brightness(1.3) drop-shadow(0 0 8px rgba(255, 186, 63, .35)); }
  63% { opacity: .92; transform: translate(var(--tx), var(--ty)) rotate(var(--rot)) scale(.82); border-color: rgba(255, 139, 47, .85); filter: brightness(1.16) drop-shadow(0 0 12px rgba(255, 139, 47, .30)); }
  100% { opacity: 0; transform: translate(calc(var(--tx) * .52), calc(var(--ty) * .52)) rotate(calc(var(--rot) * 1.55)) scale(.12); filter: blur(1px); }
}
@keyframes otp-halo { 0%, 100% { transform: translate(-50%, -50%) scale(.72); opacity: 0; } 28% { opacity: 1; } 70% { opacity: .5; } }

.auth-card.success {
  border-color: rgba(42, 224, 147, .48);
  background: linear-gradient(145deg, rgba(20, 71, 54, .76), rgba(7, 25, 22, .82));
  box-shadow: inset 0 1px 0 rgba(172,255,219,.12), 0 38px 100px rgba(0,0,0,.62), 0 0 68px rgba(33, 214, 139, .13);
}
.auth-card.success::after { border-color: rgba(77, 240, 168, .12); }
.auth-card.success .auth-icon {
  color: #effff8;
  border-color: #32e39e;
  background: rgba(23, 177, 113, .80);
  box-shadow: 0 0 0 5px rgba(49,226,157,.08), 0 0 42px rgba(39,223,148,.4);
  animation: success-pop .55s cubic-bezier(.2, .9, .3, 1.35) both;
}
.auth-card.success .eyebrow { color: #5aefaf; }
.auth-card.success .auth-copy { color: #b3d9ca; }
.auth-card.success .primary-button { box-shadow: 0 14px 30px rgba(27, 209, 135, .25); }
@keyframes success-pop { from { opacity: 0; transform: scale(.65); } to { opacity: 1; transform: scale(1.06); } }

@media (max-width: 720px) {
  .auth-card { padding-top: 40px; }
  .otp-grid-six { gap: 5px; }
  .otp-grid-six .otp-input { width: min(13vw, 51px); height: min(15vw, 57px); }
}

/* Real court states: animation never substitutes for server progress. */
.monitoring-preview { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:20px; }
.monitoring-preview > div { flex:1; }
.monitoring-preview p { color:#677087; font-size:.8rem; margin:8px 0 12px; }
.monitoring-hero { display:flex; align-items:center; gap:32px; padding:30px; border-radius:22px; }
.monitoring-ring { flex:none; width:128px; height:128px; border-radius:50%; display:grid; place-items:center; position:relative; background:#e7eaf3; }
.monitoring-ring::before { content:''; position:absolute; inset:10px; background:#f9fafc; border-radius:50%; }
.monitoring-ring span { position:relative; font-size:1.6rem; font-weight:800; color:#27334f; }
.monitoring-ring.is-running::after { content:''; position:absolute; inset:-5px; border:2px solid transparent; border-top-color:#5865eb; border-radius:50%; animation:court-spin 1.8s linear infinite; }
.monitoring-eyebrow { font-size:.64rem; letter-spacing:.13em; color:#737b98; font-weight:800; margin:0 0 8px; }
.monitoring-hero h3 { margin:0; font-size:1.3rem; }
.monitoring-hero-body > p:not(.monitoring-eyebrow) { color:#778096; font-size:.8rem; line-height:1.6; }
.monitoring-counters { display:flex; flex-wrap:wrap; gap:8px; }
.monitoring-counters > span { padding:7px 11px; border-radius:9px; font-size:.72rem; font-weight:700; background:#eceef6; color:#626c85; }
.monitoring-counters .done { background:#e1f5ed; color:#18835d; }
.monitoring-counters .working { background:#e9ebff; color:#515fd2; }
.monitoring-counters .problem { background:#fff0d8; color:#976221; }
.monitoring-toolbar { display:flex; align-items:end; gap:16px; flex-wrap:wrap; padding:22px 0 12px; }
.monitoring-toolbar label { display:grid; gap:6px; color:#717b92; font-size:.72rem; }
.monitoring-toolbar select { max-width:340px; min-width:180px; padding:10px 12px; border:1px solid #dce0ef; border-radius:10px; background:#fff; color:#35415b; }
.monitoring-filters { display:flex; flex-wrap:wrap; gap:4px; padding:4px; background:#e9ecf5; border-radius:12px; }
.monitoring-filters button { padding:9px 12px; border:0; border-radius:8px; background:transparent; font:inherit; font-size:.73rem; color:#747e95; cursor:pointer; }
.monitoring-filters button.active { background:#fff; color:#4d59c8; box-shadow:0 2px 6px #263b7010; }
.captcha-usage { margin-left:auto; color:#64718a; font-size:.76rem; }
.monitoring-companies { display:grid; gap:20px; }
.monitor-company { padding:24px; border-radius:18px; }
.monitor-company-heading { display:flex; justify-content:space-between; gap:18px; align-items:center; margin-bottom:18px; }
.monitor-company-heading h3 { font-size:.98rem; line-height:1.4; margin:0 0 7px; max-width:540px; }
.monitor-company-heading small { color:#7d8698; font-size:.72rem; }
.monitor-company-actions { display:flex; flex-wrap:wrap; gap:8px; flex-shrink:0; }
.monitor-company-actions button { font-size:.73rem; }
.court-progress-track { display:flex; height:7px; overflow:hidden; background:#e5e9f1; border-radius:8px; width:100%; }
.court-progress-track span { display:block; height:100%; transition:width .5s ease; }
.court-progress-track .done { background:#22a77b; }
.court-progress-track .problem { background:#e8a13d; }
.court-progress-track .working { background:#6572ec; animation:court-breathe 1.4s ease-in-out infinite; }
.monitor-court-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding-top:20px; }
.monitor-court { display:flex; align-items:flex-start; gap:12px; padding:16px; border:1px solid #e7eaf3; border-radius:14px; background:#fff9; transition:background .35s,border-color .35s; }
.court-state-icon { display:grid; place-items:center; flex:none; width:32px; height:32px; border-radius:50%; background:#eef0f7; color:#8e97aa; font-weight:800; }
.state-running { border-color:#b9c0f8; background:#f3f4ff; }
.state-running .court-state-icon { border:3px solid #dfe3ff; border-top-color:#6572ec; background:transparent; animation:court-spin 1s linear infinite; }
.state-succeeded .court-state-icon { background:#e4f6ef; color:#18976b; }
.state-failed .court-state-icon,.state-blocked .court-state-icon,.state-partial .court-state-icon { background:#fff1da; color:#b07729; }
.court-state-body { display:grid; gap:6px; min-width:0; }
.court-state-body b { font-size:.77rem; line-height:1.5; }
.court-state-body > span { font-size:.72rem; color:#718096; }
.state-running .court-state-body > span { color:#5b67da; }
.state-succeeded .court-state-body > span { color:#199568; }
.court-state-body small { font-size:.67rem; line-height:1.5; color:#8390a2; }
.court-state-body .quiet-button { justify-self:start; font-size:.65rem; padding:0; }
.monitor-court.is-retry { border-color:#efd5a5; background:#fffcf6; }
.monitor-court.is-retry .court-state-icon { color:#b57420; background:#fff0d7; }
.monitoring-history { margin-top:22px; }
.monitoring-history summary { cursor:pointer; font-weight:700; font-size:.82rem; }
.monitoring-history .records-list { margin-top:18px; }
.company-monitor-progress { display:grid; gap:8px; margin-top:12px; max-width:520px; }
.company-monitor-progress small { font-size:.65rem; }
.company-monitor-progress button { justify-self:start; font-size:.7rem; padding:0; }
.captcha-budget-form { max-width:520px; padding-top:28px; margin-top:28px; border-top:1px solid #e2e6f0; }
.captcha-budget-form input { width:160px; padding:12px; background:#fff; border:1px solid #dce0ef; border-radius:10px; font:inherit; }
.just-finished { animation:court-completed 1.2s ease-out; }
@keyframes court-spin { to { transform:rotate(360deg); } }
@keyframes court-breathe { 50% { opacity:.5; } }
@keyframes court-completed { from { background:#d6f3e6; border-color:#74cbaa; } to { background:#fff9; border-color:#e7eaf3; } }
@media (max-width:1050px) { .monitor-company-heading { align-items:start; flex-direction:column; } }
@media (max-width:720px) {
  .dashboard-view .nav-list { grid-template-columns:repeat(7,1fr); }
  .monitoring-hero { gap:20px; padding:22px 16px; }
  .monitoring-ring { width:90px; height:90px; }
  .monitoring-ring span { font-size:1.2rem; }
  .monitoring-hero h3 { font-size:1rem; }
  .monitoring-preview { align-items:start; flex-direction:column; gap:12px; }
  .monitoring-preview > div { width:100%; }
  .monitor-company { padding:16px; }
  .monitor-court-grid { grid-template-columns:1fr; }
  .captcha-usage { width:100%; margin-left:0; }
  .monitoring-toolbar select { max-width:100%; }
  .monitor-company-actions .sync-button,.captcha-budget-form .sync-button { width:auto; font-size:.73rem; padding:10px 14px; }
}
@media (prefers-reduced-motion:reduce) {
  .monitoring-ring.is-running::after,.state-running .court-state-icon,.court-progress-track .working,.just-finished { animation:none; }
  .court-progress-track span,.monitor-court { transition:none; }
}

@media (prefers-reduced-motion: reduce) {
  .otp-grid.verifying::before,
  .otp-grid.verifying .otp-input,
  .auth-card.success .auth-icon { animation: none !important; }
  .otp-grid.verifying .otp-input { opacity: 1 !important; transform: none !important; filter: none !important; }
  .otp-grid.verifying::before { opacity: 0; }
}

/* Companies: lookup by INN and private per-user list. */
.companies-view { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(310px,.9fr); gap: 14px; }
.companies-card, .companies-list-card { min-width: 0; }
.company-safe-note { color: #16825b; font-size: .68rem; }
.company-form { display: grid; gap: 13px; }
.company-lookup-row { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 10px; }
.dark-field { color: #667085; }
.dark-field input { color: var(--ink); background: rgba(247,249,252,.86); border-color: rgba(35,44,68,.1); }
.dark-field input:read-only { color: #657083; background: rgba(241,244,248,.74); }
.dark-field input:not(:read-only) { border-color: rgba(91,92,240,.4); background: white; }
.company-lookup-button { min-width: 112px; }
.company-form-hint { margin: 0; color: #8b93a3; font-size: .73rem; line-height: 1.45; }
.company-form-hint.ok { color: #16825b; }
.company-form-hint.error { color: #bd4660; }
.company-details-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.company-address-field { grid-column: 1 / -1; }
.company-actions { display: flex; align-items: center; gap: 16px; }
.company-save-button { max-width: 250px; height: 48px; }
.company-actions .quiet-button { padding: 10px; }
.companies-list { display: grid; gap: 10px; }
.company-row { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.company-row:last-child { border-bottom: 0; }
.company-row-body { min-width: 0; }
.company-row-body b, .company-row-body small, .company-row-body span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.company-row-body b { font-size: .8rem; }
.company-row-body small { margin-top: 5px; color: #727b8d; font-size: .68rem; }
.company-row-body span { margin-top: 4px; color: #9299a8; font-size: .65rem; }
.company-row-meta { display: grid; justify-items: end; gap: 8px; }
.company-remove { border: 0; padding: 2px 0; color: #bd4660; background: transparent; font-size: .68rem; }
.company-remove:disabled { opacity: .45; cursor: wait; }
.monitoring-state { color: #a06b13; font-size: .65rem; font-weight: 700; }
.monitoring-state.configured { color: #16825b; }
.company-configure { min-height: 34px; padding: 0 12px; border: 1px solid rgba(91,92,240,.18); border-radius: 10px; color: #4b4dc8; background: #efefff; font-size: .69rem; font-weight: 750; }
.company-configure:hover { background: #e5e5ff; }

.monitoring-card { grid-column: 1 / -1; padding: 24px; }
.monitoring-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.monitoring-heading h3 { margin: 3px 0 4px; font-size: 1.15rem; }
.monitoring-heading p:last-child { margin: 0; color: #8a92a3; font-size: .72rem; }
.monitoring-close { width: 36px; height: 36px; border: 1px solid var(--line); border-radius: 11px; color: #72798a; background: rgba(255,255,255,.72); font-size: 1.35rem; }
.monitoring-form { display: grid; gap: 20px; padding-top: 18px; }
.monitoring-basics { display: grid; grid-template-columns: minmax(0,1fr) minmax(210px,.34fr); align-items: stretch; gap: 12px; }
.arbitration-option { min-height: 82px; display: grid; grid-template-columns: 22px 42px minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 13px 15px; border: 1px solid rgba(91,92,240,.16); border-radius: 16px; background: linear-gradient(135deg,rgba(91,92,240,.07),rgba(255,255,255,.72)); cursor: pointer; }
.arbitration-option input { width: 18px; height: 18px; accent-color: #5b5cf0; }
.arbitration-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; color: white; background: linear-gradient(145deg,#5f60ee,#4042c7); font-weight: 850; }
.arbitration-option b, .arbitration-option small { display: block; }
.arbitration-option b { font-size: .8rem; }
.arbitration-option small { margin-top: 5px; color: #7f8798; font-size: .66rem; line-height: 1.4; }
.arbitration-option i { padding: 5px 8px; border-radius: 999px; color: #16825b; background: #dff7ed; font-size: .61rem; font-style: normal; font-weight: 750; }
.monitoring-date { padding: 13px 15px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.64); }
.monitoring-date input { color-scheme: light; }
.court-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 14px; }
.court-section-heading h4 { margin: 0 0 5px; font-size: .9rem; }
.court-section-heading p { margin: 0; color: #8a92a3; font-size: .7rem; }
.selected-count { padding: 6px 10px; border-radius: 999px; color: #4b4dc8; background: #ececff; font-size: .68rem; font-weight: 750; white-space: nowrap; }
.court-filters { display: grid; grid-template-columns: minmax(180px,.8fr) minmax(180px,.8fr) minmax(230px,1.4fr); gap: 10px; }
.court-filters label { display: grid; gap: 6px; color: #727b8d; font-size: .67rem; font-weight: 650; }
.court-filters select, .court-filters input { width: 100%; height: 43px; padding: 0 12px; border: 1px solid var(--line); border-radius: 12px; color: #343b4c; background: rgba(255,255,255,.82); }
.court-list-actions { min-height: 30px; display: flex; align-items: center; gap: 8px; }
.court-list-actions > span { margin-left: auto; color: #9299a8; font-size: .66rem; }
.quiet-action { min-height: 34px; padding: 0 11px; border: 1px solid var(--line); border-radius: 10px; color: #586174; background: rgba(255,255,255,.75); font-size: .68rem; font-weight: 700; }
.quiet-action:disabled { opacity: .48; cursor: wait; }
.court-list { max-height: 420px; overflow: auto; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; padding: 4px; }
.court-option { min-width: 0; display: grid; grid-template-columns: 20px minmax(0,1fr) auto; align-items: center; gap: 10px; min-height: 68px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.58); cursor: pointer; transition: .18s ease; }
.court-option:hover { border-color: rgba(91,92,240,.25); transform: translateY(-1px); }
.court-option.selected { border-color: rgba(91,92,240,.35); background: rgba(237,237,255,.9); box-shadow: inset 0 0 0 1px rgba(91,92,240,.05); }
.court-option input { width: 17px; height: 17px; accent-color: #5b5cf0; }
.court-option b, .court-option small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.court-option b { font-size: .73rem; }
.court-option small { margin-top: 5px; color: #8a92a3; font-size: .62rem; }
.court-option i { color: #16825b; font-size: .59rem; font-style: normal; white-space: nowrap; }
.missing-court { border-top: 1px solid var(--line); padding-top: 15px; }
.missing-court summary { color: #626a7b; font-size: .73rem; font-weight: 700; cursor: pointer; }
.missing-court-form { display: grid; grid-template-columns: minmax(150px,.6fr) minmax(240px,1.2fr) auto; align-items: end; gap: 10px; padding-top: 13px; }
.missing-court-form .quiet-action { height: 52px; }
.monitoring-footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-top: 17px; border-top: 1px solid var(--line); }
.monitoring-footer p { margin: 0; color: #7e8798; font-size: .72rem; }
.monitoring-footer p.ok { color: #16825b; }
.monitoring-footer p.error { color: #bd4660; }
.monitoring-save { width: min(100%,260px); height: 48px; }

@media (max-width: 1050px) { .companies-view { grid-template-columns: 1fr; } }
@media (max-width: 720px) {
  .nav-list { grid-template-columns: repeat(6,1fr); }
  .company-lookup-row { grid-template-columns: 1fr; }
  .company-lookup-button { width: 100%; }
  .company-details-grid { grid-template-columns: 1fr; }
  .company-address-field { grid-column: auto; }
  .company-actions { align-items: stretch; flex-direction: column; }
  .company-save-button { max-width: none; }
  .company-row { grid-template-columns: 1fr; }
  .company-row-meta { justify-items: start; display: flex; align-items: center; flex-wrap: wrap; }
  .monitoring-card { padding: 16px; }
  .monitoring-basics, .court-filters, .missing-court-form { grid-template-columns: 1fr; }
  .arbitration-option { grid-template-columns: 20px 38px minmax(0,1fr); }
  .arbitration-option i { grid-column: 3; justify-self: start; }
  .court-list { grid-template-columns: 1fr; max-height: 480px; }
  .court-section-heading, .monitoring-footer { align-items: stretch; flex-direction: column; }
  .monitoring-save { width: 100%; }
  .court-list-actions { flex-wrap: wrap; }
  .court-list-actions > span { width: 100%; margin-left: 0; }
}
