:root{--color-carbon: #2D2D2D;--color-carbon-light: #3A3A3A;--color-carbon-lighter: #484848;--color-cream: #FDFBF8;--color-cream-muted: rgba(253, 251, 248, .55);--color-cream-subtle: rgba(253, 251, 248, .12);--color-cobalt: #0057FF;--color-cobalt-glow: rgba(0, 87, 255, .15);--color-terracotta: #E87A5D;--color-success: #0A847A;--color-warning: #FFC700;--color-error: #D72C0D;--font-family: "Satoshi", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs: .6875rem;--font-size-sm: .8125rem;--font-size-base: .9375rem;--font-size-md: 1rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--header-height: 56px;--bottom-nav-height: 64px;--safe-area-bottom: env(safe-area-inset-bottom, 0px);--border-radius: 12px;--border-radius-sm: 8px;--border-radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-spring: .35s cubic-bezier(.34, 1.56, .64, 1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;scroll-behavior:smooth;overscroll-behavior:none;touch-action:pan-x pan-y}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-cream);background-color:var(--color-carbon);line-height:1.5;min-height:100dvh;overflow-x:hidden;overscroll-behavior:none}#root{min-height:100dvh;display:flex;flex-direction:column}a{color:var(--color-cobalt);text-decoration:none}button{font-family:var(--font-family);cursor:pointer;border:none;background:none;color:inherit}ul,ol{list-style:none}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-carbon-lighter);border-radius:var(--border-radius-full)}.app-shell{display:flex;flex-direction:column;min-height:100dvh;max-width:480px;margin:0 auto;position:relative;width:100%}@media(min-width:768px){.app-shell{border-left:1px solid var(--color-cream-subtle);border-right:1px solid var(--color-cream-subtle);box-shadow:0 0 80px #0000004d}}.app-content{flex:1;overflow-y:auto;padding-top:var(--header-height);padding-bottom:calc(var(--bottom-nav-height) + var(--safe-area-bottom) + 8px);-webkit-overflow-scrolling:touch}.header{position:fixed;top:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;height:var(--header-height);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-md);background:var(--color-carbon);z-index:100;border-bottom:1px solid var(--color-cream-subtle);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.header__title{font-size:var(--font-size-xl);font-weight:700;letter-spacing:-.3px}.header__actions{display:flex;align-items:center;gap:var(--space-sm)}.header__action-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-sm);color:var(--color-cream);transition:background var(--transition-fast)}.header__action-btn:hover{background:var(--color-cream-subtle)}.header__action-btn:active{transform:scale(.92)}.section-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) var(--space-md) var(--space-sm)}.section-header__title{font-size:var(--font-size-md);font-weight:700;color:var(--color-cream)}.section-header__more{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-sm);color:var(--color-cream-muted);transition:all var(--transition-fast)}.section-header__more:hover{background:var(--color-cream-subtle);color:var(--color-cream)}.work-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);margin:0 var(--space-sm);border-radius:var(--border-radius-sm);cursor:pointer;transition:background var(--transition-fast);min-height:52px}.work-item:hover{background:var(--color-cream-subtle)}.work-item:active{background:#fdfbf814;transform:scale(.98);transition:transform 80ms ease}.work-item__icon{width:36px;height:36px;border-radius:var(--border-radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform var(--transition-spring)}.work-item:hover .work-item__icon{transform:scale(1.08)}.work-item__icon svg{width:18px;height:18px}.work-item__label{font-size:var(--font-size-base);font-weight:500;color:var(--color-cream)}.divider{height:1px;background:var(--color-cream-subtle);margin:var(--space-sm) var(--space-md)}.favorites{padding:var(--space-lg) var(--space-md)}.favorites__title{font-size:var(--font-size-md);font-weight:700;color:var(--color-cobalt);margin-bottom:var(--space-md)}.favorites__description{font-size:var(--font-size-sm);color:var(--color-cream-muted);line-height:1.6;text-align:center;margin-bottom:var(--space-lg);max-width:320px;margin-left:auto;margin-right:auto}.favorites__cta{display:block;width:100%;padding:14px var(--space-lg);background:var(--color-cobalt);color:var(--color-cream);font-size:var(--font-size-sm);font-weight:700;letter-spacing:.8px;text-transform:uppercase;border-radius:var(--border-radius);text-align:center;position:relative;overflow:hidden;transition:all var(--transition-base)}.favorites__cta:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.15) 0%,transparent 50%);opacity:0;transition:opacity var(--transition-base)}.favorites__cta:hover{transform:translateY(-1px);box-shadow:0 6px 20px #0057ff59}.favorites__cta:hover:before{opacity:1}.favorites__cta:active{transform:translateY(0) scale(.98);box-shadow:0 2px 8px #0057ff40}.fab{position:fixed;bottom:calc(var(--bottom-nav-height) + var(--safe-area-bottom) + 16px);right:calc(50% - 224px);width:48px;height:48px;border-radius:var(--border-radius-full);background:var(--color-carbon-lighter);display:flex;align-items:center;justify-content:center;color:var(--color-cream);box-shadow:0 4px 16px #0000004d;transition:all var(--transition-base);z-index:50}.fab:hover{background:var(--color-carbon-light);transform:scale(1.08);box-shadow:0 6px 24px #0006}.fab:active{transform:scale(.95)}@media(max-width:480px){.fab{right:var(--space-md)}}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;height:calc(var(--bottom-nav-height) + var(--safe-area-bottom));padding-bottom:var(--safe-area-bottom);display:flex;align-items:center;justify-content:space-around;background:var(--color-carbon);border-top:1px solid var(--color-cream-subtle);z-index:100}.bottom-nav__item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-xs) var(--space-sm);border-radius:var(--border-radius-sm);min-width:64px;position:relative;transition:color var(--transition-fast);color:var(--color-cream-muted)}.bottom-nav__item--active{color:var(--color-cobalt)}.bottom-nav__item--active:before{content:"";position:absolute;top:-1px;left:50%;transform:translate(-50%);width:40px;height:3px;background:var(--color-cobalt);border-radius:0 0 4px 4px;animation:indicator-in .3s var(--transition-spring) both}@keyframes indicator-in{0%{width:0;opacity:0}to{width:40px;opacity:1}}.bottom-nav__item:not(.bottom-nav__item--active):hover{color:var(--color-cream)}.bottom-nav__item:active{transform:scale(.92);transition:transform 80ms ease}.bottom-nav__icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center}.bottom-nav__label{font-size:var(--font-size-xs);font-weight:500;letter-spacing:.2px}.bottom-nav__avatar{width:24px;height:24px;border-radius:var(--border-radius-full);background:linear-gradient(135deg,var(--color-terracotta),var(--color-cobalt));border:2px solid transparent;transition:border-color var(--transition-fast)}.bottom-nav__item--active .bottom-nav__avatar{border-color:var(--color-cobalt)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.install-gate{display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:var(--space-lg);background:var(--color-carbon)}.install-gate__content{text-align:center;max-width:360px;width:100%}.install-gate__logo{width:88px;height:88px;border-radius:22px;margin:0 auto var(--space-lg);box-shadow:0 8px 32px #0057ff4d;object-fit:cover;display:block}.install-gate__title{font-size:2rem;font-weight:900;color:var(--color-cream);letter-spacing:-.5px}.install-gate__subtitle{font-size:var(--font-size-sm);color:var(--color-cream-muted);margin-top:var(--space-xs)}.install-gate__divider{width:48px;height:3px;background:var(--color-cobalt);border-radius:var(--border-radius-full);margin:var(--space-xl) auto}.install-gate__description{font-size:var(--font-size-base);color:var(--color-cream-muted);line-height:1.6;margin-bottom:var(--space-xl)}.install-gate__btn{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);width:100%;padding:16px var(--space-lg);border-radius:var(--border-radius);font-size:var(--font-size-md);font-weight:700;transition:all var(--transition-base)}.install-gate__btn--primary{background:var(--color-cobalt);color:var(--color-cream);box-shadow:0 4px 16px #0057ff59}.install-gate__btn--primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0057ff73}.install-gate__btn--primary:active{transform:translateY(0) scale(.98)}.install-gate__btn--secondary{background:var(--color-carbon-light);color:var(--color-cream);margin-top:var(--space-md)}.install-gate__hint{font-size:var(--font-size-sm);color:var(--color-cream-muted);line-height:1.6;margin-bottom:var(--space-md);padding:var(--space-md);background:var(--color-cream-subtle);border-radius:var(--border-radius-sm)}.install-gate__footer{margin-top:var(--space-2xl)}.install-gate__footer-text{font-size:var(--font-size-xs);color:var(--color-cream-muted);opacity:.5}.login-page{display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:var(--space-lg);background:var(--color-carbon)}.login-page__content{text-align:center;max-width:360px;width:100%}.login-page__logo{width:80px;height:80px;border-radius:20px;margin:0 auto var(--space-lg);box-shadow:0 8px 32px #0057ff40;object-fit:cover;display:block}.login-page__title{font-size:1.75rem;font-weight:900;color:var(--color-cream);letter-spacing:-.5px}.login-page__subtitle{font-size:var(--font-size-sm);color:var(--color-cream-muted);margin-top:var(--space-xs)}.login-page__divider{width:48px;height:3px;background:var(--color-cobalt);border-radius:var(--border-radius-full);margin:var(--space-xl) auto}.login-page__step{animation:fade-up .4s ease both}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.login-page__google-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);width:100%;padding:14px var(--space-lg);background:var(--color-cream);color:#333;border-radius:var(--border-radius);font-size:var(--font-size-base);font-weight:600;transition:all var(--transition-base);box-shadow:0 2px 8px #00000026}.login-page__google-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px #0003}.login-page__google-btn:active{transform:translateY(0) scale(.98)}.login-page__google-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-page__google-icon{flex-shrink:0}.login-page__spinner{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-page__biometric-icon{width:80px;height:80px;border-radius:var(--border-radius-full);background:var(--color-cobalt-glow);color:var(--color-cobalt);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-lg)}.login-page__biometric-icon--pulse{animation:biometric-pulse 2s ease-in-out infinite}@keyframes biometric-pulse{0%,to{box-shadow:0 0 #0057ff4d}50%{box-shadow:0 0 0 16px #0057ff00}}.login-page__step-title{font-size:var(--font-size-lg);font-weight:700;color:var(--color-cream);margin-bottom:var(--space-sm)}.login-page__step-desc{font-size:var(--font-size-sm);color:var(--color-cream-muted);line-height:1.6;margin-bottom:var(--space-lg)}.login-page__biometric-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);width:100%;padding:14px var(--space-lg);background:var(--color-cobalt);color:var(--color-cream);border-radius:var(--border-radius);font-size:var(--font-size-base);font-weight:700;transition:all var(--transition-base);box-shadow:0 4px 16px #0057ff4d}.login-page__biometric-btn:hover{transform:translateY(-1px);box-shadow:0 8px 24px #0057ff66}.login-page__biometric-btn:active{transform:translateY(0) scale(.98)}.login-page__skip-btn,.login-page__alt-login{display:block;width:100%;padding:12px;margin-top:var(--space-md);font-size:var(--font-size-sm);font-weight:500;color:var(--color-cream-muted);transition:color var(--transition-fast)}.login-page__skip-btn:hover,.login-page__alt-login:hover{color:var(--color-cream)}.login-page__error{margin-top:var(--space-md);padding:var(--space-sm) var(--space-md);background:#d72c0d26;border:1px solid rgba(215,44,13,.3);border-radius:var(--border-radius-sm);color:var(--color-error);font-size:var(--font-size-sm);animation:fade-up .2s ease both}.splash-logo{border-radius:20px;animation:splash-pulse 1.8s ease-in-out infinite;box-shadow:0 8px 32px #0057ff40}@keyframes splash-pulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.splash-loader{width:120px;height:3px;border-radius:var(--border-radius-full);background:var(--color-cream-subtle);overflow:hidden;position:relative}.splash-loader:after{content:"";position:absolute;top:0;left:0;height:100%;width:40%;border-radius:var(--border-radius-full);background:var(--color-cobalt);animation:splash-bar 1.2s ease-in-out infinite}@keyframes splash-bar{0%{left:-40%}to{left:100%}}.apps-page{padding:var(--space-md) 0}.apps-page__title{font-size:var(--font-size-lg);font-weight:700;color:var(--color-cream);margin-bottom:4px}.apps-page__subtitle{font-size:var(--font-size-sm);color:var(--color-cream-muted);margin-bottom:var(--space-lg)}.apps-page__list{display:flex;flex-direction:column;gap:var(--space-md)}.app-card{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-md);transition:all .2s ease}.app-card:hover{border-color:var(--color-cobalt);background:#0057ff0f}.app-card__icon{width:48px;height:48px;border-radius:12px;flex-shrink:0;box-shadow:0 2px 8px #0003}.app-card__info{flex:1;min-width:0}.app-card__name{font-size:var(--font-size-base);font-weight:600;color:var(--color-cream);margin-bottom:2px}.app-card__desc{font-size:var(--font-size-xs);color:var(--color-cream-muted);line-height:1.4}.app-card__link{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:var(--color-cobalt);color:#fff;border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:600;text-decoration:none;white-space:nowrap;transition:all .15s ease;flex-shrink:0}.app-card__link:hover{background:#0046cc;transform:translateY(-1px);box-shadow:0 4px 12px #0057ff4d}.keys-vault--locked{display:flex;align-items:center;justify-content:center;min-height:calc(100dvh - var(--header-height) - var(--bottom-nav-height) - var(--safe-area-bottom));padding:var(--space-lg)}.keys-vault__lock-content{text-align:center;max-width:320px;width:100%;animation:fade-up .5s ease both}.keys-vault__lock-icon{width:96px;height:96px;border-radius:var(--border-radius-full);background:var(--color-cobalt-glow);color:var(--color-cobalt);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-lg);animation:biometric-pulse 2s ease-in-out infinite}.keys-vault__lock-title{font-size:var(--font-size-xl);font-weight:800;color:var(--color-cream);letter-spacing:-.3px;margin-bottom:var(--space-sm)}.keys-vault__lock-desc{font-size:var(--font-size-sm);color:var(--color-cream-muted);line-height:1.6;margin-bottom:var(--space-xl)}.keys-vault__unlock-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);width:100%;padding:14px var(--space-lg);background:var(--color-cobalt);color:var(--color-cream);border-radius:var(--border-radius);font-size:var(--font-size-base);font-weight:700;transition:all var(--transition-base);box-shadow:0 4px 20px #0057ff59}.keys-vault__unlock-btn:hover{transform:translateY(-1px);box-shadow:0 8px 28px #0057ff73}.keys-vault__unlock-btn:active{transform:translateY(0) scale(.98)}.keys-vault__unlock-btn:disabled{opacity:.65;cursor:not-allowed;transform:none}.keys-vault__lock-badge{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:var(--space-lg);font-size:var(--font-size-xs);color:var(--color-success);opacity:.75}.keys-vault__spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:var(--color-cream);border-radius:var(--border-radius-full);animation:spin .8s linear infinite}.keys-vault--unlocked{padding:var(--space-md) 0}.keys-vault__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-sm)}.keys-vault__header-left{display:flex;align-items:center;gap:var(--space-sm)}.keys-vault__header-icon{color:var(--color-success)}.keys-vault__header-title{font-size:var(--font-size-md);font-weight:700;color:var(--color-cream)}.keys-vault__header-actions{display:flex;align-items:center;gap:var(--space-xs)}.keys-vault__action-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-sm);color:var(--color-cream);transition:all var(--transition-fast)}.keys-vault__action-btn:hover{background:var(--color-cream-subtle)}.keys-vault__action-btn--lock{color:var(--color-cream-muted)}.keys-vault__empty{text-align:center;padding:var(--space-2xl) var(--space-lg);animation:fade-up .4s ease both}.keys-vault__empty-icon{font-size:2.5rem;margin-bottom:var(--space-md)}.keys-vault__empty-title{font-size:var(--font-size-lg);font-weight:700;color:var(--color-cream);margin-bottom:var(--space-xs)}.keys-vault__empty-desc{font-size:var(--font-size-sm);color:var(--color-cream-muted);line-height:1.6}.keys-vault__list{display:flex;flex-direction:column;gap:var(--space-sm);padding:0 var(--space-sm)}.keys-vault__card{background:var(--color-carbon-light);border-radius:var(--border-radius);overflow:hidden;position:relative;animation:fade-up .3s ease both;transition:background var(--transition-fast)}.keys-vault__card:hover{background:var(--color-carbon-lighter)}.keys-vault__card-main{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md)}.keys-vault__card-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.keys-vault__card-title{font-size:var(--font-size-base);font-weight:700;color:var(--color-cream);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.keys-vault__card-user{font-size:var(--font-size-sm);color:var(--color-cream-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.keys-vault__card-password-row{display:flex;align-items:center;gap:var(--space-xs);margin-top:2px}.keys-vault__card-password{font-size:var(--font-size-sm);font-family:SF Mono,Fira Code,Cascadia Code,monospace;color:var(--color-cream-muted);letter-spacing:2px}.keys-vault__card-password--revealed{color:var(--color-cobalt);letter-spacing:.5px;animation:fade-up .2s ease both}.keys-vault__card-actions{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);flex-shrink:0}.keys-vault__icon-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-sm);color:var(--color-cream-muted);transition:all var(--transition-fast)}.keys-vault__icon-btn:hover{background:var(--color-cream-subtle);color:var(--color-cream)}.keys-vault__icon-btn--reveal{color:var(--color-cobalt)}.keys-vault__icon-btn--reveal:hover{background:var(--color-cobalt-glow);color:var(--color-cobalt)}.keys-vault__icon-btn--delete{color:var(--color-cream-muted);opacity:.5}.keys-vault__icon-btn--delete:hover{color:var(--color-error);opacity:1;background:#d72c0d1a}.keys-vault__icon-btn--loading{opacity:.6;cursor:not-allowed}.keys-vault__mini-spinner{width:14px;height:14px;border:2px solid rgba(0,87,255,.3);border-top-color:var(--color-cobalt);border-radius:var(--border-radius-full);animation:spin .8s linear infinite}.keys-vault__delete-confirm{display:flex;gap:4px}.keys-vault__delete-yes,.keys-vault__delete-no{padding:4px 10px;border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:600;transition:all var(--transition-fast)}.keys-vault__delete-yes{background:var(--color-error);color:var(--color-cream)}.keys-vault__delete-no{background:var(--color-cream-subtle);color:var(--color-cream)}.keys-vault__card-timer{height:3px;background:var(--color-cobalt);border-radius:0 0 var(--border-radius) var(--border-radius);animation:timer-shrink 30s linear forwards}@keyframes timer-shrink{0%{width:100%}to{width:0%}}.keys-vault__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:flex-end;justify-content:center;z-index:200;animation:fade-in .2s ease both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.keys-vault__modal{width:100%;max-width:480px;background:var(--color-carbon);border-top:1px solid var(--color-cream-subtle);border-radius:var(--border-radius) var(--border-radius) 0 0;padding:var(--space-lg);animation:slide-up .3s cubic-bezier(.34,1.56,.64,1) both}@keyframes slide-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.keys-vault__modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg)}.keys-vault__modal-header h3{font-size:var(--font-size-lg);font-weight:700;color:var(--color-cream)}.keys-vault__form{display:flex;flex-direction:column;gap:var(--space-md)}.keys-vault__field{display:flex;flex-direction:column;gap:var(--space-xs)}.keys-vault__field span{font-size:var(--font-size-sm);font-weight:600;color:var(--color-cream-muted)}.keys-vault__field input{width:100%;padding:12px var(--space-md);background:var(--color-carbon-light);border:1px solid var(--color-cream-subtle);border-radius:var(--border-radius-sm);color:var(--color-cream);font-family:var(--font-family);font-size:var(--font-size-base);transition:border-color var(--transition-fast);outline:none}.keys-vault__field input:focus{border-color:var(--color-cobalt)}.keys-vault__field input::placeholder{color:var(--color-cream-muted);opacity:.5}.keys-vault__password-input-row{display:flex;align-items:center;gap:var(--space-xs)}.keys-vault__password-input-row input{flex:1}.keys-vault__submit-btn{width:100%;padding:14px var(--space-lg);background:var(--color-cobalt);color:var(--color-cream);border-radius:var(--border-radius);font-size:var(--font-size-base);font-weight:700;transition:all var(--transition-base);box-shadow:0 4px 16px #0057ff4d;margin-top:var(--space-sm)}.keys-vault__submit-btn:hover{transform:translateY(-1px);box-shadow:0 8px 24px #0057ff66}.keys-vault__submit-btn:active{transform:translateY(0) scale(.98)}.keys-vault__submit-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.users-page{padding:var(--space-md);padding-bottom:calc(var(--bottom-nav-height) + var(--safe-area-bottom) + var(--space-lg));min-height:calc(100dvh - var(--header-height))}.users-loading,.users-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);min-height:50vh;color:var(--color-cream-muted);text-align:center}.users-error{color:var(--color-error)}@keyframes users-spin{to{transform:rotate(360deg)}}.users-spinner{animation:users-spin .8s linear infinite}.users-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.users-header__title{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-cream)}.users-header__title h2{font-size:var(--font-size-lg);font-weight:800;letter-spacing:-.3px}.users-header__actions{display:flex;align-items:center;gap:var(--space-xs)}.users-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:600;font-family:var(--font-family);transition:all var(--transition-fast);cursor:pointer;border:none;background:none;color:var(--color-cream)}.users-btn--primary{background:var(--color-cobalt);color:var(--color-cream);box-shadow:0 2px 8px #0057ff40}.users-btn--primary:hover{background:#0046cc;transform:translateY(-1px);box-shadow:0 4px 12px #0057ff59}.users-btn--primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.users-btn--icon{width:36px;height:36px;padding:0;justify-content:center;border-radius:var(--border-radius-sm);color:var(--color-cream-muted)}.users-btn--icon:hover{background:var(--color-cream-subtle);color:var(--color-cream)}.users-btn--ghost{color:var(--color-cream-muted)}.users-btn--ghost:hover{color:var(--color-cream);background:var(--color-cream-subtle)}.users-btn--danger{background:var(--color-error);color:var(--color-cream)}.users-btn--danger:hover{background:#c02a0a}.users-btn--success{background:var(--color-success);color:var(--color-carbon)}.users-btn--success:hover{filter:brightness(1.1)}.users-btn--sm{padding:4px 10px;font-size:var(--font-size-xs)}.users-add-form{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);background:var(--color-carbon-light);border-radius:var(--border-radius);margin-bottom:var(--space-md);animation:fade-up .2s ease both;flex-wrap:wrap}.users-add-form__input{flex:2;min-width:240px;padding:10px var(--space-md);background:var(--color-carbon);border:1px solid var(--color-cream-subtle);border-radius:var(--border-radius-sm);color:var(--color-cream);font-family:var(--font-family);font-size:var(--font-size-sm);outline:none;transition:border-color var(--transition-fast)}.users-add-form__select{flex:1;min-width:140px}.users-add-form .users-btn{flex:1;min-width:110px;justify-content:center}.users-add-form__input:focus{border-color:var(--color-cobalt)}.users-add-form__input::placeholder{color:var(--color-cream-muted);opacity:.5}.users-stats{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-xs);color:var(--color-cream-muted);margin-bottom:var(--space-md);padding:0 var(--space-xs)}.users-list{display:flex;flex-direction:column;gap:var(--space-sm)}.users-card{background:var(--color-carbon-light);border-radius:var(--border-radius);padding:var(--space-md);display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);transition:background var(--transition-fast);animation:fade-up .3s ease both;flex-wrap:wrap}.users-card:hover{background:var(--color-carbon-lighter)}.users-card--admin{border-left:3px solid var(--color-cobalt)}.users-card__info{display:flex;align-items:center;gap:var(--space-md);flex:1;min-width:280px}.users-card__avatar{width:40px;height:40px;border-radius:var(--border-radius-full);flex-shrink:0;overflow:hidden}.users-card__avatar img{width:100%;height:100%;object-fit:cover}.users-card__avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--color-cobalt-glow);color:var(--color-cobalt);font-weight:700;font-size:var(--font-size-base)}.users-card__details{display:flex;flex-direction:column;gap:2px;min-width:0}.users-card__email{font-size:var(--font-size-sm);font-weight:600;color:var(--color-cream);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.users-card__name{font-size:var(--font-size-xs);color:var(--color-cream-muted)}.users-card__meta{font-size:10px;color:var(--color-cream-muted);opacity:.6}.users-card__actions{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0}.users-card__confirm{display:flex;align-items:center;gap:6px;font-size:var(--font-size-xs);color:var(--color-cream-muted)}.users-badge{padding:3px 8px;border-radius:var(--border-radius-sm);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.users-badge--admin{background:var(--color-cobalt-glow);color:var(--color-cobalt)}.users-badge--app{background:#10b98126;color:#10b981}.users-badge--user{background:var(--color-cream-subtle);color:var(--color-cream-muted)}.users-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:300;padding:var(--space-md);animation:fade-in .2s ease both}.users-modal{width:100%;max-width:400px;background:var(--color-carbon);border:1px solid var(--color-cream-subtle);border-radius:var(--border-radius);padding:var(--space-xl) var(--space-lg);text-align:center;animation:slide-up .3s cubic-bezier(.34,1.56,.64,1) both}.users-modal__icon{width:64px;height:64px;border-radius:var(--border-radius-full);background:#d72c0d26;color:var(--color-error);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-md)}.users-modal__title{font-size:var(--font-size-lg);font-weight:800;color:var(--color-cream);margin-bottom:var(--space-sm)}.users-modal__desc{font-size:var(--font-size-sm);color:var(--color-cream-muted);line-height:1.5;margin-bottom:var(--space-xs)}.users-modal__desc strong{color:var(--color-error);font-weight:700}.users-modal__email{font-size:var(--font-size-base);font-weight:700;color:var(--color-cobalt);margin-bottom:var(--space-md)}.users-modal__input{width:100%;padding:12px var(--space-md);background:var(--color-carbon-light);border:2px solid var(--color-cream-subtle);border-radius:var(--border-radius-sm);color:var(--color-cream);font-family:var(--font-family);font-size:var(--font-size-base);font-weight:600;text-align:center;letter-spacing:2px;outline:none;transition:border-color var(--transition-fast);margin-bottom:var(--space-lg)}.users-modal__input:focus{border-color:var(--color-error)}.users-modal__input::placeholder{color:var(--color-cream-muted);opacity:.4;letter-spacing:0;font-weight:400}.users-modal__actions{display:flex;gap:var(--space-sm);justify-content:center}.users-modal__actions .users-btn{flex:1;justify-content:center;padding:12px var(--space-md)}.users-modal__actions .users-btn--danger:disabled{opacity:.35;cursor:not-allowed}.users-modal__icon--warning,.users-badge--unverified{background:#ffa00026;color:#ffa000}.users-role-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--color-carbon-light);border:1px solid var(--color-cream-subtle);border-radius:var(--border-radius-sm);color:var(--color-cream);font-family:var(--font-family);font-size:var(--font-size-xs);font-weight:700;padding:6px 28px 6px 10px;cursor:pointer;outline:none;transition:border-color var(--transition-fast);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23A8A29E' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;min-width:140px}.users-role-select:focus{border-color:var(--color-cobalt)}.users-role-select.users-badge--admin{border-color:var(--color-cobalt-glow)}.users-role-select.users-badge--app{border-color:#10b9814d}.users-role-select.users-badge--unverified{border-color:#ffa0004d}.users-add-form__select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--color-carbon-light);border:1px solid var(--color-cream-subtle);border-radius:var(--border-radius-sm);color:var(--color-cream);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:600;padding:10px 32px 10px 12px;cursor:pointer;outline:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23A8A29E' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.users-add-form__select:focus{border-color:var(--color-cobalt)}.unverified-gate{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100dvh;padding:var(--space-xl);text-align:center;background:var(--color-carbon)}.unverified-gate__icon{font-size:64px;margin-bottom:var(--space-lg);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.05)}}.unverified-gate__title{font-size:var(--font-size-xl);font-weight:800;color:var(--color-cream);margin-bottom:var(--space-sm)}.unverified-gate__desc{font-size:var(--font-size-sm);color:var(--color-cream-muted);line-height:1.6;max-width:320px;margin-bottom:var(--space-xl)}.unverified-gate__btn{padding:12px 32px;background:var(--color-error);color:var(--color-cream);border:none;border-radius:var(--border-radius-sm);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:700;cursor:pointer;transition:opacity var(--transition-fast)}.unverified-gate__btn:hover{opacity:.85}.users-stats{display:flex!important;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-md)}.users-stats__main{display:flex;align-items:center;gap:var(--space-xs)}.users-filter{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:4px 10px;background:var(--color-carbon-light);border:1px solid var(--color-cream-subtle);border-radius:var(--border-radius-full);transition:all var(--transition-fast)}.users-filter:hover{border-color:var(--color-cobalt);background:#2b56ff0d}.users-filter__checkbox{width:14px;height:14px;cursor:pointer;accent-color:var(--color-cobalt)}.users-filter__label{font-size:11px;font-weight:600;color:var(--color-cream-muted)}.users-filter:has(.users-filter__checkbox:checked) .users-filter__label{color:var(--color-cream)}
