/* Workbench and account pages. Business values and actions remain in their templates. */
.dashboard-page { --dashboard-line:#e4e9f0; --dashboard-muted:#586980; }
.dashboard-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:0 0 .85rem; }
.dashboard-eyebrow { margin:0 0 .4rem; color:var(--dashboard-muted); font-size:12px; font-weight:500; letter-spacing:.08em; }
.dashboard-heading h1 { margin:0; font-size:1.8rem; font-weight:650; letter-spacing:-.04em; color:#17253c; }
.dashboard-date { flex:0 0 auto; padding:.5rem .8rem; background:#fff; border:1px solid var(--dashboard-line); border-radius:.5rem; color:#586980; font-size:12px; font-variant-numeric:tabular-nums; }
.dashboard-intro { max-width:75rem; margin:0 0 1.8rem; color:var(--dashboard-muted); font-size:13px; line-height:1.8; }
.dashboard-metrics { margin-bottom:1.55rem; }
.dashboard-section-title { display:flex; align-items:center; gap:.55rem; margin:0 0 .7rem; color:#52627a; font-size:13px; font-weight:600; }
.dashboard-section-title::before { content:""; width:3px; height:.9rem; border-radius:3px; background:#3478d4; }
.dashboard-metric-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.85rem; }
.dashboard-metric-grid--production { grid-template-columns:repeat(6,minmax(0,1fr)); }
.dashboard-page .dashboard-metric { position:relative; display:flex; flex-direction:column; min-width:0; min-height:120px; gap:.85rem; margin:0; padding:1.1rem 1.2rem; border:1px solid var(--dashboard-line); border-radius:.7rem; box-shadow:0 2px 4px #15284103; background:#fff; color:#263850; text-decoration:none; transition:border-color .16s ease,box-shadow .16s ease; }
.dashboard-page .dashboard-metric:hover { border-color:#b4c9e8; box-shadow:0 4px 14px #294d7b0a; }
.dashboard-page .dashboard-metric:focus-visible { outline:3px solid #2563eb; outline-offset:3px; }
.dashboard-metric__label { padding-right:.9rem; color:#586980; font-size:13px; line-height:1.55; }
.dashboard-metric__value { margin-top:auto; color:#1b304b; font-size:2rem; line-height:1; font-weight:650; letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
.dashboard-metric__arrow { position:absolute; top:1.05rem; right:1rem; color:#a0adbf; font-size:.85rem; }
.dashboard-page .dashboard-metric.warning { border-color:#ebdfc8; background:#fffdfa; }
.dashboard-metric.warning .dashboard-metric__value { color:#ae741b; }
.dashboard-page .dashboard-metric.danger { border-color:#ebd7d7; background:#fffcfc; }
.dashboard-metric.danger .dashboard-metric__value { color:#ba4e4e; }
.dashboard-metric-grid--compact .dashboard-metric { min-height:112px; }
.dashboard-metric-grid--compact .dashboard-metric__value { font-size:1.75rem; }
.dashboard-page .dashboard-panel { margin-bottom:1.1rem; padding:1.2rem 1.35rem; border:1px solid var(--dashboard-line); border-radius:.7rem; box-shadow:0 2px 4px #15284103; }
.dashboard-panel__heading { display:flex; align-items:center; justify-content:space-between; gap:.75rem; margin-bottom:1rem; }
.dashboard-panel__heading h2 { margin:0; color:#2c3d55; font-size:15px; font-weight:600; }
.dashboard-panel__heading h2.warning { color:#8f6b2b; }
.dashboard-panel__heading h2.errorlist { color:#a34d4d; }
.dashboard-tag { flex:0 0 auto; padding:.2rem .5rem; border:1px solid #e7ebf1; border-radius:.35rem; background:#f7f9fc; color:#586980; font-size:12px; line-height:1.4; }
.dashboard-tag--warning { border-color:#f0e4c9; background:#fffbf3; color:#85611f; }
.dashboard-tag--danger { border-color:#f0dede; background:#fff7f7; color:#b42332; }
.dashboard-panel__description { margin:.4rem 0 1rem; color:var(--dashboard-muted); font-size:13px; line-height:1.7; }
.dashboard-history-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem 1.5rem; padding-top:.4rem; }
.dashboard-history-grid p { margin:0; color:#394b65; font-size:13px; line-height:1.9; overflow-wrap:anywhere; }
.dashboard-history-grid strong { color:var(--dashboard-muted); font-size:12px; font-weight:400; }
.dashboard-page .dashboard-empty { padding:1.35rem .8rem; margin:0; color:#65758b; font-size:13px; text-align:center; }
.dashboard-panel table { font-size:13px; }
.dashboard-panel th { background:#f7f9fc; color:#586980; font-size:12px; font-weight:500; }
.dashboard-panel th,.dashboard-panel td { padding:.8rem .85rem; border-bottom:1px solid #edf0f5; }
.dashboard-panel tbody tr:last-child td { border-bottom:0; }
.dashboard-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.1rem; }
.dashboard-record-list { margin:0; padding:0; list-style:none; font-size:13px; line-height:1.7; color:#586980; }
.dashboard-record-list li { padding:.7rem 0; border-top:1px solid #edf0f5; overflow-wrap:anywhere; }
.dashboard-history-counts { color:#596a83; font-size:13px; }

.auth-layout { display:flex; align-items:center; justify-content:center; min-height:calc(100vh - 190px); padding:1.25rem 0 1.75rem; }
.auth-layout--long { align-items:flex-start; padding-top:1.6rem; }
.auth-layout .auth-panel { width:100%; max-width:420px; margin:0; padding:1.75rem 2.1rem 1.5rem; border:1px solid #e1e7f0; border-radius:1rem; background:#fff; box-shadow:0 14px 45px #1f3b6208; }
.auth-panel h1 { margin:0 0 .85rem; color:#1d304a; font-size:1.6rem; font-weight:650; letter-spacing:-.035em; }
.auth-mark { display:flex; gap:4px; align-items:flex-end; width:38px; height:36px; margin:0 0 1.4rem; padding:8px; background:#edf4ff; border:1px solid #dceaff; border-radius:9px; }
.auth-mark span { width:5px; border-radius:2px; background:#2563eb; height:12px; }
.auth-mark span:nth-child(2) { height:19px; }
.auth-mark span:nth-child(3) { height:15px; }
.auth-eyebrow { margin:0 0 .55rem; color:#65758b; font-size:12px; font-weight:500; letter-spacing:.08em; }
.auth-description { margin:0 0 1.7rem; color:#586980; font-size:13px; line-height:1.85; }
.auth-form { margin-top:1.45rem; }
.auth-form > p { display:flex; flex-direction:column; gap:.45rem; margin:0 0 1.15rem; }
.auth-form label { color:#42536b; font-size:13px; font-weight:500; }
.auth-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),.auth-form select,.auth-form textarea,.auth-reset-link { width:100%; min-width:0; min-height:42px; padding:.65rem .8rem; border:1px solid #dce3ed; border-radius:.45rem; background:#fbfcfe; color:#263b56; font:inherit; font-size:13px; transition:border-color .15s ease,box-shadow .15s ease; }
.auth-form input:focus-visible,.auth-form select:focus-visible,.auth-form textarea:focus-visible,.auth-reset-link:focus-visible { border-color:#2563eb; outline:2px solid #2563eb; outline-offset:2px; }
.auth-form button { width:100%; min-height:43px; margin-top:.4rem; border:1px solid #2563eb; border-radius:.45rem; background:#2563eb; color:#fff; font-size:13px; font-weight:500; box-shadow:0 2px 4px #2160b01a; }
.auth-form button:hover { background:#1d4ed8; border-color:#1d4ed8; }
.auth-form button:focus-visible { outline:3px solid #2563eb; outline-offset:3px; }
.auth-form small,.auth-form .helptext,.auth-form .helptext li { color:#586980; font-size:12px; line-height:1.65; }
.auth-form .helptext ul { margin:.25rem 0; padding-left:1.1rem; }
.auth-form .errorlist { margin:.3rem 0 .7rem; padding-left:1.1rem; font-size:13px; line-height:1.7; }
.auth-form .message.error { padding:.6rem .75rem; border:1px solid #f0dede; border-radius:.45rem; background:#fff8f8; }
.auth-footer { padding-top:1.25rem; margin:1.5rem 0 0; border-top:1px solid #edf0f5; text-align:center; font-size:13px; }
.auth-footer a { color:#4276b8; text-decoration:none; }
.auth-footer a:hover { text-decoration:underline; }
.auth-footer span { margin-left:.3rem; }
.auth-panel--status { text-align:center; }
.auth-panel--status h1 { font-size:1.3rem; line-height:1.5; }
.auth-state { display:flex; align-items:center; justify-content:center; width:46px; height:46px; margin:0 auto 1.2rem; border-radius:50%; background:#edf4ff; color:#4f80bc; font-size:1.5rem; line-height:1; font-weight:600; }
.auth-state--warning { background:#fff6e7; color:#b18642; font-size:1.15rem; }
.auth-layout .auth-panel--wide { max-width:520px; }
.auth-reset-link { font-size:13px; }
@media (max-width:1150px) {
  .dashboard-metric-grid--production { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .dashboard-metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dashboard-history-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dashboard-detail-grid { grid-template-columns:minmax(0,1fr); gap:0; }
  .dashboard-panel__heading { align-items:flex-start; }
  .dashboard-panel__heading h2 { line-height:1.55; }
  .dashboard-intro { font-size:13px; }
  .dashboard-heading h1 { font-size:1.55rem; }
  .dashboard-date { padding:.4rem .55rem; font-size:12px; }
  .dashboard-page .dashboard-panel { padding:1rem; }
  .dashboard-page .dashboard-metric { padding:1rem; }
  .dashboard-metric__label { font-size:13px; }
  .dashboard-metric__value { font-size:1.8rem; }
  .auth-layout { padding:1rem .25rem 2rem; min-height:calc(100vh - 170px); }
  .auth-layout .auth-panel { padding:1.8rem 1.5rem 1.4rem; }
}
@media (prefers-reduced-motion:reduce) {
  .dashboard-page .dashboard-metric,.auth-form input,.auth-form select,.auth-form textarea,.auth-reset-link { transition:none; }
}
