/* Shared dashboard vocabulary. No data, actions or navigation are hidden. */
:root{--ops-canvas:#f5f6f8;--ops-surface:#fff;--ops-ink:#202629;--ops-muted:#5c646b;--ops-line:#dce1e5;--ops-pink:#ff4fca;--ops-lime:#d4ff51;--ops-cyan:#00e5ff}
body{background:var(--ops-canvas);color:var(--ops-ink);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}
body .topbar{background:var(--ops-surface);border-bottom:1px solid var(--ops-line);box-shadow:none;gap:12px}
body .logo,body .logo span{font-weight:650;letter-spacing:.015em}body .logo span{background:var(--ops-pink);color:var(--ops-ink)}
body :is(.section,.card,.biz-card,.person-card,.today-block,.modal,.dialog,.profile-panel){border-color:var(--ops-line);background:var(--ops-surface);box-shadow:none}
body :is(.page-title,.org-title){font-weight:650;letter-spacing:-.025em}
body :is(button,input,select,textarea){font-family:inherit;font-size:14px}body :is(button,select,input:not([type=checkbox]):not([type=radio]),.btn,.back-btn,.logout){min-height:44px}
body :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #12658a;outline-offset:3px}
body :is(.nav-item[aria-current=page],.tab.active){background:var(--ops-lime);color:var(--ops-ink)}
body :is(.modal,.dialog){max-height:88dvh;overflow:auto}body dialog{color:var(--ops-ink)}
body :is(th,td){font-variant-numeric:tabular-nums}body :is(.section-title,h2){text-wrap:balance}
body :is(.muted,.page-sub){color:var(--ops-muted)}
@media(max-width:640px){
 body .topbar{padding:12px 16px;flex-wrap:wrap}body .topbar-right{flex-wrap:wrap;gap:8px;min-width:0}
 body :is(.content,.screen){min-width:0}body .content{padding-left:16px;padding-right:16px}
 body :is(.modal,.dialog){max-width:calc(100vw - 24px)}
 body :is(.section,.table-wrap){overflow-x:auto}body :is(.section-header,.bar,.filters,.toolbar){flex-wrap:wrap;gap:8px}
 body :is(.modal-btns,.dialog-foot){flex-wrap:wrap}body .modal .perms-check label{white-space:normal}
 body :is(.action-btn,.add-btn,.btn-save,.btn-cancel){min-height:44px}
}
/* Editors and populated records share the same quiet surface vocabulary. */
body :is(.modal,.dialog,#profile-panel){border:1px solid var(--ops-line);background:var(--ops-surface);box-shadow:none;color:var(--ops-ink);overscroll-behavior:contain}
body .modal-overlay{background:rgba(32,38,41,.32);padding:12px}
body .modal{width:480px;padding:24px;max-height:calc(100dvh - 24px);overflow-y:auto}
body .dialog{max-height:calc(100dvh - 24px);overflow:hidden}
body .dialog-body{min-height:0;overflow-y:auto;overscroll-behavior:contain}
body :is(.dialog-head,.dialog-foot){flex-shrink:0;border-color:var(--ops-line)}
body :is(.modal label,.field-label,.pp-section-label){color:var(--ops-muted)}
body :is(.modal input,.modal select,.modal textarea){background:var(--ops-surface);border:1px solid var(--ops-line);color:var(--ops-ink)}
body :is(button,.btn){min-width:44px}
body :is(.status-btn.active,.cal-toggle.active){background:var(--ops-lime);border-color:var(--ops-line);color:var(--ops-ink)}
body :is(.kb-col,.detail-field,.detail-desc,.pp-notes){background:var(--ops-canvas)!important;border:1px solid var(--ops-line);color:var(--ops-ink)}
body .kb-col{min-width:0;border-radius:10px}
body :is(.kb-col-title,.kb-card-meta){color:var(--ops-muted)}
body .kb-col-count{background:var(--ops-cyan);color:var(--ops-ink);border-radius:4px;padding:1px 6px}
body .kb-card{border:1px solid var(--ops-line);box-shadow:none;background:var(--ops-surface);overflow-wrap:anywhere;min-height:44px}
body :is(.modal-btns,.dialog-foot){gap:8px}
body :is(.scope-row,.perms-check label,.notice label.row){min-height:44px;padding:10px 12px;accent-color:#12658a}
body .notice label.row{border-bottom:1px solid var(--ops-line);color:var(--ops-ink)}
body [data-connector] > div:not(.section-header){padding:12px 16px}
body .section > p{padding:12px 16px}
body :is(.record-detail,.approval-detail,.document-fields,.pp-body){overflow-wrap:anywhere}
body :is(.err.show,.gps-msg.err){color:#923038;background:#fff1f1;border:1px solid #eacbcd;border-radius:8px;padding:12px;line-height:1.5}
body:has(form[action="/auth/login"]) .card{max-width:calc(100vw - 32px);padding:32px}
body:has(form[action="/auth/login"]) button,body :is(.submit-btn,.load-btn){background:#12658a;color:white;border-color:#12658a}
body :is(.matrix-wrap,.table-wrap){max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
@media(max-width:640px){
 body .modal{padding:20px;width:100%;max-width:100%}
 body .dialog{max-width:100%;border-radius:12px}
 body .dialog-head{padding:14px;gap:8px}body .dialog-body{padding:8px 14px 14px}
 body .dialog-head h2{overflow-wrap:anywhere}body .dialog-head button{flex:none}
 body #profile-panel{height:100dvh;max-width:100vw}
 body :is(.detail-fields,.modal .form-row){grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
