.tab-bar{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:flex-start;justify-content:space-around;height:calc(var(--tab-bar-height) + env(safe-area-inset-bottom,0px));background-color:var(--bg-primary);border-top:.5px solid var(--separator);padding-bottom:env(safe-area-inset-bottom,0px);padding-top:6px;z-index:100;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.tab-bar-item{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1;color:var(--text-tertiary);transition:color .15s ease;-webkit-tap-highlight-color:transparent}.tab-bar-item.active{color:var(--color-primary)}.tab-bar-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center}.tab-bar-icon svg{width:24px;height:24px}.tab-bar-label{font-size:10px;font-weight:500;line-height:12px}.tab-bar-item.center{margin-top:-12px}.tab-bar-center-btn{width:48px;height:48px;border-radius:50%;background-color:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0366;transition:transform .15s ease}.tab-bar-center-btn:active{transform:scale(.92)}.app-shell{display:flex;flex-direction:column;height:100%;background-color:var(--bg-secondary);overflow:hidden}.app-content{flex:1;padding-bottom:calc(var(--tab-bar-height) + env(safe-area-inset-bottom,0px));overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.offline-banner{position:fixed;top:0;left:0;right:0;z-index:1000;background-color:var(--color-warning);color:#fff;text-align:center;padding:6px var(--spacing-md);padding-top:calc(6px + var(--safe-top));font-size:13px;font-weight:600}.nav-bar{position:sticky;top:0;z-index:100;background-color:var(--bg-primary);padding-top:env(safe-area-inset-top,0px)}.nav-bar-standard{display:flex;align-items:center;justify-content:space-between;height:var(--nav-bar-height);padding:0 var(--spacing-md);border-bottom:.5px solid var(--separator)}.nav-bar-left,.nav-bar-right{display:flex;align-items:center;min-width:70px}.nav-bar-right{justify-content:flex-end}.nav-bar-title{font-size:17px;font-weight:600;line-height:22px;letter-spacing:-.41px;color:var(--text-primary);text-align:center;flex:1}.nav-bar-back{display:flex;align-items:center;gap:4px;color:var(--tint);font-size:17px;font-weight:400}.nav-btn{color:var(--tint);font-size:17px;font-weight:400;padding:var(--spacing-xs) var(--spacing-sm)}.nav-btn:active{opacity:.6}.nav-btn-icon{display:flex;align-items:center;justify-content:center;padding:var(--spacing-xs)}.card-list-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--bg-primary);border-bottom:.5px solid var(--separator);cursor:pointer;transition:background-color .15s ease;-webkit-tap-highlight-color:transparent}.card-list-item:active{background-color:var(--bg-secondary)}.card-list-item:last-child{border-bottom:none}.card-avatar{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.card-avatar span{color:#fff;font-size:18px;font-weight:600}.card-avatar img{width:100%;height:100%;object-fit:cover}.card-info{flex:1;min-width:0}.card-name{font-size:17px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-company{font-size:14px;color:var(--text-secondary);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-phone{font-size:13px;color:var(--text-tertiary);margin-top:2px}.card-fav-btn{color:var(--text-tertiary);font-size:20px;padding:var(--spacing-xs) var(--spacing-sm);flex-shrink:0;line-height:1}.card-fav-btn.active{color:var(--color-warning)}.card-categories{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.card-category-tag{font-size:11px;padding:1px 6px;border-radius:4px;white-space:nowrap;line-height:1.4}.card-list-item.selected{background-color:#007aff0f}.card-select-checkbox{width:24px;height:24px;border-radius:50%;border:2px solid var(--text-tertiary);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px;font-weight:700;color:transparent;transition:all .15s ease}.card-select-checkbox.checked{background-color:var(--tint);border-color:var(--tint);color:#fff}.dashboard-page{min-height:100%;min-height:calc(100% + 1px);background-color:var(--bg-secondary)}.dashboard-content{padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md)}.dash-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-sm)}.dash-section-title{font-size:15px;font-weight:600;color:var(--text-secondary);margin:0}.dash-section-count{font-size:13px;color:var(--text-tertiary)}.dash-section-action{font-size:14px;color:var(--tint);font-weight:500}.dash-stats{display:flex;align-items:center;background-color:var(--bg-primary);border-radius:var(--radius-md);padding:16px 0}.dash-stat-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer}.dash-stat-value{font-size:28px;font-weight:700;color:var(--tint)}.dash-stat-label{font-size:12px;color:var(--text-secondary)}.dash-stat-divider{width:1px;height:32px;background-color:var(--separator)}.dash-checkin-card{background-color:var(--bg-primary);border-radius:var(--radius-md);padding:16px}.dash-checkin-loading{text-align:center;color:var(--text-tertiary);font-size:14px;padding:8px 0}.dash-checkin-row{display:flex;align-items:center;justify-content:space-between}.dash-checkin-info{display:flex;flex-direction:column;gap:2px}.dash-checkin-streak{display:flex;align-items:baseline;gap:4px}.dash-checkin-streak-value{font-size:24px;font-weight:700;color:var(--tint)}.dash-checkin-streak-label{font-size:14px;color:var(--text-secondary)}.dash-checkin-sub{font-size:13px;color:var(--text-tertiary)}.dash-checkin-btn{padding:10px 24px;border-radius:20px;border:none;background-color:var(--tint);color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:transform .2s ease,background-color .3s ease}.dash-checkin-btn:active:not(:disabled){transform:scale(.95)}.dash-checkin-btn.checked{background-color:var(--text-quaternary);cursor:default}.dash-checkin-btn.just-checked{animation:dash-checkin-pop .4s ease}@keyframes dash-checkin-pop{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}.dash-card-list{background-color:var(--bg-primary);border-radius:var(--radius-md);overflow:hidden}.dash-more-btn{display:block;width:100%;padding:12px;text-align:center;font-size:14px;color:var(--tint);border-top:.5px solid var(--separator)}.dash-mycard{display:flex;align-items:center;gap:12px;background-color:var(--bg-primary);border-radius:var(--radius-md);padding:16px;cursor:pointer}.dash-mycard-avatar{width:48px;height:48px;border-radius:50%;background-color:var(--tint);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;color:#fff;font-size:20px;font-weight:600}.dash-mycard-avatar img{width:100%;height:100%;object-fit:cover}.dash-mycard-info{flex:1;min-width:0}.dash-mycard-name{font-size:17px;font-weight:600;color:var(--text-primary);line-height:1.3}.dash-mycard-title{font-size:14px;color:var(--text-secondary);margin-top:1px}.dash-mycard-company{font-size:13px;color:var(--text-tertiary);margin-top:1px}.dash-mycard-empty{background-color:var(--bg-primary);border-radius:var(--radius-md);padding:24px 16px;text-align:center;cursor:pointer}.dash-mycard-empty p{font-size:14px;color:var(--text-tertiary);margin:0}.dash-storage{background-color:var(--bg-primary);border-radius:var(--radius-md);padding:16px}.dash-storage-bar{height:8px;background-color:var(--bg-secondary);border-radius:4px;overflow:hidden}.dash-storage-fill{height:100%;background-color:var(--tint);border-radius:4px;transition:width .3s ease}.dash-storage-text{margin-top:8px;font-size:13px;color:var(--text-tertiary);text-align:right}.dash-beta-actions{display:flex;flex-wrap:wrap;gap:8px;padding:6px var(--spacing-md) 12px;border-bottom:.5px solid var(--separator)}.dash-card-wrapper:last-child .dash-beta-actions{border-bottom:none}.dash-beta-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:12px;font-size:13px;font-weight:500;border:none;cursor:pointer}.dash-beta-badge:active{opacity:.7}.dash-beta-action-btn{padding:4px 10px;border-radius:12px;font-size:13px;font-weight:500;color:var(--tint);background:transparent;border:1px solid var(--tint);cursor:pointer}.dash-beta-action-btn:active{opacity:.7}.dash-beta-date{display:inline-flex;align-items:center;padding:4px 10px;border-radius:12px;font-size:12px;color:var(--text-secondary);background-color:var(--bg-secondary)}.card-list-page{min-height:100%;min-height:calc(100% + 1px);background-color:var(--bg-secondary)}.card-search-container{padding:0 var(--spacing-md) var(--spacing-sm);background-color:var(--bg-primary)}.card-search-bar{display:flex;align-items:center;gap:var(--spacing-sm);background-color:var(--bg-secondary);border-radius:var(--radius-sm);padding:8px 12px}.card-search-icon{flex-shrink:0}.card-search-input{flex:1;border:none;background:transparent;font-size:16px;color:var(--text-primary);outline:none}.card-search-input::placeholder{color:var(--text-tertiary)}.card-search-clear{color:var(--text-tertiary);font-size:14px;padding:4px}.card-actions-bar{display:flex;gap:var(--spacing-sm);padding:var(--spacing-md);background-color:var(--bg-secondary);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.card-actions-bar::-webkit-scrollbar{display:none}.action-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);background-color:var(--bg-primary);border:1px solid var(--separator);font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;flex-shrink:0;min-width:64px;transition:all .2s ease}.action-btn:active{transform:scale(.95);opacity:.7}.action-btn.active,.action-btn-primary{background-color:var(--tint);color:#fff;border-color:var(--tint)}.action-btn-icon{font-size:20px}.card-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px var(--spacing-lg);text-align:center;color:var(--text-tertiary)}.empty-icon{font-size:64px;margin-bottom:var(--spacing-md)}.card-list-empty h3{font-size:20px;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-sm)}.card-list-empty p{font-size:15px;line-height:20px}.card-list-container{background-color:var(--bg-primary);border-radius:var(--radius-md);margin:var(--spacing-md);overflow:hidden}.card-list-loading{padding:var(--spacing-md)}.card-skeleton{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) 0}.nav-btn-group{display:flex;align-items:center;gap:var(--spacing-sm)}.nav-more-wrapper{position:relative}.nav-more-menu{position:absolute;top:100%;right:0;margin-top:4px;background-color:var(--bg-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);border:.5px solid var(--separator);min-width:140px;z-index:200;overflow:hidden}.nav-more-item{display:block;width:100%;padding:12px 16px;font-size:15px;font-weight:400;color:var(--text-primary);text-align:left;background:none;border:none;cursor:pointer;white-space:nowrap}.nav-more-item:active{background-color:var(--bg-secondary)}.nav-more-item+.nav-more-item{border-top:.5px solid var(--separator)}.list-toolbar{background-color:var(--bg-primary);margin:0 var(--spacing-md) var(--spacing-sm);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md)}.toolbar-section{display:flex;flex-direction:column;gap:var(--spacing-xs)}.toolbar-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase}.toolbar-chips{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);align-items:center}.toolbar-chip{padding:6px 14px;border-radius:20px;font-size:14px;background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--separator);white-space:nowrap}.toolbar-chip.active{background-color:var(--tint);color:#fff;border-color:var(--tint)}.toolbar-select{padding:6px 24px 6px 12px;border-radius:20px;font-size:14px;background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--separator);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.toolbar-clear{font-size:14px;color:var(--tint);padding:var(--spacing-xs) 0;text-align:center}.filter-result-count{padding:var(--spacing-xs) var(--spacing-lg);font-size:13px;color:var(--text-secondary)}.empty-clear-btn{margin-top:var(--spacing-md);padding:8px 20px;border-radius:20px;background-color:var(--tint);color:#fff;font-size:15px}.card-group{margin:0 var(--spacing-md) var(--spacing-sm)}.card-group-header{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);text-align:left;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}.card-group-header:active{opacity:.7}.card-group-title{font-size:14px;font-weight:600;color:var(--text-secondary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-group-count{font-size:12px;color:var(--text-tertiary);background-color:var(--bg-secondary);padding:1px 8px;border-radius:10px;flex-shrink:0}.card-group-chevron{font-size:16px;color:var(--text-tertiary);transition:transform .2s ease;transform:rotate(90deg);flex-shrink:0}.card-group-chevron.collapsed{transform:rotate(0)}.card-group-items{background-color:var(--bg-primary);border-radius:var(--radius-md);overflow:hidden}.batch-action-toolbar{display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--bg-primary);border-bottom:.5px solid var(--separator);position:sticky;top:0;z-index:50}.batch-action-btn{flex:1;padding:10px 14px;border-radius:var(--radius-md);font-size:14px;font-weight:600;text-align:center;border:none;cursor:pointer}.batch-action-btn:disabled{opacity:.5}.batch-action-danger{background-color:var(--color-danger);color:#fff}.batch-action-primary{background-color:var(--tint);color:#fff}.batch-action-secondary{background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--separator)}.batch-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0006;z-index:200;display:flex;align-items:flex-end;justify-content:center}.batch-modal{width:100%;max-width:500px;background-color:var(--bg-primary);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding-bottom:env(safe-area-inset-bottom,0px);max-height:60vh;display:flex;flex-direction:column}.batch-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-md)}.batch-modal-header h3{font-size:18px;font-weight:600;color:var(--text-primary)}.batch-modal-close{font-size:18px;color:var(--text-tertiary);padding:var(--spacing-xs);line-height:1}.batch-modal-desc{padding:0 var(--spacing-lg) var(--spacing-sm);font-size:14px;color:var(--text-secondary)}.batch-modal-list{overflow-y:auto;padding:0 var(--spacing-lg) var(--spacing-lg)}.batch-modal-item{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-md);border-radius:var(--radius-md);background-color:var(--bg-secondary);margin-bottom:var(--spacing-sm);cursor:pointer;border:none;text-align:left}.batch-modal-item:active{opacity:.7}.batch-modal-item:disabled{opacity:.5}.batch-modal-item-icon{font-size:20px;width:28px;text-align:center;flex-shrink:0}.batch-modal-item-name{font-size:16px;font-weight:500;color:var(--text-primary);flex:1}.batch-modal-item-sub{font-size:13px;color:var(--text-secondary);margin-left:auto}.batch-modal-item-clear{background-color:transparent;border:1px dashed var(--separator)}.batch-modal-item-clear .batch-modal-item-name{color:var(--text-secondary)}:root{--color-primary: #003366;--color-accent: #00D2FF;--color-success: #34C759;--color-warning: #FF9500;--color-danger: #FF3B30;--color-info: #5AC8FA;--tint: #003366;--bg-primary: #FFFFFF;--bg-secondary: #F0F4F8;--bg-tertiary: #FFFFFF;--bg-grouped: #F0F4F8;--text-primary: #0A1628;--text-secondary: #3D5A80;--text-tertiary: #8E9AAF;--text-quaternary: #C4CDD5;--text-on-primary: #FFFFFF;--separator: rgba(10, 22, 40, .08);--separator-opaque: #E2E8F0;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(10, 22, 40, .06);--shadow-md: 0 2px 8px rgba(10, 22, 40, .08);--shadow-lg: 0 4px 16px rgba(10, 22, 40, .12);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--tab-bar-height: 83px;--nav-bar-height: 44px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;height:100%;overflow:hidden;background-color:var(--bg-secondary)}body{font-family:var(--font-family);background-color:var(--bg-secondary);color:var(--text-primary);line-height:1.47;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;height:100%;margin:0;overflow:hidden}#root{height:100dvh;display:flex;flex-direction:column;overflow:hidden}a{color:var(--tint);text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit;font-size:inherit}img{max-width:100%;display:block}::-webkit-scrollbar{display:none}.text-large-title{font-size:34px;font-weight:700;line-height:41px;letter-spacing:.37px}.text-title1{font-size:28px;font-weight:700;line-height:34px;letter-spacing:.36px}.text-title2{font-size:22px;font-weight:700;line-height:28px;letter-spacing:.35px}.text-title3{font-size:20px;font-weight:600;line-height:25px;letter-spacing:.38px}.text-headline{font-size:17px;font-weight:600;line-height:22px;letter-spacing:-.41px}.text-body{font-size:17px;font-weight:400;line-height:22px;letter-spacing:-.41px}.text-callout{font-size:16px;font-weight:400;line-height:21px;letter-spacing:-.32px}.text-subheadline{font-size:15px;font-weight:400;line-height:20px;letter-spacing:-.24px}.text-footnote{font-size:13px;font-weight:400;line-height:18px;letter-spacing:-.08px}.text-caption1{font-size:12px;font-weight:400;line-height:16px}.text-caption2{font-size:11px;font-weight:400;line-height:13px;letter-spacing:.07px}[data-theme=dark]{--color-primary: #4DA3FF;--color-accent: #00D2FF;--tint: #4DA3FF;--bg-primary: #1A1F2E;--bg-secondary: #0D1117;--bg-tertiary: #242B3D;--bg-grouped: #0D1117;--text-primary: #F0F4F8;--text-secondary: #B0BEC5;--text-tertiary: #6B7B8D;--text-quaternary: #3D4F63;--separator: rgba(240, 244, 248, .08);--separator-opaque: #2A3441;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 2px 8px rgba(0, 0, 0, .4);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .5)}@media(prefers-color-scheme:dark){[data-theme=system]{--color-primary: #4DA3FF;--color-accent: #00D2FF;--tint: #4DA3FF;--bg-primary: #1A1F2E;--bg-secondary: #0D1117;--bg-tertiary: #242B3D;--bg-grouped: #0D1117;--text-primary: #F0F4F8;--text-secondary: #B0BEC5;--text-tertiary: #6B7B8D;--text-quaternary: #3D4F63;--separator: rgba(240, 244, 248, .08);--separator-opaque: #2A3441;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 2px 8px rgba(0, 0, 0, .4);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .5)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideDown{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in{animation:fadeIn .25s ease-out}.animate-slide-up{animation:slideUp .35s cubic-bezier(.32,.72,0,1)}.animate-scale-in{animation:scaleIn .25s ease-out}.page-enter{opacity:0;transform:translate(20px)}.page-enter-active{opacity:1;transform:translate(0);transition:opacity .3s ease,transform .3s ease}.page-exit{opacity:1;transform:translate(0)}.page-exit-active{opacity:0;transform:translate(-20px);transition:opacity .3s ease,transform .3s ease}.skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--separator) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}
