/* segmented control + filters */
.vbar{display:flex;align-items:center;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.seg{display:inline-flex;background:var(--fill);border-radius:8px;padding:2px;gap:0}
.seg button{border:0;background:none;padding:4px 14px;border-radius:6px;font-size:12.5px;font-weight:500;color:var(--label);transition:background .15s}
.seg button.on{background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.12),0 0 0 .5px rgba(0,0,0,.04)}
.qf{padding:4px 11px;border-radius:20px;border:0;background:var(--fill2);font-weight:500;color:var(--label);font-size:12px;white-space:nowrap;transition:background .12s}
.qf:hover{background:var(--fill)}
.qf.on{background:var(--accent);color:#fff}
.qf.x{background:var(--accent-t);color:var(--accent)}

/* inset grouped table */
.grp{margin-bottom:22px}
.gh{display:flex;align-items:center;gap:8px;margin:0 4px 8px;user-select:none}
.gh .car{color:var(--label3);transition:transform .2s;display:inline-grid;place-items:center;width:14px}.gh .car .ic{width:13px;height:13px}.grp.closed .car{transform:rotate(-90deg)}
.gh .gdot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.gh{cursor:default}.gh b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gh b{font-size:14px;font-weight:600}.gh .n{color:var(--label3);font-size:12.5px;white-space:nowrap}
.grp.closed .tbl{display:none}
.batt{display:flex;height:6px;width:160px;flex-shrink:0;border-radius:3px;overflow:hidden;margin-left:auto;background:rgba(118,118,128,.18);gap:1.5px}
.batt div{transition:flex .3s}
.tbl{background:#fff;border-radius:12px;box-shadow:var(--sh);overflow:hidden}
.tr{display:grid;grid-template-columns:minmax(0,1fr) 150px 80px 90px 120px 130px;align-items:center;min-height:44px;position:relative}
.tr:not(:last-child)::after{content:'';position:absolute;left:16px;right:0;bottom:0;height:.5px;background:var(--sep)}
.tr>div{padding:0 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px;min-height:44px}
.tr>div:first-child{padding-left:16px}
.tr:not(.th):hover{background:rgba(0,0,0,.025)}
.tr .t{font-weight:500}.tr .t span.tt{overflow:hidden;text-overflow:ellipsis}
.th{min-height:30px}.th{background:rgba(0,0,0,.015)}.th>div{min-height:30px;font-size:11.5px;color:var(--label2);font-weight:500}
.tr .c{font-size:12.5px;color:var(--label2)}
.scell button{cursor:default}
.ok-ic{color:var(--b-published);font-size:14px}.no-ic{color:#c7c7cc}
.add{color:var(--label3);min-height:42px;display:flex;align-items:center;padding:0 16px;gap:8px}
.add::before{content:'+';color:var(--accent);font-size:17px;font-weight:400}
.add input{border:0;outline:0;width:100%;background:none;height:42px;font-size:13px}
.add input::placeholder{color:var(--label3)}

/* popover menu */
.pop{position:fixed;z-index:70;background:rgba(246,246,246,.85);backdrop-filter:saturate(180%) blur(30px);-webkit-backdrop-filter:saturate(180%) blur(30px);border-radius:10px;
  box-shadow:0 0 0 .5px rgba(0,0,0,.15),0 10px 30px rgba(0,0,0,.18);padding:5px;width:200px;animation:pop .14s cubic-bezier(.2,.9,.3,1.2)}
.pop button{display:flex;align-items:center;gap:8px;width:100%;border:0;background:none;padding:5px 9px;border-radius:5px;font-size:13px;text-align:left}
.pop button:hover{background:var(--accent);color:#fff}
.pop button i{width:8px;height:8px;border-radius:50%}
.pop button .chk{margin-left:auto;font-size:12px}
.pop hr{border:0;height:.5px;background:var(--sep);margin:4px 6px}
@keyframes pop{from{transform:scale(.96);opacity:0}}

/* board */
.board{display:grid;grid-template-columns:repeat(5,minmax(230px,1fr));gap:12px;overflow-x:auto;padding-bottom:10px;align-items:start}
.col{background:rgba(0,0,0,.035);border-radius:14px;padding:8px;display:flex;flex-direction:column;gap:8px;min-height:220px;transition:background .15s,box-shadow .15s}
.col.over{background:var(--accent-t);box-shadow:inset 0 0 0 2px rgba(0,122,255,.35)}
.ch{display:flex;align-items:center;gap:7px;padding:4px 6px 2px;font-weight:600;font-size:13px}.ch i{width:9px;height:9px;border-radius:50%}.ch span{margin-left:auto;color:var(--label3);font-weight:500;font-size:12px}
.cd{background:#fff;border-radius:10px;padding:10px 12px;box-shadow:0 0 0 .5px rgba(0,0,0,.05),0 1px 3px rgba(0,0,0,.07);transition:box-shadow .15s;position:relative;overflow:hidden}
.cd::before{content:'';position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--g)}
.cd:hover{box-shadow:0 0 0 .5px rgba(0,0,0,.06),0 6px 18px rgba(0,0,0,.1)}
.cd.dragging{opacity:.35}.cd.sel{box-shadow:0 0 0 2px var(--accent),0 6px 18px rgba(0,122,255,.15)}
.cd b{display:block;font-size:13px;font-weight:500;line-height:1.38;margin-bottom:8px}
.cd .m{display:flex;gap:4px;flex-wrap:wrap;align-items:center}
.col .add{border-radius:8px;min-height:34px}.col .add:hover{background:rgba(0,0,0,.04)}

/* gallery */
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.gc{background:#fff;border-radius:14px;padding:16px;box-shadow:var(--sh);display:flex;flex-direction:column;gap:9px;transition:box-shadow .15s,transform .15s;position:relative}
.gc:hover{box-shadow:0 8px 26px rgba(0,0,0,.09)}
.gc .pdot{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--label2);font-weight:500}.gc .pdot i{width:8px;height:8px;border-radius:50%;background:var(--g)}
.gc .t{font-weight:600;font-size:14px;line-height:1.38}.gc .h{font-size:12.5px;color:var(--label2);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.gc .m{display:flex;gap:4px;flex-wrap:wrap;margin-top:auto;padding-top:4px}

/* calendar */
.calhead{display:flex;align-items:center;gap:8px;margin-bottom:12px}.calhead h2{margin:0 8px 0 0;font-size:22px;font-weight:700;letter-spacing:-.02em}
.calhead h2 span{color:var(--label3);font-weight:400}
.cal{display:grid;grid-template-columns:repeat(7,1fr);background:#fff;border-radius:12px;overflow:hidden;box-shadow:var(--sh)}
.cal .dh{padding:8px 10px;font-size:11px;font-weight:600;color:var(--label3);text-align:right;border-bottom:.5px solid var(--sep)}
.cal .d{min-height:116px;padding:5px;display:flex;flex-direction:column;gap:3px;border-right:.5px solid var(--sep);border-bottom:.5px solid var(--sep)}
.cal .d:nth-child(7n){border-right:0}
.cal .d:hover{background:rgba(0,0,0,.015)}.cal .d.out .n{color:#c7c7cc}.cal .d.over{background:var(--accent-t)}
.cal .n{font-size:12px;font-weight:500;color:var(--label);align-self:flex-end;width:22px;height:22px;display:grid;place-items:center}
.cal .today .n{background:var(--b-rev);color:#fff;border-radius:50%;font-weight:600}
.cal .ev{font-size:11.5px;font-weight:500;padding:3px 6px;border-radius:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal .more{font-size:11px;color:var(--label3);padding-left:6px}
.agenda{display:none}
