@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/027df52a710ea511-s.p.1_4-gb67e4cdj.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/5e3a2858f2997077-s.p.1t1ox7t-8xjh-.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_9f23d223-module__S3HHaW__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_9f23d223-module__S3HHaW__variable{--font-dm-sans:"DM Sans", "DM Sans Fallback"}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f5f5f7;--surface:#fff;--border:#e8e8e8;--border2:#d4d4d4;--ink:#111;--ink2:#333;--body:#555;--muted:#909090;--cat:#bbb;--cyan:#0ba8c8;--cyan-dim:#0ba8c81a;--green:#1e9e68;--green-dim:#1e9e681a;--amber:#b07d18;--amber-dim:#b07d181c;--red:#c84060;--red-dim:#c840601a;--header-h:58px;--sidebar-w:248px;--font-sans:var(--font-dm-sans), -apple-system, BlinkMacSystemFont, Helvetica, Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d0f14;--surface:#13161e;--border:#ffffff14;--border2:#ffffff21;--ink:#f2f3f6;--ink2:#c8ccda;--body:#9aa0b4;--muted:#5a6078;--cat:#3e4460;--cyan:#5fc6d4;--cyan-dim:#5fc6d41f;--green:#3ecf8e;--green-dim:#3ecf8e1f;--amber:#e6b450;--amber-dim:#e6b45021;--red:#e8728b;--red-dim:#e8728b1f}html,body{background:var(--bg);height:100%;font-family:var(--font-sans);color:var(--body);-webkit-font-smoothing:antialiased;font-size:14px}button,input,select,textarea{font-family:inherit}a{color:inherit}.shell{flex-direction:column;height:100vh;display:flex}.app-header{height:var(--header-h);background:var(--surface);border-bottom:1px solid var(--border);z-index:200;flex-shrink:0;align-items:center;padding:0 28px;display:flex;position:relative}.logo{color:var(--ink);flex-shrink:0;align-items:center;margin-right:32px;text-decoration:none;display:flex}.logo svg{width:auto;height:24px;display:block}.header-nav{align-items:center;gap:2px;display:flex}.hnav-link{color:var(--muted);white-space:nowrap;border-radius:8px;padding:6px 14px;font-size:14px;font-weight:500;text-decoration:none;transition:background .12s,color .12s}.hnav-link:hover{background:var(--bg);color:var(--ink2)}.hnav-link.active{color:var(--ink);background:var(--bg);font-weight:600}.header-space{flex:1}.header-actions{align-items:center;gap:6px;display:flex}.icon-btn{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex}.icon-btn:hover{background:var(--bg);color:var(--ink2)}.icon-sun{display:block}.icon-moon,[data-theme=dark] .icon-sun{display:none}[data-theme=dark] .icon-moon{display:block}.bell-wrap{cursor:pointer;width:36px;height:36px;color:var(--muted);border-radius:50%;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex;position:relative}.bell-wrap:hover{background:var(--bg);color:var(--ink2)}.bell-dot{color:#fff;border:2px solid var(--surface);background:#e84b6a;border-radius:99px;justify-content:center;align-items:center;min-width:17px;height:17px;padding:0 4px;font-size:9.5px;font-weight:700;display:flex;position:absolute;top:3px;right:2px}.profile-wrap{margin-left:6px;position:relative}.profile-btn{cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:99px;align-items:center;gap:9px;padding:4px 10px 4px 4px;transition:background .12s,border-color .12s;display:flex}.profile-btn:hover,.profile-btn.open{background:var(--bg);border-color:var(--border)}.profile-photo{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:11px;font-weight:700;display:flex;overflow:hidden}.profile-photo img{object-fit:cover;border-radius:8px;width:100%;height:100%;display:block}:is(.profile-photo:has(>img),.dd-photo:has(>img)){background:0 0}.dd-photo:has(>img){border-color:#0000}.profile-btn:focus{outline:none}.profile-btn:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.profile-name{color:var(--ink2);white-space:nowrap;font-size:13.5px;font-weight:600}.profile-chevron{color:var(--muted);flex-shrink:0;transition:transform .18s}.profile-btn.open .profile-chevron{transform:rotate(180deg)}.profile-dropdown{background:var(--surface);border:1px solid var(--border);z-index:500;border-radius:14px;width:252px;display:none;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 8px 32px #00000021,0 1px 4px #0000000f}.profile-dropdown.open{display:block}.dd-header{align-items:flex-start;gap:13px;padding:18px 18px 14px;display:flex}.dd-photo{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border:1px solid #00000014;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:16px;font-weight:700;display:flex;overflow:hidden}.dd-photo img{object-fit:cover;border-radius:10px;width:100%;height:100%;display:block}.dd-info{flex-direction:column;gap:6px;padding-top:2px;display:flex}.dd-name{color:var(--ink);letter-spacing:-.01em;font-size:15px;font-weight:700;line-height:1.2}.dd-email-chip{background:var(--cyan-dim);color:var(--cyan);border:1px solid #0ba8c833;border-radius:99px;align-items:center;width:fit-content;padding:2px 10px;font-size:11.5px;font-weight:600;display:inline-flex}.dd-sep{background:var(--border);height:1px;margin:0}.dd-item{color:var(--ink2);cursor:pointer;align-items:center;gap:10px;padding:11px 18px;font-size:14px;font-weight:500;text-decoration:none;transition:background .1s;display:flex}.dd-item:hover{background:var(--bg)}.dd-item svg{color:var(--muted);flex-shrink:0}.dd-row{color:var(--ink2);justify-content:space-between;align-items:center;padding:10px 18px;font-size:14px;font-weight:500;display:flex}.dd-pill{background:var(--bg);border:1px solid var(--border2);color:var(--ink2);border-radius:99px;padding:3px 12px;font-size:12.5px;font-weight:600}.dd-theme-row{color:var(--ink2);justify-content:space-between;align-items:center;padding:8px 18px;font-size:14px;font-weight:500;display:flex}.theme-toggle{background:var(--bg);border:1px solid var(--border2);cursor:pointer;border-radius:99px;align-items:center;padding:2px;display:flex}.tt-opt{width:28px;height:24px;color:var(--muted);border-radius:99px;justify-content:center;align-items:center;transition:background .15s;display:flex}.tt-opt.active{background:var(--surface);color:var(--ink2);box-shadow:0 1px 3px #0000001f}.lang-toggle{background:var(--bg);border:1px solid var(--border2);border-radius:99px;align-items:center;gap:2px;padding:2px;display:flex}.lang-opt{white-space:nowrap;height:24px;font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:99px;padding:0 9px;font-size:12.5px;font-weight:600;transition:background .15s,color .15s}.lang-opt:hover{color:var(--ink2)}.lang-opt.active{background:var(--surface);color:var(--ink2);cursor:default;box-shadow:0 1px 3px #0000001f}.dd-signout{color:var(--red);cursor:pointer;align-items:center;gap:10px;padding:11px 18px;font-size:14px;font-weight:500;transition:background .1s;display:flex}.dd-signout:hover{background:var(--red-dim)}.page-body{flex:1;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-w);min-width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);flex-direction:column;display:flex;overflow:hidden auto}.sidebar::-webkit-scrollbar{display:none}.sidebar-nav{flex:1;padding:10px 0}.nav-cat{color:var(--cat);text-transform:uppercase;letter-spacing:.07em;padding:12px 22px 4px;font-size:11px;font-weight:600}.nav-item{color:var(--ink2);cursor:pointer;padding:9px 22px;font-size:14px;font-weight:500;line-height:1.4;text-decoration:none;transition:background .1s;display:block;position:relative}.nav-item:hover{background:var(--bg)}.nav-item.active{color:var(--ink);background:var(--bg);font-weight:600}.nav-item.active:before{content:"";background:var(--ink);width:2px;position:absolute;top:0;bottom:0;left:0}.nav-sep{background:var(--border);height:1px;margin:6px 0}.nav-group>summary{-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;list-style:none;display:flex}.nav-group>summary::-webkit-details-marker{display:none}.nav-group>summary .nav-chev{color:var(--muted);flex-shrink:0;transition:transform .15s}.nav-group[open]>summary .nav-chev{transform:rotate(180deg)}.nav-item.nav-sub{padding-left:38px;font-size:13.5px}.nav-item:has(.nav-lock){align-items:center;gap:8px;display:flex}.nav-lock{color:var(--cat);flex-shrink:0;margin-left:auto}.nav-item.active .nav-lock{color:var(--muted)}.sidebar-footer{border-top:1px solid var(--border);flex-shrink:0;padding:14px 22px}.signout-link{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:14px;font-weight:500;text-decoration:underline}.signout-link:hover{color:var(--ink2)}.main-area{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.content{flex:1;padding:34px 34px 56px;overflow-y:auto}.content::-webkit-scrollbar{width:4px}.content::-webkit-scrollbar-track{background:0 0}.content::-webkit-scrollbar-thumb{background:var(--border2);border-radius:99px}.page-head{margin-bottom:26px}.page-head h1{color:var(--ink);letter-spacing:-.02em;margin-bottom:5px;font-size:22px;font-weight:700}.page-head h1 .count{color:var(--muted);margin-left:2px;font-size:16px;font-weight:400}.page-head p{color:var(--muted);font-size:13.5px}.btn{cursor:pointer;white-space:nowrap;border:none;border-radius:999px;align-items:center;gap:7px;padding:9px 20px;font-family:inherit;font-size:13.5px;font-weight:600;line-height:1;text-decoration:none;transition:background .12s,opacity .12s;display:inline-flex}.btn:active{opacity:.82}.btn-dark{background:var(--ink);color:var(--surface)}.btn-dark:hover{opacity:.88}.btn-outline-cyan{color:var(--cyan);border:1.5px solid var(--cyan);background:0 0}.btn-outline-cyan:hover{background:var(--cyan-dim)}.filter-row{flex-wrap:wrap;align-items:flex-end;gap:14px;margin-bottom:20px;display:flex}.filter-group{flex-direction:column;gap:6px;display:flex}.filter-lbl{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:11px;font-weight:600}.select-wrap{position:relative}.select-wrap select{appearance:none;background:var(--surface);border:1px solid var(--border2);color:var(--ink2);cursor:pointer;border-radius:8px;outline:none;min-width:176px;padding:9px 36px 9px 13px;font-family:inherit;font-size:13.5px;font-weight:500;transition:border-color .15s}.select-wrap select:focus{border-color:var(--cyan)}.select-wrap .chev{color:var(--muted);pointer-events:none;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.date-range{align-items:center;gap:8px;display:flex}.date-input{background:var(--surface);border:1px solid var(--border2);color:var(--ink2);border-radius:8px;outline:none;width:136px;padding:9px 13px;font-family:inherit;font-size:13.5px;font-weight:500;transition:border-color .15s}.date-input::placeholder{color:var(--cat)}.date-input:focus{border-color:var(--cyan)}.date-sep{color:var(--muted);font-size:16px}.filter-space{flex:1}.table-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-bottom:18px;overflow:hidden}.table-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:14px 18px;display:flex}.tt-left{color:var(--muted);align-items:center;gap:7px;font-size:13px;display:flex}.tt-pagesz{position:relative}.tt-pagesz select{appearance:none;background:var(--bg);border:1px solid var(--border);color:var(--ink2);cursor:pointer;border-radius:6px;outline:none;padding:6px 26px 6px 10px;font-family:inherit;font-size:13px;font-weight:500}.tt-pagesz .chev{color:var(--muted);pointer-events:none;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.tt-search{background:var(--bg);border:1px solid var(--border);border-radius:8px;align-items:center;gap:8px;min-width:220px;padding:7px 12px;transition:border-color .15s,background .15s;display:flex}.tt-search:focus-within{border-color:var(--cyan);background:var(--surface)}.tt-search input{color:var(--ink2);background:0 0;border:none;outline:none;width:100%;font-family:inherit;font-size:13.5px}.tt-search input::placeholder{color:var(--cat)}.tt-search svg{color:var(--muted);flex-shrink:0}.tbl-scroll{overflow-x:auto}table.devices{border-collapse:collapse;width:100%;min-width:820px}table.devices thead th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap;background:var(--bg);padding:13px 18px;font-size:11px;font-weight:600}table.devices thead th.right{text-align:right}table.devices tbody td{border-bottom:1px solid var(--border);vertical-align:middle;color:var(--body);padding:14px 18px;font-size:13.5px}table.devices tbody tr:last-child td{border-bottom:none}table.devices tbody tr{transition:background 80ms}table.devices tbody tr:hover{background:var(--bg)}.cell-product{align-items:center;gap:10px;display:flex}.prod-thumb{border:1px solid var(--border);background:var(--bg);border-radius:4px;flex-shrink:0;width:50px;height:35px;overflow:hidden}.prod-name{color:var(--ink2);font-size:13.5px;font-weight:600}.cell-name{color:var(--ink2)}.cell-empty{color:var(--cat)}.serial-link{color:var(--cyan);font-weight:600;text-decoration:none}.serial-link:hover{text-decoration:underline}.cell-date{color:var(--ink2);font-variant-numeric:tabular-nums;white-space:nowrap}.col-warranty{text-align:right}.warr-badge{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 11px;font-size:12.5px;font-weight:600;display:inline-flex}.warr-badge .dot{background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.warr-active{background:var(--green-dim);color:var(--green)}.warr-soon{background:var(--amber-dim);color:var(--amber)}.warr-expired{background:var(--red-dim);color:var(--red)}.table-foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;padding:13px 18px;display:flex}.tf-total{color:var(--muted);font-size:13px}.tf-total strong{color:var(--ink2);font-weight:600}.pager{align-items:center;gap:4px;display:flex}.pager-btn{background:var(--surface);border:1px solid var(--border);width:30px;height:30px;color:var(--muted);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;transition:border-color .12s,color .12s;display:flex}.pager-btn:hover:not([disabled]){border-color:var(--ink2);color:var(--ink2)}.pager-btn[disabled]{opacity:.35;cursor:not-allowed}.pager-num{cursor:pointer;border-radius:6px;justify-content:center;align-items:center;min-width:30px;height:30px;padding:0 8px;font-size:13px;font-weight:600;transition:background .1s;display:flex}.pager-num.active{background:var(--ink);color:var(--surface)}.pager-num:not(.active){color:var(--muted)}.pager-num:not(.active):hover{background:var(--bg);color:var(--ink2)}.table-empty{text-align:center;padding:52px 20px;display:none}.table-empty.show{display:block}.table-empty svg{color:var(--border2);margin-bottom:12px}.table-empty p{color:var(--muted);font-size:13.5px}.register-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding:24px 28px;display:flex}.rc-left{flex:1;align-items:flex-start;gap:14px;min-width:0;display:flex}.rc-icon{background:var(--cyan-dim);width:42px;height:42px;color:var(--cyan);border:1px solid #0ba8c82e;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.rc-title{color:var(--ink);margin-bottom:6px;font-size:15px;font-weight:700}.rc-desc{color:var(--muted);font-size:13px;line-height:1.6}.rc-desc+.rc-desc{margin-top:3px}.rc-desc strong{color:var(--ink2);font-weight:600}.shell{overflow:hidden}.btn[disabled]{opacity:.42;cursor:not-allowed}.btn-ghost{background:var(--bg);color:var(--ink2);border:1px solid var(--border2)}.btn-ghost:hover{border-color:var(--ink2)}.btn-danger{background:var(--red);color:#fff}.btn-danger:hover{opacity:.88}.chip{background:var(--cyan-dim);color:var(--cyan);white-space:nowrap;border:1px solid #0ba8c833;border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-size:11.5px;font-weight:600;display:inline-flex}.chip-neutral{background:var(--bg);color:var(--ink2);border-color:var(--border2)}.modal-overlay{z-index:400;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;pointer-events:none;background:#1c1e266b;justify-content:center;align-items:center;padding:24px;transition:opacity .22s;display:flex;position:fixed;inset:0}[data-theme=dark] .modal-overlay{background:#080a0e9e}.modal-overlay.show{opacity:1;pointer-events:auto}.modal{background:var(--surface);border:1px solid var(--border2);border-radius:14px;width:100%;max-width:760px;max-height:calc(100vh - 48px);padding:30px 34px 28px;transition:transform .25s cubic-bezier(.4,0,.2,1);position:relative;overflow-y:auto;transform:translateY(14px)scale(.985);box-shadow:0 40px 100px -30px #00000080}.modal.sm{max-width:472px;padding:28px 30px 24px}.modal-overlay.show .modal{transform:none}.modal-close{background:var(--ink);width:34px;height:34px;color:var(--surface);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;transition:opacity .12s;display:flex;position:absolute;top:18px;right:18px}.modal-close:hover{opacity:.85}.modal h2{color:var(--ink);letter-spacing:-.02em;margin-bottom:22px;font-size:23px;font-weight:700}.rm-head{align-items:flex-start;gap:15px;display:flex}.rm-icon{border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.rm-icon.info{background:var(--cyan-dim);color:var(--cyan)}.rm-icon.danger{background:var(--red-dim);color:var(--red)}.rm-icon.success{background:var(--green-dim);color:var(--green)}.rm-title{color:var(--ink);letter-spacing:-.01em;margin-bottom:8px;padding-right:20px;font-size:18px;font-weight:700}.rm-text{color:var(--body);font-size:13.5px;line-height:1.65}.rm-text b{color:var(--ink2);font-weight:600}.rm-foot{justify-content:flex-end;gap:10px;margin-top:26px;display:flex}.toast{background:var(--ink);color:var(--surface);opacity:0;pointer-events:none;z-index:600;border-radius:11px;align-items:center;gap:10px;padding:12px 18px;font-size:13px;font-weight:600;transition:opacity .25s,transform .25s;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%)translateY(20px);box-shadow:0 18px 44px -14px #0006}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.toast .t-check{background:var(--green);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:flex}.toast .t-check.error{background:var(--red)}.toast.has-action.show{pointer-events:auto}.toast .t-action{color:inherit;white-space:nowrap;text-underline-offset:3px;margin-left:4px;font-weight:700;text-decoration:underline}.toast .t-action:hover{opacity:.8}.img-slot{background:var(--bg);display:block;position:relative;overflow:hidden}.img-slot img{width:100%;height:100%;display:block}.img-slot:has(>img){background:0 0}.img-slot img{transition:opacity .2s}.img-slot-spin{border:2.5px solid var(--spin-track,#ffffff2e);border-top-color:var(--spin-color,#ffffffd9);border-radius:50%;width:26px;height:26px;margin:-13px 0 0 -13px;animation:.75s linear infinite img-slot-spin;position:absolute;top:50%;left:50%}@keyframes img-slot-spin{to{transform:rotate(360deg)}}.img-slot-ph{text-align:center;background:repeating-linear-gradient(135deg, var(--bg) 0 8px, var(--border) 8px 9px);font-family:var(--font-mono);color:var(--muted);letter-spacing:.02em;justify-content:center;align-items:center;padding:4px;font-size:10px;line-height:1.3;display:flex;position:absolute;inset:0}.field label{color:var(--ink2);margin-bottom:8px;font-size:13px;font-weight:600;display:block}.field label .req{color:var(--red);margin-left:1px}.input{background:var(--surface);border:1px solid var(--border2);width:100%;color:var(--ink);border-radius:8px;outline:none;padding:9px 13px;font-size:13.5px;font-weight:500;transition:border-color .15s}.input::placeholder{color:var(--cat)}.input:focus{border-color:var(--cyan)}.input.invalid{border-color:var(--red)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button.profile-btn{font:inherit;color:inherit;background:0 0}button.dd-signout{width:100%;font:inherit;text-align:left;background:0 0;border:none;font-size:14px;font-weight:500}button.theme-toggle{font:inherit}
