/* 我的工作台 ZjDashboard #95 —— 全部 zd- 前缀，不污染宿主；风格对齐 casespace */
#zd-root{
  --zd-primary:#4F46E5; --zd-text:#1F2328; --zd-text2:#57606A;
  --zd-bg:#FFFFFF; --zd-bg2:#F7F8FA; --zd-border:#E5E7EB;
  --zd-success:#16A34A; --zd-warn:#D97706; --zd-danger:#DC2626;
  position:fixed; inset:0; z-index:15000; background:var(--zd-bg2);
  color:var(--zd-text); font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
  font-size:15px; line-height:1.5; -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
#zd-root *{box-sizing:border-box; margin:0; padding:0;}
#zd-root .zd-hidden{display:none !important;}

/* 顶栏 */
#zd-root .zd-topbar{position:sticky; top:0; z-index:20; background:rgba(255,255,255,.92); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--zd-border); display:flex; align-items:center; gap:10px; padding:12px;}
#zd-root .zd-topbar .zd-tb-title{flex:1; min-width:0;}
#zd-root .zd-topbar h1{font-size:17px; font-weight:700; overflow:hidden; white-space:nowrap; text-overflow:ellipsis;}
#zd-root .zd-topbar .zd-date{font-size:11.5px; color:var(--zd-text2); margin-top:1px;}
#zd-root .zd-iconbtn{flex:0 0 auto; border:1px solid var(--zd-border); background:#fff; color:var(--zd-text2); border-radius:8px;
  width:32px; height:32px; cursor:pointer; display:flex; align-items:center; justify-content:center;}
#zd-root .zd-iconbtn:active{background:var(--zd-bg2);}

/* 主容器：移动优先，桌面居中 560 */
#zd-root .zd-wrap{max-width:560px; margin:0 auto; width:100%; padding:12px 12px 40px;}

/* 概览统计三宫格 */
#zd-root .zd-stats{display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:14px;}
#zd-root .zd-stat{background:#fff; border:1px solid var(--zd-border); border-radius:12px; padding:12px 10px; text-align:center;}
#zd-root .zd-stat .zd-num{font-size:24px; font-weight:700; line-height:1.1;}
#zd-root .zd-stat .zd-num.od{color:var(--zd-danger);}
#zd-root .zd-stat .zd-lab{font-size:11.5px; color:var(--zd-text2); margin-top:3px;}

/* 区块 */
#zd-root .zd-sec{background:#fff; border:1px solid var(--zd-border); border-radius:14px; padding:14px; margin-bottom:12px;}
#zd-root .zd-sec-hd{display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:10px;}
#zd-root .zd-sec-hd .zd-sec-t{font-size:15px; font-weight:700; display:flex; align-items:center; gap:7px;}
#zd-root .zd-sec-hd .zd-sec-t svg{width:18px; height:18px; color:var(--zd-primary); flex:0 0 auto;}
#zd-root .zd-more{flex:0 0 auto; font-size:12.5px; color:var(--zd-primary); cursor:pointer; background:none; border:none; padding:4px 2px;}
#zd-root .zd-more:active{opacity:.7;}

/* 待办行 */
#zd-root .zd-todo{display:flex; align-items:flex-start; gap:10px; padding:10px 0; border-bottom:1px solid var(--zd-bg2);}
#zd-root .zd-todo:last-child{border-bottom:none;}
#zd-root .zd-todo .zd-tdot{flex:0 0 auto; width:8px; height:8px; border-radius:50%; background:var(--zd-border); margin-top:6px;}
#zd-root .zd-todo.overdue .zd-tdot{background:var(--zd-danger);}
#zd-root .zd-todo.today .zd-tdot{background:var(--zd-warn);}
#zd-root .zd-todo .zd-tmain{flex:1; min-width:0; cursor:pointer;}
#zd-root .zd-todo .zd-tt{font-size:14px; color:var(--zd-text); overflow:hidden; text-overflow:ellipsis;}
#zd-root .zd-todo.overdue .zd-tt{color:var(--zd-danger); font-weight:600;}
#zd-root .zd-todo .zd-tm{font-size:12px; color:var(--zd-text2); margin-top:2px;}
#zd-root .zd-tag{flex:0 0 auto; font-size:11px; font-weight:600; padding:2px 8px; border-radius:999px; margin-top:2px;}
#zd-root .zd-tag.od{background:#FEF2F2; color:var(--zd-danger);}
#zd-root .zd-tag.td{background:#FFF7ED; color:#B45309;}

/* 开庭卡片 */
#zd-root .zd-hgrp{font-size:12.5px; font-weight:700; color:var(--zd-text2); margin:12px 2px 6px; display:flex; align-items:center; gap:6px;}
#zd-root .zd-hgrp .zd-hc-n{background:var(--zd-bg2); border-radius:999px; padding:0 7px; font-size:11.5px; color:var(--zd-text2);}
#zd-root .zd-hgrp.od{color:var(--zd-danger);}
#zd-root .zd-hcard{border:1px solid var(--zd-border); border-radius:12px; padding:11px 12px; margin-bottom:8px; background:#fff;}
#zd-root .zd-hcard.od{border-color:#FCA5A5; background:#FEF2F2;}
#zd-root .zd-hcard.today{border-color:#FDE68A; background:#FFFBEB;}
#zd-root .zd-hcard .zd-hc-top{display:flex; justify-content:space-between; align-items:flex-start; gap:8px;}
#zd-root .zd-hcard .zd-hc-name{font-size:14.5px; font-weight:600; color:var(--zd-text); flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis;}
#zd-root .zd-hcard .zd-count{flex:0 0 auto; font-size:12px; font-weight:700; color:var(--zd-primary); background:#EEF2FF; border-radius:8px; padding:3px 8px; white-space:nowrap;}
#zd-root .zd-hcard.od .zd-count{color:var(--zd-danger); background:#FEE2E2;}
#zd-root .zd-hcard .zd-hc-meta{font-size:12.5px; color:var(--zd-text2); margin-top:4px; line-height:1.6;}
#zd-root .zd-hcard .zd-hc-act{display:flex; gap:8px; margin-top:9px;}

/* 小按钮 */
#zd-root .zd-btn{display:inline-block; border:none; border-radius:9px; padding:7px 13px; font-size:13px; font-weight:600;
  cursor:pointer; background:var(--zd-primary); color:#fff;}
#zd-root .zd-btn:active{opacity:.88;}
#zd-root .zd-btn.ghost{background:#fff; color:var(--zd-text); border:1px solid var(--zd-border);}
#zd-root .zd-btn.sm{padding:5px 11px; font-size:12.5px;}
#zd-root .zd-btn:disabled{opacity:.5; cursor:not-allowed;}

/* 案件/线索 mini */
#zd-root .zd-funnel{display:flex; gap:8px;}
#zd-root .zd-fn{flex:1; background:var(--zd-bg2); border-radius:10px; padding:10px 8px; text-align:center;}
#zd-root .zd-fn .zd-fn-n{font-size:20px; font-weight:700; color:var(--zd-text);}
#zd-root .zd-fn .zd-fn-l{font-size:11px; color:var(--zd-text2); margin-top:2px;}
#zd-root .zd-stagel{display:flex; flex-wrap:wrap; gap:6px; margin-top:10px;}
#zd-root .zd-chip{display:inline-block; padding:3px 10px; border-radius:999px; font-size:12px; font-weight:600; background:#EEF2FF; color:#4338CA;}
#zd-root .zd-chip.c2{background:#FFF7ED; color:#B45309;}
#zd-root .zd-chip.c3{background:#F0FDF4; color:#15803D;}
#zd-root .zd-chip.c4{background:#F3F4F6; color:var(--zd-text2);}

/* 存证统计 */
#zd-root .zd-ev-row{display:flex; justify-content:space-between; align-items:center; padding:8px 0; border-bottom:1px solid var(--zd-bg2); font-size:13.5px;}
#zd-root .zd-ev-row:last-of-type{border-bottom:none;}
#zd-root .zd-ev-row span{color:var(--zd-text2);}
#zd-root .zd-ev-row b{font-weight:700; color:var(--zd-text);}
#zd-root .zd-note{background:#EEF2FF; border:1px solid #C7D2FE; color:var(--zd-text); border-radius:10px;
  padding:9px 12px; font-size:12.5px; margin-top:10px; line-height:1.6;}
#zd-root .zd-note.warn{background:#FFFBEB; border-color:#FDE68A;}

/* 空态 */
#zd-root .zd-empty{text-align:center; color:var(--zd-text2); padding:24px 16px;}
#zd-root .zd-empty .zd-eic{width:42px; height:42px; margin:0 auto 8px; color:var(--zd-text2); opacity:.7;}
#zd-root .zd-empty h3{font-size:14px; font-weight:600; color:var(--zd-text); margin-bottom:4px;}
#zd-root .zd-empty p{font-size:12.5px; line-height:1.6; margin-bottom:12px;}

/* 弹层 mask/sheet */
#zd-root .zd-mask{position:fixed; inset:0; background:rgba(15,23,42,.45); z-index:300; display:flex; align-items:flex-end; justify-content:center;}
@media (min-width:640px){ #zd-root .zd-mask{align-items:center;} }
#zd-root .zd-sheet{background:#fff; width:100%; max-width:640px; border-radius:16px 16px 0 0; padding:18px; max-height:86vh; overflow-y:auto;}
@media (min-width:640px){ #zd-root .zd-sheet{border-radius:16px; width:440px;} }
#zd-root .zd-sheet h3{font-size:16px; margin-bottom:10px;}
#zd-root .zd-sheet p{font-size:13.5px; color:var(--zd-text2); line-height:1.7; margin-bottom:8px;}
#zd-root .zd-srow{display:flex; gap:10px; margin-top:16px;}
#zd-root .zd-srow .zd-btn{flex:1;}
#zd-root .zd-setrow{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0; border-bottom:1px solid var(--zd-bg2);}
#zd-root .zd-setrow:last-of-type{border-bottom:none;}
#zd-root .zd-setrow .zd-sr-t{font-size:14px; color:var(--zd-text);}
#zd-root .zd-setrow .zd-sr-d{font-size:12px; color:var(--zd-text2); margin-top:2px;}
#zd-root .zd-switch{flex:0 0 auto; width:48px; height:28px; border-radius:999px; background:var(--zd-border); position:relative; cursor:pointer; transition:background .15s;}
#zd-root .zd-switch.on{background:var(--zd-primary);}
#zd-root .zd-switch::after{content:''; position:absolute; top:3px; left:3px; width:22px; height:22px; border-radius:50%; background:#fff; transition:left .15s; box-shadow:0 1px 3px rgba(0,0,0,.2);}
#zd-root .zd-switch.on::after{left:23px;}

/* toast */
#zd-root .zd-toast{position:fixed; left:50%; bottom:110px; transform:translateX(-50%); background:#1F2328; color:#fff;
  padding:10px 18px; border-radius:999px; font-size:13.5px; z-index:400; max-width:80vw; text-align:center;}

/* 页脚说明 */
#zd-root .zd-foot{text-align:center; padding:14px 0 6px; color:var(--zd-text2); font-size:11.5px; line-height:1.6;}
#zd-root .zd-demo-badge{display:inline-block; background:#FEF2F2; color:var(--zd-danger); border:1px solid #FCA5A5;
  border-radius:8px; padding:4px 10px; font-size:12px; font-weight:600; margin-bottom:10px;}
