:root{--background:#0d131b;--foreground:#e9eef5;--card:#121c27;--card-foreground:var(--foreground);--popover:#182431;--popover-foreground:var(--foreground);--muted:#1b2835;--muted-foreground:#a5b4c4;--border:#2b3a49;--input:var(--border);--primary:#54d3ed;--primary-foreground:#08232d;--secondary:#1b2937;--secondary-foreground:var(--foreground);--accent:#163746;--accent-foreground:#7adff4;--sidebar:#101923;--sidebar-foreground:#b0bdca;--sidebar-border:var(--border);--sidebar-accent:var(--accent);--sidebar-accent-foreground:var(--accent-foreground);--positive:#79dfb6;--positive-bg:#123b30;--warning:#f2c379;--warning-bg:#3b2d18;--negative:#ffa0a8;--negative-bg:#41232c;--radius:6px;--font-sans:"Segoe UI",Arial,sans-serif}:root[data-theme=light]{color-scheme:light;--background:#f3f6fa;--foreground:#172d3e;--card:#ffffff;--popover:#ffffff;--muted:#eaf0f5;--muted-foreground:#536778;--border:#d5dfe8;--primary:#00758f;--primary-foreground:#ffffff;--secondary:#edf2f7;--accent:#dcf2f8;--accent-foreground:#006781;--sidebar:#ffffff;--sidebar-foreground:#455b6e;--positive:#126443;--positive-bg:#e4f5ed;--warning:#885000;--warning-bg:#fff1d8;--negative:#b5243e;--negative-bg:#ffe9ed}html{color-scheme:dark}body{font-family:var(--font-sans);font-size:14px;line-height:1.5;font-synthesis:none;text-rendering:optimizeLegibility}button,input,select,textarea{font-family:inherit}b,h1,h2,h3,strong{font-weight:600}h1{font-size:28px;line-height:1.25;letter-spacing:-.025em}h2{font-size:16px;letter-spacing:-.01em}h3{font-size:14px}small{font-size:12px;color:var(--muted-foreground)}body :is(button,input,select,textarea){border-radius:6px;font-size:13px;min-height:36px}button{background:var(--secondary);color:var(--foreground);border-color:var(--border);padding:7px 12px;box-shadow:none;transition:background .15s}button:hover{background:var(--muted);border-color:var(--muted-foreground)}input,select,textarea{background:var(--background);color:var(--foreground);border:1px solid var(--border);padding:7px 10px;color-scheme:inherit}input::placeholder{color:var(--muted-foreground)}select{max-width:100%}.primary,button.primary{background:var(--primary);color:var(--primary-foreground);box-shadow:none;border:1px solid transparent;font-weight:600}button.primary:hover{background:var(--accent-foreground);color:var(--primary-foreground)}:where(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--primary);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.6}input[type=checkbox]{width:16px;min-height:16px;accent-color:var(--primary)}.auth-page,.loading,.workspace{background:var(--background);color:var(--foreground);filter:none;text-shadow:none}.content{max-width:1760px;padding:24px 28px 12px}.topbar{min-height:58px;padding:10px 28px;background:var(--sidebar);border-color:var(--border);color:var(--muted-foreground)}.topbar b{color:var(--foreground);font-weight:600}.topbar-right{gap:12px!important}.theme-toggle{width:36px;padding:7px;background:transparent;flex-shrink:0}.auth-tools{display:flex;gap:12px;align-items:center}.brand{font-size:17px;letter-spacing:.17em;color:var(--foreground);gap:9px}.brand-mark{width:32px;height:32px;font-size:22px;box-shadow:none;border-color:var(--primary);color:var(--primary)}.brand small{font-size:8px;color:var(--muted-foreground)}[data-slot=sidebar-header]{padding:22px 18px 16px}[data-slot=sidebar-content]{padding:0 10px}[data-slot=sidebar-footer]{padding:12px;border-color:var(--border)}.nav-group{margin-bottom:14px}.nav-caption{padding:8px 10px;font-size:10px;letter-spacing:.08em;color:var(--muted-foreground)}[data-slot=sidebar-menu-button]{height:36px!important;min-height:36px;padding:8px 10px;font-size:13px;background:transparent;color:var(--sidebar-foreground);margin:0;border-radius:5px}[data-slot=sidebar-menu-button][data-active=true]{background:var(--accent);color:var(--accent-foreground);box-shadow:inset 2px 0 var(--primary);font-weight:600}.nav-count,.number,[data-slot=sidebar-menu-button]:hover{background:var(--muted)}.nav-count,.number{color:var(--muted-foreground)}.sidebar-note{display:flex;gap:8px;align-items:center;margin:12px 10px;padding:12px 0;border:0;border-top:1px solid var(--border);border-radius:0;font-size:11px}.logout,.profile,.sidebar-note{background:none;color:var(--muted-foreground)}.profile strong{color:var(--foreground)}.avatar{background:var(--accent);color:var(--accent-foreground);border-color:var(--border)}.page-heading{margin-bottom:20px;gap:20px}.page-heading h1{font-size:28px}.page-heading p,.panel-head p{color:var(--muted-foreground);font-size:13px;line-height:1.5;margin-top:5px}.page-heading .eyebrow{display:none}.heading-actions{gap:8px}.filterbar{margin-bottom:16px;gap:10px;flex-wrap:wrap}.filter-hint{color:var(--muted-foreground)}.picker{background:var(--card)!important;color:var(--foreground);height:36px!important;min-width:150px}.demo-banner{padding:8px 12px;margin-bottom:18px;background:var(--accent);border:0;border-radius:4px;color:var(--accent-foreground);font-size:12px}.demo-banner button{min-height:28px;color:inherit}.workspace-footer{color:var(--muted-foreground);padding-top:16px}.workspace-footer b{color:inherit}.camera-stats,.fridge-stats,.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:0;background:var(--card);border-block:1px solid var(--border);margin-bottom:20px}.stat-card{border:0;border-right:1px solid var(--border);border-radius:0;background:none;padding:16px 18px;box-shadow:none}.stat-card:last-child{border-right:0}.stat-card span,.stat-card>div{font-size:12px;color:var(--muted-foreground)}.stat-card>div>svg{display:none}.stat-card strong{font-size:26px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--foreground);margin:6px 0 3px;white-space:nowrap}.stat-card small{font-size:11px;color:var(--muted-foreground)}.panel{background:var(--card);border:1px solid var(--border);border-radius:6px;margin-bottom:20px;box-shadow:none}.panel .panel{border:0;border-top:1px solid var(--border);border-radius:0}.panel-head{padding:16px 18px;gap:12px;flex-wrap:wrap}.panel-head h2{font-size:16px}.overview-middle{grid-template-columns:minmax(0,1.75fr) minmax(280px,1fr);gap:20px;margin-bottom:20px}.revenue-chart{height:215px;padding:10px 18px 18px}.chart-x,.chart-y{color:var(--muted-foreground)}.chart-plot svg line{stroke:var(--border)}.chart-plot svg path[stroke]{stroke:var(--primary)}.attention-row,.attention>.panel-head{border-color:var(--border)}.attention-row{padding:12px 0;margin:0 18px}.attention-bottom,.attention-row p{color:var(--muted-foreground)}.attention-bottom{padding:12px 18px}.alert-icon{width:30px;height:30px;border-radius:4px}.machine-icon{display:none}.machine-cell small{font-size:11px}.product-link,.text-button{color:var(--primary);background:none}.icon-button{background:none;color:var(--muted-foreground)}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}body :is([data-slot=table-head],.fridge-table th,.product-list th){height:36px;background:var(--muted);color:var(--muted-foreground);font-size:11px;font-weight:600;text-align:left;padding:9px 14px;border-bottom:1px solid var(--border)}body :is([data-slot=table-cell],.fridge-table td,.product-list td){padding:12px 14px;font-size:13px;color:var(--foreground);border-bottom:1px solid var(--border);vertical-align:middle}body :is([data-slot=table-row],.fridge-table tr,.product-list tr){border-color:var(--border)}body :is([data-slot=table-row],.fridge-table tr,.product-list tr):hover{background:var(--muted)}td small{color:var(--muted-foreground);font-size:11px;margin-top:3px}td button{min-height:32px;font-size:12px}.fridge-table-wrap,.product-list-scroll,[data-slot=table-container]{overflow-x:auto;max-width:100%}.fridge-table{min-width:820px}.panel>h2{padding:16px 18px}.tag{background:var(--muted);color:var(--muted-foreground);border:0;border-radius:4px;font-size:11px;padding:4px 7px}.tag.green{background:var(--positive-bg);color:var(--positive)}.tag.amber{background:var(--warning-bg);color:var(--warning)}.tag.red{background:var(--negative-bg);color:var(--negative)}.tag.cyan,.tag.violet{background:var(--accent);color:var(--accent-foreground)}.late,.temperature-warn{color:var(--warning)!important}.notice{padding:10px 14px;background:var(--accent);color:var(--accent-foreground);border:0;border-left:2px solid var(--primary);border-radius:0;font-size:12px;margin-bottom:16px}.error{background:var(--negative-bg);color:var(--negative);border-color:var(--negative)}.error-line{border-color:var(--border);color:var(--warning)}.product-list{min-width:0}.product-list-filters{padding:0 18px 14px;gap:12px;align-items:end}.product-list-filters label{font-size:11px;color:var(--muted-foreground)}.product-list-filters select{margin-top:4px}.product-list-actions{display:flex;flex-direction:row;flex-wrap:wrap;gap:6px}.product-list-actions a{display:none}.product-list td .tag{margin-top:5px}.product-list td:first-child{min-width:190px}.product-list .product-qr-value{max-width:190px}.product-list .qr-disclosure{font-size:12px;min-width:90px}.qr-disclosure summary{cursor:pointer;color:var(--primary);padding:7px 0}.qr-disclosure[open]{min-width:210px}.qr-disclosure svg{width:70px;height:70px;margin-bottom:8px}.product-copy-status{color:var(--muted-foreground)}.task-grid{gap:16px}.task-column{background:none;border:0;padding:0}.task-column h2{font-size:13px;padding:12px 0;border-bottom:1px solid var(--border);color:var(--foreground)}.task-card{background:var(--card);border:1px solid var(--border);border-radius:5px;padding:14px;box-shadow:none}.task-card h3{font-size:14px}.column-empty,.task-card p,.task-card small,.task-due{color:var(--muted-foreground)}.camera-toolbar,.fridge-toolbar{gap:10px;margin-bottom:16px;flex-wrap:wrap}.fridge-detail{display:flex;justify-content:space-between;padding:18px;gap:20px}.fridge-detail h2{font-size:22px}.fridge-detail p,.fridge-detail small,.fridge-readings{color:var(--muted-foreground)}.fridge-detail .eyebrow{display:none}.fridge-readings{padding:10px 0;background:none;border:0}.fridge-empty{padding:32px 20px;color:var(--muted-foreground)}.fridge-restock{padding:0 18px 16px}.fridge-restock .panel-head{padding-inline:0}.fridge-history>div{border-color:var(--border);color:var(--muted-foreground)}.camera-grid{flex-direction:column;gap:12px}.camera-card{background:var(--card);border:1px solid var(--border);border-radius:5px;padding:18px;display:grid;grid-template-columns:minmax(180px,1fr) minmax(300px,2fr) auto;gap:8px 20px;align-items:start}.camera-card>*{grid-column:1}.camera-card .camera-card-top{display:flex;gap:10px}.camera-card .camera-health{grid-column:2;grid-row:1/span 6;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.camera-card .camera-events-btn{grid-column:3;grid-row:1/span 2}.camera-card .camera-detach-btn{grid-column:3;grid-row:3/span 2}.camera-card h2{font-size:16px}.camera-symbol{display:none}.camera-card .mono,.camera-card p,.camera-card small,.camera-health>span{color:var(--muted-foreground)}.camera-health>span{padding:7px 9px;border-radius:4px;background:var(--muted);font-size:12px}.camera-health>span[data-health=ok]{color:var(--positive);background:var(--positive-bg)}.camera-health>span[data-health=warning]{color:var(--warning);background:var(--warning-bg)}.camera-health>span[data-health=error]{color:var(--negative);background:var(--negative-bg)}.camera-health svg{color:inherit!important}.camera-detach-btn{color:var(--negative);border-color:var(--border);background:none}.camera-pair-form{background:none}.camera-dialog,.form-dialog,.fridge-modal,.product-detail,.service-pin-dialog{background:var(--card);color:var(--foreground);border-color:var(--border);border-radius:8px}.camera-detail-grid section{background:var(--card);border-color:var(--border)}.camera-clips,.camera-events,.service-access{background:var(--card)}.service-access{padding:16px 18px;border:1px solid var(--border);border-radius:5px;margin:16px 0}.service-access h3{font-size:14px}.service-access p,.service-access small{color:var(--muted-foreground)}.service-access>div:first-child{min-width:0}.device-drawer{width:min(680px,calc(100vw - 24px));max-width:680px!important;background:var(--card);color:var(--foreground);max-height:90vh;overflow:auto}.device-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;border-block:1px solid var(--border);padding:18px 0}.device-facts>span{display:flex;flex-direction:column;gap:6px;color:var(--muted-foreground);font-size:12px}.device-facts strong{color:var(--foreground);overflow-wrap:anywhere}.device-facts .tag{align-self:start}.factory-workflow{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:0 0 16px;border-bottom:1px solid var(--border);margin:0 0 20px}.factory-workflow li{display:flex;gap:10px;font-size:13px}.factory-workflow li>span{color:var(--primary);font-variant-numeric:tabular-nums}.factory-workflow b{display:block}.factory-workflow small{font-size:11px}.secret-box{background:var(--muted);border-color:var(--border)}.access-grid{gap:16px}.access-grid .panel{background:var(--card)}.auth-page{min-height:100vh;padding:28px 5vw}.auth-layout{max-width:1080px;margin:7vh auto;gap:80px}.auth-copy h1{font-size:52px;letter-spacing:-.04em;line-height:1.12}.auth-copy .eyebrow,.auth-copy h1 span{color:var(--primary)}.auth-copy p{font-size:17px;line-height:1.6}.auth-copy p,.auth-features{color:var(--muted-foreground)}.auth-features{font-size:13px}.auth-features svg{color:var(--primary)}.login-card{padding:28px;background:var(--card);border:1px solid var(--border);border-radius:8px;box-shadow:none;backdrop-filter:none}.login-card h2{font-size:22px}.auth-footer{color:var(--muted-foreground)}.auth-footer span{color:inherit}.edit-form p,.edit-form small,.field>span{color:var(--muted-foreground)}.edit-form .field{margin-bottom:12px}.form-actions{border-color:var(--border)}@media (min-width:1500px){.content{padding-inline:36px}.stats-grid .stat-card{padding:18px 22px}}@media (max-width:1150px){.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-grid .stat-card:nth-child(3){border-right:0}.stats-grid .stat-card:nth-child(n+4){border-top:1px solid var(--border)}.camera-card{grid-template-columns:1fr 1.5fr}.camera-card .camera-detach-btn,.camera-card .camera-events-btn{grid-column:auto;grid-row:auto}.overview-middle{grid-template-columns:1fr}}@media (max-width:767px){.content{padding:18px 14px}.topbar{padding:10px 14px;min-height:56px}.topbar-right>span{display:none}.topbar>div{gap:7px}.topbar>div>span{max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar b{display:none}.page-heading{align-items:start;flex-direction:column;margin-bottom:16px;gap:12px}.page-heading h1{font-size:24px}.page-heading p{font-size:12px}.heading-actions{width:100%;gap:8px}.camera-stats,.fridge-stats,.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{padding:12px}.stat-card strong{font-size:23px;white-space:normal}.stat-card:nth-child(2n){border-right:0}.stats-grid .stat-card:nth-child(3){border-right:1px solid var(--border)}.stat-card:nth-child(n+3){border-top:1px solid var(--border)}.overview-middle{grid-template-columns:1fr;gap:16px}.panel-head{padding:14px;gap:10px}.panel-head h2{font-size:15px}.filterbar .picker{flex:1;min-width:130px}.filter-hint{display:none}.demo-banner{gap:8px;font-size:11px}.demo-banner button{white-space:nowrap}.task-grid{grid-template-columns:1fr}.camera-card{display:flex;flex-direction:column;padding:14px}.camera-card .camera-health{width:100%;grid-template-columns:1fr 1fr}.camera-card .camera-detach-btn,.camera-card .camera-events-btn{align-self:stretch}.fridge-detail{flex-direction:column;gap:8px}.factory-workflow{gap:12px}.device-facts,.factory-workflow{grid-template-columns:1fr}.auth-page{padding:20px}.auth-layout{display:block;margin:32px auto}.auth-copy{display:none}.login-card{padding:22px}.auth-tools .tag{display:none}.brand{font-size:16px}.auth-top{gap:10px}.workspace-footer{font-size:9px;gap:12px}.product-list-filters{padding:0 14px 14px}.product-list-filters label{flex:1;min-width:120px}.revenue-chart{gap:8px;padding:10px 12px 18px}.chart-x{font-size:9px}.search{min-width:0}.search input{max-width:none}.product-search{flex-basis:100%}.camera-toolbar input{min-width:0}.service-access{flex-wrap:wrap}.form-dialog{max-height:90vh;overflow:auto}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media print{.theme-toggle{display:none}}.section-tabs{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--border);padding:0 0 12px;margin-bottom:18px;grid-column:1/-1}.section-tabs button{background:transparent;color:var(--muted-foreground);border-color:transparent}.section-tabs button[aria-pressed=true]{background:var(--accent);color:var(--accent-foreground);border-color:var(--border)}.settings-view-connect .settings-confirm,.settings-view-connect .settings-transfer,.settings-view-security .settings-connect,.settings-view-security .settings-transfer,.settings-view-transfer .settings-connect{display:none}.account-panels{display:block;max-width:1100px}.account-panels>section.panel{padding:22px}.account-panels>section.panel>.panel-head{padding:0 0 16px}.account-panels>section.panel>h2{padding:0}.account-panels .edit-form{max-width:650px}.account-panels>section p{color:var(--muted-foreground);font-size:13px;max-width:760px}.account-panels>section h3{margin:20px 0 8px}.account-panels .field{max-width:650px}.account-panels .pair-form{max-width:760px}.panel>summary{padding:14px 18px;font-weight:600;cursor:pointer;color:var(--foreground)}.camera-detail>.camera-health,.camera-detail>.section-tabs,.camera-detail>p{margin:16px 20px}.camera-health{border-color:var(--border)}.camera-card{color:var(--foreground)}.camera-card h2{margin:0}.camera-card .camera-card-bottom{margin-top:0;display:block;color:var(--muted-foreground)}.camera-card .camera-events-btn{margin-top:0;min-width:160px;width:auto;background:var(--secondary);color:var(--foreground);border-color:var(--border);border-radius:5px}.camera-card .camera-health{padding:0;border:0}.camera-card .camera-facts{flex-wrap:wrap;justify-content:start;color:var(--muted-foreground)}.camera-card .camera-detach-btn{color:var(--negative)}.camera-clip,.camera-detail-head{border-color:var(--border)}.camera-clip-main small,.camera-clip-main span,.camera-detail-head p{color:var(--muted-foreground)}.camera-empty h2,.camera-empty p,.fridge-empty h2{color:var(--foreground)}.camera-clip.incident{background:var(--warning-bg)}body .product-link{color:var(--primary)!important;text-decoration:none}body .product-link:hover{text-decoration:underline}.product-detail-dialog{background:var(--card);color:var(--foreground)}.product-detail-dialog td,.product-detail-dialog th{border-color:var(--border)}.product-detail-dialog th{color:var(--muted-foreground)}.product-detail-dialog .product-detail-top{padding:12px 0}.product-detail-dialog table{display:block;overflow:auto}.account-panels input,.account-panels select,.camera-pair-form input,.camera-pair-form select,.camera-toolbar select,.fridge-workspace input,.fridge-workspace select,.product-list-filters select,.product-qr-value{background:var(--background);border-color:var(--border);color:var(--foreground);min-height:36px;padding:7px 10px;border-radius:5px}.camera-pair-form label{color:var(--muted-foreground)}.alert-icon.amber{color:var(--warning);background:var(--warning-bg)}.alert-icon.cyan,.alert-icon.violet{color:var(--accent-foreground);background:var(--accent)}.login-card .field span,.login-card p{color:var(--muted-foreground)}.demo-link{color:var(--primary)}.camera-grid{display:flex}.camera-stats,.fridge-stats{gap:0}.fridge-stats .stat-card{background:none}.fridge-actions button,.fridge-toolbar button{min-height:36px}.fridge-detail h2{margin:0}.fridge-readings{padding:8px 0}.chart-plot svg circle{fill:var(--primary)}@media (max-width:767px){.account-panels>section.panel{padding:16px}.camera-card .camera-events-btn{width:100%}.camera-detail-head{flex-direction:column;align-items:start}.section-tabs{gap:2px}.section-tabs button{padding-inline:9px}.product-list table{min-width:800px}.fridge-title input{min-width:0}.account-panels .pair-form{flex-wrap:wrap}.account-panels .pair-form .field{min-width:0;flex-basis:100%}}.camera-health>span[data-health=unknown],.camera-pair-form label,.fridge-table small,.product-list small{color:var(--muted-foreground)}.bulk-actions{display:flex;align-items:center;gap:12px;padding:10px 18px;background:var(--accent);color:var(--accent-foreground);font-size:13px}.product-list td:first-child{min-width:40px}.product-list td:nth-child(2){min-width:180px}.product-list td:nth-child(2) .product-link{font-weight:600}.product-list-actions>.product-link{display:none}.product-list small{margin:3px 0}.fridge-table td:nth-child(2){max-width:250px;white-space:normal}.chart-dense>span:nth-child(2n){visibility:hidden}.stats-grid{overflow:hidden}@media (max-width:767px){.camera-card .camera-health{grid-template-columns:1fr}.bulk-actions{flex-wrap:wrap}.product-list td:first-child,.product-list th:first-child{position:sticky;left:0;background:var(--card);z-index:1}.chart-dense>span{font-size:8px}}.account-panels:not(.settings-view-devices) .settings-devices,.settings-view-devices .settings-confirm,.settings-view-devices .settings-connect,.settings-view-devices .settings-transfer{display:none}.camera-workspace{gap:16px}.camera-workspace>.camera-stats,.camera-workspace>.camera-toolbar,.camera-workspace>.panel{margin-bottom:0}.account-panels .two-fields{align-items:end}.factory-release-button{align-self:end;min-height:42px;max-height:44px;margin-bottom:16px}.camera-pair-form button{align-self:end}.fridge-modal{background:var(--card)}@media (max-width:767px){[data-slot=table-container] table{min-width:780px}[data-slot=table-container] td:first-child{min-width:170px}.fridge-table-wrap:before,.product-list-scroll:before,[data-slot=table-container]:before{content:"Прокрутите таблицу вправо →";display:block;position:sticky;left:0;padding:8px 14px;color:var(--muted-foreground);font-size:11px;background:var(--card)}.fridge-table td:last-child:has(.fridge-open),[data-slot=table-container] td:last-child:has(button){position:sticky;right:0;background:var(--card);border-left:1px solid var(--border);z-index:1}.topbar>div>svg{display:none}.two-fields{grid-template-columns:1fr}.form-dialog input,.form-dialog select{font-size:16px}.camera-card .camera-health{grid-template-columns:1fr 1fr}.empty-box{padding:26px 16px}}