/* ── TASK CARDS ── */
.tk{background:var(--glass);border:1px solid var(--gborder);border-radius:var(--r);transition:all .28s var(--ease);cursor:pointer;position:relative;overflow:hidden}
.tk::before{content:'';position:absolute;top:0;left:0;bottom:0;width:0;background:linear-gradient(180deg,transparent,rgba(255,0,153,0.025));transition:width .35s var(--ease)}
.tk:hover{background:var(--ghover);border-color:rgba(130,55,245,0.2);box-shadow:0 4px 20px rgba(0,0,0,0.15),0 0 30px rgba(130,55,245,0.04)}.tk:hover::before{width:100%}
.tk.od{border-left:3px solid var(--red)}.tk.wk{border-left:3px solid var(--green);background:rgba(61,220,132,0.015)}.tk.fl{border-left:3px solid var(--cyan)}
.tk.completing{animation:tkDone .5s var(--ease) forwards}
@keyframes tkDone{to{opacity:0;transform:translateX(60px) scale(.95);max-height:0;padding:0;margin:0;border:0}}

/* List mode */
.tk-list .tk{margin-bottom:8px}
.tk-compact{display:flex;align-items:center;gap:10px;padding:12px 16px;min-height:50px}
.tk-left{flex:1;display:flex;align-items:center;gap:10px;min-width:0}
.tk-name{font-weight:600;font-size:13.5px;color:var(--t1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:0.01em;transition:color .2s}.tk:hover .tk-name{color:#fff}
.tk-right{display:flex;align-items:center;gap:8px;flex-shrink:0}
.tk-score{font-family:var(--fd);font-size:10px;color:var(--t4);background:var(--bg4);padding:2px 8px;border-radius:6px;min-width:30px;text-align:center;font-weight:600;letter-spacing:0.03em}

/* Grid mode */
.tk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(264px,1fr));gap:14px}
.tk-grid .tk{display:flex;flex-direction:column;min-height:154px}
.tk-grid .tk-compact{display:none}
.tk-grid .tk-g{display:flex}
.tk-g{display:none;flex-direction:column;height:100%;padding:18px}
.tk-g-head{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.tk-g-name{font-weight:700;font-size:14px;color:var(--t1);line-height:1.45;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;letter-spacing:0.005em;transition:color .2s}.tk:hover .tk-g-name{color:#fff}
.tk-g-meta{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:auto}
.tk-g-foot{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding-top:12px;border-top:1px solid var(--gborder)}
.tk-g-foot-l{display:flex;align-items:center;gap:6px}
.tk-g-foot-r{display:flex;align-items:center;gap:5px}

/* ── BADGES ── */
.bg{font-size:10px;padding:3px 10px;border-radius:10px;font-weight:600;white-space:nowrap;letter-spacing:0.03em;transition:all .2s var(--ease)}
.bg-cr{background:rgba(255,51,88,0.1);color:var(--red)}.bg-im{background:rgba(255,176,48,0.1);color:var(--amber)}
.bg-mt{background:rgba(168,85,247,0.1);color:var(--purple50)}.bg-wt{background:rgba(61,220,132,0.1);color:var(--green)}
.bg-cl{background:rgba(255,0,153,0.06);color:var(--pink50)}.bg-ec{background:rgba(45,212,191,0.08);color:var(--teal)}.bg-ca{background:var(--bg4);color:var(--t3)}
.bg-du{font-size:10px;color:var(--t3);padding:3px 9px;letter-spacing:0.02em}.bg-du.od{color:var(--red);font-weight:700}.bg-du.td{color:var(--amber);font-weight:600}
.bg-fl{background:rgba(34,211,238,0.08);color:var(--cyan)}.bg-es{color:var(--t4);font-size:10px;letter-spacing:0.02em}

/* ── TIMER ── */
.tmr{font-family:var(--fd);font-size:16px;font-weight:600;min-width:60px;text-align:right;color:var(--t3);letter-spacing:0.06em}
.tmr.go{color:var(--green);text-shadow:0 0 14px rgba(61,220,132,.25)}.tmr-sm{font-size:13px;min-width:50px}
.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:4px;vertical-align:middle}
.dot.pulse{background:var(--green);animation:pulse 1.3s ease infinite;box-shadow:0 0 10px var(--green)}.dot.pau{background:var(--amber);box-shadow:0 0 6px rgba(255,176,48,0.3)}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.15;transform:scale(.65)}}

/* ── ACTION BUTTONS ── */
.ab{width:34px;height:34px;border-radius:50%;border:none;font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .22s var(--ease);position:relative}
.ab::after{content:'';position:absolute;inset:-3px;border-radius:50%;opacity:0;transition:opacity .22s var(--ease)}
.ab:hover{transform:scale(1.12)}.ab:active{transform:scale(.9)}
.ab-go{background:rgba(61,220,132,0.1);color:var(--green)}.ab-go:hover{background:rgba(61,220,132,0.18)}.ab-go:hover::after{opacity:1;border:2px solid rgba(61,220,132,.15)}
.ab-pa{background:rgba(255,176,48,0.1);color:var(--amber)}.ab-pa:hover{background:rgba(255,176,48,0.18)}.ab-pa:hover::after{opacity:1;border:2px solid rgba(255,176,48,.15)}
.ab-dn{background:rgba(61,220,132,0.1);color:var(--green)}.ab-dn:hover{background:rgba(61,220,132,0.18)}.ab-dn:hover::after{opacity:1;border:2px solid rgba(61,220,132,.15)}
.ab-del{background:rgba(255,51,88,0.08);color:var(--red)}.ab-del:hover{background:rgba(255,51,88,0.16)}.ab-del:hover::after{opacity:1;border:2px solid rgba(255,51,88,.15)}
.ab-sm{width:30px;height:30px;font-size:13px}

/* ── DETAIL MODAL ── */
.tf-modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:400;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);align-items:center;justify-content:center;padding:20px}
.tf-modal-overlay.on{display:flex}
.tf-modal{background:var(--bg2);border:1px solid var(--gborder);border-radius:16px;width:100%;max-width:820px;max-height:90vh;overflow-y:auto;padding:28px;box-shadow:var(--shadow-xl),0 0 80px rgba(130,55,245,0.06);animation:modalIn .35s var(--ease-out);position:relative;z-index:401}
@keyframes modalIn{from{opacity:0;transform:scale(.94) translateY(24px)}to{opacity:1;transform:none}}
.tf-modal-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:4px}
.tf-modal-close{background:var(--bg3);border:1px solid var(--gborder);color:var(--t4);font-size:20px;cursor:pointer;padding:4px 10px;border-radius:8px;transition:all .22s var(--ease);flex-shrink:0;line-height:1}
.tf-modal-close:hover{color:var(--red);background:rgba(255,51,88,0.08);border-color:rgba(255,51,88,0.15);transform:scale(1.05)}
.tf-modal-badges{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:6px 12px 12px;border-bottom:1px solid var(--gborder);margin-bottom:0}
.ed-timer-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 13px;background:var(--bg3);border-radius:20px;border:1px solid var(--gborder);font-family:var(--fd);font-size:13px;font-weight:600;letter-spacing:0.03em}

/* ── INLINE EDIT FIELDS ── */
.edf{background:var(--bg3);border:1px solid var(--gborder);color:var(--t1);padding:9px 13px;border-radius:var(--rs);font-size:13px;font-family:var(--f);width:100%;transition:all .25s var(--ease);cursor:pointer;letter-spacing:0.01em}
.edf:hover{border-color:rgba(130,55,245,0.22);background:rgba(18,12,50,0.9)}
.edf:focus{outline:none;border-color:var(--pink);box-shadow:0 0 0 3px rgba(255,0,153,0.07);cursor:text}
input[type="datetime-local"].edf::-webkit-calendar-picker-indicator{filter:invert(1) brightness(1.8)}
input[type="date"].edf::-webkit-calendar-picker-indicator{filter:invert(1) brightness(1.8)}
.edf-name{font-family:var(--fd);font-size:22px;font-weight:700;color:#fff;padding:8px 12px;line-height:1.35;background:transparent;border-color:transparent;flex:1;letter-spacing:-0.02em}
.edf-name:hover{border-color:rgba(130,55,245,0.2);background:var(--bg3)}
.edf-name:focus{background:var(--bg3)}
.edf-notes{min-height:64px;resize:vertical;line-height:1.6}
select.edf{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bg3);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238a7ca8'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:10px 6px;padding-right:30px}
select.edf:focus{background-color:var(--bg3);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23ff0099'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:10px 6px}
.ed-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0;padding:14px;background:var(--bg1);border-radius:var(--r);border:1px solid var(--gborder)}
.ed-grid.ed-grid-3{grid-template-columns:1fr 1fr 1fr}
.ed-grid+.ed-grid{margin-top:4px}
.ed-fld{display:flex;flex-direction:column;gap:4px}
.ed-fld.full{grid-column:1/-1}
.ed-lbl{font-size:9px;font-weight:700;color:var(--t4);text-transform:uppercase;letter-spacing:1px;padding-left:12px}
.flag-row{display:flex;align-items:center;gap:10px;padding:10px 16px;margin:0;background:var(--bg1);border-radius:var(--r);border:1px solid var(--gborder)}
.ed-flags-inline{gap:20px;margin-top:8px}
@media(max-width:700px){.ed-grid.ed-grid-3{grid-template-columns:1fr 1fr}}
.flag-toggle{display:flex;align-items:center;gap:9px;cursor:pointer;font-size:12px;color:var(--t3);transition:color .2s var(--ease);user-select:none;letter-spacing:0.01em}
.flag-toggle:hover{color:var(--cyan)}
.flag-toggle input{display:none}
.flag-box{width:20px;height:20px;border:2px solid var(--t4);border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .22s var(--ease);font-size:11px;color:transparent}
.flag-toggle input:checked ~ .flag-box{border-color:var(--cyan);background:rgba(34,211,238,0.12);color:var(--cyan)}
.flag-toggle input:checked ~ .flag-text{color:var(--cyan);font-weight:600}
.ed-options{display:flex;flex-direction:column;gap:6px;margin-top:4px}
.ed-options .flag-row{margin:0}
.ed-notes-wrap{margin-top:8px;padding:14px;background:var(--bg1);border-radius:var(--r);border:1px solid var(--gborder)}
.ed-notes-wrap .ed-lbl{padding-left:0;margin-bottom:6px}
.ed-actions{display:flex;align-items:center;gap:8px;padding-top:16px;margin-top:16px;border-top:1px solid var(--gborder);flex-wrap:wrap}
.ed-actions .spacer{flex:1}
.ed-actions .btn{padding:9px 18px}
.del-confirm{display:flex;align-items:center;gap:10px;margin-top:14px;padding:12px 16px;background:rgba(255,51,88,0.05);border:1px solid rgba(255,51,88,0.12);border-radius:var(--rs);animation:vwIn .25s var(--ease-out)}
.del-confirm span{font-size:12px;color:var(--red);flex:1}

/* ── METRICS ── */
.mets{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin-bottom:28px}
.met{background:var(--glass);border:1px solid var(--gborder);border-radius:var(--r);padding:20px 16px;text-align:center;transition:all .3s var(--ease);position:relative;overflow:hidden;cursor:default}
.met::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--pink),transparent);opacity:0;transition:opacity .3s var(--ease)}
.met:hover{border-color:rgba(130,55,245,0.2);transform:translateY(-3px);box-shadow:var(--glow-v),var(--shadow-md)}.met:hover::after{opacity:1}
.met-l{font-size:9px;text-transform:uppercase;letter-spacing:1.3px;color:var(--t3);margin-bottom:8px;font-weight:600}
.met-v{font-family:var(--fd);font-size:26px;font-weight:800;transition:transform .2s var(--ease);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-0.02em}.met:hover .met-v{transform:scale(1.04)}

/* ── CHARTS ── */
.ch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px;margin-bottom:28px}
.ch-card{background:var(--glass);border:1px solid var(--gborder);border-radius:var(--r);padding:24px;transition:border-color .3s var(--ease)}.ch-card:hover{border-color:rgba(130,55,245,0.18)}.ch-card h3{margin-top:0}
.ch-w{position:relative;height:270px}

/* ── TABLES ── */
.tb-wrap{overflow-x:auto;margin-bottom:24px;border-radius:var(--r);border:1px solid var(--gborder);box-shadow:var(--shadow-sm)}
.tb{width:100%;border-collapse:collapse}
.tb th{text-align:left;padding:11px 14px;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--t3);background:var(--bg3);font-weight:600;white-space:nowrap;border-bottom:1px solid var(--gborder)}
.tb th.r{text-align:right}
.tb th.c{text-align:center}
.tb td{padding:11px 14px;font-size:12.5px;border-bottom:1px solid rgba(130,55,245,0.04);letter-spacing:0.01em}
.tb tr:last-child td{border-bottom:none}
.tb tr{transition:all .2s var(--ease)}.tb tr:hover td{background:rgba(130,55,245,0.04)}
.tb tr:nth-child(even) td{background:rgba(130,55,245,0.015)}
.tb tr:nth-child(even):hover td{background:rgba(130,55,245,0.05)}
.nm{text-align:right;font-family:var(--fd);font-weight:600;letter-spacing:0.02em}
.tc{text-align:center;font-family:var(--fd);font-weight:600;letter-spacing:0.02em}
.bar-c{width:120px;padding-right:14px!important}.bar{height:6px;border-radius:3px;transition:width .8s var(--ease-out)}

/* ── FORMS ── */
.frm{max-width:680px}.frm-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:24px}
.fld{display:flex;flex-direction:column;gap:6px}.fld.full{grid-column:1/-1}
.fld label{font-size:10.5px;font-weight:600;color:var(--t3);text-transform:uppercase;letter-spacing:0.7px}
.fld input,.fld select,.fld textarea{background:var(--bg3);border:1px solid var(--gborder);color:var(--t1);padding:10px 14px;border-radius:var(--rs);font-size:13px;font-family:var(--f);transition:all .25s var(--ease);letter-spacing:0.01em}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--pink);box-shadow:0 0 0 3px rgba(255,0,153,0.07)}
.btn{padding:12px 24px;border-radius:var(--rs);font-size:13px;font-weight:600;font-family:var(--f);cursor:pointer;border:1px solid var(--gborder);background:var(--bg3);color:var(--t2);transition:all .25s var(--ease);letter-spacing:0.02em}
.btn:hover{background:var(--bg4);color:var(--t1)}.btn:active{transform:scale(.97)}
.btn-p{background:linear-gradient(135deg,var(--pink),var(--purple));border:none;color:#fff;box-shadow:0 2px 12px rgba(255,0,153,0.15)}.btn-p:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 4px 20px rgba(255,0,153,0.2)}
.btn-d{background:rgba(255,51,88,0.1);border-color:rgba(255,51,88,.15);color:var(--red)}.btn-d:hover{background:rgba(255,51,88,0.18);color:#fff}
.btn-go{background:rgba(61,220,132,0.12);border-color:rgba(61,220,132,.2);color:var(--green)}.btn-go:hover{background:rgba(61,220,132,0.22);color:#fff}
.per{background:var(--bg3);border:1px solid var(--gborder);color:var(--t1);padding:8px 12px;border-radius:var(--rs);font-size:12px;font-family:var(--f);cursor:pointer;transition:all .25s var(--ease)}.per:focus{outline:none;border-color:var(--pink)}

/* ── QUICK ADD ── */
.qa{display:flex;gap:10px;align-items:center}
.qa input{flex:1;background:var(--bg3);border:1px solid var(--gborder);color:var(--t1);padding:10px 14px;border-radius:var(--rs);font-size:13px;font-family:var(--f);transition:all .25s var(--ease);letter-spacing:0.01em}.qa input:focus{outline:none;border-color:var(--pink);box-shadow:0 0 0 3px rgba(255,0,153,0.07)}
.qa-btn{padding:10px 22px;background:linear-gradient(135deg,var(--pink),var(--purple));border:none;color:#fff;border-radius:var(--rs);font-size:13px;font-weight:600;font-family:var(--f);cursor:pointer;white-space:nowrap;transition:all .25s var(--ease);box-shadow:0 2px 10px rgba(255,0,153,0.15);letter-spacing:0.02em}.qa-btn:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 4px 16px rgba(255,0,153,0.2)}
.qa-pills{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.qa-pill{padding:4px 13px;border-radius:14px;font-size:11px;font-weight:600;border:1px solid var(--gborder);background:var(--bg3);color:var(--t3);cursor:pointer;transition:all .22s var(--ease);user-select:none;letter-spacing:0.02em}
.qa-pill:hover{border-color:var(--purple50);color:var(--t1)}
.qa-pill.on{border-color:var(--pink);color:var(--pink);background:rgba(255,0,153,0.06)}

/* ── COMPARISON CARDS ── */
.cmp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:24px}
.cmp{background:var(--glass);border:1px solid var(--gborder);border-radius:var(--r);padding:20px;text-align:center;transition:all .3s var(--ease)}
.cmp:hover{border-color:rgba(130,55,245,0.18);box-shadow:0 0 20px rgba(130,55,245,0.04)}
.cmp-l{font-size:9px;text-transform:uppercase;letter-spacing:1.2px;color:var(--t3);margin-bottom:8px;font-weight:600}
.cmp-v{font-family:var(--fd);font-size:24px;font-weight:800;margin-bottom:5px;letter-spacing:-0.02em}
.cmp-d{font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:3px;letter-spacing:0.01em}

/* ── WEEKLY / INSIGHTS ── */
.wk-card{background:var(--glass);border:1px solid var(--gborder);border-radius:var(--r);padding:26px;margin-bottom:20px;transition:border-color .3s var(--ease)}.wk-card:hover{border-color:rgba(130,55,245,0.16)}
.wk-sts{display:flex;gap:22px;margin-bottom:18px;flex-wrap:wrap;font-size:13px;color:var(--t3);letter-spacing:0.01em}.wk-sts strong{color:var(--t1);font-family:var(--fd)}
.cb-row{display:flex;align-items:center;gap:10px;margin:5px 0;font-size:12px;padding:3px 4px;border-radius:6px}
.cb-lbl{width:155px;color:var(--t2);flex-shrink:0;letter-spacing:0.01em}.cb-trk{flex:1;height:5px;background:var(--bg3);border-radius:3px;overflow:hidden}
.cb-fill{height:100%;border-radius:3px;transition:width .6s var(--ease-out)}.cb-val{width:58px;text-align:right;font-weight:600;font-size:12px}
.str-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin-bottom:24px}
.str{background:var(--glass);border:1px solid var(--gborder);border-radius:var(--r);padding:22px;text-align:center;transition:all .3s var(--ease)}.str:hover{border-color:rgba(130,55,245,0.18);transform:translateY(-2px);box-shadow:var(--shadow-md)}
.str-v{font-family:var(--fd);font-size:36px;font-weight:800;letter-spacing:-0.03em}.str-l{font-size:11px;color:var(--t3);margin-top:5px;letter-spacing:0.03em}
.ins-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-bottom:24px}
.ins-card{background:var(--glass);border:1px solid var(--gborder);border-radius:var(--r);padding:24px;transition:border-color .3s var(--ease)}.ins-card:hover{border-color:rgba(130,55,245,0.16)}
.heatmap{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:4px}
.heat{text-align:center;padding:9px 4px;border-radius:8px;font-size:10px;cursor:default;transition:transform .2s var(--ease)}.heat:hover{transform:scale(1.06)}
.no-data{text-align:center;padding:44px;color:var(--t4);font-size:15px;letter-spacing:0.01em}

/* ── COMPLETED TAB ── */
.done-list{display:flex;flex-direction:column;gap:6px}
.done-card{background:var(--glass);border:1px solid var(--gborder);border-radius:var(--r);padding:14px 18px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:all .25s var(--ease);position:relative;overflow:hidden}
.done-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--green);opacity:.25;transition:opacity .25s var(--ease)}
.done-card:hover{background:var(--ghover);border-color:rgba(130,55,245,0.18);box-shadow:0 2px 12px rgba(0,0,0,0.1)}.done-card:hover::before{opacity:.65}
.done-left{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.done-name{font-weight:600;font-size:13.5px;color:var(--t2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:0.01em;transition:color .2s}.done-card:hover .done-name{color:var(--t1)}
.done-right{display:flex;gap:6px;align-items:center;flex-shrink:0;flex-wrap:nowrap}
.done-dur{font-family:var(--fd);font-weight:700;font-size:12px;color:var(--green);min-width:36px;text-align:right;letter-spacing:0.02em}

/* Date group headers */
.done-date-group{font-family:var(--fd);font-size:12px;font-weight:700;color:var(--t3);padding:16px 0 7px;border-bottom:1px solid var(--gborder);margin-bottom:4px;display:flex;align-items:center;gap:8px;letter-spacing:0.01em}
.done-date-group .done-group-count{font-size:10px;color:var(--t4);background:var(--bg4);padding:2px 9px;border-radius:8px;font-weight:600;letter-spacing:0.02em}

/* ── REVIEW TAB ── */
.rv-list{display:flex;flex-direction:column;gap:6px}
.rv-card{background:var(--glass);border:1px solid var(--gborder);border-radius:var(--r);padding:13px 18px;display:flex;align-items:center;gap:10px;cursor:pointer;transition:all .25s var(--ease);position:relative;overflow:hidden}
.rv-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--pink),var(--purple));opacity:.4;transition:opacity .25s var(--ease)}
.rv-card:hover{background:var(--ghover);border-color:rgba(130,55,245,0.18);box-shadow:0 2px 12px rgba(0,0,0,0.1)}.rv-card:hover::before{opacity:.75}
.rv-card-left{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.rv-card-right{display:flex;gap:6px;align-items:center;flex-shrink:0;flex-wrap:nowrap}
.rv-name{font-weight:600;font-size:13.5px;color:var(--t1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:0.01em;transition:color .2s}.rv-card:hover .rv-name{color:#fff}

/* ── KEYBOARD BADGE ── */
.kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;background:var(--bg4);border:1px solid var(--gborder);border-radius:4px;font-size:10px;font-family:var(--fd);color:var(--t4);letter-spacing:0.03em}

/* ── NAV BADGE ── */
.nav-badge{background:var(--pink);color:#fff;font-size:10px;padding:1px 7px;border-radius:8px;font-weight:700;box-shadow:0 0 8px rgba(255,0,153,0.2);letter-spacing:0.02em}

/* ── GENERIC MODAL ── */
#modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:400;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);align-items:center;justify-content:center;padding:20px}
#modal.on{display:flex}
#modal .tf-modal{animation:modalIn .35s var(--ease-out)}

/* ── CAPACITY ── */
.cap-section{margin-bottom:18px}
.cap-track{height:6px;background:var(--bg4);border-radius:5px;overflow:hidden}
.cap-fill{height:100%;border-radius:5px;transition:width .8s var(--ease-out)}

/* Weekly summary */
.cap-week{background:var(--bg2);border:1px solid var(--gborder);border-radius:var(--r);padding:14px 18px;margin-bottom:12px}
.cap-week-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.cap-week-title{font-size:13px;font-weight:600;color:var(--t1);letter-spacing:0.01em}
.cap-week-pct{font-size:20px;font-weight:800;font-family:var(--fd);letter-spacing:-0.02em}
.cap-week .cap-track{margin-bottom:10px}
.cap-week-bar{height:10px;background:var(--bg4);border-radius:5px;overflow:hidden;display:flex;margin-bottom:10px}
.cap-week-stats{display:flex;gap:18px;flex-wrap:wrap;font-size:10px;color:var(--t4);font-family:var(--fd);font-weight:600;letter-spacing:0.02em;padding-top:2px}
.cap-week-stats span{display:inline-flex;align-items:center;gap:4px}
.cap-week-stats b{font-weight:700}

/* Daily breakdown */
.cap-days{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.cap-day{background:var(--bg2);border:1px solid var(--gborder);border-radius:var(--r);padding:12px 14px}
.cap-day-today{border-color:rgba(255,0,153,0.12)}
.cap-day-label{font-size:11px;font-weight:700;color:var(--t2);font-family:var(--fd);margin-bottom:8px;letter-spacing:0.02em}
.cap-day-today .cap-day-label{color:var(--pink)}
.cap-day-bar{height:8px;background:var(--bg4);border-radius:4px;overflow:hidden;display:flex;margin-bottom:8px}
.cap-bar-seg{height:100%;transition:width .6s var(--ease-out)}
.cap-bar-seg.mtg{background:var(--pink)}
.cap-bar-seg.ooo{background:var(--purple50)}
.cap-bar-seg.crit{background:var(--red)}
.cap-bar-seg.imp{background:var(--blue)}
.cap-bar-seg.wta{background:var(--green)}
.cap-bar-seg.tsk{background:var(--blue)}
.cap-day-meta{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:baseline}
.cap-day-pct{font-size:14px;font-weight:800;font-family:var(--fd);letter-spacing:-0.02em;margin-right:4px}
.cap-day-info{font-size:9px;color:var(--t4);font-family:var(--fd);font-weight:600;letter-spacing:0.02em;white-space:nowrap;display:inline-flex;align-items:center;gap:3px}
.cap-day-info b{font-weight:700;margin-right:2px}
@media(max-width:900px){.cap-days{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.cap-days{grid-template-columns:1fr}}
/* ── Task Mode Toggle ── */
.task-mode-toggle{display:flex;gap:0;border:1px solid var(--gborder);border-radius:8px;overflow:hidden}
.tm-btn{background:var(--bg3);color:var(--t3);border:none;padding:6px 16px;font-size:11px;font-weight:600;font-family:var(--f);cursor:pointer;transition:all .15s;letter-spacing:0.02em}
.tm-btn:not(:last-child){border-right:1px solid var(--gborder)}
.tm-btn:hover{background:var(--bg4);color:var(--t1)}
.tm-btn.on{background:linear-gradient(135deg,rgba(255,0,153,0.12),rgba(121,40,202,0.12));color:var(--pink);font-weight:700}
/* ── Task Toolbar ── */
.task-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;flex-wrap:wrap}
.task-toolbar .flts{margin-bottom:0;flex:1;min-width:200px}
.task-controls{display:flex;gap:8px;align-items:center;flex-shrink:0;flex-wrap:wrap}
