/* Suvilabs reading and permission surfaces — 2026-10-31. */
/* A navigation scrim must never become a desktop grid item. */
.app>.sidebar-scrim {display:none;position:fixed;inset:0;z-index:65;}
.app>.sidebar {grid-column:1;grid-row:1;}
.app>.main {grid-column:2;grid-row:1;}
.app>.panel {grid-column:3;grid-row:1;}
.app .sidebar .sb-head {background:transparent;box-shadow:none;border:0;}
.menu[role="menu"] {max-width:calc(100vw - 16px);border:1px solid var(--line-soft);box-shadow:0 14px 40px #0003;isolation:isolate;}
.app .chat .msg.ai>.prose {font-family:var(--font);font-size:16px;font-weight:400;line-height:1.75;letter-spacing:0;}
[data-response-font="serif"] .app .chat .msg.ai>.prose {font-family:Georgia,'Times New Roman',serif;}
[data-response-font="mono"] .app .chat .msg.ai>.prose {font-family:var(--mono);font-size:15px;}
.app .chat .msg.ai .prose strong {font-weight:600;}
.app .chat .msg.ai .prose :is(h1,h2,h3,h4) {letter-spacing:-.2px;font-weight:600;line-height:1.4;}
.app .chat .msg.ai .prose li {margin:.55em 0;padding-left:.15em;}
.app .chat .msg.ai .prose :not(pre)>code {font-family:var(--mono);font-size:.82em;font-weight:400;padding:1px 4px;border:1px solid var(--line-soft);border-radius:4px;background:color-mix(in srgb,var(--ink) 4%,transparent);box-decoration-break:clone;-webkit-box-decoration-break:clone;overflow-wrap:anywhere;}
/* Sources: one scroll surface, searchable references, no duplicated domain cards. */
.modal:has(.sources-dialog) {width:min(680px,calc(100vw - 32px));overflow:hidden;max-height:min(840px,calc(100dvh - 48px));border:1px solid var(--line-soft);border-radius:20px;}
.sources-dialog {display:flex;flex-direction:column;min-height:0;max-height:inherit;overflow:hidden;}
.sources-dialog .modal-head {padding:20px 22px 8px;flex-shrink:0;}
.sources-dialog .modal-head h2 {font-size:18px;font-weight:600;}
.sources-toolbar {padding:0 22px 16px;border-bottom:1px solid var(--line-soft);flex-shrink:0;}
.sources-toolbar>p {margin:0 0 12px;color:var(--ink-3);font-size:12px;line-height:1.6;}
.sources-search {display:flex;align-items:center;gap:10px;background:var(--surface-2);border:1px solid var(--line-soft);border-radius:10px;padding:0 12px;color:var(--ink-3);}
.sources-search:focus-within {outline:2px solid var(--accent);outline-offset:2px;}
.sources-search input {width:100%;min-width:0;min-height:40px;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:13px;}
.sources-panel.modal-body {min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:18px 22px 22px;scrollbar-width:thin;}
.sources-section-label {display:flex;gap:8px;align-items:center;margin:0 0 8px;color:var(--ink-3);font-size:10px;font-weight:600;letter-spacing:.08em;}
.sources-section-label>span {letter-spacing:0;border:1px solid var(--line-soft);padding:1px 6px;border-radius:20px;}
.sources-caption {font-size:12px;line-height:1.6;color:var(--ink-3);margin:0 0 12px;}
.sources-list {display:grid;gap:8px;margin-bottom:20px;}
.reference-card {display:flex;align-items:center;gap:12px;padding:13px;margin:0 0 8px;min-height:78px;width:100%;border:1px solid var(--line-soft);border-radius:12px;background:transparent;color:var(--ink);text-decoration:none;text-align:left;font-family:var(--font);transition:background .15s,border-color .15s;}
.sources-list .reference-card {margin:0;}
.reference-card:hover {background:var(--surface-2);border-color:var(--line);}
.reference-card:focus-visible {outline:2px solid var(--accent);outline-offset:2px;}
.reference-monogram {display:flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:38px;border:1px solid var(--line-soft);background:var(--surface-2);border-radius:10px;font:500 14px var(--font);color:var(--ink-2);}
.reference-copy {display:flex;flex-direction:column;gap:4px;min-width:0;flex:1;}
.reference-copy strong {font-size:13px;font-weight:500;line-height:1.5;overflow-wrap:anywhere;}
.reference-copy small {font-size:11px;color:var(--ink-2);line-height:1.4;}
.reference-copy>span {color:var(--ink-3);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
.reference-open {font-size:18px;color:var(--ink-3);flex:0 0 18px;text-align:center;}
.sources-empty {padding:24px 4px;color:var(--ink-2);font-size:13px;}
.sources-footer {display:flex;gap:7px;align-items:center;padding:13px 22px;font-size:11px;color:var(--ink-3);border-top:1px solid var(--line-soft);flex-shrink:0;background:var(--surface);}
/* Shared approval card in chat and Connections. */
.chat-tool-approvals {width:100%;max-width:780px;margin:0 auto;padding:12px 28px;}
.tool-permission {margin:12px 0 18px;border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:22px;color:var(--ink);font:400 14px/1.6 var(--font);box-shadow:0 4px 18px #00000008;min-width:0;}
.permission-heading {display:flex;gap:13px;align-items:center;}
.permission-icon {width:43px;height:43px;flex:0 0 43px;display:grid;place-items:center;border-radius:12px;border:1px solid var(--line-soft);background:var(--surface-2);color:var(--ink-2);}
.permission-eyebrow {font-size:9px;letter-spacing:.1em;color:var(--ink-3);font-weight:600;}
.permission-heading h3 {font:600 17px/1.45 var(--font);margin:3px 0;}
.permission-heading p {margin:0;color:var(--ink-3);font-size:12px;}
.permission-description {font-size:13px;color:var(--ink-2);margin:18px 0 14px;}
.permission-fields {display:grid;gap:14px;border:1px solid var(--line-soft);border-radius:11px;padding:15px;margin:0 0 14px;background:color-mix(in srgb,var(--bg) 45%,transparent);}
.permission-fields dt,.permission-details dt {font-size:10px;color:var(--ink-3);margin:0 0 4px;}
.permission-fields dd {margin:0;font-size:13px;overflow-wrap:anywhere;white-space:pre-wrap;max-height:180px;overflow:auto;}
.permission-meta {display:flex;flex-wrap:wrap;align-items:center;gap:6px;color:var(--ink-3);font-size:11px;}
.permission-cost {margin-left:auto;}
.permission-details {margin-top:15px;border-top:1px solid var(--line-soft);font-size:12px;}
.permission-details summary {cursor:pointer;padding:12px 0;color:var(--ink-2);}
.permission-details dd {margin:0 0 10px;font-size:12px;overflow-wrap:anywhere;}
.permission-details pre {font:11px/1.65 var(--mono);max-height:240px;white-space:pre-wrap;overflow:auto;padding:12px;border-radius:8px;background:var(--bg);}
.permission-details small {color:var(--ink-3);}
.permission-actions {display:flex;justify-content:flex-end;gap:9px;margin-top:8px;padding-top:4px;}
.permission-actions .btn {min-height:40px;width:auto;padding:9px 16px;font-size:12px;border-radius:9px;box-shadow:none;}
.permission-actions .btn.primary {background:var(--ink);color:var(--bg);border-color:var(--ink);}
.permission-actions .btn.primary:hover {opacity:.85;}
@media(max-width:900px) {
 .app>.main {grid-column:1;}
 .app>.sidebar-scrim {display:block;}
 .app .chat .msg.ai>.prose {font-size:16px;line-height:1.75;}
 .chat-tool-approvals {padding:10px 18px;}
 .tool-permission {padding:18px;}
 .permission-actions .btn {min-height:44px;}
 .modal:has(.sources-dialog) {width:calc(100vw - 20px);max-height:calc(100dvh - 28px);border-radius:16px;}
 .sources-dialog .modal-head {padding:17px 18px 8px;}
 .sources-toolbar {padding:0 18px 14px;}
 .sources-panel.modal-body {padding:16px 14px 18px;}
 .sources-footer {padding:12px 18px;}
}
@media(max-width:420px) {.permission-cost {margin-left:20px;flex-basis:100%;}.permission-actions .btn {padding:9px 12px;}.reference-card {padding:11px;gap:10px;}}
@media(prefers-reduced-motion:reduce) {.reference-card {transition:none;}}
/* Result files have one card; every export format lives in its download menu. */
.app .chat .msg.ai .art-card.result-file-card {display:flex;align-items:stretch;gap:0;width:min(100%,540px);max-width:100%;padding:0;overflow:hidden;border-radius:14px;background:var(--surface-1,var(--bg-2));box-shadow:none;}
.result-file-open {display:flex;align-items:center;gap:13px;flex:1;min-width:0;padding:15px;text-align:left;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;}
.result-file-copy {display:flex;flex-direction:column;gap:4px;flex:1;min-width:0;}
.result-file-copy .art-title {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.45;}
.result-file-copy .art-sub {font-size:12px;line-height:1.4;color:var(--ink-3);}
.result-file-download {display:grid;place-items:center;flex:none;width:48px;margin:7px 6px 7px 0;border:0;border-left:1px solid var(--line);background:transparent;color:var(--ink-2);border-radius:8px;cursor:pointer;}
.result-file-open:hover,.result-file-download:hover {background:var(--hover);}
.result-file-download:disabled {opacity:.4;cursor:default;}
.result-file-card button:focus-visible {outline:2px solid var(--accent);outline-offset:-3px;}
.activity-log .execution-state {font-size:11px;color:var(--ink-3);margin-left:auto;white-space:nowrap;}
.activity-log .execution-state.failed {color:var(--danger,#e99081);}
.activity-log .execution-label {font-size:10px;letter-spacing:.08em;color:var(--ink-3);}
.activity-log .execution-detail {min-width:0;padding-bottom:12px;}
.activity-log .execution-detail pre {max-height:260px;overflow:auto;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--bg);font:12px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;margin:7px 0;}
.activity-log .execution-code>summary {cursor:pointer;color:var(--ink-3);font-size:12px;padding:7px 0;}
.activity-log .execution-empty {font-size:12px;color:var(--ink-3);margin:5px 0;}
@media(max-width:600px){.result-file-open{padding:12px;gap:10px;}.result-file-download{width:42px;}.activity-log .execution-detail pre{max-height:200px;}}
.activity-log .activity-log-phase-list {list-style:none;margin:0;padding:0 8px 8px;border-top:1px solid var(--line-soft);}
.activity-log .activity-log-phase-list>li {list-style:none;margin:0;padding:0;}
.activity-log .activity-log-phases>summary>small {font-size:11px;color:var(--ink-3);}
/* Cowork review: clear hierarchy, compact steps and a single action area. */
.app .cowork-inline.cowork-review-card {max-width:720px;margin:18px 0 26px;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:0 4px 24px #00000004;font:400 14px/1.5 Arial,Helvetica,sans-serif;}
.app .cowork-review-card .cowork-task-header {position:relative;display:flex;align-items:flex-start;gap:14px;padding:24px 24px 16px;}
.app .cowork-review-card .cowork-task-eyebrow {gap:8px;font-size:11px;font-weight:600;letter-spacing:.025em;margin-bottom:11px;color:var(--ink-2);}
.app .cowork-review-card .cowork-task-symbol {display:grid;place-items:center;width:25px;height:25px;border-radius:7px;background:var(--surface-2);color:var(--ink-2);}
.app .cowork-review-card .cowork-task-heading h3 {font:600 20px/1.4 Arial,Helvetica,sans-serif;letter-spacing:-.4px;margin:0;}
.app .cowork-review-card .cowork-task-subtitle {margin:7px 0 0;font-size:13px;color:var(--ink-3);line-height:1.5;}
.app .cowork-review-card .cowork-task-status {margin:1px 24px 0 0;font-size:11px;padding:6px 10px;background:var(--surface-2);border:1px solid var(--line-soft);white-space:nowrap;}
.app .cowork-review-card .cowork-close.btn {position:absolute;right:11px;top:13px;min-width:28px;min-height:28px;width:28px;height:28px;padding:5px;color:var(--ink-3);border-radius:8px;}
.app .cowork-review-card .cowork-task-meta {display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;margin:0 24px;padding:0 0 19px;border-bottom:1px solid var(--line-soft);font-size:12px;color:var(--ink-2);}
.cowork-review-card .cowork-task-meta>span {display:inline-flex;align-items:center;gap:6px;}
.app .cowork-review-card .cowork-task-body {padding:0 24px;}
.app .cowork-review-card .cowork-plan-heading {padding:17px 0 10px;border:0;font-size:12px;font-weight:600;color:var(--ink-2);}
.app .cowork-review-card .cowork-edit-plan {display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:6px;font-size:12px;font-weight:400;min-height:30px;}
.cowork-review-card .cowork-edit-plan:hover {background:var(--surface-2);text-decoration:none;}
.app .cowork-review-card .cowork-plan-list {gap:4px;padding-bottom:14px;}
.app .cowork-review-card .cowork-plan-step {padding:10px 0;gap:12px;align-items:center;border:0;}
.app .cowork-review-card .cowork-plan-step:not(:last-child):after {display:none;}
.app .cowork-review-card .cowork-step-number {flex:0 0 28px;width:28px;height:28px;border-radius:8px;background:var(--surface-2);border:1px solid var(--line-soft);color:var(--ink-2);font-size:11px;}
.app .cowork-review-card .cowork-step-title {font-size:14px;font-weight:500;line-height:1.5;color:var(--ink);}
.app .cowork-review-card .cowork-plan-step small {font-size:11px;line-height:1.5;}
.app .cowork-review-card .step-running .cowork-step-number {font-size:0;}
.app .cowork-review-card .step-done .cowork-step-number {color:var(--ok);}
.app .cowork-review-card .cowork-task-options {margin:0;padding:0;border-top:1px solid var(--line-soft);}
.app .cowork-review-card .cowork-task-options>summary {padding:15px 0;font-size:12px;gap:10px;}
.cowork-review-card .cowork-options-label {display:flex;align-items:center;gap:8px;font-weight:500;}
.cowork-review-card .cowork-options-hint {font-size:11px;color:var(--ink-3);display:flex;align-items:center;gap:12px;}
.app .cowork-review-card .cowork-task-options[open]>summary>span:last-child {transform:none;}
.app .cowork-review-card .cowork-task-options[open] .cowork-options-hint>span {transform:rotate(180deg);}
.app .cowork-review-card .cowork-options-body {gap:15px;padding:6px 0 20px;}
.app .cowork-review-card .cowork-options-body label {font-size:12px;}
.app .cowork-review-card .cowork-task-footer {padding:16px 24px 17px;background:var(--surface-2);border-top:1px solid var(--line-soft);}
.app .cowork-review-card .cowork-task-actions {flex-direction:row-reverse;justify-content:flex-start;gap:12px;}
.app .cowork-review-card .cowork-task-actions .btn {font-size:13px;min-height:40px;padding:9px 14px;border-radius:9px;font-weight:500;}
.app .cowork-review-card .cowork-task-actions .btn.primary {gap:9px;}
.app .cowork-review-card .cowork-task-footer>p {font-size:11px;line-height:1.5;margin:10px 0 0;text-align:right;max-width:none;}
@media(max-width:600px){.app .cowork-review-card .cowork-task-header{padding:19px 18px 14px;flex-wrap:wrap;gap:11px;}.app .cowork-review-card .cowork-task-heading{flex-basis:100%;padding-right:18px;}.app .cowork-review-card .cowork-task-heading h3{font-size:18px;}.app .cowork-review-card .cowork-task-status{margin:0;}.app .cowork-review-card .cowork-task-meta{margin:0 18px;padding-bottom:16px;gap:7px 13px;font-size:11px;}.app .cowork-review-card .cowork-task-body{padding:0 18px;}.app .cowork-review-card .cowork-task-footer{padding:15px 18px;}.app .cowork-review-card .cowork-step-title{font-size:13px;}.cowork-review-card .cowork-options-hint{font-size:0;gap:0;}.cowork-review-card .cowork-options-hint>span{font-size:14px;}.app .cowork-review-card .cowork-task-actions .btn{min-height:44px;}.app .cowork-review-card .cowork-task-footer>p{font-size:11px;}}
/* Keep the review panel compact even inside the chat's scroll area. */
.app .cowork-inline.cowork-review-card {display:block;}
.app .cowork-review-card .cowork-task-header {padding:18px 20px 12px;}
.app .cowork-review-card .cowork-task-eyebrow {margin-bottom:8px;}
.app .cowork-review-card .cowork-task-heading h3 {font-size:18px;line-height:1.4;}
.app .cowork-review-card .cowork-task-subtitle {font-size:12px;margin-top:5px;}
.app .cowork-review-card .cowork-task-meta {margin:0 20px;padding-bottom:12px;}
.app .cowork-review-card .cowork-task-body {padding:0 20px;}
.app .cowork-review-card .cowork-plan-heading {padding:9px 0 7px;}
.app .cowork-review-card .cowork-plan-list {gap:2px;padding-bottom:10px;}
.app .cowork-review-card .cowork-plan-step {padding:5px 0;}
.app .cowork-review-card .cowork-task-options>summary {padding:12px 0;}
.app .cowork-review-card .cowork-task-footer {padding:12px 20px;}
.app .cowork-review-card .cowork-task-footer>p {margin-top:8px;}
@media(max-width:600px){.app .cowork-review-card .cowork-task-header{padding:18px 16px 12px;}.app .cowork-review-card .cowork-task-meta{margin:0 16px;}.app .cowork-review-card .cowork-task-body{padding:0 16px;}.app .cowork-review-card .cowork-task-footer{padding:12px 16px;}}
.app .cowork-review-card .cowork-task-header {padding-top:16px;padding-bottom:10px;}
.app .cowork-review-card .cowork-task-eyebrow {margin-bottom:6px;}
.app .cowork-review-card .cowork-task-symbol {width:22px;height:22px;}
.app .cowork-review-card .cowork-plan-heading {padding-top:7px;padding-bottom:5px;}
.app .cowork-review-card .cowork-step-number {flex-basis:26px;width:26px;height:26px;}
.app .cowork-review-card .cowork-task-footer {padding-top:10px;padding-bottom:10px;}
.app .cowork-review-card .cowork-task-footer>p {margin-top:6px;}
.device-panel .device-panel-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.device-panel h2{margin:12px 0 5px;font-size:22px}.device-panel p{font-size:13px;line-height:1.6;color:var(--ink-2)}.device-panel .device-setup{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin:24px 0}.device-setup>div,.device-setup>form{padding:18px;border:1px solid var(--line-soft);border-radius:12px}.device-setup label{display:flex;flex-direction:column;gap:7px;font-size:12px;margin:14px 0}.device-setup .input{width:100%}.device-setup .link-btn{display:inline-block;margin:10px;font-size:12px}.device-confirm{padding:18px;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;margin:16px 0;overflow-wrap:anywhere}.device-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 0;border-top:1px solid var(--line-soft)}.device-item>div{min-width:0;overflow-wrap:anywhere}.device-item p{margin:6px 0}.device-item small{color:var(--ink-3);font-size:11px}.device-online{display:inline-flex;align-items:center;gap:5px;font-size:11px;margin-left:12px;color:var(--ink-3)}.device-online:before{content:'';width:6px;height:6px;background:var(--ink-3);border-radius:50%}.device-online.online:before{background:var(--ok)}.device-panel .device-note{font-size:12px;border-top:1px solid var(--line-soft);padding-top:16px;margin-top:20px}@media(max-width:650px){.device-panel .device-setup{grid-template-columns:1fr;gap:12px}.device-item{align-items:flex-start}.device-setup .input{font-size:16px}}
