@font-face{font-family:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/big-shoulders-display-vietnamese-600-normal-DFOHoAUN.woff2)format("woff2"),url(/assets/big-shoulders-display-vietnamese-600-normal-CBD8Wfz0.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/big-shoulders-display-latin-ext-600-normal-D59XNmBM.woff2)format("woff2"),url(/assets/big-shoulders-display-latin-ext-600-normal-BQAez9cc.woff)format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/big-shoulders-display-latin-600-normal-DBjJvcBA.woff2)format("woff2"),url(/assets/big-shoulders-display-latin-600-normal-DVaYP2lT.woff)format("woff");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:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/big-shoulders-display-vietnamese-700-normal-DCH5bIkD.woff2)format("woff2"),url(/assets/big-shoulders-display-vietnamese-700-normal-D5dmK5Ek.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/big-shoulders-display-latin-ext-700-normal-C8xZtiKd.woff2)format("woff2"),url(/assets/big-shoulders-display-latin-ext-700-normal-D98SaizC.woff)format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/big-shoulders-display-latin-700-normal-KM2fueoL.woff2)format("woff2"),url(/assets/big-shoulders-display-latin-700-normal-CMi6UoP4.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff)format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff)format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff)format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");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}:root{--color-bg:#0a1214;--color-bg-alt:#101c20;--color-card:#101c20;--color-border:#8a969c47;--color-text:#f1efe4;--color-text-muted:#8a969c;--color-green:#a8dee6;--color-blue:#4f96a8;--color-primary:#a8dee6;--color-primary-hover:#8ecbd6;--color-primary-active:#6fb2c0;--color-cat-nightvision:var(--color-green);--color-cat-thermal:#e2703a;--color-cat-lam:#b47eea;--color-cat-other:var(--color-text-muted);--gradient:linear-gradient(90deg, var(--color-green), var(--color-blue));--font-display:"Big Shoulders Display", sans-serif;--font-body:"IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:"IBM Plex Mono", monospace}*{box-sizing:border-box}body{background:var(--color-bg);min-height:100vh;color:var(--color-text);font-family:var(--font-body);flex-direction:column;margin:0;display:flex}a{color:var(--color-blue);text-decoration:none}a:hover{text-decoration:underline}.site-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1.25rem 2rem;display:flex}.brand{align-items:center;gap:.75rem;display:flex}.brand img{width:auto;height:36px}.brand span{font-family:var(--font-display);letter-spacing:.03em;text-transform:lowercase;font-size:1.3rem;font-weight:600}.site-nav{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:1.25rem;font-size:.78rem;display:flex}.tab-bar{border-bottom:1px solid var(--color-border);gap:.5rem;padding:0 2rem;display:flex}.tab-bar a{color:var(--color-text-muted);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border-bottom:2px solid #0000;flex-shrink:0;margin-right:1.25rem;padding:.85rem .25rem;font-size:.78rem}.tab-bar a:hover{color:var(--color-text);text-decoration:none}.tab-bar a.active{color:var(--color-text);border-bottom-color:var(--color-green);font-weight:600}.link-button{color:var(--color-text-muted);cursor:pointer;font:inherit;background:0 0;border:none;padding:0}.link-button:hover{text-decoration:underline}main{flex-direction:column;flex:1;display:flex}.site-footer{border-top:1px solid var(--color-border);color:var(--color-text-muted);text-align:center;padding:1.5rem 2rem;font-size:.8rem}.hero{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1.25rem;padding:4rem 1.5rem;display:flex}.hero img.logo-mark{width:min(320px,70vw);height:auto;margin-bottom:.5rem}.hero h1{font-family:var(--font-display);letter-spacing:.01em;background:var(--gradient);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(1.75rem,4vw,2.75rem);font-weight:600}.hero p{max-width:42rem;color:var(--color-text-muted);font-size:1.05rem;line-height:1.6}.hero .actions{margin-top:1rem}.btn{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:var(--color-primary);color:var(--color-bg);border:none;border-radius:.25rem;align-items:center;gap:.45rem;padding:.75rem 1.75rem;font-size:.82rem;font-weight:500;text-decoration:none;transition:background-color .15s,box-shadow .15s,transform .15s;display:inline-flex}.btn:hover{background:var(--color-primary-hover);text-decoration:none;transform:translateY(-1px);box-shadow:0 0 0 3px #a8dee64d}.btn:active{background:var(--color-primary-active)}.btn:disabled,.btn[disabled]{background:var(--color-border);color:var(--color-text-muted);cursor:not-allowed;pointer-events:none}.btn-secondary{border:1px solid var(--color-border);color:var(--color-text);box-shadow:none;background:0 0}.btn-secondary:hover{background:var(--color-bg-alt);box-shadow:none}.login-wrap{flex:1;justify-content:center;align-items:center;padding:2rem 1.5rem;display:flex}.login-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:.3rem;width:100%;max-width:22rem;padding:2.25rem}.login-card h1{text-align:center;margin:0 0 1.5rem;font-size:1.35rem}.field{margin-bottom:1.1rem}.field label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);align-items:center;gap:.4rem;margin-bottom:.4rem;font-size:.72rem;display:flex}.field>.btn{margin-top:.75rem}.field input,.field select{border:1px solid var(--color-border);background:var(--color-bg-alt);width:100%;color:var(--color-text);border-radius:.3rem;padding:.65rem .8rem;font-size:.95rem}.field input:focus,.field select:focus{border-color:var(--color-blue);outline:none}.or-divider{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.75rem;margin:1.25rem 0;font-size:.8rem;display:flex}.or-divider:before,.or-divider:after{content:"";background:var(--color-border);flex:1;height:1px}.login-card .btn{text-align:center;width:100%;margin-top:.5rem}.alert{border-radius:.3rem;margin-bottom:1.1rem;padding:.7rem .9rem;font-size:.85rem}.alert-error{color:#ff8a80;background:#e74c3c1f;border:1px solid #e74c3c66}.alert-success{color:var(--color-green);background:#a8dee61a;border:1px solid #a8dee666}.alert-warning{color:#e6a23c;text-align:center;background:#e6a23c26;border:1px solid #e6a23c66;margin-top:1rem}.login-back{text-align:center;color:var(--color-text-muted);margin-top:1.25rem;font-size:.85rem;display:block}.dashboard{flex:1;width:100%;max-width:56rem;margin:0 auto;padding:2.5rem 2rem}.dashboard h1{font-family:var(--font-display);letter-spacing:.01em;margin-top:0;font-weight:600}.dashboard-section{margin-top:2rem}.dashboard-section h2{margin-bottom:1rem;font-size:1.05rem}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:1rem;display:grid}.metric-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:.35rem;padding:1.25rem 1.5rem}.metric-value{font-family:var(--font-display);color:var(--color-green);font-size:2.25rem;font-weight:600;line-height:1.1}.metric-label{color:var(--color-text-muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin-top:.35rem;font-size:.72rem}.metric-label.category-NIGHT_VISION .metric-icon{color:var(--color-cat-nightvision)}.metric-label.category-THERMAL .metric-icon{color:var(--color-cat-thermal)}.metric-label.category-LAM .metric-icon{color:var(--color-cat-lam)}.metric-label.category-OTHER .metric-icon{color:var(--color-cat-other)}.metric-icon{vertical-align:-2px;margin-right:.3rem;display:inline-flex}.admin-page{flex:1;width:100%;max-width:64rem;margin:0 auto;padding:2.5rem 2rem}.admin-page h1{font-family:var(--font-display);letter-spacing:.01em;margin-top:0;font-weight:600}.admin-page-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.admin-page-header-actions{align-items:center;gap:.75rem;display:flex}.status-filter-bar{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.status-filter-btn{border:1px solid var(--color-border);color:var(--color-text-muted);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;opacity:.5;background:0 0;border-radius:.3rem;align-items:center;gap:.35rem;padding:.35rem .8rem;font-size:.72rem;font-weight:500;transition:opacity .15s,background-color .15s,border-color .15s;display:inline-flex}.status-filter-btn:hover{opacity:.85}.status-filter-btn.active{opacity:1;border-color:#0000}.status-filter-btn.active.status-filter-AVAILABLE{color:var(--color-green);background:#a8dee61f}.status-filter-btn.active.status-filter-MAINTENANCE{color:#e6a23c;background:#e6a23c26}.status-filter-btn.active.status-filter-RETIRED{color:var(--color-text-muted);background:#a6a6ad1f}.status-filter-btn.active.status-filter-COMPANY{color:var(--color-blue);background:#4f96a826}.card{background:var(--color-card);border:1px solid var(--color-border);border-radius:.35rem;margin-bottom:1.5rem;padding:1.5rem}.card h2{margin-top:0;font-size:1.05rem}.badge{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:.2rem .7rem;font-size:.68rem;font-weight:500;display:inline-block}.badge-pending{color:#ff8a80;background:#e74c3c1f}.badge-complete{color:var(--color-green);background:#a8dee61a}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}table.data-table{border-collapse:collapse;width:100%}table.data-table th,table.data-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:.6rem .5rem;font-size:.9rem}.th-label,.type-cell{align-items:center;gap:.35rem;display:inline-flex}.field-error{color:#ff8a80;margin:.2rem 0 .6rem;font-size:.8rem}.form-page{flex:1;width:100%;max-width:34rem;margin:0 auto;padding:2.5rem 1.5rem}.form-page label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);align-items:center;gap:.4rem;margin:.9rem 0 .3rem;font-size:.72rem;font-weight:500;display:flex}.form-page input:not([type=radio]):not([type=checkbox]),.form-page textarea,.form-page select,.card input:not([type=radio]):not([type=checkbox]),.card textarea,.card select{border:1px solid var(--color-border);background:var(--color-bg-alt);width:100%;color:var(--color-text);border-radius:.3rem;padding:.65rem .8rem;font-size:.95rem}.category-select{margin:.9rem 0 .3rem;position:relative}.category-select-trigger{border:1px solid var(--color-border);background:var(--color-bg-alt);width:100%;color:var(--color-text);cursor:pointer;text-align:left;border-radius:.3rem;align-items:center;gap:.4rem;padding:.65rem .8rem;font-size:.95rem;display:flex}.category-select-trigger:focus-visible{border-color:var(--color-blue);outline:none;box-shadow:0 0 0 3px #4f96a840}.category-select-trigger span{flex:1}.category-select-chevron{flex:none;transition:transform .15s}.category-select-trigger[aria-expanded=true] .category-select-chevron{transform:rotate(180deg)}.category-select-panel{z-index:20;border:1px solid var(--color-border);background:var(--color-bg-alt);border-radius:.3rem;margin:0;padding:.3rem;list-style:none;position:absolute;top:calc(100% + .3rem);left:0;right:0;box-shadow:0 8px 24px #0006}.category-select-option{cursor:pointer;border-radius:.25rem;align-items:center;gap:.4rem;padding:.5rem .6rem;display:flex}.category-select-option:hover,.category-select-option:focus-visible{filter:brightness(1.15);outline:none}.category-select-option.selected{font-weight:600}.category-select-option.category-NIGHT_VISION,.category-select-trigger.category-NIGHT_VISION{color:var(--color-cat-nightvision);background:#a8dee61f}.category-select-option.category-THERMAL,.category-select-trigger.category-THERMAL{color:var(--color-cat-thermal);background:#e2703a26}.category-select-option.category-LAM,.category-select-trigger.category-LAM{color:var(--color-cat-lam);background:#b47eea26}.category-select-option.category-OTHER,.category-select-trigger.category-OTHER{color:var(--color-cat-other);background:#a6a6ad1f}.form-page input:not([type=radio]):not([type=checkbox]):focus,.form-page textarea:focus,.form-page select:focus,.card input:not([type=radio]):not([type=checkbox]):focus,.card textarea:focus,.card select:focus{border-color:var(--color-blue);outline:none;box-shadow:0 0 0 3px #4f96a840}.form-page input:-webkit-autofill{-webkit-text-fill-color:var(--color-text);-webkit-box-shadow:0 0 0px 1000px var(--color-bg-alt) inset;box-shadow:0 0 0px 1000px var(--color-bg-alt) inset;transition:background-color 5000s ease-in-out}.form-page input:-webkit-autofill:hover{-webkit-text-fill-color:var(--color-text);-webkit-box-shadow:0 0 0px 1000px var(--color-bg-alt) inset;box-shadow:0 0 0px 1000px var(--color-bg-alt) inset;transition:background-color 5000s ease-in-out}.form-page input:-webkit-autofill:focus{-webkit-text-fill-color:var(--color-text);-webkit-box-shadow:0 0 0px 1000px var(--color-bg-alt) inset;box-shadow:0 0 0px 1000px var(--color-bg-alt) inset;transition:background-color 5000s ease-in-out}.card input:-webkit-autofill{-webkit-text-fill-color:var(--color-text);-webkit-box-shadow:0 0 0px 1000px var(--color-bg-alt) inset;box-shadow:0 0 0px 1000px var(--color-bg-alt) inset;transition:background-color 5000s ease-in-out}.card input:-webkit-autofill:hover{-webkit-text-fill-color:var(--color-text);-webkit-box-shadow:0 0 0px 1000px var(--color-bg-alt) inset;box-shadow:0 0 0px 1000px var(--color-bg-alt) inset;transition:background-color 5000s ease-in-out}.card input:-webkit-autofill:focus{-webkit-text-fill-color:var(--color-text);-webkit-box-shadow:0 0 0px 1000px var(--color-bg-alt) inset;box-shadow:0 0 0px 1000px var(--color-bg-alt) inset;transition:background-color 5000s ease-in-out}:is(.form-page input:autofill,.card input:autofill){filter:none}.form-page input:disabled,.card input:disabled{opacity:.6;cursor:not-allowed}.form-page fieldset{border:1px solid var(--color-border);border-radius:.3rem;margin-top:1rem}.form-page button.btn{margin-top:1.5rem}.field-hint{color:var(--color-text-muted);margin:.5rem 0 0;font-size:.85rem}.photo-grid{flex-wrap:wrap;gap:.75rem;margin:.5rem 0;display:flex}.photo-thumb{width:6rem;height:6rem;position:relative}.photo-thumb img{object-fit:cover;border:1px solid var(--color-border);border-radius:.3rem;width:100%;height:100%}.photo-thumb .icon-btn{background:#0a0a0cb3;position:absolute;top:.25rem;right:.25rem}.inline-select-row{align-items:center;gap:.5rem;display:flex}.inline-select-row select{flex:none;width:auto;max-width:12rem}.inline-select-row input{flex:1}.inline-select-row .icon-btn{flex:none}.field-caption{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);align-items:center;gap:.4rem;margin:.9rem 0 .3rem;font-size:.72rem;font-weight:500;display:flex}.date-range-picker{border:1px solid var(--color-border);background:var(--color-bg-alt);border-radius:.3rem;margin-top:.4rem;padding:1rem}.date-range-display{justify-content:center;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.9rem;display:flex}.date-range-sep{color:var(--color-text-muted)}.date-range-calendar-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.date-range-prev,.date-range-next{border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;background:0 0;border-radius:.3rem;flex:none;width:2rem;height:2rem}.date-range-month-label{border:1px solid var(--color-border);font:inherit;text-transform:capitalize;color:var(--color-text);cursor:pointer;white-space:nowrap;text-align:center;background:0 0;border-radius:.3rem;flex:1;padding:.2rem .5rem;font-weight:600}.date-range-month-label:hover{background:var(--color-bg-alt)}.date-range-month-label:disabled{cursor:default;background:0 0}.date-range-grid{grid-template-columns:repeat(7,1fr);gap:.2rem;display:grid}.date-range-month-grid,.date-range-year-grid{grid-template-columns:repeat(3,1fr);gap:.4rem;display:grid}.date-range-month,.date-range-year{border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;text-transform:capitalize;background:0 0;border-radius:.3rem;padding:.6rem 0;font-size:.85rem}.date-range-month:hover,.date-range-year:hover{background:var(--color-bg-alt)}.date-range-month.selected,.date-range-year.selected{background:var(--color-primary);color:var(--color-bg);border-color:var(--color-primary);font-weight:600}.date-range-weekday{text-align:center;color:var(--color-text-muted);text-transform:capitalize;padding:.2rem 0;font-size:.75rem}.date-range-day{color:var(--color-text);cursor:pointer;background:0 0;border:none;border-radius:.3rem;padding:.5rem 0;font-size:.85rem}.date-range-day:hover{background:var(--color-border)}.date-range-day.range-start,.date-range-day.range-end{background:var(--color-primary);color:var(--color-bg);font-weight:600}.date-range-day.in-range{background:#a8dee626}.icon-btn{border:1px solid var(--color-border);background:var(--color-bg-alt);width:2.25rem;height:2.25rem;color:var(--color-text-muted);cursor:pointer;border-radius:.3rem;justify-content:center;align-items:center;transition:background .12s,border-color .12s;display:inline-flex}.icon-btn:hover{border-color:var(--color-text-muted);background:#8a969c1a}.icon-btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.icon-btn-add{color:var(--color-primary)}.icon-btn-add:hover{border-color:var(--color-primary);background:#a8dee61f}.icon-btn-remove{color:#ff8a80}.icon-btn-remove:hover{background:#e74c3c1f;border-color:#ff8a80}.icon-btn-add-warning{color:#e6a23c}.icon-btn-add-warning:hover{background:#e6a23c1f;border-color:#e6a23c}.icon-btn-bridge,.icon-btn-unbridge{color:var(--color-primary)}.icon-btn-active{color:var(--color-green);border-color:var(--color-green)}.icon-btn-active:hover{border-color:var(--color-green)}.icon-btn-bridge:hover,.icon-btn-unbridge:hover{border-color:var(--color-primary);background:#a8dee61f}.badge-bridged{color:var(--color-primary);background:#a8dee61a;align-items:center;gap:.25rem;margin-left:.5rem;display:inline-flex}.row-actions{align-items:center;gap:.65rem;display:flex;position:relative}.search-input{border:1px solid var(--color-border);background:var(--color-bg-alt);width:100%;max-width:22rem;color:var(--color-text);border-radius:.3rem;margin-bottom:1.5rem;padding:.65rem .8rem;font-size:.95rem;display:block}.search-input:focus{border-color:var(--color-blue);outline:none;box-shadow:0 0 0 3px #4f96a840}th.sortable-column{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable-column:hover{color:var(--color-text)}.inventory-tabs{border-bottom:1px solid var(--color-border);gap:.5rem;margin-top:1rem;display:flex}.inventory-tab{color:var(--color-text-muted);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;align-items:center;gap:.4rem;margin-right:1.25rem;padding:.7rem .25rem;font-size:.78rem;display:inline-flex}.inventory-tab:hover{color:var(--color-text)}.inventory-tab.active{color:var(--color-text);border-bottom-color:var(--color-green);font-weight:600}.inventory-tab.active.category-NIGHT_VISION{border-bottom-color:var(--color-cat-nightvision);color:var(--color-cat-nightvision)}.inventory-tab.active.category-THERMAL{border-bottom-color:var(--color-cat-thermal);color:var(--color-cat-thermal)}.inventory-tab.active.category-LAM{border-bottom-color:var(--color-cat-lam);color:var(--color-cat-lam)}.inventory-tab.active.category-OTHER{border-bottom-color:var(--color-cat-other);color:var(--color-text)}.inventory-columns{grid-template-columns:1fr 1fr;gap:2rem;margin-top:1rem;display:grid}.inventory-panel{-webkit-overflow-scrolling:touch;overflow-x:auto}.inventory-columns h3{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;margin:0 0 .6rem;font-size:.9rem}.inventory-selected-table tbody td:first-child{border-left:3px solid var(--color-primary)}.inventory-selected-table tbody tr{background:#a8dee60d}.inventory-selected-table.category-NIGHT_VISION tbody td:first-child{border-left-color:var(--color-cat-nightvision)}.inventory-selected-table.category-THERMAL tbody td:first-child{border-left-color:var(--color-cat-thermal)}.inventory-selected-table.category-THERMAL tbody tr{background:#e2703a0f}.inventory-selected-table.category-LAM tbody td:first-child{border-left-color:var(--color-cat-lam)}.inventory-selected-table.category-LAM tbody tr{background:#b47eea0f}.inventory-selected-table.category-OTHER tbody td:first-child{border-left-color:var(--color-cat-other)}.inventory-selected-table.category-OTHER tbody tr{background:#a6a6ad0f}.inventory-selected-table tbody tr.row-near-conflict{background:#e6a23c14}.inventory-selected-table tbody tr.row-near-conflict td:first-child{border-left-color:#e6a23c}dialog.accessories-dialog,dialog.customer-detail-dialog{background:var(--color-card);color:var(--color-text);border:1px solid var(--color-border);border-radius:.35rem;min-width:16rem;padding:1.25rem 1.5rem}dialog.customer-detail-dialog{min-width:30rem}.modal-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.modal-header h4{margin:0}.modal-close-btn{width:1.75rem;height:1.75rem;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:.3rem;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.modal-close-btn:hover{background:var(--color-bg-alt);color:var(--color-text)}dialog.accessories-dialog ul{padding-left:1.2rem}dialog.accessories-dialog::backdrop,dialog.customer-detail-dialog::backdrop{background:#0009}.pricing-summary{border-bottom:1px solid var(--color-border);margin-bottom:1.25rem;padding-bottom:1rem}.pricing-summary-list{margin:0}.pricing-summary-row{justify-content:space-between;gap:1rem;padding:.3rem 0;font-size:.9rem;display:flex}.pricing-summary-row dt{color:var(--color-text-muted);align-items:center;gap:.35rem;display:inline-flex}.pricing-summary-row dd{margin:0;font-weight:600}.pricing-summary-row-total dd{color:var(--color-green);font-size:1.05rem}.pricing-summary-stale{color:var(--color-text-muted);text-decoration-thickness:1px}.pricing-summary-preview{color:var(--color-text-muted);font-size:.8rem;font-style:normal;font-weight:400}.client-summary-lang-toggle{margin-bottom:1rem}.card-heading-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.copy-button-wrap{display:inline-flex;position:relative}.copy-button-feedback{white-space:nowrap;z-index:5;border-radius:.3rem;margin-top:.4rem;padding:.25rem .6rem;font-size:.75rem;position:absolute;top:100%;left:50%;transform:translate(-50%)}.link-display{align-items:center;gap:.5rem;display:flex}.toast-feedback{white-space:nowrap;z-index:50;border-radius:.3rem;padding:.5rem 1rem;font-size:.85rem;position:fixed;top:9rem;left:50%;transform:translate(-50%)}.pricing-controls{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;gap:1rem;margin-top:1.25rem;display:grid}.pricing-controls .field{margin-bottom:0}.pricing-controls .field-full,.pricing-controls>.btn{grid-column:1/-1}.pricing-controls>.btn{justify-self:start}.field-with-action{align-items:center;gap:.5rem;display:flex}.field-with-action input{flex:1}.toggle-group{border:1px solid var(--color-border);border-radius:.3rem;display:inline-flex;overflow:hidden}.toggle-option{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:.4rem;padding:.65rem 1.1rem;font-size:.9rem;font-weight:600;transition:background-color .15s;display:inline-flex}.toggle-option.active{background:var(--color-primary);color:#06110b}.toggle-option:not(.active):hover{background:#8a969c26}table.data-table tr.agreement-row-attention td{background:#e6a23c14}table.data-table tr.agreement-row-attention td:first-child{box-shadow:inset 3px 0 #e6a23c}.field-hint-warning{color:#e6a23c}.agreement-version-line{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.agreement-row-actions{justify-content:flex-end;gap:.25rem;display:flex}table.data-table td.checklist-status-cell{text-align:right}table.data-table td.action-cell{text-align:right;width:2.25rem}.agreement-actions{margin-top:1rem}.card-actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.status-badge{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;gap:.35rem;padding:.2rem .7rem;font-size:.68rem;font-weight:500;display:inline-flex}.status-badge.status-DRAFT{color:var(--color-text-muted);background:#a6a6ad1f}.status-badge.status-CONFIRMED{color:var(--color-blue);background:#4f96a81f}.status-badge.status-ACTIVE{color:var(--color-green);background:#a8dee61f}.status-badge.status-COMPLETED{color:var(--color-green);background:#a8dee61a}.status-badge.status-AVAILABLE{color:var(--color-green);background:#a8dee61f}.status-badge.status-MAINTENANCE{color:#e6a23c;background:#e6a23c26}.status-badge.status-RETIRED{color:var(--color-text-muted);background:#a6a6ad1f}.status-badge.category-NIGHT_VISION{color:var(--color-cat-nightvision);background:#a8dee61f}.status-badge.category-THERMAL{color:var(--color-cat-thermal);background:#e2703a26}.status-badge.category-LAM{color:var(--color-cat-lam);background:#b47eea26}.status-badge.category-OTHER{color:var(--color-cat-other);background:#a6a6ad1f}.status-badge.status-CURRENT{color:var(--color-green);background:#a8dee61a;margin-left:.5rem}.status-badge.envelope-SENT,.status-badge.envelope-AWAITING_CUSTOMER_SIGNATURE{color:#e6a23c;background:#e6a23c26}.status-badge.envelope-COMPLETED{color:var(--color-green);background:#a8dee61a}.status-badge.envelope-REJECTED,.status-badge.envelope-EXPIRED,.status-badge.envelope-CANCELLED{color:#ff8a80;background:#e74c3c1f}.status-badge.envelope-DISCARDED{color:var(--color-text-muted);background:#a6a6ad1f}.icon-btn-danger{color:#ff8a80}.icon-btn-danger:hover{background:#e74c3c1f;border-color:#ff8a80}.icon-btn-accent{color:var(--color-green)}.icon-btn-accent:hover{border-color:var(--color-green);background:#a8dee61f}@media (width<=640px){.site-header{flex-wrap:wrap;gap:.75rem;padding:1rem}.tab-bar,.inventory-tabs{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto}.tab-bar{padding:0 1rem}.dashboard,.admin-page,.form-page{padding:1.5rem 1rem}.site-footer{padding:1.25rem 1rem}.admin-page-header{flex-wrap:wrap;gap:.75rem}.inventory-columns{grid-template-columns:1fr;gap:1.5rem}dialog.accessories-dialog,dialog.customer-detail-dialog{width:calc(100vw - 2rem);min-width:0;max-height:calc(100vh - 2rem);overflow-y:auto}}
