@keyframes sidebar-status-pulse{0%,to{opacity:1}50%{opacity:.45}}.dashboard-sidebar.sidebar{--sidebar-width:220px;--sidebar-width-collapsed:64px;width:var(--sidebar-width);background:var(--noir-2);font-family:var(--font-sora), var(--font-sans), sans-serif;border-right:1px solid #8090761f;flex-direction:column;flex-shrink:0;transition:width .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.dashboard-sidebar.sidebar.collapsed{width:var(--sidebar-width-collapsed)}.sidebar-logo{border-bottom:1px solid #8090761a;align-items:center;gap:10px;padding:16px 14px 12px;display:flex}.sidebar-logo-mark{border-radius:8px;flex-shrink:0;line-height:0;transition:opacity .15s;display:block}.sidebar-logo-mark:hover{opacity:.92}.sidebar-logo-text{min-width:0;transition:opacity .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.sidebar-logo-name{font-family:var(--font-ibm-plex-mono), var(--font-mono), monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--khaki);white-space:nowrap;font-size:11px;font-weight:500}.sidebar-logo-sub{font-family:var(--font-ibm-plex-mono), var(--font-mono), monospace;color:var(--wasabi-dim);white-space:nowrap;margin-top:2px;font-size:10px}.sidebar.collapsed .sidebar-logo-text{opacity:0;width:0}.sidebar-status{background:#28413966;border:1px solid #80907626;border-radius:8px;align-items:center;gap:8px;margin:10px 10px 4px;padding:8px 10px;transition:opacity .3s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.sidebar-status-dot{background:var(--earth);border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:2s ease-in-out infinite sidebar-status-pulse}.sidebar-status-dot.is-running{background:#4ade80}.sidebar-status-copy{min-width:0;font-family:var(--font-ibm-plex-mono), var(--font-mono), monospace;color:var(--wasabi);white-space:nowrap;font-size:10px;line-height:1.35}.sidebar-status-copy strong{color:var(--earth);font-weight:500}.sidebar.collapsed .sidebar-status{opacity:0;pointer-events:none;border:none;height:0;margin:0;padding:0}.sidebar-nav{flex:1;min-height:0;padding:6px 0 8px;overflow:hidden auto}.sidebar-nav-group{margin-bottom:6px}.sidebar-nav-group-label{font-family:var(--font-ibm-plex-mono), var(--font-mono), monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--wasabi-dim);white-space:nowrap;padding:8px 16px 4px;font-size:9px;font-weight:500;transition:opacity .3s cubic-bezier(.4,0,.2,1),height .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.sidebar.collapsed .sidebar-nav-group-label{opacity:0;height:0;padding:0}.sidebar-nav-item{color:var(--wasabi);border-radius:8px;align-items:center;gap:10px;margin:1px 8px;padding:9px 16px;text-decoration:none;transition:background .15s,color .15s;display:flex;position:relative}.sidebar-nav-item:hover{color:#9aab8e;background:#28413980}.sidebar-nav-item.is-active{background:var(--emerald);color:var(--khaki)}.sidebar-nav-item.is-active:before{content:"";background:var(--earth);border-radius:0 2px 2px 0;width:3px;height:60%;position:absolute;top:20%;left:0}.sidebar-nav-icon{text-align:center;flex-shrink:0;width:20px}.sidebar-nav-icon svg{width:17px;height:17px}.sidebar-nav-label{min-width:0;font-family:var(--font-sora), var(--font-sans), sans-serif;white-space:nowrap;flex:1;font-size:13px;font-weight:400;transition:opacity .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.sidebar.collapsed .sidebar-nav-label{opacity:0;width:0}.sidebar-nav-badge{font-family:var(--font-ibm-plex-mono), var(--font-mono), monospace;border-radius:10px;flex-shrink:0;padding:2px 6px;font-size:9px;font-weight:500;line-height:1.2;transition:opacity .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1),padding .3s cubic-bezier(.4,0,.2,1)}.sidebar-nav-badge.is-filled{background:var(--earth);color:#fff8ee}.sidebar-nav-badge.is-outline{color:var(--earth);border:1px solid var(--earth-dim);background:0 0}.sidebar.collapsed .sidebar-nav-badge{opacity:0;border:none;width:0;padding:0;overflow:hidden}.sidebar.collapsed .sidebar-nav-item[data-tip]:after{content:attr(data-tip);z-index:50;background:var(--emerald);color:var(--khaki);font-family:var(--font-sora), var(--font-sans), sans-serif;white-space:nowrap;pointer-events:none;opacity:0;border:1px solid #f8d79426;border-radius:6px;padding:6px 10px;font-size:11px;transition:opacity .15s;position:absolute;top:50%;left:calc(100% + 12px);transform:translateY(-50%)}.sidebar.collapsed .sidebar-nav-item[data-tip]:hover:after{opacity:1}.sidebar-mode{border-top:1px solid #8090761a;flex-shrink:0;padding:12px 10px}.sidebar-mode-label{font-family:var(--font-ibm-plex-mono), var(--font-mono), monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--wasabi-dim);white-space:nowrap;margin-bottom:8px;font-size:9px;transition:opacity .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.sidebar.collapsed .sidebar-mode-label{opacity:0;height:0;margin:0}.sidebar-mode-buttons{gap:4px;transition:opacity .3s cubic-bezier(.4,0,.2,1);display:flex}.sidebar-mode-btn{min-width:0;font-family:var(--font-ibm-plex-mono), var(--font-mono), monospace;color:var(--wasabi-dim);cursor:pointer;background:0 0;border:1px solid #80907633;border-radius:6px;flex:1;padding:6px 4px;font-size:10px;transition:background .15s,border-color .15s,color .15s}.sidebar-mode-btn:hover{color:var(--wasabi);border-color:#80907659}.sidebar-mode-btn.is-active{border-color:var(--emerald-2);color:var(--khaki);background:#28413999}.sidebar.collapsed .sidebar-mode-buttons{opacity:0;pointer-events:none;height:0;overflow:hidden}.sidebar-mode-collapsed{justify-content:center;align-items:center;display:none}.sidebar.collapsed .sidebar-mode-collapsed{display:flex}.sidebar-mode-icon-btn{background:var(--emerald);width:40px;height:40px;color:var(--khaki);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;margin:0 auto;transition:background .15s;display:flex}.sidebar-mode-icon-btn:hover{background:var(--emerald-2)}.sidebar-footer{border-top:1px solid #8090761a;flex-shrink:0;align-items:center;gap:10px;padding:12px 10px;display:flex}.sidebar-footer-user{flex:1;align-items:center;gap:10px;min-width:0;display:flex;overflow:hidden}.sidebar-footer-avatar{background:var(--emerald);width:32px;height:32px;font-family:var(--font-ibm-plex-mono), var(--font-mono), monospace;color:var(--khaki);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:500;display:flex}.sidebar-footer-text{min-width:0;transition:opacity .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.sidebar-footer-name{font-family:var(--font-sora), var(--font-sans), sans-serif;color:var(--khaki);white-space:nowrap;font-size:12px;font-weight:500}.sidebar-footer-role{font-family:var(--font-ibm-plex-mono), var(--font-mono), monospace;color:var(--wasabi-dim);white-space:nowrap;margin-top:1px;font-size:10px}.sidebar.collapsed .sidebar-footer-text{opacity:0;width:0}.sidebar-collapse-btn{width:24px;height:24px;color:var(--wasabi);cursor:pointer;background:#28413966;border:1px solid #80907633;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s,transform .3s cubic-bezier(.4,0,.2,1);display:flex}.sidebar-collapse-btn:hover{color:var(--khaki);background:#284139a6}.sidebar.collapsed .sidebar-collapse-btn{transform:rotate(180deg)}.sidebar.collapsed .sidebar-logo{justify-content:center;padding-left:10px;padding-right:10px}.sidebar.collapsed .sidebar-footer{flex-direction:column;gap:8px;padding:10px 8px}.sidebar.collapsed .sidebar-footer-user{justify-content:center}
.boot-screen{--boot-bg:var(--noir,#111a19);--boot-panel:var(--noir-2,#1a2826);--boot-border:#8090761f;--boot-text:var(--wasabi,#809076);--boot-dim:var(--wasabi-dim,#5a6b5e);--boot-ready:#4ade80;--boot-warn:#f8d794;--boot-fail:#f87171;z-index:100;background:var(--boot-bg);color:var(--boot-text);font-family:var(--font-sora), system-ui, sans-serif;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.boot-screen-inner{flex-direction:column;gap:1.25rem;width:min(640px,100vw - 2rem);display:flex}.boot-screen-header{align-items:flex-start;gap:.875rem;display:flex}.boot-screen-brand{min-width:0}.boot-screen-title{letter-spacing:.02em;color:#c8d4bc;margin:0;font-size:1.125rem;font-weight:600}.boot-screen-subtitle{color:var(--boot-dim);margin:.25rem 0 0;font-size:.75rem;line-height:1.45}.boot-progress-track{background:#8090761a;border-radius:999px;height:2px;overflow:hidden}.boot-progress-fill{border-radius:inherit;background:linear-gradient(90deg, #284139, var(--boot-ready));height:100%;transition:width .35s}.boot-panel{border:1px solid var(--boot-border);background:var(--boot-panel);border-radius:8px;padding:1rem 1.125rem}.boot-checklist{flex-direction:column;gap:.625rem;margin:0;padding:0;list-style:none;display:flex}.boot-checklist-item{justify-content:space-between;align-items:center;gap:.75rem;font-size:.75rem;display:flex}.boot-checklist-label{color:var(--boot-dim);align-items:center;gap:.5rem;display:flex}.boot-checklist-item.is-ready .boot-checklist-label{color:var(--boot-text)}.boot-checklist-item.is-loading .boot-checklist-label{color:#c8d4bc}.boot-status-dot{background:#80907640;border-radius:50%;flex-shrink:0;width:6px;height:6px}.boot-status-dot.loading{background:var(--boot-warn);animation:1.2s ease-in-out infinite boot-pulse;box-shadow:0 0 6px #f8d79459}.boot-status-dot.ready{background:var(--boot-ready)}.boot-status-dot.warning{background:var(--boot-warn)}.boot-status-dot.failed{background:var(--boot-fail)}@keyframes boot-pulse{0%,to{opacity:1}50%{opacity:.45}}.boot-status-badge{font-family:var(--font-ibm-plex-mono), monospace;letter-spacing:.04em;text-transform:uppercase;color:var(--boot-dim);font-size:.625rem}.boot-status-badge.loading{color:var(--boot-warn)}.boot-status-badge.ready{color:var(--boot-ready)}.boot-status-badge.warning{color:var(--boot-warn)}.boot-status-badge.failed{color:var(--boot-fail)}.boot-log{max-height:140px;font-family:var(--font-ibm-plex-mono), monospace;color:var(--boot-dim);background:#00000038;border:1px solid #80907614;border-radius:6px;margin:0;padding:.75rem;font-size:.625rem;line-height:1.55;overflow-y:auto}.boot-log-line{gap:.5rem;display:flex}.boot-log-line.success{color:#6ee7a0}.boot-log-line.warn{color:var(--boot-warn)}.boot-log-line.error{color:var(--boot-fail)}.boot-warming{color:var(--boot-warn);margin:0;font-size:.6875rem}.boot-error-box{color:#fca5a5;background:#f871710f;border:1px solid #f8717140;border-radius:6px;padding:.75rem .875rem;font-size:.75rem;line-height:1.5}.boot-error-hint{color:var(--boot-dim);font-size:.6875rem;font-family:var(--font-ibm-plex-mono), monospace;margin:.5rem 0 0}.boot-actions{gap:.5rem;display:flex}.boot-btn{border:1px solid var(--boot-border);background:var(--noir-3,#223330);height:2rem;color:var(--boot-text);cursor:pointer;border-radius:6px;padding:0 .875rem;font-size:.6875rem;font-weight:500;transition:background .15s}.boot-btn:hover{background:#2a403c}.boot-btn-primary{color:var(--boot-ready);border-color:#4ade8040}
