.rev{opacity:0;transform:translateY(22px);transition:opacity .55s var(--ease),transform .55s var(--ease)}
.revd{opacity:1!important;transform:none!important}

/* LAYOUT */
.page-wrap{max-width:1060px;margin:0 auto;padding:88px 32px 64px}
@media(max-width:768px){.page-wrap{padding:80px 20px 48px}}

/* AUTHOR HERO */
.author-hero{background:#fff;border:1.5px solid var(--bd);border-radius:var(--rxl);padding:32px;box-shadow:var(--sh);margin-bottom:28px}
.author-hero-top{display:flex;align-items:flex-start;gap:22px;flex-wrap:wrap}
.author-av{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:900;color:#fff;flex-shrink:0;background:linear-gradient(135deg,var(--p),var(--ac));border:3px solid var(--pl)}
.author-info{flex:1;min-width:200px}
.author-name{font-size:22px;font-weight:900;color:var(--ink);letter-spacing:-.5px;margin-bottom:3px}
.author-handle{font-size:13.5px;color:var(--p);font-weight:600;margin-bottom:10px}
.author-badges{display:flex;flex-wrap:wrap;gap:8px}
.author-badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--ink3);background:var(--s2);border:1px solid var(--bd);padding:4px 10px;border-radius:var(--rf)}
.author-badge i{font-size:13px;color:var(--ink4)}
.author-hero-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}
.author-stats{display:flex;gap:0;margin-top:24px;border-top:1px solid var(--bd);padding-top:22px;flex-wrap:wrap}
.author-stat{flex:1;text-align:center;padding:4px 16px;border-right:1px solid var(--bd)}
.author-stat:first-child{padding-left:0;text-align:left}
.author-stat:last-child{border-right:none}
.author-stat-n{font-size:24px;font-weight:900;color:var(--p);letter-spacing:-1px;line-height:1.1}
.author-stat-l{font-size:11.5px;color:var(--ink4);font-weight:600;margin-top:2px}
@media(max-width:600px){
  .author-stat{flex:0 0 50%;border-right:none;padding:10px 0;border-bottom:1px solid var(--bd);text-align:left}
  .author-stat:nth-last-child(-n+2){border-bottom:none}
  .author-hero-actions{width:100%;justify-content:flex-start}
}

/* BODY GRID */
.body-grid{display:grid;grid-template-columns:1fr 286px;gap:28px;align-items:start}
@media(max-width:900px){.body-grid{grid-template-columns:1fr}}

/* TABS */
.author-tabs{display:flex;gap:4px;background:var(--s3);border:1.5px solid var(--bd);border-radius:var(--rl);padding:4px;margin-bottom:18px;width:fit-content}
.author-tab{padding:7px 18px;border-radius:11px;font-size:13px;font-weight:700;color:var(--ink3);cursor:pointer;transition:all .17s;white-space:nowrap}
.author-tab.active{background:#fff;color:var(--p);box-shadow:0 2px 8px rgba(0,0,0,.07)}
.author-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:var(--rf);font-size:10px;font-weight:900;margin-left:5px;background:var(--s3);color:var(--ink3)}
.author-tab.active .author-tab-count{background:var(--pl);color:var(--p)}

/* REQUEST ITEMS */
.req-list{display:flex;flex-direction:column;gap:10px}
.ritem{display:flex;gap:14px;background:#fff;border:1.5px solid var(--bd);border-radius:var(--rl);padding:16px 18px;box-shadow:0 2px 8px rgba(0,0,0,.04);transition:border-color .18s,box-shadow .18s;text-decoration:none;color:inherit}
.ritem:hover{border-color:var(--pm);box-shadow:0 4px 16px rgba(0,102,153,.1)}
.ritem-vote{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:36px;flex-shrink:0}
.ritem-vote-count{font-size:15px;font-weight:900;color:var(--p);line-height:1}
.ritem-vote-lbl{font-size:9.5px;font-weight:700;color:var(--ink4);text-transform:uppercase;letter-spacing:.5px}
.ritem-vote-icon{font-size:14px;color:var(--ink4)}
.ritem-vote.voted .ritem-vote-icon{color:var(--p)}
.ritem-vote.voted .ritem-vote-count{color:var(--p)}
.ritem-divider{width:1px;background:var(--bd);flex-shrink:0;align-self:stretch}
.ritem-body{flex:1;min-width:0}
.ritem-title{font-size:14.5px;font-weight:800;color:var(--ink);line-height:1.35;margin-bottom:5px}
.ritem-desc{font-size:13px;color:var(--ink3);line-height:1.55;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ritem-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ritem-cat{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--rf);font-size:11px;font-weight:700;background:var(--s3);color:var(--ink2);border:1px solid var(--bd)}
.ritem-cat i{font-size:12px}
.ritem-meta-txt{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--ink4)}
.ritem-meta-txt i{font-size:13px}

/* STATUS BADGES */
.status-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:var(--rf);font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.6px}
.sb-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
.sb-planned{background:rgba(0,102,153,.08);color:var(--pd);border:1px solid var(--pm)}
.sb-inprogress{background:rgba(245,158,11,.1);color:#d97706;border:1px solid rgba(245,158,11,.3)}
.sb-done{background:rgba(14,168,112,.08);color:var(--ok);border:1px solid rgba(14,168,112,.25)}
.sb-review{background:rgba(107,72,200,.08);color:#5b21b6;border:1px solid rgba(107,72,200,.2)}
.sb-new{background:var(--s3);color:var(--ink3);border:1px solid var(--bd)}

/* EMPTY STATE */
.empty-state{text-align:center;padding:48px 24px;background:#fff;border:1.5px dashed var(--bd);border-radius:var(--rxl)}
.empty-icon{font-size:40px;color:var(--ink4);margin-bottom:14px}
.empty-title{font-size:15px;font-weight:800;color:var(--ink);margin-bottom:6px}
.empty-text{font-size:13.5px;color:var(--ink3)}

/* PAGINATION */
.pager{display:flex;align-items:center;justify-content:space-between;margin-top:22px;flex-wrap:wrap;gap:12px}
.pager-info{font-size:13px;color:var(--ink4)}
.pager-btns{display:flex;gap:4px}
.pager-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:var(--r);font-size:13px;font-weight:700;color:var(--ink2);background:#fff;border:1.5px solid var(--bd);cursor:pointer;transition:all .15s;text-decoration:none}
.pager-btn:hover{border-color:var(--pm);color:var(--p)}
.pager-btn.active{background:var(--p);color:#fff;border-color:var(--p)}
.pager-btn.disabled{opacity:.38;pointer-events:none}

/* SIDEBAR */
.author-sidebar{display:flex;flex-direction:column;gap:18px}
.scard{background:#fff;border:1.5px solid var(--bd);border-radius:var(--rxl);padding:22px;box-shadow:var(--sh)}
.sc-title{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:1.2px;color:var(--ink4);margin-bottom:14px;display:flex;align-items:center;gap:6px}
.sc-title i{font-size:14px;color:var(--p)}
.info-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--bd);font-size:13.5px}
.info-row:last-child{border-bottom:none;padding-bottom:0}
.ir-key{color:var(--ink3)}
.ir-val{font-weight:700;color:var(--ink)}

/* CATEGORY LIST */
.cat-list{display:flex;flex-direction:column;gap:8px}
.cat-row{display:flex;align-items:center;gap:10px}
.cat-bar-wrap{flex:1;height:6px;background:var(--s3);border-radius:var(--rf);overflow:hidden}
.cat-bar{height:100%;border-radius:var(--rf);background:linear-gradient(90deg,var(--p),var(--ac));transition:width .6s var(--ease)}
.cat-label{font-size:12px;font-weight:700;color:var(--ink2);min-width:90px}
.cat-count{font-size:11.5px;color:var(--ink4);min-width:20px;text-align:right}

/* ACTIVITY FEED */
.activity-feed{display:flex;flex-direction:column;gap:10px}
.act-item{display:flex;gap:10px;align-items:flex-start}
.act-dot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.act-dot i{font-size:13px;color:#fff}
.act-body{flex:1}
.act-text{font-size:12.5px;color:var(--ink2);line-height:1.5}
.act-text strong{color:var(--ink);font-weight:700}
.act-date{font-size:11px;color:var(--ink4);margin-top:1px}