@import "https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--font-sans:"Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;--font-mono:"JetBrains Mono", monospace;--mui-primary:#1976d2;--mui-primary-dark:#1565c0;--mui-primary-light:#42a5f5;--mui-primary-bg:#e3f2fd;--mui-primary-contrast:#fff;--mui-secondary:#0288d1;--mui-secondary-light:#e1f5fe;--mui-bg-default:#f4f6f8;--mui-bg-paper:#fff;--mui-bg-subtle:#f8fafc;--mui-text-primary:#000000de;--mui-text-secondary:#0009;--mui-text-disabled:#00000061;--mui-divider:#0000001f;--mui-border:#e0e0e0;--mui-border-hover:#b0bec5;--mui-success:#2e7d32;--mui-success-bg:#edf7ed;--mui-success-border:#c8e6c9;--mui-warning:#ed6c02;--mui-warning-bg:#fff4e5;--mui-warning-border:#ffe0b2;--mui-error:#d32f2f;--mui-error-bg:#fdeded;--mui-error-border:#ffcdd2;--mui-info:#0288d1;--mui-info-bg:#e1f5fe;--mui-info-border:#b3e5fc;--mui-shadow-1:0px 2px 1px -1px #0000000f, 0px 1px 1px 0px #0000000a, 0px 1px 3px 0px #00000014;--mui-shadow-2:0px 3px 1px -2px #0000001a, 0px 2px 2px 0px #00000014, 0px 1px 5px 0px #0000000f;--mui-shadow-4:0px 2px 4px -1px #0000001a, 0px 4px 5px 0px #00000014, 0px 1px 10px 0px #0000000f;--mui-shadow-8:0px 5px 5px -3px #0000001a, 0px 8px 10px 1px #00000014, 0px 3px 14px 2px #0000000f;--mui-shadow-16:0px 8px 10px -5px #0000001f, 0px 16px 24px 2px #00000014, 0px 6px 30px 5px #0000000f;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-pill:9999px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{width:100%;height:100%}body{font-family:var(--font-sans);background-color:var(--mui-bg-default);color:var(--mui-text-primary);letter-spacing:.01071em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:.875rem;line-height:1.5}button,input,select,textarea{font-family:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#cfd8dc;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#90a4ae}.app-container{background-color:var(--mui-bg-default);min-height:100vh;color:var(--mui-text-primary);flex-direction:column;padding-bottom:64px;display:flex}@media (width>=768px){.app-container{padding-bottom:0}}.navbar{background-color:var(--mui-bg-paper);border-bottom:1px solid var(--mui-divider);box-shadow:var(--mui-shadow-1);z-index:1100;justify-content:space-between;align-items:center;padding:.65rem 1.25rem;display:flex;position:sticky;top:0}@media (width>=768px){.navbar{padding:.65rem 2rem}}.brand-section{align-items:center;gap:.75rem;display:flex}.brand-icon-wrapper{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--mui-primary), var(--mui-primary-dark));color:#fff;justify-content:center;align-items:center;width:36px;height:36px;display:flex;box-shadow:0 2px 4px #1976d240}.brand-title-group h1{letter-spacing:-.01em;color:var(--mui-primary);font-size:1.15rem;font-weight:700;line-height:1.1}.brand-subtitle{color:var(--mui-text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.6875rem;font-weight:500}.desktop-nav-tabs{display:none}@media (width>=768px){.desktop-nav-tabs{align-items:center;gap:.35rem;display:flex}}.nav-tab-btn{border-radius:var(--radius-sm);color:var(--mui-text-secondary);text-transform:uppercase;letter-spacing:.02857em;cursor:pointer;background:0 0;border:none;align-items:center;gap:.45rem;padding:.5rem .95rem;font-size:.8125rem;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.nav-tab-btn:hover{color:var(--mui-primary);background-color:var(--mui-primary-bg)}.nav-tab-btn.active{color:var(--mui-primary);background-color:var(--mui-primary-bg);font-weight:600}.nav-tab-btn.active:after{content:"";background-color:var(--mui-primary);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:-.65rem;left:0;right:0}.mobile-bottom-nav{background-color:var(--mui-bg-paper);border-top:1px solid var(--mui-divider);z-index:1200;justify-content:space-around;align-items:center;height:60px;padding:0 .5rem;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -1px 4px #00000014}@media (width>=768px){.mobile-bottom-nav{display:none}}.mobile-nav-item{color:var(--mui-text-secondary);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:.4rem;font-size:.6875rem;font-weight:500;transition:color .15s;display:flex}.mobile-nav-item.active{color:var(--mui-primary);font-weight:600}.nav-user-section{align-items:center;gap:.75rem;display:flex}.user-badge-card{background-color:var(--mui-primary-bg);border-radius:var(--radius-pill);border:1px solid #1976d233;align-items:center;gap:.5rem;padding:.3rem .75rem;display:flex}.user-info-text{flex-direction:column;display:flex}.user-name{color:var(--mui-primary-dark);white-space:nowrap;text-overflow:ellipsis;max-width:130px;font-size:.8125rem;font-weight:600;overflow:hidden}.user-role-pill{text-transform:uppercase;letter-spacing:.04em;color:var(--mui-primary);font-size:.625rem;font-weight:600}.logout-btn{border:1px solid var(--mui-border);color:var(--mui-text-secondary);border-radius:var(--radius-xs);text-transform:uppercase;letter-spacing:.02857em;cursor:pointer;background-color:#0000;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.75rem;font-weight:500;transition:all .15s;display:flex}.logout-btn:hover{background-color:var(--mui-error-bg);border-color:var(--mui-error-border);color:var(--mui-error)}.main-content{flex:1;width:100%;max-width:1320px;margin:0 auto;padding:1.25rem}@media (width>=768px){.main-content{padding:1.75rem}}.btn-primary{background-color:var(--mui-primary);color:var(--mui-primary-contrast);border-radius:var(--radius-xs);text-transform:uppercase;letter-spacing:.02857em;box-shadow:var(--mui-shadow-2);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.45rem;padding:.5rem 1rem;font-size:.8125rem;font-weight:500;transition:background-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-primary:hover{background-color:var(--mui-primary-dark);box-shadow:var(--mui-shadow-4)}.btn-secondary{background-color:var(--mui-bg-paper);color:var(--mui-primary);border-radius:var(--radius-xs);text-transform:uppercase;letter-spacing:.02857em;cursor:pointer;border:1px solid #1976d280;justify-content:center;align-items:center;gap:.45rem;padding:.45rem .85rem;font-size:.8125rem;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-secondary:hover{background-color:var(--mui-primary-bg);border-color:var(--mui-primary)}.btn-danger{background-color:var(--mui-bg-paper);color:var(--mui-error);border:1px solid var(--mui-error-border);border-radius:var(--radius-xs);text-transform:uppercase;letter-spacing:.02857em;cursor:pointer;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.75rem;font-weight:500;transition:all .15s;display:inline-flex}.btn-danger:hover{background-color:var(--mui-error-bg)}.form-group{flex-direction:column;gap:.35rem;margin-bottom:.85rem;display:flex}.form-label{color:var(--mui-text-secondary);font-size:.75rem;font-weight:500}.form-input,.form-select,.form-textarea{background-color:var(--mui-bg-paper);border:1px solid var(--mui-border);border-radius:var(--radius-xs);color:var(--mui-text-primary);outline:none;padding:.6rem .75rem;font-size:.875rem;transition:border-color .2s cubic-bezier(0,0,.2,1),box-shadow .2s cubic-bezier(0,0,.2,1)}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:var(--mui-border-hover)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--mui-primary);box-shadow:0 0 0 1px var(--mui-primary)}.form-textarea{resize:vertical;min-height:80px}.modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1300;background-color:#00000080;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}@media (width>=768px){.modal-backdrop{align-items:center;padding:1.5rem}}.modal-card{background-color:var(--mui-bg-paper);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:620px;max-height:90vh;box-shadow:var(--mui-shadow-16);flex-direction:column;display:flex;overflow-y:auto}@media (width>=768px){.modal-card{border-radius:var(--radius-md)}}.modal-header{border-bottom:1px solid var(--mui-divider);background-color:var(--mui-bg-paper);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.modal-header h3{color:var(--mui-text-primary);font-size:1.1rem;font-weight:600}.modal-body{flex:1;padding:1.25rem;overflow-y:auto}.modal-footer{border-top:1px solid var(--mui-divider);background-color:var(--mui-bg-subtle);justify-content:flex-end;gap:.5rem;padding:.85rem 1.25rem;display:flex}.status-badge{border-radius:var(--radius-pill);align-items:center;gap:.3rem;padding:.2rem .65rem;font-size:.75rem;font-weight:500;line-height:1.2;display:inline-flex}.status-operational{background:var(--mui-success-bg);color:var(--mui-success);border:1px solid var(--mui-success-border)}.status-warning{background:var(--mui-warning-bg);color:var(--mui-warning);border:1px solid var(--mui-warning-border)}.status-maintenance{color:#455a64;background:#eceff1;border:1px solid #cfd8dc}.status-offline{background:var(--mui-error-bg);color:var(--mui-error);border:1px solid var(--mui-error-border)}.status-verified{background:var(--mui-success-bg);color:var(--mui-success);border:1px solid var(--mui-success-border)}.severity-critical{background:var(--mui-error-bg);color:var(--mui-error);border:1px solid var(--mui-error-border);font-weight:600}.severity-high{background:var(--mui-warning-bg);color:var(--mui-warning);border:1px solid var(--mui-warning-border);font-weight:600}.severity-medium{color:#37474f;background:#eceff1;border:1px solid #cfd8dc}.severity-low{background:var(--mui-success-bg);color:var(--mui-success);border:1px solid var(--mui-success-border)}.dashboard-grid{flex-direction:column;gap:1.5rem;display:flex}.metrics-row{grid-template-columns:repeat(2,1fr);gap:.85rem;display:grid}@media (width>=900px){.metrics-row{grid-template-columns:repeat(4,1fr);gap:1.1rem}}.metric-card{background:var(--mui-bg-paper);border-radius:var(--radius-md);box-shadow:var(--mui-shadow-1);border:1px solid #0000000d;align-items:center;gap:.85rem;padding:1rem 1.25rem;transition:box-shadow .2s cubic-bezier(.4,0,.2,1);display:flex}.metric-card:hover{box-shadow:var(--mui-shadow-4)}.metric-icon-box{border-radius:var(--radius-md);background-color:var(--mui-primary-bg);width:42px;height:42px;color:var(--mui-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.metric-info{flex-direction:column;display:flex}.metric-value{color:var(--mui-text-primary);font-size:1.45rem;font-weight:700;line-height:1.1}.metric-label{color:var(--mui-text-secondary);font-size:.75rem;font-weight:500}.section-header{justify-content:space-between;align-items:center;margin-bottom:.85rem;display:flex}.section-header h2{color:var(--mui-text-primary);letter-spacing:-.01em;font-size:1.15rem;font-weight:600}.equipment-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=640px){.equipment-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.equipment-grid{grid-template-columns:repeat(3,1fr)}}.machinery-card{background-color:var(--mui-bg-paper);border-radius:var(--radius-md);box-shadow:var(--mui-shadow-1);border:1px solid #0000000d;flex-direction:column;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.machinery-card:hover{box-shadow:var(--mui-shadow-4);transform:translateY(-2px)}.machinery-img-wrapper{background-color:#eceff1;height:135px;position:relative}.machinery-img-wrapper img{object-fit:cover;width:100%;height:100%}.machinery-status-overlay{position:absolute;top:.6rem;right:.6rem}.machinery-body{flex-direction:column;flex:1;gap:.45rem;padding:1rem;display:flex}.machinery-title{color:var(--mui-text-primary);font-size:.95rem;font-weight:600}.machinery-meta{color:var(--mui-text-secondary);flex-direction:column;gap:.15rem;font-size:.78125rem;display:flex}.machinery-specs-snippet{color:var(--mui-text-secondary);background-color:var(--mui-bg-subtle);border-radius:var(--radius-xs);border:1px solid var(--mui-border);padding:.5rem .65rem;font-size:.75rem;line-height:1.4}.machinery-footer{border-top:1px solid var(--mui-divider);background-color:var(--mui-bg-paper);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.ask-zone-container{flex-direction:column;gap:.85rem;height:calc(100vh - 145px);display:flex}@media (width>=768px){.ask-zone-container{grid-template-columns:270px 1fr;gap:1rem;height:calc(100vh - 115px);display:grid}}.chat-sidebar{background-color:var(--mui-bg-paper);border-radius:var(--radius-md);box-shadow:var(--mui-shadow-1);border:1px solid #0000000d;flex-direction:column;display:flex;overflow:hidden}.chat-sidebar.mobile-hidden{display:none}@media (width>=768px){.chat-sidebar.mobile-hidden{display:flex}}.chat-sidebar-header{border-bottom:1px solid var(--mui-divider);background-color:var(--mui-bg-paper);flex-direction:column;gap:.5rem;padding:.85rem;display:flex}.session-list{flex-direction:column;flex:1;gap:.25rem;padding:.5rem;display:flex;overflow-y:auto}.session-item{border-radius:var(--radius-xs);color:var(--mui-text-secondary);cursor:pointer;background-color:#0000;justify-content:space-between;align-items:center;padding:.55rem .75rem;font-size:.8125rem;transition:all .15s;display:flex}.session-item:hover{background-color:var(--mui-primary-bg);color:var(--mui-primary)}.session-item.active{background-color:var(--mui-primary-bg);color:var(--mui-primary);font-weight:600}.session-item-title{white-space:nowrap;text-overflow:ellipsis;max-width:175px;overflow:hidden}.chat-main-window{background-color:var(--mui-bg-paper);border-radius:var(--radius-md);box-shadow:var(--mui-shadow-1);border:1px solid #0000000d;flex-direction:column;flex:1;display:flex;overflow:hidden}.chat-header{border-bottom:1px solid var(--mui-divider);background-color:var(--mui-bg-paper);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.chat-stream{background-color:var(--mui-bg-default);flex-direction:column;flex:1;gap:1rem;padding:1.1rem;display:flex;overflow-y:auto}.chat-msg-row{gap:.75rem;max-width:90%;display:flex}@media (width>=768px){.chat-msg-row{max-width:80%}}.chat-msg-row.user{flex-direction:row-reverse;align-self:flex-end}.chat-msg-row.assistant{align-self:flex-start}.chat-avatar{background-color:var(--mui-primary);color:#fff;width:32px;height:32px;box-shadow:var(--mui-shadow-1);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-msg-row.user .chat-avatar{background-color:var(--mui-primary-dark)}.chat-bubble{border-radius:var(--radius-md);box-shadow:var(--mui-shadow-1);padding:.85rem 1.1rem;font-size:.875rem;line-height:1.5}.chat-msg-row.user .chat-bubble{background-color:var(--mui-primary);color:#fff;border-bottom-right-radius:2px}.chat-msg-row.assistant .chat-bubble{background-color:var(--mui-bg-paper);color:var(--mui-text-primary);border:1px solid #0000000f;border-bottom-left-radius:2px}.chat-attachments-container{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.chat-attachment-thumb{border-radius:var(--radius-xs);border:1px solid var(--mui-border);background:#000;max-width:160px;max-height:110px;overflow:hidden}.chat-attachment-thumb img,.chat-attachment-thumb video{object-fit:cover;width:100%;height:100%}.suggested-actions-row{border-top:1px solid var(--mui-divider);flex-wrap:wrap;gap:.4rem;margin-top:.65rem;padding-top:.65rem;display:flex}.suggested-action-chip{background-color:var(--mui-primary-bg);color:var(--mui-primary);border-radius:var(--radius-pill);cursor:pointer;border:1px solid #1976d24d;padding:.25rem .65rem;font-size:.75rem;font-weight:500;transition:all .15s}.suggested-action-chip:hover{border-color:var(--mui-primary);background-color:#bbdefb}.chat-input-suite{border-top:1px solid var(--mui-divider);background-color:var(--mui-bg-paper);flex-direction:column;gap:.5rem;padding:.75rem 1rem;display:flex}.multimodal-preview-bar{align-items:center;gap:.4rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.preview-chip{background-color:var(--mui-primary-bg);border-radius:var(--radius-pill);color:var(--mui-primary-dark);border:1px solid #1976d233;align-items:center;gap:.35rem;padding:.2rem .55rem;font-size:.75rem;display:flex}.preview-chip img{object-fit:cover;border-radius:50%;width:22px;height:22px}.input-controls-row{align-items:center;gap:.5rem;display:flex}.multimodal-actions{align-items:center;gap:.25rem;display:flex}.icon-action-btn{width:36px;height:36px;color:var(--mui-text-secondary);cursor:pointer;background-color:#0000;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .15s;display:flex}.icon-action-btn:hover{color:var(--mui-primary);background-color:#1976d214}.icon-action-btn.recording{background-color:var(--mui-error-bg);color:var(--mui-error)}.chat-textarea{background-color:var(--mui-bg-paper);border:1px solid var(--mui-border);border-radius:var(--radius-xs);color:var(--mui-text-primary);resize:none;outline:none;flex:1;min-height:38px;max-height:90px;padding:.55rem .75rem;font-size:.875rem}.chat-textarea:focus{border-color:var(--mui-primary);box-shadow:0 0 0 1px var(--mui-primary)}.voice-recorder-banner{background-color:var(--mui-error-bg);border:1px solid var(--mui-error-border);border-radius:var(--radius-xs);color:var(--mui-error);justify-content:space-between;align-items:center;padding:.4rem .75rem;font-size:.8125rem;font-weight:500;display:flex}.waveform-animation{align-items:center;gap:2px;height:14px;display:flex}.waveform-bar{background-color:var(--mui-error);border-radius:1px;width:2px;animation:1s ease-in-out infinite alternate wave}@keyframes wave{0%{height:2px}to{height:14px}}.users-table-card{background-color:var(--mui-bg-paper);border-radius:var(--radius-md);box-shadow:var(--mui-shadow-1);border:1px solid #0000000d;overflow-x:auto}.users-table{border-collapse:collapse;width:100%;min-width:560px;font-size:.875rem}.users-table th{background-color:var(--mui-bg-subtle);text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--mui-text-secondary);border-bottom:1px solid var(--mui-divider);padding:.75rem 1rem;font-size:.75rem;font-weight:600}.users-table td{border-bottom:1px solid var(--mui-divider);vertical-align:middle;padding:.75rem 1rem}.users-table tr:hover td{background-color:#1976d20a}
