@charset "UTF-8";@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");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:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");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:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");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:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");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:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");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:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");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}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: hsl(222, 28%, 9%);--color-surface: hsl(222, 26%, 14%);--color-surface-2: hsl(222, 24%, 20%);--color-surface-3: hsl(222, 22%, 26%);--color-border: hsl(222, 30%, 28%);--color-border-soft: hsl(222, 26%, 23%);--color-primary: hsl(210, 85%, 58%);--color-primary-h: hsl(210, 90%, 70%);--color-primary-dim: hsla(210, 85%, 58%, .15);--color-secondary: hsl(195, 75%, 52%);--color-success: hsl(142, 65%, 50%);--color-warning: hsl(42, 95%, 58%);--color-danger: hsl(4, 82%, 62%);--color-text: hsl(216, 20%, 95%);--color-text-soft: hsl(218, 18%, 78%);--color-text-muted: hsl(220, 15%, 62%);--color-text-invert: hsl(222, 28%, 9%);--color-topbar-bg: hsl(222, 32%, 11%);--color-topbar-text: hsl(216, 20%, 95%);--font-base: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--shadow-sm: 0 2px 8px hsla(0, 0%, 0%, .35);--shadow-md: 0 8px 24px hsla(0, 0%, 0%, .45);--shadow-lg: 0 16px 40px hsla(0, 0%, 0%, .55);--input-bg: hsl(222, 26%, 18%);--input-border: hsl(222, 30%, 32%);--input-border-focus:hsl(210, 85%, 58%);--input-text: hsl(216, 20%, 95%);--input-placeholder: hsl(220, 15%, 55%);--focus-ring: 0 0 0 3px hsla(210, 85%, 58%, .4);--surface-card: var(--color-surface);--surface-raised: var(--color-surface-2);--border-light: var(--color-border-soft);--border-strong: var(--color-border)}html.light{--color-bg: hsl(214, 25%, 96%);--color-surface: hsl(0, 0%, 100%);--color-surface-2: hsl(214, 20%, 92%);--color-surface-3: hsl(214, 20%, 86%);--color-border: hsl(214, 20%, 78%);--color-border-soft: hsl(214, 18%, 88%);--color-primary: hsl(210, 85%, 42%);--color-primary-h: hsl(210, 90%, 32%);--color-primary-dim: hsla(210, 85%, 42%, .12);--color-secondary: hsl(195, 75%, 35%);--color-success: hsl(142, 65%, 32%);--color-warning: hsl(42, 95%, 35%);--color-danger: hsl(4, 82%, 45%);--color-text: hsl(218, 32%, 12%);--color-text-soft: hsl(218, 22%, 28%);--color-text-muted: hsl(218, 16%, 42%);--color-text-invert: hsl(214, 25%, 96%);--color-topbar-bg: hsl(0, 0%, 100%);--color-topbar-text: hsl(218, 32%, 12%);--shadow-sm: 0 2px 8px hsla(218, 30%, 15%, .08);--shadow-md: 0 8px 24px hsla(218, 30%, 15%, .12);--shadow-lg: 0 16px 40px hsla(218, 30%, 15%, .18);--input-bg: hsl(0, 0%, 100%);--input-border: hsl(214, 20%, 72%);--input-border-focus:hsl(210, 85%, 42%);--input-text: hsl(218, 32%, 12%);--input-placeholder: hsl(218, 16%, 52%);--focus-ring: 0 0 0 3px hsla(210, 85%, 42%, .35)}html,body{height:100%;font-family:var(--font-base);background-color:var(--color-bg);color:var(--color-text);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;overflow-x:hidden}body{margin:0}a{color:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-border-soft)}::selection{background:#3994ef59;color:#fff}:focus-visible{outline:none;box-shadow:var(--focus-ring)}input,select,textarea{background:var(--input-bg);border:1.5px solid var(--input-border);color:var(--input-text);font-family:var(--font-base);border-radius:var(--radius-sm);transition:border-color .2s,box-shadow .2s}input::placeholder,select::placeholder,textarea::placeholder{color:var(--input-placeholder);opacity:1}input:focus,input:focus-visible,select:focus,select:focus-visible,textarea:focus,textarea:focus-visible{outline:none;border-color:var(--input-border-focus);box-shadow:var(--focus-ring)}input:disabled,select:disabled,textarea:disabled{opacity:.5;cursor:not-allowed}button{font-family:var(--font-base);cursor:pointer;transition:all .2s ease}button:focus-visible{outline:none;box-shadow:var(--focus-ring)}button:disabled{opacity:.45;cursor:not-allowed}.page-shell{display:grid;gap:.9rem}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.9rem 1.05rem;background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:12px;box-shadow:var(--shadow-sm)}.page-header__copy{display:grid;gap:.22rem}.page-header__eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary)}.page-header__title{font-size:clamp(1.28rem,1.75vw,1.75rem);line-height:1.1;font-weight:750;color:var(--color-text)}.page-header__description{color:var(--color-text-soft);font-size:.86rem}.surface-card,.table-card{background:var(--surface-card);border:1px solid var(--border-light);border-radius:12px;box-shadow:var(--shadow-sm)}.section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.82rem .95rem .72rem;border-bottom:1px solid var(--border-light)}.section-header h2,.section-header h3{margin:0;font-size:.94rem;line-height:1.2;font-weight:700;color:var(--color-text)}.section-header p{margin:.22rem 0 0;color:var(--color-text-soft);font-size:.82rem}.section-body{padding:.9rem .95rem .95rem}.section-body--stack{display:grid;gap:.75rem}.input-main,.input-main[type=text],.input-main[type=number],.input-main[type=date],.input-main[type=email],.input-main[type=search],.input-main[type=password],select.input-main,textarea.input-main{width:100%;min-height:44px;padding:.72rem .9rem;border-radius:10px;border:1px solid var(--input-border);background:var(--input-bg);color:var(--input-text);box-shadow:inset 0 1px #ffffff08}textarea.input-main{min-height:92px;resize:vertical}.btn,.btn-primary,.btn-secondary,.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:34px;padding:.48rem .82rem;border-radius:8px;font-size:.82rem;font-weight:650;line-height:1;text-decoration:none;border:1px solid transparent;box-shadow:none}.btn:hover,.btn-primary:hover,.btn-secondary:hover,.btn-danger:hover{transform:translateY(-1px)}.btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-h);border-color:var(--color-primary-h)}.btn-secondary{background:var(--color-surface-2);border-color:var(--color-border);color:var(--color-text)}.btn-secondary:hover:not(:disabled){background:var(--color-surface-3)}.btn-danger{background:#ee594f24;border-color:#ee594f47;color:var(--color-danger)}.btn-danger:hover:not(:disabled){background:#ee594f38}.btn-full{width:100%}.table-card{overflow:hidden}.table-card--mt{margin-top:1rem}.table-card--mt2{margin-top:1.5rem}.table-card table{width:100%;border-collapse:collapse}.table-card th,.table-card td{padding:.58rem .72rem;text-align:left;border-bottom:1px solid var(--border-light);vertical-align:middle}.table-card th{font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted);background:#6677990f}.table-card td{font-size:.84rem}.table-card tbody tr:hover{background:#6677990d}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;min-height:160px;padding:2.5rem 1.5rem;margin:1.5rem auto;max-width:500px;text-align:center;background:#66779908;border:1px dashed var(--color-border-soft);border-radius:var(--radius-lg);color:var(--color-text-soft)}td.empty-state-cell{padding:0;border:none;background:transparent;vertical-align:middle}td.empty-state-cell:hover{background:transparent!important}.empty-state__title{font-size:1.05rem;font-weight:600;color:var(--color-text);letter-spacing:-.01em}.empty-state__text{max-width:480px;font-size:.9rem;line-height:1.5}app-layout .sidebar__brand-text{letter-spacing:-.02em}app-layout .sidebar__brand-sub{font-size:.74rem;font-weight:500;color:var(--color-text-muted);letter-spacing:0;width:auto;padding-left:0;margin-top:0;text-transform:none}app-layout .sidebar__toggle{top:78px;background:var(--color-surface);border-width:1px}app-layout .sidebar__toggle:hover{box-shadow:0 8px 24px #3994ef38}app-layout .sidebar__nav{padding:.55rem 0}app-layout .sidebar__group{margin-bottom:.15rem}app-layout .sidebar__link{padding:.58rem .8rem;margin:0 .55rem;border-radius:9px;font-weight:600;font-size:.92rem}app-layout .sidebar.collapsed .sidebar__link{padding:.72rem;margin:0 .4rem}app-layout .sidebar__link:hover{background:#66779914}app-layout .sidebar__link--active{background:#6677991a!important;color:var(--color-text)!important;box-shadow:inset 0 0 0 1px #ffffff08}app-layout .sidebar__link--active:before{width:4px;border-radius:0 4px 4px 0}app-layout .sidebar__icon{opacity:.92}app-layout .sidebar__sublink{padding:.34rem .85rem .34rem 2.45rem;margin:0 .55rem;border-radius:10px;font-weight:500;font-size:.86rem}app-layout .sidebar__sublink:hover{background:#66779914}app-layout .sidebar__sublink--active{color:var(--color-text)!important}app-layout .sidebar__footer{padding:.85rem 1rem;border-top-width:1px;border-top-color:var(--color-border-soft)}app-layout .topbar{height:58px;padding:0 .9rem 0 1rem;gap:1rem;border-bottom-width:1px;border-bottom-color:var(--color-border-soft);box-shadow:0 1px #ffffff08,0 12px 24px #171c2629;backdrop-filter:blur(14px)}app-layout .topbar__left,app-layout .topbar__right{min-width:0}app-layout .topbar__left{gap:.85rem;flex:0 1 auto}app-layout .topbar__search{flex:1 1 440px;display:flex;justify-content:center;min-width:0}app-layout .topbar__search app-universal-search{width:100%;max-width:420px}app-layout .topbar__breadcrumb{min-width:0;gap:.55rem;font-size:.84rem}app-layout .topbar__company{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}app-layout .topbar__separator{color:#f0f2f54d}app-layout .topbar__branch{display:inline-flex;align-items:center;max-width:220px;padding:.28rem .62rem;border:1px solid hsla(216,20%,95%,.1);border-radius:999px;background:#f0f2f50f}app-layout .topbar__branch-select{min-height:30px;padding:.28rem 1.8rem .28rem .7rem;border-width:1px;border-radius:999px;background-color:#f0f2f514}app-layout .topbar__right{gap:.6rem;flex:0 0 auto}app-layout .topbar__timer,app-layout .topbar__theme-toggle,app-layout .topbar__logout{min-height:32px}app-layout .topbar__timer{border-width:1px;padding:.32rem .72rem}app-layout .topbar__theme-toggle,app-layout .topbar__logout{width:32px;height:32px;border-radius:10px;border-width:1px}app-layout .topbar__user{padding:.22rem .55rem .22rem .22rem;border:1px solid hsla(216,20%,95%,.08);background:#f0f2f50a}app-layout .page-content{padding:.95rem;background:linear-gradient(180deg,hsla(220,22%,50%,.04) 0%,transparent 18%),var(--color-bg)}.pagination-panel{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.8rem;padding:.65rem .9rem;background:var(--surface-card);border-radius:10px;border:1px solid var(--border-light);color:var(--color-text-soft);font-size:.8rem}.table-toolbar,.table-toolbar--compact{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem .9rem;border-bottom:1px solid var(--border-light)}.compact-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.compact-actions .btn-secondary,.compact-actions .btn-primary,.compact-actions .btn-danger{min-height:32px;padding-inline:.72rem}.compact-counter{color:var(--color-text-soft);font-size:.8rem}.data-table th,.data-table td,table th,table td{line-height:1.25}.text-primary{color:var(--color-text)}.text-secondary{color:var(--color-text-soft)}.text-muted{color:var(--color-text-muted)}.text-accent{color:var(--color-primary)}.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:1rem;border-radius:var(--radius-md)}.table-responsive table{min-width:700px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem}.dialog-responsive{width:95%!important;max-width:700px;max-height:95vh!important;display:flex!important;flex-direction:column}@media (max-width: 640px){.dialog-responsive{border-radius:var(--radius-md)!important}.dialog-responsive .dialog-content{grid-template-columns:1fr!important;padding:1rem!important}.dialog-responsive .dialog-footer{flex-direction:column-reverse;gap:.75rem!important}.dialog-responsive .dialog-footer button{width:100%}}input,select,textarea{min-height:42px}.fade-in{animation:fadeIn .4s ease-out forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:slideUp .35s cubic-bezier(.16,1,.3,1) forwards}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.status-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.18rem .55rem;border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border:1px solid transparent;line-height:1.4}.status-badge--success{color:#2dd269;background:#2dd2691f;border-color:#2dd26940}.status-badge--warning{color:#fabd2e;background:#fabd2e1f;border-color:#fabd2e40}.status-badge--danger{color:var(--color-danger);background:#ee594f1f;border-color:#ee594f40}.status-badge--info{color:var(--color-primary);background:var(--color-primary-dim);border-color:#3994ef40}.status-badge--neutral{color:var(--color-text-muted);background:#66779914;border-color:var(--color-border-soft)}html.light .status-badge--success{color:#1d8743;background:#24a8541a;border-color:#24a85433}html.light .status-badge--warning{color:#ae7b04;background:#e09e061a;border-color:#e09e0633}html.light .status-badge--danger{color:#d12115;background:#e8251714;border-color:#e825172e}html.light .status-badge--info{color:#106bc6;background:#106bc614;border-color:#106bc62e}.layout-tabs{display:flex;gap:.25rem;padding:0 1rem;border-bottom:1px solid var(--color-border-soft);background:var(--color-surface);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.layout-tabs::-webkit-scrollbar{display:none}.layout-tab{display:inline-flex;align-items:center;gap:.4rem;padding:.7rem 1rem;font-size:.84rem;font-weight:500;color:var(--color-text-muted);text-decoration:none;white-space:nowrap;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;cursor:pointer}.layout-tab:hover{color:var(--color-text-soft)}.layout-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.kpi-card{display:flex;flex-direction:column;gap:.35rem;padding:1rem 1.15rem;background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);transition:border-color .2s,box-shadow .2s}.kpi-card:hover{border-color:var(--color-border);box-shadow:var(--shadow-sm)}.kpi-card__label{font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}.kpi-card__value{font-size:1.35rem;font-weight:800;color:var(--color-text);line-height:1}.kpi-card__sub{font-size:.78rem;color:var(--color-text-soft)}.skeleton{background:linear-gradient(90deg,var(--color-surface-2) 25%,var(--color-surface-3) 50%,var(--color-surface-2) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton--text{height:.85rem;width:60%}.skeleton--title{height:1.2rem;width:40%}.skeleton--card{height:80px;width:100%}@media (max-width: 768px){.page-header,.section-header,.section-body{padding-left:1rem;padding-right:1rem}.page-header{padding-top:1rem;padding-bottom:1rem;border-radius:12px}.surface-card,.table-card{border-radius:12px}app-layout .page-content{padding:1rem}app-layout .topbar__search{flex-basis:220px}}@media (max-width: 1024px){app-layout .topbar__search{flex-basis:320px}}@media (max-width: 640px){app-layout .topbar{padding:0 .65rem}app-layout .topbar__search{flex:0 0 auto}app-layout .page-content{padding:.85rem}}app-security-panel{display:block}app-security-panel .sec-page{padding:1.5rem;min-height:100%;background:var(--color-bg)}app-security-panel .sec-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap;gap:1.5rem}app-security-panel .sec-header__left{display:flex;align-items:center;gap:1rem}app-security-panel .sec-header__icon{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,#661fad,#1980e6);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;box-shadow:0 0 24px #7f26d959}app-security-panel .sec-header__title{font-size:1.35rem;font-weight:800;color:var(--color-text);margin:0;background:linear-gradient(135deg,#bf93ec,#5ea6ed);-webkit-background-clip:text;-webkit-text-fill-color:transparent}app-security-panel .sec-header__sub{font-size:.78rem;color:var(--color-text-muted);margin:0}app-security-panel .sec-header__stats{display:flex;gap:.75rem}app-security-panel .stat-chip{display:flex;flex-direction:column;align-items:center;padding:.65rem 1.25rem;background:#7f33cc1a;border:1px solid hsla(270,60%,50%,.2);border-radius:12px;min-width:80px}app-security-panel .stat-chip--warn{background:#e6a2191a;border-color:#e6a21933}app-security-panel .stat-chip--info{background:#1980e61a;border-color:#1980e633}app-security-panel .stat-chip__num{font-size:1.4rem;font-weight:800;color:var(--color-text);line-height:1;margin-bottom:4px}app-security-panel .stat-chip__label{font-size:.62rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em}app-security-panel .sec-tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--color-border);margin-bottom:1.5rem;overflow-x:auto}app-security-panel .sec-tab{display:flex;align-items:center;gap:.5rem;padding:.65rem 1.1rem;background:none;border:none;border-bottom:2px solid transparent;color:var(--color-text-soft);font-size:.82rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .2s ease;position:relative}app-security-panel .sec-tab:hover{color:var(--color-text)}app-security-panel .sec-tab.active{color:#bf93ec;border-bottom-color:#a667e4}app-security-panel .tab-badge{background:#f4af25;color:#000;border-radius:999px;padding:0 .4rem;font-size:.65rem;font-weight:700}app-security-panel .tab-pane{animation:fadeIn .25s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}app-security-panel .filter-bar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:.75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:1rem;margin-bottom:1rem}app-security-panel .filter-group{flex:1;min-width:160px;display:flex;flex-direction:column;gap:.4rem}app-security-panel .filter-group label{font-size:.7rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}app-security-panel .filter-group input,app-security-panel .filter-group select{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:8px;padding:.5rem .75rem;color:var(--color-text);font-size:.85rem;outline:none;width:100%}app-security-panel .filter-group input:focus,app-security-panel .filter-group select:focus{border-color:var(--input-border-focus);box-shadow:var(--focus-ring)}app-security-panel .table-responsive{border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);box-shadow:var(--shadow-sm)}app-security-panel .data-table{width:100%;border-collapse:collapse;font-size:.85rem}app-security-panel .data-table th{background:#19202e99;color:var(--color-text-soft);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700;padding:1rem;text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap}app-security-panel .table-row{border-bottom:1px solid hsla(220,30%,25%,.4);transition:background .15s}app-security-panel .table-row:hover{background:#7f33cc12}app-security-panel .table-row td{padding:.65rem 1rem;color:var(--color-text-soft);vertical-align:middle}app-security-panel .td-mono{font-family:JetBrains Mono,monospace;font-size:.75rem}app-security-panel .td-sub{font-size:.7rem;color:var(--color-text-muted)}app-security-panel .td-truncate{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}app-security-panel .action-badge{font-size:.7rem;font-weight:700;padding:.2rem .5rem;border-radius:4px;border:1px solid;text-transform:uppercase}app-security-panel .module-tag{font-size:.7rem;color:#67a6e4;background:#2680d91a;padding:.15rem .4rem;border-radius:4px}app-security-panel .sev-dot{font-size:.68rem;font-weight:700;padding:.2rem .5rem;border-radius:4px;color:#fff}app-security-panel .mini-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;color:#fff;flex-shrink:0}app-security-panel .user-cell{display:flex;align-items:center;gap:.6rem}app-security-panel .role-tag{font-size:.72rem;font-weight:700;text-transform:uppercase}app-security-panel .branch-tag{font-size:.7rem;color:#5cd685;background:#29a3521a;padding:.15rem .4rem;border-radius:4px}app-security-panel .badge-green{font-size:.7rem;color:#5cd685;background:#29a35226;padding:.2rem .5rem;border-radius:4px}app-security-panel .badge-red{font-size:.7rem;color:#e06c6c;background:#d22d2d26;padding:.2rem .5rem;border-radius:4px}app-security-panel .pagination{display:flex;align-items:center;justify-content:center;gap:1rem;padding:.75rem 1rem;border-top:1px solid var(--color-border);font-size:.82rem;color:var(--color-text-muted)}app-security-panel .btn-page{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:6px;padding:.35rem .75rem;color:var(--color-text-soft);cursor:pointer;font-size:.78rem}app-security-panel .btn-page:disabled{opacity:.4;cursor:not-allowed}app-security-panel .btn-page:not(:disabled):hover{background:#7f40bf26}app-security-panel .sessions-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}app-security-panel .sessions-header__title{display:flex;align-items:center;gap:.5rem;font-size:.95rem;font-weight:600;color:var(--color-text)}app-security-panel .indicator{width:10px;height:10px;border-radius:50%}app-security-panel .indicator.active{background:#3c6;box-shadow:0 0 8px #3c6;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}app-security-panel .sessions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}app-security-panel .session-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:1.25rem;display:flex;flex-direction:column;gap:1rem;transition:all .2s ease;position:relative}app-security-panel .session-card:hover{border-color:#8c47d1;transform:translateY(-3px);box-shadow:var(--shadow-md)}@media (min-width: 640px){app-security-panel .session-card{flex-direction:row;align-items:flex-start}}app-security-panel .session-card__avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#7322c3,#1980e6);display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:700;color:#fff;flex-shrink:0}app-security-panel .session-card__info{flex:1}app-security-panel .session-card__name{font-weight:700;color:var(--color-text);font-size:.88rem}app-security-panel .session-card__email{font-size:.75rem;color:var(--color-text-muted)}app-security-panel .session-card__meta{display:flex;gap:.5rem;margin:.3rem 0}app-security-panel .session-card__ip,app-security-panel .session-card__time{font-size:.72rem;color:var(--color-text-muted);margin-top:.2rem}app-security-panel .btn-primary{background:linear-gradient(135deg,#7322c3,#1980e6);color:#fff;border:none;border-radius:7px;padding:.5rem 1rem;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-flex;align-items:center;gap:.4rem}app-security-panel .btn-primary:hover{opacity:.9;transform:translateY(-1px)}app-security-panel .btn-secondary{background:var(--color-surface-2);border:1px solid var(--color-border);color:var(--color-text-soft);border-radius:7px;padding:.5rem 1rem;font-size:.82rem;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;transition:all .2s}app-security-panel .btn-secondary:hover{border-color:#8c47d1;color:var(--color-text)}app-security-panel .btn-ghost{background:none;border:1px solid var(--color-border);color:var(--color-text-soft);border-radius:7px;padding:.45rem .9rem;font-size:.82rem;cursor:pointer;transition:all .2s}app-security-panel .btn-ghost:hover{background:#7f40bf1a}app-security-panel .btn-danger{background:#d22d2d1a;border:1px solid hsla(0,65%,55%,.3);color:#e06c6c;border-radius:7px;padding:.35rem .7rem;font-size:.75rem;cursor:pointer;display:flex;align-items:center;gap:.3rem;transition:all .2s;white-space:nowrap}app-security-panel .btn-danger:hover{background:#d22d2d40}app-security-panel .action-row{display:flex;gap:.5rem}app-security-panel .btn-icon{width:28px;height:28px;border:none;border-radius:5px;cursor:pointer;font-size:.85rem;transition:all .15s}app-security-panel .btn-icon--edit{background:#1980e626}app-security-panel .btn-icon--edit:hover{background:#1980e64d}app-security-panel .btn-icon--del{background:#d9262626}app-security-panel .btn-icon--del:hover{background:#d926264d}app-security-panel .perms-info{display:flex;align-items:center;gap:.5rem;font-size:.78rem;color:#67a6e4;background:#2680d914;border:1px solid hsla(210,70%,50%,.2);border-radius:8px;padding:.6rem 1rem;margin-bottom:1rem}app-security-panel .perm-matrix-wrap{overflow:auto;border-radius:10px;border:1px solid var(--color-border)}app-security-panel .perm-table{border-collapse:collapse;font-size:.75rem;background:var(--color-surface)}app-security-panel .perm-table th{background:#19202ecc;color:var(--color-text-soft);font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;padding:.6rem .5rem;text-align:center;border-bottom:1px solid var(--color-border);white-space:nowrap}app-security-panel .perm-role-col{text-align:left!important;min-width:140px}app-security-panel .perm-mod-col{min-width:80px}app-security-panel .perm-table tr{border-bottom:1px solid hsla(220,30%,25%,.3)}app-security-panel .perm-table tr:hover{background:#7f33cc0d}app-security-panel .perm-role-cell{padding:.5rem .75rem;white-space:nowrap}app-security-panel .perm-cell{padding:.3rem .25rem;text-align:center}app-security-panel .perm-icons{display:flex;gap:2px;justify-content:center}app-security-panel .perm-btn{width:18px;height:18px;border-radius:3px;font-size:.58rem;font-weight:800;border:1px solid hsla(220,30%,40%,.5);background:#242e4280;color:var(--color-text-muted);cursor:pointer;transition:all .15s}app-security-panel .perm-btn.on{background:#29a35240;border-color:#2eb85c;color:#70db94}app-security-panel .perm-btn:hover{transform:scale(1.15)}app-security-panel .perm-legend{display:flex;gap:1.5rem;margin-top:.75rem;font-size:.72rem;color:var(--color-text-muted)}app-security-panel .perm-legend__item{display:flex;align-items:center;gap:.4rem}app-security-panel .perm-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;margin-bottom:.85rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px}app-security-panel .perm-toolbar__copy{display:grid;gap:.3rem}app-security-panel .perm-toolbar__eyebrow{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#63a6e9}app-security-panel .perm-toolbar__title{margin:0;font-size:1rem;line-height:1.2;color:var(--color-text)}app-security-panel .perm-toolbar__text{margin:0;max-width:560px;font-size:.82rem;color:var(--color-text-soft)}app-security-panel .perm-toolbar__stats{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}app-security-panel .perm-stat{display:grid;gap:.2rem;min-width:84px;padding:.7rem .8rem;border-radius:10px;border:1px solid var(--color-border);background:var(--color-surface-2);text-align:center}app-security-panel .perm-stat__value{font-size:1.1rem;font-weight:800;color:var(--color-text);line-height:1}app-security-panel .perm-stat__label{font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}app-security-panel .perms-info{border-radius:10px;margin-bottom:.85rem;color:var(--color-text-soft);background:#2680d90f;border-color:#2680d924}app-security-panel .perm-matrix-wrap{overflow:auto;border-radius:14px;border:1px solid var(--color-border);background:var(--color-surface)}app-security-panel .perm-table{width:100%;min-width:1080px}app-security-panel .perm-table th{position:sticky;top:0;z-index:2;background:#1f2633f5}app-security-panel .perm-role-col{min-width:190px;text-align:left!important;position:sticky;left:0;z-index:3;background:#1f2633fa!important}app-security-panel .perm-role-cell{position:sticky;left:0;z-index:1;background:var(--color-surface);padding:.65rem .75rem}app-security-panel .perm-colhead{display:grid;gap:.18rem;justify-items:center}app-security-panel .perm-colhead__label{font-size:.7rem;font-weight:700;color:var(--color-text);text-transform:none;letter-spacing:0}app-security-panel .perm-colhead__sub{font-size:.6rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}app-security-panel .perm-role-card{display:grid;gap:.22rem;align-items:start}app-security-panel .perm-role-card__meta{font-size:.68rem;color:var(--color-text-muted)}app-security-panel .perm-cell{padding:.45rem .3rem}app-security-panel .perm-icons{gap:.28rem}app-security-panel .perm-btn{width:24px;height:24px;border-radius:6px;font-size:.64rem;border-color:#ffffff14;background:#2f384ce0;color:var(--color-text-muted)}app-security-panel .perm-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #090b1133}app-security-panel .perm-btn.on{color:#fff;border-color:transparent}app-security-panel .perm-btn--read.on{background:#1a6ef4}app-security-panel .perm-btn--write.on{background:#069cb7}app-security-panel .perm-btn--delete.on{background:#dc2828}app-security-panel .perm-btn--export.on{background:#1db454}app-security-panel .perm-legend{display:flex;flex-wrap:wrap;gap:.85rem 1rem;margin-top:1rem}app-security-panel .perm-legend__item{padding:.35rem .55rem;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface)}app-security-panel .backup-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}app-security-panel .backup-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:1.5rem}app-security-panel .backup-card__icon{font-size:2rem;margin-bottom:.75rem}app-security-panel .backup-card h3{font-size:.95rem;font-weight:700;color:var(--color-text);margin:0 0 1rem}app-security-panel .backup-stats{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}app-security-panel .bstat{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;background:var(--color-surface-2);border-radius:8px;font-size:.82rem;color:var(--color-text-soft)}app-security-panel .bstat strong{color:var(--color-text);font-weight:700}app-security-panel .backup-msg{font-size:.78rem;color:var(--color-text-muted);margin-bottom:1.25rem;line-height:1.4}app-security-panel .form-row{display:flex;flex-direction:column;gap:.4rem}app-security-panel .form-row label{font-size:.75rem;color:var(--color-text-muted);font-weight:600;text-transform:uppercase}app-security-panel .modal-overlay{position:fixed;inset:0;background:#000000b3;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem}app-security-panel .modal{background:var(--color-surface);border-radius:16px;width:100%;max-width:650px;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);border:1px solid var(--color-border);animation:modalIn .3s cubic-bezier(.34,1.56,.64,1)}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(10px)}}app-security-panel .modal__header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center}app-security-panel .modal__header h3{margin:0;font-size:1.15rem;color:var(--color-text)}app-security-panel .modal__close{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:1.25rem}app-security-panel .modal__body{padding:1.5rem;overflow-y:auto}app-security-panel .modal__footer{padding:1.25rem 1.5rem;border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:1rem}@media (max-width: 768px){app-security-panel .sec-header{justify-content:center;text-align:center}app-security-panel .sec-header__left{flex-direction:column}app-security-panel .sec-header__stats{width:100%;justify-content:center}app-security-panel .stat-chip{flex:1;padding:.5rem}app-security-panel .filter-bar{padding:.75rem;gap:.5rem}app-security-panel .filter-group{min-width:100%}app-security-panel .perm-toolbar{flex-direction:column}app-security-panel .perm-toolbar__stats{width:100%;justify-content:stretch}app-security-panel .perm-stat{flex:1;min-width:unset}app-security-panel .perm-legend{flex-direction:column;gap:.5rem}}app-security-panel .backup-sub{font-size:.72rem;color:var(--color-text-muted);margin-top:.75rem}app-security-panel .backup-tables{display:flex;flex-direction:column;gap:.35rem}app-security-panel .backup-table-row{display:flex;align-items:center;gap:.5rem;font-size:.78rem}app-security-panel .bullet{font-size:.8rem}app-security-panel .bullet.green{color:#47d175}app-security-panel .checklist{display:flex;flex-direction:column;gap:.5rem}app-security-panel .check-item{display:flex;align-items:center;gap:.6rem;font-size:.8rem;color:var(--color-text-soft);padding:.35rem;border-radius:5px;background:#242e4266}app-security-panel .check-item.ok{color:var(--color-text)}app-security-panel .modal-overlay{position:fixed;inset:0;background:#090b11bf;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:999;animation:fadeIn .2s ease}app-security-panel .modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;width:440px;max-width:95vw;box-shadow:0 24px 64px #090b1180}app-security-panel .modal__header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border)}app-security-panel .modal__header h3{margin:0;font-size:1rem;color:var(--color-text)}app-security-panel .modal__close{background:none;border:none;color:var(--color-text-muted);font-size:1.1rem;cursor:pointer;padding:.2rem}app-security-panel .modal__body{padding:1.5rem;display:flex;flex-direction:column;gap:.85rem}app-security-panel .form-row{display:flex;flex-direction:column;gap:.3rem}app-security-panel .form-row label{font-size:.7rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}app-security-panel .form-row input,app-security-panel .form-row select{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:7px;padding:.5rem .75rem;color:var(--color-text);font-size:.85rem;outline:none}app-security-panel .form-row input:focus,app-security-panel .form-row select:focus{border-color:var(--input-border-focus);box-shadow:var(--focus-ring)}app-security-panel .modal__footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--color-border)}app-security-panel .loading-row{display:flex;align-items:center;gap:.75rem;padding:2rem;color:var(--color-text-muted);font-size:.85rem;justify-content:center}app-security-panel .spinner{width:22px;height:22px;border-radius:50%;border:2px solid var(--color-border);border-top-color:#a667e4;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}app-security-panel .empty-state{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:3rem;color:var(--color-text-muted);font-size:.85rem}app-security-panel .empty-state svg{opacity:.3}@media print{app-layout{display:block!important}app-layout .sidebar,app-layout .sidebar__overlay,app-layout .topbar,app-layout .preventive-block-banner{display:none!important}app-layout .main-area{display:block!important;margin:0!important;padding:0!important;overflow:visible!important;height:auto!important}app-layout .page-content{padding:0!important;overflow:visible!important;height:auto!important}app-sale-print .print-toolbar,app-sale-print .state-card{display:none!important}app-sale-print .print-page{padding:0!important;background:#fff!important;min-height:unset!important}app-sale-print .document-shell{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:6mm!important;border:none!important;box-shadow:none!important;background:#fff!important;color:#111827!important}app-sale-print .document-shell--ticket{width:79mm!important;max-width:79mm!important;padding:3mm!important}app-sale-print .document-shell *{color:#111827!important;background:transparent!important;border-color:#9ca3af!important}app-sale-print .document-meta,app-sale-print .totals-card,app-sale-print .ticket-docbox{background:#f1f5f9!important}@page{margin:8mm;size:auto}}.modal-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#090b10bf;backdrop-filter:blur(6px);padding:1rem}.modal-dialog,.modal-panel,.modal-content,.modal-card{width:100%;max-width:600px;max-height:90vh;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-lg);animation:modalSlideUp .2s ease-out}.modal-dialog--lg{max-width:800px}.modal-dialog--xl,.modal-content--wide{max-width:1000px}.modal-header,.modal-head{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border-soft);flex-shrink:0}.modal-title,.modal-header h2,.modal-header h3{margin:0;font-size:1.15rem;font-weight:700;color:var(--color-text)}.modal-close{background:none;border:none;color:var(--color-text-muted);font-size:1.25rem;cursor:pointer;padding:.25rem;line-height:1;transition:color .15s}.modal-close:hover{color:var(--color-text)}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--color-border-soft);flex-shrink:0}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 640px){.modal-backdrop{padding:.5rem}.modal-dialog,.modal-panel,.modal-content{max-height:96vh;border-radius:var(--radius-lg)}.modal-body{padding:1rem}.modal-footer{padding:1rem;flex-wrap:wrap}.modal-footer button{flex:1;min-width:100px}}
