.x-pg{display:none;margin:8px 0}
.x-acts{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0}
.x-acts .btn{font-size:.8rem;padding:7px 12px}
.x-list{list-style:none;margin:8px 0;padding:0;display:grid;gap:6px}
.x-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;background:var(--card);border:1px solid var(--line);border-radius:10px}
.x-row>div:first-child{min-width:0;flex:1 1 170px}
.x-row b,.x-spec b,.x-ap span{color:var(--head);overflow-wrap:anywhere}
.x-row small,.x-spec small,.x-ap small{display:block;color:var(--muted);font-size:.76rem;overflow-wrap:anywhere}
.x-tag{font-style:normal;font-size:.68rem;padding:1px 7px;border-radius:9px;background:rgba(217,83,79,.16);color:var(--head);white-space:nowrap}
.x-st{font-size:.7rem;font-weight:600;padding:3px 9px;border-radius:20px;background:var(--bg2);color:var(--muted);white-space:nowrap}
.x-s-due,.x-s-recd,.x-s-esc{background:color-mix(in srgb,var(--o) 22%,transparent);color:var(--head)}
.x-s-sent,.x-s-invited{background:rgba(70,130,220,.18);color:var(--head)}
.x-s-booked,.x-s-closed{background:rgba(46,157,91,.18);color:var(--head)}
.x-ok{font-style:normal;font-size:.76rem;color:var(--muted)}
.x-ba{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}
.x-ba>div{background:var(--bg2);border-radius:10px;padding:10px;text-align:center}
.x-ba>div:last-child{border:2px solid var(--o)}
.x-ba small{display:block;color:var(--muted);font-size:.72rem}
.x-ba b{display:block;font-size:1.5rem;color:var(--head)}
.x-ba span{font-size:.76rem;color:var(--text)}
.x-form{display:grid;gap:8px;margin:8px 0}
.x-r2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:6px 0}
.x-form input,.x-form select,.x-bkw input,.x-bkw select,.x-sel{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--text);font:inherit;font-size:.85rem}
.x-sel{margin-bottom:8px}
.x-chk{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--text);margin:6px 0}
.x-chk input{width:auto}
.x-ph{max-width:320px;border:2px solid var(--line);border-radius:22px;padding:12px;background:var(--bg2);margin:8px 0}
.x-ph-h{font-size:.75rem;font-weight:600;color:var(--muted);text-align:center;margin-bottom:8px;overflow-wrap:anywhere}
.x-bub{background:var(--card);border-radius:14px 14px 14px 4px;padding:10px 12px;font-size:.84rem;color:var(--text);overflow-wrap:anywhere}
.x-bub small{display:block;color:var(--muted);font-size:.7rem;margin-top:6px}
.x-lnk{display:block;color:var(--o);font-weight:600;margin-top:6px}
.x-bkw{max-width:none}
.x-q{font-weight:600;font-size:.84rem;color:var(--head);margin:10px 0 6px}
.x-opts{display:flex;flex-wrap:wrap;gap:6px}
.x-opt{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:10px;padding:7px 10px;font:inherit;font-size:.78rem;cursor:pointer;text-align:left}
.x-opt:hover,.x-opt.x-on{border-color:var(--o)}
.x-opt.x-on{background:color-mix(in srgb,var(--o) 14%,transparent);color:var(--head)}
.x-sum{background:var(--card);padding:8px 10px;border-radius:10px;font-size:.8rem;margin-top:8px;color:var(--text)}
.x-specs{display:grid;gap:8px;margin-top:8px}
.x-spec{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--line);border-radius:10px;padding:10px 12px;cursor:pointer}
.x-spec.x-on{border-color:var(--o)}
.x-spec.x-late{border-left-color:#d9534f}
.x-sh{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;align-items:center}
.x-res{margin:6px 0 0;padding:4px 8px;border-radius:6px;font-size:.8rem;font-weight:600;color:var(--head);background:rgba(46,157,91,.15)}
.x-res.x-bad{background:rgba(217,83,79,.16)}
.x-od{margin:4px 0 0;font-size:.76rem;color:#d9534f;font-weight:500}
.x-log{list-style:none;margin:8px 0;padding:0 0 0 12px;border-left:2px solid var(--line);font-size:.8rem;color:var(--text)}
.x-log li{margin:0 0 7px;overflow-wrap:anywhere}
.x-log small{display:block;color:var(--muted);font-size:.7rem}
.x-steps{display:flex;gap:4px;margin-top:6px;flex-wrap:wrap}
.x-steps span{font-size:.68rem;padding:2px 8px;border-radius:10px;background:var(--bg2);color:var(--muted)}
.x-steps .x-done{background:rgba(46,157,91,.18);color:var(--head)}
.x-map{width:100%;max-width:340px;display:block;margin:0 auto}
.x-fig circle,.x-fig rect{fill:var(--bg2);stroke:var(--line);stroke-width:1}
.x-map text{fill:var(--muted);font-size:8px}
.x-dot{fill:var(--o);stroke:var(--card);stroke-width:1.5;cursor:pointer}
.x-dot.x-on{stroke:var(--head);stroke-width:2.5}
.x-dot.x-fl{fill:#d9534f}
.x-cmp{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;margin:8px 0}
.x-im{margin:0;text-align:center}
.x-derm{aspect-ratio:1;max-width:100px;margin:0 auto;border-radius:50%;background:radial-gradient(circle,#e9c4a6,#c4957a);display:grid;place-items:center;overflow:hidden;border:3px solid var(--line)}
.x-derm i{display:block;background:radial-gradient(circle at 45% 45%,#3b2316,#6e4229 55%,#a26a45);box-shadow:0 0 6px rgba(60,30,15,.5)}
.x-im figcaption{font-size:.74rem;color:var(--text);margin-top:4px}
.x-im figcaption b{color:var(--head)}
.x-im small{display:block;color:var(--muted)}
.x-cal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.x-cal h4{margin:6px 0 0;font-size:.84rem;color:var(--head)}
.x-ap{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;padding:8px 10px;background:var(--card);border:1px solid var(--line);border-radius:10px}
.x-ap>b{color:var(--o);font-size:.8rem;min-width:48px}
.x-ap>div:nth-child(2){flex:1 1 110px;min-width:0}
.x-ap span{font-size:.84rem}
.x-ap .x-acts{margin:0;flex-basis:100%}
.x-free{border-style:dashed;background:transparent}
.x-free span{color:var(--muted)}
.x-fill{animation:x-grow 1.5s linear forwards}
@keyframes x-grow{from{width:0}to{width:100%}}
.x-tw{overflow-x:auto}
.x-tbl{width:100%;border-collapse:collapse;font-size:.8rem;color:var(--text)}
.x-tbl th{text-align:left;color:var(--muted);font-weight:600;font-size:.72rem;padding:6px;border-bottom:1px solid var(--line)}
.x-tbl td{padding:7px 6px;border-bottom:1px solid var(--line)}
@media (max-width:560px){.x-cal{grid-template-columns:minmax(0,1fr)}.x-ph{max-width:none}.x-cmp{grid-template-columns:repeat(3,minmax(0,1fr))}.x-tbl{font-size:.74rem}}