@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{--bg-app: #FBF7F2;--bg-card: #FFFFFF;--bg-card-pressed: #F4EFE8;--bg-overlay: rgba(20, 16, 12, .55);--border-subtle: #ECE5DB;--border-default: #DDD3C5;--border-strong: #BFB2A0;--text-primary: #1F1B16;--text-secondary: #5A5048;--text-tertiary: #8A7F73;--text-on-accent: #FFFFFF;--text-on-success: #FFFFFF;--text-on-danger: #FFFFFF;--success-base: #16A34A;--success-soft: #DCFCE7;--success-text: #14532D;--warning-base: #D97706;--warning-soft: #FEF3C7;--warning-text: #78350F;--danger-base: #DC2626;--danger-soft: #FEE2E2;--danger-text: #7F1D1D;--info-base: #2563EB;--info-soft: #DBEAFE;--info-text: #1E3A8A;--neutral-base: #6B7280;--neutral-soft: #F3F4F6;--neutral-text: #374151;--cta-in-bg: #16A34A;--cta-in-bg-pressed: #15803D;--cta-out-bg: #EA580C;--cta-out-bg-pressed: #C2410C;--color-accent: #2563EB;--color-accent-soft: #DBEAFE;--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--text-display: 36px;--lh-display: 40px;--text-h1: 28px;--lh-h1: 34px;--text-h2: 22px;--lh-h2: 28px;--text-h3: 18px;--lh-h3: 24px;--text-body-lg: 17px;--lh-body-lg: 24px;--text-body: 15px;--lh-body: 22px;--text-body-sm: 13px;--lh-body-sm: 18px;--text-caption: 12px;--lh-caption: 16px;--text-overline: 11px;--lh-overline: 14px;--text-numeric-xl: 32px;--lh-numeric-xl: 36px;--text-numeric-lg: 24px;--lh-numeric-lg: 28px;--text-numeric-md: 18px;--lh-numeric-md: 22px;--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 28px;--radius-pill: 999px;--shadow-1: 0 1px 2px rgba(20, 16, 12, .04), 0 1px 1px rgba(20, 16, 12, .06);--shadow-2: 0 2px 4px rgba(20, 16, 12, .05), 0 4px 8px rgba(20, 16, 12, .06);--shadow-3: 0 4px 8px rgba(20, 16, 12, .06), 0 12px 24px rgba(20, 16, 12, .08);--shadow-cta-in: 0 4px 14px rgba(22, 163, 74, .25);--shadow-cta-out: 0 4px 14px rgba(234, 88, 12, .25);--motion-fast: .12s ease-out;--motion-base: .2s ease-out;--motion-slow: .32s ease-in-out;--motion-emphatic: .48s cubic-bezier(.22, 1, .36, 1)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg-app: #0E0F14;--bg-card: #181A22;--bg-card-pressed: #20232E;--bg-overlay: rgba(0, 0, 0, .65);--border-subtle: #23262F;--border-default: #2E323D;--border-strong: #444958;--text-primary: #F5F5F7;--text-secondary: #B5B7C0;--text-tertiary: #7A7E8C;--text-on-accent: #FFFFFF;--text-on-success: #052E16;--text-on-danger: #FFFFFF;--success-base: #22C55E;--success-soft: rgba(34, 197, 94, .15);--success-text: #86EFAC;--warning-base: #F59E0B;--warning-soft: rgba(245, 158, 11, .18);--warning-text: #FCD34D;--danger-base: #EF4444;--danger-soft: rgba(239, 68, 68, .18);--danger-text: #FCA5A5;--info-base: #3B82F6;--info-soft: rgba(59, 130, 246, .18);--info-text: #93C5FD;--neutral-base: #6B7280;--neutral-soft: rgba(107, 114, 128, .18);--neutral-text: #D1D5DB;--cta-in-bg: #22C55E;--cta-in-bg-pressed: #16A34A;--cta-out-bg: #F97316;--cta-out-bg-pressed: #EA580C;--color-accent: #60A5FA;--color-accent-soft: rgba(96, 165, 250, .18);--shadow-1: none;--shadow-2: inset 0 1px 0 rgba(255, 255, 255, .04);--shadow-3: 0 4px 24px rgba(0, 0, 0, .4);--shadow-cta-in: 0 8px 32px rgba(34, 197, 94, .35);--shadow-cta-out: 0 8px 32px rgba(249, 115, 22, .35)}}:root[data-theme=dark]{--bg-app: #0E0F14;--bg-card: #181A22;--bg-card-pressed: #20232E;--bg-overlay: rgba(0, 0, 0, .65);--border-subtle: #23262F;--border-default: #2E323D;--border-strong: #444958;--text-primary: #F5F5F7;--text-secondary: #B5B7C0;--text-tertiary: #7A7E8C;--text-on-accent: #FFFFFF;--text-on-success: #052E16;--text-on-danger: #FFFFFF;--success-base: #22C55E;--success-soft: rgba(34, 197, 94, .15);--success-text: #86EFAC;--warning-base: #F59E0B;--warning-soft: rgba(245, 158, 11, .18);--warning-text: #FCD34D;--danger-base: #EF4444;--danger-soft: rgba(239, 68, 68, .18);--danger-text: #FCA5A5;--info-base: #3B82F6;--info-soft: rgba(59, 130, 246, .18);--info-text: #93C5FD;--neutral-base: #6B7280;--neutral-soft: rgba(107, 114, 128, .18);--neutral-text: #D1D5DB;--cta-in-bg: #22C55E;--cta-in-bg-pressed: #16A34A;--cta-out-bg: #F97316;--cta-out-bg-pressed: #EA580C;--color-accent: #60A5FA;--color-accent-soft: rgba(96, 165, 250, .18);--shadow-1: none;--shadow-2: inset 0 1px 0 rgba(255, 255, 255, .04);--shadow-3: 0 4px 24px rgba(0, 0, 0, .4);--shadow-cta-in: 0 8px 32px rgba(34, 197, 94, .35);--shadow-cta-out: 0 8px 32px rgba(249, 115, 22, .35)}@media(prefers-reduced-motion:reduce){:root{--motion-fast: 0ms;--motion-base: 0ms;--motion-slow: 0ms;--motion-emphatic: 0ms}}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:var(--font-sans);font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{background:var(--bg-app);color:var(--text-primary)}button{font-family:inherit;cursor:pointer}input,textarea{font-family:inherit}.phone{width:380px;height:780px;background:var(--bg-app);color:var(--text-primary);position:relative;overflow:hidden;display:flex;flex-direction:column;font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--lh-body)}.phone-scroll{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.topbar-greeting{padding:var(--space-5) var(--space-4) var(--space-3);display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);border-bottom:1px solid var(--border-subtle)}:root[data-theme=dark] .topbar-greeting,:root:not([data-theme=light]) .topbar-greeting{border-bottom:none}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .topbar-greeting{border-bottom:none}}.topbar-greeting .greeting{font-size:var(--text-body-sm);line-height:var(--lh-body-sm);color:var(--text-secondary);margin:0 0 2px;display:flex;align-items:center;gap:6px}.topbar-greeting .name{font-size:var(--text-h2);line-height:var(--lh-h2);font-weight:700;color:var(--text-primary);margin:0}.topbar-greeting .subline{font-size:var(--text-body-sm);line-height:var(--lh-body-sm);color:var(--text-tertiary);margin-top:2px}.icon-btn{width:44px;height:44px;border-radius:var(--radius-pill);border:0;background:transparent;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;transition:background var(--motion-fast)}.icon-btn:active{background:var(--bg-card-pressed)}.icon-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.topbar-title{height:60px;display:flex;align-items:center;padding:0 var(--space-2);border-bottom:1px solid var(--border-subtle)}.topbar-title .back{margin-right:var(--space-1)}.topbar-title .title{flex:1;text-align:center;font-size:var(--text-h2);line-height:var(--lh-h2);font-weight:600;color:var(--text-primary);margin:0;padding-right:44px}:root[data-theme=dark] .topbar-title{border-bottom:none}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .topbar-title{border-bottom:none}}.bottom-nav{height:64px;display:flex;background:var(--bg-card);box-shadow:var(--shadow-3);border-top:1px solid transparent;padding-bottom:env(safe-area-inset-bottom,0)}:root[data-theme=dark] .bottom-nav{box-shadow:none;border-top-color:var(--border-subtle)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .bottom-nav{box-shadow:none;border-top-color:var(--border-subtle)}}.nav-tab{flex:1;background:transparent;border:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--text-tertiary);padding:8px 0;position:relative}.nav-tab .nav-label{font-size:var(--text-caption);line-height:var(--lh-caption);font-weight:500}.nav-tab.active{color:var(--text-primary)}.nav-tab.active .nav-label{font-weight:600}.nav-tab.active:before{content:"";position:absolute;top:4px;width:4px;height:4px;border-radius:50%;background:var(--color-accent)}.card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);padding:var(--space-4);border:1px solid transparent}:root[data-theme=dark] .card{border-color:var(--border-subtle)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .card{border-color:var(--border-subtle)}}.card.hero{border-radius:var(--radius-xl);padding:var(--space-6)}.card.hero.in,.card.hero.out{box-shadow:none;border:1px solid transparent;background:var(--bg-card)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:0;border-radius:var(--radius-pill);padding:14px 24px;font-size:var(--text-body-lg);font-weight:600;line-height:1;min-height:56px;width:100%;transition:transform var(--motion-fast),background var(--motion-fast),opacity var(--motion-fast)}.btn:active:not(:disabled){transform:scale(.97)}.btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--color-accent);color:var(--text-on-accent)}.btn-primary:active:not(:disabled){background:color-mix(in oklab,var(--color-accent),black 10%)}.btn-secondary{background:transparent;color:var(--text-primary);border:1px solid var(--border-default)}.btn-secondary:active:not(:disabled){background:var(--bg-card-pressed)}.btn-tertiary{background:transparent;color:var(--color-accent);min-height:0;padding:8px 0;border-radius:4px}.btn-danger{background:var(--danger-base);color:var(--text-on-danger)}.btn-success{background:var(--success-base);color:#fff}.btn-md{min-height:48px;padding:12px 20px;font-size:var(--text-body);border-radius:var(--radius-md)}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:var(--text-caption);line-height:var(--lh-caption);font-weight:600;color:var(--text-secondary);letter-spacing:.02em}.field-control{position:relative;display:flex;align-items:center;background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);height:52px;padding:0 14px;transition:border-color var(--motion-fast),box-shadow var(--motion-fast)}.field-control:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.field-control.error{border-color:var(--danger-base)}.field-control input,.field-control textarea{flex:1;border:0;outline:0;background:transparent;font-size:var(--text-body-lg);line-height:1.4;color:var(--text-primary);height:100%}.field-control input::placeholder,.field-control textarea::placeholder{color:var(--text-tertiary)}textarea.field-control{height:auto;align-items:flex-start;padding:12px 14px;color:var(--text-primary);background:var(--bg-card);resize:none}textarea.field-control::placeholder{color:var(--text-tertiary)}.field-control .adornment{color:var(--text-tertiary);padding-right:8px;font-size:var(--text-body-lg);font-weight:600}.field-control .adornment-right{background:transparent;border:0;color:var(--text-tertiary);padding:4px;display:inline-flex;align-items:center}.field-helper{font-size:var(--text-body-sm);line-height:var(--lh-body-sm);color:var(--text-tertiary)}.field-helper.error{color:var(--danger-text)}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-pill);font-size:var(--text-caption);line-height:var(--lh-caption);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.badge.success{background:var(--success-soft);color:var(--success-text)}.badge.warning{background:var(--warning-soft);color:var(--warning-text)}.badge.danger{background:var(--danger-soft);color:var(--danger-text)}.badge.info{background:var(--info-soft);color:var(--info-text)}.badge.neutral{background:var(--neutral-soft);color:var(--neutral-text)}.day-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-2)}.day-cell{height:62px;background:var(--bg-card);border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:1px solid var(--border-subtle);font-size:var(--text-caption);color:var(--text-tertiary);font-weight:600;cursor:pointer}.day-cell:disabled{cursor:default;opacity:.45}.day-cell.today{border-color:var(--color-accent);border-width:2px;color:var(--text-primary)}.day-cell.present{background:#22c55e1a;border-color:#22c55e59}.day-cell.absent{background:#ef44441a;border-color:#ef444459}.day-cell.late{background:#f59e0b1a;border-color:#f59e0b59}.day-cell.leave{background:#3b82f61a;border-color:#3b82f659}.day-tag{font-size:10px;font-weight:700;letter-spacing:.03em;padding:1px 5px;border-radius:4px;line-height:14px}.day-cell.present .day-tag{background:#22c55e2e;color:var(--success-text)}.day-cell.absent .day-tag{background:#ef44442e;color:var(--danger-text)}.day-cell.late .day-tag{background:#f59e0b2e;color:var(--warning-text)}.day-cell.leave .day-tag{background:#3b82f62e;color:var(--info-text)}.day-cell.off .day-tag{color:var(--text-tertiary)}:root[data-theme=dark] .day-cell.present{background:#22c55e1f;border-color:#22c55e40}:root[data-theme=dark] .day-cell.absent{background:#ef44441f;border-color:#ef444440}:root[data-theme=dark] .day-cell.late{background:#f59e0b1f;border-color:#f59e0b40}:root[data-theme=dark] .day-cell.leave{background:#3b82f61f;border-color:#3b82f640}:root[data-theme=dark] .day-cell.present .day-tag{color:#86efac}:root[data-theme=dark] .day-cell.absent .day-tag{color:#fca5a5}:root[data-theme=dark] .day-cell.late .day-tag{color:#fcd34d}:root[data-theme=dark] .day-cell.leave .day-tag{color:#93c5fd}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .day-cell.present{background:#22c55e1f;border-color:#22c55e40}:root:not([data-theme=light]) .day-cell.absent{background:#ef44441f;border-color:#ef444440}:root:not([data-theme=light]) .day-cell.late{background:#f59e0b1f;border-color:#f59e0b40}:root:not([data-theme=light]) .day-cell.leave{background:#3b82f61f;border-color:#3b82f640}:root:not([data-theme=light]) .day-cell.present .day-tag{color:#86efac}:root:not([data-theme=light]) .day-cell.absent .day-tag{color:#fca5a5}:root:not([data-theme=light]) .day-cell.late .day-tag{color:#fcd34d}:root:not([data-theme=light]) .day-cell.leave .day-tag{color:#93c5fd}}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.stat-tile{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--space-4);border:1px solid var(--border-subtle);text-align:left;position:relative;overflow:hidden}.stat-tile .value{font-size:var(--text-numeric-lg);line-height:var(--lh-numeric-lg);font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.stat-tile .label{font-size:var(--text-overline);line-height:var(--lh-overline);letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);font-weight:600;margin-top:4px}.overline{font-size:var(--text-overline);line-height:var(--lh-overline);letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);font-weight:600}.h2{font-size:var(--text-h2);line-height:var(--lh-h2);font-weight:600}.h3{font-size:var(--text-h3);line-height:var(--lh-h3);font-weight:600}.body{font-size:var(--text-body);line-height:var(--lh-body)}.body-lg{font-size:var(--text-body-lg);line-height:var(--lh-body-lg)}.body-sm{font-size:var(--text-body-sm);line-height:var(--lh-body-sm)}.banner{display:flex;align-items:center;gap:var(--space-2);padding:8px var(--space-4);font-size:var(--text-body-sm);line-height:var(--lh-body-sm);font-weight:500}.banner.warning{background:var(--warning-soft);color:var(--warning-text)}.banner.danger{background:var(--danger-soft);color:var(--danger-text)}.inline-error{border-radius:var(--radius-md);padding:12px var(--space-4);background:var(--danger-soft);color:var(--danger-text);font-size:var(--text-body-sm);line-height:var(--lh-body-sm);display:flex;gap:var(--space-2);align-items:flex-start}.toast{display:inline-flex;align-items:center;gap:var(--space-2);height:56px;padding:12px 20px;border-radius:var(--radius-pill);font-size:var(--text-body);font-weight:500;box-shadow:var(--shadow-3);max-width:90%}.toast.success{background:var(--success-base);color:#fff}.toast.error{background:var(--danger-base);color:#fff}.toast.info{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-subtle)}.sheet-backdrop{position:absolute;inset:0;background:var(--bg-overlay);display:flex;flex-direction:column;justify-content:flex-end}.sheet{background:var(--bg-card);border-top-left-radius:var(--radius-2xl);border-top-right-radius:var(--radius-2xl);padding:var(--space-5) var(--space-6) var(--space-6)}.sheet-handle{width:40px;height:4px;border-radius:var(--radius-pill);background:var(--border-strong);margin:0 auto var(--space-4)}.skel{background:var(--bg-card-pressed);border-radius:var(--radius-md);position:relative;overflow:hidden}.skel:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.35) 50%,transparent 100%);transform:translate(-100%);animation:shimmer 1.6s ease-in-out infinite}:root[data-theme=dark] .skel:after{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.05) 50%,transparent 100%)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .skel:after{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.05) 50%,transparent 100%)}}@keyframes shimmer{to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.skel:after{animation:none}}.perm-circle{width:96px;height:96px;border-radius:50%;background:var(--color-accent-soft);color:var(--color-accent);display:inline-flex;align-items:center;justify-content:center}@keyframes spin{to{transform:rotate(360deg)}}.spinner{display:inline-block;width:20px;height:20px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite}@keyframes pop-in{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:1}}.pop-in{animation:pop-in .48s cubic-bezier(.22,1,.36,1) both}@keyframes fade-up{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.fade-up{animation:fade-up .32s ease-out both}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}button:focus{outline:none}button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.badge.present{background:var(--success-soft);color:var(--success-text)}.badge.absent{background:var(--danger-soft);color:var(--danger-text)}.badge.ot{background:#4ade8026;color:#166534}.badge.late{background:var(--warning-soft);color:var(--warning-text)}.badge.early-out{background:#fb923c1f;color:#9a3412}.badge.leave{background:var(--info-soft);color:var(--info-text)}.badge.holiday,.badge.weekly-off{background:var(--neutral-soft);color:var(--neutral-text)}.badge.flagged{background:var(--warning-soft);color:var(--warning-text)}.badge.locked{background:var(--neutral-soft);color:var(--neutral-text)}.badge.half-day{background:var(--warning-soft);color:var(--warning-text)}.badge.regularized{background:var(--success-soft);color:var(--success-text)}.badge.unclassified,.badge.draft{background:var(--neutral-soft);color:var(--neutral-text)}.badge.posted{background:var(--success-soft);color:var(--success-text)}.badge.voided{background:var(--danger-soft);color:var(--danger-text)}.badge.expired{background:var(--neutral-soft);color:var(--neutral-text)}:root[data-theme=dark] .badge.ot{color:#4ade80}:root[data-theme=dark] .badge.early-out{color:#fb923c}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .badge.ot{color:#4ade80}:root:not([data-theme=light]) .badge.early-out{color:#fb923c}}.cal-header{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px}.cal-header-cell{text-align:center;font-size:var(--text-overline);color:var(--text-tertiary);font-weight:600;padding:4px 0}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-cell{aspect-ratio:1;border-radius:10px;border:1px solid var(--border-subtle);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;background:transparent;padding:0;font-size:var(--text-caption);font-weight:600;color:var(--text-tertiary);transition:opacity var(--motion-fast)}.cal-cell:active{opacity:.7}.cal-cell.today{border:2px solid var(--color-accent);color:var(--color-accent)}.cal-cell.present{background:#22c55e1a;border-color:#22c55e4d;color:#16a34a}.cal-cell.ot{background:#4ade801a;border-color:#4ade804d;color:#16a34a}.cal-cell.absent{background:#ef44441a;border-color:#ef44444d;color:#dc2626}.cal-cell.late{background:#f59e0b1a;border-color:#f59e0b4d;color:#d97706}.cal-cell.early-out{background:#fb923c1a;border-color:#fb923c4d;color:#ea580c}.cal-cell.paid-leave{background:#60a5fa1a;border-color:#60a5fa4d;color:#2563eb}.cal-cell.holiday{background:#4755691a;border-color:#4755694d;color:#64748b}.cal-cell.weekly-off{background:#47556914;border-color:#47556933;color:#94a3b8}.cal-cell.flagged{background:#f59e0b1a;border-color:#f59e0b4d;color:#d97706}.cal-cell.locked{background:#6b728014;border-color:#6b728033;color:#6b7280}:root[data-theme=dark] .cal-cell.present{color:#4ade80}:root[data-theme=dark] .cal-cell.ot{color:#86efac}:root[data-theme=dark] .cal-cell.absent{color:#f87171}:root[data-theme=dark] .cal-cell.late,:root[data-theme=dark] .cal-cell.flagged{color:#fbbf24}:root[data-theme=dark] .cal-cell.early-out{color:#fb923c}:root[data-theme=dark] .cal-cell.paid-leave{color:#60a5fa}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .cal-cell.present{color:#4ade80}:root:not([data-theme=light]) .cal-cell.ot{color:#86efac}:root:not([data-theme=light]) .cal-cell.absent{color:#f87171}:root:not([data-theme=light]) .cal-cell.late,:root:not([data-theme=light]) .cal-cell.flagged{color:#fbbf24}:root:not([data-theme=light]) .cal-cell.early-out{color:#fb923c}:root:not([data-theme=light]) .cal-cell.paid-leave{color:#60a5fa}}.cal-dot{width:4px;height:4px;border-radius:50%;background:currentColor}.cal-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:14px}.cal-legend-item{display:flex;align-items:center;gap:5px;font-size:var(--text-overline);color:var(--text-tertiary)}.cal-legend-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0}.punch-chip{width:36px;height:36px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;letter-spacing:.04em;flex-shrink:0}.punch-chip.punch-in{background:#22c55e1f;color:#16a34a}.punch-chip.punch-out{background:#fb923c1f;color:#ea580c}:root[data-theme=dark] .punch-chip.punch-in{color:#4ade80}:root[data-theme=dark] .punch-chip.punch-out{color:#fb923c}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .punch-chip.punch-in{color:#4ade80}:root:not([data-theme=light]) .punch-chip.punch-out{color:#fb923c}}.selfie-thumb{width:40px;height:40px;border-radius:8px;object-fit:cover;border:1px solid var(--border-default);flex-shrink:0}.selfie-thumb-placeholder{width:40px;height:40px;border-radius:8px;background:var(--bg-card-pressed);border:1px solid var(--border-default);display:inline-flex;align-items:center;justify-content:center;color:var(--text-tertiary);flex-shrink:0}.stat-strip{display:flex;background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);overflow:hidden}.stat-strip-item{flex:1;display:flex;flex-direction:column;align-items:center;padding:16px 8px;gap:4px;border-right:1px solid var(--border-subtle)}.stat-strip-item:last-child{border-right:none}.stat-strip-value{font-size:var(--text-numeric-lg);font-weight:700;font-variant-numeric:tabular-nums}.stat-strip-label{font-size:var(--text-overline);letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);font-weight:600}.stat-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.tab-bar{display:flex;border-bottom:1px solid var(--border-subtle);padding:0 16px}.tab-btn{flex:1;padding:14px 0;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-tertiary);font-size:var(--text-body-sm);font-weight:700;letter-spacing:.04em;cursor:pointer;text-transform:capitalize;transition:color var(--motion-fast),border-color var(--motion-fast)}.tab-btn.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.range-trigger{display:flex;align-items:center;gap:6px;background:var(--bg-card-pressed);border:1px solid var(--border-default);border-radius:10px;padding:5px 10px 5px 12px;cursor:pointer;font-size:var(--text-body-sm);color:var(--text-secondary);font-weight:500}.range-dropdown{position:absolute;top:calc(100% + 6px);right:0;z-index:100;background:var(--bg-card);border:1px solid var(--border-default);border-radius:14px;box-shadow:var(--shadow-3);min-width:220px;overflow:hidden}.range-option{width:100%;padding:13px 16px;text-align:left;background:none;border:none;border-top:1px solid var(--border-subtle);cursor:pointer;display:flex;flex-direction:column;gap:2px;transition:background var(--motion-fast)}.range-option:first-child{border-top:none}.range-option:hover,.range-option.active-range{background:var(--color-accent-soft)}.range-option .range-opt-label{font-size:var(--text-body);font-weight:600;color:var(--text-primary)}.range-option.active-range .range-opt-label{color:var(--color-accent)}.range-option .range-opt-sub{font-size:var(--text-caption);color:var(--text-tertiary)}.issue-radio{width:100%;padding:13px 16px;text-align:left;background:var(--bg-card);border:1.5px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;gap:12px;transition:border-color var(--motion-fast),background var(--motion-fast)}.issue-radio.selected{background:var(--color-accent-soft);border-color:var(--color-accent)}.issue-radio-circle{width:18px;height:18px;border-radius:50%;border:2px solid var(--border-strong);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.issue-radio.selected .issue-radio-circle{border-color:var(--color-accent);background:var(--color-accent)}.issue-radio-dot{width:6px;height:6px;border-radius:50%;background:#fff}.issue-radio-text{font-size:var(--text-body);color:var(--text-secondary);font-weight:400}.issue-radio.selected .issue-radio-text{color:var(--text-primary);font-weight:500}.field-textarea{padding:13px 14px;background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-body);resize:none;width:100%;line-height:1.6;transition:border-color var(--motion-fast),box-shadow var(--motion-fast)}.field-textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.time-input{padding:13px 14px;background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-body);width:100%;transition:border-color var(--motion-fast),box-shadow var(--motion-fast)}.time-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}:root[data-theme=dark] .time-input{color-scheme:dark}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .time-input{color-scheme:dark}}:root[data-theme=dark] input[type=date].field-control{color-scheme:dark}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) input[type=date].field-control{color-scheme:dark}}.profile-avatar{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#1e3a5f,#2563eb);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:28px;font-weight:700;color:#fff;letter-spacing:.02em}.info-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--border-subtle);font-size:var(--text-body)}.info-row .info-key{color:var(--text-tertiary)}.info-row .info-val{color:var(--text-secondary);font-weight:500}.info-row:last-child{border-bottom:none}.punch-recon{background:#f59e0b0f!important;border-color:#f59e0b40!important}.screen-header{display:flex;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-subtle);gap:12px;flex-shrink:0;min-height:60px}.screen-header .sh-title{flex:1;font-size:var(--text-h2);font-weight:700;color:var(--text-primary)}:root[data-theme=dark] .screen-header{border-bottom-color:var(--border-subtle)}.salary-amount{font-size:var(--text-numeric-xl);font-weight:700;color:var(--success-base);font-variant-numeric:tabular-nums}.salary-row{display:flex;justify-content:space-between;font-size:var(--text-body-sm)}.salary-row.net{border-top:1px solid var(--border-subtle);padding-top:8px;font-weight:600}.salary-row .sr-key{color:var(--text-tertiary)}.salary-row .sr-val{color:var(--text-secondary);font-weight:500}.salary-row.net .sr-val{color:var(--success-base);font-weight:700}html,body{height:100%;overflow:hidden}app-root{display:flex;flex-direction:column;height:100%}@media screen and (orientation:landscape){body:after{content:"";position:fixed;inset:0;background:#0e0f14;z-index:99999}body:before{content:"Please rotate your device to portrait mode";position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;font-family:Inter,sans-serif;font-size:16px;font-weight:600;color:#fff;white-space:pre-wrap}}app-root>router-outlet+*{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden}
