/* Quiet interaction motion for the graphite glass admin. */
.shell nav button { transition: color 180ms ease, background-color 220ms ease, border-color 220ms ease, box-shadow 220ms ease, transform 160ms ease; }
.shell nav button.active { box-shadow: inset 0 0 0 1px rgba(220, 245, 248, .12), 0 5px 18px rgba(0, 0, 0, .14); }
.shell .card, .shell .metric, .shell .schedule-day, .shell .staff-member-card, .shell .compact-list > div, .shell .ranking-row, .shell .month-row, .shell .attention-row, .shell .table-wrap tbody tr, .shell .responsive-table tbody tr {
  transition: transform 220ms cubic-bezier(.2,.7,.2,1), border-color 220ms ease, box-shadow 220ms ease, background-color 220ms ease;
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .shell .card:hover, .shell .metric:hover, .shell .schedule-day:hover, .shell .staff-member-card:hover { transform: translateY(-2px); border-color: rgba(197, 237, 239, .28); box-shadow: 0 15px 42px rgba(0, 0, 0, .18), inset 0 1px rgba(255,255,255,.08); }
  .shell .compact-list > div:hover, .shell .ranking-row:hover, .shell .month-row:hover, .shell .attention-row:hover, .shell .table-wrap tbody tr:hover, .shell .responsive-table tbody tr:hover { border-color: rgba(197, 237, 239, .24); background-color: rgba(217, 242, 244, .045); }
  .shell .chart .bar-group:hover i { filter: brightness(1.18); }
}
.shell button, .shell a.button, .shell .upload { transition: transform 120ms ease, filter 180ms ease, box-shadow 180ms ease; }
.shell button:active, .shell a.button:active, .shell .upload:active { transform: scale(.975); }
.shell button:focus-visible, .shell a:focus-visible, .shell input:focus-visible, .shell select:focus-visible, .shell textarea:focus-visible { outline: 2px solid rgba(130, 212, 218, .8); outline-offset: 2px; }
.shell .chart .bar-group i { transform-origin: bottom; }
.shell .sales-chart { display: block; width: 100%; height: auto; min-height: 180px; overflow: visible; }
.shell .chart-grid { stroke: rgba(211, 231, 234, .1); stroke-width: 1; }
.shell .chart-y-label, .shell .chart-x-label { fill: rgba(218, 232, 234, .58); font: 10px system-ui, sans-serif; }
.shell .chart-area { fill: url(#revenueFill); }
.shell .chart-line { fill: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.4; vector-effect: non-scaling-stroke; }
.shell .revenue-line { stroke: #6bd8e3; }
.shell .expenses-line { stroke: #6fc89c; stroke-width: 1.8; }
.shell .chart-point { fill: #162126; stroke-width: 2; cursor: crosshair; }
.shell .chart-point.revenue { stroke: #7de6ef; }
.shell .chart-point.expenses { stroke: #79d7a7; }
.shell .chart-point:focus-visible { r: 6px; outline: none; }
.shell .chart-legend i { background: #6bd8e3; }
.shell .chart-legend i.expense { background: #6fc89c; }
.shell dialog, dialog { opacity: 0; transform: translateY(8px) scale(.99); transition: opacity 180ms ease, transform 220ms cubic-bezier(.2,.7,.2,1), display 220ms allow-discrete, overlay 220ms allow-discrete; transition-behavior: allow-discrete; }
dialog[open] { opacity: 1; transform: translateY(0) scale(1); }
.shell #notice { opacity: 0; transform: translateY(-8px); transition: opacity 180ms ease, transform 220ms ease, display 220ms allow-discrete; transition-behavior: allow-discrete; }
.shell #notice:not(.hidden) { opacity: 1; transform: translateY(0); }
@starting-style { dialog[open] { opacity: 0; transform: translateY(8px) scale(.99); } .shell #notice:not(.hidden) { opacity: 0; transform: translateY(-8px); } }
.shell #dashboard .chart { display: block; height: auto; min-height: 0; overflow: visible; }
.shell .chart-details { margin-top: 8px; color: rgba(218,232,234,.76); font-size: 12px; }
.shell .chart-details summary { width: fit-content; cursor: pointer; color: #a9dce0; }
.shell .chart-accessible-list { display: grid; grid-template-columns: repeat(auto-fit,minmax(150px,1fr)); gap: 4px 12px; max-height: 220px; overflow: auto; padding: 9px 2px; }
.shell .chart-accessible-list > div { padding: 5px 0; border-bottom: 1px solid rgba(220,245,248,.1); }
@media (prefers-reduced-motion: reduce) {
  .shell *, .shell *::before, .shell *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
