:root {
  --inf075-bg: #ffffff;
  --inf075-surface: #f8fbff;
  --inf075-surface-2: #f2f7fd;
  --inf075-text: #0b2348;
  --inf075-muted: #607394;
  --inf075-line: #dbe5f2;
  --inf075-blue: #1778e9;
  --inf075-blue-2: #0f68d6;
  --inf075-blue-soft: #eaf4ff;
  --inf075-green: #178b5b;
  --inf075-green-soft: #e8f8f0;
  --inf075-warn: #b66a0a;
  --inf075-warn-soft: #fff4e5;
  --inf075-danger: #b83434;
  --inf075-shadow: 0 22px 60px rgba(31, 65, 111, .24);
}

body.inf075-modal-open { overflow: hidden !important; }
.inf075-overlay { position: fixed; inset: 0; z-index: 2147482000; display: flex; align-items: center; justify-content: center; padding: 24px; background: rgba(18, 37, 65, .34); backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); font-family: Arial, Helvetica, sans-serif; color: var(--inf075-text); box-sizing: border-box; }
.inf075-overlay *, .inf075-overlay *::before, .inf075-overlay *::after { box-sizing: border-box; }
.inf075-modal { width: min(1120px, calc(100vw - 48px)); max-height: calc(100dvh - 48px); overflow: auto; overscroll-behavior: contain; background: var(--inf075-bg); border: 1px solid #d4dfed; border-radius: 14px; box-shadow: var(--inf075-shadow); color: var(--inf075-text); }
.inf075-modal button, .inf075-modal input { font: inherit; }
.inf075-modal-titlebar { min-height: 58px; display: flex; align-items: center; justify-content: space-between; padding: 0 20px; border-bottom: 1px solid var(--inf075-line); background: #fff; position: sticky; top: 0; z-index: 8; }
.inf075-modal-titlebar h2 { margin: 0; font-size: 20px; line-height: 26px; font-weight: 700; }
.inf075-close { width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 8px; background: transparent; color: #17345c; cursor: pointer; }
.inf075-close:hover { background: #edf4fc; }
.inf075-info-banner { margin: 14px 20px 0; min-height: 60px; padding: 10px 14px; display: grid; grid-template-columns: 26px 1fr auto; align-items: center; gap: 10px; background: linear-gradient(90deg, #edf6ff 0%, #e5f1ff 100%); border-radius: 10px; color: #123b72; }
.inf075-info-icon { width: 26px; height: 26px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: #2b83e9; color: white; }
.inf075-info-copy { display: flex; flex-direction: column; gap: 2px; }
.inf075-info-copy strong { font-size: 12px; line-height: 17px; font-weight: 700; }
.inf075-info-copy span { font-size: 11px; line-height: 16px; color: #587196; }
.inf075-info-progress { display: flex; align-items: center; gap: 8px; font-size: 11px; line-height: 15px; color: #49698f; white-space: nowrap; }
.inf075-info-progress > span:last-child { display: flex; flex-direction: column; }
.inf075-info-progress small { font-size: 10px; line-height: 14px; color: #6c82a0; }
.inf075-info-done { width: 24px; height: 24px; display: inline-flex !important; align-items: center; justify-content: center; border-radius: 50%; background: #dff5ea; color: var(--inf075-green); }
.inf075-spinner { display: inline-block; width: 22px; height: 22px; border: 2px solid rgba(23, 120, 233, .22); border-top-color: var(--inf075-blue); border-radius: 50%; animation: inf075spin .8s linear infinite; }
@keyframes inf075spin { to { transform: rotate(360deg); } }
.inf075-subject { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 20px 14px; }
.inf075-subject-copy { min-width: 0; display: flex; align-items: center; gap: 0; }
.inf075-subject-icon { display: none; }
.inf075-subject h3 { margin: 0 0 3px; font-size: 18px; line-height: 24px; font-weight: 700; color: #071f46; overflow-wrap: anywhere; }
.inf075-subject-ids { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; font-size: 13px; line-height: 18px; color: #627695; }
.inf075-id-sep { display: inline-block; width: 1px; height: 13px; background: #d8e2ee; }
.inf075-top-actions { display: flex; align-items: center; justify-content: flex-end; gap: 7px; flex-wrap: wrap; }
.inf075-last-check { margin-right: 8px; color: #687c99; font-size: 11px; line-height: 16px; white-space: nowrap; }
.inf075-secondary, .inf075-primary { height: 36px; padding: 0 12px; border-radius: 7px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; font-size: 12px; line-height: 16px; font-weight: 600; cursor: pointer; transition: background .15s, border-color .15s, transform .05s; }
.inf075-secondary { border: 1px solid #cfdced; background: white; color: #174779; }
.inf075-secondary:hover { background: #f2f7fd; border-color: #abc6e6; }
.inf075-primary { border: 1px solid var(--inf075-blue); background: var(--inf075-blue); color: white; }
.inf075-primary:hover { background: var(--inf075-blue-2); border-color: var(--inf075-blue-2); }
.inf075-secondary:active, .inf075-primary:active { transform: translateY(1px); }
.inf075-source-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 0 20px 16px; }
.inf075-source-card { position: relative; min-width: 0; min-height: 128px; padding: 15px 16px 13px; text-align: left; border: 1px solid var(--inf075-line); border-radius: 10px; background: #fff; color: var(--inf075-text); cursor: pointer; box-shadow: 0 2px 6px rgba(38, 70, 110, .03); }
.inf075-source-card--active { border-color: #2785ee; box-shadow: inset 0 0 0 1px rgba(39, 133, 238, .18), 0 3px 10px rgba(35, 100, 174, .08); background: #fbfdff; }
.inf075-source-card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }
.inf075-source-ident { display: flex; align-items: center; gap: 10px; min-width: 0; }
.inf075-source-ident strong { font-size: 16px; line-height: 22px; font-weight: 600; white-space: nowrap; }
.inf075-source-glyph { width: 32px; height: 32px; flex: none; display: inline-flex; align-items: center; justify-content: center; border-radius: 9px; color: #247ad3; background: #eaf4ff; }
.inf075-source-glyph--fns { color: #2e6ea8; background: #edf5fb; }
.inf075-source-glyph--asv { color: #258b69; background: #e9f8f1; }
.inf075-status-badge { display: inline-flex; align-items: center; gap: 4px; max-width: 145px; padding: 4px 7px; border-radius: 6px; background: var(--inf075-green-soft); color: var(--inf075-green); font-size: 10px; line-height: 14px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.inf075-status-badge--warn { background: var(--inf075-warn-soft); color: var(--inf075-warn); }
.inf075-source-card-body { margin-top: 13px; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.inf075-source-card-body > span:first-child { min-width: 0; display: flex; align-items: baseline; gap: 6px; }
.inf075-source-card-body b { font-size: 28px; line-height: 32px; font-weight: 700; color: #082860; }
.inf075-source-card-body span span { font-size: 11px; line-height: 16px; color: #71819a; }
.inf075-mini-refresh { width: 34px; height: 34px; flex: none; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #d5e1ef; border-radius: 7px; background: #fff; color: #175da9; }
.inf075-mini-refresh:hover { background: #f1f7fe; }
.inf075-source-card > small { display: block; margin-top: 4px; color: #7586a0; font-size: 10px; line-height: 14px; }
.inf075-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) 246px; gap: 16px; padding: 0 20px 20px; }
.inf075-detail { min-width: 0; border: 1px solid var(--inf075-line); border-radius: 10px; background: #fff; overflow: hidden; }
.inf075-detail-head { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 11px 15px; border-bottom: 1px solid var(--inf075-line); }
.inf075-detail-source { min-width: 0; display: flex; align-items: center; gap: 10px; }
.inf075-detail-source h3 { margin: 0; font-size: 16px; line-height: 22px; font-weight: 600; }
.inf075-detail-source small { display: block; margin-top: 1px; font-size: 11px; line-height: 15px; color: #6f819c; }
.inf075-source-home { flex: none; display: inline-flex; align-items: center; gap: 4px; color: var(--inf075-blue); text-decoration: none; font-size: 11px; line-height: 16px; font-weight: 600; }
.inf075-kad-filter { min-height: 55px; padding: 9px 14px; display: flex; align-items: center; gap: 9px; border-bottom: 1px solid var(--inf075-line); background: #fbfdff; font-size: 11px; line-height: 15px; }
.inf075-filter-label { font-weight: 600; color: #334f74; margin-right: 2px; }
.inf075-kad-filter label { display: flex; align-items: center; gap: 5px; color: #5f7392; }
.inf075-kad-filter input[type="date"] { width: 139px; height: 34px; padding: 0 9px; border: 1px solid #cfdcec; border-radius: 6px; background: #fff; color: #233e62; font-size: 11px; }
.inf075-apply-period { min-width: 100px; height: 34px; }
.inf075-found { margin-left: auto; color: #536d90; white-space: nowrap; }
.inf075-found b { color: #183d70; }
.inf075-source-meta-line { min-height: 48px; padding: 0 15px; display: flex; align-items: center; justify-content: space-between; background: #fbfdff; border-bottom: 1px solid var(--inf075-line); color: #5a7192; font-size: 11px; }
.inf075-source-warning { margin: 10px 14px 0; padding: 8px 10px; display: flex; flex-wrap: wrap; gap: 5px 8px; border-radius: 7px; background: var(--inf075-warn-soft); color: #8b570c; font-size: 11px; line-height: 15px; }
.inf075-record-head, .inf075-record { display: grid; grid-template-columns: 82px 140px minmax(150px, 1.2fr) minmax(150px, 1fr) 130px; gap: 10px; align-items: center; }
.inf075-record-head--kad, .inf075-record--kad { grid-template-columns: 62px 102px 112px 72px minmax(120px, 1.05fr) minmax(130px, 1fr) 108px; gap: 8px; }
.inf075-record-court, .inf075-record-role { min-width: 0; color: #294d76; font-size: 10px; line-height: 14px; overflow-wrap: anywhere; }
.inf075-record-head { min-height: 32px; padding: 0 12px; background: #f5f8fc; color: #667a97; border-bottom: 1px solid #e2eaf4; font-size: 10px; line-height: 14px; font-weight: 600; }
.inf075-record { min-height: 62px; padding: 8px 12px; border-bottom: 1px solid #e8eef6; font-size: 11px; line-height: 15px; color: #314f74; }
.inf075-record:last-child { border-bottom: 0; }
.inf075-record-date, .inf075-record-id { color: #294d76; font-size: 11px; overflow-wrap: anywhere; }
.inf075-record-main { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.inf075-record-main strong { font-size: 13px; line-height: 18px; font-weight: 600; color: #102d55; }
.inf075-record-main small { font-size: 10px; line-height: 14px; color: #7587a0; }
.inf075-match-note { width: max-content; padding: 2px 5px; border-radius: 4px; background: #fff4df; color: #986116; font-size: 9px; line-height: 12px; }
.inf075-record-summary { min-width: 0; color: #4d6585; overflow-wrap: anywhere; }
.inf075-record-action { display: flex; justify-content: flex-end; }
.inf075-link-btn { min-height: 28px; padding: 5px 7px; display: inline-flex; align-items: center; justify-content: center; gap: 3px; border: 1px solid #cae0f8; border-radius: 6px; background: #eff7ff; color: #0870dc; text-decoration: none; font-size: 10px; line-height: 14px; font-weight: 600; white-space: nowrap; }
.inf075-no-link { color: #8b98aa; font-size: 10px; text-align: right; }
.inf075-empty { padding: 32px 16px; text-align: center; color: #7586a0; font-size: 12px; }
.inf075-report-info { min-width: 0; padding: 14px 15px; border: 1px solid var(--inf075-line); border-radius: 10px; background: #f8fbff; color: #345376; }
.inf075-report-info h3 { margin: 0 0 12px; display: flex; align-items: center; gap: 7px; font-size: 13px; line-height: 18px; font-weight: 700; color: #153963; }
.inf075-report-info p { margin: 0 0 8px; font-size: 10px; line-height: 15px; color: #69809c; }
.inf075-report-info ol { margin: 0; padding: 0; list-style: none; counter-reset: report; }
.inf075-report-info ol li { counter-increment: report; position: relative; margin: 0 0 8px; padding-left: 25px; font-size: 10px; line-height: 15px; }
.inf075-report-info ol li::before { content: counter(report); position: absolute; left: 0; top: 0; width: 17px; height: 17px; display: flex; align-items: center; justify-content: center; border: 1px solid #78b5f5; border-radius: 50%; color: #1879df; font-size: 9px; font-weight: 700; }
.inf075-report-extra { margin-top: 11px; padding-top: 10px; border-top: 1px solid #dce6f1; font-size: 10px; line-height: 15px; }
.inf075-report-extra strong { display: block; margin-bottom: 5px; }
.inf075-report-extra ul { margin: 0; padding-left: 17px; }
.inf075-report-note { margin-top: 12px; padding: 9px; display: flex; gap: 7px; border-radius: 7px; background: #e9f4ff; color: #53718f; font-size: 10px; line-height: 14px; }
.inf075-loading { min-height: 220px; display: flex; align-items: center; justify-content: center; gap: 10px; color: #60789a; font-size: 13px; }
.inf075-fatal { margin: 18px 20px 24px; padding: 15px; border-radius: 9px; background: #fff0f0; color: #8c3030; }
.inf075-fatal strong { font-size: 14px; }
.inf075-fatal p { margin: 7px 0 0; font-size: 12px; }
.inf075-mobile-tabs, .inf075-mobile-banner, .inf075-mobile-content, .inf075-mobile-footer { display: none; }
.inf075-toast { position: fixed; z-index: 2147483000; left: 50%; bottom: 28px; transform: translateX(-50%); max-width: min(520px, calc(100vw - 32px)); padding: 10px 14px; border-radius: 8px; background: #173a65; color: white; box-shadow: 0 8px 24px rgba(10, 33, 62, .25); font: 12px/17px Arial, Helvetica, sans-serif; }
.inf075-toast--error { background: #a63c3c; }
.inf075-dock-icon { display: inline-flex; }

@media (max-width: 768px) {
  .inf075-overlay { padding: 0; align-items: stretch; background: rgba(14, 30, 52, .28); }
  .inf075-modal { width: 100vw; max-width: none; height: 100dvh; max-height: 100dvh; border: 0; border-radius: 0; box-shadow: none; display: flex; flex-direction: column; overflow: hidden; }
  .inf075-modal-titlebar { min-height: 52px; flex: none; padding: 0 14px; }
  .inf075-modal-titlebar h2 { font-size: 18px; line-height: 24px; }
  .inf075-close { width: 34px; height: 34px; }
  .inf075-desktop-banner, .inf075-desktop-content { display: none; }
  .inf075-subject { flex: none; display: block; padding: 10px 14px 8px; }
  .inf075-subject-icon { display: none; }
  .inf075-subject h3 { margin-bottom: 3px; font-size: 15px; line-height: 20px; }
  .inf075-subject-ids { gap: 8px; font-size: 11px; line-height: 15px; }
  .inf075-id-sep { height: 10px; }
  .inf075-top-actions { display: none; }
  .inf075-mobile-tabs { flex: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); height: 40px; padding: 0 8px; border-bottom: 1px solid #e2eaf3; background: #fff; }
  .inf075-modal .inf075-mobile-tabs .inf075-tab { position: relative; min-width: 0; padding: 0 2px; border: 0; background: transparent; color: #3f5879; font-size: 12px !important; line-height: 16px !important; font-weight: 600 !important; white-space: nowrap; cursor: pointer; }
  .inf075-tab span { font-weight: 600; }
  .inf075-tab--active { color: #0875e5; }
  .inf075-tab--active::after { content: ''; position: absolute; left: 7px; right: 7px; bottom: -1px; height: 2px; background: #0878e9; border-radius: 2px 2px 0 0; }
  .inf075-mobile-banner { flex: none; display: block; }
  .inf075-info-banner { margin: 8px 12px 7px; min-height: 52px; padding: 8px 9px; grid-template-columns: 24px minmax(0,1fr) 24px; gap: 7px; border-radius: 9px; }
  .inf075-info-icon { width: 23px; height: 23px; }
  .inf075-info-copy strong { font-size: 10px; line-height: 14px; }
  .inf075-info-copy span { font-size: 9px; line-height: 13px; }
  .inf075-info-progress { min-width: 0; }
  .inf075-info-progress > span:last-child { display: none; }
  .inf075-info-progress .inf075-spinner { width: 21px; height: 21px; }
  .inf075-mobile-content { flex: 1 1 auto; min-height: 0; display: block; overflow-y: auto; padding: 0 10px 8px; -webkit-overflow-scrolling: touch; }
  .inf075-accordion { margin-bottom: 7px; border: 1px solid #dce6f1; border-radius: 9px; background: #fff; overflow: hidden; }
  .inf075-accordion > header { position: relative; min-height: 56px; display: flex; align-items: stretch; }
  .inf075-accordion-toggle { min-width: 0; flex: 1 1 auto; display: grid; grid-template-columns: 31px minmax(0, 1fr) auto 18px; align-items: center; gap: 7px; padding: 7px 43px 7px 8px; border: 0; background: #fff; color: var(--inf075-text); text-align: left; cursor: pointer; }
  .inf075-accordion .inf075-source-glyph { width: 30px; height: 30px; border-radius: 8px; }
  .inf075-accordion-title { min-width: 0; display: flex; flex-direction: column; gap: 1px; }
  .inf075-accordion-title strong { font-size: 14px; line-height: 19px; font-weight: 600; }
  .inf075-accordion-title > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #71829a; font-size: 9px; line-height: 13px; }
  .inf075-accordion-title b { color: #163d75; font-size: 14px; line-height: 19px; }
  .inf075-accordion .inf075-status-badge { max-width: 104px; padding: 3px 5px; font-size: 8px; line-height: 11px; }
  .inf075-chevron { color: #1d68b7; transition: transform .15s; }
  .inf075-accordion--open .inf075-chevron { transform: rotate(180deg); }
  .inf075-accordion-refresh { position: absolute; right: 8px; top: 50%; width: 30px; height: 30px; transform: translateY(-50%); z-index: 2; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #d3dfed; border-radius: 7px; background: #fff; color: #176abd; cursor: pointer; }
  .inf075-accordion-body { border-top: 1px solid #e3eaf3; padding: 8px; background: #fbfdff; }
  .inf075-mobile-period { padding: 2px 0 7px; }
  .inf075-mobile-period > span { display: block; margin-bottom: 6px; color: #526b8e; font-size: 10px; line-height: 14px; }
  .inf075-mobile-period > div { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .inf075-mobile-period label { min-width: 0; display: grid; grid-template-columns: 16px minmax(0, 1fr); gap: 3px; align-items: center; color: #5d7190; font-size: 10px; }
  .inf075-mobile-period input[type="date"] { min-width: 0; width: 100%; height: 33px; padding: 0 5px; border: 1px solid #cfdae9; border-radius: 6px; background: white; color: #243f65; font-size: 10px; }
  .inf075-mobile-period .inf075-primary { width: 100%; height: 34px; margin-top: 7px; }
  .inf075-mobile-found { margin: 2px 0 7px; color: #536d90; font-size: 10px; line-height: 14px; }
  .inf075-mobile-found b { color: #153b70; }
  .inf075-mobile-warning { margin-bottom: 7px; padding: 7px 8px; border-radius: 6px; background: var(--inf075-warn-soft); color: #85540d; font-size: 9px; line-height: 13px; }
  .inf075-mobile-record { position: relative; margin-bottom: 6px; padding: 8px 42px 8px 9px; min-height: 74px; border: 1px solid #dce6f2; border-radius: 7px; background: #fff; color: #335071; }
  .inf075-mobile-record-top { display: flex; justify-content: space-between; gap: 7px; margin-bottom: 3px; color: #647996; font-size: 9px; line-height: 13px; }
  .inf075-mobile-record strong { display: block; font-size: 13px; line-height: 18px; font-weight: 600; color: #102d55; }
  .inf075-mobile-record p { margin: 2px 0 4px; font-size: 11px; line-height: 16px; color: #536b89; }
  .inf075-mobile-record a { color: #0873df; text-decoration: none; }
  .inf075-mobile-record-link { position: absolute; right: 9px; top: 50%; width: 30px; height: 30px; transform: translateY(-50%); display: inline-flex; align-items: center; justify-content: center; border: 1px solid #d5e2f1; border-radius: 6px; background: #fff; color: #0873df; }
  .inf075-show-all { width: 100%; height: 30px; display: flex; align-items: center; justify-content: center; gap: 4px; border: 1px solid #d5e2f1; border-radius: 6px; background: white; color: #176dcc; font-size: 10px; font-weight: 600; cursor: pointer; }
  .inf075-mobile-footer { flex: none; min-height: 56px; display: grid; grid-template-columns: .9fr 1fr 1fr; gap: 7px; padding: 9px 10px max(9px, env(safe-area-inset-bottom)); border-top: 1px solid #dbe5f0; background: rgba(255,255,255,.98); box-shadow: 0 -5px 16px rgba(33, 63, 100, .07); }
  .inf075-mobile-footer .inf075-secondary, .inf075-mobile-footer .inf075-primary { width: 100%; height: 36px; padding: 0 5px; border-radius: 7px; font-size: 10px; line-height: 13px; }
  .inf075-fatal { margin: 12px; }
  .inf075-toast { bottom: 72px; font-size: 11px; }
}

@media (max-width: 370px) {
  .inf075-mobile-footer .inf075-secondary span, .inf075-mobile-footer .inf075-primary span { display: none; }
  .inf075-mobile-footer { grid-template-columns: repeat(3, 1fr); }
  .inf075-accordion .inf075-status-badge span { display: none; }
  .inf075-accordion .inf075-status-badge { width: 22px; justify-content: center; }
}

@media (prefers-reduced-motion: reduce) {
  .inf075-spinner { animation-duration: 1.6s; }
  .inf075-secondary, .inf075-primary, .inf075-chevron { transition: none; }
}
