#nomi-control-app{max-width:900px;margin:0 auto}
.nc-tabs{display:flex;gap:6px;border-bottom:2px solid #eef2ef;margin-bottom:16px}
.nc-tab{padding:10px 22px;cursor:pointer;font-size:15px;color:#93a79c;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s}
.nc-tab.active{color:#3d8b64;border-bottom-color:#3d8b64;font-weight:600}
.nc-content{min-height:300px}
.na-card{border:1px solid #e2ebe5;border-radius:12px;padding:24px;background:#fbfdfc;text-align:center}
.na-card h3{margin:0 0 12px;color:#2c3e35;font-size:18px}
.na-tip{font-size:13px;color:#8ba297;margin-bottom:16px}
.na-list{display:flex;flex-direction:column;gap:10px}
.na-item{display:flex;gap:12px;border:1px solid #e9f0ec;border-radius:12px;padding:12px 14px;background:#fff}
.na-avatar{width:36px;height:36px;border-radius:50%;flex-shrink:0;background:#eee}
.na-body{flex:1;min-width:0}
.na-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.na-nick{font-size:14px;font-weight:600;color:#2c3e35}
.na-url{font-size:11px;color:#93a79c}
.na-time{font-size:11px;color:#b5c3bb}
.na-badge{font-size:11px;padding:1px 6px;border-radius:4px}
.na-badge.waiting{color:#b7791f;border:1px solid #f0d9a8}
.na-badge.spam{color:#d9534f;border:1px solid #f0c8c6}
.na-content{font-size:13px;color:#4d6257;margin-top:6px;word-break:break-all}
.na-actions{display:flex;gap:8px;margin-top:8px}
.na-btn{cursor:pointer;border:1px solid #d8e4dc;border-radius:6px;padding:4px 14px;background:#fff;color:#3d8b64;font-size:13px}
.na-btn.primary{background:#3d8b64;color:#fff;border-color:#3d8b64}
.na-btn.danger{color:#d9534f;border-color:#f0c8c6}
.na-btn.small{padding:3px 10px;font-size:12px}
.na-btn.active{background:#3d8b64;color:#fff}
.na-replybox{margin-top:8px}
.na-input{width:100%;box-sizing:border-box;border:1px solid #dde7e1;border-radius:8px;padding:8px 10px;font-size:13px;outline:none;font-family:inherit;resize:vertical}
.na-select{border:1px solid #dde7e1;border-radius:6px;padding:4px 8px;font-size:12px;color:#4d6257}
.na-loading{text-align:center;color:#93a79c;font-size:13px;padding:24px 0}
.na-pager{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px;justify-content:center}
.nnews-pub{border:1px solid #e2ebe5;border-radius:12px;padding:18px;margin-bottom:16px;background:#fbfdfc}
.nnews-pub-title{font-size:15px;font-weight:600;color:#2c3e35;margin-bottom:12px}
.nnews-row{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.nnews-preview{width:120px;height:80px;object-fit:cover;border-radius:8px;border:1px solid #e2ebe5}
.nnews-input{width:100%;box-sizing:border-box;border:1px solid #dde7e1;border-radius:8px;padding:9px 12px;font-size:14px;margin-bottom:10px;outline:none;font-family:inherit}
.nnews-input:focus{border-color:#3d8b64}
.nnews-actions{display:flex;gap:10px;margin-top:4px}
.nnews-btn{cursor:pointer;border:1px solid #d8e4dc;border-radius:8px;padding:6px 18px;background:#fff;color:#3d8b64;font-size:13px}
.nnews-btn.primary{background:#3d8b64;color:#fff;border-color:#3d8b64}

.na-check { font-size: 13px; color: #4d6257; display: flex; align-items: center; gap: 6px; margin-bottom: 10px; }
.na-editbox { margin-top: 8px; }

/* 个人资料(内嵌control) */
.np-card { border: 1px solid #e2ebe5; border-radius: 14px; padding: 24px; background: #fff; }
.np-avatar-row { display: flex; align-items: center; gap: 16px; margin-bottom: 18px; }
.np-avatar-row img { width: 72px; height: 72px; border-radius: 50%; border: 3px solid #dff0e7; cursor: pointer; }
.np-avatar-tip { font-size: 12px; color: #93a79c; }
.np-field { margin-bottom: 14px; }
.np-field label { display: block; font-size: 13px; color: #7d9086; margin-bottom: 5px; }
.np-field input, .np-field textarea { width: 100%; box-sizing: border-box; border: 1px solid #dde7e1; border-radius: 8px; padding: 10px 12px; font-size: 14px; outline: none; font-family: inherit; }
.np-field input:focus, .np-field textarea:focus { border-color: #3d8b64; }
.np-info-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 16px; }
.np-info-item { background: #fbfdfc; border: 1px solid #eef2ef; border-radius: 10px; padding: 10px 12px; }
.np-info-item label { display: block; font-size: 12px; color: #93a79c; margin-bottom: 4px; }
.np-info-item div { font-size: 14px; color: #2c3e35; font-weight: 600; }
.np-err { color: #d9534f; font-size: 12px; min-height: 15px; margin-bottom: 8px; }
.np-notify-title { margin: 0 0 12px; font-size: 16px; color: #2c3e35; }
.np-badge { background: #e05d4f; color: #fff; border-radius: 10px; padding: 1px 8px; font-size: 12px; margin-left: 6px; }
.np-notify-list { display: flex; flex-direction: column; gap: 8px; }
.np-notify-item { border: 1px solid #eef2ef; border-radius: 10px; padding: 10px 14px; background: #fbfdfc; font-size: 13px; }
.np-notify-item.unread { border-color: #c8e8d8; background: #f4fbf7; }
.np-notify-item.unread .np-notify-content::before { content: ''; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: #e05d4f; margin-right: 6px; vertical-align: middle; }
.np-notify-content { color: #4d6257; line-height: 1.6; }
.np-notify-meta { font-size: 12px; color: #93a79c; margin-top: 4px; }
.np-notify-meta a { color: #3d8b64; margin-left: 6px; }
.np-empty { text-align: center; color: #93a79c; font-size: 13px; padding: 16px 0; }

/* 自定义toast与确认弹层 */
.nc-toast {
    position: fixed;
    left: 50%;
    bottom: 60px;
    transform: translateX(-50%);
    background: rgba(44, 62, 53, 0.92);
    color: #fff;
    padding: 10px 22px;
    border-radius: 20px;
    font-size: 13px;
    z-index: 10010;
    box-shadow: 0 8px 24px rgba(0,0,0,.25);
    animation: ncFadeIn .25s ease;
}
.nc-toast.error { background: rgba(217, 83, 79, 0.95); }
@keyframes ncFadeIn { from { opacity: 0; transform: translate(-50%, 10px); } to { opacity: 1; transform: translate(-50%, 0); } }

.nc-confirm-mask {
    position: fixed;
    inset: 0;
    background: rgba(20, 40, 30, 0.45);
    z-index: 10005;
    display: flex;
    align-items: center;
    justify-content: center;
}
.nc-confirm {
    background: #fff;
    border-radius: 14px;
    padding: 22px;
    width: 320px;
    max-width: 90vw;
    box-shadow: 0 12px 48px rgba(0,0,0,.25);
}
.nc-confirm-text { font-size: 14px; color: #2c3e35; margin-bottom: 16px; line-height: 1.6; }

/* 移动端适配 */
@media (max-width: 640px) {
    .nc-tab { padding: 8px 10px; font-size: 13px; }
    .na-item { flex-wrap: wrap; }
    .nnews-imgbox { width: 96px; height: 72px; }
    .np-info-grid { grid-template-columns: 1fr; }
    .nc-content { min-height: 200px; }
    .nnews-input { font-size: 16px; }
}

.na-user-count { font-size: 13px; color: #93a79c; margin-bottom: 10px; }
.na-search-row { margin-bottom: 4px; }
