@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
@import url('/static/calendar.css');
@import url('/static/events.css');
@import url('/static/details.css');

:root {
  color-scheme: dark;
  --bg: #101210; --panel: #171a17; --line: #2b302a;
  --text: #eef0e9; --muted: #939b90; --green: #c1ff5e;
  font-family: 'DM Sans', sans-serif;
  background: var(--bg); color: var(--text); font-synthesis: none;
}
* { box-sizing: border-box; }
body { margin: 0; }
button, select, a { -webkit-tap-highlight-color: transparent; }
button, select { font: inherit; }
button, a, select { outline-offset: 3px; }
button:focus-visible, a:focus-visible, select:focus-visible, .agenda:focus-visible {
  outline: 2px solid var(--green); outline-offset: -2px;
}
button { cursor: pointer; }
button:disabled { cursor: default; opacity: .3; }
a { color: inherit; }
[hidden] { display: none !important; }
.shell {
  max-width: 1320px; height: 100vh; height: 100dvh;
  padding: 24px 40px 0; margin: auto;
  display: grid; grid-template-rows: minmax(0, 1fr) auto;
}
main { min-height: 0; display: flex; flex-direction: column; }
.toolbar {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px; padding-bottom: 16px; font-size: 12px; color: var(--muted);
}
.owner-filter { display: flex; gap: 12px; align-items: center; }
.owner-filter > span { font-size: 11px; }
.owner-filter select {
  max-width: 255px; border: 1px solid var(--line); background: var(--panel);
  color: var(--text); border-radius: 6px; padding: 9px 28px 9px 12px; font-size: 11px;
}
.workspace {
  flex: 1; min-height: 0; display: grid; grid-template-columns: 350px minmax(0, 1fr);
  border: 1px solid var(--line); border-radius: 12px; overflow: hidden;
}
.workspace[aria-busy=true] { opacity: .65; transition: opacity .2s; }
.error {
  display: flex; justify-content: space-between; align-items: center;
  border: 1px solid #854b3e; color: #ffd6b5; background: #291c17;
  border-radius: 8px; font-size: 13px; padding: 15px; margin-bottom: 12px;
}
.error button { background: transparent; border: 1px solid currentColor; color: inherit; border-radius: 5px; padding: 6px 10px; }
footer { display: flex; justify-content: space-between; gap: 20px; padding: 16px 0; color: #778071; font-size: 9px; letter-spacing: 1px; }
footer span:last-child { letter-spacing: 0; }
@media (max-width: 900px) {
  .shell { padding: 16px 20px 0; }
  .workspace { grid-template-columns: 290px minmax(0, 1fr); }
}
@media (max-width: 660px) {
  .shell { padding: 8px 8px max(8px, env(safe-area-inset-bottom)); grid-template-rows: minmax(0, 1fr); }
  .toolbar { justify-content: flex-end; padding-bottom: 8px; }
  #range-label, .owner-filter > span, footer { display: none; }
  .owner-filter select { max-width: 240px; padding: 7px 28px 7px 10px; font-size: 11px; }
  .workspace { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); border-radius: 9px; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }
