/* DocHuntr v0.9 screens layer: the single, final owner of responsive layout. Loaded last in base.html.
   Rewritten in self-repair 2: contradictory earlier blocks were deleted, not overridden again.
   Ownership (earlier sheets must not re-style these):
   - summary strip (.dc-summary), dashboard stat tiles (.stat-grid), page header actions
   - list records: .dc-rows (desktop table) and .dc-cards (below 48rem: grid-area cards)
     per list: clients, requests, templates, documents, client uploads
   - documents groups and filter tabs, client-detail rows, dashboard columns (.dash-main / .dash-side)
   - review layout and decision panel, settings tiles, email preview, bottom navigation, sign-in
   Tokens and brand colours only, no external assets. */

/* ---------- Summary strip: one compact inline row on phones, no cards ---------- */
ul.dc-summary>.dc-summary__item{border:1px solid #dfe6f1}
.dc-summary--warning strong{color:#8a5300}
.dc-summary--error strong{color:#a4141b}
.dc-summary--success strong{color:#14B8A6}
.dc-summary--info strong{color:#2563EB}
@media (max-width:48rem){
ul.dc-summary{display:flex;flex-wrap:nowrap;gap:0;margin:.75rem 0;padding:0;list-style:none;border-top:1px solid #e3eaf6;border-bottom:1px solid #e3eaf6;background:transparent}
ul.dc-summary>.dc-summary__item{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:0;padding:.5rem .625rem;border:0;border-radius:0;background:transparent;box-shadow:none}
ul.dc-summary>.dc-summary__item+.dc-summary__item{border-left:1px solid #e3eaf6}
.dc-summary__item strong{font-size:1.25rem;line-height:1.2}
.dc-summary__item span{font-size:.75rem;line-height:1.25;overflow-wrap:normal;hyphens:none}
}

/* ---------- Header actions: content width, right-aligned above phone size ---------- */
@media (min-width:30.01rem){
.dc-page-head .page-head-actions{margin-left:auto;justify-content:flex-end}
.dc-page-head .page-head-actions>.dc-act{width:auto;flex:none}
}
@media (min-width:40rem){
.dc-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.dc-page-head .page-header-text{flex:1 1 auto;min-width:0}
.dc-page-head .page-head-actions{flex:none;display:flex;align-items:center;gap:.5rem;margin-top:.25rem}
}
@media (max-width:48rem){.dc-page-head .page-head-actions>.dc-act--quiet{display:none}}

/* ---------- List record cards (below 48rem): grid-area cards, whole card tappable ---------- */
.dc-rows__unit{display:none}
@media (max-width:48rem){
main table.dc-cards{display:block;width:100%;min-width:0;background:transparent;border:0;box-shadow:none}
.dc-cards thead{display:none}
.dc-cards tbody{display:grid;gap:.625rem}
.dc-cards tr{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name status" "meta prog";gap:.25rem .75rem;align-items:center;align-content:center;height:auto;min-height:0;margin:0;padding:.625rem .875rem;background:#fff;border:1px solid #dfe6f1;border-radius:14px;box-shadow:0 1px 2px rgba(11,31,68,.05),0 4px 12px rgba(11,31,68,.04)}
.dc-cards td{display:block;min-width:0;max-width:none;width:auto;height:auto;min-height:0;padding:0;border:0;text-align:left;font-size:.875rem;line-height:1.3;white-space:normal}
.dc-cards td::before{content:none}
.dc-cards td[data-label="Client"],.dc-cards td[data-label="Request"],.dc-cards td[data-label="Template"],.dc-cards td[data-label="File"]{grid-area:name;font-size:1rem}
.dc-cards td[data-label="Status"],.dc-cards td[data-label="Review"]{grid-area:status;justify-self:end}
.dc-cards td:not([data-label]),.dc-cards td[data-label="Last reminder"],.dc-cards td[data-label="Clients"],.dc-cards td[data-label="Type"],.dc-cards td[data-label="Check"]{display:none}
.dc-cards .dc-rows__name{display:block;font-size:.9375rem;line-height:1.25;overflow-wrap:break-word}
.dc-cards .dc-rows__name::after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit}
.dc-cards .dc-rows__sub{display:block;margin-top:.125rem;font-size:.8125rem;color:#44506a;overflow-wrap:anywhere}
.dc-cards .dc-rows__unit{display:inline}
.dc-cards .dc-rows__flag{display:inline}
.dc-cards .dc-meter{margin:0;min-width:0;width:100%;align-items:stretch;gap:.125rem}
.dc-cards .dc-meter__label{font-size:.75rem}
.dc-cards tr:hover,.dc-cards tr:focus-within{background:#f5f8ff}
.scroll:has(>table.dc-cards){border:0;background:transparent;box-shadow:none;border-radius:0;padding:0}

/* clients: name (full width) / email / "3 missing · 3 overdue" + Open chevron / progress bar full width */
main table.dc-cards--clients tr{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"name name name" "meta status act" "prog prog prog";row-gap:.375rem}
.dc-cards--clients td[data-label="Missing"]{grid-area:meta;justify-self:start;color:#44506a}
.dc-cards--clients td[data-label="Missing"] strong{color:#0B1F44}
.dc-cards--clients .dc-rows__flag{color:#a4141b;font-weight:600}
.dc-cards--clients .dc-rows__flag::before{content:" · ";color:#44506a;font-weight:400}
.dc-cards--clients td[data-label="Completion"]{grid-area:prog;justify-self:stretch}
.dc-cards--clients td.is-active-status{display:none}
main table.dc-cards--clients tr td:last-child{display:block;grid-area:act;position:relative;z-index:3;align-self:center}
.dc-cards--clients .dc-rows__open{display:inline-flex;align-items:center;gap:.375rem;min-height:2.75rem;padding:0 .25rem;font-weight:600;color:#2563EB;text-decoration:none}
.dc-cards--clients .dc-rows__open::after{content:"";width:.5rem;height:.5rem;border:solid currentColor;border-width:2px 2px 0 0;transform:rotate(45deg)}
.dc-cards--clients .dc-row-actions{display:block}

/* requests and templates */
.dc-cards--requests td[data-label="Needs you"],.dc-cards--requests td[data-label="Attention"],.dc-cards--templates td[data-label="Frequency"]{grid-area:meta;color:#44506a}
.dc-cards--requests td[data-label="Progress"],.dc-cards--templates td[data-label="Items"]{grid-area:prog;justify-self:end;color:#44506a}
.dc-cards--requests td[data-label="Progress"] .dc-rows__muted{white-space:nowrap}
.dc-cards--requests td:last-child{display:none}
.dc-cards--requests .dc-meter{width:8.5rem}
.dc-cards--templates tr{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"name status act" "meta prog prog"}
.dc-cards--templates td:not([data-label]){display:block;grid-area:act;position:relative;z-index:3}
.dc-cards--templates .row-link{display:none}

/* client uploads: hairline rows inside the Uploads card; chip and Open never share a line on phones */
.dc-cards--uploads tbody{gap:0}
.dc-cards--uploads tr{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name name" "meta meta" "status act";row-gap:.375rem;padding:.75rem 0;background:transparent;border:0;border-bottom:1px solid #e8eef8;border-radius:0;box-shadow:none}
.dc-cards--uploads tr:last-child{border-bottom:0}
.dc-cards--uploads tr:hover{background:transparent}
.dc-cards--uploads .dc-rows__name::after{border-radius:0}
.dc-cards--uploads .dc-rows__name{overflow-wrap:anywhere}
.dc-cards--uploads td[data-label="Request"]{grid-area:meta;color:#44506a;font-size:.8125rem}
.dc-cards--uploads td[data-label="Review"]{grid-area:status;justify-self:start}
.dc-cards--uploads td:last-child{display:block;grid-area:act;justify-self:end;position:relative;z-index:3}
.dc-cards--uploads td:last-child .dc-more{display:none}
}
@media (max-width:30rem){
.dc-cards--uploads tr{grid-template-columns:minmax(0,1fr);grid-template-areas:"name" "meta" "status" "act"}
.dc-cards--uploads td:last-child{justify-self:start}
.dc-cards--uploads td[data-label="Review"] .dc-chip{white-space:normal}
}
/* Uploads on desktop: no nested bordered table card either */
#client-docs .scroll,#client-docs .dc-table{border:0;box-shadow:none;border-radius:0;background:transparent}

/* ---------- Client detail rows: text wraps, never truncates ---------- */
.row-item .row-meta{display:block;overflow:visible;white-space:normal;text-overflow:clip;overflow-wrap:break-word}
.dash-cols .row-item .row-main>strong{display:block;overflow:visible;white-space:normal;text-overflow:clip;overflow-wrap:break-word}
.dash-cols .row-item.row-item--req{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.5rem .75rem;align-items:center}
.dash-cols .row-item--req>.row-main:first-child{grid-column:1;grid-row:1}
.dash-cols .row-item--req>.dc-chip{grid-column:2;grid-row:1;justify-self:end;width:auto}
.dash-cols .row-item--req>a:not(.dc-btn){grid-column:3;grid-row:1;justify-self:end}
@media (max-width:30rem){
.dash-cols .row-item.row-item--req{grid-template-columns:minmax(0,1fr)}
.dash-cols .row-item--req>.row-main:first-child,.dash-cols .row-item--req>.dc-chip,.dash-cols .row-item--req>a:not(.dc-btn){grid-column:1}
.dash-cols .row-item--req>.dc-chip{grid-row:2;justify-self:start;white-space:normal}
.dash-cols .row-item--req>a:not(.dc-btn){grid-row:3;justify-self:start}
}

/* ---------- Documents: filter tabs, summary line, group header, one table header ---------- */
.doc-summary-line{margin:0;font-size:.8125rem;color:#44506a}
.doc-summary-line strong{color:#0B1F44;font-variant-numeric:tabular-nums}
.dc-pill-date{flex:none;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.8125rem;font-weight:600;line-height:1.3;padding:.125rem .625rem;border-radius:999px;background:#eaf1ff;color:#2563EB}
.dc-group-card__head{flex-wrap:wrap;row-gap:.25rem}
.dc-group-card__head h2{min-width:0;overflow-wrap:break-word}
@media (max-width:48rem){
.filter-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-right:2rem;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 2rem),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 2rem),transparent)}
.filter-tabs::-webkit-scrollbar{display:none}
.filter-tabs a{flex:none;white-space:nowrap}
.kind-tabs{flex-wrap:wrap;overflow:visible;padding-right:0;-webkit-mask-image:none;mask-image:none}
.doc-group.dc-group-card{border:0;background:transparent;box-shadow:none;overflow:visible;margin:1rem 0 0}
.doc-group .dc-group-card__head{padding:0 .25rem .5rem;border:0}
.dc-cards--docs tr{grid-template-columns:minmax(0,1fr) auto 7.5rem;grid-template-areas:"name name act" "status status act" "meta prog act";row-gap:.25rem}
.dc-cards--docs td[data-label="Request"]{grid-area:name}
.dc-cards--docs td[data-label="File"]{grid-area:meta;font-size:.8125rem;color:#44506a;overflow-wrap:anywhere}
.dc-cards--docs td[data-label="Review"]{grid-area:status;justify-self:start}
.dc-cards--docs td[data-label="Uploaded"]{grid-area:prog;justify-self:end;white-space:nowrap;color:#44506a}
.dc-cards--docs td:last-child{display:block;grid-area:act;position:relative;z-index:3}
.dc-cards--docs td:last-child .dc-row-actions{display:block}
.dc-cards--docs td:last-child .dc-more{display:none}
.dc-cards--docs td:last-child .dc-act{display:flex;align-items:center;justify-content:center;width:100%;min-height:2.75rem;border-radius:10px;font-weight:600}
.dc-cards--docs td:last-child .dc-act--text{background:transparent;border:0;color:#2563EB}
}
@media (max-width:22.5rem){
.dc-cards--docs tr{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name status" "meta prog" "act act";row-gap:.375rem}
.dc-cards--docs td[data-label="Review"]{justify-self:end}
}
/* Documents desktop table: explicit column widths, full filenames wrap instead of truncating */
@media (min-width:48.0625rem){
main table.doc-table.doc-table--fixed.dc-cards{width:100%;table-layout:fixed}
.dc-cards--docs th,.dc-cards--docs td{overflow-wrap:normal;word-break:normal;hyphens:none}
.doc-table--fixed th{box-sizing:border-box}
.doc-table--fixed th:nth-child(1){width:21%}
.doc-table--fixed th:nth-child(3){width:4.5rem}
.doc-table--fixed th:nth-child(4){width:8rem}
.doc-table--fixed th:nth-child(5){width:8.5rem}
.doc-table--fixed th:nth-child(6){width:11.5rem}
.doc-table--fixed th:nth-child(7){width:8rem}
.doc-table--fixed td.filename{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;max-width:none}
.dc-cards--docs td[data-label="Type"],.dc-cards--docs td[data-label="Review"]{white-space:nowrap}
.dc-cards--docs td[data-label="Request"]{white-space:normal}
}
/* repeated group headers stay for screen readers only; the first group carries the one visible header */
.doc-group thead.visually-hidden{display:block;position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (min-width:48.0625rem){.dc-cards--docs .dc-act--primary.dc-act--sm{min-width:5rem;justify-content:center}}

/* breadcrumbs: one baseline for links, separators and the current page; wrap instead of truncating */
.breadcrumbs ol{align-items:center;flex-wrap:wrap;row-gap:0}
.breadcrumbs li{display:flex;align-items:center;min-height:2.75rem;white-space:normal;min-width:0}
.breadcrumbs li:last-child{flex:0 1 auto;overflow:visible;text-overflow:clip}
.breadcrumbs li:last-child>*{display:inline;overflow:visible}
.breadcrumbs li+li::before{line-height:1}

/* ---------- Settings tiles: one component, chevron on every tile, equal height ---------- */
.settings-group{margin-bottom:1.25rem}
.settings-group .dc-grid{gap:.75rem;align-items:stretch}
.settings-card{position:relative;display:flex;align-items:center;gap:.875rem;min-height:6.25rem;height:100%;box-sizing:border-box;padding:1rem 1.25rem}
.settings-card>div{flex:1;min-width:0}
.settings-card h3 a::after{content:"";position:absolute;inset:0}
.settings-card p{margin:.125rem 0 0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}
.settings-card .set-open{display:none}
.settings-card .set-chevron{flex:none;width:.5rem;height:.5rem;margin-right:.25rem;border:solid #44506a;border-width:2px 2px 0 0;transform:rotate(45deg)}
.settings-card:hover .set-chevron{border-color:#2563EB}

/* ---------- Dashboard: summary tiles, hero CTA, two independent column stacks ---------- */
.stat-card{overflow-wrap:normal;word-break:normal;hyphens:none;border:1px solid #dfe6f1;min-width:0}
.stat-head h3{overflow-wrap:normal;word-break:normal;hyphens:none}
.stat-card.stat-error .big a{color:#a4141b}
.stat-card.stat-warning .big a{color:#8a5300}
.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
@media (max-width:48rem){
.stat-grid{gap:.5rem}
.stat-card{padding:.625rem .625rem .75rem}
.stat-icon,.stat-sub .dc-chip{display:none}
.stat-head h3{font-size:.75rem;line-height:1.25;font-weight:600}
.stat-card .big{font-size:1.5rem;margin:.25rem 0}
.stat-note{font-size:.75rem;line-height:1.25;display:block}
}
@media (max-width:30rem){
.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.stat-card{padding:.75rem}
.stat-card .stat-note{display:none}
}
.dash-focal-cta .dc-act--primary{box-shadow:0 2px 8px rgba(0,0,0,.25);border-color:#2563EB}
@media (min-width:30.01rem){.dash-focal-cta,.dash-focal-cta .dc-act{width:auto}}
/* Needs attention + Progress on the left; Quick actions + Recent activity on the right. Each column is its own
   flex stack, so one column can never leave a gap in the other. */
.dash-cols>.dash-stack{display:flex;flex-direction:column;gap:var(--sp-4);min-width:0;margin:0}
.dash-cols>.dash-stack>section{margin:0;min-height:0}
@media (min-width:64.01rem){
.dash-cols{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:var(--sp-4);align-items:start}
}
.dash-activity .act-list{display:block}
@media (max-width:48rem){
.dash-attn .row-item{grid-template-columns:2.25rem minmax(0,1fr) auto;align-items:center}
.dash-attn .row-item>.row-icon{grid-column:1;grid-row:1}
.dash-attn .row-item>.row-main{grid-column:2 / -1;grid-row:1}
.dash-attn .row-item>.dc-chip{grid-column:2;grid-row:2;justify-self:start}
.dash-attn .row-item>.dc-row-actions{grid-column:3;grid-row:2;justify-self:end}
.dash-attn .section-head{flex-wrap:wrap;row-gap:.25rem}
}
@media (max-width:30rem){
.dash-attn .row-item>.dc-chip{grid-column:2 / -1;grid-row:2}
.dash-attn .row-item>.dc-row-actions{grid-column:1 / -1;grid-row:3;justify-self:stretch}
.dash-attn .row-item .row-link{display:flex;align-items:center;justify-content:center;width:100%;min-height:2.75rem;border:1px solid #b9cdf7;border-radius:10px;background:#eaf1ff;color:#2563EB;font-weight:600;text-decoration:none}
}
.next-request{display:flex;align-items:center;gap:1.25rem;margin:1.25rem 0;padding:1.5rem 1.75rem;border-radius:14px;
  background:linear-gradient(135deg,#e6fbf8,#f5f8ff);border:1px solid #b6dfc3;box-shadow:0 1px 2px rgba(20,184,166,.08),0 8px 20px rgba(37,99,235,.06)}
.next-request h2{margin:0 0 .25rem;font-size:1.125rem;font-weight:700}
.next-request p{margin:0;color:#44506a;font-size:.9375rem}
.next-request>div{flex:1;min-width:0}
.next-request__art{flex:none;width:7rem;height:auto}
.next-request .dc-act--primary{background:linear-gradient(135deg,#14B8A6,#2563EB);color:#fff;border:0;font-weight:700;box-shadow:0 4px 16px rgba(37,99,235,.35)}
.next-request .dc-act--primary .icon{color:#fff}
@media (max-width:40rem){.next-request{flex-wrap:wrap}.next-request__art{display:none}.next-request>.dc-act{width:100%}}

/* ---------- Review: file first, decision second at every width ---------- */
.review-right{order:0;position:static}
@media (min-width:64.01rem){.review-right{position:sticky;top:var(--sp-4)}}
.review-summary{display:flex;gap:.75rem;align-items:flex-start;margin:0 0 .75rem;padding:.625rem .75rem;border-radius:10px;border:1px solid #dfe6f1;background:#f7faff;font-size:.875rem}
.review-summary strong{display:block;overflow-wrap:anywhere;color:#0B1F44}
.review-summary span:not(.review-summary__mark){display:block;color:#44506a;font-size:.8125rem}
.review-summary__mark{flex:none;display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:50%;background:#e6ebf5;color:#44506a}
.review-summary__mark .icon{width:1rem;height:1rem}
.review-summary.is-checked{background:#e6fbf8;border-color:#b6dfc3}
.review-summary.is-checked .review-summary__mark{background:#14B8A6;color:#fff}
.review-summary.is-unchecked{border-style:dashed;border-color:#c5cfdf}
/* decision: Approve full width; Reject is a small text action, Waive a wider secondary */
.dc-decision{position:relative;grid-template-columns:auto minmax(0,1fr);row-gap:.5rem;column-gap:.75rem;align-items:center}
.dc-decision .dc-act--approve{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.125rem .5rem}
.dc-decision .dc-decision-why{position:absolute;width:1px;height:1px;margin:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.dc-act--approve .icon{width:1.125rem;height:1.125rem}
.dc-act--approve:disabled{background:#fff;border:2px solid #35508f;color:#1d3566;opacity:1;cursor:not-allowed;min-height:3.5rem}
.dc-act--approve:disabled::after{content:"Check the file first";flex-basis:100%;text-align:center;font-size:.8125rem;font-weight:500;color:#35508f}
.dc-act--ghost{background:transparent;box-shadow:none;border:1px solid #c5cfdf;color:#0B1F44;font-size:.875rem;font-weight:600}
.dc-act--ghost:hover{background:#f5f8ff}
.dc-decision [data-reason-for="reject"]{width:auto;min-height:2.5rem;padding:0 .5rem;border:0;background:transparent;color:#a4141b;font-size:.8125rem;text-decoration:underline;text-underline-offset:3px}
.dc-decision [data-reason-for="reject"]:hover{background:#fdf1f1}

/* ---------- Email preview: frame grows to content; plain text is a disclosure ---------- */
.email-frame.preview-frame{height:60rem;margin-bottom:1.5rem}
.text-version>summary{cursor:pointer;display:flex;align-items:center;min-height:2.75rem}
.text-version>summary h2{display:inline;margin:0}
@media (min-width:48.0625rem){.text-version>summary{pointer-events:none}.text-version>summary::marker,.text-version>summary::-webkit-details-marker{display:none}}

/* ---------- Navigation: icon rail 641-1024px, six equal labelled tabs up to 640px ---------- */
.brand-mark,.nav-short{display:none}
@media (max-width:64rem){
.js .app-header .nav-toggle,.app-header .nav-toggle{display:none}
.js .app-header #site-nav,.app-header #site-nav{display:flex}
}
@media (min-width:40.01rem) and (max-width:64rem){
.app-header{position:fixed;inset:0 auto 0 0;width:4.5rem;flex-direction:column;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:var(--space-4);padding:var(--space-4) .5rem;overflow-y:auto;overflow-x:hidden;z-index:5}
.app-header .brand{padding:0;justify-content:center}
.app-header .brand-logo{display:block;height:3.2rem;width:11.5rem;max-width:100%}
.app-header .brand-mark{display:none}
.js .app-header #site-nav,.app-header #site-nav{flex-direction:column;flex:1 1 auto;width:100%}
.app-header .nav-foot{margin-top:auto}
.app-header .nav-list a,.app-header .link-button{justify-content:center;padding:0;width:100%}
.app-header .nav-label,.app-header .demo-indicator__text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.app-header .nav-badge{position:absolute;top:.25rem;right:.25rem}
.app-header .nav-list a{position:relative}
.app-header .nav-demo a{justify-content:center}
.app-content{margin-left:4.5rem}
}
@media (max-width:40rem){
.app-header{position:sticky;top:0;z-index:6;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;padding:.375rem .75rem}
.js .app-header #site-nav,.app-header #site-nav{display:contents}
.app-header .nav-list:not(.nav-foot){position:fixed;inset:auto 0 0 0;z-index:20;display:flex;flex-direction:row;justify-content:stretch;gap:0;padding:.25rem 0 calc(.25rem + env(safe-area-inset-bottom,0px));background:#0B1F44;border-top:1px solid rgba(255,255,255,.18);box-shadow:0 -4px 16px rgba(11,31,68,.25)}
.app-header .nav-list:not(.nav-foot)>li{flex:1 1 0;min-width:0}
.app-header .nav-list:not(.nav-foot) a{position:relative;flex-direction:column;justify-content:center;gap:.125rem;width:100%;box-sizing:border-box;min-height:3.25rem;padding:.25rem 0;text-align:center}
.app-header .nav-list:not(.nav-foot) .nav-label{flex:none;font-size:.6875rem;line-height:1.1;font-weight:600;letter-spacing:-.01em;overflow-wrap:normal;white-space:nowrap}
.app-header .nav-list:not(.nav-foot) .icon{width:1.25rem;height:1.25rem}
.app-header .nav-list:not(.nav-foot) a[aria-current="page"]{box-shadow:none;background:var(--dc-blue)}
.app-header .nav-badge{position:absolute;top:.125rem;right:18%}
.app-header .nav-foot{display:flex;flex-direction:row;align-items:center;gap:.25rem;margin:0;padding:0;border:0;width:auto}
.app-header .nav-foot li:not(.nav-demo):not(:last-child){display:none}
.app-header .nav-foot .link-button{width:auto;min-width:2.75rem;justify-content:center;padding:0 .5rem}
.app-header .nav-foot .nav-label,.app-header .demo-indicator__text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.app-content{padding-bottom:4.75rem}
}
@media (max-width:30rem){
.app-header .nav-list:not(.nav-foot) .nav-label,.app-header .nav-short{font-size:.625rem}
.app-header .nav-list:not(.nav-foot) a:has(.nav-short) .nav-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.app-header .nav-list:not(.nav-foot) .nav-short{display:block;line-height:1.1;font-weight:600;letter-spacing:-.01em}
}

/* ---------- Sign in: navy-to-blue hero left, form card right (logo is transparent: no box behind it) ---------- */
.auth-hero{display:none;position:relative}
@media (min-width:64rem){
body.auth-body:has(.auth-split) .auth-header{display:none}
body.auth-body main:has(.auth-split){max-width:none;margin:0;padding:0}
.auth-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:100vh}
.auth-hero{display:flex;flex-direction:column;justify-content:center;gap:3rem;padding:4.5rem 4rem;color:#fff;overflow:hidden;
  background:radial-gradient(28rem 28rem at 90% 10%,rgba(20,184,166,.18),transparent 50%),
             radial-gradient(20rem 20rem at 10% 90%,rgba(37,99,235,.14),transparent 50%),
             linear-gradient(145deg,#0B1F44 0%,#00297e 55%,#2563EB 100%)}
/* Reticle watermark behind brand area */
.auth-hero::before{content:"";position:absolute;top:18%;right:10%;width:20rem;height:20rem;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='46' fill='none' stroke='%2314B8A6' stroke-width='2' opacity='0.12'/%3E%3Ccircle cx='50' cy='50' r='30' fill='none' stroke='%2314B8A6' stroke-width='1.5' opacity='0.14'/%3E%3Ccircle cx='50' cy='50' r='14' fill='none' stroke='%2314B8A6' stroke-width='1' opacity='0.16'/%3E%3Cpath d='M50 6v14M50 80v14M6 50h14M80 50h14' stroke='%2314B8A6' stroke-width='1.5' opacity='0.14'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-size:contain;pointer-events:none}
.auth-hero__logo{height:7.5rem;width:auto;align-self:flex-start;position:relative;z-index:1}
.auth-hero__tag{margin:0;max-width:28rem;font-size:3rem;line-height:1.1;font-weight:800;letter-spacing:-.015em;position:relative;z-index:1}
.auth-visual{max-width:28rem;padding:1.5rem;border-radius:16px;background:#fff;color:#0B1F44;box-shadow:0 24px 48px rgba(11,31,68,.35);position:relative;z-index:1}
.auth-visual__head{display:flex;justify-content:space-between;gap:1rem;font-size:.875rem}
.auth-visual__head span{color:#44506a;white-space:nowrap}
.auth-visual__bar{height:.5rem;margin:.75rem 0 1rem;border-radius:999px;background:#e3eaf6;overflow:hidden}
.auth-visual__bar span{display:block;width:80%;height:100%;background:linear-gradient(90deg,#14B8A6,#2563EB)}
.auth-visual ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.auth-visual li{display:flex;align-items:center;gap:.625rem;font-size:.875rem}
.auth-visual li i{width:.75rem;height:.75rem;border-radius:50%;flex:none}
.auth-visual li .ok{background:#14B8A6}.auth-visual li .wait{background:#c77c00}.auth-visual li .late{background:#a4141b}
.auth-visual li em{margin-left:auto;font-style:normal;color:#44506a;font-size:.8125rem}
.auth-panel{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:3.5rem 2.5rem;background:linear-gradient(180deg,#f7faff,#fff)}
.auth-panel .auth-card,.auth-panel .auth-points{width:100%;max-width:26rem;box-sizing:border-box}
}
.auth-hero__brand{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}
.auth-hero__mark{flex:none;width:5rem;height:5rem}
.auth-hero__wordmark{font-size:2.5rem;font-weight:800;letter-spacing:-.02em;line-height:1;color:#fff}
.auth-hero__doc{color:#fff}
.auth-hero__huntr{color:#3B82F6}
@media (max-width:63.99rem){
body.auth-body:has(.auth-split) .auth-header{display:none}
body.auth-body main:has(.auth-split){max-width:none;margin:0;padding:0}
.auth-split{display:block}
.auth-hero{display:flex;flex-direction:column;gap:1rem;padding:1.5rem 1.25rem;color:#fff;overflow:hidden;
  background:radial-gradient(28rem 28rem at 90% 10%,rgba(20,184,166,.18),transparent 50%),
             linear-gradient(145deg,#0B1F44 0%,#00297e 55%,#2563EB 100%)}
.auth-hero::before{display:none}
.auth-hero__logo{height:4rem;width:auto;align-self:flex-start}
.auth-hero__tag{margin:0;max-width:30rem;font-size:1.375rem;line-height:1.2;font-weight:750}
.auth-hero .auth-visual{display:none}
.auth-panel{display:flex;flex-direction:column;align-items:center;padding:1.5rem 1rem;background:linear-gradient(180deg,#f7faff,#fff)}
.auth-panel .auth-card,.auth-panel .auth-points{width:100%;max-width:26rem;box-sizing:border-box}
}
@media (min-width:40.01rem) and (max-width:63.99rem){
.auth-hero{padding:2rem 2.5rem}
.auth-hero__tag{font-size:2rem}
.auth-hero__logo{height:5.5rem}
}

/* ---------- Help page: six step cards layout ---------- */
#steps .dc-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
  margin: 1.5rem 0 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 64rem) {
  #steps .dc-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 40rem) {
  #steps .dc-steps {
    grid-template-columns: 1fr;
  }
}
#steps .dc-steps li,
.dc-step-card {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  gap: 0.75rem !important;
  padding: 1.5rem !important;
  border: 1px solid #dfe6f1 !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  box-shadow: 0 1px 2px rgba(1, 19, 58, 0.05), 0 4px 12px rgba(1, 19, 58, 0.04) !important;
}
#steps .dc-steps h3,
.dc-step-card h3 {
  margin: 0 !important;
  font-size: 1.125rem !important;
  line-height: 1.35 !important;
  color: #0B1F44 !important;
  font-weight: 700 !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  width: 100% !important;
}
#steps .dc-steps p,
.dc-step-card p {
  margin: 0 !important;
  color: #44506a !important;
  font-size: 0.9375rem !important;
  line-height: 1.45 !important;
  flex: 1 1 auto !important;
}
#steps .dc-steps li p:last-child,
.dc-step-card .dc-step-card__act {
  margin-top: 0.75rem !important;
  flex: none !important;
}

/* ---------- Dashboard: premium command center hero ---------- */
.dash-focal{display:flex;align-items:center;justify-content:space-between;gap:2rem;position:relative;overflow:hidden;border-radius:1.25rem;padding:2rem 2.5rem;color:#fff;
  background:url('/static/brand-kit/dochuntr-hero-banner.webp?v=2') center/cover no-repeat;
  background-image: -webkit-image-set(url('/static/brand-kit/dochuntr-hero-banner.webp?v=2') 1x, url('/static/brand-kit/dochuntr-hero-banner.png?v=2') 1x);
  background-image: image-set(url('/static/brand-kit/dochuntr-hero-banner.webp?v=2') 1x, url('/static/brand-kit/dochuntr-hero-banner.png?v=2') 1x);
  box-shadow:0 24px 64px -24px rgba(11,31,68,.6),0 0 0 1px rgba(255,255,255,.03) inset}
/* Subtle overlay to ensure text readability */
.dash-focal::before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:1.25rem;
  background:linear-gradient(90deg,rgba(11,31,68,.35) 0%,rgba(11,31,68,.15) 50%,transparent 100%)}
.dash-focal-main{position:relative;z-index:1;max-width:42rem;flex:1 1 auto}
.dash-focal-cta{position:relative;z-index:1;flex:0 0 auto;margin-left:auto}
.dash-eyebrow{display:inline-flex;align-items:center;gap:.625rem;font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#2DD4BF;margin-bottom:1rem}
.dash-eyebrow::before{content:"";width:.4rem;height:.4rem;border-radius:50%;border:2px solid #14B8A6;flex:none}
.dash-focal h1{font-size:2rem;font-weight:800;letter-spacing:-.02em;line-height:1.15;margin:0 0 .5rem}
.dash-focal h1 .user-name{color:#3B82F6}
.dash-focal .big-text{font-size:1.25rem;font-weight:700;line-height:1.3;color:#fff;margin:0 0 .75rem}
.dash-why{font-size:.9375rem;line-height:1.6;color:rgba(255,255,255,.75);margin:0 0 1rem;max-width:32rem}
.dash-why a{color:#3B82F6;text-decoration:underline;text-underline-offset:.15em;font-weight:500}
.dash-focal .dc-act--primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.4rem;
  font-weight:700;
  font-size:1.03rem;
  color:#fff;
  min-height:3rem;
  padding:0 1.75rem;
  border-radius:22px;
  border:1px solid rgba(255,255,255,0.34);
  background:linear-gradient(180deg,rgba(255,255,255,0.22),rgba(255,255,255,0.08));
  backdrop-filter:blur(20px) saturate(150%);
  -webkit-backdrop-filter:blur(20px) saturate(150%);
  box-shadow:
    /* outer soft shadow */
    0 12px 32px -8px rgba(11,31,68,0.35),
    0 4px 16px -4px rgba(11,31,68,0.25),
    /* bright top rim / specular highlight */
    0 -1px 0 0 rgba(255,255,255,0.55) inset,
    0 -2px 0 0 rgba(255,255,255,0.35) inset,
    /* subtle inner top highlight */
    0 -4px 8px -2px rgba(255,255,255,0.18) inset,
    /* darker lower inner edge */
    0 4px 8px -3px rgba(11,31,68,0.45) inset,
    /* faint inner shadow for glass thickness */
    0 2px 0 0 rgba(11,31,68,0.35) inset,
    /* reflection band across upper third */
    0 -6px 12px -4px rgba(37,99,235,0.12) inset;
  transition:
    transform .12s cubic-bezier(.2,.8,.2,1),
    box-shadow .12s cubic-bezier(.2,.8,.2,1),
    background .12s cubic-bezier(.2,.8,.2,1);
}
.dash-focal .dc-act--primary:hover{
  transform:translateY(-1.5px);
  box-shadow:
    0 16px 40px -10px rgba(11,31,68,0.4),
    0 6px 20px -6px rgba(11,31,68,0.3),
    0 -1px 0 0 rgba(255,255,255,0.65) inset,
    0 -2px 0 0 rgba(255,255,255,0.42) inset,
    0 -4px 10px -2px rgba(255,255,255,0.22) inset,
    0 5px 10px -3px rgba(11,31,68,0.5) inset,
    0 2px 0 0 rgba(11,31,68,0.4) inset,
    0 -8px 14px -4px rgba(37,99,235,0.18) inset;
}
.dash-focal .dc-act--primary:active{
  transform:translateY(.5px);
  box-shadow:
    0 6px 16px -6px rgba(11,31,68,0.3),
    0 2px 8px -4px rgba(11,31,68,0.2),
    0 -1px 0 0 rgba(255,255,255,0.45) inset,
    0 2px 4px -2px rgba(11,31,68,0.5) inset;
}
.dash-focal .dc-act--primary .icon{
  color:#14B8A6;
  width:1.3rem;
  height:1.3rem;
}

@media (max-width:64rem){
.dash-focal{flex-direction:column;text-align:center;padding:1.75rem 1.5rem;background-position:center}
.dash-focal::before{background:linear-gradient(180deg,rgba(11,31,68,.35) 0%,rgba(11,31,68,.15) 50%,transparent 100%)}
.dash-focal-cta{margin-left:0;width:100%}
.dash-focal .dc-act--primary{width:100%;justify-content:center}
.dash-focal h1{font-size:1.75rem}
.dash-focal .big-text{font-size:1.125rem}
}

.qa-tile .qa-icon{background:#e6f8f5;color:#14B8A6;border-radius:var(--r-ctl);display:inline-flex;align-items:center;justify-content:center}


@keyframes sweep-shimmer{
  0%{
    left:-100%;
    opacity:0;
  }
  10%{
    opacity:.7;
  }
  100%{
    left:200%;
    opacity:0;
  }
}

/* Dashboard glass CTA shimmer + lift */
.dash-focal-cta .dc-act--primary{
  position:relative;
  overflow:hidden;
}
.dash-focal-cta .dc-act--primary::after{
  content:'';
  position:absolute;
  top:0;left:-100%;
  width:60%;height:100%;
  background:linear-gradient(90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.45) 45%,
    rgba(255,255,255,.75) 50%,
    rgba(255,255,255,.45) 55%,
    rgba(255,255,255,0) 100%);
  transform:skewX(-20deg);
  pointer-events:none;
}
@media(prefers-reduced-motion:no-preference){
  .dash-focal-cta .dc-act--primary:hover{
    transform:translateY(-1px);
  }
  .dash-focal-cta .dc-act--primary:hover::after{
    animation:sweep-shimmer .8s forwards;
  }
}
@media(prefers-reduced-motion:reduce){
  .dash-focal-cta .dc-act--after{display:none}
  .dash-focal-cta .dc-act--primary::after{display:none}
}