.mobile-app-nav,.mobile-timer-panel,.mobile-calendar-picker{display:none}
.mobile-calendar-agenda,.week-glance{display:none}
[hidden]{display:none!important}
@media(max-width:680px){
  .main h1{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
  .main .page-heading{min-height:0;padding-bottom:0;border-bottom:0}
  .main .page-heading>div:not(:has(a,button,p,.eyebrow)){display:contents}
  .main .page-heading:not(:has(a:not(.time-entries-button),button,input,select,p,.eyebrow)){display:none}
  .main .workspace-heading{min-height:0;padding:0 0 14px}
  .time-entries-button{display:none}
  .sidebar,.task-workspace .sidebar{position:sticky;top:0;z-index:60;display:grid;grid-template-columns:clamp(96px,28vw,146px) minmax(0,1fr);align-items:center;gap:8px;width:100%;padding:8px 12px;border-bottom:1px solid var(--line)}
  .sidebar>.foxdeck-brand{width:146px}
  .sidebar>.foxdeck-brand-full{width:146px}
  .sidebar>nav,.sidebar-bottom,.task-navigation{display:none}
  .sidebar-area-switch{display:block;min-width:0}
  .sidebar-area-switch .area-switch{margin:0}
  .sidebar-area-switch .area-switch button{font-size:var(--fs-xs);padding:9px 3px}
  .main{margin-left:0;min-width:0}
  .content,.task-workspace .content{padding:16px 14px calc(90px + env(safe-area-inset-bottom));max-width:100%}
  .topbar{padding:8px 16px;height:auto;min-height:44px}
  .mobile-app-nav{display:grid;grid-template-columns:repeat(var(--mobile-nav-items,5),minmax(0,1fr));position:fixed;bottom:0;left:0;right:0;z-index:50;background:var(--paper);border-top:1px solid var(--line);padding:5px 4px calc(5px + env(safe-area-inset-bottom));box-shadow:0 -4px 18px #30251f0a}
  .mobile-app-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:54px;font-size:var(--fs-xs);text-align:center;overflow-wrap:anywhere;line-height:1.15;color:var(--muted);text-decoration:none;border-radius:9px}
  .mobile-app-nav a span{font-size:var(--fs-2xl);line-height:24px}
  .mobile-app-nav a[aria-current]{background:var(--primary-soft);color:var(--primary);font-weight:700}
  .mobile-app-nav a:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}
  input,select,textarea{font-size:var(--fs-base);max-width:100%}
  .button,button.icon-button,a.icon-button,.searchable-options button{min-height:44px}
  .page-heading{align-items:flex-start;gap:12px;flex-wrap:wrap}
  .page-heading h1{font-size:var(--fs-2xl)}
  .dashboard-page .widget-open-tasks{display:none}
  .dashboard-page .widget-stat .stat{min-width:0;padding:12px}
  .dashboard-page .widget-stat .stat-label,.dashboard-page .widget-stat .stat>.muted{font-size:var(--fs-xs)}
  .mobile-timer-panel{display:block;margin-bottom:20px}
  .task-workbench{min-height:0;height:auto}
  .task-center{padding:0;min-width:0}
  .workspace-filters{flex-wrap:wrap}
  .workspace-filters input,.workspace-filters select{min-width:0;flex:1 1 135px}
  .workspace-heading{flex-wrap:wrap}
  .task-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;gap:8px;padding-bottom:16px;border-bottom:1px solid var(--line)}
  .task-toolbar .filter-toggle{display:flex;grid-column:3;grid-row:1;min-height:44px;padding:0;align-items:center;justify-content:center;gap:2px}
  .task-toolbar:not(.filters-open) .workspace-filters select{display:none}
  .task-toolbar .workspace-heading,.task-toolbar .workspace-filters{display:contents}
  .task-toolbar .workspace-heading>.button{grid-column:1;grid-row:1;display:flex;align-items:center;justify-content:center;padding:8px;font-size:var(--fs-md)}
  .task-toolbar #search{grid-column:2;grid-row:1;min-width:0;width:100%;min-height:44px}
  .task-toolbar #list-filter{grid-column:1;grid-row:2}
  .task-toolbar #status-filter{grid-column:2/-1;grid-row:2}
  .task-toolbar #module-filter{grid-column:1/-1;grid-row:3}
  .task-toolbar .workspace-filters select{width:100%;min-width:0;min-height:44px}
  .time-entries{overflow:visible}
  .time-entries table,.time-entries tbody{display:block;min-width:0;width:100%}
  .time-entries thead{display:none}
  .time-entries tr{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:14px 0;border-bottom:1px solid var(--line)}
  .time-entries td{display:block;border:0;padding:5px 8px;overflow-wrap:anywhere}
  .time-entries td:nth-child(2){grid-column:1/-1;grid-row:1}
  .time-entries td:last-child{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:16px}
  .mobile-calendar-picker{display:block;margin:12px 0}
  .mobile-calendar-week-picker{position:sticky;top:var(--mobile-header-height,64px);z-index:20;background:var(--paper);padding:8px 0;border-bottom:1px solid var(--line)}
  .main .calendar-page-heading{display:none}
  .mobile-calendar-picker{margin-top:0}
  .mobile-calendar-actions{display:flex;align-items:center;gap:8px;margin-bottom:14px}
  .mobile-calendar-actions .mobile-calendar-view-switch{flex:1;min-width:0;margin-bottom:0}
  .mobile-calendar-actions .mobile-calendar-add{display:grid;place-items:center;flex:0 0 48px;width:48px;height:50px;min-height:44px;padding:0;font-size:var(--fs-3xl);line-height:1;border-radius:12px}
  .mobile-calendar-view-switch{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;background:var(--surface-tint);border:1px solid var(--line);border-radius:12px;padding:4px;margin-bottom:14px}
  .mobile-calendar-view-switch a{display:flex;align-items:center;justify-content:center;min-height:40px;border-radius:8px;color:var(--muted);text-decoration:none;font-weight:600}
  .mobile-calendar-view-switch a[aria-current]{background:var(--primary-soft);color:var(--primary)}
  .mobile-calendar-view-switch a:focus-visible,.mobile-agenda-day a:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
  .calendar-scroll.calendar-mobile-week{display:none}
  .mobile-calendar-agenda{display:grid;gap:12px}
  .mobile-agenda-day{min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden}
  .mobile-agenda-day>header{display:flex;align-items:center;gap:12px;padding:12px;border-bottom:1px solid var(--line)}
  .mobile-agenda-day.is-today{border-color:var(--primary)}
  .mobile-agenda-day.is-today>header{background:var(--surface-tint)}
  .mobile-agenda-day>header>a:first-child{display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;width:44px;min-height:52px;border-radius:9px;background:var(--primary-soft);color:var(--primary);text-decoration:none}
  .mobile-agenda-day>header>a strong{font-size:var(--fs-xl);line-height:1.2}
  .mobile-agenda-day>header>a span{font-size:var(--fs-xs)}
  .mobile-agenda-day h2{font-size:var(--fs-base);margin:0;line-height:1.4}
  .mobile-agenda-day>header>div>span{font-size:var(--fs-sm);color:var(--muted)}
  .mobile-agenda-open{margin-left:auto;display:grid;place-items:center;min-width:44px;min-height:44px;text-decoration:none;color:var(--primary);font-size:var(--fs-xl)}
  .mobile-agenda-entries{padding:10px 12px;display:grid;gap:8px}
  .mobile-agenda-event{min-width:0}
  .mobile-agenda-event .calendar-event{position:static;width:100%;min-height:64px;height:auto;padding:10px 12px;border-radius:8px;text-align:left;overflow:visible}
  .mobile-agenda-event .calendar-event strong{white-space:normal;overflow-wrap:anywhere;font-size:var(--fs-md);line-height:1.4}
  .mobile-agenda-event .calendar-event small,.mobile-agenda-event .calendar-event span{white-space:normal;overflow-wrap:anywhere;font-size:var(--fs-xs);line-height:1.4}
  .mobile-agenda-range{display:block;padding:4px 12px;color:var(--muted);font-size:var(--fs-xs)}
  .mobile-agenda-task{display:flex;align-items:center;gap:10px;padding:10px 12px;min-height:56px;border:1px solid var(--line);border-radius:8px;text-decoration:none;color:var(--ink)}
  .mobile-agenda-task>span{color:var(--primary)}
  .mobile-agenda-task div{min-width:0}
  .mobile-agenda-task small{display:block;font-size:var(--fs-xs);color:var(--muted)}
  .mobile-agenda-task strong{font-size:var(--fs-md);overflow-wrap:anywhere;line-height:1.4}
  .mobile-agenda-task.is-done strong{text-decoration:line-through;color:var(--muted)}
  .mobile-agenda-day.is-empty>header{padding:8px 12px;border-bottom:0}
  .mobile-agenda-day.is-empty>header>a:first-child{min-height:44px}
  .mobile-agenda-day.is-empty .mobile-agenda-entries{padding:0 12px 8px}
  .mobile-agenda-event .calendar-event{display:flex;flex-direction:column;gap:3px}
  .calendar-toolbar{display:none}
  .mobile-calendar-date{display:flex;align-items:center;gap:8px;margin-bottom:10px}
  .mobile-calendar-date strong{flex:1;text-align:center;font-size:var(--fs-md)}
  .mobile-calendar-date .compact{min-width:36px;padding:8px}
  .mobile-calendar-date .subtle-link{font-size:var(--fs-sm);padding:10px 2px}
  .mobile-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
  .mobile-calendar-days a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:58px;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--muted);background:var(--surface,var(--surface))}
  .mobile-calendar-days a span{font-size:var(--fs-xs)}
  .mobile-calendar-days a strong{font-size:var(--fs-lg);color:var(--ink)}
  .mobile-calendar-days a[aria-current]{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}
  .mobile-calendar-days a[aria-current] strong{color:var(--primary)}
  .mobile-calendar-days a:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
  .calendar-scroll.mobile-day-view .calendar-sheet{min-width:0}
  .calendar-scroll.mobile-day-view .calendar-row{grid-template-columns:44px minmax(0,1fr)}
  .calendar-scroll.mobile-day-view .mobile-hidden-day{display:none}
  .calendar-scroll.mobile-day-view .calendar-week-header .day-header{min-height:0;padding:6px 10px}
  .calendar-scroll.mobile-day-view .calendar-week-header .day-header>span,.calendar-scroll.mobile-day-view .calendar-week-header .day-header>strong{display:none}
  .calendar-scroll.mobile-day-view .calendar-week-header .day-header:not(:has(small)){display:none}
  .calendar-scroll{height:65dvh;min-height:350px}
  .calendar-toolbar,.calendar-toolbar form{flex-wrap:wrap;gap:10px}
}

/* Mobile Woche: Wochenraster auf einen Blick, darunter kompakte Agenda. */
@media(max-width:680px){
  .week-glance{display:block;margin:0 0 14px;padding:10px 10px 8px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
  .week-glance-grid{display:grid;grid-template-columns:20px repeat(7,minmax(0,1fr));gap:4px}
  /* Feste Stundenhöhe (24 px); ein höherer Bildschirm zeigt mehr Stunden statt gestreckter Termine. */
  .week-glance-scroll{height:clamp(280px,calc(100dvh - 400px),576px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;margin-top:4px;border-radius:6px}
  .week-glance-body{height:576px}
  .week-glance-hours{position:relative;height:100%}
  .week-glance-hours span{position:absolute;right:2px;transform:translateY(-50%);font-size:10px;line-height:1;color:var(--muted)}
  .week-glance-day{display:flex;flex-direction:column;align-items:stretch;gap:4px;min-width:0;text-decoration:none;color:var(--ink);border-radius:8px;padding:2px}
  .week-glance-day:focus-visible{outline:2px solid var(--primary);outline-offset:1px}
  .week-glance-head{display:flex;flex-direction:column;align-items:center;line-height:1.15;padding:3px 0;border-radius:6px}
  .week-glance-head small{font-size:var(--fs-xs);color:var(--muted)}
  .week-glance-head strong{font-size:var(--fs-base)}
  .week-glance-day.is-today .week-glance-head{background:var(--primary);color:var(--surface)}
  .week-glance-day.is-today .week-glance-head small{color:inherit}
  .week-glance-marks{display:flex;justify-content:center;align-items:center;gap:3px;height:16px}
  .week-glance-all-day-list{display:flex;flex-direction:column;gap:2px}
  .week-glance-chip,.week-glance-more{display:block;overflow:hidden;padding:1px 3px;border-radius:3px;font-size:9px;font-style:normal;font-weight:600;line-height:1.2;overflow-wrap:anywhere;hyphens:auto}
  .week-glance-chip{background:var(--accent);color:#fff}
  .week-glance-more{color:var(--muted);text-align:center}
  .week-glance-tasks{display:inline-grid;place-items:center;min-width:16px;height:16px;padding:0 3px;border-radius:8px;border:1.5px solid var(--primary);color:var(--primary);font-size:10px;font-style:normal;font-weight:700;line-height:1}
  .week-glance-track{position:relative;display:block;height:100%;border-radius:6px;background:var(--surface-tint)}
  .week-glance-track.is-today{box-shadow:inset 0 0 0 1.5px var(--primary)}
  .week-glance-line{position:absolute;left:0;right:0;height:1px;background:var(--line)}
  /* Aktuelle Zeit wie im Desktop-Kalender: Linie mit Punkt über den Terminen. */
  .week-glance-now{position:absolute;left:-2px;right:-2px;height:2px;margin-top:-1px;background:var(--primary);box-shadow:0 0 0 1px var(--surface);z-index:3;pointer-events:none}
  .week-glance-now::before{content:'';position:absolute;left:-2px;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 1px var(--surface)}
  .week-glance-block{position:absolute;left:2px;width:calc(100% - 4px);padding:1px 2px;box-sizing:border-box;overflow:hidden;border-radius:3px;background:var(--primary);color:#fff;font-size:9px;font-style:normal;font-weight:600;line-height:1.15;overflow-wrap:anywhere;hyphens:auto;box-shadow:0 0 0 1px var(--surface-tint);text-shadow:0 0 2px rgb(0 0 0 / .35)}
  .week-glance-chip.area-private,.week-glance-block.area-private{background:#9862ca}
  .week-glance-chip.area-work,.week-glance-block.area-work{background:#dc981c}
  .week-glance-block.area-focus{background:#289568}
  .week-glance-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin:8px 0 0;font-size:var(--fs-xs);color:var(--muted)}
  .week-glance-legend span{display:inline-flex;align-items:center;gap:5px}
  .week-glance-legend .week-glance-block{position:static;display:inline-block;width:10px;height:10px;min-height:0;padding:0}
  .week-glance-legend .week-glance-chip{width:14px;height:5px;padding:0}
  .mobile-agenda-day{scroll-margin-top:calc(var(--mobile-header-height,64px) + 140px)}
  .mobile-calendar-agenda{gap:8px}
  html:has(.week-glance){scroll-behavior:smooth}
  .mobile-agenda-day>header{padding:8px 10px;gap:10px}
  .mobile-agenda-day>header>a:first-child{width:38px;min-height:42px}
  .mobile-agenda-day>header>a strong{font-size:var(--fs-lg)}
  .mobile-agenda-open{min-width:40px;min-height:40px}
  .mobile-agenda-entries{padding:6px 10px 10px;gap:6px}
  .mobile-agenda-entries:empty{display:none}
  .mobile-agenda-day.is-empty>header{padding:6px 10px}
  .mobile-agenda-day.is-empty>header>a:first-child{min-height:34px;width:34px}
  .mobile-agenda-day.is-empty>header>a strong{font-size:var(--fs-base)}
  .mobile-agenda-day.is-empty h2{font-size:var(--fs-md);color:var(--muted)}
  .mobile-agenda-event .calendar-event{display:grid;grid-template-columns:78px minmax(0,1fr);column-gap:8px;row-gap:1px;align-items:baseline;min-height:0;padding:8px 10px}
  .mobile-agenda-event .calendar-event>small{grid-column:1;grid-row:1/span 3;font-variant-numeric:tabular-nums;color:var(--ink-2)}
  .mobile-agenda-event .calendar-event>strong,.mobile-agenda-event .calendar-event>span{grid-column:2}
  .mobile-agenda-event .calendar-event>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}
  .mobile-agenda-event .calendar-event .event-assignment{display:none}
  .mobile-agenda-event .calendar-event .all-day-label{display:contents}
  .mobile-agenda-task{min-height:44px;padding:8px 10px}
}
@media(prefers-reduced-motion:reduce){html:has(.week-glance){scroll-behavior:auto}}
.week-glance-block.is-cancelled{opacity:.45;text-decoration:line-through;background-image:repeating-linear-gradient(135deg,transparent 0 4px,rgb(255 255 255 / .45) 4px 6px)}
.week-glance-block.attending-no{opacity:.45}
/* Schmale Bahnen bei gleichzeitigen Terminen: Text kleiner und ohne Innenabstand, damit etwas lesbar bleibt. */
.week-glance-block.is-lane{padding:1px;font-size:8px;letter-spacing:-.02em}

@media(max-width:680px){
  .task-toolbar-with-add{grid-template-columns:minmax(0,1fr) 44px 44px}
  .task-toolbar-with-add #search{grid-column:1}
  .task-toolbar-with-add .filter-toggle{grid-column:2}
  .task-toolbar-with-add .task-add-button{grid-column:3;grid-row:1}
}
