@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}:root{--ec-font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--ec-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--ec-brand-dark: #0C2D48;--ec-brand: #145DA0;--ec-brand-light: #2E8BC0;--ec-brand-surface: #E8F4FD;--ec-brand-muted: #B1D4E0;--ec-success: #16a34a;--ec-success-light: #dcfce7;--ec-danger: #dc2626;--ec-danger-light: #fef2f2;--ec-warning: #d97706;--ec-warning-light: #fef3c7;--ec-info: #1565C0;--ec-info-light: #E3F2FD;--ec-gray-50: #f8fafc;--ec-gray-100: #f1f5f9;--ec-gray-200: #e2e8f0;--ec-gray-300: #cbd5e1;--ec-gray-400: #94a3b8;--ec-gray-500: #64748b;--ec-gray-600: #475569;--ec-gray-700: #334155;--ec-gray-800: #1e293b;--ec-gray-900: #0f172a;--ec-av-blue-bg: linear-gradient(135deg, #E0F0FF, #BCD8F5);--ec-av-blue-fg: #145DA0;--ec-av-teal-bg: linear-gradient(135deg, #D1FAE5, #A7F3D0);--ec-av-teal-fg: #047857;--ec-av-coral-bg: linear-gradient(135deg, #FEE2E2, #FECACA);--ec-av-coral-fg: #B91C1C;--ec-av-purple-bg: linear-gradient(135deg, #EDE9FE, #DDD6FE);--ec-av-purple-fg: #6D28D9;--ec-av-amber-bg: linear-gradient(135deg, #FEF3C7, #FDE68A);--ec-av-amber-fg: #B45309;--ec-space-xs: 4px;--ec-space-sm: 8px;--ec-space-md: 12px;--ec-space-lg: 16px;--ec-space-xl: 20px;--ec-space-2xl: 24px;--ec-space-3xl: 32px;--ec-radius-sm: 8px;--ec-radius-md: 12px;--ec-radius-lg: 16px;--ec-radius-xl: 20px;--ec-radius-full: 9999px;--ec-shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--ec-shadow-sm: 0 1px 3px rgba(0, 0, 0, .04), 0 4px 12px rgba(0, 0, 0, .03);--ec-shadow-md: 0 2px 8px rgba(0, 0, 0, .06);--ec-shadow-lg: 0 4px 16px rgba(0, 0, 0, .08);--ec-shadow-xl: 0 8px 32px rgba(0, 0, 0, .1);--ec-shadow-brand: 0 4px 20px rgba(20, 93, 160, .12);--ec-transition-fast: .15s ease;--ec-transition-normal: .2s ease;--ec-transition-slow: .3s ease;--ec-wa-green: #25D366;--ec-wa-dark: #128C7E}:root{--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--color-brand-dark: #0C2D48;--color-brand: #145DA0;--color-brand-light: #2E8BC0;--color-brand-surface: #E8F4FD;--color-brand-muted: #B1D4E0;--color-background-primary: #ffffff;--color-background-secondary: #F4F6FA;--color-background-tertiary: #fafbfc;--color-border-primary: #cbd5e1;--color-border-secondary: #e2e8f0;--color-border-tertiary: #f1f5f9;--color-text-primary: #0f172a;--color-text-secondary: #475569;--color-text-tertiary: #94a3b8;--color-text-success: #16a34a;--color-primary: #145DA0;--color-primary-light: #E8F4FD;--color-success: #16a34a;--color-success-light: #dcfce7;--color-danger: #dc2626;--color-danger-light: #fef2f2;--color-warning: #d97706;--color-warning-light: #fef3c7;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 20px;--spacing-2xl: 24px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 2px 8px rgba(0, 0, 0, .06);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .08);--shadow-xl: 0 8px 32px rgba(0, 0, 0, .1);--shadow-card: 0 1px 3px rgba(0,0,0,.04), 0 4px 12px rgba(0,0,0,.03);--shadow-elevated: 0 4px 20px rgba(20, 93, 160, .12)}body.a11y-mode{--color-background-primary: #ffffff;--color-background-secondary: #e5e5e5;--color-background-tertiary: #d5d5d5;--color-border-primary: #000000;--color-border-secondary: #333333;--color-border-tertiary: #666666;--color-text-primary: #000000;--color-text-secondary: #111111;--color-text-tertiary: #222222}body.a11y-mode .scroll-area{zoom:1.15}body.a11y-mode *{font-weight:600!important}body.a11y-mode .card,body.a11y-mode .metric-tile,body.a11y-mode .pkg-option,body.a11y-mode .tap-primary,body.a11y-mode .tap-success{border:2px solid #000}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--color-background-secondary);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{height:100%;width:100%;overflow:hidden}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes detailSlideIn{0%{opacity:0;max-height:0}to{opacity:1;max-height:800px}}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes sheetSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.spinner-global{width:24px;height:24px;border:2.5px solid var(--color-border-secondary);border-top:2.5px solid var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.skeleton-base{background:linear-gradient(90deg,#f0f0f0 25%,#e8e8e8,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite ease-in-out}app-root{display:flex;flex-direction:column;height:100%;width:100%;max-width:500px;margin:0 auto;background:var(--color-background-secondary);overflow:hidden}.top-bar{background:linear-gradient(135deg,var(--color-brand-dark) 0%,var(--color-brand) 50%,var(--color-brand-light) 100%);padding:0;flex-shrink:0;position:relative;overflow:hidden}.top-bar:before{content:"";position:absolute;top:-30px;right:-30px;width:120px;height:120px;border-radius:50%;background:#ffffff0d;pointer-events:none}.top-bar:after{content:"";position:absolute;bottom:-20px;left:40%;width:80px;height:80px;border-radius:50%;background:#ffffff08;pointer-events:none}.top-bar-row{display:flex;justify-content:space-between;align-items:center;padding:14px 18px 16px;position:relative;z-index:1}.top-bar-title{font-size:18px;font-weight:600;color:#fff;letter-spacing:-.01em}.top-bar-sub{font-size:12px;color:#ffffffa6;margin-top:2px;font-weight:400;letter-spacing:.01em}.scroll-area{flex:1;overflow-y:auto;background:var(--color-background-secondary);-webkit-overflow-scrolling:touch}.section{padding:12px 14px 0}.section-label{font-size:11px;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.8px;margin-bottom:10px}.card{background:var(--color-background-primary);border-radius:var(--radius-lg);border:1px solid rgba(0,0,0,.04);padding:14px;margin-bottom:10px;box-shadow:var(--shadow-card);transition:transform .15s ease,box-shadow .15s ease}.card:active{transform:scale(.99)}.metric-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.metric-tile{background:var(--color-background-primary);border-radius:var(--radius-md);padding:14px 14px 12px;position:relative;overflow:hidden;border:1px solid rgba(0,0,0,.04);box-shadow:var(--shadow-card);transition:transform .2s ease,box-shadow .2s ease}.metric-tile:active{transform:scale(.97)}.metric-tile-label{font-size:11px;font-weight:500;color:var(--color-text-tertiary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.4px}.metric-tile-val{font-size:22px;font-weight:700;color:var(--color-text-primary);letter-spacing:-.02em;line-height:1.1}.metric-tile-sub{font-size:11px;color:var(--color-text-success);margin-top:4px;font-weight:500}.student-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.av{width:38px;height:38px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;flex-shrink:0;transition:transform .2s ease}.av-blue{background:linear-gradient(135deg,#e0f0ff,#bcd8f5);color:#145da0}.av-teal{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#047857}.av-coral{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#b91c1c}.av-purple{background:linear-gradient(135deg,#ede9fe,#ddd6fe);color:#6d28d9}.av-amber{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#b45309}.s-name{font-size:14px;font-weight:500;color:var(--color-text-primary)}.s-sub{font-size:11px;color:var(--color-text-secondary)}.badge{display:inline-flex;align-items:center;gap:3px;padding:3px 9px;border-radius:var(--radius-full);font-size:10px;font-weight:600;letter-spacing:.02em}.badge-success{background:var(--color-success-light);color:var(--color-success)}.badge-warning{background:var(--color-warning-light);color:var(--color-warning)}.badge-danger{background:var(--color-danger-light);color:var(--color-danger)}.badge-info{background:var(--color-brand-surface);color:var(--color-brand)}.badge-gray{background:#f1f5f9;color:#64748b}.pill-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.sessions-bar{background:var(--color-background-secondary);border-radius:var(--radius-full);overflow:hidden;height:5px;margin:4px 0}.sessions-fill{height:100%;border-radius:var(--radius-full)}.tap-btn{width:100%;padding:12px;border-radius:var(--radius-md);border:none;font-size:13px;font-weight:600;cursor:pointer;text-align:center;transition:transform .15s ease,opacity .15s ease;letter-spacing:.01em}.tap-btn:active{transform:scale(.97);opacity:.85}.tap-primary{background:linear-gradient(135deg,var(--color-brand) 0%,var(--color-brand-light) 100%);color:#fff;box-shadow:0 2px 8px #145da040}.tap-success{background:linear-gradient(135deg,#16a34a,#22c55e);color:#fff;box-shadow:0 2px 8px #16a34a40}.tap-danger{background:linear-gradient(135deg,#dc2626,#ef4444);color:#fff;box-shadow:0 2px 8px #dc262640}.tap-outline{background:transparent;border:1.5px solid var(--color-border-secondary);color:var(--color-text-primary)}.tap-wa{background:linear-gradient(135deg,#25d366,#128c7e);color:#fff;box-shadow:0 2px 8px #25d36640}.divider{height:1px;background:var(--color-border-tertiary);margin:10px 0}.row-between{display:flex;justify-content:space-between;align-items:center}.label-sm{font-size:11px;color:var(--color-text-secondary)}.val-sm{font-size:12px;color:var(--color-text-primary);font-weight:500}.text-danger{color:var(--color-danger)!important}.text-success{color:var(--color-success)!important}.text-warning{color:var(--color-warning)!important}.icon-btn{width:36px;height:36px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.15);background:#ffffff1a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;transition:background .2s ease,transform .15s ease}.icon-btn:active{transform:scale(.92);background:#fff3}.icon-btn--danger{background:#dc262640;border-color:#dc26264d}.icon-btn--danger:active{background:#dc262666}.fab{position:fixed;bottom:84px;right:20px;width:52px;height:52px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-brand) 0%,var(--color-brand-light) 100%);color:#fff;border:none;font-size:24px;font-weight:300;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 16px #145da059;z-index:100;transition:transform .2s ease,box-shadow .2s ease}.fab:active{transform:scale(.92);box-shadow:0 2px 8px #145da040}.alert-banner{background:var(--color-danger-light);border:1px solid rgba(220,38,38,.1);border-radius:var(--radius-md);padding:12px 14px;margin-bottom:10px;display:flex;align-items:center;gap:10px}.alert-banner-warn{background:var(--color-warning-light);border-color:#d977061a}.alert-icon{font-size:16px}.alert-text{font-size:12px;color:var(--color-danger);flex:1;font-weight:500}.alert-text-warn{font-size:12px;color:var(--color-warning);flex:1;font-weight:500}.alert-action{font-size:11px;font-weight:600;color:var(--color-brand);cursor:pointer;white-space:nowrap}.att-item{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--color-border-tertiary)}.att-item:last-child{border-bottom:none}.one-tap{width:56px;height:28px;border-radius:var(--radius-sm);border:none;font-size:11px;font-weight:600;cursor:pointer;transition:transform .15s ease}.one-tap:active{transform:scale(.92)}.tap-done{background:var(--color-success-light);color:var(--color-success)}.tap-mark{background:var(--color-brand);color:#fff}.photo-zone{border:2px dashed var(--color-border-secondary);border-radius:var(--radius-md);padding:24px;text-align:center;margin-bottom:10px;transition:border-color .2s ease}.photo-icon{font-size:28px;margin-bottom:6px}.photo-hint{font-size:12px;color:var(--color-text-secondary)}.receipt-card{background:var(--color-background-secondary);border-radius:var(--radius-md);padding:10px 12px;margin-bottom:8px}.rcpt-row{display:flex;justify-content:space-between;font-size:12px;padding:2px 0}.pkg-option{border:1.5px solid var(--color-border-tertiary);border-radius:var(--radius-md);padding:12px 14px;margin-bottom:8px;cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .15s ease}.pkg-option:active{transform:scale(.98)}.pkg-option.selected{border-color:var(--color-brand);background:var(--color-brand-surface)}.pkg-name{font-size:13px;font-weight:600;color:var(--color-text-primary)}.pkg-detail{font-size:11px;color:var(--color-text-secondary);margin-top:2px}.pkg-price{font-size:14px;font-weight:600;color:var(--color-brand);margin-top:4px}.bottom-nav{background:var(--color-background-primary);border-top:1px solid rgba(0,0,0,.05);display:flex;padding:8px 0 max(env(safe-area-inset-bottom,8px),12px);flex-shrink:0;box-shadow:0 -4px 20px #0000000a}.bnav-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10px;font-weight:500;color:var(--color-text-tertiary);cursor:pointer;text-decoration:none;padding:4px 0;transition:color .2s ease;position:relative}.bnav-item.active{color:var(--color-brand);font-weight:600}.bnav-item.active:after{content:"";position:absolute;bottom:-2px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:var(--radius-full);background:var(--color-brand)}.bnav-icon{font-size:20px;line-height:1;transition:transform .2s ease}.bnav-item.active .bnav-icon{transform:scale(1.1)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}router-outlet+*{animation:pageSlideIn .25s ease-out}@keyframes pageSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.scroll-area::-webkit-scrollbar{width:3px}.scroll-area::-webkit-scrollbar-track{background:transparent}.scroll-area::-webkit-scrollbar-thumb{background:#0000001f;border-radius:10px}.segment-control{display:flex;background:var(--color-background-secondary);border-radius:var(--radius-lg);padding:4px;gap:4px;margin-bottom:8px}.segment-btn{flex:1;padding:10px 4px;border:none;background:transparent;border-radius:var(--radius-md);font-size:13px;font-weight:600;color:var(--color-text-secondary);font-family:var(--font-sans);cursor:pointer;transition:all .2s ease;position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column}.segment-btn.selected{background:var(--color-background-primary);color:var(--color-text-primary);box-shadow:var(--shadow-sm)}.segment-btn:active{transform:scale(.98)}.segment-btn .chip-pro-badge{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:8px;font-weight:800;padding:1px 4px;border-radius:4px;margin-left:4px;vertical-align:middle}.segment-btn.chip-disabled{opacity:.5;cursor:not-allowed}
