:root{--primary:#002050;--primary-hover:#0a2f63;--primary-soft:#eaf0f8;--focus:0 0 0 3px rgba(0,32,80,.12)}
button,input,select,textarea{font:inherit}
button{border:1px solid transparent;border-radius:9px;min-height:38px;padding:9px 14px;cursor:pointer;font-weight:650;transition:.15s}
button.primary{background:var(--primary);color:#fff;border-color:var(--primary)}
button.primary:hover{background:var(--primary-hover)}
button:not(.primary){background:#fff;color:#31455f;border-color:var(--line)}
button:not(.primary):hover{background:#f6f8fb;border-color:#c7d2df}
input,select,textarea{border:1px solid var(--line);background:#fff;color:#172235;border-radius:9px;min-height:38px;padding:9px 11px;outline:none}
input:focus,select:focus,textarea:focus{border-color:#738dab;box-shadow:var(--focus)}
input[type="checkbox"]{min-height:auto;width:16px;height:16px;accent-color:var(--primary)}
input[type="color"]{padding:3px;width:46px;min-width:46px}
.login-logo{margin:0 auto}
.chart-pref-row{display:grid;grid-template-columns:minmax(180px,1.2fr) 70px 105px 70px 85px 80px 80px 80px;gap:8px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line)}
.chart-pref-row.header{background:#f8fafc;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}
.chart-pref-row .name{font-weight:650}.view-tabs{display:flex;gap:8px;flex-wrap:wrap}.view-chip{background:var(--primary-soft)!important;color:#23415f!important}

.chart-mode-panel{margin-bottom:13px}.chart-mode-controls{padding:12px 15px 15px}.chart-mode-switch{display:flex;gap:8px;flex-wrap:wrap}.compare-controls{display:grid;grid-template-columns:minmax(190px,280px) minmax(280px,1fr) auto;gap:14px;align-items:end;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.compare-controls>label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#44566c}.compare-stations{min-width:0}.compare-label{display:block;margin-bottom:6px;font-size:12px;font-weight:700;color:#44566c}.compare-station-list{display:flex;gap:7px;flex-wrap:wrap}.compare-station-item{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:13px;cursor:pointer}.compare-station-item:has(input:checked){border-color:#9aabc0;background:var(--primary-soft);color:var(--primary)}.compare-station-item input{margin:0}.compare-actions{display:flex;gap:7px}.history-note{margin:0 15px 15px;padding:10px 12px;border-radius:8px;background:#f8fafc;border:1px solid var(--line);color:var(--muted);font-size:12px}@media(max-width:900px){.compare-controls{grid-template-columns:1fr}.compare-actions{justify-content:flex-start}}

.graph-export-actions{display:flex;gap:7px;align-items:center}.graph-export-actions button{min-width:58px}.graph-export-actions button:before{font-weight:700}.graph-export-actions button:hover{border-color:#9aabc0;background:var(--primary-soft);color:var(--primary)}
@media(max-width:600px){.graph-export-actions{width:100%;margin-top:8px}.graph-export-actions button{flex:1}}

.wind-controls{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.wind-parameter-info{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.wind-parameter-info span{font-size:12px;color:var(--muted)}
.wind-rose-wrap{padding:15px;display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:16px;align-items:center}
.wind-rose-wrap canvas{width:100%;height:auto;max-height:620px}.wind-stats{display:grid;gap:9px}
.wind-stats>div{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff}.wind-stats span{display:block;color:var(--muted);font-size:11px}.wind-stats b{display:block;margin-top:3px;color:var(--primary);font-size:15px}
.report-builder{padding-bottom:16px}.report-form{padding:15px;display:grid;grid-template-columns:180px 180px 1fr;gap:12px;align-items:end}.report-form>label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#44566c}.report-form input{padding:9px;border:1px solid var(--line);border-radius:8px}
.report-quick{display:flex;gap:7px;flex-wrap:wrap}.report-param-head{padding:4px 15px 10px;display:flex;justify-content:space-between;align-items:center}.report-param-head>div{display:flex;gap:7px}
.report-param-grid{padding:0 15px 15px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.report-param-grid label{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:9px;padding:9px 10px;background:#fff;font-size:13px}
.report-options{padding:12px 15px;border-top:1px solid var(--line);display:flex;gap:20px;flex-wrap:wrap}.report-submit{padding:10px 15px 0;display:flex;gap:12px;align-items:center}.report-submit span{font-size:12px;color:var(--muted)}
@media(max-width:900px){.wind-rose-wrap{grid-template-columns:1fr}.wind-stats{grid-template-columns:repeat(2,1fr)}.report-form{grid-template-columns:1fr 1fr}.report-quick{grid-column:1/-1}.report-param-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.report-form,.report-param-grid{grid-template-columns:1fr}.wind-stats{grid-template-columns:1fr}}

/* Wind rose */
.wind-rose-wrap canvas{width:min(100%,700px);height:auto;aspect-ratio:1/1;max-height:none;margin:auto}
.wind-speed-legend{padding-top:9px!important}.wind-speed-legend>span{display:block;margin-bottom:7px}
.wind-speed-legend i{display:flex;align-items:center;gap:7px;font-style:normal;font-size:11px;margin:4px 0}.wind-speed-legend em{width:16px;height:10px;border-radius:2px;display:inline-block}

/* Professional rasterized A4 report pages; browser rendering preserves č/š/ž. */
.report-pdf-root{font-family:Arial,"Noto Sans",sans-serif;color:#172033}
.report-pdf-page{width:794px;height:1123px;background:#fff;position:relative;box-sizing:border-box;overflow:hidden;padding:0 58px 52px}
.report-pdf-top{height:10px;background:#002050;margin:0 -58px 24px}
.report-pdf-page>header{height:72px;border-bottom:1px solid #dce4ed;display:flex;align-items:flex-start;gap:18px}
.report-pdf-page>header img{width:126px;height:44px;object-fit:contain;object-position:left top}
.report-pdf-page>header div{margin-left:auto;text-align:right;display:grid;gap:2px}.report-pdf-page>header span{font-size:10px;letter-spacing:.12em;color:#6e7e91;font-weight:700}.report-pdf-page>header b{font-size:20px;color:#002050}.report-pdf-page>header small{font-size:10px;color:#7b8798}
.report-pdf-page>footer{position:absolute;left:58px;right:58px;bottom:22px;border-top:1px solid #e1e7ee;padding-top:9px;display:flex;justify-content:space-between;color:#7d8998;font-size:9px}
.report-pdf-content{padding-top:24px}
.report-cover{padding-top:34px}.report-cover-brand{display:none}.report-cover-main{padding:70px 0 54px;border-bottom:1px solid #dce4ed}.report-cover-main small{font-size:11px;letter-spacing:.15em;color:#708195;font-weight:800}.report-cover-main h1{font-size:35px;line-height:1.1;color:#002050;margin:14px 0 9px}.report-cover-main p{font-size:15px;color:#617185;margin:0}.report-period{margin-top:32px;display:inline-block;background:#f0f4f8;border-left:5px solid #002050;padding:14px 18px;font-size:19px;font-weight:700}
.report-cover-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:38px}.report-cover-meta div,.report-summary-cards div{background:#f7f9fc;border:1px solid #dce4ed;border-radius:9px;padding:14px}.report-cover-meta span,.report-summary-cards span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#7a8999}.report-cover-meta b,.report-summary-cards b{display:block;margin-top:5px;font-size:13px;color:#20354c}
.report-summary-cards{display:grid;grid-template-columns:1.2fr 1fr .6fr;gap:12px;margin-bottom:22px}
.report-summary-table{width:100%;border-collapse:collapse;font-size:10px}.report-summary-table th{text-align:left;color:#607286;background:#f1f5f9;padding:9px 8px;border-bottom:1px solid #d7e1eb}.report-summary-table td{padding:9px 8px;border-bottom:1px solid #e5eaf0;vertical-align:top}.report-summary-table td:first-child{width:37%}.report-summary-table td small{display:block;color:#8995a3;font-size:8px;margin-top:2px}.report-note{font-size:9px;color:#738295;margin-top:16px;line-height:1.45}
.report-chart-block{border:1px solid #dce4ed;border-radius:10px;padding:14px;margin-bottom:18px;break-inside:avoid}.report-chart-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.report-chart-head div{display:grid}.report-chart-head b{font-size:14px;color:#20354c}.report-chart-head small{font-size:9px;color:#7c8998}.report-chart-head>span{font-size:10px;color:#66778a}.report-chart-block>img{width:100%;height:238px;object-fit:contain}.report-chart-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:7px}.report-chart-stats span{background:#f7f9fb;border-radius:6px;padding:7px;font-size:8px;color:#748396}.report-chart-stats b{display:block;color:#20354c;font-size:10px;margin-top:2px}
.report-wind-page{text-align:center}.report-wind-page>img{width:610px;height:610px;object-fit:contain}.report-wind-page p{font-size:10px;color:#68788a}


/* Phase 2.1: wind sensor selector */
.wind-controls{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.wind-sensor-select{display:flex;flex-direction:column;gap:6px;min-width:240px;font-size:12px;font-weight:700;color:#44566c}
.wind-sensor-select select{background:#fff;border:1px solid var(--line);border-radius:8px;padding:9px 10px;color:#172033}
.wind-parameter-info{display:flex;flex-direction:column;gap:3px}.wind-parameter-info b{color:#20354c}.wind-parameter-info span{font-size:11px;color:var(--muted)}

/* Wind rose - keep plot geometry independent of neighbouring statistics. */
.wind-rose-wrap{grid-template-columns:minmax(420px,700px) minmax(210px,260px);justify-content:center;align-items:center}
.wind-rose-wrap canvas{display:block;width:min(100%,700px);height:auto;aspect-ratio:1/1}
.wind-stats{align-content:center}.wind-speed-legend{border-top:1px solid var(--line);margin-top:3px}
@media(max-width:900px){.wind-rose-wrap{grid-template-columns:1fr}.wind-rose-wrap canvas{max-width:680px}.wind-sensor-select{min-width:200px}}

/* PDF report 2.1 - strict A4 print-safe geometry */
.report-pdf-root{font-family:Arial,"Helvetica Neue",sans-serif;color:#1c2b3a;text-align:left}
.report-pdf-page{width:794px;height:1123px;background:#fff;position:relative;box-sizing:border-box;overflow:hidden;padding:0 48px 48px;text-align:left}
.report-pdf-top{height:8px;background:#002050;margin:0 -48px 18px}
.report-pdf-page>header{height:68px;border-bottom:1px solid #dbe3ec;display:flex;align-items:center;gap:18px;text-align:left}
.report-logo{width:132px;height:44px;display:flex;align-items:center;justify-content:flex-start;overflow:hidden;flex:0 0 132px}
.report-logo svg{display:block;width:128px!important;height:42px!important;max-width:128px;max-height:42px}
.report-head-copy{display:flex!important;flex-direction:column;gap:2px;margin:0!important;text-align:left!important;min-width:0}
.report-head-copy span{font-size:8px!important;letter-spacing:.13em;color:#748397;font-weight:800}
.report-head-copy b{font-size:17px!important;line-height:1.15;color:#002050}
.report-head-copy small{font-size:9px!important;color:#778698;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:510px}
.report-pdf-page>footer{position:absolute;left:48px;right:48px;bottom:18px;border-top:1px solid #e1e7ee;padding-top:7px;display:flex;justify-content:space-between;color:#788696;font-size:8px}
.report-pdf-content{padding-top:18px;text-align:left}

/* Cover */
.report-cover{padding-top:26px}
.report-cover-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(260px,.92fr);gap:28px;align-items:start}
.report-cover-copy>small{display:block;font-size:9px;letter-spacing:.14em;font-weight:800;color:#6f8093;margin-bottom:9px}
.report-cover-copy h1{font-size:29px;line-height:1.08;color:#002050;margin:0 0 14px;font-weight:750}
.report-period{display:inline-block;border-left:4px solid #002050;background:#f3f6fa;padding:10px 12px;font-size:13px;font-weight:700;color:#26394e;margin:0 0 22px}
.report-station-meta{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.report-station-meta div{border:1px solid #dde5ed;border-radius:7px;padding:9px 10px;background:#fafbfd;min-height:44px}
.report-station-meta span{display:block;font-size:7px;text-transform:uppercase;letter-spacing:.07em;color:#7a8998}
.report-station-meta b{display:block;font-size:10px;color:#26394e;margin-top:4px;line-height:1.25}
.report-time-note{font-size:8px;color:#7b8998;margin:14px 0 0}
.report-map-card{border:1px solid #d9e2eb;border-radius:9px;background:#f5f7fa;overflow:hidden}
.report-map-card>img{display:block;width:100%;height:214px;object-fit:cover}
.report-map-card>div:not(.report-map-fallback){display:flex;justify-content:space-between;align-items:center;padding:9px 11px;gap:8px}
.report-map-card b{font-size:9px;color:#26394e}.report-map-card span{font-size:8px;color:#718094}
.report-map-fallback{height:214px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:18px;box-sizing:border-box}

/* Summary */
.report-summary-strip{display:grid;grid-template-columns:1.25fr 1fr .5fr;gap:9px;margin-bottom:14px}
.report-summary-strip div{border:1px solid #dde5ed;border-radius:7px;padding:9px 10px;background:#f8fafc}
.report-summary-strip span{display:block;font-size:7px;text-transform:uppercase;letter-spacing:.07em;color:#7a8998}
.report-summary-strip b{display:block;margin-top:3px;font-size:9px;color:#26394e;line-height:1.25}
.report-summary-table{width:100%;border-collapse:collapse;font-size:8px;table-layout:fixed}
.report-summary-table th{text-align:left;color:#5d6d80;background:#f1f5f8;padding:7px 6px;border-bottom:1px solid #d4dee8;font-weight:700}
.report-summary-table td{padding:7px 6px;border-bottom:1px solid #e5eaf0;vertical-align:top;text-align:left;overflow-wrap:anywhere}
.report-summary-table th:nth-child(1){width:25%}.report-summary-table th:nth-child(2){width:15%}.report-summary-table th:nth-child(3),.report-summary-table th:nth-child(4){width:13%}.report-summary-table th:nth-child(5){width:7%}.report-summary-table th:nth-child(6){width:27%}
.report-summary-table td b{font-size:8px;color:#26394e}.report-summary-table td small{display:block;color:#8895a3;font-size:6.7px;margin-top:2px}
.report-note{font-size:7.5px;color:#748396;margin-top:11px;line-height:1.4}

/* Charts - exactly fit two blocks within printable A4 body */
.report-chart-page{padding-top:15px}
.report-chart-block{border:1px solid #dbe3eb;border-radius:8px;padding:11px 12px 10px;margin-bottom:13px;height:390px;box-sizing:border-box;break-inside:avoid;overflow:hidden}
.report-chart-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:5px;text-align:left}
.report-chart-head>div{display:flex;flex-direction:column;gap:1px}.report-chart-head b{font-size:12px;color:#23384e}.report-chart-head small{font-size:7.5px;color:#788797}
.report-chart-head>span{font-size:8px;color:#69798b;white-space:nowrap}.report-chart-head strong{font-size:9px;color:#002050}
.report-chart-block>img{display:block;width:100%;height:277px;object-fit:contain}
.report-chart-stats{display:grid;grid-template-columns:.8fr .8fr .65fr 1.35fr;gap:6px;margin-top:5px}
.report-chart-stats span{background:#f6f8fb;border-radius:5px;padding:6px 7px;font-size:6.8px;color:#778697;line-height:1.15}
.report-chart-stats b{display:block;color:#273b50;font-size:8px;margin-top:2px}

/* Wind report */
.report-wind-title{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid #e0e6ed;padding-bottom:8px;margin-bottom:10px}
.report-wind-title b{font-size:13px;color:#24384d}.report-wind-title span{font-size:8px;color:#758497}
.report-wind-layout{display:grid;grid-template-columns:500px 1fr;gap:18px;align-items:center}
.report-wind-layout>img{display:block;width:500px;height:500px;object-fit:contain}
.report-wind-side{display:flex;flex-direction:column;gap:10px;align-self:stretch;justify-content:center}
.report-wind-stats{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.report-wind-stats div{border:1px solid #dde5ed;border-radius:6px;background:#f8fafc;padding:8px}
.report-wind-stats span{display:block;font-size:6.8px;color:#7b8998}.report-wind-stats b{display:block;margin-top:3px;font-size:9px;color:#26394e}
.report-wind-side .wind-speed-legend{border:1px solid #dde5ed;border-radius:6px;padding:9px;margin:0}
.report-wind-side .wind-speed-legend>span{font-size:8px;font-weight:700;color:#536579}
.report-wind-side .wind-speed-legend i{font-size:7.5px;margin:4px 0}.report-wind-side .wind-speed-legend em{width:18px;height:8px}
.report-wind-side p{font-size:7.5px;color:#748396;line-height:1.4;margin:0}

/* Production report layout refresh */
.report-pdf-page>header{justify-content:space-between;align-items:center}
.report-head-copy{order:1;flex:1;align-items:flex-start;text-align:left!important;margin:0!important}
.report-logo{order:2;margin-left:auto;justify-content:flex-end;flex:0 0 142px}
.report-logo svg{margin-left:auto}

/* Cover metadata is intentionally typographic, not card-based. */
.report-station-meta{display:grid;grid-template-columns:1fr;gap:0;margin-top:4px;border-top:1px solid #dfe6ee}
.report-station-meta div{display:grid;grid-template-columns:138px 1fr;gap:14px;align-items:baseline;border:0;border-bottom:1px solid #edf1f5;border-radius:0;background:transparent;padding:8px 0;min-height:0}
.report-station-meta span{font-size:7.5px;text-transform:uppercase;letter-spacing:.075em;color:#7a8998;font-weight:700}
.report-station-meta b{font-size:10px;color:#26394e;margin:0;line-height:1.3;font-weight:700}
.report-cover-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.92fr);gap:34px}
.report-map-card{border:1px solid #d9e2eb;border-radius:7px;background:#f5f7fa;overflow:hidden;box-shadow:none}
.report-map-card>img{width:100%;height:250px;object-fit:cover;image-rendering:auto}
.report-map-card>div:not(.report-map-fallback){padding:10px 12px;background:#fff}

/* Summary: availability carries count/expected count as its secondary line. */
.report-summary-table th:nth-child(1){width:23%}
.report-summary-table th:nth-child(2){width:14%}
.report-summary-table th:nth-child(3),.report-summary-table th:nth-child(4){width:17%}
.report-summary-table th:nth-child(5){width:15%}
.report-summary-table th:nth-child(6){width:14%}
.report-summary-table td small{line-height:1.25}

.report-daily-table,.report-measurement-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:8px}
.report-daily-table th,.report-measurement-table th{text-align:left;color:#5d6d80;background:#f1f5f8;padding:7px 6px;border-bottom:1px solid #d4dee8;font-weight:700}
.report-daily-table td,.report-measurement-table td{padding:7px 6px;border-bottom:1px solid #e5eaf0;color:#26394e;vertical-align:top;overflow-wrap:anywhere}
.report-daily-table th:nth-child(1){width:17%}.report-daily-table th:nth-child(2){width:20%}.report-daily-table th:nth-child(3),.report-daily-table th:nth-child(4){width:18%}.report-daily-table th:nth-child(5){width:9%}.report-daily-table th:nth-child(6){width:18%}
.report-measurement-table th:nth-child(1){width:26%}.report-measurement-table th:nth-child(2){width:34%}.report-measurement-table th:nth-child(3){width:28%}.report-measurement-table th:nth-child(4){width:12%}
