@font-face{font-family:Manrope;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggqxSuXd.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:Manrope;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggOxSuXd.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggSxSuXd.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:Manrope;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggixSuXd.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:Manrope;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggmxSuXd.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:Manrope;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggexSg.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:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggqxSuXd.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:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggOxSuXd.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggSxSuXd.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:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggixSuXd.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:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggmxSuXd.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:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggexSg.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:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggqxSuXd.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:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggOxSuXd.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggSxSuXd.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:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggixSuXd.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:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggmxSuXd.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:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggexSg.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:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggqxSuXd.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:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggOxSuXd.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggSxSuXd.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:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggixSuXd.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:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggmxSuXd.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:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggexSg.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:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggqxSuXd.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:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggOxSuXd.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggSxSuXd.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:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggixSuXd.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:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggmxSuXd.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:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggexSg.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:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggqxSuXd.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:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggOxSuXd.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggSxSuXd.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:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggixSuXd.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:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggmxSuXd.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:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggexSg.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{--font-family: "Manrope", sans-serif;color-scheme:dark light;--brand-green: #61B748;--green-dark: #4E9639;--green-tint: #C8EABD;--ink: #1A1F23;--slate: #9AA3AD;--off-white: #F5F5F0;--white: #FFFFFF;--secondary: #275046;--alert: #EB4335;--warning: #F8A82E;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 16px;--bg-dark: var(--ink);--surface-dark: color-mix(in srgb, var(--ink) 88%, var(--white));--text-primary-dark: var(--white);--text-secondary-dark: var(--slate);--border-dark: color-mix(in srgb, var(--white) 10%, transparent);--bg-light: var(--off-white);--surface-light: var(--white);--text-primary-light: var(--ink);--text-secondary-light: color-mix(in srgb, var(--ink) 58%, var(--slate));--border-light: color-mix(in srgb, var(--ink) 12%, transparent);--brand-green-soft: color-mix(in srgb, var(--brand-green) 12%, transparent);--brand-green-border: color-mix(in srgb, var(--brand-green) 40%, transparent);--surface-hover-light: color-mix(in srgb, var(--ink) 4%, transparent);--surface-hover-dark: color-mix(in srgb, var(--white) 6%, transparent);--shadow-soft: 0 8px 24px color-mix(in srgb, var(--ink) 12%, transparent);--shadow-brand: 0 8px 24px color-mix(in srgb, var(--brand-green) 24%, transparent);--status-online: var(--brand-green);--bg: var(--bg-dark);--surface: var(--surface-dark);--text-primary: var(--text-primary-dark);--text-secondary: var(--text-secondary-dark);--border: var(--border-dark);--surface-hover: var(--surface-hover-dark)}.light-theme{--bg: var(--bg-light);--surface: var(--surface-light);--text-primary: var(--text-primary-light);--text-secondary: var(--text-secondary-light);--border: var(--border-light);--surface-hover: var(--surface-hover-light)}*{box-sizing:border-box;-webkit-font-smoothing:antialiased}body{margin:0;font-family:var(--font-family);background-color:var(--bg);color:var(--text-primary);overflow:hidden;line-height:1.5}.display{font-size:48px;font-weight:800;line-height:1.1;color:var(--text-primary)}.h1{font-size:32px;font-weight:700;line-height:1.2;color:var(--text-primary)}.h2{font-size:24px;font-weight:600;line-height:1.3;color:var(--text-primary)}.body,.body-text{font-size:16px;font-weight:400;color:var(--text-primary)}.label-ui{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary)}.caption{font-size:11px;font-weight:400;color:var(--text-secondary)}button,input,textarea,select{font:inherit}.mat-mdc-menu-panel{background:var(--surface)!important;border:1px solid var(--border)!important;border-radius:var(--radius-xl)!important;box-shadow:var(--shadow-soft)!important}.mat-mdc-button-base,.mat-mdc-button,.mat-mdc-raised-button{border-radius:var(--radius-md)!important;font-family:var(--font-family)!important;font-weight:600!important}.mat-mdc-list-item{color:var(--text-primary)!important}.mat-mdc-card-subtitle,.metric-label,.log-meta{color:var(--text-secondary)!important;opacity:1!important}.karebo-portal-menu.mat-mdc-menu-panel{min-width:360px!important;max-width:360px!important;border-radius:var(--radius-xl)!important;margin-top:var(--space-2)!important;background:var(--surface)!important;box-shadow:var(--shadow-soft)!important}.karebo-portal-menu .mat-mdc-menu-content{padding:0!important}.karebo-portal-menu .portal-panel-body{display:flex;flex-direction:column;padding:var(--space-6) 0 var(--space-4);font-family:var(--font-family)}.karebo-portal-menu .identity-header{display:flex;flex-direction:column;align-items:center;padding:0 var(--space-5) var(--space-5)}.karebo-portal-menu .avatar-circle{width:72px;height:72px;min-width:72px;min-height:72px;border-radius:50%;display:grid;place-items:center;background:var(--brand-green);color:var(--white);font-size:24px;margin-bottom:var(--space-4);line-height:1;text-align:center;overflow:hidden}.karebo-portal-menu .person-icon-large{font-size:32px;width:32px;height:32px}.karebo-portal-menu .role-badge{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);background:var(--brand-green-soft);color:var(--green-dark);font-size:12px;font-weight:600;letter-spacing:.1em}.karebo-portal-menu .role-badge mat-icon{font-size:16px;width:16px;height:16px}.karebo-portal-menu .menu-divider{height:1px;background:var(--border);width:100%;margin-bottom:var(--space-4)}.karebo-portal-menu .section-label{font-size:12px;font-weight:600;color:var(--text-secondary);letter-spacing:.1em;padding:0 var(--space-5);margin-bottom:var(--space-2);text-transform:uppercase}.karebo-portal-menu .portal-actions{display:flex;flex-direction:column;gap:var(--space-1)}.karebo-portal-menu .menu-action-item{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-5);background:transparent;border:none;width:100%;text-align:left;cursor:pointer;transition:background-color .2s ease}.karebo-portal-menu .action-icon{color:var(--brand-green);font-size:20px;width:20px;height:20px}.karebo-portal-menu .action-text{display:flex;flex-direction:column;gap:var(--space-1)}.karebo-portal-menu .action-title{font-size:16px;font-weight:600;color:var(--text-primary)}.karebo-portal-menu .signout-item{margin-top:var(--space-2)}.karebo-portal-menu .panel-footer a:hover{color:var(--text-primary)}.karebo-portal-menu .panel-footer .dot{opacity:.6}.mat-mdc-card{background:var(--surface)!important;color:var(--text-primary)!important;border:1px solid var(--border)!important;border-radius:var(--radius-lg)!important;box-shadow:none!important}.mat-mdc-form-field{--mdc-outlined-text-field-container-shape: var(--radius-md) !important;--mdc-outlined-text-field-outline-color: var(--border) !important;--mdc-outlined-text-field-focus-outline-color: var(--brand-green) !important;--mdc-outlined-text-field-hover-outline-color: color-mix(in srgb, var(--brand-green) 40%, var(--border)) !important;--mdc-outlined-text-field-caret-color: var(--brand-green) !important}mat-icon[matIconPrefix]{margin-right:var(--space-2);color:var(--text-secondary)}.mat-mdc-select-arrow-wrapper{transform:translate(-4px)}.mat-mdc-menu-panel,.mat-mdc-select-panel,.mat-mdc-autocomplete-panel{background:var(--surface)!important;border:1px solid var(--border)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-soft)!important;-webkit-backdrop-filter:blur(24px)!important;backdrop-filter:blur(24px)!important}.mat-mdc-option{--mat-option-hover-state-layer-color: color-mix(in srgb, var(--brand-green) 12%, transparent);--mat-option-focus-state-layer-color: color-mix(in srgb, var(--brand-green) 12%, transparent);--mat-option-selected-state-layer-color: color-mix(in srgb, var(--brand-green) 20%, transparent);--mat-option-label-text-color: var(--text-primary);--mat-option-selected-state-label-text-color: var(--brand-green);font-family:var(--font-family)!important;min-height:52px!important}.mdc-tooltip__surface{background:color-mix(in srgb,var(--surface) 30%,#1a1a1a)!important;color:#fff!important;font-family:var(--font-family)!important;font-size:12px!important;font-weight:600!important;border-radius:var(--radius-md)!important;border:1px solid color-mix(in srgb,var(--brand-green) 50%,transparent)!important;padding:8px 14px!important;box-shadow:0 8px 24px -4px #0006!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;letter-spacing:.03em!important;line-height:1.4!important}.light-theme .mdc-tooltip__surface{background:color-mix(in srgb,var(--surface) 20%,#ffffff)!important;color:var(--text-primary)!important;border:1px solid color-mix(in srgb,var(--brand-green) 30%,var(--border))!important;box-shadow:0 8px 24px -4px #0000001a!important}.app-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:48px;padding:0 var(--space-5);font-family:var(--font-family);font-size:14px;font-weight:600;border-radius:var(--radius-md);cursor:pointer;outline:none;border:none;transition:all .2s ease;white-space:nowrap}.app-button:disabled{opacity:.6;cursor:not-allowed}.app-button--primary{background:var(--brand-green);color:var(--surface)}.app-button--primary:hover:not(:disabled){background:color-mix(in srgb,var(--brand-green) 85%,black);transform:translateY(-1px);box-shadow:var(--shadow-soft)}.app-button--secondary{background:color-mix(in srgb,var(--surface) 96%,var(--border));color:var(--text-primary);border:1px solid var(--border)}.app-button--secondary:hover:not(:disabled){background:var(--surface-hover)}.app-button--link{background:transparent;color:var(--brand-green);min-height:auto;padding:var(--space-2)}.app-button--link:hover:not(:disabled){text-decoration:underline}.app-button__icon{font-size:20px;width:20px;height:20px}.app-button__spinner{width:20px;height:20px;border:2px solid color-mix(in srgb,currentColor 30%,transparent);border-top-color:currentColor;border-radius:50%;animation:app-spinner .6s linear infinite}@keyframes app-spinner{to{transform:rotate(360deg)}}.karebo-portal-menu .mat-mdc-menu-panel{border-radius:var(--radius-lg)}.karebo-portal-menu .portal-panel-body{padding:var(--space-4);min-width:280px}.karebo-portal-menu .identity-header{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center;padding-bottom:var(--space-4)}.karebo-portal-menu .avatar-circle--panel{width:64px;height:64px;font-size:24px}.karebo-portal-menu .user-name{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-1)}.karebo-portal-menu .email{font-size:11px;color:var(--text-secondary);margin-bottom:var(--space-3)}.karebo-portal-menu .role-badge{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);background:color-mix(in srgb,var(--brand-green) 12%,transparent);color:var(--brand-green);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.karebo-portal-menu .menu-divider{height:1px;background:var(--border);margin:var(--space-2) calc(var(--space-4) * -1)}.karebo-portal-menu .section-label{font-size:11px;font-weight:700;color:var(--text-secondary);letter-spacing:.1em;margin:var(--space-3) 0 var(--space-2)}.karebo-portal-menu .portal-actions{display:flex;flex-direction:column;gap:2px}.karebo-portal-menu .menu-action-item{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:transparent;border:none;width:100%;text-align:left;cursor:pointer;border-radius:var(--radius-sm);transition:background-color .2s ease}.karebo-portal-menu .menu-action-item:hover{background:var(--surface-hover)}.karebo-portal-menu .action-icon{color:var(--brand-green);font-size:20px;width:20px;height:20px;margin-top:2px}.karebo-portal-menu .warn-icon{color:var(--alert)}.karebo-portal-menu .action-text{display:flex;flex-direction:column;gap:2px}.karebo-portal-menu .action-title{font-size:14px;font-weight:600;color:var(--text-primary)}.karebo-portal-menu .action-subtitle{font-size:11px;color:var(--text-secondary)}.karebo-portal-menu .panel-footer{display:flex;justify-content:center;align-items:center;gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border);font-size:11px;color:var(--text-secondary)}.karebo-portal-menu .panel-footer a{color:inherit;text-decoration:none}.karebo-portal-menu .panel-footer a:hover{text-decoration:underline}.field-group{display:flex;flex-direction:column;gap:var(--space-2)}.field-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary)}.field-input{width:100%;min-height:54px;padding:0 var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 94%,transparent);color:var(--text-primary);outline:none;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.field-input::placeholder{color:color-mix(in srgb,var(--text-secondary) 85%,transparent)}.field-input:focus{border-color:var(--brand-green-border);background:color-mix(in srgb,var(--surface) 100%,white);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-green) 16%,transparent)}.custom-token-panel{border-radius:var(--radius-lg)!important;background:var(--surface)!important;border:1px solid var(--border)!important;box-shadow:0 12px 32px #0000001a!important;-webkit-backdrop-filter:blur(24px)!important;backdrop-filter:blur(24px)!important;padding:8px 0!important}.custom-token-panel .mat-mdc-option{transition:background-color .15s ease!important;font-family:var(--font-family)!important;min-height:48px!important;color:var(--text-primary)!important}.custom-token-panel .mat-mdc-option:hover:not(.mdc-list-item--disabled){background:color-mix(in srgb,var(--brand-green) 12%,transparent)!important}.custom-token-panel .mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled){background:color-mix(in srgb,var(--brand-green) 28%,transparent)!important}.custom-token-panel .mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled) .mdc-list-item__primary-text{color:var(--brand-green)!important;font-weight:700!important}.field-input.ng-invalid.ng-touched{border-color:var(--alert)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--alert) 12%,transparent)!important}.required-asterisk{color:var(--alert);margin-left:2px}
