:root{color:#f0f1f5;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#15171d;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}.admin-page{box-sizing:border-box;text-align:left;width:100%;max-width:1400px;margin:0 auto;padding:24px}.admin-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.admin-header h1{margin:0 0 8px;font-size:clamp(2rem,5vw,3rem)}.admin-header p{color:#aeb4c2;margin:0}.admin-panel{background:#1d1f27;border:1px solid #383c48;border-radius:12px;margin-bottom:24px;padding:20px}.admin-panel h2{margin-top:0;font-size:1.35rem}.admin-panel h3{margin-top:0}.admin-form{border:1px solid #383c48;border-radius:8px;flex-direction:column;gap:9px;margin-bottom:24px;padding:16px;display:flex}.admin-form input:not([type=color]),.admin-form select,.api-key-panel textarea{box-sizing:border-box;color:#f0f1f5;background:#15171d;border:1px solid #515666;border-radius:7px;width:100%;min-height:40px;padding:9px}.admin-form input[type=color]{background:#15171d;border:1px solid #515666;border-radius:7px;width:64px;height:40px;padding:3px}.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.admin-form-grid>div{flex-direction:column;gap:7px;display:flex}.admin-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.danger-button{border-color:#88444b}.danger-button:hover{background:#512a30}.admin-table-container{width:100%;overflow-x:auto}.admin-table-container table{border-collapse:collapse;white-space:nowrap;width:100%}.admin-table-container th,.admin-table-container td{text-align:left;border-bottom:1px solid #383c48;padding:11px 12px}.admin-table-container th{color:#c3c9d6;font-size:.9rem}.admin-series-name{align-items:center;gap:9px;display:inline-flex}.admin-color-swatch{border-radius:50%;flex:0 0 12px;width:12px;height:12px}.admin-message{overflow-wrap:anywhere;border-radius:7px;margin-bottom:16px;padding:12px 16px}.admin-error{color:#fecaca;background:#351e25;border-left:4px solid #f87171}.admin-notice{color:#c6f6d5;background:#1e332b;border-left:4px solid #6ba987}.api-key-panel textarea{overflow-wrap:anywhere;resize:vertical;min-height:80px;margin:8px 0 12px;display:block}@media (width<=600px){.admin-page,.admin-panel{padding:14px}.admin-form{padding:12px}.admin-form-grid{grid-template-columns:minmax(0,1fr)}}@media print{.admin-page{display:none!important}}.measurements-page{box-sizing:border-box;text-align:left;width:100%;max-width:1400px;margin:0 auto;padding:24px}.page-header{margin-bottom:24px}.page-header h1{margin:0 0 8px;font-size:clamp(2rem,5vw,3rem)}.page-header p,.chart-note{color:#aeb4c2}.panel{background:#1d1f27;border:1px solid #383c48;border-radius:12px;margin-bottom:24px;padding:20px}.panel h2{margin-top:0;font-size:1.25rem}.series-options{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.series-option{cursor:pointer;border:1px solid #383c48;border-radius:8px;align-items:center;gap:10px;min-height:42px;padding:8px 12px;display:flex}.series-option input{accent-color:#8ab4f8;width:18px;height:18px}.series-color{border-radius:50%;flex:0 0 10px;width:10px;height:10px;display:inline-block}.series-actions,.filter-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}button{color:inherit;cursor:pointer;background:#2a2e39;border:1px solid #515666;border-radius:7px;padding:9px 13px}button:hover{background:#383e4c}button:focus-visible,input:focus-visible{outline-offset:2px;outline:2px solid #8ab4f8}.time-filters{flex-wrap:wrap;align-items:end;gap:16px;display:flex}.time-filters label{flex-direction:column;gap:7px;min-width:220px;display:flex}.time-filters input{box-sizing:border-box;width:100%;min-height:40px;color:inherit;background:#15171d;border:1px solid #515666;border-radius:7px;padding:8px}.filter-actions{margin-top:0}.error-message{color:#fecaca;background:#351e25;border-left:4px solid #f87171;padding:12px 16px}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.section-heading h2{margin-bottom:8px}.section-heading>span{color:#aeb4c2;font-size:.9rem}.chart-note{margin-top:0;font-size:.9rem}.chart-container{width:100%;height:390px}.table-container{width:100%;overflow-x:auto}table{border-collapse:collapse;white-space:nowrap;width:100%}th,td{text-align:left;border-bottom:1px solid #383c48;padding:12px 14px}th{color:#c3c9d6;font-size:.9rem;font-weight:600}tbody tr{cursor:pointer}tbody tr:hover{background:#282c36}tbody tr.selected-measurement{background:#263b55}.table-series{align-items:center;gap:9px;display:inline-flex}@media (width<=600px){.measurements-page,.panel{padding:14px}.time-filters,.time-filters label{width:100%;min-width:0}.filter-actions button{flex:1}.chart-container{height:320px}}.series-option-disabled{opacity:.5;cursor:not-allowed}.series-option-disabled input{cursor:not-allowed}.series-option-label{flex-direction:column;gap:3px;display:flex}.series-disabled-reason{color:#f0a5a5;font-size:.8rem}.chart-display-options{margin:14px 0 8px}.chart-mode-toggle{cursor:pointer;align-items:center;gap:9px;min-height:32px;display:inline-flex}.chart-mode-toggle input{accent-color:#8ab4f8;width:18px;height:18px}.chart-mode-toggle:focus-within{outline-offset:3px;border-radius:3px;outline:2px solid #8ab4f8}.chart-mode-description{color:#aeb4c2;margin:5px 0 0;font-size:.9rem}.chart-legend{flex-wrap:wrap;gap:12px 20px;margin:12px 0;display:flex}.chart-legend-item{align-items:center;gap:8px;display:inline-flex}.selected-point-details{overflow-wrap:anywhere;background:#1d1f27;border:1px solid #515666;border-radius:8px;flex-wrap:wrap;align-items:baseline;gap:8px 20px;margin:12px 0;padding:12px 14px;display:flex}.chart-keyboard-help{color:#aeb4c2;margin:12px 0;font-size:.9rem}.chart-container{width:100%;height:390px;position:relative}.series-range{color:#aeb4c2;font-size:.85rem}.page-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.print-summary{display:none}@page{size:A4 landscape;margin:12mm}@media print{:root,body{min-width:0;font-size:10pt;color:#111!important;background:#fff!important}#root{background:#fff!important}.measurements-page{width:100%;max-width:none;margin:0;padding:0}.no-print{display:none!important}.print-summary{color:#111;margin:0 0 12px;display:block}.print-summary p{margin:4px 0}.panel{border:1px solid #bbb;border-radius:0;margin-bottom:12px;padding:10px;color:#111!important;box-shadow:none!important;background:#fff!important}.chart-panel{break-inside:avoid;page-break-inside:avoid}.chart-container{break-inside:avoid;page-break-inside:avoid;height:320px}.chart-hover-tooltip{display:none!important}.page-header h1,.panel h2,.page-header p,.chart-note,.section-heading>span{color:#111!important}.measurement-table{border-collapse:collapse;white-space:normal;color:#111;width:100%}.measurement-table th,.measurement-table td{border-bottom:1px solid #ccc;padding:6px 8px;color:#111!important}.measurement-table th:last-child,.measurement-table td:last-child{display:none}.measurement-table thead{display:table-header-group}.measurement-table tr{break-inside:avoid;page-break-inside:avoid}svg text{fill:#111}}.chart-container:focus-visible{outline-offset:4px;outline:3px solid #8ab4f8}.chart-keyboard-help{color:#aeb4c2;font-size:.9rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.selected-point-slot{box-sizing:border-box;height:88px;margin:12px 0;overflow:auto}.selected-point-details{box-sizing:border-box;color:#f0f1f5;overflow-wrap:anywhere;background:#1d1f27;border:1px solid #515666;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));align-content:center;align-items:baseline;gap:8px 16px;width:100%;height:100%;margin:0;padding:10px 14px;display:grid}.selected-point-details>*{min-width:0}.selected-point-placeholder{box-sizing:border-box;color:#aeb4c2;border:1px dashed #515666;border-radius:8px;align-items:center;width:100%;height:100%;margin:0;padding:10px 14px;font-size:.9rem;display:flex}@media (width<=600px){.selected-point-slot{height:112px}.selected-point-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px;padding:8px 10px;font-size:.85rem}}@media print{.selected-point-slot.is-empty{display:none!important}.selected-point-slot{height:auto;overflow:visible}.selected-point-details{border:1px solid #bbb;height:auto;color:#111!important;background:#fff!important}.chart-panel{break-inside:avoid;page-break-inside:avoid;height:auto;margin-bottom:0;display:block;position:relative}.chart-container{min-height:320px;margin-bottom:16px;display:block;position:relative;height:320px!important}.table-panel{break-before:page;page-break-before:always;margin-top:0;display:block;position:relative}}.auth-toolbar{background:#1d1f27;border-bottom:1px solid #383c48;justify-content:space-between;align-items:center;gap:16px;padding:12px 24px;display:flex}.auth-status{flex-direction:column;gap:4px;display:flex}.auth-status span{color:#aeb4c2;font-size:.9rem}.auth-panel{background:#1d1f27;border:1px solid #383c48;border-radius:12px;width:min(420px,100% - 28px);margin:24px auto;padding:24px}.auth-panel h2{margin-top:0}.auth-panel form{flex-direction:column;gap:9px;display:flex}.auth-panel input{color:#f0f1f5;background:#15171d;border:1px solid #515666;border-radius:7px;width:100%;min-height:42px;padding:9px}.auth-form-actions{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}.auth-error{color:#fecaca}@media (width<=480px){.auth-toolbar{padding:12px 14px}}@media print{.no-print{display:none!important}}.auth-navigation{flex-wrap:wrap;gap:8px;display:flex}.auth-navigation button[aria-current=page]{background:#263b55;border-color:#8ab4f8}@media (width<=600px){.auth-toolbar{flex-direction:column;align-items:flex-start}.auth-navigation{width:100%}.auth-navigation button{flex:1}}.auth-notice{color:#86d6a3}.auth-panel button:disabled{cursor:not-allowed;opacity:.6}.auth-session-notice{color:#fecaca;background:#351e25;border:1px solid #f87171;border-radius:7px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:12px 24px;padding:12px 16px;display:flex}
