.fa-shell{display:grid;gap:18px;min-width:0}
.fa-filter-panel{overflow:visible}
.fa-filter-panel .panel-header{align-items:flex-start;gap:16px}
.fa-filter-panel small{font-size:.69rem;font-weight:500;line-height:1.45;color:var(--muted)}
.fa-auto-bucket{display:inline-flex;align-items:center;white-space:nowrap;border:1px solid var(--line);border-radius:999px;background:var(--soft);padding:6px 10px;font-size:.66rem;font-weight:800;color:var(--muted)}
.fa-scope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.fa-period-fieldset,.fa-comparison-fieldset{border:0;border-top:1px solid var(--line);padding:17px 0 0;margin:18px 0 0}
.fa-period-fieldset legend,.fa-comparison-fieldset legend{padding:0 12px 0 0;font-size:.76rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.fa-presets{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:13px}
.fa-presets .button.active,.fa-presets .button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.fa-date-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:12px}
.fa-comparison-fieldset>label{max-width:480px}
.fa-comparison-fieldset>small{display:block;margin-top:10px}
.fa-filter-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}
.fa-filter-actions>div:last-child{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.fa-applied-state,.fa-filter-message{margin:0;min-height:18px;font-size:.7rem;font-weight:700}
.fa-applied-state{color:var(--muted)}
.fa-applied-state.dirty{color:#915700}
.fa-applied-state.ok{color:var(--green)}
.fa-filter-message{margin-top:4px}
.fa-filter-message.error{color:var(--danger)}
.fa-filter-message.ok{color:var(--green)}
.fa-filter-message.working{color:var(--blue)}
.fa-result{display:grid;gap:18px;min-width:0}
.fa-loading,.fa-error,.fa-empty{display:grid;place-items:center;text-align:center;gap:7px;min-height:220px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;color:var(--muted)}
.fa-loading>span{width:32px;height:32px;border:3px solid #dbe0e2;border-top-color:var(--ink);border-radius:50%;animation:fa-spin .8s linear infinite}
.fa-loading strong,.fa-error strong,.fa-empty strong{color:var(--ink);font-size:.95rem}
.fa-loading p,.fa-error p,.fa-empty p{margin:0;font-size:.74rem;line-height:1.5}
.fa-error{border-left:5px solid var(--danger)}
.fa-error .button{margin-top:8px}
.fa-empty{min-height:150px;border:0;background:var(--soft)}
.fa-empty.compact{min-height:74px;padding:14px}
@keyframes fa-spin{to{transform:rotate(360deg)}}
.fa-report-meta{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(440px,.6fr);gap:20px;align-items:end;background:linear-gradient(135deg,#101417 0%,#293238 100%);color:#fff;border-radius:var(--radius);padding:22px 24px}
.fa-report-meta h2{margin:4px 0 6px;font-size:clamp(1.15rem,2vw,1.65rem);letter-spacing:-.03em}
.fa-report-meta p{margin:0;color:#c8d0d4;font-size:.74rem;line-height:1.5}
.fa-overline{margin:0!important;font-size:.61rem!important;letter-spacing:.13em;text-transform:uppercase;font-weight:900;color:var(--muted)!important}
.fa-report-meta .fa-overline{color:#9eabb1!important}
.fa-report-meta dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}
.fa-report-meta dl div{border-left:1px solid #4c565c;padding-left:11px;min-width:0}
.fa-report-meta dt{color:#9eabb1;font-size:.58rem;letter-spacing:.06em;text-transform:uppercase;font-weight:800}
.fa-report-meta dd{margin:4px 0 0;font-size:.7rem;font-weight:750;overflow-wrap:anywhere}
.fa-quality{display:flex;align-items:flex-start;gap:14px;border:1px solid var(--line);border-left:5px solid var(--green);border-radius:12px;background:#fff;padding:15px 17px}
.fa-quality.warning{border-left-color:#bd7500;background:#fffaf0}
.fa-quality>span{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:#e7f6ec;color:var(--green);font-weight:900}
.fa-quality.warning>span{background:#ffebbd;color:#7d4b00}
.fa-quality strong{font-size:.83rem}
.fa-quality p,.fa-quality ul{margin:4px 0 0;color:var(--muted);font-size:.7rem;line-height:1.55}
.fa-quality ul{padding-left:18px}
.fa-section-heading{display:flex;justify-content:space-between;align-items:end;gap:18px;margin:4px 2px 11px}
.fa-section-heading h2{margin:3px 0 0;font-size:1.05rem}
.fa-section-heading>p{max-width:630px;margin:0;text-align:right;color:var(--muted);font-size:.7rem;line-height:1.45}
.fa-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px}
.fa-kpi{min-width:0;border:1px solid var(--line);border-top:4px solid var(--ink);border-radius:12px;background:#fff;padding:14px;min-height:132px}
.fa-kpi.warning{border-top-color:#bd7500}
.fa-kpi.danger{border-top-color:var(--danger)}
.fa-kpi>span{display:block;min-height:30px;color:var(--muted);font-size:.62rem;line-height:1.35;text-transform:uppercase;letter-spacing:.06em;font-weight:800}
.fa-kpi>strong{display:block;margin:5px 0 2px;font-size:1.75rem;line-height:1;letter-spacing:-.04em}
.fa-kpi-support{display:block;margin-top:8px;color:var(--muted);font-size:.64rem;line-height:1.4}
.fa-delta{display:block;margin-top:8px;font-size:.63rem;font-weight:800;line-height:1.35}
.fa-delta.good{color:var(--green)}
.fa-delta.bad{color:var(--danger)}
.fa-delta.neutral{color:var(--muted)}
.fa-duration-grid{display:grid;grid-template-columns:repeat(4,minmax(190px,1fr));gap:10px}
.fa-duration-kpi{min-height:190px}
.fa-duration-kpi dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:12px 0 0}
.fa-duration-kpi dl div{background:var(--soft);border-radius:8px;padding:8px}
.fa-duration-kpi dt{font-size:.58rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.fa-duration-kpi dd{margin:3px 0 0;font-size:.78rem;font-weight:850}
.fa-two-column{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.55fr);gap:18px}
.fa-chart-head{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:8px}
.fa-chart-head label{min-width:260px}
.fa-chart-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;font-size:.66rem;color:var(--muted)}
.fa-chart-legend span{display:flex;align-items:center;gap:6px}
.fa-chart-legend i{display:block;width:22px;height:3px;background:var(--ink)}
.fa-chart-legend i.comparison{height:0;border-top:3px dashed var(--orange);background:transparent}
.fa-chart-scroll{width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.fa-trend-chart{display:block;width:100%;min-width:600px;height:auto;max-height:330px}
.fa-chart-grid line{stroke:#e4e8ea;stroke-width:1}
.fa-chart-grid text{fill:var(--muted);font-size:10px}
.fa-series-current,.fa-series-comparison{fill:none;stroke:var(--ink);stroke-width:4;stroke-linejoin:round;stroke-linecap:round}
.fa-series-comparison{stroke:var(--orange);stroke-width:3;stroke-dasharray:8 7}
.fa-point-current{fill:#fff;stroke:var(--ink);stroke-width:3}
.fa-point-comparison{fill:#fff;stroke:var(--orange);stroke-width:3}
.fa-chart-data{margin-top:7px;border-top:1px solid var(--line);padding-top:9px}
.fa-chart-data summary{cursor:pointer;font-size:.68rem;font-weight:800;color:var(--muted)}
.fa-table-wrap{overflow:auto;overscroll-behavior-x:contain}
.fa-table-wrap table,.fa-print-preview table{width:100%;border-collapse:collapse;font-size:.7rem}
.fa-table-wrap th,.fa-table-wrap td,.fa-print-preview th,.fa-print-preview td{text-align:left;padding:9px;border-bottom:1px solid var(--line);vertical-align:top}
.fa-table-wrap th,.fa-print-preview th{font-size:.58rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.fa-distribution-grid{display:grid;gap:20px}
.fa-distribution-grid section>h3{margin:0 0 10px;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}
.fa-distribution-row{display:grid;gap:6px;margin-bottom:10px}
.fa-distribution-row>div:first-child{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.fa-distribution-row strong{font-size:.7rem}
.fa-distribution-row span{color:var(--muted);font-size:.63rem;white-space:nowrap}
.fa-distribution-track,.fa-pareto-track{display:block;height:7px;overflow:hidden;border-radius:8px;background:#e6e9ea}
.fa-distribution-track i,.fa-pareto-track i{display:block;height:100%;border-radius:inherit;background:var(--ink)}
.fa-pareto-panel,.fa-details-panel{margin-top:0}
.fa-tabs{display:flex;gap:6px;overflow-x:auto;padding:2px 1px 8px;scrollbar-width:thin;overscroll-behavior-x:contain}
.fa-tabs button{flex:0 0 auto;min-height:36px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:6px 11px;font-size:.67rem;font-weight:800;color:var(--muted)}
.fa-tabs button:hover{border-color:#919b9f;color:var(--ink)}
.fa-tabs button[aria-selected="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.fa-tabs button:focus-visible,.fa-pareto-row:focus-visible,.fa-ticket-link:focus-visible,.fa-filter-chip:focus-visible{outline:3px solid rgba(23,105,170,.25);outline-offset:2px}
.fa-pareto-list{display:grid;gap:6px;margin-top:8px}
.fa-pareto-row{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(220px,1.3fr);gap:14px;align-items:center;width:100%;border:1px solid transparent;border-radius:9px;background:transparent;padding:8px 10px;text-align:left;color:inherit}
.fa-pareto-row:hover{background:var(--soft)}
.fa-pareto-row.active{border-color:var(--ink);background:#f1f3f3}
.fa-pareto-label strong,.fa-pareto-label small{display:block}
.fa-pareto-label strong{font-size:.72rem}
.fa-pareto-label small{margin-top:3px;color:var(--muted);font-size:.62rem}
.fa-pareto-row:nth-child(1) .fa-pareto-track i,.fa-pareto-row:nth-child(2) .fa-pareto-track i,.fa-pareto-row:nth-child(3) .fa-pareto-track i{background:var(--danger)}
.fa-note{margin:10px 0 0;color:var(--muted);font-size:.66rem}
.fa-details-toolbar{display:grid;grid-template-columns:minmax(270px,1fr) minmax(160px,.35fr) minmax(190px,.4fr);gap:10px;align-items:end;margin-bottom:10px}
.fa-details-toolbar label{font-size:.68rem}
.fa-active-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:28px;margin-bottom:9px;color:var(--muted);font-size:.66rem}
.fa-filter-chip{border:0;border-radius:999px;background:var(--ink);color:#fff;padding:6px 10px;font-size:.65rem;font-weight:800}
.fa-inline-warning{border-left:4px solid #bd7500;background:#fff8e8;padding:9px 11px;margin-bottom:10px;font-size:.67rem;line-height:1.45;color:#714600}
.fa-details-table{min-width:1160px}
.fa-details-table th{white-space:nowrap}
.fa-details-table td{max-width:260px}
.fa-details-table td strong,.fa-details-table td small,.fa-details-table td>span{display:block}
.fa-details-table td small{margin-top:4px;color:var(--muted);font-size:.62rem;line-height:1.4}
.fa-details-table td>span{font-size:.63rem;line-height:1.45}
.fa-ticket-link{border:0;background:transparent;padding:0;color:var(--blue);font-weight:900;text-align:left;text-decoration:underline;text-underline-offset:2px}
.fa-status{display:inline-flex!important;width:max-content;max-width:100%;border-radius:999px;background:var(--soft);padding:5px 8px;font-size:.6rem!important;font-weight:850;line-height:1.2!important}
.fa-status.new,.fa-status.reopened{background:#fff0ef;color:var(--danger)}
.fa-status.in_progress,.fa-status.accepted{background:#eaf3fb;color:var(--blue)}
.fa-status.awaiting_verification,.fa-status.observation{background:#fff3d7;color:#855000}
.fa-status.closed{background:#e8f6ed;color:var(--green)}
.fa-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:13px}
.fa-pagination span{font-size:.67rem;font-weight:800;color:var(--muted)}
.fa-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.fa-print-preview{background:#fff;color:#111}
.fa-print-preview>header{border-bottom:3px solid #111;padding-bottom:12px;margin-bottom:14px}
.fa-print-preview>header p{margin:0 0 5px;font-size:.62rem;letter-spacing:.13em;font-weight:900}
.fa-print-preview>header h1{margin:0 0 6px;font-size:1.4rem}
.fa-print-preview>header span{font-size:.72rem;color:#444}
.fa-print-preview>section{margin-top:18px}
.fa-print-preview>section h2{font-size:.9rem;margin-top:0}
.fa-print-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.fa-print-kpis>div{border:1px solid #aaa;padding:9px}
.fa-print-kpis span,.fa-print-kpis strong{display:block}
.fa-print-kpis span{font-size:.58rem;text-transform:uppercase;color:#555}
.fa-print-kpis strong{font-size:1rem;margin-top:4px}
.fa-print-preview>footer{margin-top:18px;border-top:1px solid #999;padding-top:8px;font-size:.62rem;color:#555}

@media(max-width:1280px){
  .fa-kpi-grid{grid-template-columns:repeat(3,minmax(145px,1fr))}
  .fa-duration-grid{grid-template-columns:repeat(2,minmax(190px,1fr))}
  .fa-two-column{grid-template-columns:1fr}
}
@media(max-width:900px){
  .fa-report-meta{grid-template-columns:1fr;align-items:start}
  .fa-report-meta dl{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fa-kpi-grid{grid-template-columns:repeat(2,minmax(135px,1fr))}
  .fa-details-toolbar{grid-template-columns:1fr 1fr}
  .fa-details-toolbar .fa-search{grid-column:1/-1}
}
@media(max-width:720px){
  .fa-shell{gap:12px}
  .fa-filter-panel .panel-header{display:block}
  .fa-auto-bucket{margin-top:9px}
  .fa-scope-grid,.fa-date-grid{grid-template-columns:1fr}
  .fa-filter-actions{align-items:stretch;flex-direction:column}
  .fa-filter-actions>div:last-child{display:grid;grid-template-columns:1fr 1fr}
  .fa-filter-actions #faApply{grid-column:1/-1}
  .fa-filter-actions .button{width:100%;font-size:.68rem!important}
  .fa-report-meta{padding:18px}
  .fa-section-heading{display:block}
  .fa-section-heading>p{text-align:left;margin-top:6px}
  .fa-duration-grid{grid-template-columns:1fr}
  .fa-chart-head{align-items:stretch;flex-direction:column}
  .fa-chart-head label{min-width:0}
  .fa-chart-legend{justify-content:flex-start}
  .fa-pareto-row{grid-template-columns:1fr;gap:7px}
  .fa-details-toolbar{grid-template-columns:1fr}
  .fa-details-toolbar .fa-search{grid-column:auto}
  .fa-details-table{min-width:0;border-collapse:separate;border-spacing:0 10px}
  .fa-details-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .fa-details-table tbody,.fa-details-table tr,.fa-details-table td{display:block;width:100%}
  .fa-details-table tr{border:1px solid var(--line);border-left:4px solid var(--ink);border-radius:10px;background:#fff;padding:8px}
  .fa-details-table td{display:grid;grid-template-columns:minmax(90px,.32fr) minmax(0,1fr);max-width:none;border:0;padding:7px 5px}
  .fa-details-table td:before{content:attr(data-label);color:var(--muted);font-size:.58rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase;padding-top:2px}
  .fa-details-table td>*{grid-column:2}
  .fa-pagination{justify-content:space-between}
}
@media(max-width:480px){
  .fa-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .fa-presets .button{width:100%;padding:0 7px}
  .fa-kpi-grid{grid-template-columns:1fr}
  .fa-report-meta dl{grid-template-columns:1fr}
  .fa-filter-actions>div:last-child{grid-template-columns:1fr}
  .fa-filter-actions #faApply{grid-column:auto}
  .fa-pagination{display:grid;grid-template-columns:1fr 1fr}
  .fa-pagination span{grid-column:1/-1;grid-row:1;text-align:center}
}
@media(min-width:1800px){
  .fa-shell{font-size:1.06rem}
  .fa-kpi-grid{grid-template-columns:repeat(8,minmax(150px,1fr))}
  .fa-kpi{min-height:145px}
  .fa-kpi>strong{font-size:2rem}
  .fa-trend-chart{max-height:390px}
}
@media print{
  body.fa-printing{background:#fff!important;overflow:visible!important}
  body.fa-printing>.app-shell,body.fa-printing>.toast-host{display:none!important}
  body.fa-printing #modal{display:block!important;position:static!important;inset:auto!important;width:100%!important;max-width:none!important;max-height:none!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}
  body.fa-printing #modal::backdrop{display:none!important;background:transparent!important}
  body.fa-printing #modal .fa-no-print{display:none!important}
  body.fa-printing #modal .fa-print-preview{display:block!important;padding:0!important;overflow:visible!important}
  body.fa-printing #modal .fa-print-preview section{break-inside:avoid}
  body.fa-printing #modal .fa-print-preview table{font-size:8pt}
  body.fa-printing #modal .fa-print-preview th,body.fa-printing #modal .fa-print-preview td{padding:5px;border-color:#999}
  @page{size:A4 landscape;margin:10mm}
}
