.dashboard-container[data-v-dc4f3209]{background:var(--bg-card);border-radius:16px;width:100%;max-width:100%;margin:0;transition:background .3s;overflow:hidden;box-shadow:0 10px 30px #0000000d}.dashboard-container .dashboard-content[data-v-dc4f3209]{padding:20px}.dashboard-container .dashboard-content .active-banner[data-v-dc4f3209]{background:var(--bg-item);border:1px solid var(--border-item);border-radius:12px;margin-bottom:20px;padding:15px}.dashboard-container .dashboard-content .active-banner h3[data-v-dc4f3209]{color:#ff6b6b;text-align:center;margin:0 0 12px;font-size:1em;font-weight:700}.dashboard-container .dashboard-content .active-banner .active-grid[data-v-dc4f3209]{flex-direction:column;gap:10px;display:flex}.dashboard-container .dashboard-content .active-banner .active-card[data-v-dc4f3209]{border:1px solid #0000;border-radius:10px;align-items:center;padding:14px;transition:all .5s cubic-bezier(.4,0,.2,1);display:flex}.dashboard-container .dashboard-content .active-banner .active-card .avatar-box[data-v-dc4f3209]{width:55px;height:55px;margin-right:15px;position:relative}.dashboard-container .dashboard-content .active-banner .active-card .avatar-box .avatar-img[data-v-dc4f3209]{object-fit:cover;border:2px solid var(--bg-card);border-radius:50%;width:100%;height:100%;box-shadow:0 2px 8px #00000014}.dashboard-container .dashboard-content .active-banner .active-card .avatar-box .celebrate-icon[data-v-dc4f3209]{font-size:1.3em;position:absolute;top:-6px;right:-6px}.dashboard-container .dashboard-content .active-banner .active-card .active-info .active-name[data-v-dc4f3209]{color:#fff;font-size:1.1em;font-weight:700;display:block}.dashboard-container .dashboard-content .active-banner .active-card .active-info .active-zone[data-v-dc4f3209]{color:#ffffffe6;letter-spacing:.2px;font-family:monospace,sans-serif;font-size:.82em}.dashboard-container .dashboard-content .active-banner .active-card.theme-cn[data-v-dc4f3209]{background:linear-gradient(135deg,#ff9f43,#ff6b6b)}.dashboard-container .dashboard-content .active-banner .active-card.theme-jp[data-v-dc4f3209]{background:linear-gradient(135deg,#9c88ff,#482ff7)}.dashboard-container .dashboard-content .active-banner .active-card.is-expiring[data-v-dc4f3209]{animation:3s ease-in-out infinite gentlePulseLight-dc4f3209;background:linear-gradient(135deg,#ff6b6b,#ee5a24)!important;border-color:#ff4d4f66!important;box-shadow:0 4px 15px #ff4d4f26!important}.dashboard-container .dashboard-content .active-banner .active-card.is-expiring .active-name[data-v-dc4f3209],.dashboard-container .dashboard-content .active-banner .active-card.is-expiring .active-zone[data-v-dc4f3209]{text-shadow:0 1px 2px #0000001a;color:#fff!important;font-weight:700!important}.dashboard-container .dashboard-content .active-banner .active-card.is-expiring .avatar-box .avatar-img[data-v-dc4f3209]{border-color:#ff6b6b!important}:root[data-theme=dark] .dashboard-container .dashboard-content .active-banner .active-card.is-expiring[data-v-dc4f3209]{animation:3s ease-in-out infinite gentlePulseDark-dc4f3209;background:linear-gradient(135deg,#2d1f1f,#1e1e1e)!important;border-color:#ff4d4f80!important;box-shadow:0 4px 20px #ff4d4f33!important}:root[data-theme=dark] .dashboard-container .dashboard-content .active-banner .active-card.is-expiring .active-name[data-v-dc4f3209]{color:#ff6b6b!important}:root[data-theme=dark] .dashboard-container .dashboard-content .active-banner .active-card.is-expiring .active-zone[data-v-dc4f3209]{color:var(--text-normal-gray)!important}:root[data-theme=dark] .dashboard-container .dashboard-content .active-banner .active-card.is-expiring .avatar-box .avatar-img[data-v-dc4f3209]{border-color:#3d3d3d!important}.dashboard-container .dashboard-content .upcoming-section h3[data-v-dc4f3209]{color:var(--text-main);margin-bottom:12px;font-size:1em}.dashboard-container .dashboard-content .upcoming-section .card-list-dual[data-v-dc4f3209]{flex-direction:column;gap:10px;display:flex}.dashboard-container .dashboard-content .upcoming-section .upcoming-card[data-v-dc4f3209]{background:var(--bg-item);border:1px solid var(--border-item);border-radius:10px;justify-content:space-between;align-items:center;padding:12px 16px;transition:all .2s;display:flex}.dashboard-container .dashboard-content .upcoming-section .upcoming-card .card-left[data-v-dc4f3209]{align-items:center;gap:12px;display:flex}.dashboard-container .dashboard-content .upcoming-section .upcoming-card .card-left .avatar-img-sm[data-v-dc4f3209]{object-fit:cover;border:1px solid var(--bg-card);border-radius:50%;width:38px;height:38px;box-shadow:0 2px 4px #0000000d}.dashboard-container .dashboard-content .upcoming-section .upcoming-card .card-left .info .name[data-v-dc4f3209]{color:var(--text-main);font-weight:600;display:block}.dashboard-container .dashboard-content .upcoming-section .upcoming-card .card-left .info .date[data-v-dc4f3209]{color:var(--text-normal-gray);font-size:.78em}.dashboard-container .dashboard-content .upcoming-section .upcoming-card .countdown[data-v-dc4f3209]{color:var(--text-normal-gray);font-family:monospace;font-size:.85em}.dashboard-container .dashboard-content .upcoming-section .upcoming-card.theme-cn.is-urgent[data-v-dc4f3209]{background:#ff9f430d;border-bottom:4px solid #ff9f43}.dashboard-container .dashboard-content .upcoming-section .upcoming-card.theme-jp.is-urgent[data-v-dc4f3209]{background:#9c88ff0d;border-bottom:4px solid #9c88ff}@keyframes gentlePulseLight-dc4f3209{0%{opacity:.93}50%{opacity:1;filter:saturate(1.1)}to{opacity:.93}}@keyframes gentlePulseDark-dc4f3209{0%{border-color:#ff4d4f33;box-shadow:0 4px 15px #ff4d4f0d}50%{border-color:#ff4d4f99;box-shadow:0 4px 25px #ff4d4f40;background:#3a2222!important}to{border-color:#ff4d4f33;box-shadow:0 4px 15px #ff4d4f0d}}.roster-container[data-v-c0ac41bd]{background:var(--bg-card);border-radius:16px;width:100%;max-width:100%;margin:0;padding:20px;transition:background .3s;box-shadow:0 4px 20px #0000000d}.roster-container .roster-header[data-v-c0ac41bd]{border-bottom:2px solid var(--border-item);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:12px;display:flex}.roster-container .roster-header .header-left[data-v-c0ac41bd]{flex-direction:column;gap:4px;display:flex}.roster-container .roster-header .header-left h3[data-v-c0ac41bd]{color:var(--text-main);margin:0;font-size:1.1em}.roster-container .roster-header .header-left .total-count[data-v-c0ac41bd]{color:var(--text-muted);font-size:.85em;font-weight:500}.roster-container .roster-header .filter-tabs[data-v-c0ac41bd]{background:var(--bg-item);border-radius:8px;padding:4px;display:flex}.roster-container .roster-header .filter-tabs .tab-btn[data-v-c0ac41bd]{color:var(--text-normal-gray);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 12px;font-size:.85em;font-weight:600;transition:all .2s}.roster-container .roster-header .filter-tabs .tab-btn[data-v-c0ac41bd]:hover{color:#6c5ce7}.roster-container .roster-header .filter-tabs .tab-btn.active[data-v-c0ac41bd]{background:var(--bg-card);color:#6c5ce7;box-shadow:0 2px 6px #0000001a}.roster-container .roster-toolbar[data-v-c0ac41bd]{flex-direction:column;gap:12px;margin-bottom:18px;display:flex}.roster-container .roster-toolbar .search-box[data-v-c0ac41bd]{width:100%;position:relative}.roster-container .roster-toolbar .search-box .search-input[data-v-c0ac41bd]{box-sizing:border-box;border:1px solid var(--border-item);background:var(--bg-item);width:100%;color:var(--text-main);border-radius:8px;padding:10px 35px 10px 12px;font-size:.9em;transition:all .2s}.roster-container .roster-toolbar .search-box .search-input[data-v-c0ac41bd]:focus{background:var(--bg-card);border-color:#6c5ce7;outline:none;box-shadow:0 0 8px #6c5ce726}.roster-container .roster-toolbar .search-box .clear-btn[data-v-c0ac41bd]{cursor:pointer;background:0 0;border:none;padding:2px;font-size:.8em;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.roster-container .roster-toolbar .sort-group[data-v-c0ac41bd]{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.roster-container .roster-toolbar .sort-group .sort-btn[data-v-c0ac41bd]{border:1px solid var(--border-item);background:var(--bg-item);color:var(--text-main);cursor:pointer;border-radius:6px;padding:8px 4px;font-size:.78em;font-weight:600;transition:all .2s}.roster-container .roster-toolbar .sort-group .sort-btn[data-v-c0ac41bd]:hover{color:#6c5ce7;border-color:#6c5ce7}.roster-container .roster-toolbar .sort-group .sort-btn.active[data-v-c0ac41bd]{background:#6c5ce7;border-color:#6c5ce7;box-shadow:0 2px 6px #6c5ce733;color:#fff!important}.roster-container .roster-list[data-v-c0ac41bd]{flex-direction:column;gap:10px;display:flex}.roster-container .roster-list .roster-card[data-v-c0ac41bd]{background:var(--bg-item);border:1px solid var(--border-item);border-radius:12px;align-items:center;padding:12px 16px;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.roster-container .roster-list .roster-card[data-v-c0ac41bd]:hover{transform:translate(4px);box-shadow:0 4px 12px #0000000f}.roster-container .roster-list .roster-card.is-birthday-today[data-v-c0ac41bd]{background:linear-gradient(135deg,#fff0f699,#fff0f6)}.roster-container .roster-list .roster-card .avatar-box[data-v-c0ac41bd]{flex-shrink:0;width:46px;height:46px;margin-right:14px;position:relative}.roster-container .roster-list .roster-card .avatar-box .avatar-img[data-v-c0ac41bd]{object-fit:cover;border:2px solid var(--bg-card);border-radius:50%;width:100%;height:100%;box-shadow:0 2px 6px #00000014}.roster-container .roster-list .roster-card .avatar-box .badge-today[data-v-c0ac41bd]{color:#fff;white-space:nowrap;border-radius:4px;padding:1px 4px;font-size:.55em;font-weight:700;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}.roster-container .roster-list .roster-card .profile-info[data-v-c0ac41bd]{flex-direction:column;flex-grow:1;gap:3px;display:flex}.roster-container .roster-list .roster-card .profile-info .profile-name[data-v-c0ac41bd]{color:var(--text-main);align-items:center;gap:6px;margin:0;font-size:.95em;display:flex}.roster-container .roster-list .roster-card .profile-info .profile-name .zone-tag[data-v-c0ac41bd]{border-radius:4px;padding:1px 5px;font-size:.68em;font-weight:400}.roster-container .roster-list .roster-card .profile-info .profile-date[data-v-c0ac41bd]{color:var(--text-normal-gray);margin:0;font-size:.78em}.roster-container .roster-list .roster-card .roster-countdown[data-v-c0ac41bd]{text-align:right;color:var(--text-normal-gray);flex-shrink:0;margin-left:10px;font-size:.8em}.roster-container .roster-list .roster-card .roster-countdown .days-highlight[data-v-c0ac41bd]{font-size:1.15em;font-weight:700}.roster-container .roster-list .roster-card .roster-countdown .celebrate-text[data-v-c0ac41bd]{font-size:.85em;font-weight:700}.roster-container .roster-list .roster-card .roster-countdown .magic-text[data-v-c0ac41bd]{color:#74b9ff;background:var(--border-item);border-radius:4px;padding:2px 6px;font-size:.8em;font-weight:700}.roster-container .roster-list .roster-card.theme-cn .avatar-box .avatar-img[data-v-c0ac41bd]{border-color:#ff9f4366!important}.roster-container .roster-list .roster-card.theme-cn .days-highlight[data-v-c0ac41bd]{color:#ee5a24}.roster-container .roster-list .roster-card.theme-cn .badge-today[data-v-c0ac41bd]{background:#ee5a24}.roster-container .roster-list .roster-card.theme-cn.is-urgent[data-v-c0ac41bd]{border-bottom:4px solid #ff9f43;border-bottom-right-radius:12px;border-bottom-left-radius:12px;box-shadow:0 4px 12px #ff9f4314}.roster-container .roster-list .roster-card.theme-cn.is-birthday-today[data-v-c0ac41bd]{background:linear-gradient(135deg,#ff9f43,#ff6b6b);border-color:#0000}.roster-container .roster-list .roster-card.theme-cn.is-birthday-today .profile-name[data-v-c0ac41bd],.roster-container .roster-list .roster-card.theme-cn.is-birthday-today .profile-date[data-v-c0ac41bd],.roster-container .roster-list .roster-card.theme-cn.is-birthday-today .celebrate-text[data-v-c0ac41bd]{color:#fff}.roster-container .roster-list .roster-card.theme-cn.is-birthday-today .zone-tag[data-v-c0ac41bd]{color:#fff;background:#fff3;border-color:#0000}.roster-container .roster-list .roster-card.theme-jp .avatar-box .avatar-img[data-v-c0ac41bd]{border-color:#9c88ff66!important}.roster-container .roster-list .roster-card.theme-jp .days-highlight[data-v-c0ac41bd]{color:#6c5ce7}.roster-container .roster-list .roster-card.theme-jp .badge-today[data-v-c0ac41bd]{background:#6c5ce7}.roster-container .roster-list .roster-card.theme-jp.is-urgent[data-v-c0ac41bd]{border-bottom:4px solid #9c88ff;border-bottom-right-radius:12px;border-bottom-left-radius:12px;box-shadow:0 4px 12px #9c88ff14}.roster-container .roster-list .roster-card.theme-jp.is-birthday-today[data-v-c0ac41bd]{background:linear-gradient(135deg,#9c88ff,#482ff7);border-color:#0000}.roster-container .roster-list .roster-card.theme-jp.is-birthday-today .profile-name[data-v-c0ac41bd],.roster-container .roster-list .roster-card.theme-jp.is-birthday-today .profile-date[data-v-c0ac41bd],.roster-container .roster-list .roster-card.theme-jp.is-birthday-today .celebrate-text[data-v-c0ac41bd]{color:#fff}.roster-container .roster-list .roster-card.theme-jp.is-birthday-today .zone-tag[data-v-c0ac41bd]{color:#fff;background:#fff3;border-color:#0000}.roster-container .roster-list .empty-roster[data-v-c0ac41bd]{text-align:center;color:var(--text-muted);padding:40px 20px;font-size:.9em}*,:before,:after{box-sizing:border-box}:root{--bg-app:#f1f3f5;--bg-card:#fff;--bg-item:#f8f9fa;--border-item:#edf2f7;--text-main:#2d3436;--text-muted:#b2bec3;--text-normal-gray:#718096}[data-theme=dark]{--bg-app:#121212;--bg-card:#1e1e1e;--bg-item:#2d2d2d;--border-item:#3d3d3d;--text-main:#f5f6fa;--text-muted:#718096;--text-normal-gray:#a4b0be}body{background:var(--bg-app);margin:0;padding:20px 10px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;transition:background .3s}.app-wrapper{flex-direction:column;gap:14px;width:100%;max-width:550px;margin:0 auto;display:flex}.global-app-header{text-align:center;margin-bottom:5px;padding:0 10px}.global-app-header .main-title{color:var(--text-main);letter-spacing:-.5px;word-break:keep-all;margin:0 0 10px;font-size:1.65em;font-weight:800}.global-app-header .app-description{color:var(--text-normal-gray);text-align:justify;margin:0;font-size:.86em;line-height:1.6}.theme-switcher{z-index:999;position:fixed;top:15px;right:20px}.theme-switcher .switch-btn{background:var(--bg-card);color:var(--text-main);border:1px solid var(--border-item);cursor:pointer;border-radius:20px;padding:8px 16px;font-size:.85em;font-weight:700;transition:all .2s;box-shadow:0 4px 12px #0000001a}.theme-switcher .switch-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #00000026}
