/* Personal workbench uses the existing light/dark semantic tokens. */
.workbench-nav { display: grid; gap: 4px; padding: 8px 16px 14px; }
.workbench-nav button, .workbench-nav a { display: flex; justify-content: space-between; align-items: center; padding: 10px 12px; border: 0; border-radius: var(--token-radius-sm); background: transparent; color: var(--sidebar-text); text-align: left; text-decoration: none; font: inherit; cursor: pointer; }
.workbench-nav [aria-current="page"] { background: var(--sidebar-active-bg); color: var(--brand-primary); font-weight: 600; }
body:not(.workbench-mode) .workbench-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body:not(.workbench-mode) .sidebar.is-collapsed .workbench-nav { grid-template-columns: 1fr; }
.workbench-nav button:hover, .workbench-nav a:hover { background: var(--sidebar-hover); }
.sidebar.is-collapsed .workbench-nav { padding: 8px 4px; }
.sidebar.is-collapsed .workbench-nav button, .sidebar.is-collapsed .workbench-nav a { justify-content: center; padding: 9px 2px; font-size: 11px; }
body.workbench-mode .sidebar:not(.is-collapsed) { width: 220px; }
body.workbench-mode .sidebar .search-box, body.workbench-mode .doc-filter-toolbar, body.workbench-mode .doc-count-bar, body.workbench-mode .doc-list { display: none; }
body.workbench-mode #docCountBar { display: none !important; }
body.workbench-mode .sidebar-footer { margin-top: auto; }
body.workbench-mode .main-content > .editor-container, body.workbench-mode .workspace-toolbar .toolbar-left,
body.workbench-mode #saveBtn, body.workbench-mode .toolbar-menu-wrap:has(#docActionsBtn), body.workbench-mode .doc-system-status-bar { display: none !important; }
body.workbench-mode .workspace-toolbar { justify-content: flex-end; border-bottom: 0; }
body.workbench-mode .workspace-header-stack { box-shadow: none; }
.workbench[hidden], .workbench-todo-list[hidden], .workbench-todo-management[hidden] { display: none; }
.workbench-todo-management .todo-panel-tabs { position: static; flex-wrap: wrap; padding-bottom: 0; }
.workbench-todo-controls { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; }
.workbench-todo-management .todo-tab { font-size: 12px; padding: 7px 10px; }
.workbench-todo-management .todo-tab.active { color: var(--brand-primary); border-color: var(--brand-primary); background: var(--fill-active); }
.workbench-todo-management .todo-check { color: var(--brand-primary); }
.workbench-todo-management .todo-edit-title-btn { opacity: 1; color: var(--text-secondary); padding: 5px; }
.workbench-todo-management .todo-due { font-size: 12px; }
.workbench-todo-management .todo-item-meta { flex-wrap: wrap; gap: 8px; }
.workbench-todo-management .todo-title { white-space: normal; overflow-wrap: anywhere; }
.workbench-todo-deadline-form { display: grid; gap: 8px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--border-color); }
.workbench-todo-deadline-form label { color: var(--text-secondary); font-size: 12px; }
.workbench-deadline-actions { display: flex; gap: 16px; align-items: center; }
.workbench-todo-more { display: block; margin-top: 8px; }
.workbench-todo-more[hidden] { display: none; }
.workbench { flex: 1; overflow-y: auto; min-height: 0; padding: 24px 28px 48px; scroll-behavior: smooth; overflow-anchor: none; }
.workbench-inner { width: 100%; max-width: 1120px; margin: 0 auto; }
.workbench-greeting { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.workbench h2 { font-size: 26px; font-weight: 600; line-height: 1.4; margin: 4px 0 8px; }
.workbench h3 { font-size: 16px; font-weight: 600; line-height: 1.5; margin: 0; }
.workbench p { margin: 0; }
.workbench-eyebrow, .workbench-caption { color: var(--text-muted); font-size: 12px; line-height: 1.7; }
.workbench-subtitle { color: var(--text-secondary); font-size: 14px; }
.workbench-search { display: flex; gap: 10px; margin-bottom: 20px; }
.workbench input { min-width: 0; width: 100%; font: inherit; background: var(--input-bg); border: 1px solid var(--border-color); border-radius: var(--token-radius-sm); padding: 10px 12px; color: var(--text-primary); }
.workbench-search input { flex: 1; background: var(--bg-secondary); }
.workbench-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 20px; align-items: start; }
.workbench-news-card { grid-column: 2; grid-row: 1; }
.workbench-todos-card { grid-column: 1; grid-row: 1; }
.workbench-card { min-width: 0; padding: 22px; background: var(--bg-secondary); border: 1px solid var(--border-color); border-radius: var(--token-radius-lg); }

.workbench-section-heading { display: flex; flex-wrap: wrap; align-items: start; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.workbench-section-heading .workbench-caption { margin-top: 4px; }
.workbench-link { border: 0; background: none; color: var(--link-color); font: inherit; font-size: 12px; padding: 4px 0; text-decoration: none; cursor: pointer; }
.workbench-link:disabled, .workbench-link[aria-disabled="true"] { color: var(--text-muted); cursor: default; }
.workbench a:focus-visible, .workbench-link:focus-visible, .workbench-nav button:focus-visible { outline: 2px solid var(--brand-primary); outline-offset: 3px; border-radius: var(--token-radius-sm); }
.workbench-todo-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; margin-bottom: 12px; }
.workbench-todo-form details { grid-column: 1 / -1; font-size: 12px; color: var(--text-secondary); }
.workbench-todo-form summary { cursor: pointer; padding: 3px 0; }
.workbench-todo-form details label { display: block; margin: 8px 0 4px; }
.workbench-todo-form input[type="datetime-local"] { max-width: 100%; }
.workbench-task { display: flex; align-items: start; gap: 10px; padding: 15px 0; border-top: 1px solid var(--border-light); }
.workbench-task-check { display: flex; justify-content: center; align-items: start; min-width: 24px; min-height: 24px; flex-shrink: 0; cursor: pointer; }
.workbench-task input[type="checkbox"] { width: 17px; height: 17px; flex: 0 0 17px; margin: 3px 0 0; accent-color: var(--brand-primary); cursor: pointer; }
.workbench-task-content { flex: 1; min-width: 0; }
.workbench-task-title { display: block; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.workbench-task-meta { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 4px; align-items: center; }
.workbench-due-soon { color: var(--token-color-warning-600); font-weight: 600; }
.workbench-deadline-notice { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: 20px; padding: 14px 18px; background: var(--color-warning-bg); border: 1px solid var(--color-warning); border-radius: var(--token-radius-sm); color: var(--token-color-warning-600); font-size: 13px; line-height: 1.7; overflow-wrap: anywhere; }
.workbench-deadline-notice[hidden] { display: none; }
.workbench-deadline-notice p { color: var(--text-secondary); margin-top: 4px; }
.workbench-deadline-notice.has-overdue { color: var(--color-danger); background: var(--color-danger-bg); border-color: var(--color-danger); }
.workbench-deadline-notice .workbench-link { flex-shrink: 0; }
.workbench-overdue { color: var(--token-color-danger-600); }
.workbench-task-meta .workbench-link { font-size: 12px; padding: 0; overflow-wrap: anywhere; text-align: left; }
.workbench-empty { padding: 18px 0; color: var(--text-secondary); font-size: 13px; line-height: 1.8; }
.workbench-error { color: var(--token-color-danger-600); font-size: 12px; line-height: 1.7; margin: 10px 0 !important; }
.workbench-news-empty { padding: 12px 0; }
.workbench-news-empty > p:first-child { margin-bottom: 6px; color: var(--text-secondary); font-size: 14px; }
.workbench-news-controls { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 8px; }
.workbench-news-controls select { padding: 7px 10px; min-width: 0; border: 1px solid var(--border-color); border-radius: var(--token-radius-sm); background: var(--input-bg); color: var(--text-primary); font: inherit; font-size: 12px; }
.workbench-news-item { display: grid; gap: 6px; padding: 14px 0; border-top: 1px solid var(--border-light); }
.workbench-news-item a { font-size: 14px; line-height: 1.6; }
.workbench-news-meta { display: flex; flex-wrap: wrap; gap: 4px 10px; font-size: 12px; line-height: 1.7; color: var(--text-muted); }
.workbench-news-excerpt { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.workbench-news-excerpt[hidden] { display: none; }
.workbench-news-notice:not(:empty) { margin-bottom: 12px; }
.workbench-news-sync { margin-top: 10px !important; }
.workbench-news-next { margin-top: 10px; }
.workbench-news-controls .workbench-link, .workbench-news-next { min-width: 5em; }
.workbench-news-next[hidden] { display: none; }
.workbench-news-item a { color: var(--text-primary); text-decoration: none; overflow-wrap: anywhere; }
.workbench-news-item a:hover { color: var(--link-color); }
@media (max-width: 1100px) {
    .workbench-grid { grid-template-columns: 1fr; }
    .workbench-news-card { grid-column: 1; grid-row: 1; }
    .workbench-todos-card { grid-column: 1; grid-row: 2; }
}
@media (min-width: 701px) { #workbenchNewDoc { display: none; } }
@media (max-width: 700px) {
    body.workbench-mode .app-container { flex-direction: column !important; }
    body.workbench-mode .sidebar { flex-shrink: 0; }
    body.workbench-mode #sidebarCollapseBtn { display: none; }
    body.workbench-mode .sidebar.is-collapsed { width: 100%; }
    .workbench { padding: 20px 16px 64px; }
    .workbench-card { padding: 18px; }
    .workbench h2 { font-size: 22px; }
    body.workbench-mode .sidebar:not(.is-collapsed) { width: 100%; }
    body.workbench-mode .sidebar .workbench-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; }
    body.workbench-mode .sidebar .workbench-nav button, body.workbench-mode .sidebar .workbench-nav a { justify-content: center; font-size: 12px; padding: 8px 4px; }
    body.workbench-mode .sidebar .sidebar-footer { display: none; }
    body.workbench-mode .sidebar .sidebar-new-btn { display: none; }
    body.workbench-mode .sidebar .sidebar-header { padding-bottom: 4px; }
    .workbench-link, .workbench-todo-management .todo-tab, .workbench-todo-management .todo-edit-title-btn { min-height: 44px; }
    .workbench-todo-management .todo-check { flex-basis: 28px; width: 28px; height: 28px; }
    .workbench-todo-management .todo-source-title { font-size: 12px; }
    .workbench-task-check { min-width: 44px; min-height: 44px; }
    .workbench-news-controls select { min-height: 44px; font-size: 16px; }
}
@media (pointer: coarse) { .workbench input { font-size: 16px; } .workbench button, .workbench-link, .workbench-nav button, .workbench-nav a { min-height: 44px; } .workbench-task { min-height: 58px; } .workbench-task-check { min-width: 44px; min-height: 44px; } }
@media (prefers-reduced-motion: reduce) { .workbench { scroll-behavior: auto; } }

.workbench-title-edit-actions { display: flex; gap: 12px; }
.workbench-todo-management .todo-title-row:has(.todo-title-input) { flex-wrap: wrap; gap: 8px; }
.workbench-todo-management .todo-title-row > .workbench-error { flex-basis: 100%; }
