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}.error-message-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.error-message-container{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-height:80vh;max-width:500px;overflow-y:auto;width:90%}.error-message-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px}.error-message-header h3{color:#ef4444;font-size:1.5rem;margin:0}.error-close-btn{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;font-size:1.5rem;height:30px;justify-content:center;padding:0;transition:background-color .2s;width:30px}.error-close-btn:hover{background-color:#f3f4f6}.error-message-content{padding:20px}.error-main-message{color:#374151;font-size:1rem;line-height:1.5;margin:0 0 15px}.error-details{background-color:#fef2f2;border-left:4px solid #ef4444;border-radius:4px;margin:15px 0;padding:15px}.error-details h4{color:#991b1b;font-size:.9rem;margin:0 0 10px}.error-details ul{list-style:none;margin:0;padding-left:20px}.error-details li{color:#7f1d1d;font-size:.9rem;margin:5px 0}.error-details li strong{color:#991b1b}.error-status-code{color:#6b7280;font-size:.85rem;font-style:italic;margin:10px 0 0}.error-message-footer{border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;padding:15px 20px}.error-confirm-btn{background-color:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;padding:10px 24px;transition:background-color .2s}.error-confirm-btn:hover{background-color:#dc2626}.error-confirm-btn:active{background-color:#b91c1c}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;justify-content:center;min-height:100%;padding:20px}.login-card{animation:slideUp .6s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 40px #0000001a;max-width:400px;padding:40px;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{margin-bottom:32px;text-align:center}.login-header h1{color:#2d3748;font-size:28px;font-weight:700;letter-spacing:-.5px;margin:0 0 8px}.login-header p{color:#718096;font-size:16px;font-weight:400;margin:0}.login-form{display:flex;flex-direction:column;gap:24px}.form-group{gap:8px}.form-group label{color:#2d3748;font-size:14px;letter-spacing:.5px;text-transform:uppercase}.form-group input{background:#f7fafc;border:2px solid #e2e8f0;border-radius:8px;font-size:16px;padding:16px;transition:all .3s ease}.form-group input:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group input.error{background:#fed7d7;border-color:#e53e3e}.form-group input:disabled{background:#edf2f7;cursor:not-allowed;opacity:.7}.checkbox-group{margin:16px 0}.checkbox-label{align-items:center;color:#4a5568;cursor:pointer;display:flex;font-size:14px;font-weight:500}.checkbox-label input[type=checkbox]{display:none}.checkmark{background:#f7fafc;border:2px solid #e2e8f0;border-radius:4px;height:20px;margin-right:12px;position:relative;transition:all .3s ease;width:20px}.checkbox-label input[type=checkbox]:checked+.checkmark{background:#667eea;border-color:#667eea}.checkbox-label input[type=checkbox]:checked+.checkmark:after{border:solid #fff;border-width:0 2px 2px 0;content:"";height:10px;left:6px;position:absolute;top:2px;transform:rotate(45deg);width:6px}.checkbox-label:hover .checkmark{border-color:#667eea}.error-message{color:#e53e3e;font-size:14px;font-weight:500;margin-top:4px}.general-error{background:#fed7d7;border:1px solid #feb2b2;border-radius:8px;margin-bottom:16px;padding:12px;text-align:center}.login-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;letter-spacing:.5px;margin-top:8px;padding:16px;text-transform:uppercase;transition:all .3s ease}.login-button:hover:not(:disabled){box-shadow:0 10px 20px #667eea4d;transform:translateY(-2px)}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.login-footer{border-top:1px solid #e2e8f0;margin-top:32px;padding-top:24px;text-align:center}.login-footer p{color:#718096;font-size:14px;margin:0}.signup-link{background:none;border:none;color:#667eea;cursor:pointer;font-weight:600;font:inherit;font-size:inherit;padding:0;text-decoration:none;transition:color .3s ease}.signup-link:hover{color:#764ba2;text-decoration:underline}@media (max-width:480px){.login-container{padding:16px}.login-card{padding:24px}.login-header h1{font-size:24px}.login-header p{font-size:14px}}:host,:root{--ol-background-color:#fff;--ol-accent-background-color:#f5f5f5;--ol-subtle-background-color:#80808040;--ol-partial-background-color:#ffffffbf;--ol-foreground-color:#333;--ol-subtle-foreground-color:#666;--ol-brand-color:#0af}.ol-box{background-color:#ffffffbf;background-color:var(--ol-partial-background-color);border:1.5px solid #fff;border:1.5px solid var(--ol-background-color);border-radius:2px;box-sizing:border-box}.ol-mouse-position{position:absolute;right:8px;top:8px}.ol-scale-line{background:#ffffffbf;background:var(--ol-partial-background-color);bottom:8px;left:8px;padding:2px;position:absolute}.ol-scale-line-inner{border:1px solid #666;border:1px solid var(--ol-subtle-foreground-color);border-top:none;color:#333;color:var(--ol-foreground-color);font-size:10px;margin:1px;text-align:center;transition:all .25s;will-change:contents,width}.ol-scale-bar{bottom:8px;left:8px;position:absolute}.ol-scale-bar-inner{display:flex}.ol-scale-step-marker{background-color:#333;background-color:var(--ol-foreground-color);float:right;height:15px;width:1px;z-index:10}.ol-scale-step-text{bottom:-5px;font-size:10px;z-index:11}.ol-scale-step-text,.ol-scale-text{color:#333;color:var(--ol-foreground-color);position:absolute;text-shadow:-1.5px 0 #ffffffbf,0 1.5px #ffffffbf,1.5px 0 #ffffffbf,0 -1.5px #ffffffbf;text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-text{bottom:25px;font-size:12px;text-align:center}.ol-scale-singlebar{border:1px solid #333;border:1px solid var(--ol-foreground-color);box-sizing:border-box;height:10px;position:relative;z-index:9}.ol-scale-singlebar-even{background-color:#666;background-color:var(--ol-subtle-foreground-color)}.ol-scale-singlebar-odd{background-color:#fff;background-color:var(--ol-background-color)}.ol-unsupported{display:none}.ol-unselectable,.ol-viewport{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ol-viewport canvas{all:unset;overflow:hidden}.ol-viewport{touch-action:pan-x pan-y}.ol-selectable{-webkit-touch-callout:default;-webkit-user-select:text;-moz-user-select:text;user-select:text}.ol-grabbing{cursor:grabbing}.ol-grab{cursor:move;cursor:grab}.ol-control{background-color:#80808040;background-color:var(--ol-subtle-background-color);position:absolute}.ol-zoom{left:.5em;top:.5em}.ol-rotate{right:.5em;top:.5em;transition:opacity .25s linear,visibility 0s linear}.ol-rotate.ol-hidden{opacity:0;transition:opacity .25s linear,visibility 0s linear .25s;visibility:hidden}.ol-zoom-extent{left:.5em;top:4.643em}.ol-full-screen{right:.5em;top:.5em}.ol-control button{background-color:#fff;background-color:var(--ol-background-color);border:none;border-radius:2px;color:#666;color:var(--ol-subtle-foreground-color);display:block;font-size:inherit;font-weight:700;height:1.375em;line-height:.4em;margin:1px;padding:0;text-align:center;text-decoration:none;width:1.375em}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-zoom-extent button{line-height:1.4em}.ol-compass{display:block;font-weight:400;will-change:transform}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:focus,.ol-control button:hover{color:#333;color:var(--ol-foreground-color);outline:1px solid #666;outline:1px solid var(--ol-subtle-foreground-color);text-decoration:none}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{align-items:center;bottom:.5em;display:flex;flex-flow:row-reverse;max-width:calc(100% - 1.3em);right:.5em;text-align:right}.ol-attribution a{color:#666;color:var(--ol-subtle-foreground-color);text-decoration:none}.ol-attribution ul{color:#333;color:var(--ol-foreground-color);font-size:12px;margin:0;padding:1px .5em;text-shadow:0 0 2px #fff;text-shadow:0 0 2px var(--ol-background-color)}.ol-attribution li{display:inline;list-style:none}.ol-attribution li:not(:last-child):after{content:" "}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button{flex-shrink:0}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution:not(.ol-collapsed){background:#ffffffbf;background:var(--ol-partial-background-color)}.ol-attribution.ol-uncollapsible{border-radius:4px 0 0;bottom:0;right:0}.ol-attribution.ol-uncollapsible img{margin-top:-.2em;max-height:1.6em}.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{height:200px;left:.5em;top:4.5em}.ol-zoomslider button{height:10px;position:relative}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{bottom:.5em;left:.5em}.ol-overviewmap.ol-uncollapsible{border-radius:0 4px 0 0;bottom:0;left:0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:block}.ol-overviewmap .ol-overviewmap-map{border:1px solid #666;border:1px solid var(--ol-subtle-foreground-color);height:150px;width:150px}.ol-overviewmap:not(.ol-collapsed) button{bottom:0;left:0;position:absolute}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:#80808040;background:var(--ol-subtle-background-color)}.ol-overviewmap-box{border:1.5px dotted #666;border:1.5px dotted var(--ol-subtle-foreground-color)}.ol-overviewmap .ol-overviewmap-box:hover{cursor:move}.vworld-map{background:#fff;max-height:100%}.map-loading,.vworld-map{display:flex;flex-direction:column;height:100%}.map-loading{align-items:center;background:#f8fafc;justify-content:center}.map-loading .loading-spinner{animation:spin 1s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#667eea;height:32px;margin-bottom:12px;width:32px}.map-loading p{color:#64748b;font-size:14px;margin:0}.map-header{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:16px 20px}.map-title-section{display:flex;flex-direction:column;gap:4px}.map-header h3{color:#1e293b;font-size:16px;font-weight:600;margin:0}.map-info{align-items:center;color:#64748b;display:flex;font-size:12px;gap:4px}.info-icon{font-size:14px}.info-text{font-weight:500}.map-controls{display:flex;gap:8px}.reset-view-button{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:background .2s}.reset-view-button:hover{background:#5568d3}.map-legend{display:flex;gap:16px}.legend-item{color:#64748b;font-size:12px}.legend-color{border:1px solid #fff;border-radius:50%;box-shadow:0 1px 2px #0000001a}.map-container{background:#f8fafc;border-radius:0 0 8px 8px;flex:1 1;overflow:hidden;position:relative}.vworld-map-container{height:100%;width:100%}.ol-control{background:#ffffffe6;border-radius:4px;padding:4px}.ol-zoom{left:10px;top:10px}.ol-zoom button{background:#fff;border:1px solid #e2e8f0;color:#1e293b;cursor:pointer;font-size:18px;height:32px;line-height:1;transition:all .2s;width:32px}.ol-zoom button:hover{background:#f8fafc;border-color:#667eea}.ol-scale-line{background:#ffffffe6;border-radius:4px;bottom:10px;left:10px;padding:4px 8px}.vworld-popup{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;min-width:200px;padding:12px}.vworld-popup h4{border-bottom:1px solid #e2e8f0;color:#1e293b;font-size:14px;font-weight:600;margin:0 0 8px;padding-bottom:6px}.popup-info{display:flex;flex-direction:column;gap:4px}.popup-item{align-items:center;display:flex;font-size:12px;justify-content:space-between}.popup-item .label{color:#64748b;font-weight:500}.popup-item .value{color:#1e293b;font-weight:600}@media (max-width:768px){.map-header{align-items:flex-start;flex-direction:column;gap:12px}.map-title-section{width:100%}.map-info{font-size:11px}.map-legend{flex-wrap:wrap;gap:12px}.legend-item{font-size:11px}.legend-color{height:10px;width:10px}}.power-plant-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;padding:16px;position:relative;transition:all .2s ease}.power-plant-card:hover{border-color:#cbd5e1;box-shadow:0 4px 6px #0000000d;transform:translateY(-1px)}.power-plant-card:active{box-shadow:0 2px 4px #0000001a;transform:translateY(0)}.power-plant-card.selected{background:#f8fafc;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.plant-name{align-items:center;color:#1e293b;display:flex;flex:1 1;font-size:14px;font-weight:600;gap:6px;line-height:1.3;margin-right:8px}.double-click-icon{font-size:12px}.power-plant-card:hover .double-click-icon{color:#667eea;opacity:1}.status-badge{border-radius:12px;color:#fff;font-size:11px;padding:4px 8px;white-space:nowrap}.card-content{display:flex;flex-direction:column;gap:8px}.equipment-status{grid-gap:6px;display:grid;gap:6px;grid-template-columns:1fr 1fr;margin-bottom:8px}.status-item{font-size:12px}.status-item .label{color:#64748b;font-weight:500}.status-item .value{color:#1e293b;font-weight:600}.communication-status{align-items:center;border-bottom:1px solid #f1f5f9;border-top:1px solid #f1f5f9;display:flex;font-size:12px;justify-content:space-between;padding:8px 0}.communication-status .label{color:#64748b;font-weight:500}.comm-status{font-weight:600;letter-spacing:.5px;text-transform:uppercase}.power-info{align-items:center;display:flex;font-size:12px;justify-content:space-between;margin-top:4px}.power-info .label{color:#64748b;font-weight:500}.power-info .value{color:#1e293b;font-weight:600}.power-generation .value{color:#f59e0b}.efficiency .value{color:#10b981}@media (max-width:768px){.equipment-status{grid-template-columns:1fr}.power-plant-card{padding:12px}.plant-name{font-size:13px}}.summary-stats{border-bottom:1px solid #e2e8f0;padding:20px}.summary-stats h3{color:#1e293b;font-size:16px;font-weight:600;margin:0 0 16px}.stats-grid{grid-gap:12px;gap:12px;grid-template-columns:repeat(2,1fr)}.stat-card{gap:12px;padding:12px}.stat-card:hover{border-color:#cbd5e1}.stat-icon{align-items:center;border-radius:8px;display:flex;font-size:20px;height:40px;justify-content:center;width:40px}.stat-content{flex:1 1}.stat-value{font-size:18px;margin-bottom:2px}.stat-unit{font-size:12px;margin-left:2px;opacity:.8}.stat-label{font-size:12px;font-weight:500}@media (max-width:768px){.stats-grid{grid-template-columns:1fr}.stat-card{padding:10px}.stat-value{font-size:16px}}.filter-panel{background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:20px}.filter-panel h3{color:#1e293b;font-size:16px;font-weight:600;margin:0 0 16px}.filter-group{margin-bottom:16px}.filter-group label{color:#374151;display:block;font-size:14px;font-weight:500;margin-bottom:6px}.filter-input,.filter-select{background:#fff;border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;font-family:inherit;font-size:14px;padding:10px 12px;transition:all .2s ease;width:100%}.filter-input:focus,.filter-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.filter-input::placeholder{color:#9ca3af}.filter-actions{margin-top:20px}.clear-button{background:#6b7280;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px;transition:all .2s ease;width:100%}.clear-button:hover{background:#4b5563}.clear-button:active{transform:translateY(1px)}.solar-dashboard{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;height:100%}.dashboard-loading,.solar-dashboard{background:#f8fafc;display:flex;flex-direction:column}.dashboard-loading{align-items:center;justify-content:center;min-height:100vh}.dashboard-loading p{color:#64748b;font-size:16px}.dashboard-content{display:flex;gap:0;height:100%}.solar-dashboard .dashboard-content .solar-left-panel{height:100%;width:350px}.solar-dashboard .dashboard-content .solar-left-panel,.solar-dashboard .solar-center-panel{background:#fff;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;overflow-y:auto}.solar-dashboard .solar-center-panel{width:450px}.solar-dashboard .solar-right-panel{background:#f8fafc;flex:1 1;height:100%;max-height:100%;min-width:400px;position:relative}.power-plant-list{flex:1 1;max-height:80vh;overflow-y:auto;padding:20px}.power-plant-list h3{border-bottom:2px solid #e2e8f0;color:#1e293b;font-size:18px;font-weight:600;margin:0 0 16px;padding-bottom:8px}.plant-cards{display:flex;flex-direction:column;gap:12px}@media (max-width:1600px){.left-panel{width:320px}.center-panel{width:400px}.right-panel{min-width:350px}}@media (max-width:1200px){.dashboard-content{flex-direction:column;height:auto}.left-panel{height:30vh}.center-panel,.left-panel{border-bottom:1px solid #e2e8f0;border-right:none;width:100%}.center-panel{height:40vh}.right-panel{height:30vh;width:100%}}@media (max-width:768px){.dashboard-header{align-items:flex-start;flex-direction:column;gap:12px}.dashboard-header h1{font-size:20px}.left-panel{height:25vh}.center-panel{height:50vh}.right-panel{height:25vh}}.user-power-location-list{display:flex;flex-direction:column;height:100%;min-height:0;width:100%}.list-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:20px 24px}.list-header h3{color:#1e293b;font-size:18px}.power-location-count{background:#667eea;border-radius:12px;color:#fff;font-size:12px;font-weight:600;padding:4px 12px}.power-location-cards{grid-gap:12px;align-content:start;display:grid;flex:1 1;gap:12px;grid-auto-rows:-webkit-min-content;grid-auto-rows:min-content;grid-template-columns:1fr 1fr;height:100%;max-height:100%;overflow-x:hidden;overflow-y:auto;padding:8px}.power-location-card,.power-location-cards{box-sizing:border-box;max-width:100%;min-width:0;width:100%}.power-location-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 3px #0000001a;cursor:pointer;display:flex;flex-direction:column;height:auto;overflow:hidden;padding:12px 12px 8px;position:relative;transition:all .2s ease}.power-location-card:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea1a;transform:translateY(-1px)}.power-location-card.selected{background:#f0f4ff;border-color:#667eea;box-shadow:0 2px 8px #667eea26}.power-location-header{align-items:flex-start;justify-content:space-between;margin-bottom:12px}.power-location-header,.power-location-name{display:flex;gap:6px;min-width:0;overflow:hidden}.power-location-name{align-items:center;color:#1e293b;flex:1 1;font-size:18px;font-weight:700;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.double-click-icon{color:#64748b;font-size:14px;opacity:.7;transition:opacity .2s ease}.power-location-card:hover .double-click-icon{color:#667eea;opacity:1}.power-location-status{border-radius:16px;color:#fff;flex-shrink:0;font-size:14px;font-weight:600;min-width:80px;padding:6px 12px;text-align:center;white-space:nowrap}.power-location-info{grid-gap:6px;display:grid;flex:1 1;gap:6px;grid-template-columns:repeat(4,1fr);margin-bottom:12px;min-width:0;width:100%}.power-location-info.centered{align-self:center;margin-bottom:0}.power-location-info-second{grid-gap:6px;display:grid;flex:1 1;gap:6px;grid-template-columns:repeat(4,1fr);margin-bottom:12px;min-width:0;width:100%}.info-row{display:flex;flex-direction:column;flex-shrink:0;gap:4px;min-width:0;padding:6px 4px;text-align:center}.info-label,.info-row{max-width:100%;overflow:hidden}.info-label{color:#64748b;font-size:13px;font-weight:500;letter-spacing:.2px;text-transform:uppercase}.info-label,.info-value{line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.info-value{color:#1e293b;font-size:15px;font-weight:600;max-width:100%;overflow:hidden}.power-value{color:#059669}.efficiency-value{color:#667eea}.daily-value{color:#dc2626}.total-value{color:#7c3aed}.irradiance-value{color:#ea580c}.temperature-value{color:#0891b2}.power-location-stats{grid-gap:4px;border-top:1px solid #f1f5f9;display:grid;gap:4px;grid-template-columns:repeat(4,1fr);padding-top:12px}.stat-item{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;display:flex;flex-direction:column;justify-content:center;max-width:100%;min-height:45px;min-width:0;overflow:hidden;padding:6px 4px;text-align:center}.stat-label{color:#64748b;font-size:13px;font-weight:600;letter-spacing:.3px;margin-bottom:4px;text-transform:uppercase}.stat-label,.stat-value{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat-value{font-size:15px}.stat-value.normal{color:#059669}.stat-value.error{color:#dc2626}.empty-state{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;min-height:200px;padding:20px;text-align:center}.empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.empty-state p{color:#64748b;font-size:16px;font-weight:500;margin:0 0 8px}.empty-state small{color:#94a3b8;font-size:14px}@media (max-width:768px){.user-power-location-list{height:100%;min-height:300px}.power-location-cards{-webkit-overflow-scrolling:touch;gap:8px;grid-template-columns:1fr;height:100%;min-height:200px;overflow-y:auto}.power-location-card{padding:10px 10px 6px}.power-location-info,.power-location-info-second,.power-location-stats{gap:6px;grid-template-columns:repeat(4,1fr)}}@media (max-width:480px){.power-location-info,.power-location-info-second,.power-location-stats{gap:4px;grid-template-columns:repeat(2,1fr)}}.user-summary-stats{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;height:100%;padding:24px}.stats-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:center;margin-bottom:24px;padding-bottom:16px}.stats-header h3{color:#1e293b;font-size:18px;font-weight:600;margin:0;text-align:center;width:100%}.efficiency-badge{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;display:flex;flex-direction:column;min-width:80px;padding:8px 16px}.efficiency-label{font-size:11px;font-weight:500;margin-bottom:2px;opacity:.9}.efficiency-value{font-size:16px;font-weight:700}.stats-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr;margin-bottom:24px}.stat-card{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;justify-content:center;min-height:50px;padding:6px 4px;text-align:center;transition:all .2s ease}.stat-card:hover{background:#f1f5f9;transform:translateY(-1px)}.stat-icon{flex-shrink:0;font-size:24px;margin-bottom:4px}.stat-content{align-items:center;display:flex;flex-direction:column;width:100%}.stat-title{color:#64748b;font-size:10px;font-weight:500;margin-bottom:6px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat-title,.stat-value{line-height:1.2;text-align:center;word-break:keep-all}.stat-value{align-items:baseline;color:#1e293b;display:flex;font-size:14px;font-weight:700;gap:2px;justify-content:center}.stat-unit{color:#64748b;flex-shrink:0;font-size:9px;font-weight:500}.equipment-status{display:block;margin-bottom:20px;width:100%}.equipment-status h4{color:#1e293b;display:block;font-size:14px;font-weight:600;margin:0 0 16px;text-align:left;width:100%}.equipment-list{grid-gap:12px;clear:both;display:grid!important;gap:12px;grid-template-columns:1fr 1fr!important;grid-template-rows:1fr 1fr!important;height:auto;margin-top:0;position:relative;width:100%}.equipment-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;display:flex;flex-direction:column;gap:20px;justify-content:center;min-height:80px;padding:12px}.equipment-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:0}.equipment-name{color:#64748b;font-size:13px;font-weight:500}.equipment-count{color:#1e293b;font-size:13px;font-weight:600}.progress-bar{background:#e2e8f0;border-radius:5px;height:10px;margin-bottom:0;overflow:hidden;width:100%}.progress-fill{border-radius:5px;height:100%;transition:width .3s ease}.equipment-percentage{color:#64748b;font-size:11px;font-weight:500;text-align:right}.alert-card{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;display:flex;margin-top:16px;padding:12px}.alert-icon{flex-shrink:0;font-size:20px;margin-right:12px}.alert-content{flex:1 1}.alert-title{color:#dc2626;font-size:13px;font-weight:600;margin-bottom:2px}.alert-message{color:#991b1b;font-size:12px}@media (max-width:1200px){.stats-grid{gap:8px;grid-template-columns:1fr}.stat-card{flex-direction:row;min-height:40px;padding:4px;text-align:left}.stat-icon{font-size:20px;margin-bottom:0;margin-right:8px}.stat-content{align-items:flex-start}.stat-title{font-size:11px;text-align:left}.stat-value{font-size:15px;justify-content:flex-start}.stat-unit{font-size:10px}}@media (max-width:768px){.user-summary-stats{padding:16px}.stats-header{align-items:center;flex-direction:column;gap:12px}.efficiency-badge{align-self:flex-end;min-width:70px;padding:6px 12px}.efficiency-value{font-size:14px}.equipment-list{gap:6px;grid-template-columns:1fr 1fr!important;grid-template-rows:1fr 1fr!important}.equipment-item{padding:8px}}.user-power-location-status{background-color:#f8fafc;box-sizing:border-box;display:flex;flex-direction:column;max-width:100vw;min-height:100%;overflow-x:hidden;padding:12px;width:100%}.status-header{margin-bottom:32px;text-align:center}.status-header h2{color:#1e293b;font-size:28px;font-weight:700;margin:0 0 8px}.status-header p{color:#64748b;font-size:16px;margin:0}.status-content{grid-gap:12px;align-content:start;display:grid;gap:12px;grid-template-columns:320px 1fr;height:100%;max-width:100%;min-width:0;width:100%}.status-left-panel{gap:24px}.status-left-panel,.status-main-panel{display:flex;flex-direction:column;height:100%}.status-main-panel{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;box-sizing:border-box;max-width:100%;min-height:100%;min-width:0;overflow:hidden;padding:12px}.user-power-location-status-loading{align-items:center;color:#64748b;display:flex;flex-direction:column;justify-content:center;min-height:400px}.loading-spinner{border:4px solid #e2e8f0;margin-bottom:16px}@media (max-width:1200px){.status-content{gap:20px;grid-template-columns:340px 1fr}}@media (max-width:1024px){.status-content{gap:20px;grid-template-columns:1fr;height:auto;min-height:calc(100vh - 200px)}.status-left-panel{height:auto;order:2}.status-main-panel{height:calc(100vh - 300px);min-height:400px;order:1}}@media (max-width:768px){.user-power-location-status{height:auto;min-height:100vh;padding:16px}.status-content{height:auto;min-height:calc(100vh - 150px)}.status-main-panel{height:calc(100vh - 250px);min-height:300px}.status-header h2{font-size:24px}.status-header p{font-size:14px}}.power-plant-detail-home{background:#0000;display:flex;flex-direction:column;height:100%;padding:8px}.power-plant-detail-home .detail-content{align-items:stretch;box-sizing:border-box;display:flex;flex:1 1;flex-direction:row;gap:12px;height:100%;margin:0 auto;max-width:1800px;padding:0 20px;width:100%}@media (min-width:1401px){.power-plant-detail-home .detail-content{flex-direction:row!important}.power-plant-detail-home .detail-home-left-panel{flex-shrink:0!important;max-width:320px!important;min-width:320px!important;width:320px!important}.power-plant-detail-home .detail-home-right-panel{flex:1 1!important;width:auto!important}}@media (min-width:769px){.power-plant-detail-home .chart-row{grid-template-columns:1fr 2fr!important}}.power-plant-detail-home .detail-home-left-panel{background:#0000;border:none;display:flex;flex-direction:column;flex-shrink:0;gap:4px;height:100%;max-width:320px;min-width:320px;outline:none;width:320px}.power-plant-detail-home .plant-info-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 4px #0000001a;padding:24px}.power-plant-detail-home .detail-home-left-panel .plant-info-card{margin-bottom:8px}.power-plant-detail-home .plant-info-card h3{border-bottom:none;color:#1f2937;font-weight:600;padding-bottom:0}.power-plant-detail-home .detail-info-grid{display:flex;flex-direction:column;gap:16px}.power-plant-detail-home .detail-info-item{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;padding:12px 0}.power-plant-detail-home .detail-info-item:last-child{border-bottom:none}.power-plant-detail-home .detail-info-label{color:#6b7280;font-size:14px;font-weight:500}.power-plant-detail-home .detail-info-value{color:#1f2937;font-size:14px;font-weight:600}.power-plant-detail-home .detail-home-right-panel{background:#0000;display:flex;flex:1 1;flex-direction:column;gap:16px;height:100%;min-width:0;position:relative;width:100%}.power-plant-detail-home .environment-widget{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:row;gap:12px;padding:8px 12px;position:absolute;right:0;top:0;z-index:10}.power-plant-detail-home .env-widget-item{align-items:center;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;gap:4px;min-width:70px;padding:0 10px}.power-plant-detail-home .env-widget-item:last-child{border-right:none}.power-plant-detail-home .env-widget-label{color:#64748b;font-size:10px;font-weight:600;letter-spacing:.3px;text-align:center;text-transform:uppercase;white-space:nowrap}.power-plant-detail-home .env-widget-value{align-items:baseline;color:#1e293b;display:flex;font-size:13px;font-weight:700;gap:2px;justify-content:center;min-width:50px;text-align:center}.power-plant-detail-home .env-widget-unit{color:#94a3b8;font-size:9px;font-weight:500;margin-left:2px}.power-plant-detail-home .detail-home-right-panel .plant-info-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 4px #0000001a;padding:24px}.power-plant-detail-home .chart-row{grid-gap:12px;display:grid!important;gap:12px;grid-template-columns:1fr 2fr!important;margin-bottom:8px;min-width:0;width:100%}.power-plant-detail-home .chart-row.chart-row-three{grid-template-columns:1fr 1fr 1fr!important}.power-plant-detail-home .chart-row:nth-child(2){grid-template-columns:1fr}.power-plant-detail-home .chart-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #00000014;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;min-height:70px;min-width:0;overflow:hidden;padding:16px 20px;position:relative;transition:all .2s ease;width:100%}.power-plant-detail-home .chart-card:before{background:linear-gradient(90deg,#3b82f6,#8b5cf6,#06b6d4);border-radius:12px 12px 0 0;content:"";height:3px;left:0;position:absolute;right:0;top:0}.power-plant-detail-home .chart-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.power-plant-detail-home .chart-card.full-width{grid-column:1/-1;width:100%}.power-plant-detail-home .chart-card h4{border-bottom:none;color:#1f2937;font-size:16px;font-weight:600;margin:0 0 20px;padding-bottom:0}.power-plant-detail-home .chart-card.status-card-inline{align-items:flex-start;justify-content:flex-start;padding:24px}.power-plant-detail-home .chart-card-title{border-bottom:3px solid #3b82f6;color:#1e293b;font-size:18px;font-weight:700;margin:0 0 20px;padding-bottom:12px;width:100%}.power-plant-detail-home .chart-container{height:200px;position:relative}.power-plant-detail-home .value-display{align-items:center;display:flex;flex-direction:row;gap:16px;justify-content:space-between;padding:0;width:100%}.power-plant-detail-home .current-value{align-items:baseline;display:flex;gap:8px}.power-plant-detail-home .value-number{color:#1f2937;font-size:32px;font-weight:800;line-height:1;text-shadow:0 1px 2px #0000001a}.power-plant-detail-home .value-unit{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;background-clip:text;color:#3b82f6;font-size:14px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.power-plant-detail-home .value-label{color:#1f2937;flex-shrink:0;font-size:18px;font-weight:700;position:relative}.power-plant-detail-home .value-label:after{background:linear-gradient(90deg,#3b82f6,#0000);border-radius:1px;bottom:-2px;content:"";height:2px;left:0;position:absolute;width:100%}.power-plant-detail-home .value-pipe{color:#d1d5db;flex-shrink:0;font-size:24px;font-weight:200;margin:0 16px;opacity:.6}.power-plant-detail-home .gauge-chart-container{align-items:center;display:flex;flex-direction:column;padding:16px;text-align:center}.power-plant-detail-home .gauge-chart-container h4{color:#1f2937;font-size:18px;font-weight:700;margin:0 0 16px;position:relative}.power-plant-detail-home .gauge-chart-container h4:after{background:linear-gradient(90deg,#3b82f6,#0000);border-radius:1px;bottom:-2px;content:"";height:2px;left:0;position:absolute;width:100%}.power-plant-detail-home .gauge-value-display{align-items:center;display:flex;flex-direction:column;gap:8px;margin-top:16px}.power-plant-detail-home .gauge-value-display .power-value{color:#1f2937;font-size:32px;font-weight:800;line-height:1;text-shadow:0 1px 2px #0000001a}.power-plant-detail-home .gauge-value-display .power-unit{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;background-clip:text;color:#3b82f6;font-size:14px;font-weight:600;letter-spacing:.5px;margin-left:4px;text-transform:uppercase}.power-plant-detail-home .gauge-percentage{color:#1f2937;font-size:16px;font-weight:600}.power-plant-detail-home .gauge-max{color:#6b7280;font-size:11px}.power-plant-detail-home .solar-power-chart-container{display:flex;flex-direction:column;padding:12px 16px;width:100%}.power-plant-detail-home .solar-power-chart-container h4{color:#1e293b;font-size:16px;font-weight:700;margin:0 0 12px;padding-bottom:8px;position:relative}.power-plant-detail-home .solar-power-chart-container h4:after{background:linear-gradient(90deg,#fcd34d,#f59e0b);border-radius:2px;bottom:0;content:"";height:3px;left:0;position:absolute;width:60px}.power-plant-detail-home .solar-bar-chart-wrapper{display:flex;flex-direction:column;gap:12px;width:100%}.power-plant-detail-home .solar-donut-gauge-container{align-items:center;display:flex;height:120px;justify-content:center;position:relative;width:120px}.power-plant-detail-home .solar-donut-svg{height:100%;transform:rotate(-90deg);width:100%}.power-plant-detail-home .solar-donut-fill{filter:drop-shadow(0 0 4px rgba(245,158,11,.4));transition:stroke-dashoffset .8s cubic-bezier(.4,0,.2,1)}.power-plant-detail-home .solar-donut-center{align-items:center;display:flex;flex-direction:column;justify-content:center;left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.power-plant-detail-home .solar-donut-value{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f59e0b,#ef4444);-webkit-background-clip:text;background-clip:text;font-size:20px;font-weight:800;line-height:1}.power-plant-detail-home .solar-donut-unit{color:#64748b;font-size:10px;font-weight:600;letter-spacing:.5px;margin-top:2px;text-transform:uppercase}.power-plant-detail-home .solar-bar-gauge-container{margin-bottom:4px;width:100%}.power-plant-detail-home .solar-minimal-gauge-wrapper{width:100%}.power-plant-detail-home .solar-minimal-gauge-bg{align-items:center;background:#d3d3d3;border:2px solid #000;border-radius:0;display:flex;height:40px;justify-content:center;overflow:hidden;position:relative;width:100%}.power-plant-detail-home .solar-minimal-gauge-bg:before{border:2px solid #fffc;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:3}.power-plant-detail-home .solar-minimal-gauge-fill{background:linear-gradient(90deg,gold,#ffeb3b 25%,#cddc39 50%,#8bc34a 75%,#4caf50);bottom:2px;height:calc(100% - 4px);left:2px;position:absolute;top:2px;transition:width .6s cubic-bezier(.4,0,.2,1);z-index:1}.power-plant-detail-home .solar-minimal-percentage{color:#fffffff2;font-size:18px;font-weight:600;left:50%;letter-spacing:.5px;pointer-events:none;position:absolute;text-shadow:0 1px 2px #0003;top:50%;transform:translate(-50%,-50%);z-index:2}.power-plant-detail-home .solar-panels-container{height:100%;position:relative;width:100%;z-index:2}.power-plant-detail-home .solar-panel-unit{align-items:center;bottom:0;display:flex;height:100%;position:absolute;top:0}.power-plant-detail-home .solar-panel-frame{background:linear-gradient(135deg,#e5e7eb,#d1d5db);border:2px solid #9ca3af;border-radius:4px;box-shadow:inset 0 1px 3px #0003,0 1px 2px #0000001a;height:28px;overflow:hidden;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1);width:100%}.power-plant-detail-home .solar-panel-unit.active .solar-panel-frame{animation:panelActivate .6s ease-out forwards;border-color:#f59e0b;box-shadow:inset 0 1px 3px #0003,0 0 15px #f59e0b80,0 2px 4px #f59e0b4d}@keyframes panelActivate{0%{opacity:.7;transform:scale(.95)}50%{transform:scale(1.02)}to{opacity:1;transform:scale(1)}}.power-plant-detail-home .solar-panel-cells{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);height:100%;padding:2px;width:100%}.power-plant-detail-home .solar-panel-cell{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border:1px solid #0000001a;border-radius:2px;transition:all .3s ease}.power-plant-detail-home .solar-panel-cell.active{animation:cellActivate .4s ease-out forwards;background:linear-gradient(135deg,#fcd34d,#f59e0b 50%,#f97316);border-color:#ffffff4d;box-shadow:inset 0 1px 2px #fff6,0 0 8px #f59e0b99}@keyframes cellActivate{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.power-plant-detail-home .solar-panel-light{animation:panelLightPulse 2s ease-in-out infinite;background:radial-gradient(ellipse at center,#fff6 0,#0000 70%);bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0}@keyframes panelLightPulse{0%,to{opacity:.6}50%{opacity:1}}.power-plant-detail-home .solar-panel-wire{background:linear-gradient(180deg,#9ca3af,#6b7280);border-radius:1px;height:4px;position:absolute;top:50%;transform:translateY(-50%);transition:all .4s ease;width:2px;z-index:1}.power-plant-detail-home .solar-panel-wire.active{background:linear-gradient(180deg,#fcd34d,#f59e0b 50%,#f97316);box-shadow:0 0 10px #f59e0bcc,0 0 5px #f59e0b80;height:6px}.power-plant-detail-home .solar-wire-energy{animation:energyFlow 1.5s linear infinite;background:radial-gradient(circle,#fcd34d 0,#0000 70%);border-radius:50%;box-shadow:0 0 10px #fcd34d;height:6px;left:-2px;position:absolute;top:50%;transform:translateY(-50%);width:6px}.power-plant-detail-home .solar-panel-gauge-fill{border-radius:4px;bottom:0;height:100%;left:0;position:absolute;top:0;transition:width .8s cubic-bezier(.4,0,.2,1);z-index:0}.power-plant-detail-home .solar-sunray-layer{bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:2}.power-plant-detail-home .solar-sunray{border-radius:2px;bottom:0;height:100%;overflow:hidden;position:absolute;top:0;transition:all .4s cubic-bezier(.4,0,.2,1)}.power-plant-detail-home .solar-sunray.active{animation:solarRayActivate .6s ease-out forwards}@keyframes solarRayActivate{0%{opacity:0;transform:scaleX(0)}50%{opacity:.8}to{opacity:1;transform:scaleX(1)}}.power-plant-detail-home .solar-energy-particle{animation:energyFlow 2s linear infinite;background:#ffffffe6;border-radius:50%;box-shadow:0 0 8px #fffc;height:4px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:4px}@keyframes energyFlow{0%{left:0;opacity:0}10%{opacity:1}90%{opacity:1}to{left:100%;opacity:0}}.power-plant-detail-home .solar-sunray-gauge-fill{border:1px solid #fff6;border-radius:15px;bottom:0;height:100%;left:0;overflow:hidden;position:absolute;top:0;transition:width .8s cubic-bezier(.4,0,.2,1);z-index:1}.power-plant-detail-home .solar-energy-wave{animation:energyWave 3s ease-in-out infinite;background:radial-gradient(ellipse at center,#ffffff4d 0,#0000 70%);height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}@keyframes energyWave{0%,to{opacity:.5;transform:scaleX(.8) scaleY(1)}50%{opacity:.8;transform:scaleX(1.2) scaleY(1.1)}}.power-plant-detail-home .solar-sunray-glow{background:linear-gradient(180deg,#fff9,#ffffff4d 30%,#0000 70%,#0000001a);bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0}.power-plant-detail-home .solar-sunray-shine{animation:solarSunrayShine 3s ease-in-out infinite;background:linear-gradient(90deg,#0000,#fffc 40%,#fff6 50%,#fffc 60%,#0000);height:100%;left:-100%;pointer-events:none;position:absolute;top:0;width:50%}@keyframes solarSunrayShine{0%{left:-100%}50%{left:150%}to{left:150%}}.power-plant-detail-home .solar-bar-gauge-bg{background:linear-gradient(180deg,#f8fafc,#e2e8f0);border:1px solid #cbd5e1;border-radius:12px;box-shadow:inset 0 2px 6px #0000001a,inset 0 -1px 2px #fffc,0 1px 3px #0000000d;height:24px;overflow:hidden;position:relative;width:100%}.power-plant-detail-home .solar-power-text-row{align-items:center;display:flex;gap:8px;justify-content:center;width:100%}.power-plant-detail-home .solar-power-label{color:#64748b;flex-shrink:0;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.power-plant-detail-home .solar-divider{color:#d1d5db;flex-shrink:0;font-size:14px;font-weight:200;opacity:.6}.power-plant-detail-home .solar-power-value-group{align-items:baseline;display:flex;flex-shrink:0;gap:3px}.power-plant-detail-home .solar-power-value-large{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f59e0b,#ef4444);-webkit-background-clip:text;background-clip:text;font-size:24px;font-weight:800;line-height:1}.power-plant-detail-home .solar-power-unit-large{color:#f59e0b;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.power-plant-detail-home .solar-bar-gauge-fill{animation:solarBarFill 1s ease-out;border:1px solid #ffffff4d;border-radius:11px;height:100%;overflow:hidden;position:relative;transition:width .8s cubic-bezier(.4,0,.2,1)}@keyframes solarBarFill{0%{width:0!important}}.power-plant-detail-home .solar-bar-glow{background:linear-gradient(180deg,#fff6,#ffffff1a 50%,#0000);bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0}.power-plant-detail-home .solar-bar-shine{animation:solarBarShine 3s ease-in-out infinite;background:linear-gradient(90deg,#0000,#ffffff80 50%,#0000);height:100%;left:-100%;pointer-events:none;position:absolute;top:0;width:50%}@keyframes solarBarShine{0%{left:-100%}50%{left:150%}to{left:150%}}.power-plant-detail-home .daily-generation-card{background:#fff;border:1px solid #e5e7eb;box-shadow:0 2px 8px #00000014}.power-plant-detail-home .solar-daily-generation{align-items:center;display:flex;flex-direction:column;gap:8px;height:100%;justify-content:center;padding:16px}.power-plant-detail-home .solar-daily-label{color:#64748b;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.power-plant-detail-home .solar-daily-value-group{align-items:baseline;display:flex;gap:4px}.power-plant-detail-home .solar-daily-value{color:#1f2937;font-size:28px;font-weight:800;line-height:1}.power-plant-detail-home .solar-daily-unit{color:#64748b;font-size:14px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.power-plant-detail-home .solar-bar-footer{align-items:center;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:6px 0}.power-plant-detail-home .solar-bar-label{color:#64748b;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.power-plant-detail-home .solar-bar-capacity{color:#1e293b;font-size:14px;font-weight:700}.power-plant-detail-home .cumulative-display{align-items:center;display:flex;flex-direction:column;gap:16px;height:100%;justify-content:center;padding:16px}.power-plant-detail-home .cumulative-value{align-items:baseline;display:flex;gap:8px}.power-plant-detail-home .cumulative-value .value-number{color:#1f2937;font-size:48px;font-weight:700;line-height:1}.power-plant-detail-home .cumulative-value .value-unit{color:#6b7280;font-size:16px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}@media (max-width:1400px){.power-plant-detail-home .detail-content{flex-direction:column;gap:20px}.power-plant-detail-home .detail-home-left-panel{max-width:none;width:100%}.power-plant-detail-home .chart-row{gap:20px;grid-template-columns:1fr 2fr!important}.power-plant-detail-home .chart-row.chart-row-three{grid-template-columns:1fr 1fr 1fr!important}.power-plant-detail-home .chart-row:nth-child(2){grid-template-columns:1fr}.power-plant-detail-home .status-cards-container{gap:16px;grid-template-columns:1fr}.power-plant-detail-home .info-four-columns,.power-plant-detail-home .info-two-columns{gap:12px;grid-template-columns:1fr 1fr}.power-plant-detail-home .info-five-columns{gap:10px;grid-template-columns:1fr 1fr 1fr}}@media (max-width:768px){.power-plant-detail-home{padding:16px}.power-plant-detail-home .detail-content{flex-direction:column;gap:16px}.power-plant-detail-home .detail-home-left-panel{max-width:none;min-width:auto;width:100%}.power-plant-detail-home .detail-home-right-panel{width:100%}.power-plant-detail-home .environment-widget{align-self:flex-end;flex-wrap:wrap;gap:8px;margin-bottom:8px;position:relative;right:auto;top:auto}.power-plant-detail-home .env-widget-item{border-right:1px solid #e5e7eb;min-width:60px;padding:0 6px}.power-plant-detail-home .env-widget-value{min-width:45px}.power-plant-detail-home .status-cards-container{gap:12px;grid-template-columns:1fr}.power-plant-detail-home .chart-row{gap:16px;grid-template-columns:1fr!important}.power-plant-detail-home .chart-row.chart-row-three{grid-template-columns:1fr!important}.power-plant-detail-home .chart-card,.power-plant-detail-home .plant-info-card{padding:16px}.power-plant-detail-home .chart-container{height:150px}.power-plant-detail-home .cumulative-stats{gap:12px;grid-template-columns:1fr}.power-plant-detail-home .detail-stat-item{padding:16px}.power-plant-detail-home .detail-stat-value{font-size:16px}.power-plant-detail-home .info-four-columns,.power-plant-detail-home .info-two-columns{gap:8px;grid-template-columns:1fr 1fr}.power-plant-detail-home .info-five-columns{gap:8px;grid-template-columns:repeat(3,1fr)}}@media (max-width:480px){.power-plant-detail-home,.power-plant-detail-home .chart-card,.power-plant-detail-home .plant-info-card{padding:12px}.power-plant-detail-home .detail-info-item{align-items:flex-start;flex-direction:column;gap:4px}.power-plant-detail-home .chart-container{height:120px}.power-plant-detail-home .status-cards-container{gap:12px;grid-template-columns:1fr}.power-plant-detail-home .environment-widget{gap:6px;padding:6px 8px}.power-plant-detail-home .env-widget-item{min-width:55px;padding:0 4px}.power-plant-detail-home .env-widget-label{font-size:9px}.power-plant-detail-home .env-widget-value{font-size:11px;min-width:40px}.power-plant-detail-home .env-widget-unit{font-size:8px}.power-plant-detail-home .info-four-columns,.power-plant-detail-home .info-two-columns{gap:6px;grid-template-columns:1fr}.power-plant-detail-home .info-five-columns{gap:6px;grid-template-columns:repeat(2,1fr)}}.power-plant-detail-home .info-section{display:flex;flex-direction:column;gap:16px}.power-plant-detail-home .info-pair{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.power-plant-detail-home .info-single{display:flex;justify-content:center}.power-plant-detail-home .info-two-columns{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.power-plant-detail-home .info-three-columns{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr 1fr}.power-plant-detail-home .info-four-columns{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr 1fr 1fr}.power-plant-detail-home .status-cards-container{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.power-plant-detail-home .status-cards-container:has(.status-card:only-child){grid-template-columns:1fr}.power-plant-detail-home .status-card{min-height:auto}.power-plant-detail-home .info-five-columns{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(5,1fr);width:100%}.power-plant-detail-home .info-four-columns .info-item{min-height:auto;padding:12px 8px}.power-plant-detail-home .info-item-small{align-items:center;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;display:flex;justify-content:space-between;max-width:200px;padding:8px 12px;width:100%}.power-plant-detail-home .info-label-small{color:#64748b;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.power-plant-detail-home .info-value-small{color:#1e293b;font-size:12px;font-weight:700;line-height:1.2}.power-plant-detail-home .info-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;gap:4px;justify-content:center;min-height:50px;padding:12px 8px;text-align:center;transition:all .2s ease}.power-plant-detail-home .info-item:hover{background:#f1f5f9;border-color:#cbd5e1;transform:translateY(-1px)}.power-plant-detail-home .info-label{color:#64748b;font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:2px;text-transform:uppercase}.power-plant-detail-home .info-value{color:#1e293b;font-size:14px;font-weight:700;line-height:1.2}.power-plant-detail-home .plant-info-header{align-items:center;border-bottom:3px solid #3b82f6;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:12px}.power-plant-detail-home .plant-info-header h3{align-items:center;color:#1e293b;display:flex;font-size:18px;font-weight:700;gap:8px;margin:0}.power-plant-detail-home .plant-info-card h3{align-items:center;border-bottom:3px solid #3b82f6;color:#1e293b;display:flex;font-size:18px;font-weight:700;gap:8px;margin:0 0 20px;padding-bottom:12px}.power-plant-detail-home .plant-info-card h3:before{background:#3b82f6;border-radius:2px;content:"";height:20px;width:4px}.power-plant-detail-home .communication-status{align-items:flex-end;display:flex;flex-direction:column;gap:2px}.power-plant-detail-home .communication-label{color:#64748b;font-size:10px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.power-plant-detail-home .communication-value{background:#f1f5f9;border-radius:4px;font-size:12px;font-weight:700;padding:2px 8px}.power-plant-detail-home .info-main{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;gap:8px;margin-bottom:8px;padding:16px}.power-plant-detail-home .info-item-large{display:flex;flex-direction:column;gap:4px}.power-plant-detail-home .info-label-large{color:#64748b;font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.power-plant-detail-home .info-value-large{color:#1e293b;font-size:18px;font-weight:700}.power-plant-detail-home .info-location{background:#f8fafc;border-left:3px solid #3b82f6;border-radius:6px;display:flex;flex-direction:column;gap:6px;margin-bottom:6px;padding:12px}.power-plant-detail-home .info-location .info-item{display:flex;flex-direction:column;gap:4px}.power-plant-detail-home .info-location .info-label{color:#64748b;font-size:11px;font-weight:500}.power-plant-detail-home .info-location .info-value{word-wrap:break-word;color:#1e293b;font-size:14px;font-weight:600;line-height:1.4;overflow-wrap:break-word;white-space:normal;word-break:break-all}.power-plant-detail-home .info-time{background:#f1f5f9;border-left:3px solid #10b981;border-radius:6px;margin-bottom:6px;padding:12px}.power-plant-detail-home .info-time .info-item{align-items:center;display:flex;justify-content:center}.power-plant-detail-home .info-time .info-label{color:#64748b;font-size:12px;font-weight:500}.power-plant-detail-home .info-time .info-value{color:#1e293b;font-size:16px;font-weight:700}.power-plant-detail-home .info-communication{display:flex;justify-content:center}.power-plant-detail-home .inverter-list-section{margin-top:16px;width:100%}.power-plant-detail-home .inverter-cards-container{width:100%}.power-plant-detail-home .inverter-cards-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(5,1fr);margin-top:16px}.power-plant-detail-home .inverter-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden;padding:20px;position:relative;transition:all .3s ease}.power-plant-detail-home .inverter-card:before{background:linear-gradient(90deg,#3b82f6,#8b5cf6,#06b6d4);border-radius:12px 12px 0 0;content:"";height:3px;left:0;position:absolute;right:0;top:0}.power-plant-detail-home .inverter-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.power-plant-detail-home .inverter-card.stale-data{background-color:#fef2f2;opacity:.7}.power-plant-detail-home .inverter-card.stale-data:before{background:linear-gradient(90deg,#ef4444,#dc2626)}.power-plant-detail-home .inverter-card-header{border-bottom:2px solid #f1f5f9;margin-bottom:16px;padding-bottom:12px}.power-plant-detail-home .inverter-card-title{color:#1e293b;font-size:18px;font-weight:700;margin:0}.power-plant-detail-home .inverter-card-body{display:flex;flex-direction:column;gap:12px}.power-plant-detail-home .inverter-card-item{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:8px;display:flex;justify-content:space-between;padding:10px 12px;transition:all .2s ease}.power-plant-detail-home .inverter-card-item:hover{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);transform:translateX(2px)}.power-plant-detail-home .inverter-card-label{color:#64748b;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.power-plant-detail-home .inverter-card-value{color:#1e293b;font-size:14px;font-weight:700}.power-plant-detail-home .inverter-card-value.power-value{color:#3b82f6;font-size:16px}.power-plant-detail-home .inverter-card-status{background:#10b9811a;border-radius:12px;font-size:13px;font-weight:700;padding:4px 12px}.power-plant-detail-home .no-inverter-data{color:#64748b;font-size:14px;padding:40px;text-align:center}@media (max-width:1400px){.power-plant-detail-home .inverter-cards-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:1200px){.power-plant-detail-home .inverter-cards-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.power-plant-detail-home .inverter-cards-grid{gap:12px;grid-template-columns:repeat(2,1fr)}.power-plant-detail-home .inverter-card{padding:16px}}@media (max-width:480px){.power-plant-detail-home .inverter-cards-grid{grid-template-columns:1fr}}.power-plant-trend-detail{background-color:#f8fafc;padding:0}.power-plant-trend-detail,.trend-layout{box-sizing:border-box;height:100%;width:100%}.trend-layout{display:flex;gap:20px;padding:20px}.right-status-panel{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;flex-shrink:0;height:calc(100vh - 40px);overflow-y:auto;padding:20px;width:250px}.top-table-container{align-items:flex-start;display:flex;gap:30px;justify-content:flex-start;margin-bottom:40px;width:100%}.dc-ac-table{flex:0 0 auto;margin-right:20px;max-width:70%}.dc-ac-table h4,.status-info h4{color:#1f2937;font-size:1rem;font-weight:600;margin:0 0 15px}.trend-data-table{background:#fff;border-collapse:collapse;border-radius:8px;border-spacing:0;box-shadow:0 1px 3px #0000001a;font-size:.875rem;overflow:hidden;table-layout:fixed;width:100%}.trend-data-table th{background:#f8fafc!important;border-bottom:2px solid #e5e7eb!important;border-right:1px solid #e5e7eb!important;color:#374151!important;font-size:.8rem!important;font-weight:600!important;margin:0!important;min-width:0!important;padding:8px 6px!important;text-align:center!important}.trend-data-table th:first-child,.trend-data-table th:nth-child(2){max-width:16.66%!important;width:16.66%!important}.trend-data-table th:nth-child(3){max-width:66.68%!important;width:66.68%!important}.trend-data-table th:last-child{border-right:none!important}.trend-data-table td{border-bottom:1px solid #f3f4f6!important;border-right:1px solid #f3f4f6!important;color:#1f2937!important;font-size:.8rem!important;margin:0!important;min-width:0!important;padding:8px 6px!important;text-align:center!important}.trend-data-table td:first-child{background:#f8fafc!important;font-weight:600!important;padding:8px 8px 8px 12px!important;text-align:left!important}.trend-data-table td:first-child,.trend-data-table td:nth-child(2){max-width:16.66%!important;width:16.66%!important}.trend-data-table td:nth-child(3),.trend-data-table td:nth-child(4),.trend-data-table td:nth-child(5),.trend-data-table td:nth-child(6){max-width:16.67%!important;width:16.67%!important}.trend-data-table td:last-child{border-right:none!important}.trend-data-table tr:hover{background:#f8fafc}.status-info{display:flex;flex:0 0 auto;flex-direction:column;margin-left:auto;width:220px}.status-grid{display:flex;flex-direction:column;gap:15px}.status-item{align-items:center;background:#f8fafc;border-radius:8px;display:flex;justify-content:space-between;padding:12px}.status-label{color:#6b7280;font-size:.875rem;font-weight:500}.status-value{color:#1f2937;font-size:.875rem;font-weight:600}.data-selection-container{display:flex;justify-content:flex-start;margin-bottom:15px;padding:0 5px}.data-type-select{background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;min-width:200px;padding:10px 15px}.data-type-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.bar-chart-container,.chart-section{display:flex;flex:1 1;flex-direction:column;min-height:0}.bar-chart-container{margin-top:-10px}.bar-chart{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #0000001a;flex:1 1;min-height:400px;padding:20px}.bar-chart svg{height:100%;max-width:100%;min-height:400px;width:100%}.bar{cursor:pointer;transition:all .2s ease}.bar:hover{fill:#1d4ed8;opacity:1}.no-selection{font-size:1.125rem;height:100%}@media (max-width:1200px){.trend-layout{max-width:100%;padding:0 10px}.left-panel{width:220px}.right-status-panel{width:200px}}@media (max-width:1024px){.trend-layout{flex-direction:column;height:auto;min-height:100vh}.left-panel{height:300px;order:2;width:100%}.right-panel{height:calc(100vh - 360px);order:1}.right-status-panel{display:none}.trend-data-table td,.trend-data-table th{font-size:.7rem;padding:8px}}@media (max-width:768px){.power-plant-trend-detail{height:100vh;padding:0}.trend-layout{flex-direction:column;gap:15px;height:100vh;padding:10px}.left-panel{height:300px;order:2;width:100%}.right-panel{height:calc(100vh - 350px);order:1;width:100%}.top-table-container{flex-direction:column;gap:20px}.dc-ac-table{max-width:100%}.status-info{width:100%}.status-grid{flex-direction:row;flex-wrap:wrap;gap:10px}.status-item{flex:1 1;min-width:150px}}.connection-box-table{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px;padding:20px;width:100%}.connection-box-table h4{color:#1e293b;font-size:18px;font-weight:600;margin:0 0 16px}.status-indicator{align-items:center;display:inline-flex;font-size:16px;justify-content:center}.status-indicator.normal{color:#059669}.status-indicator.error{color:#dc2626}.relay-status{border-radius:4px;font-size:12px;font-weight:600;padding:4px 8px;text-align:center}.relay-status.normal{background:#dcfce7;color:#059669}.relay-status.error{background:#fef2f2;color:#dc2626}.connection-box-table .trend-data-table{border-collapse:collapse;margin-top:0;min-width:600px;width:100%}.connection-box-table{overflow-x:auto}.connection-box-table .trend-data-table td,.connection-box-table .trend-data-table th{border:1px solid #e2e8f0;font-size:14px;padding:12px 8px;text-align:center;white-space:nowrap}.connection-box-table .trend-data-table td:first-child,.connection-box-table .trend-data-table th:first-child{width:80px}.connection-box-table .trend-data-table td:nth-child(2),.connection-box-table .trend-data-table td:nth-child(3),.connection-box-table .trend-data-table td:nth-child(4),.connection-box-table .trend-data-table th:nth-child(2),.connection-box-table .trend-data-table th:nth-child(3),.connection-box-table .trend-data-table th:nth-child(4){width:100px}.connection-box-table .trend-data-table td:nth-child(5),.connection-box-table .trend-data-table td:nth-child(6),.connection-box-table .trend-data-table th:nth-child(5),.connection-box-table .trend-data-table th:nth-child(6){width:120px}.connection-box-table .trend-data-table th{background:#f8fafc;color:#374151;font-weight:600}.connection-box-table .trend-data-table tbody tr:hover{background:#f8fafc}.connection-box-table .trend-data-table td.connection-disconnected{color:#ef4444!important;font-weight:600!important}.environment-top-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 2fr;margin-bottom:20px}.environment-sensor-table{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px}.environment-sensor-table h4{color:#1e293b;font-size:18px;font-weight:600;margin:0 0 16px}.environment-data-table{border-collapse:collapse;width:100%}.environment-data-table td,.environment-data-table th{border:1px solid #e2e8f0;font-size:14px;padding:12px 16px;text-align:left}.environment-data-table th{background:#f8fafc;color:#374151;font-weight:600;width:120px}.environment-data-table tbody tr:hover{background:#f8fafc}.environment-bottom-container{width:100%}.environment-chart,.environment-chart-full{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px}.chart-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.chart-select{background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:14px;padding:8px 12px}.chart-legend{gap:8px}.chart-legend,.legend-item{align-items:center;display:flex}.legend-item{color:#374151;font-size:14px;gap:6px}.legend-color{border-radius:2px;height:12px;width:12px}.chart-content{overflow-x:auto;width:100%}.chart-content svg{display:block;margin:0 auto}@media (max-width:768px){.environment-top-container{gap:16px;grid-template-columns:1fr}.environment-chart,.environment-chart-full{padding:16px}}@media (max-width:480px){.power-plant-trend-detail{padding:0}.trend-layout{flex-direction:column;padding:5px}.left-panel,.right-panel{padding:15px;width:100%}.trend-data-table td,.trend-data-table th{font-size:.65rem;padding:6px}.status-grid{flex-direction:column}.status-item{min-width:auto}.bar-chart svg{min-height:250px}}.power-plant-report{background-color:#f8fafc;padding:0}.power-plant-report,.report-layout{box-sizing:border-box;height:100%;width:100%}.report-layout{display:flex;gap:20px;padding:20px}.right-panel{height:calc(85vh - 40px);overflow-y:auto}.query-type-buttons{display:flex;gap:8px}.query-type-buttons button{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s ease}.query-type-buttons button:hover{background:#f3f4f6;border-color:#9ca3af}.query-type-buttons button.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.excel-button{align-items:center;display:flex;gap:6px}.report-table-container{display:flex;flex:1 1;flex-direction:column;margin-top:20px;min-height:0;overflow:hidden}.report-table-container h4{color:#1e293b;font-size:18px;font-weight:600;margin:0 0 16px}.report-table-wrapper{border-radius:8px;box-shadow:0 1px 3px #0000001a;max-height:calc(85vh - 180px);overflow-y:auto}.report-table{background:#fff;border-collapse:collapse;table-layout:fixed;width:100%}.report-table td:first-child,.report-table th:first-child{width:180px}.report-table th{background:#f8fafc;border-bottom:1px solid #e2e8f0;font-weight:600;position:-webkit-sticky;position:sticky;top:0;z-index:10}.report-table td,.report-table th{color:#374151;font-size:14px;padding:12px 16px;text-align:center}.report-table td{border-bottom:1px solid #f1f5f9;vertical-align:middle}.report-table tbody tr:hover{background:#f8fafc}.report-table tbody tr:last-child td{border-bottom:none}@media (max-width:1024px){.report-layout{flex-direction:column;height:auto}.left-panel{margin-bottom:20px;width:100%}.query-controls{flex-direction:column;gap:20px}.action-buttons{flex-direction:row;justify-content:flex-start}}@media (max-width:768px){.power-plant-report{padding:10px}.left-panel,.right-panel{padding:16px}.query-type-buttons{flex-wrap:wrap}.date-inputs{align-items:stretch;flex-direction:column}.date-inputs span{display:none}.report-table{font-size:12px}.report-table td,.report-table th{padding:8px 12px}}.power-plant-error{background-color:#f8fafc;padding:0}.error-layout,.power-plant-error{box-sizing:border-box;height:100%;width:100%}.error-layout{display:flex;gap:20px;padding:20px}.left-panel{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;flex-shrink:0;height:calc(85vh - 40px);overflow-y:auto;padding:20px;width:250px}.equipment-section{border-bottom:2px solid #e5e7eb;margin-bottom:25px;padding-bottom:15px}.equipment-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.equipment-section h3{border-bottom:2px solid #3b82f6;color:#1f2937;font-size:1rem;font-weight:600;margin:0 0 12px;padding-bottom:8px}.trend-equipment-item{background:none!important;border:none!important;border-radius:0!important;box-shadow:none!important;color:#1f2937;cursor:pointer;font-size:.875rem;line-height:1.5;margin:0;padding:0}.trend-equipment-item:hover{background:none!important;color:#3b82f6}.trend-equipment-item.selected{background:none!important;color:#1d4ed8;font-weight:600}.right-panel{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;display:flex;flex:1 1;flex-direction:column;min-width:0;padding:20px}.query-controls{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:20px}.query-left-section{align-items:center;display:flex;gap:32px}.query-section{align-items:center;display:flex;gap:12px}.query-section h4{color:#1e293b;font-size:14px;font-weight:600;margin:0;white-space:nowrap}.date-inputs{align-items:center;display:flex;gap:8px}.date-inputs input{background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:8px 12px}.date-inputs span{color:#6b7280;font-weight:500}.period-buttons{display:flex;gap:8px}.period-buttons button{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.period-buttons button:hover{background:#f3f4f6;border-color:#9ca3af}.period-buttons button.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.query-button{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background .2s ease}.query-button:hover{background:#2563eb}.excel-button{background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background .2s ease}.excel-button:hover{background:#059669}.error-table-container{display:flex;flex:1 1;flex-direction:column;height:-webkit-fit-content;height:fit-content;margin-top:20px;min-height:0}.error-table-container h4{color:#1e293b;font-size:18px;font-weight:600;margin:0 0 16px}.error-table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden;width:100%}.error-table,.error-table tbody{height:-webkit-fit-content;height:fit-content}.error-table tbody{display:block;max-height:calc(85vh - 250px);overflow-y:auto}.error-table tbody tr,.error-table thead{display:table;table-layout:fixed;width:100%}.error-table td:first-child,.error-table th:first-child{width:80px}.error-table td:nth-child(2),.error-table th:nth-child(2){width:150px}.error-table th:nth-child(3){text-align:center;width:auto}.error-table td:nth-child(3){text-align:left;width:auto}.error-table th{background:#f8fafc;border-bottom:1px solid #e2e8f0;border-right:1px solid #e2e8f0;color:#374151;font-size:14px;font-weight:600;padding:12px 16px;text-align:center}.error-table th:last-child{border-right:none}.error-table td{border-bottom:1px solid #f1f5f9;border-right:1px solid #f1f5f9;color:#374151;font-size:14px;padding:12px 16px;text-align:center}.error-table td:last-child{border-right:none}.error-table tbody tr:hover{background:#f8fafc}.error-table tbody tr:last-child td{border-bottom:none}.no-selection{align-items:center;color:#6b7280;display:flex;font-size:16px;height:200px;justify-content:center}@media (max-width:1024px){.error-layout{flex-direction:column;gap:16px}.left-panel{height:auto;max-height:200px;width:100%}.right-panel{height:calc(100vh - 300px)}}@media (max-width:768px){.error-layout{padding:16px}.query-controls{align-items:stretch}.query-controls,.query-left-section{flex-direction:column;gap:16px}.query-section{align-items:flex-start;flex-direction:column;gap:8px}.period-buttons{flex-wrap:wrap}}.dashboard-header{background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 3px #0000001a;justify-content:space-between;padding:16px 24px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.dashboard-header,.header-left{align-items:center;display:flex}.header-left{gap:32px}.logo{align-items:center;cursor:pointer;display:flex;gap:8px;transition:opacity .2s ease}.logo:hover{opacity:.8}.logo-icon{height:32px;object-fit:contain;width:auto}.logo-text{color:#1e293b;font-size:16px;font-weight:700}.navigation{display:flex;gap:24px}.nav-item{border-bottom:2px solid #0000;color:#64748b;font-size:14px;font-weight:500;padding:4px 0;text-decoration:none;transition:all .2s ease}.nav-item:hover{color:#1e293b}.nav-item.active{border-bottom-color:#667eea;color:#667eea}.detail-tabs{background:#f8fafc;border-radius:8px;display:flex;gap:0;padding:4px}.tab-item{background:none;border:none;border-radius:6px;color:#64748b;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease;white-space:nowrap}.tab-item:hover{background:#ffffff80;color:#1e293b}.tab-item.active{background:#fff;box-shadow:0 1px 3px #0000001a;color:#667eea}.header-right{align-items:center;display:flex;gap:16px}.header-user-info{align-items:flex-end;display:flex;flex-direction:column;gap:2px}.user-name{color:#1e293b;font-size:12px;font-weight:600}.user-role{color:#64748b;font-size:10px;letter-spacing:.3px;text-transform:uppercase}.logout-button{background:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:all .2s ease}.logout-button:hover{background:#dc2626;transform:translateY(-1px)}.logout-button:active{transform:translateY(0)}@media (max-width:1024px){.header-left{gap:20px}.navigation{gap:16px}.detail-tabs{gap:0}.tab-item{font-size:13px;padding:6px 12px}.header-right{gap:12px}.header-user-info{display:none}}@media (max-width:768px){.dashboard-header{align-items:flex-start;flex-direction:column;gap:12px}.header-left,.header-right{justify-content:space-between;width:100%}.navigation{gap:12px}.nav-item{font-size:13px}.detail-tabs{flex-wrap:wrap;gap:4px}.tab-item{font-size:12px;padding:6px 10px}.logout-button{font-size:13px;padding:6px 12px}}.common-footer{background:linear-gradient(135deg,#1e293b,#334155);border-top:1px solid #475569;color:#fff;margin-top:auto;padding:40px 0 20px}.footer-content{margin:0 auto;max-width:1200px;padding:0 20px}.footer-info{align-items:flex-start;display:flex;flex-wrap:wrap;gap:30px;justify-content:space-between;margin-bottom:30px}.company-info h4{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;background-clip:text;color:#f1f5f9;font-size:24px;font-weight:700;margin:0 0 8px}.company-info p{color:#cbd5e1;font-size:16px;font-weight:500;margin:0}.contact-info{text-align:right}.contact-info p{color:#94a3b8;font-size:14px;line-height:1.5;margin:0 0 8px}.contact-info p:last-child{margin-bottom:0}.footer-bottom{border-top:1px solid #475569;padding-top:20px;text-align:center}.footer-bottom p{color:#64748b;font-size:12px;margin:0}@media (max-width:768px){.common-footer{padding:30px 0 15px}.footer-info{flex-direction:column;gap:20px}.contact-info,.footer-info{text-align:center}.company-info h4{font-size:20px}.company-info p{font-size:14px}.contact-info p{font-size:13px}}@media (max-width:480px){.footer-content{padding:0 15px}.common-footer{padding:25px 0 15px}.company-info h4{font-size:18px}.contact-info p{font-size:12px}}.common-layout{min-height:100vh}.common-body,.common-layout{background-color:#f8fafc;display:flex;flex-direction:column}.common-body{height:850px;margin:0;padding:0;width:100%}.common-body>*{display:flex;flex:1 1;flex-direction:column;min-height:0}.power-plant-detail-page{background:#0000}.detail-content,.power-plant-detail-page{display:flex;flex-direction:column;height:100%;padding:0}.detail-content{margin:0;width:100%}.power-plant-detail-loading{align-items:center;display:flex;flex-direction:column;gap:16px;height:50vh;justify-content:center}.loading-spinner{border:4px solid #e5e7eb;height:40px;width:40px}.power-plant-detail-loading p{color:#6b7280;font-size:16px}.power-plant-detail-error{align-items:center;display:flex;flex-direction:column;gap:16px;height:50vh;justify-content:center}.power-plant-detail-error h3{color:#ef4444;font-size:24px;margin:0}.back-button{background:#667eea;font-weight:500;transition:background-color .2s ease}.back-button:hover{background:#5a67d8}.tab-content{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;color:#6b7280;font-size:18px;padding:40px;text-align:center}.registration-component{width:100%}.component-header{margin-bottom:2rem;text-align:center}.component-header h2{color:#2c3e50;font-size:1.8rem;font-weight:600;margin:0 0 .5rem}.component-header p{color:#6c757d;font-size:1rem;margin:0}.registration-layout{grid-gap:3rem;align-items:start;display:grid;gap:3rem;grid-template-columns:1fr 1fr}.form-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;padding:1.5rem}.form-section h3{border-bottom:2px solid #dee2e6;color:#495057;font-size:1.3rem;font-weight:600;margin:0 0 1.5rem;padding-bottom:.5rem}.registration-form{display:flex;flex-direction:column;gap:1.5rem}.form-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group.full-width{grid-column:1/-1}.form-group label{color:#495057;font-size:.9rem;font-weight:600}.form-group input,.form-group select,.form-group textarea{background:#fff;border:1px solid #ced4da;border-radius:6px;font-size:.9rem;padding:.75rem;transition:all .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group textarea{min-height:100px;resize:vertical}.form-help{color:#6c757d;font-size:.8rem;margin-top:.25rem}.form-actions{border-top:1px solid #dee2e6;display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem}.btn{border-radius:6px;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s ease}.btn-primary{background:#667eea}.btn-primary:hover{background:#5a6fd8;box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.btn-secondary{background:#6c757d}.btn-secondary:hover{background:#5a6268;box-shadow:0 4px 12px #6c757d4d;transform:translateY(-1px)}.btn-success{background:#28a745}.btn-success:hover{background:#218838;box-shadow:0 4px 12px #28a7454d;transform:translateY(-1px)}.btn-warning{background:#ffc107}.btn-warning:hover{background:#e0a800;box-shadow:0 4px 12px #ffc1074d;transform:translateY(-1px)}.btn-danger{background:#dc3545}.btn-danger:hover{background:#c82333;box-shadow:0 4px 12px #dc35454d;transform:translateY(-1px)}.btn-sm{font-size:.8rem;padding:.5rem 1rem}.list-section{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-left:1rem;max-height:80vh;overflow:hidden;overflow-y:auto}.list-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;padding:1.5rem}.list-header h3{color:#495057;font-size:1.3rem;font-weight:600;margin:0}.search-section{align-items:center;display:flex;gap:.5rem}.search-input{border:1px solid #ced4da;border-radius:6px;min-width:250px;padding:.5rem .75rem}.search-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.data-table{display:flex;flex-direction:column;max-height:60vh;overflow-y:auto}.table-header{background:#e9ecef;color:#495057;font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:1rem .75rem;position:-webkit-sticky;position:sticky;text-transform:uppercase;top:0;z-index:10}.table-header,.table-row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr}.table-row{border-bottom:1px solid #dee2e6;transition:background-color .2s ease}.table-row:hover{background:#f8f9fa}.table-cell{align-items:center;color:#495057;display:flex;font-size:.9rem;padding:1rem .75rem}.user-power-plant-connection .table-header{grid-template-columns:1fr 1fr 1fr 1fr 1fr;padding:.75rem}.user-power-plant-connection .table-row{grid-template-columns:1fr 1fr 1fr 1fr 1fr}.user-power-plant-connection .table-cell{justify-content:center;text-align:center}.status-badge{border-radius:20px;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.status-badge.active{background:#d4edda;color:#155724}.status-badge.inactive{background:#f8d7da;color:#721c24}.status-badge.pending{background:#fff3cd;color:#856404}.role-badge{border-radius:20px;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:.25rem .75rem}.role-badge.admin{background:#d1ecf1;color:#0c5460}.role-badge.user{background:#e2e3e5;color:#383d41}.action-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.equipment-list{display:flex;flex-direction:column;gap:.25rem}.equipment-item{background:#f8f9fa;border-left:3px solid #667eea;border-radius:4px;color:#495057;font-size:.8rem;padding:.25rem .5rem}.plant-info,.user-info{display:flex;flex-direction:column;gap:.25rem}.loading-row{align-items:center;color:#6c757d;display:flex;font-size:.9rem;gap:.5rem;justify-content:center;padding:2rem}.loading-spinner{animation:spin 1s linear infinite;border:2px solid #e2e8f0;border-radius:50%;border-top-color:#667eea;height:20px;width:20px}.load-more-section,.no-more-data{border-top:1px solid #dee2e6;display:flex;justify-content:center;padding:1.5rem}.no-more-data{color:#6c757d;font-size:.9rem;font-style:italic}@media (max-width:1200px){.registration-layout{gap:1.5rem}.form-grid,.registration-layout{grid-template-columns:1fr}}@media (max-width:768px){.table-header,.table-row{gap:.5rem;grid-template-columns:1fr}.table-cell{border-bottom:1px solid #dee2e6;padding:.5rem}.table-cell:before{color:#6c757d;content:attr(data-label);font-weight:600;margin-right:.5rem;min-width:100px}.action-buttons,.form-actions{flex-direction:column}}@media (max-width:480px){.form-section,.list-section{padding:1rem}.component-header h2{font-size:1.5rem}.btn{font-size:.85rem;padding:.6rem 1.2rem}}.power-plant-row{cursor:pointer;transition:all .2s ease}.power-plant-row:hover{background-color:#f8fafc;box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.table-cell.actions{text-align:center;width:60px}.delete-btn{background-color:#ef4444;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:4px 8px;transition:all .2s ease}.delete-btn:hover{background-color:#dc2626;transform:scale(1.05)}.user-row{cursor:pointer;transition:background-color .2s ease}.user-row:hover{background-color:#f8f9fa}.role-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:500;padding:4px 8px;text-transform:uppercase}.role-badge.admin{background-color:#dc3545;color:#fff}.role-badge.user{background-color:#6c757d;color:#fff}.user-info{background-color:#f8f9fa;border-radius:8px;margin:15px 0;padding:15px}.user-info p{color:#495057;margin:5px 0}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:80vh;max-width:600px;overflow-y:auto;width:90%}.equipment-modal{max-height:90vh;max-width:1000px;width:95%}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 24px}.modal-header h3{color:#1f2937;font-size:18px;font-weight:600;margin:0}.modal-close{background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;font-size:20px;padding:4px;transition:all .2s ease}.modal-close:hover{background-color:#f3f4f6;color:#374151}.modal-body{padding:24px}.modal-footer{align-items:center;border-top:1px solid #e5e7eb;justify-content:space-between;padding:20px 24px}.modal-footer,.modal-footer .btn-group,.modal-footer .btn-group-left,.modal-footer .btn-group-right{display:flex;gap:12px}.readonly-input{background-color:#f9fafb;color:#6b7280;cursor:not-allowed}.delete-modal{max-width:500px}.delete-warning{padding:20px 0;text-align:center}.warning-icon{font-size:48px;margin-bottom:16px}.delete-warning p{font-size:16px;margin:12px 0}.plant-info{background-color:#f8f9fa;border-radius:8px;margin:20px 0;padding:16px;text-align:left}.plant-info p{color:#495057;margin:8px 0}.warning-text{color:#dc3545;font-size:14px;font-weight:500}.user-selection-container{position:relative;width:100%}.selected-user-card{background:#fff;border:2px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1rem;transition:all .3s ease}.selected-user-card:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea26}.user-card-header{gap:1rem;margin-bottom:1rem}.user-avatar,.user-card-header{align-items:center;display:flex}.user-avatar{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;flex-shrink:0;font-size:1.2rem;font-weight:600;height:50px;justify-content:center;width:50px}.user-info h4{color:#2c3e50;font-size:1.1rem;font-weight:600;margin:0 0 .25rem}.user-username{color:#6c757d;font-size:.9rem;margin:0 0 .5rem}.user-card-details{grid-gap:.75rem;border-top:1px solid #e9ecef;display:grid;gap:.75rem;grid-template-columns:1fr 1fr;padding-top:.75rem}.user-search-container{position:relative;width:100%}.user-search-input{background:#0000;border:none;flex:1 1;font-size:.9rem;outline:none;padding:.75rem}.user-search-input::placeholder{color:#adb5bd}.user-selection-dropdown{background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 8px 25px #00000026;left:0;margin-top:.25rem;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.user-list{max-height:200px;overflow-y:auto}.user-option-card{align-items:center;border-bottom:1px solid #f8f9fa;cursor:pointer;display:flex;gap:.75rem;padding:.75rem 1rem;transition:all .2s ease}.user-option-card:hover{background:#f8f9fa}.user-option-card:last-child{border-bottom:none}.user-option-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1rem;font-weight:600;height:40px;justify-content:center;width:40px}.user-option-info{flex:1 1;min-width:0}.user-option-name{color:#2c3e50;font-size:.9rem;font-weight:600;margin-bottom:.25rem}.user-option-username{color:#6c757d;font-size:.8rem;margin-bottom:.25rem}.user-option-email{color:#6c757d;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-option-role{border-radius:12px;flex-shrink:0;font-size:.7rem;font-weight:600;letter-spacing:.5px;padding:.25rem .5rem;text-transform:uppercase}.user-option-role.admin{background:#d1ecf1;color:#0c5460}.user-option-role.user{background:#e2e3e5;color:#383d41}.no-users-found{color:#6c757d;font-style:italic;padding:1.5rem;text-align:center}.btn-outline{background:#0000;border:1px solid #667eea;color:#667eea}.btn-outline:hover{background:#667eea;color:#fff}.power-plant-selection-container{position:relative;width:100%}.selected-power-plant-card{background:#fff;border:2px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1rem;transition:all .3s ease}.selected-power-plant-card:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea26}.power-plant-card-header{align-items:center;display:flex;gap:1rem;margin-bottom:1rem}.power-plant-icon{align-items:center;background:linear-gradient(135deg,gold,#ff8c00);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.5rem;height:50px;justify-content:center;width:50px}.power-plant-info h4{color:#2c3e50;font-size:1.1rem;font-weight:600;margin:0 0 .25rem}.power-plant-serial{color:#6c757d;font-family:monospace;font-size:.9rem;margin:0 0 .5rem}.power-plant-type{background:#e8f5e8;border-radius:20px;color:#2d5a2d;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.power-plant-card-details{grid-gap:.75rem;border-top:1px solid #e9ecef;display:grid;gap:.75rem;grid-template-columns:1fr 1fr 1fr;padding-top:.75rem}.power-plant-search-container{position:relative;width:100%}.power-plant-search-input{background:#0000;border:none;flex:1 1;font-size:.9rem;outline:none;padding:.75rem}.power-plant-search-input::placeholder{color:#adb5bd}.power-plant-selection-dropdown{background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 8px 25px #00000026;left:0;margin-top:.25rem;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.power-plant-selection-dropdown .power-plant-list{max-height:200px;overflow-y:auto}.power-plant-option-card{align-items:center;border-bottom:1px solid #f8f9fa;cursor:pointer;display:flex;gap:.75rem;padding:.75rem 1rem;transition:all .2s ease}.power-plant-option-card:hover{background:#f8f9fa}.power-plant-option-card:last-child{border-bottom:none}.power-plant-option-icon{align-items:center;background:linear-gradient(135deg,gold,#ff8c00);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.2rem;height:40px;justify-content:center;width:40px}.power-plant-option-info{flex:1 1;min-width:0}.power-plant-option-name{color:#2c3e50;font-size:.9rem;font-weight:600;margin-bottom:.25rem}.power-plant-option-serial{color:#6c757d;font-family:monospace;font-size:.8rem;margin-bottom:.25rem}.power-plant-option-location{color:#6c757d;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.power-plant-option-type{background:#e8f5e8;border-radius:12px;color:#2d5a2d;flex-shrink:0;font-size:.7rem;font-weight:600;letter-spacing:.5px;padding:.25rem .5rem;text-transform:uppercase}.no-power-plants-found{color:#6c757d;font-style:italic;padding:1.5rem;text-align:center}.loading-container{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:3rem}.loading-container .loading-spinner{animation:spin 1s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#667eea;height:40px;width:40px}.error-container{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:3rem;text-align:center}.error-container p{color:#dc3545;font-size:1.1rem;margin:0}.search-select-container{position:relative;width:100%}.search-input-wrapper{align-items:center;background:#fff;border:2px solid #e9ecef;border-radius:8px;display:flex;transition:all .3s ease}.search-input-wrapper:focus-within{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.search-input{background:#fff;border:none;flex:1 1;font-size:.9rem;outline:none;padding:.75rem}.search-input::placeholder{color:#adb5bd}.search-btn{background:none;border:none;color:#6c757d;cursor:pointer;font-size:1.1rem;padding:.75rem;transition:color .3s ease}.search-btn:hover{color:#667eea}.selected-item{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;display:flex;justify-content:space-between;margin-top:.5rem;padding:.5rem .75rem}.selected-text{color:#495057;font-size:.9rem;font-weight:500}.clear-btn{background:none;border:none;border-radius:4px;color:#6c757d;cursor:pointer;font-size:.9rem;padding:.25rem;transition:all .2s ease}.clear-btn:hover{background:#e9ecef;color:#495057}.search-dropdown{background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 8px 25px #00000026;left:0;margin-top:.25rem;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.dropdown-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;color:#495057;display:flex;font-size:.9rem;font-weight:600;justify-content:space-between;padding:.75rem 1rem}.close-btn{background:none;border:none;border-radius:4px;color:#6c757d;cursor:pointer;font-size:1.1rem;padding:.25rem;transition:all .2s ease}.close-btn:hover{background:#e9ecef;color:#495057}.dropdown-list{max-height:200px;overflow-y:auto}.dropdown-item{border-bottom:1px solid #f8f9fa;cursor:pointer;padding:.75rem 1rem;transition:all .2s ease}.dropdown-item:hover{background:#f8f9fa}.dropdown-item:last-child{border-bottom:none}.item-name{color:#2c3e50;font-size:.9rem;font-weight:600;margin-bottom:.25rem}.item-details{color:#6c757d;font-size:.8rem;margin-bottom:.25rem}.item-email,.item-location{color:#6c757d;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.no-results{color:#6c757d;font-style:italic;padding:1.5rem;text-align:center}.connection-stats{align-items:center;display:flex;gap:1rem}.stat-item{color:#6c757d;font-size:.9rem}.stat-item strong{color:#495057;font-weight:600}.connection-row{transition:all .2s ease}.connection-row:hover{background:#f8f9fa}.plant-name,.user-name{color:#2c3e50;font-size:.9rem;font-weight:500}.date-info{color:#6c757d;font-size:.8rem}.no-data{color:#6c757d;font-style:italic;padding:2rem;text-align:center}.no-data p{font-size:.9rem;margin:0}.user-details{color:#6c757d;font-size:.8rem;margin-top:.25rem}.connection-detail{display:flex;flex-direction:column;gap:1.5rem}.detail-section{background:#f8f9fa;border-radius:8px;padding:1rem}.detail-section h4{border-bottom:2px solid #e9ecef;color:#2c3e50;font-size:1.1rem;font-weight:600;margin:0 0 1rem;padding-bottom:.5rem}.detail-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr 1fr}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-label{color:#6c757d;font-size:.8rem;font-weight:500}.detail-value{color:#495057;font-size:.9rem;font-weight:500}.connection-info{background:#f8f9fa;border-radius:8px;margin:1rem 0;padding:1rem}.connection-info p{color:#495057;margin:.5rem 0}.equipment-approval-component{width:100%}.equipment-approval-header{margin-bottom:2rem;text-align:center}.equipment-approval-header h2{color:#2c3e50;font-size:1.8rem;font-weight:600;margin:0 0 .5rem}.equipment-approval-header p{color:#6c757d;font-size:1rem;margin:0}.equipment-approval-layout{grid-gap:3rem;align-items:start;display:grid;gap:3rem;grid-template-columns:1fr}.equipment-approval-list-section{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #0000001a;max-height:80vh;overflow:hidden;overflow-y:auto}.equipment-approval-list-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;padding:1.5rem}.equipment-approval-list-header h3{color:#495057;font-size:1.3rem;font-weight:600;margin:0}.equipment-approval-search-section{align-items:center;display:flex;gap:.5rem}.equipment-approval-search-input{border:1px solid #ced4da;border-radius:6px;font-size:.9rem;min-width:300px;padding:.5rem .75rem}.equipment-approval-search-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.equipment-approval-table{display:flex;flex-direction:column;max-height:60vh;overflow-y:auto}.equipment-approval-table-header{background:#e9ecef;color:#495057;display:grid;font-size:.85rem;font-weight:600;grid-template-columns:1fr 1fr 1fr 1fr 1fr;letter-spacing:.5px;padding:1rem .75rem;position:-webkit-sticky;position:sticky;text-transform:uppercase;top:0;z-index:10}.equipment-approval-table-row{border-bottom:1px solid #dee2e6;display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr;transition:background-color .2s ease}.equipment-approval-table-row:hover{background:#f8f9fa}.equipment-approval-table-cell{align-items:center;color:#495057;display:flex;font-size:.9rem;padding:1rem .75rem}.equipment-approval-status-badge{border-radius:20px;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.equipment-approval-status-badge.active{background:#d4edda;color:#155724}.equipment-approval-status-badge.inactive{background:#f8d7da;color:#721c24}.equipment-approval-status-badge.pending{background:#fff3cd;color:#856404}.equipment-approval-action-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.equipment-approval-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.equipment-approval-modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:90vh;max-width:1000px;overflow-y:auto;width:95%}.equipment-approval-modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 24px}.equipment-approval-modal-header h3{color:#1f2937;font-size:18px;font-weight:600;margin:0}.equipment-approval-modal-close{background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;font-size:20px;padding:4px;transition:all .2s ease}.equipment-approval-modal-close:hover{background-color:#f3f4f6;color:#374151}.equipment-approval-modal-body{padding:24px}.equipment-approval-modal-footer{border-top:1px solid #e5e7eb;justify-content:flex-end;padding:20px 24px}.equipment-approval-modal-footer,.equipment-approval-modal-footer-buttons{align-items:center;display:flex;gap:12px}.equipment-approval-info{display:flex;flex-direction:column;gap:2rem}.equipment-approval-info-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1.5rem}.equipment-approval-info-section h4{border-bottom:3px solid #667eea;color:#1a202c;font-size:1.4rem;font-weight:700;margin:0 0 1.5rem;padding-bottom:.75rem;position:relative;text-shadow:0 1px 2px #0000001a}.equipment-approval-info-section h4:before{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:2px;bottom:-3px;content:"";height:3px;left:0;position:absolute;width:50px}.equipment-approval-info-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.equipment-approval-info-item{display:flex;flex-direction:column;gap:.25rem}.equipment-approval-info-item label{color:#6c757d;font-size:.85rem;font-weight:500}.equipment-approval-info-item span{color:#495057;font-size:.9rem;font-weight:500}.equipment-approval-equipment-list{display:flex;flex-direction:column;gap:1rem}.equipment-approval-equipment-item{background:#fff;border:2px solid #e9ecef;border-radius:12px;box-shadow:0 4px 8px #00000014;margin-bottom:1rem;padding:1.5rem;transition:all .3s ease}.equipment-approval-equipment-item:hover{border-color:#667eea;box-shadow:0 6px 12px #667eea26;transform:translateY(-2px)}.equipment-approval-equipment-header{align-items:flex-start;border-bottom:2px solid #f1f3f4;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.5rem;min-height:2.5rem;padding-bottom:1rem}.equipment-approval-equipment-header strong{color:#1a202c;flex:1 1;font-size:1.2rem;font-weight:700;line-height:1.4;text-shadow:0 1px 2px #0000001a;word-break:break-word}.equipment-approval-equipment-type{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:25px;box-shadow:0 2px 4px #667eea4d;color:#fff;flex-shrink:0;font-size:.8rem;font-weight:700;height:-webkit-fit-content;height:fit-content;letter-spacing:.8px;padding:.5rem 1rem;text-transform:uppercase;white-space:nowrap}.equipment-approval-equipment-details{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.equipment-approval-detail-row{background:#f8f9fa;border-left:4px solid #667eea;border-radius:8px;display:flex;flex-direction:column;gap:.25rem;min-height:3rem;padding:.75rem;transition:all .2s ease}.equipment-approval-detail-row:hover{background:#f1f3f4;border-left-color:#5a6fd8;transform:translateX(2px)}.equipment-approval-detail-row span:first-child{color:#6c757d;font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-bottom:.25rem;text-transform:uppercase}.equipment-approval-detail-row span:last-child{background:#fff;border:1px solid #e2e8f0;border-radius:4px;box-shadow:0 1px 2px #0000000d;color:#1a202c;font-family:Courier New,monospace;font-size:.95rem;font-weight:600;padding:.5rem;word-break:break-all}.btn-info{background:#17a2b8}.btn-info:hover{background:#138496;box-shadow:0 4px 12px #17a2b84d;transform:translateY(-1px)}.equipment-approval-loading-row{align-items:center;color:#6c757d;display:flex;font-size:.9rem;gap:.5rem;justify-content:center;padding:2rem}.equipment-approval-loading-spinner{animation:spin 1s linear infinite;border:2px solid #e2e8f0;border-radius:50%;border-top-color:#667eea;height:20px;width:20px}.equipment-approval-load-more-section,.equipment-approval-no-more-data{border-top:1px solid #dee2e6;display:flex;justify-content:center;padding:1.5rem}.equipment-approval-no-more-data{color:#6c757d;font-size:.9rem;font-style:italic}@media (max-width:768px){.equipment-approval-table-header,.equipment-approval-table-row{gap:.5rem;grid-template-columns:1fr}.equipment-approval-table-cell{border-bottom:1px solid #dee2e6;padding:.5rem}.equipment-approval-table-cell:before{color:#6c757d;content:attr(data-label);font-weight:600;margin-right:.5rem;min-width:100px}.equipment-approval-equipment-details{grid-template-columns:1fr}.equipment-approval-detail-row{min-height:2.5rem;padding:.5rem}.equipment-approval-detail-row span:last-child{font-size:.85rem;padding:.4rem}.equipment-approval-equipment-header{align-items:flex-start;flex-direction:column;gap:.5rem}.equipment-approval-info-grid{grid-template-columns:1fr}.equipment-approval-modal-content{margin:20px;width:95%}.equipment-approval-modal-body,.equipment-approval-modal-footer,.equipment-approval-modal-header{padding:16px}.equipment-approval-list-header{align-items:flex-start;flex-direction:column;gap:1rem}.equipment-approval-search-section{width:100%}.equipment-approval-search-input{flex:1 1;min-width:200px}.modal-content{margin:20px;width:95%}.modal-body,.modal-footer,.modal-header{padding:16px}.warning-icon{font-size:36px}.user-card-details{grid-template-columns:1fr}.user-card-header{gap:.75rem}.user-card-header,.user-option-card{align-items:flex-start;flex-direction:column}.user-option-card{gap:.5rem}.user-option-info{width:100%}.power-plant-card-details{grid-template-columns:1fr}.power-plant-card-header{align-items:flex-start;flex-direction:column;gap:.75rem}.power-plant-option-card{align-items:flex-start;flex-direction:column;gap:.5rem}.power-plant-option-info{width:100%}}.registration-page{background:#f8fafc;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh}.registration-layout{display:flex;gap:0;height:calc(100vh - 60px)}.registration-sidebar{background:#fff;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;gap:.5rem;padding:1rem 0;width:250px}.sidebar-tab{align-items:center;background:#0000;border:none;border-left:3px solid #0000;color:#6c757d;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.75rem;padding:1rem 1.5rem;text-align:left;transition:all .3s ease;width:100%}.sidebar-tab:hover{background:#f8f9fa;color:#495057}.sidebar-tab.active{background:#e3f2fd;border-left-color:#1976d2;color:#1976d2;font-weight:600}.tab-icon{font-size:1.5rem}.tab-label{font-size:.85rem;text-align:left}.registration-main{background:#fff;flex:1 1;overflow-y:auto;padding:2rem}@media (max-width:768px){.registration-content{padding:1rem}.registration-tabs{flex-direction:column}.tab-btn{flex-direction:row;justify-content:flex-start;text-align:left}.tab-icon{font-size:1.2rem}.tab-label{font-size:.9rem}}@media (max-width:480px){.registration-main{padding:1.5rem}}.inquiry-container{background-color:#fff;min-height:100vh;padding:2rem}.inquiry-header{border-bottom:2px solid #e9ecef;margin-bottom:2rem;padding-bottom:1rem}.inquiry-header h2{color:#2c3e50;font-size:1.8rem;font-weight:600;margin-bottom:.5rem}.inquiry-header p{color:#6c757d;font-size:.95rem;margin:0}.inquiry-content{background-color:#fff}.inquiry-list-section{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;overflow:hidden}.inquiry-list-header{align-items:center;background-color:#f8f9fa;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;padding:1.5rem}.inquiry-list-header h3{color:#2c3e50;font-size:1.2rem;font-weight:600;margin:0}.inquiry-search-section{display:flex;gap:.5rem}.inquiry-search-input{border:1px solid #ced4da;border-radius:4px;font-size:.9rem;min-width:300px;padding:.5rem 1rem;transition:border-color .2s}.inquiry-search-input:focus{border-color:#007bff;box-shadow:0 0 0 .2rem #007bff40;outline:none}.inquiry-table{background-color:#fff}.inquiry-table-header{background-color:#f8f9fa;border-bottom:2px solid #dee2e6;color:#495057;font-weight:600}.inquiry-table-header,.inquiry-table-row{display:grid;grid-template-columns:1fr 1.5fr 1fr 1fr 1.2fr .8fr}.inquiry-table-row{border-bottom:1px solid #e9ecef;transition:background-color .2s}.inquiry-table-row:hover{background-color:#f8f9fa}.inquiry-table-cell{align-items:center;color:#495057;display:flex;font-size:.9rem;padding:1rem}.inquiry-action-buttons{display:flex;gap:.5rem}.inquiry-loading-row{align-items:center;color:#6c757d;display:flex;gap:1rem;justify-content:center;padding:2rem}.inquiry-loading-spinner{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#007bff;height:20px;width:20px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.inquiry-load-more-section{padding:1.5rem}.inquiry-load-more-section,.inquiry-no-more-data{background-color:#f8f9fa;display:flex;justify-content:center}.inquiry-no-more-data{color:#6c757d;font-size:.9rem;padding:2rem}.inquiry-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:1000}.inquiry-modal-content{background-color:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:1200px;width:90%}.inquiry-modal-header{align-items:center;background-color:#f8f9fa;border-bottom:2px solid #e9ecef;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:1.5rem 2rem}.inquiry-modal-header h3{color:#2c3e50;font-size:1.4rem;font-weight:600;margin:0}.inquiry-modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#6c757d;cursor:pointer;display:flex;font-size:2rem;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.inquiry-modal-close:hover{background-color:#e9ecef;color:#495057}.inquiry-modal-body{background-color:#fff;flex:1 1;overflow-y:auto;padding:2rem}.inquiry-info{display:flex;flex-direction:column;gap:2rem}.inquiry-info-section{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1.5rem}.inquiry-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.inquiry-info-section h4{border-bottom:2px solid #dee2e6;color:#2c3e50;font-size:1.1rem;font-weight:600;margin:0 0 1rem;padding-bottom:.5rem}.inquiry-info-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.inquiry-info-item{background-color:#fff;border:1px solid #e9ecef;border-radius:4px;display:flex;flex-direction:column;gap:.3rem;padding:.75rem}.inquiry-info-item.full-width{grid-column:1/-1}.inquiry-info-item label{color:#495057;font-size:.85rem;font-weight:600}.inquiry-info-item span{color:#212529;font-size:.95rem}.inquiry-input{border:1px solid #ced4da;border-radius:4px;font-size:.9rem;padding:.5rem;transition:border-color .2s}.inquiry-input:focus{border-color:#007bff;box-shadow:0 0 0 .2rem #007bff40;outline:none}.inquiry-edit-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}.inquiry-equipment-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:1rem}.inquiry-equipment-item{background-color:#fff;border:1px solid #dee2e6;border-radius:8px;padding:1rem;transition:box-shadow .2s}.inquiry-equipment-item:hover{box-shadow:0 4px 12px #0000001a}.inquiry-equipment-header{align-items:center;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:1rem;min-height:40px;padding-bottom:.75rem}.inquiry-equipment-header>strong{flex:1 1;margin-right:1rem;min-width:0}.inquiry-equipment-header strong{color:#2c3e50;font-size:1rem}.inquiry-equipment-type{background-color:#007bff;border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.inquiry-equipment-details{display:flex;flex-direction:column;gap:.5rem}.inquiry-detail-row{grid-gap:1rem;align-items:center;background-color:#f8f9fa;border-radius:4px;display:grid;font-size:.85rem;gap:1rem;grid-template-columns:120px 1fr;overflow:hidden;padding:.5rem}.inquiry-detail-row span:first-child{color:#6c757d;font-weight:500;white-space:nowrap}.inquiry-detail-row .inquiry-input-inline,.inquiry-detail-row input,.inquiry-detail-row span:last-child{color:#212529;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis}.inquiry-loading-equipment{color:#6c757d;font-style:italic;padding:2rem;text-align:center}.inquiry-status-badge{border-radius:12px;display:inline-block;font-size:.85rem;font-weight:600;padding:.25rem .75rem}.inquiry-status-badge.active{background-color:#28a745;color:#fff}.inquiry-status-badge.pending{background-color:#ffc107;color:#212529}.inquiry-modal-footer{background-color:#f8f9fa;border-radius:0 0 12px 12px;border-top:2px solid #e9ecef;padding:1.5rem 2rem}.inquiry-modal-footer-buttons{display:flex;gap:.5rem;justify-content:flex-end}.btn{align-items:center;border:none;border-radius:4px;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:500;justify-content:center;padding:.5rem 1rem;transition:all .2s}.btn-sm{font-size:.85rem;padding:.375rem .75rem}.btn-xs{font-size:.75rem;padding:.25rem .5rem}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover{background-color:#0056b3}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#545b62}.btn-info{background-color:#17a2b8;color:#fff}.btn-info:hover{background-color:#138496}.btn-success{background-color:#28a745;color:#fff}.btn-success:hover{background-color:#218838}.btn-warning{background-color:#ffc107;color:#212529}.btn-warning:hover{background-color:#e0a800}.btn-danger{background-color:#dc3545;color:#fff}.btn-danger:hover{background-color:#c82333}.inquiry-input-inline{border:1px solid #ced4da;border-radius:4px;box-sizing:border-box;font-size:.85rem;max-width:100%;padding:.25rem .5rem;transition:border-color .2s;width:100%}.inquiry-input-inline:focus{border-color:#007bff;box-shadow:0 0 0 .2rem #007bff40;outline:none}.inquiry-equipment-actions{border-top:1px solid #e9ecef;display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem;padding-top:1rem}@media (max-width:1200px){.inquiry-table-header,.inquiry-table-row{grid-template-columns:1fr 1.5fr 1fr 1fr 1fr .8fr}}@media (max-width:992px){.inquiry-container{padding:1rem}.inquiry-search-input{min-width:200px}.inquiry-equipment-list,.inquiry-info-grid{grid-template-columns:1fr}}@media (max-width:768px){.inquiry-table-header,.inquiry-table-row{gap:.5rem;grid-template-columns:1fr}.inquiry-table-cell{padding:.5rem 1rem}.inquiry-modal-content{max-height:95vh;width:95%}.inquiry-modal-body{padding:1rem}}.notice-page{background:#f8fafc;display:flex;flex-direction:column;margin:0 auto;max-width:1200px;min-height:calc(100vh - 200px);padding:32px}.notice-header{margin-bottom:32px}.notice-header-top{grid-gap:16px;align-items:center;display:grid;gap:16px;grid-template-columns:1fr auto 1fr}.notice-header-left{display:block}.notice-header-center{color:#1e293b;font-size:32px;font-weight:700;margin:0;text-align:center}.notice-header-right{display:flex;justify-content:flex-end}.notice-header h1{color:#1e293b;font-size:32px;font-weight:700;margin:0}.write-button{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.write-button:hover{background:#5a67d8;box-shadow:0 2px 4px #667eea4d;transform:translateY(-1px)}.notice-subtitle{color:#64748b;font-size:16px;margin:0}.notice-board{align-self:flex-start;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;margin-bottom:0;max-width:100%;overflow:hidden;padding:0;width:100%}.notice-table{border-collapse:collapse;border-spacing:0;display:table;margin:0;min-width:800px;padding:0;table-layout:fixed;width:100%}.notice-table-wrapper{margin:0;max-height:calc(100vh - 300px);overflow-x:auto;overflow-y:auto;padding:0;width:100%}.notice-table-wrapper.no-scroll{height:auto;max-height:none;overflow-x:visible;overflow-y:visible}.notice-table tbody{display:table-row-group;margin-bottom:0;padding-bottom:0}.notice-table thead{display:table-header-group;position:-webkit-sticky;position:sticky;top:0;z-index:10}.notice-table th,.notice-table thead{background:#f8fafc;border-bottom:2px solid #e2e8f0}.notice-table th{color:#475569;font-size:14px;font-weight:600;padding:12px 32px;text-align:left}.notice-table tbody tr.notice-row{border-bottom:1px solid #e2e8f0;cursor:default;transition:background-color .2s ease}.notice-table tbody tr.notice-content-row:last-child,.notice-table tbody tr:last-child.notice-row{border-bottom:none}.notice-table tbody:last-child{margin-bottom:0;padding-bottom:0}.notice-table tbody tr:last-child.notice-row td{border-bottom:none;padding-bottom:12px}.notice-table tbody tr.notice-content-row:last-child td{border-bottom:none;padding-bottom:0}.notice-table tbody tr.notice-row:hover{background:#f8fafc}.notice-table tbody tr.important{background:#fef2f2}.notice-table tbody tr.important.notice-row:hover{background:#fee2e2}.notice-table td{color:#334155;font-size:14px;padding:12px 32px}.col-number{color:#64748b;width:100px}.col-number,.notice-table th.col-number{text-align:center}.col-title{max-width:500px;min-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:auto}.col-title,.notice-table th.col-title{text-align:left}.col-title{cursor:pointer;-webkit-user-select:none;user-select:none}.col-title:hover{background-color:#f8fafc}.col-title.expanded .notice-title-text{color:#667eea}.col-author{color:#64748b;width:150px}.col-author,.col-date,.notice-table th.col-author{text-align:center}.col-date{color:#64748b;width:150px}.notice-table th.col-date{text-align:center}.notice-content-row{background:#fafbfc}.notice-content-cell{border-top:none;padding:0!important}.notice-content-wrapper{background:#fafbfc;max-height:400px;overflow-y:auto;padding:24px 32px}.notice-content-text{color:#334155;font-size:15px;line-height:1.8;text-align:left;white-space:pre-wrap}.notice-content-actions{border-top:1px solid #e2e8f0;display:flex;gap:8px;justify-content:flex-end;margin-top:16px;padding-top:16px}.notice-delete-button,.notice-edit-button{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:6px 16px;transition:all .2s ease}.notice-edit-button{background:#667eea;color:#fff}.notice-edit-button:hover{background:#5a67d8;box-shadow:0 2px 4px #667eea4d;transform:translateY(-1px)}.notice-delete-button{background:#ef4444;color:#fff}.notice-delete-button:hover{background:#dc2626;box-shadow:0 2px 4px #ef44444d;transform:translateY(-1px)}.notice-title-text{align-items:center;color:#1e293b;display:flex;font-weight:500;gap:8px;min-width:0;overflow:hidden}.notice-title-text>span:last-child{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notice-title-text:hover{color:#667eea}.important-mark{background:#ef4444;border-radius:4px;color:#fff;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.5px;padding:2px 8px;text-transform:uppercase}.no-notices-cell{color:#94a3b8;font-size:16px;padding:60px 20px;text-align:center}.important-badge{background:#e5e7eb;border-radius:4px;color:#374151;display:inline-block;font-size:12px;font-weight:600;margin-right:8px;padding:4px 12px}.notice-detail-page{background:#f8fafc;margin:0 auto;max-width:900px;min-height:calc(100vh - 200px);padding:32px}.back-to-list-button{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;font-size:14px;font-weight:500;margin-bottom:24px;padding:12px 24px;transition:all .2s ease}.back-to-list-button:hover{background:#f1f5f9;border-color:#667eea;color:#667eea}.notice-detail-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:40px}.notice-detail-header{border-bottom:1px solid #e2e8f0;margin-bottom:32px;padding-bottom:24px}.notice-detail-title{align-items:center;color:#1e293b;display:flex;font-size:28px;font-weight:700;gap:12px;margin:0 0 20px}.notice-detail-meta{align-items:center;color:#64748b;display:flex;font-size:15px;gap:20px}.notice-date{font-weight:500}.notice-author{color:#94a3b8}.notice-detail-content{color:#334155;font-size:17px;line-height:1.9;white-space:pre-wrap}.pagination{align-items:center;display:flex;gap:8px;justify-content:center;margin-top:8px;padding:8px 0 0}.pagination-button{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;font-size:14px;font-weight:500;min-width:60px;padding:8px 16px;transition:all .2s ease}.pagination-button:hover:not(:disabled){background:#f1f5f9;border-color:#667eea;color:#667eea}.pagination-button:disabled{cursor:not-allowed;opacity:.5}.pagination-numbers{align-items:center;display:flex;gap:4px}.pagination-number{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;font-size:14px;font-weight:500;min-width:40px;padding:8px 12px;transition:all .2s ease}.pagination-number:hover{background:#f1f5f9;border-color:#667eea;color:#667eea}.pagination-number.active{background:#667eea;border-color:#667eea;color:#fff}.pagination-number.active:hover{background:#5a67d8;border-color:#5a67d8}.pagination-ellipsis{color:#94a3b8;font-size:14px;padding:0 4px}.notice-write-page{background:#f8fafc;box-sizing:border-box;margin:0;max-width:none;min-height:calc(100vh - 200px);padding:32px;width:100%}.notice-write-header{margin-bottom:32px}.notice-write-header h1{color:#1e293b;font-size:24px;font-weight:700;margin:0;text-align:center}.notice-write-form{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;box-sizing:border-box;margin:0 auto;max-width:1600px;padding:40px;width:100%}.notice-write-form-group{margin-bottom:24px}.notice-write-form-group label{color:#334155;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.notice-write-form-group-horizontal{align-items:center;display:flex;gap:16px}.notice-write-form-group-horizontal label{flex-shrink:0;margin-bottom:0;min-width:80px}.notice-write-form-group-horizontal input{flex:0 0 auto;max-width:300px;width:auto}.notice-write-title-group input{flex:1 1;max-width:none!important;min-width:0;width:100%!important}.notice-write-form-group-row{align-items:flex-start;box-sizing:border-box;display:flex;gap:24px;margin-bottom:24px;width:100%}.notice-write-title-group{flex:1 1;margin-bottom:0;max-width:calc(100% - 400px);min-width:0}.notice-write-author-group{flex-shrink:0;margin-bottom:0;max-width:250px;min-width:200px}.notice-write-form-group input[type=text],.notice-write-form-group textarea{border:1px solid #e2e8f0;border-radius:8px;box-sizing:border-box;color:#1e293b;font-family:inherit;font-size:15px;padding:12px 16px;transition:all .2s ease;width:100%}.notice-write-form-group input[type=text]:focus,.notice-write-form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.notice-write-form-group textarea{line-height:1.6;min-height:300px;resize:vertical}.notice-write-editor-wrapper{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.slate-toolbar{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:4px;padding:8px 12px}.slate-toolbar-button{align-items:center;background:#0000;border:1px solid #0000;border-radius:4px;color:#475569;cursor:pointer;display:flex;font-size:14px;height:32px;justify-content:center;min-width:32px;padding:6px 10px;transition:all .2s ease}.slate-toolbar-button:hover{background:#e2e8f0;border-color:#cbd5e1}.slate-toolbar-button:active{background:#cbd5e1}.slate-align-button{padding:4px 8px}.slate-align-icon{display:flex;flex-direction:column;gap:2px;height:16px;justify-content:space-between;width:20px}.slate-align-icon span{background:#475569;border-radius:1px;display:block;height:2px}.slate-align-left span,.slate-align-left span:first-child,.slate-align-left span:nth-child(5){width:100%}.slate-align-left span:nth-child(2){width:80%}.slate-align-left span:nth-child(3){width:50%}.slate-align-left span:nth-child(4){width:70%}.slate-align-center span{margin:0 auto}.slate-align-center span:first-child,.slate-align-center span:nth-child(5){width:100%}.slate-align-center span:nth-child(2),.slate-align-center span:nth-child(3),.slate-align-center span:nth-child(4){width:60%}.slate-align-right span{margin-left:auto}.slate-align-right span:first-child,.slate-align-right span:nth-child(5){width:100%}.slate-align-right span:nth-child(2){width:80%}.slate-align-right span:nth-child(3){width:50%}.slate-align-right span:nth-child(4){width:70%}.slate-toolbar-button.active{background:#667eea;border-color:#667eea;color:#fff}.slate-toolbar-button.active:hover{background:#5a67d8;border-color:#5a67d8}.slate-toolbar-divider{background:#e2e8f0;height:20px;margin:0 4px;width:1px}.slate-toolbar-select{background:#fff;border:1px solid #e2e8f0;border-radius:4px;color:#475569;cursor:pointer;font-size:14px;height:32px;min-width:100px;outline:none;padding:6px 10px;transition:all .2s ease}.slate-toolbar-select:hover{background:#f8fafc;border-color:#cbd5e1}.slate-toolbar-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.slate-color-picker-wrapper{position:relative}.slate-color-button{min-width:32px}.slate-color-picker{background:#fff;border:1px solid #e2e8f0;border-radius:0;box-shadow:0 4px 12px #00000026;left:0;margin-top:4px;padding:8px;position:absolute;top:100%;z-index:1000}.slate-color-grid{grid-gap:5px;align-items:center;display:grid;gap:5px;grid-template-columns:repeat(7,auto);padding:8px}.slate-color-item{background-color:#000;border:1px solid #d0d0d0;border-radius:2px;cursor:pointer;height:16px;padding:0;transition:all .15s ease;width:16px}.slate-color-item:hover{border-color:#667eea;box-shadow:0 2px 4px #0003;transform:scale(1.1)}.slate-editor-container{height:400px;overflow-x:hidden;overflow-y:auto;position:relative}.slate-editor{color:#334155;font-size:15px;line-height:1.6;min-height:100%;outline:none;padding:16px}.slate-editor:focus{outline:none}.slate-editor-container:before{color:#94a3b8;content:attr(data-placeholder);left:16px;opacity:0;pointer-events:none;position:absolute;top:16px;transition:opacity .2s;z-index:1}.slate-editor-container:has(.slate-editor:empty):before,.slate-editor:empty+.slate-editor-container:before{opacity:1}.slate-editor-container.placeholder:before{opacity:1}.slate-editor p{margin:0 0 12px}.slate-editor p:last-child{margin-bottom:0}.slate-editor h1{color:#1e293b;font-size:24px;font-weight:700;margin:16px 0 12px}.slate-editor h2{color:#1e293b;font-size:20px;font-weight:700;margin:14px 0 10px}.slate-editor h3{color:#1e293b;font-size:18px;font-weight:600;margin:12px 0 8px}.slate-editor ol,.slate-editor ul{margin:12px 0;padding-left:24px}.slate-editor li{margin:4px 0}.slate-editor [data-slate-placeholder]{color:#94a3b8;opacity:1;pointer-events:none;position:absolute}.notice-write-readonly-input{background:#f8fafc;color:#64748b;cursor:not-allowed}.notice-write-readonly-input:focus{border-color:#e2e8f0;box-shadow:none}.notice-write-checkbox-group{margin-bottom:32px}.notice-write-checkbox-label{align-items:center;cursor:pointer;display:flex;font-weight:500;gap:8px}.notice-write-checkbox-label input[type=checkbox]{accent-color:#667eea;cursor:pointer;height:18px;width:18px}.notice-write-checkbox-label span{color:#334155;-webkit-user-select:none;user-select:none}.notice-write-form-actions{border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;padding-top:24px}.notice-write-cancel-button{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.notice-write-cancel-button:hover{background:#f8fafc;border-color:#cbd5e1;color:#475569}.notice-write-submit-button{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.notice-write-submit-button:hover{background:#5a67d8;box-shadow:0 2px 4px #667eea4d;transform:translateY(-1px)}.unauthorized-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;justify-content:center;min-height:100%;padding:20px}.unauthorized-card{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0000001a;max-width:400px;padding:40px;text-align:center;width:100%}.unauthorized-icon{font-size:64px;margin-bottom:24px}.unauthorized-card h1{color:#2d3748;font-size:24px;font-weight:700;margin:0 0 16px}.unauthorized-card p{color:#718096;font-size:16px;line-height:1.5;margin:0 0 12px}.back-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:24px;padding:12px 24px;transition:all .3s ease}.back-button:hover{box-shadow:0 10px 20px #667eea4d;transform:translateY(-2px)}body,html{background-color:#f8fafc;margin:0;padding:0}#root{min-height:100vh}.App{background-color:#f8fafc;text-align:center}.App,.dashboard-layout{display:flex;flex-direction:column;min-height:100vh}.dashboard-layout>:not(:first-child){flex:1 1}.App-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 6px #0000001a;color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:50vh;padding:40px 20px}.App-header h1{font-size:32px;font-weight:700;margin:0 0 16px}.App-header p{font-size:18px;margin:0 0 24px;opacity:.9}
/*# sourceMappingURL=main.f3fed680.css.map*/