/* Ideal OS — base styles (ported from the Deck prototype helmet) */
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: 'Barlow', system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
  color: #17171A;
  background: #F5F5F3;
}
input, button, select, textarea { font-family: inherit; }
input[type=number]::-webkit-inner-spin-button { opacity: 0; }
select { appearance: none; -webkit-appearance: none; }

.ms {
  font-family: 'Material Symbols Outlined';
  font-weight: normal; font-style: normal; line-height: 1;
  letter-spacing: normal; text-transform: none; display: inline-block;
  white-space: nowrap; direction: ltr;
}

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: #DBDBD7; border-radius: 8px; border: 3px solid #F5F5F3; }
::-webkit-scrollbar-track { background: transparent; }

/* Hover/focus utilities — replace the dc runtime's style-hover / style-focus */
.hv-soft:hover   { background: #F4F4F1 !important; }
.hv-row:hover    { background: #FAFAF8 !important; }
.hv-btn:hover    { background: #F7F7F4 !important; }
.hv-mid:hover    { background: #EDEDE9 !important; }
.hv-black:hover  { background: #000 !important; }
.hv-red:hover    { background: #C21616 !important; }
.hv-soft2:hover  { background: #E9E9E4 !important; }
.hv-text-red:hover { color: #E01B1B !important; }
.hv-dim:hover    { filter: brightness(0.97); }
.hv-bright:hover { filter: brightness(1.05); }
.hv-card:hover   { border-color: #D4D4CE !important; box-shadow: 0 3px 12px rgba(0,0,0,0.04); }
.hv-line:hover   { border-color: #E7E7E3 !important; }

.fc-red:focus { border-color: #E01B1B !important; outline: none; }
.fc-red-bg:focus { border-color: #E01B1B !important; background: #fff !important; outline: none; }
