.panel{margin-bottom:18px;padding:26px;background:var(--hydro-surface);border:1px solid var(--hydro-line);border-radius:var(--hydro-radius)}.section-heading{display:flex;align-items:center;gap:12px;margin-bottom:20px}.section-heading>span{padding:6px 8px;color:var(--hydro-accent);background:var(--hydro-soft);border-radius:6px;font-size:.82rem}.section-heading h2{margin:0;font-size:1.22rem;font-weight:600}.note{margin:0 0 18px;padding:13px 15px;color:var(--hydro-muted);background:var(--hydro-soft);border-left:4px solid var(--hydro-accent);border-radius:6px}.primary{min-height:44px;padding:9px 15px;color:#fff;background:var(--hydro-button);border:0;border-radius:7px;font-weight:700}
.metadata-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}.metadata-grid label{display:grid;gap:6px;color:var(--hydro-muted);font-size:.88rem;font-weight:700}.metadata-grid input{width:100%;min-height:44px;padding:8px 10px;color:var(--hydro-text);background:var(--hydro-surface);border:1px solid var(--hydro-line);border-radius:6px;font-size:max(16px,1rem);font-weight:400}.logo-picker{display:grid;grid-template-columns:180px 1fr;gap:20px;align-items:center;margin-top:22px;padding-top:20px;border-top:1px solid var(--hydro-line)}.logo-preview{display:grid;place-items:center;height:92px;padding:10px;color:var(--hydro-muted);background:var(--hydro-soft);border:1px dashed var(--hydro-line);border-radius:8px;text-align:center}.logo-preview img{max-width:100%;max-height:70px}.logo-picker p{margin:5px 0 12px;color:var(--hydro-muted);font-size:.9rem}.logo-actions{display:flex;flex-wrap:wrap;gap:8px}.logo-actions button{min-height:44px;padding:8px 14px;border:1px solid var(--hydro-line);border-radius:7px}.logo-actions button:disabled{opacity:.55}
.table-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:15px}.table-actions span{color:var(--hydro-muted);font-size:.9rem}.table-wrap{max-width:100%;overflow-x:auto;border:1px solid var(--hydro-line);border-radius:8px}table{width:100%;min-width:690px;border-collapse:collapse}th,td{padding:9px 10px;border-right:1px solid var(--hydro-line);border-bottom:1px solid var(--hydro-line);text-align:center;vertical-align:middle}th:last-child,td:last-child{border-right:0}tbody tr:last-child td,tfoot tr:last-child>*{border-bottom:0}thead th{color:light-dark(#fff,#f5fbfc);background:light-dark(var(--hydro-navy),#254b5c);font-size:.88rem}tfoot th,tfoot td{background:var(--hydro-soft);font-weight:700}.number{text-align:right;font-variant-numeric:tabular-nums}.sieve-input,.mass-input{width:100%;min-width:112px;min-height:44px;padding:8px 10px;color:var(--hydro-text);background:var(--hydro-surface);border:1px solid var(--hydro-line);border-radius:6px;font-size:max(16px,1rem);text-align:right}.mass-input{background:light-dark(#fff9d7,#3d3822)}.remove-button{min-height:44px;padding:7px 10px;color:var(--hydro-danger);background:transparent;border:1px solid color-mix(in srgb,var(--hydro-danger) 45%,var(--hydro-line));border-radius:6px;font-weight:700}.status{min-height:1.5em;margin:12px 0 0;color:var(--hydro-accent)}.status.error{color:var(--hydro-danger)}
.result-layout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.result-group{padding:16px;background:var(--hydro-soft);border-radius:8px}.result-group h3{margin:0 0 10px;font-size:1rem}.result-group dl{margin:0}.result-group dl div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--hydro-line)}.result-group dl div:last-child{border-bottom:0}.result-group dt{color:var(--hydro-muted)}.result-group dd{margin:0;font-variant-numeric:tabular-nums;font-weight:700;text-align:right}.chart-wrap{position:relative;min-height:520px;overflow:hidden}.chart-wrap canvas{width:100%!important;height:520px!important}.fraction-note{margin:10px 0 0;color:var(--hydro-muted);font-size:.84rem}
.classification-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;max-width:760px}.classification-inputs label{display:grid;gap:6px;color:var(--hydro-muted);font-size:.88rem;font-weight:700}.classification-inputs input{width:100%;min-height:44px;padding:8px 10px;color:var(--hydro-text);background:var(--hydro-surface);border:1px solid var(--hydro-line);border-radius:6px;font-size:max(16px,1rem);font-weight:400}.secondary-action{min-height:44px;margin-top:10px;padding:8px 14px;color:var(--hydro-accent);background:var(--hydro-surface);border:1px solid var(--hydro-accent);border-radius:7px;font-weight:700}.classification-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px}.classification-card{min-width:0;margin:0;padding:16px;background:light-dark(#fff,#f8fbfc);border:1px solid var(--hydro-line);border-radius:8px;color:#17313c}.classification-card figcaption{display:grid;gap:3px;min-height:3.4em;margin-bottom:10px}.classification-card figcaption strong{color:#123f5c;font-size:1rem}.classification-card figcaption span{color:#5a6b72;font-size:.78rem}.classification-card>p{min-height:2.6em;margin:10px 0 0;color:#435b64;font-size:.82rem}.diagram-canvas{position:relative;width:100%;overflow:visible;background:#fff}.diagram-canvas>[data-diagram-vector],.classification-svg{display:block;width:100%;height:auto}.diagram-marker{position:absolute;z-index:3;width:16px;height:16px;transform:translate(-50%,-50%) rotate(45deg);background:#1167a8;border:2px solid #fff;box-shadow:0 0 0 2px #074d82,0 1px 5px #0007}.diagram-marker>[data-marker-label]{position:absolute;left:18px;top:-14px;min-width:max-content;padding:2px 5px;color:#073957;background:rgb(255 255 255/.9);border:1px solid #8bb8d2;border-radius:3px;font-size:.72rem;font-weight:800;line-height:1.2;transform:rotate(-45deg)}.diagram-marker.label-left>[data-marker-label]{right:18px;left:auto;transform:rotate(-45deg) translateX(-100%);transform-origin:right center}.diagram-marker.label-below>[data-marker-label]{top:18px}.diagram-marker.label-above>[data-marker-label]{top:-38px}.diagram-empty{position:absolute;right:8%;bottom:8%;max-width:60%;padding:5px 8px;color:#5b6970;background:rgb(255 255 255/.92);border:1px dashed #9aa8ae;border-radius:4px;font-size:.72rem;text-align:center}.diagram-legend{display:flex;align-items:center;gap:7px;margin-top:6px;color:#435b64;font-size:.76rem}.diagram-legend>span:first-child{width:11px;height:11px;background:#1167a8;border:1px solid #074d82;transform:rotate(45deg)}
.print-report{display:none}
@media(max-width:800px){.result-layout,.metadata-grid,.classification-grid{grid-template-columns:1fr}}
@media(max-width:700px){.panel{padding:20px 14px}.chart-wrap{min-height:400px}.chart-wrap canvas{height:400px!important}.logo-picker,.classification-inputs{grid-template-columns:1fr}.logo-preview{width:min(100%,260px)}.classification-card{padding:10px}.classification-card figcaption{min-height:0}}
@media(max-width:420px){.panel{padding-inline:10px}.chart-wrap{min-height:360px}.chart-wrap canvas{height:360px!important}}
@media print{@page{size:A4 portrait;margin:8mm}.print-report{display:block;color:#000;font-family:Arial,sans-serif;font-size:7pt;line-height:1.18}.hydro-report-page{min-height:0}.report-header{display:grid;grid-template-columns:62mm 1fr;align-items:center;min-height:20mm;border-bottom:1.4px solid #174769}.report-header h1{margin:0 0 1mm;color:#174769;font-size:16pt;text-align:right}.report-header p{margin:0;text-align:right}.report-purpose{color:#374d56;font-size:7pt}.report-logo{display:grid;place-items:center;width:58mm;height:17mm;color:#777;border:1px dashed #aaa}.report-logo img{max-width:56mm;max-height:15mm}.report-metadata{display:grid;grid-template-columns:repeat(2,1fr);border-right:1px solid #777;border-bottom:1px solid #777}.report-metadata div{display:grid;grid-template-columns:auto 1fr;gap:2mm;padding:1.2mm 2mm;border-top:1px solid #777;border-left:1px solid #777}.report-metadata strong{white-space:nowrap}.report-columns{display:grid;grid-template-columns:minmax(0,58fr) minmax(0,42fr);gap:2.5mm;margin-top:2.5mm}.report-columns h2,.report-chart h2{margin:0 0 1.2mm;color:#174769;font-size:8.5pt}.report-table{min-width:0;font-size:6.5pt}.report-table th,.report-table td{padding:.75mm 1mm;border:1px solid #777}.report-table thead th{color:#fff;background:#174769}.report-table tfoot th,.report-table tfoot td{background:#e8eef1}.report-results{display:grid;grid-template-columns:1fr;margin:0;border-top:1px solid #777;border-left:1px solid #777}.report-results div{display:flex;justify-content:space-between;gap:1.5mm;padding:1mm 1.3mm;border-right:1px solid #777;border-bottom:1px solid #777}.report-results dd{margin:0;font-weight:700}.report-chart{margin-top:2.5mm;break-inside:avoid}.report-chart img{display:block;width:100%;height:84mm;object-fit:contain;border:1px solid #777}.report-chart img[hidden]{display:none}.report-method-summary,.report-sources{margin:1.5mm 0 0;color:#374d56;font-size:6.5pt}.report-content-footer{display:flex;justify-content:space-between;margin-top:1.5mm;padding-top:1.5mm;border-top:1px solid #777}.hydro-report-technical-footer{margin-top:1.5mm;padding-top:1mm;color:#536971;border-top:.3mm solid #c8d5d9;font-size:8pt;text-align:center}.report-classification-page{break-before:page;page-break-before:always;padding-top:1mm}.report-page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:8mm;padding-bottom:2mm;border-bottom:1.4px solid #174769}.report-page-heading h1{margin:0 0 1mm;color:#174769;font-size:15pt}.report-page-heading p,.report-method-note{margin:0}.report-method-note{padding:2mm 0;color:#374d56}.report-classification-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5mm 4mm;margin-top:0}.report-classification-grid .classification-card{width:77mm;justify-self:center;padding:1mm;border:0;border-radius:0;break-inside:avoid}.report-classification-grid .classification-card:nth-child(3),.report-classification-grid .classification-card:nth-child(4){grid-column:1/-1;width:65mm}.report-classification-grid .classification-card figcaption{min-height:6mm;margin-bottom:0;text-align:center}.report-classification-grid .classification-card figcaption strong{font-size:7pt}.report-classification-grid .classification-card figcaption span,.report-classification-grid .classification-card>p,.report-classification-grid .diagram-legend{display:none}.report-classification-grid .diagram-marker{width:9px;height:9px;border-width:1px;box-shadow:0 0 0 1px #074d82}.report-classification-grid .diagram-marker>[data-marker-label]{left:12px;top:-10px;padding:1px 2px;font-size:5pt}.report-classification-grid .diagram-marker.label-left>[data-marker-label]{right:12px;left:auto}.report-classification-grid .diagram-marker.label-below>[data-marker-label]{top:12px}.report-classification-grid .diagram-empty{font-size:5pt}.report-classification-grid .classification-svg .scale{font-size:21px}.report-classification-grid .classification-svg .axis{font-size:27px}.report-classification-grid .classification-svg .field{font-size:31px}.report-classification-grid .classification-svg .field-small{font-size:22px}.report-classification-grid .classification-svg .field-tiny{font-size:16px}.hydro-report-branding{margin-top:1.5mm;padding-top:2mm;color:#17313c;border-top:.3mm solid #9eb7c2;font-size:8.5pt;text-align:center;break-inside:avoid}.hydro-report-branding p{margin:.6mm 0}.hydro-report-branding strong{display:block;margin:.8mm 0;font-size:10pt}.report-branding-logos{display:flex;align-items:center;justify-content:space-between;margin-bottom:1mm}.report-branding-geaqua{width:auto;height:9mm}.report-branding-shp{width:auto;height:7mm}}
