* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
body {
    font-family: "Microsoft YaHei", Arial, sans-serif;
    background: #1a1a1a;
    color: #fff;
    display: flex;
}
a {
    text-decoration: none;
    color: #fff;
}
ul {
    list-style: none;
}

/* ========== 左侧导航栏 ========== */
.sidebar {
    width: 60px;
    background: #111;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    padding-top: 20px;
}
.sidebar .logo {
    text-align: center;
    font-size: 24px;
    color: #00c6ff;
    font-weight: bold;
    margin-bottom: 30px;
}
.sidebar ul li {
    padding: 12px 0;
    text-align: center;
    font-size: 14px;
    color: #aaa;
    cursor: pointer;
    transition: 0.2s;
}
.sidebar ul li:hover, .sidebar ul li.active {
    color: #fff;
    background: #222;
}
.sidebar ul li i {
    display: block;
    font-size: 18px;
    margin-bottom: 4px;
}
/* ========== 主内容区 ========== */
.main {
    margin-left: 60px;
    width: calc(100% - 60px);
    padding: 15px 20px;
}

/* 顶部栏 */
.top-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}
.search-box {
    width: 400px;
    height: 36px;
    background: #2a2a2a;
    border-radius: 18px;
    display: flex;
    align-items: center;
    padding: 0 15px;
}
.search-box input {
    flex: 1;
    background: transparent;
    border: none;
    outline: none;
    color: #fff;
}
.top-actions {
    display: flex;
    align-items: center;
    gap: 15px;
}
.top-actions .vip-btn {
    background: linear-gradient(90deg, #ff9500, #ff6b00);
    padding: 6px 15px;
    border-radius: 15px;
    font-size: 13px;
}
.top-actions .user {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #aaa;
}
/* 底部版权 */
.footer {
    background: #111;
    padding: 20px;
    text-align: center;
    color: #888;
    font-size: 13px;
    border-top: 1px solid #222;
}

/* —————————— 登录弹窗核心样式 —————————— */
.login-modal {
    display: none; /* 默认隐藏 */
    position: fixed;
    top:0; left:0;
    width:100%; height:100%;
    background: rgba(0,0,0,0.85);
    z-index: 9999;
    align-items: center;
    justify-content: center;
}
.login-modal.show {
    display: flex;
}
.login-box {
    width: 420px;
    background: #1f1f1f;
    border-radius: 10px;
    padding: 38px 32px;
    border: 1px solid #333;
    position: relative;
}
.login-box .close {
    position: absolute;
    right:18px; top:18px;
    font-size:18px;
    color:#888;
    cursor: pointer;
}
.login-box .close:hover {
    color:#fff;
}

/* 选项卡 */
.tab {
    display: flex;
    margin-bottom:28px;
    border-bottom:1px solid #333;
}
.tab-item {
    flex:1;
    text-align:center;
    padding:12px 0;
    font-size:17px;
    color:#999;
    cursor:pointer;
    position:relative;
}
.tab-item.active {
    color:#00c6ff;
}
.tab-item.active::after {
    content:'';
    width:45px; height:3px;
    background:#00c6ff;
    position:absolute;
    bottom:-1px; left:50%;
    transform:translateX(-50%);
}

/* 面板 */
.panel { display:none; }
.panel.active { display:block; }

/* 输入框 */
.input-group {
    margin-bottom:20px;
}
.input-group label {
    display:block;
    font-size:13px;
    color:#bbb;
    margin-bottom:7px;
}
.input-group input {
    width:100%;
    height:44px;
    background:#2a2a2a;
    border:1px solid #444;
    border-radius:6px;
    padding:0 14px;
    color:#fff;
    outline:none;
}
.input-group input:focus {
    border-color:#00c6ff;
}

/* 按钮 */
.btn {
    width:100%;
    height:46px;
    border:none;
    border-radius:6px;
    font-size:15px;
    cursor:pointer;
}
.btn-primary {
    background:linear-gradient(90deg,#00b8e6,#0077dd);
    color:#fff;
}
.btn-vip {
    background:linear-gradient(90deg,#ff8a00,#ff5e00);
    color:#fff;
}

/* 链接 */
.link-row {
    display:flex;
    justify-content:space-between;
    margin:12px 0 22px;
    font-size:13px;
}
.wechat-link { color:#07c160; font-size:20px; }
.forget-link { color:#999; }

.agreement {
    font-size:12px;
    color:#888;
    text-align:center;
    margin:14px 0;
}
.agreement a { color:#00c6ff; }

/* 青少年模式 */
.teenager-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 99999;
}
.teenager-modal.show {
    display: flex;
    align-items: center;
    justify-content: center;
}
.modal-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.7);
}
.modal-box {
    background: #222;
    width: 90%;
    max-width: 400px;
    border-radius: 8px;
    position: relative;
    z-index: 1;
}
.modal-header {
    padding: 15px 20px;
    background: #111;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.modal-header h3 {
    color: #fff;
    font-size: 18px;
    margin: 0;
}
.modal-close {
    color: #fff;
    font-size: 24px;
    cursor: pointer;
}
.modal-body {
    padding: 25px;
    color: #fff;
}
.tip {
    color: #aaa;
    font-size: 14px;
    margin-bottom: 20px;
}
.status-text {
    font-size: 14px;
    margin-bottom: 15px;
}
.status-off {color: #dc3545;}
.status-on {color: #28a745;}
.input-group {
    margin-bottom: 15px;
}
.input-group label {
    display: block;
    font-size: 14px;
    margin-bottom: 6px;
    color: #fff;
}
.input-group input {
    width: 100%;
    height: 40px;
    background: #333;
    border: none;
    border-radius: 4px;
    padding: 0 10px;
    color: #fff;
}
.btn-group {
    margin-top: 20px;
    display: flex;
    gap: 10px;
}
.btn-open {
    flex: 1;
    background: #00c6ff;
    color: #fff;
    border: none;
    height: 42px;
    border-radius: 4px;
    cursor: pointer;
}
.btn-close {
    flex: 1;
    background: #dc3545;
    color: #fff;
    border: none;
    height: 42px;
    border-radius: 4px;
    cursor: pointer;
}