.dashboard-filters{display:flex;gap:var(--space-12);align-items:end;flex-wrap:wrap;margin-bottom:var(--space-12)}

.dashboard-filters label{min-width:140px;flex:1;font-size:var(--type-small)}

.dashboard-filters select,.dashboard-filters input{margin:var(--space-4) 0 0}

.dashboard-actions,.export-panel .actions{flex-wrap:wrap}

.refresh-bar,.progress-pages{display:flex;align-items:center;justify-content:space-between;gap:var(--space-12);font-size:var(--type-caption);color:var(--ui-muted)}

.refresh-bar{min-height:44px;margin-bottom:var(--space-8)}
.refresh-bar button{min-height:44px;font-size:var(--type-small)}

.dashboard-stamp{font-size:var(--type-caption);color:var(--ui-muted);margin-bottom:var(--space-12);font-variant-numeric:tabular-nums}

.dashboard-alerts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--ui-line);margin-bottom:var(--space-20);background:var(--ui-fill)}

.dashboard-alert{display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-12);padding:var(--space-20) var(--space-20);min-width:0}

.dashboard-alert+.dashboard-alert{border-left:1px solid var(--ui-line)}

.dashboard-alert span{font-size:var(--type-small)}
.dashboard-alert strong{font-size:var(--type-display);font-weight:600;line-height:1.2;font-variant-numeric:tabular-nums}

.dashboard-alert.alert-urgent strong{color:var(--ui-danger)}

.dashboard-shortcuts{display:flex;flex-wrap:wrap;gap:var(--space-12);margin:0 0 var(--space-24)}

.dashboard-shortcuts a{display:flex;gap:var(--space-12);align-items:center;min-height:44px;padding:var(--space-8) var(--space-12);background:var(--ui-fill);border-radius:var(--ui-radius-sm);font-size:var(--type-small)}

.dashboard-shortcuts b{font-variant-numeric:tabular-nums}
.completion-value{display:flex;align-items:center;gap:var(--space-12);white-space:nowrap}

.completion-value strong{font-size:var(--type-heading);font-weight:600}
.completion-value span{font-size:var(--type-small);color:var(--ui-muted)}

.progress-meta{display:flex;flex-wrap:wrap;gap:var(--space-8) var(--space-20);font-size:var(--type-small);margin-bottom:var(--space-16)}

.progress-table{width:100%;min-width:0;table-layout:fixed;font-variant-numeric:tabular-nums}

.progress-table th,.progress-table td{overflow-wrap:anywhere;text-align:center;padding:var(--space-12) var(--space-8)}

.progress-table th{white-space:normal}
.progress-table th:first-child,.progress-table td:first-child{text-align:left;width:24%}

.progress-table th:nth-child(4){width:27%}
.progress-table th:nth-child(3),.progress-table th:nth-child(5){width:12%}

.progress-table a{display:block}
.progress-pages{margin-top:var(--space-16);flex-wrap:wrap}
.progress-pages>div{display:flex;gap:var(--space-20)}

.export-panel{display:flex;align-items:center;justify-content:space-between;gap:var(--space-16);flex-wrap:wrap}
.export-panel p{font-size:var(--type-small);margin:0}

.dashboard-board .progress-panel{margin-bottom:0}

.board-filters{margin-bottom:var(--space-8)}
.board-filters>summary{font-size:var(--type-small);min-height:44px;display:flex;align-items:center;color:var(--ui-muted)}

.board-filters[open] .dashboard-filters{margin-top:var(--space-8)}
.board-scope{font-size:var(--type-small);margin-bottom:var(--space-8)}
.board-scope:empty{display:none}

@media(max-width:700px){
  .dashboard .page-heading{align-items:flex-start}
.dashboard-actions{gap:var(--space-8)}
.dashboard-actions .button{padding:var(--space-8) var(--space-16)}

  .dashboard-filters{gap:var(--space-12)}
.dashboard-filters label{min-width:calc(50% - 10px)}

  .dashboard-alerts{grid-template-columns:repeat(2,minmax(0,1fr))}
.dashboard-alert{padding:var(--space-16) var(--space-12);gap:var(--space-8)}

  .dashboard-alert:nth-child(3){border-left:0}
.dashboard-alert:nth-child(n+3){border-top:1px solid var(--ui-line)}

  .dashboard-alert span{font-size:var(--type-small)}
.dashboard-alert strong{font-size:var(--type-heading)}

  .progress-panel{padding:var(--space-20) var(--space-12)}
.progress-panel h2{font-size:var(--type-subtitle)}
.progress-panel .section-head{align-items:flex-start;gap:var(--space-8)}

  .completion-value{flex-direction:column;align-items:flex-end;gap:0}
.completion-value strong{font-size:var(--type-heading-small)}

  .progress-table{font-size:var(--type-caption)}
.progress-table th,.progress-table td{padding:var(--space-12) var(--space-4)}
.progress-table th{font-size:var(--type-caption)}

  .progress-meta{gap:var(--space-8) var(--space-12);font-size:var(--type-caption)}
.progress-pages{font-size:var(--type-caption)}

  .export-panel form,.export-panel .actions{width:100%}
.export-panel .button{flex:1;padding-inline:var(--space-12)}

}

@media print{
  .sidebar,.topbar,.mobile-tabs,.skip,.dashboard-actions,.refresh-bar,.dashboard-filters .button,.progress-pages>div,.password-reminder{display:none!important}

  #app-view:has(.dashboard-board) .workspace{margin-left:0}
#app-view:has(.dashboard-board) .main{padding:0;max-width:none}
.dashboard-board{color:#111}

  .dashboard-board .dashboard-filters{pointer-events:none}
.dashboard-board tr{break-inside:avoid}

}

