/* Locke Prime operator shell rewrite
   Build: 2026-03-27T12:00:00-04:00
   Author: Randy Vickers
*/

:root{
  --op-bg:var(--bg,#F5F6F8);
  --op-surface:var(--surface,#FFFFFF);
  --op-surface-2:var(--surface2,#F7F8FA);
  --op-surface-3:var(--surface3,#EEF1F5);
  --op-border:var(--border,#E1E5EA);
  --op-border-strong:var(--border2,#CBD3DD);
  --op-navy:var(--text,#172033);
  --op-navy-2:var(--bg,#F8F9FB);
  --op-gold:var(--gold,#B88A2E);
  --op-gold-2:var(--gold2,#C99A3E);
  --op-text:var(--text,#172033);
  --op-muted:var(--text-muted,#7A8493);
  --op-muted-2:var(--text-faint,#9AA3AF);
  --op-ok:var(--ok,#2F8F5B);
  --op-warn:var(--warn,#B7791F);
  --op-bad:var(--bad,#C94343);
  --op-shadow:var(--shadow,0 4px 12px rgba(20,32,51,.06));
}

html,body{
  font-size:16px !important;
  line-height:1.45;
}

body[class*="page-"]{
  background:var(--op-bg) !important;
  color:var(--op-text) !important;
}

body[class*="page-"] .main{
  overflow:hidden !important;
}

body[class*="page-"] .topbar,
body:not([class]) .topbar{
  min-height:68px !important;
  height:68px !important;
  padding:0 24px !important;
  gap:12px !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
}

body[class*="page-"] .page-head .greeting h1,
body[class*="page-"] .greeting h1,
body:not([class]) .page-head .greeting h1,
body:not([class]) .greeting h1{
  font-family:"Times New Roman", Times, serif !important;
  font-size:var(--page-title-size, 44px) !important;
  font-weight:700 !important;
  color:var(--text) !important;
  line-height:1.05 !important;
  letter-spacing:0 !important;
}

body[class*="page-"] .title,
body[class*="page-"] .topbar-title,
body[class*="page-"] .page-title,
body[class*="page-"] .op-title,
body:not([class]) .title,
body:not([class]) .topbar-title,
body:not([class]) .page-title,
body:not([class]) .op-title{
  font-family:"Times New Roman", Times, serif !important;
  font-size:var(--page-title-size, 44px) !important;
  font-weight:700 !important;
  color:var(--text) !important;
  line-height:1.05 !important;
  letter-spacing:0 !important;
}

body[class*="page-"] .btn,
body[class*="page-"] .viewbtn,
body[class*="page-"] .tab{
  font-size:12px !important;
  min-height:34px !important;
  padding:8px 12px !important;
  border-radius:8px !important;
}

body[class*="page-"] .topbar .btn,
body:not([class]) .topbar .btn{
  min-height:30px !important;
  height:30px !important;
  padding:0 10px !important;
  border-radius:6px !important;
  font-size:12px !important;
  font-weight:700 !important;
}

body[class*="page-"] .pill,
body[class*="page-"] .badge,
body[class*="page-"] .tag,
body[class*="page-"] .phase-badge,
body[class*="page-"] .alert-chip,
body[class*="page-"] .chip{
  font-size:.82rem !important;
}

body[class*="page-"] .content,
body[class*="page-"] .panel,
body[class*="page-"] .list-wrap,
body[class*="page-"] .calwrap,
body[class*="page-"] .weekwrap,
body[class*="page-"] .listwrap{
  overflow:auto !important;
  padding:24px !important;
}

body[class*="page-"] .card,
body[class*="page-"] .mcard,
body[class*="page-"] .calgrid,
body[class*="page-"] .weekgrid{
  border-radius:16px !important;
  box-shadow:var(--op-shadow) !important;
}

body[class*="page-"] .ch,
body[class*="page-"] .head{
  padding:16px 18px !important;
}

body[class*="page-"] .ch .h,
body[class*="page-"] .h,
body[class*="page-"] .head h2,
body[class*="page-"] .head h3{
  font-size:1.35rem !important;
  font-weight:900 !important;
  letter-spacing:normal !important;
  text-transform:none !important;
  color:var(--op-navy) !important;
}

body[class*="page-"] .cb,
body[class*="page-"] .body,
body[class*="page-"] .mbody{
  padding:18px !important;
}

body[class*="page-"] label,
body[class*="page-"] .field label{
  font-size:.85rem !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
}

body[class*="page-"] input,
body[class*="page-"] select,
body[class*="page-"] textarea,
body[class*="page-"] .fsel,
body[class*="page-"] .search-wrap input,
body[class*="page-"] .field input,
body[class*="page-"] .field select,
body[class*="page-"] .field textarea,
body[class*="page-"] .input select,
body[class*="page-"] .input input{
  font-size:1rem !important;
  min-height:48px !important;
  padding:10px 12px !important;
}

body[class*="page-"] textarea{
  line-height:1.55 !important;
}

body[class*="page-"] .input{
  min-height:50px !important;
  padding:8px 12px !important;
}

body[class*="page-"] .mono,
body[class*="page-"] td.mono,
body[class*="page-"] .tiny{
  font-size:.9rem !important;
}

body[class*="page-"] th,
body[class*="page-"] td{
  font-size:.98rem !important;
  padding:12px 14px !important;
}

body[class*="page-"] th{
  font-size:.78rem !important;
  letter-spacing:.12em !important;
}

body[class*="page-"] .kpi,
body[class*="page-"] .kpi-strip,
body[class*="page-"] .kpibar{
  gap:12px !important;
}

body[class*="page-"] .knum,
body[class*="page-"] .kpi-num,
body[class*="page-"] .n,
body[class*="page-"] .kn{
  font-size:2rem !important;
}

body[class*="page-"] .klab,
body[class*="page-"] .kpi-label,
body[class*="page-"] .l{
  font-size:.82rem !important;
  letter-spacing:.12em !important;
}

body[class*="page-"] .search-wrap{
  max-width:none !important;
}

body.page-case-advisor textarea#txt-input{
  min-height:48vh !important;
  height:auto !important;
}

body.page-case-advisor .grid{
  gap:18px !important;
}

body.page-boardroom .main{
  padding:0 !important;
}

body.page-boardroom .topbar{
  margin-bottom:0 !important;
}

body.page-boardroom .main > .topbar + *{
  padding:24px !important;
}

body.page-boardroom .grid{
  grid-template-columns:320px minmax(0,1fr) 380px !important;
  gap:18px !important;
}

body.page-boardroom .role-grid{
  grid-template-columns:repeat(4,minmax(180px,1fr)) !important;
  gap:12px !important;
}

body.page-boardroom .toolbar{
  grid-template-columns:repeat(4,minmax(180px,1fr)) !important;
}

body.page-boardroom .version-grid{
  grid-template-columns:1.1fr 1fr 1fr !important;
  gap:14px !important;
}

body.page-boardroom .field textarea,
body.page-boardroom .pane textarea{
  min-height:280px !important;
}

body.page-boardroom .quick-prompts{
  gap:10px !important;
}

body.page-boardroom .quick-prompts button{
  min-height:40px !important;
  font-size:.95rem !important;
}

body.page-dashboard .content{
  display:grid !important;
  gap:18px !important;
}

body.page-contracts .list-wrap,
body.page-calendar .calwrap,
body.page-calendar .weekwrap,
body.page-calendar .listwrap,
body.page-admin .panel,
body.page-matters .content{
  padding-top:18px !important;
}

body.page-documents .content{
  max-width:none !important;
  width:auto !important;
  margin:0 !important;
}

body.page-documents .page-status-ready{
  display:none !important;
}

@media (max-width: 1200px){
  body.page-boardroom .grid,
  body.page-boardroom .role-grid,
  body.page-boardroom .toolbar,
  body.page-boardroom .version-grid{
    grid-template-columns:1fr !important;
  }
}
