:root{--bg:#f5f7f9;--surface:#fff;--fg:#0e1217;--muted:#6a6f76;--border:#dfe1e4;--accent:#00925e;--success:#009342;--danger:#cc272e;--warning:#b58700;--accent-soft:color-mix(in oklch, var(--accent) 14%, transparent);--accent-bg:color-mix(in oklch, var(--accent) 8%, transparent);--fg-soft:color-mix(in oklch, var(--fg) 6%, transparent);--muted-soft:color-mix(in oklch, var(--muted) 10%, transparent);--success-bg:color-mix(in oklch, var(--success) 10%, transparent);--danger-bg:color-mix(in oklch, var(--danger) 10%, transparent);--warning-bg:color-mix(in oklch, var(--warning) 10%, transparent);--scrollbar-thumb:#c1c4c8;--scrollbar-hover:#aaaeb3;--glass-bg:#ffffff40;--glass-border:#fff6;--glass-shadow:0 8px 32px #0000000f;--font-display:-apple-system, BlinkMacSystemFont, "SF Pro Display", system-ui, sans-serif;--font-body:-apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, sans-serif;--font-mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, monospace;--fs-xs:11px;--fs-sm:12px;--fs-base:13px;--fs-md:14px;--fs-lg:16px;--fs-xl:20px;--fs-2xl:26px;--fs-3xl:34px;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-xl:16px;--radius-full:999px;--btn-h:32px;--btn-px:14px;--sidebar-w:220px;--sidebar-w-collapsed:56px}@supports (color:lab(0% 0 0)){:root{--bg:lab(97.105% -.495434 -.992262);--surface:lab(100% 0 0);--fg:lab(5.2525% -.827231 -3.55052);--muted:lab(46.6278% -1.26901 -4.26236);--border:lab(89.5562% -.552863 -1.78905);--accent:lab(53.618% -61.7814 24.0655);--success:lab(53.2636% -48.6783 32.5347);--danger:lab(45.7636% 63.3818 40.1799);--warning:lab(59.5275% 11.4265 69.5897);--scrollbar-thumb:lab(79.1153% -.6603 -2.14508);--scrollbar-hover:lab(70.9933% -.872821 -2.85579);--glass-bg:lab(100% 0 0/.25);--glass-border:lab(100% 0 0/.4);--glass-shadow:0 8px 32px lab(0% 0 0/.06)}}[data-theme=dark]{--bg:#07090c;--surface:#0e1216;--fg:#dbdee1;--muted:#65696f;--border:#212428;--accent:#00ab6d;--success:#20a04e;--danger:#de3b3d;--warning:#cd9c1f;--accent-soft:color-mix(in oklch, var(--accent) 18%, transparent);--accent-bg:color-mix(in oklch, var(--accent) 12%, transparent);--fg-soft:color-mix(in oklch, var(--fg) 8%, transparent);--muted-soft:color-mix(in oklch, var(--muted) 14%, transparent);--success-bg:color-mix(in oklch, var(--success) 12%, transparent);--danger-bg:color-mix(in oklch, var(--danger) 12%, transparent);--warning-bg:color-mix(in oklch, var(--warning) 12%, transparent);--scrollbar-thumb:#383b3e;--scrollbar-hover:#4a4d51;--glass-bg:#ffffff0f;--glass-border:#ffffff1a;--glass-shadow:0 8px 32px #0000003d}@supports (color:lab(0% 0 0)){[data-theme=dark]{--bg:lab(2.47498% -.271142 -1.0418);--surface:lab(5.25641% -.716366 -2.91725);--fg:lab(88.3962% -.552863 -1.78897);--muted:lab(44.3103% -1.06618 -3.55645);--border:lab(14.1508% -.825912 -2.83166);--accent:lab(61.7492% -61.1602 23.8939);--success:lab(57.9142% -48.5439 32.2804);--danger:lab(51.5803% 63.2457 38.9399);--warning:lab(67.6876% 10.7607 65.3703);--scrollbar-thumb:lab(24.5944% -.643358 -2.13578);--scrollbar-hover:lab(32.7122% -.853404 -2.84538);--glass-bg:lab(100% 0 0/.06);--glass-border:lab(100% 0 0/.1);--glass-shadow:0 8px 32px lab(0% 0 0/.24)}}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;height:100%;font-family:var(--font-body)}body{background:var(--bg);height:100%;color:var(--fg);font-family:var(--font-body);font-size:var(--fs-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.45;transition:background .25s,color .25s}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;background:0 0;border:0}input,select,textarea,option,optgroup{font:inherit;font-family:inherit}ul{list-style:none}hr{border:0;border-top:1px solid var(--border)}table{border-collapse:collapse;border-spacing:0;width:100%}svg{max-width:100%}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover)}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}
.btn{height:var(--btn-h);padding:0 var(--btn-px);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--fs-sm);letter-spacing:-.005em;white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;font-weight:500;transition:all .1s;display:inline-flex}.btn svg{flex-shrink:0;width:14px;height:14px}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent);color:var(--surface);border-color:var(--accent)}.btn-primary:hover{filter:brightness(.92)}.btn-primary:active{filter:brightness(.85)}.btn-primary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-primary:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-primary.is-loading{color:#0000;pointer-events:none;position:relative}.btn-primary.is-loading:after{content:"";border:2px solid var(--surface);border-top-color:#0000;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spin;position:absolute}.btn-secondary{color:var(--fg);border-color:var(--border);background:0 0}.btn-secondary:hover{border-color:var(--muted)}.btn-secondary:active{background:var(--fg-soft)}.btn-secondary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-secondary:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-secondary.is-loading{color:#0000;pointer-events:none;position:relative}.btn-secondary.is-loading:after{content:"";border:2px solid var(--muted);border-top-color:#0000;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spin;position:absolute}.btn-ghost{color:var(--muted);background:0 0;border-color:#0000}.btn-ghost:hover{color:var(--fg);background:var(--fg-soft)}.btn-ghost:active{background:var(--fg-soft);filter:brightness(.95)}.btn-ghost:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-ghost:disabled{opacity:.35;cursor:not-allowed;transform:none}.btn-ghost.is-loading{color:#0000;pointer-events:none;position:relative}.btn-ghost.is-loading:after{content:"";border:2px solid var(--muted);border-top-color:#0000;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spin;position:absolute}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-danger:hover{filter:brightness(.9)}.btn-danger:active{filter:brightness(.8)}.btn-danger:focus-visible{outline:2px solid var(--danger);outline-offset:2px}.btn-danger:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-danger.is-loading{color:#0000;pointer-events:none;position:relative}.btn-danger.is-loading:after{content:"";border:2px solid #fff;border-top-color:#0000;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spin;position:absolute}.btn-sm{height:26px;font-size:var(--fs-xs);padding:0 10px}.btn-lg{height:38px;font-size:var(--fs-md);padding:0 20px}.btn-icon{width:var(--btn-h);height:var(--btn-h);border-radius:var(--radius-md);color:var(--muted);border:1px solid #0000;justify-content:center;align-items:center;transition:all .1s;display:inline-flex}.btn-icon:hover{background:var(--fg-soft);color:var(--fg);border-color:var(--border)}.btn-icon:active{transform:translateY(1px)}.btn-icon:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-icon:disabled{opacity:.35;cursor:not-allowed;transform:none}.btn-icon svg{width:14px;height:14px}.btn-icon--sm{width:28px;height:28px}.btn-icon--sm svg{width:12px;height:12px}.status{border-radius:var(--radius-full);font-family:var(--font-body);font-size:var(--fs-xs);align-items:center;gap:6px;padding:2px 10px 2px 8px;font-weight:500;display:inline-flex}.status:before{content:"";background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:block}.status--online{background:var(--success-bg);color:var(--success)}.status--offline{background:var(--danger-bg);color:var(--danger)}.status--pending{background:var(--warning-bg);color:var(--warning)}.page-header{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.page-header__left{align-items:center;gap:8px;min-width:0;display:flex}.page-header__title{font-family:var(--font-display);font-size:var(--fs-xl);letter-spacing:-.02em;font-weight:600}.page-header__count{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--muted)}.page-header__actions{align-items:center;gap:8px;display:flex}.page-body{flex:1;min-height:0;padding:16px 20px;overflow:auto}.page-body--flush{flex-direction:column;padding:0;display:flex}.empty-state{text-align:center;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:48px 24px;display:flex}.empty-state__title{font-size:var(--fs-md);color:var(--fg);font-weight:500}.form-group{flex-direction:column;gap:4px;display:flex}.form-label{font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:600}.form-label:has(.form-label__aside){white-space:nowrap;align-items:baseline;display:inline-flex}.form-label__aside{opacity:.72;margin-left:8px;font-weight:500}.form-input{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);height:32px;color:var(--fg);font-size:var(--fs-base);font-family:var(--font-body);outline:none;padding:0 10px;transition:border-color .12s,box-shadow .12s}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.form-select{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);width:100%;height:32px;color:var(--fg);font-size:var(--fs-base);font-family:var(--font-body);outline:none;padding:0 10px;transition:border-color .12s,box-shadow .12s}select.form-select,button.form-select{appearance:none;cursor:pointer;background-color:var(--bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23757a85' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:12px;padding:0 28px 0 10px;line-height:30px}select.form-select::-ms-expand{display:none}.form-select-field{width:100%;position:relative}button.form-select{text-align:left;cursor:pointer;align-items:center;width:100%;display:flex}button.form-select.is-placeholder{color:var(--muted)}button.form-select.is-open{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.form-select__value{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.form-select-menu{z-index:40;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);height:auto;color:var(--fg);flex-direction:column;gap:6px;padding:6px;display:flex;position:fixed;box-shadow:0 8px 24px #0000002e;box-shadow:0 8px 24px lab(0% 0 0/.18)}.form-select-list{flex-direction:column;min-height:0;display:flex;overflow:auto}.form-select-option{border-radius:var(--radius-sm);width:100%;color:inherit;font-family:var(--font-body);font-size:var(--fs-base);text-align:left;cursor:pointer;background:0 0;border:0;padding:8px 10px;display:block}.form-select-option:hover,.form-select-option.is-active{background:var(--fg-soft)}.form-select-option.is-selected,.form-select-option.is-selected.is-active,.form-select-option.is-selected:hover{background:var(--accent-bg)}select.form-select:hover:not(:disabled):not(:focus){border-color:color-mix(in oklch, var(--fg) 28%, var(--border))}select.form-select option{background:var(--surface);color:var(--fg);font-family:var(--font-body)}[data-theme=dark] select.form-select,[data-theme=dark] button.form-select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23a8adb8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}.form-select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.form-input--area{resize:vertical;height:auto;min-height:96px;padding:8px 10px}.form-row{grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;display:grid}.form-row--3{grid-template-columns:1fr 1fr 1fr}.form-input--mono{font-family:var(--font-mono);font-size:var(--fs-sm)}.form-row+.edit-section-title,.form-group+.edit-section-title{margin-top:20px}.form-hint{font-size:var(--fs-xs);color:var(--muted);margin-top:2px}.form-hint--error{color:var(--danger)}.toolbar{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:6px 14px;display:flex}.toolbar__left{flex-wrap:wrap;align-items:center;gap:2px;min-width:0;display:flex}.toolbar__right{flex-shrink:0;align-items:center;gap:12px;display:flex}.filter-chip{text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-family:var(--font-body);font-size:var(--fs-xs);color:var(--muted);border-radius:var(--radius-sm);letter-spacing:.01em;text-transform:uppercase;align-items:center;padding:4px 10px;font-weight:500;transition:all .12s;display:inline-flex;overflow:hidden}.filter-chip:hover{background:var(--fg-soft);color:var(--fg)}.filter-chip--active{background:var(--accent-bg);color:var(--accent)}.filter-chip--model{text-transform:none;letter-spacing:0}.toolbar__search{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);align-items:center;gap:6px;width:240px;max-width:320px;height:28px;padding:0 8px;display:flex}.toolbar__search:focus-within{border-color:var(--accent)}.search__icon{width:14px;height:14px;color:var(--muted);flex-shrink:0}.search__input{min-width:0;color:var(--fg);font-size:var(--fs-sm);background:0 0;border:0;outline:none;flex:1}.card{background:var(--surface);border:1px solid var(--border);border-radius:0;flex-direction:column;flex:1;min-height:0;display:flex}.card__body--flush{flex-direction:column;flex:1;min-height:0;padding:0;display:flex}.card__header{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:10px 16px;display:flex}.card__title{font-size:var(--fs-md);font-weight:600}.card__header .btn{margin-left:auto}.card__body{flex:1;min-height:0;padding:20px 24px}.card__body.card__body--flush{padding:0}.entity-form{flex-direction:column;flex:1;min-height:0;display:flex}.entity-form>.card{border:none;width:100%}.entity-form__body{max-width:720px;overflow-y:auto}.entity-form--wide .entity-form__body{width:100%;max-width:none}.edit-section-title{font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;font-weight:600}.table-wrap{flex:1;min-height:0;overflow:auto}.dt{border-collapse:collapse;width:100%;font-family:var(--font-body);font-size:var(--fs-sm)}.dt th,.dt td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:8px 12px}.dt th{z-index:1;background:var(--surface);color:var(--muted);font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;font-weight:600;position:sticky;top:0}.dt tbody tr{transition:background-color .12s}.dt tbody tr:hover{background:var(--fg-soft)}.dt tbody tr.is-open:hover,.dt tbody tr.is-open{background:var(--accent-bg)}.audit-detail-row>td{background:var(--surface-2,var(--fg-soft));vertical-align:top;padding:12px 16px 16px}.audit-detail-row:hover>td{background:var(--surface-2,var(--fg-soft))}.audit-changes{max-height:280px}.audit-changes .cell__text{white-space:pre-wrap;word-break:break-word;max-width:360px}.cell__text{max-width:220px;display:block}.cell__text--mono{font-family:var(--font-mono);font-size:var(--fs-sm)}.cell__text--nums{font-variant-numeric:tabular-nums}.cell__text--muted{color:var(--muted)}.cell__text--copyable{cursor:default}.cell__actions{justify-content:flex-end;align-items:center;gap:4px;display:flex}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.col-proj-name{width:30%}.col-proj-account,.col-proj-company{width:25%}.col-proj-date{width:15%}.col-proj-actions{text-align:right;width:5%}.col-account-id{width:56px}.col-account-email{width:18%}.col-account-name{width:16%}.col-account-role{width:10%}.col-account-status,.col-account-phone{width:12%}.col-account-company{width:16%}.col-account-date{width:10%}.col-account-actions{text-align:right;width:48px}.col-obj-name,.col-obj-address{width:28%}.col-obj-project{width:24%}.col-obj-date{width:14%}.col-obj-actions{text-align:right;width:48px}.col-company-name{width:18%}.col-company-inn{width:11%}.col-company-address{width:18%}.col-company-phone{width:10%}.col-company-email{width:13%}.col-company-manager{width:12%}.col-company-status{width:8%}.col-company-actions{text-align:right;width:72px}.col-license-id{width:16%}.col-license-device-model{width:10%}.col-license-device{width:14%}.col-license-account{width:16%}.col-license-channels{width:7%}.col-license-type{width:12%}.col-license-term{width:9%}.col-license-status{width:12%}.col-license-period{width:14%}.col-license-company{width:22%}.col-license-edition{width:10%}.col-license-until{width:14%}.licenses-page{flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.licenses-page .page-header__left{flex-wrap:wrap;flex:1;gap:2px}.licenses-page .page-header__actions{flex-shrink:0;justify-content:flex-end;min-width:0}.licenses-page .page-header .toolbar__search{width:min(280px,100%);max-width:320px}.licenses-page .page-header{padding:8px 12px}.licenses-page .card{border:none}.companies-page{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.companies-page .card{border:none}.licenses-page .dt{table-layout:fixed}.licenses-page .cell__text{max-width:none}.licenses-form .license-date-range{grid-template-columns:1fr 1fr;gap:12px;margin-top:0}.licenses-form.entity-form--wide .entity-form__body{flex-direction:column;gap:12px;width:100%;max-width:none;display:flex}.licenses-form section.licenses-form__changelog{flex:1;gap:8px;min-height:180px;margin-top:4px}.licenses-form__changelog-table{border:1px solid var(--border);border-radius:var(--radius-md);flex:1;min-height:140px}.licenses-form__changelog .dt td{white-space:normal}.licenses-form__changelog-time{white-space:nowrap;font-variant-numeric:tabular-nums}.licenses-form section{flex-direction:column;gap:12px;display:flex}.licenses-form .form-row{margin-top:0}.licenses-form__grid{grid-template-columns:1fr 1fr;gap:12px;width:100%;display:grid}.licenses-form__cell{border-radius:var(--radius-md);align-items:flex-start;gap:4px;min-width:0;display:flex}.licenses-form__cell-body{flex:1;min-width:0}.licenses-form__cell-body>.form-group{width:100%}.licenses-form__drag-handle{border-radius:var(--radius-md);width:20px;height:32px;color:var(--muted);cursor:grab;pointer-events:auto;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-top:18px;padding:0;display:inline-flex}.licenses-form__cell:has(.edit-section-title) .licenses-form__drag-handle{margin-top:2px}.licenses-form__drag-handle svg{width:12px;height:12px}.licenses-form__drag-handle:hover{color:var(--fg);background:var(--bg);outline:1px solid var(--border)}.licenses-form__drag-handle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.licenses-form__drag-handle:active,.licenses-form__cell.is-dragging .licenses-form__drag-handle{cursor:grabbing}.licenses-form__cell.is-dragging{opacity:.55}.licenses-form__cell.is-drag-over{outline:1px solid var(--accent);outline-offset:2px;background:var(--bg)}.licenses-form__grid.is-dragging .form-input,.licenses-form__grid.is-dragging .form-select,.licenses-form__grid.is-dragging .license-select,.licenses-form__grid.is-dragging button:not(.licenses-form__drag-handle){pointer-events:none}.licenses-form .edit-section-title{margin-bottom:0}.licenses-form section.licenses-form__tools{grid-template-columns:1fr 1fr;align-items:start;gap:12px;width:100%;display:grid}.licenses-form__tool{flex-direction:column;gap:12px;min-width:0;display:flex}.licenses-form__tool-actions{flex-wrap:wrap;gap:8px;display:flex}.licenses-form__tool .form-input[type=number]{font-variant-numeric:tabular-nums}.licenses-form .card__header{padding:8px 12px}.licenses-form .card__title--id{font-family:var(--font-body);font-size:var(--fs-md);font-weight:600}.licenses-form section,.licenses-form .form-row,.licenses-form .form-group,.licenses-form .license-combobox{width:100%}.licenses-form .form-input,.licenses-form .form-select{box-sizing:border-box;width:100%;font-family:var(--font-body);font-size:var(--fs-base)}.licenses-form .form-input--mono,.licenses-form .form-input--mono.form-input{font-family:var(--font-mono);font-size:var(--fs-sm)}.license-features,.license-presets{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.license-check{font-family:var(--font-body);font-size:var(--fs-base);color:var(--fg);cursor:pointer;align-items:center;gap:6px;display:inline-flex}.license-drawer-status{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:0;display:flex}.license-actions-row{flex-wrap:wrap;gap:8px;display:flex}.license-drawer-status__pills,.license-drawer-status__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.license-date{position:relative}.license-date__input{padding-right:32px}.license-date__toggle{z-index:1;width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:0;right:0}.license-date__toggle svg{width:14px;height:14px}.license-date__menu{z-index:9;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;gap:8px;width:min(280px,100%);padding:10px;display:flex;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 8px 24px #0000001f;box-shadow:0 8px 24px lab(0% 0 0/.12)}.license-date__nav{align-items:center;gap:8px;display:flex}.license-date__month{text-align:center;font-size:var(--fs-sm);color:var(--fg);flex:1;font-weight:600}.license-date__nav-btn{border-radius:var(--radius-md);width:28px;height:28px;color:var(--fg);cursor:pointer;background:0 0;border:0;font-size:16px;line-height:1}.license-date__nav-btn:hover{background:var(--bg)}.license-date__week,.license-date__grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.license-date__week{font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:600}.license-date__day{border-radius:var(--radius-md);height:32px;color:var(--fg);font-family:var(--font-body);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:0}.license-date__day.is-empty{cursor:default}.license-date__day:hover:not(:disabled):not(.is-empty){background:var(--bg)}.license-date__day.is-today:not(.is-selected){box-shadow:inset 0 0 0 1px var(--border)}.license-date__day.is-selected{background:var(--accent-bg);color:var(--accent);font-weight:600}.license-date__day:disabled{color:var(--muted);opacity:.45;cursor:default}.license-camera-sns{flex-direction:column;gap:6px;max-height:240px;margin-top:6px;display:flex;overflow-y:auto}.license-camera-sn{align-items:center;gap:8px;display:flex}.license-camera-sn__n{font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums;flex:0 0 22px}.license-camera-sn .form-input{flex:1;min-width:0}.license-camera-actions{flex-wrap:wrap;gap:8px;display:flex}.license-camera-add{flex-direction:column;gap:6px;display:flex}.license-combobox{position:relative}.license-select{text-align:left;cursor:text;appearance:none;text-overflow:ellipsis;white-space:nowrap;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:12px;width:100%;height:32px;padding:0 28px 0 10px;overflow:hidden}input.license-select{font-family:var(--font-body);font-size:var(--fs-base);display:block}.license-select:focus,.license-select.is-open{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.license-select:disabled{cursor:default;opacity:.64}.license-select__chevron{z-index:1;cursor:pointer;background:0 0;border:0;width:28px;height:32px;padding:0;position:absolute;top:0;right:0}.license-select__chevron:disabled{cursor:default}.license-select__menu{z-index:8;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);left:0;right:0;box-shadow:0 8px 24px #0000001f;box-shadow:0 8px 24px lab(0% 0 0/.12)}.license-company-list{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;gap:4px;max-height:180px;margin-top:8px;display:flex;overflow:auto}.license-select__menu .license-company-list{background:0 0;border:0;max-height:min(320px,50vh);margin-top:0;overflow:auto}.license-company-item{text-align:left;color:inherit;background:0 0;border:0;flex-direction:column;align-items:flex-start;padding:8px 10px;display:flex}.license-company-item:hover,.license-company-item.is-active{background:var(--accent-bg)}.license-company-item--single{justify-content:center;min-height:36px;padding-top:6px;padding-bottom:6px}.license-company-item--single>span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.license-device-option__sn{font-size:var(--fs-xs);color:var(--muted)}.col-status{width:110px}.col-sn{width:11%}.col-pn{width:7%}.col-name{width:18%}.col-model{white-space:nowrap;width:1%}.col-model .cell__text{white-space:nowrap;width:max-content;max-width:none;display:inline-block}.col-project{width:12%}.col-owner{width:14%}.col-mono{width:10%}.login-page{background:var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:12px;width:100%;max-width:360px;padding:28px 24px;display:flex}.login-card__brand{font-family:var(--font-display);font-size:var(--fs-2xl);letter-spacing:-.02em;font-weight:600}.login-card__accent{color:var(--accent)}.login-card__subtitle{color:var(--muted);margin-bottom:8px}.login-card__submit{justify-content:center;width:100%;margin-top:8px}.pagination{border-top:1px solid var(--border);background:var(--surface);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.pagination__meta{font-size:var(--fs-sm);color:var(--muted);font-family:var(--font-mono)}.pagination__actions{align-items:center;gap:8px;display:flex}@media (max-width:1200px){.col-pn,.col-mac{display:none}}@media (max-width:1024px){.col-mono:nth-of-type(8),td:nth-child(8),.col-owner,td:nth-child(7){display:none}}@media (max-width:768px){.col-mono:nth-of-type(9),td:nth-child(9){display:none}}.tag{border-radius:var(--radius-full);font-size:var(--fs-xs);background:var(--fg-soft);color:var(--muted);white-space:nowrap;align-items:center;padding:2px 8px;font-weight:500;display:inline-flex}.tag--success{background:var(--success-bg);color:var(--success)}.tag--danger{background:var(--danger-bg);color:var(--danger)}.tag--warning{background:var(--warning-bg);color:var(--warning)}.tag--info{background:var(--accent-bg);color:var(--accent)}.toolbar-select{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);max-width:180px;height:28px;color:var(--fg);font-size:var(--fs-sm);outline:none;padding:0 8px}.toolbar-select:focus{border-color:var(--accent)}.toasts{z-index:80;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:16px;right:16px}.toast{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);min-width:240px;max-width:360px;color:var(--fg);font-size:var(--fs-sm);box-shadow:var(--glass-shadow);padding:10px 14px}.toast--success{border-color:color-mix(in oklch, var(--success) 35%, var(--border))}.toast--error{border-color:color-mix(in oklch, var(--danger) 35%, var(--border))}.toast--info{border-color:color-mix(in oklch, var(--accent) 35%, var(--border))}.modal-root{z-index:70;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-backdrop{background:#00000059;background:lab(0% 0 0/.35);border:0;position:absolute;inset:0}.modal{z-index:1;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);max-width:calc(100vw - 48px);max-height:calc(100vh - 48px);box-shadow:var(--glass-shadow);flex-direction:column;display:flex;position:relative}.modal__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.modal__title{font-size:var(--fs-md);font-weight:600}.modal__body{padding:16px;overflow:auto}.modal__footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.drawer-root{z-index:20;pointer-events:none;position:absolute;inset:0}.drawer-root.is-open{pointer-events:auto}.drawer-backdrop{opacity:0;background:#0000002e;background:lab(0% 0 0/.18);border:0;transition:opacity .16s;position:absolute;inset:0}.drawer-root.is-open .drawer-backdrop{opacity:1}.drawer{background:var(--surface);border-left:1px solid var(--border);flex-direction:column;width:min(352px,100%);height:100%;transition:transform .18s;display:flex;position:absolute;top:0;right:0;transform:translate(100%)}.drawer-root.is-open .drawer{transform:translate(0)}.drawer__header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.drawer__heading{min-width:0}.drawer__title{font-size:var(--fs-lg);font-weight:600;font-family:var(--font-mono);line-height:var(--btn-h)}.drawer__subtitle{font-size:var(--fs-sm);color:var(--muted);margin-top:4px}.drawer__body{flex-direction:column;flex:1;gap:20px;min-height:0;padding:16px;display:flex;overflow:auto}.drawer__footer{border-top:1px solid var(--border);background:var(--surface);flex-shrink:0;justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.buy-license-form{flex-direction:column;gap:16px;display:flex}.buy-license-form .form-group{gap:6px}.buy-license-price{font-size:var(--fs-md);margin:0}.buy-license-price strong{font-family:var(--font-mono)}.btn-block{width:100%}@keyframes spin{to{transform:rotate(360deg)}}
.app-shell{height:100vh;min-height:100vh;display:flex;overflow:hidden}.main-content{background:var(--bg);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.tabs{-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--border);background:var(--bg);flex-shrink:0;align-items:stretch;gap:2px;padding:0 8px 0 0;display:flex}.tabs__spacer{flex:1;min-width:8px}.tabs .theme-toggle{align-self:center;margin-right:8px}.tab{font-family:var(--font-body);font-size:var(--fs-sm);color:var(--muted);cursor:default;background:0 0;border:1px solid #0000;border-bottom:none;border-radius:0;align-items:center;gap:6px;min-width:0;padding:12px 10px 13px 14px;font-weight:500;transition:background .12s,color .12s,opacity .12s;display:inline-flex;position:relative}.tab:hover{background:var(--fg-soft);color:var(--fg);border-color:var(--border)}.tab--active{background:var(--surface);color:var(--fg);border-color:var(--border);margin-bottom:-1px}.tab__label{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.tab__close{opacity:0;width:18px;height:18px;color:var(--muted);border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;transition:all .1s;display:inline-flex}.tab:hover .tab__close,.tab--active .tab__close{opacity:.6}.tab__close:hover{background:var(--fg-soft);color:var(--fg);opacity:1!important}.tab__close:disabled{pointer-events:none;opacity:0!important}.tab__close svg{width:12px;height:12px}.tab-panels{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.tab-content{flex:1;min-width:0;min-height:0;overflow:hidden}.tab-content--hidden{display:none}.tab-content--visible{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-w);border-right:1px solid var(--border);background:var(--surface);flex-direction:column;flex-shrink:0;height:100vh;transition:width .2s;display:flex}.sidebar__brand{font-family:var(--font-display);font-size:var(--fs-lg);letter-spacing:-.02em;color:var(--fg);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:8px;min-height:44px;padding:8px 14px;font-weight:600;display:flex;position:relative}.sidebar__brand-accent{color:var(--accent)}.sidebar__toggle{border-radius:var(--radius-md);width:28px;height:28px;color:var(--muted);place-items:center;margin-left:auto;transition:all .12s;display:grid}.sidebar__toggle:hover{background:var(--fg-soft);color:var(--fg)}.sidebar__toggle svg{width:16px;height:16px}.sidebar__nav{flex:1;min-width:0;padding:8px;overflow:hidden auto}.sidebar__section{margin-bottom:4px}.sidebar__section-title{font-family:var(--font-body);font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:8px 10px 6px;font-weight:600}.sidebar__link{border-radius:var(--radius-md);width:100%;color:var(--fg);font-size:var(--fs-base);font-family:var(--font-body);text-align:left;align-items:center;gap:10px;padding:7px 10px;transition:all .12s;display:flex}.sidebar__link:hover{background:var(--fg-soft);color:var(--fg)}.sidebar__link--active{background:var(--accent-bg);color:var(--accent);font-weight:500}.sidebar__link-icon{color:currentColor;flex-shrink:0;width:16px;height:16px}.sidebar__user{border-top:1px solid var(--border);font-size:var(--fs-sm);color:var(--muted);flex-shrink:0;align-items:center;gap:8px;padding:10px 14px;display:flex;position:relative}.sidebar__user-avatar{border-radius:var(--radius-full);background:var(--accent-soft);width:28px;height:28px;color:var(--accent);font-size:var(--fs-xs);flex-shrink:0;place-items:center;font-weight:600;display:grid}.sidebar__user-meta{flex:1;min-width:0}.sidebar__user-meta span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sidebar[data-sidebar=collapsed]{width:var(--sidebar-w-collapsed)}.sidebar[data-sidebar=collapsed] .sidebar__brand{justify-content:center;padding:8px 14px}.sidebar[data-sidebar=collapsed] .sidebar__toggle{margin-left:0}.sidebar[data-sidebar=collapsed] .sidebar__brand>span,.sidebar[data-sidebar=collapsed] .sidebar__link span,.sidebar[data-sidebar=collapsed] .sidebar__section-title,.sidebar[data-sidebar=collapsed] .sidebar__user-meta{display:none}.sidebar[data-sidebar=collapsed] .sidebar__link{justify-content:center;padding:8px}.sidebar[data-sidebar=collapsed] .sidebar__user{justify-content:center;padding:10px}.theme-toggle{border-radius:var(--radius-md);width:28px;height:28px;color:var(--muted);border:1px solid #0000;justify-content:center;align-items:center;transition:all .12s;display:inline-flex}.theme-toggle:hover{background:var(--fg-soft);color:var(--fg);border-color:var(--border)}.theme-toggle svg{width:15px;height:15px}.theme-toggle .icon-sun,[data-theme=dark] .theme-toggle .icon-moon{display:none}[data-theme=dark] .theme-toggle .icon-sun{display:block}@media (max-width:1024px){.sidebar:not([data-sidebar=expanded]){width:var(--sidebar-w-collapsed)}.sidebar:not([data-sidebar=expanded]) .sidebar__brand{justify-content:center}.sidebar:not([data-sidebar=expanded]) .sidebar__toggle{margin-left:0}.sidebar:not([data-sidebar=expanded]) .sidebar__brand>span,.sidebar:not([data-sidebar=expanded]) .sidebar__link span,.sidebar:not([data-sidebar=expanded]) .sidebar__section-title,.sidebar:not([data-sidebar=expanded]) .sidebar__user-meta{display:none}.sidebar:not([data-sidebar=expanded]) .sidebar__link{justify-content:center;padding:8px}.sidebar:not([data-sidebar=expanded]) .sidebar__user{justify-content:center;padding:10px}}
.sim-page{flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.page-tabs{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;gap:4px;padding:8px 16px 0;display:flex}.page-tab{font-size:var(--fs-sm);color:var(--muted);border-bottom:2px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;padding:8px 12px 10px;font-weight:500;display:inline-flex}.page-tab:hover{color:var(--fg)}.page-tab--active{color:var(--fg);border-bottom-color:var(--accent)}.page-tab__badge{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--muted);background:var(--fg-soft);border-radius:var(--radius-full);padding:1px 7px}.sim-stats{background:var(--surface);flex-shrink:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px 16px 4px;display:grid}.sim-stat{border:1px solid var(--border);border-radius:var(--radius-md);border-left-width:3px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.sim-stat--total{border-left-color:var(--accent)}.sim-stat--active{border-left-color:var(--success)}.sim-stat--blocked{border-left-color:var(--danger)}.sim-stat--store{border-left-color:var(--warning)}.sim-stat__value{font-size:var(--fs-xl);font-weight:600;font-family:var(--font-mono);line-height:1}.sim-stat__label{font-size:var(--fs-xs);color:var(--muted)}.bulk-bar{background:var(--accent-bg);border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:8px 14px;display:flex}.bulk-bar__count{font-size:var(--fs-sm)}.bulk-bar__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.bulk-bar__divider{background:var(--border);width:1px;height:18px}.dt tr.is-open{background:var(--accent-bg)}.dt tr.is-selected{background:var(--fg-soft)}.sim-table tbody tr{cursor:pointer}.col-check{width:36px}.col-sim-msisdn{width:140px}.col-sim-device{width:18%}.col-sim-traffic{min-width:150px}.col-sim-actions{width:52px}.cell-device{flex-direction:column;min-width:0;display:flex}.cell-device__project{font-size:var(--fs-xs);color:var(--muted)}.traffic-cell{flex-direction:column;gap:4px;min-width:130px;display:flex}.traffic-cell__row{align-items:baseline;gap:4px;display:flex}.traffic-value{font-family:var(--font-mono);font-weight:600}.traffic-value[data-level=warning]{color:var(--warning)}.traffic-value[data-level=danger]{color:var(--danger)}.traffic-limit{font-size:var(--fs-xs);color:var(--muted)}.traffic-bar{border-radius:var(--radius-full);background:var(--fg-soft);height:4px;overflow:hidden}.traffic-bar__fill{background:var(--success);height:100%}.traffic-bar__fill[data-level=warning]{background:var(--warning)}.traffic-bar__fill[data-level=danger]{background:var(--danger)}.packages-cell{flex-wrap:wrap;gap:4px;max-width:220px;display:flex}.drawer-section__title{font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-weight:600}.rule-list,.pkg-list,.zone-list{flex-direction:column;gap:6px;display:flex}.rule-row,.pkg-row{border:1px solid var(--border);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.rule-row__meta,.pkg-row__meta{font-size:var(--fs-xs);color:var(--muted)}.zone-check{font-size:var(--fs-sm);align-items:center;gap:8px;display:flex}.zone-group{border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:6px;padding:10px;display:flex}.zone-group__title{font-size:var(--fs-xs);color:var(--muted);font-weight:600}.zone-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.device-search-list{border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:4px;max-height:180px;margin-top:8px;display:flex;overflow:auto}.device-search-item{text-align:left;color:inherit;background:0 0;border:0;flex-direction:column;align-items:flex-start;padding:8px 10px;display:flex}.device-search-item:hover,.device-search-item.is-active{background:var(--accent-bg)}.device-search-item__project{font-size:var(--fs-xs);color:var(--muted)}.quota-form{flex-direction:column;gap:14px;display:flex}.quota-form__limits{grid-template-columns:1fr 1fr;gap:12px;display:grid}.quota-preview{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);flex-direction:column;gap:8px;padding:12px;display:flex}.quota-preview__name{font-weight:600}.quota-preview__badges{flex-wrap:wrap;gap:6px;display:flex}.quota-preview__bar{border-radius:var(--radius-full);background:var(--fg-soft);height:6px;display:flex;overflow:hidden}.quota-preview__bar-info{background:var(--success)}.quota-preview__bar-rest{background:var(--warning)}.quota-toolbar{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.quota-toolbar__desc{font-size:var(--fs-sm);color:var(--muted)}.sd-bulk{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}@media (max-width:1100px){.sim-stats{grid-template-columns:1fr 1fr}}

