@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-vietnamese-400-normal-TxZB8OSn.woff2) format("woff2"),url(/assets/public-sans-vietnamese-400-normal-BO1meqcx.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-latin-ext-400-normal-mk90oQqJ.woff2) format("woff2"),url(/assets/public-sans-latin-ext-400-normal-B02wwOdZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-latin-400-normal-8Rpg0ruU.woff2) format("woff2"),url(/assets/public-sans-latin-400-normal-SBbinRkI.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-vietnamese-600-normal-P4BtCUdw.woff2) format("woff2"),url(/assets/public-sans-vietnamese-600-normal-CcnAzmUX.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-latin-ext-600-normal-DchWdWJ_.woff2) format("woff2"),url(/assets/public-sans-latin-ext-600-normal-DfkbVac2.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-latin-600-normal-Fru-LXNs.woff2) format("woff2"),url(/assets/public-sans-latin-600-normal-BR59oU-I.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/public-sans-vietnamese-700-normal-D97ShjGS.woff2) format("woff2"),url(/assets/public-sans-vietnamese-700-normal-Dq5VrXjD.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/public-sans-latin-ext-700-normal-CgolUQuG.woff2) format("woff2"),url(/assets/public-sans-latin-ext-700-normal-jWHjnMgZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Public Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/public-sans-latin-700-normal-BqJmxWdE.woff2) format("woff2"),url(/assets/public-sans-latin-700-normal-Dm-oTPSL.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQAAAAQtAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVDYAdBEICoRkg3gLIAABNgIkAzoEIAWFIgeBFAwHG1wHKI7DuPEacDIiFJ/g+f47+1/7dIcdXTlD8DKqmcw4eIC+AOCPf6+qiWq3h6+aSCLNJDnkqX9Xl+rv/6dSBcwSBCzEoVqxNbp5SqPMYdKBQhBq1dK9ggSsgYUoGnHOqttMECvWjIJfPA8cjQAuAEAQLAiClASc7M6OkfbO/nHs6ACmCYBxZXKP4s9uXIHECh4AdEhX0yIHC6jzgAb65sshStMMChwEfWVjZe8Anset/6H93x8jOyL5fuS67z4Dlam+BPyH/pV2FLCZAOnU0XPzCQGiJ7AkXgSFhqDEB4AAoAAN2ExDgM10joCNfDQUbvxaXM8LovT79D9MEyYU9+q/myT9p/m8uWi2mLJBPbzcih2wYIPzBDFNvABt315OXwy8BaRnbo5hXsOS5taknX4FguiaZnd4vQ7HxnBnm3SPYXHrQbclvOgyDhsHnZPO8f3G5I2fbr34Y7+hzRozVzyw5bKHdu03plXgvE9FO/Uz4/xPUKd8/PHk+R+JODnlg1lDTv3Qed77zDNqRszaqHUQT248kUPGzBXXXHGFnHrVVdft2m8c4PhpjB+/QEqMU54xruc6m3w8++XNXx4sya9rMvNq88m6X1zeOMlRuQ+/nvNw4+ZrCt58yDdSVOQdfoi/jc/ePfZY+1taYaH21FH2Y4fGG+RVNJkIN4SSiWj3ZKGG1oojoYr2SNWFVbHvY1XX1PR+H6y+oKrqgmryqj1UXnmk5cKWysPM3R4Uh5svYo6saAtU3V297+d91U/X/frzLvUdqiqfruKvhx5+OeOYxbHI7SenQum+PTw/fvRLGQ/jiufOn3/S+vlsfGn9h4Zb96fekZ7xRups68FhVCYCWHHvZVIPxjanr3NABSALqkR7FMBOulF9ScHvV3np+6pK/eEzRx877K3/z65pvwN89eGtV3Ly5ft/25ngaiSYDVYUAAKvIKimMdLO6YBQEY+aZpbXZ5WinTBQXwAA4LMAXuNUBPCSTmMfjd6jpNLNjbToDuBpaR9AoTBbUeERO2o0erNeR6KFne5HK/nOQA+VBtFnt1LtBj6pJQIutnLwipz/Ix9OYNSqZQEreiQELIkKmRIRNWdewpiIZVGtVi0J6xWR0ComIGpFnN+AVStWzUtIWBNXq0iRuJCYqDUJcYXiopYUWhUzp8iQTv20dtO84Agw6YrhuOijfqUKlSpRAruvTq9WdeQw2vs5SUsCYhdt7icIt1nNkseKPZzgV6q4FfYbH4ZIBcThYTEgLIgIkYRbJLl7/rks+ObZDxydE8W9LymoUMiqZUVbtVv0GNkcispQM0IpEG7sBdK9IYr6aKKLRaxiQxO7OMQphrUlGIscFbElV6LF5S0dQN5RbRoUdRbWWOYCy8sB83RxS7FqG/UEQslE5Nsd5v93uF3T0bLiypD/uJhn3q9fCAA=) format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAbAAA8AAAAACKAAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABgAAAAcABQABEdQT1MAAAFwAAAAHgAAAB5EdEx1R1NVQgAAAZAAAAAnAAAAKLj8uOpPUy8yAAABuAAAAFAAAABgF8xca1NUQVQAAAIIAAAAMQAAADbkK8oAY21hcAAAAjwAAABRAAAAdAyHCodnYXNwAAACkAAAAAgAAAAIAAAAEGdseWYAAAKYAAAB8gAAAl6l3qsraGVhZAAABIwAAAA2AAAANhSS8UNoaGVhAAAExAAAAB8AAAAkAcwBB2htdHgAAATkAAAAHwAAADoe+QK+bG9jYQAABQQAAAAgAAAAIATcBZ9tYXhwAAAFJAAAABwAAAAgAIcCb25hbWUAAAVAAAABEAAAAl4y3VjQcG9zdAAABlAAAABwAAAAlNdzMTB42mNgZGBg4GGAAEYgZAWTjCAeAAG0ABkAAQAAAAoAHAAcAAFERkxUAAgABAAAAAD//wAAAAAAAHjaY2BkYGDgYlADQiYXN58QBqGcxJI8Bj4GEGABEf//g0gAWkkFVQB42mNgYYpiimBgZWBg6gLSDAzeEJoxjsGI0QEoysDAyQAFTOwMSMDLCUgcYOBlecn8598VBgbmP4w6CgyM8+9fB6pUY7oFlFVgYAUA/6gNn3jaY2AEQg4GJgYGBhEGRiCpwsBUnp5RAmJmliTmMPIzMAJlmUEkowADCAClAG7/A9gAAAB42lXIRwHCQBAF0JceehWAlTjhjikUgAVQA4mJLbdk5neUqHBVKWSv3XF2VCnt3AyevkVZv+sxBBbbq/6HfFP4hEcYQgEK82v1aHQ5RTs3FRQAAAAAAQAB//8AD3jabdA1mNRAFADgNzOQrO9m9dzCJecWmXX7jgZ3dz9pcLcaaXGnQxq8wt1dGhxqvLqEWVxu3P/5HhAYA4AM/ISNOLACKEK5UFkuIFQ+Bu01dqM64xSr9/CTLqkFxwzAMcAgA+BmdocHD4DiU3yiLPI+RZYkmeN4+cTGEwtqL9WktjU4BEI8jtzlI0dQ4Ko6xOMZrIJpfn+BHMUSIAAmO0u6W3WxFkEBW00yjc0UgSi+YDCk69SnEOH9o8VLnIwQHAsXP0J2dNP4UqS63WoRshrNxifT/HkXc9ADAAj0Nz9jO37F3gpBGUDPCkkTVF1pCQYEP8fJLbqmiQF/kCiaKokVXADVtS1Y0Na2QJ/Wm0aeRaPPIpRGbPOnocTU+fOnGmezk/UZSTpnDk2ivlPCiUSYmfVmP1yLJWZa/zCbQGC/Eb+Zkqapek4NBgJ/svJvtnUapdNav7c09ioefxWjetymTc6sy0zStEnp9ZnJ2pREuLQ0nHhbSBMJCuinDF6AkMYiVYJDIZrEuVgF3p9f1MnbLRhhzNv5toXnDh/GkrE/WF1mtdmsZdUBNLzryWEABBdJDTpIjgIB8FGFv9i2Yg6pWbuW7awmInrIdpwAiEVO8QeVFp11HKrrN3Fsba/K+jETiDg4W1FTU5EdDF8BJQaE9AAAAAEAAAACNgQzGROsXw889QADA+gAAAAA29KmmgAAAADb2tDy+Tv+1ASSA/wAAAAGAAIAAAAAAAB42mNgZGBg/vPvCgMDy4af1n9LWCYBRVABHwCttwbRAHjaY4pgiAJidSQsBcW+QKyLRDNAMQgcZ2gEAOKlB9IAAAAAGgA7AEYAUQBvAHcAqQCxAOYBCQEJAQkBCQEWAS942mNgZGBg4GfcwZDHsIWBDcxDAGYGJgAtGgH4eNqVkANuhVEQhb/aCMqgCGrbtt342faL0aiL6Eq6lK6gq+hJqmfkZnK+e+bM/ACaeKWKiuoG4L2i+4crmOTzhytp5eOHq9jk7YerUzI19PLyw7WM8/zDrSwy+M0V0EznD7eJG3+4XQS3+PFixMcJEakHJ2aesErtOOSpdAKEWWWKKamZkLoBIuJJwmKP1C/Xrv4Vh5xzilX9XXlG9X1KXSjhU01wp55X7q5uHiw86h5Ce1CCfmaZVM3o/NMap8qvlbX3Vnc7UbFR+ezJ/r/Z/qzZPWmAJKG//6D3YhqV6F6OVVp45zUhqUsZM5pnh6jUIS+Ekgxn/Vs7TpRQzsQkZiW9crOfMlXgP4x8AWVxW9542mNgYgCD/6kMRkCKkQEd8AOxCsNJRiYGG0ZmRhZGVkY2RnYGZkYORk5GLkZuNsekotSyVPbSvEwDE0dXCO1qAeW7QfmWrOmJubmJYJ6BowGTcxBfYnJpSWpyfm6SXnJicSoPSMbYwAzMAQCg7RyY) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-cyrillic-600-normal-EVf6-Yzo.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-600-normal-8K4wrrwR.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-greek-600-normal-H7WoG9Et.woff2) format("woff2"),url(/assets/jetbrains-mono-greek-600-normal-mc2nkWzM.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(data:font/woff2;base64,d09GMgABAAAAAA+cABAAAAAALLwAAA88AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGnAbhXAcghYGYD9TVEFUNgCDBBEICrA8p1ILgjgAATYCJAOEKAQgBYUiB4xODAcbAiYzozactEpURMVmRMX/5YAeEbZcwG/CMMAQKoJWtdookZoS3aytxmC050sOI7cCAow302fVqlctEo2fsCH8NF7hT+iw0j9ChNjZ8mDDCKqxsmf2gdUroKACZgVMClhYtHG58kFWiUIXox5+nrb1f+4MUcKgDUhpU2kUtTpEWk2URbgiu+1zX2fy3o9MUYVLx3hhubmNsFpCMdsEk1F5+8ezc+v/smvX9vzNVygBp/rnXWMsECqg7HGvu2v3ux/JGhqUxXWMZcyPTSxsB6q1KNuR9/YiPE/t+m+wjit3IdpAssXS2tAXBVLadh69dFxz5v/mSpvZnzkuAERVVbgpkvF9Pvcvmd3p3KVAySEUCHOcEigE2ToCFrZqdZl0fZWxhefrTM7sf7FF/7NYSgxz0ya9TirWLutNmVKxwRKXQOv7pmo+oJFsPTEkTMMUODQyz6PtqbkAATQBkAjo6nmv1gQRaoZIKCAqJohFL6TfKMQtBImYgEyJQuLWIZvykB07cLvKcMfsKc64q0BAg1Z62MLFnghwj+wsrAMXBTAIAmIlTQADCEnRfB0FBpRXxn+ZeuBILJs5dGcQP+L7PDFcjHgb87y5DRqvxlP0zuuYU9SNJ6My5+oi3AuOtcbt8RCGyguGENEyhmPtIK84ABAjgC5OpyEVeFwMIyFx3o0AQEAjCKETdGACG5DghZlTreIC24ANwHoYjoN4QBZrc4HpBlCRgILbnCRdVdkXIArtCKJMwFDe9QAsog1VtFzNF7iRMCXI3bvXNoFLKJ4AKGiSPDy4+FtpQBJhwSGtkDsRQDUcCJcL1RBQBYM55Tqfw4kDAyaNHq9wzXXntjsaw546SDX1oFXxaa8NT6fVIiiBbueAzuWY4064oiqncgoV5F2vMlhxobGNvmGQoB5AD1gjDI66/AC81NxzX+kbAPeXGEopoEf/To7AKuhBhbZ5IaAVAobBzu9PFhCAf4obDfEAwUYNCwKAHzmmogK9BEpsmowsRUFRhW8/4mavoiA+6kKpuCUqJXAKzsRbxP+S+kFAe5REBOpEybg5nhT4JBiAm4NMiXz30zxI69/t1+5uFsC/rwJO3UZETEquFWDIzX9gKfoRxjSbYLKu3SKNpB0ntDiEZxSTDZsDh1MVFxY7igE0Q+iGMYygGtQgoFFQk5BqbrW86vjU86vhITJOKKLVvDYLJKbIzJCb1WKO1LQOS7qs6LZKIarTMpU4tQStFL0MgyyjNTppVlssNvXI6ZWHoEF4APcgJgPYAqrOg+o3VL2ndACgwAYRrWou4vJCYQmzVC4clmyOc162TWEtg4xpy1UwqC8Mk+cc+6zCcQaTwmFxONXcPlDdT8lrZjdwKQIWK5wq5DZQhgBn2jWFQueKKDxfcE9X5/K5Qn20+XSh25sgZn0IkfjsCLqIzqZWUVaaqVFsm0QD9axu1Y7qv3z+un/s0KGZV/wHZFLsra4ozHo2uzQRCZxjisobHSwnjAIfdQPlRE490vB5eRYOMundUNGTQgrrJgRGqlTmlWMdkp7nh8WsNcdUtq3WVzj7+L/pqJmp3RzQi0S/LcxLKzYyMkZ7xmgLifQMrK4v/TmpT6qTDB02pFJBYptugyGMR4IGxhk32qNz/ggNUVm7WWhGI25xZlv3YkNFbyYYx1Epq0zMcy8aQXOx3seiAXt6FWqNvlpf9urn76aj5WSLa6jSoRC+4sFvQqVvigXIidDMZuS6aoOGqs4xalavbgJTaVFsNwFIR0+7nQUHMXpSjNvtfayp8p0O6DCo/CivjYoLqfHo7F82L0q5gSnLE+zx8iQ7Ui7abLlly6Tccdo+i/rXNDHJjsiBCZoVhtmvQievtFzZ1bX9ZxkNNXu50Q3JTLIjS5vAXeSBWZqa0SKWl+O6aI6L1GD2C2OVRdxEUnnoql3o8UyeInQmknvgvk0nz33y3jvLL/fEHXfs6gwbYcozlIEX+O2cLmfyWcxUbq/M65R9QweKXiV0PP3N1bOr2u5+/O2uxwdrb1C9+xgR1Gh4gceASYYbw5+SlauzS1v6os46Z18sbSHn0vO9I0PWOst4ob3zMFt5JD74ljAu/NFgHBYSl3EuS1zf7x0UTGfUYFoasdlMizepTteqwdOFwIis8x+PM25KmWzmpMmUNNtMJTiTCcgIOeFe9Bls/dbTxcu/gYKZLuSjnALbPGcyZs3sAieaz8NT5wT0iy7y9cuUR/0z+6vvpRLjvaJW489tM0rS88qGjzm+MuUNpCcXL9F1L2oVe/4cw70zPRfNr05s51ZqLAOzrrZJi8uqdF3U+d/2rmMA9eGlzaW5paXNsMPntp0rwE58XajkUk3n2nxuQVSXMYVMGZ1hxhwyz8BXoZUQKJiOmNGyNHzhsGUpZnQ4o91dW40o+h6wqjayeY6zFG5ySPou7LE81NvwG7A6/Ur47lTj8w+mQcFIUQy27Vzb3DgcncNGzkOcVcx4jeVc69VGw93Wcy33wNFXAmr+hMewY+z9lv13L78f3cz4dj46VZy0ZHT6smWyOBXdyYP3vZnirKlLqe4yza6aKwsP+4iFFc1vLa/ktuDux7yfvk87keko/MZu+E003lFmfsO48NLGYuvS4nrE4fOM7BC98a78I0y/OP3DP+inTQLTtN4wZRaYp7TXhbQhuOm0LCKVjcuksVlYlKELMnYzQgQUp9su76pf0dZ2xdleDsK9/Hkn0+fBm3vJ845tnQeZvXPOy7Kd945NDwIURz0LAduM/JnWtnfkM7b5AGydkoSvyRNViBCSMm1KSTW4B0Tz3ZiGU1fOhmbh33uiTzg1zQEy1d3dKutYBMX32q6QSq9sa7vSHfcKEODdsvEKlVhIbMg48F/rbimRk+/uAzR5xrv46tda+mqz8ntWu6Gls49nGIb6F8d7TPzbH3OqxV5yVnNtm7hH0380iuO+lbH+KeGfurr+JJzqXx67cC+3v1HaP11+e6/UotxZnN5754Uq1rstQ4cCynQL9/prOcrypzwLE46LPu7o/KFovF84If0Oabi0SnAPeCJSoC6qRlvcLO72r9qGG/5RbHeOnHdL7ux1Vy+SY277/X+cjHSze97H7+POf/xmbPavWoYPeTW7rdxrrldddtaoDbheGjq8nKt+I9mg2tYlsYLyTWSdV3O//kfn3rafKG5uFO0lZ9A1EGwekfXJRpqDAwGXC4ifcE79VEOlpWJ6pgi81854dhhMzqGRFVm/kHfPrtuVsDnqY5xhsrcn2Phl02jTl43BntC5DyvPNN/3x+cIzv+raCStW6sQX/+H54mqPzT1wXcR0PTZfrJY2ijeUqp1T6Ka/UJxZ634+qn3Ingte/U1bKLGYZvu+Jms6poz71y7uBOLe9vlxXKtZ9Lpu2eycEEwWDsgEDWQiYXqBQDlMiUh8OyDJoIs9nL3FWCvZK8q+Cwb9mr2GnrtzEkmjVwLAD7cO0p+3H0WUPmuWq52AbB3UZ4ktpZlFAQeUqhMzUelDwoWt6OKOfnBilmxKrZY4KWg3ZPVApUcZdKv/e2r7b6/q0oLwNnSvOYKoKUOK4qise/HrEbVUPALYC5Dlt+ANbNm6PNYKnJbACNkhu6mxtMBsT07yNGmI45Q2YmdF2OBJAnKR9r7KCrpA5ZkSUrOAbEAJ8NF+pb45OND2A0BXL7JpnygTloscLCTdHL2SSZg0aNrGZUcZdTXs0qKcH9XYxaAMyQ9ug7V+A8op77hbBgz/wBHNobUAuEuybBw/VgoAzriBwOYczD0vf/9/X9/8Oj3///PsReAkQCpw5/0lP8ucCAXZ4+Cjqupnlr9ZmWwStIvbE4mHcKhs8jUanFUOpli3JdsPw0LlIr+jVUQBlAG/3Lw0+A52Jy+oIhAplbgIORPGYEsFUkiWN2iCfql8zR4VQ4bq0A5Ev+yQhZ/kmSNsgnO8mkQthCo7UGsgjAAHSbolzpIbxIL54OcX5BcRNAn4cEVz8f3WA4SbjruXop9TNUf03LSAJDJhCRcSlISIbiIUekwGYGeUwM+2CqcQDgAHRA1KIg5RbGIBiAqqXF+sho7IZoeHcDiuJkq7eBDqpDA+Upe7HIRQQeghrBkdxHRDumBARhA3AgCkWbK/TrDHYu8/r8xcPyX8OvTO6/FhVc+/jPYgRw7H/8vQA2EIAiQr3ttOaUJ+19hJYBgEhfjYoZKq8MhrFadbd5Cm/C0Dm+LBG2il3hblWyer02QrcPXom42bji2Fzjpex774IiTrg3iu1jwyVFepionHYXDPU/QvhBwzygUQWd5BEgWim92qz9VFRPA0xYKGqKuXsNwg6HhBr3rpig1KoGHNRqlPY3LzKcRRPSN+QjysRBAk3oQHmUJgo8F1tuwZtm6MQWv6ayUVZNiTkIyIsIs1sZ/N5sNWVGkmAKbnGUp6/KkvDas25BUULApr5eGRt6qnJRNBXlqeSlZahtyEjT8XDy2fChY1QKZEDkdpIKV0lPT09H5g/uQbO48MichJ6EorP6y3EYLlho4dhv3ySW5g4tpTmodRyoik9hcGDsBORZppVw1cUYUPZk8LtQX3HnACQkpnVO0ci9XX83CNKWKqjmMjC6Yqf5g9PSe4U9wD8O8sxXEdHqDYjSZLVab3eFMJwJftRq16tRriFKjJoLoCYk0E5OQkpFr0apNu45YderSTUFJRU1Dm346egbGOJiYWVj16NWn34BBQ4aNQBllY+fg5HLIqLF8RZKbJyFePn4BQSFhEeMmTJoynSkzZs2Zt2DRkmUrmbMqKiYe3CMpJS0ja826DZu25OQVFG07bEfJrrIjjjrmuBMokcrkCqVKrdHqSny/tr9tXvyOGG30rJMAJDy0eCQaC1xQ5qiv+/KzmMSJlwAg4dZprHjr7ZnOxv7jZbNFEDKgIXiZtaTTOPW/99dNI7aOqXiJkwgefCmn4xYFia6TFus9PmM2XvF34tn0/wtZBr30OjpbflFIKBCGKEFAYXBgaSJp4hVAmAjrDE6C9a5jstSrAWJgCBQhmqYbOBiBBCKialrEgDhCLGXFmMhKqMzqJ4CFkf2aRNttL24YaB6pMvXxl0fuyuX6/TwUCk88kmW++/g5b5Ptfl6u7unbJto+f9aUhYo86S+abLrrPFhkKuCbYg/3RjZd2QeF4e1FA4WqntdRyb62TJw2Chq0gQWkUYM272xWJMurZi8h7DSKFU9P4QSnMWz/788ruR4A) format("woff2"),url(/assets/jetbrains-mono-vietnamese-600-normal-OWROknRo.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-ext-600-normal-BfB_LPfz.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-ext-600-normal-DObL3zCW.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-600-normal-C8RAYTDA.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-600-normal-BfsvjouI.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--nile: #0f4c45;--nile-600: #136157;--nile-50: #e7f1ef;--amber: #e8a317;--amber-50: #fdf3dc;--ink: #14201e;--ink-2: #4a5a57;--ink-3: #7b8a87;--line: #dce3e1;--bg: #f2f5f4;--surface: #ffffff;--ok: #1e8a5a;--ok-50: #e3f4ec;--bad: #c2412d;--bad-50: #fbe9e5;--info: #2563a8;--info-50: #e6eef8;--radius-s: 6px;--radius-m: 10px;--shadow: 0 1px 2px rgba(20, 32, 30, .06), 0 4px 16px rgba(20, 32, 30, .05);--font: "Public Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;color-scheme:light}:root[data-theme=dark]{--nile: #3b82f6;--nile-600: #3b82f6;--nile-50: #16223a;--amber: #f59e0b;--amber-50: #33260b;--ink: #f4f4f5;--ink-2: #a1a1aa;--ink-3: #71717a;--line: #27272a;--bg: #09090b;--surface: #141416;--ok: #22c55e;--ok-50: #0f2a1a;--bad: #ef4444;--bad-50: #2e1212;--info: #60a5fa;--info-50: #13213a;--shadow: 0 1px 2px rgba(0, 0, 0, .5);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--nile-600)}:where(:root[data-theme=dark]) a:not(.btn){color:#60a5fa}h1,h2,h3{line-height:1.25;margin:0}h1{font-size:1.55rem;font-weight:700;letter-spacing:-.01em}h2{font-size:1.15rem;font-weight:650}h3{font-size:1rem;font-weight:650}p{margin:0 0 .75rem}.mono{font-family:var(--mono);font-feature-settings:"zero" 1}.muted{color:var(--ink-2)}.small{font-size:.85rem}.num{font-variant-numeric:tabular-nums}.right{text-align:right}.row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.row.spread{justify-content:space-between}.stack>*+*{margin-top:1rem}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}:focus-visible{outline:3px solid var(--amber);outline-offset:2px}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.shell{display:grid;grid-template-columns:248px 1fr;min-height:100%}.side{background:#0c0c0e;color:#d4d4d8;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;padding:.9rem .6rem;overflow-y:auto;border-right:1px solid #1f1f23;scrollbar-width:thin;scrollbar-color:#3f3f46 transparent}:root:not([data-theme=dark]) .side{background:var(--nile);border-right:0}.brand{display:flex;align-items:center;gap:.6rem;color:#fff;font-weight:700;font-size:1.05rem;padding:.25rem .55rem .9rem;text-decoration:none}.side nav a{display:flex;align-items:center;gap:.6rem;color:#d4d4d8;text-decoration:none;padding:.42rem .55rem;border-radius:8px;font-weight:600;font-size:.86rem;margin:1px 0}.side nav a .ico{color:#a1a1aa;flex:none}.side nav a .nav-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side nav a:hover{background:#ffffff0f;color:#fff}.side nav a.active{background:#3b82f624;color:#93c5fd}.side nav a.active .ico{color:#60a5fa}:root:not([data-theme=dark]) .side nav a.active{background:#ffffff24;color:#fff;box-shadow:inset 3px 0 0 var(--amber)}.side .group{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:.9rem;padding:.2rem .55rem .35rem;font:inherit;font-size:.74rem;font-weight:600;color:#8b8b94;background:none;border:0;cursor:pointer;text-align:left}.side .group:hover{color:#d4d4d8}.side .group .ico{transition:transform .15s;transform:rotate(180deg)}.side .group .ico.rot{transform:rotate(0)}.nbadge{font-size:.68rem;font-weight:700;line-height:1;padding:.22rem .38rem;border-radius:5px;border:1px solid rgba(96,165,250,.45);color:#93c5fd;background:#3b82f61f;font-variant-numeric:tabular-nums}.nbadge.ok{border-color:#22c55e73;color:#86efac;background:#22c55e1f}.nbadge.bad{border-color:#ef444480;color:#fca5a5;background:#ef44441f}.nbadge.warn{border-color:#f59e0b80;color:#fcd34d;background:#f59e0b1f}.side .foot{margin-top:auto;padding:.75rem .5rem 0;border-top:1px solid rgba(255,255,255,.1);font-size:.85rem}.side .foot .who{color:#fff;font-weight:600}.side .foot .who-sub{color:#8b8b94;font-size:.8rem}.side .foot .linkbtn,.side .foot button{color:#d4d4d8}.theme-btn{margin-left:auto;display:inline-grid;place-items:center}.main{min-width:0}.topbar{display:flex;align-items:center;gap:1rem;padding:.75rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.topbar .spacer{flex:1}.content{padding:1.5rem;max-width:1280px}.pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.pagehead p{margin:.25rem 0 0;color:var(--ink-2)}.menu-btn,.bottomnav{display:none}@media(max-width:860px){.shell{grid-template-columns:1fr}.side{position:fixed;inset:0 auto 0 0;width:260px;z-index:30;transform:translate(-100%);transition:transform .2s}.side.open{transform:none;box-shadow:0 0 0 100vmax #00000059}.menu-btn{display:inline-flex}.content{padding:1rem 1rem 5rem}.topbar{padding:.6rem 1rem}.bottomnav{display:grid;grid-auto-flow:column;position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--line);z-index:20;padding-bottom:env(safe-area-inset-bottom)}.bottomnav a{text-align:center;padding:.5rem .25rem;font-size:.75rem;color:var(--ink-2);text-decoration:none;display:grid;justify-items:center;gap:2px}.bottomnav a.active{color:var(--nile-600);font-weight:650}}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m)}.panel>.phead{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;border-bottom:1px solid var(--line);flex-wrap:wrap}.panel>.pbody{padding:1rem}.panel+.panel{margin-top:1rem}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);margin-bottom:1rem}.stat{padding:.9rem 1rem;border-right:1px solid var(--line)}.stat:last-child{border-right:0}.stat .v{font-size:1.45rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.stat .l{color:var(--ink-2);font-size:.85rem}.stat.warn .v{color:#a66d00}:root[data-theme=dark] .stat.warn .v{color:var(--amber)}.stat.bad .v{color:var(--bad)}.tablewrap{overflow-x:auto}table.t{width:100%;border-collapse:collapse;font-size:.92rem}table.t th{text-align:left;font-weight:600;color:var(--ink-2);font-size:.82rem;padding:.55rem .75rem;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--surface)}table.t td{padding:.6rem .75rem;border-bottom:1px solid var(--line);vertical-align:middle}table.t tr:last-child td{border-bottom:0}table.t tbody tr:hover{background:color-mix(in srgb,var(--nile-50) 45%,transparent)}table.t tr.clickable{cursor:pointer}table.t td.right,table.t th.right{text-align:right}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font:inherit;font-weight:600;font-size:.92rem;padding:.5rem .95rem;border-radius:var(--radius-s);border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;text-decoration:none;white-space:nowrap;min-height:38px}.btn:hover{border-color:var(--ink-3)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--nile);border-color:var(--nile);color:#fff}.btn.primary:hover{background:var(--nile-600)}.btn.cash{background:var(--amber);border-color:var(--amber);color:#2b1d00}.btn.danger{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 40%,var(--line))}.btn.ghost{border-color:transparent;background:transparent}.btn.sm{padding:.25rem .6rem;min-height:30px;font-size:.85rem}.btn.block{width:100%}.linkbtn{background:none;border:0;padding:0;font:inherit;color:var(--nile-600);cursor:pointer;text-decoration:underline}.field{display:grid;gap:.3rem}.field label{font-weight:600;font-size:.88rem}.field .hint{font-size:.8rem;color:var(--ink-3)}.field .err{font-size:.82rem;color:var(--bad)}input,select,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-s);padding:.5rem .65rem;min-height:38px;width:100%}textarea{min-height:90px;resize:vertical}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--nile-600);box-shadow:0 0 0 3px color-mix(in srgb,var(--nile-600) 22%,transparent)}input[type=checkbox]{width:auto;min-height:0}.check{display:flex;gap:.5rem;align-items:center;font-weight:500}.form{display:grid;gap:.9rem}.form .two{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}@media(max-width:560px){.form .two{grid-template-columns:1fr}}.filters{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}.filters input,.filters select{width:auto;min-width:150px}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.1rem .5rem;border-radius:999px;font-size:.78rem;font-weight:600;white-space:nowrap;background:var(--nile-50);color:var(--ink-2)}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.8}.badge.ok{background:var(--ok-50);color:var(--ok)}.badge.bad{background:var(--bad-50);color:var(--bad)}.badge.warn{background:var(--amber-50);color:#8a5a00}:root[data-theme=dark] .badge.warn{color:var(--amber)}.badge.info{background:var(--info-50);color:var(--info)}.alert{padding:.7rem .9rem;border-radius:var(--radius-s);border:1px solid;font-size:.92rem}.alert.bad{background:var(--bad-50);border-color:color-mix(in srgb,var(--bad) 30%,transparent);color:var(--bad)}.alert.ok{background:var(--ok-50);border-color:color-mix(in srgb,var(--ok) 30%,transparent);color:var(--ok)}.alert.warn{background:var(--amber-50);border-color:color-mix(in srgb,var(--amber) 45%,transparent)}.empty{text-align:center;padding:2.5rem 1rem;color:var(--ink-2)}.empty h3{color:var(--ink);margin-bottom:.35rem}.toasts{position:fixed;right:1rem;bottom:1rem;display:grid;gap:.5rem;z-index:100;max-width:min(420px,calc(100vw - 2rem))}.toast{background:var(--ink);color:var(--bg);padding:.7rem 1rem;border-radius:var(--radius-s);box-shadow:var(--shadow);font-size:.92rem}.toast.bad{background:var(--bad);color:#fff}@media(max-width:860px){.toasts{bottom:4.5rem}}.spinner{width:18px;height:18px;border:2px solid var(--line);border-top-color:var(--nile-600);border-radius:50%;animation:spin .8s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.loading{display:flex;gap:.6rem;align-items:center;color:var(--ink-2);padding:2rem;justify-content:center}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a141280;display:grid;place-items:center;z-index:50;padding:1rem}.modal{background:var(--surface);border-radius:var(--radius-m);width:min(560px,100%);max-height:calc(100vh - 2rem);overflow:auto;box-shadow:0 24px 60px #0000004d}.modal.wide{width:min(820px,100%)}.modal .mhead{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.15rem;border-bottom:1px solid var(--line)}.modal .mbody{padding:1.15rem}.modal .mfoot{display:flex;justify-content:flex-end;gap:.6rem;padding:.9rem 1.15rem;border-top:1px solid var(--line)}.tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--line);margin-bottom:1rem;overflow-x:auto}.tabs button{background:none;border:0;font:inherit;padding:.55rem .85rem;color:var(--ink-2);cursor:pointer;border-bottom:2px solid transparent;font-weight:600;white-space:nowrap}.tabs button.on{color:var(--ink);border-bottom-color:var(--nile-600)}.ticket{position:relative;background:var(--surface);border:1.5px solid var(--nile);border-radius:12px;padding:1rem 1.15rem .9rem;display:grid;gap:.35rem;overflow:hidden}.ticket:before,.ticket:after{content:"";position:absolute;top:50%;width:18px;height:18px;border-radius:50%;background:var(--bg);border:1.5px solid var(--nile);transform:translateY(-50%)}.ticket:before{left:-10px}.ticket:after{right:-10px}.ticket .t-org{font-size:.8rem;color:var(--ink-2);display:flex;justify-content:space-between}.ticket .t-pin{font-family:var(--mono);font-size:1.7rem;font-weight:700;letter-spacing:.12em;color:var(--nile);text-align:center;padding:.4rem 0;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line)}:root[data-theme=dark] .ticket .t-pin{color:#93c5fd}.ticket .t-meta{display:flex;justify-content:space-between;font-size:.85rem}.tickets{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem}.chart{width:100%;height:auto;display:block}.chart text{fill:var(--ink-3);font-size:11px;font-family:var(--font)}.chart .bar{fill:var(--nile-600)}.chart .bar:hover{fill:var(--amber)}.chart .grid{stroke:var(--line)}.chart .line{fill:none;stroke:var(--nile-600);stroke-width:2}.chart .area{fill:color-mix(in srgb,var(--nile-600) 14%,transparent)}.signal{display:inline-flex;gap:2px;align-items:flex-end;height:14px;vertical-align:middle}.signal i{width:4px;background:var(--line);border-radius:1px}.signal i:nth-child(1){height:5px}.signal i:nth-child(2){height:9px}.signal i:nth-child(3){height:14px}.signal.s1 i:nth-child(-n+1),.signal.s2 i:nth-child(-n+2),.signal.s3 i:nth-child(-n+3){background:var(--ok)}.signal.s0 i:nth-child(1){background:var(--bad)}.meter{height:6px;background:var(--line);border-radius:3px;overflow:hidden;min-width:60px}.meter>span{display:block;height:100%;background:var(--nile-600)}.meter.hot>span{background:var(--bad)}.authwrap{min-height:100%;display:grid;grid-template-columns:1fr 1fr}.authside{background:var(--nile);color:#d7ebe7;padding:3rem;display:flex;flex-direction:column;justify-content:space-between}.authside h1{color:#fff;font-size:2rem;max-width:18ch}.authside .bars{display:flex;gap:10px;align-items:flex-end;height:120px}.authside .bars span{width:26px;background:#ffffffd9;border-radius:4px}.authside .bars span:last-child{background:var(--amber)}.authmain{display:grid;place-items:center;padding:2rem 1rem}.authcard{width:min(400px,100%)}@media(max-width:860px){.authwrap{grid-template-columns:1fr}.authside{display:none}}.portal-top{background:var(--nile);color:#fff;padding:.9rem 1rem}.portal-top .inner,.portal-body{max-width:760px;margin:0 auto}.portal-body{padding:1rem}.bigexpiry{font-size:2rem;font-weight:700;letter-spacing:-.02em}.receipt{max-width:420px;margin:0 auto;background:var(--surface);padding:1.5rem;border:1px solid var(--line);border-radius:var(--radius-m)}.receipt table{width:100%;border-collapse:collapse;font-size:.92rem}.receipt td{padding:.3rem 0}.receipt .total td{border-top:1px solid var(--ink);font-weight:700;padding-top:.5rem}.print-only{display:none}@media print{body{background:#fff;color:#000}.side,.topbar,.bottomnav,.no-print,.toasts{display:none!important}.shell{display:block}.content{padding:0;max-width:none}.print-only{display:block}.receipt{border:0}.tickets{grid-template-columns:repeat(3,1fr);gap:6mm}.ticket{break-inside:avoid;border-color:#000}.ticket:before,.ticket:after{background:#fff;border-color:#000}.ticket .t-pin{color:#000}}.wizard-steps{display:flex;gap:.5rem;list-style:none;padding:0;margin:0 0 1rem;flex-wrap:wrap}.wizard-steps li{display:flex;align-items:center;gap:.5rem;padding:.45rem .85rem;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--ink-3);font-weight:600;font-size:.9rem}.wizard-steps li span{display:inline-grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--line);color:var(--ink-2);font-size:.8rem}.wizard-steps li.on{color:var(--ink);border-color:var(--nile)}.wizard-steps li.on span{background:var(--nile);color:#fff}.wizard-steps li.done span{background:var(--ok);color:#fff}.cmd-box{display:flex;gap:.75rem;align-items:flex-start;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-s);padding:.75rem}.cmd-box code{flex:1;min-width:0;word-break:break-all;font-size:.85rem;line-height:1.5;-webkit-user-select:all;user-select:all}.progress-list{list-style:none;padding:0;margin:0;display:grid;gap:.4rem}.progress-list li{position:relative;padding-left:1.6rem;color:var(--ink-3)}.progress-list li:before{content:"○";position:absolute;left:.2rem}.progress-list li.on{color:var(--ink)}.progress-list li.on:before{content:"";width:.8rem;height:.8rem;top:.25rem;border:2px solid var(--nile);border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.progress-list li.done{color:var(--ink)}.progress-list li.done:before{content:"✓";color:var(--ok);font-weight:700}.progress-list li.fail{color:var(--bad)}.progress-list li.fail:before{content:"✕"}.progress-list li.warnx:before{content:"!";color:var(--amber);font-weight:700}.port-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.4rem}.port{display:grid;grid-template-columns:auto 1fr;column-gap:.4rem;align-items:center;padding:.4rem .55rem;border:1px solid var(--line);border-radius:var(--radius-s);cursor:pointer}.port .muted{grid-column:2}.port.on{border-color:var(--nile);background:var(--nile-50)}fieldset.svc{border:1px solid var(--line);border-radius:var(--radius-m);padding:.75rem 1rem 1rem;margin:0}fieldset.svc legend{padding:0 .4rem}.set-section{margin-bottom:1rem}.set-head{display:flex;gap:.75rem;align-items:flex-start;padding:1rem 1.1rem;border-bottom:1px solid var(--line)}.set-head h2{margin:0;font-size:1.02rem}.set-head p{margin:.2rem 0 0;color:var(--ink-3);font-size:.88rem}.set-ico{width:2rem;height:2rem;border-radius:8px;display:grid;place-items:center;background:var(--nile-50);color:var(--nile-600);font-size:.95rem;flex:none}.set-section .pbody{display:grid;gap:.9rem}.switch{display:inline-flex;align-items:center;gap:.6rem;cursor:pointer;font-weight:600;font-size:.92rem}.switch input{position:absolute;opacity:0;width:1px;height:1px}.switch .slider{position:relative;width:2.4rem;height:1.35rem;border-radius:999px;background:var(--line);transition:background .15s;flex:none}.switch .slider:after{content:"";position:absolute;top:.18rem;left:.2rem;width:1rem;height:1rem;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0000004d;transition:transform .15s}.switch input:checked+.slider{background:var(--nile-600)}.switch input:checked+.slider:after{transform:translate(1.02rem)}.switch input:focus-visible+.slider{outline:2px solid var(--nile);outline-offset:2px}.switch input:disabled+.slider{opacity:.5}.toggle-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.8rem 1.5rem}.toggle-hint{margin:.2rem 0 0 3rem}.drop{border:1.5px dashed var(--line);border-radius:var(--radius-m);min-height:5.5rem;display:flex;align-items:center;justify-content:center;gap:.6rem;padding:.8rem;color:var(--ink-3);font-size:.9rem;flex-wrap:wrap;background:var(--bg)}.drop.has{justify-content:flex-start;border-style:solid}.drop img{max-height:4rem;max-width:50%;object-fit:contain;border-radius:6px;background:repeating-conic-gradient(#0001 0 25%,transparent 0 50%) 0 0/12px 12px}.color-field{display:flex;gap:.5rem;align-items:center}.color-field input.mono{flex:1}.color-field input[type=color]{width:2.6rem;height:2.3rem;padding:.15rem;border-radius:var(--radius-s);border:1px solid var(--line);background:var(--surface);cursor:pointer;flex:none}.copy-field{display:flex;gap:.5rem;align-items:center;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-s);padding:.35rem .4rem .35rem .7rem}.copy-field code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem}.suffix{display:flex}.suffix input{border-top-right-radius:0;border-bottom-right-radius:0}.suffix span{display:grid;place-items:center;padding:0 .7rem;border:1px solid var(--line);border-left:0;border-radius:0 var(--radius-s) var(--radius-s) 0;color:var(--ink-3);background:var(--bg);font-size:.85rem}.portal-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:1rem;align-items:start}.portal-preview{position:sticky;top:1rem}@media(max-width:1100px){.portal-layout{grid-template-columns:1fr}.portal-preview{position:static;order:-1}}.phone{border-radius:26px;background:#111;padding:7px;overflow:hidden;box-shadow:0 10px 30px #00000040;margin:0 auto}.phone iframe{border:0;border-radius:20px;transform-origin:top left;display:block;background:#fff}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.tpl-card{background:var(--bg);border:1.5px solid var(--line);border-radius:var(--radius-m);padding:.8rem;cursor:pointer;text-align:left;font:inherit;color:inherit;display:grid;gap:.6rem}.tpl-card .phone{pointer-events:none}.tpl-card.on{border-color:var(--nile-600);box-shadow:0 0 0 3px color-mix(in srgb,var(--nile) 25%,transparent)}.tpl-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.tpl-meta .muted{width:100%}.sticky-actions{position:sticky;bottom:0;display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;padding:.8rem 1rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);box-shadow:0 -6px 20px #0000000f;z-index:2}.btn.amber{background:var(--amber);border-color:var(--amber);color:#1b1300}.btn.amber:hover{filter:brightness(.95)}.ftabs{display:inline-flex;gap:.25rem;padding:.3rem;border-radius:12px;background:var(--surface);border:1px solid var(--line);margin:0 auto 1rem;flex-wrap:wrap}.ftabs-wrap{display:flex;justify-content:center}.ftabs button{display:inline-flex;align-items:center;gap:.45rem;border:0;background:none;font:inherit;font-size:.86rem;font-weight:600;color:var(--ink-2);padding:.4rem .75rem;border-radius:8px;cursor:pointer;white-space:nowrap}.ftabs button:hover{color:var(--ink)}.ftabs button.on{background:var(--nile-50);color:var(--nile-600)}.fcount{font-size:.72rem;padding:.08rem .38rem;border-radius:5px;border:1px solid var(--line);color:var(--ink-2);font-variant-numeric:tabular-nums}.fcount.ok{border-color:color-mix(in srgb,var(--ok) 50%,transparent);color:var(--ok)}.fcount.bad{border-color:color-mix(in srgb,var(--bad) 50%,transparent);color:var(--bad)}.fcount.warn{border-color:color-mix(in srgb,var(--amber) 60%,transparent);color:var(--amber)}.fcount.info{border-color:color-mix(in srgb,var(--info) 50%,transparent);color:var(--info)}.chip{display:inline-flex;align-items:center;gap:.25rem;font-size:.76rem;font-weight:600;padding:.12rem .45rem;border-radius:5px;border:1px solid var(--line);color:var(--ink-2);background:transparent;white-space:nowrap;font-variant-numeric:tabular-nums}.chip.ok{border-color:color-mix(in srgb,var(--ok) 55%,transparent);color:var(--ok);background:color-mix(in srgb,var(--ok) 10%,transparent)}.chip.bad{border-color:color-mix(in srgb,var(--bad) 55%,transparent);color:var(--bad);background:color-mix(in srgb,var(--bad) 10%,transparent)}.chip.warn{border-color:color-mix(in srgb,var(--amber) 60%,transparent);color:var(--amber);background:color-mix(in srgb,var(--amber) 10%,transparent)}.chip.info{border-color:color-mix(in srgb,var(--info) 55%,transparent);color:var(--info);background:color-mix(in srgb,var(--info) 10%,transparent)}.chip.violet{border-color:#a78bfa8c;color:#a78bfa;background:#a78bfa1a}.rowmenu{position:relative;display:inline-block}.kebab{border:0;background:none;color:var(--ink-2);font-size:1.1rem;line-height:1;padding:.25rem .45rem;border-radius:6px;cursor:pointer}.kebab:hover{background:var(--bg);color:var(--ink)}.rowmenu .menu{position:absolute;right:0;top:100%;z-index:20;min-width:200px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:.3rem;box-shadow:0 12px 30px #00000059;display:grid}.rowmenu .menu button{display:flex;align-items:center;gap:.55rem;text-align:left;border:0;background:none;font:inherit;font-size:.86rem;font-weight:600;color:var(--ink);padding:.45rem .6rem;border-radius:6px;cursor:pointer}.rowmenu .menu button:hover{background:var(--bg)}.rowmenu .menu button.info{color:var(--info)}.rowmenu .menu button.bad{color:var(--bad)}.rowmenu .menu button:disabled{opacity:.5;cursor:default}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1rem 1.1rem}.kpi .l{display:flex;align-items:center;gap:.4rem;color:var(--ink-2);font-size:.85rem;font-weight:600}.kpi .v{font-size:1.7rem;font-weight:700;margin:.2rem 0;font-variant-numeric:tabular-nums}.kpi .s{font-size:.82rem;color:var(--info)}.kpi .s.ok{color:var(--ok)}.kpi .s.bad{color:var(--bad)}.kpi .s.muted{color:var(--ink-3)}.toolbar{display:flex;gap:.6rem;align-items:center;justify-content:flex-end;padding:.75rem .9rem;border-bottom:1px solid var(--line);flex-wrap:wrap}.searchbox{position:relative}.searchbox .ico{position:absolute;left:.6rem;top:50%;transform:translateY(-50%);color:var(--ink-3)}.searchbox input{padding-left:2rem;min-width:220px}.btn.green{background:#16a34a;border-color:#16a34a;color:#fff}.btn.red{background:#dc2626;border-color:#dc2626;color:#fff}.btn .ico{margin-right:.15rem;vertical-align:-3px}.revbar{display:flex;width:140px;height:8px;border-radius:4px;background:var(--bg);overflow:hidden}.revbar span{background:var(--ok)}.revbar span.p{background:var(--amber)}.cmd-pre{white-space:pre-wrap;word-break:break-all;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:.75rem;-webkit-user-select:all;user-select:all}.topbar .menu-btn{display:none}@media(max-width:860px){.topbar .menu-btn{display:inline-flex}}.nowrap{white-space:nowrap}.sheets{display:grid;gap:1.2rem;justify-content:center;overflow-x:auto;padding-bottom:1rem}.sheet{background:#fff;padding:8mm;width:210mm;min-height:297mm;box-shadow:0 6px 24px #0000002e;display:grid;align-content:start}.vc{box-sizing:border-box;overflow:hidden;color:#000;background:#fff;font-family:Arial,Helvetica,sans-serif;border:.2mm dashed #9aa0a6;display:flex;flex-direction:column;align-items:stretch;text-align:center;padding:.8mm;gap:.5mm;-webkit-print-color-adjust:exact;print-color-adjust:exact;line-height:1.15}.vc *{box-sizing:border-box}.vc-bar{font-weight:700;letter-spacing:.25mm;font-size:2.1mm;padding:.6mm 1mm;color:#fff;background:#111;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vc-code{font-family:Courier New,ui-monospace,monospace;font-weight:700;letter-spacing:.35em;padding:.6mm 0 .6mm .35em;white-space:nowrap;border:.45mm solid #000;border-radius:.8mm}.vc-mid{font-size:1.9mm}.vc-label{font-size:1.5mm;letter-spacing:.4mm;font-weight:700;color:var(--brand)}.vc-pill{font-size:1.9mm;font-weight:700;padding:.6mm;border-radius:.8mm;border:.3mm solid #000;background:#e5e7eb;white-space:nowrap;overflow:hidden}.vc-outline{font-size:1.6mm;padding:.3mm;border-radius:.6mm;border:.25mm solid currentColor}.vc-foot{margin-top:auto;font-size:1.45mm;font-weight:700;letter-spacing:.15mm;border-top:.2mm solid #ccc;padding-top:.4mm;white-space:nowrap;overflow:hidden}.vc-kv{display:flex;justify-content:space-between;font-size:1.8mm;padding:0 .6mm;text-align:start}.vc-kv span{color:#444}.vc-note{font-size:1.5mm;color:#333;font-style:italic;overflow:hidden;max-height:4mm}.vc-micro{padding:.5mm .8mm;gap:.2mm}.vc-micro .vc-bar{background:#9a3412;font-size:1.5mm;padding:.25mm .8mm;text-align:start}.vc-micro .vc-row{display:flex;align-items:center;justify-content:space-between;gap:1mm}.vc-micro .vc-code{border:0;padding:0;letter-spacing:.2em}.vc-micro .vc-right{display:flex;flex-direction:column;align-items:flex-end;font-size:1.5mm;white-space:nowrap}.vc-micro .vc-right b{font-size:2.1mm}.vc-micro .vc-sub{font-size:1.4mm;color:#9a3412;font-weight:700;text-align:start;letter-spacing:.2mm}.vc-ultra .vc-bar{background:#000}.vc-ultra .vc-pill{background:#d9d9d9}.vc-ultra .vc-foot{border-top:.25mm solid #000}.vc-value .vc-bar{background:#16a34a}.vc-value .vc-foot{color:#16a34a;border-top-color:#16a34a}.vc-essential .vc-bar{background:#ea580c}.vc-essential .vc-pill{background:#ea580c;color:#fff;border-color:#ea580c}.vc-medium .vc-bar{background:#c2703d}.vc-medium .vc-pill{background:#c2703d;color:#fff;border-color:#c2703d}.vc-medium .vc-outline,.vc-medium .vc-foot{color:#c2703d}.vc-clean{--brand: #0f766e}.vc-clean .vc-bar{background:#0f766e}.vc-clean .vc-foot{color:#0f766e}.vc-kiosk{--brand: #f97316;border-color:#f97316}.vc-kiosk .vc-bar{background:#f97316;font-size:2.4mm}.vc-kiosk .vc-foot{color:#f97316;border-top:.3mm dashed #f97316}.vc-metro{border-left:1.4mm solid var(--brand)}.vc-metro .vc-bar{background:#000;font-size:2.4mm}.vc-business{--brand: #d97706}.vc-business .vc-bar{background:#f59e0b;color:#111;display:flex;align-items:center;justify-content:center;gap:1mm;font-size:2.3mm;padding:.8mm}.vc-business .vc-bar img{height:4mm;max-width:12mm;object-fit:contain;background:#fff;border-radius:.6mm;padding:.2mm}.vc-business .vc-pill{background:#f59e0b;border-color:#f59e0b}.vc-business .vc-foot{color:#d97706}.design-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.design-card{border:1.5px solid var(--line);border-radius:var(--radius-m);overflow:hidden;background:var(--surface);cursor:pointer;text-align:left;font:inherit;color:inherit;padding:0;display:flex;flex-direction:column}.design-card.on{border-color:var(--nile-600);box-shadow:0 0 0 3px color-mix(in srgb,var(--nile) 25%,transparent)}.design-thumb{height:190px;display:grid;place-items:center;background:#2a2d33;overflow:hidden}.design-thumb .vc{transform-origin:center}.design-info{padding:.8rem .9rem .9rem;display:grid;gap:.35rem}.design-info h3{margin:0;font-size:1rem;display:flex;align-items:center;gap:.4rem}.design-info p{margin:0;color:var(--ink-3);font-size:.86rem}.chips{display:flex;flex-wrap:wrap;gap:.3rem}.chips span{font-size:.75rem;padding:.15rem .5rem;border-radius:999px;background:var(--bg);border:1px solid var(--line)}.inuse{font-size:.68rem;font-weight:700;padding:.1rem .45rem;border-radius:999px;background:var(--nile-600);color:#fff;letter-spacing:.03em}@media print{@page{size:A4;margin:8mm}.sheets{display:block;overflow:visible;padding:0}.sheet{box-shadow:none;padding:0;width:auto;min-height:0;break-after:page;page-break-after:always}.sheet:last-child{break-after:auto;page-break-after:auto}}.vc-essential,.vc-medium,.vc-clean{justify-content:space-between}.vc-kiosk,.vc-metro,.vc-business{justify-content:space-between;padding:1.2mm}.vc-kiosk .vc-label,.vc-metro .vc-label,.vc-business .vc-label{font-size:1.9mm}.vc-kiosk .vc-kv,.vc-metro .vc-kv{font-size:2.4mm}.vc-kiosk .vc-foot,.vc-metro .vc-foot,.vc-business .vc-foot{font-size:1.8mm;margin-top:0}.vc-essential .vc-foot,.vc-medium .vc-foot,.vc-clean .vc-foot{margin-top:0}.vc-business .vc-mid{font-size:2.4mm}.vc-business .vc-pill{font-size:2.5mm;padding:1mm}.vc-business .vc-outline{font-size:2.1mm;padding:.5mm}.vc-business .vc-note{font-size:1.9mm;max-height:6mm}.vc-clean .vc-mid,.vc-essential .vc-mid,.vc-medium .vc-mid{font-size:2.1mm}.vc-ultra,.vc-value{justify-content:space-between}.vc-clean .vc-label{color:#0f766e}.vc-kiosk .vc-label{color:#f97316}.vc-business .vc-label{color:#d97706}.vc-ultra{padding:.6mm;gap:.4mm}.vc-ultra .vc-bar{font-size:1.9mm;padding:.4mm 1mm}.vc-ultra .vc-pill{font-size:1.8mm;padding:.4mm}.vc-ultra .vc-foot,.vc-value .vc-foot{margin-top:0}
