*{box-sizing:border-box}html,body{margin:0;min-height:100%;overflow:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#08111f;color:#e8eefc}body{min-height:100vh}#app{position:relative;width:100vw;height:100vh}.scene-info{position:absolute;top:20px;left:50%;z-index:3;width:min(560px,calc(100vw - 560px));min-width:320px;transform:translate(-50%);padding:16px 18px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(4,10,20,.68);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 14px 30px #00000047;text-align:center}.scene-info h1{margin:0 0 8px;font-size:24px}.scene-info-header{position:relative;display:flex;align-items:center;justify-content:center}.scene-info-toggle{position:absolute;top:50%;right:0;transform:translateY(-50%);border:1px solid rgba(111,151,218,.28);border-radius:999px;padding:5px 10px;background:rgba(19,39,72,.7);color:#b9d4ff;font-size:12px;cursor:pointer}.scene-info-toggle:hover{border-color:#6f97da8a;background:rgba(30,59,105,.78)}.scene-info.is-collapsed{padding-bottom:14px}.scene-info.is-collapsed .scene-info-content{display:none}.scene-info p{margin:0 0 6px;font-size:14px;line-height:1.5;color:#c7d5f2}.scene-info p:last-child{margin-bottom:0}.scene-status{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.1)}.scene-auth{margin-top:12px}.scene-badge{display:inline-flex;margin-bottom:8px;padding:4px 10px;border:1px solid rgba(93,171,255,.36);border-radius:999px;background:rgba(28,58,110,.4);color:#a9ceff;font-size:12px;letter-spacing:.08em}.scene-info strong{color:#fff}.auth-card{padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(17,31,52,.55);text-align:left}.auth-form{display:flex;flex-direction:column;gap:10px}.auth-form-header,.auth-user-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.auth-form-header{flex-direction:column;align-items:flex-start}.auth-form-header span,.auth-user-row span,.auth-hint,.auth-role{color:#aebedf;font-size:12px}.auth-input-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.auth-input-row input{width:100%;border:1px solid rgba(111,151,218,.28);border-radius:10px;padding:10px 12px;background:rgba(7,15,28,.78);color:#e8eefc}.auth-input-row input::placeholder{color:#7487a7}.auth-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.auth-button{border:0;border-radius:10px;padding:9px 14px;background:linear-gradient(135deg,#2b78ff,#36b8ff);color:#fff;font-weight:600;cursor:pointer}.auth-button.secondary{background:rgba(38,64,110,.7)}.auth-button:disabled,.action-button:disabled,.mini-action-button:disabled{opacity:.56;cursor:not-allowed;filter:none}.auth-feedback{margin:0;font-size:12px;color:#7be6a3}.auth-feedback.is-error{color:#ff97a4}.dashboard-shell{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:space-between;pointer-events:none;padding:20px}.dashboard-column{display:flex;flex-direction:column;gap:14px;width:320px}.dashboard-panel{pointer-events:auto;padding:16px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(4,10,20,.68);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 18px 30px #0000003d}.dashboard-panel-secondary{display:none}.park-header h2,.panel-title h3,.selected-asset h4{margin:0}.park-header p,.panel-title span,.asset-row span,.alert-row span,.selected-asset p,.detail-item span,.kpi-card small{color:#aebedf}.panel-tag{display:inline-flex;margin-bottom:8px;padding:4px 10px;border-radius:999px;background:rgba(39,110,224,.25);color:#98c3ff;font-size:12px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.auth-inline{display:flex;align-items:center;gap:8px;margin-top:10px}.kpi-grid,.env-grid,.selected-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi-card,.detail-item{padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(17,31,52,.55)}.kpi-card span,.detail-item span{display:block;margin-bottom:6px;font-size:12px}.kpi-card strong,.detail-item strong{display:block;font-size:22px;line-height:1.1}.kpi-card small{display:block;margin-top:6px;font-size:12px}.asset-list,.alert-list{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}.asset-row,.alert-row,.work-order-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(17,31,52,.55)}.asset-row div,.alert-row div,.work-order-row div{display:flex;flex-direction:column;gap:4px}.asset-row strong,.alert-row strong,.work-order-row strong{font-size:14px}.alert-row:not(.status-critical):not(.status-warning):not(.status-normal){border-color:#567fc42e}.selected-asset{display:flex;flex-direction:column;gap:8px}.asset-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.action-button{border:0;border-radius:12px;padding:10px 14px;background:linear-gradient(135deg,#2b78ff,#36b8ff);color:#fff;font-weight:600;cursor:pointer}.action-button:hover{filter:brightness(1.05)}.action-button.is-disabled{background:rgba(38,64,110,.55)}.work-order-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.mini-action-button{border:1px solid rgba(100,161,255,.2);border-radius:10px;padding:6px 10px;background:rgba(38,64,110,.45);color:#dbe9ff;cursor:pointer;font-size:12px}.mini-action-button:hover{border-color:#64a1ff61}.api-tip{color:#9bb5df;font-size:12px}.trend-card{margin-top:10px;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(17,31,52,.55)}.trend-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;font-size:12px;color:#aebedf}.trend-meta strong{color:#fff}.sparkline{width:100%;height:72px}.sparkline polyline{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.trend-card.cyan .sparkline polyline{stroke:#5ad0ff}.trend-card.orange .sparkline polyline{stroke:#ffbf57}.trend-card.green .sparkline polyline{stroke:#49d786}.sparkline-empty,.command-feedback{margin-top:10px;padding:12px;border-radius:12px;background:rgba(26,44,71,.58);color:#b8c9e5;font-size:13px}.status-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:12px}.status-normal{border-color:#4ac77538;background:rgba(74,199,117,.16);color:#7be6a3}.status-warning{border-color:#ffbc4238;background:rgba(255,188,66,.16);color:#ffd47c}.status-critical{border-color:#ff5b6e38;background:rgba(255,91,110,.16);color:#ff97a4}.empty-row{padding:14px;border-radius:14px;background:rgba(17,31,52,.55);color:#aebedf}canvas{display:block;cursor:grab}canvas:active{cursor:grabbing}.lil-gui.root{--background-color: rgba(7, 15, 28, .9);--title-background-color: rgba(17, 32, 58, .95);--widget-color: #101a2b;--text-color: #e7eefc;--number-color: #8fd3ff;--string-color: #a9f3cf;z-index:2}@media (max-width: 640px){.dashboard-shell{inset:auto 0 0;height:220px;align-items:stretch;justify-content:flex-start;gap:12px;padding:12px;overflow-x:auto;overflow-y:hidden}.dashboard-column{display:contents}.scene-info{top:12px;left:50%;width:calc(100vw - 24px);min-width:0;max-height:calc(100vh - 24px);overflow-y:auto;padding:14px}.scene-info-header{padding:0 48px}.scene-info h1{font-size:20px}.scene-info-toggle{right:0;padding:5px 9px}.scene-info.is-collapsed~.dashboard-shell{padding-top:12px}.dashboard-panel{flex:0 0 min(320px,calc(100vw - 24px));min-width:0;height:196px;overflow-y:auto;padding:14px}.auth-input-row{grid-template-columns:1fr}.auth-actions,.auth-user-row{flex-direction:column;align-items:flex-start}}@media (min-width: 641px) and (max-width: 900px){.scene-info{width:calc(100vw - 32px);min-width:0}.dashboard-column{width:calc(50vw - 30px)}}
