/* Shared spreadsheet interaction layer.
   Applied progressively by bear_sheet_ui.js so specialized workflows keep their behavior. */

:root{
  --bear-sheet-head:#1298f6;
  --bear-sheet-head-strong:#075995;
  --bear-sheet-head-actions:#061832;
  --bear-sheet-sort-cue:#8ee1ff;
  --bear-sheet-row:#ffffff;
  --bear-sheet-row-alt:#f7fafc;
  --bear-sheet-hover:#edf7ff;
  --bear-sheet-focus:#1298f6;
  --bear-sheet-cell-min:190px;
}

body.bear-app-ui .bear-sheet-form,
body.saas .bear-sheet-form,
body.quote-response-page .bear-sheet-form,
body.bear-kiosk .bear-sheet-form{
  min-width:0;
}

body.bear-app-ui .bear-sheet-grid,
body.saas .bear-sheet-grid,
body.quote-response-page .bear-sheet-grid,
body.bear-kiosk .bear-sheet-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(var(--bear-sheet-cell-min),1fr));
  align-items:stretch;
  gap:0!important;
  margin:6px 0 8px!important;
  border:1px solid var(--bear-line)!important;
  border-radius:var(--bear-radius)!important;
  background:var(--bear-sheet-row);
  overflow:visible!important;
}

body.bear-app-ui .bear-sheet-cell,
body.saas .bear-sheet-cell,
body.quote-response-page .bear-sheet-cell,
body.bear-kiosk .bear-sheet-cell{
  position:relative;
  display:grid!important;
  align-content:start;
  gap:3px!important;
  min-width:0;
  margin:0!important;
  padding:6px!important;
  border-right:1px solid var(--bear-line-soft)!important;
  border-bottom:1px solid var(--bear-line-soft)!important;
  border-radius:0!important;
  background:#fff;
}

body.bear-app-ui .bear-sheet-cell>label,
body.saas .bear-sheet-cell>label,
body.quote-response-page .bear-sheet-cell>label,
body.bear-kiosk .bear-sheet-cell>label,
body.bear-app-ui label.bear-sheet-cell,
body.saas label.bear-sheet-cell,
body.quote-response-page label.bear-sheet-cell,
body.bear-kiosk label.bear-sheet-cell{
  color:#3d5267!important;
  font-size:10px!important;
  font-weight:900!important;
  letter-spacing:0!important;
  line-height:1.2!important;
  text-transform:none!important;
}

body.bear-app-ui .bear-sheet-cell :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea),
body.saas .bear-sheet-cell :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea),
body.quote-response-page .bear-sheet-cell :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
  width:100%;
  min-width:0;
  min-height:34px;
  margin:0!important;
  border:1px solid #aebfd0!important;
  border-radius:4px!important;
  background:#fff!important;
  padding:6px 8px!important;
  color:var(--bear-ink)!important;
  font-size:12px!important;
  line-height:1.25;
}

body.bear-app-ui .bear-sheet-cell textarea,
body.saas .bear-sheet-cell textarea,
body.quote-response-page .bear-sheet-cell textarea{min-height:58px}

body.bear-app-ui .bear-sheet-cell:focus-within,
body.saas .bear-sheet-cell:focus-within,
body.quote-response-page .bear-sheet-cell:focus-within,
body.bear-kiosk .bear-sheet-cell:focus-within{
  z-index:8;
  background:#f8fcff;
  box-shadow:inset 3px 0 0 var(--bear-sheet-focus);
}

.bear-sheet-span-all{grid-column:1/-1!important}

.bear-sheet-scroll{
  position:relative;
  max-width:100%;
  overflow:auto;
  border:1px solid var(--bear-line);
  border-radius:var(--bear-radius);
  background:#fff;
  scrollbar-gutter:stable;
  -webkit-overflow-scrolling:touch;
}

.bear-sheet-scroll:focus-visible{
  outline:2px solid rgba(18,152,246,.35);
  outline-offset:2px;
}

table.bear-sheet-table{
  width:100%;
  min-width:max(100%,680px);
  margin:0!important;
  border:0!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  background:#fff;
  color:var(--bear-ink);
  font-size:12px!important;
  font-variant-numeric:tabular-nums;
}

table.bear-sheet-table thead th{
  position:sticky;
  top:0;
  z-index:3;
  height:36px;
  padding:7px 8px!important;
  border-right:2px solid var(--bear-sheet-head-strong)!important;
  border-bottom:2px solid var(--bear-sheet-head-strong)!important;
  border-radius:5px 5px 0 0!important;
  background:var(--bear-sheet-head)!important;
  color:#fff!important;
  font-size:10px!important;
  font-weight:950!important;
  letter-spacing:0!important;
  line-height:1.2;
  text-align:left;
  text-transform:uppercase!important;
  white-space:nowrap;
}

table.bear-sheet-table thead th.bear-sheet-control-head{
  padding:0!important;
}

table.bear-sheet-table thead th.bear-sheet-actions-head{
  border-right-color:var(--bear-sheet-head-actions)!important;
  border-bottom-color:var(--bear-sheet-head-actions)!important;
  background:var(--bear-sheet-head-actions)!important;
}

table.bear-sheet-table thead th.bear-sheet-control-head:hover{
  background:#0b80d0!important;
}

table.bear-sheet-table thead th>a,
table.bear-sheet-table thead th>button{
  color:#fff!important;
}

table.bear-sheet-table thead .scheduler-sort-link,
table.bear-sheet-table thead .sort-link,
table.bear-sheet-table thead [data-quote-sort]{
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  width:100%;
  min-height:34px!important;
  margin:0!important;
  padding:7px 8px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#fff!important;
  font:inherit!important;
  text-align:left;
  text-decoration:none!important;
  text-transform:inherit;
}

table.bear-sheet-table thead .scheduler-sort-link span,
table.bear-sheet-table thead .sort-link span,
table.bear-sheet-table thead [data-quote-sort]::after{
  color:var(--bear-sheet-sort-cue)!important;
}

table.bear-sheet-table thead .bear-sheet-sort-cue{
  flex:0 0 auto;
  font-size:11px;
}

table.bear-sheet-table tbody td{
  max-width:360px;
  padding:6px 8px!important;
  border-right:1px solid var(--bear-line-soft)!important;
  border-bottom:1px solid var(--bear-line-soft)!important;
  background:var(--bear-sheet-row);
  vertical-align:middle!important;
  overflow-wrap:anywhere;
}

table.bear-sheet-table tbody tr:nth-child(even)>td{background:var(--bear-sheet-row-alt)}
table.bear-sheet-table tbody tr:hover>td{background:var(--bear-sheet-hover)!important}
table.bear-sheet-table tbody tr[hidden]{display:none!important}

.bear-sheet-sort{
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  width:100%;
  min-height:34px!important;
  margin:0!important;
  padding:7px 8px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:inherit!important;
  font:inherit!important;
  text-align:left;
  text-transform:inherit;
}

.bear-sheet-sort::after{
  content:"\2195";
  flex:0 0 auto;
  color:var(--bear-sheet-sort-cue);
  font-size:11px;
}
.bear-sheet-sort[data-direction="asc"]::after{content:"\2191";color:#fff}
.bear-sheet-sort[data-direction="desc"]::after{content:"\2193";color:#fff}
.bear-sheet-sort:focus-visible{outline:2px solid rgba(255,255,255,.9)!important;outline-offset:-3px}

.bear-adaptive-search{
  position:relative;
  display:block;
  width:100%;
  min-width:0;
}

.bear-adaptive-search>input{width:100%!important}

.bear-adaptive-panel{
  position:absolute;
  z-index:2000;
  top:calc(100% + 3px);
  left:0;
  width:max(100%,min(520px,82vw));
  max-height:min(360px,55vh);
  overflow:auto;
  border:1px solid #8fb4d0;
  border-radius:6px;
  background:#fff;
  box-shadow:0 16px 34px rgba(6,24,50,.18);
}

.bear-adaptive-panel[hidden]{display:none!important}

.bear-adaptive-summary{
  position:sticky;
  top:0;
  z-index:2;
  padding:6px 9px;
  border-bottom:1px solid var(--bear-line);
  background:var(--bear-sheet-head-strong);
  color:#425a70;
  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}

.bear-adaptive-option{
  display:grid;
  gap:2px;
  width:100%;
  min-height:44px;
  padding:7px 9px;
  border:0;
  border-bottom:1px solid var(--bear-line-soft);
  border-radius:0;
  background:#fff;
  color:var(--bear-ink);
  text-align:left;
  text-decoration:none;
  cursor:pointer;
}

.bear-adaptive-option:hover,
.bear-adaptive-option.is-active{
  background:#eaf6ff;
  box-shadow:inset 3px 0 0 var(--bear-blue);
}

.bear-adaptive-option strong{
  display:block;
  overflow:hidden;
  color:#0d3154;
  font-size:12px;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.bear-adaptive-option small{
  display:block;
  overflow:hidden;
  color:#607084;
  font-size:10px;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.bear-adaptive-empty{
  padding:10px;
  color:#607084;
  font-size:12px;
  font-weight:800;
}

@media(max-width:980px){
  :root{--bear-sheet-cell-min:220px}
  table.bear-sheet-table{min-width:max(100%,620px)}
}

@media(max-width:700px){
  :root{--bear-sheet-cell-min:100%}
  body.bear-app-ui .bear-sheet-grid,
  body.saas .bear-sheet-grid,
  body.quote-response-page .bear-sheet-grid,
  body.bear-kiosk .bear-sheet-grid{grid-template-columns:minmax(0,1fr)!important}
  .bear-sheet-span-all{grid-column:auto!important}
  .bear-adaptive-panel{position:absolute;top:calc(100% + 3px);right:auto;bottom:auto;left:0;width:100%;max-height:45vh}
  .bear-adaptive-option small{display:none}
  table.bear-sheet-table{min-width:600px}
}

/* Kiosk keeps touch targets while adopting the same cell and list grammar. */
body.bear-kiosk .bear-sheet-grid{--bear-sheet-cell-min:280px}
body.bear-kiosk .bear-sheet-cell :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
  min-height:48px!important;
  border-radius:5px!important;
  padding:10px 11px!important;
  font-size:17px!important;
}
body.bear-kiosk .bear-sheet-cell{padding:8px!important}
body.bear-kiosk .bear-adaptive-option{min-height:52px;padding:9px 11px}
body.bear-kiosk .bear-adaptive-option strong{font-size:15px}
body.bear-kiosk table.bear-sheet-table{font-size:14px!important}

@media print{
  .bear-adaptive-panel{display:none!important}
  .bear-sheet-scroll{overflow:visible;border:0}
  table.bear-sheet-table{min-width:0}
}
