/* Management clarity pass, October 2026. Cashier and printed receipts keep their own theme. */
.management-session { --line:#dfd3c1; --muted:#665a4b; }
.management-session .page-wrap { min-width:0; padding-top:24px; }
.management-session .page-wrap > * { min-width:0; }
.management-session .dashboard-hero { background:#f9f3e7; border:1px solid #dfd3c1; border-top:4px solid #9a6c30; box-shadow:none; padding:24px; }
.management-session .dashboard-hero h1 { font-size:clamp(1.65rem,2.6vw,2.3rem); line-height:1.2; color:#392717; }
.management-session .dashboard-hero p { color:#66543f; }
.management-session .dashboard-hero > div:last-child { display:flex; gap:8px; flex-wrap:wrap; }
.management-session .panel { box-shadow:0 3px 12px #432a1008; }
.management-session .panel h2 { line-height:1.3; }
.management-session .dashboard-filter { margin:18px 0; }
.management-session .dashboard-filter .form-grid { margin:0; align-items:end; }
.management-session :is(.form-grid,.two-col,.analytics-grid) > * { min-width:0; }
.management-session :is(input,select,textarea) { max-width:100%; }
.management-session .primary { color:#fffaf1; background:#66411f; border:1px solid #66411f; box-shadow:none; }
.management-session .primary:hover { background:#4c2d16; }
.management-session .secondary { color:#50371f; background:#f4e9d5; border:1px solid #cbb18d; box-shadow:none; }
.management-session :is(button,.button,summary) { min-height:44px; }
.management-session :is(button,a,input,select,textarea,summary):focus-visible { outline:3px solid #1b6a9b; outline-offset:3px; }
.management-session .dashboard-grid-premium { grid-template-columns:repeat(4,minmax(0,1fr)); margin:20px 0; gap:12px; }
.management-session .metric { display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:8px; min-height:132px; padding:18px; background:#fffcf6; border:1px solid #ded0b9; box-shadow:none; }
.management-session .metric strong { font:700 clamp(1.15rem,1.6vw,1.7rem)/1.2 system-ui,sans-serif; color:#352617; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.management-session .metric > span { color:#66503a; font-size:.75rem; line-height:1.4; }
.management-session .metric small { margin-top:auto; font-size:.7rem; line-height:1.45; color:#685b4c; }
.management-session .ultra-alerts { margin:20px 0; }
.dashboard-operations > summary::before { content:'+'; font-size:1.3rem; color:#765125; }
.dashboard-operations[open] > summary::before { content:'−'; }
.management-session .analytics-grid { gap:18px; }
.management-session .data-table th { background:#684521; color:#fff8e8; font-weight:700; padding:12px; letter-spacing:.06em; }
.management-session .data-table td { padding:12px; line-height:1.5; vertical-align:top; }
.management-session .data-table tbody tr { height:auto; }
.management-session .table-wrap { max-width:100%; }
.management-session .employee-table th:nth-child(2) { width:24%; }
.management-session .employee-table .employee-actions { text-align:left; }
.management-session .employee-actions details[open] { min-width:min(460px,65vw); }
.management-session .employee-table td:nth-child(3) { white-space:nowrap; font-variant-numeric:tabular-nums; }
.management-session .employee-table .employee-actions summary { color:#65441f; background:#f5ead6; padding:9px 12px; border:1px solid #d5c09c; border-radius:7px; }
.management-session .employee-actions summary::before { content:'+'; font-size:1.1rem; }
.management-session .employee-actions details[open] > summary::before { content:'−'; }
.management-session .employee-table small { line-height:1.6; }

.management-session .sales-calendar { margin:22px 0; padding:24px; background:#fffdf8; color:#3d2c1c; border:1px solid #d9c9ae; }
.sales-calendar-heading { display:flex; justify-content:space-between; gap:20px; align-items:center; margin-bottom:20px; }
.management-session .sales-calendar h2 { font-size:1.6rem; color:#3d2c1c; }
.management-session .sales-calendar .calendar-description { color:#70604e; font-size:.76rem; }
.calendar-month-form { display:flex; gap:8px; align-items:end; }
.calendar-month-form label { min-width:0; }
.calendar-month-form input { width:180px; }
.calendar-summary { display:grid; grid-template-columns:1.2fr 1fr 1fr 1fr; border:1px solid #e3d7c2; border-radius:10px; overflow:hidden; margin-bottom:24px; background:#fbf6ec; }
.calendar-summary > div { display:flex; flex-direction:column; gap:8px; padding:18px; border-left:1px solid #e3d7c2; min-width:0; }
.calendar-summary > div:first-child { border-left:0; }
.calendar-summary span,.calendar-summary small { font-size:.72rem; line-height:1.4; color:#69533d; }
.calendar-summary strong { font-size:clamp(1rem,1.6vw,1.5rem); line-height:1.25; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.calendar-summary .calendar-total { background:#4d351f; color:#fff9ed; }
.calendar-summary .calendar-total :is(span,small) { color:#ecdbc0; }
.calendar-layout { display:grid; grid-template-columns:minmax(0,1fr) 250px; gap:24px; }
.calendar-main { min-width:0; }
.calendar-navigation { display:flex; gap:10px; align-items:center; margin-bottom:18px; }
.management-session .calendar-navigation h3 { margin:0; font:600 1rem/1.3 system-ui,sans-serif; color:#3d2c1c; }
.management-session .calendar-navigation .button { display:grid; place-items:center; width:40px; padding:4px; text-decoration:none; font-size:1.5rem; flex-shrink:0; }
.calendar-today { margin-left:auto; color:#6b471f; font-size:.73rem; white-space:nowrap; padding:10px 0; }
.calendar-weekdays,.calendar-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:5px; }
.calendar-weekdays { margin-bottom:8px; }
.calendar-weekdays span { text-align:center; font-size:.7rem; font-weight:700; color:#725b41; }
.calendar-day { min-width:0; min-height:98px; padding:9px 7px; display:flex; flex-direction:column; gap:8px; border:1px solid #e6ddce; border-radius:7px; text-decoration:none; color:#564938; background:#faf7f1; }
.calendar-day:hover { border-color:#735023; box-shadow:inset 0 0 0 1px #735023; }
.calendar-date { display:flex; align-items:center; justify-content:space-between; font-size:.76rem; font-weight:700; }
.calendar-date i { width:6px; height:6px; background:currentColor; border-radius:50%; }
.calendar-day strong { font-size:clamp(.59rem,.8vw,.8rem); font-variant-numeric:tabular-nums; line-height:1.4; overflow-wrap:anywhere; }
.calendar-day small { font-size:.58rem; line-height:1.2; }
.calendar-amount-short { display:none; }
.management-session .dashboard-grid-premium .metric small { display:block; line-height:1.45; }
.management-session .dashboard-grid-premium .metric { min-height:138px; padding:18px; }
.management-session .dashboard-grid-premium .metric strong { font-size:clamp(1.15rem,1.6vw,1.7rem); }
.calendar-positive { background:#eee2c5; color:#59411f; border-color:#decea6; }
.calendar-high { background:#d1b075; color:#362812; border-color:#ba9352; }
.calendar-negative { background:#f7dfd9; color:#863c2d; border-color:#dfa597; }
.calendar-day.is-selected { outline:2px solid #50361c; outline-offset:1px; position:relative; z-index:1; }
.calendar-day.is-future { background:#fffdf8; color:#746a5e; border-style:dashed; }
.management-session .calendar-key { display:flex; gap:10px 16px; flex-wrap:wrap; margin:16px 0 0; color:#6c5944; font-size:.63rem; }
.calendar-key span { display:flex; gap:5px; align-items:center; }
.calendar-key i { display:inline-block; height:9px; width:9px; border-radius:2px; border:1px solid #c3ae8c; }
.key-positive { background:#eee2c5; }.key-high { background:#d1b075; }.key-negative { background:#f7dfd9; }
.calendar-detail { border-left:1px solid #e3d7c2; padding-left:24px; min-width:0; }
.management-session .calendar-detail h3 { margin:4px 0 24px; font:600 1.05rem/1.4 system-ui,sans-serif; }
.calendar-detail-label { display:block; font-size:.75rem; color:#715b42; }
.calendar-detail-net { display:block; margin:8px 0 18px; font-size:1.75rem; line-height:1.2; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.calendar-detail dl { margin:0 0 20px; font-size:.73rem; }
.calendar-detail dl > div { display:flex; justify-content:space-between; gap:14px; border-bottom:1px solid #e4dac8; padding:12px 0; }
.calendar-detail dd { margin:0; font-weight:700; font-variant-numeric:tabular-nums; }
.management-session .calendar-note,.management-session .calendar-day-status { font-size:.7rem; line-height:1.6; color:#6b5b48; }
.management-session .calendar-day-status { padding:10px; border-radius:6px; background:#f4ebda; }
@media(max-width:1250px) { .calendar-layout { grid-template-columns:minmax(0,1fr); }.calendar-detail { border-left:0; border-top:1px solid #e3d7c2; padding:20px 0 0; }.calendar-detail dl { display:grid; grid-template-columns:1fr 1fr; gap:0 24px; }.calendar-detail-net { font-size:1.6rem; }.calendar-detail h3 { margin-bottom:12px; } }
@media(max-width:900px) { .management-session .dashboard-grid-premium { grid-template-columns:repeat(2,minmax(0,1fr)); }.calendar-summary { grid-template-columns:1fr 1fr; }.calendar-summary > div { padding:14px; border-bottom:1px solid #e3d7c2; }.calendar-summary > div:nth-child(3) { border-left:0; } }
@media screen and (max-width:700px) {
  .management-session .page-wrap { padding:16px 12px 30px; }
  .management-session .site-header { gap:8px; }
  .management-session .site-header .brand { min-width:0; flex:1; }
  .management-session .site-header .brand span { font-size:clamp(.72rem,3.7vw,1.05rem); letter-spacing:.06em; }
  .management-session .site-header .identity { flex-shrink:0; gap:0; }
  .management-session .dashboard-hero { padding:20px 16px; }
  .management-session .dashboard-hero > div:last-child { margin-top:16px; }
  .management-session .metric { padding:14px; min-height:128px; }
  .management-session .metric strong { font-size:1.2rem; }
  /* Reset the desktop fixed row height and floated cells before stacking cards. */
  .management-session .table-wrap { max-height:none; overflow:visible; }
  .management-session .data-table,.management-session .data-table tbody { display:block; width:100%; }
  .management-session .data-table thead { display:none; }
  .management-session .data-table tbody tr { display:block; height:auto; min-height:0; padding:10px; margin:10px 0; background:#fffdf8; border:1px solid #deceb4; border-radius:10px; }
  .management-session .data-table td { display:block; float:none; width:100%; height:auto; min-height:0; text-align:left; padding:8px 0; border:0; overflow-wrap:anywhere; line-height:1.5; }
  .management-session .data-table td,.management-session .data-table td :is(strong,small,code) { color:#3d2c1c; }
  .management-session .data-table td a:not(.button) { color:#66411f; }
  .management-session .data-table td::before { display:none; }
  .management-session .data-table td[data-label]::before { content:attr(data-label); display:block; min-width:0; padding-bottom:3px; font-size:.63rem; color:#816441; letter-spacing:.055em; }
  .management-session .data-table td[data-label=""]::before { display:none; }
  .management-session .employee-actions details[open] { min-width:0; }
  .management-session .employee-actions form { grid-template-columns:minmax(0,1fr); }
  .management-session .employee-actions details { width:100%; }
  .management-session .employee-table tbody tr { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:16px; }
  .management-session .employee-table td:nth-child(2) { grid-column:1/-1; grid-row:1; font-size:1rem; }
  .management-session .employee-table td:nth-child(4),.management-session .employee-table .employee-actions { grid-column:1/-1; }
  .management-session .employee-table td:nth-child(5) { grid-column:2; grid-row:3; }
  .management-session .employee-table td:nth-child(4) { grid-column:1; grid-row:3; }
  .management-session .sales-calendar { padding:16px 12px; }
  .sales-calendar-heading { flex-direction:column; align-items:stretch; gap:12px; }
  .calendar-month-form { justify-content:flex-start; }.calendar-month-form input { width:100%; }
  .calendar-month-form label { flex:1; }
  .calendar-summary { margin-bottom:18px; }.calendar-summary strong { font-size:1.06rem; }
  .calendar-navigation { gap:7px; }.management-session .calendar-navigation h3 { font-size:.87rem; }.calendar-today { font-size:.64rem; }
  .calendar-weekdays,.calendar-days { gap:4px; }.calendar-weekdays span { font-size:.6rem; }
  .calendar-day { min-height:72px; padding:7px 3px; gap:7px; border-radius:5px; }
  .calendar-date { font-size:.7rem; }.calendar-day strong { font-size:.58rem; white-space:nowrap; letter-spacing:-.03em; }.calendar-day small { display:none; }
  .calendar-day .calendar-amount-full { display:none; }.calendar-day .calendar-amount-short { display:block; }
  .calendar-detail dl { grid-template-columns:1fr; }
}
@media print { .calendar-month-form,.calendar-navigation .button,.calendar-today { display:none!important; }.calendar-layout { display:block; }.calendar-detail { margin-top:20px; }.calendar-day { break-inside:avoid; }.sales-calendar { break-before:page; }.calendar-days { grid-template-columns:repeat(7,1fr); } }
