/* ================================================================
   Silage Scale Manager — Front-End App Styles
   ================================================================ */

/* ---- Variables ---- */
:root {
  --ssm-green:      #2d7a2d;
  --ssm-green-lt:   #e8f5e8;
  --ssm-blue:       #1a5276;
  --ssm-blue-lt:    #eaf2fb;
  --ssm-amber:      #b7770d;
  --ssm-amber-lt:   #fef9e7;
  --ssm-red:        #c0392b;
  --ssm-red-lt:     #fdecea;
  --ssm-gray-50:    #f8f9fa;
  --ssm-gray-100:   #f0f2f4;
  --ssm-gray-200:   #e1e4e8;
  --ssm-gray-400:   #9aa3ad;
  --ssm-gray-600:   #5a6472;
  --ssm-gray-800:   #2c3440;
  --ssm-white:      #ffffff;
  --ssm-radius:     8px;
  --ssm-radius-sm:  4px;
  --ssm-shadow:     0 2px 8px rgba(0,0,0,.10);
  --ssm-shadow-sm:  0 1px 3px rgba(0,0,0,.07);
  --ssm-nav-h:      60px;
  --ssm-font:       -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* ---- Reset scoped to app ---- */
#ssm-app *, #ssm-app *::before, #ssm-app *::after {
  box-sizing: border-box;
}
#ssm-app {
  font-family: var(--ssm-font);
  color: var(--ssm-gray-800);
  line-height: 1.5;
  font-size: 15px;
}
#ssm-app a { color: var(--ssm-blue); text-decoration: none; }
#ssm-app a:hover { text-decoration: underline; }
#ssm-app h1,#ssm-app h2,#ssm-app h3 { margin-top:0; line-height:1.3; }
#ssm-app h1 { font-size:24px; font-weight:700; }
#ssm-app h2 { font-size:18px; font-weight:600; }
#ssm-app h3 { font-size:15px; font-weight:600; margin-bottom:8px; color:var(--ssm-blue); }

/* ================================================================
   NAV
   ================================================================ */
.ssm-nav {
  display: flex;
  align-items: center;
  background: var(--ssm-blue);
  padding: 0 16px;
  min-height: var(--ssm-nav-h);
  gap: 0;
  position: sticky;
  top: 0;
  z-index: 100;
  box-shadow: 0 2px 6px rgba(0,0,0,.18);
  flex-wrap: wrap;
}
.ssm-nav-brand {
  font-weight: 700;
  font-size: 15px;
  color: #fff;
  white-space: nowrap;
  margin-right: 16px;
  padding: 12px 0;
  flex-shrink: 0;
}
.ssm-nav-links {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 1px;
  flex: 1;
  flex-wrap: wrap;
  min-width: 0;
}
#ssm-app .ssm-nav-link,
#ssm-app .ssm-nav-links a {
  display: block;
  padding: 7px 14px;
  color: #ffffff !important;
  font-size: 14px;
  font-weight: 600;
  border-radius: var(--ssm-radius-sm);
  border: 1px solid transparent;
  transition: background .15s;
  text-decoration: none !important;
  white-space: nowrap;
  background: transparent;
  letter-spacing: .2px;
  opacity: 1 !important;
}
#ssm-app .ssm-nav-link:hover,
#ssm-app .ssm-nav-links a:hover {
  background: rgba(255,255,255,.18);
  color: #ffffff !important;
  text-decoration: none !important;
}
#ssm-app .ssm-nav-link.active,
#ssm-app .ssm-nav-links a.active {
  background: rgba(255,255,255,.22);
  color: #ffffff !important;
  font-weight: 700;
  border-color: rgba(255,255,255,.7);
}
.ssm-nav-right {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  padding: 8px 0;
}
.ssm-nav-user-link { color: rgba(255,255,255,.85); font-size:13px; white-space:nowrap; }
.ssm-nav-user-link:hover { color:#fff; text-decoration:none; }
.ssm-season-form { display:inline-flex; align-items:center; }
.ssm-season-select {
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.3);
  color: #fff;
  padding: 4px 8px;
  border-radius: var(--ssm-radius-sm);
  font-size: 13px;
  font-family: var(--ssm-font);
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}
.ssm-season-select option { background: var(--ssm-blue); color:#fff; }
.ssm-logout-btn {
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.25);
  color: rgba(255,255,255,.9);
  padding: 5px 10px;
  border-radius: 20px;
  cursor: pointer;
  font-size: 12px;
  font-family: var(--ssm-font);
  transition: background .15s;
  white-space: nowrap;
}
.ssm-logout-btn:hover { background: rgba(255,255,255,.25); }

/* ================================================================
   PAGE WRAPPER
   ================================================================ */
.ssm-page {
  max-width: 1200px;
  margin: 0 auto;
  padding: 28px 20px 60px;
}
.ssm-page-header {
  display: flex;
  align-items: baseline;
  gap: 16px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}
.ssm-page-header h1 { margin: 0; }
.ssm-page-sub { color: var(--ssm-gray-600); font-size: 14px; margin-top: 4px; }
.ssm-header-stats {
  display: flex;
  gap: 16px;
  font-size: 13px;
  color: var(--ssm-gray-600);
  margin-left: auto;
}
.ssm-header-stats span::before { content: ''; }

/* ================================================================
   ALERTS
   ================================================================ */
.ssm-alert {
  padding: 12px 16px;
  border-radius: var(--ssm-radius);
  margin-bottom: 20px;
  font-size: 14px;
  border-left: 4px solid transparent;
}
.ssm-alert-success { background: var(--ssm-green-lt); border-color: var(--ssm-green); color: #1a4a1a; }
.ssm-alert-error   { background: var(--ssm-red-lt);   border-color: var(--ssm-red);   color: #7a1010; }
.ssm-alert-info    { background: var(--ssm-blue-lt);  border-color: var(--ssm-blue);  color: #1a3a5a; }
.ssm-alert-warn    { background: var(--ssm-amber-lt); border-color: var(--ssm-amber); color: #6b4a0a; }
.ssm-notice { padding:12px 16px; background:var(--ssm-blue-lt); border-radius:var(--ssm-radius); margin-bottom:20px; }

/* ================================================================
   CARDS / BOXES
   ================================================================ */
.ssm-card-box {
  background: var(--ssm-white);
  border: 1px solid var(--ssm-gray-200);
  border-radius: var(--ssm-radius);
  padding: 24px;
  box-shadow: var(--ssm-shadow-sm);
}
.ssm-card-box h2 { margin-bottom: 16px; border-bottom: 1px solid var(--ssm-gray-100); padding-bottom: 10px; }
.ssm-mb { margin-bottom: 24px; }

/* ================================================================
   TWO-COLUMN LAYOUT
   ================================================================ */
.ssm-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: start;
  margin-bottom: 24px;
}
@media (max-width: 800px) { .ssm-two-col { grid-template-columns: 1fr; } }

/* Weigh page uses a similar grid */
.ssm-weigh-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: start;
  /* Prevent either column from growing beyond 50% */
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
}
@media (max-width: 860px) { .ssm-weigh-grid { grid-template-columns: 1fr; } }

/* ================================================================
   FORMS
   ================================================================ */
.ssm-form { }
.ssm-field { margin-bottom: 16px; }
.ssm-field label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--ssm-gray-600);
  margin-bottom: 5px;
  text-transform: uppercase;
  letter-spacing: .4px;
}
.ssm-field input[type="text"],
.ssm-field input[type="email"],
.ssm-field input[type="password"],
.ssm-field input[type="number"],
.ssm-field input[type="date"],
.ssm-field select,
.ssm-field textarea {
  width: 100%;
  padding: 9px 12px;
  border: 1.5px solid var(--ssm-gray-200);
  border-radius: var(--ssm-radius-sm);
  font-family: var(--ssm-font);
  font-size: 15px;
  color: var(--ssm-gray-800);
  background: var(--ssm-white);
  transition: border-color .15s, box-shadow .15s;
  appearance: none;
}
.ssm-field input:focus,
.ssm-field select:focus,
.ssm-field textarea:focus {
  outline: none;
  border-color: var(--ssm-blue);
  box-shadow: 0 0 0 3px rgba(26,82,118,.12);
}
.ssm-field select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M6 8L0 0h12z' fill='%239aa3ad'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 10px center; padding-right:30px; }
.ssm-input-sm { max-width: 140px !important; }
.ssm-hint { font-size:12px; color:var(--ssm-gray-400); display:block; margin-top:4px; }
.req { color: var(--ssm-red); }
.ssm-checkbox-field label { display:flex; align-items:center; gap:8px; font-size:14px; text-transform:none; letter-spacing:0; font-weight:400; color:var(--ssm-gray-800); }
.ssm-checkbox-field input[type="checkbox"] { width:auto; }
.ssm-form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media(max-width:560px) { .ssm-form-row { grid-template-columns:1fr; } }
.ssm-form-actions { display:flex; gap:10px; align-items:center; padding-top:4px; }
.ssm-divider { border:none; border-top:1px solid var(--ssm-gray-200); margin:20px 0; }

/* ================================================================
   BUTTONS
   ================================================================ */
.ssm-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 9px 20px;
  border-radius: var(--ssm-radius-sm);
  font-family: var(--ssm-font);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  border: 1.5px solid transparent;
  transition: all .15s;
  text-decoration: none;
  line-height: 1.4;
}
.ssm-btn:hover { text-decoration: none; }
.ssm-btn-primary  { background:var(--ssm-blue);  color:#fff; border-color:var(--ssm-blue); }
.ssm-btn-primary:hover  { background:#154568; }
.ssm-btn-success  { background:var(--ssm-green); color:#fff; border-color:var(--ssm-green); }
.ssm-btn-success:hover  { background:#226022; }
.ssm-btn-secondary { background:var(--ssm-gray-100); color:var(--ssm-gray-800); border-color:var(--ssm-gray-200); }
.ssm-btn-secondary:hover { background:var(--ssm-gray-200); }
.ssm-btn-ghost  { background:transparent; color:var(--ssm-gray-600); border-color:var(--ssm-gray-200); }
.ssm-btn-ghost:hover  { background:var(--ssm-gray-50); }
.ssm-btn-full { width:100%; }
.ssm-btn-lg   { padding:12px 24px; font-size:15px; }

/* ================================================================
   INLINE LINKS
   ================================================================ */
.ssm-link { font-size:13px; color:var(--ssm-blue); cursor:pointer; background:none; border:none; padding:0; font-family:var(--ssm-font); text-decoration:none; }
.ssm-link:hover { text-decoration:underline; }
.ssm-link-danger { color:var(--ssm-red); }
.ssm-link-warn   { color:var(--ssm-amber); }

/* ================================================================
   TABLES
   ================================================================ */
.ssm-table-wrap { overflow-x: auto; margin-bottom: 16px; }
.ssm-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
.ssm-table th {
  background: var(--ssm-gray-50);
  text-align: left;
  padding: 9px 12px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .5px;
  color: var(--ssm-gray-600);
  border-bottom: 2px solid var(--ssm-gray-200);
  white-space: nowrap;
}
.ssm-table td {
  padding: 9px 12px;
  border-bottom: 1px solid var(--ssm-gray-100);
  vertical-align: middle;
}
.ssm-table tbody tr:last-child td { border-bottom: none; }
.ssm-table tbody tr:hover td { background: var(--ssm-gray-50); }
.ssm-table-compact td,.ssm-table-compact th { padding:6px 10px; }
.ssm-table-sm    { font-size: 12px; }
.ssm-table-sm td,.ssm-table-sm th { padding:7px 9px; }
.ssm-totals-row td  { background:#eaf2fb !important; font-size:13px; border-top:2px solid var(--ssm-blue) !important; }
.ssm-subtotal-row td{ background:var(--ssm-gray-50)!important; font-style:italic; color:var(--ssm-gray-600); font-size:13px; }
.ssm-row-pending td { color:var(--ssm-gray-400); background:var(--ssm-amber-lt)!important; }
.ssm-pending { color:var(--ssm-amber); font-style:italic; }
.ssm-actions { white-space:nowrap; display:flex; gap:8px; align-items:center; }

/* ================================================================
   STAT GRID
   ================================================================ */
.ssm-stat-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 28px;
}
.ssm-stat-card {
  background: var(--ssm-white);
  border: 1px solid var(--ssm-gray-200);
  border-top: 4px solid var(--ssm-blue);
  border-radius: var(--ssm-radius);
  padding: 18px 22px;
  min-width: 160px;
  box-shadow: var(--ssm-shadow-sm);
  flex: 1;
}
.ssm-stat-green { border-top-color: var(--ssm-green); }
.ssm-stat-warn  { border-top-color: #e67e22; }
.ssm-stat-label { font-size:11px; font-weight:700; color:var(--ssm-gray-400); text-transform:uppercase; letter-spacing:.5px; margin-bottom:6px; }
.ssm-stat-value { font-size:28px; font-weight:800; color:var(--ssm-gray-800); line-height:1.1; }
.ssm-stat-value small { font-size:14px; font-weight:500; color:var(--ssm-gray-400); }
.ssm-stat-sub   { font-size:12px; color:var(--ssm-gray-400); margin-top:4px; }
.ssm-stat-sub a { color:var(--ssm-blue); }

/* ================================================================
   QUICK ACTIONS
   ================================================================ */
.ssm-quick-actions { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:28px; }

/* ================================================================
   SECTION
   ================================================================ */
.ssm-section { margin-top:32px; }
.ssm-section h2 { font-size:17px; margin-bottom:14px; }
.ssm-empty { text-align:center; padding:40px 20px; color:var(--ssm-gray-400); }
.ssm-empty-text { color:var(--ssm-gray-400); font-style:italic; }

/* ================================================================
   TABS
   ================================================================ */
.ssm-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 2px;
  border-bottom: 2px solid var(--ssm-gray-200);
  margin-bottom: 0;
}
.ssm-tab {
  display: block;
  padding: 10px 18px;
  font-size: 13px;
  font-weight: 600;
  color: var(--ssm-gray-600);
  text-decoration: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  transition: color .15s;
}
.ssm-tab:hover { color:var(--ssm-blue); text-decoration:none; }
.ssm-tab-active { color:var(--ssm-blue); border-bottom-color:var(--ssm-blue); }
.ssm-tab-body {
  background: var(--ssm-white);
  border: 1px solid var(--ssm-gray-200);
  border-top: none;
  border-radius: 0 0 var(--ssm-radius) var(--ssm-radius);
  padding: 28px;
  box-shadow: var(--ssm-shadow-sm);
  margin-bottom: 24px;
}

/* ================================================================
   FILTER BAR
   ================================================================ */
.ssm-filter-bar { margin-bottom:20px; }
.ssm-filter-form { display:flex; flex-wrap:wrap; gap:12px; align-items:flex-end; }
.ssm-filter-field { display:flex; flex-direction:column; gap:4px; }
.ssm-filter-field label { font-size:11px; font-weight:700; color:var(--ssm-gray-400); text-transform:uppercase; letter-spacing:.4px; }
.ssm-filter-field input,
.ssm-filter-field select {
  padding:7px 10px;
  border:1.5px solid var(--ssm-gray-200);
  border-radius:var(--ssm-radius-sm);
  font-size:14px;
  font-family:var(--ssm-font);
  background:var(--ssm-white);
  color:var(--ssm-gray-800);
}
.ssm-filter-actions { display:flex; gap:8px; }

/* ================================================================
   TARE IN / OUT HEADINGS
   ================================================================ */
.ssm-tare-in-title  { color: var(--ssm-blue); }
.ssm-tare-out-title { color: var(--ssm-green); }
.ssm-title-sub { font-size:13px; font-weight:400; color:var(--ssm-gray-400); margin-left:6px; }

/* ================================================================
   QUICK-SELECT BUTTONS
   ================================================================ */
.ssm-quick-picks  { margin-bottom:16px; }
.ssm-quick-label  { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; color:var(--ssm-gray-400); margin-bottom:6px; }

/* Scrollable row — shows ~4 buttons, scroll right for more */
.ssm-quick-scroll {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  padding-bottom: 6px;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  /* Critical: constrain to column width, never expand it */
  min-width: 0;
  width: 100%;
}
.ssm-quick-scroll::-webkit-scrollbar { height:4px; }
.ssm-quick-scroll::-webkit-scrollbar-thumb { background:var(--ssm-gray-200); border-radius:2px; }

.ssm-quick-btn {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 8px 12px;
  background: var(--ssm-blue-lt);
  border: 1.5px solid var(--ssm-blue);
  border-radius: var(--ssm-radius-sm);
  font-size: 13px;
  font-weight: 600;
  color: var(--ssm-blue);
  cursor: pointer;
  font-family: var(--ssm-font);
  transition: all .15s;
  text-align: left;
  flex-shrink: 0;
  flex-grow: 0;
  width: 130px;
  min-width: 130px;
  max-width: 130px;
  scroll-snap-align: start;
  box-sizing: border-box;
}
/* Default hover/active (no color) */
.ssm-quick-btn:hover { filter: brightness(0.88); color: inherit; }
.ssm-quick-btn.ssm-quick-active { filter: brightness(0.82); }
/* When no inline color style, use blue as default */
.ssm-quick-btn:not([style]):hover,
.ssm-quick-btn:not([style]).ssm-quick-active { background:var(--ssm-blue); color:#fff; filter:none; }
.ssm-quick-btn strong { display:block; white-space:nowrap; }
.ssm-quick-field  { display:block; font-size:11px; font-weight:400; opacity:.8; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:120px; }
.ssm-quick-driver { display:block; font-size:11px; font-weight:400; opacity:.65; }
.ssm-quick-tare   { display:block; font-size:10px; font-weight:500; color:var(--ssm-green); margin-top:2px; }
.ssm-quick-btn:hover .ssm-quick-tare { color:rgba(255,255,255,.85); }
.ssm-quick-notare { display:block; font-size:10px; color:var(--ssm-amber); font-weight:600; }
.ssm-quick-warn   { border-color:var(--ssm-amber); background:var(--ssm-amber-lt); color:var(--ssm-amber); }
.ssm-quick-warn:hover,.ssm-quick-warn.ssm-quick-active { background:var(--ssm-amber); color:#fff; }
.ssm-quick-warn:hover .ssm-quick-notare,.ssm-quick-warn.ssm-quick-active .ssm-quick-notare { color:rgba(255,255,255,.9); }
.ssm-flag-notare  { color:var(--ssm-amber); font-size:12px; font-weight:600; }
.ssm-open-load-warn { border-left-color:var(--ssm-amber) !important; background:var(--ssm-amber-lt); }
.ssm-tare-count   { font-size:11px; color:var(--ssm-gray-400); font-style:normal; margin-left:4px; }
.ssm-quick-dismiss {
  position: absolute;
  top: 3px; right: 4px;
  font-size: 13px;
  line-height: 1;
  opacity: 0;
  transition: opacity .15s;
  color: inherit;
  cursor: pointer;
  font-weight: 700;
}
.ssm-quick-btn { position: relative; }
.ssm-quick-btn:hover .ssm-quick-dismiss { opacity: .7; }
.ssm-quick-dismiss:hover { opacity: 1 !important; }

/* ================================================================
   WEIGH SECTION
   ================================================================ */
.ssm-open-load {
  background: var(--ssm-gray-50);
  border: 1px solid var(--ssm-gray-200);
  border-left: 4px solid var(--ssm-blue);
  border-radius: var(--ssm-radius);
  padding: 16px;
  margin-bottom: 16px;
}
.ssm-open-load-info { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:10px; }
.ssm-truck-badge { background:var(--ssm-blue); color:#fff; padding:3px 10px; border-radius:20px; font-size:13px; font-weight:700; }
.ssm-field-name  { font-weight:600; font-size:14px; }
.ssm-driver-name { color:var(--ssm-gray-600); font-size:13px; }
.ssm-date-badge  { color:var(--ssm-gray-400); font-size:12px; margin-left:auto; }
.ssm-open-load-weights { display:flex; gap:20px; font-size:13px; color:var(--ssm-gray-600); margin-bottom:12px; }
.ssm-wo-row { display:flex; gap:16px; align-items:flex-start; margin-bottom:10px; }
.ssm-field-inline { flex:1; min-width:0; }
.ssm-field-inline input[type="number"] { width:100%; }
.ssm-net-preview {
  min-width:120px;
  background:var(--ssm-green-lt);
  border:1px solid #b8e0b8;
  border-radius:var(--ssm-radius-sm);
  padding:8px 12px;
  text-align:center;
}
.ssm-net-label { font-size:10px; text-transform:uppercase; letter-spacing:.5px; color:var(--ssm-green); font-weight:700; }
.ssm-net-value { font-size:18px; font-weight:800; color:var(--ssm-green); line-height:1.2; }
.ssm-net-tons  { font-size:12px; color:var(--ssm-green); }
.ssm-open-load-footer { margin-top:8px; font-size:12px; }

/* ================================================================
   AUTH PAGES
   ================================================================ */
.ssm-auth-wrap {
  min-height: 70vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
}
.ssm-auth-box {
  background: var(--ssm-white);
  border: 1px solid var(--ssm-gray-200);
  border-radius: 12px;
  padding: 40px;
  width: 100%;
  max-width: 420px;
  box-shadow: var(--ssm-shadow);
}
.ssm-auth-box-wide { max-width: 560px; }
.ssm-auth-title {
  font-size: 22px;
  font-weight: 800;
  color: var(--ssm-blue);
  margin-bottom: 4px;
  text-align: center;
}
.ssm-auth-sub { text-align:center; color:var(--ssm-gray-600); font-size:14px; margin-bottom:20px; }
.ssm-auth-box h2 { text-align:center; margin-bottom:24px; }
.ssm-auth-links { text-align:center; margin-top:20px; font-size:13px; color:var(--ssm-gray-600); }
.ssm-auth-links a { color:var(--ssm-blue); }

/* ================================================================
   SETUP CHECKLIST
   ================================================================ */
.ssm-checklist { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; }
.ssm-checklist li { font-size:14px; display:flex; align-items:center; gap:8px; }
.ssm-checklist a { color:var(--ssm-gray-800); }
.ssm-count { color:var(--ssm-gray-400); font-size:12px; }
.ssm-setup-guide { position:sticky; top:calc(var(--ssm-nav-h) + 16px); }

/* ================================================================
   REPORTS
   ================================================================ */
.ssm-reports-page .ssm-card-box { border-top-left-radius:0; }
.ssm-report-filter { margin-bottom:20px; }
.ssm-report-filter select { padding:8px 32px 8px 10px; border:1.5px solid var(--ssm-gray-200); border-radius:var(--ssm-radius-sm); font-size:14px; min-width:200px; font-family:var(--ssm-font); }
.ssm-print-btn { margin-left:auto; }

/* ================================================================
   BADGES
   ================================================================ */
.ssm-badge { display:inline-block; padding:3px 10px; border-radius:20px; font-size:12px; font-weight:700; }
.ssm-badge-warn { background:var(--ssm-amber-lt); color:var(--ssm-amber); border:1px solid #f0d070; }
.ssm-season-badge { background:var(--ssm-blue-lt); color:var(--ssm-blue); padding:4px 12px; border-radius:20px; font-size:13px; font-weight:600; }

/* ================================================================
   PRINT
   ================================================================ */
@media print {
  .ssm-nav, .ssm-quick-actions, .ssm-filter-bar,
  .ssm-print-hide, .ssm-actions, .ssm-btn { display:none !important; }
  .ssm-page { padding:0; max-width:100%; }
  .ssm-stat-grid { gap:8px; }
  .ssm-stat-card { border-top:2px solid #333; box-shadow:none; }
  .ssm-table { font-size:11px; }
  .ssm-table th,.ssm-table td { padding:5px 7px; }
  .ssm-card-box { border:none; box-shadow:none; padding:0; }
  .ssm-tabs { display:none; }
  .ssm-tab-body { border:none; padding:0; }
  h3 { color:#000 !important; }
}

/* ================================================================
   RESPONSIVE NAV
   ================================================================ */
@media (max-width:720px) {
  .ssm-nav { padding:8px 12px; }
  .ssm-nav-brand { font-size:14px; margin-right:10px; }
  .ssm-nav-link { padding:6px 8px; font-size:12px; }
  .ssm-nav-right { gap:6px; }
  .ssm-stat-card { min-width:130px; }
  .ssm-weigh-grid { grid-template-columns:1fr; }
}
