/* LOGIN */
.login-page {
  min-height:100vh;
  display:grid;
  place-items:center;
  position:relative;
  overflow:hidden;
  background:#071019;
}
.login-backdrop {
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(4,10,16,.2) 0%, rgba(4,10,16,.08) 44%, rgba(4,10,16,.54) 100%),
    linear-gradient(180deg, rgba(4,10,16,.08) 0%, rgba(4,10,16,.1) 55%, rgba(4,10,16,.43) 100%),
    url('../images/login-bg.png') center/cover no-repeat;
  transform:scale(1.008);
}
.login-backdrop::after { content:""; position:absolute; inset:0; background:radial-gradient(circle at 68% 42%, rgba(83,143,255,.09), transparent 22rem); }
.login-shell {
  position:relative;
  z-index:2;
  width:min(90vw, 92rem);
  min-height:min(74vh, 49rem);
}
.login-card {
  position:fixed;
  left:50vw;
  top:50vh;
  width:min(31rem, calc(100vw - 3rem));
  transform:translate(-50%, -50%);
  border-radius:1.35rem;
  background:rgba(8,17,27,.9);
  border:1px solid rgba(178,203,231,.16);
  box-shadow:0 32px 90px rgba(0,0,0,.42);
  backdrop-filter:blur(24px);
  overflow:hidden;
}
.login-card-main { padding:1.65rem 1.65rem 1.4rem; }
.login-lockup { display:flex; align-items:center; gap:.85rem; margin-bottom:1.55rem; }
.login-lockup .brand-mark { width:2.8rem; height:2.8rem; }
.login-product { font-size:1rem; font-weight:800; letter-spacing:-.025em; }
.login-product-sub { margin-top:.12rem; color:var(--text-3); font-size:.62rem; text-transform:uppercase; letter-spacing:.11em; }
.login-heading { margin:0; font-size:1.65rem; letter-spacing:-.035em; }
.login-description { margin:.5rem 0 1.35rem; color:var(--text-2); font-size:.74rem; line-height:1.65; }
.form-field { margin-top:.75rem; }
.form-label { display:block; margin-bottom:.4rem; color:var(--text-3); font-size:.59rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.login-submit { width:100%; margin-top:1rem; }
.demo-zone { padding:1rem 1.65rem 1.4rem; border-top:1px solid var(--border-soft); background:rgba(255,255,255,.012); }
.demo-head { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-bottom:.65rem; }
.demo-title { color:var(--text-2); font-size:.62rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.demo-note { color:var(--text-3); font-size:.58rem; }
.demo-grid { display:grid; grid-template-columns:1fr 1fr; gap:.5rem; }
.demo-login {
  min-height:3.2rem;
  display:flex;
  align-items:center;
  gap:.65rem;
  padding:.55rem .65rem;
  border:1px solid var(--border-soft);
  border-radius:.8rem;
  background:rgba(255,255,255,.025);
  text-align:left;
  transition:140ms ease;
}
.demo-login:hover { transform:translateY(-1px); border-color:rgba(var(--demo-rgb), .34); background:rgba(var(--demo-rgb), .075); }
.demo-login-icon { width:2rem; height:2rem; display:grid; place-items:center; flex:0 0 auto; border-radius:.6rem; color:rgb(var(--demo-rgb)); background:rgba(var(--demo-rgb), .1); border:1px solid rgba(var(--demo-rgb), .18); }
.demo-login strong { display:block; font-size:.7rem; }
.demo-login small { display:block; margin-top:.08rem; color:var(--text-3); font-size:.56rem; }
.demo-login .chev { margin-left:auto; color:var(--text-3); }
.login-footer { display:flex; justify-content:space-between; gap:1rem; padding:.8rem 1.65rem; border-top:1px solid var(--border-soft); color:var(--text-3); font-size:.58rem; }
.availability { display:flex; align-items:center; gap:.4rem; }
.availability::before { content:""; width:.4rem; height:.4rem; border-radius:50%; background:var(--success); box-shadow:0 0 12px rgba(84,215,164,.65); }

/* DASHBOARD */
.dashboard-layout { display:grid; grid-template-columns:minmax(0, 1.55fr) minmax(22rem, .72fr); gap:.9rem; align-items:start; }
.hero-panel {
  min-height:18rem;
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  padding:1.6rem;
  background:
    linear-gradient(135deg, rgba(var(--accent-rgb), .16), transparent 38%),
    radial-gradient(circle at 85% 15%, rgba(var(--accent-rgb), .15), transparent 18rem),
    linear-gradient(145deg, #142638 0%, #0d1b2a 50%, #0b1723 100%);
}
.hero-panel::before {
  content:"";
  position:absolute;
  inset:0;
  opacity:.28;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(90deg, transparent, #000 35%, #000);
}
.hero-panel::after { content:""; position:absolute; width:24rem; height:24rem; right:-8rem; top:-8rem; border-radius:50%; border:1px solid rgba(var(--accent-rgb), .16); box-shadow:0 0 0 4rem rgba(var(--accent-rgb), .025), 0 0 0 8rem rgba(var(--accent-rgb), .016); }
.hero-content { position:relative; z-index:1; max-width:48rem; }
.hero-eyebrow { color:var(--accent-strong); font-size:.64rem; text-transform:uppercase; font-weight:820; letter-spacing:.14em; }
.hero-title { margin:.55rem 0 .55rem; font-size:2rem; line-height:1.02; letter-spacing:-.04em; }
.hero-copy { margin:0; color:var(--text-2); font-size:.78rem; max-width:36rem; }
.hero-footer { margin-top:1.15rem; display:flex; align-items:center; gap:.55rem; flex-wrap:wrap; }
.hero-chip { padding:.35rem .55rem; border-radius:999px; color:var(--text-1); background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.07); font-size:.61rem; }
.dashboard-main { display:grid; gap:.9rem; }
.dashboard-side { display:grid; gap:.9rem; }
.dashboard-lower { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(20rem,.85fr); gap:.9rem; }

/* RECORD REGISTRY */
.record-register-panel { width:100%; overflow:hidden; }
.master-list-head { display:flex; align-items:center; justify-content:space-between; min-height:3.2rem; padding:.7rem .85rem; border-bottom:1px solid var(--border-soft); }
.master-list-head strong { display:block; font-size:.76rem; }
.master-list-head span { display:block; margin-top:.1rem; color:var(--text-3); font-size:.58rem; }
.record-register-panel .toolbar { padding:.85rem; margin:0; border-bottom:1px solid var(--border-soft); }
.record-list { overflow:auto; }
.record-list-full { max-height:none; overflow:visible; }
.record-row { display:grid; grid-template-columns:2.6rem minmax(0,1fr) auto 1rem; gap:.75rem; align-items:center; min-height:4.5rem; padding:.8rem .9rem; border-bottom:1px solid rgba(151,176,205,.075); transition:120ms ease; }
.record-row:last-child { border-bottom:0; }
.record-row:hover { background:rgba(255,255,255,.028); }
.record-main { min-width:0; }
.record-title { font-size:.74rem; font-weight:740; color:var(--text-0); }
.record-subtitle { margin-top:.18rem; color:var(--text-3); font-size:.61rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.record-state { margin-left:auto; }
.row-action { color:var(--text-3); }

/* WORKFLOW BOARD */
.board { display:grid; grid-template-columns:repeat(4,minmax(18rem,1fr)); gap:.8rem; overflow:auto; padding-bottom:.2rem; }
.board-column { min-width:18rem; border-radius:var(--r-md); background:rgba(255,255,255,.018); border:1px solid var(--border-soft); }
.board-head { display:flex; justify-content:space-between; align-items:center; padding:.9rem; border-bottom:1px solid var(--border-soft); }
.board-title { font-size:.75rem; font-weight:740; }
.board-count { min-width:1.5rem; height:1.5rem; display:grid; place-items:center; border-radius:999px; color:var(--text-2); background:rgba(255,255,255,.04); font-size:.62rem; }
.board-cards { display:grid; gap:.55rem; padding:.65rem; }
.board-card { padding:.85rem; border-radius:.8rem; background:#10202f; border:1px solid var(--border-soft); box-shadow:var(--shadow-xs); }
.board-card-title { font-size:.72rem; font-weight:720; }
.board-card-copy { margin-top:.35rem; color:var(--text-2); font-size:.63rem; line-height:1.55; }
.board-card-footer { margin-top:.75rem; display:flex; align-items:center; justify-content:space-between; gap:.6rem; color:var(--text-3); font-size:.58rem; }

/* ORG DIRECTORY */
.org-grid { display:grid; grid-template-columns:repeat(4,minmax(18rem,1fr)); gap:.8rem; }
.org-card { padding:1.1rem; border-radius:var(--r-md); background:linear-gradient(155deg, rgba(19,35,52,.98), rgba(11,23,35,.98)); border:1px solid var(--border-soft); }
.org-card-top { display:flex; align-items:center; gap:.8rem; }
.org-card-icon { width:2.8rem; height:2.8rem; display:grid; place-items:center; border-radius:.85rem; color:rgb(var(--org-rgb)); background:rgba(var(--org-rgb),.1); border:1px solid rgba(var(--org-rgb),.18); }
.org-card h3 { margin:0; font-size:.92rem; }
.org-card p { margin:.2rem 0 0; color:var(--text-3); font-size:.62rem; }
.org-stats { display:grid; grid-template-columns:repeat(2,1fr); gap:.5rem; margin-top:1rem; }
.org-stat { padding:.7rem; border-radius:.7rem; background:rgba(255,255,255,.025); border:1px solid var(--border-soft); }
.org-stat span { display:block; color:var(--text-3); font-size:.56rem; text-transform:uppercase; letter-spacing:.07em; }
.org-stat strong { display:block; margin-top:.2rem; font-size:.82rem; }

/* GENERIC SPLIT */
.split-page { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(22rem,.7fr); gap:.85rem; align-items:start; }
.demo-lspd { --demo-rgb:101,161,255; }
.demo-doj { --demo-rgb:215,170,88; }
.demo-lsmd { --demo-rgb:79,212,194; }
.demo-state { --demo-rgb:170,140,255; }
.org-lspd { --org-rgb:101,161,255; }
.org-doj { --org-rgb:215,170,88; }
.org-lsmd { --org-rgb:79,212,194; }
.org-state { --org-rgb:170,140,255; }
.section-title-spaced { margin-top:1rem; }
.agencies-lower { margin-top:.9rem; }

/* FOUNDATION POLISH: DASHBOARD */
.dashboard-side-refined { align-content:start; }
.queue-panel .panel-body, .duty-panel .panel-body { padding:0; }
.queue-summary { display:grid; grid-template-columns:repeat(3,1fr); border-bottom:1px solid var(--border-soft); }
.queue-summary > div { min-height:4.7rem; display:flex; flex-direction:column; justify-content:center; padding:.8rem 1rem; border-right:1px solid var(--border-soft); }
.queue-summary > div:last-child { border-right:0; }
.queue-summary strong { font-size:1.18rem; letter-spacing:-.03em; }
.queue-summary span { margin-top:.12rem; color:var(--text-3); font-size:.58rem; text-transform:uppercase; letter-spacing:.07em; }
.queue-section + .queue-section { border-top:1px solid var(--border-soft); }
.queue-section-head { min-height:2.8rem; display:flex; align-items:center; justify-content:space-between; padding:.65rem .9rem; color:var(--text-2); font-size:.62rem; font-weight:760; text-transform:uppercase; letter-spacing:.08em; }
.queue-section-head span:last-child { min-width:1.35rem; height:1.35rem; display:grid; place-items:center; border-radius:99px; color:var(--text-3); background:rgba(255,255,255,.04); font-size:.56rem; }
.queue-row { display:grid; grid-template-columns:2rem minmax(0,1fr) auto; gap:.7rem; align-items:center; min-height:4rem; padding:.65rem .9rem; border-top:1px solid rgba(151,176,205,.065); }
.queue-row:hover { background:rgba(255,255,255,.018); }
.queue-check { width:2rem; height:2rem; display:grid; place-items:center; border-radius:.62rem; color:var(--accent-strong); background:rgba(var(--accent-rgb),.08); border:1px solid rgba(var(--accent-rgb),.13); }
.queue-title { font-size:.72rem; font-weight:720; }
.queue-meta { margin-top:.14rem; color:var(--text-3); font-size:.6rem; }
.duty-brief { padding:1rem; }
.duty-status { display:flex; align-items:center; gap:.65rem; padding-bottom:.85rem; border-bottom:1px solid var(--border-soft); }
.availability-dot { width:.55rem; height:.55rem; border-radius:50%; background:var(--success); box-shadow:0 0 14px rgba(84,215,164,.58); }
.duty-status strong, .duty-status small { display:block; }
.duty-status strong { font-size:.72rem; }
.duty-status small { margin-top:.12rem; color:var(--text-3); font-size:.6rem; }
.duty-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:.55rem; margin-top:.85rem; }
.duty-grid > div { padding:.68rem .72rem; border-radius:.7rem; background:rgba(255,255,255,.022); border:1px solid var(--border-soft); }
.duty-grid span { display:block; color:var(--text-3); font-size:.55rem; text-transform:uppercase; letter-spacing:.07em; }
.duty-grid strong { display:block; margin-top:.24rem; font-size:.68rem; }

/* FOUNDATION POLISH: PERSON CONTEXT */
.master-list-head { display:flex; align-items:center; justify-content:space-between; min-height:3.2rem; padding:.7rem .85rem; border-bottom:1px solid var(--border-soft); }
.master-list-head strong { display:block; font-size:.76rem; }
.master-list-head span { display:block; margin-top:.1rem; color:var(--text-3); font-size:.58rem; }
.context-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:.5rem; }
.context-summary > div { padding:.7rem; border-radius:.7rem; background:rgba(255,255,255,.024); border:1px solid var(--border-soft); }
.context-summary span { display:block; color:var(--text-3); font-size:.55rem; text-transform:uppercase; letter-spacing:.07em; }
.context-summary strong { display:block; margin-top:.2rem; font-size:.9rem; }
.context-note { margin:0; color:var(--text-2); font-size:.68rem; line-height:1.65; }

/* FOUNDATION POLISH: AGENCY DIRECTORY */
.agency-directory-grid { display:grid; grid-template-columns:repeat(4,minmax(18rem,1fr)); gap:.8rem; }
.agency-card { min-width:0; padding:1rem; border-radius:var(--r-md); border:1px solid var(--border-soft); background:linear-gradient(155deg, rgba(18,34,49,.96), rgba(10,21,32,.98)); text-align:left; box-shadow:var(--shadow-xs); transition:140ms ease; }
.agency-card:hover { transform:translateY(-1px); border-color:rgba(var(--org-rgb),.24); background:linear-gradient(155deg, rgba(22,40,57,.98), rgba(11,23,35,.98)); }
.agency-card.is-selected { border-color:rgba(var(--org-rgb),.38); box-shadow:inset 0 0 0 1px rgba(var(--org-rgb),.08), 0 14px 34px rgba(0,0,0,.12); background:linear-gradient(155deg, rgba(var(--org-rgb),.08), rgba(11,23,35,.98) 42%); }
.agency-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:.8rem; }
.agency-identity { display:flex; align-items:center; gap:.7rem; min-width:0; }
.agency-icon { width:2.5rem; height:2.5rem; display:grid; place-items:center; flex:0 0 auto; border-radius:.75rem; color:rgb(var(--org-rgb)); background:rgba(var(--org-rgb),.1); border:1px solid rgba(var(--org-rgb),.17); }
.agency-identity strong, .agency-identity span { display:block; }
.agency-identity strong { font-size:.78rem; }
.agency-identity span { margin-top:.1rem; color:var(--text-3); font-size:.58rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:12rem; }
.agency-card-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:.45rem; margin-top:.9rem; }
.agency-card-metrics > div { padding:.6rem; border-radius:.65rem; background:rgba(255,255,255,.022); border:1px solid var(--border-soft); }
.agency-card-metrics span, .agency-card-metrics strong { display:block; }
.agency-card-metrics span { color:var(--text-3); font-size:.53rem; text-transform:uppercase; letter-spacing:.07em; }
.agency-card-metrics strong { margin-top:.18rem; font-size:.76rem; }
.agency-services { display:flex; flex-wrap:wrap; gap:.35rem; margin-top:.75rem; }
.agency-services span { padding:.28rem .42rem; border-radius:.5rem; color:var(--text-2); background:rgba(255,255,255,.025); border:1px solid var(--border-soft); font-size:.54rem; }
.agency-card-foot { display:flex; align-items:center; justify-content:space-between; gap:.8rem; margin-top:.75rem; padding-top:.65rem; border-top:1px solid var(--border-soft); color:var(--text-3); font-size:.56rem; }
.agency-workspace { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(25rem,.65fr); gap:.85rem; margin-top:.85rem; }
.agency-detail-panel .panel-body { padding:0; }
.agency-detail-head { display:grid; grid-template-columns:3.2rem minmax(0,1fr) auto; gap:.9rem; align-items:start; padding:1rem; border-bottom:1px solid var(--border-soft); background:linear-gradient(90deg, rgba(var(--accent-rgb),.04), transparent); }
.agency-detail-icon { width:3.2rem; height:3.2rem; display:grid; place-items:center; border-radius:.9rem; color:rgb(var(--org-rgb)); background:rgba(var(--org-rgb),.1); border:1px solid rgba(var(--org-rgb),.18); }
.agency-detail-overline { color:var(--text-3); font-size:.55rem; text-transform:uppercase; letter-spacing:.08em; }
.agency-detail-head h3 { margin:.16rem 0 .18rem; font-size:1.05rem; letter-spacing:-.025em; }
.agency-detail-head p { margin:0; color:var(--text-2); font-size:.66rem; max-width:44rem; }
.agency-detail-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:.55rem; padding:.85rem 1rem; border-bottom:1px solid var(--border-soft); }
.agency-detail-grid > div { padding:.65rem; border-radius:.65rem; background:rgba(255,255,255,.022); border:1px solid var(--border-soft); }
.agency-detail-grid span, .agency-detail-grid strong { display:block; }
.agency-detail-grid span { color:var(--text-3); font-size:.53rem; text-transform:uppercase; letter-spacing:.07em; }
.agency-detail-grid strong { margin-top:.2rem; font-size:.68rem; }
.agency-responsibility { padding:1rem; }
.responsibility-list { display:grid; gap:.45rem; }
.responsibility-item { display:grid; grid-template-columns:2rem minmax(0,1fr) auto; gap:.65rem; align-items:center; padding:.65rem .7rem; border-radius:.7rem; background:rgba(255,255,255,.018); border:1px solid var(--border-soft); }
.responsibility-index { color:var(--accent-strong); font:.58rem/1 var(--font-mono); }
.responsibility-item strong, .responsibility-item div span { display:block; }
.responsibility-item strong { font-size:.67rem; }
.responsibility-item div span { margin-top:.1rem; color:var(--text-3); font-size:.56rem; }
.responsibility-state { color:#8fe5c3; font-size:.56rem; font-weight:720; }
.contacts-panel .panel-body { padding:0; }
.contact-stack { display:grid; }
.contact-row { display:grid; grid-template-columns:2.2rem minmax(0,1fr) auto; gap:.7rem; align-items:center; min-height:4.5rem; padding:.7rem .9rem; border-bottom:1px solid rgba(151,176,205,.07); }
.contact-row:last-child { border-bottom:0; }
.contact-avatar { width:2.2rem; height:2.2rem; display:grid; place-items:center; border-radius:.68rem; color:rgb(var(--org-rgb)); background:rgba(var(--org-rgb),.09); border:1px solid rgba(var(--org-rgb),.15); font-size:.64rem; font-weight:800; }
.contact-row strong, .contact-row div span { display:block; }
.contact-row strong { font-size:.68rem; }
.contact-row div span { margin-top:.1rem; color:var(--text-3); font-size:.57rem; }
.contact-tail { text-align:right; }
.contact-tail > span { margin-bottom:.24rem; }
.agency-services-panel { margin-top:.85rem; overflow:hidden; }
.agency-services-panel .panel-body { padding:0; }
.agency-service-table { max-height:26rem; }
.entity-large .avatar { width:2.8rem; height:2.8rem; }
.entity-spaced { margin-bottom:.9rem; }
.fact-grid-spaced { margin-top:.9rem; }
.split-page-wide { grid-template-columns:minmax(0,1.75fr) minmax(25rem,.65fr); }


/* UNIVERSAL RECORD FOCUS 02 */
.board-card-action { position:relative; width:100%; color:var(--text-1); text-align:left; cursor:pointer; }
.board-card-action:hover { transform:translateY(-1px); background:#13283a; border-color:rgba(var(--accent-rgb),.22); }
.board-card-open { position:absolute; top:.8rem; right:.75rem; color:var(--text-3); }
