:root{--bg:#f4f7fb;--card:#fff;--text:#172033;--muted:#5d6b82;--primary:#153e75;--primary-dark:#0b2349;--accent:#0f766e;--danger:#b42318;--line:#d9e2ef;--field:#f8fafc;--soft:#eef6ff;}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 36px;background:linear-gradient(120deg,var(--primary-dark),var(--primary));color:white;box-shadow:0 4px 16px rgba(0,0,0,.15)}
h1{margin:0 0 6px;font-size:24px;line-height:1.2}
h2{margin:0;font-size:19px}
h3{margin:20px 0 10px;font-size:16px;color:var(--primary-dark)}
p{margin:0;color:inherit;opacity:.86}
main{padding:24px;max-width:1500px;margin:auto}
.page{display:none}
.page.active{display:block}
.card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:20px;margin-bottom:18px;box-shadow:0 2px 10px rgba(20,32,51,.05)}
.group-dashboard{background:#f8fbff}
.group-project{background:#f7fbff}
.group-risk{background:#fff9f2}
.group-structure{background:#f6fbff}
.group-lines{background:#f8faff}
.group-zones{background:#f7fcf8}
.group-calculated{background:#f9fbff}
.group-protection{background:#f8fbff}
.group-summary{background:#f7fcfb}
.toolbar,.section-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.section-head{justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:12px}
.section-head h2{margin-right:auto}
.toolbar{justify-content:flex-start}
.toolbar{position:sticky;top:0;z-index:3;background:rgba(244,247,251,.94);backdrop-filter:blur(6px);padding:12px;border:1px solid var(--line);border-radius:8px;box-shadow:0 4px 14px rgba(20,32,51,.06)}
.toolbar #saveBtn{margin-left:auto}
.toolbar #calculateBtn,.toolbar #exportBtn{display:none}
.section-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px;border-bottom:1px solid var(--line);padding-bottom:12px}
.section-title h2{margin-right:auto}
.section-title[data-symbol]::before,.section-head[data-symbol]::before{content:attr(data-symbol);display:inline-grid;place-items:center;flex:0 0 36px;width:36px;height:30px;border-radius:8px;background:#e9f2ff;color:var(--primary);border:1px solid #bfd3f2;font-size:11px;font-weight:900;letter-spacing:.03em}
.section-title span{color:var(--muted);font-size:12px;font-weight:700;text-align:right}
button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border:0;border-radius:8px;padding:9px 13px;cursor:pointer;font-weight:800;line-height:1;white-space:nowrap;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}
button:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(20,32,51,.12)}
button:active{transform:translateY(0)}
button[data-icon]::before{content:attr(data-icon);display:inline-grid;place-items:center;width:20px;height:20px;border-radius:6px;background:rgba(255,255,255,.2);font-size:13px;line-height:1}
.primary{background:var(--primary);color:white}
.primary.alt{background:var(--accent)}
.ghost{background:#eef2f7;color:var(--primary);border:1px solid var(--line)}
.ghost[data-icon]::before{background:#fff;color:inherit;border:1px solid var(--line)}
.danger{color:var(--danger)}
.grid{display:grid;gap:18px}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.form-grid{display:grid;grid-template-columns:repeat(3,minmax(190px,1fr));gap:14px}
.form-grid.four{grid-template-columns:repeat(4,minmax(170px,1fr))}
label{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:12px;font-weight:800;letter-spacing:.01em;color:#334155}
input,select{width:100%;height:40px;padding:9px 10px;border:1px solid #cbd5e1;border-radius:8px;font-size:14px;background:var(--field);color:var(--text)}
input[readonly],input:disabled{background:#eef2f7;color:#172033;font-weight:700;opacity:1;pointer-events:none}
input:focus,select:focus{outline:3px solid rgba(21,62,117,.14);border-color:var(--primary);background:#fff}
.risk-grid{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:12px}
.composition-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:12px}
.formula-card{border:1px solid #bfd0e7;border-radius:8px;background:#fff;padding:14px}
.formula-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.formula-head span,.formula-head em{display:inline-grid;place-items:center;min-width:42px;height:34px;border-radius:8px;background:#e9f2ff;color:var(--primary);font-weight:900;font-style:normal}
.formula-head strong{font-size:14px;color:#06172f}
.formula-card p{font-size:15px;font-weight:800;line-height:1.7;color:#172033;opacity:1}
.formula-card sub,.formula-card sup{line-height:0}
.selectable-risk{display:grid;grid-template-columns:auto 1fr;gap:8px 12px;align-items:start;cursor:pointer}
.selectable-risk input{grid-row:1/3;width:18px;height:18px;margin-top:8px;accent-color:var(--primary)}
.selectable-risk .formula-head{margin:0}
.formula-line{font-size:14px;font-weight:800;line-height:1.65;color:#172033}
.animal-condition{grid-column:1/-1;background:#f8fbff}
.check-option{display:flex;flex-direction:row;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fbfdff;font-size:13px;line-height:1.35}
.check-option input{width:18px;height:18px;flex:0 0 auto;accent-color:var(--primary)}
.check-option span{min-width:0}
.standard-risk-grid{align-items:stretch}
.risk-standard-option{align-items:flex-start}
.risk-standard-option span{display:grid;gap:5px}
.risk-standard-option b{font-size:13px;color:#172033}
.risk-standard-option small{display:block;color:var(--muted);font-size:12px;font-weight:800;line-height:1.35}
.risk-tolerance-grid{display:grid;grid-template-columns:repeat(3,minmax(190px,1fr));gap:16px;margin-top:16px}
.ng-panel{display:grid;grid-template-columns:minmax(300px,2.2fr) minmax(130px,.6fr) minmax(320px,1.15fr);gap:14px 18px;margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.62)}
.area-result-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px;margin-top:14px}
.ng-panel .ng-source{grid-column:span 1}
.ng-panel .ce-field{grid-column:span 2;min-width:320px}
.formula-note{grid-column:1/-1;margin:-4px 0 0;color:var(--muted);font-size:12px;font-weight:800}
.unit-field{display:grid;grid-template-columns:minmax(90px,1fr) minmax(150px,max-content);align-items:center;border:1px solid #cbd5e1;border-radius:8px;background:#fff;overflow:hidden}
.unit-field input{border:0;border-radius:0;background:#fff3a3;font-weight:700}
.unit-field input:focus{outline:0}
.unit-field span{padding:0 12px;font-size:12px;font-weight:800;color:#172033;white-space:nowrap}
.unit-field.compact{grid-template-columns:1fr}
.structure-options{display:grid;grid-template-columns:minmax(360px,740px);gap:18px;margin-top:18px;align-items:end}
.adjacent-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.72)}
.adjacent-card h3{margin:0 0 4px;color:#06172f}
.adjacent-card p{font-size:13px;font-weight:700;line-height:1.35;color:#172033;opacity:1}
.adjacent-parameters{grid-column:1/-1;padding:16px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.62)}
.adjacent-parameters h3{margin:0 0 14px;color:var(--primary)}
.adjacent-location-panel{grid-template-columns:minmax(360px,1.3fr) minmax(150px,.35fr) minmax(180px,.45fr)}
.segmented-control{display:inline-flex;gap:4px;padding:5px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc}
.segmented-control button{min-width:64px;box-shadow:none}
.segmented-control button.active{background:#1d5fd0;color:#fff}
.location-panel{display:grid;grid-template-columns:minmax(360px,1.3fr) minmax(150px,.5fr);gap:18px;margin-top:18px;align-items:end}
fieldset{border:1px solid var(--line);border-radius:8px;padding:16px;display:grid;gap:12px;background:rgba(255,255,255,.68)}
legend{font-weight:800;color:var(--primary);padding:0 6px}
.line-actions{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:16px 0 14px}
.line-actions label{width:min(280px,100%)}
.lines-editor{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:16px}
.lines-editor fieldset{align-content:start}
.line-basic-fields,.line-factor-grid{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:12px}
.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:16px}
.project-card{padding:16px;border:1px solid var(--line);border-radius:8px;background:#fbfdff}
.project-card h3{margin:0 0 8px}
.project-card h3{
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:break-word;
  line-height:1.25;
}
.project-card p{
  overflow-wrap:anywhere;
  word-break:break-word;
}
.project-actions{display:flex;align-items:center;gap:10px;margin-top:16px;flex-wrap:nowrap}
.project-actions button{min-width:122px}
.empty{padding:24px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:8px;background:#fbfdff}
.zone-actions{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:0 0 14px}
.zone-actions label{width:min(280px,100%)}
.zones-editor{display:grid;gap:16px}
.zone-card{border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.68);padding:16px}
.zone-card-head{display:flex;align-items:start;justify-content:space-between;gap:14px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.zone-card-head h3{margin:0;color:var(--primary)}
.zone-card-head p{margin-top:4px;color:var(--muted);font-size:13px}
.zone-card-head label{min-width:130px}
.zone-card-controls{display:flex;align-items:end;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.zone-delete-button{white-space:nowrap}
.zone-section{margin-top:14px}
.zone-section h4{margin:0 0 10px;color:#0f294e;font-size:13px}
.zone-fields{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px}
.zone-fields.identity{grid-template-columns:minmax(260px,2fr) minmax(120px,1fr)}
.zone-preview{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px;padding:10px;border:1px solid #cfe0f5;border-radius:8px;background:#eef6ff;color:#172033}
.zone-preview strong{margin-right:6px;color:var(--primary)}
.zone-preview span{font-size:12px;font-weight:700}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px;background:white}
table{border-collapse:separate;border-spacing:0;width:100%;background:white}
th,td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:middle;font-size:13px}
th{background:#e8f0fb;color:#0f294e;position:sticky;top:0;z-index:1;font-size:12px;text-transform:uppercase;letter-spacing:.02em}
td:first-child,th:first-child{position:sticky;left:0;z-index:2;background:#f8fbff;font-weight:800}
th:first-child{z-index:3;background:#e8f0fb}
.total-result-row td{background:#eef6ff!important;color:#0f294e;font-weight:900}
td input,td select{min-width:92px;height:34px;padding:6px 8px;background:#fff}
td input[data-z="description"]{min-width:260px}
td input[data-z="lpz"]{min-width:110px}
.zone-preview{min-width:180px;color:var(--muted);line-height:1.45}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px;margin-bottom:14px}
.kpi{border:1px solid var(--line);border-radius:8px;padding:12px;background:var(--soft)}
.kpi small{display:block;color:var(--muted);font-weight:800}
.kpi strong{display:block;font-size:20px;margin-top:4px}
.ok{color:#087443;font-weight:800}
.high{color:#b42318;font-weight:800}
.summary-card{border-left:5px solid var(--accent)}
.summary-result{font-size:15px;line-height:1.7;overflow-wrap:anywhere}
.comparison-summary small{display:block;color:#0f294e;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.03em}
.comparison-summary h3{margin:4px 0 18px;color:#06172f;font-size:18px}
.summary-result-table{margin-bottom:14px;overflow:auto;border:1px solid var(--line);border-radius:8px;background:#fff}
.summary-result-table table{min-width:760px}
.summary-result-table td:first-child span{display:block;margin-top:3px;color:var(--muted);font-size:12px;font-weight:700}
.summary-result-table em{font-style:normal;font-weight:900}
.summary-flow-panel{display:grid;gap:6px;margin:0 0 14px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:#f8fbff}
.summary-flow-panel strong{color:#0f294e}
.summary-flow-panel span,.summary-flow-panel li{font-size:12px;font-weight:800;color:var(--muted)}
.summary-flow-panel ul{margin:0;padding-left:18px}
.summary-flow-panel button{justify-self:start;margin-top:4px}
.summary-flow-panel.ok{border-color:#bbf7d0;background:#f0fdf4}
.summary-flow-panel.ok strong{color:#087443}
.summary-flow-panel.warning{border-color:#fde68a;background:#fffbeb}
.summary-flow-panel.high{border-color:#fecaca;background:#fff7f7}
.summary-flow-panel.high strong{color:#b42318}
.selected-protection-summary{background:#f8fbff}
.summary-factor-grid{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));gap:8px;margin-top:4px}
.summary-factor-grid span{display:flex;justify-content:space-between;gap:8px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:white;color:#334155}
.summary-factor-grid b{color:#0f294e}
.summary-lines-panel{display:grid;gap:8px;margin:0 0 14px;padding:12px 14px;border:1px solid #bfd0e7;border-radius:8px;background:#f8fbff}
.summary-lines-panel>strong{color:#0f294e}
.summary-lines-panel>span{font-size:12px;font-weight:800;color:var(--muted)}
.connected-lines-result{margin:0}
.connected-lines-result table{min-width:1120px}
.summary-measure-row{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;margin-top:10px;border:1px solid var(--line);border-radius:8px;font-size:12px;font-weight:900}
.summary-measure-row.danger{background:#fee2e2;border-color:#fecaca;color:#7f1d1d}
.summary-measure-row.success{background:#dcfce7;border-color:#bbf7d0;color:#14532d}
.lps-selection-card{border-left:5px solid var(--primary)}
.selected-protection-title{display:flex;align-items:center;gap:12px;margin:0 0 16px;padding:0 0 14px;border-bottom:1px solid var(--line)}
.selected-protection-title .title-icon{display:inline-grid;place-items:center;width:36px;height:30px;border:1px solid #bfd3f2;border-radius:8px;background:#eef6ff;color:#1d5fd0;font-weight:900}
.selected-protection-title small{display:block;color:#0f294e;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.03em}
.selected-protection-title h2{margin-top:4px;font-size:18px}
.protection-status{display:grid;gap:3px;margin-bottom:14px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:#f8fbff;color:#172033}
.protection-status strong{font-size:14px;color:#0f294e}
.protection-status span{font-size:12px;font-weight:800;color:var(--muted)}
.protection-status small{font-size:11px;color:var(--muted);line-height:1.4}
.protection-status button{justify-self:start;margin-top:4px}
.protection-status.ok{border-color:#bbf7d0;background:#f0fdf4}
.protection-status.ok strong{color:#087443}
.protection-status.high{border-color:#fecaca;background:#fff7f7}
.protection-status.high strong{color:#b42318}
.protection-panel{border:1px solid #bfd0e7;border-radius:8px;background:rgba(255,255,255,.72);margin-top:14px;overflow:hidden}
.protection-panel-head{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid #bfd0e7;background:#f8fbff;color:#06172f}
.protection-panel-head span{display:inline-grid;place-items:center;min-width:34px;height:22px;border-radius:6px;background:#e9f2ff;color:var(--primary);font-size:11px;font-weight:900;border:1px solid #bfd3f2}
.protection-panel-head strong{font-size:14px}
.protection-row{display:grid;grid-template-columns:minmax(280px,1fr) minmax(105px,120px);gap:14px;align-items:end;padding:10px 14px}
.protection-row + .protection-row{padding-top:0}
.factor-value input{background:#fff3a3!important;text-align:center}
.action-card{background:#f8fbff}
.bottom-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.bottom-actions button{min-width:170px}
.database-note{margin-top:14px;color:var(--muted);font-size:12px;font-weight:700}
.database-note.ok{color:#087443}
.database-note.high{color:var(--danger)}
.note{font-size:12px;color:var(--muted);margin-top:8px}
.source-note{margin-top:10px;color:var(--muted);font-size:12px;font-weight:700}
.measure-reference-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;margin-top:14px}
.measure-reference-grid div{padding:10px;border:1px solid var(--line);border-radius:8px;background:#fbfdff}
.measure-reference-grid strong{display:block;color:var(--primary);font-size:13px}
.measure-reference-grid span{display:block;margin-top:4px;color:var(--muted);font-size:12px;line-height:1.35}
.report-print{display:none}
.report-print.ready{display:block;margin-top:24px}
.report-preview-title{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:16px 18px;border:1px solid var(--line);border-radius:8px;background:#f8fbff}
.report-preview-title span{display:inline-grid;place-items:center;width:42px;height:34px;border-radius:8px;background:#e9f2ff;border:1px solid #bfd3f2;color:var(--primary);font-size:11px;font-weight:900}
.report-preview-title h2{margin:0;color:#0b2349}
.report-preview-title p{margin-top:4px;color:var(--muted);font-size:12px;font-weight:800}
.report-page{background:white;color:#172033;padding:28px;margin-bottom:18px;border:1px solid var(--line);border-radius:8px;box-shadow:0 2px 10px rgba(20,32,51,.05)}
.report-page h1{font-size:28px;margin:0 0 18px;color:#0b2349}
.report-page h2{font-size:20px;margin:0 0 14px;color:#0b2349}
.report-page h3{margin:18px 0 10px;color:#153e75}
.report-page p{line-height:1.55}
.report-standard{font-size:15px;font-weight:800;margin-bottom:24px;color:#334155}
.report-formula-list{margin-top:18px;padding:14px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fbff}
.report-formula-list h3{margin-top:0}
.report-formula-list p{margin-top:10px;font-size:13px;line-height:1.55}
.report-note{color:#475569;font-weight:700}
.report-table{width:100%;border-collapse:collapse;margin:10px 0 18px;background:white}
.report-table th,.report-table td{border:1px solid #cbd5e1;padding:8px 10px;font-size:12px;vertical-align:top}
.report-table th{width:28%;background:#eef6ff;color:#0f294e}
.toc-list{display:grid;gap:10px;margin-top:18px;font-weight:800;color:#172033}
@media(max-width:1100px){.form-grid.four{grid-template-columns:repeat(2,minmax(180px,1fr))}}
@media(max-width:900px){.topbar,.grid.two{display:block}.form-grid,.form-grid.four,.risk-grid,.composition-grid,.risk-tolerance-grid,.ng-panel,.area-result-grid,.structure-options,.location-panel,.measure-reference-grid,.zone-fields,.zone-fields.identity,.protection-row,.line-basic-fields,.line-factor-grid{grid-template-columns:1fr}.topbar button{margin-top:16px}.kpi-grid{grid-template-columns:1fr 1fr}.section-title{display:block}.section-title span{display:block;text-align:left;margin-top:6px}.toolbar{position:static}.bottom-actions{display:grid;grid-template-columns:1fr}.bottom-actions button{width:100%}.adjacent-card{display:block}.segmented-control{margin-top:12px}.zone-card-head{display:block}.zone-card-head label{margin-top:12px}.zone-card-controls{justify-content:flex-start}.zone-delete-button{margin-top:12px}}
@media(max-width:560px){.project-grid{grid-template-columns:1fr}.project-actions{flex-wrap:wrap}.project-actions button{flex:1 1 120px}}
@media print{
  @page{size:A4;margin:14mm}
  .topbar,.toolbar,button,.page,.report-preview-title{display:none!important}
  body{background:white}
  main{padding:0;max-width:none}
  .report-print{display:block!important}
  .report-page{break-after:page;page-break-after:always;padding:0;margin:0;border:0;box-shadow:none}
  .report-page:last-child{break-after:auto;page-break-after:auto}
  .cover-page{padding-top:22mm}
  .card{box-shadow:none;break-inside:avoid}
  .table-wrap{overflow:visible}
  table{break-inside:auto}
  tr{break-inside:avoid;page-break-inside:avoid}
  .summary-measure-row.danger{background:#ef2333!important;color:#111}
  .summary-measure-row.success{background:#118a3d!important;color:#111}
}

/* Classic report-style theme */
:root{
  --bg:#f3f3f3;
  --card:#fff;
  --text:#111;
  --muted:#444;
  --primary:#111;
  --primary-dark:#000;
  --accent:#333;
  --danger:#9b1c1c;
  --line:#b7b7b7;
  --field:#fff;
  --soft:#f6f6f6;
}
body{
  font-family:Arial,Helvetica,sans-serif;
  background:#f3f3f3;
  color:#111;
  font-size:14px;
  line-height:1.35;
}
.topbar{
  background:#fff;
  color:#111;
  border-bottom:2px solid #111;
  box-shadow:none;
  padding:18px 28px;
}
h1{font-size:22px;font-weight:700;color:#111}
h2{font-size:17px;font-weight:700;color:#111}
h3{font-size:15px;color:#111}
p{opacity:1;color:#333}
main{max-width:1280px;padding:18px}
.card,
.group-dashboard,
.group-project,
.group-risk,
.group-structure,
.group-lines,
.group-zones,
.group-calculated,
.group-protection,
.group-summary,
.project-card,
.zone-card,
.formula-card,
.protection-panel,
.summary-flow-panel,
.summary-lines-panel,
.report-page{
  background:#fff;
  border:1px solid #b7b7b7;
  border-radius:0;
  box-shadow:none;
}
.card{padding:16px;margin-bottom:14px}
.summary-card,.lps-selection-card{border-left:1px solid #b7b7b7}
.toolbar{
  background:#eee;
  border:1px solid #aaa;
  border-radius:0;
  box-shadow:none;
  backdrop-filter:none;
}
.section-title,.section-head,.selected-protection-title{
  border-bottom:1px solid #999;
  padding-bottom:8px;
  margin-bottom:12px;
}
.section-title[data-symbol]::before,
.section-head[data-symbol]::before,
.selected-protection-title .title-icon,
.protection-panel-head span,
.report-preview-title span{
  background:#eee;
  color:#111;
  border:1px solid #999;
  border-radius:0;
  font-weight:700;
}
.section-title span,
label,
.source-note,
.formula-note,
.database-note,
.note,
.zone-card-head p,
.protection-status span,
.protection-status small,
.summary-flow-panel span,
.summary-flow-panel li,
.summary-lines-panel>span{
  color:#333;
  font-weight:400;
}
label{
  font-size:13px;
  letter-spacing:0;
}
input,select{
  height:34px;
  border:1px solid #999;
  border-radius:0;
  background:#fff;
  color:#111;
  font-size:14px;
  padding:6px 8px;
}
input[readonly],input:disabled{
  background:#eee;
  color:#111;
  font-weight:400;
}
input:focus,select:focus{
  outline:1px solid #111;
  border-color:#111;
}
button{
  min-height:34px;
  border:1px solid #111;
  border-radius:0;
  box-shadow:none;
  font-weight:700;
  transition:none;
}
button:hover{transform:none;box-shadow:none}
.primary,.primary.alt{
  background:#111;
  color:#fff;
}
.ghost{
  background:#fff;
  color:#111;
  border:1px solid #111;
}
button[data-icon]::before,
.ghost[data-icon]::before{
  background:transparent;
  border:0;
  color:inherit;
}
.check-option,
.adjacent-card,
.adjacent-parameters,
fieldset,
.ng-panel,
.location-panel,
.protection-status,
.report-preview-title,
.summary-result-table,
.table-wrap,
.kpi,
.unit-field,
.zone-preview,
.summary-factor-grid span{
  background:#fff;
  border-color:#b7b7b7;
  border-radius:0;
}
.check-option{
  padding:6px 0;
  border:0;
  font-size:14px;
  line-height:1.3;
}
.check-option span{
  font-weight:400;
  color:#111;
}
.risk-grid{
  display:block;
}
.risk-grid .check-option + .check-option{
  margin-top:5px;
}
.risk-tolerance-grid,
.form-grid,
.form-grid.four,
.line-basic-fields,
.line-factor-grid,
.zone-fields,
.protection-row{
  gap:10px;
}
.protection-panel-head{
  background:#eee;
  border-bottom:1px solid #aaa;
  color:#111;
}
table{
  border-collapse:collapse;
}
th,td{
  border:1px solid #b7b7b7;
  font-size:13px;
  padding:6px 8px;
}
th,
th:first-child{
  background:#e9e9e9;
  color:#111;
  text-transform:none;
  letter-spacing:0;
}
td:first-child{
  background:#fff;
}
.total-result-row td{
  background:#e9e9e9!important;
  color:#111;
}
.kpi small,
.comparison-summary small,
.selected-protection-title small{
  color:#333;
  letter-spacing:0;
  text-transform:none;
}
.kpi strong{
  font-size:17px;
}
.ok{color:#111}
.high,.danger{color:#9b1c1c}
.summary-flow-panel.ok,
.summary-flow-panel.warning,
.summary-flow-panel.high,
.protection-status.ok,
.protection-status.high{
  background:#fff;
  border-color:#b7b7b7;
}
.summary-flow-panel.ok strong,
.protection-status.ok strong{
  color:#111;
}
.summary-flow-panel.high strong,
.protection-status.high strong{
  color:#9b1c1c;
}
.unit-field input{
  background:#fff;
}
.segmented-control{
  border-radius:0;
  background:#fff;
}
.segmented-control button.active{
  background:#111;
  color:#fff;
}

/* Result status colors */
.ok,
.result-value-ok,
.result-ok em,
.summary-flow-panel.ok strong,
.protection-status.ok strong{
  color:#087443!important;
}
.high,
.danger,
.result-value-high,
.result-high em,
.summary-flow-panel.high strong,
.protection-status.high strong{
  color:#b42318!important;
}
.result-value-ok{
  background:#eaf8ef!important;
  font-weight:700;
}
.result-value-high{
  background:#fdecec!important;
  font-weight:700;
}
.summary-flow-panel.ok,
.protection-status.ok{
  border-color:#7fca9c;
  background:#f4fbf6;
}
.summary-flow-panel.high,
.protection-status.high{
  border-color:#e09a9a;
  background:#fff5f5;
}
.summary-result-table em.high{
  color:#b42318!important;
}

/* Professional generated report layout */
.report-print.ready{
  max-width:1050px;
  margin:24px auto 0;
}
.report-page{
  position:relative;
  padding:34px 38px;
  border:1px solid #9b9b9b;
  background:#fff;
  color:#111;
}
.report-page::after{
  content:"Prepared in accordance with BS EN / IEC 62305-2:2012";
  position:absolute;
  left:38px;
  right:38px;
  bottom:16px;
  padding-top:8px;
  border-top:1px solid #c8c8c8;
  color:#555;
  font-size:10px;
}
.cover-page{
  min-height:720px;
  display:flex;
  flex-direction:column;
}
.cover-page h1{
  margin:44px 0 12px;
  font-size:30px;
  line-height:1.15;
  text-transform:uppercase;
  letter-spacing:.02em;
}
.cover-page h2{
  margin:0 0 10px;
  font-size:21px;
  font-weight:700;
}
.report-cover-mark{
  align-self:flex-start;
  padding:8px 12px;
  border:2px solid #111;
  font-size:13px;
  font-weight:700;
  letter-spacing:.04em;
}
.report-cover-meta{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:28px 0 22px;
}
.report-cover-meta div{
  border:1px solid #b7b7b7;
  padding:10px 12px;
}
.report-cover-meta strong{
  display:block;
  margin-bottom:4px;
  font-size:11px;
  color:#444;
  text-transform:uppercase;
}
.report-cover-meta span{
  font-size:13px;
  font-weight:700;
}
.report-standard{
  margin:0 0 12px;
  color:#333;
  font-weight:700;
}
.report-section-title{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:12px;
  align-items:start;
  margin:0 0 18px;
  padding-bottom:10px;
  border-bottom:2px solid #111;
}
.report-section-title>span{
  display:grid;
  place-items:center;
  width:42px;
  height:34px;
  border:1px solid #111;
  font-weight:700;
}
.report-section-title h2{
  margin:0;
  font-size:20px;
  color:#111;
}
.report-section-title p{
  margin-top:3px;
  font-size:12px;
  color:#555;
}
.report-page h3{
  margin:18px 0 8px;
  padding-bottom:5px;
  border-bottom:1px solid #d0d0d0;
  color:#111;
  font-size:14px;
}
.report-page h4{
  margin:14px 0 8px;
  color:#111;
}
.report-page p{
  color:#222;
  font-size:12px;
  line-height:1.55;
}
.report-table{
  margin:8px 0 16px;
  border:1px solid #999;
}
.report-table th,
.report-table td{
  padding:6px 8px;
  border:1px solid #b7b7b7;
  font-size:11px;
  line-height:1.35;
}
.report-table th{
  background:#ededed;
  color:#111;
  font-weight:700;
}
.report-summary-table th,
.report-summary-table td{
  font-size:12px;
}
.toc-list{
  margin:10px 0 20px;
  padding-left:22px;
  gap:6px;
}
.toc-list li{
  padding:5px 0;
  border-bottom:1px dotted #ccc;
}
.report-formula-list{
  border:1px solid #b7b7b7;
  border-radius:0;
  background:#fafafa;
}
.report-formula-list h3{
  border-bottom:1px solid #ccc;
}
.report-page .comparison-summary h3{
  font-size:14px;
}
.report-page .summary-flow-panel,
.report-page .summary-lines-panel{
  border-radius:0;
}
.report-page .kpi-grid{
  grid-template-columns:repeat(4,minmax(110px,1fr));
  gap:8px;
}
.report-page .kpi{
  padding:8px;
}
.report-page .kpi strong{
  font-size:13px;
}
.report-page .table-wrap{
  border-radius:0;
}
@media print{
  .report-print.ready{
    max-width:none;
    margin:0;
  }
  .report-page{
    min-height:267mm;
    padding:12mm 10mm 18mm;
    border:0;
  }
  .report-page::after{
    left:10mm;
    right:10mm;
    bottom:7mm;
  }
  .cover-page{
    min-height:267mm;
  }
  .report-page h1{font-size:26px}
  .report-page h2{font-size:18px}
  .report-page h3{font-size:13px}
  .report-table th,.report-table td{font-size:9px;padding:4px 5px}
  .report-page p{font-size:10px}
  .report-page .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Classic full case report layout */
.report-print.ready{
  counter-reset: report-page;
}
.report-page.sr-report{
  counter-increment: report-page;
  width:min(100%, 880px);
  min-height:1120px;
  margin:18px auto;
  padding:52px 58px 64px;
  border:1px solid #8f8f8f;
  border-radius:0;
  box-shadow:none;
  font-family:Arial, Helvetica, sans-serif;
  color:#111;
}
.report-page.sr-report::after{
  content:none;
}
.sr-report.cover-page{
  display:block;
}
.lps-image-cover{
  position:relative;
  padding:0!important;
  overflow:hidden;
  border:0!important;
  box-shadow:none!important;
  background:#fff;
}
.lps-image-cover img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.cover-project-name{
  position:absolute;
  left:26mm;
  right:26mm;
  top:164mm;
  height:19mm;
  display:grid;
  place-items:center;
  padding:1mm 8mm 2mm;
  color:#111;
  font-size:18pt;
  line-height:1.05;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:0;
  text-align:center;
  overflow:hidden;
  overflow-wrap:break-word;
  word-break:break-word;
  hyphens:auto;
}
.toc-page{
  background:linear-gradient(180deg,#fff 0%,#fff 72%,#f7f7f7 100%);
}
.report-toc{
  display:grid;
  gap:20px;
  min-height:210mm;
}
.toc-heading{
  padding:0 0 18px;
  border-bottom:2px solid #111;
}
.toc-heading span{
  display:inline-block;
  margin-bottom:11px;
  padding:4px 9px;
  border:1px solid #111;
  color:#111;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.toc-heading h2{
  margin:0 0 8px!important;
  padding:0!important;
  border:0!important;
  color:#111;
  font-size:26px!important;
  line-height:1.1;
  font-weight:700;
}
.toc-heading p{
  max-width:118mm;
  color:#444;
  font-size:11px;
  line-height:1.35;
}
.toc-heading .toc-standard-edition{margin-top:9px;color:#8c4300;font-weight:700}
.toc-listing{
  display:grid;
  gap:0;
  margin-top:8px;
  border-top:1px solid #bcbcbc;
}
.toc-entry{
  display:grid;
  grid-template-columns:18mm minmax(0,max-content) minmax(18mm,1fr) 12mm;
  gap:4mm;
  align-items:center;
  min-height:12mm;
  padding:3.5mm 0;
  border-bottom:1px solid #d5d5d5;
  color:#111;
}
.toc-number{
  display:inline-grid;
  place-items:center;
  width:14mm;
  height:7mm;
  border:1px solid #111;
  background:#f1f1f1;
  font-size:10px;
  font-weight:800;
}
.toc-title{
  min-width:0;
  font-size:12px;
  font-weight:700;
  line-height:1.25;
  overflow-wrap:break-word;
}
.toc-rule{
  align-self:end;
  height:1px;
  margin-bottom:2.5mm;
  border-bottom:1px dotted #999;
}
.toc-page-number{
  justify-self:end;
  display:inline-grid;
  place-items:center;
  min-width:9mm;
  height:7mm;
  background:#111;
  color:#fff;
  font-size:10px;
  font-weight:800;
}
.sr-cover-block{
  margin-top:126px;
}
.sr-cover-block h1,
.report-page.sr-report h1{
  margin:0 0 12px;
  color:#111;
  font-size:22px;
  line-height:1.25;
  font-weight:400;
  text-transform:none;
  letter-spacing:0;
}
.sr-cover-block h2,
.report-page.sr-report h2{
  margin:0 0 10px;
  color:#111;
  font-size:16px;
  line-height:1.3;
  font-weight:400;
  letter-spacing:0;
}
.sr-cover-block h3,
.report-page.sr-report h3{
  margin:22px 0 10px;
  padding:0;
  border:0;
  color:#111;
  font-size:14px;
  line-height:1.35;
  font-weight:700;
}
.report-page.sr-report h4{
  margin:12px 0 7px;
  color:#111;
  font-size:12px;
  font-weight:700;
}
.report-page.sr-report p{
  margin:0 0 8px;
  color:#111;
  font-size:12px;
  line-height:1.38;
}
.sr-detail-list{
  margin-top:28px;
}
.sr-detail-list p{
  display:grid;
  grid-template-columns:145px 1fr;
  gap:10px;
  margin:0 0 8px;
  font-size:12px;
}
.sr-detail-list b,
.sr-paragraph-rows b{
  font-weight:700;
}
.sr-paragraph-rows{
  margin:8px 0 16px;
}
.sr-paragraph-rows p{
  margin:0 0 8px;
}
.sr-paragraph-rows span{
  color:#333;
}
.sr-risk-narrative p{
  margin:0 0 14px;
}
.report-page.sr-report .report-table,
.report-page.sr-report table{
  width:100%;
  margin:8px 0 18px;
  border:1px solid #9b9b9b;
  border-collapse:collapse;
  background:#fff;
}
.report-page.sr-report .report-table th,
.report-page.sr-report .report-table td,
.report-page.sr-report table th,
.report-page.sr-report table td{
  border:1px solid #ababab;
  padding:5px 7px;
  color:#111;
  font-size:10.5px;
  line-height:1.3;
  vertical-align:top;
}
.report-page.sr-report .report-table th,
.report-page.sr-report table th{
  background:#e9e9e9;
  font-weight:700;
  text-align:left;
}
.report-page.sr-report .report-table tbody th{
  width:210px;
}
.report-page.sr-report .report-summary-table td,
.report-page.sr-report .report-summary-table th{
  font-size:11px;
}
.report-page.sr-report .report-formula-list{
  padding:0;
  border:0;
  background:#fff;
}
.report-page.sr-report .report-formula-list h3{
  display:none;
}
.report-page.sr-report .report-formula-list p{
  margin:0 0 10px;
}
.report-page.sr-report .kpi-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
  margin:8px 0 12px;
}
.report-page.sr-report .kpi{
  padding:6px 7px;
  border:1px solid #ababab;
  background:#fff;
}
.report-page.sr-report .kpi small{
  display:block;
  margin-bottom:3px;
  color:#111;
  font-size:9.5px;
}
.report-page.sr-report .kpi strong{
  color:#111;
  font-size:11px;
}
.report-page.sr-report .table-wrap{
  border:0;
  border-radius:0;
  overflow:visible;
}
.report-page.sr-report .note,
.report-page.sr-report .report-note{
  color:#333;
  font-size:10px;
}
.report-page.sr-report .comparison-summary{
  margin-top:0;
}
.report-page.sr-report .summary-result-table em.high{
  color:#b42318!important;
}
@media print{
  .report-page.sr-report{
    width:auto;
    min-height:267mm;
    margin:0;
    padding:14mm 13mm 19mm;
    border:0;
  }
  .report-page.sr-report::after{
    left:13mm;
    right:13mm;
    bottom:7mm;
  }
  .sr-cover-block{
    margin-top:35mm;
  }
  .lps-image-cover{
    width:210mm!important;
    min-height:297mm!important;
    height:297mm!important;
  }
  .cover-project-name{
    font-size:18pt;
    max-height:21mm;
  }
  .report-page.sr-report h1{font-size:20px}
  .report-page.sr-report h2{font-size:15px}
  .report-page.sr-report h3{font-size:12px}
  .report-page.sr-report p{font-size:10px}
  .sr-detail-list p{font-size:10px;grid-template-columns:38mm 1fr}
  .report-page.sr-report .report-table th,
  .report-page.sr-report .report-table td,
  .report-page.sr-report table th,
  .report-page.sr-report table td{
    font-size:8px;
    padding:3px 4px;
  }
}

/* Final generated report alignment and A4 setup */
.report-print.ready{
  width:100%;
  max-width:none;
  margin:24px auto 0;
}
.report-page.sr-report{
  box-sizing:border-box;
  width:210mm;
  max-width:100%;
  min-height:297mm;
  margin:0 auto 18px;
  padding:18mm 16mm 22mm;
  overflow:hidden;
}
.report-page.sr-report::after{
  left:16mm;
  right:16mm;
  bottom:8mm;
}
.report-page.sr-report h2{
  margin-bottom:8px;
  padding-bottom:6px;
  border-bottom:1px solid #111;
}
.report-page.sr-report h3{
  margin:14px 0 8px;
}
.sr-cover-block{
  margin-top:42mm;
}
.sr-detail-list{
  margin-top:24px;
}
.sr-detail-list p,
.sr-paragraph-rows p{
  display:grid;
  grid-template-columns:48mm minmax(34mm,.72fr) 1fr;
  column-gap:8px;
  align-items:start;
  margin:0 0 6px;
}
.sr-detail-list p{
  grid-template-columns:48mm 1fr;
}
.sr-row-value{
  font-weight:400;
}
.sr-paragraph-rows span{
  color:#333;
}
.report-page.sr-report .report-table,
.report-page.sr-report table{
  table-layout:fixed;
  page-break-inside:auto;
}
.report-page.sr-report tr{
  break-inside:avoid;
  page-break-inside:avoid;
}
.report-page.sr-report th,
.report-page.sr-report td{
  overflow-wrap:anywhere;
  word-break:normal;
}
.report-page.sr-report .report-table tbody th{
  width:42mm;
}
.report-page.sr-report .table-wrap{
  width:100%;
  max-width:100%;
}
.report-page.sr-report .kpi-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.report-page.sr-report .comparison-summary h3{
  border-bottom:0;
}
@media print{
  @page{
    size:A4;
    margin:0;
  }
  .report-print.ready{
    margin:0;
  }
  .report-preview-title{
    display:none!important;
  }
  .report-page.sr-report{
    width:210mm;
    max-width:none;
    min-height:297mm;
    margin:0;
    padding:16mm 14mm 20mm;
    break-after:page;
    page-break-after:always;
    overflow:visible;
  }
  .report-page.sr-report:last-child{
    break-after:auto;
    page-break-after:auto;
  }
  .report-page.sr-report::after{
    left:14mm;
    right:14mm;
    bottom:7mm;
  }
  .sr-cover-block{
    margin-top:40mm;
  }
  .sr-detail-list p,
  .sr-paragraph-rows p{
    grid-template-columns:42mm 34mm 1fr;
    column-gap:5mm;
  }
  .sr-detail-list p{
    grid-template-columns:42mm 1fr;
  }
  .report-page.sr-report .report-table th,
  .report-page.sr-report .report-table td,
  .report-page.sr-report table th,
  .report-page.sr-report table td{
    font-size:7.4px;
    padding:2.5px 3.5px;
    line-height:1.25;
  }
  .report-page.sr-report .kpi-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* Compact generated report spacing */
.report-page.sr-report{
  padding:13mm 13mm 18mm;
}
.report-page.sr-report h1{
  margin-bottom:7px;
  font-size:20px;
  line-height:1.18;
}
.report-page.sr-report h2{
  margin:0 0 6px;
  padding-bottom:4px;
  font-size:15px;
  line-height:1.22;
}
.report-page.sr-report h3{
  margin:9px 0 5px;
  font-size:12px;
  line-height:1.2;
}
.report-page.sr-report h4{
  margin:8px 0 4px;
  font-size:10.5px;
}
.report-page.sr-report p{
  margin-bottom:4px;
  font-size:10.5px;
  line-height:1.24;
}
.sr-cover-block{
  margin-top:30mm;
}
.sr-cover-block h3{
  margin-top:14px;
}
.sr-detail-list{
  margin-top:14px;
}
.sr-detail-list p,
.sr-paragraph-rows p{
  margin-bottom:3px;
  column-gap:6px;
}
.sr-paragraph-rows{
  margin:4px 0 8px;
}
.sr-risk-narrative p{
  margin-bottom:8px;
}
.report-page.sr-report .report-table,
.report-page.sr-report table{
  margin:4px 0 8px;
}
.report-page.sr-report .report-table th,
.report-page.sr-report .report-table td,
.report-page.sr-report table th,
.report-page.sr-report table td{
  padding:3px 4px;
  font-size:8.8px;
  line-height:1.2;
}
.report-page.sr-report .report-summary-table th,
.report-page.sr-report .report-summary-table td,
.report-page.sr-report .summary-result-table th,
.report-page.sr-report .summary-result-table td{
  height:8.5mm;
  padding:5px 7px;
  font-size:9.8px;
  line-height:1.35;
  vertical-align:middle;
}
.report-page.sr-report .report-table tbody th,
.report-page.sr-report .report-table tbody td{
  min-height:7.2mm;
  padding-top:5px;
  padding-bottom:5px;
  vertical-align:middle;
}
.report-page.sr-report .report-formula-list p{
  margin-bottom:5px;
}
.report-page.sr-report .report-formula-list{
  margin-top:2px;
}
.report-page.sr-report .report-formula-list p{
  font-size:8.8px;
  line-height:1.16;
}
.report-page.sr-report .kpi-grid{
  gap:4px;
  margin:4px 0 7px;
}
.report-page.sr-report .kpi{
  padding:4px 5px;
}
.report-page.sr-report .kpi small{
  margin-bottom:1px;
  font-size:8.5px;
}
.report-page.sr-report .kpi strong{
  font-size:9.5px;
}
.report-page.sr-report .note,
.report-page.sr-report .report-note{
  font-size:8.8px;
  line-height:1.2;
}
.report-page.sr-report::after{
  bottom:6mm;
  padding-top:4px;
}
@media print{
  .report-page.sr-report{
    padding:12mm 11mm 17mm;
  }
  .report-page.sr-report h1{
    font-size:18px;
    margin-bottom:6px;
  }
  .report-page.sr-report h2{
    font-size:13px;
    margin-bottom:5px;
    padding-bottom:3px;
  }
  .report-page.sr-report h3{
    font-size:10.5px;
    margin:7px 0 4px;
  }
  .report-page.sr-report p{
    font-size:8.8px;
    line-height:1.18;
    margin-bottom:3px;
  }
  .sr-cover-block{
    margin-top:28mm;
  }
  .sr-detail-list{
    margin-top:11px;
  }
  .sr-detail-list p,
  .sr-paragraph-rows p{
    margin-bottom:2px;
    column-gap:3mm;
  }
  .sr-paragraph-rows{
    margin:3px 0 6px;
  }
  .report-page.sr-report .report-table,
  .report-page.sr-report table{
    margin:3px 0 6px;
  }
  .report-page.sr-report .report-table th,
  .report-page.sr-report .report-table td,
  .report-page.sr-report table th,
  .report-page.sr-report table td{
    padding:2px 3px;
    font-size:6.9px;
    line-height:1.15;
  }
  .report-page.sr-report .report-summary-table th,
  .report-page.sr-report .report-summary-table td,
  .report-page.sr-report .summary-result-table th,
  .report-page.sr-report .summary-result-table td{
    height:7mm;
    padding:4px 5px;
    font-size:8.4px;
    line-height:1.25;
  }
  .report-page.sr-report .report-table tbody th,
  .report-page.sr-report .report-table tbody td{
    min-height:6mm;
    padding-top:3.5px;
    padding-bottom:3.5px;
  }
  .report-page.sr-report .kpi-grid{
    gap:3px;
    margin:3px 0 5px;
  }
.report-page.sr-report .report-formula-list p{
    font-size:7.2px;
    line-height:1.12;
    margin-bottom:3px;
  }
  .report-page.sr-report .kpi{
    padding:3px 4px;
  }
  .report-page.sr-report::after{
    left:11mm;
    right:11mm;
    bottom:6mm;
    font-size:8px;
  }
}

/* Generated report readable font scale */
.report-page.sr-report{
  font-size:10px;
}
.report-page.sr-report h1{
  font-size:24px;
}
.report-page.sr-report h2{
  font-size:18px;
}
.report-page.sr-report h3{
  font-size:14px;
}
.report-page.sr-report h4{
  font-size:12px;
}
.report-page.sr-report p,
.sr-detail-list p,
.sr-paragraph-rows p,
.report-page.sr-report .note,
.report-page.sr-report .report-note,
.report-page.sr-report .report-formula-list p{
  font-size:10px;
}
.report-page.sr-report .report-table th,
.report-page.sr-report .report-table td,
.report-page.sr-report table th,
.report-page.sr-report table td{
  font-size:10px;
}
.report-page.sr-report .report-summary-table th,
.report-page.sr-report .report-summary-table td,
.report-page.sr-report .summary-result-table th,
.report-page.sr-report .summary-result-table td{
  font-size:10.5px;
}
.report-page.sr-report .kpi small{
  font-size:10px;
}
.report-page.sr-report .kpi strong{
  font-size:11px;
}
@media print{
  .report-page.sr-report h1{
    font-size:22px;
  }
  .report-page.sr-report h2{
    font-size:16px;
  }
  .report-page.sr-report h3{
    font-size:12.5px;
  }
  .report-page.sr-report h4{
    font-size:11px;
  }
  .report-page.sr-report p,
  .sr-detail-list p,
  .sr-paragraph-rows p,
  .report-page.sr-report .note,
  .report-page.sr-report .report-note,
  .report-page.sr-report .report-formula-list p{
    font-size:10px;
  }
  .report-page.sr-report .report-table th,
  .report-page.sr-report .report-table td,
  .report-page.sr-report table th,
  .report-page.sr-report table td{
    font-size:10px;
  }
  .report-page.sr-report .report-summary-table th,
  .report-page.sr-report .report-summary-table td,
  .report-page.sr-report .summary-result-table th,
  .report-page.sr-report .summary-result-table td{
    font-size:10px;
  }
}

/* Generated report table fitting */
.report-page.sr-report .table-wrap{
  overflow:visible;
}
.report-page.sr-report table{
  width:100%;
  max-width:100%;
  border-collapse:collapse;
}
.report-page.sr-report th,
.report-page.sr-report td{
  box-sizing:border-box;
  white-space:normal;
  overflow-wrap:break-word;
  word-break:normal;
  hyphens:auto;
}
.report-page.sr-report td{
  font-weight:400;
}
.report-page.sr-report .report-table{
  table-layout:fixed;
}
.report-page.sr-report .risk-calc-table{
  table-layout:fixed;
}
.report-page.sr-report .risk-calc-table th,
.report-page.sr-report .risk-calc-table td{
  padding:4px 4px;
  font-size:10px;
  line-height:1.18;
  vertical-align:top;
}
.report-page.sr-report .risk-calc-table th:nth-child(1),
.report-page.sr-report .risk-calc-table td:nth-child(1){
  width:16%;
}
.report-page.sr-report .risk-calc-table th:nth-child(2),
.report-page.sr-report .risk-calc-table td:nth-child(2){
  width:8%;
}
.report-page.sr-report .risk-calc-table th:nth-child(3),
.report-page.sr-report .risk-calc-table td:nth-child(3){
  width:22%;
}
.report-page.sr-report .risk-calc-table th:nth-child(4),
.report-page.sr-report .risk-calc-table td:nth-child(4){
  width:13%;
}
.report-page.sr-report .risk-calc-table th:nth-child(n+5),
.report-page.sr-report .risk-calc-table td:nth-child(n+5){
  width:auto;
  text-align:center;
  overflow-wrap:anywhere;
}
.report-page.sr-report .report-summary-table,
.report-page.sr-report .summary-result-table{
  table-layout:fixed;
}
.report-page.sr-report .report-summary-table th,
.report-page.sr-report .report-summary-table td,
.report-page.sr-report .summary-result-table th,
.report-page.sr-report .summary-result-table td{
  overflow-wrap:anywhere;
}
@media print{
  .report-page.sr-report{
    padding-left:9mm;
    padding-right:9mm;
  }
  .report-page.sr-report::after{
    left:9mm;
    right:9mm;
  }
  .report-page.sr-report .risk-calc-table th,
  .report-page.sr-report .risk-calc-table td{
    padding:3px 3px;
    font-size:10px;
    line-height:1.12;
  }
  .report-page.sr-report .report-table th,
  .report-page.sr-report .report-table td,
  .report-page.sr-report table th,
  .report-page.sr-report table td{
    overflow-wrap:anywhere;
  }
}

/* Generated report final-result table fit */
.report-page.sr-report .comparison-summary,
.report-page.sr-report .summary-lines-panel,
.report-page.sr-report .summary-flow-panel,
.report-page.sr-report .summary-result-table,
.report-page.sr-report .connected-lines-result{
  width:100%;
  max-width:100%;
  overflow:visible;
}
.report-page.sr-report .summary-lines-panel{
  padding:7px 8px;
}
.report-page.sr-report .summary-lines-panel>span{
  font-size:10px;
  line-height:1.25;
}
.report-page.sr-report .summary-result-table table,
.report-page.sr-report .connected-lines-result table{
  min-width:0!important;
  width:100%!important;
  max-width:100%;
  table-layout:fixed;
}
.report-page.sr-report .summary-result-table th,
.report-page.sr-report .summary-result-table td,
.report-page.sr-report .connected-lines-result th,
.report-page.sr-report .connected-lines-result td{
  position:static!important;
  left:auto!important;
  top:auto!important;
  z-index:auto!important;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
  font-size:10px;
  line-height:1.18;
}
.report-page.sr-report .connected-lines-result th,
.report-page.sr-report .connected-lines-result td{
  padding:3px 2px;
  text-align:center;
}
.report-page.sr-report .connected-lines-result th:first-child,
.report-page.sr-report .connected-lines-result td:first-child{
  width:17%;
  text-align:left;
}
.report-page.sr-report .connected-lines-result th:not(:first-child),
.report-page.sr-report .connected-lines-result td:not(:first-child){
  width:5.9%;
}
.report-page.sr-report .summary-result-table:not(.connected-lines-result) th:nth-child(1),
.report-page.sr-report .summary-result-table:not(.connected-lines-result) td:nth-child(1){
  width:18%;
}
.report-page.sr-report .summary-result-table:not(.connected-lines-result) th:nth-child(2),
.report-page.sr-report .summary-result-table:not(.connected-lines-result) td:nth-child(2){
  width:15%;
}
.report-page.sr-report .summary-result-table:not(.connected-lines-result) th:nth-child(3),
.report-page.sr-report .summary-result-table:not(.connected-lines-result) td:nth-child(3),
.report-page.sr-report .summary-result-table:not(.connected-lines-result) th:nth-child(4),
.report-page.sr-report .summary-result-table:not(.connected-lines-result) td:nth-child(4),
.report-page.sr-report .summary-result-table:not(.connected-lines-result) th:nth-child(5),
.report-page.sr-report .summary-result-table:not(.connected-lines-result) td:nth-child(5){
  width:17%;
}
.report-page.sr-report .summary-result-table:not(.connected-lines-result) th:nth-child(6),
.report-page.sr-report .summary-result-table:not(.connected-lines-result) td:nth-child(6){
  width:16%;
}
.report-page.sr-report .selected-protection-table{
  width:100%;
  table-layout:fixed;
  margin-top:4px;
  border:1px solid #ababab;
}
.report-page.sr-report .selected-protection-table th,
.report-page.sr-report .selected-protection-table td{
  position:static!important;
  padding:5px 6px;
  font-size:10px;
  line-height:1.25;
  vertical-align:middle;
  overflow-wrap:break-word;
}
.report-page.sr-report .selected-protection-table th:nth-child(1),
.report-page.sr-report .selected-protection-table td:nth-child(1){
  width:27%;
}
.report-page.sr-report .selected-protection-table th:nth-child(2),
.report-page.sr-report .selected-protection-table td:nth-child(2){
  width:61%;
}
.report-page.sr-report .selected-protection-table th:nth-child(3),
.report-page.sr-report .selected-protection-table td:nth-child(3){
  width:12%;
  text-align:center;
  font-weight:700;
}
@media print{
  .report-page.sr-report .summary-lines-panel{
    padding:5px 6px;
  }
  .report-page.sr-report .summary-lines-panel>span{
    font-size:10px;
  }
  .report-page.sr-report .connected-lines-result th,
  .report-page.sr-report .connected-lines-result td{
    padding:2px 1.5px;
    font-size:10px;
    line-height:1.1;
  }
  .report-page.sr-report .summary-result-table th,
  .report-page.sr-report .summary-result-table td{
    font-size:10px;
  }
  .report-page.sr-report .selected-protection-table th,
  .report-page.sr-report .selected-protection-table td{
    padding:4px 5px;
    font-size:10px;
  }
}

/* Generated report emphasis and larger readable scale */
.report-page.sr-report{
  font-size:11px;
}
.report-page.sr-report h1{
  font-size:27px;
}
.report-page.sr-report h2{
  font-size:20px;
}
.report-page.sr-report h3{
  font-size:16px;
}
.report-page.sr-report h4{
  font-size:13px;
}
.report-page.sr-report p,
.sr-detail-list p,
.sr-paragraph-rows p,
.report-page.sr-report .note,
.report-page.sr-report .report-note,
.report-page.sr-report .report-formula-list p,
.report-page.sr-report .summary-lines-panel>span{
  font-size:11px;
}
.report-page.sr-report .report-table th,
.report-page.sr-report .report-table td,
.report-page.sr-report table th,
.report-page.sr-report table td,
.report-page.sr-report .selected-protection-table th,
.report-page.sr-report .selected-protection-table td{
  font-size:11px;
}
.report-page.sr-report .report-table,
.report-page.sr-report table{
  margin:12px 0 20px;
}
.report-page.sr-report .report-table th,
.report-page.sr-report .report-table td,
.report-page.sr-report table th,
.report-page.sr-report table td,
.report-page.sr-report .selected-protection-table th,
.report-page.sr-report .selected-protection-table td{
  padding:8px 10px;
  line-height:1.35;
}
.report-page.sr-report .lps-highlight-row .sr-row-value{
  color:#b42318;
  font-weight:900;
  font-size:13px;
}
.report-page.sr-report .selected-protection-table tbody tr:first-child td:nth-child(2){
  color:#b42318;
  font-weight:700;
}
.report-page.sr-report .report-equation{
  margin:10px 0 12px;
  text-align:center;
  font-size:13px;
}
.report-page.sr-report .report-requirements{
  margin:8px 0 14px 18px;
  padding:0;
}
.report-page.sr-report .report-requirements li{
  margin:0 0 5px;
  font-size:11px;
  line-height:1.35;
}
@media print{
  .report-page.sr-report h1{
    font-size:24px;
  }
  .report-page.sr-report h2{
    font-size:18px;
  }
  .report-page.sr-report h3{
    font-size:14px;
  }
  .report-page.sr-report p,
  .sr-detail-list p,
  .sr-paragraph-rows p,
  .report-page.sr-report .note,
  .report-page.sr-report .report-note,
  .report-page.sr-report .report-formula-list p,
  .report-page.sr-report .summary-lines-panel>span{
    font-size:11px;
  }
  .report-page.sr-report .report-table th,
  .report-page.sr-report .report-table td,
  .report-page.sr-report table th,
  .report-page.sr-report table td,
  .report-page.sr-report .selected-protection-table th,
  .report-page.sr-report .selected-protection-table td{
    font-size:11px;
  }
}

/* Primary risks reference-style alignment */
.report-page.sr-report .sr-risk-narrative{
  display:grid;
  gap:14px;
  margin:8px 0 18px;
}
.report-page.sr-report .sr-risk-row{
  display:grid;
  grid-template-columns:34px 92px 1fr;
  column-gap:22px;
  align-items:start;
  font-size:11px;
  line-height:1.15;
}
.report-page.sr-report .sr-risk-row.risk-ok{
  color:#008000;
}
.report-page.sr-report .sr-risk-row.risk-high{
  color:#b42318;
}
.report-page.sr-report .risk-code{
  font-style:italic;
}
.report-page.sr-report .risk-value{
  white-space:nowrap;
}
.report-page.sr-report .risk-text{
  max-width:112mm;
}
@media print{
  .report-page.sr-report .sr-risk-narrative{
    gap:12px;
  }
  .report-page.sr-report .sr-risk-row{
    grid-template-columns:12mm 28mm 1fr;
    column-gap:8mm;
    font-size:11px;
  }
}

/* Risk summary and protection parameters final alignment */
.report-page.sr-report .sr-risk-narrative{
  gap:12px;
  margin:8px 0 22px;
}
.report-page.sr-report .sr-risk-row{
  grid-template-columns:14mm 36mm minmax(0,1fr);
  column-gap:8mm;
  align-items:start;
}
.report-page.sr-report .risk-code,
.report-page.sr-report .risk-value,
.report-page.sr-report .risk-text{
  display:block;
  line-height:1.18;
}
.report-page.sr-report .risk-value{
  text-align:left;
}
.report-page.sr-report .risk-text{
  max-width:none;
}
.report-page.sr-report .sr-paragraph-rows{
  display:grid;
  row-gap:6px;
  margin:6px 0 14px;
}
.report-page.sr-report .sr-paragraph-rows p{
  display:grid;
  grid-template-columns:54mm 56mm minmax(0,1fr);
  column-gap:8mm;
  align-items:start;
  margin:0;
}
.report-page.sr-report .sr-paragraph-rows b,
.report-page.sr-report .sr-paragraph-rows .sr-row-value,
.report-page.sr-report .sr-paragraph-rows span{
  display:block;
  line-height:1.22;
}
.report-page.sr-report .sr-paragraph-rows b{
  white-space:normal;
}
.report-page.sr-report .sr-paragraph-rows .sr-row-value{
  overflow-wrap:break-word;
}
.report-page.sr-report .sr-paragraph-rows span{
  overflow-wrap:break-word;
}
@media print{
  .report-page.sr-report .sr-risk-row{
    grid-template-columns:13mm 34mm minmax(0,1fr);
    column-gap:7mm;
  }
  .report-page.sr-report .sr-paragraph-rows{
    row-gap:5px;
  }
.report-page.sr-report .sr-paragraph-rows p{
  grid-template-columns:50mm 54mm minmax(0,1fr);
  column-gap:6mm;
  }
}
.sr-report{
  position:relative;
  padding-bottom:54px;
}
.sr-report-footer{
  position:absolute;
  left:58px;
  right:58px;
  bottom:26px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  box-sizing:border-box;
  border-top:1px solid #9d9d9d;
  padding-top:7px;
  color:#333;
  font-size:10px;
  font-weight:700;
}
.sr-report-footer span:last-child{
  flex:0 0 auto;
  text-align:right;
}
.sr-value-rows{
  display:grid;
  gap:6px;
  margin:8px 0 18px;
}
.sr-value-rows p{
  display:grid;
  grid-template-columns:minmax(90px,.45fr) minmax(120px,.55fr) minmax(0,1.6fr);
  column-gap:18px;
  align-items:start;
  margin:0;
  font-size:12px;
  line-height:1.35;
}
.sr-value-rows b{
  color:#0f294e;
}
.sr-value-rows strong{
  color:#111827;
  font-weight:800;
}
.sr-value-rows span{
  color:#334155;
}
@media print{
  .sr-report{
    padding-bottom:14mm;
  }
  .sr-report-footer{
    left:14mm;
    right:14mm;
    bottom:7mm;
    font-size:9px;
  }
  .sr-value-rows p{
    grid-template-columns:27mm 34mm minmax(0,1fr);
    column-gap:6mm;
    font-size:10.5px;
  }
}

/* Modern profile skin */
:root{
  --bg:#eef4f8;
  --card:#ffffff;
  --text:#182230;
  --muted:#64748b;
  --primary:#116466;
  --primary-dark:#0b3d45;
  --accent:#d97706;
  --danger:#c2410c;
  --line:#d7e2ea;
  --field:#f8fbfd;
  --soft:#e8f7f4;
  --success:#15803d;
  --shadow:0 18px 45px rgba(15,43,58,.10);
  --shadow-soft:0 8px 24px rgba(15,43,58,.07);
}
body{
  font-family:Inter,Segoe UI,Arial,Helvetica,sans-serif;
  background:
    radial-gradient(circle at 0 0, rgba(17,100,102,.16), transparent 34rem),
    linear-gradient(180deg,#f7fafc 0,#eef4f8 42%,#eaf1f6 100%);
  color:var(--text);
  font-size:14px;
  line-height:1.45;
}
.topbar{
  position:relative;
  overflow:hidden;
  align-items:flex-end;
  padding:34px clamp(18px,4vw,48px);
  background:
    linear-gradient(135deg,rgba(11,61,69,.97),rgba(17,100,102,.94) 58%,rgba(217,119,6,.86)),
    url("images/tepco.png");
  background-size:cover;
  background-position:center;
  color:#fff;
  border:0;
  box-shadow:var(--shadow);
}
.topbar::after{
  content:"";
  position:absolute;
  right:5%;
  bottom:-44px;
  width:230px;
  height:230px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:50%;
}
.topbar>div,.topbar button{position:relative;z-index:1}
h1{font-size:clamp(24px,3vw,38px);letter-spacing:0;font-weight:850;color:inherit}
h2{font-size:20px;letter-spacing:0;font-weight:800;color:var(--text)}
h3{color:var(--primary-dark)}
.topbar p{max-width:680px;color:rgba(255,255,255,.86);opacity:1;font-size:15px}
p{color:inherit}
main{max-width:1480px;padding:28px clamp(14px,3vw,34px)}
.card,
.group-dashboard,
.group-project,
.group-risk,
.group-structure,
.group-lines,
.group-zones,
.group-calculated,
.group-protection,
.group-summary,
.project-card,
.zone-card,
.formula-card,
.protection-panel,
.summary-flow-panel,
.summary-lines-panel,
.report-page{
  border:1px solid rgba(151,169,184,.42);
  box-shadow:var(--shadow-soft);
  border-radius:8px;
}
.card{
  padding:20px;
  margin-bottom:18px;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(10px);
}
.group-dashboard,.group-project,.group-structure,.group-lines,.group-calculated{background:linear-gradient(180deg,#fff,#f7fbfc)}
.group-risk{background:linear-gradient(180deg,#fff,#fff7ed)}
.group-zones,.group-summary{background:linear-gradient(180deg,#fff,#f2fbf6)}
.group-protection,.action-card,.selected-protection-summary{background:linear-gradient(180deg,#fff,#eefaf7)}
.summary-card,.lps-selection-card{border-left:5px solid var(--primary)}
.toolbar{
  top:12px;
  border-color:rgba(151,169,184,.45);
  border-radius:8px;
  background:rgba(255,255,255,.84);
  box-shadow:0 14px 35px rgba(15,43,58,.12);
  backdrop-filter:blur(12px);
}
.section-title,.section-head,.selected-protection-title{
  border-bottom:1px solid var(--line);
  padding-bottom:12px;
  margin-bottom:16px;
}
.section-title[data-symbol]::before,
.section-head[data-symbol]::before,
.selected-protection-title .title-icon,
.formula-head span,
.formula-head em,
.protection-panel-head span,
.report-preview-title span{
  background:#e8f7f4;
  color:var(--primary);
  border:1px solid #b7ded7;
  border-radius:8px;
  font-weight:900;
}
.section-title span,
label,
.source-note,
.formula-note,
.database-note,
.note,
.zone-card-head p,
.protection-status span,
.protection-status small,
.summary-flow-panel span,
.summary-flow-panel li,
.summary-lines-panel>span{
  color:var(--muted);
}
label{
  font-size:12px;
  font-weight:800;
}
.group-standard{background:linear-gradient(180deg,#fff,#fff7ed)}
.standard-basis-panel{max-width:720px}
.standard-basis-field{display:block}
.standard-basis-field select{display:block;width:100%;margin-top:6px}
.standard-basis-field small{display:block;margin-top:6px;color:var(--muted);font-size:10px;font-weight:700;line-height:1.35}
.standard-basis-locked{display:grid;gap:5px;padding:14px 16px;border:1px solid #d6a267;border-left:4px solid #f47600;border-radius:8px;background:#fff7ed}
.standard-basis-locked span{color:#6f4a27;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.standard-basis-locked strong{color:#202327;font-size:16px;line-height:1.3}
.standard-selection-prompt{margin-top:12px;padding:10px 12px;border:1px solid #d6dee5;border-radius:8px;background:#f5f8fa;color:#40505c;font-size:12px;font-weight:700;line-height:1.4}
.standard-development-status{margin-top:12px;padding:10px 12px;border:1px solid #e5a14a;border-radius:8px;background:#fff4df;color:#713b00;font-size:12px;font-weight:700;line-height:1.4}
#editorPage.standard-fields-unavailable>.card:not(.group-standard){display:none}
#editorPage.standard-fields-unavailable .toolbar #saveBtn,
#editorPage.standard-fields-unavailable .toolbar #calculateBtn,
#editorPage.standard-fields-unavailable .toolbar .report-output-menu,
#editorPage.standard-fields-unavailable .toolbar #exportBtn{display:none!important}
input,select{
  height:40px;
  border:1px solid #c8d6df;
  border-radius:8px;
  background:var(--field);
  color:var(--text);
  font-size:14px;
  padding:9px 10px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}
input[readonly],input:disabled{
  background:#eef4f7;
  color:#243447;
  font-weight:700;
}
input:focus,select:focus{
  outline:3px solid rgba(17,100,102,.16);
  border-color:var(--primary);
  background:#fff;
}
select.tepco-selected,
input.tepco-selected{
  border-color:#d97706!important;
  background:#fff7ed!important;
  color:#c2410c!important;
  font-weight:900;
}
select.tepco-selected:focus,
input.tepco-selected:focus{
  outline-color:rgba(217,119,6,.24);
}
button{
  min-height:38px;
  border:0;
  border-radius:8px;
  font-weight:800;
  transition:transform .14s ease,box-shadow .14s ease,background .14s ease;
}
button:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(15,43,58,.16)}
.primary{background:linear-gradient(135deg,var(--primary),#0f766e);color:#fff}
.primary.alt{background:linear-gradient(135deg,var(--accent),#ea580c)}
.ghost{background:#fff;color:var(--primary-dark);border:1px solid var(--line)}
button[data-icon]::before,
.ghost[data-icon]::before{
  border-radius:6px;
  background:rgba(255,255,255,.22);
  border:0;
}
#backBtn::before{content:"←"}
#saveBtn::before{content:"✓"}
#exportBtn::before{content:"↓"}
.danger{color:var(--danger)}
.check-option,
.adjacent-card,
.adjacent-parameters,
fieldset,
.ng-panel,
.location-panel,
.protection-status,
.report-preview-title,
.summary-result-table,
.table-wrap,
.kpi,
.unit-field,
.zone-preview,
.summary-factor-grid span,
.measure-reference-grid div{
  background:#fff;
  border-color:var(--line);
  border-radius:8px;
}
.check-option{
  padding:12px;
  border:1px solid var(--line);
  font-size:13px;
}
.check-option span{font-weight:700;color:var(--text)}
.risk-grid{display:grid}
.risk-grid .check-option + .check-option{margin-top:0}
.unit-field input{background:#fff7cc}
.segmented-control{border-radius:8px;background:#eef4f7;border-color:#c8d6df}
.segmented-control button.active{background:var(--primary);color:#fff}
th{background:#e8f2f5;color:#15343a}
td:first-child,th:first-child{background:#f6fafb}
th:first-child{background:#e8f2f5}
.total-result-row td,
.summary-flow-panel,
.summary-lines-panel,
.protection-panel-head,
.zone-preview,
.report-preview-title{background:#f4faf9!important;color:var(--text)}
.project-card{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.project-card:hover{transform:translateY(-2px);border-color:#a3cbc6;box-shadow:0 18px 38px rgba(15,43,58,.11)}
.kpi strong{color:var(--primary-dark)}
.ok{color:var(--success)}
.high{color:#b42318}
.summary-measure-row.danger{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.summary-measure-row.success{background:#f0fdf4;border-color:#bbf7d0;color:#166534}
.group-cost-benefit{background:linear-gradient(180deg,#fff,#fbfaf7)}
.cost-benefit-card .section-title{
  justify-content:flex-start;
  align-items:center;
}
.cost-benefit-card .section-title::before{
  flex:0 0 36px;
}
.cost-benefit-card .section-title>div{
  display:grid;
  gap:4px;
  text-align:left;
}
.cost-benefit-card .section-title span{display:block;text-align:left;text-transform:uppercase;color:#007a5a;font-size:12px;font-weight:900}
.cost-benefit-grid{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:14px 16px}
.cost-benefit-grid label{background:rgba(255,255,255,.55)}
.cost-benefit-grid .cost-input,
.cost-benefit-grid .cost-output{
  padding:12px;
  border:1px solid #f4c65d;
  border-radius:8px;
  background:#fffaf0;
}
.cost-benefit-grid .cost-input input{background:#fff59d}
.cost-benefit-grid .cost-output input{background:#eef2f7;color:#334155}
.cost-benefit-note{
  display:grid;
  gap:6px;
  margin-top:18px;
  padding:14px;
  border:1px solid #bfdbfe;
  border-radius:8px;
  background:#eff6ff;
  color:#0f294e;
}
.cost-benefit-note strong{font-size:13px}
.cost-benefit-note span{font-size:13px;line-height:1.45}
.empty{background:linear-gradient(135deg,#fff,#eef8f6);padding:32px}
@media(max-width:900px){
  .topbar{display:block}
  .topbar button{margin-top:18px;width:100%}
  .cost-benefit-grid{grid-template-columns:1fr}
}

.user-panel{
  display:flex;
  align-items:center;
  gap:10px;
  position:relative;
  z-index:1;
  margin-left:auto;
}
.user-panel span{
  padding:9px 12px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:8px;
  color:#fff;
  font-size:12px;
  font-weight:800;
  background:rgba(255,255,255,.12);
}
body:not(.logged-in) #newProjectBtn{display:none}
.auth-shell{
  min-height:calc(100vh - 210px);
  display:grid;
  place-items:center;
}
.auth-card{
  width:min(430px,100%);
  display:grid;
  gap:15px;
}
.auth-card button{
  width:100%;
  margin-top:4px;
}
.user-list{
  display:grid;
  gap:8px;
  margin-top:16px;
}
.user-row{
  display:grid;
  grid-template-columns:minmax(150px,1fr) minmax(130px,160px) minmax(150px,180px) auto minmax(230px,auto);
  gap:12px;
  align-items:center;
  padding:11px 12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
}
.user-row label{
  margin:0;
}
.user-row select{
  min-height:38px;
}
.locked-role-note{
  display:block;
  margin-top:5px;
  color:var(--muted)!important;
  font-size:10px!important;
  font-weight:900;
  text-transform:uppercase;
}
.user-row span{
  color:var(--primary);
  font-weight:900;
  text-transform:uppercase;
  font-size:11px;
}
.user-row small{
  color:var(--muted);
  font-weight:800;
}
.user-actions{
  justify-content:flex-end;
  margin-top:0;
}
.user-actions button{
  min-width:120px;
}
.backup-restore-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin:16px 0;
  padding:12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#f8fbfb;
}
.backup-select-all,
.backup-select{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0;
  color:var(--primary-dark);
  font-size:12px;
  font-weight:900;
}
.backup-project-card.is-restored{
  opacity:.68;
}
.backup-project-card.is-restored h3::after{
  content:" Restored";
  display:inline-block;
  margin-left:8px;
  padding:3px 7px;
  border-radius:999px;
  background:#e7f8ef;
  color:#087443;
  font-size:10px;
  text-transform:uppercase;
}
@media(max-width:900px){
  .user-panel{margin-top:18px;align-items:stretch;flex-direction:column}
  .user-panel span{text-align:center}
  .user-row{grid-template-columns:1fr}
  .user-actions{justify-content:stretch}
}

/* Center the topbar content with print-style side margins. */
.topbar{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  column-gap:24px;
  padding-left:max(1in, calc((100vw - 1320px) / 2));
  padding-right:max(1in, calc((100vw - 1320px) / 2));
}
.brand-block{
  display:grid;
  gap:7px;
  align-content:center;
  justify-items:start;
}
.logo-link{
  position:relative;
  display:inline-grid;
  place-items:center;
  min-height:0;
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.62);
  border-radius:12px;
  background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(255,255,255,.72));
  box-shadow:0 14px 28px rgba(3,24,31,.22), inset 0 0 0 1px rgba(15,118,110,.12);
  cursor:pointer;
}
.logo-link::after{
  content:"";
  position:absolute;
  inset:3px;
  border-radius:9px;
  border:1px solid rgba(217,119,6,.34);
  pointer-events:none;
}
.logo-link:hover{
  transform:translateY(-1px);
  box-shadow:0 18px 34px rgba(3,24,31,.28), inset 0 0 0 1px rgba(217,119,6,.22);
}
.logo-link:focus-visible{
  outline:3px solid rgba(217,119,6,.45);
  outline-offset:3px;
}
.tepco-logo{
  display:block;
  width:clamp(92px,9vw,136px);
  height:auto;
  object-fit:contain;
  filter:none;
}
.brand-block h1{
  max-width:720px;
}
.application-title{
  display:grid;
  gap:2px;
  line-height:1.08;
}
.application-title span{
  display:block;
}
.topbar .user-panel{
  justify-self:end;
  margin-left:0;
}
button[data-icon]::before,
.ghost[data-icon]::before{
  width:22px;
  height:22px;
  border-radius:999px;
  font-size:14px;
  font-weight:900;
  line-height:1;
  background:rgba(255,255,255,.24);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.2);
}
.ghost[data-icon]::before{
  background:#eef8f6;
  box-shadow:inset 0 0 0 1px var(--line);
}
#logoutBtn::before{content:"×"}
#userManagementBtn::before{content:"⚙"}
#restoreProjectsBtn::before{content:"↻"}
#calculateBtn::before{content:"∑"}
#exportBtn::before{content:"⇩"}
@media(max-width:900px){
  .topbar{
    display:block;
    padding-left:24px;
    padding-right:24px;
  }
  .tepco-logo{
    width:108px;
  }
  .logo-link{
    margin-bottom:10px;
  }
}

/* Split-screen login, separate from the dashboard header experience. */
body:not(.logged-in) .topbar{
  display:none;
}
body:not(.logged-in){
  min-height:100vh;
  background:
    radial-gradient(circle at 18% 18%, rgba(117,211,224,.28), transparent 30%),
    radial-gradient(circle at 80% 20%, rgba(217,119,6,.2), transparent 34%),
    linear-gradient(135deg,#083c45 0%,#0f766e 56%,#d97706 100%);
}
body:not(.logged-in) main{
  max-width:none;
  min-height:100vh;
  padding:0;
}
body:not(.logged-in) #loginPage.active{
  display:block;
}
body:not(.logged-in) .auth-shell{
  position:relative;
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(420px,1.05fr) minmax(360px,.95fr);
  align-items:center;
  gap:clamp(28px,5vw,80px);
  padding:clamp(28px,6vw,80px);
  overflow:hidden;
}
body:not(.logged-in) .auth-shell::before{
  content:"";
  position:absolute;
  inset:-18% auto auto -9%;
  width:min(48vw,620px);
  aspect-ratio:1;
  border-radius:50%;
  background:
    radial-gradient(circle at 36% 32%, rgba(255,255,255,.88), transparent 0 10%, rgba(117,211,224,.82) 11% 30%, transparent 31%),
    conic-gradient(from 130deg, rgba(255,255,255,.02), rgba(125,211,252,.82), rgba(13,148,136,.72), rgba(217,119,6,.55), rgba(255,255,255,.02));
  filter:blur(.2px) drop-shadow(0 28px 44px rgba(0,0,0,.28));
  opacity:.9;
}
.login-art-panel{
  position:relative;
  z-index:1;
  min-height:560px;
  display:grid;
  align-content:end;
  gap:34px;
  color:#fff;
}
.login-brand-card{
  max-width:520px;
}
.login-logo{
  width:clamp(150px,16vw,230px);
  height:auto;
  padding:12px 16px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.58);
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,255,255,.72));
  box-shadow:0 18px 40px rgba(0,0,0,.24), inset 0 0 0 1px rgba(217,119,6,.24);
}
.login-brand-card h2{
  margin:34px 0 12px;
  max-width:520px;
  color:#fff;
  font-size:clamp(30px,4vw,52px);
  line-height:1.05;
}
.login-brand-card p{
  max-width:500px;
  color:rgba(255,255,255,.86);
  font-size:18px;
  line-height:1.5;
  opacity:1;
}
.lightning-event{
  position:relative;
  width:min(280px,35vw);
  height:210px;
  margin-bottom:24px;
}
.lightning-event::before{
  content:"";
  position:absolute;
  left:26px;
  right:0;
  bottom:18px;
  height:82px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(167,232,240,.56),rgba(20,184,166,.24) 45%,transparent 72%);
  filter:blur(2px);
}
.bolt-core{
  position:absolute;
  left:118px;
  top:0;
  width:92px;
  height:182px;
  background:linear-gradient(180deg,#fff7ba 0%,#f59e0b 52%,#fff7ba 100%);
  clip-path:polygon(45% 0,72% 0,55% 38%,82% 38%,34% 100%,47% 55%,22% 55%);
  filter:drop-shadow(0 0 10px rgba(255,255,255,.85)) drop-shadow(0 0 24px rgba(245,158,11,.75));
}
.bolt-core::before,
.bolt-core::after{
  content:"";
  position:absolute;
  background:rgba(255,255,255,.75);
  filter:blur(1px);
}
.bolt-core::before{
  width:58px;
  height:3px;
  left:-42px;
  top:66px;
  transform:rotate(-24deg);
}
.bolt-core::after{
  width:48px;
  height:3px;
  right:-32px;
  top:94px;
  transform:rotate(22deg);
}
.strike-point{
  position:absolute;
  left:108px;
  bottom:0;
  width:110px;
  height:28px;
  border-radius:50%;
  background:radial-gradient(circle,#fff 0 8%,#facc15 9% 26%,rgba(217,119,6,.54) 27% 54%,transparent 70%);
  box-shadow:0 0 42px rgba(250,204,21,.74);
}
.login-visual{
  position:absolute;
  inset:5% auto auto 24%;
  width:min(35vw,430px);
  aspect-ratio:1;
  pointer-events:none;
}
.login-visual span{
  position:absolute;
  inset:0;
  border-radius:52% 48% 56% 44%;
  border:1px solid rgba(255,255,255,.18);
  background:linear-gradient(135deg,rgba(255,255,255,.2),rgba(117,211,224,.34),rgba(217,119,6,.08));
  box-shadow:inset 0 0 40px rgba(255,255,255,.12);
  transform:rotate(var(--turn, 0deg)) translateY(var(--lift, 0));
}
.login-visual span:nth-child(2){--turn:18deg;--lift:34px;opacity:.7}
.login-visual span:nth-child(3){--turn:-16deg;--lift:68px;opacity:.45}
body:not(.logged-in) .auth-card{
  position:relative;
  z-index:1;
  width:min(440px,100%);
  justify-self:center;
  padding:34px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:18px;
  background:rgba(255,255,255,.14);
  box-shadow:0 28px 70px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.2);
  backdrop-filter:blur(18px);
  color:#fff;
}
.auth-logo{
  display:block;
  width:clamp(132px,13vw,180px);
  height:auto;
  justify-self:center;
  margin:0 auto 10px;
  padding:10px 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.6);
  background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(255,255,255,.76));
  box-shadow:0 14px 30px rgba(0,0,0,.18), inset 0 0 0 1px rgba(217,119,6,.22);
}
body:not(.logged-in) .auth-card .section-title{
  border-bottom-color:rgba(255,255,255,.2);
}
body:not(.logged-in) .auth-card .section-title h2,
body:not(.logged-in) .auth-card label{
  color:#fff;
}
body:not(.logged-in) .auth-card .section-title span,
body:not(.logged-in) .source-note{
  color:rgba(255,255,255,.72);
}
body:not(.logged-in) .auth-card input{
  min-height:46px;
  border-color:rgba(255,255,255,.28);
  background:rgba(255,255,255,.13);
  color:#fff;
}
body:not(.logged-in) .auth-card input:focus{
  border-color:#a7e8f0;
  box-shadow:0 0 0 3px rgba(167,232,240,.2);
}
body:not(.logged-in) .auth-card button.primary{
  min-height:48px;
  margin-top:10px;
  background:linear-gradient(135deg,#a7e8f0,#68d2df);
  color:#083c45;
  box-shadow:0 12px 26px rgba(5,40,48,.24);
}
@media(max-width:900px){
  body:not(.logged-in) .auth-shell{
    grid-template-columns:1fr;
    padding:26px;
  }
  .login-art-panel{
    min-height:auto;
    align-content:start;
  }
  .login-visual{
    width:280px;
    opacity:.45;
    right:-60px;
    left:auto;
  }
  body:not(.logged-in) .auth-card{
    justify-self:stretch;
  }
}

/* Professional typography for app and generated reports. */
body{
  font-family:Aptos, "Segoe UI", Arial, Helvetica, sans-serif;
  font-size:14.5px;
  line-height:1.5;
}
button,
input,
select{
  font-family:inherit;
}
.report-page.sr-report,
.sr-report{
  font-family:Aptos, Calibri, "Segoe UI", Arial, Helvetica, sans-serif;
  color:#111827;
  font-size:11.5px;
  line-height:1.45;
  letter-spacing:0;
}
.report-page.sr-report h1,
.report-page.sr-report h2,
.report-page.sr-report h3,
.report-page.sr-report h4{
  font-family:Aptos, Calibri, "Segoe UI", Arial, Helvetica, sans-serif;
  letter-spacing:0;
  color:#0f294e;
}
.report-page.sr-report h2{
  font-size:20px;
  line-height:1.25;
  font-weight:800;
}
.report-page.sr-report h3{
  font-size:15px;
  line-height:1.3;
  font-weight:800;
}
.report-page.sr-report p,
.sr-detail-list p,
.sr-paragraph-rows p,
.report-page.sr-report .note,
.report-page.sr-report .report-note,
.report-page.sr-report .report-formula-list p,
.report-page.sr-report .summary-lines-panel>span{
  font-size:11.5px;
  line-height:1.45;
}
.report-page.sr-report .report-table th,
.report-page.sr-report .report-table td,
.report-page.sr-report table th,
.report-page.sr-report table td,
.report-page.sr-report .selected-protection-table th,
.report-page.sr-report .selected-protection-table td{
  font-size:10.8px;
  line-height:1.38;
}

/* Final Print/PDF settings for generated reports. */
@media print{
  @page{size:A4 portrait;margin:0}
  html,body{
    width:210mm;
    min-height:297mm;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }
  main,
  .report-print.ready{
    width:210mm!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }
  .report-page.sr-report{
    box-sizing:border-box!important;
    width:210mm!important;
    height:297mm!important;
    min-height:297mm!important;
    max-height:297mm!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:hidden!important;
    break-after:page;
    page-break-after:always;
  }
  .report-page.sr-report:last-child{
    break-after:auto;
    page-break-after:auto;
  }
  .lps-image-cover{
    height:297mm!important;
    padding:0!important;
  }
  .report-page.sr-report h2{
    margin:0 0 4px!important;
    padding-bottom:3px!important;
    font-size:18px!important;
    line-height:1.25!important;
  }
  .report-page.sr-report h2:not(:first-child){
    margin-top:8px!important;
  }
  .report-page.sr-report h3{
    margin:6px 0 3px!important;
    font-size:13px!important;
    line-height:1.25!important;
  }
  .report-page.sr-report p,
  .sr-detail-list p,
  .sr-paragraph-rows p,
  .report-page.sr-report .note,
  .report-page.sr-report .report-note,
  .report-page.sr-report .report-formula-list p,
  .report-page.sr-report .summary-lines-panel>span{
    margin-bottom:2px!important;
    font-size:10.2px!important;
    line-height:1.3!important;
  }
  .sr-detail-list,
  .sr-value-rows,
  .sr-paragraph-rows,
  .report-page.sr-report .sr-risk-narrative{
    margin-top:3px!important;
    margin-bottom:5px!important;
    row-gap:3px!important;
    gap:3px!important;
  }
  .report-page.sr-report .report-table,
  .report-page.sr-report table{
    margin:6px 0 10px!important;
  }
  .report-page.sr-report .report-table th,
  .report-page.sr-report .report-table td,
  .report-page.sr-report table th,
  .report-page.sr-report table td,
  .report-page.sr-report .selected-protection-table th,
  .report-page.sr-report .selected-protection-table td{
    padding:5px 6px!important;
    font-size:9.8px!important;
    line-height:1.34!important;
  }
}

/* Design philosophy pages generated from the selected LPS class. */
.report-page.sr-report.design-philosophy-page .design-philosophy-heading{
  margin:4px 0 12px;
  padding:10px 12px;
  border-left:4px solid #153e75;
  background:#eef3f8;
}
.report-page.sr-report.design-philosophy-page .design-philosophy-heading p{
  margin:0 0 2px;
  color:#153e75;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.035em;
}
.report-page.sr-report.design-philosophy-page .design-philosophy-heading strong{
  color:#111;
  font-size:13px;
}
.report-page.sr-report.design-philosophy-page .report-warning{
  padding:8px 10px;
  border:1px solid #b42318;
  background:#fff2f0;
  color:#7a271a;
}
.report-page.sr-report.design-philosophy-page .design-philosophy-list{
  margin:4px 0 8px 18px;
}
.report-page.sr-report.design-philosophy-page .design-philosophy-list li{
  margin-bottom:2px;
  font-size:10.5px;
  line-height:1.3;
}
.report-page.sr-report.design-philosophy-page .report-table{
  margin:6px 0 9px;
}
.report-page.sr-report.design-philosophy-page .report-table th:first-child,
.report-page.sr-report.design-philosophy-page .report-table td:first-child{
  width:48%;
}
@media print{
  .report-page.sr-report.design-philosophy-page .design-philosophy-heading{
    margin:3px 0 7px;
    padding:6px 8px;
  }
  .report-page.sr-report.design-philosophy-page .design-philosophy-heading strong{
    font-size:11px;
  }
  .report-page.sr-report.design-philosophy-page .design-philosophy-list{
    margin-top:2px!important;
    margin-bottom:5px!important;
  }
  .report-page.sr-report.design-philosophy-page .design-philosophy-list li{
    margin-bottom:1px;
    font-size:9.7px;
    line-height:1.24;
  }
}

/* TEPCO cover-matched interface and generated-report finish. */
:root{
  --bg:#15181c;
  --card:#f7f6f3;
  --text:#202327;
  --muted:#62666d;
  --primary:#f47600;
  --primary-dark:#23272c;
  --accent:#ff8a12;
  --line:#c7c9cc;
  --field:#ffffff;
  --soft:#fff4e8;
  --shadow:0 20px 48px rgba(0,0,0,.28);
  --shadow-soft:0 10px 28px rgba(0,0,0,.18);
}
body{
  background:
    radial-gradient(circle at 8% 0,rgba(244,118,0,.18),transparent 30rem),
    linear-gradient(145deg,#101216 0%,#1b1f24 52%,#282d32 100%);
  background-attachment:fixed;
}
.topbar{
  align-items:center;
  background:
    linear-gradient(90deg,rgba(244,118,0,.96) 0 7px,transparent 7px),
    linear-gradient(135deg,#16191d,#2a2e33);
  border-bottom:1px solid rgba(255,255,255,.12);
  box-shadow:0 18px 44px rgba(0,0,0,.34);
}
.topbar::after{
  border-color:rgba(244,118,0,.34);
}
.topbar p{color:rgba(255,255,255,.72)}
.card,
.group-dashboard,
.group-project,
.group-risk,
.group-structure,
.group-lines,
.group-zones,
.group-calculated,
.group-protection,
.group-summary,
.group-cost-benefit{
  border:1px solid rgba(255,255,255,.48);
  border-top:3px solid var(--primary);
  background:linear-gradient(180deg,#ffffff 0%,#f4f3f0 100%);
  box-shadow:0 18px 42px rgba(0,0,0,.24);
  backdrop-filter:none;
}
.project-card,
.zone-card,
.formula-card,
.protection-panel,
.summary-flow-panel,
.summary-lines-panel,
.action-card,
.selected-protection-summary{
  border-color:#c9cbcf;
  background:#fbfaf7;
  box-shadow:0 7px 20px rgba(26,29,33,.10);
}
.toolbar{
  border:1px solid rgba(255,255,255,.16);
  border-left:4px solid var(--primary);
  background:rgba(31,35,40,.96);
  box-shadow:0 16px 34px rgba(0,0,0,.28);
}
.section-title,
.section-head,
.selected-protection-title{
  border-bottom-color:#d2d3d5;
}
.section-title[data-symbol]::before,
.section-head[data-symbol]::before,
.selected-protection-title .title-icon,
.formula-head span,
.formula-head em,
.protection-panel-head span,
.report-preview-title span{
  border-color:#ffc081;
  background:#fff0df;
  color:#b64e00;
}
input,select{
  border:1px solid #aeb2b7;
  background:#fff;
  box-shadow:0 2px 0 rgba(31,35,40,.05),inset 0 1px 0 rgba(255,255,255,.9);
}
input:hover,select:hover{border-color:#747980}
input:focus,select:focus{
  outline:3px solid rgba(244,118,0,.18);
  border-color:var(--primary);
  background:#fff;
}
input[readonly],input:disabled{
  border-color:#bec1c5;
  background:#e6e7e9;
  color:#292d32;
}
.unit-field input{background:#fff7d6}
.primary{
  background:linear-gradient(135deg,#f47600,#ff941f);
  color:#181a1d;
  box-shadow:0 7px 16px rgba(244,118,0,.25);
}
.primary.alt{background:linear-gradient(135deg,#353a40,#1e2226);color:#fff}
.ghost{border-color:#d4d5d7;background:#fff;color:#202327}
.ghost[data-icon]::before{background:#fff0df;color:#b64e00;box-shadow:inset 0 0 0 1px #ffc58d}
.check-option,
.adjacent-card,
.adjacent-parameters,
fieldset,
.ng-panel,
.location-panel,
.protection-status,
.summary-result-table,
.table-wrap,
.kpi,
.unit-field,
.zone-preview,
.summary-factor-grid span,
.measure-reference-grid div{
  border-color:#c8cacf;
  background:#fff;
}
body.logged-in .table-wrap th{
  background:#292d32;
  color:#fff;
}
body.logged-in .table-wrap th:first-child{background:#202327}
body.logged-in .table-wrap tbody tr:nth-child(even) td{background:#f7f3ed}

body:not(.logged-in){
  background:
    radial-gradient(circle at 18% 14%,rgba(244,118,0,.25),transparent 25rem),
    linear-gradient(135deg,#0f1114 0%,#23272c 58%,#353a40 100%);
}
body:not(.logged-in) .auth-shell::before{
  background:
    radial-gradient(circle at 36% 32%,rgba(255,255,255,.86),transparent 0 9%,rgba(255,145,31,.72) 10% 29%,transparent 30%),
    conic-gradient(from 130deg,rgba(255,255,255,.02),rgba(244,118,0,.78),rgba(255,184,112,.48),rgba(63,68,74,.82),rgba(255,255,255,.02));
}
.lightning-event::before{background:radial-gradient(circle,rgba(255,179,99,.56),rgba(244,118,0,.24) 45%,transparent 72%)}
.login-visual span{background:linear-gradient(135deg,rgba(255,255,255,.15),rgba(244,118,0,.28),rgba(255,255,255,.03))}
body:not(.logged-in) .auth-card{
  border-color:rgba(244,118,0,.42);
  background:rgba(22,25,29,.78);
}
body:not(.logged-in) .auth-card input{border-color:rgba(255,255,255,.34);background:#fff;color:#202327}
body:not(.logged-in) .auth-card input:focus{border-color:#f47600;box-shadow:0 0 0 3px rgba(244,118,0,.2)}
body:not(.logged-in) .auth-card button.primary{background:linear-gradient(135deg,#f47600,#ff9b30);color:#181a1d}

/* Report palette follows the supplied cover: white, charcoal, grey and orange. */
.report-page.sr-report:not(.lps-image-cover){
  border:1px solid #c8c9cb;
  background:
    linear-gradient(155deg,rgba(255,245,234,.82) 0 12mm,transparent 12.2mm),
    #fff;
  box-shadow:inset 2.2mm 0 #f47600,0 16px 40px rgba(0,0,0,.24);
  color:#202327;
}
.report-page.sr-report h2{
  padding-bottom:7px;
  border-bottom:3px solid #f47600;
  color:#17191c;
  font-weight:900;
}
.report-page.sr-report h3{
  padding-left:8px;
  border-left:3px solid #f47600;
  color:#2c3035;
}
.report-page.sr-report h4{
  color:#b84f00;
  font-weight:850;
}
.report-page.sr-report p{color:#292d32}
.report-page.sr-report .report-table,
.report-page.sr-report table{
  border:1px solid #8e9297;
  background:#fff;
  font-variant-numeric:tabular-nums;
}
.report-page.sr-report .report-table thead,
.report-page.sr-report table thead{display:table-header-group}
.report-page.sr-report .report-table th,
.report-page.sr-report table th{
  border-color:#555a60;
  background:#292d32;
  color:#fff;
  font-weight:850;
  text-align:left;
}
.report-page.sr-report .report-table td,
.report-page.sr-report table td{
  border-color:#b9bcc0;
  background:#fff;
  color:#202327;
}
.report-page.sr-report .report-table tbody tr:nth-child(even) td,
.report-page.sr-report table tbody tr:nth-child(even) td{background:#fff8f1}
.report-page.sr-report .report-table tbody td:first-child,
.report-page.sr-report table tbody td:first-child{
  background:#f0f1f2;
  color:#202327;
  font-weight:800;
}
.report-page.sr-report .report-table--line-general th:nth-child(1){width:8%}
.report-page.sr-report .report-table--line-general th:nth-child(2){width:34%}
.report-page.sr-report .report-table--line-protection th:nth-child(1){width:7%}
.report-page.sr-report .report-table--line-protection th:nth-child(2){width:25%}
.report-page.sr-report .report-table--line-events th:nth-child(1){width:10%}
.report-page.sr-report .report-table--line-events th:nth-child(2){width:48%}
.report-page.sr-report .report-table--zone-details th:nth-child(1){width:10%}
.report-page.sr-report .report-table--zone-details th:nth-child(2){width:10%}
.report-page.sr-report .report-table--zone-details th:nth-child(3){width:31%}
.report-page.sr-report .report-table--zone-factors th:nth-child(1){width:8%}
.report-page.sr-report .report-table--zone-factors th:nth-child(2){width:25%}
.report-page.sr-report .report-table--zone-losses th:nth-child(1){width:9%}
.report-page.sr-report .report-table--zone-losses th:nth-child(2){width:28%}
.report-page.sr-report .report-empty{
  padding:12px;
  border:1px dashed #aeb1b5;
  background:#f7f7f6;
  color:#666a70;
}
.sr-value-rows b{color:#b84f00}
.sr-report-footer{
  align-items:center;
  border-top:2px solid #f47600;
  color:#404449;
  font-size:9.5px;
  letter-spacing:.025em;
}
.sr-report-footer b{color:#d75f00}
.sr-report-footer span:last-child{
  padding:4px 8px;
  background:#292d32;
  color:#fff;
  letter-spacing:.08em;
}
.sr-report-footer span:last-child b{color:#ff941f}
.toc-page{
  background:
    linear-gradient(155deg,#fff1e2 0 18mm,transparent 18.2mm),
    linear-gradient(180deg,#fff 0%,#fff 72%,#f5f5f3 100%)!important;
}
.toc-heading{border-bottom-color:#f47600}
.toc-heading span{
  border-color:#f47600;
  background:#fff0df;
  color:#b84f00;
}
.toc-number{
  border-color:#f47600;
  background:#fff0df;
  color:#a94400;
}
.toc-entry{border-bottom-color:#d6d7d9}
.toc-rule{border-bottom-color:#f0a35d}
.toc-page-number{color:#b84f00;font-weight:900}
.report-page.sr-report.design-philosophy-page .design-philosophy-heading{
  border-left-color:#f47600;
  background:#fff0df;
}
.report-page.sr-report.design-philosophy-page .design-philosophy-heading p{color:#b84f00}

@media print{
  .report-page.sr-report:not(.lps-image-cover){
    box-shadow:inset 2.2mm 0 #f47600!important;
  }
  .report-page.sr-report .report-table,
  .report-page.sr-report table{
    margin:4px 0 7px!important;
  }
  .report-page.sr-report.report-data-page .report-table th,
  .report-page.sr-report.report-data-page .report-table td{
    padding:3.5px 4px!important;
    font-size:8.8px!important;
    line-height:1.22!important;
  }
  .sr-report-footer{
    border-top-color:#f47600;
  }
}

/* Backup-report flow: one full-width column with subsections stacked vertically. */
.report-page.sr-report.report-one-column-page .report-one-column-flow,
.report-page.sr-report.report-one-column-page .report-paired-sections{
  display:block;
  width:100%;
}
.report-page.sr-report.report-one-column-page .report-table{
  width:100%;
  table-layout:auto;
}
.report-page.sr-report.report-one-column-page .report-table th,
.report-page.sr-report.report-one-column-page .report-table td{
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
}
.report-page.sr-report.report-one-column-page .sr-detail-list p{
  grid-template-columns:42mm minmax(0,1fr);
}
.report-page.sr-report.report-one-column-page .sr-paragraph-rows p{
  grid-template-columns:40mm 38mm minmax(0,1fr);
}
.report-page.sr-report.report-one-column-page .sr-value-rows p{
  grid-template-columns:28mm 42mm minmax(0,1fr);
}

@media print{
  .report-page.sr-report.report-one-column-page{
    padding:7mm 8mm 14mm!important;
  }
  .report-page.sr-report.report-one-column-page h2{
    margin:0 0 4pt!important;
    padding-bottom:3pt!important;
    font-size:13.5pt!important;
    line-height:1.15!important;
  }
  .report-page.sr-report.report-one-column-page h2:not(:first-child){
    margin-top:8pt!important;
  }
  .report-page.sr-report.report-one-column-page h3{
    margin:5pt 0 3pt!important;
    padding-left:5pt;
    font-size:9.5pt!important;
    line-height:1.18!important;
  }
  .report-page.sr-report.report-one-column-page h4{
    margin:4pt 0 2pt!important;
    font-size:8.5pt!important;
  }
  .report-page.sr-report.report-one-column-page p,
  .report-page.sr-report.report-one-column-page .report-note,
  .report-page.sr-report.report-one-column-page .summary-lines-panel>span,
  .report-page.sr-report.report-one-column-page .sr-detail-list p,
  .report-page.sr-report.report-one-column-page .sr-value-rows p,
  .report-page.sr-report.report-one-column-page .sr-paragraph-rows p{
    margin-bottom:2pt!important;
    font-size:8.3pt!important;
    line-height:1.22!important;
  }
  .report-page.sr-report.report-one-column-page .sr-detail-list,
  .report-page.sr-report.report-one-column-page .sr-value-rows,
  .report-page.sr-report.report-one-column-page .sr-paragraph-rows,
  .report-page.sr-report.report-one-column-page .sr-risk-narrative{
    margin:2pt 0 5pt!important;
    gap:2pt!important;
    row-gap:2pt!important;
  }
  .report-page.sr-report.report-one-column-page .sr-risk-row{
    min-height:0;
    padding:4pt 5pt;
    font-size:8.2pt;
    line-height:1.18;
  }
  .report-page.sr-report.report-one-column-page .summary-flow-panel,
  .report-page.sr-report.report-one-column-page .selected-protection-summary{
    margin:3pt 0!important;
    padding:5pt!important;
  }
  .report-page.sr-report.report-one-column-page .report-table,
  .report-page.sr-report.report-one-column-page table{
    margin:3pt 0 7pt!important;
  }
  .report-page.sr-report.report-one-column-page .report-table th,
  .report-page.sr-report.report-one-column-page .report-table td,
  .report-page.sr-report.report-one-column-page table th,
  .report-page.sr-report.report-one-column-page table td{
    padding:3pt 4pt!important;
    font-size:8pt!important;
    line-height:1.18!important;
  }
  .report-page.sr-report.report-lines-page .report-table th,
  .report-page.sr-report.report-lines-page .report-table td,
  .report-page.sr-report.report-calculation-page .report-table th,
  .report-page.sr-report.report-calculation-page .report-table td{
    padding:2.5pt 3pt!important;
    font-size:7.7pt!important;
    line-height:1.14!important;
  }
  .report-page.sr-report.report-zones-page .report-table th,
  .report-page.sr-report.report-zones-page .report-table td,
  .report-page.sr-report.report-maximized-page .report-table th,
  .report-page.sr-report.report-maximized-page .report-table td{
    padding:3pt 4pt!important;
    font-size:8pt!important;
    line-height:1.18!important;
  }
}

/* Two explicit generated-report choices. */
.report-output-options{
  display:flex;
  align-items:center;
  gap:8px;
  padding-left:12px;
  border-left:1px solid rgba(255,255,255,.18);
}
.report-output-label{
  color:rgba(255,255,255,.7);
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}
.report-output-options button[data-icon]::before{
  width:auto;
  min-width:22px;
  padding:0 4px;
  font-size:9px;
  letter-spacing:.03em;
}
.report-page.sr-report .conclusion-report-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:10px 0 20px;
  padding:12px 14px;
  border-left:4px solid #f47600;
  background:#fff0df;
}
.report-page.sr-report .conclusion-report-heading span{
  color:#6b4b30;
  font-size:10px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.report-page.sr-report .conclusion-report-heading strong{
  color:#202327;
  font-size:13px;
  text-align:right;
}
@media(max-width:820px){
  .report-output-options{
    width:100%;
    padding:10px 0 0;
    border-top:1px solid rgba(255,255,255,.16);
    border-left:0;
  }
  .report-output-label{margin-right:auto}
}
@media(max-width:560px){
  .report-output-options{display:grid;grid-template-columns:1fr 1fr}
  .report-output-label{grid-column:1 / -1}
  .report-output-options button{width:100%;white-space:normal;line-height:1.2}
}
@media print{
  .report-page.sr-report .conclusion-report-heading{
    margin:7px 0 14px;
    padding:9px 11px;
  }
}

/* Project Dashboard: never show more than two project cards per row. */
#dashboardPage .project-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
@media(max-width:900px){
  #dashboardPage .project-grid{grid-template-columns:1fr}
}

/* Compact A4 pairings requested for report sections 1–7. */
.report-page.sr-report .report-two-columns{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8mm;
  align-items:start;
}
.report-page.sr-report .report-two-columns>section{min-width:0}
.report-page.sr-report.report-paired-page h2:not(:first-child){margin-top:12px}
.report-page.sr-report .report-project-case-grid .sr-detail-list{margin-top:3px}
.report-page.sr-report .report-project-case-grid .sr-detail-list p{
  grid-template-columns:30mm minmax(0,1fr);
  gap:3mm;
}
.report-page.sr-report .report-environment-structure-grid .sr-paragraph-rows p{
  grid-template-columns:25mm 20mm minmax(0,1fr);
  gap:2mm;
}
.report-page.sr-report .report-environment-structure-grid .sr-value-rows p{
  grid-template-columns:17mm 23mm minmax(0,1fr);
  gap:2mm;
}
.report-page.sr-report .report-table--line-overview th:nth-child(1){width:6%}
.report-page.sr-report .report-table--line-overview th:nth-child(2){width:22%}
.report-page.sr-report .report-table--design-parameters th:nth-child(1){width:28%}
.report-page.sr-report .report-table--design-parameters th:nth-child(2){width:30%}
.report-page.sr-report .report-table--compact-values th:nth-child(1){width:18%}
.report-page.sr-report .report-table--compact-values th:nth-child(2){width:24%}
.report-page.sr-report .report-table--risk-components th:nth-child(1){width:18%}
.report-page.sr-report .report-table--risk-components th:nth-child(2){width:18%}
.report-page.sr-report.report-maximized-page .sr-value-rows{
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:8mm;
}

@media print{
  .report-page.sr-report.report-paired-page,
  .report-page.sr-report.report-maximized-page{
    padding-top:9mm!important;
  }
  .report-page.sr-report.report-paired-page h2{
    margin-bottom:3px!important;
    padding-bottom:2px!important;
    font-size:14px!important;
  }
  .report-page.sr-report.report-paired-page h2:not(:first-child){
    margin-top:7px!important;
  }
  .report-page.sr-report.report-paired-page h3{
    margin:4px 0 2px!important;
    padding-left:5px;
    font-size:10px!important;
  }
  .report-page.sr-report.report-paired-page h4{
    margin:3px 0 2px!important;
    font-size:9px!important;
  }
  .report-page.sr-report.report-paired-page p,
  .report-page.sr-report.report-paired-page .report-note,
  .report-page.sr-report.report-paired-page .summary-lines-panel>span{
    margin-bottom:1px!important;
    font-size:8.2px!important;
    line-height:1.18!important;
  }
  .report-page.sr-report.report-paired-page .sr-detail-list,
  .report-page.sr-report.report-paired-page .sr-value-rows,
  .report-page.sr-report.report-paired-page .sr-paragraph-rows,
  .report-page.sr-report.report-paired-page .sr-risk-narrative{
    margin-top:2px!important;
    margin-bottom:3px!important;
    gap:1px!important;
    row-gap:1px!important;
  }
  .report-page.sr-report.report-paired-page .sr-detail-list p,
  .report-page.sr-report.report-paired-page .sr-value-rows p,
  .report-page.sr-report.report-paired-page .sr-paragraph-rows p{
    margin-bottom:1px!important;
    font-size:8px!important;
    line-height:1.15!important;
  }
  .report-page.sr-report.report-paired-page .sr-risk-row{
    min-height:0;
    padding:3px 5px;
    font-size:8px;
    line-height:1.15;
  }
  .report-page.sr-report.report-paired-page .summary-flow-panel,
  .report-page.sr-report.report-paired-page .selected-protection-summary{
    margin:2px 0!important;
    padding:4px!important;
  }
  .report-page.sr-report.report-paired-page .report-table,
  .report-page.sr-report.report-paired-page table,
  .report-page.sr-report.report-maximized-page .report-table{
    margin:3px 0 5px!important;
  }
  .report-page.sr-report.report-paired-page .report-table th,
  .report-page.sr-report.report-paired-page .report-table td,
  .report-page.sr-report.report-paired-page table th,
  .report-page.sr-report.report-paired-page table td,
  .report-page.sr-report.report-maximized-page .report-table th,
  .report-page.sr-report.report-maximized-page .report-table td{
    padding:2px 3px!important;
    font-size:7.4px!important;
    line-height:1.12!important;
  }
  .report-page.sr-report .report-calculation-pair{
    gap:5mm;
  }
  .report-page.sr-report .report-calculation-pair .report-table th,
  .report-page.sr-report .report-calculation-pair .report-table td{
    padding:1.8px 2.5px!important;
    font-size:7.1px!important;
    line-height:1.08!important;
  }
}

/* Editorial table of contents inspired by the supplied reference image. */
.report-page.sr-report.toc-page{
  background:#fff!important;
}
.report-page.sr-report.toc-page .report-toc{
  position:relative;
  display:block;
  min-height:0;
}
.report-page.sr-report.toc-page .report-toc::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:30mm;
  height:12mm;
  background:#f47600;
}
.report-page.sr-report.toc-page .toc-heading{
  min-height:38mm;
  margin:0 0 2mm 30mm;
  padding:4mm 0 0 8mm;
  border:0;
}
.report-page.sr-report.toc-page .toc-heading>span{
  display:block;
  margin:0 0 3mm;
  padding:0;
  border:0;
  background:transparent;
  color:#a84900;
  font-size:8px;
  font-weight:850;
  letter-spacing:.14em;
}
.report-page.sr-report.toc-page .toc-heading h2{
  margin:0!important;
  padding:0!important;
  border:0!important;
  color:#17191c;
  font-family:"Arial Narrow",Aptos,Calibri,"Segoe UI",sans-serif;
  font-size:30px!important;
  font-stretch:condensed;
  font-weight:300;
  letter-spacing:.08em;
  line-height:1;
  text-transform:uppercase;
}
.report-page.sr-report.toc-page .toc-heading p{
  margin:3mm 0 0;
  color:#6b6f75;
  font-size:8.5px;
  line-height:1.3;
}
.report-page.sr-report.toc-page .toc-listing{
  display:grid;
  gap:0;
  margin:0;
  border:0;
  background:linear-gradient(90deg,#f47600 0 30mm,#fff 30mm 100%);
}
.report-page.sr-report.toc-page .toc-entry{
  display:grid;
  grid-template-columns:30mm minmax(0,1fr) 12mm;
  gap:0;
  align-items:center;
  min-height:17.2mm;
  padding:0;
  border:0;
  color:#202327;
}
.report-page.sr-report.toc-page .toc-number{
  display:grid;
  place-items:center;
  width:auto;
  height:auto;
  border:0;
  background:transparent;
  color:#fff;
  font-family:"Arial Narrow",Aptos,Calibri,"Segoe UI",sans-serif;
  font-size:25px;
  font-weight:300;
  letter-spacing:.02em;
  line-height:1;
}
.report-page.sr-report.toc-page .toc-copy{
  display:block;
  min-width:0;
  padding:2.2mm 4mm 2.2mm 7mm;
  border-bottom:1px solid #e0e1e3;
}
.report-page.sr-report.toc-page .toc-title-line{
  display:flex;
  align-items:baseline;
  gap:3mm;
  min-width:0;
}
.report-page.sr-report.toc-page .toc-title-line small{
  flex:0 0 auto;
  color:#d35c00;
  font-size:7px;
  font-weight:900;
  letter-spacing:.08em;
}
.report-page.sr-report.toc-page .toc-title{
  min-width:0;
  color:#202327;
  font-family:Aptos,Calibri,"Segoe UI",Arial,sans-serif;
  font-size:11px;
  font-weight:750;
  line-height:1.15;
  overflow-wrap:anywhere;
}
.report-page.sr-report.toc-page .toc-description{
  display:block;
  margin-top:1mm;
  color:#777b81;
  font-size:7.4px;
  line-height:1.25;
}
.report-page.sr-report.toc-page .toc-page-number{
  justify-self:end;
  align-self:center;
  display:block;
  min-width:0;
  height:auto;
  padding:0 1mm 0 0;
  background:transparent;
  color:#202327;
  font-size:9px;
  font-weight:850;
  letter-spacing:.08em;
  text-align:right;
}

@media print{
  .report-page.sr-report.toc-page .toc-heading{
    min-height:36mm;
  }
  .report-page.sr-report.toc-page .toc-entry{
    min-height:16.8mm;
  }
  .report-page.sr-report.toc-page .toc-heading h2{
    font-size:28px!important;
  }
  .report-page.sr-report.toc-page .toc-number{
    font-size:23px;
  }
}

/* Full-sheet A4 utilization with page-specific readable type. */
.report-page.sr-report:not(.lps-image-cover){
  padding:10mm 9mm 17mm;
}
.report-page.sr-report .report-risk-design-grid{gap:6mm}
.report-page.sr-report .report-risk-components-grid{
  gap:5mm;
  align-items:start;
}
.report-page.sr-report .report-risk-components-grid .report-table{margin-top:2px}
.report-page.sr-report .report-risk-components-grid .report-table--risk-components th:nth-child(1){width:24%}
.report-page.sr-report .report-risk-components-grid .report-table--risk-components th:nth-child(2){width:25%}
.report-page.sr-report.conclusion-only-page p{
  font-size:12px;
  line-height:1.58;
}

@media print{
  .report-page.sr-report:not(.lps-image-cover){
    padding:7mm 7.5mm 14mm!important;
  }
  .sr-report-footer{
    left:7.5mm!important;
    right:7.5mm!important;
    bottom:4mm!important;
  }
  .report-page.sr-report h2{
    font-size:15px!important;
    line-height:1.2!important;
  }
  .report-page.sr-report h3{
    font-size:11px!important;
    line-height:1.22!important;
  }
  .report-page.sr-report h4{
    font-size:9.5px!important;
  }
  .report-page.sr-report p,
  .report-page.sr-report .note,
  .report-page.sr-report .report-note{
    font-size:9.2px!important;
    line-height:1.28!important;
  }
  .report-page.sr-report.report-paired-page h2{
    font-size:14.5px!important;
  }
  .report-page.sr-report.report-paired-page h3{
    font-size:10.5px!important;
  }
  .report-page.sr-report.report-paired-page p,
  .report-page.sr-report.report-paired-page .report-note,
  .report-page.sr-report.report-paired-page .summary-lines-panel>span,
  .report-page.sr-report.report-paired-page .sr-detail-list p,
  .report-page.sr-report.report-paired-page .sr-value-rows p,
  .report-page.sr-report.report-paired-page .sr-paragraph-rows p{
    font-size:8.8px!important;
    line-height:1.2!important;
  }
  .report-page.sr-report.report-paired-page .sr-risk-row{
    padding:4px 5px;
    font-size:8.7px;
    line-height:1.18;
  }
  .report-page.sr-report.report-paired-page .report-table th,
  .report-page.sr-report.report-paired-page .report-table td,
  .report-page.sr-report.report-paired-page table th,
  .report-page.sr-report.report-paired-page table td{
    padding:2.8px 3.5px!important;
    font-size:8.3px!important;
    line-height:1.16!important;
  }
  .report-page.sr-report.report-lines-page .report-table th,
  .report-page.sr-report.report-lines-page .report-table td{
    font-size:8.5px!important;
  }
  .report-page.sr-report.report-zones-page .report-table th,
  .report-page.sr-report.report-zones-page .report-table td{
    padding:4px 4.5px!important;
    font-size:9.2px!important;
    line-height:1.2!important;
  }
  .report-page.sr-report.report-calculation-page .report-table th,
  .report-page.sr-report.report-calculation-page .report-table td{
    padding:2.5px 3px!important;
    font-size:8.3px!important;
    line-height:1.14!important;
  }
  .report-page.sr-report.report-maximized-page .report-table th,
  .report-page.sr-report.report-maximized-page .report-table td{
    padding:4px 4.5px!important;
    font-size:9.4px!important;
    line-height:1.2!important;
  }
  .report-page.sr-report.conclusion-only-page p{
    font-size:11px!important;
    line-height:1.5!important;
  }
}

/* Final one-column print scale; intentionally last in the cascade. */
@media print{
  .report-page.sr-report.report-one-column-page{
    padding:7mm 8mm 14mm!important;
  }
  .report-page.sr-report.report-one-column-page h2{
    margin:0 0 4pt!important;
    padding-bottom:3pt!important;
    font-size:13.5pt!important;
    line-height:1.15!important;
  }
  .report-page.sr-report.report-one-column-page h2:not(:first-child){margin-top:8pt!important}
  .report-page.sr-report.report-one-column-page h3{
    margin:5pt 0 3pt!important;
    font-size:9.5pt!important;
    line-height:1.18!important;
  }
  .report-page.sr-report.report-one-column-page p,
  .report-page.sr-report.report-one-column-page .report-note,
  .report-page.sr-report.report-one-column-page .sr-detail-list p,
  .report-page.sr-report.report-one-column-page .sr-value-rows p,
  .report-page.sr-report.report-one-column-page .sr-paragraph-rows p{
    margin-bottom:2pt!important;
    font-size:8.3pt!important;
    line-height:1.22!important;
  }
  .report-page.sr-report.report-one-column-page .report-table,
  .report-page.sr-report.report-one-column-page table{margin:3pt 0 7pt!important}
  .report-page.sr-report.report-one-column-page .report-table th,
  .report-page.sr-report.report-one-column-page .report-table td,
  .report-page.sr-report.report-one-column-page table th,
  .report-page.sr-report.report-one-column-page table td{
    padding:3pt 4pt!important;
    font-size:8pt!important;
    line-height:1.18!important;
  }
  .report-page.sr-report.report-one-column-page.report-lines-page .report-table th,
  .report-page.sr-report.report-one-column-page.report-lines-page .report-table td,
  .report-page.sr-report.report-one-column-page.report-calculation-page .report-table th,
  .report-page.sr-report.report-one-column-page.report-calculation-page .report-table td{
    padding:2.5pt 3pt!important;
    font-size:7.7pt!important;
    line-height:1.14!important;
  }
}

/* Readable connected-line schedules: split dense factors into balanced tables. */
.report-page.sr-report .report-table--line-characteristics,
.report-page.sr-report .report-table--line-events,
.report-page.sr-report .report-table--line-installation,
.report-page.sr-report .report-table--line-probabilities{
  table-layout:fixed!important;
}
.report-page.sr-report .report-table--line-characteristics th:nth-child(1){width:7%}
.report-page.sr-report .report-table--line-characteristics th:nth-child(2){width:31%}
.report-page.sr-report .report-table--line-characteristics th:nth-child(3){width:18%}
.report-page.sr-report .report-table--line-characteristics th:nth-child(n+4){width:14.66%}
.report-page.sr-report .report-table--line-events th:nth-child(1){width:8%}
.report-page.sr-report .report-table--line-events th:nth-child(2){width:42%}
.report-page.sr-report .report-table--line-events th:nth-child(n+3){width:16.66%}
.report-page.sr-report .report-table--line-installation th:nth-child(1){width:7%}
.report-page.sr-report .report-table--line-installation th:nth-child(2){width:29%}
.report-page.sr-report .report-table--line-installation th:nth-child(n+3){width:12.8%}
.report-page.sr-report .report-table--line-probabilities th:nth-child(1){width:9%}
.report-page.sr-report .report-table--line-probabilities th:nth-child(2){width:49%}
.report-page.sr-report .report-table--line-probabilities th:nth-child(n+3){width:21%}
.report-page.sr-report .report-table--line-characteristics th,
.report-page.sr-report .report-table--line-events th,
.report-page.sr-report .report-table--line-installation th,
.report-page.sr-report .report-table--line-probabilities th{
  white-space:nowrap!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.report-page.sr-report .report-table--line-characteristics td:not(:nth-child(2)),
.report-page.sr-report .report-table--line-events td:not(:nth-child(2)),
.report-page.sr-report .report-table--line-installation td:not(:nth-child(2)),
.report-page.sr-report .report-table--line-probabilities td:not(:nth-child(2)){
  text-align:center;
  white-space:nowrap!important;
  overflow-wrap:normal!important;
}

/* Single report button with two dropdown output choices. */
.report-output-menu{
  position:relative;
  flex:0 0 auto;
}
.report-output-menu summary{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:38px;
  padding:9px 14px;
  border:1px solid #f47600;
  border-radius:8px;
  background:linear-gradient(135deg,#f47600,#ff941f);
  color:#181a1d;
  font-size:12px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  list-style:none;
  box-shadow:0 7px 16px rgba(244,118,0,.24);
  user-select:none;
}
.report-output-menu summary::-webkit-details-marker{display:none}
.report-output-menu summary::before{
  content:"PDF · DOCX";
  display:grid;
  min-width:52px;
  height:20px;
  padding:0 4px;
  place-items:center;
  border-radius:5px;
  background:rgba(255,255,255,.34);
  font-size:8px;
  letter-spacing:.04em;
}
.report-output-menu summary::after{
  content:"▾";
  font-size:13px;
  transition:transform .15s ease;
}
.report-output-menu[open] summary::after{transform:rotate(180deg)}
.report-output-menu summary:hover{box-shadow:0 10px 22px rgba(244,118,0,.32)}
.report-output-menu summary:focus-visible{
  outline:3px solid rgba(255,148,31,.34);
  outline-offset:2px;
}
.report-output-dropdown{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  z-index:50;
  display:grid;
  width:290px;
  padding:7px;
  border:1px solid #c8cacf;
  border-radius:10px;
  background:#fff;
  box-shadow:0 18px 42px rgba(0,0,0,.28);
}
.report-output-group-label{
  display:block;
  padding:8px 12px 5px;
  color:#7a4a18;
  font-size:9px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.report-output-choice{
  display:grid;
  justify-items:start;
  gap:3px;
  width:100%;
  min-height:0;
  padding:11px 12px;
  border:0;
  border-radius:7px;
  background:#fff;
  color:#202327;
  text-align:left;
  white-space:normal;
}
.report-output-choice+ .report-output-choice{border-top:1px solid #e1e2e4;border-radius:0 0 7px 7px}
.report-output-choice--word strong::before{
  content:"W";
  display:inline-grid;
  width:18px;
  height:18px;
  margin-right:7px;
  place-items:center;
  border-radius:3px;
  background:#185abd;
  color:#fff;
  font-size:10px;
}
.report-output-choice:disabled{cursor:wait;opacity:.55}
.report-output-choice:hover{
  transform:none;
  background:#fff0df;
  box-shadow:none;
}
.report-output-choice strong{font-size:12px;color:#202327}
.report-output-choice span{font-size:10px;font-weight:700;color:#6c7076}
@media(max-width:700px){
  .report-output-menu{width:100%}
  .report-output-menu summary{width:100%;box-sizing:border-box}
  .report-output-dropdown{right:auto;left:0;width:min(100%,340px)}
}

/* Final generated-report table system: readable, balanced and consistent on A4. */
.report-page.sr-report .report-table,
.report-page.sr-report .summary-result-table table,
.report-page.sr-report .selected-protection-table,
.report-page.sr-report .risk-calc-table{
  width:100%!important;
  max-width:100%!important;
  margin:5px 0 9px!important;
  border:1px solid #74797f!important;
  border-collapse:collapse!important;
  table-layout:fixed!important;
  background:#fff;
  font-variant-numeric:tabular-nums;
}
.report-page.sr-report .report-table tr,
.report-page.sr-report .summary-result-table tr,
.report-page.sr-report .selected-protection-table tr,
.report-page.sr-report .risk-calc-table tr{
  break-inside:avoid;
  page-break-inside:avoid;
}
.report-page.sr-report .report-table th,
.report-page.sr-report .report-table td,
.report-page.sr-report .summary-result-table th,
.report-page.sr-report .summary-result-table td,
.report-page.sr-report .selected-protection-table th,
.report-page.sr-report .selected-protection-table td,
.report-page.sr-report .risk-calc-table th,
.report-page.sr-report .risk-calc-table td{
  position:static!important;
  min-width:0;
  padding:5px 6px!important;
  border:1px solid #b8bbc0!important;
  vertical-align:middle!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  font-size:9.5px!important;
  line-height:1.25!important;
}
.report-page.sr-report .report-table thead th,
.report-page.sr-report .summary-result-table thead th,
.report-page.sr-report .selected-protection-table thead th,
.report-page.sr-report .risk-calc-table thead th{
  padding-top:6px!important;
  padding-bottom:6px!important;
  border-color:#d97a12!important;
  background:#f6b25b!important;
  color:#2f1b08!important;
  font-weight:850!important;
  text-align:center!important;
  vertical-align:middle!important;
}
.report-page.sr-report .report-table tbody tr:nth-child(even) td,
.report-page.sr-report .summary-result-table tbody tr:nth-child(even) td,
.report-page.sr-report .selected-protection-table tbody tr:nth-child(even) td,
.report-page.sr-report .risk-calc-table tbody tr:nth-child(even) td{
  background:#fff7ee!important;
}
.report-page.sr-report .report-table tbody td:first-child,
.report-page.sr-report .summary-result-table tbody td:first-child,
.report-page.sr-report .selected-protection-table tbody td:first-child,
.report-page.sr-report .risk-calc-table tbody td:first-child{
  background:#f0f1f2!important;
  font-weight:750!important;
}
.report-page.sr-report .report-table tbody tr:hover td,
.report-page.sr-report .summary-result-table tbody tr:hover td,
.report-page.sr-report .selected-protection-table tbody tr:hover td,
.report-page.sr-report .risk-calc-table tbody tr:hover td{
  background:#fff0df!important;
}

/* Two-column key/value tables. */
.report-page.sr-report .report-table:not([class*="report-table--"]):not(.report-summary-table) tbody th:first-child{
  width:32%;
  background:#eef0f2!important;
  color:#202327!important;
}

/* Purpose-built column proportions for each report data set. */
.report-page.sr-report .report-table--design-parameters th:nth-child(1){width:29%}
.report-page.sr-report .report-table--design-parameters th:nth-child(2){width:29%}
.report-page.sr-report .report-table--design-parameters th:nth-child(3){width:42%}
.report-page.sr-report .report-table--line-characteristics th:nth-child(1){width:8%}
.report-page.sr-report .report-table--line-characteristics th:nth-child(2){width:32%}
.report-page.sr-report .report-table--line-characteristics th:nth-child(3){width:18%}
.report-page.sr-report .report-table--line-characteristics th:nth-child(n+4){width:14%}
.report-page.sr-report .report-table--line-events th:nth-child(1){width:8%}
.report-page.sr-report .report-table--line-events th:nth-child(2){width:44%}
.report-page.sr-report .report-table--line-events th:nth-child(n+3){width:16%}
.report-page.sr-report .report-table--line-installation th:nth-child(1){width:8%}
.report-page.sr-report .report-table--line-installation th:nth-child(2){width:32%}
.report-page.sr-report .report-table--line-installation th:nth-child(n+3){width:12%}
.report-page.sr-report .report-table--line-probabilities th:nth-child(1){width:9%}
.report-page.sr-report .report-table--line-probabilities th:nth-child(2){width:49%}
.report-page.sr-report .report-table--line-probabilities th:nth-child(n+3){width:21%}
.report-page.sr-report .report-table--zone-details th:nth-child(1){width:9%}
.report-page.sr-report .report-table--zone-details th:nth-child(2){width:9%}
.report-page.sr-report .report-table--zone-details th:nth-child(3){width:34%}
.report-page.sr-report .report-table--zone-details th:nth-child(n+4){width:12%}
.report-page.sr-report .report-table--zone-factors th:nth-child(1){width:8%}
.report-page.sr-report .report-table--zone-factors th:nth-child(2){width:28%}
.report-page.sr-report .report-table--zone-factors th:nth-child(n+3):nth-child(-n+6){width:7%}
.report-page.sr-report .report-table--zone-factors th:nth-child(7){width:13%}
.report-page.sr-report .report-table--zone-factors th:nth-child(8){width:13%}
.report-page.sr-report .report-table--zone-factors th:nth-child(9){width:10%}
.report-page.sr-report .report-table--zone-losses th:nth-child(1){width:8%}
.report-page.sr-report .report-table--zone-losses th:nth-child(2){width:28%}
.report-page.sr-report .report-table--zone-losses th:nth-child(n+3){width:10.66%}
.report-page.sr-report .report-table--compact-values th:nth-child(1){width:17%}
.report-page.sr-report .report-table--compact-values th:nth-child(2){width:25%}
.report-page.sr-report .report-table--compact-values th:nth-child(3){width:58%}
.report-page.sr-report .report-table--risk-components th:nth-child(1){width:20%}
.report-page.sr-report .report-table--risk-components th:nth-child(2){width:22%}
.report-page.sr-report .report-table--risk-components th:nth-child(3){width:58%}
.report-page.sr-report .report-summary-table th:nth-child(1){width:10%}
.report-page.sr-report .report-summary-table th:nth-child(2){width:20%}
.report-page.sr-report .report-summary-table th:nth-child(3),
.report-page.sr-report .report-summary-table th:nth-child(4){width:24%}
.report-page.sr-report .report-summary-table th:nth-child(5){width:22%}

/* Keep technical codes and numeric cells together while descriptions remain left aligned. */
.report-page.sr-report .report-table--line-characteristics td:not(:nth-child(2)),
.report-page.sr-report .report-table--line-events td:not(:nth-child(2)),
.report-page.sr-report .report-table--line-installation td:not(:nth-child(2)),
.report-page.sr-report .report-table--line-probabilities td:not(:nth-child(2)),
.report-page.sr-report .report-table--zone-details td:not(:nth-child(3)),
.report-page.sr-report .report-table--zone-factors td:not(:nth-child(2)),
.report-page.sr-report .report-table--zone-losses td:not(:nth-child(2)),
.report-page.sr-report .report-table--compact-values td:nth-child(-n+2),
.report-page.sr-report .report-table--risk-components td:nth-child(-n+2){
  text-align:center!important;
  white-space:nowrap!important;
}

/* The connected-line calculation is split into four readable tables. */
.connected-lines-table-stack{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 10px;
  margin-top:7px;
}
.connected-lines-table-group{min-width:0}
.connected-lines-table-group>small{
  display:block;
  margin:0 0 3px;
  color:#a84900;
  font-size:8.5px;
  font-weight:850;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.connected-lines-table-stack .connected-lines-result table{
  width:100%!important;
  min-width:0!important;
  table-layout:fixed;
}
.connected-lines-table-stack .connected-lines-result th,
.connected-lines-table-stack .connected-lines-result td{
  position:static!important;
  padding:5px 6px;
  vertical-align:middle;
  white-space:nowrap;
  word-break:normal;
  overflow-wrap:normal;
  text-align:center;
}
.connected-lines-table-stack .connected-lines-result th:first-child,
.connected-lines-table-stack .connected-lines-result td:first-child{
  width:36%;
  text-align:left;
}
.report-page.sr-report .connected-lines-result{margin:0}
.report-page.sr-report .connected-lines-result table{margin:0!important}
.report-page.sr-report .connected-lines-result th:first-child,
.report-page.sr-report .connected-lines-result td:first-child{
  width:36%!important;
  text-align:left!important;
}
.report-page.sr-report .connected-lines-result th:not(:first-child),
.report-page.sr-report .connected-lines-result td:not(:first-child){
  width:auto!important;
  text-align:center!important;
  white-space:nowrap!important;
}
.report-page.sr-report .summary-result-table:not(.connected-lines-result) th:nth-child(1){width:18%}
.report-page.sr-report .summary-result-table:not(.connected-lines-result) th:nth-child(2){width:15%}
.report-page.sr-report .summary-result-table:not(.connected-lines-result) th:nth-child(3),
.report-page.sr-report .summary-result-table:not(.connected-lines-result) th:nth-child(4),
.report-page.sr-report .summary-result-table:not(.connected-lines-result) th:nth-child(5){width:17%}
.report-page.sr-report .summary-result-table:not(.connected-lines-result) th:nth-child(6){width:16%}
.report-page.sr-report .summary-result-table:not(.connected-lines-result) td:nth-child(n+2):nth-child(-n+5){
  text-align:center!important;
  white-space:nowrap!important;
}

@media(max-width:760px){
  .connected-lines-table-stack{grid-template-columns:1fr}
}
@media print{
  .connected-lines-table-stack{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:5px 7px;
  }
  .report-page.sr-report .report-table th,
  .report-page.sr-report .report-table td,
  .report-page.sr-report .summary-result-table th,
  .report-page.sr-report .summary-result-table td,
  .report-page.sr-report .selected-protection-table th,
  .report-page.sr-report .selected-protection-table td,
  .report-page.sr-report .risk-calc-table th,
  .report-page.sr-report .risk-calc-table td{
    padding:3.2px 4px!important;
    font-size:8.6px!important;
    line-height:1.18!important;
  }
  .report-page.sr-report.report-lines-page .report-table th,
  .report-page.sr-report.report-lines-page .report-table td,
  .report-page.sr-report.report-zones-page .report-table th,
  .report-page.sr-report.report-zones-page .report-table td{
    font-size:8.3px!important;
  }
  .connected-lines-table-group>small{font-size:7.8px}
}

/* No-LPS conclusion used automatically when the unprotected risk is tolerable. */
.report-page.sr-report.no-lps-conclusion-page .conclusion-basis-list{
  display:grid;
  gap:5px;
  margin:8px 0 12px;
  padding:9px 12px 9px 29px;
  border:1px solid #d5d7da;
  border-left:4px solid #f47600;
  background:#fff8f1;
}
.report-page.sr-report.no-lps-conclusion-page .conclusion-basis-list li{
  padding-left:2px;
  color:#292d32;
  font-size:10.5px;
  line-height:1.38;
}
.report-page.sr-report.no-lps-conclusion-page .conclusion-final-statement{
  margin-top:12px;
  padding:10px 12px;
  border:1px solid #eca768;
  background:#fff0df;
  color:#202327;
}
.report-page.sr-report.no-lps-conclusion-page .conclusion-final-statement strong{color:#a84900}
@media print{
  .report-page.sr-report.no-lps-conclusion-page .conclusion-basis-list{
    gap:3px;
    margin:6px 0 9px;
    padding:7px 10px 7px 25px;
  }
  .report-page.sr-report.no-lps-conclusion-page .conclusion-basis-list li{
    font-size:9.4px;
    line-height:1.28;
  }
  .report-page.sr-report.no-lps-conclusion-page .conclusion-final-statement{
    margin-top:8px;
    padding:8px 10px;
  }
}

/* Keep sections 6.0 and 7.0 together on generated-report page 05. */
.report-page.sr-report.report-sections-6-7-page h2:not(:first-child){margin-top:9px}
.report-page.sr-report.report-sections-6-7-page .report-table{margin-bottom:6px!important}
@media print{
  .report-page.sr-report.report-sections-6-7-page{
    padding-top:6mm!important;
  }
  .report-page.sr-report.report-sections-6-7-page h2{
    margin-bottom:2px!important;
    padding-bottom:2px!important;
    font-size:13.2px!important;
    line-height:1.12!important;
  }
  .report-page.sr-report.report-sections-6-7-page h2:not(:first-child){
    margin-top:6px!important;
  }
  .report-page.sr-report.report-sections-6-7-page h3{
    margin:3px 0 2px!important;
    font-size:9.4px!important;
    line-height:1.12!important;
  }
  .report-page.sr-report.report-sections-6-7-page h4{
    margin:2px 0 1px!important;
    font-size:8.4px!important;
  }
  .report-page.sr-report.report-sections-6-7-page .report-table{
    margin:2px 0 4px!important;
  }
  .report-page.sr-report.report-sections-6-7-page .report-table th,
  .report-page.sr-report.report-sections-6-7-page .report-table td{
    padding:2.2px 3px!important;
    font-size:7.8px!important;
    line-height:1.12!important;
  }
}

/* Taller generated-report tables for improved readability. */
.report-page.sr-report .report-table th,
.report-page.sr-report .report-table td,
.report-page.sr-report .summary-result-table th,
.report-page.sr-report .summary-result-table td,
.report-page.sr-report .selected-protection-table th,
.report-page.sr-report .selected-protection-table td,
.report-page.sr-report .risk-calc-table th,
.report-page.sr-report .risk-calc-table td{
  padding-top:7px!important;
  padding-bottom:7px!important;
  line-height:1.3!important;
}
@media print{
  .report-page.sr-report .report-table th,
  .report-page.sr-report .report-table td,
  .report-page.sr-report .summary-result-table th,
  .report-page.sr-report .summary-result-table td,
  .report-page.sr-report .selected-protection-table th,
  .report-page.sr-report .selected-protection-table td,
  .report-page.sr-report .risk-calc-table th,
  .report-page.sr-report .risk-calc-table td{
    padding-top:4.2px!important;
    padding-bottom:4.2px!important;
    line-height:1.24!important;
  }
  .report-page.sr-report.report-sections-6-7-page .report-table th,
  .report-page.sr-report.report-sections-6-7-page .report-table td{
    padding-top:3px!important;
    padding-bottom:3px!important;
    line-height:1.17!important;
  }
}

/* Keep sections 3.0, 4.0 and 5.0 together on generated-report page 04. */
.report-page.sr-report.report-sections-3-5-page h2:not(:first-child){margin-top:8px}
@media print{
  .report-page.sr-report.report-sections-3-5-page{
    padding-top:5.5mm!important;
  }
  .report-page.sr-report.report-sections-3-5-page h2{
    margin-bottom:2px!important;
    padding-bottom:2px!important;
    font-size:12.8px!important;
    line-height:1.1!important;
  }
  .report-page.sr-report.report-sections-3-5-page h2:not(:first-child){
    margin-top:5px!important;
  }
  .report-page.sr-report.report-sections-3-5-page h3{
    margin:3px 0 1px!important;
    font-size:9.1px!important;
    line-height:1.1!important;
  }
  .report-page.sr-report.report-sections-3-5-page h4{
    margin:2px 0 1px!important;
    font-size:8.2px!important;
  }
  .report-page.sr-report.report-sections-3-5-page .sr-paragraph-rows,
  .report-page.sr-report.report-sections-3-5-page .sr-value-rows{
    margin:1px 0 3px!important;
    gap:1px!important;
  }
  .report-page.sr-report.report-sections-3-5-page .sr-paragraph-rows p,
  .report-page.sr-report.report-sections-3-5-page .sr-value-rows p{
    margin-bottom:1px!important;
    font-size:7.8px!important;
    line-height:1.12!important;
  }
  .report-page.sr-report.report-sections-3-5-page .report-table{
    margin:2px 0 4px!important;
  }
  .report-page.sr-report.report-sections-3-5-page .report-table th,
  .report-page.sr-report.report-sections-3-5-page .report-table td{
    padding:3px 3.5px!important;
    font-size:7.8px!important;
    line-height:1.15!important;
  }
}

/* Final report-table readability: never smaller than 9 px in print. */
.report-page.sr-report table th,
.report-page.sr-report table td{
  height:28px!important;
  padding-top:8px!important;
  padding-bottom:8px!important;
  font-size:10px!important;
  line-height:1.32!important;
}
@media print{
  .report-page.sr-report table th,
  .report-page.sr-report table td{
    height:24px!important;
    padding-top:5px!important;
    padding-bottom:5px!important;
    font-size:9px!important;
    line-height:1.26!important;
  }
  .report-page.sr-report.report-sections-3-5-page table th,
  .report-page.sr-report.report-sections-3-5-page table td,
  .report-page.sr-report.report-sections-6-7-page table th,
  .report-page.sr-report.report-sections-6-7-page table td{
    height:22px!important;
    padding-top:4px!important;
    padding-bottom:4px!important;
    font-size:9px!important;
    line-height:1.2!important;
  }
}

/* Larger main section titles in the generated Table of Contents. */
.report-page.sr-report.toc-page .toc-title{
  font-size:14px!important;
  line-height:1.18;
}

/* Section 8.2 primary risk totals table. */
.report-page.sr-report .report-table--risk-totals th:nth-child(1){width:18%}
.report-page.sr-report .report-table--risk-totals th:nth-child(2){width:25%}
.report-page.sr-report .report-table--risk-totals th:nth-child(3){width:57%}
.report-page.sr-report .report-table--risk-totals td:nth-child(-n+2){
  text-align:center!important;
  white-space:nowrap!important;
}

/* Consistent main report headings and Table of Contents typography. */
.report-page.sr-report:not(.toc-page) h2{
  font-size:13.5px!important;
  line-height:1.16!important;
}
.report-page.sr-report.toc-page .toc-title{
  font-size:14px!important;
  line-height:1.18!important;
}
.report-page.sr-report.toc-page .toc-description{
  font-size:10px!important;
  line-height:1.3!important;
}

/* Transparent TEPCO watermark on the Project Dashboard background. */
#dashboardPage .group-dashboard{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
#dashboardPage .group-dashboard::before{
  content:"TEPCO";
  position:absolute;
  top:54%;
  left:50%;
  z-index:-1;
  color:#f47600;
  font-family:"Arial Black",Aptos,Calibri,"Segoe UI",sans-serif;
  font-size:clamp(90px,18vw,240px);
  font-weight:900;
  letter-spacing:.08em;
  line-height:1;
  opacity:.055;
  pointer-events:none;
  user-select:none;
  white-space:nowrap;
  transform:translate(-50%,-50%) rotate(-8deg);
}
#dashboardPage .group-dashboard>*{
  position:relative;
  z-index:1;
}
@media(max-width:700px){
  #dashboardPage .group-dashboard::before{
    font-size:clamp(72px,25vw,130px);
    transform:translate(-50%,-50%) rotate(-10deg);
  }
}

/* Consistent R1/R2 status colors in the generated Summary Result table. */
.report-page.sr-report .summary-result-table:not(.connected-lines-result) tbody td{
  background:#fff!important;
}
.report-page.sr-report .summary-result-table:not(.connected-lines-result) tbody td:first-child{
  background:#f0f1f2!important;
}
.report-page.sr-report .summary-result-table:not(.connected-lines-result) tbody td.result-value-ok{
  background:#e7f6ec!important;
  color:#087443!important;
  font-weight:800!important;
}
.report-page.sr-report .summary-result-table:not(.connected-lines-result) tbody td.result-value-high{
  background:#fde9e9!important;
  color:#b42318!important;
  font-weight:800!important;
}
.report-page.sr-report .summary-result-table:not(.connected-lines-result) tbody tr.result-ok td:last-child{
  background:#e7f6ec!important;
}
.report-page.sr-report .summary-result-table:not(.connected-lines-result) tbody tr.result-high td:last-child{
  background:#fde9e9!important;
}
.report-page.sr-report .summary-result-table:not(.connected-lines-result) tbody tr.result-ok td:last-child em{
  color:#087443!important;
}
.report-page.sr-report .summary-result-table:not(.connected-lines-result) tbody tr.result-high td:last-child em{
  color:#b42318!important;
}

/* Fit design-philosophy sections 10.1 through 10.6 together on page 08. */
@media print{
  .report-page.sr-report.design-philosophy-combined-page{
    padding-top:5.5mm!important;
  }
  .report-page.sr-report.design-philosophy-combined-page h2{
    margin-bottom:3px!important;
  }
  .report-page.sr-report.design-philosophy-combined-page h3{
    margin:4px 0 2px!important;
    padding-left:5px!important;
    font-size:9.8px!important;
    line-height:1.14!important;
  }
  .report-page.sr-report.design-philosophy-combined-page p{
    margin:0 0 3px!important;
    font-size:9px!important;
    line-height:1.22!important;
  }
  .report-page.sr-report.design-philosophy-combined-page .design-philosophy-heading{
    margin:2px 0 5px!important;
    padding:5px 7px!important;
  }
  .report-page.sr-report.design-philosophy-combined-page .design-philosophy-list{
    margin:2px 0 4px 17px!important;
    padding-left:10px!important;
  }
  .report-page.sr-report.design-philosophy-combined-page .design-philosophy-list li{
    margin-bottom:0!important;
    font-size:9px!important;
    line-height:1.18!important;
  }
  .report-page.sr-report.design-philosophy-combined-page .report-table{
    margin:3px 0 5px!important;
  }
  .report-page.sr-report.design-philosophy-combined-page .report-table th,
  .report-page.sr-report.design-philosophy-combined-page .report-table td{
    height:21px!important;
    padding-top:3px!important;
    padding-bottom:3px!important;
    font-size:9px!important;
    line-height:1.16!important;
  }
}

/* Measured automatic pagination fills available A4 space before adding a page. */
.report-page.sr-report.report-auto-page{
  height:297mm!important;
  min-height:297mm!important;
  overflow:hidden!important;
}
.report-flow-block{
  display:flow-root;
  break-inside:avoid;
  page-break-inside:avoid;
}
.report-flow-block>h2:first-child,
.report-flow-block>h3:first-child,
.report-flow-block>h4:first-child{
  break-after:avoid;
  page-break-after:avoid;
}
@media print{
  .report-page.sr-report.report-auto-page{
    width:210mm!important;
    height:297mm!important;
    min-height:297mm!important;
    overflow:hidden!important;
  }
}

/* Minimum 0.75-inch safe margin on generated report content pages. */
.report-page.sr-report:not(.lps-image-cover){
  padding:0.75in!important;
}
.report-page.sr-report:not(.lps-image-cover) .sr-report-footer{
  left:0.75in!important;
  right:0.75in!important;
}
@media print{
  .report-page.sr-report:not(.lps-image-cover){
    padding:0.75in!important;
  }
  .report-page.sr-report:not(.lps-image-cover) .sr-report-footer{
    left:0.75in!important;
    right:0.75in!important;
  }
}

/* Final-result fragments stay compact while automatic pagination fills each page. */
.report-page.sr-report .report-summary-fragment,
.report-page.sr-report .report-summary-lines-fragment{
  width:100%;
  min-width:0;
}

/* Light-black TEPCO application background; generated report pages remain white. */
body{
  min-height:100vh;
  background:
    radial-gradient(circle at 12% 4%,rgba(244,118,0,.22),transparent 26rem),
    radial-gradient(circle at 88% 76%,rgba(255,145,31,.10),transparent 34rem),
    linear-gradient(145deg,#1b1e22 0%,#272b30 52%,#34393f 100%);
  background-attachment:fixed;
}
.site-background-brand{
  position:fixed;
  inset:150px 0 0;
  z-index:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  pointer-events:none;
  user-select:none;
  opacity:.72;
  mix-blend-mode:screen;
}
.site-background-brand::before{
  content:"";
  position:absolute;
  width:min(70vw,980px);
  aspect-ratio:1;
  border:1px solid rgba(244,118,0,.10);
  border-radius:50%;
  box-shadow:
    0 0 0 90px rgba(255,255,255,.012),
    0 0 0 180px rgba(244,118,0,.018);
}
.site-background-brand strong{
  background:linear-gradient(105deg,rgba(255,255,255,.025),rgba(244,118,0,.16),rgba(255,255,255,.035));
  background-clip:text;
  -webkit-background-clip:text;
  color:transparent;
  -webkit-text-stroke:1px rgba(255,151,51,.13);
  font-size:clamp(92px,20vw,300px);
  font-weight:950;
  letter-spacing:.12em;
  line-height:.8;
  transform:translateX(.06em) rotate(-5deg);
}
.site-background-brand span{
  margin-top:34px;
  color:rgba(255,171,88,.16);
  font-size:clamp(11px,1.6vw,22px);
  font-weight:900;
  letter-spacing:.48em;
  text-align:center;
  transform:rotate(-5deg);
}
body>.topbar,
body>main{
  position:relative;
  z-index:1;
}
body.logged-in .topbar{
  background:
    linear-gradient(90deg,rgba(244,118,0,.98) 0 7px,transparent 7px),
    radial-gradient(circle at 82% 12%,rgba(244,118,0,.20),transparent 22rem),
    linear-gradient(135deg,rgba(27,30,34,.98),rgba(48,52,57,.97));
}
.brand-identity{
  display:flex;
  align-items:center;
  gap:14px;
}
.tepco-brand-name{
  display:grid;
  gap:1px;
  padding-left:14px;
  border-left:2px solid rgba(244,118,0,.82);
  color:#fff;
  line-height:1.05;
}
.tepco-brand-name strong{
  color:#ff8a12;
  font-size:18px;
  font-weight:950;
  letter-spacing:.13em;
}
.tepco-brand-name small{
  color:rgba(255,255,255,.70);
  font-size:9px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
body:not(.logged-in) .site-background-brand{
  inset:0;
  opacity:.38;
}

/* Translucent dashboard surfaces keep the TEPCO watermark visible. */
body.logged-in #dashboardPage .group-dashboard{
  border-color:rgba(255,255,255,.58);
  background:rgba(247,245,241,.76);
  box-shadow:0 20px 48px rgba(0,0,0,.22);
  backdrop-filter:none;
}
body.logged-in #dashboardPage .group-dashboard::before{
  z-index:0;
  opacity:.16;
}
body.logged-in #dashboardPage .project-card{
  border-color:rgba(255,255,255,.76);
  background:linear-gradient(135deg,rgba(255,255,255,.60),rgba(249,246,241,.48));
  box-shadow:0 10px 26px rgba(25,28,32,.15);
  backdrop-filter:none;
}
body.logged-in #dashboardPage .project-card:hover{
  border-color:rgba(244,118,0,.68);
  background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(255,242,228,.60));
}
@media(max-width:700px){
  .tepco-brand-name{display:none}
  .site-background-brand strong{font-size:24vw}
  .site-background-brand span{max-width:88vw;letter-spacing:.24em}
}
@media print{
  .site-background-brand{display:none!important}
  body{background:#fff!important}
}
