/* desktop.css — 桌面端布局（侧边栏 + 主区，按《hami-新版UI设计稿》） */

/* ---------- 侧边栏 ---------- */
.sidebar{
  background:var(--canvas);border-right:1px solid var(--hairline);
  display:flex;flex-direction:column;padding:22px 14px 16px;height:100vh;
}
.logo{display:flex;align-items:center;gap:11px;padding:4px 10px 22px}
.logo-mark{
  width:34px;height:34px;border-radius:var(--r-sm);background:var(--ink);
  color:#fff;display:grid;place-items:center;font-size:16px;font-weight:600;flex:none;
}
.logo-name{font-size:17px;font-weight:600;letter-spacing:-.4px;line-height:1.15}
.logo-sub{font-size:11px;color:var(--ink-48);letter-spacing:.2px;line-height:1.4}
.nav{display:flex;flex-direction:column;gap:2px}
.nav-item{
  display:flex;align-items:center;gap:12px;height:44px;padding:0 12px;
  border-radius:var(--r-md);color:var(--ink-48);font-size:15px;font-weight:400;
  transition:background .25s var(--ease),color .25s var(--ease);
  position:relative;width:100%;text-align:left;
}
.nav-item svg{width:20px;height:20px;flex:none;transition:transform .3s var(--ease)}
.nav-item:hover{background:rgba(0,0,0,.04);color:var(--ink)}
.nav-item.active{background:var(--parchment);color:var(--ink);font-weight:600}
.nav-item.active::before{
  content:"";position:absolute;left:-14px;top:11px;bottom:11px;width:3px;
  border-radius:2px;background:var(--ink);animation:fadeIn .4s var(--ease);
}
.nav-item:active{transform:scale(.97)}
.side-gap{flex:1}
.hami-entry{
  display:flex;align-items:center;gap:12px;padding:10px 12px;margin-bottom:14px;
  border-radius:var(--r-lg);border:1px solid var(--hairline);background:var(--pearl);
  width:100%;text-align:left;transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s;
}
.hami-entry:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);border-color:rgba(0,0,0,.14)}
.hami-entry:active{transform:scale(.97)}
.hami-face{
  width:36px;height:36px;border-radius:50%;background:var(--ink);color:#fff;
  display:grid;place-items:center;font-size:14px;font-weight:600;flex:none;
}
.hami-entry-t{font-size:15px;font-weight:600;line-height:1.25}
.hami-entry-s{font-size:11px;color:var(--ink-48);line-height:1.4}
.side-user{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--r-md)}
.side-user.admin-entry{cursor:pointer;transition:background .25s var(--ease)}
.side-user.admin-entry:hover{background:rgba(0,0,0,.04)}
.side-user.admin-entry:active{transform:scale(.98)}
.side-user-av{
  width:32px;height:32px;border-radius:50%;background:var(--parchment);border:1px solid var(--hairline);
  display:grid;place-items:center;font-size:13px;font-weight:600;color:var(--ink-80);flex:none;
}
.side-user-n{font-size:13px;font-weight:600;line-height:1.3}
.side-user-r{font-size:11px;color:var(--ink-48);line-height:1.4}

/* ---------- 主区 ---------- */
.main-content{flex:1;overflow-y:auto}

/* 哈密主动通知徽标 */
.hami-entry{position:relative}
.nav-dot{position:absolute;top:8px;right:12px;width:9px;height:9px;border-radius:50%;background:var(--red);display:none;animation:dotPulse 1.4s infinite}
.nav-dot.show{display:block}
@keyframes dotPulse{0%,100%{box-shadow:0 0 0 0 rgba(255,59,48,.45)}55%{box-shadow:0 0 0 5px rgba(255,59,48,0)}}

/* 轻柔丝滑增强 */
.app{animation:fadeIn .7s var(--ease)}
.sidebar>*{animation:softIn .55s var(--ease) backwards}
.sidebar>*:nth-child(1){animation-delay:.04s}
.sidebar>*:nth-child(2){animation-delay:.1s}
.sidebar>*:nth-child(4){animation-delay:.26s}
.sidebar>*:nth-child(5){animation-delay:.34s}
.nav-item:hover svg{transform:scale(1.08)}
.hami-face{transition:transform .45s var(--ease)}
.hami-entry:hover .hami-face{transform:rotate(-8deg) scale(1.07)}
.btn:hover:not(:active){transform:translateY(-1px)}
