*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #1877f2;--primary-dark: #166fe5;--success: #42b72a;--warning: #f7b928;--danger: #e41e3f;--bg: #f0f2f5;--bg-card: #ffffff;--text: #1c1e21;--text-secondary: #65676b;--border: #e4e6eb;--sidebar-bg: #1c1e21;--sidebar-text: #e4e6eb;--sidebar-active: #1877f2}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}a{color:var(--primary);text-decoration:none}.auth-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#1877f2,#42b72a);padding:64px 20px 20px}.auth-banner{position:fixed;top:0;left:0;right:0;border-radius:0;z-index:201}.auth-card{background:#fff;border-radius:16px;padding:48px 40px;width:100%;max-width:440px;box-shadow:0 20px 60px #00000026}.auth-card h1{font-size:28px;color:var(--text);margin-bottom:8px;text-align:center}.auth-card .subtitle{text-align:center;color:var(--text-secondary);margin-bottom:32px;font-size:14px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:var(--text)}.form-group input{width:100%;padding:12px 16px;border:2px solid var(--border);border-radius:8px;font-size:15px;transition:border-color .2s;outline:none}.form-group input:focus{border-color:var(--primary)}.btn{width:100%;padding:12px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-success{background:var(--success);color:#fff}.btn-success:hover{background:#36a420}.auth-link{text-align:center;margin-top:20px;font-size:14px;color:var(--text-secondary)}.error-msg{background:#ffebee;color:var(--danger);padding:10px 16px;border-radius:8px;font-size:14px;margin-bottom:16px}.preview-banner{position:fixed;top:0;left:0;right:0;z-index:200;background:linear-gradient(135deg,#f7b928,#e69a00);color:#1c1e21;text-align:center;padding:10px 20px;font-size:13px;font-weight:600;letter-spacing:.3px;box-shadow:0 2px 8px #00000026;display:flex;align-items:center;justify-content:center;gap:10px}.preview-banner-icon{font-size:16px}.preview-banner-text{line-height:1.5}.layout{display:flex;flex-direction:column;min-height:100vh}.layout-body{display:flex;flex:1;padding-top:44px}.sidebar{width:250px;background:var(--sidebar-bg);color:var(--sidebar-text);display:flex;flex-direction:column;position:fixed;top:44px;left:0;bottom:0;z-index:100}.sidebar-logo{padding:20px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;gap:12px}.sidebar-logo-img{width:38px;height:38px;object-fit:contain;background:#fff;border-radius:8px;padding:4px;flex-shrink:0}.sidebar-logo h2{font-size:17px;color:#fff;line-height:1.3}.sidebar-logo span{font-size:12px;color:#8a8d91}.sidebar-nav{flex:1;padding:12px 0}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 20px;color:var(--sidebar-text);cursor:pointer;transition:all .2s;font-size:15px;border-left:3px solid transparent;text-decoration:none}.nav-item:hover{background:#ffffff0d}.nav-item.active{background:#1877f226;border-left-color:var(--sidebar-active);color:#fff}.nav-item .icon{font-size:18px;width:24px;text-align:center}.sidebar-footer{padding:16px 20px;border-top:1px solid rgba(255,255,255,.1)}.sidebar-footer .user-info{display:flex;align-items:center;gap:10px;margin-bottom:12px}.sidebar-footer .avatar{width:36px;height:36px;border-radius:50%;background:var(--primary);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.sidebar-footer .username{font-size:14px;font-weight:500}.sidebar-footer .role{font-size:12px;color:#8a8d91}.logout-btn{width:100%;padding:8px;background:#ffffff1a;color:var(--sidebar-text);border:1px solid rgba(255,255,255,.15);border-radius:6px;cursor:pointer;font-size:13px;transition:all .2s}.logout-btn:hover{background:#fff3}.main-content{margin-left:250px;flex:1;padding:30px;min-height:100vh}.page-header{margin-bottom:28px}.page-header h1{font-size:26px;font-weight:700}.page-header p{color:var(--text-secondary);margin-top:4px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:28px}.stat-card{background:var(--bg-card);border-radius:12px;padding:20px 24px;box-shadow:0 1px 3px #00000014;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.stat-card .stat-label{font-size:13px;color:var(--text-secondary);margin-bottom:6px;font-weight:500}.stat-card .stat-value{font-size:28px;font-weight:700;color:var(--text)}.stat-card .stat-change{font-size:12px;margin-top:4px}.stat-change.positive{color:var(--success)}.stat-change.negative{color:var(--danger)}.chart-section{background:var(--bg-card);border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:0 1px 3px #00000014}.chart-section h3{font-size:17px;margin-bottom:20px;font-weight:600}.charts-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}@media (max-width: 1200px){.charts-row{grid-template-columns:1fr}}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table th{text-align:left;padding:12px 16px;background:#f8f9fa;border-bottom:2px solid var(--border);font-weight:600;color:var(--text-secondary);font-size:13px;white-space:nowrap}.data-table td{padding:14px 16px;border-bottom:1px solid var(--border)}.data-table tr:hover{background:#f8f9fa}.data-table .campaign-name{font-weight:600;color:var(--primary);cursor:pointer}.data-table .campaign-name:hover{text-decoration:underline}.status-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600}.status-badge.active{background:#e8f5e9;color:#2e7d32}.status-badge.paused{background:#fff3e0;color:#e65100}.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--primary);font-size:14px;margin-bottom:16px;cursor:pointer}.detail-header{margin-bottom:24px}.detail-header h2{font-size:22px}.breadcrumb{font-size:13px;color:var(--text-secondary);margin-bottom:8px}.privacy-container{max-width:800px;margin:0 auto;background:var(--bg-card);border-radius:12px;padding:40px 48px;box-shadow:0 1px 3px #00000014}.privacy-container h1{font-size:28px;margin-bottom:8px}.privacy-container .update-date{color:var(--text-secondary);font-size:14px;margin-bottom:32px}.privacy-container h2{font-size:20px;margin:28px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.privacy-container p{margin-bottom:12px;line-height:1.8}.privacy-container ul{margin:12px 0 12px 24px}.privacy-container li{margin-bottom:6px;line-height:1.7}.analysis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:28px}.analysis-card{background:var(--bg-card);border-radius:12px;padding:20px 24px;box-shadow:0 1px 3px #00000014}.analysis-card h4{font-size:14px;color:var(--text-secondary);margin-bottom:12px}@media (max-width: 768px){.sidebar{width:60px;top:44px}.sidebar-logo{padding:12px 8px;justify-content:center}.sidebar-logo-img{width:28px;height:28px;padding:2px;border-radius:4px}.sidebar-logo h2,.sidebar-logo h2 span{display:none}.nav-item span:not(.icon){display:none}.sidebar-footer .user-info{display:none}.main-content{margin-left:60px;padding:16px}.stats-grid{grid-template-columns:repeat(2,1fr)}.privacy-container{padding:24px 20px}.preview-banner-text{font-size:11px}}.loading{display:flex;align-items:center;justify-content:center;padding:60px;color:var(--text-secondary);font-size:15px}.loading:before{content:"";width:24px;height:24px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;margin-right:10px}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:60px 20px;color:var(--text-secondary)}.empty-state .icon{font-size:48px;margin-bottom:12px}
