/* Presentation only. Geometry, data, access rules and module interactions stay in their owners. */
@layer ims-design{
 :root{
  --ims-ui-ink:#303030;--ims-ui-body:#454545;--ims-ui-muted:#555555;--ims-ui-faint:#595959;
  --ims-ui-accent:#793047;--ims-ui-accent-hover:#602337;
  --ims-ui-success:#2d6147;--ims-ui-progress:#2c597c;--ims-ui-wait:#77521f;--ims-ui-danger:#963346;
  --ims-ui-surface:rgba(255,255,255,.3);--ims-ui-soft:rgba(255,255,255,.2);--ims-ui-canvas:rgba(255,255,255,.12);--ims-ui-hover:rgba(255,255,255,.42);
  --ims-ui-glass:rgba(255,255,255,.1);--ims-ui-glass-strong:rgba(248,248,248,.76);
  --ims-ui-sheen:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.015) 46%,rgba(255,255,255,.07));
  --ims-ui-glass-line:rgba(255,255,255,.72);--ims-ui-line:rgba(67,67,67,.18);--ims-ui-line-soft:rgba(67,67,67,.1);
  --ims-ui-frost:blur(12px) saturate(130%);--ims-ui-blur:18px;
  --ims-ui-shadow-panel:inset 0 1px 0 rgba(255,255,255,.77),inset 1px 0 0 rgba(255,255,255,.36),inset 0 -1px 0 rgba(55,55,55,.035),0 3px 9px rgba(35,35,35,.035),0 21px 45px -26px rgba(32,32,32,.32);
  --ims-ui-focus-ring:0 0 0 3px rgba(121,48,71,.15)
 }
 /* Avoid stacking opaque white surfaces inside the three working dashboards. */
 body :is(#ims-finance-app,#ims-cloud-workspace,#ims-account-workspace,#ims-account-team,#ims-subscription-app,#ims-resource-app:not([data-theme=dark]),.imsc-pick,.ims-ai){
  --g-glass-solid:var(--ims-ui-surface)!important;--g-fill:var(--ims-ui-surface)!important;
  --ir-surface:var(--ims-ui-surface)!important;--ir-soft:var(--ims-ui-soft)!important;
  --imsc-surface:var(--ims-ui-surface)!important;--imsc-soft:var(--ims-ui-soft)!important;
  --ia-surface:var(--ims-ui-surface)!important;--is-surface:var(--ims-ui-surface)!important;
  --ai-ink:var(--ims-ui-ink);--ai-ink-2:var(--ims-ui-body);--ai-muted:var(--ims-ui-muted);--ai-soft:var(--ims-ui-soft)
 }
 body :is(.ims-header-card,.ims-header-inner,.ims-main-header,.ims-crm-top,.ims-hm-panel,.ims-hm-card,
 .ims-cab-card,.ims-account-card,.ims-account-form-section,.ims-consult-card,.ims-news-list-card,.ims-news-sidebar-card,
 .imsnr-card,.imsnr-side-card,.ims-contact-main,.ims-contact-sidebar,.ims-legal-card,.ims-cm-card,.ims-cm-post,
 .imss-plan,.imss-card,.imss-current,.imss-pricing-intro,.imsc-card,.imsc-file-area,.imsc-side-card,.imsc-sidebar,
 .ir-card,.ir-side,.ir-dashboard-stats,.fx-block,.fx-panel,.fx-section,.fx-kpi,.fx-summary-hero,.fx-summary-contracts,.fx-summary-ledger,
 .ir-catalogue-card,.ir-reader-card,.ims-crm-card,.ims-crm-ring-tile){
  background:var(--ims-ui-sheen),var(--ims-ui-glass)!important;
  border-color:var(--ims-ui-glass-line)!important;box-shadow:var(--ims-ui-shadow-panel)!important;
  -webkit-backdrop-filter:var(--ims-ui-frost)!important;backdrop-filter:var(--ims-ui-frost)!important
 }
 body :is(.imsc-table,.fx-table) tbody tr:hover td{background:rgba(255,255,255,.24)!important;color:var(--ims-ui-ink)!important}
 body :is(.ir-item,.imsc-card,.ims-crm-card):hover{background:rgba(255,255,255,.25)!important;color:var(--ims-ui-ink)!important}
 body #ims-finance-app .fx-kpi:first-child{background:var(--ims-ui-sheen),rgba(255,255,255,.2)!important}
 body #ims-finance-app .fx-kpi:hover{background:var(--ims-ui-sheen),rgba(255,255,255,.3)!important}
 /* Semantic text stays readable in every interactive state, including nested labels. */
 body :is(.fx-muted,.imsc-muted,.imsc-crumbs-count,.ir-meta,.ir-excerpt,.ir-empty,.ims-account-note,.ims-account-help,
 .ims-crm-faint,.ims-crm-empty-note,.ims-crm-column-empty,.ima-muted,.imss-muted,.imsnr-date,.imsnr-excerpt,
 .imsnr-detail-meta,.imsnr-side-title small,.imsnr-date time,.ims-consult-meta,.text-gray-300,.text-gray-400,.text-slate-400){color:var(--ims-ui-muted)!important}
 body :is(.imsc-crumbs-count,.imsc-crumbs-count span,.ir-side-tabs button span,.ir-side-tabs a span,.ir-rail-link span){color:var(--ims-ui-muted)!important;opacity:1!important}
 body #ims-resource-app:not([data-theme=dark]) :is(.ir-side-note,.ir-side-foot,.ir-help-link,.ir-sidebar a[href*="kontakty"],.ir-dashboard-stat>span){color:var(--ims-ui-muted)!important}
 body :is(.imsnr-card,.imsnr-side-card,.ims-contact-main,.ims-contact-sidebar,.ims-legal-card,.ims-cm-card,.ims-cm-post){color:var(--ims-ui-ink)!important}
 body :is(.ims-ai,.ims-companions,.ims-home-dashboard) :is(a,button):is(:hover,:focus-visible,:active){-webkit-text-fill-color:currentColor}
 body :is(.fx-btn,.ir-button,.imsc-primary,.imsc-secondary,.imss-button,.ims-crm-btn,.ims-account-submit,
 .ims-submit-btn,.ims-cm-btn,.ims-consult-row-more,.ims-news-row-more):is(:hover,:focus-visible,:active){
  color:var(--ims-ui-accent)!important;-webkit-text-fill-color:currentColor!important;background:rgba(255,255,255,.44)!important
 }
 body :is(.fx-btn,.ir-button,.imsc-primary,.imsc-secondary,.imss-button,.ims-crm-btn,.ims-account-submit,.ims-submit-btn,.ims-cm-btn):is(:hover,:focus-visible,:active) :is(span,strong,small){color:inherit!important;-webkit-text-fill-color:currentColor!important}
 body :is(.fx-tabs,.imsc-tabs,.ir-rail-nav,.ir-period-tabs,.ir-side-tabs,.ir-reader-tabs,.ir-catalogue-view,.ims-seg,.imss-tabs,.imss-period,.ims-ai-filters)>:is(a,button):is(:hover,:focus-visible){background:rgba(255,255,255,.32)!important;color:var(--ims-ui-accent)!important}
 body :is(.fx-tabs,.imsc-tabs,.ir-side-tabs,.ir-period-tabs,.ims-ai-filters)>:is(a,button) :is(span,small){color:inherit!important;opacity:1!important}
 body :is(.imsnr-feature-label,.imsnr-calendar-help,.imsnr-subscribe-points,.imsnr-calendar th,.imsnr-calendar td a,.text-gray-500){color:var(--ims-ui-muted)!important}
 body .text-red-400{color:var(--ims-ui-danger)!important}
 body :is(.ims-pp-current,.ims-pp-stats,.ims-pp-service-grid>a,.ims-pp-compare,.imsnr-feature,.imsnr-calendar-help){background:var(--ims-ui-sheen),var(--ims-ui-glass)!important}
 /* Fields are clearer than their panels without a fully opaque white tile. */
 body:is(.ims-glass,.imsc-page,.login) :is(.ir-search,.imsc-search,.fx-search-field,.fx-filter-search,.ims-crm-search,.ims-cm-search,.ims-consult-search,.ims-news-search,.imsnr-search,.ims-ai-search,.imsc-pick-search,.ims-cm-panel-search,.ims-section-search,.search-form,.ims-cab-search,.ir-document-search){background:rgba(255,255,255,.4)!important;color:var(--ims-ui-body)!important;border-color:rgba(67,67,67,.23)!important}
 body:is(.ims-glass,.imsc-page,.login) :is(.ir-search,.imsc-search,.fx-search-field,.fx-filter-search,.ims-crm-search,.ims-cm-search,.ims-consult-search,.ims-news-search,.imsnr-search,.ims-ai-search,.imsc-pick-search,.ims-cm-panel-search,.ims-section-search,.search-form,.ims-cab-search,.ir-document-search):focus-within{background:rgba(255,255,255,.6)!important;border-color:var(--ims-ui-accent)!important;box-shadow:var(--ims-ui-focus-ring)!important}
 body:is(.ims-glass,.imsc-page,.login) ::placeholder{color:var(--ims-ui-muted)!important;opacity:1!important}
 body :is(.fx-btn,.ir-button,.imsc-primary,.imsc-secondary,.imss-button,.ims-crm-btn,.ims-account-submit,.ims-submit-btn,.ims-cm-btn):disabled{color:var(--ims-ui-muted)!important}
 body .ims-ai{border-radius:22px!important;width:380px;max-height:min(550px,calc(100dvh - 24px));box-shadow:var(--ims-ui-shadow-dialog)!important}
 body .ims-ai :is(.ims-ai-titles small,.ims-ai-keys,.ims-ai-tool small,.ims-ai-sections summary,.ims-ai-command>small){color:var(--ims-ui-muted)!important}
.ims-ai .ims-ai-head{padding-top:11px;padding-bottom:11px}
 body .ims-ai .ims-ai-ask{color:var(--ims-ui-accent)!important;background:rgba(255,255,255,.35)!important;border:1px solid rgba(121,48,71,.25)!important}
 body .ims-ai .ims-ai-ask:is(:hover,:focus-visible,:active){color:var(--ims-ui-accent-hover)!important;background:rgba(255,255,255,.6)!important;-webkit-text-fill-color:currentColor!important}
 body .ims-ai-tool{background:rgba(255,255,255,.15)!important;border-color:rgba(70,70,70,.12)!important}
 body .ims-ai-tool:hover{background:rgba(255,255,255,.35)!important;color:var(--ims-ui-accent)!important}
 /* Keep the existing footer structure, menus and dimensions; strengthen only its text. */
 body #ims-site-footer.imsfp{--fp-muted:#555555}
 body #ims-site-footer.imsfp .ims-footer-copy{color:#555555!important}
 /* The optional dark resource reader remains a separate, deliberate reading mode. */
 body #ims-resource-app[data-theme=dark]{--ims-ui-ink:#edf0f2;--ims-ui-body:#dde1e4;--ims-ui-muted:#c3cbd1;--ims-ui-faint:#bfc8d0;--ims-ui-accent:#f0c6d0;--ir-surface:rgba(22,22,22,.94)!important;--ir-soft:rgba(255,255,255,.07)!important;color:#edf0f2!important;background:rgba(22,22,22,.9)!important}
 body #ims-resource-app[data-theme=dark] :is(.ir-catalogue-card,.ir-reader-card,.ir-side,.ir-item,.ir-reader-tabs,.ir-period-tabs,.ir-side-tabs,.ir-tools,.ir-catalogue-view,.ir-catalogue-heading,.ir-catalogue-toolbar,.ir-section-head){background:rgba(255,255,255,.045)!important;color:#edf0f2!important}
 body #ims-resource-app[data-theme=dark] :is(button,input,select,textarea,.ir-button,.ir-rail-link,.ir-period-tabs a){background:rgba(24,24,24,.82)!important;color:#edf0f2!important;border-color:rgba(255,255,255,.25)!important}
 body #ims-resource-app[data-theme=dark] :is(p,small,time,.ir-meta,.ir-excerpt,.ir-side-note,.ir-side-foot,.ir-help-link){color:#c3cbd1!important}
 body #ims-resource-app[data-theme=dark] :is(a,button):is(:hover,:focus-visible,:active){color:#f0c6d0!important;background:rgba(48,48,48,.95)!important}
 body #ims-resource-app[data-theme=dark] :is(.ir-rail-nav,.ir-dashboard-top-actions,.ir-dashboard-top-actions time,.ir-count,.ims-ir-continue a,.ir-search){background:rgba(24,24,24,.86)!important;color:#edf0f2!important}
 body #ims-resource-app[data-theme=dark] .ir-rail-nav>a{background:rgba(24,24,24,.86)!important;color:#edf0f2!important}
 body #ims-resource-app[data-theme=dark] .ir-rail-nav>a:is([aria-current=page],.is-active){background:rgba(48,48,48,.95)!important;color:#f0c6d0!important;box-shadow:inset 0 -2px 0 #f0c6d0!important}
 body #ims-resource-app[data-theme=dark] ::placeholder{color:#c3cbd1!important;opacity:1!important}
}
@media(max-width:640px){@layer ims-design{body .ims-ai{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}body .ims-ai :is(.ims-ai-head,.ims-ai-foot){flex-wrap:wrap}}}
@media(prefers-reduced-motion:reduce){
 body :is(.ims-home-card,.ims-hub-board,.ims-hub-link,.fx-block,.fx-kpi,.ir-item,.imsc-card,.ims-crm-card,.ims-ai,.ims-lang-menu){animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media print{@layer ims-design{body :is(.ims-home-card,.ir-card,.ir-side,.fx-block,.fx-panel,.ims-account-card){background:#fff!important;box-shadow:none!important;backdrop-filter:none!important;color:#222!important}}}
/* Soft corners belong to each card, including nested financial tiles and scroll tables. */
@layer ims-design{
 body :is(.fx-summary-hero,.fx-summary-contracts,.fx-summary-ledger,.fx-block,.fx-panel,.fx-section,.fx-kpi,.ims-crm-card,.ims-crm-ring-tile,.ims-crm-contract-tile,.imsc-card,.imsc-file-area,.imsc-side-card,.imsc-sidebar,.ir-card,.ir-side,.ir-dashboard-stat,.ir-catalogue-card,.ir-reader-card,.ims-account-card,.ims-cab-card,.ims-contact-main,.ims-contact-sidebar,.imsnr-card,.imsnr-side-card,.imss-plan,.imss-card,.imss-current){border-radius:22px!important;background-clip:padding-box}
 body :is(.fx-summary-hero,.fx-summary-contracts,.fx-summary-ledger,.ims-crm-ring-tile,.ims-crm-contract-tile){overflow:hidden}
 body :is(.fx-table-wrap,.imsc-table-wrap,.imsc-table-scroll,.ir-table-wrap,.ims-account-table-wrap){border-radius:17px!important;isolation:isolate}
 body :is(.fx-table,.imsc-table,.ims-account-table,.ims-sec-matrix){border-collapse:separate;border-spacing:0;border-radius:16px;overflow:hidden}
 body :is(.fx-table,.imsc-table,.ims-account-table,.ims-sec-matrix) thead tr:first-child> :first-child{border-top-left-radius:16px}
 body :is(.fx-table,.imsc-table,.ims-account-table,.ims-sec-matrix) thead tr:first-child> :last-child{border-top-right-radius:16px}
 body :is(.fx-table,.imsc-table,.ims-account-table,.ims-sec-matrix) tbody tr:last-child> :first-child{border-bottom-left-radius:16px}
 body :is(.fx-table,.imsc-table,.ims-account-table,.ims-sec-matrix) tbody tr:last-child> :last-child{border-bottom-right-radius:16px}
}
/* The backdrop uses the existing brand asset, softly blurred behind transparent glass. */
@layer ims-design{
 html body:is(.ims-glass,.ims-crm,.imsc-page,.login){background:#f5f5f5!important;isolation:isolate}
 html body:is(.ims-glass,.ims-crm,.imsc-page,.login)::before{content:"";display:block!important;position:fixed;inset:-32px;z-index:-1;pointer-events:none;background:transparent url("../images/logo-ims-compact.svg") no-repeat center 48%!important;background-size:min(62vw,1050px) auto!important;filter:blur(18px);opacity:.18;transform:translateZ(0)}
 html body:is(.ims-glass,.ims-crm,.imsc-page) #page{background:transparent!important}
 body .ims-crm-tile{border-radius:22px!important;background-clip:padding-box}
}
@media(max-width:600px){@layer ims-design{html body:is(.ims-glass,.ims-crm,.imsc-page,.login)::before{background-size:108vw auto!important;filter:blur(12px);opacity:.16}}}
@media print{@layer ims-design{html body:is(.ims-glass,.ims-crm,.imsc-page,.login)::before{display:none!important}}}
@layer ims-design{
 body :is(.ims-ai .ims-ai-label,.ims-workspace-module){color:var(--ims-ui-muted)!important}
}
