:root {
  color-scheme: dark;
  --bg: #07110f;
  --panel: #0c1a17;
  --panel-2: #10231e;
  --line: #1f5a48;
  --line-soft: #163a30;
  --ink: #e3f3e9;
  --muted: #92b6a5;
  --signal: #79f2ae;
  --amber: #f5c76a;
  --danger: #ff9b87;
  --mono: "IBM Plex Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}
* { box-sizing: border-box; }
html { min-height: 100%; background: var(--bg); }
body { min-width: 320px; min-height: 100vh; margin: 0; padding: max(14px, env(safe-area-inset-top)) 14px calc(100px + env(safe-area-inset-bottom)); background: radial-gradient(circle at 90% -10%, #14372c 0, transparent 33rem), var(--bg); color: var(--ink); font: 14px/1.45 var(--mono); }
button, textarea, select { font: inherit; }
button { cursor: pointer; }
.grid, .scanlines { pointer-events: none; position: fixed; inset: 0; z-index: -1; }
.grid { opacity: .18; background-image: linear-gradient(#1b4b3d 1px, transparent 1px), linear-gradient(90deg, #1b4b3d 1px, transparent 1px); background-size: 28px 28px; mask-image: linear-gradient(to bottom, black, transparent 80%); }
.scanlines { opacity: .1; background: repeating-linear-gradient(0deg, transparent, transparent 3px, #000 4px); }
.shell { width: min(100%, 880px); margin: 0 auto; }
.masthead { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 4px 2px 18px; border-bottom: 1px solid var(--line-soft); }
.brand { display: flex; align-items: center; gap: 9px; color: var(--ink); text-decoration: none; letter-spacing: .03em; }
.brand-mark { color: var(--signal); font-size: 26px; text-shadow: 0 0 18px #4acf86; }
.brand b, .brand small { display: block; }
.brand b { font-size: 16px; }
.brand small, .eyebrow, .session-state, .capture-panel label, .stub-label { font-size: 10px; letter-spacing: .12em; }
.brand small { color: var(--muted); }
.session-state { display: flex; align-items: center; gap: 6px; padding-top: 7px; color: var(--muted); white-space: nowrap; }
.session-state i { width: 7px; height: 7px; border-radius: 50%; background: var(--amber); box-shadow: 0 0 8px currentColor; }
.session-state.online { color: var(--signal); }.session-state.online i { background: var(--signal); }.session-state.offline { color: var(--danger); }.session-state.offline i { background: var(--danger); }
.today-heading { padding: 23px 0 15px; }.eyebrow { margin: 0 0 4px; color: var(--signal); }.heading-row { display: flex; justify-content: space-between; gap: 18px; align-items: center; }.heading-row h1, .placeholder h2 { margin: 0; font-size: clamp(28px, 8vw, 39px); line-height: 1; letter-spacing: -.05em; }.heading-row p { margin: 7px 0 0; color: var(--muted); }
.icon-button { min-width: 43px; height: 43px; border: 1px solid var(--line); background: var(--panel); color: var(--signal); font-size: 22px; }.icon-button:hover { background: var(--panel-2); }
.capture-panel, .tab-panel, .session-notice, .next-five-panel { border: 1px solid var(--line); background: linear-gradient(135deg, rgba(17,38,31,.96), rgba(8,20,17,.96)); box-shadow: 0 12px 35px rgba(0,0,0,.16); }
.capture-panel { padding: 13px; }.capture-panel label { display: block; margin-bottom: 8px; color: var(--signal); }.capture-row { display: flex; gap: 9px; align-items: stretch; }.capture-row textarea { flex: 1; min-width: 0; resize: vertical; border: 1px solid var(--line); border-radius: 0; padding: 10px; color: var(--ink); background: #06100e; outline: none; }.capture-row textarea:focus, .comms-panel textarea:focus, .comms-panel select:focus { border-color: var(--signal); box-shadow: 0 0 0 2px #79f2ae20; }.capture-row button, .action-link, .comms-actions button { border: 1px solid var(--signal); background: var(--signal); color: #07110f; padding: 10px 12px; font-weight: 800; text-decoration: none; }.capture-row button:hover, .action-link:hover, .comms-actions button:hover { background: #b7ffd4; }.voice-button { white-space: nowrap; background: var(--panel-2) !important; color: var(--signal) !important; }.voice-button.listening { border-color: var(--danger); color: var(--danger) !important; animation: pulse 1s infinite; }.feedback { min-height: 1.2em; margin: 8px 0 0; color: var(--muted); font-size: 12px; }.feedback.error { color: var(--danger); } @keyframes pulse { 50% { opacity: .55; } }
.tab-panel { margin-top: 14px; }.panel-heading { display: flex; align-items: center; gap: 8px; min-height: 48px; padding: 0 13px; border-bottom: 1px solid var(--line-soft); color: var(--signal); }.panel-heading h2 { margin: 0; font-size: 12px; letter-spacing: .1em; }.count { margin-left: auto; min-width: 24px; padding: 1px 6px; color: var(--ink); text-align: center; background: var(--line-soft); }
.task-groups, .tasks-list { padding: 0 13px 8px; }.loading, .empty { color: var(--muted); padding: 18px 0; margin: 0; }.task-group { padding: 13px 0 5px; }.task-group + .task-group { border-top: 1px solid var(--line-soft); }.group-name { display: flex; align-items: center; gap: 7px; margin: 0 0 4px; color: var(--amber); font-size: 11px; letter-spacing: .09em; cursor:pointer; list-style:none; }.group-name::-webkit-details-marker { display:none; }.group-name::before { content: "+"; color: var(--signal); font-size:15px; }.task-group[open] .group-name::before { content: "−"; }.task { display: grid; width: 100%; grid-template-columns: auto 1fr; gap: 10px; padding: 11px 0; border: 0; border-bottom: 1px dashed #1d4438; text-align: left; background: transparent; color: inherit; }.task:last-child { border-bottom: 0; }.task:hover, .task:focus-visible { background: #17312680; outline: 1px solid var(--signal); outline-offset: -1px; }.task-priority { display: grid; width: 23px; height: 23px; place-items: center; border: 1px solid var(--line); color: var(--signal); font-size: 10px; }.task-priority.p1 { border-color: var(--danger); color: var(--danger); }.task-title { margin: 0; color: var(--ink); font-size: 13px; word-break: break-word; }.task-meta { display: flex; flex-wrap: wrap; gap: 5px 10px; margin: 5px 0 0; color: var(--muted); font-size: 11px; }.due { color: var(--amber); }.due.overdue { color: var(--danger); }.due.today { color: var(--danger); }.done { opacity: .65; }
.next-five-panel { margin: 0 0 14px; }.next-five-note { margin-left:auto; color:var(--amber); font-size:10px; letter-spacing:.08em; white-space:nowrap; }.next-five-list { padding: 0 13px 6px; }.next-task { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; width:100%; padding:11px 0; border:0; border-bottom:1px solid var(--line-soft); background:transparent; color:var(--ink); text-align:left; font:inherit; }.next-task:last-child { border-bottom:0; }.next-task-title { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.next-why { border:1px solid var(--line); color:var(--signal); padding:3px 5px; font-size:10px; font-weight:800; letter-spacing:.06em; white-space:nowrap; }
.task-filters { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:13px; border-bottom:1px solid var(--line-soft); }.task-filters label { display:grid; gap:4px; color:var(--signal); font-size:10px; letter-spacing:.08em; }.task-filters select, .task-sheet-content input, .task-sheet-content textarea { width:100%; border:1px solid var(--line); border-radius:0; padding:9px; background:#06100e; color:var(--ink); font:inherit; }.task-filters select:focus, .task-sheet-content input:focus, .task-sheet-content textarea:focus { outline:2px solid #79f2ae40; border-color:var(--signal); }.task-filters .mini-button { margin:0; min-height:39px; align-self:end; }.task-board-intro { margin:0; padding:10px 13px; color:var(--muted); font-size:11px; border-bottom:1px solid var(--line-soft); }.task-sheet { position:fixed; z-index:30; inset:0; display:flex; align-items:flex-end; background:#000a; }.task-sheet-card { width:100%; max-height:90vh; overflow:auto; border:1px solid var(--line); border-bottom:0; background:var(--panel); box-shadow:0 -16px 45px #0008; }.task-sheet-head { display:flex; justify-content:space-between; align-items:center; min-height:58px; padding:0 13px; border-bottom:1px solid var(--line-soft); }.task-sheet-head .eyebrow { margin:0; }.task-sheet-head .icon-button { min-width:40px; height:40px; }.task-sheet-content { padding:14px 13px calc(20px + env(safe-area-inset-bottom)); }.task-sheet-content h2 { margin:0 0 9px; font-size:20px; line-height:1.25; word-break:break-word; }.task-detail-meta { display:flex; flex-wrap:wrap; gap:6px; color:var(--muted); font-size:11px; }.task-detail-meta span { border:1px solid var(--line); padding:2px 5px; }.task-detail-notes { margin:15px 0; padding:10px; white-space:pre-wrap; border-left:3px solid var(--amber); background:#241e0d55; color:var(--ink); font-size:12px; word-break:break-word; }.task-sheet-content form { display:grid; gap:9px; margin-top:15px; }.task-sheet-content label { display:grid; gap:5px; color:var(--signal); font-size:10px; letter-spacing:.08em; }.task-sheet-content textarea { resize:vertical; }.task-sheet-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:14px; }.task-sheet-actions button, .task-sheet-content form button { min-height:45px; border:1px solid var(--line); background:var(--panel-2); color:var(--ink); padding:8px; font-weight:800; }.task-sheet-actions .complete { border-color:var(--signal); background:var(--signal); color:var(--bg); }.task-sheet-actions .reopen { border-color:var(--amber); color:var(--amber); }.task-sheet-actions .snooze { border-color:var(--line); color:var(--muted); }.task-sheet-actions .wait { border-color:var(--amber); color:var(--amber); }.wait-date { color:var(--amber) !important; }.wait-date input { min-height:45px; }.task.waiting { opacity:.75; }.wake { color:var(--amber); }.task-toast { position:fixed; z-index:40; right:12px; bottom:calc(86px + env(safe-area-inset-bottom)); left:12px; display:flex; align-items:center; justify-content:space-between; gap:9px; padding:11px; border:1px solid var(--signal); background:#0c1a17f5; color:var(--ink); box-shadow:0 8px 30px #0008; }
.placeholder { min-height: 265px; padding: 23px; }.placeholder p:not(.eyebrow) { max-width: 48ch; margin: 16px 0 25px; color: var(--muted); }.stub-label { display: inline-block; border: 1px dashed var(--line); padding: 6px 8px; color: var(--amber); }
.approval-intro { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 13px; border-bottom:1px solid var(--line-soft); }.approval-intro p { margin:0; color:var(--muted); font-size:12px; }.text-button, .ask-cancel { border:1px solid var(--line); background:transparent; color:var(--signal); min-height:40px; padding:8px 10px; font-weight:700; white-space:nowrap; }.approval-cards { padding:0 13px 8px; }.approval-card { padding:15px 0; border-bottom:1px solid var(--line-soft); }.approval-card:last-child { border-bottom:0; }.approval-card.stale { border-left:3px solid var(--danger); padding-left:10px; margin-left:-13px; }.approval-top { display:flex; justify-content:space-between; gap:8px; align-items:center; }.approval-ref, .risk-signals { color:var(--amber); font-size:10px; font-weight:800; letter-spacing:.1em; }.approval-age { color:var(--muted); font-size:11px; }.approval-age.overdue { color:var(--danger); font-weight:800; }.approval-card h3 { margin:10px 0 12px; font-size:16px; line-height:1.3; }.approval-card dl { margin:0; }.approval-card dl div { display:grid; grid-template-columns:63px 1fr; gap:8px; padding:5px 0; }.approval-card dt { color:var(--signal); font-size:10px; letter-spacing:.08em; }.approval-card dd { margin:0; color:var(--muted); font-size:12px; word-break:break-word; }.risk-signals { margin:12px 0 0; }.approval-actions { display:grid; grid-template-columns:1fr 1fr 1fr; gap:7px; margin-top:14px; }.approval-actions button, .ask-send { min-height:48px; border:1px solid var(--line); padding:8px 4px; font-size:11px; font-weight:800; }.approve-button, .ask-send { border-color:var(--signal) !important; background:var(--signal); color:#07110f; }.decline-button { background:transparent; color:var(--danger); border-color:var(--danger) !important; }.ask-button { background:var(--panel-2); color:var(--amber); border-color:var(--amber) !important; }.approval-actions button:disabled, .ask-form button:disabled { opacity:.55; cursor:wait; }.ask-form { margin-top:12px; padding:11px; border:1px dashed var(--line); }.ask-form label { display:block; color:var(--signal); font-size:10px; letter-spacing:.08em; }.ask-form textarea { display:block; width:100%; margin-top:7px; padding:9px; resize:vertical; border:1px solid var(--line); background:#06100e; color:var(--ink); }.ask-form > div { display:flex; gap:8px; margin-top:8px; }.ask-form button { min-height:40px; padding:7px 10px; font-weight:800; }.approval-feedback { min-height:1.2em; margin:9px 0 0; color:var(--muted); font-size:11px; }
.mini-button, .primary-button { border: 1px solid var(--signal); background: transparent; color: var(--signal); padding: 7px 9px; font-weight: 800; font-size: 11px; }.mini-button { margin-left: auto; }.primary-button { width: 100%; margin-top: 5px; background: var(--signal); color: var(--bg); }.client-intro, .client-list, .scope-desk, .quote-desk { padding: 13px; }.client-intro p { margin: 0; color: var(--muted); font-size: 12px; }.client-card { width: 100%; margin: 0; padding: 13px 0; border: 0; border-bottom: 1px dashed var(--line-soft); text-align: left; background: transparent; color: var(--ink); }.client-card:last-child { border-bottom: 0; }.client-card h3 { margin: 0 0 6px; font-size: 14px; }.client-meta { display: flex; flex-wrap: wrap; gap: 6px 11px; color: var(--muted); font-size: 11px; }.scope-meter { color: var(--amber); }.scope-desk { border-top: 1px solid var(--line); background: rgba(6,16,14,.38); }.scope-desk h3, .quote-desk h3 { margin: 0 0 5px; font-size: 17px; }.scope-summary, .quote-warning, .rate-conflict { margin: 0 0 12px; color: var(--muted); font-size: 12px; }.rate-conflict { padding: 9px; border-left: 3px solid var(--danger); background: #3b171333; color: var(--danger); }.check-item { display: grid; grid-template-columns: 22px 1fr; gap: 9px; padding: 10px 0; border-top: 1px dashed var(--line-soft); }.check-item input { width: 17px; height: 17px; margin: 2px 0 0; accent-color: var(--signal); }.check-item b, .check-item small { display: block; }.check-item small { margin-top: 3px; color: var(--muted); font-size: 11px; }.scope-actions { display: flex; align-items: center; gap: 10px; margin-top: 12px; }.scope-actions .feedback { margin: 0; }.quote-desk { border-top: 1px solid var(--line); }.quote-desk form { display: grid; gap: 10px; margin: 12px 0; }.quote-desk label { display: grid; gap: 5px; color: var(--signal); font-size: 10px; letter-spacing: .08em; }.quote-desk select, .quote-desk input, .quote-desk textarea { width: 100%; border: 1px solid var(--line); border-radius: 0; padding: 9px; color: var(--ink); background: #06100e; font: 12px/1.4 var(--mono); }.quote-draft { margin: 12px 0; padding: 11px; border: 1px solid var(--amber); background: #241e0d55; }.quote-draft h4, .quote-draft p { margin: 0 0 7px; }.quote-draft p { font-size: 12px; color: var(--muted); }.quote-draft strong { color: var(--amber); }
.comms-panel { padding: 18px 13px; }.comms-panel h2 { margin: 0; font-size: clamp(28px, 8vw, 39px); line-height: 1; letter-spacing: -.05em; }.comms-intro, .comms-context { color: var(--muted); }.comms-panel label { display: block; margin: 14px 0 7px; color: var(--signal); font-size: 10px; letter-spacing: .12em; }.comms-panel select, .comms-panel textarea { width: 100%; border: 1px solid var(--line); border-radius: 0; padding: 10px; color: var(--ink); background: #06100e; outline: none; }.comms-panel textarea { resize: vertical; }.comms-context { min-height: 3em; margin: 10px 0; font-size: 12px; }.comms-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }.comms-actions .secondary { border-color: var(--line); background: var(--panel-2); color: var(--ink); }.comms-actions .secondary:hover { background: #18332b; }.comms-actions .action-link { display: inline-flex; align-items: center; }.comms-panel button:disabled, .comms-panel select:disabled { opacity: .55; cursor: not-allowed; }
.dashboard-login, .focus-form { display:flex; flex-wrap:wrap; align-items:end; gap:10px; margin-bottom:14px; }
.dashboard-login label, .focus-form label { display:grid; flex:1 1 180px; min-width:0; gap:5px; color:var(--signal); font-size:11px; }
.dashboard-login input, .focus-form input { width:100%; min-width:0; padding:10px; border:1px solid var(--line); background:#06100e; color:var(--ink); font:inherit; }
.dashboard-login button { min-height:42px; padding:9px 14px; border:1px solid var(--signal); background:var(--signal); color:var(--bg); font:inherit; }
.focus-form { padding:13px; margin:0; }.focus-form .mini-button { margin:0; min-height:42px; }
#approvalDetail { border-bottom:1px solid var(--line); }#clientFocusFeedback { padding:0 13px; }
.session-notice { padding: 13px; margin-top: 16px; }.session-notice p { margin: 0 0 12px; color: var(--muted); }.hidden { display: none !important; }
/* Facts and rate cards share the same compact, tap-friendly reference controls. */
.reference-toolbar { display:grid; grid-template-columns:1fr auto auto; gap:8px; padding:13px; border-bottom:1px solid var(--line-soft); }
.reference-search { display:grid; gap:4px; min-width:0; color:var(--signal); font-size:10px; letter-spacing:.08em; }
.reference-search input, .task-sheet-content select { width:100%; min-width:0; border:1px solid var(--line); border-radius:0; padding:9px; background:#06100e; color:var(--ink); font:inherit; }
.reference-search input:focus, .task-sheet-content select:focus { outline:2px solid #79f2ae40; border-color:var(--signal); }
.reference-toolbar .mini-button { margin:0; white-space:nowrap; }
.reference-intro, .reference-sheet-note { margin:0; padding:10px 13px; color:var(--muted); font-size:11px; border-bottom:1px solid var(--line-soft); }
.reference-list { padding:0 13px 8px; }
.reference-group { padding:13px 0 4px; }.reference-group + .reference-group { border-top:1px solid var(--line-soft); }
.reference-group h3 { margin:0 0 4px; color:var(--amber); font-size:10px; letter-spacing:.1em; }
.reference-row { display:flex; width:100%; justify-content:space-between; align-items:flex-start; gap:10px; padding:12px 0; border:0; border-bottom:1px dashed #1d4438; text-align:left; background:transparent; color:var(--ink); }
.reference-row:hover, .reference-row:focus-visible { background:#17312680; outline:1px solid var(--signal); outline-offset:-1px; }
.reference-row-copy { min-width:0; display:grid; gap:3px; }.reference-row-copy b, .reference-row-copy em, .reference-row-copy small { overflow-wrap:anywhere; }.reference-row-copy b { font-size:13px; }.reference-row-copy em { color:var(--ink); font-style:normal; }.reference-row-copy small { color:var(--muted); font-size:11px; }
.reference-badge { flex:0 0 auto; border:1px solid var(--line); padding:2px 5px; color:var(--amber); font-size:9px; letter-spacing:.06em; }
.reference-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:9px; }.delete-reference { border:1px solid var(--danger); background:transparent; color:var(--danger); font-weight:800; }
@media (max-width:440px) { .reference-toolbar { grid-template-columns:1fr 1fr; }.reference-search { grid-column:1 / -1; }.reference-toolbar .mini-button { min-height:39px; } }
.mcp-panel { padding: 14px; }.mcp-heading { display: flex; justify-content: space-between; gap: 12px; align-items: center; }.mcp-heading h2 { margin: 0; font-size: clamp(28px, 8vw, 39px); line-height: 1; letter-spacing: -.05em; }.mcp-intro, .credential-note { color: var(--muted); margin: 13px 0; }.credential-note { font-size: 11px; }.mcp-rows { border-top: 1px solid var(--line-soft); }.mcp-row { padding: 14px 0; border-bottom: 1px solid var(--line-soft); }.mcp-site { display: grid; gap: 3px; }.mcp-site strong { word-break: break-word; }.mcp-site small, .host-cell small { color: var(--muted); font-size: 10px; }.mcp-hosts { display: grid; gap: 8px; margin-top: 11px; }.mcp-hosts section { padding: 10px; border: 1px solid var(--line-soft); background: #06100e; }.mcp-hosts h3 { margin: 0 0 7px; color: var(--amber); font-size: 10px; letter-spacing: .1em; }.host-cell { display: grid; gap: 5px; }.switch { display: flex; align-items: center; gap: 7px; color: var(--signal); font-size: 11px; }.switch input { position: absolute; opacity: 0; }.switch span { width: 35px; height: 19px; border: 1px solid var(--line); background: #14231f; }.switch span::after { content: ''; display: block; width: 13px; height: 13px; margin: 2px; background: var(--muted); transition: transform .15s ease; }.switch input:checked + span { border-color: var(--signal); }.switch input:checked + span::after { transform: translateX(15px); background: var(--signal); }.switch input:focus-visible + span { outline: 2px solid var(--amber); outline-offset: 2px; }.switch input:disabled + span { opacity: .45; }.status { width: fit-content; border: 1px solid var(--line); padding: 1px 5px; color: var(--muted); font-size: 10px; }.status.connected { border-color: var(--signal); color: var(--signal); }.status.failed { border-color: var(--danger); color: var(--danger); }.status.untested { border-color: var(--amber); color: var(--amber); }.mcp-warning { margin-top: 14px; padding: 12px; border-left: 3px solid var(--amber); background: #241e10; color: var(--ink); }.mcp-warning strong { color: var(--amber); font-size: 11px; letter-spacing: .08em; }.mcp-warning p { margin: 6px 0 0; color: #e8d9af; }
/* Keep the registry scannable: one compact connector row, with diagnostics on demand. */
.mcp-add-details, .mcp-row-details { border:1px solid var(--line-soft); background:#06100e; }.mcp-add-details { margin:12px 0; }.mcp-add-details summary, .mcp-row-details summary { cursor:pointer; color:var(--signal); font-size:11px; font-weight:800; letter-spacing:.07em; }.mcp-add-details summary { padding:10px; }.mcp-add-details[open] summary { border-bottom:1px solid var(--line-soft); }.mcp-add-form { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:10px; }.mcp-add-form label { display:grid; gap:4px; color:var(--signal); font-size:10px; letter-spacing:.07em; }.mcp-add-form input:not([type="checkbox"]), .mcp-add-form select { min-width:0; border:1px solid var(--line); padding:8px; color:var(--ink); background:#07110f; font:inherit; }.mcp-add-form label:nth-of-type(4), .mcp-add-form label:nth-of-type(5) { display:flex; align-items:center; gap:5px; color:var(--ink); letter-spacing:0; }.mcp-add-form button { grid-column:1 / -1; min-height:38px; border:1px solid var(--signal); background:var(--signal); color:var(--bg); font-weight:800; }.mcp-add-details .credential-note { margin:0; padding:0 10px 10px; }.mcp-row { padding:8px 0; }.mcp-row-main { display:flex; align-items:center; gap:10px; min-width:0; }.mcp-site { min-width:0; flex:1 1 150px; }.mcp-site strong, .mcp-site small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.mcp-hosts { display:flex; align-items:center; gap:8px; flex:0 0 auto; margin-top:0; }.host-cell { display:flex; align-items:center; gap:4px; white-space:nowrap; }.mcp-host-name { color:var(--amber); font-size:9px; font-weight:800; letter-spacing:.07em; }.switch { gap:4px; font-size:10px; }.switch span { width:28px; height:16px; }.switch span::after { width:10px; height:10px; margin:2px; }.switch input:checked + span::after { transform:translateX(11px); }.status { max-width:72px; overflow:hidden; text-overflow:ellipsis; padding:1px 4px; font-size:9px; }.mcp-row-details { margin-top:7px; }.mcp-row-details summary { padding:7px; font-size:9px; }.mcp-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:7px; padding:7px; border-top:1px solid var(--line-soft); }.mcp-host-detail { display:grid; gap:4px; min-width:0; }.mcp-host-detail b { color:var(--amber); font-size:10px; }.mcp-host-detail small { color:var(--muted); font-size:10px; overflow-wrap:anywhere; }.mcp-test { min-height:31px; border:1px solid var(--line); background:var(--panel-2); color:var(--signal); font-size:10px; font-weight:800; }.mcp-test:disabled { opacity:.45; }.pwa-update { display:flex; align-items:center; justify-content:space-between; gap:9px; margin-top:14px; padding:9px 10px; border:1px solid var(--amber); background:#241e0d88; color:var(--amber); font-size:11px; }.pwa-update button { border:1px solid var(--amber); background:var(--amber); color:var(--bg); padding:7px 9px; font:800 10px var(--mono); white-space:nowrap; }
@media (max-width:520px) { .mcp-row-main { gap:6px; }.mcp-site { width:auto; flex:1 1 auto; }.mcp-site small, .mcp-host-name, .host-cell .status { display:none; }.mcp-hosts { width:auto; justify-content:flex-end; gap:7px; }.host-cell { min-width:0; }.mcp-detail-grid { grid-template-columns:1fr; } }
.tabbar { position: fixed; z-index: 10; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); padding: 7px max(8px, env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left)); border-top: 1px solid var(--line); background: rgba(7,17,15,.96); backdrop-filter: blur(12px); }.tab { min-width: 0; min-height: 48px; border: 0; border-top: 2px solid transparent; background: transparent; color: var(--muted); font-size: 9px; white-space: nowrap; }.tab span { display: block; margin-bottom: 2px; color: currentColor; font-size: 16px; }.tab.active { border-color: var(--signal); color: var(--signal); }.tab-badge { display:inline-grid; min-width:18px; margin-left:3px; padding:1px 4px; place-items:center; border:1px solid currentColor; font-size:9px; line-height:1.2; }
/* v61 Inbox: grouped, collapsible read-only lanes. The reading view owns acknowledgement. */
.inbox-lanes { margin:14px 0; border:1px solid var(--line); background:linear-gradient(135deg, rgba(17,38,31,.96), rgba(8,20,17,.96)); }
.inbox-lanes[hidden] { display:none; }.inbox-empty { margin:0; padding:18px 13px; color:var(--signal); font-size:15px; font-weight:800; }
.inbox-lane + .inbox-lane { border-top:1px solid var(--line-soft); }.inbox-lane summary { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:9px; align-items:center; min-height:50px; padding:0 13px; cursor:pointer; color:var(--signal); font-weight:800; letter-spacing:.08em; list-style:none; }.inbox-lane summary::-webkit-details-marker { display:none; }.inbox-lane summary::before { content:'+'; color:var(--amber); }.inbox-lane[open] summary::before { content:'−'; }.inbox-lane summary span { grid-column:1; }.inbox-lane summary small { color:var(--muted); font-size:10px; letter-spacing:0; }.inbox-lane summary b { min-width:24px; padding:1px 6px; color:var(--ink); text-align:center; background:var(--line-soft); }
.inbox-lane-body { padding:0 13px 8px; }.inbox-client { padding:10px 0 2px; border-top:1px dashed var(--line-soft); }.inbox-client:first-child { border-top:0; }.inbox-client h3 { display:flex; justify-content:space-between; gap:8px; margin:0; color:var(--amber); font-size:10px; letter-spacing:.09em; }.inbox-client h3 span { color:var(--muted); }
.inbox-item { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; width:100%; min-height:56px; padding:10px 0; border:0; border-bottom:1px dashed var(--line-soft); background:transparent; color:var(--ink); text-align:left; font:inherit; }.inbox-item:last-child { border-bottom:0; }.inbox-item:hover,.inbox-item:focus-visible { background:#17312680; outline:1px solid var(--signal); outline-offset:-1px; }.inbox-answer { display:grid; gap:7px; padding:11px 0; border-bottom:1px dashed var(--line-soft); }.inbox-answer:last-child { border-bottom:0; }.inbox-answer-title { min-height:44px; padding:0; border:0; background:transparent; color:var(--ink); text-align:left; font:inherit; font-size:13px; font-weight:800; overflow-wrap:anywhere; }.inbox-answer-title:hover,.inbox-answer-title:focus-visible { color:var(--signal); outline:1px solid var(--signal); outline-offset:2px; }.inbox-item-copy { display:grid; gap:3px; min-width:0; }.inbox-item-copy b,.inbox-item-copy small,.inbox-item-copy em { overflow-wrap:anywhere; }.inbox-item-copy small { color:var(--muted); font-size:11px; }.inbox-item-copy em { color:var(--amber); font-size:9px; font-style:normal; letter-spacing:.06em; }.inbox-open { align-self:center; color:var(--signal); font-size:10px; font-weight:800; }.inbox-more { margin:8px 0 2px; color:var(--muted); font-size:11px; }
@media (max-width:440px) { .inbox-lane summary { grid-template-columns:minmax(0,1fr) auto; }.inbox-lane summary small { grid-column:1 / -1; margin-top:-8px; } }

@media (min-width: 680px) { body { padding-bottom: 30px; }.tabbar { position: static; width: min(100%, 880px); margin: 0 auto 16px; border: 1px solid var(--line); }.tab { font-size: 11px; }.tab span { display: inline; margin: 0 6px 0 0; }.capture-row button { min-width: 92px; }.task-filters { grid-template-columns:1fr 1fr 1fr auto; align-items:end; }.task-sheet { align-items:center; justify-content:center; padding:24px; }.task-sheet-card { width:min(100%, 620px); max-height:85vh; border-bottom:1px solid var(--line); }.task-toast { right:24px; left:auto; bottom:24px; min-width:380px; }.shell { width:min(100%, 880px); } }

/* v61 Inbox reader: full-width mobile-first safe reading surface. */
.inbox-reading-sheet { position:fixed; z-index:35; inset:0; display:flex; flex-direction:column; overflow-y:auto; overscroll-behavior:contain; background:var(--bg); }.inbox-reading-card { display:flex; flex-direction:column; min-height:100%; width:100%; }.inbox-reading-head { position:sticky; top:0; z-index:2; display:flex; justify-content:space-between; align-items:center; min-height:58px; padding:0 14px; border-bottom:1px solid var(--line-soft); background:var(--panel); }.inbox-reading-head .eyebrow { margin:0; }.inbox-reading-content { flex:1; min-width:0; }.inbox-reading-body { width:min(100%,72ch); max-width:72ch; margin:0 auto; padding:18px 14px 170px; }.inbox-reading-body h1 { margin:0 0 12px; font-size:clamp(24px,7vw,38px); line-height:1.1; overflow-wrap:anywhere; }.inbox-reading-body h2,.inbox-reading-body h3 { margin:20px 0 8px; line-height:1.25; }.inbox-reading-meta { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:18px; color:var(--muted); font-size:11px; }.inbox-reading-meta span,.inbox-reading-meta a { border:1px solid var(--line); padding:3px 6px; color:inherit; overflow-wrap:anywhere; }.inbox-reading-meta a,.inbox-reading-text a,.inbox-reading-sources a { color:var(--signal); overflow-wrap:anywhere; }.inbox-reading-text { line-height:1.65; overflow-wrap:anywhere; }.inbox-reading-section-head { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-top:18px; }.inbox-reading-section-head button { min-height:44px; border:1px solid var(--line); background:transparent; color:var(--signal); font-weight:800; }.inbox-one-question { margin:16px 0; padding:12px; border-left:4px solid var(--amber); background:#241e0d55; }.inbox-one-question .eyebrow { color:var(--amber); }.inbox-reading-decision { margin:14px 0; padding:12px; border:1px solid var(--amber); background:#241e0d55; }.inbox-reading-decision p { margin:0 0 10px; }.inbox-reading-decision div { display:flex; gap:8px; }.inbox-reading-decision button { min-height:44px; flex:1; border:1px solid var(--line); background:var(--panel-2); color:var(--ink); font-weight:800; }.inbox-reading-decision button[data-reader-decision="approve"] { border-color:var(--signal); color:var(--signal); }.reading-table-wrap { max-width:100%; margin:12px 0; overflow-x:auto; overscroll-behavior-inline:contain; border:1px solid var(--line); background:#06100e; }.reading-table-wrap pre { width:max-content; min-width:100%; margin:0; padding:10px; white-space:pre; font:12px/1.5 var(--mono); }.inbox-reading-replies article { padding:10px 0; border-top:1px dashed var(--line-soft); }.inbox-reading-replies small { color:var(--muted); }.inbox-reading-replies div { margin-top:5px; overflow-wrap:anywhere; }.inbox-reading-sources { padding-left:20px; }.inbox-reading-actions { position:sticky; z-index:3; bottom:0; display:grid; grid-template-columns:auto 1fr auto; gap:8px; align-items:end; padding:10px max(14px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left)); border-top:1px solid var(--line); background:rgba(7,17,15,.97); backdrop-filter:blur(12px); }.inbox-reading-actions form { min-width:0; }.inbox-reading-actions label { display:grid; gap:4px; color:var(--signal); font-size:10px; letter-spacing:.07em; }.inbox-reading-actions textarea { width:100%; min-height:44px; max-height:120px; padding:8px; border:1px solid var(--line); background:#06100e; color:var(--ink); resize:vertical; }.inbox-reading-actions button { min-height:44px; padding:7px 10px; border:1px solid var(--line); background:var(--panel-2); color:var(--ink); font-weight:800; }.inbox-reading-actions form button { margin-top:5px; width:100%; border-color:var(--amber); color:var(--amber); }@media (max-width:520px) { .inbox-reading-actions { grid-template-columns:1fr 1fr; }.inbox-reading-actions form { grid-column:1 / -1; grid-row:1; }.inbox-reading-actions > button { grid-row:2; } }

.next-lens { display:flex; gap:6px; padding:9px 13px; border-bottom:1px solid var(--line-soft); overflow-x:auto; }.lens { min-height:34px; padding:4px 11px; border:1px solid var(--line); background:transparent; color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.06em; }.lens.active { border-color:var(--signal); background:var(--signal); color:var(--bg); }
.h-badge { display:inline-block; margin-left:6px; padding:1px 5px; border:1px solid var(--amber); color:var(--amber); font-size:10px; font-weight:800; }.h-badge.done { border-color:var(--signal); color:var(--signal); }.h-badge.ask { border-color:var(--danger); color:var(--danger); }
.task-sheet-actions .toh { grid-column:1 / -1; border-color:var(--amber); color:var(--amber); }
.more-links { display:grid; gap:8px; padding:13px; }.more-link { display:grid; grid-template-columns:28px 1fr; align-items:center; column-gap:10px; min-height:56px; padding:8px 12px; border:1px solid var(--line); background:transparent; color:var(--ink); text-align:left; text-decoration:none; font:inherit; font-weight:800; }.more-link span { color:var(--signal); font-size:18px; grid-row:span 2; }.more-link small { color:var(--muted); font-weight:400; font-size:11px; }

.build-version { margin:0; padding:0 13px 16px; color:var(--muted); font-size:11px; }

.next-client { padding:0 13px 9px; border-bottom:1px solid var(--line-soft); }.next-client input { width:100%; min-height:38px; padding:6px 10px; border:1px solid var(--line); background:transparent; color:inherit; font:inherit; font-size:13px; }
.task-checklist { margin:15px 0; padding:11px; border:1px solid var(--line-soft); background:#06100e; }.task-thread-section { margin:15px 0; padding:11px; border:1px solid var(--line-soft); background:#06100e; }.task-thread article { padding:9px 0; border-top:1px dashed var(--line-soft); }.task-thread article:first-child { border-top:0; }.task-thread small { color:var(--muted); font-size:10px; }.task-thread p { margin:5px 0 0; white-space:pre-wrap; overflow-wrap:anywhere; }.task-next-action { margin-top:15px; }.task-next-action .eyebrow, .task-deliverable .eyebrow { margin-bottom:7px; }.task-history { margin-top:15px; border-top:1px solid var(--line-soft); }.task-history summary { min-height:44px; display:flex; align-items:center; cursor:pointer; color:var(--signal); font-size:11px; font-weight:800; letter-spacing:.08em; }.checklist-heading { display:flex; justify-content:space-between; color:var(--amber); font-size:11px; letter-spacing:.08em; }.task-step { display:flex; align-items:center; gap:8px; padding:8px 0; border-bottom:1px dashed var(--line-soft); }.task-step label { display:flex; flex:1; align-items:center; gap:8px; color:var(--ink); }.task-step input { width:17px; height:17px; accent-color:var(--signal); }.task-step input:checked + span { text-decoration:line-through; color:var(--muted); }.task-step button, .task-copy-actions button, .task-checklist > button { border:1px solid var(--line); background:transparent; color:var(--signal); padding:6px 8px; font:inherit; font-size:11px; font-weight:800; }.task-checklist form { grid-template-columns:1fr auto; align-items:end; }.checklist-template { margin-top:10px; }.task-copy-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:12px 0; }.task-copy-actions .feedback { flex-basis:100%; margin:0; }.task-detail-notes a { color:var(--signal); overflow-wrap:anywhere; }
.quote-desk summary { display:grid; gap:4px; min-height:52px; padding:13px; cursor:pointer; list-style:none; }.quote-desk summary::-webkit-details-marker { display:none; }.quote-desk summary::after { content:'+'; position:absolute; right:14px; color:var(--signal); font-size:18px; }.quote-desk[open] summary { border-bottom:1px solid var(--line-soft); }.quote-desk[open] summary::after { content:'−'; }.quote-desk summary b { font-size:17px; }.quote-desk { position:relative; padding:0; }.quote-desk > :not(summary) { margin-left:13px; margin-right:13px; }.quote-desk > form { margin-bottom:12px; }
/* Operate surface: selected-client context is dense, task-first, and explicit. */
.client-control-title, .client-control-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }.client-control-title h3 { margin:0; font-size:22px; }.client-summary-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin:14px 0; }.client-summary-card { min-height:78px; padding:9px; border:1px solid var(--line); background:#06100e; color:var(--ink); text-align:left; }.client-summary-card:hover, .client-summary-card:focus-visible { border-color:var(--signal); outline:0; }.client-summary-card b, .client-summary-card span { display:block; }.client-summary-card b { color:var(--signal); font-size:25px; line-height:1; }.client-summary-card span, .client-control-heading span { margin-top:5px; color:var(--muted); font-size:9px; letter-spacing:.07em; }.client-control-section { margin:0 -13px; padding:14px 13px; border-top:1px solid var(--line-soft); }.client-control-heading .eyebrow { margin:0; }.client-services-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.client-services-grid > div { padding:10px; border:1px solid var(--line-soft); background:#06100e; }.client-services-grid h4 { margin:0; color:var(--amber); font-size:10px; letter-spacing:.08em; }.client-record-list { margin:8px 0 0; padding:0; list-style:none; }.client-record-list li { padding:7px 0; border-top:1px dashed var(--line-soft); }.client-record-list b, .client-record-list small { display:block; }.client-record-list small { margin-top:3px; color:var(--muted); font-size:10px; }.empty.compact { padding:9px 0; font-size:11px; }.client-inline-form { display:grid; grid-template-columns:1fr 120px; gap:8px; margin-top:11px; }.client-inline-form label { display:grid; gap:4px; color:var(--signal); font-size:9px; letter-spacing:.07em; }.client-inline-form label:nth-of-type(3), .client-inline-form label:nth-of-type(4), .client-inline-form label:nth-of-type(5) { grid-column:1 / -1; }.client-inline-form input, .client-inline-form select { width:100%; min-width:0; border:1px solid var(--line); padding:9px; background:#06100e; color:var(--ink); font:inherit; }.client-inline-form button { grid-column:1 / -1; min-height:42px; border:1px solid var(--signal); background:transparent; color:var(--signal); font-weight:800; }.client-content-list { display:grid; margin-top:8px; }.client-content-row { display:flex; justify-content:space-between; align-items:center; gap:9px; padding:10px 0; border:0; border-bottom:1px dashed var(--line-soft); background:transparent; color:var(--ink); text-align:left; }.client-content-row:hover, .client-content-row:focus-visible { outline:1px solid var(--signal); outline-offset:-1px; background:#17312680; }.client-content-row span { min-width:0; }.client-content-row b, .client-content-row small { display:block; overflow-wrap:anywhere; }.client-content-row small { margin-top:3px; color:var(--muted); font-size:10px; }.client-content-row em { flex:0 0 auto; color:var(--signal); font-size:9px; font-style:normal; letter-spacing:.07em; }.client-automation p { margin:8px 0 0; color:var(--muted); font-size:11px; }
@media (max-width:440px) { .client-summary-card span { font-size:8px; }.client-inline-form { grid-template-columns:1fr; }.client-inline-form label { grid-column:1 / -1 !important; } }

/* v55: threads, scoped client records, decision scope */
.thread-state { display:inline-block; padding:1px 6px; border:1px solid var(--line); color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.06em; }
.thread-state.needs_answer { border-color:var(--amber); color:var(--amber); }
.thread-state.needs_approval { border-color:var(--danger); color:var(--danger); }
.thread-state.working { border-color:var(--signal); color:var(--signal); }
.thread-head { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:8px; }
.thread-head small { color:var(--muted); font-size:10px; overflow-wrap:anywhere; }
.thread-deliverable { margin:0 0 10px; padding:10px; border:1px solid var(--signal); background:#0a1f18; }
.thread-deliverable .eyebrow { margin:0 0 6px; }
.thread-deliverable button, .scope-choice button { min-height:44px; padding:8px 12px; border:1px solid var(--signal); background:transparent; color:var(--signal); font-weight:800; }
.task-thread article.thread-approval_asked { border-left:3px solid var(--amber); padding-left:8px; }
.task-thread article.thread-approval_approved { border-left:3px solid var(--signal); padding-left:8px; }
.task-thread article.thread-approval_declined { border-left:3px solid var(--danger); padding-left:8px; }
.task-thread .text-button { min-height:44px; }
.thread-snippet { margin:2px 0 10px; padding:0 0 0 10px; border-left:2px solid var(--amber); color:var(--muted); font-size:11px; overflow-wrap:anywhere; }
.client-needs-you { border-top-color:var(--amber); }
.scope-tag { display:inline-block; padding:1px 6px; border:1px solid var(--line); font-size:9px; font-weight:800; letter-spacing:.07em; }
.scope-tag.global { border-color:var(--amber); color:var(--amber); }
.scope-tag.client { border-color:var(--signal); color:var(--signal); }
.client-record-list .scope-tag { margin-bottom:4px; }
.override-note { color:var(--amber) !important; }
.scope-banner { margin:0 0 10px; padding:9px; border:1px solid var(--amber); color:var(--amber); font-size:11px; font-weight:800; }
.scope-choice { display:grid; gap:6px; }
.scope-choice small { color:var(--muted); font-size:10px; margin-bottom:8px; }
.approval-scope { margin:6px 0; padding:7px 9px; border:1px dashed var(--line); color:var(--muted); font-size:10px; overflow-wrap:anywhere; }
.approval-scope b { color:var(--signal); }
.approval-scope code { color:var(--ink); }
.client-content-item { display:flex; align-items:center; gap:6px; }
.client-content-item .client-content-row { flex:1 1 auto; }
.client-record-list .mini-button, .client-content-item .mini-button, .client-inline-form .mini-button { min-height:44px; min-width:44px; margin-top:6px; }
.client-quick-task { grid-template-columns:1fr; margin:0 0 12px; }
.client-quick-task label { grid-column:1 / -1; }
.inline-check { display:flex !important; align-items:center; gap:8px; min-height:44px; font-size:11px !important; }
.inline-check input { width:auto !important; }
.client-inline-form button { min-height:44px; }
#clientFocus .mini-button, #clientFocus .client-inline-form button, #referenceSheet button { min-height:44px; }
#clientFocus .client-inline-form input:not([type="checkbox"]), #clientFocus .client-inline-form select { min-height:44px; box-sizing:border-box; }
#referenceSheet .scope-choice button { width:100%; }

/* v56: status chips, quick notes, NEEDS YOU lane, NO TEMPLATE badge, draggable Top 15 */
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.task-row { border-bottom:1px dashed #1d4438; }
.task-row:last-child { border-bottom:0; }
.task-row > .task, .task-row .next-task { border-bottom:0; min-height:44px; }
.row-actions { display:flex; flex-wrap:wrap; gap:6px; padding:0 0 8px 33px; }
.next-row .row-actions { padding-left:0; }
.row-action { min-height:44px; min-width:44px; padding:4px 12px; border:1px solid var(--line); background:transparent; color:var(--signal); font:inherit; font-size:11px; font-weight:800; letter-spacing:.06em; }
.row-action.apply { border-color:var(--amber); color:var(--amber); }
.row-action.quiet, .quick-note-actions .quiet { color:var(--muted); }
.row-action:hover, .row-action:focus-visible { outline:1px solid var(--signal); outline-offset:-1px; }
.tpl-badge { display:inline-block; margin-left:6px; padding:1px 5px; border:1px solid var(--amber); color:var(--amber); font-size:10px; font-weight:800; letter-spacing:.06em; }
.h-state { display:inline-block; margin-left:6px; padding:1px 5px; border:1px solid var(--line); font-size:10px; font-weight:800; letter-spacing:.06em; white-space:nowrap; }
.h-state.working { border-color:var(--signal); color:var(--signal); }
.h-state.waiting_you { border-color:var(--amber); color:var(--amber); background:#2b220833; }
.h-state.done_review { border-color:#7ac7ff; color:#7ac7ff; }
.h-state.not_queued { border-color:var(--line-soft); color:var(--muted); font-weight:600; }
.next-row { display:flex; align-items:flex-start; gap:2px; }
.next-row-body { flex:1 1 auto; min-width:0; }
.next-row .next-task { padding-left:0; }
.next-row .next-task-title { white-space:normal; overflow:visible; text-overflow:clip; overflow-wrap:anywhere; }
.next-client-name { display:block; margin-top:2px; color:var(--muted); font-size:10px; }
.drag-handle { flex:0 0 44px; width:44px; min-height:44px; padding:0; border:0; background:transparent; color:var(--muted); font-size:20px; line-height:1; cursor:grab; touch-action:none; user-select:none; -webkit-user-select:none; }
.drag-handle:hover, .drag-handle:focus-visible { color:var(--signal); outline:1px solid var(--signal); outline-offset:-1px; }
.next-row.dragging { background:#1731269c; outline:1px dashed var(--signal); outline-offset:-1px; }
.next-row.dragging .drag-handle { cursor:grabbing; color:var(--signal); }
.next-order-bar { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:6px 13px; color:var(--muted); font-size:11px; border-bottom:1px solid var(--line-soft); min-height:44px; }
.next-order-bar .mini-button { min-height:44px; flex:0 0 auto; }
.lens { min-height:44px; }
.quick-note-slot:empty { display:none; }
.quick-note-form { display:grid; gap:6px; margin:0 0 10px 33px; padding:9px; border:1px solid var(--line); background:#06100e; }
.next-row .quick-note-form { margin-left:0; }
.quick-note-form textarea, .needs-answer textarea, .qn-body textarea, .qn-body input { width:100%; box-sizing:border-box; padding:10px; border:1px solid var(--line); border-radius:0; background:#06100e; color:var(--ink); font:inherit; }
.quick-note-actions { display:flex; gap:8px; }
.quick-note-actions button, .needs-answer button[type="submit"], .qn-body button[type="submit"] { min-height:44px; padding:4px 14px; border:1px solid var(--signal); background:var(--signal); color:#07110f; font-weight:800; }
.quick-note-actions .quiet { background:transparent; border-color:var(--line); }
.quick-note-panel { margin:14px 0 0; border:1px solid var(--line); background:linear-gradient(135deg, rgba(17,38,31,.96), rgba(8,20,17,.96)); }
.quick-note-panel summary { display:flex; align-items:center; min-height:44px; padding:0 13px; color:var(--signal); font-size:11px; font-weight:800; letter-spacing:.08em; cursor:pointer; }
.qn-body { display:grid; gap:8px; padding:0 13px 13px; }
.qn-body label { color:var(--signal); font-size:10px; letter-spacing:.08em; }
.qn-results { display:grid; gap:4px; }
.qn-pick { display:grid; min-height:44px; padding:6px 10px; text-align:left; border:1px solid var(--line-soft); background:transparent; color:var(--ink); font:inherit; }
.qn-pick.active { border-color:var(--signal); }
.qn-pick small, .qn-target { color:var(--muted); font-size:11px; }
.qn-target { margin:0 0 6px; }
.needs-you-panel { margin:14px 0 0; border:1px solid var(--amber); background:linear-gradient(135deg, rgba(43,34,8,.55), rgba(8,20,17,.96)); }
.needs-you-panel[hidden] { display:none; }
.needs-you-panel .panel-heading { color:var(--amber); }
.needs-list { padding:0 13px 6px; }
.needs-card { display:grid; gap:7px; padding:12px 0; border-bottom:1px dashed #5a4a14; }
.needs-card:last-child { border-bottom:0; }
.needs-card header { display:flex; flex-wrap:wrap; align-items:center; gap:6px; font-size:10px; letter-spacing:.06em; }
.needs-client { color:var(--signal); font-weight:800; }
.needs-age { color:var(--amber); font-weight:800; }
.needs-card header .h-state { margin-left:0; }
.needs-title { min-height:44px; padding:0; border:0; background:transparent; color:var(--ink); text-align:left; font:inherit; font-size:13px; font-weight:700; overflow-wrap:anywhere; }
.needs-question { margin:0; padding:8px 10px; border-left:3px solid var(--amber); background:#0b1a16; color:var(--ink); font-size:12px; line-height:1.45; overflow-wrap:anywhere; white-space:pre-wrap; }
.needs-question.muted { color:var(--muted); }
.needs-more summary { min-height:44px; display:flex; align-items:center; color:var(--amber); font-size:11px; font-weight:800; cursor:pointer; }
.needs-more p { margin:0 0 6px; white-space:pre-wrap; overflow-wrap:anywhere; font-size:12px; }
.needs-answer { display:grid; gap:6px; }
.needs-note { color:var(--muted); font-size:10px; }
.task-needs-you, .task-needs-template { display:grid; gap:8px; margin:0 0 12px; padding:10px; border:1px solid var(--amber); }
.task-needs-template small { color:var(--muted); }
.task-needs-template .row-actions { padding:0; }
.task-sheet-card { overscroll-behavior:contain; }
.client-needs-you .needs-list { padding:0; }
@media (max-width:440px) { .row-actions { padding-left:0; } .quick-note-form { margin-left:0; } .next-order-bar { align-items:flex-start; flex-direction:column; } }
/* v56: touch targets in the task sheet and approval cards (>= 44px) */
#taskSheet button, #referenceSheet button, .approval-card button, .text-button { min-height:44px; }
#taskSheetClose, .task-step button { min-width:44px; min-height:44px; }
#taskSheetContent input:not([type="checkbox"]), #taskSheetContent select, #taskSheetContent textarea { min-height:44px; box-sizing:border-box; }
#taskSheetContent .task-step label { display:flex; align-items:center; gap:8px; min-height:44px; }
#taskSheetContent .task-step input[type="checkbox"] { width:22px; height:22px; flex:0 0 22px; }
#taskSheetContent textarea { min-height:88px; }
.lens { min-width:44px; }
.next-client input { min-height:44px; }
/* v56: compact quick-note button beside each row instead of a second action line */
.row-line { display:flex; align-items:stretch; gap:2px; }
.row-line > .task, .row-line > .next-task { flex:1 1 auto; min-width:0; width:auto; }
.row-note { flex:0 0 44px; width:44px; min-height:44px; align-self:flex-start; padding:0; border:1px solid transparent; background:transparent; color:var(--signal); font-size:18px; line-height:1; }
.row-note:hover, .row-note:focus-visible, .row-note[aria-expanded="true"] { border-color:var(--signal); outline:none; background:#17312680; }
.row-actions { padding-left:0; }
.task-row > .row-actions { padding-left:33px; }
/* v59: global search, Send to H, capture pickers */
.masthead { flex-wrap: wrap; }
.masthead-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; margin-left: auto; flex-wrap: wrap; }
.search-open { min-height: 44px; min-width: 44px; padding: 4px 12px; border: 1px solid var(--signal); background: transparent; color: var(--signal); font-weight: 800; font-size: 11px; letter-spacing: .1em; }
.search-open:focus-visible, .search-hit:focus-visible { outline: 2px solid var(--signal); outline-offset: 1px; }
.search-form { display: grid; gap: 8px; padding: 0 0 8px; }
.search-form input[type="search"] { width: 100%; min-height: 44px; padding: 10px; border: 1px solid var(--line); border-radius: 0; background: #06100e; color: var(--ink); font: inherit; }
.search-done { display: flex; align-items: center; gap: 10px; min-height: 44px; color: var(--muted); font-size: 12px; }
.search-done input, .capture-toh input { width: 24px; height: 24px; accent-color: var(--signal); flex: 0 0 auto; }
.search-status { margin: 0 0 8px; color: var(--muted); font-size: 12px; }
.search-results { display: grid; gap: 14px; padding-bottom: 12px; }
.search-group { display: grid; gap: 4px; }
.search-group h3 { margin: 0 0 2px; color: var(--amber); font-size: 11px; letter-spacing: .1em; }
.search-hit b { overflow-wrap: anywhere; }
.search-hit small { overflow-wrap: anywhere; }
.capture-panel .capture-toh { display: flex; align-items: center; gap: 12px; min-height: 44px; margin: 10px 0 0; color: var(--ink); cursor: pointer; }
.capture-toh span { display: grid; gap: 2px; }
.capture-toh b { color: var(--signal); font-size: 12px; letter-spacing: .08em; }
.capture-toh small { color: var(--muted); font-size: 11px; }
.capture-panel .feedback.warning, .feedback .warn { color: var(--amber); }
.capture-options { margin-top: 8px; border-top: 1px solid var(--line-soft); }
.capture-options summary { display: flex; align-items: center; min-height: 44px; color: var(--signal); font-size: 11px; font-weight: 800; letter-spacing: .08em; cursor: pointer; }
.capture-pick { display: grid; gap: 6px; padding-bottom: 12px; }
.capture-pick input[type="search"] { width: 100%; min-height: 44px; padding: 10px; border: 1px solid var(--line); border-radius: 0; background: #06100e; color: var(--ink); font: inherit; }
.capture-pick .mini-button { min-height: 44px; margin-left: 8px; }
.capture-pick .qn-target { display: flex; align-items: center; flex-wrap: wrap; margin: 0; }
.action-link.inline { display: inline-flex; align-items: center; min-height: 44px; margin-left: 6px; padding: 4px 12px; font-size: 11px; }
@media (max-width: 440px) { .masthead-actions { width: 100%; justify-content: space-between; margin-left: 0; } }
.qn-results[data-busy="true"] { opacity: .45; }
/* v60 focus day, Work groups, Tidy board */
.focus-bar { margin: 0 0 12px; }
.focus-banner { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin:0 0 8px; padding:8px 12px; border:1px solid var(--signal); background:rgba(121,242,174,.08); color:var(--ink); }
.focus-banner[hidden], .focus-elsewhere[hidden], .next-else[hidden], .tidy-chip[hidden] { display:none; }
.focus-banner b { color:var(--signal); letter-spacing:.04em; overflow-wrap:anywhere; }
.focus-banner span { color:var(--muted); font-size:11px; letter-spacing:.06em; }
.focus-banner .mini-button { min-height:44px; min-width:64px; }
.focus-elsewhere { display:block; min-height:44px; margin:0 0 8px; padding:6px 12px; border:1px solid var(--amber); background:transparent; color:var(--amber); font:inherit; font-size:11px; font-weight:800; letter-spacing:.06em; }
.focus-picker { border:1px solid var(--line); background:rgba(8,20,17,.7); }
.focus-picker > summary { display:flex; align-items:center; min-height:44px; padding:6px 12px; color:var(--signal); font-size:11px; font-weight:800; letter-spacing:.08em; cursor:pointer; }
.focus-picker-form { display:grid; gap:8px; padding:0 12px 12px; }
.focus-picker-form label { color:var(--signal); font-size:11px; letter-spacing:.06em; }
.focus-add-row { display:flex; gap:8px; }
.focus-add-row input { flex:1 1 auto; min-width:0; min-height:44px; padding:10px; border:1px solid var(--line); background:#06100e; color:var(--ink); font:inherit; }
.focus-add-row .mini-button { min-height:44px; min-width:64px; margin:0; }
.focus-chosen { display:flex; flex-wrap:wrap; gap:6px; }
.focus-pick { min-height:44px; padding:4px 12px; border:1px solid var(--signal); background:rgba(121,242,174,.08); color:var(--signal); font:inherit; font-size:12px; font-weight:800; }
label.focus-pin { display:flex; align-items:center; gap:10px; min-height:44px; color:var(--ink); font-size:12px; letter-spacing:0; }
.focus-pin input { width:22px; height:22px; flex:0 0 auto; }
.focus-picker-form .primary-button { min-height:44px; }
.focus-note:empty { display:none; }
.next-else { padding:0 13px 10px; }
.focus-else { margin-top:8px; border:1px dashed var(--line); }
.focus-else > summary { display:flex; align-items:center; min-height:44px; padding:6px 12px; color:var(--amber); font-size:11px; font-weight:800; letter-spacing:.08em; cursor:pointer; }
.needs-you-panel .focus-else, .task-groups .focus-else { margin:8px 13px 10px; }
.needs-you-panel .focus-else .needs-list { padding:0 8px 8px; }
.work-group { margin:8px 0; border:1px solid var(--line-soft); }
.work-group > summary { display:flex; align-items:center; flex-wrap:wrap; gap:6px 10px; min-height:44px; padding:6px 12px; cursor:pointer; background:rgba(121,242,174,.04); }
.wg-name { font-weight:800; letter-spacing:.04em; overflow-wrap:anywhere; }
.wg-count { min-width:28px; padding:2px 8px; border:1px solid var(--line); color:var(--muted); font-size:11px; text-align:center; }
.wg-needs { padding:2px 8px; border:1px solid var(--amber); color:var(--amber); font-size:10px; font-weight:800; letter-spacing:.06em; }
.wg-focus { padding:2px 8px; border:1px solid var(--signal); color:var(--signal); font-size:10px; font-weight:800; letter-spacing:.06em; }
.work-group > .task-row, .work-group > .task { margin-left:8px; margin-right:8px; }
.past-deadline { display:inline-block; padding:2px 6px; border:1px solid var(--amber); color:var(--amber); font-size:10px; font-weight:800; letter-spacing:.05em; }
.tidy-chip-row { margin:0; padding:6px 13px 0; }
.tidy-chip { min-height:44px; padding:6px 14px; border:1px solid var(--amber); background:transparent; color:var(--amber); font:inherit; font-size:11px; font-weight:800; letter-spacing:.06em; }
.tidy-intro { margin:0; padding:10px 13px; color:var(--muted); font-size:12px; }
.tidy-back { margin:0; padding:0 13px 8px; }
.tidy-back .mini-button { min-height:44px; margin:0; }
.tidy-list { padding:0 13px 10px; }
.tidy-sub { margin:12px 0 4px; color:var(--amber); font-size:10px; letter-spacing:.1em; }
.tidy-row { padding:10px 0; border-top:1px solid var(--line-soft); }
.tidy-text { display:block; width:100%; min-height:44px; padding:6px 0; border:0; background:transparent; color:var(--ink); font:inherit; font-weight:700; text-align:left; overflow-wrap:anywhere; }
.tidy-note { margin:0 0 6px; color:var(--muted); font-size:12px; overflow-wrap:anywhere; }
.tidy-actions { display:flex; flex-wrap:wrap; gap:6px; }
.tidy-actions select { min-height:44px; max-width:100%; padding:6px; border:1px solid var(--line); background:#06100e; color:var(--ink); font:inherit; }
.tidy-projects { margin-top:14px; border:1px dashed var(--line); }
.tidy-projects > summary { display:flex; align-items:center; min-height:44px; padding:6px 12px; color:var(--amber); font-size:11px; font-weight:800; letter-spacing:.08em; cursor:pointer; }
.tidy-projects .tidy-row { padding:10px 12px; }
.brief-card { margin: 12px 0; padding: 12px; border: 1px solid var(--line, #526058); border-radius: 12px; }
.brief-card summary, .brief-card button { min-height: 44px; min-width: 44px; }
.brief-speech select, .brief-speech input { min-height: 44px; min-width: 44px; }
.brief-speech label { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; }
.remote-voice-setting { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 13px; }
.remote-voice-setting input { min-width: 44px; min-height: 44px; }
#voiceSettings p { padding: 0 13px; }
.brief-card summary { display: flex; align-items: center; cursor: pointer; }
.brief-card .brief-item { display: block; width: 100%; text-align: left; }
.brief-card .brief-prep { min-width: 44px; min-height: 44px; }
.ask-h textarea, .ask-h input, .ask-h button, .ask-h summary { min-height: 44px; }
.ask-h button { min-width: 44px; }
