body {
  margin: 0;
  font-family: Arial, sans-serif;
  background: #f5f6f8;
  color: #1f2937;
}

.layout {
  display: flex;
  min-height: 100vh;
}

.sidebar {
  width: 290px;
  background: #1f2937;
  color: white;
  padding: 18px;
  box-sizing: border-box;
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
}

.logo-link { display:block; text-decoration:none; }
.logo { text-align:center; margin-bottom: 10px; }
.logo img { width: 210px; height: auto; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,.2); }
.brand-subtitle { text-align:center; font-size: 13px; opacity: .8; margin-bottom: 16px; }
.top-link, .accordion summary, .accordion a {
  display:block;
  color:white;
  text-decoration:none;
  padding: 10px 12px;
  border-radius: 8px;
}
.top-link { background: rgba(255,255,255,0.08); margin-bottom: 10px; }
.accordion { margin-bottom: 10px; background: rgba(255,255,255,0.04); border-radius: 10px; }
.accordion summary { cursor: pointer; font-weight: bold; list-style: none; }
.accordion summary::-webkit-details-marker { display:none; }
.accordion[open] summary { background: rgba(255,255,255,0.10); }
.accordion-links { display:flex; flex-direction:column; padding: 4px 6px 8px; }
.accordion a:hover, .top-link:hover, .accordion summary:hover { background: rgba(255,255,255,0.12); }
.sidebar-note { font-size: 12px; opacity: .8; margin-top: 14px; line-height: 1.4; }

.content {
  flex: 1;
  padding: 24px;
}

h1,h2,h3 { margin-top: 0; }
.page-head.split { display:flex; justify-content:space-between; align-items:flex-start; gap: 20px; }
.grid { display:grid; gap: 20px; }
.grid.two { grid-template-columns: 1fr 1fr; }
.grid.five { grid-template-columns: repeat(5, minmax(160px, 1fr)); }
.grid.two.compact { gap: 12px; }
.overhead-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.final-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.toolbar, .inline-form { display:flex; flex-wrap:wrap; gap: 14px; align-items:flex-end; }
.toolbar.grid.five { display:grid; grid-template-columns: repeat(3, minmax(180px,1fr)); }
.toolbar-actions { display:flex; gap:10px; align-items:center; margin-top: 8px; }
.cards, .card-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(180px,1fr)); gap: 14px; margin: 18px 0; }
.card, .panel {
  background:white;
  border-radius: 12px;
  padding: 18px;
  box-shadow: 0 2px 8px rgba(15,23,42,.05);
}
.panel.soft { background:#fbfbfd; }
.big { font-size: 1.2rem; font-weight: bold; }
.stats { display:grid; gap: 8px; }
.warning-panel { border-left: 4px solid #f59e0b; }
.warning-list { color:#92400e; }
.muted { color:#6b7280; }
.status-pill { display:inline-block; padding:8px 12px; border-radius:999px; font-weight:bold; margin-top:10px; }
.status-pill.pass { background:#dcfce7; color:#166534; }
.status-pill.hold { background:#fee2e2; color:#991b1b; }
.status-pill.pending { background:#e5e7eb; color:#374151; }

label { display:flex; flex-direction:column; gap: 6px; font-weight: 600; }
label.stacked { display:block; }
input, select, textarea, button {
  font: inherit;
}
input, select, textarea {
  padding: 10px 12px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  background:white;
}
textarea { width: 100%; box-sizing:border-box; }
button, .button-link {
  display:inline-block;
  background:#1f2937;
  color:white;
  border:none;
  border-radius:8px;
  padding: 10px 14px;
  text-decoration:none;
  cursor:pointer;
}
.warn-btn { background:#b45309; }

table {
  width: 100%;
  border-collapse: collapse;
  background: white;
  overflow: hidden;
  border-radius: 10px;
}
th, td {
  border-bottom: 1px solid #e5e7eb;
  padding: 10px;
  text-align: left;
  vertical-align: top;
}
tr.stock-low { background:#fffbeb; }
tr.stock-out { background:#fef2f2; }

.flash {
  padding: 12px;
  border-radius: 8px;
  margin-bottom: 12px;
}
.flash-success { background: #dcfce7; }
.flash-danger { background: #fee2e2; }
.flash-warning { background: #fef3c7; }

.ingredient-block { border:1px solid #e5e7eb; border-radius:10px; padding:12px; margin-bottom:12px; }
.ingredient-head { display:grid; grid-template-columns: 2fr 1fr 1.2fr; gap:10px; margin-bottom:10px; }
.lot-rows { display:grid; gap:8px; }
.lot-row { display:grid; grid-template-columns: 2fr 1fr; gap:10px; }
.check-grid { display:grid; gap:10px; }
.large-checks label { background:#f8fafc; padding:10px 12px; border-radius:8px; }
.large-checks input { margin-right:8px; }
.print-hide { }

@media (max-width: 1100px) {
  .layout { flex-direction: column; }
  .sidebar { width: 100%; height: auto; position: static; }
  .grid.two, .overhead-grid, .final-grid, .toolbar.grid.five { grid-template-columns: 1fr; }
  .ingredient-head, .lot-row { grid-template-columns: 1fr; }
}

@media print {
  .sidebar, .print-hide, .toolbar-actions { display:none !important; }
  .layout { display:block; }
  .content { padding:0; }
  .panel, .card { box-shadow:none; border:1px solid #ddd; }
}

.hero-panel { margin-bottom: 18px; }
.section-head { margin-bottom: 12px; }
.dashboard-grid { display:grid; grid-template-columns: repeat(2, minmax(280px,1fr)); gap: 16px; }
.compact-number { margin-bottom: 10px; }
.queue-widget-row { display:flex; justify-content:space-between; gap:10px; padding:8px 0; border-bottom:1px solid #eef2f7; }
.queue-widget-row:last-child { border-bottom:none; }

.weekly-board { overflow-x:auto; }
.weekly-grid { display:grid; gap:10px; align-items:start; }
.weekly-grid.schedule-grid { grid-template-columns: 120px repeat(5, minmax(150px, 1fr)) 82px 82px; }
.corner-header, .day-header, .lane-title { background:#eef2f7; border-radius:10px; padding:12px; font-weight:700; }
.day-header span { font-size:12px; color:#6b7280; }
.lane-title { min-height:72px; display:flex; align-items:center; font-size:13px; }
.day-cell { min-height:88px; background:#f8fafc; border:2px dashed #dbe4ee; border-radius:12px; padding:6px; display:flex; flex-direction:column; gap:5px; }
.day-cell.weekend, .day-header.weekend { font-size: 0.92em; }
.day-header.weekend { background:#f4f7fb; }
.day-cell.drag-over { border-color:#2563eb; background:#eff6ff; }
.drop-note, .empty-note { font-size:12px; color:#94a3b8; }
.schedule-card, .queue-card { background:white; border-radius:10px; padding:7px 8px; box-shadow:0 2px 8px rgba(15,23,42,.06); border:1px solid #e5e7eb; }
.compact-card { padding:5px 7px; }
.compact-line { font-size:11px; line-height:1.15; }
.small-line { font-size:11px; line-height:1.15; }
.schedule-card.mini { box-shadow:none; border:1px solid #e5e7eb; }
.schedule-title { font-weight:700; margin-bottom:2px; }
.schedule-actions { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-top:8px; }
.inline-btn-form { display:flex; gap:4px; }
.inline-btn-form button, .button-link.tiny, .button-link.small { padding:6px 10px; font-size:12px; }
.queue-stack { display:flex; flex-direction:column; gap:12px; }
.queue-top { display:flex; justify-content:space-between; gap:8px; align-items:center; }
.queue-product { font-weight:700; margin:6px 0 4px; }
.queue-inline-fields { display:grid; grid-template-columns: 1fr 1fr; gap:8px; margin:10px 0; }
.compact-fields { margin:6px 0 2px; }
.compact-fields label { font-size:12px; }
.queue-summary-line { font-size:12px; line-height:1.25; }
.queue-expand summary { cursor:pointer; color:#2563eb; font-size:12px; }
.detail-pad { padding-top:4px; }
.queue-inline-fields label { font-size:13px; }
.queue-inline-fields input { padding:8px 10px; }
.queue-actions { margin-top:8px; }
.pill { display:inline-block; padding:4px 8px; border-radius:999px; font-size:12px; font-weight:700; background:#e5e7eb; }
.pill.kettle { background:#dbeafe; color:#1d4ed8; }
.pill.herbort { background:#dcfce7; color:#166534; }
.pill.powder-/-other { background:#fef3c7; color:#92400e; }
.schedule-layout { align-items:start; }
.info-columns .panel { margin-top: 0; }
.static-cell { min-height:100px; }
.day-cell .schedule-card { align-self:stretch; }

@media (max-width: 1100px) {
  .dashboard-grid { grid-template-columns: 1fr; }
  .weekly-grid.schedule-grid { grid-template-columns: 110px repeat(5, minmax(135px, 1fr)) 76px 76px; }
}

.compact-bold { font-size: 11px; font-weight: 700; }
.compact-micro { font-size: 11px; line-height: 1.1; }
.compact-strip { display:flex; align-items:center; justify-content:space-between; gap:6px; flex-wrap:wrap; }
.token-group { font-size:11px; font-weight:600; white-space:nowrap; color:#374151; }
.queue-card .compact-bold, .schedule-card .compact-bold { font-size:11px; }
.queue-stack { gap:8px; }
.schedule-actions { margin-top:4px; }
.schedule-expand summary { font-size:11px; }
.day-cell .schedule-card { background: linear-gradient(180deg, #ffffff, #fbfdff); }
.day-cell[data-line-type="HERBORT"] .schedule-card { border-left:3px solid #86efac; }
.day-cell[data-line-type="KETTLE"] .schedule-card { border-left:3px solid #93c5fd; }
.day-cell[data-line-type="POWDER / OTHER"] .schedule-card { border-left:3px solid #fcd34d; }
.queue-card .pill { font-size:10px; padding:3px 6px; }


/* v9 compact schedule + yellow production sheets */
.weekly-grid.schedule-grid { grid-template-columns: 92px repeat(5, minmax(132px, 1fr)) 58px 58px; gap: 6px; }
.corner-header, .day-header, .lane-title { padding: 8px; border-radius: 8px; }
.day-header { font-size: 12px; }
.day-header span { font-size: 10px; }
.lane-title { min-height: 36px; font-size: 11px; }
.day-cell { min-height: 54px; padding: 4px; gap: 4px; border-radius: 8px; }
.schedule-card, .queue-card { padding: 4px 6px; border-radius: 8px; }
.compact-card { padding: 3px 5px; }
.compact-bold { font-size: 10px; font-weight: 700; }
.token-group, .compact-micro, .small-line { font-size: 10px; }
.compact-strip { gap: 4px; align-items: baseline; flex-wrap: nowrap; }
.schedule-title.compact-strip { justify-content: space-between; }
.schedule-actions { margin-top: 2px; }
.schedule-actions .button-link.tiny, .inline-btn-form button { padding: 3px 6px; font-size: 10px; }
.queue-top .pill { display:none; }
.queue-inline-fields { grid-template-columns: 1fr 1fr; gap: 6px; }
.queue-inline-fields input { padding: 6px 8px; }
.queue-expand summary { font-size: 10px; }
.day-cell[data-line-type="HERBORT"] { background: #f4fbf4; }
.day-cell[data-line-type="KETTLE"] { background: #f4f9ff; }
.day-cell[data-line-type="POWDER / OTHER"] { background: #fff9ed; }
.day-cell .schedule-card { background: rgba(255,255,255,.95); }

.yellow-sheet { background: #fff6b3; border: 1px solid #e8d97a; }
.yellow-sheet.daily-sheet, .yellow-sheet.recipe-sheet { box-shadow: 0 2px 8px rgba(156, 128, 11, .08); }
.yellow-header { display:grid; grid-template-columns: 2fr 1fr 1fr; gap:10px; font-weight:700; font-size:13px; margin-bottom:14px; }
.daily-job { background: rgba(255,255,255,.35); border: 1px solid rgba(148, 118, 8, .22); border-radius: 10px; padding: 12px; margin-bottom: 14px; }
.daily-job-top, .daily-job-bottom { display:grid; grid-template-columns: 2fr 1.3fr 1.4fr; gap: 10px; margin-bottom: 8px; font-size: 12px; }
.yellow-table { width:100%; background: rgba(255,255,255,.72); border-radius: 8px; overflow: hidden; }
.yellow-table th { background: rgba(208, 176, 36, .18); font-size: 12px; }
.yellow-table td { font-size: 12px; }
.recipe-head { display:grid; gap:6px; margin-bottom: 12px; }
.recipe-brand { font-weight:700; }
.recipe-title { font-size: 18px; font-weight: 700; }
.recipe-meta-grid, .recipe-ccp-grid { display:grid; grid-template-columns: repeat(4, 1fr); gap:10px; margin-bottom: 12px; }
.recipe-meta-grid div, .recipe-ccp-grid div { background: rgba(255,255,255,.45); border-radius: 8px; padding: 8px; font-size: 12px; }
.production-grid input[list], .production-grid input[type=text], .production-grid input[type=number] { width:100%; box-sizing:border-box; padding:6px 8px; }
.production-grid th, .production-grid td { vertical-align: middle; }
.split-lot-row td { background: rgba(255,255,255,.32); }
.yellow-inset { background: rgba(255,255,255,.4); }
.recipe-lower .panel { box-shadow:none; }
@media print {
  body { background:#fff; }
  .yellow-sheet { background: #fff7b8 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

.success-btn{background:#1f7a43;color:#fff;border:none;padding:10px 14px;border-radius:6px;}
.success-btn[disabled]{opacity:.5;cursor:not-allowed;}
.small-muted{font-size:12px;color:#555;margin-top:4px;}

.form-grid.two-col { display:grid; grid-template-columns: repeat(2, minmax(220px,1fr)); gap:14px; }
.span-2 { grid-column: 1 / -1; }
.secondary-btn { background:#475569; }
.stack-actions { display:flex; gap:8px; flex-wrap:wrap; }
.stacked-lines { display:grid; gap:10px; }
.order-line-row { display:grid; grid-template-columns: 2fr 1fr 1.4fr; gap:10px; margin-bottom:8px; }
.upload-drop { border:2px dashed #cbd5e1; border-radius:12px; padding:16px; background:#f8fafc; }
.upload-drop input[type=file] { margin-top:8px; }
.customer-form textarea { min-height:82px; }
.defined-columns .day-header, .defined-columns .corner-header, .defined-columns .lane-title { border:1px solid #d8dee8; box-shadow: inset 0 -1px 0 rgba(15,23,42,.05); }
.defined-columns .day-cell.columned { border-style:solid; border-color:#dbe4ee; background:linear-gradient(180deg,#fbfdff,#f6f8fb); }
.queue-columns-3 { display:grid; grid-template-columns: repeat(3, minmax(220px,1fr)); gap:14px; }
.queue-col { background:#f8fafc; border:1px solid #e2e8f0; border-radius:12px; padding:12px; }
.narrow-fields { grid-template-columns: 1fr 0.8fr 0.8fr; }
.queue-actions-inline { display:flex; align-items:flex-end; }
.mini-calendar-grid { display:grid; gap:10px; }
.mini-calendar-grid.seven-col { grid-template-columns: repeat(7, minmax(120px, 1fr)); }
.mini-cal-col { background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; padding:8px; min-height:130px; }
.mini-cal-head { font-weight:700; font-size:12px; margin-bottom:8px; padding-bottom:6px; border-bottom:1px solid #e2e8f0; }
.mini-cal-head span { font-weight:400; color:#6b7280; }
.mini-cal-card { display:block; text-decoration:none; color:inherit; background:#fff; border:1px solid #e5e7eb; border-radius:8px; padding:8px; margin-bottom:8px; font-size:12px; }
.shipping-bill { background:#fff; }
.bill-top { display:grid; grid-template-columns: 2fr 1fr; gap:20px; margin-bottom:18px; }
.bill-meta { background:#f8fafc; border:1px solid #e5e7eb; border-radius:10px; padding:12px; display:grid; gap:8px; }
.bill-address-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap:12px; margin-bottom:16px; }
.bill-address-grid > div { border:1px solid #e5e7eb; border-radius:10px; padding:12px; background:#fcfcfd; }
.shipping-lines input { width:100%; box-sizing:border-box; }
.bill-lower-grid { display:grid; grid-template-columns: 1.6fr 1fr; gap:16px; margin-top:16px; }
.signature-box { border:1px solid #d1d5db; border-radius:10px; padding:14px; background:#fcfcfd; display:grid; gap:14px; }
.grow { flex:1; }
@media (max-width: 1100px) {
  .form-grid.two-col, .order-line-row, .queue-columns-3, .mini-calendar-grid.seven-col, .bill-top, .bill-address-grid, .bill-lower-grid { grid-template-columns: 1fr; }
}

.nav-dashboard, .accordion > summary { background: linear-gradient(180deg,#223a5e,#2e5f7d); color:#fff; border-radius:10px; padding:10px 12px; }
.accordion { margin-bottom:10px; }
.accordion-links a { border-left: 3px solid transparent; }
.accordion-links a:hover { border-left-color:#d4af37; }
.selected-row { background:#fff8dc; }
.highlight-row { outline:2px solid #d4af37; }
.customer-page-grid .nested-panel { margin-top:18px; }
.compact-head { margin-bottom:8px; }
.daily-product-name { font-size:20px; font-weight:800; letter-spacing:.2px; }
.allergen-tag { display:inline-block; background:#fef3c7; border:1px solid #f59e0b; border-radius:999px; padding:3px 8px; font-size:11px; font-weight:700; margin:2px 4px 2px 0; }
.legend-dropdown summary { cursor:pointer; }
.legend-body { padding-top:8px; max-width:280px; }
.inventory-toolbar-panel { display:grid; gap:10px; }
.simple-list { margin:0; padding-left:18px; }
.compact-grid { align-items:end; }
.search-toolbar input { min-width:280px; }


.grid.three { display:grid; grid-template-columns: repeat(3, minmax(180px, 1fr)); gap: 16px; }
.form-grid { display:grid; gap: 14px; }
.active-tab { background:#92400e; }
.supplier-summary-panel { min-height: 132px; }
.small-stack { display:grid; gap:6px; font-size:13px; margin-top:8px; }
.po-create-layout { align-items:start; }
.po-lines-table input[type=number], .po-lines-table select { min-width: 88px; }
.shipping-bill .bill-top { display:flex; justify-content:space-between; gap:20px; margin-bottom:16px; }
.shipping-bill .bill-meta { display:grid; gap:6px; min-width: 230px; }
.shipping-bill .bill-address-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap:16px; margin-bottom:16px; }
.shipping-bill .bill-lower-grid { display:grid; grid-template-columns: 2fr 1fr; gap:16px; margin-top:16px; }
.shipping-bill .signature-box { border:1px solid #d1d5db; border-radius:10px; padding:14px; display:grid; gap:10px; }
.print-sheet input, .print-sheet textarea, .print-sheet select { background: transparent; }
@media (max-width: 1100px) {
  .grid.three, .shipping-bill .bill-address-grid, .shipping-bill .bill-lower-grid { grid-template-columns: 1fr; }
}
@media print {
  .print-sheet { border:none !important; box-shadow:none !important; }
  .print-sheet input, .print-sheet textarea, .print-sheet select { border:none !important; padding:0 !important; background:transparent !important; }
  .print-sheet textarea { min-height: 60px; }
  .shipping-bill .bill-meta { min-width: 200px; }
}


/* v28 tightened global layout + favicon refresh */
body { background: #eef2f7; }
.sidebar { width: 272px; padding: 14px 14px 16px; }
.logo img { width: 184px; }
.top-link, .accordion summary, .accordion a { padding: 9px 10px; border-radius: 9px; }
.content { padding: 18px; }
.page-head.split { gap: 14px; }
.grid, .cards, .card-grid, .dashboard-grid, .toolbar, .inline-form { gap: 12px; }
.card, .panel { padding: 14px; border-radius: 10px; box-shadow: 0 1px 6px rgba(15,23,42,.05); }
input, select, textarea { padding: 8px 10px; }
button, .button-link { padding: 9px 12px; }
table { border-radius: 10px; box-shadow: 0 1px 5px rgba(15,23,42,.04); }
th, td { padding: 8px 9px; }
.section-head { margin-bottom: 8px; }
.sidebar .accordion { border: 1px solid rgba(255,255,255,0.06); }
.sidebar .top-link { border: 1px solid rgba(255,255,255,0.08); }
@media print {
  body { background: white; }
}


.content-solo { max-width: 1100px; margin: 0 auto; }
.login-page { background: linear-gradient(180deg, #f7fafc, #eef4fb); min-height: 100vh; }
.login-shell { min-height: 100vh; display:flex; align-items:center; justify-content:center; padding: 24px; }
.login-card { width: min(460px, 100%); background:white; border-radius:18px; box-shadow:0 12px 28px rgba(15,23,42,.12); padding:28px; }
.login-brand { display:flex; gap:16px; align-items:center; margin-bottom:18px; }
.login-brand img { width:72px; height:72px; border-radius:16px; }
.login-brand h1 { margin:0 0 4px; font-size:1.4rem; }
.login-brand p { margin:0; color:#64748b; }
.login-form { display:grid; gap:14px; }
.inline-picker-form { display:flex; gap:10px; align-items:flex-end; }
.inline-picker-form label { min-width: 240px; }
.sidebar-auth { margin-top: 12px; font-size: 12px; color:#475569; }
.sidebar-auth a { color:#1d4ed8; text-decoration:none; }
.legend-chip { display:inline-block; margin-left:8px; padding:4px 8px; border-radius:999px; font-size:11px; font-weight:700; }
.legend-chip.shipping, .shipping-card { background:#e0f2fe; color:#075985; }
.legend-chip.receiving, .receiving-card { background:#ecfccb; color:#3f6212; }
.mini-cal-card.shipping-card, .mini-cal-card.receiving-card { border:1px solid rgba(15,23,42,.08); }
.inventory-table tbody tr:nth-child(even) { background: #faf5e8; }
.inventory-table tbody tr.selected-row { background: #dbeafe !important; }
.highlight-row { outline: 2px solid #2563eb; }
.daily-product-name { font-size: 1.1rem; font-weight: 800; line-height:1.15; }
.daily-job-bottom { grid-template-columns: repeat(3, minmax(0,1fr)); row-gap:8px; }
.login-brand img { width: 220px; height: auto; border-radius: 8px; background: transparent; }
.split-grid { display:grid; grid-template-columns: 1.05fr 1fr; gap:16px; }
.check-grid { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:8px 12px; margin: 8px 0 12px; }
.admin-activity-wrap { max-height: 420px; overflow:auto; }
.inline-user-form { display:grid; grid-template-columns: 140px 70px 140px repeat(7, auto) 80px; gap:6px; align-items:center; }
.inline-user-form label { font-size: 12px; white-space: nowrap; }
.small-input { width: 72px; }
@media (max-width: 1200px) {
  .split-grid { grid-template-columns: 1fr; }
  .inline-user-form { grid-template-columns: 1fr 1fr; }
}


.centered-brand { display:flex; flex-direction:column; align-items:center; text-align:center; gap:12px; }
.login-logo-rect { width:min(360px, 90%); height:auto; box-shadow:none !important; border-radius:12px; }
.centered-card .login-form label { text-align:left; }
.num-input { text-align:right; font-variant-numeric: tabular-nums; font-family: Consolas, "Courier New", monospace; }
.num-col { text-align:right; width:140px; }
.recipe-table input, .recipe-table select { width:100%; box-sizing:border-box; }
.recipe-create-box { margin-bottom:14px; }
.recipe-action-row { display:flex; gap:10px; align-items:center; margin-top:12px; }
.secondary-actions { justify-content:flex-end; }
.compact-search-row { display:flex; gap:10px; align-items:center; }
.compact-search-row input { flex:1; }
.active-list-row { background:#fff9d9; border-radius:8px; padding:4px 8px; }
.oil-meter-box { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-bottom:12px; }
.oil-meter-value { display:inline-block; min-width:84px; padding:8px 12px; background:rgba(255,255,255,.65); border-radius:8px; font-weight:700; text-align:right; font-variant-numeric:tabular-nums; }
.login-shell { min-height:100vh; display:flex; align-items:center; justify-content:center; padding:24px; box-sizing:border-box; }
.login-card { width:min(520px, 100%); }
.login-brand img { max-width:100%; }
.login-form { display:grid; gap:12px; }

.today-column {
  border-left: 4px solid #111827 !important;
  border-right: 4px solid #111827 !important;
}
.today-header {
  font-weight: 800 !important;
  color: #111827;
}
.today-header span {
  font-weight: 800 !important;
  color: #111827 !important;
}
.inline-picker-form select option[style*="font-weight:700"] {
  font-weight: 700;
}


/* Launch v36 login background */
body.login-page {
  min-height: 100vh;
  position: relative;
  background: #ebe7df url("../login_background.jpg") center center / cover no-repeat fixed;
  overflow: hidden;
}
body.login-page::before {
  content: "";
  position: fixed;
  inset: 0;
  background: rgba(255,255,255,0.16);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
.login-shell {
  position: relative;
  z-index: 1;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.login-card {
  width: min(420px, calc(100vw - 32px));
  background: rgba(255,255,255,0.90);
  border: 1px solid rgba(255,255,255,0.55);
  border-radius: 18px;
  padding: 26px 24px;
  box-shadow: 0 20px 50px rgba(31,41,55,.18);
}
.login-brand.centered-brand {
  text-align: center;
  display: grid;
  gap: 14px;
  justify-items: center;
  margin-bottom: 16px;
}
.login-logo-rect {
  width: min(260px, 82%);
  height: auto;
  display: block;
}
.login-brand.centered-brand h1 {
  margin: 0;
  font-size: 1.7rem;
}
.login-brand.centered-brand p {
  margin: 0;
  color: #4b5563;
  line-height: 1.45;
}
.login-form {
  display: grid;
  gap: 14px;
}
.login-form button {
  width: 100%;
  font-weight: 700;
}
@media (max-width: 900px) {
  body.login-page { background-attachment: scroll; background-position: center center; }
}
