/* Reuse MobyDick's .btn/.tab components, typography and design tokens. */
#harbor-mode-nav { display:flex; gap:4px; padding:4px; margin-bottom:20px; background:var(--surface); border:1.5px solid var(--border); border-radius:var(--radius-md); box-shadow:var(--shadow-sm); }
#harbor-mode-nav[hidden], #hp-root[hidden], #harbor-sessions[hidden] { display:none!important; }
#harbor-mode-nav button[aria-selected=true] { background:var(--primary); color:#fff; box-shadow:0 2px 8px rgba(20,62,57,.22); }
.hp { font-family:inherit; font-size:13px; line-height:1.65; color:var(--text); }
/* Inherit family only: font:inherit erased the shared button weight and size. */
.hp button, .hp input, .hp select, .hp textarea { font-family:inherit; }
.hp button { cursor:pointer; }
.hp button:disabled { opacity:.42; cursor:not-allowed; }
.hp-top { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:14px; }
.hp-top h2, .hp-empty h3 { font-size:15px; font-weight:800; margin:0; letter-spacing:-.2px; }
.hp-top select { flex:1; min-width:160px; max-width:360px; }
.hp-btn { width:auto; padding:8px 14px; font-size:12.5px; line-height:1.4; }
.hp-btn.danger { color:var(--danger); }
.hp-muted { color:var(--muted); font-size:12px; line-height:1.65; }
.hp-brief { background:var(--surface); border:1.5px solid var(--border); padding:16px 20px; border-radius:var(--radius-lg); margin-bottom:14px; box-shadow:var(--shadow-sm); }
.hp-brief summary { font-weight:700; cursor:pointer; }
.hp-brief p { margin-top:10px; white-space:pre-wrap; line-height:1.7; color:var(--text-sub); }
.hp-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:14px 0 20px; }
.hp-stat { border:1.5px solid var(--border); border-radius:var(--radius-lg); padding:14px 16px; background:var(--surface); box-shadow:var(--shadow-sm); }
.hp-stat strong { display:block; font-size:24px; font-weight:800; line-height:1.4; color:var(--primary); letter-spacing:-.4px; }
.hp-stat span { color:var(--muted); font-size:11px; font-weight:600; }
.hp-table-wrap { overflow-x:auto; border:1.5px solid var(--border); border-radius:var(--radius-lg); margin-top:8px; }
.hp-table { width:100%; border-collapse:collapse; background:var(--surface); text-align:left; min-width:600px; }
.hp-table th { font-weight:700; color:var(--muted); background:var(--surface-alt); padding:10px 14px; font-size:11px; letter-spacing:.4px; }
.hp-table td { padding:13px 14px; border-top:1px solid var(--border); vertical-align:top; font-size:12.5px; }
.hp-table td:first-child { width:45%; }
.hp-task-link { display:block; border:0; background:transparent; color:var(--text); padding:0; text-align:left; font-weight:600; font-size:13px; line-height:1.6; }
.hp-task-link:hover { color:var(--accent); text-decoration:underline; }
.hp-dep { margin-top:4px; font-size:11px; color:var(--muted); }
.hp-badge { display:inline-block; white-space:nowrap; background:var(--surface-alt); color:var(--text-sub); border-radius:9px; padding:2px 8px; font-size:10px; font-weight:700; }
.hp-badge.approved { color:var(--primary); background:var(--primary-light); }
.hp-badge.review { color:var(--warn); background:var(--warn-light); }
.hp-badge.blocked, .hp-badge.changes_requested { color:var(--danger); background:var(--danger-light); }
.hp-date-late { color:var(--danger); }
.hp-empty { border:1.5px dashed var(--border-strong); padding:32px 24px; border-radius:var(--radius-md); background:var(--surface); text-align:center; line-height:1.75; }
.hp-empty p { margin:8px 0 16px; font-size:12.5px; color:var(--text-sub); }
.hp-status { margin:10px 0; color:var(--danger); white-space:pre-wrap; }
.hp-status:empty { display:none; }
.hp-dialog { margin:auto; border:1.5px solid var(--border); border-radius:var(--radius-lg); background:var(--surface); color:var(--text); padding:0; width:min(900px,calc(100% - 32px)); max-height:90vh; box-shadow:var(--shadow-md); }
.hp-dialog::backdrop { background:rgba(20,62,57,.45); }
.hp-dialog-head { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:16px 20px; border-bottom:1px solid var(--border); position:sticky; top:0; background:var(--surface); z-index:1; }
.hp-dialog-head h3 { font-size:15px; font-weight:800; letter-spacing:-.2px; margin:0; }
.hp-dialog-body { padding:20px; }
.hp-form { display:grid; gap:15px; }
.hp-form label { font-weight:700; display:block; margin-bottom:7px; }
.hp-form input, .hp-form select, .hp-form textarea, .hp-top select { width:100%; box-sizing:border-box; border:1.5px solid var(--border); background:var(--bg); color:var(--text); border-radius:var(--radius-sm); padding:10px 12px; font-size:14px; line-height:1.65; outline:none; transition:border-color .15s,box-shadow .15s; }
.hp-top select { background:var(--surface); padding:7px 10px; font-size:13px; }
.hp-form input:focus, .hp-form select:focus, .hp-form textarea:focus, .hp-top select:focus { border-color:var(--primary); box-shadow:0 0 0 3px rgba(20,62,57,.1); }
.hp button:focus-visible, #harbor-mode-nav button:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.hp-form textarea { min-height:120px; resize:vertical; }
.hp-form input[type=checkbox] { width:auto; accent-color:var(--primary); }
.hp-form .hp-cols { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.hp-actions { display:flex; gap:6px; flex-wrap:wrap; margin:14px 0; }
.hp-section { border-top:1px solid var(--border); margin-top:20px; padding-top:16px; }
.hp-section h4 { font-size:13px; font-weight:700; margin:0 0 10px; }
.hp-prose { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.7; font-size:12.5px; color:var(--text-sub); }
.hp-version { border:1.5px solid var(--border); border-radius:var(--radius-md); margin-top:12px; padding:16px; }
.hp-version summary { cursor:pointer; font-weight:700; line-height:1.7; }
.hp-version a { color:var(--accent); overflow-wrap:anywhere; }
.hp-member { display:flex; justify-content:space-between; gap:14px; border-bottom:1px solid var(--border); padding:12px 0; }
.hp-checks { max-height:150px; overflow:auto; }
.hp-checks label { font-weight:400; font-size:12.5px; color:var(--text-sub); line-height:1.8; text-transform:none; letter-spacing:0; }
.hp-notice { background:var(--surface-alt); color:var(--text-sub); padding:12px 14px; border-radius:var(--radius-sm); font-size:12px; line-height:1.7; }
.hp-decision { padding:10px 12px; border-left:3px solid var(--accent); margin-top:14px; white-space:pre-wrap; }
.hp-working { border-left:3px solid var(--warn); padding:12px 16px; background:var(--surface-alt); line-height:1.7; }
@media(max-width:640px) {
  .hp-stats { grid-template-columns:repeat(2,1fr); }
  .hp-form .hp-cols { grid-template-columns:1fr; }
  .hp-dialog-head, .hp-dialog-body { padding:16px; }
  .hp-stat { padding:12px; }
}
/* Project month view and day agenda, using the same Harbor design tokens. */
.hp-calendar { margin:20px 0 26px; }
.hc-month-nav { display:flex; align-items:center; gap:6px; margin-left:auto; }
.hc-month-nav strong { min-width:90px; text-align:center; font-size:13px; }
.hc-sync { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:12px; }
.hc-sync .hp-muted { flex:1 1 230px; }
.hc-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-md); overflow:hidden; }
.hc-weekday { text-align:center; padding:8px 0; background:var(--surface-alt); color:var(--text-sub); font-size:11px; font-weight:700; }
.hc-weekday:first-child { color:var(--danger); }
.hc-day { min-height:104px; padding:5px; border-top:1px solid var(--border); border-right:1px solid var(--border); }
.hc-day:nth-child(7n) { border-right:0; }
.hc-day.outside { background:var(--bg); }
.hc-day.outside .hc-date { color:var(--muted); }
.hc-day.selected { box-shadow:inset 0 0 0 2px var(--accent); }
.hc-date { border:0; background:none; color:var(--text); font-size:12px; font-weight:600; width:25px; height:25px; border-radius:50%; }
.hc-day.today .hc-date { background:var(--primary); color:white; }
.hc-event { width:100%; display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:left; margin-top:3px; padding:3px 4px; border:0; border-radius:3px; background:var(--primary-light); color:var(--primary); font-size:10.5px; line-height:1.4; }
.hc-event.deadline { color:var(--warn); background:var(--warn-light); }
.hc-more { border:0; background:none; color:var(--muted); font-size:10px; margin-top:3px; }
.hc-agenda { margin-top:12px; padding:14px 16px; border:1.5px solid var(--border); border-radius:var(--radius-md); background:var(--surface); }
.hc-agenda h4 { font-size:13px; margin-right:auto; }
.hc-agenda-row { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:10px 0; border:0; border-top:1px solid var(--border); width:100%; background:none; text-align:left; color:var(--text); font-size:12px; }
.hc-check { font-size:12px; color:var(--text-sub); text-transform:none; letter-spacing:0; }
.hc-cancelled { margin-top:10px; color:var(--muted); font-size:12px; }
.hc-cancelled .hp-btn { margin:8px 6px 0 0; }
@media(max-width:640px) { .hc-day { min-height:82px; padding:3px; } .hc-event { font-size:10px; } .hc-month-nav { margin-left:0; } .hc-sync .hp-btn { padding:6px 9px; } }

/* Document-style workspace. Primary MobyDick navigation stays centered. */
body:has(#panel-harbor.active :is(#hp-root,#hd-root):not([hidden])) .container { max-width:1760px; padding:24px 32px 100px; }
body:has(#panel-harbor.active :is(#hp-root,#hd-root):not([hidden])) .header-inner { max-width:1696px; }
body:has(#panel-harbor.active :is(#hp-root,#hd-root):not([hidden])) .container > .tabs { max-width:760px; margin:0 auto 24px; }
#harbor-mode-nav { width:fit-content; border:0; background:transparent; padding:0; box-shadow:none; gap:6px; margin-bottom:20px; }
#harbor-mode-nav .tab { flex:none; padding:7px 14px; border-radius:6px; font-size:12px; }
.hp-workspace { display:grid; grid-template-columns:210px minmax(0,1fr); gap:24px; align-items:start; }
.hp-project-rail { position:sticky; top:88px; padding-top:14px; }
.hp-rail-heading { display:flex; justify-content:space-between; align-items:center; margin:0 10px 10px; }
.hp-rail-heading h2 { font-size:11px; font-weight:600; color:var(--muted); }
.hp-rail-heading .hp-btn { padding:0 6px; font-size:17px; background:none; border:0; }
.hp-project-rail nav { display:grid; gap:3px; }
.hp-project-item { display:flex; align-items:flex-start; gap:8px; border:0; border-radius:5px; padding:9px 10px; text-align:left; color:var(--text-sub); background:transparent; width:100%; font-size:12px; line-height:1.55; font-weight:500; overflow-wrap:anywhere; }
.hp-project-item:hover { background:var(--surface-alt); }
.hp-project-item.selected { background:var(--primary-light); color:var(--primary); }
.hp-project-item small { display:block; font-size:10px; font-weight:400; color:var(--muted); margin-top:3px; }
.hp-project-icon { color:var(--muted); font-size:16px; line-height:1.4; }
.hp-rail-tools { margin:24px 10px; color:var(--muted); font-size:11px; }
.hp-rail-tools h2 { font-size:11px; font-weight:600; margin-bottom:8px; }
.hp-rail-tools .hp-btn { display:block; text-align:left; background:none; border:0; padding:6px 0; font-size:11px; color:var(--text-sub); }
.hp-work-main { min-width:0; min-height:640px; background:var(--surface); padding:30px 40px 60px; border-radius:8px; }
.hp-project-header { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; margin-bottom:12px; }
.hp-project-header h1 { font-size:27px; font-weight:750; letter-spacing:-.7px; margin:8px 0 0; line-height:1.4; overflow-wrap:anywhere; }
.hp-eyebrow { font-size:11px; color:var(--muted); }
.hp-project-tools { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.hp-project-tools .hp-btn { padding:5px 7px; font-size:11px; color:var(--text-sub); background:none; border:0; }
.hp-brief { background:none; border:0; box-shadow:none; border-radius:0; padding:0; margin:0 0 28px; color:var(--muted); font-size:12px; }
.hp-brief summary { font-weight:400; }
.hp-brief p { max-width:850px; }
.hp-list-heading { font-size:12px; font-weight:600; padding:9px 0; border-bottom:1px solid var(--border); margin-bottom:12px; }
.hp-task-section { min-width:0; }
.hp-list-toolbar { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:8px; }
.hp-task-views { display:flex; flex-wrap:wrap; gap:3px; }
.hp-task-views .hp-btn { background:none; border:0; padding:5px 8px; border-radius:4px; font-size:11px; font-weight:500; color:var(--muted); }
.hp-task-views .hp-btn[aria-pressed=true] { color:var(--text); background:var(--surface-alt); }
.hp-task-views .hp-btn span { margin-left:4px; font-size:10px; color:var(--muted); }
.hp-list-tools { display:flex; gap:8px; align-items:center; }
.hp-task-search { display:flex; align-items:center; gap:5px; margin:0; color:var(--muted); font-weight:400; }
.hp-task-search span { font-size:20px; line-height:1; }
.hp-task-search input { min-width:0; width:115px; border:0; padding:5px 0; background:none; font-size:11px; color:var(--text); outline-offset:2px; }
.hp-table-wrap { border:0; border-radius:0; margin:0; overflow-x:auto; }
.hp-table { min-width:540px; table-layout:fixed; }
.hp-table th { background:none; color:var(--muted); font-size:10.5px; font-weight:400; letter-spacing:0; padding:7px 10px; border-bottom:1px solid var(--border); }
.hp-table td { padding:11px 10px; border-top:0; border-bottom:1px solid var(--border); vertical-align:middle; font-size:11.5px; }
.hp-table th:first-child,.hp-table td:first-child { width:59%; padding-left:4px; }
.hp-table th:nth-child(2) { width:16%; }
.hp-table th:nth-child(3) { width:15%; }
.hp-table th:nth-child(4) { width:10%; }
.hp-table tbody tr:hover { background:var(--surface-alt); }
.hp-task-name { display:flex; align-items:center; gap:5px; }
.hp-task-link { display:flex; align-items:center; gap:8px; min-width:0; flex:1; width:auto; font-size:12.5px; line-height:1.55; font-weight:500; color:var(--text); }
.hp-task-link svg { width:17px; height:17px; flex-shrink:0; color:var(--muted); }
.hp-task-link span { overflow-wrap:anywhere; }
.hp-task-link:hover { color:var(--text); text-decoration:none; }
.hp-row-popout { flex-shrink:0; background:none; border:0; color:var(--muted); padding:2px 5px; opacity:0; font-size:14px; }
.hp-table tr:hover .hp-row-popout,.hp-row-popout:focus-visible { opacity:1; }
.hp-assignee { color:var(--text-sub); }
.hp-table .hp-badge { padding:1px 6px; font-weight:500; border-radius:4px; font-size:10px; }
.hp-add-row.hp-btn { display:block; width:100%; text-align:left; border:0; background:none; color:var(--muted); padding:11px 6px; border-radius:0; font-size:12px; font-weight:400; }
.hp-add-row.hp-btn:hover { background:var(--surface-alt); }
.hp-table .hp-list-empty { padding:35px 10px; color:var(--muted); width:auto; text-align:center; }
.hp-more { position:relative; flex-shrink:0; }
.hp-more > summary { display:grid; place-items:center; list-style:none; width:28px; height:28px; border-radius:4px; cursor:pointer; color:var(--muted); font-weight:700; font-size:19px; line-height:1; }
.hp-more > summary::-webkit-details-marker { display:none; }
.hp-more > summary:hover,.hp-more[open] > summary { background:var(--surface-alt); }
.hp-more-menu { position:absolute; z-index:50; right:0; top:32px; min-width:190px; padding:5px; background:var(--surface); border:1px solid var(--border); border-radius:7px; box-shadow:var(--shadow-md); }
.hp-more-menu .hp-btn { display:block; text-align:left; width:100%; margin:0; padding:8px 10px; background:none; border:0; border-radius:4px; font-size:12px; color:var(--text-sub); }
.hp-more-menu .hp-btn:hover { background:var(--surface-alt); }
.hp-status-filter { display:grid; gap:8px; font-size:11px; color:var(--muted); padding:8px; }
.hp-status-filter select { max-width:100%; padding:6px; border:1px solid var(--border); color:var(--text); background:var(--surface); border-radius:4px; }
.hp-calendar-switch { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:12px; margin-bottom:20px; padding-bottom:16px; border-bottom:1px solid var(--border); color:var(--muted); font-size:11px; }
.hp-calendar-switch select { min-width:0; width:100%; padding:8px 10px; border:1px solid var(--border); border-radius:5px; background:var(--surface); color:var(--text); font-size:12px; }
.hp-page-navigation { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:28px; }
.hp-page-navigation .hp-btn { border:0; background:none; color:var(--muted); padding:0; font-size:11px; text-align:left; max-width:75%; }
.hp-page-navigation .hp-btn:last-child { flex-shrink:0; }
.hp-document-title { margin-bottom:24px; }
.hp-document-icon svg { width:28px; height:28px; color:var(--muted); margin-bottom:10px; }
.hp-document-title h1 { font-size:28px; font-weight:750; letter-spacing:-.7px; line-height:1.4; overflow-wrap:anywhere; }
.hp-document-title h1:focus { outline:none; }
.hp-properties { display:grid; gap:9px; margin:0 0 20px; font-size:12px; }
.hp-properties > div { display:flex; align-items:center; gap:12px; }
.hp-properties dt { width:90px; flex-shrink:0; color:var(--muted); }
.hp-properties dd { margin:0; color:var(--text-sub); }
.hp-document-actions { display:flex; align-items:center; gap:8px; margin:22px 0; flex-wrap:wrap; }
.hp-document-actions > .hp-btn { padding:7px 11px; font-size:11.5px; border-radius:5px; }
.hp-task-context { padding:16px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); margin:24px 0; }
.hp-task-context summary { cursor:pointer; color:var(--text-sub); font-size:12px; }
.hp-task-context[open] summary { margin-bottom:16px; }
.hp-task-context h2 { font-size:13px; font-weight:650; margin:18px 0 8px; }
.hp-task-context .hp-muted { margin:14px 0 0; }
.hp-task-context .hp-prose { font-size:13px; line-height:1.85; }
.hp-deliverables > h2 { font-size:16px; font-weight:700; margin:24px 0 10px; }
.hp-task-document .hp-version { border:0; border-radius:0; border-top:1px solid var(--border); padding:16px 0; margin:0; }
.hp-task-document .hp-version:first-of-type { border-top:0; }
.hp-version summary { font-size:13px; }
.hp-version-meta { margin-left:12px; color:var(--muted); white-space:nowrap; font-size:11px; font-weight:400; }
.hp-task-document .hp-result-body { margin:22px 0; font-size:14px; line-height:1.9; }
.hp-evidence { background:var(--surface-alt); border-radius:5px; padding:11px 14px; margin:20px 0; }
.hp-evidence summary { font-size:11px; font-weight:500; color:var(--text-sub); }
.hp-evidence p,.hp-evidence .hp-prose { margin:10px 0; }
.hp-result-empty { padding:16px 0 28px; line-height:1.85; }
.hp-card-document .hp-document-title h1 { font-size:22px; }
.hp-card-document .hp-document-icon { display:none; }
.hp-form-options > summary { cursor:pointer; color:var(--muted); font-size:12px; padding:9px 0; }
.hp-form-options > .hp-form { padding-top:12px; }

/* Nonmodal cards follow the existing memo-window interaction. Forms retain their focused dialog. */
.hp-window { position:fixed; display:flex; flex-direction:column; min-width:300px; min-height:220px; max-width:calc(100vw - 16px); max-height:calc(100dvh - 16px); border:1px solid var(--border-strong); border-radius:12px; background:var(--surface); box-shadow:0 16px 60px rgba(20,62,57,.22),0 3px 10px rgba(20,62,57,.12); overflow:hidden; }
.hp-window[hidden], .hp-window-tray[hidden] { display:none!important; }
.hp-window:focus { outline:none; }
.hp-window:focus-within { border-color:var(--primary); }
.hp-window-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 12px; color:#fff; background:var(--primary); cursor:grab; user-select:none; touch-action:none; flex-shrink:0; }
.hp-window-head h3 { font-size:12px; font-weight:650; line-height:1.5; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hp-window-controls { display:flex; gap:3px; flex-shrink:0; }
.hp-window-controls button { width:28px; height:28px; display:grid; place-items:center; padding:0; background:transparent; color:white; border:0; border-radius:5px; font-size:17px; }
.hp-window-controls button:hover { background:rgba(255,255,255,.16); }
.hp-window-body { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; padding:22px; }
.hp-window-body .hp-calendar { margin:0; }
.hp-window.maximized { left:8px!important; top:8px!important; width:calc(100vw - 16px)!important; height:calc(100dvh - 16px)!important; }
.hp-window-resize { position:absolute; right:0; bottom:0; width:18px; height:18px; border:0; background:linear-gradient(135deg,transparent 50%,var(--border-strong) 50%,var(--border-strong) 60%,transparent 60%,transparent 72%,var(--border-strong) 72%,var(--border-strong) 82%,transparent 82%); cursor:nwse-resize!important; touch-action:none; }
.hp-window.maximized .hp-window-resize { display:none; }
.hp-window-tray { position:fixed; bottom:14px; left:24px; display:flex; flex-wrap:wrap; gap:6px; max-width:calc(100vw - 170px); z-index:880; padding:6px; border:1px solid var(--border); background:var(--surface); border-radius:10px; box-shadow:var(--shadow-md); }
.hp-tray-item { display:block; max-width:230px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; border:0; padding:8px 10px; background:var(--surface-alt); color:var(--text-sub); font-size:11px; border-radius:6px; }
.hp-tray-item[aria-pressed=true] { color:var(--primary); background:var(--primary-light); }
body:not(.app-window-page):not(:has(#panel-harbor.active :is(#hp-root,#hd-root):not([hidden]))) .hp-window:not([data-window-key="meeting-ai"]):not([data-window-key^="agent-history:"]):not([data-window-key^="agent-draft:"]):not([data-window-key^="agent-source:"]):not([data-window-key^="agent-memory:"]),
body:not(.app-window-page):not(:has(#panel-harbor.active :is(#hp-root,#hd-root):not([hidden]))):not(:has(.hp-window[data-window-key="meeting-ai"],.hp-window[data-window-key^="agent-history:"],.hp-window[data-window-key^="agent-draft:"],.hp-window[data-window-key^="agent-source:"],.hp-window[data-window-key^="agent-memory:"])) .hp-window-tray,
body:not(.app-window-page):not(:has(#panel-harbor.active :is(#hp-root,#hd-root):not([hidden]))) .hp-window-tray [data-key]:not([data-key="meeting-ai"]):not([data-key^="agent-history:"]):not([data-key^="agent-draft:"]):not([data-key^="agent-source:"]):not([data-key^="agent-memory:"]) { display:none!important; }
@media(max-width:1100px) {
  .hp-workspace { grid-template-columns:180px minmax(0,1fr); gap:16px; }
  .hp-work-main { padding:26px 24px 45px; }
  .hp-project-header h1 { font-size:24px; }
  .hp-project-header { flex-wrap:wrap; }
  .hp-list-toolbar { align-items:flex-start; flex-wrap:wrap; }
}
@media(max-width:760px) {
  body:has(#panel-harbor.active :is(#hp-root,#hd-root):not([hidden])) .container { padding:18px 12px 100px; }
  body:has(#panel-harbor.active :is(#hp-root,#hd-root):not([hidden])) .header-whale { display:none; }
  .hp-workspace { grid-template-columns:minmax(0,1fr); gap:14px; }
  .hp-project-rail { position:static; padding-top:0; }
  .hp-project-rail nav { display:flex; overflow-x:auto; gap:6px; padding-bottom:3px; }
  .hp-project-item { flex:0 0 190px; padding:8px; }
  .hp-rail-heading { margin-bottom:6px; }
  .hp-rail-tools { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:8px; }
  .hp-rail-tools h2 { margin:0; }
  .hp-work-main { padding:20px 14px 32px; min-height:450px; }
  .hp-project-header { gap:8px; }
  .hp-project-header h1,.hp-document-title h1 { font-size:22px; }
  .hp-project-tools { margin-left:auto; }
  .hp-brief { margin-bottom:18px; }
  .hp-list-tools { width:100%; justify-content:space-between; }
  .hp-task-search input { width:150px; }
  .hp-table { min-width:0; }
  .hp-table thead { display:none; }
  .hp-table tbody tr { display:grid; grid-template-columns:1fr auto auto; column-gap:10px; padding:11px 0; border-bottom:1px solid var(--border); }
  .hp-table td { border:0; padding:3px 0; min-width:0; }
  .hp-table td:first-child { width:auto; grid-column:1/-1; padding:0 0 5px; }
  .hp-table td:nth-child(3),.hp-table td:nth-child(4) { font-size:10px; }
  .hp-task-link { font-size:12px; }
  .hp-row-popout { opacity:1; }
  .hp-table .hp-list-empty { grid-column:1/-1; padding:22px 0; }
  .hp-page-navigation { margin-bottom:22px; }
  .hp-window { min-width:0; max-width:calc(100vw - 16px); max-height:none; }
  .hp-window:not(.user-resized):not(.user-positioned):not(.maximized) { left:8px!important; top:76px!important; width:calc(100vw - 16px)!important; height:calc(100dvh - 148px)!important; min-width:0; max-height:none; }
  .hp-window-body { padding:16px; }
  .hp-window-resize,.hp-window-controls [data-window-action=maximize] { display:none; }
  .hp-window-head { cursor:grab; }
  .hp-window-tray { bottom:10px; left:8px; max-width:calc(100vw - 16px); flex-wrap:nowrap; overflow:auto; }
  .hp-tray-item { flex-shrink:0; max-width:180px; }
}
