:root{--bg-primary: #0b0f19;--bg-secondary: #131929;--bg-tertiary: #1e293b;--border-color: #2e3d56;--accent-color: #6366f1;--accent-glow: rgba(99, 102, 241, .4);--accent-success: #10b981;--accent-success-glow: rgba(16, 185, 129, .2);--accent-warning: #f59e0b;--accent-warning-glow: rgba(245, 158, 11, .2);--accent-danger: #ef4444;--accent-danger-glow: rgba(239, 68, 68, .2);--accent-info: #06b6d4;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-title: "Outfit", sans-serif;--transition-speed: .25s;--border-radius: 12px;--box-shadow: 0 4px 20px -2px rgba(0, 0, 0, .5);--header-bg: rgba(19, 25, 41, .85);--bottom-bar-bg: rgba(19, 25, 41, .95);--kanban-bg: rgba(19, 25, 41, .4);--empty-state-bg: rgba(19, 25, 41, .2)}[data-theme=light]{--bg-primary: #f8fafc;--bg-secondary: #ffffff;--bg-tertiary: #e2e8f0;--border-color: #cbd5e1;--accent-color: #4f46e5;--accent-glow: rgba(79, 70, 229, .15);--accent-success: #059669;--accent-success-glow: rgba(5, 150, 105, .1);--accent-warning: #d97706;--accent-warning-glow: rgba(217, 119, 6, .1);--accent-danger: #dc2626;--accent-danger-glow: rgba(220, 38, 38, .1);--accent-info: #0891b2;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--box-shadow: 0 4px 20px -2px rgba(0, 0, 0, .08);--header-bg: rgba(255, 255, 255, .85);--bottom-bar-bg: rgba(255, 255, 255, .95);--kanban-bg: rgba(241, 245, 249, .6);--empty-state-bg: rgba(241, 245, 249, .5)}[data-theme=light] .form-select{background-image:url("data:image/svg+xml;utf8,<svg fill='%23475569' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>")}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;overflow-x:hidden}.app-container{display:flex;flex-direction:column;min-height:100vh;padding-bottom:75px}.header{position:sticky;top:0;background-color:var(--header-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);padding:16px 20px;z-index:100;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 30px #0000004d}.header-title-container{display:flex;align-items:center;gap:10px}.header h1{font-family:var(--font-title);font-size:1.25rem;font-weight:700;letter-spacing:-.025em;background:linear-gradient(135deg,gold 30%,#ff8c00);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.header-status-dot{width:8px;height:8px;background-color:var(--accent-success);border-radius:50%;box-shadow:0 0 10px var(--accent-success);animation:pulse 2s infinite}.main-content{flex:1;width:100%;max-width:900px;margin:0 auto;padding:20px}.bottom-bar{position:fixed;bottom:0;left:0;right:0;background-color:var(--bottom-bar-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--border-color);height:68px;display:flex;justify-content:space-around;align-items:center;z-index:1000;box-shadow:0 -4px 30px #00000080;padding:0 10px}.bottom-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-secondary);text-decoration:none;font-size:.7rem;font-weight:500;width:20%;height:100%;border:none;background:transparent;cursor:pointer;transition:all var(--transition-speed) ease;position:relative;gap:4px}.bottom-tab-icon{font-size:1.35rem;transition:transform var(--transition-speed) ease}.bottom-tab-label{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.05em}.bottom-tab:hover{color:var(--text-primary)}.bottom-tab:hover .bottom-tab-icon{transform:translateY(-2px)}.bottom-tab.active{color:var(--accent-color);font-weight:700}.bottom-tab.active:after{content:"";position:absolute;top:0;width:28px;height:3px;background-color:var(--accent-color);border-radius:0 0 4px 4px;box-shadow:0 0 10px var(--accent-color)}.card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:20px;margin-bottom:20px;box-shadow:var(--box-shadow);transition:transform var(--transition-speed) ease,border-color var(--transition-speed) ease}.card:hover{border-color:var(--accent-color);transform:translateY(-2px)}.card-title{font-family:var(--font-title);font-size:1.15rem;font-weight:600;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.badge-running{background-color:var(--accent-success-glow);color:var(--accent-success);border:1px solid rgba(16,185,129,.3)}.badge-idle{background-color:#94a3b81a;color:var(--text-secondary);border:1px solid rgba(148,163,184,.2)}.badge-maintenance{background-color:var(--accent-warning-glow);color:var(--accent-warning);border:1px solid rgba(245,158,11,.3)}.badge-critical{background-color:var(--accent-danger-glow);color:var(--accent-danger);border:1px solid rgba(239,68,68,.3)}.grid-2,.grid-3{display:grid;grid-template-columns:1fr;gap:16px}.grid-4{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media(min-width:600px){.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}}.stat-box{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:16px;text-align:center;box-shadow:var(--box-shadow)}.stat-value{font-family:var(--font-title);font-size:1.75rem;font-weight:800;color:var(--text-primary);margin-top:4px}.stat-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.form-group{margin-bottom:16px}.form-label{display:block;font-size:.8rem;font-weight:600;color:var(--text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.025em}.form-input{width:100%;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:10px 12px;color:var(--text-primary);font-family:var(--font-sans);font-size:.9rem;transition:border-color var(--transition-speed) ease}.form-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-glow)}.form-select{width:100%;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:10px 12px;color:var(--text-primary);font-family:var(--font-sans);font-size:.9rem;outline:none;transition:border-color var(--transition-speed) ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg fill='white' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>");background-repeat:no-repeat;background-position:right 10px center}.form-select:focus{border-color:var(--accent-color)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;font-family:var(--font-sans);font-size:.85rem;font-weight:600;border-radius:8px;border:none;cursor:pointer;transition:all var(--transition-speed) ease;gap:8px}.btn-primary{background-color:var(--accent-color);color:#fff;box-shadow:0 4px 14px var(--accent-glow)}.btn-primary:hover{background-color:#4f46e5;box-shadow:0 4px 20px #6366f199}.btn-secondary{background-color:transparent;color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background-color:var(--bg-tertiary);border-color:var(--text-secondary)}.btn-danger{background-color:var(--accent-danger);color:#fff;box-shadow:0 4px 14px var(--accent-danger-glow)}.btn-danger:hover{background-color:#dc2626}.btn-icon{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:1rem;padding:4px;border-radius:4px;transition:all var(--transition-speed) ease}.btn-icon:hover{color:var(--text-primary);background-color:var(--bg-tertiary)}.btn-icon-danger:hover{color:var(--accent-danger);background-color:var(--accent-danger-glow)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#05070cd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:2000;padding:20px}.modal-content{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius);max-width:500px;width:100%;box-shadow:0 10px 30px #0009;animation:modal-enter .3s ease}.modal-header{padding:16px 20px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.modal-title{font-family:var(--font-title);font-size:1.2rem;font-weight:700}.modal-body{padding:20px;max-height:70vh;overflow-y:auto}.modal-footer{padding:16px 20px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:12px}@keyframes pulse{0%{box-shadow:0 0 #10b981b3}70%{box-shadow:0 0 0 10px #10b98100}to{box-shadow:0 0 #10b98100}}@keyframes modal-enter{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.search-filter-bar{display:flex;gap:12px;margin-bottom:20px}.search-input-wrapper{flex:1;position:relative}.gauge-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-top:20px}.gauge-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:24px;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;overflow:hidden}.gauge-dial-container{position:relative;width:140px;height:140px;display:flex;justify-content:center;align-items:center;margin-bottom:12px}.gauge-svg{width:100%;height:100%;transform:rotate(-90deg)}.gauge-bg-circle{fill:none;stroke:var(--border-color);stroke-width:8px}.gauge-value-circle{fill:none;stroke:var(--accent-color);stroke-width:10px;stroke-linecap:round;transition:stroke-dashoffset .6s cubic-bezier(.4,0,.2,1)}.gauge-center-text{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center}.gauge-number{font-family:var(--font-title);font-size:1.75rem;font-weight:800;color:var(--text-primary)}.gauge-unit{font-size:.7rem;color:var(--text-secondary);font-weight:600;text-transform:uppercase}.gauge-title{font-family:var(--font-title);font-size:1rem;font-weight:600;color:var(--text-secondary)}.kanban-board{display:grid;grid-template-columns:1fr;gap:20px;margin-top:10px}@media(min-width:768px){.kanban-board{grid-template-columns:repeat(3,1fr)}}.kanban-col{background-color:var(--kanban-bg);border:1px dashed var(--border-color);border-radius:var(--border-radius);padding:16px;min-height:400px;display:flex;flex-direction:column;gap:12px}.kanban-col-header{font-family:var(--font-title);font-size:.95rem;font-weight:700;color:var(--text-secondary);display:flex;justify-content:space-between;align-items:center;padding-bottom:8px;border-bottom:2px solid var(--border-color);text-transform:uppercase;letter-spacing:.05em}.kanban-col-count{background-color:var(--bg-tertiary);color:var(--text-primary);font-size:.75rem;padding:2px 8px;border-radius:10px;font-weight:600}.kanban-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:14px;box-shadow:var(--box-shadow);cursor:pointer;transition:all var(--transition-speed) ease;display:flex;flex-direction:column;gap:8px}.kanban-card:hover{border-color:var(--accent-color);transform:translateY(-2px)}.kanban-card-title{font-weight:600;font-size:.9rem;color:var(--text-primary)}.kanban-card-desc{font-size:.75rem;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.kanban-card-meta{display:flex;justify-content:space-between;align-items:center;font-size:.7rem;color:var(--text-muted);margin-top:4px}.kanban-card-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.05);padding-top:8px;margin-top:4px}.priority-high{border-left:3px solid var(--accent-danger)}.priority-medium{border-left:3px solid var(--accent-warning)}.priority-low{border-left:3px solid var(--accent-info)}.empty-state{text-align:center;padding:40px 20px;color:var(--text-secondary);border:1px dashed var(--border-color);border-radius:var(--border-radius);background-color:var(--empty-state-bg)}.empty-state-icon{font-size:2.5rem;margin-bottom:12px}.empty-state-text{font-size:.9rem}.clickable-item{cursor:pointer}.alert-banner{background-color:var(--accent-warning-glow);border:1px solid rgba(245,158,11,.2);border-radius:var(--border-radius);padding:12px 16px;margin-bottom:20px;display:flex;align-items:center;gap:12px;color:var(--accent-warning);font-size:.85rem;font-weight:500}.alert-banner-close{margin-left:auto;background:transparent;border:none;color:var(--accent-warning);cursor:pointer;font-size:1rem}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.login-overlay{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:var(--bg-primary);padding:20px}.login-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;max-width:400px;width:100%;padding:32px;box-shadow:0 10px 40px #0009;text-align:center}.login-logo{font-size:3rem;margin-bottom:12px}.login-title{font-family:var(--font-title);font-size:1.5rem;font-weight:800;margin-bottom:6px;background:linear-gradient(135deg,#fff 40%,var(--accent-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.login-subtitle{font-size:.85rem;color:var(--text-secondary);margin-bottom:24px}.login-error{background-color:var(--accent-danger-glow);border:1px solid rgba(239,68,68,.2);color:var(--accent-danger);padding:10px;border-radius:8px;font-size:.8rem;font-weight:600;margin-bottom:18px;text-align:left}.sidebar{position:fixed;top:0;bottom:0;left:0;width:260px;background-color:var(--bg-secondary);border-right:1px solid var(--border-color);z-index:1010;display:flex;flex-direction:column;transition:transform var(--transition-speed) ease;box-shadow:4px 0 30px #00000026}.sidebar-header{padding:24px 20px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.sidebar-title{font-family:var(--font-title);font-size:1.35rem;font-weight:800;background:linear-gradient(135deg,gold 30%,#ff8c00);-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:flex;align-items:center;gap:8px}.sidebar-menu{flex:1;padding:20px 12px;display:flex;flex-direction:column;gap:6px;overflow-y:auto}.sidebar-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--border-radius);color:var(--text-secondary);text-decoration:none;font-weight:500;font-size:.9rem;border:none;background:transparent;width:100%;text-align:left;cursor:pointer;transition:all var(--transition-speed) ease}.sidebar-item:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.sidebar-item.active{background-color:var(--accent-glow);color:var(--accent-color);font-weight:600;box-shadow:0 0 15px #6366f11a}.sidebar-footer{padding:16px;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:12px}.main-wrapper{margin-left:260px;min-height:100vh;display:flex;flex-direction:column;transition:margin-left var(--transition-speed) ease}.mobile-nav-header{display:none;position:sticky;top:0;background-color:var(--header-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);padding:14px 20px;z-index:1000;justify-content:space-between;align-items:center;box-shadow:0 4px 20px #0000001a}.hamburger-btn{background:transparent;border:none;color:var(--text-primary);font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.sidebar-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1005}@media(max-width:768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay.open{display:block}.main-wrapper{margin-left:0}.mobile-nav-header{display:flex}.header,.bottom-bar{display:none}}
