*{box-sizing:border-box}
body{margin:0;font:13.5px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:#f4f6f9;color:#252a31}
header{background:#1A4288;color:#fff;padding:12px 18px}
header h1{font-size:16px;margin:0 0 8px}
.presets{display:flex;gap:7px;flex-wrap:wrap}
.presets button{background:#4197cb;color:#fff;border:0;padding:7px 12px;border-radius:20px;cursor:pointer;font-size:12.5px;font-weight:600}
.presets button:hover{background:#5aa8d8}
.panel{background:#fff;border-bottom:1px solid #e2e8f0;padding:12px 18px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:10px 14px;max-width:1700px}
.f label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:#6b7280;margin-bottom:3px}
.f select,.f input{width:100%;padding:6px 8px;border:1px solid #cbd5e1;border-radius:5px;font-size:13px}
.f .pair{display:flex;gap:5px;align-items:center}
.f .pair select{flex:1}
.f .pair span{color:#6b7280;font-size:11.5px}
.bar{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:10px 18px;background:#eef2f7;border-bottom:1px solid #e2e8f0;position:sticky;top:78px;z-index:14;flex-wrap:wrap}
#summary{font-size:14.5px}
.bar button{background:#1A4288;color:#fff;border:0;padding:8px 14px;border-radius:6px;cursor:pointer;font-weight:600}
.bar .ghost{background:#fff;color:#475569;border:1px solid #cbd5e1}
table{width:100%;border-collapse:collapse;background:#fff}
th{background:#1A4288;color:#fff;font-size:11.5px;text-transform:uppercase;letter-spacing:.4px;padding:9px 8px;text-align:left;cursor:pointer}
th:hover{background:#24549f}
td{padding:9px 8px;border-bottom:1px solid #eef2f7;vertical-align:top}
tr:hover td{background:#f8fafc}
.nm{min-width:270px}
.sub{color:#6b7280;font-size:12px;margin-top:2px}
.nomail{color:#7C3AED;font-weight:600}
.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.seg{white-space:nowrap;font-size:12.5px}
.bars{white-space:nowrap}
.yr{display:inline-block;font-size:9.5px;padding:1px 3px;margin-right:1px;border-radius:3px;font-weight:600}
.yr.on{background:#1A4288;color:#fff}.yr.off{background:#e8edf3;color:#b6c0cc}
#pager{padding:14px 18px 60vh;text-align:center}
#pager button{background:#fff;border:1px solid #cbd5e1;padding:6px 14px;border-radius:6px;cursor:pointer;margin:0 6px}
#pager button:disabled{opacity:.4;cursor:default}

.ms{position:relative}
.msbtn{width:100%;padding:6px 8px;border:1px solid #cbd5e1;border-radius:5px;background:#fff;cursor:pointer;text-align:left;font-size:13px}
.msbtn .cnt{color:#1A4288;font-weight:700}
.msbox{display:none;position:absolute;z-index:40;background:#fff;border:1px solid #cbd5e1;border-radius:6px;
  box-shadow:0 8px 24px rgba(0,0,0,.16);width:290px;max-height:300px;overflow:auto;padding:6px}
.msearch{width:100%;padding:5px 7px;border:1px solid #cbd5e1;border-radius:4px;margin-bottom:5px;font-size:12.5px}
.mi{display:block;padding:4px 5px;border-radius:4px;cursor:pointer;font-size:12.8px}
.mi:hover{background:#eef2f7}
.mi input{width:auto;margin-right:7px}
#years{display:flex;gap:3px;align-items:flex-end;padding:10px 18px;background:#fff;border-bottom:1px solid #e2e8f0;overflow-x:auto}
.yc{text-align:center;min-width:78px;flex:1;border-radius:6px;padding:4px 2px;border:1px solid transparent}
.yc.on{background:#e8f0fb;border-color:#1A4288}
.yc.off{background:#f3e8ff;border-color:#7C3AED}
.yc.on .yl{color:#1A4288;font-weight:700}
.yc.off .yl{color:#7C3AED;font-weight:700}
.ck{display:block;line-height:1;margin-top:2px}
.ck input{width:15px;height:15px;cursor:pointer;margin:0}
.ck.y input{accent-color:#1A4288}
.ck.n input{accent-color:#7C3AED}
.ymode .mrow{display:flex;align-items:center;gap:5px;font-size:11.5px;color:#374151;margin-top:3px}
.ymode .mrow select{flex:1;padding:2px 4px;font-size:11px}
.dotY,.dotN{width:11px;height:11px;border-radius:3px;display:inline-block;flex:none}
.dotY{background:#1A4288}.dotN{background:#7C3AED}
.ymode{min-width:118px;padding-right:10px;border-right:1px solid #e2e8f0;margin-right:6px;text-align:left}
.ymode .ylab{font-size:10.5px;color:#6b7280;font-weight:700;text-transform:uppercase;line-height:1.25;margin-bottom:4px}
.ymode select{width:100%;padding:4px;border:1px solid #cbd5e1;border-radius:5px;font-size:11.5px}
.yclr{margin-top:4px;width:100%;background:#1A4288;color:#fff;border:0;padding:4px;border-radius:5px;cursor:pointer;font-size:11px}
.ybar{height:46px;display:flex;align-items:flex-end;justify-content:center}
.ybar div{width:60%;background:#1A4288;border-radius:2px 2px 0 0;min-height:1px}
.yv{font-size:11.5px;font-weight:700;color:#1A4288;margin-top:3px;font-variant-numeric:tabular-nums}
.yl{font-size:11px;color:#6b7280;font-weight:600}
.yd{font-size:10.5px;color:#8E44AD}
.scope{color:#7C3AED;font-size:12px;font-weight:600;margin-left:8px}

.scoped{color:#7C3AED}
th.scoped{background:#7C3AED;color:#fff}
th.scoped:hover{background:#8E44AD}
.yr.other{background:#ddd6f0;color:#7C3AED}

.topline{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:9px;
  padding-top:9px;border-top:1px solid rgba(255,255,255,.22);flex-wrap:wrap}
#summary{font-size:14.5px;color:#fff}
#summary .scope{color:#e9d5ff}
.topline .dl{background:#fff;color:#1A4288;border:0;padding:8px 15px;border-radius:6px;cursor:pointer;font-weight:700}
tr[onclick]{cursor:pointer}
#drawer{display:none}
#drawer.open{display:block}
.dbox{position:fixed;right:12px;bottom:12px;top:auto;width:min(1120px,96vw);max-height:56vh;background:#fff;z-index:61;
  border:1px solid #cbd5e1;border-radius:10px;box-shadow:0 -6px 30px rgba(0,0,0,.22);padding:18px 22px;overflow:auto}
.dclose{position:absolute;right:16px;top:12px;background:none;border:0;font-size:30px;line-height:1;cursor:pointer;color:#6b7280}
.dbox h2{margin:0 0 4px;font-size:20px;color:#1A4288}
.dsub{color:#475569;font-size:13px;margin-bottom:16px;line-height:1.6}
.dt{width:100%;border-collapse:collapse;font-size:12.5px}
.dt th{background:#1A4288;color:#fff;padding:7px 6px;font-size:11px;position:static}
.dt td{padding:7px 6px;border-bottom:1px solid #eef2f7}
.dt .dl{text-align:left;font-weight:600;min-width:150px}
.dt .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.dt .tot{font-weight:700;color:#1A4288;background:#f4f6f9}
.dt .z{color:#cbd5e1}
.dt tr.ft td{border-top:2px solid #1A4288;font-weight:700;background:#f8fafc}

.topline .dl2{background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.4);padding:8px 12px;border-radius:6px;cursor:pointer;font-weight:600;margin-left:6px}
.topline .dl2:hover{background:rgba(255,255,255,.28)}
#mergebar{display:none;justify-content:space-between;align-items:center;gap:12px;padding:10px 18px;
  background:#f3e8ff;border-bottom:2px solid #7C3AED;font-size:13.5px;position:sticky;top:0;z-index:30}
#mergebar button{background:#7C3AED;color:#fff;border:0;padding:8px 14px;border-radius:6px;cursor:pointer;font-weight:600}
#mergebar .ghost{background:#fff;color:#475569;border:1px solid #cbd5e1;margin-left:6px}
td.tick,th.tick{width:34px;padding-left:12px}
td.tick input{width:16px;height:16px;cursor:pointer}
.mtag{background:#7C3AED;color:#fff;font-size:10.5px;padding:1px 7px;border-radius:9px;margin-left:7px;font-weight:700}
.mnote{color:#7C3AED;font-weight:600}
.ubtn{background:none;border:0;color:#1A4288;text-decoration:underline;cursor:pointer;font-size:12px;margin-left:6px}

.g26{background:#0f766e;color:#fff;font-size:10px;padding:1px 6px;border-radius:9px;margin-left:6px;font-weight:700}

.mids{color:#7C3AED;font-weight:700}

tr.expanded td{background:#eef4fc!important}
.caret{color:#4197cb;font-weight:700;margin-right:6px;display:inline-block;width:10px}
tr.detail td{background:#f8fafc;padding:0;border-bottom:2px solid #1A4288}
.dwrap{padding:16px 20px 18px 44px}
.dhead{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:4px}
.dhead b{font-size:16px;color:#1A4288}
.dclose2{margin-left:auto;background:none;border:0;color:#4197cb;cursor:pointer;text-decoration:underline;font-size:12.5px}
.dline{font-size:13px;color:#475569;margin-bottom:10px}

.dwrap .nform{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap;margin-bottom:10px}
.dwrap .nform select{width:210px;margin:0;flex:none}
.dwrap .nform textarea{flex:1;min-width:300px;min-height:44px;margin:0}
.dwrap .nform button{margin:0;flex:none;align-self:stretch}
.dwrap .dnotes{margin-top:16px}
.dwrap .nlist{max-width:900px}
.dwrap .note{padding:7px 0}

/* the whole control area stays at the top of the screen while the list scrolls */
#top{position:sticky;top:0;z-index:40;box-shadow:0 2px 10px rgba(15,23,42,.10)}
#top.lean .panel,#top.lean #years,#top.lean .presets{display:none}
.boardbar{position:relative;z-index:1}
th{position:sticky;top:var(--toph,0px);z-index:12}
.topline .dl3{background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.45);
  padding:8px 13px;border-radius:6px;cursor:pointer;font-weight:600;margin-right:8px}
.topline .dl3:hover{background:rgba(255,255,255,.3)}
#mergebar{position:static}

.topline .tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.mailtick{display:flex;align-items:center;gap:6px;color:#fff;font-size:12.5px;font-weight:600;
  background:rgba(255,255,255,.14);padding:7px 11px;border-radius:6px;cursor:pointer;white-space:nowrap}
.mailtick input{width:15px;height:15px;margin:0;cursor:pointer}
.mailtick:hover{background:rgba(255,255,255,.24)}
.topline .dl2 #boardCount{background:#7C3AED;color:#fff;border-radius:9px;padding:1px 6px;font-size:10.5px;margin-left:3px}

/* the sign-in splash and the message board panel */
#boot{position:fixed;inset:0;background:#f4f6f9;display:flex;align-items:center;justify-content:center;
  font-size:16px;color:#1A4288;z-index:200;font-weight:600}
#who{font-size:12px;color:#cfe0f5;margin-left:8px;font-weight:400}
#board{position:fixed;right:0;top:0;bottom:0;width:min(430px,94vw);background:#fff;z-index:80;
  box-shadow:-6px 0 26px rgba(0,0,0,.2);transform:translateX(100%);transition:transform .18s;
  display:flex;flex-direction:column}
#board.open{transform:none}
#board h3{margin:0;padding:15px 18px;background:#1A4288;color:#fff;font-size:15px;
  display:flex;justify-content:space-between;align-items:center}
#board h3 button{background:none;border:0;color:#fff;font-size:24px;cursor:pointer;line-height:1}
#boardList{flex:1;overflow:auto;padding:12px 16px}
.bform{padding:12px 16px;border-top:1px solid #e2e8f0;background:#f8fafc}
.bform textarea{width:100%;border:1px solid #cbd5e1;border-radius:6px;padding:8px;font:inherit;font-size:13px;resize:vertical}
.bform button{background:#1A4288;color:#fff;border:0;padding:8px 15px;border-radius:6px;cursor:pointer;font-weight:600;margin-top:6px}
.note{border-bottom:1px solid #eef2f7;padding:9px 0}
.nh{font-size:12.5px;color:#475569;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.nh .oc{background:#7C3AED;color:#fff;font-size:10.5px;padding:1px 8px;border-radius:9px;font-weight:700}
.nh .ts{color:#9ca3af;font-size:11.5px}
.nh .del{background:none;border:0;color:#1A4288;text-decoration:underline;cursor:pointer;font-size:11.5px;margin-left:auto}
.nb{font-size:13.2px;margin-top:3px;white-space:pre-wrap}
.dlink{color:#1A4288;font-weight:700;text-decoration:none}
