@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-cyrillic-ext-400-normal-BwJdxs7r.woff2) format("woff2"),url(/assets/source-sans-3-cyrillic-ext-400-normal-Cd63HKDh.woff) 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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-cyrillic-400-normal-DjhbW-4D.woff2) format("woff2"),url(/assets/source-sans-3-cyrillic-400-normal-7kQcAFpS.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-greek-ext-400-normal-CpIwTHMM.woff2) format("woff2"),url(/assets/source-sans-3-greek-ext-400-normal-BI1kUwmR.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-greek-400-normal-DZReXJla.woff2) format("woff2"),url(/assets/source-sans-3-greek-400-normal-DJm9Ud5h.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-vietnamese-400-normal-CwtaIDr2.woff2) format("woff2"),url(/assets/source-sans-3-vietnamese-400-normal-dYp9C364.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-latin-ext-400-normal-UNsKFIBq.woff2) format("woff2"),url(/assets/source-sans-3-latin-ext-400-normal-BGPHfnm_.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-latin-400-normal-DQi5PRDE.woff2) format("woff2"),url(/assets/source-sans-3-latin-400-normal-AFMiCETP.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/source-sans-3-cyrillic-ext-500-normal-D8Dd5jAI.woff2) format("woff2"),url(/assets/source-sans-3-cyrillic-ext-500-normal-CaAUUz-j.woff) 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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/source-sans-3-cyrillic-500-normal-BmnPaoCF.woff2) format("woff2"),url(/assets/source-sans-3-cyrillic-500-normal-B7bCyCk_.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/source-sans-3-greek-ext-500-normal-9wgnofA_.woff2) format("woff2"),url(/assets/source-sans-3-greek-ext-500-normal-FO4an0ZF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/source-sans-3-greek-500-normal-eLQqTu5G.woff2) format("woff2"),url(/assets/source-sans-3-greek-500-normal-BOY5JFvG.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/source-sans-3-vietnamese-500-normal-BSXhk166.woff2) format("woff2"),url(/assets/source-sans-3-vietnamese-500-normal-7g9Z1MMl.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/source-sans-3-latin-ext-500-normal-tzH6xoxH.woff2) format("woff2"),url(/assets/source-sans-3-latin-ext-500-normal-DYiJOyLu.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/source-sans-3-latin-500-normal-DiWS0tcR.woff2) format("woff2"),url(/assets/source-sans-3-latin-500-normal-BtDzq-z9.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-cyrillic-ext-600-normal-6AhwUnSr.woff2) format("woff2"),url(/assets/source-sans-3-cyrillic-ext-600-normal-uAL1a5gb.woff) 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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-cyrillic-600-normal-BnFu5nHC.woff2) format("woff2"),url(/assets/source-sans-3-cyrillic-600-normal-y-RO8wOd.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-greek-ext-600-normal-DynePNDL.woff2) format("woff2"),url(/assets/source-sans-3-greek-ext-600-normal-D7vJ4nVX.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-greek-600-normal-BSO157bq.woff2) format("woff2"),url(/assets/source-sans-3-greek-600-normal-BNF9LBpG.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-vietnamese-600-normal-B2sTNYey.woff2) format("woff2"),url(/assets/source-sans-3-vietnamese-600-normal-DpSexF-T.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-latin-ext-600-normal-AEyhgUpm.woff2) format("woff2"),url(/assets/source-sans-3-latin-ext-600-normal-Wy7HIzqC.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-latin-600-normal-DeckBYAU.woff2) format("woff2"),url(/assets/source-sans-3-latin-600-normal-BvDVuF-j.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-cyrillic-ext-700-normal-BhUSqjb8.woff2) format("woff2"),url(/assets/source-sans-3-cyrillic-ext-700-normal-B6RPsSdD.woff) 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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-cyrillic-700-normal-CIuudVLB.woff2) format("woff2"),url(/assets/source-sans-3-cyrillic-700-normal-DYE6gq6k.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-greek-ext-700-normal-Dd6uIcuy.woff2) format("woff2"),url(/assets/source-sans-3-greek-ext-700-normal-C6ITAlBU.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-greek-700-normal-C8Tp2qRF.woff2) format("woff2"),url(/assets/source-sans-3-greek-700-normal-BWdBblwd.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-vietnamese-700-normal-Bgamivog.woff2) format("woff2"),url(/assets/source-sans-3-vietnamese-700-normal-BHxM10oo.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-latin-ext-700-normal-6Xi0A2be.woff2) format("woff2"),url(/assets/source-sans-3-latin-ext-700-normal-ChH_v7nA.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-latin-700-normal-CkzU-mV9.woff2) format("woff2"),url(/assets/source-sans-3-latin-700-normal-BBbVrHF_.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: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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+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: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+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: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+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: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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+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: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+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: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+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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff) 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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.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}/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:"Source Sans 3", "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", "Cascadia Mono", Consolas, monospace;--color-yellow-500:#f5c84b;--color-blue-100:#e8f1f8;--color-blue-700:#1f5c91;--color-blue-900:#123b63;--color-gray-50:#f6f8f9;--color-gray-100:#edf1f3;--color-gray-200:#dce3e8;--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:#9aa7b2;--color-gray-600:#63717d;--color-gray-700:#3e4c59;--color-gray-900:#17212b;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-widest:.1em;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-success:#26734a;--color-success-bg:#e7f3eb;--color-danger:#b44343;--color-danger-bg:#fbecec;--color-warning:#9a6400;--color-warning-bg:#fff4d5;--color-neutral:#63717d;--color-neutral-bg:#edf1f3;--radius-control:.5rem;--radius-card:.75rem;--shadow-card:0 1px 2px #17212b0d, 0 8px 24px #17212b09}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{top:0;right:0;bottom:0;left:0}.top-1\/2{top:50%}.left-3{left:calc(var(--spacing) * 3)}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.-mt-0\.5{margin-top:calc(var(--spacing) * -.5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.ml-2{margin-left:calc(var(--spacing) * 2)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-4{height:calc(var(--spacing) * 4)}.h-48{height:calc(var(--spacing) * 48)}.h-72{height:calc(var(--spacing) * 72)}.h-\[65vh\]{height:65vh}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-\[65vh\]{max-height:65vh}.min-h-screen{min-height:100vh}.w-4{width:calc(var(--spacing) * 4)}.w-48{width:calc(var(--spacing) * 48)}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-\[200px\]{max-width:200px}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.flex-1{flex:1}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.object-contain{object-fit:contain}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-12{padding:calc(var(--spacing) * 12)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-12{padding-block:calc(var(--spacing) * 12)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.whitespace-nowrap{white-space:nowrap}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.file\:mr-4::file-selector-button{margin-right:calc(var(--spacing) * 4)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-\[var\(--color-yellow-500\)\]::file-selector-button{background-color:var(--color-yellow-500)}.file\:px-4::file-selector-button{padding-inline:calc(var(--spacing) * 4)}.file\:py-2::file-selector-button{padding-block:calc(var(--spacing) * 2)}.file\:font-semibold::file-selector-button{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}@media(hover:hover){.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:file\:brightness-95:hover::file-selector-button{--tw-brightness:brightness(95%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}@media(min-width:40rem){.sm\:flex-row{flex-direction:row}}@media(min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:w-auto{width:auto}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:items-end{align-items:flex-end}.md\:justify-between{justify-content:space-between}.md\:p-8{padding:calc(var(--spacing) * 8)}}@media(min-width:64rem){.lg\:grid-cols-\[360px_minmax\(0\,1fr\)\]{grid-template-columns:360px minmax(0,1fr)}}@media(min-width:80rem){.xl\:col-span-2{grid-column:span 2/span 2}.xl\:col-span-3{grid-column:span 3/span 3}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-\[360px_minmax\(0\,1fr\)\]{grid-template-columns:360px minmax(0,1fr)}}@media print{.print\:hidden{display:none}}}html{font-family:var(--font-sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-size:18px}body{background:var(--color-gray-50);color:var(--color-gray-900);font-family:var(--font-sans);margin:0;font-size:1rem;line-height:1.5}button,input,select,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{letter-spacing:-.02em}em{font-style:normal}.app-shell{background:var(--color-gray-50);flex-direction:column;min-height:100vh;display:flex}.app-header{background:var(--color-blue-900);color:#fff;z-index:20;align-items:center;height:56px;padding:0 1.5rem;display:flex;position:sticky;top:0;box-shadow:0 1px #00000014}.app-header-inner{justify-content:space-between;align-items:center;gap:1rem;width:100%;max-width:80rem;margin:0 auto;display:flex}.btn-header-login{color:#fff;white-space:nowrap;background:#ffffff1a;border-color:#ffffff59}.btn-header-login:hover:not(:disabled){color:var(--color-blue-900);background:var(--color-yellow-500);border-color:var(--color-yellow-500)}.btn-header-login:focus-visible{outline:2px solid var(--color-yellow-500);outline-offset:2px}.app-header-brand{align-items:center;gap:.75rem;display:flex}.app-header-shield{background:var(--color-yellow-500);width:32px;height:32px;color:var(--color-blue-900);border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;font-size:.95rem;font-weight:800;display:flex}.app-header-title{letter-spacing:.04em;text-transform:uppercase;font-size:1rem;font-weight:700}.app-header-subtitle{letter-spacing:.18em;text-transform:uppercase;color:#ffffffb3;margin-top:1px;font-size:.78rem;font-weight:500;display:block}.app-header-spacer{flex:1}.app-header-nav{align-items:center;gap:.25rem;margin:0 1rem;display:flex}.app-header-nav-item{color:#ffffffbf;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.9rem;font-weight:500;transition:background .12s,color .12s;display:inline-flex}.app-header-nav-item:hover{color:#fff;background:#ffffff1a}.app-header-nav-item-active{color:#fff;background:#ffffff26;font-weight:600}.app-header-user{align-items:center;gap:.75rem;font-size:.875rem;display:flex}.app-header-user-name{font-weight:600}.app-header-logout{color:#fff;background:#ffffff1a;border-radius:6px;padding:.4rem .85rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .12s}.app-header-logout:hover{background:#fff3}.app-header-logout:focus-visible{outline:2px solid var(--color-yellow-500);outline-offset:2px}.app-main{flex:1;padding:2rem 1.5rem}.app-main-inner{max-width:80rem;margin:0 auto}.app-page-heading{margin-bottom:2rem}.app-page-heading .eyebrow{margin-bottom:.5rem}.app-page-title{color:var(--color-blue-900);margin:0;font-size:clamp(1.5rem,2vw,1.875rem);font-weight:700}.app-footer{border-top:1px solid var(--color-gray-200);text-align:center;color:var(--color-gray-600);background:#fff;padding:1rem 1.5rem;font-size:.875rem}.public-shell{background:var(--color-gray-50);flex-direction:column;min-height:100vh;display:flex}.public-header{background:var(--color-blue-900);color:#fff;align-items:center;height:56px;padding:0 1.5rem;display:flex}.card{border:1px solid var(--color-gray-200);background:#fff;border-radius:8px;box-shadow:0 1px 2px #0f172a0a}.card-padded{padding:1.5rem}.input{border:1px solid var(--color-gray-200);width:100%;min-height:2.75rem;color:var(--color-gray-900);background:#fff;border-radius:6px;padding:.6rem .8rem;font-size:1rem;transition:border-color .12s,box-shadow .12s}.input::placeholder{color:var(--color-gray-400)}.input:focus{border-color:var(--color-yellow-500);outline:none;box-shadow:0 0 0 3px #ffcc0073}.input:disabled{background:var(--color-gray-100);cursor:not-allowed}.input-error{border-color:var(--color-danger)}.input-error:focus{box-shadow:0 0 0 3px #b43a3a40}select.input{padding-right:2rem}.btn{cursor:pointer;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:.4rem;padding:.55rem 1rem;font-size:.85rem;font-weight:600;line-height:1;text-decoration:none;transition:background .12s,border-color .12s,color .12s,box-shadow .12s;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--color-yellow-500);outline-offset:2px}.btn-block{width:100%}.badge{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:9999px;align-items:center;gap:.3rem;padding:.2rem .6rem;font-size:.8rem;font-weight:700;line-height:1.2;display:inline-flex}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge-neutral{background:var(--color-neutral-bg);color:var(--color-neutral)}.badge-info{background:var(--color-blue-100);color:var(--color-blue-900)}.badge-accent{background:var(--color-yellow-500);color:var(--color-blue-900)}.role-badge{color:var(--color-blue-900);letter-spacing:.12em;text-transform:uppercase;background:#ffcc00f2;border-radius:4px;align-items:center;padding:.15rem .55rem;font-size:.75rem;font-weight:800;display:inline-flex}.table{border-collapse:separate;border-spacing:0;width:100%;font-size:.95rem}.table thead th{text-align:left;letter-spacing:.1em;text-transform:uppercase;color:var(--color-gray-600);background:var(--color-gray-50);border-bottom:1px solid var(--color-gray-200);padding:.75rem 1rem;font-size:.8rem;font-weight:600}.table tbody td{border-bottom:1px solid var(--color-gray-200);vertical-align:middle;color:var(--color-gray-900);padding:.85rem 1rem}.table tbody tr:hover{background:var(--color-gray-50)}.table tbody tr:last-child td{border-bottom:0}.tabs{border-bottom:1px solid var(--color-gray-200);gap:.25rem;margin-bottom:1.5rem;display:flex;overflow-x:auto}.tab-item{color:var(--color-gray-600);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.65rem 1rem;font-size:.95rem;font-weight:500;transition:color .12s,border-color .12s}.tab-item:hover{color:var(--color-blue-900)}.tab-item:focus-visible{outline:2px solid var(--color-yellow-500);outline-offset:2px}.tab-item-active{color:var(--color-blue-900);border-bottom-color:var(--color-yellow-500);font-weight:600}.eyebrow{font-family:var(--font-sans);letter-spacing:.15em;text-transform:uppercase;color:var(--color-gray-600);font-size:.8rem;font-weight:700}.eyebrow-blue{color:var(--color-blue-900)}.stat-num{font-family:var(--font-sans);color:var(--color-blue-900);font-size:2rem;font-weight:800;line-height:1}.divider{background:var(--color-gray-200);border:0;height:1px;margin:1rem 0}.access-result{font-family:var(--font-sans);letter-spacing:.04em;text-align:center;font-size:4.5rem;font-weight:800;line-height:1}.access-result-success{color:var(--color-success)}.access-result-danger{color:var(--color-danger)}.access-result-info{color:var(--color-blue-900)}.badge-permit{background:var(--color-success-bg);color:var(--color-success)}.badge-block{background:var(--color-danger-bg);color:var(--color-danger)}.badge-yellow{background:var(--color-warning-bg);color:var(--color-warning)}.access-result-info-permit{color:var(--color-success)}.access-result-info-danger{color:var(--color-danger)}.tab-strip{border-bottom:1px solid var(--color-gray-200);gap:.25rem;margin-bottom:1.5rem;display:flex;overflow-x:auto}.offline-banner{background:var(--color-danger);color:#fff;text-align:center;letter-spacing:.05em;padding:.5rem 1rem;font-size:.875rem;font-weight:600}:focus-visible{outline:2px solid var(--color-yellow-500);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media print{@page{size:90mm 54mm;margin:0}html,body{background:#fff!important;margin:0!important;padding:0!important}body *{visibility:hidden}.credential-label,.credential-label *{visibility:visible}.credential-label{box-sizing:border-box;page-break-inside:avoid;break-inside:avoid;width:90mm;height:54mm;margin:0;padding:2mm;position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;box-shadow:none!important}}.btn-primary,.btn-secondary,.btn-accent,.btn-danger,.btn-success,.btn-ghost{border-radius:var(--radius-control);min-height:2.5rem;font:600 .9375rem/1.1 var(--font-sans);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.45rem;padding:.625rem 1rem;text-decoration:none;transition:background-color .14s,border-color .14s,color .14s,box-shadow .14s;display:inline-flex}.btn-primary{background:var(--color-blue-900);color:#fff;border-color:var(--color-blue-900)}.btn-primary:hover:not(:disabled){background:var(--color-blue-700);border-color:var(--color-blue-700)}.btn-secondary{color:var(--color-gray-900);border-color:var(--color-gray-200);background:#fff}.btn-secondary:hover:not(:disabled){background:var(--color-gray-50);border-color:var(--color-gray-400)}.btn-accent{background:var(--color-yellow-500);color:var(--color-blue-900);border-color:var(--color-yellow-500)}.btn-accent:hover:not(:disabled){background:#e7b839;border-color:#e7b839}.btn-danger{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.btn-danger:hover:not(:disabled){background:#963636;border-color:#963636}.btn-success{background:var(--color-success);color:#fff;border-color:var(--color-success)}.btn-success:hover:not(:disabled){background:#1d5b3a;border-color:#1d5b3a}.btn-ghost{color:var(--color-gray-700);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--color-gray-100);color:var(--color-gray-900)}.btn-primary:disabled,.btn-secondary:disabled,.btn-accent:disabled,.btn-danger:disabled,.btn-success:disabled,.btn-ghost:disabled{opacity:.55;cursor:not-allowed}.ui-button{border-radius:var(--radius-control);min-height:2.5rem;font:600 .9375rem/1.1 var(--font-sans);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.45rem;padding:.625rem 1rem;transition:background-color .14s,border-color .14s,color .14s,box-shadow .14s;display:inline-flex}.ui-button-sm{min-height:2.25rem;padding:.5rem .75rem;font-size:.875rem}.ui-button-lg{min-height:2.75rem;padding:.75rem 1.125rem}.ui-button-primary{background:var(--color-blue-900);color:#fff;border-color:var(--color-blue-900)}.ui-button-primary:hover:not(:disabled){background:var(--color-blue-700);border-color:var(--color-blue-700)}.ui-button-secondary{color:var(--color-gray-900);border-color:var(--color-gray-200);background:#fff}.ui-button-secondary:hover:not(:disabled){background:var(--color-gray-50);border-color:var(--color-gray-400)}.ui-button-accent{background:var(--color-yellow-500);color:var(--color-blue-900);border-color:var(--color-yellow-500)}.ui-button-accent:hover:not(:disabled){background:#e7b839;border-color:#e7b839}.ui-button-danger{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.ui-button-danger:hover:not(:disabled){background:#963636;border-color:#963636}.ui-button-success{background:var(--color-success);color:#fff;border-color:var(--color-success)}.ui-button-success:hover:not(:disabled){background:#1d5b3a;border-color:#1d5b3a}.ui-button-ghost{color:var(--color-gray-700);background:0 0;border-color:#0000}.ui-button-ghost:hover:not(:disabled){background:var(--color-gray-100);color:var(--color-gray-900)}.ui-button:disabled{opacity:.55;cursor:not-allowed}.ui-button:focus-visible,.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-accent:focus-visible,.btn-danger:focus-visible,.btn-success:focus-visible,.btn-ghost:focus-visible{outline-offset:2px;outline:3px solid #f5c84ba6}.ui-icon-button{width:2.5rem;padding:0}.text-xs{font-size:.8125rem}.text-sm{font-size:.9375rem}.ui-spin{animation:.8s linear infinite ui-spin}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-field{flex-direction:column;gap:.4rem;display:flex}.ui-field-label{color:var(--color-gray-700);font-size:.875rem;font-weight:600}.ui-field-help,.ui-field-error{margin:0;font-size:.8125rem;line-height:1.4}.ui-field-help{color:var(--color-gray-600)}.ui-field-error{color:var(--color-danger)}.ui-status{white-space:nowrap;border-radius:999px;align-items:center;min-height:1.5rem;padding:.2rem .6rem;font-size:.75rem;font-weight:700;line-height:1.1;display:inline-flex}.ui-status-success{color:var(--color-success);background:var(--color-success-bg)}.ui-status-warning{color:var(--color-warning);background:var(--color-warning-bg)}.ui-status-danger{color:var(--color-danger);background:var(--color-danger-bg)}.ui-status-neutral{color:var(--color-neutral);background:var(--color-neutral-bg)}.ui-card{border:1px solid var(--color-gray-200);border-radius:var(--radius-card);box-shadow:var(--shadow-card);background:#fff}.ui-card-padded{padding:1.5rem}.ui-feedback{border-radius:var(--radius-control);border:1px solid #0000;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.75rem 1rem;font-size:.9375rem;line-height:1.4;display:flex}.ui-feedback-content{align-items:flex-start;gap:.5rem;display:flex}.ui-feedback-success{color:var(--color-success);background:var(--color-success-bg);border-color:#26734a33}.ui-feedback-error{color:var(--color-danger);background:var(--color-danger-bg);border-color:#b4434333}.ui-feedback-warning{color:var(--color-warning);background:var(--color-warning-bg);border-color:#9a640033}.ui-feedback-info{color:var(--color-blue-900);background:var(--color-blue-100);border-color:#123b6326}.ui-empty-state{min-height:10rem;color:var(--color-gray-600);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:2rem;display:flex}.ui-empty-state h3{color:var(--color-blue-900);margin:0;font-size:1rem}.ui-empty-state p{max-width:32rem;margin:0;font-size:.9375rem}.ui-empty-icon{color:var(--color-gray-400)}.ui-empty-action{margin-top:.5rem}.ui-tabs{border-bottom:1px solid var(--color-gray-200);gap:.25rem;display:flex;overflow-x:auto}.ui-tab{min-height:2.75rem;color:var(--color-gray-600);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;flex:none;align-items:center;gap:.45rem;padding:.625rem .875rem;font-weight:600;display:inline-flex}.ui-tab:hover{color:var(--color-blue-900);background:var(--color-gray-50)}.ui-tab-active{border-bottom-color:var(--color-yellow-500);color:var(--color-blue-900)}.ui-tab:focus-visible{outline-offset:-2px;outline:3px solid #f5c84ba6}.ui-tab-count{font-family:var(--font-mono);font-size:.75rem}.ui-modal-backdrop{z-index:60;background:#17212b9e;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.ui-modal{border:1px solid var(--color-gray-200);border-radius:var(--radius-card);background:#fff;width:100%;max-height:min(90vh,52rem);overflow:auto;box-shadow:0 24px 80px #17212b40}.ui-modal-sm{max-width:28rem}.ui-modal-md{max-width:40rem}.ui-modal-lg{max-width:64rem}.ui-modal-header{border-bottom:1px solid var(--color-gray-200);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.ui-modal-header h2{color:var(--color-blue-900);margin:0;font-size:1.125rem}.ui-modal-body{padding:1.25rem}.ui-spinner-wrap{color:var(--color-gray-600);align-items:center;gap:.5rem;display:inline-flex}.ui-loading-screen{background:var(--color-gray-50);place-items:center;min-height:100vh;padding:1rem;display:grid}.ui-error-screen{text-align:center;width:min(100%,28rem)}.ui-error-screen h1{color:var(--color-blue-900);margin:0 0 .5rem;font-size:1.25rem}.ui-error-screen p{color:var(--color-gray-600);margin:0 0 1rem}.credential-card{border:1px solid var(--color-gray-200);border-radius:var(--radius-card);width:100%;box-shadow:var(--shadow-card);background:#fff;overflow:hidden}.credential-card-header{border-bottom:1px solid var(--color-gray-200);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem;display:flex}.credential-card-header h2{color:var(--color-blue-900);margin:.25rem 0 0;font-size:1.5rem}.credential-card-event{color:var(--color-gray-600);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin:.25rem 0 0;font-size:.6875rem}.credential-card-body{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.5rem;padding:1.5rem;display:grid}.credential-card-details h3{color:var(--color-blue-900);margin:.25rem 0 1rem;font-size:clamp(1.5rem,4vw,2rem);line-height:1.05}.credential-card-meta{color:var(--color-gray-700);gap:.5rem;font-size:.875rem;display:grid}.credential-card-meta span{align-items:center;gap:.4rem;display:flex}.credential-card-meta svg{color:var(--color-gray-600);flex:none}.credential-card-meta b{color:var(--color-gray-600);font-weight:600}.credential-card-meta code,.credential-card-qr code{font-family:var(--font-mono);font-size:.75rem}.credential-card-section{border-top:1px solid var(--color-gray-200);margin-top:1rem;padding-top:1rem}.credential-card-section .eyebrow{margin-bottom:.5rem}.credential-card-qr{text-align:center;flex-direction:column;align-items:center;gap:.5rem;min-width:11rem;display:flex}.credential-qr-frame{border:1px solid var(--color-gray-200);background:#fff;padding:.5rem}.credential-card-qr .eyebrow{margin:0}.credential-card-qr code{overflow-wrap:anywhere;max-width:11rem;color:var(--color-gray-600)}.doorman-layout{grid-template-columns:minmax(17rem,.8fr) minmax(0,1.6fr);align-items:start;gap:1.5rem;display:grid}.doorman-sidebar,.doorman-operation{gap:1.5rem;min-width:0;display:grid}.doorman-access-points{grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:.625rem;display:grid}.doorman-access-points button{min-height:4rem;font-size:1rem}.doorman-result-card{border-width:2px}.doorman-result-actions{flex-wrap:wrap;justify-content:center;gap:.625rem;display:flex}.doorman-validation-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.doorman-camera-frame{aspect-ratio:4/3;background:var(--color-blue-900);border:1px solid var(--color-blue-900);justify-content:center;align-items:center;width:100%;max-width:42rem;margin:0 auto;display:flex;position:relative;overflow:hidden}.doorman-camera-frame video,.doorman-camera-frame canvas{object-fit:cover;width:100%;height:100%}.border-ink{border-color:var(--color-blue-900)!important}.border-edge{border-color:var(--color-gray-200)!important}.access-point-option:hover{border-color:var(--color-blue-900)!important}.bg-yellow{background:var(--color-yellow-500)!important}.bg-paper-2{background:#fff!important}.text-ink{color:var(--color-gray-900)!important}.badge-mute{background:var(--color-neutral-bg);color:var(--color-neutral)}.app-header>.app-header-inner{width:100%;max-width:80rem;margin:0 auto}.app-header,.app-header-brand,.app-header-nav,.app-header-user{min-width:0}.app-header-user-name{text-overflow:ellipsis;white-space:nowrap;max-width:11rem;overflow:hidden}@media(max-width:760px){html{font-size:17px}.app-header{height:auto;min-height:3.75rem;padding:.625rem 1rem}.app-header-inner,.app-header:not(:has(.app-header-inner)){flex-wrap:wrap;gap:.5rem}.app-header-nav{order:3;width:100%;margin:0;overflow-x:auto}.app-header-user{margin-left:auto}.app-header-user-name{display:none}.app-header-logout{padding:.5rem .625rem;font-size:.8125rem}.app-main{padding:1.25rem 1rem}.app-footer{padding:.875rem 1rem}.ui-card-padded{padding:1rem}.ui-feedback{flex-direction:column}}@media(max-width:1023px){.doorman-layout{grid-template-columns:1fr}.doorman-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}@media(max-width:420px){.app-header-title{font-size:.875rem}.app-header-subtitle{letter-spacing:.1em;font-size:.625rem}.btn-primary,.btn-secondary,.btn-accent,.btn-danger,.btn-success,.btn-ghost{min-height:2.75rem}}@media(max-width:640px){.doorman-sidebar{grid-template-columns:1fr}.doorman-layout,.doorman-sidebar,.doorman-operation{gap:1rem}.doorman-validation-card{padding:1.25rem!important}.doorman-validation-heading{flex-direction:column;align-items:stretch}.doorman-validation-heading>.btn-ghost{width:100%;min-height:3rem}.doorman-result-actions{grid-template-columns:1fr;display:grid}.doorman-result-actions .btn-primary,.doorman-result-actions .btn-secondary{width:100%;min-height:3.25rem}.doorman-access-points{grid-template-columns:1fr}.doorman-camera-frame{aspect-ratio:1}.credential-card-body{grid-template-columns:1fr}.credential-card-qr{justify-self:center}.credential-card-header,.credential-card-body{padding:1rem}}.document-preview-shell{background:var(--color-gray-50);justify-content:center;align-items:center;min-height:20rem;padding:1rem;display:flex;overflow:auto}.detail-list{gap:.75rem;display:grid}.detail-list>div{border-bottom:1px solid var(--color-gray-200);justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:.75rem;display:flex}.detail-list dt{color:var(--color-gray-600);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:600}.detail-list dd{color:var(--color-blue-900);text-align:right;overflow-wrap:anywhere;margin:0;font-size:.875rem}.detail-list-row{border-bottom:1px solid var(--color-gray-200);color:var(--color-gray-700);justify-content:space-between;gap:1rem;padding:.625rem 0;font-size:.8125rem;display:flex}.print-preview-shell{background:var(--color-gray-100);justify-content:center;padding:1rem;display:flex;overflow:auto}@media print{@page{size:90mm 54mm;margin:0}body{background:#fff!important}body>:not(#root),.app-header,.app-footer,.print\:hidden{display:none!important}#root{display:block!important}.credential-label,.credential-card{break-inside:avoid;width:90mm!important;height:54mm!important;min-height:54mm!important;box-shadow:none!important;border:1px solid #123b63!important;border-radius:0!important;margin:0!important;overflow:hidden!important}.credential-card-header{padding:3mm 4mm!important}.credential-card-header h2{font-size:4.5mm!important}.credential-card-event{font-size:2mm!important}.credential-card-body{grid-template-columns:minmax(0,1fr) auto!important;gap:3mm!important;padding:4mm!important}.credential-card-details h3{margin-bottom:2mm!important;font-size:5mm!important}.credential-card-meta{gap:1mm!important;font-size:2.5mm!important}.credential-card-section{margin-top:2mm!important;padding-top:2mm!important}.credential-card-qr{gap:1mm!important;min-width:24mm!important}.credential-card-qr svg{width:22mm!important;height:22mm!important}.credential-card-qr code{max-width:24mm!important;font-size:1.8mm!important}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}
