/* montserrat-cyrillic-ext-600-normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/montserrat-cyrillic-ext-600-normal-BtBW-rpm.woff2) format('woff2'), url(/assets/montserrat-cyrillic-ext-600-normal-wReYPmz2.woff) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* montserrat-cyrillic-600-normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/montserrat-cyrillic-600-normal-CQEPC0hM.woff2) format('woff2'), url(/assets/montserrat-cyrillic-600-normal-DUglwBrH.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* montserrat-vietnamese-600-normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/montserrat-vietnamese-600-normal-DKe6qT_E.woff2) format('woff2'), url(/assets/montserrat-vietnamese-600-normal-SJ-HTWuM.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;
}

/* montserrat-latin-ext-600-normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/montserrat-latin-ext-600-normal-DSkTqI9L.woff2) format('woff2'), url(/assets/montserrat-latin-ext-600-normal-CSDhkhgS.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;
}

/* montserrat-latin-600-normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/montserrat-latin-600-normal-UVxSCcoG.woff2) format('woff2'), url(/assets/montserrat-latin-600-normal-CdhFl4lI.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;
}/* montserrat-cyrillic-ext-700-normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/montserrat-cyrillic-ext-700-normal-MyDreaeu.woff2) format('woff2'), url(/assets/montserrat-cyrillic-ext-700-normal-D-Mk2xRJ.woff) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* montserrat-cyrillic-700-normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/montserrat-cyrillic-700-normal-D-Pqjtdp.woff2) format('woff2'), url(/assets/montserrat-cyrillic-700-normal-BvLYcGP1.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* montserrat-vietnamese-700-normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/montserrat-vietnamese-700-normal-C0x1De3p.woff2) format('woff2'), url(/assets/montserrat-vietnamese-700-normal-DnwGT2D9.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;
}

/* montserrat-latin-ext-700-normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/montserrat-latin-ext-700-normal-BOP2Nhf0.woff2) format('woff2'), url(/assets/montserrat-latin-ext-700-normal-DdDFr05Z.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;
}

/* montserrat-latin-700-normal */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/montserrat-latin-700-normal-BdjcYUrC.woff2) format('woff2'), url(/assets/montserrat-latin-700-normal-BWkrl476.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;
}/* open-sans-cyrillic-ext-400-normal */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/open-sans-cyrillic-ext-400-normal-B28g4zcY.woff2) format('woff2'), url(/assets/open-sans-cyrillic-ext-400-normal-CtkCLoLZ.woff) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* open-sans-cyrillic-400-normal */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/open-sans-cyrillic-400-normal-DvjyhnTk.woff2) format('woff2'), url(/assets/open-sans-cyrillic-400-normal-XMp_Qeuo.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* open-sans-greek-ext-400-normal */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(data:font/woff2;base64,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) format('woff2'), url(data:font/woff;base64,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) format('woff');
  unicode-range: U+1F00-1FFF;
}

/* open-sans-greek-400-normal */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/open-sans-greek-400-normal-BKm6CSmU.woff2) format('woff2'), url(/assets/open-sans-greek-400-normal-yVf9KAAO.woff) format('woff');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}

/* open-sans-hebrew-400-normal */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/open-sans-hebrew-400-normal-C3uFZKNA.woff2) format('woff2'), url(/assets/open-sans-hebrew-400-normal-Cowz_U6T.woff) format('woff');
  unicode-range: U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F;
}

/* open-sans-math-400-normal */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/open-sans-math-400-normal-C76BUjK0.woff2) format('woff2'), url(/assets/open-sans-math-400-normal-Cs0GbA_j.woff) format('woff');
  unicode-range: U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF;
}

/* open-sans-symbols-400-normal */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/open-sans-symbols-400-normal-OZvd8qMe.woff2) format('woff2'), url(/assets/open-sans-symbols-400-normal-B5VgOMNH.woff) format('woff');
  unicode-range: U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF;
}

/* open-sans-vietnamese-400-normal */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/open-sans-vietnamese-400-normal-Dqpvjuft.woff2) format('woff2'), url(/assets/open-sans-vietnamese-400-normal-DCU23d-J.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;
}

/* open-sans-latin-ext-400-normal */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/open-sans-latin-ext-400-normal-URAvo6nN.woff2) format('woff2'), url(/assets/open-sans-latin-ext-400-normal-BfzJ9CTS.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;
}

/* open-sans-latin-400-normal */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/open-sans-latin-400-normal-Bk63H6sG.woff2) format('woff2'), url(/assets/open-sans-latin-400-normal-DKniycaP.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;
}/* open-sans-cyrillic-ext-600-normal */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/open-sans-cyrillic-ext-600-normal-CivhzOCV.woff2) format('woff2'), url(/assets/open-sans-cyrillic-ext-600-normal-DX5V8c14.woff) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* open-sans-cyrillic-600-normal */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/open-sans-cyrillic-600-normal-BuMhxFId.woff2) format('woff2'), url(/assets/open-sans-cyrillic-600-normal-C5LXWJm_.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* open-sans-greek-ext-600-normal */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(data:font/woff2;base64,d09GMgABAAAAAA6kABIAAAAAG3gAAA5DAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGiYbgTYcOgZgP1NUQVRaAFwIgXwJnxQREAqCLIIvCxIAATYCJAMgBCAFhSYHUgyFHxsrGhXjWEvAxsEA57AMwf8fErghE15D81k4DI93Km6YYqS104UQB1R/2lvfaD+x53NyHSgvuHUZSZBciYngW6FGUpGc4BaJSSUmtbna6VEkpoXTW+C2PvujIFlNxS0VE85/GzzP45V/7s2Lp7vZiqk8zVZIAUxFzIdYfhNBObZTLFtzv8SK8DKjCySbrC4QCPf2al0HbgOEKNs7kYwanBdSGnWAocnvrWWqTdj2hhUovQprZs8mmB4MDMWR2gH1gO09h7lyu3wF27nh4boGrE3LmD8c6v6Iz9tCX4krbX0xc7YtBeRGI71jIlF1n87PdiTb9/coyUEXwA9lUnRYFdQ0nlmvrdmV7M1+XOuzQnZIPraCvgs4AFjn9cTUpbsyZYq2y/u92kMz2q0hiJSY1dpxc33ejghKCc7HqY7goAgWggAeNi711wR0Zgx2vwHDxhHP2bR6KfGC1fOWEC+cN3s18dJZa5cTYwCyjAKCjmqZysuWeHIwmRwhwDfBsRxtNwXAI+DthT7kEAyiK50EX2A8xoB9M6pCs7Y4M1fbtycPHUKPpX3N2MlXOp+8RkDjCCT1jibVSdhgl5vngAtxpPDIRM/EOWUKFn/DwJEjB8qDUO9975T/JvD+15NALgMwg+zbgRiDIHhYQGX0cVqhG+auXSgCGxYsXCsgf9/5zFIbpQFVcbBQVOoAIBk9U2ydRKMkrcncGrQxgBG8yTDIl+DZV3aACsRcXm9U7/2jHqT/o2S/ZZ9k4sO7PmyO4BScyoT27VRdHscMpzJkX+tv8cr/6ex/nqtQ/d8A14O2CLxNA4ZX6AWVTDPz43wCRQJgSCE6el1xEg3F7wQ1CDEC3cLiTYJ0xxIrVX526dPBlnABwSQlzI6Aq/rDIlqrE0sT1RWIIjLri/dwApVPvf3h1yBI3AYBo8z+5kmM9/AidqByNtDi+bpo+4/e577OY9/WZf58HPqubeqqLPIsTeIoeGeNVlJwRglGEMj/733u6zz2bZmncei7tqmrUoevkq4sV5IYRs75fLpSragYRFd2tRo8Go7C/SoYaQlpz5lO32U1bYzXbJDCIPPPLiYyJyLyKlZqB6erl+sMuNPLHWUyE5AZHpJ1WWtHoog5qFIeA2x9xRoGDhTXNShuzeAXZQJTKU4i3sZ8luooLW9u688FjLSeMduyYTfV9EVPcvWH4Xy9JvdiCTWgSmWkRv4F49e5FOjLHeJw5ZuqDE9juDsMSrr8IfWpAuIxERzwqOukPuTKmt7Ud/zSNy312ZD3ZfYQYX8kNtVKVOkTGyY/jo5p8uPY3JWRQvzjOPeLOjPn4czHRpIqC3EpDT1YyNaweqQamnT6YWjZ6zI9pLQz9BlPZ+NShCuF4FYIZY1TPYZNUBBo2TSHqsCUvbKtNAu8MNruFo+oG5c1x0Uu0FudrMyfLJ0sn6zNrM/oKCH+pXjBv0TwRd2Sc9aTMOws9ZdLsTdpOroUudEqRWBpDba+W6dyxQ6jglM7AUOvHcnFx+fu15xUEI1QqM+cJ6hWsqhjy9d31Z+DIgiyGrzmdrCY7CrSgdOsBG28a30tBd1kH5EcTzX7WPkBWZnFKD3vSN9efsvJ/Y5x1sKzwcq1R1fcHKd7tg8WWmOuh9gVhoHLrVDf+IICZgfbtkJpXeLa8bhQfS/SUb3PRPE9kxypoyiehTUEZnqG0JwJth6r49ABdx6Szv6fnHFGj9yTOTwiQtp11/rKF4jHSLmAMWc6GuljjH8kqVYoi4xtrVrp9GL6qu1eOgbkCJJijbpzzxbjotqpZjQbiXlkw1rNK6PM2htP5ByEIvOyW+bgm/bngiZIezAgsOA2l+farzPMneSePOGBi+mJzKJxoWnstRTGmV+uVSuJC2po/lFKFXrmvu8xvmrsWMZqFHgUuG/EYXmd18BX4gHjuN2vxCXpyBDOJkLyo6K8hKV9Z2jir53Hy9RNffTxJSNY6GVRon2yIljg8j7kxuti5EbX/SMDDO7KwpF6uJzBYo2l3sa+VIGdI5I45T1uyE6CBjTYbinsHBdQwLkFMRC09yQ30sbD0DblxqsWSDcGvDeW265fggmydAaKefVjZ5eCpxBYmFmjcWC36aq4yujhV3ePC5ubcke+kLEpHLv70grcpTtgbsqGJG7K+4vgoGP4MG2wcKAgRZYbkx0M6gcVCDbhsNXEZWGl5WKKOAwbxUApMD6WLFHSjs7Y+FinyCmdwNVSZXbj55ojDQvCtGBhY0sqSrwrk245pQqG44tg2VBKdTrnttAknQzdAuv3oXaA8CHTSPdyxDIbpy0+w9RgaoU9aJ3HXQnMHUbFGteA3bPKQjM7UXQStpN57mDOmIMVZ1tBD6kzOklG0KVJzFa3ukg0A6bsaO+Epj7tUqh6N45byoEPnl1uoXq4itPuvOqpJTU9ymrBSlbNBA31mZAgtJPQ2jaYbmtPizQTGKwiLdjP6TJ7sOoIFxic9+MwXo+klH0YqWjmtL5+75SQoOGGoWnNZSBsAmPcqaNEze067DOgspiW2YMZlJVakmDBwg/3TnX/g3mwMJ6ok4VHck80XqY07r3q6Lt0xrBZ1MFAdywIY63MOcb4h+zG7UcJJC5DSZ1VHXZRIK2AaSaNZRVDSgu1I0mBf1ERj3cW4G8b1VmEpB+Ucun6msxhdypMnrB7uw4M9EEMnRTwA/+lifWWwdLN6zlfRw4Tbzi3hogi6wUKsJOmm1HtwYjQSgI44EiEcP1L6ruguNQreCZ0tQ8ehnAjljbx7JlK2zDNeGYAbvtk6L7tpPgQ147TNu6pPsctvncbAXbh+jRZmaPuVgumYzAeIxdu6GaUhOfvDKxGcKoxf1/j2B644BgtpmVaZtn0pUqdDDS0x6WKU0lop13DvtR1n8Ne16F2j0IDOXIHH/0b/YBPZi9RLe6UnvBjTqxIG8W+3dDN6XmPgJTCwl5eI67Ypa10jdwYfDa0QReluPo8QMV5t0iqXmTeJzsJPBPYZqsVKS7FBde5xJr1Ul3s1jqmoLpbdANFqK9juJBr/0rY6S5sfPb/Y89tGJyg0L4NWOziI/Ae/yCYWWFTVAjzKwv3bjYN3WeUMf8/FAfStml81qdQDipv9ekV9gUvfyZ32N0tomMT3StgNGE3M1A+LkiFS/lg56VYBHXRVns7Ez1Suk7/VfIrDHLHKSUH6uBNUcLvN3KOYOCCxV0PuZbZV8TjFlmHht8zlJjSrZh+ibchN+yzZcUY5i5ggkMxEribkqKcjqKwNiNDBzB8ZxatlLxSNt5o3eHzbZymNEWIKfnyhyYnPSVn/siEexgxveHiXwT8GT3upUiebviuaurCIYoCgUZbG/+apqGD0rU5ALF/ITcmtzI7SrAZfuQHriSasq5WJ/2ha8/JAUl3UhtNNgBmRBhSU+iVqTKZDUdxea+mJWlIpDBch2e9tUqw8AiogJtlNnHWeYhICYPoqZKZJshBDwWxflr1BSpurm5/8uWbr74aKB+//rbQ73wSqh+9tfHL117D+TfeEPbtQJHssSX59Y2Jq+rYNt99ef++0G/A//1zRHvnxdff2si+1H9ag/cOj6t8+PHMHbuBJdc/MbbK4Y/PHpW/+6tPW9917qj+D352eMrv9+8997z79hZ+PyzPNvjw3Af3TPk1ipqYd2t0Lr++dOCHVbr2XjRs8fBLylxn07aZXXsN6pR/IV/t4+uXrGx4+mN1aIqRbSAu7v8PZZ8CSPatO9J+7o46CWt1VdtfTcukZZJvd5ulSYlyZ/bvjRNo2b59mqsdhtQoK3PMToG2Sc1nk6RteVm5/wvl2yGAxWMPX7u51YzS7r95oQfAW88+/IeAj7a8c7jHzEngA8JNQMxHXDn3KYTNImIGna5nnuMhmNLKvnWGyRFL5cHmSkl/XY/6KD0xKBFtuRD0/tI9KAJEPI6FGB84Ju2pUaGRRKNKieioRWeeHjbSUZua3Djq0IBTR0toz+TRiIoMOqaMiM47CeRoBaNCQINhG4KalapcGyoB16k+PGzFGGdHMyc5r2YOthbKLN9qorlT81LCG4JXFJPgXzWAjzXHFXyQ+YpL5U+kAkpqXsT8ynb82mpLH7lws+VXapPZGj5gGo5J2UUjpRWT1avrNlluW3NLYs6Ddsq1kfeGy4lONwNVgDNwFRMHdU96o+5v5nY81y1V+oQz8JdKZQUhTeR9HxvHwGrfCXmU1p/teLPYpr29ZRizIWWtZtlLXup0ga3Qv5kbM+eiEctnj0mTrqwzgtlFPlkxdPJSZTrKOd0sY/cRPMi0LEmm373/WPJSmqi7b6dFeWtC8CHt0iL5hfL+aYb4X8emwvrOFXiz7yjsX+TmPzKTEqlpEwtsbMCEiI/hyK0XnHBCWDbBEBI25AUUucGapGBFKctpihyjFZhjnZhhi5GxE6QVEOUAcpeEocnYzygRfWPuMZLoGmyuY/jBaaDtoTdi19mGTidW3YRF+41ZyxMWo8YOal/0Ktup6AmtKoqcUtQKW8mtKOW2kKeYkJT9IJNNSPGPBDaGRETSXCglEZKA9cUwwSNu8BN7OEQFnuifW22dDiJnsxqg0+J/gJYjEgw1IhPUqihUVKFgqBTaoBAAcsEdGkhIEQUIPnco4RMQ8+6QuXdIdgEGfC/XMxBCyJvjCMKC/bfPsjFbDBu9xezRe5TXJTk7MbmCKZSaHeYHY5VmiTAJ3MSRGYwvKQQFp/CC84Oj+BVqBzf4gYlI/MSzEvUKWijVHfqDWhGzaTovdyanY5ztlG4278AfNQVyEI03lEPay+GUH5rxky9dFDnVf3fKKdTp08HpY90vFm05H1X7jo4SxsqdvaNaYh1eg6V1WKPYGhoWT9Mu/bqk1TIIKIdIVe57qarBrdrp6g==) format('woff2'), url(data:font/woff;base64,d09GRgABAAAAAAYkAA8AAAAAB6wAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAACEAAAAmADcAEkdQT1MAAAF8AAAAhQAAALbY4d2lR1NVQgAAAgQAAAA5AAAAOu2e8oxPUy8yAAACQAAAAE4AAABgc8fDQ1NUQVQAAAKQAAAAQwAAAFpe+EE9Y21hcAAAAtQAAABAAAAAXCHOHuFnYXNwAAADFAAAABAAAAAQABUAI2dseWYAAAMkAAAA6gAAAOqgGcAXaGVhZAAABBAAAAA2AAAANh/S6odoaGVhAAAESAAAAB8AAAAkDfkE3GhtdHgAAARoAAAAIAAAACAdwAJ8bG9jYQAABIgAAAAQAAAAEgCuAH9tYXhwAAAEmAAAABwAAAAgACcA8m5hbWUAAAS0AAABLgAAAnw3WmRlcG9zdAAABeQAAAA9AAAAUqBH+9d42mNgZGBi4GOAAAkgj42BCUgyAzEjUIQDTLMDAAYPAEoAAAB42hzIgQbCYBhA0fNNpSYJCcAPEoBAAJJAQnqBlSm2JRP09Gvm4HIFcntX4+PpfJMev7aWnm1ZSa/y3kp18X1LRtB1MoSsKdrKqqmaygIhEMhsTHpLIUe49MLBXBiJ7DPZmSFMh2Po1lr4TwamimUJ6zawqWwgU0EkkzNLMFiEHQAVexMvAAAAeNpjYGRgYOBisABCVhc3nxAGleTKohwGhfSi1GwGhYzUpCIGhZzEkjwGBQYQYAER//+DSAAw7gsEAAAAeNpjYGE5zhTBwMrAwGrMcpaBgWEWhGY6y2DENIkBCTgwMDAj8939/d0ZDzAwyN/j6P27goGB4x9TNwMD43yQHIsH6zYgpcDAAgCJGw41AAB42gXBsQEBQBQFsLx/oIUGmMBASgDQgfUlIgYaJhrW6nd8XxN+l+s75PbePbNQekZWgsrMERHSrQ2aUlmC8Ad24QbRAHjaY2BgYAJiZiAWAZKMYJqFwQNI8zFwAOXYgCxeBgWGBfK+8vf+/wfyUPmM/7/+f/w/9cHOB5pA3SgAACTeEOIAAQADAAgACgANAAf//wAPAAIAev/sBdIFzQARACAAAAEUAgYEIyIkJgI1NBIkMzIEEgUUFhYzMjY2NRACIyIGBgXSVar/AKyv/v+pVJUBMenkAS6X+6Rcv5aXvlrN4JbBXALdqf7rx2xsyAEWqeIBUbu6/q/lqfeFhfepAQEBI4T1//8AAf/sB08FzQAnAAQBfQAAAAcAB/7B/5gAAgFABMoDmAYyAAoAHAAAATU2NjczFQ4CBwcmJjU0NjMyFhUUDgIHFBYXAmAUNBDgFEJNJZ54ekA3MD0PGycYOj0E3Bk5qUgVK2prLhIHfmA6STAwFyMZDAEjMQYAAAAAAQAAAAMAxRYF1lxfDzz1AAsIAAAAAADZzML3AAAAAOF726n7VP2+ChUIaQAAAAYAAgAAAAAAAHjaY2BkYODo/buCgYFL6nfIX0EuUaAIKuAAAH89BOUABM0AwQAAAAACFAAAAhQAAAZMAHoCFAAAB8kAAQSiAUB42mNAAEsgdGMoBQAEBQEueNpjYGRgYOBgmMggxhDPwArmIQAzAyMAGX8BGnjahZBDcoVBGEVPbExi27Ztexo773+M15INBOMsKxsIbnV1rGqdz9UXiOeOEIJCo4CboHzLQRTyZDlYOQ+WQ2jl3nLoh5ww0rmyHE4+l5bjaWQUw0EQS6flIKKptxxGIvmW05WTbDlTHG05SwTzOByxhosx/HoP2WODaRy8xn/IAluiPfpxZG2yIt5U7q5oS7wj8qOj5aadGi0fG3jZk+0XV+MTH+pVV3YUn2GYSd1utjR5wcz3UfVt1rJsr6l2lJFLA9XUajV8oA5GmNEaEf3fcV72DgHxGt63/Ny3itxvFQN63ZzhfftrLvWarCNalGeL3B87zeLFYV/+DVPVR8AoJRVMvPRNNZ/VbYc9kxFgnWpVORwZr6O1wyFbbBslpKr8jp3psxPLXgCUflz/AAB42mNgYgCD/3MYjBiwAQ4GBkYmRmYGZgYjRhZGVkY2Fr9QHx8m5yD20rxMAwNHAxBt6GbiAqFdXAEZUwq1AAAA) format('woff');
  unicode-range: U+1F00-1FFF;
}

/* open-sans-greek-600-normal */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/open-sans-greek-600-normal-CkCBI2Km.woff2) format('woff2'), url(/assets/open-sans-greek-600-normal-Xt_394w2.woff) format('woff');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}

/* open-sans-hebrew-600-normal */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/open-sans-hebrew-600-normal-CQztwT7q.woff2) format('woff2'), url(/assets/open-sans-hebrew-600-normal-D7z6DfF6.woff) format('woff');
  unicode-range: U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F;
}

/* open-sans-math-600-normal */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/open-sans-math-600-normal-DQ8cZjrd.woff2) format('woff2'), url(/assets/open-sans-math-600-normal-CWMKYWAo.woff) format('woff');
  unicode-range: U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF;
}

/* open-sans-symbols-600-normal */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/open-sans-symbols-600-normal-DgwZOEXg.woff2) format('woff2'), url(/assets/open-sans-symbols-600-normal-BiWokiHG.woff) format('woff');
  unicode-range: U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF;
}

/* open-sans-vietnamese-600-normal */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/open-sans-vietnamese-600-normal-cWHhjaNO.woff2) format('woff2'), url(/assets/open-sans-vietnamese-600-normal-CVI-Ycr6.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;
}

/* open-sans-latin-ext-600-normal */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/open-sans-latin-ext-600-normal-CXDaa6Q7.woff2) format('woff2'), url(/assets/open-sans-latin-ext-600-normal-YZ6Vktkr.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;
}

/* open-sans-latin-600-normal */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/open-sans-latin-600-normal-Cp4N6AwT.woff2) format('woff2'), url(/assets/open-sans-latin-600-normal-C3dWW5mx.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 {
  font-family: "Open Sans", "Segoe UI", system-ui, -apple-system, sans-serif;
  line-height: 1.5;
  font-weight: 400;
  color: #0b1f33;
  background-color: #ffffff;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  --trust-blue: #003b73;
  --medical-white: #ffffff;
  --heritage-gold: #c4942c;
  --soft-saffron: #ff9933;
  --himalayan-green: #2e7d32;
  --ink: #0b1f33;
  --mist: #f2f5f8;
  --card-shadow: 0 24px 80px rgba(0, 59, 115, 0.18);
  --outline: rgba(0, 59, 115, 0.18);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  min-height: 100vh;
  background: radial-gradient(
      circle at 12% 20%,
      rgba(255, 153, 51, 0.24),
      transparent 45%
    ),
    radial-gradient(
      circle at 78% 18%,
      rgba(196, 148, 44, 0.22),
      transparent 42%
    ),
    radial-gradient(
      circle at 80% 88%,
      rgba(46, 125, 50, 0.18),
      transparent 45%
    ),
    linear-gradient(160deg, #f9fbff 0%, #eef3f7 65%, #ffffff 100%);
  color: var(--ink);
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  max-width: 100%;
  display: block;
}

#root {
  min-height: 100vh;
}
.app {
  padding: 32px 6vw 64px;
}

.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 32px;
}

.brand {
  display: flex;
  align-items: center;
  gap: 14px;
}

.brand img {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--medical-white);
  box-shadow: 0 10px 20px rgba(0, 59, 115, 0.15);
}

.brand-label {
  font-family: "Montserrat", "Open Sans", sans-serif;
  font-weight: 700;
  letter-spacing: 0.4px;
  margin: 0;
}

.brand-sub {
  margin: 0;
  font-size: 0.92rem;
  color: rgba(11, 31, 51, 0.7);
}

.status-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: 999px;
  background: rgba(46, 125, 50, 0.12);
  color: var(--himalayan-green);
  font-weight: 600;
}

.status-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--himalayan-green);
  box-shadow: 0 0 0 6px rgba(46, 125, 50, 0.15);
  animation: pulse 2.2s infinite;
}

.main {
  display: flex;
  flex-direction: column;
  gap: 56px;
}

.banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 24px;
  border-radius: 20px;
  background: linear-gradient(
      120deg,
      rgba(255, 153, 51, 0.18),
      rgba(196, 148, 44, 0.12)
    ),
    #ffffff;
  border: 1px solid rgba(196, 148, 44, 0.25);
  box-shadow: 0 18px 40px rgba(0, 59, 115, 0.12);
}

.banner-title {
  margin: 0;
  font-weight: 700;
  font-family: "Montserrat", "Open Sans", sans-serif;
  color: var(--trust-blue);
}

.banner-text {
  margin: 6px 0 0;
  color: rgba(11, 31, 51, 0.7);
}

.progress {
  margin-top: 12px;
  height: 8px;
  border-radius: 999px;
  background: rgba(0, 59, 115, 0.12);
  overflow: hidden;
}

.progress span {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, #003b73, #0a4f93);
  transition: width 0.2s ease;
}

.hero {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
  gap: 28px;
}

.hero-card {
  background: var(--medical-white);
  padding: 36px;
  border-radius: 28px;
  box-shadow: var(--card-shadow);
  border: 1px solid rgba(0, 59, 115, 0.08);
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.hero-kicker {
  text-transform: uppercase;
  font-size: 0.8rem;
  letter-spacing: 1.6px;
  color: var(--heritage-gold);
  margin: 0 0 8px;
  font-weight: 700;
}

.hero-text h1 {
  font-family: "Montserrat", "Open Sans", sans-serif;
  font-size: clamp(2rem, 3.5vw, 3rem);
  line-height: 1.1;
  margin: 0 0 12px;
  color: var(--trust-blue);
}

.hero-body {
  margin: 0;
  font-size: 1.05rem;
  color: rgba(11, 31, 51, 0.75);
  max-width: 48ch;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.btn {
  border: none;
  padding: 12px 22px;
  border-radius: 999px;
  font-weight: 600;
  font-size: 1rem;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  font-family: "Montserrat", "Open Sans", sans-serif;
}

.btn.primary {
  background: linear-gradient(135deg, var(--trust-blue), #0a4f93);
  color: var(--medical-white);
  box-shadow: 0 12px 24px rgba(0, 59, 115, 0.28);
}

.btn.ghost {
  background: transparent;
  border: 1px solid var(--outline);
  color: var(--trust-blue);
}

.btn.soft {
  background: rgba(255, 153, 51, 0.16);
  color: #b05a05;
}

.btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 18px rgba(0, 59, 115, 0.18);
}

.btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  box-shadow: none;
  transform: none;
}

.hero-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 16px;
  border-top: 1px solid rgba(0, 59, 115, 0.1);
  padding-top: 16px;
}

.metric-label {
  margin: 0;
  font-size: 0.85rem;
  color: rgba(11, 31, 51, 0.6);
  text-transform: uppercase;
  letter-spacing: 1px;
}

.metric-value {
  margin: 6px 0 0;
  font-weight: 600;
  color: var(--trust-blue);
}

.hero-panel {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.panel-card {
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(8px);
  border-radius: 24px;
  padding: 24px;
  border: 1px solid rgba(0, 59, 115, 0.1);
  box-shadow: 0 20px 50px rgba(0, 59, 115, 0.12);
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.device-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.panel-card.accent {
  background: linear-gradient(
      130deg,
      rgba(196, 148, 44, 0.22),
      rgba(255, 153, 51, 0.18)
    ),
    #ffffff;
}

.panel-card h2 {
  font-family: "Montserrat", "Open Sans", sans-serif;
  margin: 0;
  color: var(--trust-blue);
}

.checklist {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
}

.checklist li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(11, 31, 51, 0.75);
}

.check-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--soft-saffron);
  box-shadow: 0 0 0 6px rgba(255, 153, 51, 0.18);
}

.pace {
  display: grid;
  gap: 12px;
}

.panel-note {
  margin: 0;
  color: rgba(11, 31, 51, 0.7);
}

.flow h2 {
  font-family: "Montserrat", "Open Sans", sans-serif;
  color: var(--trust-blue);
  margin-bottom: 18px;
}

.flow-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 18px;
}

.flow-card {
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(0, 59, 115, 0.08);
  border-radius: 18px;
  padding: 20px;
  box-shadow: 0 18px 40px rgba(0, 59, 115, 0.12);
  display: grid;
  gap: 10px;
}

.flow-card span {
  width: 36px;
  height: 36px;
  border-radius: 12px;
  background: rgba(0, 59, 115, 0.12);
  color: var(--trust-blue);
  display: grid;
  place-items: center;
  font-weight: 700;
}

.flow-card h3 {
  margin: 0;
  font-family: "Montserrat", "Open Sans", sans-serif;
}

.flow-card p {
  margin: 0;
  color: rgba(11, 31, 51, 0.7);
}

.checkin-card {
  background: rgba(255, 255, 255, 0.94);
  border-radius: 28px;
  padding: 32px;
  border: 1px solid rgba(0, 59, 115, 0.08);
  box-shadow: var(--card-shadow);
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.admin {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.admin-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.admin-tabs {
  display: inline-flex;
  gap: 8px;
  padding: 6px;
  border-radius: 999px;
  background: rgba(0, 59, 115, 0.08);
}

.admin-tabs button {
  border: none;
  padding: 8px 16px;
  border-radius: 999px;
  background: transparent;
  font-weight: 600;
  cursor: pointer;
  font-family: "Montserrat", "Open Sans", sans-serif;
  color: var(--trust-blue);
}

.admin-tabs button.active {
  background: var(--trust-blue);
  color: var(--medical-white);
}

.admin-notice {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
  border-radius: 16px;
  border: 1px solid rgba(255, 153, 51, 0.4);
  background: rgba(255, 153, 51, 0.12);
}

.checkin {
  display: flex;
}

.checkin-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
}

.checkin-header h2 {
  font-family: "Montserrat", "Open Sans", sans-serif;
  color: var(--trust-blue);
  margin: 6px 0 8px;
}

.checkin-sub {
  margin: 0;
  color: rgba(11, 31, 51, 0.7);
  max-width: 52ch;
}

.checkin-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.mode-toggle {
  display: inline-flex;
  border-radius: 999px;
  background: rgba(0, 59, 115, 0.08);
  padding: 4px;
  gap: 4px;
}

.mode-toggle button {
  border: none;
  padding: 8px 16px;
  border-radius: 999px;
  background: transparent;
  font-weight: 600;
  cursor: pointer;
  font-family: "Montserrat", "Open Sans", sans-serif;
  color: var(--trust-blue);
}

.mode-toggle button.active {
  background: var(--trust-blue);
  color: var(--medical-white);
}

.checkin-body {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: 24px;
}

.camera-shell {
  position: relative;
  background: #0b1f33;
  border-radius: 24px;
  overflow: hidden;
  min-height: 280px;
  display: grid;
  place-items: center;
}

.camera-shell video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.camera-placeholder {
  text-align: center;
  color: rgba(255, 255, 255, 0.8);
}

.camera-placeholder p {
  margin: 0 0 6px;
  font-weight: 600;
  letter-spacing: 0.5px;
}

.camera-placeholder span {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.6);
}

.camera-overlay {
  position: absolute;
  inset: 18px;
  pointer-events: none;
}

.corner {
  position: absolute;
  width: 34px;
  height: 34px;
  border: 3px solid rgba(255, 255, 255, 0.7);
}

.corner.tl {
  top: 0;
  left: 0;
  border-right: none;
  border-bottom: none;
}

.corner.tr {
  top: 0;
  right: 0;
  border-left: none;
  border-bottom: none;
}

.corner.bl {
  bottom: 0;
  left: 0;
  border-right: none;
  border-top: none;
}

.corner.br {
  bottom: 0;
  right: 0;
  border-left: none;
  border-top: none;
}

.liveness-panel {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.liveness-panel h3 {
  margin: 0;
  font-family: "Montserrat", "Open Sans", sans-serif;
  color: var(--trust-blue);
}

.muted {
  margin: 0;
  color: rgba(11, 31, 51, 0.6);
}

.error {
  margin: 0;
  color: #b00020;
  font-weight: 600;
}

.challenge-card {
  padding: 16px;
  border-radius: 16px;
  border: 1px solid rgba(0, 59, 115, 0.1);
  background: rgba(0, 59, 115, 0.04);
  display: grid;
  gap: 10px;
}

.challenge-title {
  margin: 0;
  font-size: 1.4rem;
  font-family: "Montserrat", "Open Sans", sans-serif;
  color: var(--trust-blue);
}

.challenge-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.challenge-result {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 600;
  color: var(--himalayan-green);
}

.recognition-panel {
  display: grid;
  gap: 10px;
}

.recognition-panel .btn.active {
  box-shadow: inset 0 0 0 1px rgba(0, 59, 115, 0.35);
}

.auth-card {
  margin-top: 16px;
  padding: 16px;
  border-radius: 16px;
  border: 1px solid rgba(0, 59, 115, 0.12);
  background: rgba(0, 59, 115, 0.03);
}

.auth-fields {
  display: grid;
  gap: 10px;
  margin-top: 8px;
}

.recognition-result {
  margin: 0;
  font-weight: 700;
  color: var(--trust-blue);
}

.tracking-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  color: var(--trust-blue);
}

.location-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  color: var(--trust-blue);
}

.enroll-card {
  background: rgba(255, 255, 255, 0.95);
  border-radius: 28px;
  padding: 32px;
  border: 1px solid rgba(0, 59, 115, 0.08);
  box-shadow: var(--card-shadow);
  display: grid;
  gap: 20px;
}

.enroll-card h2 {
  margin: 6px 0 8px;
  font-family: "Montserrat", "Open Sans", sans-serif;
  color: var(--trust-blue);
}

.enroll-form {
  display: grid;
  gap: 16px;
  max-width: 420px;
}

.enroll-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.sample-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.sample-strip img {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: 12px;
  border: 1px solid rgba(0, 59, 115, 0.15);
}

.calibration-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 16px;
}

.calibration-readout {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 16px;
  padding: 16px;
  border-radius: 16px;
  background: rgba(0, 59, 115, 0.04);
  border: 1px solid rgba(0, 59, 115, 0.1);
}

.calibration-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.calibration-header h2 {
  margin: 0;
}

.calibration-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.calibration-toggles {
  margin-top: 16px;
  padding: 12px 16px;
  border-radius: 16px;
  background: rgba(0, 59, 115, 0.03);
  border: 1px dashed rgba(0, 59, 115, 0.15);
}

.calibration-status {
  margin-top: 10px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  padding: 12px 16px;
  border-radius: 14px;
  background: rgba(0, 59, 115, 0.05);
  border: 1px solid rgba(0, 59, 115, 0.12);
}

.toggle-row {
  margin-top: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.92rem;
  font-weight: 600;
  color: #1b2f45;
}

.guided-status {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 6px 10px;
  border-radius: 10px;
  background: rgba(0, 59, 115, 0.05);
  font-size: 0.85rem;
  color: #1b2f45;
}

.toggle input {
  width: 16px;
  height: 16px;
}

.calibration-event {
  padding: 10px 14px;
  border-radius: 12px;
  background: rgba(46, 125, 50, 0.12);
  color: var(--himalayan-green);
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.calibration-event .timer {
  font-size: 0.85rem;
  color: rgba(46, 125, 50, 0.8);
}

.badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 600;
}

.badge.warning {
  background: rgba(255, 153, 51, 0.18);
  color: #a35600;
}

.roster-map {
  display: grid;
  gap: 8px;
}

.roster-map svg {
  width: 100%;
  border-radius: 16px;
  border: 1px solid rgba(0, 59, 115, 0.1);
  background: rgba(0, 59, 115, 0.04);
}

.roster-map rect {
  fill: transparent;
}

.roster-map .dot {
  fill: #003b73;
  stroke: rgba(255, 255, 255, 0.8);
  stroke-width: 0.4;
  cursor: pointer;
}

.roster-map .dot.selected {
  fill: #c4942c;
}

.roster-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
}

.roster-card {
  padding: 16px;
  border-radius: 16px;
  border: 1px solid rgba(0, 59, 115, 0.1);
  background: rgba(255, 255, 255, 0.9);
  display: grid;
  gap: 10px;
}

.roster-card.selected {
  border-color: rgba(0, 59, 115, 0.5);
  box-shadow: 0 14px 30px rgba(0, 59, 115, 0.18);
}

.roster-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.guided-row {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(0, 59, 115, 0.12);
  background: rgba(0, 59, 115, 0.04);
}

.guided-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.field {
  display: grid;
  gap: 8px;
  font-weight: 600;
  color: var(--trust-blue);
}

.field-value {
  margin-left: 8px;
  font-weight: 700;
  color: rgba(0, 59, 115, 0.7);
}

.field input {
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(0, 59, 115, 0.2);
  font-size: 1rem;
  font-family: "Open Sans", sans-serif;
}

.field input:focus {
  outline: 2px solid rgba(0, 59, 115, 0.3);
  border-color: rgba(0, 59, 115, 0.5);
}

.checkbox-row {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: center;
}

.checkbox-row label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  color: rgba(0, 59, 115, 0.85);
}

.checkbox-row input {
  width: 18px;
  height: 18px;
}

@keyframes pulse {
  0% {
    transform: scale(1);
  }
  70% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
  }
}


@media (max-width: 900px) {
  .hero {
    grid-template-columns: 1fr;
  }

  .topbar {
    flex-direction: column;
    align-items: flex-start;
  }

  .checkin-header {
    flex-direction: column;
  }

  .checkin-body {
    grid-template-columns: 1fr;
  }

  .admin-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .admin-tabs {
    width: 100%;
    justify-content: space-between;
  }
}

@media (max-width: 600px) {
  .app {
    padding: 24px 5vw 48px;
  }

  .hero-card {
    padding: 28px;
  }

  .hero-actions {
    flex-direction: column;
  }
}
