/* Shared workspace hierarchy; page modules retain their own scoped styles. */
[hidden] { display: none !important; }
.shell { padding-top: 24px; }
.site-header { align-items: center; }
.brand { font-size: 22px; letter-spacing: -.025em; }
.tagline { font-size: 13px; margin-top: 4px; }
.site-nav { gap: 4px; flex-wrap: nowrap; }
.site-nav a { white-space: nowrap; color: var(--muted); transition: background .15s, color .15s; }
.site-nav a[aria-current="page"] { background: var(--accent-soft); color: var(--accent); }
.site-nav a { position: relative; }
.site-nav .nav-attention-count { display: inline-flex; align-items: center; justify-content: center; min-width: 19px; height: 19px; padding: 0 4px; margin-left: 5px; border-radius: 10px; background: #fff0d2; color: #70440d; font-size: 11px; font-weight: 700; line-height: 1; }
.site-nav a span { font-size: 20px; vertical-align: -1px; margin-right: 3px; }
.logout-form button { padding: 8px 12px; font-size: 13px; }
.panel { box-shadow: none; }
a { color: var(--accent); }
a.button-secondary { display: inline-flex; align-items: center; justify-content: center; padding: 9px 13px; border-radius: 8px; color: var(--accent); background: var(--surface); border: 1px solid var(--line); text-decoration: none; }
.quick-actions a.task-primary-action { background: var(--accent); color: white; border-radius: 8px; }
.task-title { text-decoration: none; }
.task-title:hover { text-decoration: underline; }
.status.status-attention { color: #835414; background: #fff3d8; }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.entry-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.entry-submit { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.entry-submit button { min-width: 180px; }
.download-workspace { max-width: 820px; margin: 0 auto; }
.download-workspace h1 { margin-bottom: 8px; }
.download-workspace .section-head { margin-bottom: 18px; }
.download-workspace textarea[name="urls"] { min-height: 132px; font-size: 16px; }
.download-workspace #download-detection { margin: -6px 0 0; }
.entry-help { border-top: 1px solid var(--line); padding-top: 16px; margin: 20px 0 0; font-size: 14px; }
.inline-notice-error { color: var(--error); background: #fff0ed; padding: 12px; border-radius: 6px; }
.more-links { display: grid; }
.more-links a { display: flex; flex-direction: column; gap: 7px; padding: 18px 4px; color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--line); }
.more-links a:last-child { border: 0; }
.more-links a:hover strong { color: var(--accent); }
.more-links span { color: var(--muted); font-size: 14px; }
.home-old-failures { border-top: 1px solid var(--line); margin-top: 12px; padding-top: 12px; }
.home-old-failures summary { cursor: pointer; font-size: 14px; font-weight: 600; padding: 6px 0; }
.home-old-failures summary span { margin-left: 5px; font-weight: 400; }
.home-attention-heading { font-size: 15px; margin: 14px 0 4px; }
.home-more-link { display: inline-block; font-size: 13px; margin-top: 10px; }
#home-workspace .compact-row { gap: 12px; }
#home-workspace .compact-row > .status, #home-workspace .compact-row > .tiny { flex-shrink: 0; }
#home-workspace .compact-row strong, #home-workspace .home-error-summary { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
.home-refresh-status { display: flex; justify-content: flex-end; align-items: center; gap: 10px; }
.home-refresh-status button { padding: 6px 10px; font-size: 12px; }
@media (max-width: 700px) {
  .shell { width: calc(100% - 24px); padding: 16px 0 calc(90px + env(safe-area-inset-bottom)); }
  .site-header { margin-bottom: 18px; gap: 8px; flex-direction: row; align-items: center; }
  .brand { font-size: 19px; }
  .tagline { font-size: 12px; }
  .site-nav { position: fixed; inset: auto 0 0; z-index: 70; margin: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); width: 100%; background: var(--panel); border-top: 1px solid var(--line); padding: 5px 6px calc(5px + env(safe-area-inset-bottom)); gap: 2px; overflow: visible; box-shadow: 0 -3px 16px #171a1f08; }
  .site-nav a { text-align: center; display: flex; flex-direction: column; align-items: center; gap: 0; padding: 5px 3px; min-height: 52px; font-size: 12px; }
  .site-nav a span { font-size: 23px; line-height: 24px; margin: 0; }
  .site-nav .nav-attention-count { position: absolute; top: 3px; left: calc(50% + 9px); margin: 0; min-width: 17px; height: 17px; font-size: 10px; }
  .panel { padding: 16px; }
  .entry-options { gap: 12px; grid-template-columns: 1fr 1fr; }
  .entry-options label:last-child { grid-column: 1 / -1; }
  .entry-submit button { width: 100%; min-height: 46px; }
  .download-workspace .section-head { gap: 8px; }
  .download-workspace .section-head > a { font-size: 13px; white-space: nowrap; }
  .download-workspace textarea[name="urls"] { min-height: 120px; }
  .download-workspace label, .download-workspace input, .download-workspace select { min-width: 0; }
  .logout-form { margin-left: auto; }
}
@media (prefers-reduced-motion: reduce) { .site-nav a { transition: none; } }
