/* Palette extracted from the 3K PDF header (app/templates/pdf/img/header_3k.png):
   teal #409a8f, bright teal #2fb8a5, light teal #5db2a6, graphite #606161.
   Darker teal shades are derived so white text meets WCAG AA (≥4.5:1). */
:root{
  --teal:#409a8f; --teal-bright:#2fb8a5; --teal-light:#5db2a6; --graphite:#606161;
  --primary:#287068;      /* buttons, nav, table headers — white text 5.8:1 */
  --primary-hover:#1f5e57;/* 7.5:1 */
  --link:#287068; --text:#2f3333; --muted:#606161; --border:#cfd8d6;
  --bg:#f3f7f6; --surface:#fff; --tint:#e8f4f2; --tint-strong:#cfeae6; --focus:#2fb8a5;
  --danger:#b3261e;
}
*{box-sizing:border-box}body{margin:0;font:14px/1.45 system-ui,sans-serif;background:var(--bg);color:var(--text)}
a{color:var(--link)}a:hover{color:var(--primary-hover)}
nav{display:flex;gap:14px;align-items:center;background:var(--primary);color:#fff;padding:10px 20px;border-bottom:3px solid var(--teal-bright)}
nav a{color:#fff;text-decoration:none;padding:2px 0;border-bottom:2px solid transparent}nav a:hover{color:#fff;border-bottom-color:var(--teal-bright)}
.logo{color:#fff;letter-spacing:.3px}.sp{flex:1}
main{max-width:1200px;margin:20px auto;padding:0 16px}h1,h2{color:var(--primary)}
table{width:100%;border-collapse:collapse;background:var(--surface)}th{background:var(--primary);color:#fff;text-align:left;font-weight:600}
th,td{padding:6px 8px;border-bottom:1px solid var(--border);vertical-align:top}tbody tr:hover td,table tr:hover td{background:#f7fbfa}
.r{text-align:right}.muted{color:var(--muted);font-size:.9em}.err{color:var(--danger)}
.card{background:var(--surface);border-radius:8px;padding:14px 18px;margin:12px 0;box-shadow:0 1px 3px #0001;border-top:3px solid var(--teal)}.narrow{max-width:520px}
label{display:block;margin:6px 0}label input,label select,label textarea{display:block;width:100%;padding:6px;margin-top:2px}
input,select,textarea,button{font:inherit;padding:5px 8px;border:1px solid var(--border);border-radius:5px;background:#fff;color:var(--text)}
input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:1px;border-color:var(--teal)}
button,.btn{cursor:pointer;background:#fff;text-decoration:none;color:var(--primary);display:inline-block;border:1px solid var(--teal);border-radius:5px;padding:5px 10px}
button:hover,.btn:hover{background:var(--tint);color:var(--primary-hover)}
.pri,button.pri,.btn.pri{background:var(--primary);color:#fff;border-color:var(--primary)}.pri:hover,.btn.pri:hover{background:var(--primary-hover);color:#fff}
button:disabled{opacity:.45;cursor:default}.big{padding:10px 24px;font-size:1.1em}
.row,.filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0}.filters label{display:flex;gap:4px;align-items:center}.filters label input{width:auto}.inl{display:inline}
nav button{background:transparent;color:#fff;border-color:#ffffff99}nav button:hover{background:var(--primary-hover);color:#fff}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tag{display:inline-block;background:var(--tint);color:var(--primary-hover);border:1px solid var(--tint-strong);padding:2px 8px;border-radius:4px;margin:4px 0;font-size:.9em}
.dd div{padding:5px 8px;border-bottom:1px solid var(--border);cursor:pointer;background:#fff}.dd div:hover{background:var(--tint)}
.totals{width:50%;margin-left:auto;margin-top:8px}.totals td{border:none}
/* product pop-up */
dialog{width:min(1000px,95vw);border:none;border-top:4px solid var(--teal-bright);border-radius:8px;box-shadow:0 10px 40px #0004;padding:14px 18px}
dialog::backdrop{background:#1f5e5799}.picktbl tbody tr:hover td{background:var(--tint)}
/* date picker */
.bgcal{position:absolute;z-index:1000;background:#fff;border:1px solid var(--border);border-top:3px solid var(--teal-bright);border-radius:6px;padding:6px;box-shadow:0 6px 20px #0003}
.bgcal-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;color:var(--primary)}
.bgcal th{background:none;color:var(--muted)}.bgcal td,.bgcal th{padding:1px;border:none;text-align:center;font-size:12px}
.bgcal td button{width:30px;padding:3px 0;border:none;background:var(--bg);color:var(--text)}.bgcal td button:hover{background:var(--tint-strong)}
.bgcal td button.on{background:var(--primary);color:#fff}.bgcal-btn{padding:4px 6px;margin-left:3px}
label input.bgdate{display:inline-block;width:auto}

button.danger,.btn.danger{color:#b3261e;border-color:#b3261e}button.danger:hover{background:#fbeceb;color:#8c1d18}button.small{padding:1px 6px}
