body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{background-color:#f4f6f8;font-family:Arial,sans-serif;min-height:100vh;padding:10px;text-align:center}.dashboard{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;margin-top:20px;max-width:1200px;padding:20px;width:100%}.gauge-panel{fill:#eee}.indicator-bar{fill:#e6d6f2;stroke:#000;stroke-width:2}.water{fill:#09f;transition:height .5s ease,y .5s ease}.tick-line{stroke:#000;stroke-width:1}.tick-label{fill:#000;font-family:sans-serif;font-size:12px}.pump{align-items:center;border-radius:50%;color:#fff;display:flex;font-weight:700;height:40px;justify-content:center;margin:auto;width:40px}.tank-body{fill:url(#silverGradient);stroke:#555;stroke-width:2}.top-band{stroke:#888;stroke-width:1}.label{fill:#4b2e2e;font-family:sans-serif;font-size:16px}.low-water{fill:red;animation:blink 1s step-start infinite;font-size:18px;font-weight:700}@keyframes blink{50%{opacity:0}}.dashboard-layout{grid-gap:20px;box-sizing:border-box;display:grid;gap:20px;grid-template-columns:1fr 1fr 1fr 1fr;padding:20px;transform:scale(1);transform-origin:top left;width:100%}.emergency-button{cursor:pointer;transition:transform .16s ease}.emergency-button.pressed .button-group{transform:scale(.88)}.bezel{fill:#f6e05e}.button{fill:#e53e3e}.ring-text{fill:#1a202c;font:700 10px sans-serif;letter-spacing:1px}.arc{fill:none;stroke:#fff;stroke-width:2;marker-end:url(#arrowhead)}.housing{fill:#d3d3d3;stroke:#555;stroke-width:2}.inner{fill:#888;stroke:#555;stroke-width:10}.pipe{fill:#ccc;stroke:#555;stroke-width:2}.flange{fill:#ccc;stroke:#333;stroke-width:2}.blades.active{animation:spin 2s linear infinite;transform-origin:130px 100px}.blades.inactive{animation:none}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.pump-label{fill:#1a202c;font:30px sans-serif}.borehole-column{align-items:center;gap:50px;left:110px;top:130px}.borehole-pump-pair{align-items:center;display:flex;flex-direction:row;gap:0}.borehole-pump-wrapper{height:100px;margin-bottom:20px;position:relative;width:220px}.borehole-pump-relative{align-items:center;display:flex;flex-direction:row;height:100%;justify-content:space-between;position:relative;width:100%}.pipe-bh1-p1,.pipe-bh2-p2,.pipe-bh3-p3{left:80px;position:absolute;top:42px;z-index:1}.pipe-p1-outlet,.pipe-p2-outlet,.pipe-p3-outlet{left:204px;position:absolute;top:21px;z-index:1}.pipe-p1-to-junction{left:252px;position:absolute;top:-460px;z-index:1}.pipe-p3-to-junction{left:252px;position:absolute;top:-508px;z-index:1}.cross-junction{left:255px;position:absolute;top:-315px;z-index:1}.elbow-p1{top:-490px}.elbow-p1,.elbow-p3{left:247px;position:absolute;z-index:1}.elbow-p3{top:-152px}.junction-pair{height:100px;margin-bottom:20px;position:relative;width:220px}.junction-relative{height:100%;width:100%}.junction-relative,.junction-wrapper{align-items:center;display:flex;flex-direction:row;justify-content:space-between;position:relative}.junction-wrapper{height:120px;margin-bottom:20px;width:220px}.main-pipe{left:283px;margin:0;padding:0;position:absolute;top:-315px;z-index:1}.borehole-column{width:600px}.reservoir-wrapper{left:505px;position:absolute;top:50px;z-index:1}.borehole-column{align-items:flex-start;display:flex;flex-direction:column;position:relative;width:700px}.booster-relative{flex-direction:row;justify-content:space-around}.booster1-wrapper{top:70px}.booster1-wrapper,.booster2-wrapper{height:100px;left:720px;position:absolute;width:100px;z-index:1}.booster2-wrapper{top:213px}.booster-relative{align-items:center;display:flex;height:100%;justify-content:center;position:relative;width:100%}.pipe-reservoir-bp1{left:695px;position:absolute;top:113px;z-index:1}.pipe-reservoir-bp2{left:695px;position:absolute;top:256px;z-index:1}.pipe-bp1-outlet,.pipe-bp2-outlet{left:83px;position:absolute;top:21px;z-index:1}.elbow-bp1{left:190px;top:21px}.elbow-bp1,.elbow-bp2{position:absolute;z-index:1}.elbow-bp2{left:191px;top:20px}.pipe-bp1-tjunction{left:925px;position:absolute;top:117px;z-index:1}.pipe-bp2-tjunction{left:925px;position:absolute;top:195px;z-index:1}.tjunction{left:910px;position:absolute;top:168px;z-index:2}.pipe-tjunction-users{left:945px;position:absolute;top:172px;z-index:1}.end-user-box{left:1090px;position:absolute;top:167px;transform:scale(.7);transform-origin:top left;z-index:2}.switch-body{background-color:#e0e0e0;border-radius:6px;box-shadow:0 0 2px #aaa;font-family:sans-serif;padding:8px;text-align:center;width:60px}.switch-label{color:#333;font-size:12px;font-weight:700;margin-bottom:6px}.switch-buttons{display:flex;gap:3px;justify-content:center}.switch-btn{background-color:#ccc;border:none;border-radius:4px;box-shadow:inset 0 0 2px #999;color:#111;cursor:pointer;font-size:10;font-weight:700;padding:1px;transition:background-color .3s ease}.switch-btn.active{background-color:#1192c5;color:#fff}.switch-pump1{top:80px}.switch-pump1,.switch-pump2{left:120px;position:absolute;z-index:3}.switch-pump2{top:250px}.switch-pump3{left:120px;position:absolute;top:420px;z-index:3}.switch-booster1{top:150px}.switch-booster1,.switch-booster2{left:740px;position:absolute;z-index:3}.switch-booster2{top:293px}.label-borehole{left:100px}.label-borehole,.label-reservoir{position:absolute;top:-80px;z-index:2}.label-reservoir{left:580px}.vertical-break-line{border-left:2px dashed #999;height:400px;left:350px;position:absolute;top:20px;width:0;z-index:1}.flowmeter-wrapper{cursor:pointer;left:680px;position:absolute;top:220px;z-index:4}.flowmeter-body{align-items:center;background-color:#e0e0e0;border-radius:50%;box-shadow:0 0 2px #999;display:flex;height:40px;justify-content:center;width:40px}.flowmeter-icon{font-size:20px}.flowmeter-industrial{cursor:pointer;left:980px;position:absolute;top:138px;z-index:4}.gauge-popup{left:-40px;position:absolute;top:-130px;z-index:5}.pressure-sensor{cursor:pointer;left:280px;position:absolute;top:158px;z-index:4}.borehole-emergency{left:-90px}.borehole-emergency,.reservoir-emergency{position:absolute;top:-20px;transform:scale(.8);transform-origin:top left;z-index:10}.reservoir-emergency{right:220px}.selector-switch .base{fill:#d3d3d3;stroke:#a0aec0;stroke-width:2}.selector-switch .knob{fill:#2d3748;transform-origin:60px 60px;transition:transform .2s ease}.selector-switch.on .knob{transform:rotate(90deg)}.selector-switch .indicator{stroke:#fff;stroke-width:3;stroke-linecap:round}.selector-switch .label{fill:#1a202c;text-anchor:middle;font:700 10px sans-serif}.borehole-selector{left:-100px}.borehole-selector,.reservoir-selector{position:absolute;top:50px;transform:scale(1);transform-origin:top left;z-index:10}.reservoir-selector{right:225px}.login-page{align-items:center;background:linear-gradient(135deg,#1a202c,#145388);display:flex;height:100vh;justify-content:center}.login-box{background:#fff;border-radius:8px;box-shadow:0 4px 12px #0003;padding:30px;text-align:center;width:300px}.input-group{align-items:center;display:flex;margin:10px 0}.input-group .icon{color:#145388;margin-right:8px}input{border:1px solid #ccc;border-radius:4px;flex:1 1;padding:8px}.login-btn{background:#145388;border:none;border-radius:4px;color:#fff;cursor:pointer;margin-top:15px;padding:10px;width:100%}.login-btn:hover{background:#0d3a66}.error{color:red;font-size:.9em}.logout-btn{background:#4a90e2;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:700;padding:8px 12px;position:absolute;right:-500px;top:-130px}.logout-btn:hover{background:#0d3a66}.theme-btn{background:#4a90e2;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:700;padding:8px 12px;position:absolute;right:-425px;top:-130px}.theme-btn:hover{background:#0d3a66}body.light{--bg-color:#fff;--text-color:#000}body.dark{--bg-color:#1a202c;--text-color:#f7fafc}.dashboard-layout{background:var(--bg-color);color:var(--text-color)}.datalog-btn{right:200px;top:10px}.data-log-page td,.data-log-page th{padding:8px;text-align:left}.data-log-page{background:var(--bg-color);color:var(--text-color);padding:20px}.data-log-page table{border-collapse:collapse;margin-bottom:20px;width:100%}.data-log-page td,.data-log-page th{border:1px solid #ccc;padding:6px;text-align:center}.data-log-controls{display:flex;gap:10px}.datalog-btn{background:#4a90e2;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:700;padding:8px 12px;position:absolute;right:-420px;top:-130px}.datalog-btn:hover{background:#0d3a66}.userlog-btn{background:#4a90e2;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:700;padding:8px 12px;position:absolute;right:-330px;top:-130px}.userlog-btn:hover{background:#0d3a66}.user-log-page{background:var(--bg-color);color:var(--text-color);padding:20px}.user-log-page table{border-collapse:collapse;margin-bottom:20px;width:100%}.user-log-page td,.user-log-page th{border:1px solid #ccc;padding:6px;text-align:center}.user-log-controls{display:flex;gap:10px}.access-denied{background:#e53e3ed9;border-radius:4px;box-shadow:0 2px 6px #0003;color:#fff;font-weight:700;padding:10px 15px;position:fixed;right:20px;top:60px;z-index:1000}.top-controls{display:flex;gap:10px;justify-content:flex-end;margin-bottom:10px}.scada-title{color:#222;font-size:28px;font-weight:700;position:absolute;right:-350px;top:-150px;z-index:5}.status-connected{color:green;font-weight:700}.status-disconnected{color:red;font-weight:700}.borehole-status{left:30px}.borehole-status,.reservoir-status{position:absolute;top:-80px;z-index:5}.reservoir-status{left:480px}
/*# sourceMappingURL=main.a24c882c.css.map*/