/* ============================================================
   工单知识库系统 - 统一消息通知样式（右上角抽屉）
   由 app/common/layout.php 与 public/login.php 引用
   ============================================================ */
.wb-notify{position:fixed;top:16px;right:16px;z-index:9999;display:flex;flex-direction:column;gap:10px;width:320px;max-width:calc(100vw - 32px);pointer-events:none}
.wb-item{pointer-events:auto;background:#fff;border-radius:12px;box-shadow:0 8px 30px rgba(15,23,42,.18),0 2px 8px rgba(15,23,42,.08);border:1px solid var(--border,#e2e8f0);border-left:4px solid var(--info,#0891b2);padding:12px 16px;display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--text,#0f172a);line-height:1.6;animation:wbSlideIn .28s cubic-bezier(.21,1.02,.73,1) forwards;transition:opacity .25s,transform .25s}
.wb-item.wb-out{opacity:0;transform:translateX(120%)}
.wb-item .wb-icon{flex-shrink:0;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;color:#fff;margin-top:2px}
.wb-item .wb-icon::before{content:""}
.wb-item .wb-body{flex:1;min-width:0;word-break:break-word}
.wb-item .wb-msg{white-space:pre-wrap}
.wb-item.wb-success{border-left-color:var(--success,#16a34a)}
.wb-item.wb-success .wb-icon{background:var(--success,#16a34a)}
.wb-item.wb-success .wb-icon::before{content:"✓"}
.wb-item.wb-danger{border-left-color:var(--danger,#dc2626)}
.wb-item.wb-danger .wb-icon{background:var(--danger,#dc2626)}
.wb-item.wb-danger .wb-icon::before{content:"✕"}
.wb-item.wb-warning{border-left-color:var(--warning,#d97706)}
.wb-item.wb-warning .wb-icon{background:var(--warning,#d97706)}
.wb-item.wb-warning .wb-icon::before{content:"!"}
.wb-item.wb-info{border-left-color:var(--info,#0891b2)}
.wb-item.wb-info .wb-icon{background:var(--info,#0891b2)}
.wb-item.wb-info .wb-icon::before{content:"i"}
.wb-item .wb-close{flex-shrink:0;border:none;background:none;color:#94a3b8;font-size:15px;line-height:1;cursor:pointer;padding:2px;transition:.15s}
.wb-item .wb-close:hover{color:#475569}
@keyframes wbSlideIn{from{opacity:0;transform:translateX(120%)}to{opacity:1;transform:translateX(0)}}

/* 确认型通知（带操作按钮） */
.wb-item .wb-actions{display:flex;gap:8px;margin-top:8px}
.wb-item .wb-btn{flex:1;padding:6px 10px;border:none;border-radius:8px;font-size:13px;cursor:pointer;color:#fff}
.wb-item .wb-btn.wb-ok{background:var(--primary,#2563eb)}
.wb-item .wb-btn.wb-cancel{background:#94a3b8}