/* Account and research share the same quiet, light working surface. */
:root { --paper: #f7f7f4; --muted: #69675f; --line: #e5e4de; }
.sidebar { background: #f0f0eb; border-right: 1px solid var(--line); }
.sidebar .brand, .sidebar .new-search, .sidebar-project input { color: #25251f; }
.sidebar .brand > span, .sidebar .sidebar-label, .sidebar-project label, .sidebar-project p { color: #69675f; }
.sidebar .new-search { background: #fff; border-color: #d7d7ce; }
.sidebar .new-search:hover { background: #e7e7df; border-color: #babaae; }
.sidebar .workspace-nav > button, .sidebar .workspace-nav > a { color: #595951; }
.sidebar .workspace-nav > button:hover, .sidebar .workspace-nav > a:hover { background: #e5e5dc; color: #25251f; }
.sidebar .workspace-nav > button[aria-current] { background: #dedfd5; color: #25251f; font-weight: 550; }
.sidebar .nav-count, .sidebar .local-badge, .sidebar .local-badge small { color: #67675e; }
.sidebar-project, .sidebar-project input, .sidebar .local-badge { border-color: #d9d9cf; }
.sidebar .pro-tag { background: #dedfd5; color: #55564b; }
.sidebar .subtle-button, .sidebar-bottom > a { color: #64645b; }
.sidebar .subtle-button:hover, .sidebar-bottom > a:hover { color: #22231c; }
.sidebar :focus-visible { outline-color: #68695b; }
.plan-pocket { background: #fff; border-color: #dcdcd3; border-radius: 10px; }
.plan-pocket > div strong, .plan-pocket p strong, .plan-pocket > a { color: #2b2c23; }
.plan-pocket > div span, .plan-pocket p { color: #66675d; }
.plan-pocket progress::-webkit-progress-bar { background: #eaeae2; }
.plan-pocket progress::-webkit-progress-value { background: #747661; }
.plan-pocket progress::-moz-progress-bar { background: #747661; }
.workspace main { max-width: 1280px; margin-inline: auto; padding-top: 40px; }
.topbar { position: static; }
.welcome { margin-bottom: 26px; }
.welcome .eyebrow { font: 500 12px/1.5 var(--sans); color: #6b6c5f; letter-spacing: .07em; margin-bottom: 10px; }
.welcome h1 { font: 550 clamp(27px, 2.5vw, 36px)/1.2 var(--sans); letter-spacing: -.035em; }
.welcome p:not(.eyebrow) { font-size: 15px; margin-top: 10px; }
.search-card { border-radius: 14px; overflow: hidden; }
.input-tabs { padding-inline: 28px; gap: 28px; }
.input-tabs button { font-size: 14px; padding-block: 19px; }
.input-content { padding: 27px 28px 22px; }
.field-label { margin-bottom: 12px; }
.patent-input-wrap input { min-height: 56px; border-radius: 8px; font-size: 17px; }
.patent-input-wrap > .icon { top: 18px; }
.input-content > [role='tabpanel'] > .input-help { margin: 10px 0 20px; }
.search-settings { border-top: 1px solid var(--line); margin-top: 20px; }
.search-settings > summary { display: flex; align-items: center; gap: 12px; padding: 18px 0; cursor: pointer; list-style: none; font-size: 13px; }
.search-settings > summary::-webkit-details-marker { display: none; }
.search-settings > summary::before { content: '+'; font-size: 18px; color: #626457; width: 12px; }
.search-settings[open] > summary::before { content: '−'; }
.search-settings > summary > span:first-child { font-weight: 550; }
#search-options-summary { margin-left: auto; color: #696b5c; font-size: 12px; text-align: right; }
.search-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px 20px; margin: 4px 0 16px; align-items: start; }
.search-options label { display: block; font-size: 13px; margin-bottom: 8px; }
.search-options input, .search-options select { width: 100%; max-width: 100%; min-width: 0; height: 44px; border-radius: 7px; }
.search-options .input-help { display: block; margin: 7px 0 0; font-size: 12px; line-height: 1.5; }
#coverage-help { border-top: 1px solid var(--line); padding-top: 14px; margin-bottom: 20px; }
#live-consent-wrap { padding: 0; margin: 0; }
.search-consent .storage-choice { background: transparent; border: 0; padding: 6px 0; margin: 0; gap: 11px; }
.search-consent .storage-choice strong { font-size: 13px; font-weight: 500; }
.search-consent .storage-choice small { margin-top: 3px; font-size: 12px; }
.search-consent .storage-choice input { flex: 0 0 17px; width: 17px; height: 17px; margin-top: 2px; accent-color: #62664e; }
#search-privacy { margin: 4px 0 0 28px; }
#search-privacy summary { color: #616356; font-size: 12px; cursor: pointer; }
#search-privacy .input-help { max-width: 780px; margin: 10px 0 0; }
.search-auth-notice { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 23px; padding: 17px 18px; border: 1px solid #dfdfd2; background: #f5f5ee; border-radius: 9px; }
.search-auth-notice strong { font-size: 14px; font-weight: 550; }
.search-auth-notice p { margin: 5px 0 0; color: #666759; font-size: 12px; line-height: 1.55; }
.search-auth-notice .secondary-button { flex: 0 0 auto; font-size: 13px; min-height: 41px; border-color: #c8cabb; gap: 10px; }
.search-footer { padding: 19px 28px; background: #fff; gap: 16px; }
.search-footer .primary-button { border-radius: 7px; font-weight: 500; min-width: 182px; }
.search-footer .primary-button:disabled, .search-footer .primary-button:disabled:hover { background: #e9eae2; border-color: #e0e1d7; color: #757868; cursor: not-allowed; opacity: 1; box-shadow: none; }
#search-health { margin-top: 0; font-size: 12px; }
.starter-row { flex-wrap: wrap; }
.visualizer-promo { margin-bottom: 28px; }
[hidden] { display: none !important; }
@media (max-width: 1100px) {
  .input-tabs { gap: 19px; }
  .input-tabs button { font-size: 13px; }
  .search-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .workspace main { padding: 24px 18px 0; }
  .welcome h1 { max-width: 420px; }
  .sidebar { border-right: 0; border-bottom: 1px solid var(--line); }
  .sidebar .workspace-nav { scrollbar-width: thin; }
  .input-tabs { padding-inline: 18px; gap: 22px; overflow-x: auto; }
  .input-tabs button { white-space: nowrap; flex: 0 0 auto; }
  .input-tabs button .icon { display: none; }
  .input-content { padding: 22px 18px 18px; }
  .search-auth-notice { align-items: flex-start; flex-direction: column; padding: 16px; gap: 13px; }
  .search-auth-notice .secondary-button { width: 100%; justify-content: center; }
  .search-settings > summary { flex-wrap: wrap; gap: 8px; }
  #search-options-summary { width: 100%; margin-left: 20px; text-align: left; }
  .search-footer { padding: 18px; align-items: stretch; flex-direction: column; gap: 14px; }
  .search-footer .primary-button { width: 100%; }
  .search-options { gap: 18px; }
}
@media (max-width: 420px) {
  .search-options { grid-template-columns: minmax(0, 1fr); }
  .welcome h1 { font-size: 27px; }
  .topbar-actions .preview-badge { display: none; }
}
