:root{--brand:#00529b;--brand-ink:#fff;--grey:#939598;--bg:#f4f5f7;--card:#fff;--ink:#1d2329;--muted:#5f6770;--line:#dde1e6;--soft:#eef1f4;--ok:#1f7a3a;--warn:#9a5b00;--bad:#b3261e;--radius:10px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.45}*{box-sizing:border-box}body{background:var(--bg);margin:0}h1{margin:0 0 .25rem;font-size:1.5rem}h2{margin:0 0 .75rem;font-size:1.1rem}h3{margin:1rem 0 .5rem;font-size:1rem}a{color:var(--brand)}img{max-width:100%}.small{font-size:.85rem}.muted{color:var(--muted)}.pre{white-space:pre-wrap;overflow-wrap:anywhere}.nowrap{white-space:nowrap}.right{text-align:right}.row{align-items:center;gap:.5rem;display:flex}.row.wrap{flex-wrap:wrap}.row.tight{gap:.25rem}.row-between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.row-end{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:.75rem;display:flex}.grow{flex:14rem}input,select,textarea,button{font:inherit;color:inherit}input:not([type=checkbox]):not([type=file]),select,textarea{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;min-height:2.5rem;padding:.55rem .65rem}input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb, var(--brand) 55%, transparent);outline-offset:0;border-color:var(--brand)}textarea{resize:vertical}input:disabled,select:disabled{background:var(--soft);color:var(--muted)}.btn{border:1px solid var(--line);cursor:pointer;min-height:2.5rem;color:var(--ink);white-space:nowrap;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:.35rem;padding:.5rem .9rem;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--brand)}.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.btn.primary:hover:not(:disabled){filter:brightness(1.08)}.btn.danger{color:var(--bad);border-color:color-mix(in srgb, var(--bad) 40%, var(--line))}.btn.small{min-height:2rem;padding:.25rem .6rem;font-size:.85rem}.btn.block{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed}.link{color:var(--brand);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.link.danger,.danger.link{color:var(--bad)}.link:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:1rem;padding:1rem}.field{flex-direction:column;gap:.25rem;min-width:0;margin-bottom:.75rem;display:flex}.field .label{color:var(--muted);font-size:.85rem;font-weight:600}.field .req{color:var(--bad)}.field .hint{color:var(--muted);font-size:.8rem}.check{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.check input{width:1.1rem;height:1.1rem}.msg{border-radius:8px;justify-content:space-between;align-items:flex-start;gap:.75rem;margin:.5rem 0 .75rem;padding:.65rem .8rem;display:flex}.msg.error{color:#6b1510;background:#fdecea;border:1px solid #f3c2bd}.msg.info{color:#123a5e;background:#e8f1fa;border:1px solid #c5dbef;display:block}.page-msg{margin:.5rem 1rem}.badge{background:var(--soft);color:var(--muted);vertical-align:middle;white-space:nowrap;border-radius:999px;margin-left:.25rem;padding:.1rem .45rem;font-size:.72rem;font-weight:600;display:inline-block}.badge.st-available{color:var(--ok);background:#e4f4e8}.badge.st-out{color:#0b4a85;background:#e3eefa}.badge.st-repair{color:var(--warn);background:#fff1db}.badge.st-missing{color:var(--bad);background:#fdecea}.badge.st-unassigned{color:#5b3b99;background:#f1ecfa}.badge.st-retired{color:#555;background:#eceeef}.badge.ro{color:#555;background:#eceeef;font-weight:500}.badge.test{color:#6d5600;background:#fff6cc}.signin{background:linear-gradient(160deg,#e9eef4,#f7f8fa);place-items:center;min-height:100vh;padding:1rem;display:grid}.signin-card{width:100%;max-width:26rem;padding:1.5rem}.signin-brand{align-items:center;gap:.9rem;margin-bottom:1.25rem;display:flex}.signin-brand p{margin:.2rem 0 0;font-size:.9rem}.mark{color:#fff;background:#00529b;border-radius:12px;flex:none;place-items:center;width:3rem;height:3rem;font-size:1rem;font-weight:800;display:grid}.mark.small{border-radius:8px;width:2.1rem;height:2.1rem;font-size:.75rem}.code-input{letter-spacing:.35em;text-align:center;font-variant-numeric:tabular-nums;font-size:1.6rem!important}.top{border-bottom:3px solid var(--brand);z-index:20;background:#fff;position:sticky;top:0}.top-inner{flex-wrap:wrap;align-items:center;gap:1rem;max-width:1200px;margin:0 auto;padding:.5rem 1rem;display:flex}.brand{color:var(--ink);align-items:center;gap:.6rem;font-weight:700;text-decoration:none;display:flex}.brand .logo{width:auto;height:2rem}.brand-name{color:var(--muted);font-size:1.05rem;font-weight:600}.top nav{flex-wrap:wrap;flex:1;gap:.15rem;display:flex}.top nav a{color:var(--ink);border-radius:8px;padding:.45rem .7rem;text-decoration:none}.top nav a:hover{background:var(--soft)}.top nav a.on{background:color-mix(in srgb, var(--brand) 12%, #fff);color:var(--brand);font-weight:600}.who{align-items:center;gap:.6rem;display:flex}.who select{width:auto;min-height:2rem;padding:.25rem .5rem}.menu-btn{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:8px;margin-left:auto;padding:.3rem .7rem;font-size:1.2rem;display:none}.banner{color:#5c4700;text-align:center;background:#fff6cc;border-bottom:1px solid #ecd97a;padding:.45rem 1rem;font-size:.9rem}.banner.warn{color:#6b1510;background:#fdecea;border-color:#f3c2bd}.main{max-width:1200px;margin:0 auto;padding:1rem}.foot{text-align:center;max-width:1200px;margin:0 auto;padding:1rem}.loading{text-align:center;color:var(--muted);padding:2rem}.empty{text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:var(--radius);background:#fff;padding:2rem}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.9rem;display:flex}.crumbs{margin-bottom:.4rem}.crumbs a{text-decoration:none}.lead{color:var(--muted);font-size:1.1rem}.stats{grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:.5rem;margin-bottom:1rem;display:grid}.stat{border:1px solid var(--line);border-radius:var(--radius);text-align:left;cursor:default;background:#fff;flex-direction:column;align-items:flex-start;padding:.6rem .8rem;display:flex}button.stat{cursor:pointer}button.stat:hover{border-color:var(--brand)}.stat b{font-variant-numeric:tabular-nums;font-size:1.35rem}.stat span{color:var(--muted);font-size:.8rem}.stat.bad b{color:var(--bad)}.filters .search{margin-bottom:.75rem;font-size:1rem}.filters.row .search{margin-bottom:0}.filters.row select{width:auto}.filters-toggle{display:none}.filter-grid{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:0 .75rem;display:grid}.list-meta{margin:.25rem 0 .5rem}.pager{align-items:center;gap:.5rem;display:inline-flex}.tool-list{border:1px solid var(--line);border-radius:var(--radius);background:#fff;flex-direction:column;display:flex;overflow:hidden}.tool-list.dim{opacity:.6}.tool-row{border-top:1px solid var(--line);color:var(--ink);grid-template-columns:3.5rem minmax(0,2.2fr) minmax(0,1.4fr) auto;align-items:center;gap:.8rem;padding:.55rem .8rem;text-decoration:none;display:grid}.tool-row:first-child{border-top:0}.tool-row:hover{background:#f8fafc}.thumb{background:var(--soft);border-radius:8px;place-items:center;width:3.5rem;height:3.5rem;display:grid;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%}.thumb-blank{color:var(--muted);font-size:.8rem;font-weight:600}.t-main,.t-where{flex-direction:column;min-width:0;display:flex}.t-num{font-variant-numeric:tabular-nums;font-weight:700}.t-desc,.t-sub{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.t-status{text-align:right}.picker{position:relative}.picker-clear{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:.25rem;position:absolute;top:50%;right:.4rem;transform:translateY(-50%)}.picker-list{z-index:40;border:1px solid var(--line);background:#fff;border-radius:8px;max-height:18rem;margin:0;padding:.25rem 0;list-style:none;position:absolute;top:calc(100% + 2px);left:0;right:0;overflow:auto;box-shadow:0 8px 24px #0000001f}.picker-list li{cursor:pointer;padding:.45rem .7rem}.picker-list li.hi,.picker-list li:hover{background:var(--soft)}.tool-title{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.tool-grid{grid-template-columns:1fr 1fr;gap:0 1rem;display:grid}.tool-grid .span2,.form-grid .span2{grid-column:1/-1}.span-all{flex-basis:100%}.kv{grid-template-columns:9rem minmax(0,1fr);gap:.35rem .75rem;margin:0;display:grid}.kv dt{color:var(--muted);font-size:.88rem}.kv dd{margin:0}.actions{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.photos{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.75rem;margin-bottom:.75rem;display:grid}.photo{margin:0}.photo-btn{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block}.photo img{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line);border-radius:8px;width:100%}.big-photo{width:100%;height:auto}.add-photo,.comment-add{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.add-photo select,.add-photo input:not([type=file]){flex:12rem;width:auto}.comment-add textarea{flex:18rem}.comments,.history{margin:0;padding:0;list-style:none}.comments li,.history li{border-top:1px solid var(--line);padding:.6rem 0}.comments li:first-child,.history li:first-child{border-top:0}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);background:#fff;margin-bottom:.5rem;overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th,.table td{border-top:1px solid var(--line);text-align:left;vertical-align:top;padding:.5rem .65rem}.table thead th{background:var(--soft);color:var(--muted);white-space:nowrap;border-top:0;font-size:.82rem}.table tr.muted td{color:var(--muted)}.table tr.error td{background:#fff5f4}.table tr.warning td{background:#fffbea}.table select{width:auto;min-height:2rem;padding:.2rem .4rem}.modal-back{z-index:50;background:#0f172073;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:12px;width:100%;max-width:32rem;max-height:calc(100vh - 2rem);padding:1rem 1.1rem;overflow:auto;box-shadow:0 20px 50px #00000040}.modal.wide{max-width:46rem}.modal-head{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.modal-head h2{margin:0}.modal-head .link{color:var(--muted);font-size:1.1rem;text-decoration:none}.form-grid{grid-template-columns:1fr 1fr;gap:0 .9rem;display:grid}.form-row{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.form-row .field{flex:14rem;margin-bottom:0}.tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:.25rem;margin-bottom:1rem;display:flex}.tabs button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-bottom:3px solid #0000;padding:.55rem .9rem}.tabs button.on{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}details.cols{margin-top:.9rem}details summary{cursor:pointer;color:var(--brand);margin:.5rem 0}.code{background:var(--soft);border-radius:8px;padding:.75rem;font-size:.8rem;overflow-x:auto}.swatch{border:1px solid var(--line);border-radius:4px;width:1.4rem;height:1.4rem;display:inline-block}.settings-logo{height:2.5rem}.toast{color:#fff;z-index:60;background:#1d2329;border-radius:8px;max-width:calc(100vw - 2rem);padding:.6rem 1rem;position:fixed;bottom:1rem;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #00000040}@media (max-width:760px){:root{font-size:16px}.main{padding:.75rem}.menu-btn{display:block}.top nav{flex-direction:column;flex-basis:100%;order:3;display:none}.top nav.open{display:flex}.who{flex-basis:100%;order:4;justify-content:space-between}.brand-name{display:none}.tool-row{grid-template-columns:3rem minmax(0,1fr) auto;grid-template-areas:"th main st""th where where";gap:.2rem .6rem}.tool-row .thumb{grid-area:th;width:3rem;height:3rem}.tool-row .t-main{grid-area:main}.tool-row .t-where{flex-flow:wrap;grid-area:where;gap:.5rem}.tool-row .t-status{grid-area:st}.tool-grid,.form-grid{grid-template-columns:1fr}.kv{grid-template-columns:7rem minmax(0,1fr)}.modal-back{place-items:end stretch;padding:0}.modal,.modal.wide{border-radius:12px 12px 0 0;max-width:none;max-height:92vh}.stats{grid-template-columns:repeat(3,1fr)}.stat{padding:.4rem .6rem}.stat b{font-size:1.1rem}.filters-toggle{margin-bottom:.5rem;display:inline-flex}.filter-grid{display:none}.filter-grid.open{display:grid}}.row>select,.row.wrap>select{flex:0 auto;width:auto}
