/* ext-ops.css — 实用工具（价格/到期/状态/公告/新手任务）专属样式。
 * 通用组件样式来自 ext-core.css，这里只补本模块特有布局。
 */
.op-panel { animation: op-fade .18s ease; }
@keyframes op-fade { from { opacity: 0; transform: translateY(3px); } to { opacity: 1; transform: none; } }

.op-muted { color: var(--muted); font-size: 12.5px; }

.op-price b { font-size: 22px; }
.op-price span { letter-spacing: .5px; }

.op-svc span { display: block; }
.op-svc b { margin: 4px 0; font-size: 18px; }
.op-svc > span:last-child { color: var(--muted); font-size: 12px; }

.op-notice { cursor: pointer; transition: border-color .15s ease, transform .15s ease; }
.op-notice:hover { border-color: rgba(154, 120, 255, .55); transform: translateY(-1px); }
.op-body { white-space: pre-wrap; margin-bottom: 0; }
.op-notice-body { white-space: pre-wrap; line-height: 1.75; font-size: 13.5px; margin: 10px 0 16px; max-height: 52vh; overflow: auto; }

#op-onboard .ext-progress { margin: 6px 0 2px; }
#op-onboard .op-skip { padding: 5px 10px; font-size: 12.5px; }

@media (max-width: 640px) {
  #op-expire .ext-row { align-items: stretch; }
  #op-expire .ext-input, #op-expire .ext-select { width: 100%; max-width: none !important; }
  .op-svc { min-width: 0; }
}
