.x-gridw{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:.6rem 0 1rem}
.x-grid{border-collapse:separate;border-spacing:4px;min-width:660px;width:100%;font-size:.8rem}
.x-grid th{color:var(--muted);font-weight:600;text-align:left;white-space:nowrap;font-size:.72rem}
.x-grid tbody th{color:var(--head);font-size:.82rem;padding-right:4px}
.x-grid tbody th small{display:block;color:var(--muted);font-weight:400;font-size:.66rem}
.x-grid td{padding:0;height:46px}
.x-bk,.x-free{width:100%;height:46px;border-radius:8px;border:1px solid var(--line);background:var(--bg2);color:var(--text);font:inherit;cursor:pointer;padding:3px 6px;text-align:left;line-height:1.2}
.x-bk{border-left:4px solid var(--o);background:var(--card)}
.x-bk b{display:block;color:var(--head);font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.x-bk small{font-size:.64rem;color:var(--muted)}
.x-solo{border-left-style:dashed}
.x-pend{outline:2px dashed var(--o);outline-offset:-2px}
.x-done{opacity:.6}
.x-on{box-shadow:0 0 0 2px var(--o)}
.x-free{text-align:center;color:var(--muted);border-style:dashed}
.x-free:hover{border-color:var(--o);color:var(--o)}
.x-gnd{background:repeating-linear-gradient(45deg,var(--bg2),var(--bg2) 6px,transparent 6px,transparent 12px);border-radius:8px;text-align:center;color:var(--muted);font-size:.66rem}
.x-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1rem;margin:0 0 1rem;min-width:0}
.x-card .btn{margin-top:.4rem}
.x-form label,.x-lab{display:block;font-size:.78rem;color:var(--muted);margin:.4rem 0}
.x-form input,.x-form select,.x-form textarea,.x-lab select{display:block;width:100%;box-sizing:border-box;margin-top:.2rem;padding:.5rem .6rem;border:1px solid var(--line);border-radius:8px;background:var(--bg2);color:var(--text);font:inherit;font-size:.86rem}
.x-form textarea{resize:vertical;margin:.6rem 0}
.x-form .x-gr{display:flex;justify-content:space-between;align-items:center;gap:.6rem;color:var(--text);font-size:.82rem;border-bottom:1px solid var(--line);padding-bottom:.4rem}
.x-form .x-gr span{min-width:0;overflow-wrap:anywhere}
.x-form .x-gr select{width:auto;max-width:55%;margin:0}
.x-form .x-cb{display:flex;align-items:center;gap:.4rem}
.x-form .x-cb input{width:auto;display:inline-block;margin:0}
.x-f2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 .7rem}
.x-chk{list-style:none;padding:0;margin:.6rem 0;font-size:.8rem}
.x-chk li{padding:.3rem 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.x-bad{color:#d9473a}
.x-warn{color:var(--o)}
.x-ok{color:#2e9d5b}
.x-les1{font-size:.84rem;overflow-wrap:anywhere}
.x-h4{margin:.9rem 0 .2rem;font-size:.86rem;color:var(--head)}
.x-wx{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:space-between;background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:.8rem 1rem;margin-bottom:1rem}
.x-wx b{color:var(--head)}
.x-wx small{display:block;color:var(--muted);font-size:.74rem}
.x-wx .dk-prog{flex-basis:100%}
.x-days,.x-row{display:flex;flex-wrap:wrap;gap:.4rem}
.x-ba{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-bottom:1rem}
.x-ba div{background:var(--bg2);border-radius:12px;padding:.7rem;font-size:.8rem;border:1px solid var(--line)}
.x-ba div+div{border-color:var(--o)}
.x-ba b{display:block;color:var(--head)}
.x-rb,.x-cur,.x-defs,.x-inv,.x-th{list-style:none;padding:0;margin:.4rem 0 .8rem}
.x-rb li,.x-inv li{display:flex;flex-wrap:wrap;gap:.2rem .6rem;padding:.4rem 0;border-bottom:1px solid var(--line);font-size:.8rem}
.x-rb span,.x-inv span{color:var(--muted)}
.x-rb em,.x-inv em{margin-left:auto;font-style:normal;color:var(--head);font-size:.76rem}
.x-sms{background:var(--bg2);border-radius:14px;padding:.6rem .8rem;max-width:330px;margin:.5rem 0}
.x-sms small{color:var(--muted);font-size:.7rem}
.x-sms p{margin:.3rem 0 0;background:var(--card);border:1px solid var(--line);border-radius:14px 14px 14px 4px;padding:.55rem .7rem;font-size:.8rem;overflow-wrap:anywhere}
.x-les{display:flex;flex-wrap:wrap;gap:4px;margin:.6rem 0}
.x-les span{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;font-size:.7rem;background:var(--bg2);color:var(--muted);border:1px solid var(--line)}
.x-les .x-y{border-color:var(--o);color:var(--o)}
.x-les .x-nx{background:var(--o);border-color:var(--o);color:var(--card);font-weight:700}
.x-ach{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .6rem;margin-bottom:.4rem}
.x-ach b{color:var(--head);font-size:1rem}
.x-ach span{color:var(--muted);font-size:.78rem}
.x-ach em,.x-th em,.x-cur em{margin-left:auto;font-style:normal;font-size:.72rem;font-weight:600}
.x-ac{border:1px solid var(--line);border-radius:12px;padding:.8rem;margin-bottom:.7rem;background:var(--card)}
.x-ac p{margin:.3rem 0;overflow-wrap:anywhere}
.x-gd{border-color:#d9473a}
.x-sig{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:.4rem 0}
.x-sg{height:64px;border:1px dashed var(--line);border-radius:10px;background:var(--bg2);color:var(--muted);font:inherit;font-size:.78rem;cursor:pointer;padding:4px;overflow:hidden}
.x-signed{color:var(--head);border-style:solid;border-color:var(--o)}
.x-sg svg{width:100%;height:30px;display:block}
.x-sg small{font-size:.66rem;color:var(--muted)}
.x-cur li,.x-defs li,.x-th li{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .6rem;padding:.45rem 0;border-bottom:1px solid var(--line);font-size:.82rem}
.x-cur li div,.x-defs li div{flex:1 1 140px;min-width:0;overflow-wrap:anywhere}
.x-cur small,.x-defs small{display:block;color:var(--muted);font-size:.72rem}
.x-th li span{flex:1 1 auto}
.x-cur .btn,.x-defs .btn,.x-th .btn{padding:.3rem .6rem;font-size:.74rem}
.x-fixed{opacity:.55}
.x-tbl{width:100%;border-collapse:collapse;font-size:.82rem;margin:.4rem 0}
.x-tbl td{padding:.35rem .25rem;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.x-tbl td:not(:first-child){text-align:right;white-space:nowrap}
.x-tbl small{display:block;color:var(--muted);font-size:.7rem}
.x-tot td{font-weight:700;color:var(--head)}
.x-low td{color:var(--o)}
.x-list{display:grid;gap:.4rem;margin:.4rem 0 1rem}
.x-li{display:flex;flex-wrap:wrap;gap:.2rem .6rem;align-items:baseline;text-align:left;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--text);font:inherit;font-size:.8rem;padding:.55rem .7rem;cursor:pointer}
.x-li b{color:var(--head)}
.x-li span{color:var(--muted);overflow-wrap:anywhere}
.x-ops{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--bg2)}
.x-opsh{background:var(--o);color:var(--card);font-weight:700;font-size:.72rem;letter-spacing:.08em;padding:.5rem .8rem}
.x-opr{display:grid;grid-template-columns:62px 62px minmax(0,1fr) auto;gap:.4rem;padding:.45rem .8rem;border-top:1px solid var(--line);font-size:.78rem;align-items:center}
.x-opr b{color:var(--head)}
.x-opr span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.x-opr em{font-style:normal;color:var(--muted);font-size:.7rem}
.x-scr{opacity:.55;text-decoration:line-through}
@media (max-width:560px){.x-f2,.x-ba{grid-template-columns:minmax(0,1fr)}.x-opr{grid-template-columns:56px minmax(0,1fr) auto}.x-opr .x-reg{display:none}.x-wx .btn{width:100%}}
