:root { --lib-bg:#f4f6f7; --lib-paper:#ffffff; --lib-ink:#182327; --lib-muted:#536269; --lib-line:#dce3e5; --lib-control-line:#829298; --lib-accent:#007d69; --lib-soft:#e2f5ef; --lib-warning:#926517; --lib-warn-bg:#fff4db; --lib-red:#b33f43; }
/* The shared partner shell must use the email application's selected theme. */
body.library-ready.library-resources { --ink:var(--lib-ink); --mut:var(--lib-muted); --mute:var(--lib-muted); --line:var(--lib-line); --line-strong:var(--lib-control-line); --link:var(--lib-accent); --teal-deep:var(--lib-accent); --bg:var(--lib-bg); --bg-soft:var(--lib-soft); --note-bg:var(--lib-soft); }
* { letter-spacing:0 !important; }
body { margin:0; background:var(--lib-bg); color:var(--lib-ink); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; }
body.library-ready > .wrap { display:none; }
.email-library { font-size:14px; line-height:1.5; color:var(--lib-ink); color-scheme:light; }
.email-library a,.email-library a:visited { color:var(--lib-accent); text-underline-offset:3px; }
.email-library a:hover { text-decoration:underline; }
.email-library [hidden] { display:none !important; }
.email-library button,.email-library input,.email-library select,.email-library textarea { font:inherit; color:inherit; }
.email-library button { cursor:pointer; }
.email-library button:disabled { cursor:default; opacity:.4; }
.email-library button:focus-visible,.email-library input:focus-visible,.email-library select:focus-visible,.email-library textarea:focus-visible,.email-library a:focus-visible { outline:2px solid var(--lib-accent); outline-offset:3px; }
.lib-header { padding:19px 26px 0; background:var(--lib-paper); border-bottom:1px solid var(--lib-line); }
.lib-title-row { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.lib-brand { display:flex; gap:12px; align-items:center; min-width:0; }
.lib-mark { width:38px; height:38px; display:grid; place-items:center; background:#00d4aa; color:#182327; border-radius:6px; flex-shrink:0; }
.lib-header h1 { font-size:24px; line-height:1.25; margin:0; }
.lib-subtitle { color:var(--lib-muted); margin:3px 0 0; font-size:12px; }
.lib-actions { display:flex; gap:8px; align-items:center; }
.lib-icon { width:18px; height:18px; flex-shrink:0; }
.lib-icon-button { width:40px; height:40px; border:1px solid var(--lib-control-line); background:var(--lib-paper); border-radius:5px; display:inline-grid; place-items:center; flex-shrink:0; }
.lib-command { display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:8px 12px; border:1px solid var(--lib-control-line); border-radius:5px; background:var(--lib-paper); white-space:normal; overflow-wrap:normal; max-width:100%; line-height:1.5; }
body.library-ready .email-library .lib-command,body.library-ready .email-library .lib-icon-button { color:var(--lib-ink) !important; background:var(--lib-paper) !important; border-color:var(--lib-control-line) !important; }
body.library-ready .email-library .lib-command:hover,body.library-ready .email-library .lib-icon-button:hover { background:var(--lib-soft) !important; }
body.library-ready .email-library .lib-command.primary { background:#007d69 !important; color:#ffffff !important; border-color:#007d69 !important; }
.lib-command.primary { background:var(--lib-accent); color:white; border-color:var(--lib-accent); }
.lib-tabs { display:flex; gap:24px; margin-top:18px; overflow:auto; }
.lib-tab { border:0; border-bottom:3px solid transparent; padding:11px 0; background:none; white-space:nowrap; color:var(--lib-muted) !important; font-weight:600 !important; }
.lib-tab[aria-selected=true] { color:var(--lib-accent) !important; border-color:var(--lib-accent); }
.lib-tab-count { font-weight:400; margin-left:6px; font-size:12px; }
.lib-layout { display:grid; grid-template-columns:242px minmax(0,1fr); min-height:calc(100vh - 143px); }
.lib-sidebar { padding:20px 16px; border-right:1px solid var(--lib-line); background:var(--lib-paper); }
.lib-sidebar h2 { font-size:11px; text-transform:uppercase; color:var(--lib-muted); margin:22px 8px 7px; }
.lib-sidebar h2:first-child { margin-top:0; }
.lib-facet { display:flex; align-items:center; justify-content:space-between; gap:8px; width:100%; border:0; border-radius:4px; padding:7px 8px; background:transparent; text-align:left; font-size:12px !important; min-height:34px; }
.lib-facet span:first-child { overflow-wrap:anywhere; }
.lib-facet:hover { background:var(--lib-bg); }
.lib-facet[aria-pressed=true] { background:var(--lib-soft); color:var(--lib-accent); font-weight:600; }
.lib-facet-count { font-size:11px; color:var(--lib-muted); font-variant-numeric:tabular-nums; }
.lib-main { min-width:0; padding:20px 24px; }
.lib-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.lib-search { position:relative; flex:1; min-width:200px; }
.lib-search .lib-icon { position:absolute; left:11px; top:11px; color:var(--lib-muted); }
.lib-search input { width:100%; padding:10px 10px 10px 37px; height:40px; background:var(--lib-paper); border:1px solid var(--lib-control-line); border-radius:5px; }
.lib-select { height:40px; border:1px solid var(--lib-control-line); border-radius:5px; padding:0 9px; background:var(--lib-paper); max-width:100%; }
.lib-filter-row { display:flex; flex-wrap:wrap; gap:10px; margin-top:12px; align-items:end; }
.lib-field { display:flex; flex-direction:column; gap:5px; font-size:12px; color:var(--lib-muted); }
.lib-field .lib-select { font-size:12px; color:var(--lib-ink); min-width:150px; }
.lib-check { display:flex; align-items:center; gap:6px; margin:0 0 10px; font-size:12px; color:var(--lib-muted); }
.lib-check input { accent-color:var(--lib-accent); }
.lib-current { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding:16px 0 12px; }
.lib-current>div:first-child { flex:1 1 180px; min-width:0; }
.lib-current>.lib-actions { flex:0 0 auto; }
.lib-current .lib-command { white-space:nowrap; flex-shrink:0; }
.lib-current h2 { font-size:17px; line-height:1.3; margin:0 0 3px; }
.lib-current p { margin:0; font-size:12px; color:var(--lib-muted); }
.lib-workspace { display:grid; grid-template-columns:minmax(270px, .85fr) minmax(350px, 1.25fr); align-items:start; border-top:1px solid var(--lib-line); }
.audit-list { min-width:0; }
.audit-entry summary strong,.audit-entry summary small { display:block; overflow-wrap:anywhere; }
.audit-entry summary small { font-size:12px; font-weight:400; margin-top:6px; }
.audit-entry>summary>.audit-chevron { display:inline-flex; width:16px; height:16px; flex:0 0 16px; }
.audit-entry>summary>.audit-chevron svg { width:16px; height:16px; }
.audit-entry[open]>summary>.audit-chevron { transform:rotate(90deg); }
.audit-entry p,.audit-checks li { overflow-wrap:anywhere; line-height:1.6; }
.audit-checks { padding-left:22px; }
.audit-checks li { margin-bottom:10px; }
.audit-entry .audit-copy { border:0; border-top:1px solid var(--lib-line); border-radius:0; background:transparent; margin:12px 0; overflow:visible; }
.audit-entry .audit-copy>summary { padding:12px 0; }
.audit-copy pre { white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; line-height:1.7; }
.lib-list { min-width:0; border-right:1px solid var(--lib-line); }
.lib-email-row { display:block; width:100%; border:0; border-bottom:1px solid var(--lib-line); background:var(--lib-paper); padding:13px 14px; text-align:left; border-left:3px solid transparent; }
.lib-email-row:hover { background:#f7faf9; }
.lib-email-row[aria-current=true] { background:var(--lib-soft); border-left-color:var(--lib-accent); }
.lib-row-meta { display:flex; flex-wrap:wrap; align-items:center; gap:7px; color:var(--lib-muted); font-size:11px; margin-bottom:4px; }
.lib-row-subject { display:block; font-size:13px; font-weight:600; line-height:1.4; overflow-wrap:anywhere; }
.lib-row-preview { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:12px; color:var(--lib-muted); margin:4px 0 0; overflow-wrap:anywhere; }
.lib-row-tags { display:flex; gap:5px; flex-wrap:wrap; margin-top:7px; }
.lib-badge { display:inline-block; padding:2px 6px; border-radius:3px; background:#eef2f3; color:var(--lib-muted); font-size:10px; line-height:1.4; overflow-wrap:anywhere; }
.lib-badge.offer { background:#fbe9ec; color:#a23750; }
.lib-badge.good { background:#def2e9; color:#246548; }
.lib-badge.warning { background:var(--lib-warn-bg); color:var(--lib-warning); }
.lib-pagination { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:12px; font-size:11px; color:var(--lib-muted); }
.lib-reader { background:var(--lib-paper); min-width:0; padding:20px; position:sticky; top:12px; max-height:calc(100vh - 24px); overflow:auto; }
.lib-reader-top { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.lib-reader h2 { font-size:20px; line-height:1.35; overflow-wrap:anywhere; margin:14px 0 7px; }
.lib-preheader { color:var(--lib-muted); font-size:13px; margin:0 0 12px; overflow-wrap:anywhere; }
.lib-reader-tags { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:14px; }
.lib-reader-body { white-space:pre-wrap; overflow-wrap:anywhere; font-family:Georgia,"Times New Roman",serif; font-size:15px; line-height:1.75; margin:18px 0; }
.lib-reader-body mark { background:#fff0ae; color:inherit; }
.lib-reader h3 { font-size:13px; margin:0 0 10px; }
.lib-reader-tabs { display:flex; gap:18px; border-bottom:1px solid var(--lib-line); margin-bottom:12px; }
.lib-reader-tabs .lib-tab { font-size:12px; }
.lib-review { border-top:1px solid var(--lib-line); padding:16px 0; }
.lib-review-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.lib-review textarea { border:1px solid var(--lib-control-line); border-radius:5px; width:100%; min-height:92px; padding:10px; resize:vertical; font-size:13px; background:var(--lib-paper); color:var(--lib-ink); }
.lib-review .lib-field { margin-bottom:10px; }
.lib-review-groups { border:0; background:transparent; margin:0 0 12px; border-radius:0; }
.lib-review-groups summary { padding:8px 0; font-size:12px; }
#review-tags { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding-bottom:10px; }
#review-tags .lib-check { align-items:start; margin:0; }
.lib-review-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; }
.lib-save-status { font-size:11px; color:var(--lib-muted); }
.lib-performance { padding:16px 0; border-top:1px solid var(--lib-line); }
.lib-performance details { border:0; border-bottom:1px solid var(--lib-line); border-radius:0; margin:0; background:transparent; }
.lib-performance summary { display:block; padding:10px 0; font-size:12px; color:var(--lib-ink); }
.lib-metric-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; padding:8px 0; }
.lib-metric-grid strong { display:block; font-size:16px; }
.lib-metric-grid span { font-size:10px; color:var(--lib-muted); }
.lib-evidence { font-size:11px; color:var(--lib-muted); margin:6px 0; overflow-wrap:anywhere; }
.lib-related { border-top:1px solid var(--lib-line); padding-top:14px; }
.lib-related button { display:block; border:0; background:transparent; padding:7px 0; text-align:left; font-size:12px; color:var(--lib-accent); overflow-wrap:anywhere; }
.lib-empty { padding:50px 18px; text-align:center; color:var(--lib-muted); }
.lib-toast { position:fixed; bottom:20px; left:50%; transform:translateX(-50%); padding:10px 16px; background:#182327; color:white; border-radius:5px; z-index:100; max-width:90vw; font-size:13px; }
.lib-mobile-menu { display:none; }
.lib-storage { font-size:11px; color:var(--lib-muted); }
.lib-snapshot-status { margin:10px 0 6px; overflow-wrap:anywhere; }
.lib-previous-assets { display:inline-block; font-size:12px; margin-bottom:8px; }
.lib-previous-assets+.lib-previous-assets { margin-left:16px; }
@media (max-width:650px) {
  .lib-title-row { flex-wrap:wrap; }
  .lib-brand { flex:1 1 220px; }
}
.lib-view-tabs { display:flex; gap:22px; overflow:auto; margin-top:16px; border-bottom:1px solid var(--lib-line); }
.lib-view-tabs .lib-tab { font-size:13px; }
.lib-analysis { padding:20px 26px 50px; max-width:1600px; margin:auto; min-width:0; }
.ins-controls { display:flex; flex-wrap:wrap; gap:10px; align-items:end; padding-bottom:14px; }
.ins-controls .lib-field { max-width:100%; }
.ins-controls #ins-campaign { width:370px; }
.ins-controls .lib-check { margin:0 0 10px 4px; }
.ins-overview { margin-top:0; }
.ins-section { border-bottom:1px solid var(--lib-line); padding:22px 0; min-width:0; }
.ins-section h2 { font-size:18px; line-height:1.35; margin:0 0 10px; overflow-wrap:anywhere; }
.ins-section h3 { font-size:14px; margin:18px 0 8px; }
.ins-copy { max-width:920px; margin:0 0 16px; font-size:14px; line-height:1.7; }
.ins-method { color:var(--lib-muted); font-size:12px; line-height:1.6; max-width:1000px; }
.ins-warning { color:var(--lib-warning); border-left:3px solid var(--lib-warning); background:var(--lib-warn-bg); padding:10px 14px; font-size:12px; }
.ins-action { max-width:960px; border-left:3px solid var(--lib-accent); padding:7px 14px; background:var(--lib-soft); font-size:13px; }
.ins-table-wrap { overflow-x:auto; max-width:100%; border:1px solid var(--lib-line); background:var(--lib-paper); margin:12px 0; }
.ins-table { width:100%; border-collapse:collapse; font-size:12px; text-align:left; table-layout:auto; }
.ins-table th { background:var(--lib-bg); font-size:11px; color:var(--lib-muted); font-weight:600; }
.ins-table th,.ins-table td { padding:12px; border-bottom:1px solid var(--lib-line); vertical-align:top; min-width:90px; }
.ins-table td { overflow-wrap:anywhere; }
.ins-table th { line-height:1.5; }
.ins-table tbody tr:last-child td { border-bottom:0; }
.ins-table td:first-child { min-width:245px; max-width:390px; }
.ins-table small,.ins-reference small,.ins-table td>div>small { display:block; color:var(--lib-muted); font-size:11px; margin-top:4px; line-height:1.6; }
.ins-email-link { border:0; padding:0; background:none; color:var(--lib-accent) !important; font-weight:600 !important; text-align:left; line-height:1.5; overflow-wrap:anywhere; }
body.library-ready .email-library .ins-email-link { border:0 !important; background:transparent !important; border-radius:0 !important; box-shadow:none !important; color:var(--lib-accent) !important; min-height:0; padding:0; max-width:100%; white-space:normal; }
.ins-email-link:hover { text-decoration:underline; }
.ins-reference { min-width:0; margin:0 0 12px; }
.ins-reference .lib-command { margin-top:8px; }
.ins-row-actions { display:flex; flex-direction:column; gap:6px; }
.ins-row-actions .lib-command { font-size:11px; padding:6px 9px; }
.ins-shortcuts { display:flex; flex-wrap:wrap; gap:22px; margin:4px 0 14px; }
.ins-shortcuts .lib-tab[aria-pressed=true] { color:var(--lib-accent) !important; border-color:var(--lib-accent); }
.ins-comparison { border:0; border-bottom:1px solid var(--lib-line); border-radius:0; margin:0; background:transparent; }
.ins-comparison summary { padding:16px 0; font-size:13px; overflow-wrap:anywhere; }
.ins-findings-evidence { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:24px; max-width:1100px; }
.ins-assigned { display:flex; flex-direction:column; gap:10px; margin:10px 0; }
.ins-section>ol { padding-left:22px; max-width:1000px; }
.ins-section>ol li { margin:10px 0; }
.ins-section>a { display:block; color:var(--lib-accent); margin:8px 0; }
.lib-review-strategies { border:0; border-top:1px solid var(--lib-line); border-radius:0; margin:0 0 12px; background:none; }
.lib-review-strategies summary { padding:10px 0; font-size:12px; }
#review-strategies { padding:5px 0; }
.lib-source-details { font-size:11px; color:var(--lib-muted); margin:14px 0; border:0; border-top:1px solid var(--lib-line); border-radius:0; background:transparent; }
.lib-source-details summary { font-size:11px; padding:10px 0; }
.lib-source-details p { margin:3px 0; }
.lib-overview { padding:14px 0; margin-top:16px; border-top:1px solid var(--lib-line); border-bottom:1px solid var(--lib-line); display:flex; flex-wrap:wrap; gap:24px; }
.lib-overview strong { font-size:17px; display:block; }
.lib-overview span { font-size:11px; color:var(--lib-muted); }
body.lib-dark { --lib-bg:#161b1d; --lib-paper:#202729; --lib-ink:#e6eeee; --lib-muted:#a3b2b5; --lib-line:#364345; --lib-control-line:#8b9d9f; --lib-accent:#62d6b9; --lib-soft:#243d36; }
body.lib-dark .email-library { color-scheme:dark; }
body.lib-dark .lib-command.primary { background:#007d69; color:white; }
body.lib-dark .lib-email-row:hover { background:#2b3435; }
body.lib-dark .lib-badge { background:#334043; color:#d0dada; }
body.lib-dark .lib-badge.good { background:#244337; color:#a4ddbf; }
body.lib-dark .lib-badge.offer { background:#512d37; color:#ffbdc9; }
@media (max-width:1100px) { .lib-layout { grid-template-columns:210px minmax(0,1fr); } .lib-main { padding:16px; } .lib-workspace { grid-template-columns:minmax(245px,.85fr) minmax(290px,1.25fr); } .lib-reader { padding:16px; } }
@media (max-width:900px) { .lib-workspace { grid-template-columns:minmax(0,1fr); } .lib-reader { position:static; max-height:none; border-top:1px solid var(--lib-line); } .lib-list { border-right:0; } .lib-reader[hidden] { display:none; } .lib-workspace.reader-open .lib-list { display:none; } .lib-workspace:not(.reader-open) .lib-reader { display:none; } .lib-reader-back { display:inline-grid !important; } }
@media (min-width:901px) { .lib-reader-back { display:none !important; } }
@media (min-width:901px) { body.library-ready.library-resources .lib-reader { top:61px; max-height:calc(100dvh - 73px); } }
@media (max-width:650px) { .email-library .lib-icon-button { width:44px; height:44px; } .lib-view-tabs,.lib-reader-tabs,.lib-tabs { scroll-padding-inline:14px; scrollbar-width:thin; } .lib-previous-assets+.lib-previous-assets { margin-left:0; margin-right:16px; } }
@media (max-width:650px) { .lib-header { padding:14px 14px 0; } .lib-header h1 { font-size:20px; } .lib-brand { gap:8px; } .lib-mark { width:32px; height:32px; } .lib-subtitle { font-size:10px; } .lib-tabs { gap:18px; margin-top:10px; } .lib-tab { font-size:12px !important; } .lib-layout { grid-template-columns:1fr; } .lib-sidebar { display:none; border-right:0; border-bottom:1px solid var(--lib-line); } .email-library.sidebar-open .lib-sidebar { display:block; } .lib-mobile-menu { display:inline-grid; } .lib-main { padding:14px; } .lib-actions .lib-storage { display:none; } .lib-filter-row { display:grid; grid-template-columns:1fr 1fr; } .lib-field .lib-select { min-width:0; width:100%; } .lib-review-grid { grid-template-columns:1fr; } .lib-current { align-items:flex-start; } .lib-reader { padding:16px 12px; } .lib-metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .lib-overview { gap:16px; } }
@media (max-width:650px) { .lib-analysis { padding:14px 14px 40px; } .lib-view-tabs { gap:18px; } .ins-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); } .ins-controls #ins-campaign { width:100%; } .ins-controls .lib-field:has(#ins-campaign) { grid-column:1 / -1; } .ins-controls .lib-check { grid-column:1 / -1; } .ins-controls .lib-command { white-space:normal; } .ins-section h2 { font-size:17px; } .ins-findings-evidence { grid-template-columns:minmax(0,1fr); } .ins-copy { font-size:13px; } }
