/* ============ 通用样式 ============ */
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","SimSun",sans-serif;background:#f5f6f8;color:#1a2332;line-height:1.6;font-size:14px}

/* ============ 登录页 ============ */
#loginPage{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#0d1b3e 0%,#1a237e 50%,#283593 100%);display:flex;align-items:center;justify-content:center;z-index:1000}
.login-container{width:100%;max-width:400px;padding:40px 32px;margin:0 20px;background:rgba(255,255,255,.97);border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.3);text-align:center}
.login-icon{width:64px;height:64px;margin:0 auto 20px;background:linear-gradient(135deg,#1a237e,#3949ab);border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:28px;color:white}
.login-title{font-size:20px;font-weight:700;color:#1a237e;margin-bottom:6px}
.login-subtitle{font-size:12.5px;color:#78909c;margin-bottom:28px}
.login-input{width:100%;padding:14px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:15px;outline:none;transition:border-color .2s;text-align:center;letter-spacing:2px}
.login-input:focus{border-color:#3949ab}
.login-btn{width:100%;margin-top:16px;padding:14px;background:linear-gradient(135deg,#1a237e,#3949ab);color:white;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s}
.login-btn:hover{transform:translateY(-1px)}
.login-error{margin-top:12px;color:#e53935;font-size:13px;min-height:20px}

/* ============ 统计栏 ============ */
.stats-bar{background:linear-gradient(135deg,#0d1b3e,#1a237e);color:white;padding:20px 16px 16px}
.stats-title{font-size:18px;font-weight:700;margin-bottom:12px}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.stat-item{text-align:center;background:rgba(255,255,255,.1);border-radius:8px;padding:10px 4px}
.stat-num{font-size:20px;font-weight:700}
.stat-label{font-size:11px;opacity:.8;margin-top:2px}

/* ============ 筛选栏 ============ */
.filter-bar{display:flex;gap:8px;padding:12px 16px;background:white;border-bottom:1px solid #eee;overflow-x:auto}
.filter-btn{padding:6px 14px;border:1px solid #e0e0e0;border-radius:20px;background:white;font-size:13px;cursor:pointer;white-space:nowrap;transition:all .2s}
.filter-btn.active{background:#1a237e;color:white;border-color:#1a237e}

/* ============ 时间轴 ============ */
.timeline{padding:20px 16px 40px;max-width:800px;margin:0 auto}
.year-group{margin-bottom:24px}
.year-header{margin-bottom:12px;padding-left:4px;border-left:4px solid #1a237e}
.year-header h2{font-size:18px;color:#1a2332}
.year-count{font-size:13px;color:#78909c;font-weight:400;margin-left:8px}
.timeline-line{position:relative;padding-left:24px}
.timeline-line::before{content:"";position:absolute;left:7px;top:0;bottom:0;width:2px;background:#e0e0e0}
.event{position:relative;margin-bottom:14px;cursor:pointer}
.event-dot{position:absolute;left:-24px;top:14px;width:16px;height:16px;border-radius:50%;border:3px solid #fff;box-shadow:0 2px 4px rgba(0,0,0,.15);z-index:1}
.event-dot.done{background:#43a047}
.event-dot.ongoing{background:#e53935;animation:pulse 2s infinite}
.event-dot.setup{background:#1a237e}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.2)}}
.event-card{background:white;border-radius:8px;padding:12px 14px;box-shadow:0 2px 8px rgba(0,0,0,.06);transition:all .2s}
.event-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.1);transform:translateY(-1px)}
.event-card.ongoing{border-left:3px solid #e53935}
.event-title{font-weight:600;font-size:15px;margin-bottom:4px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.event-title span:first-child{flex:1}
.event-date{font-size:12px;color:#78909c;margin-bottom:6px}
.status-tag{font-size:11px;padding:2px 8px;border-radius:10px;background:#e8f5e9;color:#2e7d32;font-weight:500;flex-shrink:0}
.status-tag.st-ongoing{background:#ffebee;color:#c62828}
.case-no{font-size:12px;color:#5c6bc0;font-family:monospace;margin-top:4px}
.event-facts-preview{font-size:12px;color:#666;margin-top:6px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.event-arrow{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#bdbdbd;font-size:18px}

/* ============ 案件详情抽屉 ============ */
#caseDetail{position:fixed;top:0;right:-100%;width:100%;height:100%;background:#fafbfc;z-index:500;transition:right .35s cubic-bezier(.4,0,.2,1);overflow-y:auto}
#caseDetail.active{right:0}
@media(min-width:768px){#caseDetail{width:600px;box-shadow:-4px 0 20px rgba(0,0,0,.1)}}
.detail-header{background:linear-gradient(135deg,#0d1b3e,#1a237e);color:white;padding:18px 20px 16px;position:sticky;top:0;z-index:10}
.detail-title{font-size:18px;font-weight:700;margin-bottom:6px;padding-right:40px}
.detail-meta{font-size:12px;opacity:.9;display:flex;flex-wrap:wrap;gap:8px}
.close-btn{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.2);border:none;color:white;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.detail-body{padding:16px}
.detail-section{margin-bottom:20px}
.section-title{font-size:14px;font-weight:600;color:#1a237e;margin-bottom:10px;padding-left:8px;border-left:3px solid #1a237e}
.facts-list{padding-left:20px;margin:0}
.facts-list li{margin-bottom:6px;font-size:14px;color:#333;word-break:break-all}

/* ============ 文档查看 ============ */
.doc-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.doc-tab{padding:6px 12px;border:1px solid #e0e0e0;border-radius:6px;background:white;font-size:12px;cursor:pointer;transition:all .2s}
.doc-tab.active{background:#1a237e;color:white;border-color:#1a237e}
.doc-content{background:white;border-radius:8px;padding:16px;min-height:200px;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.doc-text{font-family:"SimSun","宋体",serif;font-size:16px;line-height:1.8;color:#1a1a1a;white-space:pre-wrap;max-height:60vh;overflow-y:auto}
.font-size-bar{display:flex;gap:4px;margin-bottom:10px}
.font-btn{padding:4px 10px;border:1px solid #ddd;border-radius:4px;background:#fafafa;font-size:12px;cursor:pointer}
.font-btn.active{background:#1a237e;color:white;border-color:#1a237e}
.pdf-viewer{width:100%;height:65vh;border:none;border-radius:6px;background:#525659}
.pdf-open-btn{display:inline-block;padding:10px 20px;background:#1a237e;color:white;border-radius:6px;text-decoration:none;font-size:14px;margin-top:8px}

/* ============ 底部信息 ============ */
.generated-at{text-align:center;font-size:12px;color:#999;padding:20px}
