/* GouHuIP enterprise visual system — batch 1 */
:root {
  --gh-brand-50:#fff4f4;
  --gh-brand-100:#ffe3e4;
  --gh-brand-600:#c52a32;
  --gh-brand-700:#a91f28;
  --gh-brand-800:#861923;
  --gh-nav-950:#13263c;
  --gh-nav-900:#13263c;
  --gh-nav-800:#203750;
  --gh-nav-active:#29435e;
  --gh-canvas:#f3f6f9;
  --gh-page:var(--gh-canvas);
  --gh-surface:#fff;
  --gh-surface-subtle:#f8fafc;
  --gh-surface-strong:#eef3f7;
  --gh-text-950:#172b43;
  --gh-text-800:#29364a;
  --gh-text-600:#617287;
  --gh-text-500:#718197;
  --gh-border:#d9e2ec;
  --gh-border-strong:#c5cfdb;
  --gh-info:#2f6fb3;
  --gh-info-bg:#edf5fd;
  --gh-success:#1d7a50;
  --gh-success-bg:#edf8f2;
  --gh-warning:#a85d05;
  --gh-warning-bg:#fff6e8;
  --gh-danger:#b4232f;
  --gh-danger-bg:#fff0f1;
  --gh-neutral:#5f6d7c;
  --gh-neutral-bg:#f0f3f6;
  --gh-font-sans:"Microsoft YaHei","PingFang SC","Noto Sans CJK SC",Arial,sans-serif;
  --gh-font-mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  --gh-radius-xs:2px;
  --gh-radius-sm:4px;
  --gh-radius-md:6px;
  --gh-radius-lg:8px;
  --gh-shadow-float:0 10px 28px rgba(15,29,49,.12);
  --sidebar:216px;
  --topbar:64px;

  /* Bridge legacy variables to the approved system. */
  --brand-950:var(--gh-nav-950);
  --brand-900:var(--gh-nav-900);
  --brand-800:var(--gh-nav-800);
  --brand-700:#285f9f;
  --brand-600:var(--gh-info);
  --brand-500:#4d83bc;
  --brand-100:var(--gh-info-bg);
  --brand-50:#f5f9fd;
  --ink-950:var(--gh-text-950);
  --ink-800:var(--gh-text-800);
  --ink-700:#39485c;
  --ink-600:var(--gh-text-600);
  --ink-500:var(--gh-text-500);
  --ink-400:#96a1af;
  --line:var(--gh-border);
  --line-strong:var(--gh-border-strong);
  --surface:var(--gh-surface);
  --canvas:var(--gh-canvas);
  --success:var(--gh-success);
  --success-bg:var(--gh-success-bg);
  --warning:var(--gh-warning);
  --warning-bg:var(--gh-warning-bg);
  --danger:var(--gh-danger);
  --danger-bg:var(--gh-danger-bg);
  --shadow-sm:0 1px 2px rgba(15,29,49,.04);
  --shadow-md:0 8px 22px rgba(15,29,49,.08);
  --shadow-lg:var(--gh-shadow-float);
  --radius-sm:var(--gh-radius-sm);
  --radius:var(--gh-radius-md);
  --radius-lg:var(--gh-radius-lg);
}

html { color-scheme:light; }
html,body { background:var(--gh-canvas); color:var(--gh-text-950); }
body { font-family:var(--gh-font-sans); font-size:14px; line-height:1.6; -webkit-font-smoothing:antialiased; }
button,input,select,textarea { font-family:var(--gh-font-sans); }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {
  outline:2px solid var(--gh-info);
  outline-offset:2px;
}
input[type="checkbox"],input[type="radio"] { accent-color:var(--gh-info); }

.btn {
  min-height:40px;
  padding:8px 15px;
  border-radius:var(--gh-radius-sm);
  font-size:14px;
  font-weight:650;
  gap:8px;
  transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease;
}
.btn:hover { transform:none; }
.btn-primary {
  background:var(--gh-brand-600);
  border-color:var(--gh-brand-600);
  color:#fff;
  box-shadow:none;
}
.btn-primary:hover { background:var(--gh-brand-700); border-color:var(--gh-brand-700); }
.btn-secondary { background:#fff; border-color:var(--gh-border-strong); color:var(--gh-text-800); }
.btn-secondary:hover { border-color:#8ba5c0; color:var(--gh-nav-900); background:var(--gh-surface-subtle); }
.btn-soft { background:var(--gh-info-bg); border-color:#d9e9f8; color:#245f9d; }
.btn-danger { background:#fff; border-color:#e6aeb4; color:var(--gh-danger); }
.btn-sm { min-height:32px; padding:5px 10px; border-radius:var(--gh-radius-sm); font-size:13px; }
.btn-lg { min-height:46px; padding:11px 22px; font-size:15px; }
.icon-btn {
  width:38px;
  height:38px;
  border-radius:var(--gh-radius-sm);
  border-color:var(--gh-border);
  background:#fff;
}
.input,.select,.textarea {
  min-height:40px;
  border-radius:var(--gh-radius-sm);
  border-color:var(--gh-border-strong);
  padding:8px 11px;
  background:#fff;
}
.input:focus,.select:focus,.textarea:focus {
  border-color:var(--gh-info);
  box-shadow:0 0 0 3px rgba(47,111,179,.12);
}

.ui-icon,.feature-icon-mask,.nav-icon-text,.top-search-icon::before,.mobile-menu::before,.top-actions>a.icon-btn::before {
  display:inline-block;
  flex:none;
  width:18px;
  height:18px;
  background-color:transparent;
  background-image:var(--gh-icon);
  background-position:center;
  background-size:contain;
  background-repeat:no-repeat;
  -webkit-mask:none;
  mask:none;
}
.icon-folder { --gh-icon:url("../icons/phosphor/navy/folder-open.svg"); }
.icon-files { --gh-icon:url("../icons/phosphor/navy/files.svg"); }
.icon-play-circle { --gh-icon:url("../icons/phosphor/navy/play-circle.svg"); }
.icon-money { --gh-icon:url("../icons/phosphor/navy/hand-coins.svg"); }
.icon-refresh { --gh-icon:url("../icons/phosphor/navy/arrows-clockwise.svg"); }
.icon-arrow-left { --gh-icon:url("../icons/phosphor/navy/arrow-left.svg"); }
.icon-download { --gh-icon:url("../icons/phosphor/navy/download-simple.svg"); }
.icon-plus { --gh-icon:url("../icons/phosphor/navy/plus.svg"); }
.icon-filter-off { --gh-icon:url("../icons/phosphor/navy/funnel-x.svg"); }
.icon-clock { --gh-icon:url("../icons/phosphor/navy/clock-countdown.svg"); }
.icon-bell { --gh-icon:url("../icons/phosphor/navy/bell.svg"); }
.icon-file { --gh-icon:url("../icons/phosphor/navy/article.svg"); }
.icon-file-text { --gh-icon:url("../icons/phosphor/navy/article.svg"); }
.icon-search { --gh-icon:url("../icons/phosphor/navy/magnifying-glass.svg"); }
.icon-currency { --gh-icon:url("../icons/phosphor/navy/currency-cny.svg"); }
.icon-receipt { --gh-icon:url("../icons/phosphor/navy/receipt.svg"); }
.icon-list { --gh-icon:url("../icons/phosphor/navy/list.svg"); }
.icon-list-add { --gh-icon:url("../icons/phosphor/navy/list-checks.svg"); }
.icon-confirm { --gh-icon:url("../icons/phosphor/navy/seal-check.svg"); }
.icon-history { --gh-icon:url("../icons/phosphor/navy/clock-countdown.svg"); }
.icon-chevron-left { --gh-icon:url("../icons/phosphor/navy/caret-left.svg"); }
.icon-chevron-right { --gh-icon:url("../icons/phosphor/navy/caret-right.svg"); }
.icon-user-plus,
.icon-user-minus,
.icon-upload,
.icon-message,
.icon-mail,
.icon-sort,
.icon-users {
  --gh-icon:none;
  background-color:currentColor;
  -webkit-mask-position:center;
  -webkit-mask-repeat:no-repeat;
  -webkit-mask-size:contain;
  mask-position:center;
  mask-repeat:no-repeat;
  mask-size:contain;
}
.icon-user-plus { -webkit-mask-image:url("../icons/lucide/user-plus.svg"); mask-image:url("../icons/lucide/user-plus.svg"); }
.icon-user-minus { -webkit-mask-image:url("../icons/lucide/user-minus.svg"); mask-image:url("../icons/lucide/user-minus.svg"); }
.icon-upload { -webkit-mask-image:url("../icons/lucide/upload.svg"); mask-image:url("../icons/lucide/upload.svg"); }
.icon-message { -webkit-mask-image:url("../icons/lucide/message-square.svg"); mask-image:url("../icons/lucide/message-square.svg"); }
.icon-mail { -webkit-mask-image:url("../icons/lucide/mail.svg"); mask-image:url("../icons/lucide/mail.svg"); }
.icon-sort { -webkit-mask-image:url("../icons/lucide/arrow-up-down.svg"); mask-image:url("../icons/lucide/arrow-up-down.svg"); }
.icon-users { -webkit-mask-image:url("../icons/lucide/users.svg"); mask-image:url("../icons/lucide/users.svg"); }
.icon-trash {
  --gh-icon:none;
  background-color:currentColor;
  -webkit-mask:url("../icons/lucide/trash-2.svg") center/contain no-repeat;
  mask:url("../icons/lucide/trash-2.svg") center/contain no-repeat;
}
.icon-warning {
  --gh-icon:none;
  background-color:currentColor;
  -webkit-mask:url("../icons/phosphor/navy/warning-diamond.svg") center/contain no-repeat;
  mask:url("../icons/phosphor/navy/warning-diamond.svg") center/contain no-repeat;
}
.btn-primary .icon-plus { --gh-icon:url("../icons/phosphor/white/plus.svg"); }
.btn-primary .icon-currency { --gh-icon:url("../icons/phosphor/white/currency-cny.svg"); }
.btn-primary .icon-receipt { --gh-icon:url("../icons/phosphor/white/receipt.svg"); }
.btn-primary .icon-list,.btn-primary .icon-list-add { --gh-icon:url("../icons/phosphor/white/list-checks.svg"); }
.btn-primary .icon-confirm { --gh-icon:url("../icons/phosphor/white/seal-check.svg"); }
.btn-primary .icon-history { --gh-icon:url("../icons/phosphor/white/clock-countdown.svg"); }
.btn-primary .icon-refresh,.btn-danger .icon-refresh { --gh-icon:url("../icons/phosphor/white/arrows-clockwise.svg"); }
.detail-hero .btn-secondary .icon-refresh { --gh-icon:url("../icons/phosphor/navy/arrows-clockwise.svg"); }
.btn-primary .ui-icon { filter:brightness(0) invert(1); }

/* Shared logged-in application shell. Sidebar visuals live in enterprise-redesign.css. */
.app-shell { min-height:100vh; }
.nav-item[href="dashboard.html"] .nav-icon-text { --gh-icon:url("../icons/phosphor/light/squares-four.svg"); }
.nav-item[href="policies.html"] .nav-icon-text { --gh-icon:url("../icons/phosphor/light/scales.svg"); }
.nav-item[href="patents.html"] .nav-icon-text { --gh-icon:url("../icons/phosphor/light/certificate.svg"); }
.nav-item[href="add-patent.html"] .nav-icon-text { --gh-icon:url("../icons/phosphor/light/file-plus.svg"); }
.nav-item[href="annual-fees.html"] .nav-icon-text { --gh-icon:url("../icons/phosphor/light/calendar-dots.svg"); }
.nav-item[href="competitor.html"] .nav-icon-text { --gh-icon:url("../icons/phosphor/light/binoculars.svg"); }
.nav-item[href="copyrights.html"] .nav-icon-text { --gh-icon:url("../icons/phosphor/light/copyright.svg"); }
.nav-item[href="copyright-review.html"] .nav-icon-text { --gh-icon:url("../icons/phosphor/light/copyright.svg"); }
.nav-item[href="trademarks.html"] .nav-icon-text { --gh-icon:url("../icons/phosphor/light/trademark-registered.svg"); }
.nav-item[href="journals.html"] .nav-icon-text { --gh-icon:url("../icons/phosphor/light/article.svg"); }
.nav-item[href="learning.html"] .nav-icon-text { --gh-icon:url("../icons/phosphor/light/play-circle.svg"); }
.nav-item[href="recycle-bin.html"] .nav-icon-text { --gh-icon:url("../icons/phosphor/light/folders.svg"); }
.nav-item[href="ai-disclosure.html"] .nav-icon-text { --gh-icon:url("../icons/phosphor/light/clipboard-text.svg"); }
.nav-item[href="case-analysis.html"] .nav-icon-text { --gh-icon:url("../icons/phosphor/light/folders.svg"); }
.nav-item[href="application-info.html"] .nav-icon-text { --gh-icon:url("../icons/phosphor/light/clipboard-text.svg"); }
.nav-item[href="patent-value.html"] .nav-icon-text { --gh-icon:url("../icons/phosphor/light/chart-line-up.svg"); }
.nav-item[href="fee-query.html"] .nav-icon-text { --gh-icon:url("../icons/phosphor/light/arrows-clockwise.svg"); }
.nav-item[href="query-tasks.html"] .nav-icon-text { --gh-icon:url("../icons/phosphor/light/list-checks.svg"); }
.nav-item[href^="payment-new.html"] .nav-icon-text { --gh-icon:url("../icons/phosphor/light/receipt.svg"); }
.nav-item[href="payment-drafts.html"] .nav-icon-text { --gh-icon:url("../icons/phosphor/light/file-dashed.svg"); }
.nav-item[href="payment-records.html"] .nav-icon-text { --gh-icon:url("../icons/phosphor/light/clock-countdown.svg"); }
.nav-item[href="business-accounts.html"] .nav-icon-text { --gh-icon:url("../icons/phosphor/light/bank.svg"); }
.nav-item[href="invoices.html"] .nav-icon-text { --gh-icon:url("../icons/phosphor/light/invoice.svg"); }
.nav-item[href="downloads.html"] .nav-icon-text { --gh-icon:url("../icons/phosphor/light/tray-arrow-down.svg"); }
.nav-item[href="notifications.html"] .nav-icon-text { --gh-icon:url("../icons/phosphor/light/bell.svg"); }
.nav-item[href="profile.html"] .nav-icon-text { --gh-icon:url("../icons/phosphor/light/user-circle.svg"); }
.nav-item[href="vip.html"] .nav-icon-text { --gh-icon:url("../icons/lucide/crown.svg"); }
.nav-item[href="sms-history.html"] .nav-icon-text { --gh-icon:url("../icons/phosphor/light/bell.svg"); }
.nav-item[href="organization-users.html"] .nav-icon-text { --gh-icon:url("../icons/phosphor/light/user-circle.svg"); }
.main-wrap { margin-left:var(--sidebar); }
.topbar {
  height:var(--topbar);
  padding:0 24px;
  border-bottom:1px solid var(--gh-border);
  background:rgba(255,255,255,.98);
  box-shadow:none;
}
.breadcrumb { font-size:13px; color:var(--gh-text-500); }
.breadcrumb strong { color:var(--gh-text-950); font-weight:700; }
.top-actions { gap:10px; }
.top-search { width:280px; }
.top-search .input { min-height:36px; height:36px; padding-left:36px; border-color:var(--gh-border); background:var(--gh-surface-subtle); }
.top-search-icon { font-size:0; left:11px; width:16px; height:16px; color:var(--gh-text-500); }
.top-search-icon::before { content:""; --gh-icon:url("../icons/phosphor/navy/magnifying-glass.svg"); width:16px; height:16px; }
.top-actions>a.icon-btn { font-size:0; position:relative; }
.top-actions>a.icon-btn::before { content:""; --gh-icon:url("../icons/phosphor/navy/bell.svg"); }
.mobile-menu { display:none; font-size:0; }
.mobile-menu::before { content:""; --gh-icon:url("../icons/phosphor/navy/list.svg"); }

.content { padding:24px; max-width:1600px; margin:0 auto; }
.page-head { align-items:flex-start; gap:24px; margin-bottom:18px; }
.page-head h1 { margin:0 0 5px; font-size:26px; line-height:1.3; letter-spacing:-.02em; color:var(--gh-text-950); }
.page-head p { margin:0; color:var(--gh-text-600); font-size:13px; line-height:1.65; }
.page-actions { align-items:center; gap:8px; }
.page-actions .ui-icon { width:16px; height:16px; }

.card,.panel {
  border:1px solid var(--gh-border);
  border-radius:var(--gh-radius-md);
  background:#fff;
  box-shadow:none;
}
.card-head { padding:16px 18px; }
.card-body { padding:18px; }
.toolbar { gap:10px; }
.toolbar .search { position:relative; }
.toolbar .search>.ui-icon { position:absolute; left:11px; top:50%; z-index:1; transform:translateY(-50%); }
.toolbar .search>.ui-icon+.input { padding-left:36px; }
.data-table { color:var(--gh-text-800); }
.data-table th {
  height:40px;
  background:var(--gh-surface-subtle);
  color:var(--gh-text-600);
  font-size:12px;
  font-weight:700;
  letter-spacing:.01em;
  border-bottom:1px solid var(--gh-border-strong);
}
.data-table td { height:44px; border-bottom:1px solid #e8edf2; font-size:13px; }
.data-table tbody tr:hover { background:#f7fafc; }
.status,.tag {
  min-height:24px;
  padding:3px 8px;
  border-radius:var(--gh-radius-sm);
  font-size:12px;
  font-weight:650;
}
.status-success { background:var(--gh-success-bg); color:var(--gh-success); }
.status-info { background:var(--gh-info-bg); color:var(--gh-info); }
.status-warning { background:var(--gh-warning-bg); color:var(--gh-warning); }
.status-danger { background:var(--gh-danger-bg); color:var(--gh-danger); }
.status-muted { background:var(--gh-neutral-bg); color:var(--gh-neutral); }
.table-footer { min-height:54px; padding:10px 16px; border-top:1px solid var(--gh-border); }
.page-btn { width:32px; height:32px; border-radius:var(--gh-radius-sm); border-color:var(--gh-border); background:#fff; }
.page-btn.active { background:var(--gh-info-bg); border-color:#bdd3ea; color:#245f9d; }

/* Public homepage */
.public-page { background:#fff; }
.public-header {
  height:70px;
  position:relative;
  top:auto;
  border-bottom:1px solid var(--gh-border);
  background:rgba(255,255,255,.98);
  backdrop-filter:none;
}
.public-header .inner,.hero-inner,.public-section-inner,.public-footer .inner {
  width:min(1280px,calc(100% - 64px));
  margin-inline:auto;
}
.public-brand img { width:250px; max-height:42px; object-fit:contain; object-position:left center; }
.public-nav { gap:26px; color:var(--gh-text-600); font-size:13px; }
.public-nav>a:not(.btn) { min-height:40px; display:inline-flex; align-items:center; border-bottom:2px solid transparent; }
.public-nav>a:not(.btn):hover { color:var(--gh-nav-900); border-bottom-color:var(--gh-brand-600); }
.public-nav .btn { min-height:36px; padding:7px 14px; }
.public-mobile-actions { display:none; align-items:center; gap:8px; }
.hero {
  min-height:602px;
  background:#fbfcfe;
  border-bottom:1px solid var(--gh-border);
}
.hero::after { display:none; }
.hero-inner {
  min-height:602px;
  grid-template-columns:minmax(0,.9fr) minmax(540px,1.1fr);
  gap:54px;
  align-items:center;
  padding:52px 0 46px;
}
.hero-inner>* { min-width:0; }
.hero-copy { align-self:center; }
.hero-copy h1 {
  max-width:590px;
  margin:0 0 22px;
  color:var(--gh-nav-950);
  font-size:46px;
  line-height:1.22;
  letter-spacing:-.035em;
}
.hero-copy p { max-width:590px; margin:0 0 26px; color:var(--gh-text-600); font-size:16px; line-height:1.85; }
.hero-actions { margin-bottom:24px; gap:10px; }
.hero-proof { gap:16px 22px; flex-wrap:wrap; color:var(--gh-text-600); font-size:12px; }
.hero-proof span::before { content:""; width:15px; height:15px; background:url("../icons/phosphor/navy/check-square.svg") center/contain no-repeat; }
.hero-visual { margin:0; min-width:0; align-self:center; }
.hero-visual img { width:100%; max-height:470px; object-fit:contain; object-position:center; }
.hero-console {
  transform:none;
  width:100%;
  min-width:0;
  padding:18px;
  border-radius:var(--gh-radius-lg);
  background:var(--gh-nav-950);
  box-shadow:0 18px 40px rgba(15,29,49,.16);
  color:#fff;
}
.console-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:14px; }
.console-heading strong { font-size:16px; }
.hero-console .status { background:#fff; color:var(--gh-success); }
.hero-console .stat-grid { margin:0 0 12px!important; gap:1px; background:#dce3ec; border:1px solid #dce3ec; border-radius:var(--gh-radius-md); overflow:hidden; }
.hero-console .stat-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.hero-console .stat-card {
  min-height:86px;
  padding:13px 16px;
  border:0;
  border-radius:0;
  background:#fff;
  box-shadow:none;
}
.hero-console .stat-value { font-family:var(--gh-font-mono); font-size:25px; color:var(--gh-nav-950); }
.hero-console .stat-label { color:var(--gh-text-500); font-size:11px; }
.hero-console .table-wrap { border:0; border-radius:var(--gh-radius-md); background:#fff; overflow:hidden; }
.hero-console table { width:100%; min-width:0; border-collapse:collapse; color:var(--gh-text-800); font-size:12px; }
.hero-console th,.hero-console td { padding:10px 12px; text-align:left; border-bottom:1px solid var(--gh-border); }
.hero-console th { background:var(--gh-surface-subtle); color:var(--gh-text-500); font-weight:650; }
.hero-console tbody tr:last-child td { border-bottom:0; }

.public-section { padding:58px 0; background:#fff; border-bottom:1px solid var(--gh-border); }
.public-section.alt { background:var(--gh-surface-subtle); }
.public-section-heading { margin-bottom:30px; }
.public-section-heading h2 { margin:0 0 8px; color:var(--gh-nav-950); font-size:28px; line-height:1.35; }
.public-section-heading p { margin:0; color:var(--gh-text-600); }
.capability-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--gh-border-strong); border-bottom:1px solid var(--gh-border-strong); }
.capability-item { display:grid; grid-template-columns:44px 1fr; gap:14px; padding:24px 22px; border-right:1px solid var(--gh-border); }
.capability-item:last-child { border-right:0; }
.capability-item .feature-icon-mask { width:38px; height:38px; }
.capability-item h3 { margin:0 0 7px; color:var(--gh-text-950); font-size:15px; }
.capability-item p { margin:0; color:var(--gh-text-600); font-size:13px; line-height:1.75; }
.process-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--gh-border-strong); }
.process-item { position:relative; padding:22px 42px 4px 0; border-bottom:1px solid var(--gh-border); }
.process-item+.process-item { padding-left:28px; }
.process-item+.process-item::before { content:""; position:absolute; left:0; top:22px; bottom:4px; width:1px; background:var(--gh-border); }
.process-number { display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; margin-bottom:13px; border:1px solid #9bb8d4; border-radius:50%; color:var(--gh-info); font-family:var(--gh-font-mono); font-weight:700; }
.process-item h3 { margin:0 0 7px; font-size:16px; }
.process-item p { margin:0; color:var(--gh-text-600); font-size:13px; line-height:1.7; }
.service-notes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--gh-border-strong); border-bottom:1px solid var(--gh-border-strong); }
.service-note { padding:23px 24px; }
.service-note+.service-note { border-left:1px solid var(--gh-border); }
.service-note h3 { margin:0 0 8px; font-size:16px; }
.service-note p { margin:0; color:var(--gh-text-600); line-height:1.75; }
.public-footer { background:var(--gh-nav-950); color:#dce6f2; }
.public-footer .inner { min-height:78px; }
.public-footer a { color:#aebed0; }
.public-footer a:hover { color:#fff; }

/* Public secondary pages */
.public-content {
  width:min(1120px,calc(100% - 64px));
  min-height:calc(100vh - 148px);
  margin:0 auto;
  padding:54px 0 82px;
}
.public-content .page-head {
  margin-bottom:24px;
  padding-bottom:18px;
  border-bottom:1px solid var(--gh-border-strong);
}
.public-content .page-head h1 { font-size:30px; }
.contact-content .grid-2 { grid-template-columns:.9fr 1.1fr; gap:24px; }
.contact-content .card { border-radius:var(--gh-radius-md); }
.contact-content .card-head { background:var(--gh-surface-subtle); border-bottom:1px solid var(--gh-border); }
.contact-content .info-grid { border:0; }
.contact-content .info-item { padding:15px 0; border-right:0; border-bottom:1px solid var(--gh-border); }
.contact-content .info-item:last-child { border-bottom:0; }
.contact-content .form-group>span { display:block; margin-bottom:7px; color:var(--gh-text-800); font-weight:650; }
.legal-content { width:min(920px,calc(100% - 64px)); }
.legal-article { border:0; border-radius:0; background:transparent; }
.legal-article .card-body { padding:0; }
.legal-article h3 { margin:0; padding:22px 0 8px; border-top:1px solid var(--gh-border); font-size:16px; }
.legal-article h3:first-child { border-top:0; padding-top:0; }
.legal-article p { margin:0; padding:0 0 22px; color:var(--gh-text-600); font-size:14px; line-height:1.9; }

/* Authentication */
.auth-page { min-height:100vh; grid-template-columns:minmax(480px,.9fr) minmax(620px,1.1fr); background:#fff; }
.auth-visual {
  min-height:100vh;
  padding:42px 56px;
  color:var(--gh-text-950);
  background:#f2f5f8;
  border-right:1px solid var(--gh-border);
  isolation:isolate;
}
.auth-visual::after {
  content:"";
  position:absolute;
  z-index:-1;
  left:24px;
  right:24px;
  bottom:56px;
  height:52%;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:url("../img/ip-asset-dossier.png") center bottom/contain no-repeat;
}
.auth-visual .hero-logo { width:250px; height:auto; }
.auth-visual>div { max-width:560px; margin-top:52px; }
.auth-visual h1 { max-width:530px; margin:0 0 18px; color:var(--gh-nav-950); font-size:38px; line-height:1.32; letter-spacing:-.025em; }
.auth-visual p { max-width:520px; margin:0; color:var(--gh-text-600); font-size:15px; line-height:1.85; }
.auth-visual small { color:var(--gh-text-500); }
.auth-panel { min-height:100vh; padding:48px 7vw; background:#fff; }
.auth-card { width:min(480px,100%); }
.auth-panel-register .auth-card { width:min(660px,100%); }
.auth-mobile-brand { display:none; }
.auth-mobile-brand img { display:block; width:188px; height:auto; }
.auth-card h2 { margin:0 0 7px; color:var(--gh-nav-950); font-size:28px; letter-spacing:-.02em; }
.auth-card .sub { margin-bottom:26px; color:var(--gh-text-600); }
.auth-card .form-grid { gap:16px 18px; }
.auth-bottom { margin-top:22px; color:var(--gh-text-500); }
.auth-bottom a { color:#2a659f; }

/* Record reading and workflow progress */
.detail-hero { border-radius:var(--gh-radius-lg); background:#173d78; }
.tabs { overflow-x:auto; scrollbar-width:thin; }
.tab { flex:0 0 auto; white-space:nowrap; }
.progress-bar { background:#477ca4; }
.progress-bar.success { background:var(--gh-success); }
.task-top { align-items:flex-start; }
.task-top>div { flex:1; min-width:0; }
.task-top>.btn { flex:0 0 auto; min-height:36px; }

/* Payment and account workflows */
.page-payment-new .payment-layout { grid-template-columns:minmax(330px,.85fr) minmax(520px,1.25fr); }
.page-payment-new .payment-layout>* { min-width:0; }
.page-payment-new .fee-choice { grid-template-columns:minmax(0,1fr) auto; }
.page-payment-new .fee-choice>* { min-width:0; }
.processing-icon { font-size:0; }
.processing-icon .ui-icon { width:28px; height:28px; }
.modal-close { font-size:0; }
.modal-close::before { content:""; display:block; width:18px; height:18px; background:url("../icons/phosphor/navy/plus.svg") center/contain no-repeat; transform:rotate(45deg); }
body.payment-window { width:100%; min-height:100vh; overflow-x:hidden; background:var(--gh-page); }
.payment-window-bar { width:100%; min-height:48px; height:auto; justify-content:space-between; padding:8px max(16px,calc((100vw - 760px)/2)); }
.payment-window-content { width:min(760px,calc(100% - 32px)); margin:32px auto; padding:36px; border:1px solid var(--gh-border); border-radius:var(--gh-radius-lg); background:#fff; text-align:left; }
.payment-window-content .payment-order { width:min(520px,100%); margin:0 auto; padding:20px; }

/* Dashboard data graphics */
.chart-bars { height:210px; align-items:stretch; gap:18px; padding:22px 18px 0; }
.bar-item { height:100%; justify-content:flex-end; gap:7px; }
.bar-item>b { order:1; color:var(--gh-nav-950); font-size:13px; }
.bar-item>i { order:2; display:block; width:28px; min-height:12px; border-radius:3px 3px 0 0; background:#477ca4; }
.bar-item>span { order:3; color:var(--gh-text-500); font-size:12px; }

/* Patent overview */
.patents-content { max-width:none; }
.patents-content .page-head { margin-bottom:16px; }
.patents-content .page-actions .btn { min-height:36px; padding:7px 12px; font-size:13px; }
.patents-table-panel { overflow:hidden; padding:0; }
.patents-table-panel>.card-body { padding:0; }
.patents-filterbar {
  display:grid;
  grid-template-columns:minmax(230px,1.25fr) minmax(150px,.75fr) minmax(160px,.8fr) auto minmax(24px,1fr) auto auto;
  align-items:center;
  gap:10px;
  min-height:74px;
  padding:16px;
  border-bottom:1px solid var(--gh-border);
  background:#fff;
}
.patents-filterbar .search { width:auto; min-width:0; }
.patents-filterbar .search { position:relative; display:block; }
.patents-filterbar .search>.ui-icon { position:absolute; left:11px; top:50%; z-index:1; color:var(--gh-text-500); transform:translateY(-50%); }
.patents-filterbar .search .input { width:100%; padding-left:36px; }
.patents-filterbar .select { width:100%; }
.patents-filterbar .muted { white-space:nowrap; font-size:12px; }
.patents-filterbar .btn { min-height:36px; padding:7px 11px; font-size:13px; }
.patent-overview-wrap { border:0; border-radius:0; overflow:auto; scrollbar-gutter:stable; }
.patent-overview-table { width:100%; min-width:1060px; table-layout:fixed; font-size:13px; }
.patent-overview-table thead th { top:0; height:40px; background:var(--gh-surface-subtle); }
.patent-overview-table th,.patent-overview-table td { padding:0 10px; }
.patent-overview-table td { height:48px; }
.patent-overview-table th:nth-child(1),.patent-overview-table td:nth-child(1) { width:40px; text-align:center; }
.patent-overview-table th:nth-child(2),.patent-overview-table td:nth-child(2) { width:76px; }
.patent-overview-table th:nth-child(3),.patent-overview-table td:nth-child(3) { width:132px; }
.patent-overview-table th:nth-child(4),.patent-overview-table td:nth-child(4) { width:92px; }
.patent-overview-table th:nth-child(5),.patent-overview-table td:nth-child(5) { width:200px; }
.patent-overview-table th:nth-child(6),.patent-overview-table td:nth-child(6) { width:165px; }
.patent-overview-table th:nth-child(7),.patent-overview-table td:nth-child(7) { width:155px; }
.patent-overview-table th:nth-child(8),.patent-overview-table td:nth-child(8) { width:138px; }
.patent-overview-table th:nth-child(9),.patent-overview-table td:nth-child(9) { width:62px; text-align:center; }
.patent-overview-table .text-link { color:#2465a6; font-family:var(--gh-font-mono); font-size:12.5px; }
.patent-overview-table .text-link:hover { text-decoration:underline; }
.patent-overview-table .btn-primary {
  min-height:30px;
  padding:4px 7px;
  border:0;
  background:transparent;
  color:#2465a6;
  box-shadow:none;
}
.patent-overview-table .btn-primary:hover { background:var(--gh-info-bg); color:#174f88; }
.patents-table-panel .table-footer { background:#fff; }

/* Dashboard is the visual specimen for the shared shell. Replace legacy text glyphs with the local icon set. */
.kpi-icon,.quick-action>b {
  font-size:0;
  color:var(--gh-info);
}
.kpi-icon::before,.quick-action>b::before {
  content:"";
  display:block;
  width:20px;
  height:20px;
  background-image:var(--gh-icon);
  background-position:center;
  background-size:contain;
  background-repeat:no-repeat;
}
.kpi-card:nth-child(1) .kpi-icon,.quick-action[href="add-patent.html"]>b { --gh-icon:url("../icons/phosphor/navy/certificate.svg"); }
.kpi-card:nth-child(2) .kpi-icon { --gh-icon:url("../icons/phosphor/navy/calendar-dots.svg"); }
.kpi-card:nth-child(3) .kpi-icon { --gh-icon:url("../icons/phosphor/navy/warning-diamond.svg"); }
.kpi-card:nth-child(4) .kpi-icon,.quick-action[href="query-tasks.html"]>b { --gh-icon:url("../icons/phosphor/navy/list-checks.svg"); }
.quick-action[href="fee-query.html"]>b { --gh-icon:url("../icons/phosphor/navy/arrows-clockwise.svg"); }
.quick-action[href="payment-new.html"]>b { --gh-icon:url("../icons/phosphor/navy/receipt.svg"); }

/* Knowledge-asset, learning and case-processing pages */
.video-thumb {
  display:grid;
  min-height:132px;
  place-items:center;
  border-bottom:1px solid var(--gh-border);
  background:#e8eef5;
  color:var(--gh-nav-800);
}
.video-thumb .ui-icon { width:48px; height:48px; opacity:.82; }
.upload-zone-icon {
  display:grid;
  width:56px;
  height:56px;
  margin:0 auto 12px;
  place-items:center;
  border:1px solid #c9d5e2;
  border-radius:50%;
  background:#f2f6fa;
}
.upload-zone-icon .ui-icon { width:28px; height:28px; }

@media (max-width:1280px) {
  .public-header .inner,.hero-inner,.public-section-inner,.public-footer .inner { width:min(100% - 48px,1280px); }
  .hero-inner { grid-template-columns:minmax(0,.85fr) minmax(520px,1.15fr); gap:34px; }
  .hero-copy h1 { font-size:40px; }
  .patents-filterbar { grid-template-columns:minmax(220px,1fr) 150px 160px auto; }
  .patents-filterbar .spacer { display:none; }
  .patents-filterbar [data-update-selected-fees] { grid-column:1/3; justify-self:start; }
  .patents-filterbar .muted { grid-column:4; grid-row:2; justify-self:end; }
}

@media (max-width:900px) {
  :root { --sidebar:0px; }
  .sidebar { width:216px; transform:translateX(-105%); box-shadow:var(--gh-shadow-float); }
  .sidebar.open { transform:translateX(0); }
  .sidebar-footer { width:216px; }
  .main-wrap { margin-left:0; }
  .mobile-menu { display:inline-flex; }
  .topbar { padding:0 16px; }
  .content { padding:20px; }
  .top-search { width:240px; }
  .public-nav { display:none; }
  .public-mobile-actions { display:flex; }
  .hero { min-height:auto; }
  .hero-inner { grid-template-columns:1fr; min-height:auto; padding:58px 0; }
  .hero-copy h1 { max-width:720px; font-size:42px; }
  .hero-visual { max-width:720px; }
  .capability-list { grid-template-columns:repeat(2,1fr); }
  .capability-item:nth-child(2) { border-right:0; }
  .capability-item:nth-child(-n+2) { border-bottom:1px solid var(--gh-border); }
  .process-list { grid-template-columns:1fr; }
  .process-item,.process-item+.process-item { padding:20px 0; }
  .process-item+.process-item::before { display:none; }
  .patents-filterbar { grid-template-columns:1fr 1fr; }
  .patents-filterbar .search { grid-column:1/-1; }
  .patents-filterbar .spacer { display:none; }
  .patents-filterbar [data-update-selected-fees] { grid-column:1; }
  .patents-filterbar .muted { grid-column:2; grid-row:auto; justify-self:end; }
  .auth-page { grid-template-columns:1fr; }
  .auth-visual { display:none; }
  .auth-panel { min-height:100vh; padding:38px 24px; }
  .auth-mobile-brand { display:block; margin:0 0 44px; }
  .auth-mobile-brand img { width:164px; }
  .public-content,.legal-content { width:calc(100% - 40px); padding:40px 0 64px; }
  .contact-content .grid-2 { grid-template-columns:1fr; }
}

@media (max-height:820px) and (min-width:641px) {
}

@media (max-width:640px) {
  .topbar { padding:0 12px; }
  .breadcrumb span { display:none; }
  .top-search { display:none; }
  .top-actions { margin-left:auto; }
  .content { padding:16px; }
  .tabs { padding-inline:10px; }
  .tab { padding:13px 14px; }
  .notice { display:block; }
  .notice>strong { display:block; margin-bottom:6px; }
  .task-top { flex-direction:column; }
  .task-top>.btn { width:100%; }
  .page-payment-new .payment-layout { grid-template-columns:minmax(0,1fr); }
  .page-payment-new .fee-choice { grid-template-columns:1fr; }
  .payment-window-bar { align-items:flex-start; gap:8px; font-size:12px; }
  .payment-window-bar>div { min-width:0; }
  .payment-window-content { margin:18px auto; padding:16px; }
  .payment-window-content .payment-order { padding:16px; }
  .page-head { display:block; }
  .page-head h1 { font-size:23px; }
  .page-actions { margin-top:14px; display:grid; grid-template-columns:1fr 1fr; }
  .page-actions .btn { width:100%; }
  .public-header .inner,.hero-inner,.public-section-inner,.public-footer .inner { width:calc(100% - 32px); }
  .public-brand img { width:178px; }
  .public-mobile-actions { gap:6px; }
  .public-mobile-actions .btn { min-width:52px; padding-inline:10px; }
  .hero-inner { padding:42px 0; }
  .hero-copy h1 { font-size:34px; letter-spacing:-.025em; }
  .hero-desktop-break { display:none; }
  .hero-copy p { font-size:15px; }
  .hero-actions { display:grid; grid-template-columns:1fr 1fr; }
  .hero-proof { display:grid; grid-template-columns:1fr; gap:9px; }
  .hero-visual { margin-top:8px; }
  .hero-console .stat-grid { grid-template-columns:1fr!important; }
  .hero-console .stat-card { min-height:66px; }
  .hero-console .table-wrap { overflow:auto; }
  .hero-console .table-wrap { max-width:100%; }
  .hero-console table { min-width:560px; }
  .public-section { padding:42px 0; }
  .public-section-heading h2 { font-size:24px; }
  .capability-list { grid-template-columns:1fr; }
  .capability-item { border-right:0; border-bottom:1px solid var(--gh-border); }
  .capability-item:last-child { border-bottom:0; }
  .service-notes { grid-template-columns:1fr; }
  .service-note+.service-note { border-left:0; border-top:1px solid var(--gh-border); }
  .public-footer .inner { align-items:flex-start; }
  .public-content,.legal-content { width:calc(100% - 32px); padding:32px 0 48px; }
  .public-content .page-head h1 { font-size:26px; }
  .contact-content .form-grid { grid-template-columns:1fr; }
  .auth-panel { padding:30px 18px; align-items:flex-start; }
  .auth-panel-register .form-grid { grid-template-columns:1fr; }
  .patents-filterbar { grid-template-columns:1fr; padding:14px; }
  .patents-filterbar .search,.patents-filterbar .select,.patents-filterbar .btn,[data-update-selected-fees],.patents-filterbar .muted { grid-column:1!important; width:100%; justify-self:stretch!important; }
  .patents-filterbar .muted { text-align:right; }
  .patent-overview-table { min-width:1060px!important; }
}

@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; animation-iteration-count:1!important; }
}

/* 2026-07 payment workflow and asset-search refinements */
.btn-link {
  min-height:auto;
  padding:2px 0;
  border:0;
  background:transparent;
  color:#2767a2;
  box-shadow:none;
}
.btn-link:hover { background:transparent; color:#174e82; text-decoration:underline; }
.danger-link { color:var(--gh-danger); }
.danger-link:hover { color:#8f1924; }
.eyebrow { display:block; margin-bottom:5px; color:#6a7d93; font-size:11px; font-weight:700; letter-spacing:.08em; }
.inline-empty { display:grid; min-height:96px; place-content:center; gap:5px; color:var(--gh-text-500); text-align:center; }
.inline-empty strong { color:var(--gh-text-800); font-size:14px; }
.inline-empty span { font-size:12px; }

table input[type="checkbox"] {
  display:inline-block;
  width:17px!important;
  min-width:17px!important;
  height:17px!important;
  min-height:0!important;
  margin:0;
  padding:0!important;
  border-radius:3px;
  vertical-align:middle;
  cursor:pointer;
  accent-color:var(--gh-info);
}
table input[type="checkbox"]:disabled { cursor:not-allowed; opacity:.5; }

/* Patent overview: compact compound search above the high-density table. */
.patent-search-panel { border-bottom:1px solid var(--gh-border); background:#fff; }
.patent-search-heading {
  display:flex;
  min-height:48px;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:12px 16px 8px;
}
.patent-search-heading>div { display:flex; align-items:baseline; gap:12px; min-width:0; }
.patent-search-heading strong { color:var(--gh-text-950); font-size:14px; }
.patent-search-heading span { color:var(--gh-text-500); font-size:12px; }
.patent-search-grid {
  display:grid;
  grid-template-columns:minmax(132px,.75fr) minmax(170px,1fr) minmax(150px,.9fr) minmax(230px,1.35fr);
  gap:10px 12px;
  padding:8px 16px 14px;
}
.compact-field { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; min-width:0; }
.compact-field>span {
  display:flex;
  min-width:68px;
  height:36px;
  align-items:center;
  justify-content:center;
  border:1px solid var(--gh-border-strong);
  border-right:0;
  border-radius:var(--gh-radius-sm) 0 0 var(--gh-radius-sm);
  background:var(--gh-surface-subtle);
  color:var(--gh-text-600);
  font-size:12px;
  white-space:nowrap;
}
.compact-field .input,.compact-field .select {
  width:100%;
  min-width:0;
  min-height:36px;
  height:36px;
  border-radius:0 var(--gh-radius-sm) var(--gh-radius-sm) 0;
  font-size:13px;
}
.patent-search-wide { grid-column:span 1; }
.patent-search-submit { min-height:36px; align-self:center; }
.patent-search-actions {
  display:flex;
  min-height:50px;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:9px 16px;
  border-top:1px solid var(--gh-border);
  background:var(--gh-surface-subtle);
}
.patent-search-actions .btn { min-height:32px; padding:5px 10px; font-size:12px; }

/* Annual monitoring controls. */
.annual-fee-toolbar { display:grid; grid-template-columns:minmax(240px,1fr) 170px auto auto auto; align-items:center; }
.annual-fee-toolbar .search { position:relative; width:100%; }
.annual-fee-toolbar .search>.ui-icon { position:absolute; top:50%; left:11px; z-index:1; transform:translateY(-50%); }
.annual-fee-toolbar .search .input { width:100%; padding-left:36px; }
.annual-result-count { justify-self:end; white-space:nowrap; }

/* Two-step patent payment workflow. */
.page-payment-new .content { max-width:1540px; }
.payment-stepper {
  display:flex;
  width:min(720px,100%);
  align-items:center;
  margin:0 auto 18px;
  padding:2px 8px;
}
.payment-step { display:flex; align-items:center; gap:10px; color:#8794a5; }
.payment-step>span {
  display:grid;
  width:30px;
  height:30px;
  place-items:center;
  border:1px solid #c9d3de;
  border-radius:50%;
  background:#fff;
  font-size:13px;
  font-weight:700;
}
.payment-step>div { display:grid; gap:2px; white-space:nowrap; }
.payment-step strong { font-size:13px; }
.payment-step small { font-size:11px; }
.payment-step.is-active { color:#245f9d; }
.payment-step.is-active>span { border-color:#2f6fb3; background:#2f6fb3; color:#fff; }
.payment-step.is-complete { color:var(--gh-success); }
.payment-step.is-complete>span { border-color:var(--gh-success); background:var(--gh-success); color:#fff; }
.payment-step-line { flex:1; height:1px; margin:0 22px; background:#ccd6e1; }

.payment-workspace {
  display:grid;
  grid-template-columns:minmax(0,3fr) minmax(360px,2fr);
  overflow:hidden;
  border:1px solid var(--gh-border);
  border-radius:var(--gh-radius-lg);
  background:#fff;
  box-shadow:0 3px 10px rgba(23,43,67,.05);
}
.payment-selector-pane,.payment-cart-pane { min-width:0; }
.payment-selector-pane { padding:22px; }
.payment-cart-pane { display:flex; min-height:680px; flex-direction:column; border-left:1px solid var(--gh-border); background:#fbfcfe; }
.payment-pane-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:18px; }
.payment-pane-head h2 { margin:0 0 6px; color:var(--gh-text-950); font-size:20px; }
.payment-pane-head p { margin:0; color:var(--gh-text-500); font-size:12px; line-height:1.6; }
.cart-pane-head { margin:0; padding:22px 20px 16px; border-bottom:1px solid var(--gh-border); }
.cart-pane-head .btn:disabled { visibility:hidden; }

.patent-picker { position:relative; margin-bottom:18px; padding:15px; border:1px solid #ccd8e4; background:#f8fafc; }
.patent-picker-search.search { position:relative; width:100%; }
.patent-picker-search>.ui-icon,.optional-fee-search>.ui-icon { position:absolute; top:50%; left:11px; z-index:1; transform:translateY(-50%); }
.patent-picker-search .input,.optional-fee-search .input { width:100%; padding-left:37px; }
.patent-picker-results { display:grid; max-height:214px; margin-top:8px; overflow:auto; border:1px solid var(--gh-border); background:#fff; }
.patent-picker-option {
  display:grid;
  grid-template-columns:minmax(220px,.9fr) minmax(260px,1.25fr);
  align-items:center;
  gap:14px;
  padding:10px 12px;
  border:0;
  border-bottom:1px solid var(--gh-border);
  background:#fff;
  color:var(--gh-text-800);
  text-align:left;
  cursor:pointer;
}
.patent-picker-option:last-child { border-bottom:0; }
.patent-picker-option:hover,.patent-picker-option.is-selected { background:#edf5fd; }
.patent-picker-option.is-selected { box-shadow:inset 3px 0 0 var(--gh-info); }
.patent-picker-option span { display:grid; gap:3px; min-width:0; }
.patent-picker-option strong { color:#245f9d; font:600 12px var(--gh-font-mono); }
.patent-picker-option small { overflow:hidden; color:var(--gh-text-500); font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.patent-picker-option>b { overflow:hidden; font-size:12px; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.picker-empty { display:grid; min-height:100px; place-content:center; gap:5px; color:var(--gh-text-500); text-align:center; }
.picker-empty strong { color:var(--gh-text-800); }
.selected-patent-summary { margin-top:12px; padding:12px 14px; border-left:3px solid var(--gh-info); background:#fff; }
.selected-patent-summary>div { display:flex; align-items:center; gap:9px; }
.selected-patent-summary>div>strong { color:#245f9d; font:600 12px var(--gh-font-mono); }
.selected-patent-summary h3 { margin:7px 0 3px; font-size:14px; }
.selected-patent-summary p { margin:0; color:var(--gh-text-500); font-size:12px; }

.payment-fee-block { border:1px solid var(--gh-border); }
.payment-fee-heading { min-height:56px; margin:0; padding:11px 14px; border-bottom:1px solid var(--gh-border); background:#fff; }
.payment-fee-heading h3 { margin:0 0 3px; font-size:14px; }
.payment-fee-heading p { margin:0; color:var(--gh-text-500); font-size:11px; }
.fee-select-tools { display:flex; align-items:center; gap:8px; }
.fee-select-tools>span { width:1px; height:14px; background:var(--gh-border); }
.payment-fee-table-wrap { border:0; border-radius:0; }
.payment-fee-table { min-width:720px; font-size:12px; }
.payment-fee-table th,.payment-fee-table td { padding:10px 9px; }
.payment-fee-table th:first-child,.payment-fee-table td:first-child { width:54px; text-align:center; }
.payment-fee-table tr.is-added { background:#f7faf8; color:var(--gh-text-500); }
.fee-added-label { margin-left:7px; padding:2px 6px; font-size:10px; }
.fee-late-amount { color:var(--gh-danger); font-weight:650; }
.fee-selection-summary { display:flex; align-items:center; gap:18px; padding:11px 14px; border-top:1px solid var(--gh-border); background:#f8fafc; font-size:12px; }
.fee-selection-summary .btn { margin-left:auto; }
.optional-fees { margin-top:16px; border:1px solid var(--gh-border); background:#fff; }
.optional-fees>summary { display:flex; min-height:52px; align-items:center; justify-content:space-between; padding:10px 14px; cursor:pointer; list-style:none; }
.optional-fees>summary::-webkit-details-marker { display:none; }
.optional-fees>summary>span:first-child { display:grid; gap:3px; }
.optional-fees>summary small { color:var(--gh-text-500); font-size:11px; font-weight:400; }
.optional-toggle-label { color:#2767a2; font-size:12px; }
.optional-fees[open] .optional-toggle-label { font-size:0; }
.optional-fees[open] .optional-toggle-label::after { content:"收起"; font-size:12px; }
.optional-fees-body { padding:0 14px 14px; border-top:1px solid var(--gh-border); }
.optional-fees-body>.table-wrap { max-height:520px; overflow:auto; }
.optional-fee-search { position:relative; width:min(340px,100%); margin:12px 0; }
.optional-fee-table { min-width:640px; table-layout:fixed; font-size:12px; }
.optional-fee-table thead th { position:sticky; top:0; z-index:2; background:var(--gh-surface-subtle); }
.optional-fee-table th,.optional-fee-table td { padding:8px; }
.optional-fee-table th:first-child,.optional-fee-table td:first-child { width:44px; text-align:center; }
.optional-fee-table th:nth-child(2),.optional-fee-table td:nth-child(2) { width:165px; }
.optional-fee-table th:nth-child(3),.optional-fee-table td:nth-child(3) { width:220px; white-space:normal; line-height:1.5; }
.optional-fee-table th:nth-child(4),.optional-fee-table td:nth-child(4) { width:105px; }
.optional-fee-table th:nth-child(5),.optional-fee-table td:nth-child(5) { width:106px; }
.optional-fee-table .input { min-height:34px; font-size:12px; }
.compact-amount { width:100%; }
.optional-fee-note { display:block; color:#9d1f2b; font-size:11px; line-height:1.55; }
.optional-fee-actions { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:10px; }

.payment-cart-list { flex:1; min-height:0; overflow:auto; padding:0 20px; }
.payment-cart-empty { display:grid; min-height:360px; place-content:center; justify-items:center; color:var(--gh-text-500); text-align:center; }
.payment-cart-empty .ui-icon { width:34px; height:34px; margin-bottom:12px; opacity:.55; }
.payment-cart-empty strong { color:var(--gh-text-800); }
.payment-cart-empty p { margin:6px 0 0; font-size:12px; }
.payment-cart-group { padding:16px 0; border-bottom:1px solid var(--gh-border); }
.payment-cart-group>header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:10px; }
.payment-cart-group>header>div { display:grid; gap:3px; min-width:0; }
.payment-cart-group>header strong { color:#245f9d; font:600 12px var(--gh-font-mono); }
.payment-cart-group>header span { overflow:hidden; font-size:12px; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.payment-cart-group>header b { color:var(--gh-text-800); font-size:11px; }
.payment-cart-group>header .btn { justify-self:end; font-size:11px; }
.payment-cart-fees { display:grid; gap:7px; }
.payment-cart-fee { position:relative; display:grid; grid-template-columns:minmax(130px,1fr) auto 44px; align-items:center; gap:10px; padding:10px; border:1px solid var(--gh-border); background:#fff; }
.payment-cart-fee>div { display:grid; gap:3px; min-width:0; }
.payment-cart-fee>div strong { font-size:12px; }
.payment-cart-fee>div small { color:var(--gh-text-500); font-size:10px; }
.payment-cart-fee dl { display:flex; gap:10px; margin:0; }
.payment-cart-fee dl span { display:grid; gap:2px; }
.payment-cart-fee dt { color:var(--gh-text-500); font-size:9px; }
.payment-cart-fee dd { margin:0; color:var(--gh-text-800); font-size:10px; white-space:nowrap; }
.payment-cart-fee dl span:last-child dd { font-weight:700; }
.icon-action { min-height:28px; padding:3px 6px; border:1px solid #e1b4b9; border-radius:var(--gh-radius-sm); background:#fff; color:var(--gh-danger); font-size:11px; cursor:pointer; }
.icon-action:hover { background:var(--gh-danger-bg); }
.payment-cart-summary { padding:16px 20px 20px; border-top:1px solid var(--gh-border); background:#fff; }
.payment-cart-summary dl { display:grid; grid-template-columns:1fr 1fr; gap:8px 14px; margin:0 0 15px; }
.payment-cart-summary dl>div { display:flex; justify-content:space-between; gap:12px; color:var(--gh-text-600); font-size:12px; }
.payment-cart-summary dt,.payment-cart-summary dd { margin:0; }
.payment-cart-summary .cart-summary-total { grid-column:1/-1; align-items:baseline; padding-top:10px; border-top:1px solid var(--gh-border); }
.cart-summary-total dd { color:var(--gh-brand-700); font-size:22px; font-weight:750; }
.payment-stage-actions { display:grid; grid-template-columns:110px 1fr; gap:10px; }

.payment-details-panel { overflow:hidden; border:1px solid var(--gh-border); border-radius:var(--gh-radius-lg); background:#fff; box-shadow:0 3px 10px rgba(23,43,67,.05); }
.payment-review-summary { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:22px 24px; border-bottom:1px solid var(--gh-border); background:#f8fafc; }
.payment-review-summary h2 { margin:0; font-size:20px; }
.payment-review-stats { display:flex; align-items:stretch; }
.payment-review-stats>div { display:grid; min-width:110px; gap:4px; padding:0 18px; border-left:1px solid var(--gh-border); }
.payment-review-stats span { color:var(--gh-text-500); font-size:11px; }
.payment-review-stats strong { font-size:14px; }
.payment-review-stats>div:last-child strong { color:var(--gh-brand-700); font-size:18px; }
.payment-review-details { margin:18px 24px 0; border:1px solid var(--gh-border); }
.payment-review-details>summary { padding:11px 13px; background:#f8fafc; color:#245f9d; font-size:12px; cursor:pointer; }
.payment-review-details>div { padding:4px 13px 10px; }
.review-fee-group { display:grid; gap:5px; padding:10px 0; border-bottom:1px solid var(--gh-border); }
.review-fee-group:last-child { border-bottom:0; }
.review-fee-group>strong { color:#245f9d; font:600 12px var(--gh-font-mono); }
.review-fee-group>span { display:flex; justify-content:space-between; gap:16px; padding-left:10px; color:var(--gh-text-600); font-size:12px; }
.payment-return-link { margin:12px 24px 0; }
.payment-profile-form { padding:20px 24px 24px; }
.required-mark { color:#8d1f2b; font-weight:750; }
.readonly-input,.readonly-input:focus {
  border-color:#d9e2ec;
  background:#f3f6f9;
  color:#43566d;
  box-shadow:none;
  cursor:not-allowed;
}
.saved-selection-details {
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:15px 18px;
  padding:13px 14px;
  border:1px solid var(--gh-border);
  background:#f8fafc;
}
.payment-form-grid>.saved-selection-details { grid-column:1/-1; }
.saved-selection-details .form-group { margin:0; }
.form-section-heading { margin-bottom:18px; padding-bottom:12px; border-bottom:1px solid var(--gh-border); }
.form-section-heading h3 { margin:0 0 4px; font-size:16px; }
.form-section-heading p { margin:0; color:var(--gh-text-500); font-size:12px; }
.payment-form-grid { grid-template-columns:1fr 1fr; gap:15px 18px; }
.payment-form-actions { display:flex; align-items:center; gap:10px; margin-top:18px; padding-top:16px; border-top:1px solid var(--gh-border); }
.payment-form-actions .spacer { flex:1; }
.payment-success-panel { max-width:720px; margin:30px auto; padding:56px 44px; border:1px solid var(--gh-border); border-radius:var(--gh-radius-lg); background:#fff; text-align:center; }
.success-seal { display:grid; width:60px; height:60px; margin:0 auto 16px; place-items:center; border:1px solid #b8dbc8; border-radius:50%; background:var(--gh-success-bg); }
.success-seal .ui-icon { width:30px; height:30px; }
.payment-success-panel h2 { margin:3px 0 10px; font-size:24px; }
.payment-success-panel>p { margin:0; color:var(--gh-text-600); }
.payment-success-order { display:grid; gap:5px; width:min(420px,100%); margin:24px auto; padding:15px; border:1px solid var(--gh-border); background:#f8fafc; }
.payment-success-order span { color:var(--gh-text-500); font-size:11px; }
.payment-success-order strong { color:#245f9d; font:700 16px var(--gh-font-mono); }
.payment-success-panel .gap-actions { justify-content:center; }

.fee-section .section-heading { width:100%; max-width:none; min-height:54px; margin:0; padding:10px 14px; border-bottom:1px solid var(--gh-border); background:#f7f9fc; }
.fee-section .section-heading h3 { margin:0; padding:0; border:0; background:transparent; }
.fee-section .section-heading p { margin:3px 0 0; color:var(--gh-text-500); font-size:11px; }
.detail-meta b { color:inherit; font-weight:500; }

@media (max-width:1280px) {
  .patent-search-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .patent-search-submit { justify-self:stretch; }
  .payment-workspace { grid-template-columns:minmax(0,1.35fr) minmax(340px,.9fr); }
  .payment-selector-pane { padding:18px; }
  .payment-cart-pane { min-height:650px; }
  .payment-cart-fee { grid-template-columns:1fr 44px; }
  .payment-cart-fee dl { grid-column:1; }
  .payment-cart-fee .icon-action { grid-column:2; grid-row:1/3; }
}

@media (max-width:1000px) {
  .payment-workspace { grid-template-columns:1fr; }
  .payment-cart-pane { min-height:520px; border-top:1px solid var(--gh-border); border-left:0; }
  .annual-fee-toolbar { grid-template-columns:1fr 170px; }
  .annual-fee-toolbar .btn { width:100%; }
  .annual-result-count { justify-self:start; }
}

@media (max-width:760px) {
  .patent-search-heading>div { display:grid; gap:3px; }
  .patent-search-grid { grid-template-columns:1fr; }
  .patent-search-wide,.patent-search-submit { grid-column:auto; }
  .patent-search-actions { align-items:stretch; flex-direction:column; }
  .annual-fee-toolbar { grid-template-columns:1fr; }
  .annual-fee-toolbar>* { width:100%!important; }
  .payment-stepper { align-items:flex-start; padding:0; }
  .payment-step small { display:none; }
  .payment-step-line { margin:15px 10px 0; }
  .payment-selector-pane { padding:14px; }
  .cart-pane-head { padding:17px 14px 13px; }
  .payment-cart-list { padding:0 14px; }
  .payment-cart-summary { padding:14px; }
  .patent-picker { padding:12px; }
  .patent-picker-option { grid-template-columns:1fr; gap:4px; }
  .fee-selection-summary { flex-wrap:wrap; }
  .fee-selection-summary .btn { width:100%; margin-left:0; }
  .optional-fee-actions { align-items:stretch; flex-direction:column; }
  .payment-cart-group>header { display:grid; }
  .payment-cart-group>header>div:last-child { grid-auto-flow:column; justify-content:space-between; }
  .payment-stage-actions { grid-template-columns:1fr; }
  .payment-review-summary { display:grid; padding:18px; }
  .payment-review-stats { display:grid; grid-template-columns:1fr 1fr 1fr; }
  .payment-review-stats>div { min-width:0; padding:0 10px; }
  .payment-review-details { margin:14px 16px 0; }
  .payment-return-link { margin-left:16px; }
  .payment-profile-form { padding:18px 16px; }
  .payment-form-grid { grid-template-columns:1fr; }
  .payment-form-grid .full { grid-column:auto; }
  .saved-selection-details { grid-template-columns:1fr; }
  .payment-form-actions { display:grid; grid-template-columns:1fr 1fr; }
  .payment-form-actions .spacer { display:none; }
  .payment-form-actions .btn:last-child { grid-column:1/-1; }
  .payment-success-panel { margin:16px 0; padding:38px 20px; }
}

/* Organization case-analysis workspace */
/* account-domains.css exposes generic organization-only controls as
   inline-flex. The case-analysis root is a full page, so keep its layout
   contract explicit to prevent the generic visibility rule from widening the
   mobile document. */
.account-organization .case-analysis-page.organization-only { display:grid!important; width:100%; min-width:0; }
.case-analysis-page { display:grid; gap:18px; }
.case-analysis-page[hidden] { display:none!important; }
.case-analysis-head { margin-bottom:0; }
.case-analysis-upload-card,.case-analysis-draft-card { overflow:hidden; border-color:#d7ddd7; box-shadow:0 8px 24px rgba(31,61,48,.07); }
.case-analysis-card-head { min-height:82px; padding:18px 20px; background:linear-gradient(135deg,#fbfcf9 0%,#f4f7f2 100%); }
.case-analysis-card-head>div:first-child { display:flex; align-items:flex-start; gap:13px; }
.case-analysis-card-head h2 { margin:0 0 4px; color:#20372e; font-size:18px; }
.case-analysis-card-head p { margin:0; color:var(--gh-text-500); font-size:12px; line-height:1.65; }
.case-analysis-step { display:grid; flex:0 0 38px; height:38px; place-items:center; border-radius:10px; background:#2d6d5b; color:#fff; font:700 12px var(--gh-font-mono); box-shadow:0 5px 12px rgba(45,109,91,.2); }
.case-analysis-dropzone { display:grid; min-height:245px; padding:30px; place-items:center; align-content:center; gap:10px; border:1px dashed #8fb5a9; border-radius:14px; background:linear-gradient(180deg,#fbfdfc 0%,#f4f9f7 100%); text-align:center; cursor:pointer; transition:.18s ease; }
.case-analysis-dropzone:hover,.case-analysis-dropzone:focus-visible,.case-analysis-dropzone.is-dragging { border-color:#2d6d5b; background:#eef7f3; box-shadow:0 0 0 3px rgba(45,109,91,.11); outline:0; transform:translateY(-1px); }
.case-analysis-dropzone-icon { display:grid; width:58px; height:58px; place-items:center; border:1px solid #b8d2c8; border-radius:50%; background:#fff; color:#2d6d5b; box-shadow:0 6px 16px rgba(36,78,63,.1); }
.case-analysis-dropzone-icon .ui-icon { width:25px; height:25px; }
.case-analysis-dropzone>strong { color:#20372e; font-size:18px; }
.case-analysis-dropzone>small { max-width:680px; color:var(--gh-text-500); font-size:12px; line-height:1.65; }
.case-analysis-dropzone .btn { margin-top:5px; pointer-events:none; }
.case-analysis-selection { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:14px; padding:12px 14px; border:1px solid #d6e5df; border-radius:10px; background:#f6faf8; }
.case-analysis-selection>div { display:grid; gap:3px; min-width:0; }
.case-analysis-selection strong { color:#244f41; font-size:13px; }
.case-analysis-selection span { overflow:hidden; color:var(--gh-text-500); font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.case-analysis-selection b { color:#2d6d5b; font-size:12px; white-space:nowrap; }
.case-analysis-selection { display:grid; }
.case-analysis-selection>header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.case-analysis-selection>.pending-file-list { display:grid; width:100%; max-height:220px; margin-top:8px; overflow:auto; border:1px solid #d6e5df; border-radius:8px; background:#fff; }
.case-analysis-selection .pending-file-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px; padding:8px 10px; border-bottom:1px solid #edf2ef; }
.case-analysis-selection .pending-file-row:last-child { border-bottom:0; }
.case-analysis-selection .pending-file-row>div { display:grid; min-width:0; gap:2px; }
.case-analysis-selection .pending-file-row button { min-height:28px; padding:4px 9px; border:1px solid #d96666; border-radius:6px; background:#fff; color:#b42323; font-size:11px; font-weight:700; cursor:pointer; }
.case-analysis-selection .pending-file-row button:hover { border-color:#b42323; background:#fff2f2; }
.case-analysis-selection .pending-file-row button:focus-visible { outline:3px solid rgba(180,35,35,.2); outline-offset:1px; }
.case-analysis-upload-actions { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:16px; }
.case-analysis-safety-note { display:flex; align-items:flex-start; gap:10px; min-width:0; color:var(--gh-text-500); }
.case-analysis-safety-note>.ui-icon { flex:0 0 20px; margin-top:1px; color:#2d6d5b; }
.case-analysis-safety-note>div { display:grid; gap:3px; }
.case-analysis-safety-note strong { color:#315447; font-size:12px; }
.case-analysis-safety-note p { margin:0; font-size:11px; line-height:1.55; }
.case-analysis-request-status { margin-top:14px; padding:11px 13px; border-left:3px solid #2d6d5b; background:#edf6f2; color:#315447; font-size:12px; }
.case-analysis-drafts { display:grid; gap:12px; }
.case-analysis-draft-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; padding:16px; border:1px solid var(--gh-border); border-radius:12px; background:#fff; transition:.15s ease; }
.case-analysis-draft-row:hover { border-color:#a8c5ba; box-shadow:0 5px 16px rgba(31,61,48,.07); }
.case-analysis-draft-main { display:grid; gap:10px; min-width:0; }
.case-analysis-draft-title { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.case-analysis-draft-title strong { color:#20372e; font-size:14px; }
.case-analysis-draft-title time { color:var(--gh-text-500); font-size:11px; }
.case-analysis-draft-stats { display:flex; flex-wrap:wrap; gap:7px; }
.case-analysis-draft-stats span { padding:4px 8px; border-radius:20px; background:#f2f5f3; color:#53675f; font-size:11px; }
.case-analysis-draft-stats .is-ready { background:#e8f5ef; color:#21634e; }
.case-analysis-draft-stats .is-warning { background:#fff1f1; color:#a32e3a; }
.case-analysis-draft-progress { display:flex; align-items:center; gap:10px; }
.case-analysis-draft-progress .progress { flex:1; height:6px; }
.case-analysis-draft-progress small { color:var(--gh-text-500); font-size:10px; }
.case-analysis-draft-actions { display:flex; align-items:center; gap:8px; }
.case-analysis-modal-backdrop { z-index:1350; }
.case-analysis-modal { width:min(980px,calc(100vw - 36px)); max-height:min(880px,calc(100vh - 36px)); }
.case-analysis-modal .modal-body { overflow:auto; }
.case-analysis-modal-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:14px; }
.case-analysis-modal-summary>div { display:grid; gap:4px; padding:12px; border:1px solid var(--gh-border); border-radius:10px; background:#f8faf9; }
.case-analysis-modal-summary span { color:var(--gh-text-500); font-size:10px; }
.case-analysis-modal-summary strong { color:#244f41; font-size:18px; }
.case-analysis-file-list { display:grid; gap:10px; }
.case-analysis-file-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(250px,.7fr); gap:14px; padding:14px; border:1px solid var(--gh-border); border-radius:11px; background:#fff; }
.case-analysis-file-row.is-warning { border-color:#edb5ba; background:#fffafa; }
.case-analysis-file-row.is-success { border-color:#b9dacd; background:#f8fcfa; }
.case-analysis-file-meta { display:grid; gap:6px; min-width:0; }
.case-analysis-file-meta>strong { overflow:hidden; color:#20372e; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.case-analysis-file-meta>div { display:flex; flex-wrap:wrap; gap:6px 10px; color:var(--gh-text-500); font-size:11px; }
.case-analysis-file-warning { margin:0; color:#b12635; font-size:11px; line-height:1.5; }
.case-analysis-file-name-field { display:grid; align-content:start; gap:6px; }
.case-analysis-file-name-field span { color:#51675e; font-size:11px; font-weight:650; }
.case-analysis-file-name-field input { width:100%; }
.case-analysis-file-name-field input:disabled { background:#f1f4f2; color:#68776f; }
.case-analysis-modal-foot { gap:14px; }
.case-analysis-modal-foot>span { flex:1; }
.case-analysis-modal-foot>div { display:flex; gap:8px; }

/* Dynamic query/payment service-window guidance */
.service-window-guidance { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr)); gap:14px; margin:0 0 18px; }
.service-window-guidance-card { display:flex; min-width:0; align-items:center; justify-content:space-between; gap:20px; padding:17px 19px; border:1px solid #c9ddd5; border-radius:14px; background:linear-gradient(135deg,#f4faf7 0%,#fff 72%); box-shadow:0 8px 24px rgba(22,66,52,.06); }
.service-window-guidance-card.is-stopped { border-color:#edc57e; background:linear-gradient(135deg,#fff8e9 0%,#fffdf8 72%); box-shadow:0 8px 24px rgba(126,78,10,.08); }
.service-window-guidance-card.is-confirmation { border-color:#dda76a; background:linear-gradient(135deg,#fff4df 0%,#fffaf1 72%); }
.service-window-guidance-copy { display:flex; min-width:0; align-items:flex-start; gap:12px; }
.service-window-guidance-icon { display:grid; flex:0 0 38px; width:38px; height:38px; place-items:center; border-radius:11px; background:#e0f0e9; color:#276a56; }
.service-window-guidance-card.is-stopped .service-window-guidance-icon { background:#ffebc6; color:#9b5d06; }
.service-window-guidance-copy>div { min-width:0; }
.service-window-guidance-copy small { display:block; margin-bottom:3px; color:#60786f; font-size:10px; font-weight:800; letter-spacing:.08em; }
.service-window-guidance-copy h2 { margin:0; color:#173c31; font-size:14px; line-height:1.45; }
.service-window-guidance-card.is-stopped h2 { color:#744707; }
.service-window-guidance-copy p { margin:5px 0 0; color:#526860; font-size:11px; line-height:1.65; }
.service-window-guidance-schedule { display:grid; flex:0 0 auto; justify-items:end; gap:5px; padding-left:18px; border-left:1px solid #d8e7e1; text-align:right; }
.service-window-guidance-card.is-stopped .service-window-guidance-schedule { border-left-color:#efd7aa; }
.service-window-guidance-schedule span { padding:3px 8px; border-radius:999px; background:#e1f2eb; color:#276a56; font-size:10px; font-weight:800; }
.service-window-guidance-card.is-stopped .service-window-guidance-schedule span { background:#ffe8bd; color:#925700; }
.service-window-guidance-stop-range { max-width:250px; color:#b42318; font-size:11px; font-weight:800; line-height:1.55; }
.service-window-guidance-stop-range { display:inline-block; max-width:none; white-space:nowrap; letter-spacing:-.015em; }
.service-window-guidance-loading,.service-window-guidance-unavailable { display:flex; min-height:68px; align-items:center; justify-content:center; gap:10px; padding:14px 18px; border:1px solid #d9e2de; border-radius:12px; background:#fbfcfb; color:#587067; font-size:11px; }
.service-window-guidance-loading>span { width:14px; height:14px; border:2px solid #c6d9d1; border-top-color:#2d6d5b; border-radius:50%; animation:spin .8s linear infinite; }
.service-window-guidance-unavailable { justify-content:space-between; }
.service-window-guidance-unavailable strong { color:#304c43; font-size:12px; }
.service-window-guidance-unavailable p { margin:3px 0 0; }

/* Shared 30-day draft-retention notice and live countdown */
.draft-retention-notice { display:flex; align-items:flex-start; gap:11px; margin-bottom:14px; padding:13px 15px; border:1px solid #c8ddd5; border-radius:11px; background:linear-gradient(135deg,#f2f9f6 0%,#fbfdfc 100%); color:#315447; }
.draft-retention-notice>.ui-icon { flex:0 0 20px; margin-top:1px; color:#2d6d5b; }
.draft-retention-notice>div { display:grid; gap:3px; }
.draft-retention-notice strong { font-size:12px; }
.draft-retention-notice p { margin:0; color:#53675f; font-size:11px; line-height:1.6; }
.draft-retention-countdown { display:inline-flex; width:max-content; max-width:100%; align-items:center; padding:4px 8px; border-radius:999px; background:#e8f5ef; color:#21634e; font-size:11px; font-weight:700; white-space:nowrap; }
.draft-retention-countdown::before { width:6px; height:6px; margin-right:6px; border-radius:50%; background:currentColor; content:""; opacity:.75; }
.draft-retention-countdown.is-urgent { background:#fff4df; color:#9a5a00; }
.draft-retention-countdown.is-expired { background:#fff0f1; color:#ad2535; }
.draft-retention-reset-hint { display:block; margin-top:5px; color:var(--gh-text-500); font-size:10px; white-space:nowrap; }
.case-analysis-draft-stats .draft-retention-countdown { background:#e8f5ef; color:#21634e; font-weight:700; }
.case-analysis-draft-stats .draft-retention-countdown.is-urgent { background:#fff4df; color:#9a5a00; }
.case-analysis-draft-stats .draft-retention-countdown.is-expired { background:#fff0f1; color:#ad2535; }

@media (max-width:760px) {
  .service-window-guidance { gap:10px; margin-bottom:14px; }
  .service-window-guidance-card { align-items:stretch; flex-direction:column; gap:12px; padding:14px; }
  .service-window-guidance-copy { gap:10px; }
  .service-window-guidance-icon { flex-basis:34px; width:34px; height:34px; border-radius:10px; }
  .service-window-guidance-copy h2 { font-size:13px; }
  .service-window-guidance-schedule { justify-items:start; padding:10px 0 0; border-top:1px solid #d8e7e1; border-left:0; text-align:left; }
  .service-window-guidance-card.is-stopped .service-window-guidance-schedule { border-top-color:#efd7aa; border-left:0; }
  .service-window-guidance-unavailable { align-items:stretch; flex-direction:column; }
  .service-window-guidance-stop-range { max-width:calc(100vw - 34px); font-size:clamp(9px,2.7vw,11px); }
  .case-analysis-page { gap:12px; }
  .case-analysis-card-head { align-items:flex-start; padding:15px; }
  .case-analysis-card-head>.status { display:none; }
  .case-analysis-dropzone { min-height:220px; padding:24px 16px; }
  .case-analysis-upload-actions { align-items:stretch; flex-direction:column; }
  .case-analysis-upload-actions>.btn { width:100%; }
  .case-analysis-selection { align-items:flex-start; flex-direction:column; }
  .case-analysis-selection span { max-width:calc(100vw - 70px); }
  .case-analysis-draft-row { grid-template-columns:1fr; padding:13px; }
  .case-analysis-draft-actions { display:grid; grid-template-columns:1fr auto; }
  .case-analysis-modal { width:calc(100vw - 16px); max-height:calc(100vh - 16px); }
  .case-analysis-modal-summary { grid-template-columns:1fr 1fr; }
  .case-analysis-file-row { grid-template-columns:1fr; padding:12px; }
  .case-analysis-modal-foot { align-items:stretch; flex-direction:column; }
  .case-analysis-modal-foot>div { display:grid; grid-template-columns:1fr 1fr; }
  .case-analysis-modal-foot [data-case-analysis-submit] { grid-column:1/-1; }
  .draft-retention-notice { padding:12px; }
}
