/* INFOCONSULT V3.2, local client theme. No second CSS framework. */
/* Web fonts: Latin + Cyrillic subsets with the weight range the site uses (docs/WEB-FONTS.md).
   Both files are preloaded by layouts/public. The "Fallback" faces are local fonts scaled to the
   web fonts' width and metrics, so text wraps the same way before and after the swap (no layout shift). */
@font-face { font-family: Manrope; src: url('fonts/Manrope-web.woff2') format('woff2'); font-weight: 400 800; font-display: swap; unicode-range: U+0000-024F, U+0400-04FF, U+2000-206F, U+20AC, U+2116, U+2122, U+2190-2199, U+2212; }
@font-face { font-family: Literata; src: url('fonts/Literata-web.woff2') format('woff2'); font-weight: 400 600; font-display: swap; unicode-range: U+0000-024F, U+0400-04FF, U+2000-206F, U+20AC, U+2116, U+2122, U+2190-2199, U+2212; }
@font-face { font-family: 'Manrope Fallback'; src: local('Arial'), local('ArialMT'); font-weight: 400 500; size-adjust: 101.87%; ascent-override: 104.64%; descent-override: 29.45%; line-gap-override: 0%; }
@font-face { font-family: 'Manrope Fallback'; src: local('Arial Bold'), local('Arial-BoldMT'); font-weight: 600 800; size-adjust: 102.5%; ascent-override: 104%; descent-override: 29.27%; line-gap-override: 0%; }
@font-face { font-family: 'Literata Fallback'; src: local('Georgia'); size-adjust: 107.75%; ascent-override: 109.23%; descent-override: 28.58%; line-gap-override: 0%; }
:root {
    --color-primary: #5145d6;
    --color-primary-strong: #393093;
    --color-primary-contrast: #ffffff;
    --color-accent: #a43f27;
    --color-coral: #ff8c69;
    --color-accent-soft: #ffb9a1;
    --color-on-dark-muted: #e6e1f7;
    --color-dark-line: #66617b;
    --color-bg: #f7f4ee;
    --color-surface: #ffffff;
    --color-soft: #eeebfc;
    --color-text: #18172e;
    --color-muted: #656273;
    --color-border: #dcd8e1;
    --color-control-border: #80798e;
    --color-success: #28664b;
    --color-danger: #a53527;
    --color-focus: #5145d6;
    --color-overlay: #18172e66;
    --font-body: Manrope, 'Manrope Fallback', 'Segoe UI', Arial, sans-serif;
    --font-heading: Literata, 'Literata Fallback', Georgia, serif;
    --radius: 8px;
    --radius-small: 0;
    --shadow: 0 8px 28px #18172e0b;
    --shadow-float: 0 16px 60px #18172e26;
    --space-1: .25rem;
    --space-2: .5rem;
    --space-3: .75rem;
    --space-4: 1rem;
    --space-6: 1.5rem;
    --space-8: 2rem;
    --touch-target: 44px;
    --shell-max: 82rem;
}
[data-client-theme="infoconsult"] h1,
[data-client-theme="infoconsult"] h2 { letter-spacing: -.045em; font-weight: 400; }
[data-client-theme="infoconsult"] .c-header { background: var(--color-bg); }
[data-client-theme="infoconsult"] .c-brand__name { font-size: .95rem; letter-spacing: .035em; }
[data-client-theme="infoconsult"] .c-eyebrow { color: var(--color-primary); }
[data-client-theme="infoconsult"] .c-btn { border-radius: 0; }
[data-client-theme="infoconsult"] .c-hero h1 { font-size: clamp(2.5rem, 4.6vw, 4.3rem); line-height: 1.12; }
[data-client-theme="infoconsult"] .c-hero h1 em { display: block; font-size: .84em; font-style: normal; color: var(--color-primary); margin-top: .5rem; }
[data-client-theme="infoconsult"] .c-hero__visual { min-height: 0; padding: 1rem 0 2rem; background: transparent; border-radius: 0; box-shadow: none; overflow: visible; }
.c-infoconsult-scene { position: relative; margin: 0; padding: 0 0 0 2rem; }
.c-infoconsult-scene img { display: block; width: 100%; aspect-ratio: 1.12; object-fit: cover; border-radius: 6rem 0 0; }
.c-infoconsult-scene figcaption { font-size: .7rem; color: var(--color-muted); margin-top: .75rem; }
.c-infoconsult-scene__card { position: relative; margin: -3.5rem 2rem 0 -2rem; padding: 1.5rem; background: var(--color-text); color: var(--color-primary-contrast); border-radius: 8px; box-shadow: var(--shadow-float); }
.c-infoconsult-scene__card p { font-family: var(--font-heading); font-size: 1.5rem; margin: 0 0 .75rem; }
.c-infoconsult-scene__card ul { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; list-style: none; padding: 0; margin: 0; font-size: .8rem; color: var(--color-on-dark-muted); }
.c-infoconsult-preview { padding: .65rem 1rem; background: var(--color-soft); border-bottom: 1px solid var(--color-border); color: var(--color-text); font-size: .75rem; text-align: center; overflow-wrap: anywhere; }
.c-infoconsult-preview strong { color: var(--color-primary); margin-right: .5rem; }
.c-infoconsult-status { padding: 1.5rem; background: var(--color-soft); border: 1px solid var(--color-border); margin-block: 1.5rem; }
.c-infoconsult-status h2 { margin-top: 0; }
.c-infoconsult-status p { max-width: 70ch; }
.c-infoconsult-status__grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; }
.c-infoconsult-status__grid div { background: var(--color-surface); padding: 1rem; }
.c-infoconsult-status__grid strong, .c-infoconsult-status__grid span { display: block; }
.c-infoconsult-status__grid span { color: var(--color-muted); font-size: .8rem; margin-top: .5rem; }
[data-client-theme="infoconsult"] .l-portal__sidebar { background: var(--color-text); }
[data-client-theme="infoconsult"] .l-portal__sidebar .c-eyebrow { color: var(--color-accent-soft); }
[data-client-theme="infoconsult"] .l-portal__sidebar .c-brand,
[data-client-theme="infoconsult"] .l-portal__sidebar .c-sidenav a,
[data-client-theme="infoconsult"] .l-portal__sidebar .c-btn--ghost { color: var(--color-primary-contrast); }
[data-client-theme="infoconsult"] .l-portal__sidebar .c-sidenav a[aria-current="page"] { background: var(--color-primary); }
[data-client-theme="infoconsult"] .l-portal__sidebar .c-sidenav a:hover { background: var(--color-primary-strong); }
[data-client-theme="infoconsult"] .c-portal-invite { background: var(--color-text); }
[data-client-theme="infoconsult"] .c-portal-invite .c-eyebrow { color: var(--color-accent-soft); }
@media (max-width: 56rem) {
    .c-infoconsult-status__grid { grid-template-columns: 1fr; }
    [data-client-theme="infoconsult"] .c-hero__visual { margin-top: 0; }
    .c-infoconsult-scene { padding-left: 1rem; }
    .c-infoconsult-scene img { aspect-ratio: 1.3; border-top-left-radius: 4rem; }
    .c-infoconsult-scene__card { margin-inline: -1rem .5rem; padding: 1.25rem; }
    .c-infoconsult-scene__card p { font-size: 1.2rem; }
}
@media (max-width: 370px) {
    [data-client-theme="infoconsult"] .c-header__inner { gap: .5rem; }
    [data-client-theme="infoconsult"] .c-header .c-brand { max-width: none; gap: .35rem; }
    [data-client-theme="infoconsult"] .c-header .c-brand__name { font-size: .73rem; white-space: nowrap; }
    [data-client-theme="infoconsult"] .c-header .c-brand__logo { width: 30px; height: 30px; }
    [data-client-theme="infoconsult"] .c-header__tools { gap: .25rem; }
}
@media (prefers-reduced-motion: reduce) {
    [data-client-theme="infoconsult"] *, [data-client-theme="infoconsult"] *::before,
    [data-client-theme="infoconsult"] *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Operational screens follow V3.2's compact sans-serif hierarchy. */
[data-client-theme="infoconsult"] body[data-layout="portal"] h1,
[data-client-theme="infoconsult"] body[data-layout="portal"] h2,
[data-client-theme="infoconsult"] body[data-layout="portal"] h3{font-family:var(--font-body);letter-spacing:-.025em;font-weight:650;line-height:1.3}
[data-client-theme="infoconsult"] .c-portal-header h1{font-size:clamp(1.35rem,1rem + 1vw,2rem);margin-bottom:.5rem}
[data-client-theme="infoconsult"] .c-portal-header{display:block;margin:.5rem 0 1rem}
[data-client-theme="infoconsult"] .c-portal-header .c-eyebrow{margin-bottom:.4rem}
[data-client-theme="infoconsult"] .c-portal-header .c-lead{font-size:.95rem;line-height:1.55}
[data-client-theme="infoconsult"] body[data-layout="portal"] .c-section{margin-top:2rem}
[data-client-theme="infoconsult"] body[data-layout="portal"] .c-section-heading{margin-bottom:1rem;flex-wrap:wrap}
[data-client-theme="infoconsult"] body[data-layout="portal"] .c-section-heading h2{font-size:1.25rem}
[data-client-theme="infoconsult"] .l-portal__sidebar .c-portal-user{color:var(--color-primary-contrast);border-color:var(--color-dark-line)}
[data-client-theme="infoconsult"] .l-portal__sidebar .c-avatar{color:var(--color-primary-contrast);background:var(--color-primary-strong);border-color:var(--color-dark-line)}
[data-client-theme="infoconsult"] .l-portal__sidebar .c-portal-user small{display:block;color:var(--color-on-dark-muted);font-size:.75rem;margin-top:.25rem}
[data-client-theme="infoconsult"] .c-infoconsult-status{padding:1rem;margin:1rem 0;font-size:.85rem}
[data-client-theme="infoconsult"] .c-infoconsult-status h2{font-size:1.1rem;margin-bottom:.5rem}
[data-client-theme="infoconsult"] .c-infoconsult-status .c-eyebrow{margin-bottom:.4rem}
[data-client-theme="infoconsult"] .c-infoconsult-status details summary{min-height:44px;cursor:pointer;display:flex;align-items:center;color:var(--color-primary)}
[data-client-theme="infoconsult"] .c-infoconsult-preview{padding:.4rem .75rem;font-size:.7rem}
@media(max-width:56rem){[data-client-theme="infoconsult"] .l-portal__main{padding:1rem}[data-client-theme="infoconsult"] .c-portal-header .c-lead{margin-bottom:.5rem}}

[data-client-theme="infoconsult"] .c-pending-work h2{font-size:1.1rem;margin:0 0 .4rem}
[data-client-theme="infoconsult"] .c-pending-work p{font-size:.9rem;margin-bottom:.5rem}
[data-client-theme="infoconsult"] .l-catalog .c-page-header{margin:0 0 1.25rem}
[data-client-theme="infoconsult"] .l-catalog .c-page-header h1{font-size:clamp(2rem,3vw,3rem)}
[data-client-theme="infoconsult"] body:has(.c-checkout-layout) .c-page-header{margin:.5rem 0 1.5rem}
[data-client-theme="infoconsult"] body:has(.c-checkout-layout) .c-page-header h1{font-size:clamp(1.8rem,3vw,3rem)}
[data-client-theme="infoconsult"] .c-cart-summary h2{font-size:1.5rem;margin-top:0}
[data-client-theme="infoconsult"] .c-document-list .c-document-detail summary{font-size:.95rem;line-height:1.5}

[data-client-theme="infoconsult"] .c-upload-panel>summary{font-family:var(--font-body);font-size:1.1rem;font-weight:650;line-height:1.4}
