:root{color:#0f172a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#f8fafc;font-family:Plus Jakarta Sans,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}html,body{color:#0f172a;background:#f8fafc;min-height:100%;margin:0}button,input,select,textarea{font:inherit;color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:10px;min-height:44px;padding:12px;line-height:1.25}input:hover,input:focus,input:focus-visible,input:active,select:hover,select:focus,select:focus-visible,select:active,textarea:hover,textarea:focus,textarea:focus-visible,textarea:active{box-shadow:none;border-color:#cbd5e1;outline:none}button{cursor:pointer;color:#fff;background:#2563eb;border-color:#2563eb;font-weight:700}button:hover{filter:brightness(.96)}select{appearance:none;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:18px;padding-right:40px}select::-ms-expand{display:none}.select{width:100%;position:relative}.select-form-value{opacity:0;pointer-events:none;border:0;width:1px;height:1px;margin:0;padding:0;position:absolute}.select-trigger{color:#0f172a;width:100%;min-height:44px;font:inherit;text-align:left;cursor:pointer;box-shadow:none;background:#fff;border:1px solid #cbd5e1;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:12px;font-weight:500;display:flex}.select-trigger:hover{filter:none;border-color:#cbd5e1}.select-trigger:focus,.select-trigger:focus-visible{box-shadow:none;border-color:#cbd5e1;outline:none}.select-trigger.is-placeholder{color:#94a3b8;font-weight:500}.select-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.select-chevron{color:#64748b;flex-shrink:0;transition:transform .15s}.select.is-open .select-chevron{transform:rotate(180deg)}.select.is-disabled .select-trigger{opacity:.55;cursor:not-allowed}.select-menu{z-index:30;background:#fff;border:none;border-radius:12px;flex-direction:column;gap:4px;max-height:240px;margin:0;padding:8px;list-style:none;display:flex;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 10px 15px -3px #0f172a14,0 4px 6px -4px #0f172a0f}.select-menu>li{margin:0;padding:0;list-style:none}.select-option{color:#0f172a;width:100%;min-height:0;font:inherit;text-align:left;cursor:pointer;box-shadow:none;background:0 0;border:none;border-radius:8px;align-items:center;margin:0;padding:8px 12px;font-weight:500;display:flex}.select-option:hover{filter:none;background:#f1f5f9}.select-option.is-selected{color:#1d4ed8;background:#eff6ff;font-weight:600}.select-option:disabled{opacity:.45;cursor:not-allowed}.datetime-picker{width:100%;position:relative}.datetime-form-value{opacity:0;pointer-events:none;border:0;width:1px;height:1px;margin:0;padding:0;position:absolute}.datetime-trigger{color:#0f172a;width:100%;min-height:44px;font:inherit;text-align:left;cursor:pointer;box-shadow:none;background:#fff;border:1px solid #cbd5e1;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:12px;font-weight:500;display:flex}.datetime-trigger:hover,.datetime-trigger:focus,.datetime-trigger:focus-visible{filter:none;box-shadow:none;border-color:#cbd5e1;outline:none}.datetime-trigger.is-placeholder{color:#94a3b8}.datetime-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.datetime-icon{color:#64748b;flex-shrink:0}.datetime-picker.is-disabled .datetime-trigger{opacity:.55;cursor:not-allowed}.datetime-popover{z-index:30;background:#fff;border:none;border-radius:12px;gap:12px;padding:14px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 10px 15px -3px #0f172a14,0 4px 6px -4px #0f172a0f}.datetime-month-bar{justify-content:space-between;align-items:center;gap:8px;display:flex}.datetime-month-label{text-align:center;color:#0f172a;text-transform:capitalize;flex:1;font-size:.95rem;font-weight:700}.datetime-nav{color:#64748b;min-width:32px;min-height:32px;box-shadow:none;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.datetime-nav:hover{filter:none;color:#0f172a;background:#f1f5f9}.datetime-weekdays,.datetime-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.datetime-weekdays span{color:#94a3b8;place-items:center;min-height:28px;font-size:.75rem;font-weight:700;display:grid}.datetime-day{color:#0f172a;min-width:0;min-height:36px;font:inherit;cursor:pointer;box-shadow:none;background:0 0;border:none;border-radius:8px;place-items:center;padding:0;font-weight:600;display:grid}.datetime-day.is-empty{pointer-events:none}.datetime-day:hover{filter:none;background:#f1f5f9}.datetime-day.is-today{color:#2563eb}.datetime-day.is-selected{color:#fff;background:#2563eb}.datetime-day.is-selected:hover{background:#1d4ed8}.datetime-time-row{border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:12px;padding-top:4px;display:flex}.datetime-time-label{color:#334155;font-size:.9rem;font-weight:600}.datetime-time-inputs{align-items:center;gap:6px;display:inline-flex}.datetime-time-input{text-align:center;-moz-appearance:textfield;width:56px;min-height:36px;padding:6px 8px;font-weight:600}.datetime-time-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.datetime-time-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.datetime-time-sep{color:#64748b;font-weight:700}.datetime-popover-actions{justify-content:space-between;gap:8px;display:flex}.danger{color:#fff;background:#dc2626;border-color:#dc2626}.button-secondary{color:#0f172a;background:#fff;border-color:#cbd5e1}.button-text{color:#2563eb;height:auto;min-height:0;box-shadow:none;background:0 0;border-color:#0000;padding:4px 8px;font-weight:600;line-height:1.35}.button-text:hover{filter:none;background:#eff6ff}.button-text.danger{color:#dc2626;background:0 0;border-color:#0000}.button-text.danger:hover{filter:none;background:#fef2f2}.dialog-backdrop{z-index:20;background:#0f172a66;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.dialog-card{border:none;gap:18px;width:min(520px,100vw - 32px);padding:24px;display:grid}.dialog-card h3,.dialog-card p{margin:0}.dialog-card input,.dialog-card select,.dialog-card textarea,.dialog-card .select,.dialog-card .datetime-picker{width:100%}.field{gap:8px;min-width:0;display:grid}.field-label{color:#334155;font-size:.9rem;font-weight:600}.dialog-fields-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.dialog-preview{color:#1d4ed8}.dialog-summary{background:0 0;border:none;border-radius:0;gap:10px;padding:0;display:grid}.dialog-summary-row{grid-template-columns:140px minmax(0,1fr);align-items:baseline;gap:12px;display:grid}.dialog-summary-label{color:#334155;font-size:.875rem;font-weight:600}.dialog-summary-value{color:#0f172a;text-align:right;word-break:break-word;font-weight:600}.dialog-summary-row.is-accent .dialog-summary-label,.dialog-summary-row.is-accent .dialog-summary-value{color:#1d4ed8}.dialog-card textarea{resize:none}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:8px;padding-top:4px;display:flex}.login-shell{place-items:center;min-height:100vh;display:grid}.login-card{gap:12px;width:min(420px,100vw - 32px);display:grid}.login-card button[type=submit]{margin-top:16px}.password-field{position:relative}.password-field input{width:100%;padding-right:44px}.password-toggle{color:#64748b;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;min-width:32px;min-height:32px;padding:0;display:inline-flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.password-toggle:hover{filter:none;color:#0f172a;background:0 0}.password-toggle:disabled{opacity:.55;cursor:not-allowed}.app-shell{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.sidebar{background:#fff;border-right:1px solid #e2e8f0;flex-direction:column;gap:10px;padding:24px;display:flex}.sidebar-brand{gap:4px;min-width:0;margin-bottom:6px;display:grid}.sidebar-brand h1{margin:0;font-size:1.25rem;line-height:1.2}.sidebar-email{color:#64748b;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.85rem;font-weight:500;line-height:1.2;overflow:hidden}.sidebar button{text-align:left;color:#0f172a;background:#fff;border-color:#e2e8f0}.sidebar button.active{color:#fff;background:#2563eb;border-color:#2563eb}.content{padding:28px}.content-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.content-header-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.content-header-actions button{align-items:center;gap:8px;display:inline-flex}.content-header h2{margin:0 0 6px}.content-header p,.sidebar p,.sidebar-email{color:#64748b;margin:0}.card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:16px;box-shadow:0 10px 30px #0f172a0f}.card.login-card{border:none}.notice{color:#0c4a6e;background:#f0f9ff;border:1px solid #bae6fd;border-radius:12px;margin-bottom:16px;padding:12px 14px}.toast-stack{z-index:40;pointer-events:none;gap:10px;width:min(360px,100vw - 32px);display:grid;position:fixed;top:20px;right:20px}.toast{pointer-events:auto;color:#fff;background:#0f172a;border:1px solid #334155;border-radius:12px;align-items:center;gap:10px;padding:12px 14px;animation:.16s ease-out toast-in;display:flex;box-shadow:0 12px 30px #0f172a47}.toast-success,.toast-error,.toast-info{color:#fff;background:#0f172a;border-color:#334155}.toast-icon{flex:none}.toast-success .toast-icon{color:#4ade80}.toast-error .toast-icon{color:#f87171}.toast-info .toast-icon{color:#60a5fa}.toast-message{flex:auto;min-width:0;line-height:1.4}.toast-close{color:#fff;background:0 0;border:none;flex:none;justify-content:center;align-items:center;min-width:28px;min-height:28px;padding:0;line-height:1;display:inline-flex}.toast-close:hover{filter:none;opacity:.7}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}button:disabled{opacity:.7;cursor:wait}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid}.stat-card{text-align:center;border:none;place-items:center;gap:8px;display:grid}.stat-card span{color:#64748b}.stat-card strong{font-size:32px}.form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:18px;display:grid}.table{border:1px solid #e2e8f0;border-radius:12px;gap:0;display:grid;overflow:hidden}.table.card{box-shadow:none;border:1px solid #e2e8f0;padding:0}.table-row{background:0 0;border:none;border-bottom:1px solid #e2e8f0;border-radius:0;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:stretch;gap:0;padding:0;display:grid}.table-row:last-child{border-bottom:none}.table-row>span{border-right:1px solid #e2e8f0;border-radius:0;align-items:center;min-width:0;padding:12px;display:flex}.table-row>span:last-child{border-right:none}.cell-status,.cell-datetime,.cell-actions,.cell-code,.cell-devices{text-align:center;justify-content:center}.table-licenses .table-row{grid-template-columns:minmax(140px,1.5fr) minmax(130px,1fr) minmax(120px,.9fr) minmax(90px,.7fr) minmax(140px,1.1fr) minmax(150px,1fr)}.table-devices .table-row{grid-template-columns:minmax(140px,1.3fr) minmax(120px,1fr) minmax(150px,1.3fr) minmax(120px,.9fr) minmax(140px,1.1fr) minmax(120px,.9fr)}.table-audit .table-row{grid-template-columns:minmax(130px,1fr) minmax(150px,1.2fr) minmax(180px,1.5fr) minmax(100px,.8fr) minmax(140px,1.1fr) minmax(140px,1.2fr)}.table-customers .table-row{grid-template-columns:minmax(140px,1.3fr) minmax(160px,1.2fr) minmax(110px,.9fr) minmax(90px,.7fr) minmax(140px,1.2fr) minmax(130px,1fr) minmax(90px,.7fr)}.customer-notes{text-overflow:ellipsis;white-space:nowrap;color:#334155;display:block;overflow:hidden}.audit-entity{gap:4px;min-width:0;display:grid}.audit-entity-type{color:#64748b;font-size:.8rem;font-weight:600}.audit-entity-label{text-overflow:ellipsis;white-space:nowrap;color:#0f172a;min-width:0;font-weight:600;overflow:hidden}.audit-reason{color:#334155;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.device-cell{gap:4px;min-width:0;display:grid}.device-label{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.table-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;display:flex}.table-search{flex:240px;min-width:200px}.table-filter{flex:0 220px;min-width:180px}.code-cell{align-items:center;gap:4px;min-width:0;display:inline-flex}.license-prefix{color:#334155;background:0 0;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.875rem;font-weight:600}.code-copy{color:#64748b;min-height:0;padding:4px}.code-copy:hover{color:#2563eb;background:0 0}.row-actions-menu{align-items:center;gap:4px;display:inline-flex;position:relative}.row-actions-more{color:#64748b;padding:4px}.row-actions-more:hover{color:#0f172a;background:#f1f5f9}.row-actions-dropdown{z-index:25;background:#fff;border:none;border-radius:12px;min-width:180px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 15px -3px #0f172a14,0 4px 6px -4px #0f172a0f}.row-actions-dropdown.is-portal{z-index:40;position:fixed;top:0;left:0;right:auto}.row-actions-item{color:#0f172a;width:100%;min-height:0;font:inherit;text-align:left;cursor:pointer;box-shadow:none;background:0 0;border:none;border-radius:8px;margin:0;padding:10px 12px;font-weight:500;display:flex}.row-actions-item:hover{filter:none;background:#f1f5f9}.row-actions-item.is-danger{color:#dc2626}.row-actions-item.is-danger:hover{background:#fef2f2}.row-actions-empty{color:#94a3b8}.status-text{font-weight:600}.status-success{color:#15803d}.status-warning{color:#c2410c}.status-danger{color:#dc2626}.status-neutral{color:#64748b}.table-head{color:#334155;background:#f1f5f9;font-weight:700}.table-row:not(.table-head){background:0 0}.table .empty{text-align:center;border-top:none;margin:0;padding:28px 16px}.row-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.empty{color:#64748b;text-align:center}.license-key-dialog{width:min(640px,100vw - 32px);max-width:640px}.license-key-warning{margin:0;line-height:1.45}.license-key-box{align-items:center;gap:8px;min-width:0;display:flex}.license-key-box code{color:#0f172a;word-break:break-all;background:#f8fafc;border:none;border-radius:10px;flex:1;min-width:0;padding:12px;font-size:.95rem;font-weight:600;display:block}.license-key-copy{white-space:nowrap;flex-shrink:0;justify-content:center;align-items:center;gap:8px;display:inline-flex}
