/* Shared portal tokens keep OEM and administrator views consistent in both themes. */
.np-panel { display: block; margin-bottom: 18px; }
.np-panel h2, .np-panel h3 { margin: 0; }
.np-panel .np-hint, .np-form > p { color: var(--muted); font-size: 13px; line-height: 1.8; margin: 8px 0 18px; }
.np-current { padding: 16px 18px; margin: 18px 0; border: 1px solid var(--line); border-radius: 12px; background: var(--input-bg); font-size: 13px; line-height: 1.8; }
.np-request { padding: 20px; margin: 16px 0; border: 1px solid var(--line); border-radius: 14px; background: var(--card); }
.np-request > p { margin: 0 0 12px; font-size: 13px; line-height: 1.7; overflow-wrap: anywhere; }
.np-request > p:first-child { font-weight: 600; }
.np-badge { display: inline-block; margin-bottom: 12px; padding: 4px 10px; border-radius: 999px; background: var(--badge-orange-bg); color: var(--orange); font-size: 12px; }
.np-panel .np-form { max-width: 720px; padding: 20px; margin: 18px 0 0; background: var(--input-bg); border: 1px solid var(--line); border-radius: 12px; }
.np-form h3 { margin-bottom: 18px; font-size: 15px; }
.np-panel .np-field { display: block; margin-bottom: 18px; color: var(--ink); font-size: 13px; }
.np-field input, .np-field select { display: block; width: 100%; margin-top: 8px; min-height: 42px; }
.np-panel .np-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 16px; }
.np-panel button { width: auto; min-height: 36px; }
.np-panel .np-error { color: var(--red); font-size: 13px; margin: 12px 0; }
.np-panel .np-error:empty { display: none; }
@media (max-width: 640px) { .np-request, .np-panel .np-form { padding: 14px; } .np-panel .np-actions button { flex: 1; } }
