:root{--bg-color: #f1f5f9;--card-bg: #ffffff;--surface-subtle: #f8fafc;--surface-hover: #f1f5f9;--border-color: #e2e8f0;--border-darker: #cbd5e1;--border-focus: #3b82f6;--text-primary: #0f172a;--text-secondary: #334155;--text-muted: #64748b;--text-light: #94a3b8;--primary-color: #1e3a8a;--secondary-color: #2563eb;--secondary-hover: #1d4ed8;--accent-light: #eff6ff;--accent-border: #bfdbfe;--success-bg: #ecfdf5;--success-text: #065f46;--success-border: #a7f3d0;--warning-bg: #fffbeb;--warning-text: #92400e;--warning-border: #fde68a;--danger-bg: #fef2f2;--danger-text: #991b1b;--danger-border: #fecaca;--neutral-bg: #f1f5f9;--neutral-text: #475569;--neutral-border: #cbd5e1;--logo-blue: #2563eb;--text-heading: #0f172a;--text-dark: #0f172a;--bg-canvas: #f1f5f9;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}body{background-color:var(--bg-color);color:var(--text-secondary);font-family:var(--font-family);margin:0;padding:0;-webkit-font-smoothing:antialiased}.glass-panel{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 1px 3px #0000000d,0 1px 2px -1px #0000000d;transition:box-shadow .2s ease,border-color .2s ease}.glass-panel:hover{box-shadow:0 4px 6px -1px #0000000f,0 2px 4px -2px #0000000a}.drawer-panel{background-color:var(--surface-subtle);border:1px solid var(--border-color);border-radius:8px}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{color:var(--text-primary);font-weight:600}.glass-panel .text-light,.container .text-light,.table .text-light,body>div .text-light{color:var(--text-primary)!important}.bg-black .text-light,.terminal-window .text-light,.console-body .text-light{color:#f8fafc!important}.text-muted{color:var(--text-muted)!important}.table,.table.table-dark,.table-dark{--bs-table-bg: transparent !important;--bs-table-color: var(--text-secondary) !important;--bs-table-border-color: var(--border-color) !important;--bs-table-hover-bg: var(--surface-hover) !important;--bs-table-hover-color: var(--text-primary) !important;background-color:transparent!important;color:var(--text-secondary)!important;border-collapse:separate;border-spacing:0;width:100%}.table thead th,.table-dark thead th{background-color:var(--surface-subtle)!important;color:var(--neutral-text)!important;font-size:.75rem!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.05em!important;border-top:none!important;border-bottom:2px solid var(--border-color)!important;padding:.75rem 1rem!important;white-space:nowrap}.table tbody td,.table-dark tbody td{padding:.75rem 1rem!important;color:var(--text-secondary)!important;border-bottom:1px solid var(--border-color)!important;background-color:transparent!important;vertical-align:middle!important;font-size:.875rem}.table tbody tr:hover td,.table-dark tbody tr:hover td{background-color:var(--surface-hover)!important;color:var(--text-primary)!important}.table tbody tr:last-child td{border-bottom:none!important}.form-control,.form-select,.form-control.bg-dark,.form-select.bg-dark{background-color:#fff!important;color:var(--text-primary)!important;border:1px solid var(--border-darker)!important;border-radius:6px;font-size:.875rem;padding:.5rem .75rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control:focus,.form-select:focus,.form-control.bg-dark:focus,.form-select.bg-dark:focus{background-color:#fff!important;color:var(--text-primary)!important;border-color:var(--secondary-color)!important;box-shadow:0 0 0 3px #2563eb26!important;outline:0}.form-control::placeholder,.form-control.bg-dark::placeholder{color:var(--text-light)!important}.input-group-text,.input-group-text.bg-dark{background-color:var(--surface-subtle)!important;color:var(--neutral-text)!important;border:1px solid var(--border-darker)!important;font-size:.875rem;font-weight:500}.btn-logo-blue{background-color:var(--secondary-color)!important;color:#fff!important;border:1px solid var(--secondary-color)!important;font-weight:500;border-radius:6px;box-shadow:0 1px 2px #0000000d;transition:all .2s ease}.btn-logo-blue:hover{background-color:var(--secondary-hover)!important;border-color:var(--secondary-hover)!important;color:#fff!important;box-shadow:0 2px 4px #2563eb40}.btn-logo-blue:disabled{opacity:.65;cursor:not-allowed}.btn-outline-subtle,.btn-outline-secondary{background-color:#fff!important;color:var(--text-secondary)!important;border:1px solid var(--border-darker)!important;font-weight:500;border-radius:6px;transition:all .2s ease}.btn-outline-subtle:hover,.btn-outline-secondary:hover{background-color:var(--surface-subtle)!important;color:var(--text-primary)!important;border-color:var(--text-muted)!important}.btn-pack{background-color:#fff!important;color:var(--text-primary)!important;border:1px solid var(--border-darker)!important;font-weight:600;border-radius:6px;padding:.4rem .75rem;transition:all .2s ease}.btn-pack:hover{background-color:var(--accent-light)!important;border-color:var(--secondary-color)!important;color:var(--secondary-hover)!important;box-shadow:0 2px 4px #2563eb1a}.btn-subtle-info,.btn-outline-info{background-color:var(--accent-light)!important;color:var(--secondary-hover)!important;border:1px solid var(--accent-border)!important;font-weight:500;border-radius:6px;transition:all .2s ease}.btn-subtle-info:hover,.btn-outline-info:hover{background-color:#dbeafe!important;border-color:var(--secondary-color)!important;color:var(--primary-color)!important}.btn-subtle-success,.btn-outline-success{background-color:var(--success-bg)!important;color:var(--success-text)!important;border:1px solid var(--success-border)!important;font-weight:500;border-radius:6px;transition:all .2s ease}.btn-subtle-success:hover,.btn-outline-success:hover{background-color:#d1fae5!important;border-color:#10b981!important;color:#065f46!important}.btn-subtle-warning,.btn-outline-warning{background-color:var(--warning-bg)!important;color:var(--warning-text)!important;border:1px solid var(--warning-border)!important;font-weight:500;border-radius:6px;transition:all .2s ease}.btn-subtle-warning:hover,.btn-outline-warning:hover{background-color:#fef3c7!important;border-color:#f59e0b!important;color:#78350f!important}.btn-danger-glow{background-color:var(--danger-bg);color:var(--danger-text);border:1px solid var(--danger-border);transition:all .2s ease}.btn-danger-glow:hover{background-color:#fee2e2;color:#7f1d1d;border-color:#ef4444}.btn-xs{padding:.2rem .55rem!important;font-size:.75rem!important;line-height:1.25!important;border-radius:4px}.badge{font-weight:600;letter-spacing:.02em}.badge.bg-dark,.badge.bg-black{background-color:var(--neutral-bg)!important;color:var(--neutral-text)!important;border:1px solid var(--border-color)!important}.badge-subtle-success,.badge.bg-success{background-color:var(--success-bg)!important;color:var(--success-text)!important;border:1px solid var(--success-border)!important}.badge-subtle-warning,.badge.bg-warning{background-color:var(--warning-bg)!important;color:var(--warning-text)!important;border:1px solid var(--warning-border)!important}.badge-subtle-danger,.badge.bg-danger{background-color:var(--danger-bg)!important;color:var(--danger-text)!important;border:1px solid var(--danger-border)!important}.badge-subtle-info,.badge.bg-info,.badge.bg-primary{background-color:var(--accent-light)!important;color:var(--secondary-hover)!important;border:1px solid var(--accent-border)!important}.badge-subtle-neutral,.badge.bg-secondary{background-color:var(--neutral-bg)!important;color:var(--neutral-text)!important;border:1px solid var(--neutral-border)!important}.list-group-item{border-color:var(--border-color)!important;color:var(--text-secondary)}.device-item{transition:background-color .15s ease;border-radius:8px!important;margin-bottom:4px}.device-item:hover{background-color:var(--surface-hover)!important}.text-locked{color:var(--danger-text)!important}.text-free{color:var(--success-text)!important}.nav-tab{transition:all .2s ease-in-out;border-bottom:2px solid transparent;white-space:nowrap;color:var(--text-muted)!important;font-weight:600}.nav-tab:hover{color:var(--secondary-color)!important}.active-tab{border-bottom:2px solid var(--secondary-color)!important;color:var(--secondary-color)!important}.active-course-filter{border:2px solid var(--secondary-color)!important;box-shadow:0 0 0 3px #2563eb26!important}
