:root { --navy: #122235; --blue: #0f6f9a; --blue-dark: #0a4f70; --mist: #f4f7f9; --line: #d8e0e7; --text: #1f2e3a; --muted: #607181; --green: #157347; --orange: #b45309; --red: #b42318; --purple: #6d28d9; }
* { box-sizing: border-box; }
body { margin: 0; background: var(--mist); color: var(--text); font: 15px/1.5 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
a { color: var(--blue-dark); text-decoration: none; } a:hover { text-decoration: underline; } h1, h2, h3, p { margin-top: 0; } h1 { font-size: clamp(1.7rem, 2.5vw, 2.35rem); letter-spacing: -.03em; margin-bottom: .3rem; } h2 { font-size: 1.2rem; margin-bottom: .2rem; } h3 { font-size: 1rem; margin: 1.25rem 0 .4rem; } code, pre { font-family: ui-monospace, Consolas, monospace; } pre { overflow-x: auto; padding: 1rem; border-radius: .5rem; background: #122235; color: white; }
.app-shell { min-height: 100vh; display: grid; grid-template-columns: 252px minmax(0, 1fr); }.sidebar { position: sticky; top: 0; height: 100vh; overflow-y: auto; padding: 1.3rem 1rem; background: var(--navy); color: #dce8ef; display: flex; flex-direction: column; }.brand { color: white; font-size: 1.35rem; font-weight: 800; letter-spacing: .03em; margin: 0 .55rem 1.5rem; }.brand span { color: #7ed8ff; font-size: .75rem; }.sidebar nav { display: grid; gap: .15rem; }.sidebar nav a { color: #dce8ef; padding: .5rem .6rem; border-radius: .35rem; font-size: .9rem; }.sidebar nav a:hover, .sidebar nav a.is-active { color: white; text-decoration: none; background: rgba(126, 216, 255, .15); }.sidebar-footer { margin-top: auto; border-top: 1px solid rgba(255,255,255,.18); padding: 1rem .55rem 0; display: grid; font-size: .8rem; }.sidebar-footer span { color: #9fb5c2; text-transform: capitalize; }.link-button { padding: 0; margin-top: .5rem; background: none; border: 0; color: #7ed8ff; cursor: pointer; text-align: left; }.page-content { max-width: 1600px; width: 100%; padding: 2rem clamp(1rem, 3vw, 3rem) 3rem; }.auth-page { min-height: 100vh; display: grid; place-items: center; padding: 1.5rem; background: linear-gradient(135deg, #e8f1f6, #f9fbfc); }
.page-header { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; margin-bottom: 1.6rem; }.page-header p { color: var(--muted); margin-bottom: 0; }.eyebrow { color: var(--blue); text-transform: uppercase; letter-spacing: .1em; font-size: .75rem; font-weight: 700; }.header-actions, .form-actions { display: flex; gap: .6rem; flex-wrap: wrap; }.button { display: inline-flex; align-items: center; justify-content: center; min-height: 2.4rem; padding: .45rem .85rem; border-radius: .4rem; border: 1px solid transparent; font: inherit; font-weight: 650; cursor: pointer; text-decoration: none; }.button:hover { text-decoration: none; }.button-primary { background: var(--blue); color: white; }.button-primary:hover { background: var(--blue-dark); }.button-secondary { background: white; color: var(--blue-dark); border-color: #a7bfce; }.button-ghost { background: transparent; color: var(--text); border-color: transparent; }.button:disabled { cursor: not-allowed; opacity: .55; }
.metric-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); gap: .85rem; margin-bottom: 1.5rem; }.metric-card { min-height: 120px; display: flex; flex-direction: column; gap: .25rem; padding: 1rem; background: white; color: var(--text); border: 1px solid var(--line); border-radius: .6rem; box-shadow: 0 1px 2px rgba(21, 43, 59, .04); }.metric-card:hover { border-color: #8abbd0; text-decoration: none; }.metric-card span, .metric-card small { color: var(--muted); }.metric-card strong { color: var(--navy); font-size: 1.8rem; }.metric-card small { margin-top: auto; font-size: .75rem; }.two-column, .detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1rem; }.panel, .form-card, .login-card, .setup-card { background: white; border: 1px solid var(--line); border-radius: .6rem; padding: 1.25rem; box-shadow: 0 1px 2px rgba(21,43,59,.04); }.panel-header { display: flex; justify-content: space-between; gap: .75rem; border-bottom: 1px solid var(--line); margin-bottom: 1rem; padding-bottom: .7rem; }.panel-header p, .muted, .empty-copy { color: var(--muted); }.rank-list, .compact-list { margin: 0; padding: 0; list-style: none; }.rank-list { counter-reset: rank; }.rank-list li, .compact-list li { display: flex; justify-content: space-between; gap: 1rem; align-items: baseline; padding: .7rem 0; border-bottom: 1px solid var(--line); }.rank-list li::before { counter-increment: rank; content: counter(rank); color: var(--muted); font-weight: 700; }.rank-list li a { margin-right: auto; }.rank-list span, .compact-list span { color: var(--muted); font-size: .85rem; }.summary-list, .detail-list { margin: 0; }.summary-list div, .detail-list div { display: grid; grid-template-columns: minmax(130px, 36%) 1fr; gap: .75rem; padding: .5rem 0; border-bottom: 1px solid var(--line); }.summary-list dt, .detail-list dt { color: var(--muted); }.summary-list dd, .detail-list dd { margin: 0; font-weight: 600; }.badges { display: flex; gap: .45rem; flex-wrap: wrap; }.badge, .status { display: inline-flex; width: fit-content; padding: .16rem .5rem; border-radius: 999px; background: #e9f2f7; color: #21566d; font-size: .78rem; font-weight: 650; }.status-client, .status-partner { background: #e9f7ee; color: var(--green); }.status-competitor { background: #fceceb; color: var(--red); }.status-vip { background: #f0eaff; color: var(--purple); }.status-to_contact { background: #fff4df; color: var(--orange); }.status-irrelevant { background: #edf1f3; color: #52616d; }.status-unqualified { background: #e9f2f7; color: #21566d; }
.filter-panel { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); gap: .7rem; padding: 1rem; margin-bottom: .75rem; background: white; border: 1px solid var(--line); border-radius: .6rem; }.filter-search { grid-column: span 2; }.filter-actions { display: flex; gap: .5rem; align-items: end; }.filter-summary { display: grid; grid-template-columns: repeat(5, minmax(130px, 1fr)); gap: .7rem; margin-bottom: 1rem; }.filter-summary div, .filter-summary-card { display: grid; gap: .15rem; padding: .75rem .9rem; border: 1px solid var(--line); border-radius: .55rem; background: #fff; }.filter-summary-card { color: inherit; text-decoration: none; cursor: pointer; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }.filter-summary-card:hover, .filter-summary-card:focus-visible { border-color: #899565; box-shadow: 0 5px 14px rgba(46,57,31,.1); text-decoration: none; transform: translateY(-1px); }.filter-summary span, .filter-summary-card span { color: var(--muted); font-size: .75rem; }.filter-summary strong, .filter-summary-card strong { color: var(--navy); font-size: 1.3rem; }.filter-summary-card small { margin-top: .15rem; color: #65733f; font-size: .7rem; font-weight: 700; }.table-wrap { overflow-x: auto; background: white; border: 1px solid var(--line); border-radius: .6rem; }.table-wrap table { width: 100%; border-collapse: collapse; min-width: 820px; }.table-wrap caption { text-align: left; padding: .9rem 1rem; color: var(--muted); font-size: .85rem; }.table-wrap th, .table-wrap td { padding: .75rem 1rem; border-top: 1px solid var(--line); vertical-align: top; text-align: left; }.table-wrap th { background: #f8fafb; color: #485967; font-size: .75rem; text-transform: uppercase; letter-spacing: .03em; }.table-secondary { display: block; margin-top: .15rem; color: var(--muted); font-size: .83rem; }.strong-link { font-weight: 700; }.empty-cell { padding: 2rem !important; text-align: center !important; color: var(--muted); }.pagination { display: flex; justify-content: center; gap: 1rem; align-items: center; margin: 1rem 0; }.pagination span { color: var(--muted); }
label { display: grid; gap: .28rem; color: #42525e; font-weight: 650; font-size: .88rem; } input, select, textarea { width: 100%; padding: .53rem .6rem; border: 1px solid #b9c7d0; border-radius: .35rem; color: var(--text); background: white; font: inherit; font-weight: 400; } input:focus, select:focus, textarea:focus { outline: 3px solid rgba(15,111,154,.18); border-color: var(--blue); }.form-card { display: grid; gap: 1.2rem; max-width: 1020px; }.narrow-form { max-width: 640px; }.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; }.span-2 { grid-column: span 2; }.stack-form { display: grid; gap: .85rem; }.compact-form { margin-bottom: 1rem; }.check-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: .4rem; }.check { display: flex; gap: .45rem; align-items: center; color: var(--text); font-weight: 500; }.check input { width: auto; }.help { color: var(--muted); font-size: .78rem; font-weight: 400; }.prose { color: #394a57; }.timeline { display: grid; gap: .6rem; }.timeline article { padding: .75rem; border-left: 3px solid #8abbd0; background: #f7fafb; }.timeline p { margin-bottom: .3rem; }.timeline small { color: var(--muted); }.check-list { padding-left: 1.2rem; }.check-list li { margin: .4rem 0; }.report-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(245px, 1fr)); gap: 1rem; }.report-card { display: flex; flex-direction: column; }.report-card .button { margin-top: auto; align-self: start; }.report-metrics { max-width: 760px; }.login-card, .setup-card { width: min(100%, 520px); }.setup-card { width: min(100%, 760px); }.login-card h1 { margin-bottom: .6rem; }.empty-state { max-width: 550px; margin: 8vh auto; text-align: center; }.alert { margin-bottom: 1rem; padding: .75rem 1rem; border-radius: .45rem; border: 1px solid; }.alert-success { background: #ecfdf3; color: #065f46; border-color: #a7f3d0; }.alert-danger { background: #fef2f2; color: #991b1b; border-color: #fecaca; }
.alert-info { background: #eff6ff; color: #1e3a5f; border-color: #bfdbfe; }
.template-library { display: grid; gap: .7rem; }.template-library-card, .template-preview { border: 1px solid #c8d7df; border-radius: .55rem; background: #f8fbfc; padding: .85rem; }.template-library-heading, .template-preview-heading { display: flex; justify-content: space-between; gap: .75rem; align-items: baseline; }.template-library-heading > div { display: grid; gap: .1rem; }.template-library-heading span, .template-preview-heading span { color: var(--muted); font-size: .8rem; }.template-library-card summary { margin-top: .65rem; cursor: pointer; color: var(--blue-dark); font-weight: 750; }.template-preview { margin: .15rem 0; }.template-preview-heading { margin-bottom: .5rem; }.template-preview-details { margin: 0; }.template-preview-details div { display: grid; grid-template-columns: minmax(70px, 100px) 1fr; gap: .6rem; padding: .4rem 0; border-top: 1px solid #d9e4e9; }.template-preview-details dt { color: var(--muted); }.template-preview-details dd { margin: 0; font-weight: 650; }.template-preview-body { max-height: 280px; margin: .4rem 0 0; overflow: auto; white-space: pre-wrap; background: white; color: var(--text); border: 1px solid #d9e4e9; font: .82rem/1.55 ui-monospace, Consolas, monospace; }
@media (max-width: 1040px) { .app-shell { grid-template-columns: 190px minmax(0, 1fr); }.sidebar { padding: 1rem .7rem; }.sidebar nav a { font-size: .82rem; }.filter-panel { grid-template-columns: repeat(3, minmax(150px, 1fr)); }.filter-search { grid-column: span 3; }.filter-summary { grid-template-columns: repeat(3, minmax(130px, 1fr)); } }
@media (max-width: 760px) { .app-shell { display: block; }.sidebar { position: static; height: auto; }.sidebar nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }.sidebar-footer { display: none; }.page-content { padding: 1.25rem .9rem 2rem; }.page-header { display: grid; }.two-column, .detail-grid, .form-grid { grid-template-columns: 1fr; }.span-2 { grid-column: span 1; }.filter-panel { grid-template-columns: 1fr; }.filter-search { grid-column: span 1; }.filter-summary { grid-template-columns: repeat(2, minmax(130px, 1fr)); }.metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.metric-card { min-height: 105px; }.panel, .form-card { padding: 1rem; } }
.tender-open-filter { align-self: end; min-height: 2.4rem; }.tender-management { align-items: start; margin-top: 1.2rem; }.tender-profile-list strong, .tender-match-list strong { display: block; }.tender-profile-list form, .tender-match-list form { display: flex; gap: .4rem; align-items: center; }.tender-profile-list li, .tender-match-list li { align-items: flex-start; }.tender-match-list span { display: block; }.tender-match-list a { display: inline-block; margin-top: .35rem; }.tender-score { background: #fff4df; color: var(--orange); }.tender-description { white-space: normal; line-height: 1.65; max-width: 100ch; }

/* Login visual identity: charcoal, olive and sand palette inspired by the KOMAZ flyer. */
.auth-page { position: relative; overflow: hidden; padding: clamp(1rem, 3vw, 3rem); background: #252820; }
.auth-page::before { content: ""; position: absolute; inset: -20%; pointer-events: none; opacity: .38; background: radial-gradient(ellipse at 15% 25%, #697257 0 10%, transparent 10.5%), radial-gradient(ellipse at 72% 8%, #4b5541 0 13%, transparent 13.5%), radial-gradient(ellipse at 86% 70%, #596249 0 14%, transparent 14.5%), radial-gradient(ellipse at 35% 88%, #414a39 0 16%, transparent 16.5%); transform: rotate(-12deg) scale(1.2); }
.login-shell { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr); width: min(1080px, 100%); min-height: 650px; overflow: hidden; border: 1px solid rgba(255,255,255,.2); border-radius: 1.25rem; background: #f0eee6; box-shadow: 0 28px 80px rgba(0,0,0,.35); }
.login-visual { position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: space-between; padding: clamp(2rem, 5vw, 4.5rem); overflow: hidden; color: #f4f1e6; background-color: #373b2e; background-image: linear-gradient(120deg, rgba(25,31,23,.64) 0%, rgba(55,64,45,.46) 45%, rgba(42,49,37,.22) 100%), url('/assets/images/komaz-crate.jpg'); background-size: cover; background-position: center; }
.login-visual::after { content: ""; position: absolute; z-index: -1; inset: 0; opacity: .18; background: repeating-linear-gradient(118deg, transparent 0 34px, rgba(255,255,255,.1) 35px 37px, transparent 38px 83px); mix-blend-mode: screen; }
.login-visual > * { position: relative; z-index: 1; }
.login-visual-photo { position: absolute !important; z-index: 0 !important; right: -5%; bottom: -1%; width: 76%; height: 39%; object-fit: cover; object-position: center; opacity: .42; filter: saturate(.78) contrast(1.08); -webkit-mask-image: linear-gradient(to top, #000 0%, rgba(0,0,0,.82) 58%, transparent 100%); mask-image: linear-gradient(to top, #000 0%, rgba(0,0,0,.82) 58%, transparent 100%); pointer-events: none; }
.login-logo { display: inline-flex; align-items: center; width: fit-content; gap: .35rem; color: #f6f3e9; font-size: clamp(1.65rem, 3vw, 2.35rem); font-weight: 800; letter-spacing: .13em; text-shadow: 0 2px 8px rgba(0,0,0,.35); }
.login-logo-image { display: block; width: min(260px, 68vw); height: auto; border: 1px solid rgba(255,255,255,.22); border-radius: .38rem; box-shadow: 0 3px 16px rgba(0,0,0,.28); }
.login-logo-orbit { position: relative; display: inline-block; width: 1.85rem; height: 1.85rem; margin-right: -.7rem; border: 2px solid #f6f3e9; border-radius: 50%; transform: rotate(-28deg) skewX(-18deg); }
.login-logo-orbit::after { content: ""; position: absolute; top: 50%; left: -.25rem; width: 2.25rem; height: 2px; background: #f6f3e9; transform: rotate(-25deg); }
.login-kicker { margin: 2.5rem 0 1.2rem; color: #d5d8c3; font-size: .72rem; font-weight: 750; letter-spacing: .16em; }
.login-visual h1 { max-width: 560px; margin: 0; color: #fffdf5; font-size: clamp(2.6rem, 6vw, 5.2rem); line-height: .96; letter-spacing: -.055em; }
.login-visual h1 span { color: #c5cc9f; }
.login-visual-copy { max-width: 390px; margin: 1.8rem 0 0; color: #e2e4d6; font-size: 1rem; }
.login-visual-foot { display: flex; align-items: center; gap: .6rem; color: #d5d8c3; font-size: .78rem; }
.login-status-dot { width: .55rem; height: .55rem; border-radius: 50%; background: #bdc981; box-shadow: 0 0 0 .25rem rgba(189,201,129,.18), 0 0 16px rgba(189,201,129,.7); }
.login-panel { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem, 5vw, 4.5rem); color: #292b25; background: #f1efe7; }
.login-panel .eyebrow { margin-bottom: 1.7rem; color: #707959; }
.login-panel h2 { margin-bottom: .55rem; color: #2b2d27; font-size: clamp(1.8rem, 3vw, 2.45rem); letter-spacing: -.04em; }
.login-intro { margin-bottom: 2rem; color: #6d7068; }
.login-panel label { color: #474a40; }
.login-panel input { min-height: 3rem; margin-top: .15rem; border-color: #c9c8bd; border-radius: .45rem; background: rgba(255,255,255,.72); }
.login-panel input:focus { outline: 3px solid rgba(112,121,89,.2); border-color: #707959; }
.login-submit { display: flex; justify-content: space-between; width: 100%; min-height: 3.15rem; margin-top: .4rem; padding: .55rem 1rem  .55rem 1.15rem; border-radius: .45rem; background: #4a5140; color: #fffdf5; }
.login-submit:hover { background: #343b2d; }
.login-submit span:last-child { font-size: 1.35rem; line-height: 1; }
.login-note { margin: 2rem 0 0; color: #94968e; font-size: .72rem; }
.password-field { position: relative; display: block; }
.login-panel .password-field input { padding-right: 5.4rem; }
.password-toggle { position: absolute; top: 50%; right: .45rem; transform: translateY(-50%); min-height: 2.15rem; padding: .25rem .52rem; border: 1px solid #aeb39d; border-radius: .3rem; background: #f6f5eb; color: #485238; font: inherit; font-size: .76rem; font-weight: 750; cursor: pointer; }
.password-toggle:hover { border-color: #718047; background: #e8ecd9; }
.remember-login { display: flex !important; align-items: flex-start; gap: .62rem; margin-top: .05rem; cursor: pointer; }
.login-panel .remember-login input { flex: 0 0 auto; width: 1.1rem; min-height: 1.1rem; margin: .18rem 0 0; padding: 0; }
.remember-login > span { display: grid; gap: .12rem; font-weight: 400; line-height: 1.35; }
.remember-login small { color: #777b70; font-size: .76rem; font-weight: 400; }
@media (max-width: 760px) { .auth-page { padding: .75rem; }.login-shell { grid-template-columns: 1fr; min-height: auto; border-radius: .9rem; }.login-visual { min-height: 340px; padding: 2rem 1.6rem; }.login-visual-photo { width: 92%; height: 46%; opacity: .32; }.login-kicker { margin-top: 2rem; }.login-visual h1 { font-size: clamp(2.8rem, 14vw, 4.5rem); }.login-panel { padding: 2rem 1.6rem 2.5rem; }.login-panel .eyebrow { margin-bottom: 1.1rem; } }
/* Company descriptions are intentionally compact in the catalogue; full text is on the profile. */
.company-description { display: -webkit-box; max-width: 360px; overflow: hidden; color: #394a57; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.message-body { min-height: 300px; margin: 0; padding: 1rem; white-space: pre-wrap; border-radius: .45rem; background: #122235; color: #f3f7fa; }
.mail-actions { display: grid; gap: .6rem; margin: 1rem 0; }.mail-actions .button { width: 100%; }.copy-source { position: fixed; left: -10000px; top: 0; width: 1px; height: 1px; opacity: 0; }.copy-feedback { min-height: 1.4rem; margin: -.25rem 0 .75rem; color: var(--green); font-size: .85rem; font-weight: 650; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.company-selection-form { margin: 0; }
.company-selection-bar { position: sticky; z-index: 8; top: .7rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin: 0 0 .75rem; padding: .75rem 1rem; border: 1px solid #9fb9c8; border-radius: .6rem; background: rgba(255,255,255,.96); box-shadow: 0 8px 28px rgba(18,34,53,.14); backdrop-filter: blur(8px); }
.company-selection-bar > div:first-child { display: grid; }
.company-selection-bar span { color: var(--muted); font-size: .8rem; }
.selection-column { width: 46px; text-align: center !important; }
.selection-check { display: inline-flex; align-items: center; justify-content: center; padding: .25rem; cursor: pointer; }
.selection-check input { width: 1rem; height: 1rem; margin: 0; accent-color: var(--blue); }
.table-wrap tr.is-selected td { background: #eef7fb; }
.status-badge { display: inline-flex; align-items: center; min-height: 1.8rem; padding: .15rem .55rem; border: 1px solid #bfd2bd; border-radius: 999px; background: #f0f6e9; color: #435435; font-size: .78rem; font-weight: 700; white-space: nowrap; }
.form-field-wide { grid-column: 1 / -1; }.form-help { margin: 0; }.form-actions { display: flex; align-items: center; gap: .65rem; }.inline-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; margin: 0 0 1rem; }
.report-builder-form { display: grid; gap: 1rem; }
.report-selection-panel { margin-bottom: 0; }
.selection-count-badge { display: inline-grid; min-width: 2.5rem; height: 2.5rem; place-items: center; border-radius: 999px; background: var(--navy); color: white; font-weight: 800; }
.selection-preview { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .55rem; }
.selection-preview > span { display: grid; padding: .65rem .75rem; border: 1px solid var(--line); border-radius: .45rem; background: #f8fafb; }
.selection-preview small { color: var(--muted); }
.selection-preview-more { place-items: center; color: var(--blue-dark); font-weight: 700; }
.report-field-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; }
.report-field-option { display: grid; grid-template-columns: auto 1fr; align-items: flex-start; gap: .65rem; min-height: 84px; padding: .75rem; border: 1px solid var(--line); border-radius: .5rem; background: #fbfcfd; cursor: pointer; }
.report-field-option:has(input:checked) { border-color: #82b4ca; background: #eef7fb; box-shadow: inset 3px 0 0 var(--blue); }
.report-field-option input { width: 1rem; height: 1rem; margin-top: .15rem; accent-color: var(--blue); }
.report-field-option span { display: grid; gap: .2rem; }
.report-field-option small { color: var(--muted); font-weight: 400; line-height: 1.35; }
.report-submit-bar { position: sticky; z-index: 9; bottom: .75rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem 1.15rem; border: 1px solid #8eabb9; border-radius: .65rem; background: rgba(18,34,53,.96); color: white; box-shadow: 0 12px 34px rgba(18,34,53,.25); backdrop-filter: blur(10px); }
.report-submit-bar > div { display: grid; }
.report-submit-bar span { color: #c5d4dd; font-size: .8rem; }
.report-submit-bar .button-primary { background: #26a1d1; }
.report-submit-bar .button-primary:hover { background: #1684b0; }
@media (max-width: 900px) { .report-field-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.company-selection-bar, .report-submit-bar { position: static; align-items: stretch; flex-direction: column; }.company-selection-bar .header-actions, .report-submit-bar .button { width: 100%; }.catalogue-list-controls { align-items: stretch; flex-direction: column; }.page-size-form { align-items: stretch; }.page-size-form label, .page-size-form .button { width: 100%; } }
@media (max-width: 560px) { .report-field-grid, .selection-preview { grid-template-columns: 1fr; } }
.connector-list li { align-items: center; }.connector-list li > div:first-child { display: grid; gap: .2rem; min-width: 0; }.connector-list li > div:first-child > a { font-size: .8rem; }.connector-list .header-actions { flex-shrink: 0; }.connector-list button[disabled] { opacity: .45; cursor: not-allowed; }
.registry-status { display: inline-flex; width: fit-content; padding: .18rem .48rem; border-radius: 999px; background: #edf1f3; color: #52616d; font-size: .76rem; font-weight: 750; }
.registry-status-verified { background: #e9f7ee; color: var(--green); }.registry-status-mismatch, .registry-status-error { background: #fceceb; color: var(--red); }.registry-status-not_found { background: #fff4df; color: var(--orange); }.registry-status-not_applicable { background: #edf1f3; color: #52616d; }.registry-status-not_checked { background: #e9f2f7; color: #21566d; }
.registry-summary { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); gap: .75rem; margin-bottom: 1rem; }.registry-summary > div { display: grid; gap: .18rem; padding: .85rem; border: 1px solid var(--line); border-radius: .5rem; background: #f8fafb; }.registry-summary span, .registry-summary small { color: var(--muted); }.registry-summary strong { color: var(--navy); font-size: 1.05rem; }.registry-summary strong .registry-status { font-size: .82rem; }.registry-columns { margin-bottom: 0; }.registry-panel { scroll-margin-top: 1rem; margin-bottom: 1rem; }.registry-connectors li > div { display: grid; }.registry-connectors li { align-items: center; }
.financial-import-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: end; margin-top: 1rem; padding: 1rem; border: 1px dashed #9fb9c8; border-radius: .5rem; background: #f8fafb; }.financial-import-form .button { margin-bottom: .05rem; }
.registry-selection-action { display: flex; justify-content: flex-end; align-items: center; gap: .65rem; margin: -.2rem 0 .75rem; }.registry-selection-action span { color: var(--muted); font-size: .78rem; }
.contact-cards { display: grid; gap: .75rem; }.contact-card { padding: 1rem; border: 1px solid var(--line); border-radius: .55rem; background: #fbfcfd; }.contact-card-head { display: flex; justify-content: space-between; gap: .75rem; align-items: flex-start; margin-bottom: .65rem; }.contact-card-head > div { display: grid; }.contact-card-head span { color: var(--muted); font-size: .82rem; }.contact-verification { display: inline-flex; flex-shrink: 0; padding: .2rem .5rem; border-radius: 999px; background: #fff4df; color: var(--orange) !important; font-size: .74rem !important; font-weight: 750; }.contact-verification-source_confirmed, .contact-verification-manual_confirmed { background: #e9f7ee; color: var(--green) !important; }.contact-verification-rejected { background: #fceceb; color: var(--red) !important; }.source-proof { display: grid; gap: .3rem; margin-top: .75rem; padding: .75rem; border-left: 3px solid #8abbd0; background: #eef6fa; overflow-wrap: anywhere; }.source-proof p { margin: 0; color: #3b4d59; font-size: .84rem; }.source-proof small { color: var(--muted); }.contact-review-form { display: grid; grid-template-columns: minmax(180px, 1fr) auto auto; gap: .5rem; margin-top: .75rem; }.auth-card { position: relative; z-index: 1; width: min(100%, 560px); padding: clamp(1.5rem, 5vw, 3rem); border: 1px solid rgba(255,255,255,.2); border-radius: 1rem; background: #f1efe7; box-shadow: 0 28px 80px rgba(0,0,0,.35); }.auth-card .button { width: 100%; }.login-help { margin: 1rem 0 0; text-align: right; }.sidebar-account-link { margin-top: .55rem; color: #7ed8ff; }
@media (max-width: 760px) { .registry-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }.financial-import-form { grid-template-columns: 1fr; }.registry-selection-action { align-items: stretch; flex-direction: column; }.registry-selection-action .button { width: 100%; } }
@media (max-width: 760px) { .contact-card-head, .contact-review-form { grid-template-columns: 1fr; display: grid; }.contact-review-form .button { width: 100%; } }
.assistant-page-header { margin-bottom: 1rem; }
.assistant-security-badge { display: flex; align-items: center; gap: .7rem; min-width: 240px; padding: .65rem .8rem; border: 1px solid #a8d8bf; border-radius: .55rem; background: #edf9f2; color: #12613d; }
.assistant-security-badge > span { display: grid; width: 2rem; height: 2rem; place-items: center; border-radius: 50%; background: #d5f0df; font-weight: 900; }
.assistant-security-badge > div { display: grid; }.assistant-security-badge small { color: #4f7361; }
.assistant-config-alert { border-color: #c4d6df; background: #eef6fa; color: #284c5d; }
.assistant-shell { display: grid; grid-template-columns: minmax(230px, 285px) minmax(0, 1fr); gap: 1rem; align-items: start; }
.assistant-history { position: sticky; top: 1rem; display: grid; gap: 1rem; max-height: calc(100vh - 2rem); overflow-y: auto; }
.assistant-history h2 { margin: .25rem 0 -.4rem; color: var(--muted); font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; }
.assistant-history nav { display: grid; gap: .3rem; }
.assistant-history nav a { display: grid; gap: .12rem; padding: .65rem .7rem; border-radius: .42rem; color: var(--text); }
.assistant-history nav a:hover, .assistant-history nav a.is-active { background: #e9f2f7; text-decoration: none; }
.assistant-history nav strong { overflow: hidden; font-size: .86rem; text-overflow: ellipsis; white-space: nowrap; }
.assistant-history nav small { color: var(--muted); font-size: .7rem; }
.assistant-chat { padding: 0; overflow: hidden; }
.assistant-welcome { display: grid; justify-items: center; max-width: 830px; min-height: 420px; margin: auto; padding: clamp(2rem, 7vw, 5rem) 1.25rem 2rem; text-align: center; }
.assistant-welcome h2 { margin: 1rem 0 .5rem; font-size: 1.55rem; }.assistant-welcome > p { max-width: 620px; color: var(--muted); }
.assistant-mark { display: grid; width: 3.5rem; height: 3.5rem; place-items: center; border-radius: 1rem; background: linear-gradient(145deg, var(--navy), #0f6f9a); color: white; font-size: .82rem; font-weight: 900; letter-spacing: .08em; box-shadow: 0 10px 26px rgba(18,34,53,.2); }
.assistant-examples { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; width: 100%; margin-top: 1.2rem; }
.assistant-examples button { padding: .9rem 1rem; border: 1px solid var(--line); border-radius: .55rem; background: #f8fafb; color: var(--blue-dark); font: inherit; text-align: left; cursor: pointer; }
.assistant-examples button:hover { border-color: #8abbd0; background: #eef7fb; }
.assistant-thread { display: grid; gap: 1.35rem; padding: 1.4rem; }
.assistant-message { display: grid; grid-template-columns: 2.35rem minmax(0, 1fr); gap: .8rem; align-items: start; }
.assistant-avatar { display: grid; width: 2.35rem; height: 2.35rem; place-items: center; border-radius: .6rem; background: #dce8ef; color: var(--navy); font-size: .72rem; font-weight: 850; }
.assistant-message-user { max-width: 820px; margin-left: auto; grid-template-columns: minmax(0, 1fr) 2.35rem; }
.assistant-message-user .assistant-avatar { grid-column: 2; background: var(--navy); color: white; }.assistant-message-user > div:last-child { grid-column: 1; grid-row: 1; padding: .8rem 1rem; border-radius: .7rem 0 .7rem .7rem; background: #eef4f7; }.assistant-message-user p { margin: 0; }.assistant-message-user small { color: var(--muted); }
.assistant-answer > p { max-width: 980px; margin: 0 0 .8rem; font-size: 1rem; }.assistant-warning { margin: .6rem 0; padding: .6rem .75rem; border-left: 3px solid var(--orange); background: #fff8eb; color: #76420c; font-size: .84rem; }
.assistant-filter-badges { margin: .65rem 0 1rem; }.assistant-results { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin: .85rem 0; }
.assistant-company-card { display: grid; align-content: start; gap: .65rem; min-width: 0; padding: 1rem; border: 1px solid var(--line); border-radius: .58rem; background: #fbfcfd; }
.assistant-company-card p { display: -webkit-box; margin: 0; overflow: hidden; color: #455764; font-size: .84rem; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.assistant-company-head { display: flex; justify-content: space-between; gap: .65rem; align-items: flex-start; }.assistant-company-head > div { display: grid; min-width: 0; }.assistant-company-head a { overflow-wrap: anywhere; }.assistant-company-head span:not(.assistant-potential) { color: var(--muted); font-size: .78rem; }
.assistant-potential { display: grid; flex: 0 0 auto; width: 2.55rem; height: 2.55rem; place-items: center; border-radius: 50%; background: #e8f3f8; color: var(--blue-dark); font-size: .78rem; font-weight: 850; }
.assistant-company-facts { margin: 0; }.assistant-company-facts div { display: grid; grid-template-columns: 60px 1fr; gap: .4rem; padding: .18rem 0; font-size: .76rem; }.assistant-company-facts dt { color: var(--muted); }.assistant-company-facts dd { margin: 0; overflow-wrap: anywhere; font-weight: 650; }
.assistant-contact { display: grid; padding: .6rem .7rem; border-left: 3px solid #78b79a; background: #f0f8f3; font-size: .78rem; overflow-wrap: anywhere; }.assistant-contact small { color: var(--muted); }
.assistant-card-actions { display: flex; justify-content: space-between; gap: .7rem; margin-top: auto; padding-top: .5rem; border-top: 1px solid var(--line); font-size: .78rem; }
.assistant-answer-meta { display: flex; justify-content: space-between; align-items: center; gap: .75rem; margin-top: .75rem; color: var(--muted); font-size: .72rem; }.assistant-answer-meta form { display: flex; gap: .3rem; }.assistant-answer-meta button { padding: .22rem .5rem; border: 1px solid var(--line); border-radius: .35rem; background: white; color: var(--muted); cursor: pointer; }
.assistant-composer { position: sticky; z-index: 5; bottom: 0; display: grid; gap: .55rem; padding: 1rem 1.3rem; border-top: 1px solid var(--line); background: rgba(255,255,255,.97); box-shadow: 0 -8px 26px rgba(18,34,53,.05); backdrop-filter: blur(8px); }.assistant-composer > label { font-size: .76rem; }.assistant-composer textarea { resize: vertical; min-height: 78px; }.assistant-composer-actions { display: flex; justify-content: space-between; gap: .7rem; align-items: end; }.assistant-composer-actions label { width: min(420px, 100%); }.assistant-composer > small { color: var(--muted); }
@media (max-width: 1050px) { .assistant-shell { grid-template-columns: 1fr; }.assistant-history { position: static; max-height: none; }.assistant-history nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }.assistant-results { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .assistant-security-badge { width: 100%; }.assistant-history nav, .assistant-examples { grid-template-columns: 1fr; }.assistant-thread { padding: .9rem; }.assistant-message { grid-template-columns: 2rem minmax(0, 1fr); gap: .55rem; }.assistant-avatar { width: 2rem; height: 2rem; }.assistant-message-user { grid-template-columns: minmax(0, 1fr) 2rem; }.assistant-composer { padding: .85rem; }.assistant-composer-actions, .assistant-answer-meta { align-items: stretch; flex-direction: column; }.assistant-composer-actions label, .assistant-composer-actions .button { width: 100%; } }
.calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }.calendar-weekdays { gap: .35rem; margin-bottom: .35rem; color: var(--muted); font-size: .75rem; font-weight: 700; text-align: center; }.calendar-days { gap: .35rem; }.calendar-day { min-height: 122px; padding: .5rem; border: 1px solid var(--line); border-radius: .45rem; background: #fff; }.calendar-day strong { color: var(--navy); }.calendar-day-empty { background: #f8fafb; }.calendar-event { display: grid; gap: .05rem; margin-top: .35rem; padding: .35rem; border-radius: .3rem; background: #e9f2f7; color: var(--blue-dark); font-size: .75rem; line-height: 1.2; }.calendar-event small { color: var(--muted); }.calendar-event:hover { text-decoration: none; background: #d6ebf3; }
.calendar-event-location { display:flex; align-items:center; gap:.25rem; }.event-flag { display:inline-block; font-size:1rem; line-height:1; }.calendar-map-section { margin:1rem 0; padding:1.1rem; border:1px solid #cbd1b1; border-radius:.65rem; background:rgba(255,255,250,.82); box-shadow:0 5px 16px rgba(49,60,32,.06); }.calendar-map-section .panel-header { margin-bottom:.8rem; }.calendar-map-section h2 { margin:.1rem 0 .25rem; color:#354224; }.calendar-map-workspace { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr); min-height:460px; border:1px solid #c8ceb0; border-radius:.55rem; overflow:hidden; background:#f5f6eb; }.calendar-event-map { min-height:460px; background:#edf0e2; }.calendar-event-map-detail { padding:1.1rem; border-left:1px solid #d5dac2; background:#fffef9; overflow:auto; }.calendar-event-map-detail h3 { margin:.2rem 0 .65rem; color:#354224; font-size:1.12rem; line-height:1.28; }.calendar-event-map-detail > p:not(.eyebrow):not(.calendar-map-source) { color:#5e6851; line-height:1.5; }.calendar-map-facts { margin:.8rem 0; }.calendar-map-facts div { grid-template-columns:minmax(105px,34%) 1fr; }.calendar-map-source { color:#6a735e; font-size:.75rem; line-height:1.45; }.calendar-event-map-detail .header-actions a { display:inline-flex; align-items:center; min-height:2.25rem; padding:.42rem .62rem; border:1px solid #909d68; border-radius:.4rem; color:#45532d; font-size:.76rem; font-weight:750; }.calendar-map-popup { display:grid; gap:.38rem; max-height:300px; overflow:auto; }.calendar-map-popup strong { color:#3d4c28; font-size:.82rem; }.calendar-map-popup button { padding:.4rem .48rem; border:1px solid #c4cda8; border-radius:.3rem; background:#fafbf5; color:#46552e; cursor:pointer; font:inherit; font-size:.76rem; text-align:left; }.calendar-map-popup button:hover { background:#e9eed8; }

/* KOMAZ operational theme — olive, sand and field-map accents. */
:root {
    --navy: #252c1b;
    --blue: #59663a;
    --blue-dark: #3f4a29;
    --mist: #eeece3;
    --line: #d3d0bd;
    --text: #292d21;
    --muted: #68705d;
    --green: #35613f;
    --orange: #8b6326;
    --red: #913f36;
    --purple: #615344;
    --action-primary: #4d5d30;
    --action-primary-hover: #354322;
    --action-secondary-bg: #f4f2e4;
    --action-secondary-border: #879563;
    --action-secondary-text: #344423;
    --action-tertiary-bg: #ecefe2;
    --action-tertiary-border: #bcc5a6;
    --action-focus: rgba(112, 132, 67, .32);
}
.source-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:.75rem; }
.source-card { display:grid; gap:.45rem; padding:1rem; border:1px solid var(--line); border-radius:.55rem; background:#fbfcfd; }
.source-card small { color:var(--muted); line-height:1.4; }
.source-card .button { width:max-content; margin-top:.2rem; }
.procurement-original { margin-top:-.25rem!important; color:var(--muted); font-size:.78rem; }.procurement-detail { margin-top:1rem; }.procurement-detail .panel-header { align-items:flex-start; }.procurement-detail .panel-header h2 { max-width:780px; }.procurement-original-detail,.procurement-translation { margin-top:.8rem; padding:.9rem; border:1px solid #d9e0cf; border-left:4px solid #7a9362; border-radius:.5rem; background:#fbfdf7; line-height:1.55; }.procurement-original-detail { border-left-color:#a68b52; background:#fffcf4; }.procurement-translation p:last-child,.procurement-original-detail p:last-child { white-space:normal; }.procurement-translate-form { display:grid; gap:.42rem; margin-top:.8rem; }.procurement-translate-form small { color:var(--muted); line-height:1.4; }

/* Staff view of one field conversation: its material belongs to the event
   visit, not to a single evergreen company profile. */
.field-visit-details { display:grid; grid-template-columns:minmax(9rem, .7fr) minmax(0, 1.6fr); gap:.55rem 1rem; margin:0; }
.field-visit-details dt { font-weight:800; color:#53613a; }
.field-visit-details dd { margin:0; overflow-wrap:anywhere; }
.field-visit-note { padding:1rem 1.1rem; border:1px solid #d9ddca; border-left:4px solid #78864f; border-radius:.55rem; background:#fafbf5; line-height:1.55; overflow-wrap:anywhere; }
.field-visit-detail-header { align-items:flex-start; margin-bottom:.8rem; }
.field-visit-detail-header h1 { max-width:28ch; margin:.22rem 0 .38rem; color:#2d3b25; font-size:clamp(1.55rem,3vw,2.35rem); line-height:1.13; letter-spacing:-.025em; text-wrap:balance; }
.field-visit-detail-header p:not(.eyebrow) { max-width:52rem; margin:0; color:#687363; font-size:.9rem; line-height:1.4; }
.field-visit-detail-header .header-actions { flex-wrap:wrap; justify-content:flex-end; max-width:17rem; }
.field-visit-detail-header .header-actions .button { min-height:2.4rem; padding:.45rem .65rem; font-size:.78rem; white-space:nowrap; }
.field-visit-detail-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.65rem; margin:0 0 .8rem; }
.field-visit-detail-summary article { display:grid; align-content:start; gap:.22rem; min-width:0; min-height:96px; padding:.78rem .85rem; border:1px solid #c4d0a9; border-radius:.6rem; background:linear-gradient(145deg,#fffef9,#f2f6e8); }
.field-visit-detail-summary span { color:#627153; font-size:.66rem; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }
.field-visit-detail-summary strong { min-width:0; color:#344627; font-size:clamp(1rem,1.45vw,1.35rem); line-height:1.16; overflow-wrap:anywhere; }
.field-visit-detail-summary small { color:#6b7760; font-size:.74rem; line-height:1.3; }
.field-visit-detail-grid { align-items:start; gap:.8rem; }
.field-visit-detail-grid > .panel { min-width:0; margin:0; padding:1rem 1.1rem; }
.field-visit-detail-grid h2 { margin:.2rem 0 .85rem; color:#303d27; font-size:1.08rem; }
.field-visit-detail-grid .eyebrow { margin:0; }
.field-visit-details { font-size:.86rem; line-height:1.38; }
.field-visit-details dt { color:#53633b; font-size:.78rem; }
.field-visit-details dd { color:#3f473e; }
.field-visit-next-step { max-width:42rem; padding:.55rem .65rem; border-left:3px solid #458177; background:#f3f9f7; color:#305d58 !important; }
.field-transcript { max-height:28rem; overflow:auto; background:#fff; }
.field-manager-media-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(13rem,1fr)); gap:1rem; }
.field-manager-photo { display:grid; gap:.45rem; color:inherit; text-decoration:none; font-size:.82rem; font-weight:700; }
.field-manager-photo img { width:100%; aspect-ratio:4 / 3; object-fit:cover; border:1px solid #cfd5b9; border-radius:.55rem; background:#eef0e3; }
.field-manager-transcript { margin-top:1rem; padding:1rem; border:1px solid #d4dac1; border-radius:.6rem; background:#fbfcf7; }
.field-manager-transcript summary { cursor:pointer; color:#394827; font-weight:800; }
.field-manager-edit { margin-top:1rem; }
.field-manager-transcript h3 { margin:1.2rem 0 .45rem; font-size:1rem; }
.field-visit-filters > summary { cursor:pointer; color:#42532d; font-weight:800; }
.field-visit-filters[open] > summary { margin-bottom:1rem; }
.field-management-summary a { display:block; color:inherit; text-decoration:none; }
.field-management-summary a:hover { background:#f2f5e7; }
@media (max-width:700px) { .field-visit-details { grid-template-columns:1fr; gap:.18rem; } .field-visit-details dt { margin-top:.6rem; } .field-visit-detail-header { display:grid; } .field-visit-detail-header h1 { max-width:none; font-size:1.65rem; } .field-visit-detail-header .header-actions { justify-content:start; max-width:none; width:100%; } .field-visit-detail-header .header-actions .button { flex:1 1 10rem; text-align:center; } .field-visit-detail-summary { grid-template-columns:repeat(2,minmax(0,1fr)); } .field-visit-detail-summary article { min-height:88px; padding:.7rem; } .field-visit-detail-summary strong { font-size:1rem; } }

/* Dense official floorplans remain legible: close visible stands become a
   tappable cluster, then split naturally as the user zooms in. */
.event-floorplan-clusters{position:absolute;z-index:8;inset:0;pointer-events:none}.event-floorplan-marker.is-clustered{visibility:hidden!important;opacity:0!important;pointer-events:none}.event-floorplan-cluster{position:absolute;z-index:9;display:grid;place-items:center;min-width:2.35rem;min-height:2.35rem;margin:0;padding:.2rem;transform:translate(-50%,-50%);border:2px solid #263b16;border-radius:999px;background:#3f5a25;color:#fffef5;box-shadow:0 3px 12px rgba(25,42,12,.45);cursor:pointer;font:850 clamp(.72rem,1.5vw,.92rem)/1 Arial,sans-serif;pointer-events:auto;transition:transform .16s ease,background .16s ease,box-shadow .16s ease}.event-floorplan-cluster:hover,.event-floorplan-cluster:focus-visible{z-index:12;transform:translate(-50%,-50%) scale(1.13);background:#5c762f;outline:3px solid rgba(105,132,55,.38);box-shadow:0 5px 16px rgba(25,42,12,.5)}.event-floorplan-cluster span{pointer-events:none}.floorplan-cluster-choices{display:grid;gap:.45rem;margin-top:.85rem}.floorplan-cluster-choices button{display:grid;gap:.16rem;width:100%;padding:.7rem .75rem;border:1px solid #b9c494;border-radius:.42rem;background:#f7f8ed;color:#354724;cursor:pointer;font:inherit;text-align:left}.floorplan-cluster-choices button:hover,.floorplan-cluster-choices button:focus-visible{border-color:#62763c;background:#edf2dc;outline:2px solid rgba(103,127,61,.22)}.floorplan-cluster-choices strong{font-size:.82rem}.floorplan-cluster-choices span{overflow:hidden;color:#667158;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.floorplan-canvas-panel{position:relative}.floorplan-quick-card{position:absolute;z-index:15;bottom:2.85rem;left:.75rem;display:grid;gap:.36rem;width:min(25rem,calc(100% - 1.5rem));padding:.72rem .78rem;border:1px solid #acbb7d;border-left:4px solid #506c2f;border-radius:.52rem;background:rgba(255,255,249,.98);box-shadow:0 9px 26px rgba(36,49,22,.23);backdrop-filter:blur(8px)}.floorplan-quick-card[hidden]{display:none}.floorplan-quick-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem}.floorplan-quick-card-heading>div{display:grid;gap:.1rem}.floorplan-quick-card-booth{color:#667a44;font-size:.67rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.floorplan-quick-card strong{color:#2e4020;font-size:.88rem;line-height:1.25}.floorplan-quick-card-close{display:grid;flex:0 0 2rem;width:2rem;min-height:2rem;place-items:center;padding:0;border:1px solid #bcc7a0;border-radius:.35rem;background:#fffef8;color:#485a31;cursor:pointer;font-size:1.35rem;line-height:1}.floorplan-quick-card-close:hover,.floorplan-quick-card-close:focus-visible{border-color:#607740;background:#edf2dc;outline:2px solid rgba(103,127,61,.22)}.floorplan-quick-card-city{margin:0;color:#68725c;font-size:.72rem;font-weight:700}.floorplan-quick-card-description{display:-webkit-box;margin:0;overflow:hidden;color:#4d5745;font-size:.76rem;line-height:1.38;-webkit-box-orient:vertical;-webkit-line-clamp:3}.floorplan-quick-card-actions{display:flex;flex-wrap:wrap;gap:.42rem;margin-top:.16rem}.floorplan-quick-card-actions a,.floorplan-quick-card-details{display:inline-flex;min-height:2.2rem;align-items:center;justify-content:center;padding:.36rem .56rem;border:1px solid #a4b17b;border-radius:.35rem;background:#f7f8ee;color:#42572a;font:800 .72rem/1 Arial,sans-serif;text-decoration:none;cursor:pointer}.floorplan-quick-card-actions a:last-child{border-color:#4f6830;background:#4f6830;color:#fff}.floorplan-quick-card-details{width:fit-content;margin-top:.1rem}@media (max-width:620px){.event-floorplan-cluster{min-width:2.6rem;min-height:2.6rem;font-size:.88rem}.floorplan-cluster-choices button{min-height:3.1rem}.floorplan-quick-card{bottom:2.55rem;left:.5rem;width:calc(100% - 1rem)}.floorplan-quick-card-actions a,.floorplan-quick-card-details{min-height:2.55rem}}

/* Biblioteka materiałów firmowych KOMAZ — pliki są chronione przez sesję DIC. */
.komaz-materials-intro { margin-bottom: 1rem; }
.komaz-materials-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; margin: 1rem 0 0; padding: 0; list-style: none; counter-reset: komaz-material-step; }
.komaz-materials-steps li { display: grid; gap: .22rem; position: relative; padding: .8rem .9rem .8rem 3rem; border: 1px solid #d8dec6; border-radius: .5rem; background: #fbfcf5; counter-increment: komaz-material-step; }
.komaz-materials-steps li::before { content: counter(komaz-material-step); display: grid; place-items: center; position: absolute; top: .85rem; left: .85rem; width: 1.45rem; height: 1.45rem; border-radius: 50%; background: #516733; color: #fff; font-size: .74rem; font-weight: 800; }
.komaz-materials-steps strong { color: #3b4b28; }.komaz-materials-steps span { color: #65705a; font-size: .79rem; line-height: 1.4; }
.komaz-materials-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1rem; }
.komaz-material-card { display: grid; gap: .7rem; align-content: start; padding: 0 0 1rem; overflow: hidden; }
.komaz-material-card h2, .komaz-material-card p, .komaz-material-card .header-actions { margin-right: 1rem; margin-left: 1rem; }
.komaz-material-card h2 { margin-top: .2rem; margin-bottom: 0; color: #364426; font-size: 1rem; }.komaz-material-card p { margin-top: 0; margin-bottom: 0; color: #63705a; font-size: .85rem; line-height: 1.45; }
.komaz-material-preview { display: block; overflow: hidden; border-bottom: 1px solid #d8dec6; background: #eef0e6; }.komaz-material-preview img { display: block; width: 100%; aspect-ratio: 1.42; object-fit: cover; object-position: center; transition: transform .2s ease; }.komaz-material-preview:hover img, .komaz-material-preview:focus-visible img { transform: scale(1.015); }
.komaz-materials-attachment, .outreach-material-attachment { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .7rem; padding: 1rem; border: 1px solid #bdc99c; border-left: 5px solid #60793c; border-radius: .55rem; background: #f7f9ef; }
.komaz-materials-attachment > div { display: grid; gap: .2rem; }.komaz-materials-attachment h2 { margin: 0; color: #374525; font-size: 1rem; }.komaz-materials-attachment p { max-width: 760px; margin: 0; color: #5d6752; font-size: .84rem; line-height: 1.45; }
.komaz-materials-contact { display: grid; gap: .85rem; margin-bottom: 1rem; padding: 1rem; border: 1px solid #9bac78; border-left: 5px solid #415c29; border-radius: .6rem; background: linear-gradient(135deg, #fbfcf6, #eef4e3); }.komaz-materials-contact-header { display: grid; grid-template-columns: 9.5rem minmax(0, 1fr) auto; align-items: center; gap: .9rem; }.komaz-materials-contact-logo { display: block; width: 9.5rem; height: 3.1rem; padding: .32rem .55rem; border: 1px solid #789158; border-radius: .34rem; background: #080b07; object-fit: contain; }.komaz-materials-contact-header h2 { margin: .12rem 0 .2rem; color: #344827; font-size: 1.08rem; }.komaz-materials-contact-header p { max-width:50rem; margin: 0; color: #5b6950; font-size: .83rem; line-height: 1.42; }.komaz-materials-contact-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; }.komaz-materials-contact-list article { display: grid; gap: .18rem; min-width: 0; padding: .78rem .82rem; border: 1px solid #cad8b2; border-radius: .48rem; background: #fffef9; }.komaz-materials-contact-list strong { color: #2d4020; font-size: .9rem; }.komaz-materials-contact-list span { min-height: 2.25em; color: #60734a; font-size: .75rem; font-weight: 700; line-height: 1.3; }.komaz-materials-contact-list a { width: fit-content; max-width: 100%; color: #405a29; font-size: .8rem; font-weight: 750; overflow-wrap: anywhere; text-decoration: none; }.komaz-materials-contact-list a:hover, .komaz-materials-contact-list a:focus-visible { text-decoration: underline; text-underline-offset: 2px; }
.outreach-material-attachment { display: grid; grid-template-columns: auto auto 1fr; margin: 1rem 0; }.outreach-material-attachment strong { color: #3d4d29; }.outreach-material-attachment span, .outreach-material-attachment small { color: #65705a; font-size: .77rem; }.outreach-material-attachment small { grid-column: 1 / -1; line-height: 1.42; }.outreach-material-queue { grid-template-columns: minmax(0, 1fr) auto; }.outreach-material-queue > div { display: grid; gap: .2rem; }
@media (max-width: 760px) { .komaz-materials-steps, .komaz-materials-grid, .outreach-material-attachment, .outreach-material-queue, .komaz-materials-contact-list { grid-template-columns: 1fr; }.komaz-materials-contact-header { grid-template-columns: 1fr; align-items: start; }.komaz-materials-contact-header .button { width: 100%; }.outreach-material-attachment .button { width: 100%; } }

body {
    position: relative;
    background:
        linear-gradient(90deg, rgba(92,101,59,.035) 1px, transparent 1px) 0 0 / 42px 42px,
        linear-gradient(rgba(92,101,59,.035) 1px, transparent 1px) 0 0 / 42px 42px,
        var(--mist);
}
body::before {
    content: "";
    position: fixed;
    z-index: -1;
    inset: 0;
    pointer-events: none;
    opacity: .35;
    background:
        radial-gradient(ellipse at 72% 13%, transparent 0 5rem, rgba(93,103,60,.08) 5.1rem 5.2rem, transparent 5.3rem 8.3rem, rgba(93,103,60,.055) 8.4rem 8.5rem, transparent 8.6rem),
        radial-gradient(ellipse at 93% 84%, transparent 0 8rem, rgba(93,103,60,.06) 8.1rem 8.2rem, transparent 8.3rem);
}
a { color: var(--blue-dark); }
pre, .message-body { background: #252c1b; color: #f6f2e6; }

.app-shell { width: 100%; max-width: none; grid-template-columns: 286px minmax(0, 1fr); }
.sidebar {
    position: sticky;
    isolation: isolate;
    padding: 1.15rem .8rem .9rem;
    background:
        radial-gradient(ellipse at 12% 18%, rgba(148,154,99,.16) 0 16%, transparent 16.6%),
        radial-gradient(ellipse at 92% 68%, rgba(98,111,65,.19) 0 20%, transparent 20.6%),
        linear-gradient(145deg, #252c1b, #303822 56%, #202719);
    box-shadow: inset -1px 0 rgba(229,224,201,.1), 6px 0 28px rgba(27,31,20,.12);
}
.sidebar::after {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    opacity: .13;
    background: repeating-linear-gradient(121deg, transparent 0 37px, rgba(255,255,255,.22) 38px 39px, transparent 40px 84px);
}
.brand {
    display: grid;
    grid-template-columns: 6rem minmax(0, 1fr) auto;
    align-items: center;
    gap: .55rem;
    margin: 0 .42rem 1.35rem;
    color: #f5f1e1;
    letter-spacing: .05em;
}
.brand:hover { color: #fffdf2; text-decoration: none; }
.brand-logo { display: block; width: 6rem; height: 2.4rem; object-fit: contain; border: 1px solid rgba(216,207,164,.28); border-radius: .32rem; background: #151816; }
.brand-copy { display: grid; min-width: 0; line-height: 1.05; }
.brand-copy strong { font-size: 1.1rem; letter-spacing: .13em; }
.brand-copy small { margin-top: .22rem; color: #c8ccb4; font-size: .55rem; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; }
.brand-version { align-self: start; padding: .14rem .28rem; border: 1px solid rgba(216,207,164,.35); border-radius: 999px; color: #d9d3ad; font-size: .6rem; font-weight: 750; }
.sidebar nav { gap: .08rem; padding-bottom: .65rem; }
.nav-section-title {
    margin: 1.05rem .58rem .35rem;
    color: #abb28b;
    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.nav-section-title:first-child { margin-top: 0; }
.sidebar nav a {
    display: flex;
    align-items: center;
    min-height: 2.08rem;
    gap: .55rem;
    padding: .46rem .62rem;
    border: 1px solid transparent;
    border-radius: .34rem;
    color: #e6e7d8;
    font-size: .86rem;
}
.sidebar nav a::before {
    content: "";
    display: inline-block;
    flex: 0 0 .42rem;
    width: .42rem;
    height: .42rem;
    border: 1px solid #b4bd83;
    border-radius: 1px;
    opacity: .85;
}
.sidebar nav a:hover, .sidebar nav a.is-active {
    border-color: rgba(203,207,157,.18);
    color: #fffdf0;
    background: linear-gradient(90deg, rgba(130,144,80,.34), rgba(112,124,66,.12));
    text-decoration: none;
}
.sidebar nav a.is-active { box-shadow: inset 3px 0 0 #d3cf8a; }
.sidebar nav a.is-active::before { border-color: #f0eaae; background: #d3cf8a; box-shadow: 0 0 0 .18rem rgba(211,207,138,.14); }
.sidebar-footer { border-top-color: rgba(227,224,197,.18); color: #f1efdf; }
.sidebar-footer span { color: #bdc4a3; }
.sidebar-account-link, .link-button { color: #d9d895; }
.link-button:hover, .sidebar-account-link:hover { color: #fff5b4; }

.page-content { position: relative; width: 100%; min-width: 0; max-width: none; padding: clamp(1.25rem, 3vw, 2.7rem) clamp(1rem, 3vw, 3.4rem) 3.2rem; }
.page-history { display: flex; justify-content: flex-end; gap: .4rem; min-height: 2.1rem; margin: 0 0 .65rem; }
.page-history-button { display: inline-flex; align-items: center; gap: .42rem; padding: .34rem .62rem; border: 1px solid #b4b996; border-radius: .3rem; background: rgba(251,250,244,.82); color: #465331; font: inherit; font-size: .78rem; font-weight: 750; cursor: pointer; }
.page-history-button:hover { border-color: #7e8b53; background: #e8ecd9; color: #2f3b1d; }
.page-history-button span[aria-hidden="true"] { font-size: 1.05rem; line-height: .8; }
.page-header { position: relative; padding: 0 0 1.1rem; border-bottom: 1px solid var(--line); }
.page-header::after { content: ""; position: absolute; bottom: -1px; left: 0; width: 86px; height: 3px; background: #707c48; }
.page-header h1 { color: #28301f; }
.eyebrow { color: #68783f; }
.button { min-height: 2.5rem; border-radius: .38rem; letter-spacing: .005em; font-weight: 750; transition: transform .12s ease, border-color .15s ease, background-color .15s ease, box-shadow .15s ease, color .15s ease; }
.button-primary { border-color: var(--action-primary); background: linear-gradient(135deg, #5b6c39, var(--action-primary)); color: #fffdf2; box-shadow: 0 4px 12px rgba(53,64,31,.2); }
.button-primary:hover { border-color: var(--action-primary-hover); background: var(--action-primary-hover); color: #fff; box-shadow: 0 6px 16px rgba(43,55,26,.24); }
.button-secondary { border-color: var(--action-secondary-border); background: var(--action-secondary-bg); color: var(--action-secondary-text); box-shadow: 0 2px 7px rgba(54,66,34,.08); }
.button-secondary:hover { border-color: #657846; background: #e6ecd4; color: #27371a; box-shadow: 0 4px 11px rgba(52,66,32,.14); }
.button-ghost { border-color: var(--action-tertiary-border); background: var(--action-tertiary-bg); color: #41512e; }
.button-ghost:hover { border-color: #879563; background: #dfe6cd; color: #29391d; box-shadow: 0 3px 9px rgba(54,66,34,.12); }
.button:focus-visible { outline: 3px solid var(--action-focus); outline-offset: 2px; }
.button:not(:disabled):active { transform: translateY(1px); box-shadow: none; }

.metric-card, .panel, .form-card, .login-card, .setup-card, .table-wrap, .filter-panel, .filter-summary div {
    border-color: var(--line);
    background: rgba(251,250,244,.94);
    box-shadow: 0 6px 18px rgba(46,53,32,.045);
}
.metric-card { position: relative; overflow: hidden; border-radius: .48rem; }
.metric-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: #7c8752; }
.metric-card:hover { border-color: #a5ab7b; }
.metric-card strong, .filter-summary strong, .registry-summary strong { color: #303a23; }
.panel, .form-card, .login-card, .setup-card { border-radius: .5rem; }
.panel-header { border-bottom-color: #dfddce; }
.table-wrap { border-radius: .5rem; }
.table-wrap th { background: #e8e6d8; color: #4d5740; }
.table-wrap tr:hover td { background: #f3f2e8; }
.filter-panel { border-top: 3px solid #7a8651; }
.filter-products { grid-column:span 2; min-width:0; margin:0; padding:.5rem .6rem .58rem; border:1px solid #c4cda8; border-radius:.42rem; background:#fdfdf7; }.filter-products legend { padding:0 .25rem; color:#4c5938; font-size:.88rem; font-weight:800; }.filter-products > small { display:block; margin:.04rem 0 .48rem; color:#6b745f; font-size:.72rem; line-height:1.35; }.filter-product-options { display:flex; flex-wrap:wrap; gap:.3rem .6rem; }.filter-product-options .check { min-height:1.5rem; color:#4f5b3d; font-size:.74rem; white-space:nowrap; }.filter-product-options .check input { accent-color:#657842; }
.filter-summary div { border-radius: .42rem; }
.table-wrap tr.is-selected td { background: #e5ebd8; }

label { color: #4a5140; }
input, select, textarea { border-color: #c5c7b2; background: #fffef9; }
input:focus, select:focus, textarea:focus { outline-color: rgba(104,119,63,.2); border-color: #718047; }
input[type="checkbox"], input[type="radio"] { accent-color: #59663a; }
.badge, .status { background: #e5eadb; color: #465331; }
.status-unqualified { background: #e5eadb; color: #465331; }
.status-irrelevant { background: #e5e5de; color: #55594e; }
.tender-score { background: #f2e7c7; color: #75551f; }
.timeline article, .source-proof { border-left-color: #8e9a61; background: #f0f2e6; }
.calendar-day { border-color: var(--line); background: #fcfbf5; }
.calendar-day-empty { background: #e9e8de; }
.calendar-event { background: #e4ead7; color: #45512c; }
.calendar-event:hover { background: #d9e2c7; }

.company-selection-bar { border-color: #a8ad85; background: rgba(251,250,243,.97); box-shadow: 0 10px 28px rgba(42,49,28,.15); }
.catalogue-list-controls { display: flex; justify-content: space-between; align-items: end; gap: 1rem; margin: .85rem 0 1rem; padding: .8rem 1rem; border: 1px solid #d5d6c4; border-radius: .5rem; background: rgba(251,250,243,.92); }
.catalogue-list-controls > div { display: grid; gap: .16rem; }
.catalogue-list-controls > div strong { color: #303a23; }
.catalogue-list-controls > div span { color: var(--muted); font-size: .82rem; }
.page-size-form { display: flex; align-items: end; gap: .6rem; flex-wrap: wrap; }
.page-size-form label { min-width: 170px; }
.page-size-form select { min-height: 2.45rem; }
.page-size-shortcuts, .pagination-view { display: inline-flex; align-items: center; gap: .34rem; flex-wrap: wrap; }
.page-size-shortcuts { margin-top: .42rem; }
.page-size-shortcuts > span, .pagination-view > span { color: #626b55; font-size: .75rem; font-weight: 700; }
.page-size-shortcuts a, .pagination-view a { min-width: 2.1rem; padding: .16rem .38rem; border: 1px solid #c6cba8; border-radius: .28rem; color: #485535; font-size: .75rem; font-weight: 750; text-align: center; text-decoration: none; }
.page-size-shortcuts a:hover, .page-size-shortcuts a:focus-visible, .pagination-view a:hover, .pagination-view a:focus-visible, .page-size-shortcuts a.is-active, .pagination-view a.is-active { border-color: #697846; background: #67763f; color: #fff; text-decoration: none; }
.selection-page-size-shortcuts { display: inline-flex; }
.pagination-view { margin-left: .35rem; }
.company-selection-bar .header-actions { flex-wrap: wrap; justify-content: flex-end; }
.company-selection-bar [data-selection-feedback] { display: inline-block; margin-top: .2rem; }
.selection-count-badge { background: #4a5630; }
.report-field-option { border-color: var(--line); background: #f9f8f1; }
.report-field-option:has(input:checked) { border-color: #909c64; background: #eff2e5; box-shadow: inset 3px 0 0 #68763f; }
.report-submit-bar { border-color: #74814f; background: rgba(41,48,29,.96); }
.report-submit-bar .button-primary { background: #aeb565; color: #273018; }
.report-submit-bar .button-primary:hover { background: #c4ca79; }

.assistant-history nav a:hover, .assistant-history nav a.is-active { background: #e5eadb; }
.assistant-mark { background: linear-gradient(145deg, #354025, #697542); box-shadow: 0 10px 26px rgba(43,53,27,.2); }
.assistant-examples button, .assistant-company-card { background: #f8f7f0; color: #43502d; }
.assistant-examples button:hover { border-color: #a2aa78; background: #edf0e1; }
.assistant-avatar { background: #dde4cd; color: #334021; }
.assistant-message-user .assistant-avatar { background: #465331; }
.assistant-message-user > div:last-child { background: #e8ecdc; }
.assistant-potential { background: #e3ead4; color: #44532b; }
.assistant-contact { border-left-color: #718b58; background: #eef4e8; }
.assistant-composer { border-top-color: var(--line); background: rgba(251,250,244,.97); }

/* Szybki dostęp do rozmowy z danymi bezpośrednio z dashboardu. */
.assistant-launcher {
    display: grid;
    grid-template-columns: minmax(260px, .88fr) minmax(390px, 1.45fr);
    gap: 1.25rem;
    align-items: center;
    margin: 1.25rem 0;
    padding: clamp(1rem, 2.1vw, 1.4rem);
    border: 1px solid #a4ab77;
    border-radius: .55rem;
    background: linear-gradient(112deg, #ecebdc, #f9f8f0 70%);
    box-shadow: 0 7px 20px rgba(46, 53, 32, .06);
}
.assistant-launcher-copy { display: flex; align-items: center; gap: .85rem; }
.assistant-launcher-mark { display: grid; flex: 0 0 auto; width: 3rem; height: 3rem; place-items: center; border: 1px solid #808b55; border-radius: .42rem; background: linear-gradient(145deg, #354025, #687447); color: #fffde8; font-size: .72rem; font-weight: 900; letter-spacing: .08em; box-shadow: 0 6px 15px rgba(49, 60, 32, .18); }
.assistant-launcher-copy .eyebrow { margin: 0 0 .18rem; }
.assistant-launcher h2 { margin: 0; color: #2e3920; font-size: 1.18rem; }
.assistant-launcher-copy p:not(.eyebrow) { margin: .25rem 0 0; color: #59614d; font-size: .84rem; line-height: 1.45; }
.assistant-launcher-form { display: grid; gap: .38rem; }
.assistant-launcher-form > label { color: #4e583b; font-size: .75rem; font-weight: 750; }
.assistant-launcher-entry { display: flex; gap: .55rem; }
.assistant-launcher-entry input { min-width: 0; width: 100%; min-height: 2.62rem; }
.assistant-launcher-entry .button { flex: 0 0 auto; white-space: nowrap; }
.assistant-launcher-footer { display: flex; justify-content: space-between; gap: .75rem; color: #68705c; font-size: .72rem; }
.assistant-launcher-footer a { color: #4c5c30; font-weight: 750; white-space: nowrap; }

/* Centrum kontaktu: przygotowanie wiadomości pozostaje pod kontrolą użytkownika. */
.outreach-queue-intro { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 1.2rem 0; }
.outreach-queue-intro h2 { margin: 0; color: #2e3920; font-size: 1.08rem; }
.outreach-queue-intro p { max-width: 780px; margin: .35rem 0 0; color: #59614d; }
.outreach-queue-count { display: grid; flex: 0 0 auto; min-width: 7.5rem; padding: .7rem .9rem; border: 1px solid #b3ba87; border-radius: .42rem; background: #eff1e2; text-align: center; }
.outreach-queue-count strong { color: #354025; font-size: 1.45rem; }.outreach-queue-count span { color: #5c6746; font-size: .74rem; }
.outreach-recipient-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:1rem; margin:1.2rem 0; }.outreach-recipient-card { display:grid; align-content:start; gap:.9rem; }.outreach-recipient-card .panel-header { align-items:flex-start; }.outreach-recipient-card .outreach-queue-count { min-width:6.5rem; }.outreach-bcc-copy { display:grid; gap:.38rem; color:#4b5735; font-size:.78rem; font-weight:750; }.outreach-bcc-copy textarea { min-height:7.2rem; resize:vertical; font-size:.75rem; line-height:1.45; }.recipient-export-details summary { cursor:pointer; color:#4a5b34; font-size:.8rem; font-weight:800; }.outreach-export-steps { margin-top:1.1rem; }.outreach-export-steps ol { margin:.6rem 0 0; padding-left:1.35rem; }.outreach-export-steps li { margin:.38rem 0; line-height:1.45; }
.outreach-campaign-create,.outreach-campaign-summary{margin:1rem 0}.outreach-campaign-form{max-width:760px}.outreach-campaign-metrics{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .85rem;margin:.8rem 0;color:#5d684e;font-size:.8rem}.outreach-campaign-metrics span{padding:.38rem .52rem;border:1px solid #d1d8b8;border-radius:.35rem;background:#fbfcf6}.outreach-campaign-metrics strong{color:#354724;font-size:1rem}.outreach-campaign-summary .header-actions{margin-top:.8rem}.outreach-campaign-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:1rem 0}.outreach-campaign-actions form{display:grid;align-content:start;gap:.48rem;padding:.8rem;border:1px solid #ccd4b3;border-radius:.5rem;background:#fffef9}.outreach-campaign-actions label:not(.check){display:grid;gap:.28rem;color:#566147;font-size:.76rem;font-weight:750}.outreach-campaign-actions input:not([type="checkbox"]){width:100%}.outreach-campaign-actions .check{font-size:.75rem;line-height:1.35}.outreach-campaign-detail{margin:1rem 0}
@media (max-width:900px){.outreach-campaign-actions{grid-template-columns:1fr}}@media (max-width:680px){.outreach-recipient-grid{grid-template-columns:1fr}.outreach-campaign-metrics{align-items:stretch}.outreach-campaign-metrics span{width:100%}}
@media (max-width: 760px) { .outreach-recipient-grid { grid-template-columns:1fr; }.outreach-recipient-card .panel-header { display:grid; grid-template-columns:1fr; gap:.65rem; }.outreach-recipient-card .outreach-queue-count { justify-self:start; } }
.outreach-queue-controls { display: grid; grid-template-columns: minmax(260px, 1fr) minmax(190px, .65fr) auto; gap: 1rem; align-items: end; margin: 1.2rem 0 .85rem; }
.outreach-language-split { grid-column:1 / -1; align-items:flex-start; padding:.64rem .72rem; border:1px solid #bdc99b; border-radius:.45rem; background:#f1f5e6; color:#4a5835!important; font-size:.76rem!important; line-height:1.42; }.outreach-language-split strong { color:#3c4c27; }.outreach-english-preview summary { cursor:pointer; color:#4a5b34; font-size:.8rem; font-weight:800; }
.outreach-queue-controls label { display: grid; gap: .35rem; color: #4b5735; font-size: .79rem; font-weight: 750; }
.outreach-queue-controls select { width: 100%; }.outreach-queue-action { display: grid; gap: .2rem; padding-bottom: .2rem; }.outreach-queue-action span { color: #68705c; font-size: .75rem; }
.outreach-prepared-history { margin-top: 1.3rem; }
.outreach-ai-draft{margin:1rem 0;border-color:#b7c58b;background:linear-gradient(135deg,#f7f9ec,#fffef9)}.outreach-ai-draft-heading{align-items:flex-start}.outreach-ai-draft-heading h2{margin:.08rem 0 .26rem;color:#354526}.outreach-ai-draft-heading p:not(.eyebrow){max-width:58rem;margin:0;color:#63705a;font-size:.8rem;line-height:1.45}.outreach-ai-draft-heading .assistant-security-badge{margin-left:auto}.outreach-ai-draft-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.72rem;margin-top:.85rem}.outreach-ai-draft-form label{min-width:0}.outreach-ai-draft-context,.outreach-ai-draft-actions{grid-column:1 / -1}.outreach-ai-draft-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem}.outreach-ai-draft-actions span,.outreach-ai-draft-use span{color:#68745d;font-size:.73rem;line-height:1.42}.outreach-ai-draft-result{margin-top:1rem;padding-top:1rem;border-top:1px solid #d7dfc4}.outreach-ai-draft-result .alert{margin-bottom:.75rem}.outreach-ai-draft-output{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.72rem}.outreach-ai-draft-output label:nth-child(2),.outreach-ai-draft-output label:nth-child(4){grid-column:span 2}.outreach-ai-draft-output textarea{min-height:11rem;resize:vertical}.outreach-ai-draft-use{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;margin-top:.75rem}.outreach-custom-template{margin:.8rem 0}.outreach-custom-template summary{cursor:pointer;color:#40532c;font-size:.82rem;font-weight:800}.outreach-custom-template[open]{padding:.78rem;border:1px solid #cfd9b6;border-radius:.5rem;background:#fafcf4}.outreach-custom-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-top:.75rem}.outreach-custom-template-grid label:nth-child(2),.outreach-custom-template-grid label:nth-child(4){grid-column:span 2}.outreach-custom-template-grid textarea{min-height:8rem;resize:vertical}
.outreach-campaign-delete-actions{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.75rem .95rem;border-bottom:1px solid #d8dfcc;background:#fbfcf7}.outreach-campaign-delete-actions p{margin:0;color:#68745d;font-size:.78rem;line-height:1.4}.table-actions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.button-danger{background:#8b3028;border-color:#8b3028;color:#fff}.button-danger:hover,.button-danger:focus-visible{background:#6e251f;border-color:#6e251f;color:#fff}
@media (max-width:760px){.outreach-ai-draft-heading .assistant-security-badge{margin-left:0}.outreach-ai-draft-form,.outreach-ai-draft-output,.outreach-custom-template-grid{grid-template-columns:1fr}.outreach-ai-draft-output label:nth-child(2),.outreach-ai-draft-output label:nth-child(4),.outreach-custom-template-grid label:nth-child(2),.outreach-custom-template-grid label:nth-child(4){grid-column:auto}.outreach-ai-draft-actions .button,.outreach-ai-draft-use .button{width:100%}}

/* Widoczny radar przetargów na dashboardzie. */
.tender-command-card {
    margin: 1.25rem 0;
    padding: clamp(1rem, 2.1vw, 1.45rem);
    border: 1px solid #788250;
    border-radius: .55rem;
    background: linear-gradient(128deg, #323d25, #4f5b35 58%, #687447);
    color: #fbf8e9;
    box-shadow: 0 10px 26px rgba(44, 53, 28, .17);
}
.tender-command-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1.25rem; }
.tender-command-heading .eyebrow { margin-bottom: .24rem; color: #d7d88f; }
.tender-command-heading h2 { margin: 0; color: #fffdf0; }
.tender-command-heading p:not(.eyebrow) { max-width: 800px; margin: .42rem 0 0; color: #e1e4ca; }
.tender-command-heading .button-primary { flex: 0 0 auto; background: #d7d88f; color: #313b20; box-shadow: none; }
.tender-command-heading .button-primary:hover { background: #f0edb4; }
.tender-command-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .7rem; margin-top: 1.15rem; }
.tender-command-metrics a { display: block; min-height: 5.5rem; padding: .78rem .85rem; border: 1px solid rgba(239, 239, 192, .26); border-radius: .36rem; background: rgba(18, 27, 14, .25); color: #fffdf0; text-decoration: none; }
.tender-command-metrics a:hover { border-color: #e9e99d; background: rgba(22, 33, 15, .43); }
.tender-command-metrics .tender-komaz-profile, .metric-card.tender-komaz-profile { border-color: #c9cf7b; background: linear-gradient(135deg, rgba(111, 122, 52, .48), rgba(21, 35, 16, .45)); }
.metric-card.tender-komaz-profile::before { width: 5px; background: #aeb94f; }
.metric-card.tender-komaz-profile small { color: #63713a; font-weight: 700; }
.tender-command-metrics span { display: block; color: #e4e5bd; font-size: .75rem; }
.tender-command-metrics strong { display: block; margin-top: .2rem; font-size: 1.75rem; letter-spacing: -.025em; }
.tender-source-warning { margin: .9rem 0 0; color: #fff1ba; font-size: .86rem; }
.tender-source-warning a { color: inherit; font-weight: 700; }
.tender-dashboard-panel { margin: 1.4rem 0; }
.tender-dashboard-list { display: grid; }
.tender-dashboard-item { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .84rem 0; border-bottom: 1px solid #dfddce; color: inherit; text-decoration: none; }
.tender-dashboard-item:last-child { border-bottom: 0; padding-bottom: 0; }
.tender-dashboard-item:hover .tender-dashboard-main strong { color: #536330; text-decoration: underline; }
.tender-dashboard-main { min-width: 0; }
.tender-dashboard-main strong { display: block; color: #28301f; }
.tender-dashboard-main span { display: block; margin-top: .28rem; color: #687061; font-size: .83rem; }
.tender-dashboard-tags { display: flex; flex: 0 0 auto; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: .34rem; max-width: 50%; }
.tender-deadline, .tender-source-name { padding: .24rem .42rem; border: 1px solid #ccd0b2; border-radius: .25rem; background: #f6f6ed; color: #4c5837; font-size: .72rem; font-weight: 700; }
.tender-source-name { color: #6b6a52; font-weight: 600; }

/* KOMAZ opportunity alerts: evidence-based and visually separate from broad tender signals. */
.tender-komaz-alert { border-color: #c49b3b !important; background: linear-gradient(135deg, #fff4cd, #fffdf1) !important; color: #4c3a19 !important; box-shadow: 0 5px 15px rgba(103,78,23,.1); }
.tender-komaz-alert::before { width: 5px; background: #ae7921; }.tender-komaz-alert span, .tender-komaz-alert small { color: #76603a !important; }.tender-komaz-alert strong { color: #513e1b !important; }
.tender-command-metrics .tender-komaz-alert { border-color: #eed088 !important; background: linear-gradient(135deg, rgba(169,119,28,.58), rgba(68,69,27,.54)) !important; color: #fffce8 !important; }.tender-command-metrics .tender-komaz-alert span, .tender-command-metrics .tender-komaz-alert small { color: #fff0b4 !important; }.tender-command-metrics .tender-komaz-alert strong { color: #fffdf0 !important; }
.komaz-alert-dashboard { border-color: #d5b96b; background: linear-gradient(110deg,#fffdf6,#fff7df); }.komaz-alert-dashboard .panel-header { border-color: #e5d9b6; }.komaz-alert-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,28rem),1fr)); gap:.8rem; }.komaz-alert-card { display:grid; align-content:start; gap:.7rem; padding:1rem; border:1px solid #d9d5c3; border-left:5px solid #b4892a; border-radius:.55rem; background:#fffefa; box-shadow:0 4px 13px rgba(62,57,32,.06); }.komaz-alert-card.is-qualified { border-left-color:#53733e; }.komaz-alert-card.is-review { border-left-color:#b4892a; }.komaz-alert-card-heading,.komaz-alert-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.42rem; justify-content:space-between; }.komaz-alert-card h3 { margin:0; color:#394425; font-size:1rem; line-height:1.35; }.komaz-alert-card h3 a,.komaz-alert-company a { color:inherit; text-decoration:none; }.komaz-alert-card h3 a:hover,.komaz-alert-company a:hover { color:#687841; text-decoration:underline; }.komaz-alert-card > p:not(.komaz-alert-company) { margin:0; color:#5d624f; font-size:.8rem; line-height:1.48; }.komaz-alert-company { margin:0; color:#586544; font-size:.79rem; font-weight:800; }.komaz-alert-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; margin:0; }.komaz-alert-facts div { min-width:0; padding:.52rem .58rem; border:1px solid #dfdccb; border-radius:.38rem; background:#fafaf1; }.komaz-alert-facts dt { color:#6a735b; font-size:.66rem; font-weight:850; text-transform:uppercase; }.komaz-alert-facts dd { margin:.16rem 0 0; color:#49553b; font-size:.73rem; font-weight:700; line-height:1.35; overflow-wrap:anywhere; }.komaz-alert-actions { justify-content:flex-start; padding-top:.65rem; border-top:1px solid #e2dfce; }.komaz-alert-actions form { margin:0; }.komaz-alert-actions .button { min-height:2rem; padding:.34rem .5rem; font-size:.71rem; }

/* The industry-watch counters use divs rather than links.  Give them the
   same explicit card layout as the other dashboard metrics, otherwise the
   label, number and description remain inline and collide in a narrow pane. */
.tender-industry-watch-panel,
.tender-komaz-alert-panel { container-type: inline-size; }
.tender-watch-metrics { grid-template-columns: repeat(auto-fit, minmax(min(100%, 10.5rem), 1fr)); }
.tender-watch-metrics > div { position:relative; display:grid; align-content:start; gap:.28rem; min-width:0; min-height:5.7rem; padding:.76rem .82rem .72rem .94rem; overflow:hidden; border:1px solid #bec8a1; border-radius:.45rem; background:rgba(255,255,249,.8); }
.tender-watch-metrics > div::before { position:absolute; top:.58rem; bottom:.58rem; left:0; width:3px; border-radius:0 3px 3px 0; background:#758b47; content:""; }
.tender-watch-metrics > div:nth-child(2)::before { background:#849a54; }.tender-watch-metrics > div:nth-child(3)::before { background:#a88331; }.tender-watch-metrics > div:nth-child(4)::before { background:#627d5f; }
.tender-watch-metrics span,
.tender-watch-metrics strong,
.tender-watch-metrics small { display:block; min-width:0; overflow-wrap:anywhere; }
.tender-watch-metrics span { color:#657055; font-size:.7rem; font-weight:800; line-height:1.28; }.tender-watch-metrics strong { color:#344224; font-size:clamp(1.45rem, 4cqi, 1.8rem); font-variant-numeric:tabular-nums; line-height:1.05; }.tender-watch-metrics small { color:#68735b; font-size:.72rem; line-height:1.34; }
@container (max-width: 43rem) {
    .tender-industry-watch-panel .panel-header,
    .tender-komaz-alert-panel .panel-header { align-items:stretch; flex-direction:column; }
    .tender-industry-watch-panel .header-actions,
    .tender-komaz-alert-panel .panel-header > .button { width:100%; }
    .tender-industry-watch-panel .header-actions .button,
    .tender-komaz-alert-panel .panel-header > .button { flex:1 1 11rem; text-align:center; }
}
@container (max-width: 28rem) { .tender-watch-metrics { grid-template-columns:1fr; } }

@media (max-width: 1040px) {
    .app-shell { grid-template-columns: 230px minmax(0, 1fr); }
    .brand-copy small { display: none; }
    .assistant-launcher { grid-template-columns: 1fr; gap: .9rem; }
    .outreach-queue-controls { grid-template-columns: 1fr 1fr; }.outreach-queue-controls .button { grid-column: 1 / -1; }
    .tender-command-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    .sidebar { padding: .8rem; }
    .brand { margin-bottom: .75rem; }
    .sidebar nav { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .25rem; }
    .nav-section-title { grid-column: 1 / -1; margin: .65rem .18rem .05rem; }
    .sidebar nav a { min-height: 2.2rem; font-size: .76rem; }
    .page-header { margin-bottom: 1rem; }
    .page-history { justify-content: space-between; margin-bottom: .5rem; }
    .page-history-button { min-height: 2.2rem; }
    .assistant-launcher-copy { align-items: flex-start; }
    .assistant-launcher-entry { flex-direction: column; }
    .assistant-launcher-entry .button { width: 100%; }
    .assistant-launcher-footer { align-items: flex-start; flex-direction: column; }
    .outreach-queue-intro { align-items: flex-start; flex-direction: column; }.outreach-queue-count { width: 100%; }.outreach-queue-controls { grid-template-columns: 1fr; }.outreach-queue-controls .button { grid-column: auto; width: 100%; }
    .tender-command-heading, .tender-dashboard-item { align-items: stretch; flex-direction: column; }
    .tender-command-heading .button-primary { text-align: center; }
    .tender-command-metrics { grid-template-columns: 1fr 1fr; gap: .48rem; }
    .tender-dashboard-tags { justify-content: flex-start; max-width: none; }
    .komaz-alert-facts { grid-template-columns: 1fr; }
}

/* Interactive company map: city-level points with a paired company card. */
.map-notice { margin: 0 0 1rem; padding: .8rem 1rem; border: 1px solid #b8c29b; border-left: 4px solid #6b7a47; border-radius: .5rem; background: #f3f5e9; color: #4c5734; font-size: .86rem; line-height: 1.45; }
.map-filter-panel { display: grid; grid-template-columns: minmax(220px, 2fr) repeat(4, minmax(140px, 1fr)); gap: .7rem; align-items: end; margin-bottom: 1rem; padding: 1rem; border: 1px solid var(--line); border-radius: .65rem; background: #fffdf7; box-shadow: 0 1px 2px rgba(49,60,32,.05); }
.map-filter-check { display: flex !important; min-height: 2.55rem; align-items: center; gap: .45rem; padding: 0 .15rem; color: #48543a; font-size: .82rem; font-weight: 700; }
.map-filter-check input { width: auto; }
.map-filter-panel-radius { grid-template-columns: minmax(220px,1.7fr) repeat(4,minmax(145px,1fr)); }
.map-filter-panel-radius .map-radius-feedback { grid-column: span 2; align-self: end; margin: 0; padding: .58rem .68rem; border-left: 3px solid #71804a; border-radius: .24rem; background: #f0f3e5; color: #50603a; font-size: .76rem; line-height: 1.4; }
.map-marker-legend { display:flex; flex-wrap:wrap; gap:.35rem .75rem; margin-top:.6rem; color:#5e6850; font-size:.72rem; }.map-marker-legend span { display:inline-flex; align-items:center; gap:.28rem; }.map-marker-sample { display:inline-block; width:.72rem; height:.72rem; border:2px solid #59663a; border-radius:50%; background:#a6af69; }.map-marker-sample-mspo { border-color:#7a4d0a; background:#d3a12e; }.map-marker-sample-exact { border-color:#315d46; background:#76ad82; }.badge-mspo,.map-list-mspo { display:inline-flex; align-items:center; margin-left:.42rem; padding:.12rem .35rem; border:1px solid #ac7820; border-radius:999px; background:#faedbf; color:#684709; font-size:.64rem; font-style:normal; font-weight:850; letter-spacing:.025em; vertical-align:middle; }.map-popup-list button.is-mspo { border-left:3px solid #b17a13; background:#fff8df; }

.map-marker-sample-competitor { border-color:#923f31; background:#d57a63; }

/* Certification and compliance register: source-backed, never automatic proof. */
.compliance-disclaimer { margin:0 0 1rem; }.status-required { border-color:#9a3831; background:#f8ded9; color:#7d2823; }.status-recommended { border-color:#728344; background:#eaf0d8; color:#405323; }.status-conditional { border-color:#a67b24; background:#fff0ca; color:#694808; }.status-not_required,.status-not_applicable { border-color:#9ba193; background:#eff0eb; color:#60675b; }.status-verified { border-color:#4d8057; background:#dff1e2; color:#2c6038; }.status-declared,.status-needs_review { border-color:#9a7d31; background:#fff3d5; color:#6f5512; }.status-expired,.status-not_held { border-color:#a34a41; background:#fae2df; color:#7c332c; }
.company-address { max-width: 22rem; overflow: hidden; color: #4e5b3c; text-overflow: ellipsis; white-space: nowrap; }.company-address.is-missing { color: #8a8065; font-style: italic; }
.company-map-workspace { display: grid; grid-template-columns: minmax(0, 1fr) minmax(330px, 1fr); gap: 1rem; align-items: stretch; }
.map-canvas-panel, .map-detail-panel { min-width: 0; border: 1px solid var(--line); border-radius: .7rem; background: #fffdf8; box-shadow: 0 5px 16px rgba(49,60,32,.07); overflow: hidden; }
.map-canvas-heading { display: flex; justify-content: space-between; gap: .75rem; align-items: flex-start; padding: .95rem 1rem; border-bottom: 1px solid var(--line); }
.map-canvas-heading h2, .map-canvas-heading h3 { margin: 0; color: #354025; font-size: 1rem; }
.map-canvas-heading h3 { font-size: .86rem; }
.map-canvas-heading p, .map-canvas-heading span { margin: .2rem 0 0; color: #68715a; font-size: .76rem; }
.company-map { width: 100%; min-height: 620px; background: #edf0e2; }
.map-attribution-note { margin: 0; padding: .6rem 1rem; color: #69735c; font-size: .71rem; }
.map-detail-panel { display: grid; grid-template-rows: minmax(0, 1fr) minmax(210px, 38%); }
.company-map-detail { min-height: 360px; padding: 1.2rem; overflow-y: auto; }
.company-map-detail h2 { margin: .25rem 0 .65rem; color: #303b23; font-size: 1.3rem; line-height: 1.25; }
.company-map-detail > p:not(.eyebrow):not(.map-detail-description):not(.map-detail-source) { color: #627056; line-height: 1.55; }
.map-detail-facts { margin: .8rem 0; }
.map-detail-facts div { grid-template-columns: minmax(94px, 32%) 1fr; }
.map-detail-description { max-height: 11rem; margin: .9rem 0; overflow-y: auto; color: #46503a; line-height: 1.52; white-space: pre-line; }
.map-detail-source { margin: .8rem 0; color: #68715b; font-size: .76rem; }
.company-map-detail .header-actions a { display: inline-flex; align-items: center; min-height: 2.35rem; padding: .45rem .65rem; border: 1px solid #909d68; border-radius: .4rem; color: #45532d; font-size: .78rem; font-weight: 750; }
.map-company-list-wrap { min-height: 0; border-top: 1px solid var(--line); }
.map-company-list { display: grid; max-height: 315px; overflow-y: auto; }
.map-company-list-item { display: grid; gap: .15rem; width: 100%; padding: .65rem 1rem; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: #394429; cursor: pointer; font: inherit; text-align: left; }
.map-company-list-item strong { font-size: .82rem; }.map-company-list-item span { color: #6c755e; font-size: .73rem; }
.map-company-list-item:hover, .map-company-list-item.is-active { background: #edf1df; }.map-company-list-item.is-active { box-shadow: inset 3px 0 0 #7b8952; }
.map-popup-list { display: grid; gap: .35rem; max-height: 280px; overflow-y: auto; }.map-popup-list strong { color: #3f4c2b; }.map-popup-list button { padding: .38rem .45rem; border: 1px solid #c4cda8; border-radius: .3rem; background: #fafbf5; color: #46552e; cursor: pointer; font: inherit; font-size: .76rem; text-align: left; }.map-popup-list button:hover { background: #e9eed8; }.map-popup-list small { color: #68715a; font-size: .7rem; }
@media (max-width: 1220px) { .map-filter-panel { grid-template-columns: repeat(3, minmax(160px, 1fr)); }.map-filter-panel-radius .map-radius-feedback { grid-column: 1 / -1; }.company-map-workspace { grid-template-columns: 1fr; }.map-detail-panel { grid-template-rows: auto minmax(220px, 300px); }.company-map-detail { min-height: 0; }.company-map { min-height: 500px; } }
@media (max-width: 760px) { .map-filter-panel { grid-template-columns: 1fr; }.map-filter-panel-radius .map-radius-feedback { grid-column: auto; }.company-map { min-height: 420px; }.map-canvas-heading { align-items: flex-start; flex-direction: column; }.map-detail-panel { grid-template-rows: auto minmax(220px, 280px); } }

/* Data quality: source-first enrichment, deliberately separate from company records. */
.data-quality-policy { display:flex; gap:.85rem; align-items:flex-start; margin:1rem 0; padding:.85rem 1rem; border:1px solid #b7c292; border-left:4px solid #687743; border-radius:.55rem; background:linear-gradient(105deg,#edf1e0,#fbfaf4); color:#4d583a; }
.data-quality-policy > span { display:grid; flex:0 0 auto; width:1.65rem; height:1.65rem; place-items:center; border-radius:50%; background:#667740; color:#fffdf1; font-weight:900; }.data-quality-policy strong{color:#344124}.data-quality-policy p{margin:.2rem 0 0;line-height:1.45;font-size:.84rem}
.data-quality-metrics { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.7rem; margin:1rem 0; }.data-quality-metrics a,.data-quality-dashboard-metrics a { display:grid; gap:.2rem; min-height:5.8rem; padding:.78rem .86rem; border:1px solid #cbd1b1; border-radius:.48rem; background:#fffdf8; color:#536049; text-decoration:none; box-shadow:0 4px 13px rgba(48,60,31,.04); }.data-quality-metrics a:hover,.data-quality-metrics a.is-active,.data-quality-dashboard-metrics a:hover{border-color:#85925b;background:#eff2e4}.data-quality-metrics span,.data-quality-dashboard-metrics span{font-size:.72rem;font-weight:750}.data-quality-metrics strong,.data-quality-dashboard-metrics strong{color:#344124;font-size:1.45rem}.data-quality-metrics small,.data-quality-dashboard-metrics small{color:#6a735f;font-size:.72rem;line-height:1.3}
.data-quality-queue-heading,.data-quality-candidates-heading { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; }.data-quality-queue-heading h2,.data-quality-candidates-heading h2{margin:0;color:#354124;font-size:1.1rem}.data-quality-queue-heading p,.data-quality-candidates-heading p{max-width:800px;margin:.3rem 0 0;color:#68715d;font-size:.84rem;line-height:1.45}.data-quality-filter-form label{display:grid;gap:.3rem;min-width:220px;font-size:.76rem;font-weight:750}.data-quality-filter-form select{width:100%}
.data-quality-table td{vertical-align:top}.data-quality-table td>strong{display:block;color:#3d4c29}.data-quality-table td small,.data-quality-table td>a+small{display:block;margin-top:.25rem;color:#6d7562;font-size:.74rem}.data-quality-url{display:inline-block;margin-top:.3rem;font-size:.76rem}.data-quality-pending-count{color:#5f7139!important;font-weight:750}.button-small{min-height:2.1rem;padding:.38rem .58rem;font-size:.76rem}.data-quality-pagination{display:flex;justify-content:center;align-items:center;gap:.7rem;margin:1rem 0 0;color:#65705a;font-size:.8rem}
.data-quality-status-tabs{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem}.data-quality-status-tabs a{padding:.36rem .55rem;border:1px solid #c1c8a4;border-radius:.32rem;color:#53603b;font-size:.75rem;font-weight:750;text-decoration:none}.data-quality-status-tabs a:hover,.data-quality-status-tabs a.is-active{border-color:#677640;background:#64733d;color:#fffef2}.data-quality-candidates-tools{display:grid;justify-items:end;gap:.65rem}.data-quality-bulk-review{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.45rem;padding:.55rem .65rem;border:1px solid #cbd1b1;border-radius:.45rem;background:#f7f8ef;color:#4e5c3a;font-size:.75rem}.data-quality-bulk-review [data-bulk-count]{min-width:6.8rem;font-weight:750}.data-quality-candidate{position:relative}.data-quality-candidate-select{display:flex;align-items:center;gap:.32rem;grid-column:1/-1;justify-self:start;margin:0;color:#52603e;font-size:.75rem;font-weight:750;cursor:pointer}.data-quality-empty-candidates{padding:1.2rem;color:#59654a}.data-quality-empty-candidates strong{color:#354124}.data-quality-empty-candidates p{margin:.35rem 0 0}.data-quality-empty-candidates code{font-size:.76rem;word-break:break-all}
.data-quality-candidate-list{display:grid}.data-quality-candidate{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;padding:1rem 0;border-bottom:1px solid #dedfce}.data-quality-candidate:last-child{border-bottom:0}.data-quality-candidate-title{display:flex;align-items:center;flex-wrap:wrap;gap:.42rem}.data-quality-candidate-title a{color:#384727;text-decoration:none}.data-quality-candidate-title a:hover{text-decoration:underline}.data-quality-proposal{margin:.55rem 0;color:#424c3b;line-height:1.52;white-space:pre-line}.data-quality-translation{margin:.6rem 0;padding:.7rem .78rem;border:1px solid #b9c89d;border-left:4px solid #698044;border-radius:.38rem;background:#f2f6e9;color:#3f4d31}.data-quality-translation strong{font-size:.8rem}.data-quality-translation p{margin:.36rem 0;line-height:1.52;white-space:pre-line}.data-quality-translation small,.data-quality-translation-action small{display:block;color:#667257;font-size:.72rem;line-height:1.4}.data-quality-translation-action{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin:.55rem 0}.data-quality-current{margin:.45rem 0;color:#68705e;font-size:.8rem;line-height:1.42}.data-quality-evidence{display:flex;gap:.25rem .55rem;flex-wrap:wrap;margin:.5rem 0 0;color:#69705d;font-size:.75rem;line-height:1.42}.data-quality-evidence a{font-weight:750}.data-quality-candidate-actions{display:flex;align-items:flex-start}.data-quality-candidate-actions form{display:flex;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}.data-quality-runs{margin-top:1rem}.data-quality-runs td small{display:block;margin-top:.22rem;color:#6b735e;font-size:.73rem}
.data-quality-dashboard{display:grid;grid-template-columns:minmax(250px,1fr) minmax(390px,1.12fr) auto;gap:1rem;align-items:center;margin:1.25rem 0;padding:1rem 1.15rem;border:1px solid #b4bc8e;border-radius:.58rem;background:linear-gradient(112deg,#eef0df,#fbfaf3 74%);box-shadow:0 6px 17px rgba(47,56,29,.05)}.data-quality-dashboard h2{margin:.15rem 0;color:#344124;font-size:1.1rem}.data-quality-dashboard p:not(.eyebrow){margin:.3rem 0 0;color:#5d674f;font-size:.82rem;line-height:1.44}.data-quality-dashboard-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.data-quality-dashboard-metrics a{min-height:4.7rem;padding:.63rem .68rem}.data-quality-dashboard .button{white-space:nowrap}
@media (max-width:1180px){.data-quality-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.data-quality-dashboard{grid-template-columns:1fr}.data-quality-dashboard-metrics{max-width:760px}.data-quality-dashboard .button{justify-self:start}}
@media (max-width:760px){.data-quality-metrics{grid-template-columns:1fr 1fr}.data-quality-queue-heading,.data-quality-candidates-heading{flex-direction:column}.data-quality-filter-form{width:100%}.data-quality-filter-form label{min-width:0}.data-quality-status-tabs,.data-quality-candidates-tools{justify-content:flex-start;justify-items:start}.data-quality-bulk-review{justify-content:flex-start}.data-quality-candidate{grid-template-columns:1fr}.data-quality-candidate-actions form{justify-content:flex-start}.data-quality-dashboard-metrics{grid-template-columns:1fr}.data-quality-dashboard .button{width:100%;text-align:center}.data-quality-table{min-width:720px}}
/* Event floor plans: every marker retains source and geometric confidence. */
.floorplan-notice { margin: 0 0 1rem; padding: .84rem 1rem; border: 1px solid #b7c092; border-left: 4px solid #6c7c43; border-radius: .5rem; background: linear-gradient(105deg,#eef1df,#fbfaf3); color: #4b5738; font-size: .84rem; line-height: 1.48; }.floorplan-notice strong { color: #344124; }.floorplan-empty { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }.floorplan-empty h2 { margin-top: 0; }.floorplan-empty p { max-width: 940px; color: #59644f; line-height: 1.52; }
.floorplan-summary { display: grid; grid-template-columns: repeat(auto-fit,minmax(175px,1fr)); gap: .7rem; margin: 1rem 0; }.floorplan-summary > div { display: grid; min-height: 5.4rem; align-content: start; gap: .35rem; padding: .76rem .85rem; border: 1px solid #cbd1b1; border-radius: .48rem; background: rgba(255,255,250,.78); box-shadow: 0 4px 13px rgba(48,60,31,.04); }.floorplan-summary span { color: #66705b; font-size: .7rem; font-weight: 750; }.floorplan-summary strong { color: #354224; font-size: .92rem; line-height: 1.3; }.floorplan-summary strong.status { width: fit-content; font-size: .7rem; }.floorplan-summary small{color:#777e6a;font-size:.65rem;line-height:1.3}
.floorplan-toolbar { display:grid; grid-template-columns:minmax(230px,1.15fr) minmax(170px,.55fr) auto; gap:.65rem 1rem; align-items:end; margin:1rem 0; padding:.85rem 1rem; border:1px solid #bfc7a0; border-radius:.55rem; background:#fbfaf4; box-shadow:0 5px 16px rgba(45,55,31,.05); }.floorplan-toolbar label{display:grid;gap:.3rem;color:#4a5738;font-size:.73rem;font-weight:800}.floorplan-toolbar input,.floorplan-toolbar select{width:100%;min-height:2.7rem}.floorplan-zoom-controls{display:flex;align-items:center;justify-content:flex-end;gap:.38rem}.floorplan-zoom-controls .button{min-height:2.7rem;padding:.48rem .65rem;white-space:nowrap}.floorplan-zoom-controls output{min-width:3.6rem;color:#42512f;font-size:.78rem;font-weight:850;text-align:center}.floorplan-search-status{grid-column:1/-1;margin:0;color:#66705b;font-size:.74rem;line-height:1.4}
.floorplan-workspace { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(310px,.65fr); min-height: 660px; margin: 1rem 0; border: 1px solid #c8ceb0; border-radius: .65rem; background: #fffef9; box-shadow: 0 7px 20px rgba(46,53,32,.07); overflow: hidden; }.floorplan-canvas-panel { min-width: 0; display: grid; grid-template-rows: auto minmax(460px,1fr) auto; border-right: 1px solid #d9ddc8; }.event-floorplan { position: relative; min-height: 460px; overflow:auto; overscroll-behavior:contain; touch-action:pan-x pan-y; background: radial-gradient(circle at 8% 12%,rgba(177,188,132,.28) 0 2px,transparent 3px), linear-gradient(90deg,rgba(98,112,65,.11) 1px,transparent 1px), linear-gradient(rgba(98,112,65,.11) 1px,transparent 1px), #eef0e2; background-size: 28px 28px,28px 28px,28px 28px,auto; isolation: isolate; }.event-floorplan-stage{position:relative;width:100%;height:100%;min-width:100%;min-height:460px;transform-origin:top left}.event-floorplan.has-official-image { background: #f6f5ed; }.event-floorplan-image { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: contain; opacity: .93; user-select:none; }.event-floorplan-grid { position: absolute; z-index: 1; inset: 0; pointer-events: none; background: linear-gradient(90deg,transparent 49.9%,rgba(74,88,46,.11) 50%,transparent 50.1%),linear-gradient(transparent 49.9%,rgba(74,88,46,.11) 50%,transparent 50.1%); }.event-floorplan-markers { position: absolute; z-index: 2; inset: 0; }.event-floorplan-marker { position: absolute; display: grid; min-width: 1.05rem; min-height: 1.05rem; place-items: center; margin: 0; padding: .08rem .16rem; transform: translate(-50%,-50%); overflow: hidden; border: 1px solid #4d6130; border-radius: 50%; background: rgba(241,244,207,.84); box-shadow: 0 1px 5px rgba(37,50,23,.2); color: #344523; cursor: pointer; font: 800 clamp(.45rem,.8vw,.7rem)/1.05 Arial,sans-serif; text-align: center; transition:opacity .16s ease,background .16s ease,outline .16s ease; }.event-floorplan-marker.has-exhibitors{z-index:3;border-width:2px;background:rgba(185,204,111,.94);box-shadow:0 1px 7px rgba(34,54,19,.42)}.event-floorplan-marker:hover,.event-floorplan-marker:focus-visible,.event-floorplan-marker.is-active { z-index: 5; border-color: #18270e; border-radius:.25rem; background: #d8e58e; outline: 3px solid rgba(102,126,52,.32); }.event-floorplan-marker.marker-manual_approximate { border-style: dashed; background: rgba(246,235,189,.94); }.event-floorplan-marker.marker-schematic { border-color: #77785e; background: rgba(228,230,213,.94); }.event-floorplan-marker.is-filtered-out{opacity:.035;pointer-events:none}.event-floorplan-marker span { max-width: 100%; overflow: hidden; opacity:0; text-overflow: ellipsis; white-space: nowrap; }.event-floorplan-marker:hover span,.event-floorplan-marker:focus-visible span,.event-floorplan-marker.is-active span,.event-floorplan[data-zoom="1.5"] .event-floorplan-marker span,.event-floorplan[data-zoom="2"] .event-floorplan-marker span,.event-floorplan[data-zoom="2.5"] .event-floorplan-marker span,.event-floorplan[data-zoom="3"] .event-floorplan-marker span{opacity:1}.event-floorplan[data-zoom]:not([data-zoom="1"]) .event-floorplan-marker{min-width:2rem;min-height:1.55rem;border-radius:.25rem}.event-floorplan-empty { position: absolute; z-index: 3; inset: 50% auto auto 50%; width: min(420px,86%); margin: 0; padding: .85rem 1rem; transform: translate(-50%,-50%); border: 1px dashed #9ba780; border-radius: .45rem; background: rgba(255,255,249,.9); color: #576248; line-height: 1.45; text-align: center; }.floorplan-source { display: flex; flex-wrap: wrap; gap: .65rem 1rem; padding: .7rem 1rem; border-top: 1px solid #d9ddc8; color: #6a735e; font-size: .72rem; }.floorplan-source a { color: #43572a; font-weight: 800; }
.floorplan-detail-panel { display: grid; grid-template-rows: minmax(0,1fr) minmax(200px,33%); min-width: 0; background: #fffef9; }.event-floorplan-detail { min-height: 330px; padding: 1rem 1.05rem; overflow-y: auto; }.event-floorplan-detail h2 { margin: .24rem 0 .65rem; color: #303c22; font-size: 1.2rem; line-height: 1.28; }.event-floorplan-detail > p:not(.eyebrow) { color: #616b56; font-size: .82rem; line-height: 1.5; }.event-floorplan-label { color: #4e5d35 !important; font-weight: 750; }.event-floorplan-note { padding: .6rem .7rem; border-left: 3px solid #a5ae74; background: #f2f3e7; }.event-floorplan-warning { padding: .65rem .72rem; border: 1px solid #e2c98e; border-radius: .35rem; background: #fff7e0; color: #70591f !important; }.event-floorplan-company { display: grid; gap: .52rem; margin-top: .85rem; padding-top: .85rem; border-top: 1px solid #dce0cc; }.event-floorplan-company h3 { margin: 0; font-size: .94rem; line-height: 1.3; }.event-floorplan-company h3 a { color: #355128; }.event-floorplan-company-meta { margin: -.2rem 0 0; color: #6c755e !important; font-size: .74rem !important; }.event-floorplan-company-description { display: -webkit-box; margin: 0 !important; overflow: hidden; color: #4b5547 !important; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }.event-floorplan-company .header-actions { gap: .35rem; }.event-floorplan-company .header-actions a { min-height: 2rem; padding: .34rem .5rem; border: 1px solid #a5af81; border-radius: .32rem; color: #43562b; font-size: .7rem; font-weight: 800; }.event-floorplan-source-link { margin: .8rem 0 0; color: #6b745d !important; font-size: .72rem !important; }.floorplan-stand-list { display: grid; max-height: 280px; overflow-y: auto; border-top: 1px solid #d9ddc8; }.floorplan-stand-list button { display: grid; gap: .16rem; width: 100%; padding: .63rem .85rem; border: 0; border-bottom: 1px solid #e0e3d3; background: transparent; color: #3b4b29; cursor: pointer; font: inherit; text-align: left; }.floorplan-stand-list button:hover,.floorplan-stand-list button.is-active { background: #eef1de; box-shadow: inset 3px 0 0 #788750; }.floorplan-stand-list strong { font-size: .78rem; }.floorplan-stand-list span { overflow: hidden; color: #68725a; font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }.floorplan-version-history{margin:1rem 0}.floorplan-version-history>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer}.floorplan-version-history>summary span:first-child{display:grid;gap:.2rem}.floorplan-version-history>summary small{color:#6c755f;font-weight:500}.floorplan-version-list{display:grid;margin-top:.85rem;border-top:1px solid #d8dcc7}.floorplan-version-list article{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.72rem .25rem;border-bottom:1px solid #e0e2d2}.floorplan-version-list article>div{display:grid;gap:.2rem}.floorplan-version-list article small{color:#6c755f}.floorplan-version-list article.is-current{padding-left:.7rem;border-left:4px solid #708044;background:#f3f5e9}.floorplan-admin { margin-top: 1.2rem; }.floorplan-admin .panel h2 { margin-top: 0; }.floorplan-admin .stack-form { max-width: none; }
.floorplan-workspace:fullscreen,.floorplan-workspace.is-floorplan-expanded{grid-template-columns:minmax(0,1fr) minmax(300px,360px);width:100vw;height:100vh;min-height:100vh;margin:0;border:0;border-radius:0;background:#fff;}.floorplan-workspace.is-floorplan-expanded{position:fixed;z-index:10000;inset:0}.floorplan-workspace:fullscreen .floorplan-canvas-panel,.floorplan-workspace.is-floorplan-expanded .floorplan-canvas-panel{grid-template-rows:auto minmax(0,1fr) auto}.floorplan-workspace:fullscreen .event-floorplan,.floorplan-workspace.is-floorplan-expanded .event-floorplan{min-height:0}.floorplan-workspace:fullscreen .event-floorplan-stage,.floorplan-workspace.is-floorplan-expanded .event-floorplan-stage{min-height:calc(100vh - 120px)}
@media (max-width: 1120px) { .floorplan-toolbar{grid-template-columns:1fr 1fr}.floorplan-zoom-controls{grid-column:1/-1;justify-content:flex-start}.floorplan-workspace { grid-template-columns: 1fr; }.floorplan-canvas-panel { border-right: 0; border-bottom: 1px solid #d9ddc8; }.floorplan-detail-panel { grid-template-rows: auto minmax(190px,240px); }.event-floorplan-detail { min-height: 0; }.floorplan-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }.floorplan-workspace:fullscreen,.floorplan-workspace.is-floorplan-expanded{grid-template-columns:1fr;overflow-y:auto}.floorplan-workspace:fullscreen .floorplan-detail-panel,.floorplan-workspace.is-floorplan-expanded .floorplan-detail-panel{display:none} } @media (max-width: 620px) { .floorplan-empty { flex-direction: column; }.floorplan-summary { grid-template-columns: 1fr 1fr; }.floorplan-toolbar{grid-template-columns:1fr;padding:.72rem}.floorplan-toolbar label,.floorplan-zoom-controls,.floorplan-search-status{grid-column:1}.floorplan-zoom-controls{display:grid;grid-template-columns:auto auto auto 1fr}.floorplan-zoom-controls [data-floorplan-fullscreen]{grid-column:1/-1}.floorplan-workspace { min-height: 0; }.floorplan-canvas-panel { grid-template-rows: auto minmax(350px,1fr) auto; }.event-floorplan,.event-floorplan-stage { min-height: 350px; }.event-floorplan-marker { border-width: 1px; font-size: .48rem; }.event-floorplan-detail { padding: .9rem; }.floorplan-source { padding: .6rem .85rem; }.floorplan-version-list article{align-items:flex-start;flex-direction:column}.floorplan-admin { grid-template-columns: 1fr; } }
.connector-status-board { display: grid; grid-template-columns: minmax(260px, 1.35fr) minmax(390px, 1fr) auto; gap: 1rem; align-items: center; margin: 1.15rem 0; padding: 1.1rem 1.25rem; border: 1px solid #aab488; border-left: 5px solid #697744; border-radius: .55rem; background: linear-gradient(105deg, #ecefdc, #faf9f1 68%); box-shadow: 0 7px 20px rgba(46,53,32,.06); }
.connector-status-copy { display: flex; gap: .8rem; align-items: flex-start; }.connector-status-copy h2 { margin: .1rem 0 .25rem; color: #303b24; font-size: 1.08rem; }.connector-status-copy p:last-child { margin: 0; color: #59624e; font-size: .84rem; line-height: 1.45; }.connector-status-copy .eyebrow { margin: 0; font-size: .68rem; }
.connector-status-indicator { flex: 0 0 .7rem; width: .7rem; height: .7rem; margin-top: .46rem; border-radius: 50%; }.connector-status-indicator.is-healthy { background: #5e7d3e; box-shadow: 0 0 0 .3rem rgba(94,125,62,.15), 0 0 14px rgba(94,125,62,.5); }.connector-status-indicator.is-warning { background: #b27827; box-shadow: 0 0 0 .3rem rgba(178,120,39,.13); }
.connector-status-metrics { display: grid; grid-template-columns: repeat(4, minmax(74px, 1fr)); gap: .6rem; margin: 0; }.connector-status-metrics div { min-height: 3.7rem; padding: .55rem .65rem; border: 1px solid #d1d4bf; border-radius: .38rem; background: rgba(255,255,250,.72); }.connector-status-metrics dt { color: #68705e; font-size: .67rem; }.connector-status-metrics dd { margin: .16rem 0 0; color: #334024; font-size: 1.05rem; font-weight: 800; }.connector-status-metrics .connector-timestamp { font-size: .76rem; line-height: 1.3; }.connector-status-metrics .connector-frequency { color: #536333; font-size: .9rem; }
.connector-status-board form { margin: 0; }.connector-status-board .button { white-space: nowrap; }.connector-list { gap: 0 !important; border-top: 1px solid #d9ddc7; }.connector-list > li { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: center !important; padding: .9rem .1rem !important; border-bottom: 1px solid #d9ddc7 !important; }.connector-list > li > div:first-child { display: grid; gap: .18rem; }.connector-list > li strong { color: #344323; }.connector-list > li span { line-height: 1.35; }.connector-list .header-actions { align-items: center; }.connector-list .button { min-width: 5.7rem; }
@media (max-width: 1120px) { .connector-status-board { grid-template-columns: 1fr; }.connector-status-board form { justify-self: start; }.connector-status-metrics { grid-template-columns: repeat(4, minmax(100px, 1fr)); } }
@media (max-width: 620px) { .connector-status-board { padding: 1rem; }.connector-status-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }.connector-list > li { grid-template-columns: 1fr; }.connector-list .header-actions { justify-content: flex-start; } }
.filter-disclosure { margin: 0 0 1rem; overflow: hidden; border: 1px solid #b9c09a; border-top: 3px solid #7a8651; border-radius: .55rem; background: rgba(251,250,244,.96); box-shadow: 0 6px 18px rgba(46,53,32,.045); }
.filter-disclosure > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 4.4rem; padding: .85rem 1rem; color: #354126; cursor: pointer; list-style: none; user-select: none; }.filter-disclosure > summary::-webkit-details-marker { display: none; }.filter-disclosure > summary:hover { background: #f3f3e9; }.filter-disclosure[open] > summary { border-bottom: 1px solid #d8dcc6; background: #eeefe2; }
.filter-disclosure-title { display: flex; align-items: center; gap: .75rem; min-width: 0; }.filter-disclosure-title > span:last-child { display: grid; gap: .08rem; }.filter-disclosure-title strong { color: #303c22; }.filter-disclosure-title small { color: #6b7460; font-size: .78rem; font-weight: 500; }.filter-disclosure-icon { display: inline-grid; flex: 0 0 2rem; width: 2rem; height: 2rem; place-items: center; border: 1px solid #adb68b; border-radius: .35rem; background: #e7ead9; color: #55633b; font-size: 1.35rem; line-height: 1; }
.filter-disclosure-actions { display: flex; align-items: center; justify-content: flex-end; gap: .75rem; flex-wrap: wrap; }.filter-disclosure-active, .filter-disclosure-neutral { padding: .23rem .5rem; border-radius: 999px; font-size: .75rem; font-weight: 750; }.filter-disclosure-active { background: #e3ead1; color: #465a2b; }.filter-disclosure-neutral { background: #ecece4; color: #65695e; }.filter-disclosure-toggle { display: inline-flex; align-items: center; gap: .3rem; color: #4b5a30; font-size: .82rem; font-weight: 800; }.filter-disclosure-toggle > span:last-child { display: inline-block; font-size: 1.1rem; transition: transform .16s ease; }.filter-disclosure-open { display: none; }.filter-disclosure[open] .filter-disclosure-closed { display: none; }.filter-disclosure[open] .filter-disclosure-open { display: inline; }.filter-disclosure[open] .filter-disclosure-toggle > span:last-child { transform: rotate(180deg); }
.filter-disclosure .filter-panel { margin: 0; border: 0; border-radius: 0; box-shadow: none; background: transparent; }
@media (max-width: 620px) { .filter-disclosure > summary { align-items: flex-start; min-height: auto; }.filter-disclosure-actions { justify-content: flex-start; }.filter-disclosure-title small { display: none; } }

/* The applied criteria stay visible without leaving the whole advanced form
   open. This makes the catalogue useful on standard laptop screens. */
.active-filter-summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 0 0 1rem; padding: .72rem .85rem .72rem 1rem; border: 1px solid #c5cda7; border-left: 4px solid #75854a; border-radius: .52rem; background: linear-gradient(105deg,#f0f3e5,#fbfaf4); box-shadow: 0 4px 13px rgba(49,60,32,.04); }
.active-filter-summary > div:first-child { min-width: 0; }.active-filter-summary-label { display: block; margin-bottom: .32rem; color: #4c5c32; font-size: .7rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.active-filter-chips { display: flex; flex-wrap: wrap; gap: .36rem; }.active-filter-chips span { display: inline-flex; max-width: 100%; padding: .24rem .48rem; overflow: hidden; border: 1px solid #b9c39a; border-radius: 999px; background: #fffef9; color: #4b5837; font-size: .75rem; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.active-filter-summary-actions { display: flex; flex: 0 0 auto; align-items: center; gap: .35rem; }.active-filter-summary-actions .button { min-height: 2.18rem; padding: .38rem .62rem; font-size: .76rem; white-space: nowrap; }
@media (max-width: 760px) { .active-filter-summary { align-items: stretch; flex-direction: column; }.active-filter-summary-actions { width: 100%; }.active-filter-summary-actions .button { flex: 1 1 0; text-align: center; } }

/* Globalna lista odbiorców KOMAZ: kraje są nawigacją po tym samym, rygorystycznym filtrze — nie niezależnym rankingiem. */
.foreign-prospect-countries { margin: 1rem 0; }.foreign-prospect-countries .panel-header { margin-bottom: .8rem; }.foreign-prospect-country-grid { display: flex; flex-wrap: wrap; gap: .5rem; }.foreign-prospect-country-grid a { display: grid; min-width: 150px; gap: .16rem; padding: .58rem .68rem; border: 1px solid #c6cdaa; border-radius: .42rem; background: #fffef9; color: #3f4f2c; text-decoration: none; }.foreign-prospect-country-grid a:hover { border-color: #78874d; background: #edf1df; }.foreign-prospect-country-grid strong { font-size: .78rem; }.foreign-prospect-country-grid span { color: #67705b; font-size: .7rem; }

/* Analiza rynku: kandydaci nie są automatycznie klasyfikowani jako konkurencja. */
.market-analysis-intro { display: flex; gap: .8rem; align-items: flex-start; margin: 1.15rem 0; padding: .9rem 1rem; border: 1px solid #b8bf92; border-left: 4px solid #718047; border-radius: .48rem; background: linear-gradient(100deg, #eef0e1, #faf9f2); color: #465039; }
.market-analysis-intro-mark { display: grid; flex: 0 0 2rem; width: 2rem; height: 2rem; place-items: center; border: 1px solid #919b69; border-radius: .3rem; background: #dfe6c9; color: #41502a; font-size: 1.1rem; }.market-analysis-intro strong { color: #334022; }.market-analysis-intro p { max-width: 960px; margin: .2rem 0 0; font-size: .86rem; line-height: 1.48; }.market-analysis-intro em { color: #3f5228; font-style: normal; font-weight: 800; }
.market-analysis-form-card { margin: 1rem 0; padding: 1rem; border: 1px solid #bcc29f; border-top: 3px solid #758151; border-radius: .55rem; background: rgba(251,250,244,.96); box-shadow: 0 6px 18px rgba(46,53,32,.045); }.market-analysis-form { display: grid; grid-template-columns: minmax(185px,.85fr) minmax(210px,1fr) minmax(245px,1.2fr) minmax(175px,.75fr) minmax(170px,.7fr) auto; gap: .85rem; align-items: end; }.market-analysis-form label { display: grid; gap: .32rem; min-width: 0; color: #4b5738; font-size: .76rem; font-weight: 800; }.market-analysis-form input, .market-analysis-form select { width: 100%; min-height: 2.5rem; }.market-analysis-actions { display: flex; gap: .42rem; align-items: center; padding-bottom: .02rem; white-space: nowrap; }.market-analysis-examples { display: flex; flex-wrap: wrap; gap: .46rem .7rem; align-items: center; margin-top: .9rem; padding-top: .8rem; border-top: 1px solid #dde0cc; color: #6a7360; font-size: .76rem; }.market-analysis-examples span { font-weight: 800; }.market-analysis-examples a { color: #526232; font-weight: 750; }
.market-analysis-metrics { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .7rem; margin: 1rem 0 1.25rem; }.market-analysis-metric { position: relative; display: grid; min-height: 7.2rem; align-content: start; gap: .26rem; padding: .82rem .86rem; overflow: hidden; border: 1px solid #cbd0b4; border-radius: .48rem; background: rgba(251,250,244,.94); box-shadow: 0 5px 16px rgba(46,53,32,.04); color: #46503c; text-decoration: none; }.market-analysis-metric::before { position: absolute; inset: 0 auto 0 0; width: 3px; background: #84905d; content: ""; }.market-analysis-metric:hover, .market-analysis-metric.is-active { border-color: #86935d; background: #eff1e3; text-decoration: none; }.market-analysis-metric.is-active { box-shadow: inset 0 0 0 1px rgba(99,117,55,.18), 0 6px 17px rgba(46,53,32,.07); }.market-analysis-metric span { color: #59634b; font-size: .78rem; line-height: 1.25; }.market-analysis-metric strong { color: #2e391f; font-size: 1.72rem; line-height: 1; }.market-analysis-metric small { color: #707768; font-size: .7rem; line-height: 1.32; }
.market-analysis-results { margin: 1.2rem 0; }.market-analysis-results-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }.market-analysis-results-heading h2 { margin-bottom: .25rem; }.market-analysis-results-heading p { max-width: 800px; margin: 0; color: #66705d; font-size: .84rem; line-height: 1.42; }.market-analysis-results-heading .button { flex: 0 0 auto; white-space: nowrap; }
.market-analysis-ai-callout { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 1rem 0; padding: .9rem 1rem; border: 1px solid #b4bc89; border-radius: .42rem; background: linear-gradient(102deg, #e9edd8, #f7f7ed); }.market-analysis-ai-callout .eyebrow { margin: 0 0 .14rem; font-size: .67rem; }.market-analysis-ai-callout h3 { margin: 0; color: #344124; font-size: 1rem; }.market-analysis-ai-callout p:not(.eyebrow) { max-width: 880px; margin: .24rem 0 0; color: #5a6650; font-size: .79rem; line-height: 1.4; }.market-analysis-ai-callout form { flex: 0 0 auto; margin: 0; }.market-analysis-ai-callout .button { white-space: nowrap; }
.market-analysis-list { display: grid; border-top: 1px solid #dee1cf; }.market-company-card { display: grid; grid-template-columns: minmax(0,1fr) 112px; gap: 1rem; padding: .95rem 0; border-bottom: 1px solid #dee1cf; }.market-company-card:last-child { border-bottom: 0; }.market-company-card-main { min-width: 0; }.market-company-card-title { display: flex; gap: .58rem; align-items: flex-start; justify-content: space-between; }.market-company-card-title a { color: #334b2b; line-height: 1.3; }.market-company-card-title .status { flex: 0 0 auto; font-size: .68rem; white-space: nowrap; }.market-company-meta, .market-company-categories { margin: .28rem 0 0; color: #68715f; font-size: .76rem; }.market-company-categories { color: #50613b; font-weight: 700; }.market-company-description { display: -webkit-box; max-width: 980px; margin: .45rem 0 0; overflow: hidden; color: #414a3b; font-size: .83rem; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }.market-company-card-aside { display: grid; align-content: start; gap: .18rem; padding-left: .9rem; border-left: 1px solid #d8ddc5; color: #6a725f; font-size: .7rem; }.market-company-card-aside strong { color: #344224; font-size: 1.25rem; }.market-company-card-aside a { margin-top: .24rem; color: #4d6130; font-size: .75rem; font-weight: 750; }.market-analysis-empty { padding: 1rem 0 .3rem; color: #55604a; }.market-analysis-empty strong { color: #303d24; }.market-analysis-empty p { max-width: 900px; margin: .36rem 0 0; line-height: 1.45; }
.market-analysis-method { margin-top: 1.2rem; }.market-analysis-method-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .8rem; padding-top: 1rem; }.market-analysis-method-grid div { display: grid; gap: .26rem; min-height: 5.1rem; padding: .75rem .8rem; border: 1px solid #d8dcc6; border-radius: .38rem; background: #f8f8f0; }.market-analysis-method-grid strong { color: #3a4829; font-size: .83rem; }.market-analysis-method-grid span { color: #66705c; font-size: .76rem; line-height: 1.4; }
@media (max-width: 1700px) { .market-analysis-form { grid-template-columns: repeat(3, minmax(0,1fr)); }.market-analysis-metrics { grid-template-columns: repeat(3, minmax(0,1fr)); } }
@media (max-width: 860px) { .market-analysis-form { grid-template-columns: repeat(2, minmax(0,1fr)); }.market-analysis-actions { grid-column: 1 / -1; }.market-analysis-metrics { grid-template-columns: repeat(2, minmax(0,1fr)); }.market-analysis-results-heading, .market-analysis-ai-callout { align-items: stretch; flex-direction: column; }.market-analysis-results-heading .button, .market-analysis-ai-callout .button { text-align: center; }.market-analysis-method-grid { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .market-analysis-intro { padding: .8rem; }.market-analysis-form { grid-template-columns: 1fr; }.market-analysis-actions { grid-column: auto; }.market-analysis-actions .button { flex: 1 1 0; text-align: center; }.market-analysis-metrics { grid-template-columns: 1fr; }.market-analysis-metric { min-height: 5.5rem; }.market-company-card { grid-template-columns: 1fr; gap: .7rem; }.market-company-card-title { align-items: flex-start; flex-direction: column; gap: .3rem; }.market-company-card-aside { display: flex; align-items: baseline; gap: .48rem; padding: .55rem 0 0; border-top: 1px solid #dde1cc; border-left: 0; }.market-company-card-aside a { margin: 0 0 0 auto; } }

/* Publiczne, źródłowe nowości obronne. Nie używamy obrazów pobranych poza RSS/Atom. */
.defence-news-dashboard { margin: 1.2rem 0; padding: 1.1rem 1.2rem 1.2rem; border: 1px solid #9da97a; border-radius: .58rem; background: linear-gradient(120deg, #eef0e2, #fbfaf4 65%); box-shadow: 0 7px 20px rgba(46,53,32,.06); }
.social-dashboard { margin: 1.2rem 0; padding: 1.1rem 1.2rem 1.2rem; border: 1px solid #86956a; border-radius: .58rem; background: linear-gradient(125deg, #e9eedb, #fcfbf4 66%); box-shadow: 0 7px 20px rgba(46,53,32,.06); }.social-dashboard-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }.social-dashboard h2 { margin: .12rem 0 .3rem; color: #2f3a22; font-size: 1.15rem; }.social-dashboard-heading p:not(.eyebrow) { max-width: 800px; margin: 0; color: #5c6650; font-size: .83rem; line-height: 1.45; }.social-dashboard-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .65rem; margin: .9rem 0; }.social-dashboard-metrics > :is(a, div) { display: grid; align-content: start; gap: .25rem; min-width: 0; min-height: 5.3rem; padding: .72rem .8rem; border: 1px solid #bec8a1; border-radius: .4rem; background: rgba(255,255,249,.77); color: #334224; }.social-dashboard-metrics a { text-decoration: none; }.social-dashboard-metrics a:hover { border-color: #60733c; background: #f7f8ed; }.social-dashboard-metrics span, .social-dashboard-metrics small { color: #657055; font-size: .7rem; }.social-dashboard-metrics strong { font-size: 1.55rem; }.social-dashboard-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; }.social-dashboard-list a { display: grid; gap: .25rem; padding: .7rem .8rem; border-left: 3px solid #7f9155; background: rgba(255,255,250,.64); color: inherit; text-decoration: none; }.social-dashboard-list span { color: #647052; font-size: .68rem; font-weight: 750; }.social-dashboard-list strong { display: -webkit-box; overflow: hidden; color: #394728; font-size: .78rem; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.defence-news-dashboard-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: .9rem; }.defence-news-dashboard h2 { margin: .12rem 0 .3rem; color: #2f3a22; font-size: 1.15rem; }.defence-news-dashboard p:not(.eyebrow) { max-width: 820px; margin: 0; color: #5c6650; font-size: .83rem; line-height: 1.45; }.defence-news-dashboard-actions { display: flex; flex: 0 0 auto; align-items: center; gap: .7rem; color: #637052; font-size: .76rem; font-weight: 750; white-space: nowrap; }
.defence-news-quick-filters { display: flex; flex-wrap: wrap; gap: .38rem; margin-top: .7rem; }.defence-news-quick-filters a { padding: .24rem .5rem; border: 1px solid #aab68a; border-radius: 999px; color: #4b5a31; background: rgba(255,255,250,.72); font-size: .69rem; font-weight: 800; text-decoration: none; }.defence-news-quick-filters a:hover { border-color: #60723c; background: #e7ecd4; }
.defence-news-dashboard-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .75rem; }.defence-news-mini-card { display: grid; grid-template-columns: 78px minmax(0,1fr); min-width: 0; overflow: hidden; border: 1px solid #d2d7bd; border-radius: .42rem; background: rgba(255,255,250,.75); color: inherit; text-decoration: none; }.defence-news-mini-card:hover { border-color: #89965d; background: #f7f8ed; text-decoration: none; }.defence-news-mini-card img, .defence-news-mini-card > .defence-news-image-placeholder { width: 78px; height: 100%; min-height: 88px; object-fit: cover; }.defence-news-mini-copy { display: grid; align-content: start; gap: .3rem; padding: .6rem .65rem; }.defence-news-mini-copy small { overflow: hidden; color: #67715e; font-size: .66rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }.defence-news-mini-copy strong { display: -webkit-box; overflow: hidden; color: #344224; font-size: .78rem; line-height: 1.32; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }.defence-news-mini-copy em { color: #6d765f; font-size: .66rem; font-style: normal; }.defence-news-empty { display: grid; gap: .2rem; padding: .9rem 0 .1rem; color: #65705a; font-size: .82rem; }.defence-news-empty strong { color: #394727; }
.news-filter-bar { display: grid; grid-template-columns: repeat(3, minmax(170px,1fr)) auto; gap: .8rem; align-items: end; margin: 1rem 0; padding: .95rem 1rem; border: 1px solid #c5cca5; border-top: 3px solid #718047; border-radius: .55rem; background: rgba(251,250,244,.96); box-shadow: 0 6px 18px rgba(46,53,32,.045); }.news-filter-bar label { display: grid; gap: .32rem; color: #4b5738; font-size: .76rem; font-weight: 800; }.news-filter-bar select { min-height: 2.45rem; }.news-filter-actions { display: flex; align-items: center; gap: .45rem; padding-bottom: .02rem; white-space: nowrap; }
.news-results { margin: 1.1rem 0; padding: 1rem 1.1rem; border: 1px solid var(--line); border-radius: .55rem; background: rgba(251,250,244,.94); box-shadow: 0 6px 18px rgba(46,53,32,.045); }.defence-news-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; padding-top: 1rem; }.defence-news-card { display: grid; min-width: 0; overflow: hidden; border: 1px solid #d4d8c2; border-radius: .5rem; background: #fffef9; }.defence-news-image { display: block; min-height: 158px; background: #344126; }.defence-news-image img { display: block; width: 100%; height: 190px; object-fit: cover; }.defence-news-image-placeholder { display: grid; width: 100%; height: 100%; min-height: inherit; place-content: center; background: linear-gradient(145deg, #344127, #78844e); color: #e8ebc7; font-size: 1.1rem; font-weight: 900; letter-spacing: .12em; text-align: center; }.defence-news-image-placeholder small { margin-top: .15rem; color: #cbd49b; font-size: .58rem; letter-spacing: .22em; }.defence-news-card-copy { display: grid; align-content: start; gap: .58rem; padding: .82rem .85rem; }.defence-news-meta, .defence-news-footer, .defence-news-topics { display: flex; flex-wrap: wrap; gap: .38rem; }.defence-news-meta span { color: #647052; font-size: .68rem; font-weight: 800; }.defence-news-meta span + span::before { margin-right: .38rem; color: #abb08e; content: "·"; }.defence-news-card h3 { margin: 0; font-size: .98rem; line-height: 1.3; }.defence-news-card h3 a { color: #344225; }.defence-news-card h3 a:hover { color: #62733c; }.defence-news-card p { display: -webkit-box; min-height: 4.5em; margin: 0; overflow: hidden; color: #55604d; font-size: .78rem; line-height: 1.47; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }.defence-news-footer { justify-content: space-between; gap: .4rem; color: #727a68; font-size: .68rem; }.defence-news-topics span { padding: .2rem .38rem; border: 1px solid #cad1ad; border-radius: 999px; background: #edf0df; color: #4c5e31; font-size: .65rem; font-weight: 750; }.news-source-panel { margin-top: 1.2rem; }
.social-signal-guidance { margin: 1rem 0; background: #f4f4e9; }.social-signal-guidance h2 { margin-top: 0; font-size: 1rem; }.social-signal-guidance p { margin-bottom: 0; color: #59634d; line-height: 1.5; }.social-signal-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .9rem; padding-top: 1rem; }.social-signal-card { display: grid; align-content: start; gap: .65rem; min-width: 0; padding: .9rem; border: 1px solid #ced5b8; border-radius: .5rem; background: #fffef9; }.social-signal-meta { display: flex; flex-wrap: wrap; gap: .35rem; align-items: center; color: #637053; font-size: .68rem; font-weight: 800; }.signal-trust { display: inline-flex; padding: .18rem .42rem; border-radius: 999px; background: #fff2cf; color: #7a5d11; font-size: .66rem; font-weight: 800; }.signal-trust-official { background: #e2f1e4; color: #266134; }.signal-trust-reputable { background: #e9f0f5; color: #355c72; }.social-signal-card > p { display: -webkit-box; min-height: 5.2em; margin: 0; overflow: hidden; color: #4f5b45; font-size: .82rem; line-height: 1.48; -webkit-box-orient: vertical; -webkit-line-clamp: 5; }.social-signal-card footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .3rem; padding-top: .5rem; border-top: 1px solid #e0e3d3; color: #717969; font-size: .67rem; }.social-signal-card footer a { font-weight: 750; }.connector-add { margin-top: 1rem; padding: .8rem; border: 1px dashed #a9b387; border-radius: .45rem; background: #fbfbf4; }.connector-add summary { cursor: pointer; color: #40512a; font-weight: 800; }.connector-add form { margin-top: 1rem; }.supplier-profile-panel { max-width: 1080px; }.procurement-panel .registry-summary { margin: .9rem 0; }
@media (max-width: 1180px) { .defence-news-dashboard-grid, .defence-news-grid, .social-signal-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }.news-filter-bar { grid-template-columns: repeat(2, minmax(0,1fr)); }.news-filter-actions { grid-column: 1 / -1; } }
@media (max-width: 700px) { .defence-news-dashboard-heading, .social-dashboard-heading { flex-direction: column; }.defence-news-dashboard-actions { width: 100%; align-items: stretch; flex-direction: column; gap: .42rem; white-space: normal; }.defence-news-dashboard-actions span { overflow-wrap: anywhere; }.defence-news-dashboard-actions .button { width: 100%; text-align: center; }.defence-news-dashboard-grid, .defence-news-grid, .social-signal-grid, .social-dashboard-list, .news-filter-bar { grid-template-columns: 1fr; }.social-dashboard-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }.news-filter-actions { grid-column: auto; }.news-filter-actions .button { flex: 1 1 0; text-align: center; }.defence-news-image img { height: 175px; } }

/* Telefon i tablet: priorytetem jest czytelna obsługa kciukiem, bez poziomego przewijania całej strony. */
.mobile-nav-toggle { display: none; }
@media (max-width: 760px) {
    html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
    body { min-width: 320px; overflow-x: hidden; }
    input, select, textarea { font-size: 16px; }
    .sidebar { position: sticky; z-index: 30; top: 0; max-height: 100dvh; overflow-y: auto; padding: .7rem .8rem; }
    .brand { margin: 0; }
    .mobile-nav-toggle { display: inline-flex; width: 100%; min-height: 2.8rem; align-items: center; gap: .55rem; margin-top: .65rem; padding: .5rem .65rem; border: 1px solid rgba(215,217,171,.35); border-radius: .38rem; background: rgba(255,255,239,.08); color: #f6f4df; font: inherit; font-size: .86rem; font-weight: 800; text-align: left; cursor: pointer; }
    .mobile-nav-toggle:hover, .mobile-nav-toggle:focus-visible { border-color: #d8d69f; background: rgba(255,255,239,.15); }
    .mobile-nav-toggle-icon { position: relative; display: inline-block; flex: 0 0 1.08rem; width: 1.08rem; height: .76rem; border-top: 2px solid currentColor; border-bottom: 2px solid currentColor; }
    .mobile-nav-toggle-icon::after { position: absolute; top: calc(50% - 1px); left: 0; width: 100%; border-top: 2px solid currentColor; content: ""; }
    .mobile-nav-toggle-state { margin-left: auto; color: #d6daa8; font-size: .73rem; font-weight: 700; }
    .sidebar .primary-navigation, .sidebar .sidebar-footer { display: none; }
    .sidebar.is-nav-open .primary-navigation { display: grid; grid-template-columns: 1fr; gap: .12rem; margin-top: .6rem; }
    .sidebar.is-nav-open .sidebar-footer { display: grid; margin-top: .75rem; padding-top: .75rem; }
    .sidebar nav a { min-height: 2.75rem; padding: .62rem .7rem; font-size: .88rem; }
    .nav-section-title { margin: .85rem .16rem .18rem; }
    .page-content { min-width: 0; padding: 1rem .8rem calc(1.6rem + env(safe-area-inset-bottom)); }
    .page-header { gap: .75rem; }
    .page-header .header-actions, .panel-header .header-actions, .form-actions { width: 100%; }
    .page-header .header-actions .button, .panel-header .header-actions .button, .form-actions .button { flex: 1 1 9rem; min-height: 2.75rem; text-align: center; }
    .panel-header, .compact-list li, .rank-list li { align-items: stretch; flex-direction: column; gap: .45rem; }
    .summary-list div, .detail-list div { grid-template-columns: 1fr; gap: .18rem; }
    .metric-grid, .filter-summary, .registry-summary { grid-template-columns: 1fr 1fr; gap: .58rem; }
    .metric-card { min-height: 6.4rem; padding: .78rem; }.metric-card strong { font-size: 1.45rem; }
    .filter-disclosure > summary { padding: .8rem; }.filter-disclosure-actions { width: 100%; }
    .table-wrap { -webkit-overflow-scrolling: touch; overscroll-behavior-inline: contain; }
    .table-wrap table { min-width: 720px; }
    .pagination { flex-wrap: wrap; gap: .55rem; }.pagination a { display: inline-flex; min-height: 2.6rem; align-items: center; padding: .35rem .55rem; }
    .calendar-weekdays { display: none; }.calendar-days { grid-template-columns: 1fr; gap: .5rem; }.calendar-day-empty { display: none; }.calendar-day { min-height: 3.85rem; padding: .7rem; }.calendar-day strong { display: block; margin-bottom: .25rem; }.calendar-event { font-size: .82rem; }.calendar-map-section { padding:.85rem; }.calendar-map-workspace { grid-template-columns:1fr; min-height:0; }.calendar-event-map { min-height:360px; }.calendar-event-map-detail { min-height:220px; border-top:1px solid #d5dac2; border-left:0; }
    .company-map { min-height: 360px; }.company-map-detail { padding: 1rem; }.map-detail-facts div { grid-template-columns: 1fr; gap: .15rem; }
    .connector-status-board .button, .connector-list .button { min-height: 2.65rem; }.connector-list .header-actions { width: 100%; }.connector-list .header-actions form { flex: 1 1 8rem; }.connector-list .header-actions .button { width: 100%; }
}
@media (max-width: 430px) {
    .metric-grid, .filter-summary, .registry-summary { grid-template-columns: 1fr; }
    .page-history-button { flex: 1 1 0; justify-content: center; }
    .page-size-shortcuts a, .pagination-view a { min-height: 2.2rem; padding: .32rem .5rem; }
    .login-visual { min-height: 285px; }.login-panel { padding: 1.45rem 1rem 1.7rem; }
}

/* Supplier registration portals: public links are visible to the team; only
   administrators can change KOMAZ status and no credential fields exist. */
.portal-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.portal-priority-panel { margin-bottom:1rem; }.portal-priority-panel .panel-header { margin-bottom:.3rem; }.portal-priority-panel h2 { margin:.12rem 0 .25rem; color:#344224; }.portal-priority-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.6rem; margin:0; padding:0; list-style:none; counter-reset:portal-priority; }.portal-priority-list li { display:flex; gap:.65rem; justify-content:space-between; align-items:flex-start; padding:.72rem .8rem; border:1px solid #cdd5b1; border-radius:.45rem; background:#f7f8ef; counter-increment:portal-priority; }.portal-priority-list li::before { content:counter(portal-priority); display:grid; place-items:center; flex:0 0 1.5rem; width:1.5rem; height:1.5rem; border-radius:999px; background:#526737; color:#fff; font-size:.72rem; font-weight:800; }.portal-priority-list div { display:grid; gap:.2rem; min-width:0; margin-right:auto; }.portal-priority-list strong { color:#3d4c28; font-size:.85rem; }.portal-priority-list span { color:#5d6750; font-size:.76rem; line-height:1.38; }.portal-priority-list .text-link { flex:0 0 auto; color:#485a2d; font-size:.73rem; font-weight:800; white-space:nowrap; }
.portal-card { display:grid; gap:.72rem; align-content:start; min-width:0; padding:1rem; border:1px solid #c7cfaa; border-radius:.55rem; background:rgba(255,255,250,.82); box-shadow:0 5px 15px rgba(49,60,32,.05); }
.portal-card-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:.8rem; }.portal-card-statuses { display:grid; justify-items:end; gap:.35rem; }.portal-priority { display:inline-flex; width:fit-content; padding:.16rem .5rem; border-radius:999px; background:#e9ecda; color:#4a5c30; font-size:.71rem; font-weight:800; white-space:nowrap; }.portal-priority-1,.portal-priority-2 { background:#dfeac8; color:#385322; }.portal-priority-3,.portal-priority-4 { background:#eef1dd; color:#56652f; }.portal-card h2 { margin:.12rem 0; color:#344224; font-size:1.08rem; }.portal-card-heading p:not(.eyebrow), .portal-card > p { margin:0; color:#5c6650; font-size:.82rem; line-height:1.46; }.portal-card small { color:#68715c; font-size:.72rem; }.portal-card .header-actions { gap:.45rem; align-items:center; }.portal-card .text-link { color:#485a2d; font-size:.77rem; font-weight:800; }.portal-relevance { padding:.58rem .65rem; border-left:3px solid #758b47; background:#f2f5e9; color:#4e5b40!important; font-size:.77rem!important; }.portal-status-note { margin:0!important; padding:.58rem .65rem; border-left:3px solid #98a56d; background:#f2f3e8; font-size:.77rem!important; }.portal-status-form { display:grid; grid-template-columns:minmax(160px,.7fr) minmax(260px,1.4fr) auto; gap:.5rem; align-items:end; margin-top:.1rem; padding-top:.75rem; border-top:1px solid #d9deca; }.portal-status-form label { display:grid; gap:.25rem; color:#556045; font-size:.73rem; font-weight:800; }.portal-status-form input,.portal-status-form select { min-width:0; }.status-registered { background:#e1edce!important; color:#3e5b26!important; }.status-registration_started { background:#f6ebc9!important; color:#725b21!important; }.status-needs_verification { background:#edf0e5!important; color:#616a53!important; }.status-not_registered { background:#f5e5dc!important; color:#764838!important; }
/* Visible publication time is part of each source's provenance. */
.defence-news-meta time.defence-news-published { color:#52613d; font-size:.68rem; font-weight:850; }
.defence-news-meta time.defence-news-published::before { margin-right:.38rem; color:#abb08e; content:"·"; }
.social-dashboard-metrics { grid-template-columns:repeat(5,minmax(0,1fr)); }
@media (max-width:1180px) { .portal-list { grid-template-columns:1fr; }.portal-priority-list { grid-template-columns:1fr; }.social-dashboard-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:700px) { .portal-card-heading { flex-direction:column; }.portal-card-statuses { justify-items:start; }.portal-priority-list li { display:grid; grid-template-columns:auto 1fr; }.portal-priority-list .text-link { grid-column:2; }.portal-status-form { grid-template-columns:1fr; }.portal-status-form .button { width:100%; }.social-dashboard-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 760px) and (max-height: 620px) {
    .login-visual { min-height: 230px; padding: 1.4rem; }.login-kicker { margin-top: .8rem; }.login-visual h1 { font-size: clamp(2.3rem, 11vw, 3.4rem); }
}

/* Navigation is grouped by work context.  Native details keeps the menu
   accessible without a JavaScript dependency and prevents a long flat list. */
.sidebar .primary-navigation { display: grid; align-content: start; gap: .34rem; }
.sidebar .nav-home { margin-bottom: .16rem; border-color: rgba(203,207,157,.28); background: rgba(111,126,67,.16); font-weight: 800; }
.sidebar .nav-ukraine-shortcut { display: flex; align-items: center; gap: .48rem; min-height: 2.65rem; margin: 0 0 .18rem; padding: .45rem .58rem; border: 1px solid rgba(245,213,83,.72); border-left: 4px solid #3b6ec4; border-radius: .42rem; background: linear-gradient(100deg, rgba(47,91,176,.62), rgba(219,195,66,.32)); color: #fffef4; font-size: .81rem; font-weight: 900; letter-spacing: .01em; text-decoration: none; box-shadow: 0 4px 12px rgba(13,28,55,.2); }.sidebar .nav-ukraine-shortcut:hover { border-color: #fff1a1; background: linear-gradient(100deg, rgba(58,107,196,.8), rgba(233,207,75,.48)); color: white; text-decoration: none; }.sidebar .nav-ukraine-shortcut > span { display: grid; flex: 0 0 auto; place-items: center; width: 1.55rem; height: 1.55rem; border-radius: .25rem; background: linear-gradient(#2f67bd 0 50%, #f1d451 50%); color: #183561; font-size: .58rem; font-weight: 900; }
.sidebar .nav-group { overflow: hidden; border: 1px solid rgba(203,207,157,.17); border-radius: .46rem; background: rgba(15,25,10,.15); }
.sidebar .nav-group > summary { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .08rem .55rem; align-items: center; min-height: 3.15rem; padding: .52rem .64rem .5rem; color: #f1f0de; cursor: pointer; list-style: none; user-select: none; }
.sidebar .nav-group > summary::-webkit-details-marker { display: none; }
.sidebar .nav-group > summary::after { grid-column: 2; grid-row: 1 / span 2; width: 1.35rem; height: 1.35rem; display: grid; place-items: center; border: 1px solid rgba(213,215,162,.3); border-radius: 50%; color: #d9d895; content: "+"; font-size: 1rem; font-weight: 800; line-height: 1; }
.sidebar .nav-group[open] > summary::after { content: "−"; }
.sidebar .nav-group > summary:hover { background: rgba(132,145,80,.16); }
.sidebar .nav-group > summary:focus-visible { outline: 3px solid rgba(215,216,143,.4); outline-offset: -3px; }
.sidebar .nav-group-summary-title { min-width: 0; color: #f4f2df; font-size: .78rem; font-weight: 850; letter-spacing: .035em; }
.sidebar .nav-group-summary-copy { overflow: hidden; color: #abb495; font-size: .64rem; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; }
.sidebar .nav-group[open] > summary { border-bottom: 1px solid rgba(203,207,157,.16); background: rgba(105,120,62,.12); }
.sidebar .nav-group-links { display: grid; gap: .06rem; padding: .36rem; }
.sidebar .nav-group-links a { min-height: 1.95rem; padding: .4rem .48rem .4rem .72rem; color: #d9deca; font-size: .78rem; }
.sidebar .nav-group-links a::before { flex-basis: .32rem; width: .32rem; height: .32rem; border-color: #879067; }
.sidebar .nav-subsection { margin: .42rem .35rem .13rem; color: #aeb68e; font-size: .59rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.sidebar .nav-subsection:first-child { margin-top: .1rem; }
.sidebar .nav-group-admin { border-color: rgba(211,184,114,.25); }

/* Supplier portal indicators are standalone cards; do not inherit the social
   dashboard grid, which made the number and its label run together. */
.portal-summary-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .75rem; margin: 1rem 0 1.2rem; }
.portal-summary-metrics > div { position: relative; display: grid; align-content: start; gap: .3rem; min-height: 7.1rem; overflow: hidden; padding: .82rem .92rem .78rem 1.08rem; border: 1px solid #c8cfad; border-radius: .52rem; background: linear-gradient(135deg,#fffef9,#f4f5e9); box-shadow: 0 5px 15px rgba(49,60,32,.05); }
.portal-summary-metrics > div::before { position: absolute; top: .68rem; bottom: .68rem; left: 0; width: 4px; border-radius: 0 4px 4px 0; background: #64763f; content: ""; }
.portal-summary-metrics > div:nth-child(2)::before { background: #9b812f; }.portal-summary-metrics > div:nth-child(3)::before { background: #58795f; }.portal-summary-metrics > div:nth-child(4)::before { background: #936249; }
.portal-summary-metrics span { color: #67705c; font-size: .7rem; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }
.portal-summary-metrics strong { color: #344224; font-size: clamp(1.7rem,2.2vw,2.3rem); font-variant-numeric: tabular-nums; letter-spacing: -.04em; line-height: 1; }
.portal-summary-metrics small { align-self: end; color: #6a735e; font-size: .73rem; line-height: 1.32; }
@media (max-width: 1180px) { .portal-summary-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 760px) { .sidebar .nav-group > summary { min-height: 3.35rem; }.sidebar .nav-group-links a { min-height: 2.6rem; padding-top: .6rem; padding-bottom: .6rem; font-size: .84rem; }.portal-summary-metrics { grid-template-columns: 1fr; gap: .55rem; }.portal-summary-metrics > div { min-height: 5.7rem; } }

/* Supplier portals are frequently used with another application snapped next
   to DIC. These are container-aware rather than viewport-only rules: a wide
   monitor can still leave the page-content area narrow because of the sidebar
   and split-screen window. */
.portal-list { grid-template-columns: repeat(auto-fit, minmax(min(100%, 38rem), 1fr)); }
.portal-priority-list { grid-template-columns: repeat(auto-fit, minmax(min(100%, 28rem), 1fr)); }
.portal-card { container-type: inline-size; overflow: hidden; }
.portal-card-heading { flex-wrap: wrap; }
.portal-card-heading > :first-child { flex: 1 1 18rem; min-width: 0; }
.portal-card-statuses { min-width: 0; max-width: 100%; }
.portal-card-statuses .portal-priority,
.portal-card-statuses .status { max-width: 100%; overflow-wrap: anywhere; white-space: normal; }
.portal-card p,
.portal-card small,
.portal-card .header-actions { min-width: 0; overflow-wrap: anywhere; }
.portal-card .header-actions > * { max-width: 100%; white-space: normal; }
.portal-status-form { grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); }
.portal-status-form .button { min-width: 0; }
@container (max-width: 38rem) {
    .portal-card { gap: .65rem; padding: .85rem; }
    .portal-card-heading { display: grid; grid-template-columns: 1fr; gap: .45rem; }
    .portal-card-statuses { justify-items: start; grid-template-columns: repeat(auto-fit, minmax(0, max-content)); justify-content: start; }
    .portal-card .header-actions { align-items: flex-start; }
    .portal-status-form { grid-template-columns: 1fr; }
    .portal-status-form .button { width: 100%; }
}

/* Work-first dashboard: urgent actions stay visible while detailed radars
   remain one deliberate expansion away. */
.dashboard-command-center { margin: 1rem 0 1.2rem; padding: 1rem 1.1rem; border: 1px solid #9eac79; border-top: 4px solid #586c37; border-radius: .58rem; background: linear-gradient(125deg, #eef2df, #fbfaf3 68%); box-shadow: 0 8px 22px rgba(45,57,29,.07); }
.country-workspace-launcher { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: .1rem 0 1.2rem; padding: 1rem 1.1rem; border: 1px solid #9ba96c; border-left: 5px solid #345fbc; border-radius: .62rem; background: linear-gradient(112deg, #f7f5dc, #eef4ff); box-shadow: 0 9px 24px rgba(44, 68, 100, .11); }.country-workspace-launcher-copy { display: flex; align-items: center; gap: .85rem; min-width: 0; }.country-workspace-flag, .market-workspace-code { display: grid; flex: 0 0 auto; place-items: center; width: 2.85rem; height: 2.85rem; border: 1px solid #6882bd; border-radius: .48rem; background: linear-gradient(#2961b6 0 50%, #f2d54c 50%); color: #102b57; font-size: .73rem; font-weight: 900; letter-spacing: .07em; text-shadow: 0 1px rgba(255,255,255,.35); }.country-workspace-launcher h2 { margin: .05rem 0 .18rem; color: #2f4d80; font-size: 1.2rem; }.country-workspace-launcher p:not(.eyebrow) { margin: 0; color: #53637a; font-size: .83rem; line-height: 1.4; }
.market-workspace-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)); gap: .75rem; }.market-workspace-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "code copy open" "code meta open"; column-gap: .7rem; row-gap: .18rem; align-items: center; min-width: 0; min-height: 6.15rem; padding: .8rem .85rem; border: 1px solid #c5cfac; border-radius: .52rem; background: linear-gradient(135deg, #fffef9, #f3f6ea); color: #3d4d2c; text-decoration: none; box-shadow: 0 4px 13px rgba(48, 61, 31, .05); }.market-workspace-card:hover { border-color: #6e8546; background: #f4f8e8; text-decoration: none; }.market-workspace-card.is-priority { border-color: #7e9ac5; border-left: 5px solid #356bc0; background: linear-gradient(120deg, #f8f6dd, #edf4ff); box-shadow: 0 7px 18px rgba(44, 74, 124, .1); }.market-workspace-code { grid-area: code; }.market-workspace-copy { grid-area: copy; display: grid; gap: .14rem; min-width: 0; }.market-workspace-copy strong { color: #354f7e; font-size: 1rem; }.market-workspace-copy small, .market-workspace-meta { color: #667258; font-size: .74rem; }.market-workspace-meta { grid-area: meta; }.market-workspace-open { grid-area: open; color: #385d99; font-size: .77rem; font-weight: 850; white-space: nowrap; }.market-master-upload { margin-top: 1rem; }.market-master-upload > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 4.1rem; cursor: pointer; list-style: none; }.market-master-upload > summary::-webkit-details-marker { display: none; }.market-master-upload > summary > span { display: grid; gap: .12rem; }.market-master-upload > summary strong { color: #3c4e29; }.market-master-upload > summary small { color: #68735b; font-size: .75rem; }.market-master-upload > summary > span:last-child { flex: 0 0 auto; padding: .3rem .55rem; border: 1px solid #afbd8c; border-radius: 999px; background: #f0f3e4; color: #50663a; font-size: .72rem; font-weight: 850; }.market-master-upload[open] > summary { margin-bottom: .9rem; border-bottom: 1px solid #d8dfc3; }.market-master-upload[open] > summary > span:last-child { font-size: 0; }.market-master-upload[open] > summary > span:last-child::before { content: "Zwiń"; font-size: .72rem; }
.market-master-upload-guide { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; margin: 0 0 .95rem; padding: .65rem; border: 1px solid #d5ddbe; border-radius: .46rem; background: #f5f7ec; }.market-master-upload-guide span { display: flex; align-items: center; gap: .42rem; color: #566549; font-size: .75rem; font-weight: 760; }.market-master-upload-guide b { display: grid; flex: 0 0 auto; width: 1.45rem; height: 1.45rem; place-items: center; border-radius: 50%; background: #536b33; color: #fffef4; font-size: .68rem; }.market-master-country-field, .market-master-file-field { display: grid; gap: .35rem; padding: .7rem; border: 1px solid #d4dcc0; border-radius: .45rem; background: #fffef9; color: #46563a; font-weight: 800; }.market-master-country-field small, .market-master-file-field small { color: #68745b; font-size: .72rem; font-weight: 600; line-height: 1.38; }.market-master-file-field input[type=file] { width: 100%; padding: .35rem; border: 1px dashed #91a36b; border-radius: .36rem; background: #f6f8ee; color: #47573a; font: inherit; }.market-master-upload-actions { grid-column: 1 / -1; display: flex; align-items: center; gap: .8rem; padding-top: .15rem; }.market-master-upload-actions .button { min-height: 2.75rem; padding-inline: 1rem; }.market-master-upload-actions p { max-width: 49rem; margin: 0; color: #637058; font-size: .75rem; line-height: 1.42; }
.market-workspace-hero { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; padding: 1.15rem; border: 1px solid #93a9ce; border-left: 6px solid #315fae; border-radius: .7rem; background: linear-gradient(122deg, #eef4ff, #fffce8 72%); box-shadow: 0 10px 26px rgba(43, 71, 118, .11); }.market-workspace-hero-copy { display: flex; align-items: center; gap: 1rem; min-width: 0; }.market-workspace-hero-copy > div { min-width: 0; }.market-workspace-flag { display: grid; flex: 0 0 auto; place-items: center; width: 4.1rem; height: 4.1rem; border: 1px solid #5d80ba; border-radius: .62rem; background: linear-gradient(#2861b8 0 50%, #f0d34d 50%); color: #122d58; font-size: .9rem; font-weight: 950; letter-spacing: .1em; }.market-workspace-hero h1 { margin: .1rem 0 .25rem; color: #2e4d80; overflow-wrap: anywhere; }.market-workspace-hero p:not(.eyebrow),.market-workspace-hero .eyebrow { max-width: 800px; margin: 0; overflow-wrap: anywhere; }.market-workspace-hero p:not(.eyebrow) { color: #57677d; font-size: .84rem; line-height: 1.45; }
.country-intelligence-panel, .master-version-panel, .master-content-panel { margin: 1rem 0; padding: 1rem 1.1rem; border: 1px solid #c7d1b0; border-radius: .62rem; background: #fffef9; box-shadow: 0 5px 16px rgba(47, 60, 30, .05); }.country-intelligence-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .6rem; }.country-intelligence-card { position: relative; display: grid; min-height: 6.5rem; align-content: start; gap: .22rem; padding: .78rem .82rem .75rem 1rem; overflow: hidden; border: 1px solid #cbd5b3; border-radius: .48rem; background: linear-gradient(135deg, #fffef9, #f4f7ec); color: #425133; text-decoration: none; }.country-intelligence-card::before { position: absolute; inset: .62rem auto .62rem 0; width: 4px; border-radius: 0 4px 4px 0; background: #778e4c; content: ""; }.country-intelligence-card.is-active::before { background: #2f78b8; }.country-intelligence-card.is-award::before { background: #a37b2d; }.country-intelligence-card.is-companies::before { background: #607d56; }.country-intelligence-card:hover { border-color: #768d4e; background: #f4f8e8; text-decoration: none; }.country-intelligence-card span { color: #65735a; font-size: .7rem; font-weight: 850; letter-spacing: .025em; text-transform: uppercase; }.country-intelligence-card strong { color: #354c29; font-size: 1.85rem; font-variant-numeric: tabular-nums; line-height: 1.05; }.country-intelligence-card small { color: #68755d; font-size: .71rem; line-height: 1.34; }.country-intelligence-actions { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: .8rem; }.master-how-it-works { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; margin: 1rem 0; }.master-how-it-works > div { display: grid; grid-template-columns: 1.75rem minmax(0, 1fr); grid-template-rows: auto auto; column-gap: .55rem; padding: .75rem; border: 1px solid #d2dac0; border-radius: .5rem; background: #f8f9f1; }.master-how-it-works span { grid-row: 1 / span 2; display: grid; width: 1.7rem; height: 1.7rem; place-items: center; border-radius: 50%; background: #566d36; color: #fffef6; font-size: .72rem; font-weight: 900; }.master-how-it-works strong { color: #3d4d2d; font-size: .79rem; }.master-how-it-works small { color: #69755d; font-size: .71rem; line-height: 1.35; }
.master-version-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); gap: .65rem; }.master-version-card { display: grid; align-content: start; gap: .32rem; min-height: 8.4rem; padding: .8rem; border: 1px solid #c8d2b0; border-radius: .5rem; background: #fafbf5; color: #455536; text-decoration: none; }.master-version-card:hover { border-color: #738b4c; background: #f3f7e9; text-decoration: none; }.master-version-card.is-current { border-color: #7b96c2; border-top: 4px solid #386cc0; background: linear-gradient(135deg, #f3f7ff, #fffde9); }.master-version-card strong { color: #354d7e; overflow-wrap: anywhere; }.master-version-card small { color: #65725b; font-size: .71rem; }.master-version-state { width: fit-content; padding: .16rem .46rem; border-radius: 999px; background: #e9edda; color: #50633a; font-size: .66rem; font-weight: 850; }.master-version-card.is-current .master-version-state { background: #dce9fc; color: #315a9c; }.master-version-action { margin-top: auto; color: #365c9d; font-size: .73rem; font-weight: 850; }.master-section-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)); gap: .65rem; }.master-section-card { overflow: hidden; border: 1px solid #cbd5b8; border-radius: .52rem; background: #fcfcf8; }.master-section-card > summary { display: grid; grid-template-columns: 1.85rem minmax(0, 1fr) auto; gap: .58rem; align-items: center; min-height: 4.5rem; padding: .72rem; cursor: pointer; list-style: none; }.master-section-card > summary::-webkit-details-marker { display: none; }.master-section-card > summary:hover { background: #f3f7e9; }.master-section-card > summary > span:nth-child(2) { display: grid; gap: .14rem; min-width: 0; }.master-section-card strong { overflow: hidden; color: #3c4d2c; font-size: .82rem; text-overflow: ellipsis; white-space: nowrap; }.master-section-card small { color: #6b775e; font-size: .69rem; }.master-section-number { display: grid; width: 1.72rem; height: 1.72rem; place-items: center; border: 1px solid #acbb8b; border-radius: 50%; background: #eef2e3; color: #4e6432; font-size: .7rem; font-weight: 900; }.master-section-toggle { padding: .26rem .46rem; border: 1px solid #b7c394; border-radius: 999px; background: #f1f4e8; color: #52683a; font-size: .67rem; font-weight: 850; }.master-section-card[open] { grid-column: 1 / -1; border-color: #879d5c; }.master-section-card[open] > summary { border-bottom: 1px solid #d7dfc4; background: #f2f6e8; }.master-section-card[open] .master-section-toggle { font-size: 0; }.master-section-card[open] .master-section-toggle::before { content: "Zwiń"; font-size: .67rem; }.master-section-card pre { max-height: 38rem; margin: 0; padding: .9rem; overflow: auto; background: #fffefb; color: #394137; font: .79rem/1.55 ui-monospace, SFMono-Regular, Consolas, monospace; white-space: pre-wrap; overflow-wrap: anywhere; }
@media (max-width: 900px) { .country-intelligence-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.master-how-it-works { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .market-master-upload-guide, .country-intelligence-grid { grid-template-columns: 1fr; }.market-master-upload-actions, .market-workspace-hero { align-items: stretch; flex-direction: column; }.market-master-upload-actions .button, .market-workspace-hero .button { width: 100%; text-align: center; }.market-workspace-hero-copy { align-items: flex-start; }.market-workspace-flag { width: 3.35rem; height: 3.35rem; }.country-intelligence-actions { display: grid; grid-template-columns: 1fr; }.country-intelligence-actions .button { width: 100%; text-align: center; }.master-section-grid { grid-template-columns: 1fr; }.master-section-card[open] { grid-column: auto; }.master-section-card > summary { grid-template-columns: 1.85rem minmax(0, 1fr); }.master-section-toggle { grid-column: 2; justify-self: start; }.master-section-card strong { white-space: normal; } }
.ukraine-radar-launcher .panel-header { align-items: center; }.ukraine-segment-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }.country-intelligence-card.is-demining::before { background: #a55635; }.country-intelligence-card.is-energy::before { background: #d18d21; }.country-intelligence-card.is-water::before { background: #2879ab; }.country-intelligence-card.is-reconstruction::before { background: #7c6a55; }.country-intelligence-card.is-logistics::before { background: #5a7d50; }.country-intelligence-card.is-funding::before { background: #7b5ca6; }.country-intelligence-actions > span { align-self: center; color: #627057; font-size: .76rem; font-weight: 750; }
.source-monitor-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }.source-monitor-card { border:1px solid #d8e2d1; background:#fff; border-radius:16px; padding:1.05rem; display:grid; gap:.9rem; box-shadow:0 7px 18px rgba(32,56,36,.05); }.source-monitor-card h3 { margin:.1rem 0 .35rem; font-size:1rem; }.source-monitor-card p { margin:0; color:#536553; }.source-monitor-card dl { margin:0; display:grid; grid-template-columns:1fr 1fr; gap:.6rem; }.source-monitor-card dt { color:#71806e; font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }.source-monitor-card dd { margin:.15rem 0 0; color:#283c2b; font-size:.81rem; overflow-wrap:anywhere; }.source-monitor-actions { display:flex; gap:.55rem; align-items:center; flex-wrap:wrap; }.source-monitor-actions form { margin:0; }.candidate-review-form { display:grid; grid-template-columns:minmax(140px,.65fr) minmax(200px,1.4fr) auto; gap:.6rem; align-items:end; margin-top:.85rem; padding-top:.8rem; border-top:1px solid #e2e9dd; }.candidate-review-form label { display:grid; gap:.28rem; color:#5c6d58; font-size:.75rem; font-weight:800; }.candidate-review-form input,.candidate-review-form select { min-width:0; border:1px solid #bfceb9; border-radius:8px; padding:.48rem .55rem; background:#fbfdf9; color:#253827; }
.brief-principle { margin:1rem 0; padding:1rem 1.1rem; border-left:5px solid #1a5e92; background:#eef6fc; color:#264b69; border-radius:10px; display:flex; gap:.7rem; align-items:center; flex-wrap:wrap; }.brief-principle span { font-size:.88rem; }.brief-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }.brief-card { display:flex; flex-direction:column; gap:.65rem; border:1px solid #d6e1d3; border-top:5px solid #517650; padding:1.15rem; border-radius:16px; background:#fff; box-shadow:0 8px 19px rgba(32,56,36,.05); }.brief-card.is-demining { border-top-color:#a55635; }.brief-card.is-energy { border-top-color:#d18d21; }.brief-card.is-water { border-top-color:#2879ab; }.brief-card.is-reconstruction { border-top-color:#7c6a55; }.brief-card.is-logistics { border-top-color:#5a7d50; }.brief-card.is-funding { border-top-color:#7b5ca6; }.brief-card h2 { margin:0; font-size:1.15rem; }.brief-card p { margin:0; color:#465946; }.brief-card .brief-strapline { color:#1e3820; font-weight:800; }.brief-card-footer { margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:.6rem; color:#61725f; font-size:.75rem; font-weight:800; }.brief-reading-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:1rem 0; }.brief-reading-grid article { border:1px solid #d8e1d5; background:#fff; padding:1.15rem; border-radius:14px; }.brief-reading-grid article h2 { margin:.1rem 0 .55rem; font-size:1.1rem; }.brief-reading-grid article p { margin:0; color:#405541; line-height:1.6; }.brief-reading-grid .brief-analysis { background:#fff8e8; border-color:#ead9a8; }.brief-reading-grid .brief-verify { background:#fff2ef; border-color:#e7c8bf; }.brief-evidence-panel { background:#f7faf5; border:1px solid #dce7d7; padding:1.15rem; border-radius:16px; margin:1rem 0; }.brief-chart-grid { display:grid; grid-template-columns:1.4fr .8fr; gap:1.2rem; }.brief-chart-grid article { background:#fff; border-radius:12px; padding:1rem; }.brief-chart-grid h3 { margin:0 0 .8rem; font-size:.95rem; }.brief-bar { display:grid; grid-template-columns:112px 1fr 24px; align-items:center; gap:.55rem; margin:.5rem 0; font-size:.78rem; color:#536651; }.brief-bar i { height:9px; overflow:hidden; border-radius:9px; background:#e5ece1; }.brief-bar b { display:block; height:100%; min-width:2px; border-radius:9px; background:#3c7b6a; }.brief-evidence-list { display:grid; gap:.45rem; margin:0; }.brief-evidence-list div { display:flex; justify-content:space-between; gap:.5rem; border-bottom:1px solid #e2e9de; padding-bottom:.38rem; }.brief-evidence-list dt { font-size:.78rem; color:#536653; }.brief-evidence-list dd { margin:0; color:#1e3b26; font-weight:800; }
.radar-hero { border-left-color: #925330; background: linear-gradient(122deg, #fff5e9, #eef4ff 76%); }.radar-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .65rem; margin: 1rem 0; }.radar-metrics > div { display: grid; min-height: 6.2rem; align-content: start; gap: .28rem; padding: .78rem .85rem; border: 1px solid #d1c8b2; border-radius: .52rem; background: #fffef9; box-shadow: 0 4px 13px rgba(65,52,32,.05); }.radar-metrics span { color: #6a695d; font-size: .69rem; font-weight: 850; letter-spacing: .035em; text-transform: uppercase; }.radar-metrics strong { color: #4b412e; font-size: 1.9rem; line-height: 1; font-variant-numeric: tabular-nums; }.radar-metrics small { color: #707064; font-size: .7rem; line-height: 1.35; }.radar-segment-nav,.radar-stage-nav { display: flex; flex-wrap: wrap; gap: .45rem; margin: .75rem 0; }.radar-segment-nav a,.radar-stage-nav a { display: inline-flex; min-height: 2.3rem; align-items: center; gap: .4rem; padding: .38rem .6rem; border: 1px solid #c9cdbb; border-radius: .38rem; background: #fbfbf6; color: #4f5d3c; font-size: .75rem; font-weight: 800; text-decoration: none; }.radar-segment-nav a:hover,.radar-stage-nav a:hover { border-color: #8a985f; background: #f2f5e8; text-decoration: none; }.radar-segment-nav a.is-active,.radar-stage-nav a.is-active { border-color: #76613c; background: #605535; color: #fffef1; }.radar-segment-nav span { display: grid; min-width: 1.25rem; height: 1.25rem; place-items: center; border-radius: 50%; background: rgba(255,255,255,.25); font-size: .66rem; }.radar-results,.radar-detail-panel { margin: 1rem 0; padding: 1rem 1.1rem; border: 1px solid #d3d2c1; border-radius: .62rem; background: #fffef9; }.radar-record-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 24rem), 1fr)); gap: .7rem; }.radar-record-card { display: grid; align-content: start; gap: .55rem; min-width: 0; padding: .86rem; border: 1px solid #d0d4c1; border-left: 4px solid #8a9870; border-radius: .5rem; background: linear-gradient(135deg, #fffefb, #f7f8f1); }.radar-record-card.evidence-v { border-left-color: #397448; }.radar-record-card.evidence-h { border-left-color: #b58428; }.radar-record-card.evidence-n { border-left-color: #9a673f; }.radar-record-card.evidence-c { border-left-color: #9b4150; }.radar-record-card.evidence-p { border-left-color: #7262a2; }.radar-record-top { display: flex; align-items: center; justify-content: space-between; gap: .45rem; }.radar-status,.radar-evidence { display: inline-flex; width: fit-content; padding: .17rem .42rem; border-radius: 999px; font-size: .65rem; font-weight: 850; }.radar-status { background: #eef0e4; color: #566547; }.radar-status.stage-active { background: #e2edf6; color: #2d638c; }.radar-status.stage-awarded { background: #e7f0dd; color: #3d662f; }.radar-status.stage-idea { background: #eee9f7; color: #62518e; }.radar-evidence { background: #f4ede0; color: #695f4e; text-align: right; }.radar-record-card h3 { margin: 0; color: #3e4f2e; font-size: 1rem; line-height: 1.3; }.radar-record-card > p:not(.eyebrow),.radar-detail-panel p { margin: 0; color: #596251; font-size: .78rem; line-height: 1.45; }.radar-amount { display: grid; gap: .08rem; padding: .52rem .6rem; border-left: 3px solid #897042; background: #f5f2e9; }.radar-amount strong { color: #574829; font-size: .94rem; }.radar-amount small { color: #716a5b; font-size: .68rem; }.radar-record-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .4rem; margin: 0; }.radar-record-facts div { min-width: 0; }.radar-record-facts dt { color: #798171; font-size: .64rem; font-weight: 850; text-transform: uppercase; }.radar-record-facts dd { margin: .1rem 0 0; color: #45513b; font-size: .71rem; line-height: 1.32; overflow-wrap: anywhere; }.radar-record-actions { margin-top: auto; }.radar-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }.radar-detail-grid article { min-height: 7rem; padding: .8rem; border: 1px solid #d5d8c8; border-radius: .48rem; background: #fbfbf6; }.radar-detail-grid h3 { margin: 0 0 .32rem; color: #4b5b36; font-size: .8rem; }.radar-detail-grid small { color: #70796a; font-size: .71rem; }.empty-state { padding: 1rem; color: #627058; }
.radar-strategy-guide { display:flex; align-items:flex-start; gap:.55rem; margin:.8rem 0; padding:.65rem .72rem; border:1px solid #bed0b7; border-left:4px solid #4d7b4d; border-radius:.5rem; background:#f2f8ee; color:#4d6049; font-size:.74rem; line-height:1.4; }.radar-strategy-guide strong { flex:0 0 auto; color:#315834; }.radar-strategic-signal { border:1px solid #cad9c4; border-radius:.48rem; background:#f8fbf5; }.radar-strategic-signal summary { display:flex; align-items:center; justify-content:space-between; gap:.5rem; padding:.55rem .6rem; color:#3f643b; cursor:pointer; font-size:.73rem; font-weight:850; list-style:none; }.radar-strategic-signal summary::-webkit-details-marker { display:none; }.radar-strategic-signal summary strong { padding:.16rem .36rem; border-radius:999px; background:#e3efdf; color:#41663d; font-size:.63rem; text-align:right; }.radar-strategic-signal[open] summary { border-bottom:1px solid #d5e1cf; background:#eef6e9; }.radar-strategic-content { display:grid; gap:.55rem; padding:.62rem; }.radar-strategic-content > p,.radar-strategic-content p { margin:0; color:#5a6a56; font-size:.72rem; line-height:1.42; }.radar-strategic-content > div:not(.radar-strategic-angle) { padding:.5rem .55rem; border-left:3px solid #7c9b70; background:#fff; }.radar-strategic-content > div:nth-child(3) { border-left-color:#b98639; background:#fffaf0; }.radar-strategic-content h4 { margin:0 0 .2rem; color:#4a603f; font-size:.68rem; text-transform:uppercase; letter-spacing:.035em; }.radar-strategic-content ul { margin:.1rem 0 0; padding-left:1rem; color:#596553; font-size:.7rem; line-height:1.38; }.radar-strategic-angle { padding:.52rem .55rem; border:1px solid #d8e1d3; border-radius:.35rem; background:#f4f8f1; }.radar-detail-grid .radar-detail-strategy { border-color:#b9d1b3; background:#f1f8ed; }
@media (max-width: 980px) { .ukraine-segment-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.radar-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .ukraine-radar-launcher .panel-header { align-items: stretch; flex-direction: column; }.ukraine-radar-launcher .panel-header .button { width: 100%; text-align: center; }.ukraine-segment-grid,.radar-metrics,.radar-detail-grid,.source-monitor-grid,.brief-card-grid,.brief-reading-grid,.brief-chart-grid { grid-template-columns: 1fr; }.radar-record-grid { grid-template-columns: 1fr; }.radar-record-facts { grid-template-columns: 1fr; }.radar-record-top { align-items: flex-start; flex-direction: column; }.candidate-review-form { grid-template-columns:1fr; }.candidate-review-form .button { width:100%; }.brief-card-footer { align-items:stretch; flex-direction:column; }.brief-card-footer .button { text-align:center; }.brief-bar { grid-template-columns:96px 1fr 24px; } }
@media (max-width: 760px) { .country-workspace-launcher { align-items: stretch; flex-direction: column; padding: .88rem; }.country-workspace-launcher .header-actions { width: 100%; }.country-workspace-launcher .button { flex: 1 1 12rem; text-align: center; }.market-workspace-grid { grid-template-columns: 1fr; }.market-master-upload > summary { align-items: flex-start; } }
@media (max-width: 640px) { .market-workspace-hero-copy { align-items: flex-start; flex-direction: column; gap: .7rem; } }
.market-case-form { margin:1rem 0; }.market-case-form-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem; margin:.8rem 0; }.market-case-form-grid label { display:grid; gap:.28rem; min-width:0; color:#57654d; font-size:.73rem; font-weight:850; }.market-case-form-grid input,.market-case-form-grid select,.market-case-form-grid textarea { min-width:0; border:1px solid #bdceb8; border-radius:.45rem; padding:.52rem .58rem; background:#fcfdf9; color:#263a29; font:inherit; }.market-case-form-grid textarea { resize:vertical; }.market-case-wide { grid-column:1 / -1; }.case-edit { margin-top:.25rem; border-top:1px solid #dde4d6; }.case-edit summary,.funding-card summary { cursor:pointer; padding:.6rem 0; color:#4e623e; font-size:.75rem; font-weight:850; }.case-edit form { padding:.2rem 0 .1rem; }.case-priority-critical { border-left-color:#a3343f; }.case-priority-high { border-left-color:#bc7d29; }.case-priority-low { border-left-color:#71916a; }.funding-disclaimer { margin:1rem 0; padding:.75rem .9rem; border:1px solid #d7c99f; border-left:4px solid #a37c32; border-radius:.5rem; background:#fff9e9; color:#5f563c; font-size:.8rem; line-height:1.45; }.funding-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr)); gap:.75rem; }.funding-card { display:grid; align-content:start; gap:.58rem; min-width:0; padding:.9rem; border:1px solid #cbd5c3; border-left:4px solid #557a61; border-radius:.6rem; background:linear-gradient(135deg,#fffefb,#f2f7f0); }.funding-card.is-stale { border-left-color:#b77a29; background:linear-gradient(135deg,#fffdf7,#fff3dc); }.funding-card h3 { margin:0; color:#38513a; font-size:1rem; line-height:1.3; }.funding-card > p { margin:0; color:#586855; font-size:.78rem; line-height:1.43; }.funding-type { color:#6b755c!important; font-size:.71rem!important; font-weight:800; }.funding-card details { border-top:1px solid #dce3d6; }.funding-card details p { margin:.28rem 0; color:#5b6755; font-size:.75rem; line-height:1.42; }.radar-record-actions { display:flex; flex-wrap:wrap; gap:.45rem; }.radar-status.stage-qualify,.radar-status.stage-prepare,.radar-status.stage-partner,.radar-status.stage-bid { background:#e2edf6; color:#2c628b; }.radar-status.stage-hold { background:#f3eddf; color:#78613a; }.radar-status.stage-discarded { background:#f2e9e8; color:#824550; }
@media (max-width:760px) { .market-case-form-grid { grid-template-columns:1fr; }.market-case-wide { grid-column:auto; }.funding-grid { grid-template-columns:1fr; } }
.dashboard-command-center-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: .85rem; }.dashboard-command-center h2 { margin: .1rem 0 .25rem; color: #30401f; font-size: 1.24rem; }.dashboard-command-center p:not(.eyebrow) { max-width: 770px; margin: 0; color: #5e694f; font-size: .84rem; line-height: 1.43; }
.dashboard-command-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .65rem; }.dashboard-command-grid a { position: relative; display: grid; min-width: 0; min-height: 6.3rem; align-content: start; gap: .25rem; padding: .78rem .85rem; overflow: hidden; border: 1px solid #bdc8a1; border-radius: .45rem; background: rgba(255,255,250,.86); color: #3b492a; text-decoration: none; }.dashboard-command-grid a::before { position: absolute; inset: 0 auto 0 0; width: 3px; background: #687d42; content: ""; }.dashboard-command-grid a:hover { border-color: #71834b; background: #f8faed; text-decoration: none; }.dashboard-command-grid span { color: #5e6a4e; font-size: .72rem; font-weight: 820; text-transform: uppercase; letter-spacing: .035em; }.dashboard-command-grid strong { color: #314220; font-size: 1.8rem; line-height: 1; font-variant-numeric: tabular-nums; }.dashboard-command-grid small { color: #667258; font-size: .72rem; line-height: 1.32; }
.dashboard-insights { margin: 1rem 0; border: 1px solid #c8d1af; border-radius: .58rem; background: #fcfbf6; }.dashboard-insights > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 4.2rem; padding: .8rem 1rem; color: #40502c; cursor: pointer; list-style: none; }.dashboard-insights > summary::-webkit-details-marker { display: none; }.dashboard-insights > summary > span { display: grid; gap: .12rem; }.dashboard-insights > summary > span:last-child { flex: 0 0 auto; padding: .3rem .52rem; border: 1px solid #b3bd93; border-radius: 999px; background: #f0f3e4; color: #566840; font-size: .72rem; font-weight: 850; }.dashboard-insights > summary > span:last-child::after { content: ""; }.dashboard-insights > summary strong { color: #354324; }.dashboard-insights > summary small { color: #6a745e; font-size: .75rem; }.dashboard-insights[open] > summary { border-bottom: 1px solid #d5dbc1; background: #f3f5e9; }.dashboard-insights[open] > summary > span:last-child { font-size: 0; }.dashboard-insights[open] > summary > span:last-child::before { content: "Zwiń"; font-size: .72rem; }.dashboard-insights-content { padding: .1rem 1rem 1rem; }

/* Event work is one continuous route: filter exhibitors, plan visits, map
   stands, capture meetings, then close the event with a report. */
.event-workflow-nav { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .55rem; margin: .1rem 0 1rem; padding: .7rem; border: 1px solid #c3ccaa; border-radius: .58rem; background: #f7f8ef; }.event-workflow-nav a { display: grid; grid-template-columns: 1.7rem minmax(0, 1fr); grid-template-rows: auto auto; column-gap: .42rem; align-items: center; min-width: 0; min-height: 4.25rem; padding: .55rem .6rem; border: 1px solid #d1d9b9; border-radius: .42rem; background: #fffef9; color: #445431; text-decoration: none; }.event-workflow-nav a:hover { border-color: #81915a; background: #f0f4e4; text-decoration: none; }.event-workflow-nav a.is-active { border-color: #78894d; background: linear-gradient(135deg, #e8edd7, #fdfcf7); box-shadow: inset 3px 0 0 #718348; }.event-workflow-nav span { grid-row: 1 / span 2; display: grid; width: 1.7rem; height: 1.7rem; place-items: center; border: 1px solid #a7b58a; border-radius: 50%; background: #edf1df; color: #40502a; font-size: .78rem; font-weight: 900; }.event-workflow-nav strong { overflow: hidden; color: #3a4829; font-size: .78rem; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }.event-workflow-nav small { overflow: hidden; color: #6b755e; font-size: .67rem; text-overflow: ellipsis; white-space: nowrap; }

/* Current location in the grouped sidebar must be unmistakable even when a
   user is moving quickly between cards and modules. */
.sidebar .nav-home.is-active,
.sidebar .nav-ukraine-shortcut.is-active,
.sidebar .nav-ai-shortcut.is-active,
.sidebar .nav-group-links a.is-active {
    position: relative;
    min-height: 2.35rem;
    padding-left: .82rem;
    border: 1px solid rgba(239,233,155,.72);
    background: linear-gradient(90deg, rgba(181,183,99,.54), rgba(113,129,55,.28));
    color: #fffef2;
    font-size: .83rem;
    font-weight: 850;
    letter-spacing: .01em;
    box-shadow: inset 4px 0 0 #fff09a, 0 0 0 1px rgba(49,61,27,.5), 0 5px 13px rgba(0,0,0,.18);
    text-shadow: 0 1px 1px rgba(22,29,11,.7);
}
.sidebar .nav-home.is-active::before,
.sidebar .nav-ukraine-shortcut.is-active::before,
.sidebar .nav-ai-shortcut.is-active::before,
.sidebar .nav-group-links a.is-active::before {
    flex-basis: .45rem;
    width: .45rem;
    height: .45rem;
    border-color: #fff5ad;
    background: #fff09a;
    box-shadow: 0 0 0 .22rem rgba(255,240,154,.2), 0 0 11px rgba(255,240,154,.35);
}
.sidebar .nav-home.is-active:hover,
.sidebar .nav-ukraine-shortcut.is-active:hover,
.sidebar .nav-ai-shortcut.is-active:hover,
.sidebar .nav-group-links a.is-active:hover { background: linear-gradient(90deg, rgba(194,195,104,.66), rgba(123,140,59,.35)); }

/* Voice commands are optional browser-side speech-to-text controls for the
   AI question fields. They remain distinct from the primary submit action. */
.button-voice {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .38rem;
    white-space: nowrap;
    color: #42512b;
    border-color: #87965a;
    background: #f8f8ed;
}
.button-voice:hover:not(:disabled) { background: #edf1d6; border-color: #60763c; }
.button-voice.is-listening { color: #fffef0; border-color: #8f2630; background: #9b3340; box-shadow: 0 0 0 .2rem rgba(155,51,64,.16); animation: dic-voice-pulse 1.35s ease-in-out infinite; }
.button-voice:disabled { cursor: not-allowed; opacity: .62; }
.voice-command-status { margin: 0; color: #68705c; font-size: .73rem; line-height: 1.42; }
.voice-command-status::before { content: '🎙'; margin-right: .3rem; }
@keyframes dic-voice-pulse { 50% { box-shadow: 0 0 0 .38rem rgba(155,51,64,0); } }
@media (max-width: 760px) { .assistant-composer-actions .button-voice { width: 100%; } }

/* The continuation field must remain visible above a long list of result cards.
   It keeps the selected conversation context but never submits automatically. */
.assistant-chat { overflow: visible; }
.assistant-follow-up-composer {
    position: sticky;
    z-index: 7;
    top: .65rem;
    bottom: auto;
    border: 1px solid #aebd79;
    border-radius: .62rem;
    background: rgba(252,252,242,.98);
    box-shadow: 0 8px 24px rgba(49,60,32,.16);
}
.assistant-follow-up-composer textarea { min-height: 3.65rem; }
@media (max-width: 760px) { .assistant-follow-up-composer { top: .35rem; border-radius: .45rem; } }

/* KOMAZ compliance roadmap: intentionally keeps the source, action and cost
   together so a required document is not mistaken for a generic certificate. */
.roadmap-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.8rem; margin:0 0 1.1rem; }
.roadmap-summary-card { min-height:8.2rem; padding:.85rem .95rem; border:1px solid #cdd5b5; border-radius:.6rem; background:rgba(255,255,250,.8); box-shadow:0 4px 14px rgba(52,62,32,.05); }
.roadmap-summary-card span,.roadmap-step-meta { color:#71805d; font-size:.69rem; font-weight:850; letter-spacing:.055em; text-transform:uppercase; }
.roadmap-summary-card strong { display:block; margin:.3rem 0; color:#354324; font-size:1.02rem; line-height:1.22; }
.roadmap-summary-card p { margin:0; color:#5f6954; font-size:.78rem; line-height:1.42; }
.roadmap-summary-now { border-color:#899b58; background:linear-gradient(135deg,#f5f7e8,#e9efd4); }
.compliance-quick-guide { margin-bottom:1.15rem; }
.roadmap-top-list { display:grid; gap:.65rem; margin:0; padding:0; list-style:none; counter-reset:roadmap-top; }
.roadmap-top-list li { position:relative; min-height:2.7rem; padding:.2rem 0 .2rem 2.6rem; color:#4b5741; line-height:1.48; counter-increment:roadmap-top; }
.roadmap-top-list li::before { position:absolute; left:0; top:.05rem; display:grid; width:1.82rem; height:1.82rem; place-items:center; border-radius:50%; background:#536738; color:#fffef2; content:counter(roadmap-top); font-size:.79rem; font-weight:850; }
.roadmap-section { margin:1.45rem 0; }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:.8rem; margin:0 0 .7rem; padding:0 .15rem .55rem; border-bottom:1px solid #cfd7ba; }
.section-heading h2 { margin:.05rem 0 0; color:#303d24; }
.status-now { border-color:#728b43; background:#e4edcb; color:#3b5523; }
.status-prepare { border-color:#8f966e; background:#eff1e5; color:#566047; }
.roadmap-step-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,27rem),1fr)); gap:.9rem; }
.roadmap-step-card { display:grid; align-content:start; gap:.68rem; padding:1rem; border:1px solid #c8d0b0; border-radius:.65rem; background:rgba(255,255,251,.9); box-shadow:0 5px 15px rgba(47,59,29,.05); }
.roadmap-step-meta { display:flex; justify-content:space-between; gap:.5rem; }
.roadmap-step-card h3 { margin:0; color:#344225; font-size:1.03rem; line-height:1.3; }
.roadmap-step-card p { margin:0; color:#5b6651; font-size:.83rem; line-height:1.48; }
.roadmap-why { padding:.58rem .65rem; border-left:3px solid #85994f; background:#f1f4e7; }
.roadmap-step-card details { border-top:1px solid #dbe0cb; padding-top:.62rem; }
.roadmap-step-card summary,.roadmap-admin-details summary { cursor:pointer; color:#465630; font-size:.8rem; font-weight:850; }
.roadmap-step-card .check-list { margin:.35rem 0 0; color:#59624e; font-size:.8rem; line-height:1.44; }
.roadmap-step-card .check-list li { margin:.28rem 0; }
.roadmap-source { margin-top:.1rem; font-size:.8rem; }
.roadmap-admin-details { padding:.1rem 0; }
.roadmap-admin-details form { margin-top:1rem; }
.compliance-quick-link { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1rem; border-color:#b8c68a; background:linear-gradient(90deg,#f4f7e9,#fffef8); }
.compliance-quick-link strong { color:#354324; }.compliance-quick-link p { margin:.28rem 0 0; color:#68715b; font-size:.82rem; line-height:1.42; }
@media (max-width: 1180px) { .roadmap-summary { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 680px) { .roadmap-summary { grid-template-columns:1fr; }.roadmap-step-grid { grid-template-columns:1fr; }.roadmap-step-meta { align-items:flex-start; flex-direction:column; gap:.18rem; }.section-heading,.compliance-quick-link { align-items:flex-start; flex-direction:column; }.roadmap-summary-card { min-height:0; }.compliance-quick-link .button { width:100%; } }

/* Assistant embedded in the KOMAZ compliance roadmap. It deliberately shows
   the source list beside every answer so an AI summary is never mistaken for
   a certification, legal opinion or tender qualification decision. */
.compliance-ai-panel { scroll-margin-top:1rem; border-color:#b7c58b; background:linear-gradient(135deg,rgba(249,250,240,.98),rgba(239,244,219,.8)); }
.compliance-ai-heading { align-items:flex-start; gap:1rem; }.compliance-ai-heading .assistant-security-badge { margin-left:auto; }
.compliance-ai-shell { display:grid; grid-template-columns:15rem minmax(0,1fr); margin-top:.7rem; overflow:hidden; border:1px solid #d3dcc0; border-radius:.65rem; background:rgba(255,255,252,.86); }
.compliance-ai-history { display:grid; align-content:start; gap:.65rem; padding:1rem; border-right:1px solid #dbe2cb; background:rgba(237,243,216,.66); }.compliance-ai-history .eyebrow { margin:.5rem 0 0; }.compliance-ai-history nav { display:grid; gap:.35rem; }.compliance-ai-history nav a { display:grid; gap:.18rem; padding:.58rem .65rem; border:1px solid transparent; border-radius:.45rem; color:#445039; text-decoration:none; }.compliance-ai-history nav a:hover,.compliance-ai-history nav a.is-active { border-color:#aeba7b; background:#fffef8; }.compliance-ai-history nav strong { display:-webkit-box; overflow:hidden; -webkit-line-clamp:2; -webkit-box-orient:vertical; font-size:.76rem; line-height:1.32; }.compliance-ai-history nav small { color:#738066; font-size:.68rem; }
.compliance-ai-chat { display:grid; min-height:18rem; }.compliance-ai-empty { display:grid; align-content:center; gap:.8rem; padding:1.2rem; color:#475440; }.compliance-ai-prompts { display:flex; flex-wrap:wrap; gap:.5rem; }.compliance-ai-prompts button { border:1px solid #b6c287; border-radius:.45rem; background:#f8faed; color:#43522f; cursor:pointer; padding:.55rem .65rem; font:inherit; font-size:.77rem; font-weight:750; }.compliance-ai-prompts button:hover { background:#e8efcf; }
.compliance-ai-thread { display:grid; gap:.85rem; max-height:34rem; overflow:auto; padding:1rem; }.compliance-ai-message { display:grid; grid-template-columns:2.25rem minmax(0,1fr); gap:.65rem; align-items:start; }.compliance-ai-message > div:last-child { max-width:70rem; padding:.78rem .9rem; border:1px solid #d7dfc2; border-radius:.6rem; background:#fffef9; }.compliance-ai-message-user { grid-template-columns:minmax(0,1fr) 2.25rem; }.compliance-ai-message-user .compliance-ai-avatar { grid-column:2; }.compliance-ai-message-user > div:last-child { grid-column:1; grid-row:1; justify-self:end; background:#eff4dd; border-color:#c3cf9b; }.compliance-ai-message p { margin:0; color:#3e4935; font-size:.84rem; line-height:1.5; }.compliance-ai-message small { display:block; margin-top:.5rem; color:#74806a; font-size:.68rem; }.compliance-ai-avatar { display:grid; width:2.25rem; height:2.25rem; place-items:center; border-radius:.6rem; background:#526834; color:#fffef6; font-size:.7rem; font-weight:850; }.compliance-ai-message-user .compliance-ai-avatar { background:#8d9c5e; }.compliance-ai-sources { display:flex; flex-wrap:wrap; align-items:center; gap:.35rem .55rem; margin-top:.65rem; padding-top:.55rem; border-top:1px solid #e1e6d1; color:#657158; font-size:.7rem; }.compliance-ai-sources strong { color:#556347; }.compliance-ai-sources a { color:#3e5f2b; font-weight:750; }
.compliance-ai-composer { display:grid; gap:.55rem; margin-top:auto; padding:1rem; border-top:1px solid #dbe2cb; background:rgba(252,253,247,.95); }.compliance-ai-composer textarea { min-height:78px; resize:vertical; }
@media (max-width: 880px) { .compliance-ai-shell { grid-template-columns:1fr; }.compliance-ai-history { border-right:0; border-bottom:1px solid #dbe2cb; }.compliance-ai-history nav { grid-template-columns:repeat(auto-fit,minmax(12rem,1fr)); }.compliance-ai-heading .assistant-security-badge { margin-left:0; } }
@media (max-width: 680px) { .compliance-ai-heading { flex-direction:column; }.compliance-ai-thread { max-height:none; padding:.8rem; }.compliance-ai-message,.compliance-ai-message-user { grid-template-columns:2rem minmax(0,1fr); }.compliance-ai-message-user .compliance-ai-avatar { grid-column:1; grid-row:auto; }.compliance-ai-message-user > div:last-child { grid-column:2; grid-row:auto; justify-self:stretch; }.compliance-ai-avatar { width:2rem; height:2rem; }.compliance-ai-composer { padding:.8rem; } }

/* AI defence radar: source-first cards, built to remain usable in a narrow
   split-screen. Labels show the type of evidence before the capability text. */
.ai-radar-dashboard { margin:1.1rem 0; padding:1rem; border:1px solid #bdca94; border-radius:.72rem; background:linear-gradient(135deg,rgba(246,249,232,.95),rgba(255,255,249,.9)); box-shadow:0 6px 20px rgba(49,59,30,.05); }
.ai-radar-dashboard-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }.ai-radar-dashboard-heading h2 { margin:.08rem 0 .35rem; color:#344224; }.ai-radar-dashboard-heading p:not(.eyebrow) { max-width:65rem; margin:0; color:#66715b; font-size:.82rem; line-height:1.45; }
.ai-radar-dashboard-metrics,.ai-radar-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.65rem; margin-top:1rem; }.ai-radar-dashboard-metrics a,.ai-radar-metrics > a { position:relative; display:grid; align-content:start; gap:.28rem; min-height:6.4rem; overflow:hidden; padding:.76rem .8rem .72rem .95rem; border:1px solid #ccd6b2; border-radius:.55rem; background:rgba(255,255,251,.9); color:#49553d; text-decoration:none; }.ai-radar-dashboard-metrics a::before,.ai-radar-metrics > a::before { position:absolute; top:.62rem; bottom:.62rem; left:0; width:3px; border-radius:0 3px 3px 0; background:#788f48; content:""; }.ai-radar-dashboard-metrics a:hover,.ai-radar-metrics > a:hover { border-color:#839a51; background:#f3f7e5; transform:translateY(-1px); }.ai-radar-dashboard-metrics span,.ai-radar-metrics span { color:#6b765d; font-size:.68rem; font-weight:850; letter-spacing:.045em; text-transform:uppercase; }.ai-radar-dashboard-metrics strong,.ai-radar-metrics strong { color:#354524; font-size:1.8rem; font-variant-numeric:tabular-nums; line-height:1.05; }.ai-radar-dashboard-metrics small,.ai-radar-metrics small { color:#68735d; font-size:.72rem; line-height:1.35; }
.ai-radar-dashboard-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr)); gap:.55rem; margin-top:.78rem; }.ai-radar-dashboard-list a { display:grid; gap:.2rem; min-width:0; padding:.62rem .72rem; border-left:3px solid #829750; background:#f4f6e9; color:#4d5a3e; text-decoration:none; }.ai-radar-dashboard-list a:hover { background:#eaf0d8; }.ai-radar-dashboard-list span { overflow:hidden; color:#718063; font-size:.7rem; text-overflow:ellipsis; white-space:nowrap; }.ai-radar-dashboard-list strong { display:-webkit-box; overflow:hidden; color:#40532d; -webkit-box-orient:vertical; -webkit-line-clamp:2; font-size:.76rem; line-height:1.35; }
.ai-radar-page-header { margin-bottom:1rem; }.ai-radar-disclaimer { margin:0 0 1rem; }.ai-radar-metrics { margin:0 0 1rem; }.ai-radar-filters { margin:0 0 1.15rem; overflow:hidden; }.ai-radar-filters > summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; cursor:pointer; padding:.85rem 1rem; list-style:none; }.ai-radar-filters > summary::-webkit-details-marker { display:none; }.ai-radar-filters > summary > span:first-child { display:grid; gap:.16rem; }.ai-radar-filters > summary strong { color:#40512d; }.ai-radar-filters > summary small { color:#738068; font-size:.74rem; }.ai-radar-filters[open] > summary { border-bottom:1px solid #d8dfc3; background:#f4f6e9; }.filter-summary { padding:.22rem .5rem; border-radius:999px; background:#e5ebd3; color:#53633c; font-size:.7rem; font-weight:850; white-space:nowrap; }.ai-radar-filter-form { display:grid; grid-template-columns:1.4fr repeat(3,minmax(10rem,1fr)) auto; gap:.65rem; align-items:end; padding:1rem; }.ai-radar-filter-form label { display:grid; gap:.28rem; min-width:0; color:#59654b; font-size:.73rem; font-weight:850; }.ai-radar-filter-form input,.ai-radar-filter-form select { min-width:0; }.ai-radar-filter-actions { display:flex; flex-wrap:wrap; gap:.45rem; }
.ai-radar-komaz { display:grid; grid-template-columns:minmax(15rem,.7fr) minmax(0,2fr); gap:1rem; margin:1rem 0 1.35rem; padding:1rem; border:1px solid #bbc98c; border-radius:.7rem; background:linear-gradient(110deg,#e9efd8,#fbfcf4); }.ai-radar-komaz h2 { margin:.12rem 0; color:#344322; }.ai-radar-komaz-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem; }.ai-radar-komaz-grid article { padding:.75rem .8rem; border:1px solid #ced8b4; border-radius:.52rem; background:rgba(255,255,252,.76); }.ai-radar-komaz-grid strong { color:#40532c; font-size:.83rem; }.ai-radar-komaz-grid p { margin:.38rem 0 0; color:#5c6850; font-size:.76rem; line-height:1.43; }
.ai-radar-section { margin:1.3rem 0; }.ai-radar-profile-grid,.ai-radar-article-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr)); gap:.85rem; }.ai-radar-profile-card,.ai-radar-article-card { display:grid; align-content:start; gap:.64rem; min-width:0; padding:1rem; border:1px solid #ced7b8; border-radius:.65rem; background:rgba(255,255,251,.93); box-shadow:0 5px 14px rgba(50,60,30,.045); }.ai-radar-profile-top { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.4rem; }.ai-radar-profile-card h3,.ai-radar-article-card h3 { margin:0; color:#374629; font-size:1.03rem; line-height:1.3; }.ai-radar-profile-card > p,.ai-radar-article-card p { margin:0; color:#5a6650; font-size:.81rem; line-height:1.48; }.ai-radar-location { color:#78836b!important; font-size:.73rem!important; }.ai-radar-relevance { padding:.23rem .45rem; border-radius:999px; background:#edf0df; color:#5c6a48; font-size:.68rem; font-weight:800; }.ai-evidence-company_declaration { border-color:#dfb879!important; background:#fcf1d9!important; color:#805e22!important; }.ai-evidence-public_source { border-color:#a6c4a0!important; background:#e7f1e2!important; color:#426748!important; }.ai-evidence-implementation_confirmed { border-color:#7ba189!important; background:#dcefe4!important; color:#2e5c43!important; }.ai-evidence-needs_review { border-color:#c6c9bd!important; background:#eff0eb!important; color:#626859!important; }.ai-radar-tags { display:flex; flex-wrap:wrap; gap:.35rem; }.ai-radar-tags span { padding:.23rem .45rem; border:1px solid #d5dcc0; border-radius:999px; background:#f3f5e9; color:#576445; font-size:.68rem; font-weight:800; }.ai-radar-evidence { padding:.62rem .68rem; border-left:3px solid #b9a054; background:#fbf5e7; color:#665a42!important; font-size:.75rem!important; }.ai-radar-profile-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.55rem; margin-top:auto; }.ai-radar-profile-actions .button { font-size:.75rem; }.ai-radar-profile-card small { color:#748069; font-size:.68rem; line-height:1.4; }.ai-radar-article-meta { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.35rem .65rem; color:#718060; font-size:.7rem; font-weight:800; }.ai-radar-article-meta time { font-weight:700; }.ai-radar-article-card h3 a { color:#40592c; text-decoration:none; }.ai-radar-article-card h3 a:hover { text-decoration:underline; }
.ai-radar-sources { margin-top:1.35rem; }.ai-radar-source-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr)); gap:.7rem; }.ai-radar-source-grid article { display:grid; align-content:start; gap:.48rem; min-width:0; padding:.8rem; border:1px solid #d3dbc0; border-radius:.55rem; background:#fbfcf5; }.ai-radar-source-grid article > div { display:grid; gap:.18rem; }.ai-radar-source-grid span { color:#7b866a; font-size:.66rem; font-weight:850; letter-spacing:.045em; text-transform:uppercase; }.ai-radar-source-grid strong { color:#40502e; }.ai-radar-source-grid p { margin:0; color:#647059; font-size:.75rem; line-height:1.42; }.ai-radar-source-grid small { color:#79836f; font-size:.69rem; }.ai-radar-source-grid a { color:#48612f; font-size:.74rem; font-weight:800; }
@media (max-width:1180px) { .ai-radar-dashboard-metrics,.ai-radar-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }.ai-radar-filter-form { grid-template-columns:repeat(2,minmax(0,1fr)); }.ai-radar-komaz { grid-template-columns:1fr; }.ai-radar-komaz-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:700px) { .ai-radar-dashboard,.ai-radar-komaz { padding:.8rem; }.ai-radar-dashboard-heading { flex-direction:column; }.ai-radar-dashboard-heading .header-actions { width:100%; }.ai-radar-dashboard-heading .button { flex:1 1 11rem; }.ai-radar-dashboard-metrics,.ai-radar-metrics,.ai-radar-komaz-grid,.ai-radar-filter-form { grid-template-columns:1fr; }.ai-radar-filter-actions .button { flex:1 1 9rem; }.ai-radar-profile-grid,.ai-radar-article-grid { grid-template-columns:1fr; }.ai-radar-profile-actions .button { flex:1 1 12rem; }.ai-radar-profile-actions .text-link { padding:.45rem 0; }.ai-radar-filters > summary { align-items:flex-start; }.ai-radar-page-header .header-actions { width:100%; }.ai-radar-page-header .button { flex:1 1 12rem; } }

/* Competitive-intelligence radar. The warm accent differentiates this
   decision view from sales opportunities, while candidate evidence remains
   visibly separate from a manually confirmed competitor. */
.sidebar .nav-competitors { border-color:rgba(221,187,102,.4); background:linear-gradient(90deg,rgba(126,91,34,.2),rgba(95,112,45,.15)); color:#fff1c9; font-weight:850; }.sidebar .nav-competitors:hover { background:linear-gradient(90deg,rgba(151,111,40,.3),rgba(101,122,48,.2)); }.sidebar .nav-competitors.is-active { border-color:#f0cc75; background:linear-gradient(90deg,rgba(166,119,39,.62),rgba(113,128,50,.35)); }.sidebar .nav-competitors.is-active::before { border-color:#fff0aa; background:#f6d77a; box-shadow:0 0 0 .22rem rgba(246,215,122,.2),0 0 11px rgba(246,215,122,.35); }
.competitor-disclaimer { margin:0 0 1rem; }.competitor-metrics { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.65rem; margin:0 0 1rem; }.competitor-metrics a { position:relative; display:grid; align-content:start; gap:.28rem; min-height:6.15rem; overflow:hidden; padding:.75rem .8rem .72rem .96rem; border:1px solid #d9c89c; border-radius:.55rem; background:rgba(255,253,246,.94); color:#4f513d; text-decoration:none; }.competitor-metrics a::before { position:absolute; top:.62rem; bottom:.62rem; left:0; width:3px; border-radius:0 3px 3px 0; background:#a7782d; content:""; }.competitor-metrics a:hover,.competitor-metrics a.is-active { border-color:#a77c35; background:#fbf3df; }.competitor-metrics span { color:#7a7059; font-size:.68rem; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }.competitor-metrics strong { color:#514220; font-size:1.78rem; font-variant-numeric:tabular-nums; line-height:1.05; }.competitor-metrics small { color:#716956; font-size:.72rem; line-height:1.33; }
.competitor-filters { margin:0 0 1rem; overflow:hidden; }.competitor-filters > summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.82rem 1rem; cursor:pointer; list-style:none; }.competitor-filters > summary::-webkit-details-marker { display:none; }.competitor-filters > summary > span:first-child { display:grid; gap:.16rem; }.competitor-filters > summary strong { color:#4d452f; }.competitor-filters > summary small { color:#756e5e; font-size:.74rem; }.competitor-filters > summary > span:last-child { padding:.22rem .5rem; border-radius:999px; background:#f1e6cb; color:#775c28; font-size:.7rem; font-weight:850; white-space:nowrap; }.competitor-filters[open] > summary { border-bottom:1px solid #e2d7ba; background:#fcf6e9; }.competitor-filter-form { display:grid; grid-template-columns:1.45fr repeat(5,minmax(9rem,1fr)) auto; gap:.62rem; align-items:end; padding:1rem; }.competitor-filter-form label { display:grid; gap:.28rem; min-width:0; color:#5f5a49; font-size:.72rem; font-weight:850; }.competitor-filter-form input,.competitor-filter-form select { min-width:0; }.competitor-filter-form .competitor-exhibitor-filter { display:flex; align-items:center; gap:.4rem; min-height:2.3rem; padding-bottom:.1rem; }.competitor-filter-actions { display:flex; flex-wrap:wrap; gap:.42rem; }
.competitor-intelligence-guide { display:grid; grid-template-columns:minmax(15rem,.85fr) minmax(0,2.5fr); gap:1rem; margin:1rem 0 1.3rem; padding:1rem; border:1px solid #d7c28d; border-radius:.7rem; background:linear-gradient(110deg,#faf2df,#fffffa); }.competitor-intelligence-guide h2 { margin:.12rem 0; color:#4e4025; }.competitor-intelligence-guide > div:last-child { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.6rem; }.competitor-intelligence-guide article { padding:.7rem .75rem; border:1px solid #e4d7b9; border-radius:.5rem; background:rgba(255,255,252,.8); }.competitor-intelligence-guide strong { display:block; color:#5b4927; font-size:.8rem; }.competitor-intelligence-guide span { display:block; margin-top:.35rem; color:#716b5b; font-size:.73rem; line-height:1.38; }
.competitor-results { margin:1.15rem 0; }.competitor-results .section-heading { align-items:center; }.competitor-results .section-heading p { margin:.25rem 0 0; color:#6d705f; font-size:.8rem; }.competitor-page-size { display:flex; align-items:end; gap:.45rem; }.competitor-page-size label { display:grid; gap:.28rem; color:#69604b; font-size:.72rem; font-weight:850; }.competitor-page-size select { min-width:10rem; }.competitor-card-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,26rem),1fr)); gap:.85rem; }.competitor-card { display:grid; align-content:start; gap:.62rem; min-width:0; padding:1rem; border:1px solid #dccca8; border-radius:.66rem; background:rgba(255,255,251,.95); box-shadow:0 5px 14px rgba(74,58,25,.05); }.competitor-card-top { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.4rem; }.competitor-watch-state { padding:.22rem .48rem; border-radius:999px; font-size:.68rem; font-weight:850; }.competitor-watch-priority { background:#f7e3c8; color:#825122; }.competitor-watch-watching { background:#e8edd9; color:#52663b; }.competitor-watch-paused { background:#ebebe7; color:#64645c; }.competitor-card h3 { margin:0; color:#4b422a; font-size:1.04rem; line-height:1.32; }.competitor-card h3 a { color:inherit; text-decoration:none; }.competitor-card h3 a:hover { color:#806127; text-decoration:underline; }.competitor-location,.competitor-address,.competitor-description,.competitor-categories { margin:0; color:#676556; font-size:.79rem; line-height:1.44; }.competitor-location { color:#766b51; font-weight:800; }.competitor-address { color:#827b6a; font-size:.74rem; }.competitor-description { min-height:3.45rem; }.competitor-categories { padding:.52rem .6rem; border-left:3px solid #b68a3d; background:#fbf4e5; color:#685a3d; font-size:.73rem; }.competitor-signals { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.34rem; }.competitor-signals span { display:grid; gap:.1rem; min-width:0; padding:.42rem .48rem; border:1px solid #e3dac5; border-radius:.38rem; background:#fdfbf5; color:#786f5d; font-size:.65rem; line-height:1.2; }.competitor-signals strong { color:#58492b; font-size:.88rem; font-variant-numeric:tabular-nums; }.competitor-timeline { display:flex; flex-wrap:wrap; gap:.25rem; padding:.55rem .6rem; border-left:3px solid #a6a16f; background:#f4f4e9; color:#666752; font-size:.72rem; line-height:1.4; }.competitor-timeline strong { color:#54573e; }.competitor-card-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.45rem; }.competitor-card-actions .button { font-size:.74rem; }.competitor-card-actions .text-link { font-size:.75rem; }.competitor-watch-editor { border-top:1px solid #e6decb; padding-top:.6rem; }.competitor-watch-editor summary { color:#6b5327; cursor:pointer; font-size:.76rem; font-weight:850; }.competitor-watch-editor form { display:grid; gap:.55rem; margin-top:.65rem; }.competitor-watch-editor form > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.45rem; }.competitor-watch-editor label { display:grid; gap:.25rem; min-width:0; color:#6c6451; font-size:.7rem; font-weight:850; }.competitor-watch-editor textarea,.competitor-watch-editor select,.competitor-watch-editor input { min-width:0; }.competitor-watch-editor .button { justify-self:start; }
@media (max-width:1250px) { .competitor-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }.competitor-filter-form { grid-template-columns:repeat(3,minmax(0,1fr)); }.competitor-intelligence-guide { grid-template-columns:1fr; }.competitor-intelligence-guide > div:last-child { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:700px) { .competitor-metrics,.competitor-filter-form,.competitor-intelligence-guide > div:last-child { grid-template-columns:1fr; }.competitor-filters > summary { align-items:flex-start; }.competitor-page-size { width:100%; }.competitor-page-size label,.competitor-page-size select { width:100%; }.competitor-results .section-heading { align-items:flex-start; flex-direction:column; }.competitor-card-grid { grid-template-columns:1fr; }.competitor-card-actions .button { flex:1 1 11rem; }.competitor-watch-editor form > div { grid-template-columns:1fr; }.competitor-watch-editor .button { width:100%; }.competitor-filter-actions .button { flex:1 1 9rem; } }

.company-positioning { max-width:58rem; margin:.6rem 0 0; padding:.5rem .65rem; border-left:3px solid #75844c; background:#f0f3e5; color:#576247; font-size:.79rem; font-weight:700; line-height:1.45; }

/* The source-backed role is the visual centre of every competitor card. */
.competitor-evidence { display:grid; gap:.46rem; padding:.7rem .76rem; border:1px solid #d2bc7f; border-left:4px solid #a06f1d; border-radius:.48rem; background:linear-gradient(105deg,#fff7df,#fffdf4); }
.competitor-evidence > strong { color:#624718; font-size:.77rem; letter-spacing:.01em; }
.competitor-evidence-tags { display:flex; flex-wrap:wrap; gap:.35rem; }
.competitor-evidence-tags span { display:inline-flex; align-items:center; min-height:1.7rem; padding:.22rem .45rem; border:1px solid #c8aa62; border-radius:999px; background:#fffdf6; color:#59441d; font-size:.68rem; font-weight:900; line-height:1.2; }
.competitor-evidence-tags span:nth-child(2) { border-color:#9aa66a; background:#f1f4e1; color:#405026; }
.competitor-evidence-tags span:nth-child(3) { border-color:#b98862; background:#fff0e5; color:#734227; }
.competitor-evidence p { margin:0; color:#625c4c; font-size:.74rem; line-height:1.48; }
.competitor-evidence p::before { color:#846222; content:'„'; font-size:1rem; font-weight:900; }.competitor-evidence p::after { color:#846222; content:'”'; font-size:1rem; font-weight:900; }
.competitor-evidence p a { position:relative; z-index:1; margin-left:.22rem; font-weight:850; white-space:nowrap; }
.competitor-evidence small { color:#756c58; font-size:.67rem; line-height:1.35; }

/* Compact filters and map entry points in the competitor radar. */
.competitor-quick-views { display:flex; flex-wrap:wrap; align-items:center; gap:.45rem; margin:-.2rem 0 1rem; padding:.68rem .8rem; border:1px solid #ded2af; border-radius:.58rem; background:rgba(255,253,247,.9); }
.competitor-quick-views > span { margin-right:.1rem; color:#756546; font-size:.7rem; font-weight:900; letter-spacing:.055em; text-transform:uppercase; }
.competitor-quick-views a { display:inline-flex; align-items:center; min-height:2rem; padding:.34rem .56rem; border:1px solid #d8c694; border-radius:.4rem; background:#fffdf8; color:#566334; font-size:.73rem; font-weight:800; text-decoration:none; }
.competitor-quick-views a:hover { border-color:#7a894c; background:#eef2df; color:#39481f; }
.competitor-filter-form { grid-template-columns:repeat(auto-fit,minmax(10.2rem,1fr)); }
.competitor-filter-form > label:first-child { grid-column:span 2; }
.competitor-filter-actions { align-self:end; }
@media (max-width:860px) { .competitor-filter-form > label:first-child { grid-column:span 1; } }
@media (max-width:700px) { .competitor-filter-form { grid-template-columns:1fr; }.competitor-quick-views { align-items:stretch; }.competitor-quick-views > span { flex-basis:100%; }.competitor-quick-views a { flex:1 1 calc(50% - .45rem); justify-content:center; } }

/* Editorial profile blocks replace raw source dumps in the competitor radar. */
.competitor-profile { display:grid; gap:.45rem; margin:0; }.competitor-profile > div { padding:.55rem .62rem; border-left:3px solid #b68a3d; background:#fbf4e5; }.competitor-profile > div:nth-child(3) { border-left-color:#75874b; background:#f1f5e8; }.competitor-profile dt { margin:0 0 .16rem; color:#6b5a36; font-size:.66rem; font-weight:850; letter-spacing:.025em; text-transform:uppercase; }.competitor-profile dd { margin:0; color:#615b4c; font-size:.75rem; line-height:1.45; }.competitor-profile dd a { display:inline-block; margin-top:.28rem; color:#526834; font-weight:850; }
/* Event exhibitor walking guide ------------------------------------------------ */
.event-guide-page {
    max-width: 1760px;
    margin: 0 auto;
}

.event-guide-header {
    align-items: flex-end;
}

.guide-integrity-note {
    margin: 0 0 16px;
    padding: 14px 16px;
    border: 1px solid #cbd2ae;
    border-left: 4px solid #65763b;
    border-radius: 10px;
    background: #f4f6eb;
    color: #4b523d;
    line-height: 1.55;
}

.guide-integrity-note a {
    margin-left: 8px;
    font-weight: 700;
}

.guide-summary {
    display: grid;
    grid-template-columns: repeat(5, minmax(130px, 1fr));
    gap: 10px;
    margin-bottom: 16px;
}

.guide-summary > div {
    min-width: 0;
    padding: 12px 14px;
    border: 1px solid #d5d8c4;
    border-radius: 10px;
    background: #fffef9;
}

.guide-summary span,
.guide-summary small {
    display: block;
    color: #6a715f;
}

.guide-summary strong {
    display: block;
    margin: 2px 0;
    color: #313923;
    font-size: 1.6rem;
    line-height: 1;
}

.guide-legend {
    margin-bottom: 16px;
    padding: 14px 16px;
    border: 1px solid #d5d8c4;
    border-radius: 10px;
    background: #fffef9;
}

.guide-legend-items {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 9px;
}

.guide-legend-item,
.guide-hall-chip {
    --guide-color: #6d7757;
    --guide-tint: #eef0e9;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid color-mix(in srgb, var(--guide-color) 55%, white);
    border-radius: 999px;
    background: var(--guide-tint);
    color: #27301e;
    font-weight: 800;
}

.guide-legend-item {
    padding: 6px 10px;
}

.guide-legend-item::before {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--guide-color);
    content: '';
}

.guide-legend-item small {
    color: #68705f;
    font-weight: 600;
}

.guide-table-wrap {
    overflow-x: auto;
    border: 1px solid #cdd2b9;
    border-radius: 12px;
    background: #fffef9;
}

.event-guide-table {
    width: 100%;
    min-width: 1080px;
    table-layout: fixed;
    border-collapse: collapse;
}

.event-guide-table caption {
    padding: 12px 14px;
    text-align: left;
    color: #68705f;
}

.event-guide-table th,
.event-guide-table td {
    padding: 8px 9px;
    border-bottom: 1px solid #e0e2d4;
    vertical-align: top;
    overflow-wrap: anywhere;
}

.event-guide-table thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #343e24;
    color: #fff;
    font-size: .76rem;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.event-guide-table th:nth-child(1) { width: 3.5%; }
.event-guide-table th:nth-child(2) { width: 9%; }
.event-guide-table th:nth-child(3) { width: 8%; }
.event-guide-table th:nth-child(4) { width: 11%; }
.event-guide-table th:nth-child(5) { width: 24%; }
.event-guide-table th:nth-child(6) { width: 13%; }
.event-guide-table th:nth-child(7) { width: 23%; }
.event-guide-table th:nth-child(8) { width: 8.5%; }

.guide-hall-heading th {
    --guide-color: #6d7757;
    --guide-tint: #eef0e9;
    padding: 9px 12px;
    border-top: 3px solid var(--guide-color);
    border-bottom: 1px solid color-mix(in srgb, var(--guide-color) 48%, white);
    background: var(--guide-tint);
    color: #28301f;
    font-size: .9rem;
    letter-spacing: .055em;
    text-align: left;
    text-transform: uppercase;
}

.guide-hall-heading small {
    margin-left: 10px;
    color: #68705f;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
}

.guide-company-row {
    --guide-color: #6d7757;
    border-left: 5px solid var(--guide-color);
}

.guide-company-row:nth-child(even) td {
    background: #fbfbf6;
}

.guide-company-row small {
    display: block;
    margin-top: 3px;
    color: #717766;
    line-height: 1.3;
}

.guide-check-cell {
    color: #4c5834;
    font-size: 1.35rem;
    line-height: 1;
    text-align: center;
}

.guide-hall-chip {
    min-width: 36px;
    justify-content: center;
    padding: 4px 8px;
}

.guide-stand-number {
    color: #27301e;
    font-size: .95rem;
}

.guide-needs-review {
    color: #9c5d22 !important;
    font-weight: 700;
}

.guide-multi-location {
    color: #52682f !important;
    font-weight: 700;
}

.guide-note-line {
    display: block;
    min-height: 24px;
    border-bottom: 1px dotted #9da38f;
}

.guide-document-footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 8px 20px;
    margin-top: 12px;
    padding: 10px 2px;
    color: #737968;
    font-size: .76rem;
}

.guide-color-0 { --guide-color: #526f36; --guide-tint: #e8f0df; }
.guide-color-1 { --guide-color: #7b5b2f; --guide-tint: #f3eadc; }
.guide-color-2 { --guide-color: #365f68; --guide-tint: #e1edef; }
.guide-color-3 { --guide-color: #6b4e75; --guide-tint: #eee5f0; }
.guide-color-4 { --guide-color: #8a4c3b; --guide-tint: #f4e5e0; }
.guide-color-5 { --guide-color: #3f647e; --guide-tint: #e2edf4; }
.guide-color-6 { --guide-color: #6f7132; --guide-tint: #eff0dc; }
.guide-color-7 { --guide-color: #85566c; --guide-tint: #f2e5eb; }
.guide-color-8 { --guide-color: #3f705d; --guide-tint: #e2efe9; }
.guide-color-9 { --guide-color: #73593d; --guide-tint: #f0e9e0; }
.guide-color-10 { --guide-color: #53608a; --guide-tint: #e7eaf4; }
.guide-color-11 { --guide-color: #826b2f; --guide-tint: #f3eedc; }
.guide-color-12 { --guide-color: #8b6d45; --guide-tint: #fff4df; }

@media (max-width: 980px) {
    .guide-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .event-guide-actions {
        width: 100%;
    }
}

@page eventGuide {
    size: A4 landscape;
    margin: 8mm;
}

@media print {
    body.event-guide-print-view {
        background: #fff !important;
        color: #111;
        font-size: 8pt;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    body.event-guide-print-view .sidebar,
    body.event-guide-print-view .page-history,
    body.event-guide-print-view .alert,
    body.event-guide-print-view .no-print {
        display: none !important;
    }

    body.event-guide-print-view .app-shell {
        display: block;
    }

    body.event-guide-print-view .page-content {
        width: auto;
        max-width: none;
        min-width: 0;
        margin: 0;
        padding: 0;
    }

    .event-guide-page {
        page: eventGuide;
        max-width: none;
    }

    .event-guide-header {
        margin: 0 0 3mm;
        padding: 0 0 3mm;
    }

    .event-guide-header h1 {
        margin: 0;
        font-size: 16pt;
    }

    .event-guide-header p {
        margin: 1mm 0 0;
    }

    .guide-integrity-note {
        margin-bottom: 3mm;
        padding: 2.5mm 3mm;
        font-size: 7.5pt;
    }

    .guide-summary {
        grid-template-columns: repeat(5, 1fr);
        gap: 2mm;
        margin-bottom: 3mm;
    }

    .guide-summary > div {
        padding: 2mm;
        border-radius: 2mm;
    }

    .guide-summary strong {
        font-size: 13pt;
    }

    .guide-legend {
        margin-bottom: 3mm;
        padding: 2.5mm 3mm;
    }

    .guide-legend-items {
        gap: 1.2mm;
        margin-top: 1.5mm;
    }

    .guide-legend-item {
        padding: 1mm 2mm;
        font-size: 6.8pt;
    }

    .guide-table-wrap {
        overflow: visible;
        border: 0;
        border-radius: 0;
    }

    .event-guide-table {
        min-width: 0;
        font-size: 7pt;
    }

    .event-guide-table caption {
        display: none;
    }

    .event-guide-table thead {
        display: table-header-group;
    }

    .event-guide-table thead th {
        position: static;
        padding: 1.5mm;
        font-size: 6.6pt;
    }

    .event-guide-table td,
    .event-guide-table th {
        padding: 1.35mm 1.5mm;
    }

    .guide-hall-heading {
        break-after: avoid;
        page-break-after: avoid;
    }

    .guide-hall-heading th {
        padding: 1.5mm 2mm;
        font-size: 7.5pt;
    }

    .guide-company-row {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .guide-company-row .strong-link {
        color: #111;
        text-decoration: none;
    }

    .guide-check-cell {
        font-size: 11pt;
    }

    .guide-hall-chip {
        padding: .7mm 1.4mm;
    }

    .guide-document-footer {
        font-size: 6.5pt;
    }
}

/* Mobile, token-scoped field card. It intentionally has no application
   navigation: a field link must reveal only its exact event workflow. */
.field-visit-page {
    margin: 0;
    min-height: 100vh;
    background: #f3f2e9;
    color: #273022;
}

.field-visit {
    box-sizing: border-box;
    max-width: 760px;
    margin: 0 auto;
    padding: max(24px, env(safe-area-inset-top)) 16px calc(44px + env(safe-area-inset-bottom));
}

.field-page-brand { display: block; width: min(10rem, 62vw); margin: 0 0 .75rem; padding: 0; border: 0; background: transparent; box-shadow: none; }
.field-page-brand img { display: block; width: 100%; height: auto; border-radius: .28rem; box-shadow: 0 2px 8px rgba(32, 43, 20, .12); }

.field-visit h1 {
    margin: 4px 0 6px;
    font-size: clamp(1.55rem, 7vw, 2.2rem);
}

.field-visit .panel {
    margin-top: 16px;
}

.field-camera-prompt[hidden] { display: none !important; }
.field-camera-prompt { position: fixed; z-index: 100; inset: 0; display: grid; align-items: end; padding: max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)); background: rgba(31, 39, 23, .52); }
.field-camera-prompt-card { max-width: 620px; margin: 0 auto; padding: 22px; border: 1px solid #9aa87b; border-radius: 14px; background: #fffef8; box-shadow: 0 16px 48px rgba(18, 24, 13, .28); }
.field-camera-prompt-card h2 { margin: 4px 0 9px; }.field-camera-prompt-card p { line-height: 1.48; }
.field-camera-prompt-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin-top: 16px; }.field-camera-prompt-actions .button { min-height: 48px; padding-inline: 10px; }
.field-camera-prompt-photo { display: block; width: fit-content; margin: 12px auto 0; color: #40502b; cursor: pointer; font-size: .88rem; font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }.field-camera-prompt-photo input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
.field-camera-prompt-help { margin: 13px 0 0; color: #647059; font-size: .82rem; }body.field-camera-prompt-open { overflow: hidden; }

.field-search {
    display: flex;
    gap: 10px;
    align-items: stretch;
}

.field-search input {
    min-width: 0;
    flex: 1;
}

.field-scanner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 12px;
    padding: 12px;
    border: 1px dashed #879666;
    border-radius: 8px;
    background: #f3f6ea;
}

.field-scanner div { display: grid; gap: 2px; }
.field-scanner small, .field-scanner-status { color: #66705f; font-size: .86em; }
.field-scanner-status { min-height: 1.25em; margin: 8px 0 0; }
.field-scanner-camera { display: grid; gap: 9px; margin-top: 12px; }
.field-scanner-camera[hidden] { display: none !important; }
.field-scanner-camera video { width: 100%; max-height: 340px; border-radius: 8px; background: #151910; object-fit: cover; }
.field-scanner-camera-heading { display: grid; gap: 3px; }.field-scanner-camera-heading small { color: #66705f; }
body.field-scanner-active { overflow: hidden; }
body.field-scanner-active .field-scanner-camera { position: fixed; z-index: 220; inset: 0; grid-template-rows: auto minmax(0, 1fr) auto; gap: 14px; margin: 0; padding: max(18px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)); background: #192014; color: #f7faef; }
body.field-scanner-active .field-scanner-camera-heading small { color: #d7e0c6; } body.field-scanner-active .field-scanner-camera video { width: 100%; max-width: 760px; height: 100%; max-height: none; margin: 0 auto; border: 1px solid #92a66e; border-radius: 14px; } body.field-scanner-active .field-scanner-camera .button { width: min(760px, 100%); min-height: 52px; margin: 0 auto; }

.field-quick-menu { position: sticky; z-index: 40; top: 8px; margin: 14px 0; border: 1px solid #899b65; border-radius: 9px; background: #fbfcf5; box-shadow: 0 4px 14px rgba(32, 43, 20, .1); }
.field-quick-menu > summary { display: flex; align-items: center; gap: 8px; min-height: 46px; padding: 0 13px; cursor: pointer; color: #344322; font-weight: 850; list-style: none; }.field-quick-menu > summary::-webkit-details-marker { display: none; }.field-komaz-logo { display: block; width: 92px; height: 26px; border-radius: 3px; object-fit: contain; }
.field-quick-menu > summary::after { content: '⌄'; margin-left: auto; font-size: 1.1rem; }.field-quick-menu[open] > summary::after { content: '⌃'; }
.field-quick-menu-content { display: grid; gap: 8px; padding: 0 10px 10px; border-top: 1px solid #d3dac1; }
.field-quick-menu-content > details, .field-quick-qr { border: 1px solid #d5dcc5; border-radius: 7px; background: #fffef9; }.field-quick-menu-content > details > summary, .field-quick-qr > summary { padding: 10px; cursor: pointer; color: #40502b; font-weight: 800; }
.field-quick-menu-content > details > p, .field-quick-menu-content > details > .field-quick-menu-card, .field-quick-menu-content > details > .field-quick-menu-actions { margin: 0 10px 10px; }.field-quick-menu-content > details > p { line-height: 1.43; }
.field-quick-menu-card { display: grid; gap: 4px; padding: 10px; border-left: 4px solid #63743f; background: #f1f5e7; }.field-quick-menu-card a { width: fit-content; }.field-quick-menu-card small { color: #65705a; }
.field-quick-menu-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: start; }.field-quick-menu-actions .button { min-height: 38px; }.field-contact-share-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }.field-contact-share-actions .button { width: 100%; }
.field-quick-qr { flex: 1 1 150px; }.field-quick-qr[open] { display: grid; justify-items: center; gap: 7px; padding-bottom: 10px; }.field-quick-qr small { padding: 0 10px; color: #647059; text-align: center; font-size: .78rem; }
.field-card-link { display: inline-block; margin: 0 10px 10px; color: #40552b; font-weight: 800; }
.field-manual-visit { border: 1px dashed #9caa7d; background: #fbfcf5; }.field-manual-visit > summary { padding: 13px; cursor: pointer; color: #40502b; font-weight: 850; }.field-manual-visit > p, .field-manual-visit > form { margin-left: 13px; margin-right: 13px; }.field-manual-visit > p { color: #657059; line-height: 1.42; }

@media (max-width: 620px) { .field-camera-prompt { align-items: center; }.field-camera-prompt-card { padding: 20px 17px; }.field-camera-prompt-actions, .field-contact-share-actions { grid-template-columns: 1fr; }.field-quick-menu { top: 5px; } }

.field-quick-stand { display: grid; gap: 10px; margin-top: 14px; padding: 13px; border: 1px solid #b9c59a; border-radius: 8px; background: #fbfcf5; }
.komaz-public-card { max-width: 740px; }.komaz-public-logo { display: block; width: min(270px, 100%); height: auto; margin: 0 0 18px; border-radius: 5px; }.komaz-public-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 18px; }.komaz-public-contacts { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; }.komaz-public-contacts article { display: grid; gap: 5px; padding: 13px; border-left: 4px solid #63743f; background: #f1f5e7; }.komaz-public-contacts span { color: #637055; }.komaz-public-contacts a { width: fit-content; overflow-wrap: anywhere; }
.field-quick-stand > div:first-child { display: grid; gap: 3px; }.field-quick-stand small { color: #66705f; font-size: .86em; }
.field-prefix-choices { display: flex; flex-wrap: wrap; gap: 7px; }.field-prefix-choices .button { min-width: 50px; min-height: 38px; padding: .38rem .55rem; }.field-prefix-choices .button.is-selected { border-color: #536738; background: #536738; color: #fff; }
.field-sector-picker { display: grid; gap: 7px; margin: 0; padding: 9px; border: 1px solid #ced8b7; border-radius: 7px; background: #f5f8ed; }.field-sector-picker[hidden] { display: none; }.field-sector-picker legend { padding: 0 5px; color: #52613b; font-weight: 800; font-size: .88rem; }.field-sector-choices { display: flex; flex-wrap: wrap; gap: 7px; }.field-sector-choices .button { min-height: 40px; padding: .38rem .65rem; }.field-sector-choices .button.is-selected { border-color: #536738; background: #536738; color: #fff; }
.field-suffix-picker { display: grid; gap: 7px; margin: 0; padding: 9px; border: 1px solid #d5c99d; border-radius: 7px; background: #fffaf0; }.field-suffix-picker[hidden] { display: none; }.field-suffix-picker legend { padding: 0 5px; color: #655532; font-weight: 800; font-size: .88rem; }
.field-quick-result { padding: 11px 13px; border-radius: 7px; background: #26311c; color: #fff; font-size: 1.3rem; font-weight: 800; letter-spacing: .04em; text-align: center; }
.field-number-pad { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; }.field-number-pad button { min-height: 46px; border: 1px solid #a9b48b; border-radius: 7px; background: #fff; color: #334022; font: inherit; font-size: 1.1rem; font-weight: 800; }.field-number-pad button:active { background: #e8eddc; transform: translateY(1px); }
.field-calendar-link { display: inline-flex; margin-top: 12px; }.field-followup-ai .panel-header { align-items: flex-start; }.field-ai-controls { display: flex; align-items: end; gap: 10px; margin-top: 10px; }.field-ai-controls label { flex: 1; }.field-ai-recipient { margin-top: 12px; padding: 11px 13px; border-left: 4px solid #527673; border-radius: 7px; background: #f1f8f7; color: #294e4b; line-height: 1.45; }.field-ai-recipient small { color: #526f6b; }.field-ai-data-picker { display: grid; gap: 8px; margin: 14px 0 0; padding: 12px; border: 1px solid #bfcaa9; border-radius: 8px; background: #fafbf5; }.field-ai-data-picker legend { padding: 0 5px; color: #40502b; font-weight: 850; }.field-ai-data-picker label { display: flex; align-items: center; gap: 9px; min-height: 32px; padding: 6px 8px; border-radius: 6px; color: #40502b; font-weight: 700; cursor: pointer; }.field-ai-data-picker label:has(input:checked) { background: #edf3e2; }.field-ai-data-picker input { width: 18px; height: 18px; min-height: 0; margin: 0; }.field-ai-data-picker .help { margin: 3px 0 0; }.field-ai-status, .field-share-status { min-height: 1.25em; margin: 9px 0 0; color: #52633a; font-weight: 650; }.field-share-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
.field-voice-note { border-color: #aebf8c; background: linear-gradient(135deg, #fbfcf7, #eff5e4); }.field-voice-note .panel-header, .field-voice-note-record .panel-header { align-items: flex-start; }.field-voice-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-top: 13px; }.field-voice-controls .button { min-width: 178px; }.field-voice-timer { min-width: 68px; padding: 10px 12px; border-radius: 7px; background: #2e3c20; color: #fff; font-variant-numeric: tabular-nums; letter-spacing: .05em; text-align: center; }.field-voice-file { position: relative; display: inline-flex; align-items: center; min-height: 42px; color: #40502b; font-size: .92em; font-weight: 800; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }.field-voice-file input { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }.field-voice-status { min-height: 1.3em; margin: 11px 0 0; color: #4f6037; font-weight: 700; line-height: 1.42; }.field-voice-note-record { border-left: 5px solid #637d46; }.field-voice-note-record textarea { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .9rem; line-height: 1.45; }
.field-komaz-card .panel-header { align-items: flex-start; }.field-vcard-qr { width: 112px; height: 112px; padding: 5px; border: 1px solid #bdc99e; border-radius: 7px; background: #fff; image-rendering: pixelated; }.field-business-card { display: grid; gap: 3px; margin: 12px 0; padding: 12px; border-left: 4px solid #63743f; background: #f3f6e9; }.field-business-card a { width: fit-content; }.field-business-card small { color: #66705f; }.field-message-options { display: grid; gap: 8px; margin: 12px 0; padding: 12px; border: 1px solid #c4cda9; border-radius: 8px; background: #fafbf5; }.field-message-options label { display: grid; grid-template-columns: 1.25rem minmax(0, 1fr); align-items: start; gap: .65rem; min-height: 3rem; padding: .72rem; border: 1px solid #d5dcc5; border-radius: 7px; background: #fffef9; color: #40502b; font-weight: 750; line-height: 1.35; cursor: pointer; }.field-message-options label:has(input:checked) { border-color: #879b60; background: #f0f5e5; box-shadow: inset 3px 0 0 #687d45; }.field-message-options label span { min-width: 0; overflow-wrap: anywhere; }.field-message-options input[type="checkbox"] { box-sizing: border-box; width: 1.25rem; min-width: 1.25rem; height: 1.25rem; min-height: 0; margin: .08rem 0 0; padding: 0; }.field-message-options > .button { min-height: 46px; }

.field-match-list {
    display: grid;
    gap: 8px;
    margin-top: 14px;
}

.field-match {
    display: block;
    border: 1px solid var(--line, #d8d7c9);
    border-radius: 8px;
    padding: 12px;
    color: inherit;
    text-decoration: none;
    background: #fffef9;
}

.field-match.is-selected {
    border-color: #536738;
    box-shadow: inset 4px 0 0 #536738;
    background: #eff4e5;
}

/* Selection is the first decision in the field workflow.  Keep the matching
   company directly under the search field instead of placing it after the
   keypad and scanner, which can be several phone screens lower. */
[data-field-search-panel] { display: grid; gap: 12px; }
[data-field-search-panel] > .field-search-heading { order: 1; }
[data-field-search-panel] > .field-search { order: 2; }
[data-field-search-panel] > .field-match-list { order: 3; margin-top: 0; }
[data-field-search-panel] > .field-quick-stand { order: 4; }
[data-field-search-panel] > .field-scanner { order: 5; }
[data-field-search-panel] > .field-scanner-camera { order: 6; }
[data-field-search-panel] > .field-scanner-status { order: 7; }
.field-match-list:not(:empty)::before { content: 'Wynik wyszukiwania — wybierz firmę'; display: block; margin: 0 0 6px; color: #42562b; font-size: .78rem; font-weight: 850; letter-spacing: .035em; text-transform: uppercase; }
[data-field-search-panel] .field-match { position:relative; display:grid; gap:6px; min-height:132px; padding:16px 66px 15px 18px; border:2px solid #a6bb83; border-left:7px solid #61863b; border-radius:12px; background:linear-gradient(135deg,#edf5dd 0%,#f9fcf1 72%); box-shadow:0 8px 22px rgba(68,86,34,.14); color:#293b1c; transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease; }
[data-field-search-panel] .field-match:hover,[data-field-search-panel] .field-match:focus-visible { transform:translateY(-2px); border-color:#6f9147; background:linear-gradient(135deg,#e3efd0 0%,#f8fbed 72%); box-shadow:0 12px 26px rgba(68,86,34,.22); outline:none; }
[data-field-search-panel] .field-match::after { content:'→'; display:grid; place-items:center; position:absolute; top:50%; right:17px; width:38px; height:38px; border-radius:50%; background:#526f31; box-shadow:0 3px 8px rgba(46,62,25,.24); color:#fff; font-size:1.35rem; font-weight:900; transform:translateY(-50%); }
[data-field-search-panel] .field-match > small { width:max-content; max-width:100%; padding:4px 8px; border:1px solid #c7d7a9; border-radius:999px; background:rgba(255,255,255,.72); color:#456128; font-size:.74rem; font-weight:900; letter-spacing:.025em; }
[data-field-search-panel] .field-match strong { display:block; color:#243617; font-size:1.08rem; line-height:1.27; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }
[data-field-search-panel] .field-match > span { color:#536a38; font-size:.9rem; font-weight:700; }
[data-field-search-panel] .field-match::before { content:'DOTKNIJ, ABY OTWORZYĆ'; order:4; width:max-content; max-width:100%; margin-top:2px; padding:5px 9px; border-radius:6px; background:#d6e7bb; color:#334d1d; font-size:.7rem; font-weight:900; letter-spacing:.035em; }
.field-selected-profile { display: grid; gap: 4px; margin: 13px 0 0; padding: 11px 12px; border-left: 4px solid #617a3c; border-radius: 0 8px 8px 0; background: rgba(255,255,250,.7); color: #405033; font-size: .9rem; line-height: 1.43; }
.field-selected-profile strong { color: #364a24; font-size: .73rem; letter-spacing: .05em; text-transform: uppercase; }
.field-selected-profile-empty { border-left-color: #a7843e; background: #fff8e9; color: #6e5a2e; }

.field-match span,
.field-visit .help {
    display: block;
    margin-top: 4px;
    color: #66705f;
    font-size: .92em;
}

.field-selected-company {
    border: 2px solid #82945d;
    background: linear-gradient(135deg, #f5f8ed, #e6edd7);
}

.field-selected-heading,
.field-search-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.field-selected-heading h2,
.field-search-heading h2 { margin: 0; }
.field-selected-heading .eyebrow { margin: 0 0 4px; }
.field-selected-heading p { margin: 5px 0 0; color: #566347; font-weight: 700; }
.field-selected-location { margin: 12px 0 0; padding-top: 10px; border-top: 1px solid #c5d0a9; color: #536141; }
.field-auto-time { margin: 0; padding: 9px 11px; border-left: 4px solid #72854c; background: #f1f5e8; color: #48563a; }

.field-location-choices {
    display: grid;
    gap: 9px;
    margin: 0;
    padding: 12px;
    border: 1px solid #bdc99d;
    border-radius: 8px;
    background: #fbfcf6;
}

.field-location-choices legend { padding: 0 5px; font-weight: 800; }
.field-location-choices p { margin: 0; color: #66705f; font-size: .9em; }
.field-location-buttons { display: flex; flex-wrap: wrap; gap: 8px; }
.field-location-buttons .button { min-height: 42px; }
.field-location-builder { display: grid; gap: 9px; padding: 11px; border-radius: 7px; background: #eef3e3; }
.field-location-builder[hidden] { display: none !important; }
.field-location-preview { padding: 9px 12px; border-radius: 6px; background: #344023; color: #fff; font-size: 1.1rem; font-weight: 800; text-align: center; }

.field-match { border-left: 5px solid #70814d; }
.field-match small { display: block; margin-bottom: 4px; color: #60704a; font-weight: 800; }
.field-match-tone-0 { border-left-color: #5f7b3c; background: #fbfcf6; }
.field-match-tone-1 { border-left-color: #4f7881; background: #f4f9fa; }
.field-match-tone-2 { border-left-color: #84633b; background: #fcf8ee; }
.field-match-tone-3 { border-left-color: #76576f; background: #faf5fa; }

.field-visit input,
.field-visit textarea,
.field-visit button {
    font-size: 16px;
}

.field-visit .button {
    min-height: 46px;
}

.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; border: 0 !important; }
.field-offline-panel { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 7px 12px; margin: 14px 0; padding: 12px 14px; border: 1px solid #9ba984; border-left: 4px solid #657b43; border-radius: 8px; background: #f5f8ed; color: #40502b; }
.field-offline-panel > div { display: grid; gap: 2px; }.field-offline-panel span, .field-offline-panel p, .field-offline-panel small { color: #65705a; font-size: .9rem; }.field-offline-panel small { line-height: 1.35; }.field-offline-panel p { grid-column: 1 / -1; margin: 0; line-height: 1.35; }.field-offline-panel .button { align-self: center; min-height: 40px; }.field-offline-panel.is-warning { border-color: #b25c38; background: #fff6ed; }
.field-outbox{display:grid;gap:8px;margin:0 0 14px;padding:12px 14px;border:1px solid #77885e;border-left:4px solid #3d685f;border-radius:8px;background:#f3f8f5;color:#31493f}.field-outbox>div{display:grid;gap:2px}.field-outbox strong{font-size:.9rem}.field-outbox span{color:#547065;font-size:.84rem}.field-outbox ul{display:grid;gap:5px;margin:0;padding:0;list-style:none}.field-outbox li{display:grid;gap:5px;padding:7px 9px;border:1px solid #b9c9bb;border-radius:6px;background:#fffefa;color:#42574d;font-size:.82rem;line-height:1.35}.field-outbox-group{margin-top:5px!important;padding:8px 2px 3px!important;border:0!important;border-radius:0!important;background:transparent!important}.field-outbox-group strong{font-size:.78rem!important;letter-spacing:.04em;text-transform:uppercase}.field-outbox-group small{font-size:.72rem;color:#697765;line-height:1.3}.field-outbox-group.is-draft strong{color:#76551c}.field-outbox-group.is-confirmed strong{color:#216044}.field-outbox-group.is-pending strong{color:#86472c}.field-outbox a{margin-left:.25rem;color:#1e5b53;font-weight:800}.field-outbox-open-card{display:flex;align-items:center;justify-content:center;min-height:2.8rem;margin:.15rem 0 0!important;padding:.45rem .7rem;border:1px solid #27705c;border-radius:.42rem;background:#e8f4eb;color:#174f42!important;font-size:.9rem;font-weight:850;text-decoration:none}.field-outbox-open-card:active{background:#d6eadb}.field-outbox-local-options{margin-top:.05rem}.field-outbox-local-options>summary{width:max-content;max-width:100%;padding:.2rem 0;color:#68796b;font-size:.72rem;font-weight:750;cursor:pointer}.field-outbox-local-options[open]>summary{margin-bottom:.28rem}.field-outbox-status{margin:0;padding:7px 9px;border-radius:6px;background:#fff6df;color:#72531b;font-size:.82rem;line-height:1.35}.field-outbox-error{color:#8b3d32;font-weight:700}.field-outbox-remove{justify-self:start;min-height:2rem;padding:.25rem .5rem;border:1px solid #c4968c;border-radius:.35rem;background:#fff9f6;color:#7b4037;font:800 .72rem/1.2 system-ui,-apple-system,sans-serif;cursor:pointer}.field-outbox-remove:hover{background:#f5e7e1}.field-outbox-remove-subtle{border-color:#b7c7bb;background:#f5faf5;color:#496151}.field-outbox-remove-subtle:hover{background:#eaf3eb}
.field-outbox [data-field-outbox-content]{margin-top:.25rem}.field-outbox-actions{display:flex;flex-wrap:wrap;gap:.45rem}.field-outbox-actions .button{min-height:2.35rem;font-size:.78rem}.field-outbox-actions [hidden]{display:none!important}.field-outbox-fab{position:fixed;z-index:45;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));display:inline-flex;align-items:center;gap:.38rem;min-height:46px;padding:.55rem .75rem;border:1px solid #809061;border-radius:999px;background:#344a2a;color:#fffef4;box-shadow:0 8px 22px rgba(32,47,24,.28);font:800 .82rem/1 system-ui,-apple-system,sans-serif;cursor:pointer}.field-outbox-fab span{display:grid;place-items:center;min-width:1.35rem;height:1.35rem;border-radius:999px;background:#dce6b6;color:#324223;font-size:.72rem}.field-outbox-fab:hover{background:#263d1e}
.field-outbox>summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:3.25rem;padding:.15rem 0;cursor:pointer;list-style:none}.field-outbox>summary::-webkit-details-marker{display:none}.field-outbox>summary>span:first-child{display:grid;gap:.12rem}.field-outbox>summary small{color:#547065;font-size:.8rem}.field-outbox-summary-action{display:inline-flex;align-items:center;min-height:2rem;padding:.25rem .55rem;border:1px solid #9baa78;border-radius:.35rem;color:#3e512d;font-size:.76rem;font-weight:850}.field-outbox[open] .field-outbox-summary-action{font-size:0}.field-outbox[open] .field-outbox-summary-action::after{content:'Ukryj';font-size:.76rem}.field-outbox[open]>summary{padding-bottom:.45rem;border-bottom:1px solid #cbd7bd}
.field-refine-presets{display:flex;flex-wrap:wrap;gap:.45rem;margin:.55rem 0}.field-refine-presets .button{min-height:2.2rem;font-size:.76rem}
@media (max-width:700px){.field-outbox-fab{bottom:calc(82px + env(safe-area-inset-bottom));right:max(10px,env(safe-area-inset-right));min-height:42px}.field-scanner [data-field-scanner-photo-open]{margin-top:8px}}
.field-duplicate-warning { margin-top:12px; padding:12px 14px; border:1px solid #d4ae63; border-left:4px solid #a46e1c; border-radius:8px; background:#fffbef; color:#58431e; }.field-duplicate-warning > summary { cursor:pointer; font-weight:850; }.field-duplicate-list { display:grid; gap:8px; margin-top:10px; }.field-duplicate-item { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto; gap:7px 12px; align-items:end; padding:10px; border:1px solid #e4c987; border-radius:7px; background:#fffef9; }.field-duplicate-meta { display:grid; gap:2px; min-width:0; }.field-duplicate-meta span,.field-duplicate-item p span { display:block; color:#806733; font-size:.7rem; font-weight:850; letter-spacing:.03em; text-transform:uppercase; }.field-duplicate-meta strong,.field-duplicate-meta time { color:#493817; font-size:.94rem; font-weight:850; line-height:1.25; overflow-wrap:anywhere; }.field-duplicate-item p { grid-column:1 / -1; margin:0; color:#67542f; font-size:.84rem; line-height:1.4; overflow-wrap:anywhere; }.field-duplicate-preview-link { min-height:2.35rem!important; padding:.38rem .6rem!important; font-size:.78rem!important; white-space:nowrap; }.field-duplicate-warning small { display:block; margin-top:10px; color:#746341; }.field-duplicate-preview { max-width:860px; }.field-duplicate-preview h1 { margin:.2rem 0 .35rem; }.field-duplicate-preview-intro { margin:0; color:#65705c; line-height:1.45; }.field-duplicate-preview-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:16px 0; }.field-duplicate-preview-summary article { display:grid; gap:3px; padding:11px 12px; border:1px solid #d8c78e; border-radius:8px; background:#fffdf5; }.field-duplicate-preview-summary span,.field-duplicate-preview-section h2 { color:#7a6431; font-size:.72rem; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }.field-duplicate-preview-summary strong { color:#493817; font-size:1rem; line-height:1.3; overflow-wrap:anywhere; }.field-duplicate-preview-section { margin-top:12px; padding:14px; border:1px solid #d9d4bf; border-radius:8px; background:#fffefa; }.field-duplicate-preview-section h2 { margin:0 0 7px; }.field-duplicate-preview-section p { margin:0; color:#414a3b; line-height:1.5; white-space:pre-wrap; overflow-wrap:anywhere; }.field-duplicate-preview-back { margin-top:16px; }
@media (max-width:620px){.field-duplicate-item{grid-template-columns:1fr;align-items:stretch}.field-duplicate-item p{grid-column:auto}.field-duplicate-preview-link{width:100%;text-align:center}.field-duplicate-preview-summary{grid-template-columns:1fr}}
.field-quick-actions { border-color: #9bab7a; background: linear-gradient(135deg, #fbfcf6, #eef4e2); }.field-quick-actions h2 { margin-bottom: 4px; }.field-quick-actions p { margin-top: 0; color: #65705a; }.field-quick-action-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }.field-quick-action-grid .button { min-height: 54px; padding: .55rem; text-align: left; }
.field-interest-rating { display: grid; gap: 9px; margin: 0; padding: 12px; border: 1px solid #c7b169; border-radius: 9px; background: #fffaf0; }.field-interest-rating legend { padding: 0 4px; color: #4a3d1f; font-weight: 850; }.field-interest-rating legend small, .field-interest-rating > label small { color: #74694e; font-weight: 500; }.field-star-options { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }.field-star-options label { display: grid; grid-template-rows: 1.35rem minmax(2.45rem, auto); align-content:start; gap: 5px; min-height: 76px; padding: 8px 3px 6px; border: 1px solid #ddcf9e; border-radius: 7px; background: #fff; color: #7b5a12; cursor: pointer; text-align: center; overflow:hidden; }.field-star-options input { position: absolute; inline-size: 1px; block-size: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); opacity: 0; pointer-events: none; }.field-star-options span { display:block; min-width:0; overflow:hidden; font-size: .94rem; line-height:1.35rem; letter-spacing: .25px; white-space:nowrap; }.field-star-options small { display:block; min-width:0; overflow-wrap:anywhere; color: #625b4b; font-size: .68rem; line-height:1.14; }.field-star-options label:has(input:checked) { border-color: #8c6816; background: #f7e8b6; box-shadow: 0 0 0 2px rgba(140,104,22,.18); }.field-star-options label:has(input:focus-visible) { outline: 3px solid #26311c; outline-offset: 2px; }
.field-rapid-voice { margin: 0; border: 1px solid #aebf8c; border-radius: 8px; background: #f7faef; }.field-rapid-voice > summary { display: flex; align-items: center; min-height: 48px; padding: 0 12px; cursor: pointer; color: #40502b; font-weight: 850; }.field-rapid-voice > summary small { margin-left: .45rem; color: #66705f; font-weight: 550; }.field-rapid-voice-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 0 12px 12px; }.field-rapid-voice-status { min-height: 1.3em; margin: 0; padding: 0 12px 12px; color: #4f6037; font-weight: 700; line-height: 1.4; }
.field-details { margin: 0; border: 1px solid #c8d0b2; border-radius: 8px; background: #fbfcf7; }.field-details > summary { padding: 12px; cursor: pointer; color: #40502b; font-weight: 800; }.field-details > .stack-form { margin: 0 12px 12px; }.field-selected-files { padding: 9px 11px; border-left: 4px solid #5b7a41; background: #eff4e5; color: #415230; font-weight: 700; overflow-wrap: anywhere; }
.field-core-hint { margin: 0; padding: 10px 12px; border-left: 4px solid #5b7a41; border-radius: 0 8px 8px 0; background: #eff4e5; color: #435333; line-height: 1.4; }
.field-meeting-details { margin: 0; border: 1px solid #c8d0b2; border-radius: 8px; background: #fbfcf7; }.field-meeting-details > summary { display: flex; align-items: center; min-height: 48px; padding: 0 12px; cursor: pointer; color: #40502b; font-weight: 800; }.field-meeting-details > summary small { display: block; margin-top: 2px; color: #66705f; font-weight: 500; }.field-meeting-details > .form-grid, .field-meeting-details > .field-location-choices { margin: 0 12px 12px; }
.field-save-row { display: flex; align-items: center; gap: 12px; padding: 11px; border: 1px solid #a7b887; border-radius: 8px; background: #f6f9ef; }.field-save-row .button { flex: 0 0 auto; }.field-save-row small { color: #596a48; line-height: 1.35; }.field-legacy-save[hidden] { display: none !important; }
.field-save-review{display:grid;gap:12px;margin:16px 0 0;padding:16px;border:2px solid #718349;border-radius:10px;background:linear-gradient(135deg,#f1f6e7,#fffefa);box-shadow:0 8px 24px rgba(45,60,28,.09)}.field-save-review[hidden],.field-save-review-actions [hidden]{display:none!important}.field-save-review h3{margin:0;color:#314222;font-size:1.15rem}.field-save-review>p:not(.eyebrow){margin:0;color:#56664a;line-height:1.45}.field-save-review dl{display:grid;grid-template-columns:minmax(130px,.42fr) minmax(0,1fr);margin:0;border:1px solid #ccd4b5;border-radius:8px;overflow:hidden}.field-save-review dt,.field-save-review dd{margin:0;padding:9px 11px;border-bottom:1px solid #dfe3d1;line-height:1.42}.field-save-review dt{background:#edf1e3;color:#53623e;font-size:.76rem;font-weight:850}.field-save-review dd{overflow-wrap:anywhere;background:#fffef9;color:#34412e;font-size:.84rem;white-space:pre-wrap}.field-save-review dt:last-of-type,.field-save-review dd:last-of-type{border-bottom:0}.field-save-review-actions{display:flex;flex-wrap:wrap;gap:8px}.is-field-review-locked{opacity:.72}.is-field-review-locked input,.is-field-review-locked textarea,.is-field-review-locked select{background:#eef0e8!important;color:#414b3a!important}

/* The official A2 source and its vector coordinates share one immutable
   aspect ratio. This late override prevents marker drift at every viewport. */
.event-floorplan-stage{height:auto!important;min-height:0!important;aspect-ratio:2573/1819}.event-floorplan-image{object-fit:fill}.floorplan-workspace:fullscreen .event-floorplan-stage,.floorplan-workspace.is-floorplan-expanded .event-floorplan-stage{min-height:0!important}.event-floorplan-marker.is-filtered-out{visibility:hidden;opacity:0}.event-floorplan[data-zoom]:not([data-zoom="1"]) .event-floorplan-marker{min-width:2rem;min-height:2rem}
.field-sticky-save { display: none; }
.field-ai-proposal { margin: 0 0 14px; padding: 12px; border: 1px solid #8ab7b2; border-left: 4px solid #417b73; border-radius: 8px; background: #f2fbf9; }.field-ai-proposal > summary { cursor: pointer; color: #235e56; font-weight: 850; }.field-ai-proposal p { margin: 9px 0; color: #486963; line-height: 1.4; }

/* Field-card hierarchy: each decision has a restrained, distinct visual home.
   The colour is never the only signal; labels and borders retain the meaning. */
.field-meeting-form { border-color: #b9c6a2; background: linear-gradient(180deg, #fffefa 0%, #f8faf3 100%); }
.field-meeting-form > h2 { display: flex; align-items: center; gap: .55rem; margin-bottom: 6px; color: #293620; }
.field-meeting-form > h2::before { content: "2"; display: inline-grid; place-items: center; inline-size: 1.65rem; block-size: 1.65rem; border-radius: 999px; background: #40552d; color: #fff; font-size: .85rem; }
.field-quick-actions { border-width: 1px; box-shadow: 0 4px 13px rgba(51, 69, 32, .06); }
.field-quick-action-grid .button { position: relative; display: flex; align-items: center; border-width: 1px; box-shadow: inset 0 1px 0 rgba(255,255,255,.7); font-weight: 800; line-height: 1.25; }
.field-quick-action-grid .button::after { content: "›"; margin-left: auto; color: currentColor; font-size: 1.25rem; opacity: .62; }
.field-quick-action-grid .button:nth-child(1) { border-color: #9db77d; background: #f2f7e9; color: #40582e; }
.field-quick-action-grid .button:nth-child(2) { border-color: #76aaa0; background: #edf8f5; color: #245d53; }
.field-quick-action-grid .button:nth-child(3) { border-color: #8ba9c2; background: #eff6fb; color: #365d7b; }
.field-quick-action-grid .button:nth-child(4) { border-color: #a899bd; background: #f5f1fb; color: #5f477e; }
.field-quick-action-grid .button:nth-child(5) { border-color: #c6a66d; background: #fff8ea; color: #77531c; }
.field-quick-action-grid .button:focus-visible, .field-location-buttons .button:focus-visible { outline: 3px solid #26311c; outline-offset: 2px; }
.field-meeting-form form > label:has(textarea[name="note"]),
.field-meeting-form form > label:has(textarea[name="next_step"]) { display: grid; gap: 7px; padding: 12px; border: 1px solid #c6d2af; border-left: 4px solid #708a4d; border-radius: 9px; background: #fbfdf7; color: #38462d; font-weight: 850; }
.field-meeting-form form > label:has(textarea[name="next_step"]) { border-left-color: #417b73; background: #f5fbfa; }
.field-meeting-form form > label:has(textarea[name="note"]):focus-within { border-color: #667f43; box-shadow: 0 0 0 3px rgba(102,127,67,.14); }
.field-meeting-form form > label:has(textarea[name="next_step"]):focus-within { border-color: #417b73; box-shadow: 0 0 0 3px rgba(65,123,115,.14); }
.field-meeting-form form > label textarea { margin: 0; background: #fff; }
.field-interest-rating { border-width: 1px; box-shadow: inset 4px 0 0 #b28129; }
.field-interest-rating > label { padding-top: 4px; font-weight: 750; }
.field-meeting-details { border-color: #93b4aa; background: #f4faf8; }
.field-meeting-details > summary { color: #245d53; }
.field-meeting-details[open] > summary { border-bottom: 1px solid #c8ddd7; background: #eaf5f1; }
.field-location-choices { border-color: #7ba69b; border-left-width: 4px; background: #f6fbf9; }
.field-location-choices legend { color: #245d53; }
.field-location-buttons .button { min-height: 46px; border-color: #8bb2a8; background: #fff; color: #285e54; font-weight: 800; }
.field-location-buttons .button:first-child { border-color: #637d42; background: #eaf2de; color: #354d23; }
.field-location-buttons .button:nth-child(2) { border-color: #4e8f83; background: #e8f5f1; }
.field-location-buttons .button:hover { filter: brightness(.98); transform: translateY(-1px); }
.field-rapid-voice { border-color: #9284b0; background: #f8f6fc; }
.field-rapid-voice > summary { color: #594174; }
.field-rapid-voice[open] > summary { border-bottom: 1px solid #d9d0e7; background: #f0ecf8; }
.field-details { border-color: #bbc4d1; background: #fafcff; }
.field-details > summary { color: #425675; }
.field-details[open] > summary { border-bottom: 1px solid #d8e0ec; background: #f0f5fb; }
.field-selected-files { border: 1px solid #9ebf91; border-left: 4px solid #537e43; border-radius: 8px; }
.field-save-row { border: 2px solid #789453; background: linear-gradient(135deg, #edf5e3, #fafcf5); box-shadow: 0 5px 14px rgba(56, 78, 34, .08); }
.field-save-row .button { min-height: 48px; }

/* Explicit visual landmarks for a fast trade-show workflow. */
.field-selected-company { border-left: 6px solid #516e34; background: linear-gradient(100deg, #f0f6e7 0%, #fffefa 62%); }
.field-quick-actions h2::before { content: "1"; display: inline-grid; place-items: center; inline-size: 1.65rem; block-size: 1.65rem; margin-right: .55rem; border-radius: 999px; background: #40552d; color: #fff; font-size: .85rem; vertical-align: .08rem; }
.field-meeting-form form > label:has(textarea[name="note"])::before { content: "ROZMOWA · ZAPISZ NAJWAŻNIEJSZE USTALENIA"; color: #5b763c; font-size: .7rem; font-weight: 900; letter-spacing: .06em; }
.field-meeting-form form > label:has(textarea[name="next_step"])::before { content: "DZIAŁANIE · CO ROBIMY DALEJ"; color: #31766c; font-size: .7rem; font-weight: 900; letter-spacing: .06em; }
.field-interest-rating legend::before { content: "★ "; color: #a36e15; }
.field-meeting-details > summary::before { content: "3"; display: inline-grid; place-items: center; flex: 0 0 auto; inline-size: 1.4rem; block-size: 1.4rem; margin-right: .55rem; border-radius: 999px; background: #417b73; color: #fff; font-size: .72rem; }
.field-rapid-voice > summary::before { content: "●"; margin-right: .48rem; color: #76549c; font-size: 1.1rem; }

/* More room to review and correct field notes on screen.  This deliberately
   does not apply to print, so existing print layouts and generated materials
   keep their established pagination. */
@media screen {
    .field-visit-page .field-voice-note-record textarea[name="transcript"] { min-height: 16rem; }
    .field-visit-page .field-voice-note-record textarea[name="summary_markdown"] { min-height: 22rem; }
    .field-visit-page .field-voice-note-record ~ .panel textarea[name="note"] { min-height: 13rem; }
    .field-visit-page .field-voice-note-record ~ .panel textarea[name="next_step"] { min-height: 9rem; }
}
.field-details > summary::before { content: "+"; display: inline-grid; place-items: center; inline-size: 1.3rem; block-size: 1.3rem; margin-right: .45rem; border-radius: 999px; background: #567294; color: #fff; font-size: .9rem; }
.field-save-row::before { content: "4"; display: inline-grid; place-items: center; flex: 0 0 auto; inline-size: 1.55rem; block-size: 1.55rem; border-radius: 999px; background: #4d6d30; color: #fff; font-weight: 900; }
.field-save-row { align-items: center; }

/* Restrained defence palette — olive drab, gunmetal, steel and sand. */
.field-selected-company { border-left-color: #49563b; background: #f4f5ee; }
.field-quick-actions { border-color: #788167; background: #f5f6f0; box-shadow: none; }
.field-quick-actions h2::before, .field-meeting-form > h2::before { background: #394433; }
.field-quick-action-grid { gap: 10px; }
.field-quick-action-grid .button { min-height: 58px; border-width: 2px; border-radius: 7px; box-shadow: none; }
.field-quick-action-grid .button:nth-child(1) { border-color: #657251; background: #e9ece1; color: #34402c; }
.field-quick-action-grid .button:nth-child(2) { border-color: #45676a; background: #e6eeee; color: #29494b; }
.field-quick-action-grid .button:nth-child(3) { border-color: #596b79; background: #e9eef1; color: #354c5b; }
.field-quick-action-grid .button:nth-child(4) { border-color: #6c6875; background: #eeedf0; color: #484550; }
.field-quick-action-grid .button:nth-child(5) { border-color: #9a8052; background: #f5f0e7; color: #614d2d; }
.field-quick-action-grid .button:hover { filter: brightness(.975); box-shadow: inset 4px 0 0 currentColor; }
.field-meeting-form { border-color: #a7ad96; background: #fbfbf7; }
.field-meeting-form form > label:has(textarea[name="note"]) { border-color: #aeb7a0; border-left-color: #59684a; background: #f8f9f4; }
.field-meeting-form form > label:has(textarea[name="next_step"]) { border-color: #a4b6b3; border-left-color: #3f6b6b; background: #f5f8f7; }
.field-interest-rating { border-color: #c2b28e; border-left-color: #8a7447; background: #faf8f1; box-shadow: inset 4px 0 0 #8a7447; }
.field-final-assessment { margin-top: 1rem; border-color: #a7ba84; border-left-color: #526b2f; background: linear-gradient(135deg,#f5f8ed 0%,#fffdf7 100%); box-shadow: inset 5px 0 0 #526b2f,0 5px 14px rgba(48,66,30,.08); }
.field-final-assessment legend { color: #34471f; }
.field-final-assessment .help { margin: 0; color: #536044; }
.field-star-options label { border-color: #d2c6a8; background: #fffefa; color: #745b2a; }
.field-star-options label:has(input:checked) { border-color: #7d6533; background: #eee3c9; box-shadow: 0 0 0 2px rgba(125,101,51,.16); }
.field-meeting-details { border-color: #99adaa; background: #f5f8f7; }
.field-meeting-details > summary { color: #335e5e; }
.field-location-choices { border-color: #83a09b; border-left-color: #426a67; background: #f3f7f5; }
.field-location-buttons .button { border-color: #8ba6a1; color: #315b58; }
.field-location-buttons .button:first-child { border-color: #687950; background: #e9eee0; color: #35462a; }
.field-rapid-voice { border-color: #9c99a5; background: #f7f6f8; }
.field-rapid-voice > summary { color: #4b4951; }
.field-rapid-voice-flow{display:grid;gap:9px;padding:0 12px 12px}.field-rapid-voice-step{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:start;padding:9px;border:1px solid #d8d4df;border-radius:7px;background:#fff}.field-rapid-voice-step>span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#e9e6ef;color:#5d5766;font-size:.78rem;font-weight:850}.field-rapid-voice-step.is-active{border-color:#a89fbc;background:#faf9fc}.field-rapid-voice-step.is-active>span{background:#6a5b83;color:#fff}.field-rapid-voice-step strong,.field-rapid-voice-step small{display:block}.field-rapid-voice-step strong{font-size:.84rem;color:#403b48}.field-rapid-voice-step small{margin-top:2px;color:#6c6773;font-size:.75rem;line-height:1.35}.field-rapid-voice-step .field-rapid-voice-controls{grid-column:1/-1;padding:0;margin-top:2px}.field-rapid-voice-open,.field-rapid-voice-retry{grid-column:1/-1;margin:2px 0 0!important}.field-rapid-voice-retry{display:flex!important;align-items:center;justify-content:center;width:100%;min-height:3.15rem;padding:.55rem .8rem;text-align:center;white-space:normal}
.field-rapid-voice .field-voice-timer{display:flex!important;align-items:center;justify-content:center;min-height:3.15rem;min-width:10.5rem;margin:.1rem 0;border:1px solid #5a5169;background:#312c3b;color:#fff;font-size:1.15rem;font-weight:900;letter-spacing:.07em}.field-rapid-voice .field-voice-timer::before{content:'CZAS';margin-right:.55rem;font-size:.67rem;letter-spacing:.05em;opacity:.8}.field-rapid-voice.is-recording .field-voice-timer{border-color:#9c2f36;background:#a8353d;box-shadow:0 0 0 3px rgba(168,53,61,.16);animation:field-recording-pulse 1.1s ease-in-out infinite}.field-rapid-voice.is-recording .field-voice-timer::before{content:'● NAGRYWANIE';font-size:.65rem;opacity:1}@keyframes field-recording-pulse{50%{box-shadow:0 0 0 6px rgba(168,53,61,.08)}}
.field-details { border-color: #aebac2; background: #f7f9fa; }
.field-details > summary { color: #3b5363; }
.field-save-row { border-color: #657951; background: #f1f4eb; box-shadow: none; }
.field-save-row::before { background: #43552f; }

/* Manager-only field-card workspace.  Keep bulk controls visible and usable
   on a touch device without forcing a destructive action by accident. */
.field-management-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.75rem; margin:1rem 0 .55rem; }
.field-management-summary article { min-width:0; border:1px solid #bdcaa0; border-radius:.7rem; background:linear-gradient(145deg,#fffef9,#f0f5e5); box-shadow:0 2px 8px rgba(49,63,28,.06); transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease; }
.field-management-summary article:hover { transform:translateY(-2px); border-color:#71854b; box-shadow:0 7px 18px rgba(49,63,28,.13); }
.field-management-summary a { display:grid; grid-template-columns:auto 1fr; grid-template-areas:"label value" "description description" "action action"; gap:.32rem .65rem; min-height:126px; padding:1rem; color:inherit; text-decoration:none; }
.field-management-summary span { grid-area:label; align-self:center; color:#566647; font-size:.73rem; font-weight:900; letter-spacing:.04em; text-transform:uppercase; line-height:1.15; }
.field-management-summary strong { grid-area:value; align-self:center; justify-self:end; color:#2f4121; font-size:2.15rem; line-height:1; }
.field-management-summary small { grid-area:description; color:#617056; font-size:.82rem; line-height:1.35; }
.field-management-summary b { grid-area:action; color:#3f5d28; font-size:.79rem; }
.field-management-test-status { margin:.15rem 0 1rem; color:#6c6757; font-size:.78rem; }
.field-management-panel { margin-top: 1rem; }
.field-access-management{margin-top:1rem}.field-access-management>.panel-header{align-items:flex-start}.field-access-management>.panel-header form{margin:0}.field-access-tabs{display:flex;flex-wrap:wrap;gap:.45rem;margin:.9rem 0 .7rem;padding:.35rem;border:1px solid #d2d8bf;border-radius:.5rem;background:#f4f6ec}.field-access-tabs a{display:flex;align-items:center;justify-content:center;gap:.42rem;min-height:2.55rem;padding:.45rem .75rem;border-radius:.35rem;color:#465534;font-size:.8rem;font-weight:850;text-decoration:none}.field-access-tabs a:hover,.field-access-tabs a.is-active{background:#fffef9;box-shadow:0 2px 8px rgba(47,59,31,.1);color:#2e401d}.field-access-tabs span{display:inline-grid;min-width:1.5rem;min-height:1.5rem;place-items:center;padding:0 .3rem;border-radius:999px;background:#dfe7ce;color:#465832;font-size:.7rem}.field-access-summary{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin:0 0 .8rem;color:#657059;font-size:.78rem}.field-access-summary strong{color:#344525;font-size:1rem}.field-access-actions{display:flex;flex-wrap:wrap;gap:.4rem}.field-access-actions form{margin:0}.field-access-actions .button{min-height:2.25rem;padding:.4rem .58rem;font-size:.72rem;white-space:nowrap}.status-active{border-color:#6c854a;background:#e7efd7;color:#3c5725}.status-revoked{border-color:#9a8462;background:#f2ece1;color:#67543a}.status-archived{border-color:#9a9e94;background:#edeFEB;color:#5e6259}
.field-visit-filters { display: grid; gap: .8rem; }
.field-bulk-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; margin: 0 0 1rem; padding: .75rem; border: 1px solid #d3d9bd; border-radius: .5rem; background: #f8faF2; }
.field-bulk-actions form { margin: 0; }
.field-bulk-actions > strong { margin-right: auto; color: #455431; font-size: .9rem; }
.field-bulk-actions .button[disabled] { cursor: not-allowed; opacity: .52; }
.selection-column { width: 2.75rem; text-align: center !important; }
.selection-check { display: grid; place-items: center; min-width: 1.5rem; min-height: 1.5rem; cursor: pointer; }
.selection-check input { box-sizing: border-box; width: 1.15rem; height: 1.15rem; min-height: 0; margin: 0; accent-color: #526a35; }
.table-wrap tr.is-test-record td { background: #fff8e9; }
.table-wrap tr.is-test-record:hover td { background: #fff1ce; }

/* Operational calendar: short cards instead of five squeezed columns. */
.field-action-board-wrap { margin:1.15rem 0; padding:1rem; border:1px solid #cbd5bb; border-radius:.75rem; background:linear-gradient(145deg,#fafbf6,#f0f4e8); }
.field-action-board-intro { display:flex; align-items:end; justify-content:space-between; gap:1rem; padding:.1rem .1rem .9rem; border-bottom:1px solid #d6ddc8; }
.field-action-board-intro .eyebrow { margin:0 0 .22rem; }
.field-action-board-intro h2 { margin:0; color:#2e4120; font-size:1.25rem; }
.field-action-board-intro p { max-width:58rem; margin:.32rem 0 0; color:#66715b; font-size:.86rem; line-height:1.4; }
.field-action-board { display:grid; grid-template-columns:repeat(auto-fit,minmax(235px,1fr)); gap:.75rem; margin:.9rem 0 0; }
.field-action-board > .panel { align-self:start; min-width:0; margin:0; padding:.82rem; border-color:#c9d3b7; background:#fffef9; }
.field-action-card-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:.55rem; }
.field-action-card-heading h3 { margin:0; color:#324523; font-size:1rem; line-height:1.2; }
.field-action-card-heading small { display:block; margin-top:.2rem; color:#708064; font-size:.74rem; line-height:1.25; }
.field-action-card-heading .button { flex:0 0 auto; min-height:2.15rem; padding:.35rem .5rem; border-color:#9aac7a; background:#f6f8ee; color:#40572d; font-size:.74rem; }
.field-action-list { display:grid; gap:.5rem; margin:.75rem 0 0; padding:0; list-style:none; }
.field-action-list li { display:grid; gap:.28rem; min-width:0; padding:.68rem; border:1px solid #d8dfc9; border-left:4px solid #778b54; border-radius:.48rem; background:#fff; overflow-wrap:anywhere; }
.field-action-list li.source-crm { border-left-color:#39776f; background:#f6fbfa; }
.field-action-item-top { display:flex; align-items:center; justify-content:space-between; gap:.45rem; }
.field-action-source { display:inline-flex; max-width:64%; padding:.17rem .38rem; border-radius:999px; background:#e6eed5; color:#465d2f; font-size:.65rem; font-weight:850; line-height:1.1; }
.source-crm .field-action-source { background:#dcefeb; color:#26645d; }
.field-action-item-top time { color:#5d6b50; font-size:.7rem; font-weight:800; white-space:nowrap; }
.field-action-list a { color:#2d4321; text-decoration:none; }
.field-action-list a:hover strong { text-decoration:underline; }
.field-action-list strong { color:#2f4221; font-size:.87rem; line-height:1.26; }
.field-action-list small { color:#687360; font-size:.76rem; line-height:1.33; }
.field-action-list .empty-cell { min-height:4.5rem; place-content:center; border-left-color:#b7c0aa; background:#fbfcf8; color:#6c7564; text-align:center; }
.field-action-list .empty-cell strong { color:#65705a; font-size:.82rem; }

/* Filters and visit list are deliberately labelled so no one has to infer
   what a small select or a long paragraph represents. */
.field-visit-filters { overflow:hidden; border:1px solid #b8c69d; border-radius:.65rem; background:#f8faF3; }
.field-visit-filters > summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:62px; padding:.75rem 1rem; cursor:pointer; list-style:none; background:linear-gradient(90deg,#f7faee,#eef4df); color:#344827; }
.field-visit-filters > summary::-webkit-details-marker { display:none; }
.field-visit-filters > summary span { display:grid; gap:.16rem; }
.field-visit-filters > summary strong { font-size:.95rem; }
.field-visit-filters > summary small { color:#6a775f; font-size:.76rem; }
.field-visit-filters > summary b { padding:.35rem .55rem; border:1px solid #899d68; border-radius:.35rem; background:#fffef9; color:#40552e; font-size:.75rem; white-space:nowrap; }
.field-visit-filters[open] > summary { border-bottom:1px solid #ced8ba; }
.field-visit-filters[open] > summary b { font-size:0; }
.field-visit-filters[open] > summary b::after { content:'Ukryj filtry ↑'; font-size:.75rem; }
.field-visit-filters > form { padding:1rem; }
.field-visit-table-wrap { border:0; background:transparent; overflow:visible; }
.field-visit-table { width:100%; min-width:1080px; border-collapse:separate; border-spacing:0 .55rem; }
.field-visit-table thead th { padding:.55rem .8rem; border:0; background:transparent; color:#627056; font-size:.68rem; }
.field-visit-table tbody tr { box-shadow:0 2px 9px rgba(46,59,27,.06); }
.field-visit-table tbody td { padding:.85rem .8rem; border-top:1px solid #d5ddc3; border-bottom:1px solid #d5ddc3; background:#fffef9; vertical-align:top; }
.field-visit-table tbody td:first-child { border-left:1px solid #d5ddc3; border-radius:.6rem 0 0 .6rem; }
.field-visit-table tbody td:last-child { border-right:1px solid #d5ddc3; border-radius:0 .6rem .6rem 0; }
.field-visit-table tbody tr:hover td { background:#f5f8ec; }
.field-list-label { display:block; margin:0 0 .26rem; color:#738164; font-size:.64rem; font-weight:900; letter-spacing:.045em; text-transform:uppercase; }
.field-list-event { display:block; margin:-.1rem 0 .42rem; color:#52683d; font-size:.72rem; font-weight:800; }
.field-visit-table .strong-link { display:block; color:#2f4422; font-size:.92rem; line-height:1.28; }
.field-visit-table .strong-link b { color:#5e7b39; }
.field-list-contact { display:block; color:#4f5e47; font-size:.79rem; line-height:1.32; }
.field-list-text { display:-webkit-box; max-width:28rem; margin:0; overflow:hidden; color:#465143; font-size:.8rem; line-height:1.38; -webkit-box-orient:vertical; -webkit-line-clamp:4; }
.field-list-next { color:#28645e; }
.field-list-due { display:block; margin-top:.45rem; color:#805a24; font-size:.76rem; font-weight:850; }
.field-stage { display:inline-flex; padding:.2rem .42rem; border-radius:999px; background:#e7eed8; color:#435a2e; font-size:.72rem; font-weight:800; line-height:1.2; }
.field-report-metrics { grid-template-columns: repeat(7, minmax(0, 1fr)); margin: 1rem 0; }
.field-report-panel { margin-top: 1rem; }
.field-report-board { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.field-report-footnote { color: #65705b; font-size: .88rem; }

.field-business-card-ocr { margin-top: 1rem; padding: .9rem; border: 1px solid #95b9b1; border-left: 4px solid #3f766d; border-radius: .55rem; background: #f2faf8; }
.field-business-card-ocr h3 { margin: 0; color: #245b54; font-size: 1rem; }
.field-business-card-ocr p { margin: .4rem 0; color: #4c6862; line-height: 1.38; }
.field-business-card-ocr-controls { display: flex; align-items: end; gap: .7rem; margin-top: .7rem; }
.field-business-card-ocr-controls label { flex: 1; min-width: 0; }
.field-business-card-ocr-status { min-height: 1.25rem; margin: .6rem 0 0; color: #38655d; font-weight: 700; }
.field-business-card-ocr-proposal { margin-top: .7rem; padding: .7rem; border-radius: .4rem; background: #fff; border: 1px solid #b9d3ce; }
.field-business-card-ocr-proposal dl { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: .25rem .55rem; margin: .6rem 0; }
.field-business-card-ocr-proposal dt { color: #526e68; font-weight: 800; }
.field-business-card-ocr-proposal dd { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.field-photo-upload-progress { width: 100%; height: .8rem; accent-color: #637b40; }
.field-photo-upload-status { min-height: 1.25rem; margin: 0; color: #52663a; font-weight: 750; line-height: 1.35; }
.field-inline-save-status { min-height:1.4rem; margin:.45rem 0 0; color:#5b6254; font-weight:800; line-height:1.35; }
.field-inline-save-status.is-success { color:#285d46; }
.field-inline-save-status.is-error { color:#963b35; }
.field-outbound-save-status { padding:.55rem .7rem; border:1px solid #c5d2b1; border-radius:8px; background:#f6f8ef; }
.field-photo-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
.field-photo-choices > label { padding:.75rem; border:1px solid #b7c89b; border-radius:9px; background:#f5f8ef; font-weight:800; }
.field-photo-choices input { display:block; width:100%; margin-top:.5rem; }
.field-photo-choices > .button { min-height:3.15rem; justify-content:center; text-align:center; }
.field-photo-count { margin:0; padding:.55rem .7rem; border-left:4px solid #70894a; background:#f7f8f2; color:#43513a; font-weight:750; }
.field-photo-refresh { justify-self:start; }
.field-card-author { display:inline-flex; align-items:center; width:max-content; max-width:100%; margin:.05rem 0 .25rem; padding:.28rem .55rem; border:1px solid #7b9471; border-radius:999px; background:#edf4e4; color:#2f4d29; font-size:.9rem; line-height:1.25; overflow-wrap:anywhere; }
@media (max-width: 560px) { .field-photo-choices { grid-template-columns:1fr; } .field-photo-refresh { width:100%; justify-content:center; } }
.field-return-navigation { display:grid; gap:.55rem; margin:1.5rem 0 2.25rem; padding:1rem; border:1px solid #9db27b; border-left:5px solid #5d7637; border-radius:10px; background:#f3f7eb; }
.field-return-navigation p { margin:0; color:#506044; font-size:.95rem; line-height:1.4; }
.field-return-navigation .eyebrow { margin:0; color:#526b3b; }.field-return-edit { border-color:#6b8380; background:#f4f9f8; color:#315c57; }
.field-action-owner-help { margin:-4px 0 8px; padding:8px 10px; border-left:3px solid #6c847d; border-radius:5px; background:#f2f8f7; color:#41615c; }
.field-return-button { justify-self:start; min-height:46px; padding-inline:1.1rem; font-size:1rem; }
@media (max-width: 560px) { .field-return-button { width:100%; justify-content:center; } }
.field-message-refine { margin:0 0 12px; padding:11px 13px; border:1px solid #8aa4a0; border-left:5px solid #3e726d; border-radius:9px; background:#f2f8f7; }
.field-message-refine summary { cursor:pointer; color:#285c57; font-weight:850; }
.field-message-refine label { display:grid; gap:5px; margin:9px 0; font-weight:700; }

@media (max-width: 1180px) {
    .field-management-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .field-action-board { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .field-report-metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
    .field-management-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .field-management-summary article:last-child { grid-column: auto; }
    .field-action-board, .field-report-board { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .field-report-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .field-bulk-actions { align-items: stretch; }
    .field-bulk-actions > strong { width: 100%; margin-right: 0; }
    .field-bulk-actions .button { width: 100%; }
    .field-bulk-actions form { width: 100%; }
    .field-bulk-actions form .button { width: 100%; }
    .field-access-management>.panel-header{display:grid}.field-access-management>.panel-header form,.field-access-management>.panel-header .button{width:100%}.field-access-tabs{display:grid;grid-template-columns:1fr}.field-access-actions{display:grid}.field-access-actions form,.field-access-actions .button{width:100%}
    .field-management-summary a { grid-template-columns:1fr auto; min-height:116px; padding:.85rem; }
    .field-management-summary strong { font-size:1.85rem; }
    .field-action-board-wrap { padding:.8rem; }
    .field-action-board-intro { align-items:stretch; flex-direction:column; }
    .field-action-board-intro .button { width:100%; }
    .field-visit-filters > summary { align-items:flex-start; min-height:0; }
    .field-visit-filters > summary b { margin-top:.2rem; }
    .field-visit-table-wrap { overflow-x:auto; border:1px solid #d5ddc3; border-radius:.6rem; background:#f7f9f2; }
    .field-visit-table { min-width:930px; margin:.25rem; }
}
@media (max-width:620px){.field-save-review{margin:12px -3px 0;padding:13px}.field-save-review dl{grid-template-columns:1fr}.field-save-review dt{padding-bottom:3px;border-bottom:0}.field-save-review dd{padding-top:3px}.field-save-review-actions{display:grid;grid-template-columns:1fr}.field-save-review-actions .button{width:100%;text-align:center}}

@media (max-width: 520px) {
    .field-visit { padding: max(18px, env(safe-area-inset-top)) 12px calc(94px + env(safe-area-inset-bottom)); }
    .field-search { flex-direction: column; }
    .field-search .button { width: 100%; }
    .field-scanner { align-items: stretch; flex-direction: column; }
    .field-scanner .button { width: 100%; }
    .field-selected-heading, .field-search-heading { align-items: stretch; flex-direction: column; }
    .field-selected-heading .button, .field-search-heading .button { width: 100%; }
    .field-location-buttons { display: grid; grid-template-columns: 1fr; }
    .field-offline-panel { grid-template-columns: 1fr; }.field-offline-panel .button { width: 100%; }.field-quick-action-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.field-quick-action-grid .button { min-height: 58px; font-size: .88rem; }.field-star-options { grid-template-columns: 1fr; }.field-star-options label { grid-template-columns: 82px 1fr; align-items: center; min-height: 42px; text-align: left; }.field-star-options small { font-size: .78rem; }
    .field-save-row { align-items: stretch; flex-direction: column; }.field-save-row .button { width: 100%; }.field-sticky-save { position: fixed; z-index: 30; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: calc(62px + env(safe-area-inset-bottom)); padding: 8px 12px calc(8px + env(safe-area-inset-bottom)); border-top: 1px solid #8fa173; background: rgba(251, 252, 246, .98); box-shadow: 0 -5px 18px rgba(34, 45, 25, .14); }.field-sticky-save span { color: #566747; font-size: .8rem; font-weight: 800; }.field-sticky-save.is-dirty span { color: #8a5716; }.field-sticky-save .button { min-width: 116px; }.field-sticky-save.is-local-saved { border-top-color:#b48b2c; background:#fff8e6; }.field-sticky-save.is-local-saved span { color:#795817; }.field-sticky-save.is-confirmed { border-top:3px solid #2e7355; background:#e8f5ed; box-shadow:0 -7px 24px rgba(31,91,64,.24); }.field-sticky-save.is-confirmed span { color:#15563e; font-size:.98rem; font-weight:900; }.field-sticky-save.is-confirmed .button { background:#28714f; border-color:#1d5a3e; color:#fff; }.field-sticky-save.is-warning { border-top-color:#aa5b35; background:#fff3eb; }.field-sticky-save.is-warning span { color:#873d24; }
    .field-ai-controls, .field-voice-controls, .field-business-card-ocr-controls { align-items: stretch; flex-direction: column; }.field-ai-controls .button, .field-voice-controls .button, .field-business-card-ocr-controls .button { width: 100%; }.field-voice-timer { width: auto; }.field-share-actions { grid-template-columns: 1fr; }
}

@media (max-width: 420px) {
    .field-action-board, .field-report-board { grid-template-columns: 1fr; }
}

@media print {
    .no-print, .site-sidebar, .site-header, .sidebar { display: none !important; }
    .field-report-header { margin-bottom: .5rem; }
    .field-action-board { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .field-report-metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .field-action-list li { break-inside: avoid; }
}

@media (min-width: 621px) and (max-width: 900px) {
    .field-visit { max-width: 840px; padding-inline: 24px; }
    .field-camera-prompt { align-items: center; }
    .field-camera-prompt-card { width: min(620px, 100%); }
}

/* Kontrola jakości całej platformy: małe, powtarzalne reguły usuwają
   poziome przewijanie bez ukrywania danych i utrzymują wyraźny fokus. */
.page-content, .panel, .form-card, .filter-panel, .market-analysis-form-card,
.market-company-card-main, .data-quality-candidate-main { min-width: 0; }
.data-quality-proposal, .data-quality-translation p, .data-quality-current,
.market-company-description { overflow-wrap: anywhere; }
.sidebar-account-link, .link-button { display: inline-flex; align-items: center; min-height: 2rem; }
.assistant-launcher-footer a { display: inline-flex; align-items: center; min-height: 1.7rem; }
.connector-add > summary { display: flex; align-items: center; min-height: 2rem; }
.competitor-watch-editor > summary, .template-preview > summary, .outreach-custom-template > summary { display: flex; align-items: center; min-height: 2rem; }
.roadmap-step-card details > summary, .roadmap-admin-details > summary { display: flex; align-items: center; min-height: 2rem; }
.page-content :where(a, button, summary, input, select, textarea):focus-visible {
    outline: 3px solid rgba(68, 100, 38, .42);
    outline-offset: 2px;
}
@media (max-width: 760px) {
    .data-quality-candidate-list, .data-quality-candidate, .data-quality-candidate-main { min-width: 0; }
    .data-quality-candidate :is(.data-quality-proposal, .data-quality-translation, .data-quality-current) { overflow-wrap: anywhere; word-break: break-word; }
    .dashboard-command-center-heading { align-items: stretch; flex-direction: column; }.dashboard-command-center-heading .button { width: 100%; text-align: center; }.dashboard-command-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.dashboard-command-grid a { min-height: 5.8rem; }.dashboard-insights-content { padding: .1rem .75rem .75rem; }.event-workflow-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }.event-workflow-nav a:last-child { grid-column: 1 / -1; }
}

@media (max-width: 440px) {
    .dashboard-command-center { padding: .85rem; }.dashboard-command-grid { grid-template-columns: 1fr; }.dashboard-command-grid a { min-height: 5rem; }.dashboard-insights > summary { align-items: flex-start; }.dashboard-insights > summary > span:last-child { margin-top: .15rem; }.event-workflow-nav { grid-template-columns: 1fr; }.event-workflow-nav a:last-child { grid-column: auto; }
}

/* Asystent DIC: jedno pole rozmowy, wynik bezpośrednio pod nim i odwrócona
   chronologia tur. Historia służy do zarządzania, nie spycha odpowiedzi. */
.assistant-shell { grid-template-columns: minmax(0, 1fr) minmax(285px, 340px); }
.assistant-chat { min-width: 0; }
.assistant-conversation-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: .8rem; padding: 1rem 1.3rem .75rem; border-bottom: 1px solid var(--line); }
.assistant-conversation-heading .eyebrow { margin-bottom: .2rem; }.assistant-conversation-heading h2 { margin: 0; overflow-wrap: anywhere; }
.assistant-rename { flex: 0 0 auto; }.assistant-rename summary { cursor: pointer; color: var(--blue-dark); font-size: .78rem; font-weight: 800; }
.assistant-rename[open] { width: min(360px, 100%); }.assistant-rename form { display: grid; gap: .5rem; margin-top: .5rem; padding: .7rem; border: 1px solid var(--line); border-radius: .45rem; background: #fbfcf6; }
.assistant-primary-composer { top: .45rem; bottom: auto; border-top: 0; border-bottom: 1px solid var(--line); box-shadow: 0 8px 24px rgba(44, 52, 31, .08); }
.assistant-request-status { min-height: 1.2rem; margin: 0; color: #5d684d; font-size: .76rem; }
.assistant-request-status.is-working { color: #40542c; font-weight: 800; }
.assistant-thread-latest-first { gap: .9rem; }
.assistant-turn { display: grid; gap: .8rem; padding: 1rem; border: 1px solid #dedccc; border-radius: .6rem; background: rgba(255,255,252,.72); }
.assistant-turn.is-latest { border-color: #9cac75; background: #fbfdf5; box-shadow: 0 5px 18px rgba(52, 65, 34, .08); }
.assistant-latest-label { display: inline-flex; margin-bottom: .5rem; padding: .18rem .48rem; border-radius: 999px; background: #e3ecd2; color: #42582b; font-size: .7rem; font-weight: 850; letter-spacing: .03em; text-transform: uppercase; }
.assistant-action-links { display: flex; flex-wrap: wrap; gap: .5rem; margin: .65rem 0; }
.assistant-history { order: 2; }.assistant-history-heading { display: flex; align-items: center; justify-content: space-between; gap: .7rem; }.assistant-history-heading .eyebrow { margin-bottom: .15rem; }.assistant-history-heading h2 { margin: 0; color: var(--text); font-size: 1rem; letter-spacing: normal; text-transform: none; }

/* Ukraine capital-flow source state is deliberately distinct from an opportunity stage. */
.radar-status.stage-connected { color: #175a3a; background: #d9f0df; border-color: #84c99a; }
.radar-status.stage-ready_for_connection { color: #74510c; background: #fff0c6; border-color: #e1bf67; }
.radar-status.stage-access_required { color: #7a3429; background: #fde2dc; border-color: #dfa295; }
.radar-status.stage-research { color: #435977; background: #e2ebf7; border-color: #a9bdd8; }

/* Private capital flow: visual orientation, never a geographical or financial claim. */
.capital-ukraine-flag { display:grid; place-items:center; font-size:2rem; line-height:1; }.capital-map { display:grid; gap:1rem; overflow:hidden; }.capital-map-heading { align-items:center; }.capital-map-heading h2 { margin-bottom:.2rem; }.capital-map-coverage { display:grid; min-width:9.4rem; gap:.05rem; padding:.72rem .85rem; border:1px solid #bdd0b8; border-radius:.65rem; background:linear-gradient(145deg,#f8fcf5,#e9f3e4); color:#415c3d; text-align:right; }.capital-map-coverage strong { font-size:1.45rem; line-height:1; }.capital-map-coverage span { font-size:.72rem; font-weight:850; }.capital-map-coverage small { color:#687864; font-size:.68rem; }
.capital-map-controls { display:flex; flex-wrap:wrap; gap:.45rem; padding:.68rem; border:1px solid #d6dfcc; border-radius:.65rem; background:#fafcf6; }.capital-map-filter { display:inline-flex; align-items:center; gap:.34rem; min-height:2.15rem; padding:.35rem .58rem; border:1px solid #bdcbb4; border-radius:999px; background:#fff; color:#4f6349; font:inherit; font-size:.74rem; font-weight:800; cursor:pointer; transition:transform .16s ease,background .16s ease,border-color .16s ease; }.capital-map-filter:hover,.capital-map-filter:focus-visible { border-color:#657d4a; transform:translateY(-1px); }.capital-map-filter.is-active { border-color:#48683c; background:#4c683d; color:#fff; box-shadow:0 3px 10px rgba(47,74,38,.17); }.capital-map-filter > span:last-child { display:inline-grid; place-items:center; min-width:1.32rem; height:1.32rem; padding:0 .28rem; border-radius:999px; background:rgba(34,56,29,.1); font-size:.67rem; }.capital-map-filter.is-active > span:last-child { background:rgba(255,255,255,.18); }
.capital-map-canvas { display:grid; grid-template-columns:minmax(260px,.84fr) minmax(400px,1.42fr); gap:1.05rem; align-items:stretch; padding:.85rem; border:1px solid #cbd8c5; border-radius:.72rem; background:radial-gradient(circle at 95% 7%,rgba(226,241,219,.72),transparent 27rem),linear-gradient(135deg,#f8fbf5,#eef5ec); }.capital-map-origin-column { display:grid; align-content:start; gap:.5rem; }.capital-map-column-label { margin:0 0 .12rem; color:#64755c; font-size:.68rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }.capital-origin-card { display:grid; grid-template-columns:2.45rem minmax(0,1fr) auto; gap:.55rem; align-items:center; min-width:0; padding:.62rem; border:1px solid #bdcfb7; border-left:4px solid #4e774a; border-radius:.56rem; background:rgba(255,255,252,.82); transition:box-shadow .16s ease,transform .16s ease,border-color .16s ease; }.capital-origin-card:hover,.capital-origin-card.is-selected { border-color:#607d48; box-shadow:0 5px 15px rgba(52,78,44,.12); transform:translateY(-1px); }.capital-origin-card.is-unconfirmed { border-left-color:#b88739; }.capital-origin-card strong { display:block; color:#385338; font-size:.78rem; line-height:1.25; }.capital-origin-card p,.capital-origin-card small { display:block; margin:.12rem 0 0; color:#687360; font-size:.66rem; line-height:1.3; }.capital-origin-card small { color:#8a6631; }.capital-origin-flag { display:grid; place-items:center; width:2.35rem; height:2.35rem; border:1px solid #c8d7c2; border-radius:50%; background:#f1f7ed; font-size:1.35rem; }.capital-origin-open { padding:.3rem .22rem; border:0; background:transparent; color:#426b3d; font:inherit; font-size:.68rem; font-weight:900; white-space:nowrap; cursor:pointer; }.capital-origin-open:hover,.capital-origin-open:focus-visible { color:#244b2b; text-decoration:underline; }
.capital-map-flow { display:grid; grid-template-columns:minmax(0,1fr) 1.4rem minmax(0,1fr); align-content:center; gap:.35rem .12rem; min-width:0; }.capital-flow-step { display:grid; grid-template-columns:1.58rem minmax(0,1fr); gap:.42rem; align-items:start; min-height:4.25rem; padding:.58rem; border:1px solid #bbd4ba; border-radius:.56rem; background:rgba(255,255,255,.84); }.capital-flow-step.is-pending { border-color:#dfc98d; background:#fffaf0; }.capital-flow-number { display:grid; place-items:center; width:1.55rem; height:1.55rem; border-radius:50%; background:#4c7749; color:#fff; font-size:.7rem; font-weight:900; }.capital-flow-step.is-pending .capital-flow-number { background:#b68432; }.capital-flow-step p,.capital-flow-step strong,.capital-flow-step small { display:block; margin:0; overflow-wrap:anywhere; }.capital-flow-step p { color:#697861; font-size:.63rem; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }.capital-flow-step strong { margin-top:.11rem; color:#3b5438; font-size:.72rem; line-height:1.25; }.capital-flow-step small { margin-top:.13rem; color:#6c7665; font-size:.64rem; line-height:1.25; }.capital-flow-arrow { display:grid; place-items:center; color:#4c7749; font-size:1.2rem; font-weight:900; }.capital-flow-arrow.is-pending { color:#b68432; }.capital-map-ukraine { grid-column:1 / -1; display:flex; align-items:center; justify-content:center; gap:.48rem; margin-top:.12rem; padding:.52rem; border:1px dashed #8ca681; border-radius:.5rem; background:rgba(230,240,225,.72); color:#3d5d39; }.capital-map-ukraine > span { font-size:1.25rem; }.capital-map-ukraine strong,.capital-map-ukraine small { display:block; }.capital-map-ukraine strong { font-size:.76rem; }.capital-map-ukraine small { margin-top:.08rem; color:#65755e; font-size:.64rem; }.capital-map-status,.capital-map-empty { margin:0; color:#65735e; font-size:.76rem; line-height:1.45; }.capital-map-status { min-height:1.15rem; }.capital-fact-panel { scroll-margin-top:1rem; }.capital-table-origin { margin-right:.28rem; font-size:1.05rem; vertical-align:-1px; }
@media (max-width:980px) { .capital-map-canvas { grid-template-columns:1fr; }.capital-map-coverage { min-width:0; text-align:left; } }
@media (max-width:620px) { .capital-map-heading { align-items:stretch; flex-direction:column; }.capital-map-controls { flex-wrap:nowrap; overflow-x:auto; padding-bottom:.78rem; }.capital-map-filter { flex:0 0 auto; }.capital-map-canvas { padding:.6rem; }.capital-map-flow { grid-template-columns:1fr; gap:.22rem; }.capital-flow-arrow { height:1.2rem; transform:rotate(90deg); }.capital-map-ukraine { grid-column:auto; }.capital-origin-card { grid-template-columns:2.3rem minmax(0,1fr); }.capital-origin-open { grid-column:2; justify-self:start; padding-left:0; }.capital-fact-panel .table-wrap { overflow:visible; }.capital-fact-panel table,.capital-fact-panel tbody { display:block; width:100%; }.capital-fact-panel thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }.capital-fact-panel tbody { display:grid; gap:.65rem; }.capital-fact-panel tr { display:grid; gap:.18rem; padding:.72rem; border:1px solid #ced8c8; border-left:4px solid #557a61; border-radius:.58rem; background:#fcfdf9; }.capital-fact-panel tr[hidden] { display:none; }.capital-fact-panel td { display:grid; grid-template-columns:1fr; gap:.14rem; padding:.34rem 0; border:0; text-align:left; }.capital-fact-panel td::before { content:attr(data-label); color:#63725d; font-size:.64rem; font-weight:900; letter-spacing:.035em; text-transform:uppercase; }.capital-fact-panel td:first-child { padding-top:0; }.capital-fact-panel td:last-child { padding-bottom:0; }.capital-fact-panel td strong,.capital-fact-panel td small,.capital-fact-panel td a { overflow-wrap:anywhere; } }
.assistant-history form { display: grid; gap: .65rem; min-width: 0; }.assistant-history-select-all { display: flex; align-items: center; gap: .45rem; padding-bottom: .5rem; border-bottom: 1px solid var(--line); font-size: .76rem; }.assistant-history-select-all input { width: auto; }
.assistant-history nav { max-height: min(52vh, 560px); overflow-y: auto; padding-right: .18rem; }
.assistant-history-item { border: 1px solid transparent; border-radius: .45rem; }.assistant-history-item:hover, .assistant-history-item.is-active { border-color: #c5cfaa; background: #eef2e4; }
.assistant-history-item > label { display: grid; grid-template-columns: auto minmax(0,1fr); gap: .45rem; align-items: start; padding: .58rem; cursor: pointer; }.assistant-history-item input { width: auto; margin-top: .18rem; }.assistant-history-item label > span { display: grid; min-width: 0; gap: .1rem; }.assistant-history-item a { min-width: 0; padding: 0; }.assistant-history-item strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.assistant-history-item small { color: var(--muted); font-size: .68rem; }
.assistant-history-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .45rem; padding-top: .65rem; border-top: 1px solid var(--line); }.assistant-history-actions > span { grid-column: 1 / -1; color: var(--muted); font-size: .75rem; }.assistant-history-actions .button { width: 100%; padding-inline: .45rem; font-size: .76rem; }.assistant-history-actions .button-danger { grid-column: 1 / -1; }
.assistant-history-feedback { min-height: 1.1rem; margin: 0; color: var(--muted); font-size: .72rem; line-height: 1.4; }
@media (max-width: 1050px) { .assistant-shell { grid-template-columns: 1fr; }.assistant-chat { order: 1; }.assistant-history { order: 2; position: static; max-height: none; }.assistant-history nav { grid-template-columns: repeat(2,minmax(0,1fr)); max-height: 360px; } }
@media (max-width: 760px) { .assistant-conversation-heading { align-items: stretch; flex-direction: column; padding: .85rem; }.assistant-rename[open] { width: 100%; }.assistant-primary-composer { top: .25rem; }.assistant-thread-latest-first { padding: .75rem; }.assistant-turn { padding: .72rem; }.assistant-history nav { grid-template-columns: 1fr; max-height: 330px; }.assistant-history-actions { grid-template-columns: 1fr; }.assistant-history-actions > span, .assistant-history-actions .button-danger { grid-column: auto; } }

/* Bezpośrednie karty terenowe i zwijane menu. Na telefonie pozostaje osobny
   przycisk Menu; na większym ekranie użytkownik może odzyskać całą szerokość. */
.sidebar-collapse-toggle { display: inline-flex; width: calc(100% - .84rem); min-height: 2.35rem; align-items: center; justify-content: center; gap: .48rem; margin: -1rem .42rem .9rem; padding: .4rem .55rem; border: 1px solid rgba(216,217,171,.28); border-radius: .4rem; background: rgba(255,255,239,.07); color: #edf0d8; font: inherit; font-size: .75rem; font-weight: 800; cursor: pointer; }
.sidebar-collapse-toggle:hover, .sidebar-collapse-toggle:focus-visible { border-color: #d8d69f; background: rgba(255,255,239,.14); }
.sidebar-collapse-icon { font-size: 1.15rem; line-height: 1; }
.app-shell.is-sidebar-collapsed { grid-template-columns: 66px minmax(0, 1fr); }
.app-shell.is-sidebar-collapsed .sidebar { align-items: center; padding-inline: .48rem; }
.app-shell.is-sidebar-collapsed .brand { display: block; margin: 0 0 1.15rem; }
.app-shell.is-sidebar-collapsed .brand-logo { width: 2.55rem; height: 2.55rem; }
.app-shell.is-sidebar-collapsed .brand-copy,
.app-shell.is-sidebar-collapsed .brand-version,
.app-shell.is-sidebar-collapsed .primary-navigation,
.app-shell.is-sidebar-collapsed .sidebar-footer,
.app-shell.is-sidebar-collapsed .sidebar-collapse-label { display: none; }
.app-shell.is-sidebar-collapsed .sidebar-collapse-toggle { width: 2.55rem; margin: -.7rem 0 0; padding-inline: .35rem; }
.field-event-switcher { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 0 0 1rem; padding: .75rem .9rem; border: 1px solid #bec9a3; border-left: 4px solid #61783e; border-radius: .5rem; background: #f7f9ef; }
.field-event-switcher > div { display: grid; gap: .15rem; min-width: 0; }
.field-event-switcher small { color: #67725b; }
.field-event-switcher label { width: min(520px, 52%); }
.field-event-finder { display: grid; gap: .55rem; margin: -.35rem 0 1rem; padding: .8rem .9rem; border: 1px solid #d1d7bf; border-radius: .5rem; background: rgba(252,252,247,.88); }
.field-event-finder > label { max-width: 720px; }
.field-event-finder > p { margin: 0; color: #66715a; font-size: .78rem; }
.field-event-search-results { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; padding-top: .25rem; }
.field-event-search-results[hidden], .field-event-search-results [hidden] { display: none !important; }
.field-event-search-results .button { display: grid; align-content: center; justify-items: start; min-width: 0; min-height: 3.6rem; text-align: left; white-space: normal; }
.field-event-search-results strong, .field-event-search-results small { max-width: 100%; overflow-wrap: anywhere; }
.field-event-search-results small { margin-top: .16rem; color: #68735a; font-weight: 600; }
.mobile-nav-panel { display: contents; }
.mobile-nav-panel-heading { display: none; }
@media (max-width: 760px) {
    .sidebar-collapse-toggle { display: none; }
    .app-shell.is-sidebar-collapsed { display: block; }
    .app-shell.is-sidebar-collapsed .sidebar { align-items: stretch; padding: .7rem .8rem; }
    .app-shell.is-sidebar-collapsed .brand { display: grid; margin: 0; }
    .app-shell.is-sidebar-collapsed .brand-copy, .app-shell.is-sidebar-collapsed .brand-version { display: grid; }
    .app-shell.is-sidebar-collapsed .primary-navigation, .app-shell.is-sidebar-collapsed .sidebar-footer { display: none; }
    .field-event-switcher { align-items: stretch; flex-direction: column; }
    .field-event-switcher label { width: 100%; }
    .field-event-search-results { grid-template-columns: 1fr; }

    /* The application navigation is a compact popover on phones. Opening it
       must not push the page several screens down or hide the entire task. */
    .sidebar {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        min-height: 4rem;
        max-height: none;
        overflow: visible;
        gap: .55rem;
        padding: .48rem .68rem;
    }
    .sidebar .brand {
        min-width: 0;
        grid-template-columns: 5.4rem minmax(0, 1fr);
        gap: .48rem;
        margin: 0;
    }
    .sidebar .brand-logo { width: 5.4rem; height: 2.15rem; }
    .sidebar .brand-copy small, .sidebar .brand-version { display: none; }
    .mobile-nav-toggle {
        width: auto;
        min-height: 2.65rem;
        margin: 0;
        padding-inline: .72rem;
        white-space: nowrap;
    }
    .mobile-nav-toggle-state { display: none; }
    .mobile-nav-panel { display: none; }
    .sidebar.is-nav-open .mobile-nav-panel {
        position: fixed;
        z-index: 90;
        top: calc(4.25rem + env(safe-area-inset-top, 0px));
        right: .62rem;
        left: .62rem;
        display: block;
        max-height: min(56dvh, 32rem);
        overflow-y: auto;
        overscroll-behavior: contain;
        padding: 0 .58rem .62rem;
        border: 1px solid rgba(216, 217, 171, .52);
        border-radius: .62rem;
        background: linear-gradient(155deg, #29321d, #1f2718);
        box-shadow: 0 18px 45px rgba(18, 24, 13, .42);
    }
    .mobile-nav-panel-heading {
        position: sticky;
        z-index: 2;
        top: 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        min-height: 3rem;
        margin: 0 -.58rem .45rem;
        padding: .45rem .68rem;
        border-bottom: 1px solid rgba(216, 217, 171, .25);
        background: #29321d;
        color: #f4f2df;
        font-size: .82rem;
    }
    .mobile-nav-panel-heading button {
        display: inline-flex;
        min-height: 2.15rem;
        align-items: center;
        gap: .35rem;
        padding: .3rem .55rem;
        border: 1px solid rgba(216, 217, 171, .42);
        border-radius: .35rem;
        background: rgba(255, 255, 239, .1);
        color: #fffdf0;
        font: inherit;
        font-weight: 800;
        cursor: pointer;
    }
    .sidebar.is-nav-open .primary-navigation {
        display: grid;
        grid-template-columns: 1fr;
        gap: .28rem;
        margin: 0;
        padding-bottom: .45rem;
    }
    .sidebar.is-nav-open .sidebar-footer {
        display: grid;
        margin-top: .25rem;
        padding: .62rem .35rem .15rem;
    }
    .sidebar .nav-group > summary { min-height: 2.85rem; }
    .sidebar .nav-group-links a { min-height: 2.55rem; }
}
