/* Extracted legacy public page styles from software/detail.php. */
.software-detail-page { width:min(1100px,calc(100% - 30px)); margin:26px auto 56px; }
  .software-breadcrumb { margin-bottom:14px; color:var(--qn-theme-muted,#66717e); font-size:14px; }
  .software-breadcrumb a { color:#3779f3; text-decoration:none; }
  .software-detail-hero { padding:30px; display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:22px; align-items:center; background:var(--qn-theme-surface,#fff); border:1px solid var(--qn-theme-border,#dfe5ec); border-radius:20px; box-shadow:0 12px 32px rgba(44,72,120,.07); }
  .software-detail-icon,.software-detail-fallback { width:96px; height:96px; border-radius:22px; flex:0 0 auto; }
  .software-detail-icon { object-fit:cover; background:#fff; border:1px solid var(--qn-theme-border,#e0e6ee); }
  .software-detail-fallback { display:grid; place-items:center; color:#fff; background:linear-gradient(145deg,#3779f3,#1d56bd); font-size:42px; box-shadow:0 14px 28px rgba(55,121,243,.22); }
  .software-detail-title h1 { margin:0 0 5px; color:var(--qn-theme-text,#202731); font-size:clamp(30px,4vw,42px); font-weight:800; letter-spacing:-.025em; }
  .software-detail-cn { color:var(--qn-theme-muted,#66717e); font-size:15px; }
  .software-detail-status { margin-top:9px; display:inline-flex; align-items:center; gap:7px; color:#168044; font-size:13px; font-weight:700; }
  .software-detail-status::before { content:''; width:7px; height:7px; background:#2eb86a; border-radius:50%; }
  .software-detail-actions { display:flex; flex-direction:column; gap:9px; min-width:180px; }
  .software-detail-btn { min-height:44px; padding:0 16px; display:inline-flex; align-items:center; justify-content:center; gap:8px; border-radius:10px; text-decoration:none !important; font-size:14px; font-weight:700; }
  .software-detail-btn--primary { color:#fff !important; background:#3779f3; border:1px solid #3779f3; }
  .software-detail-btn--secondary { color:var(--qn-theme-text,#202731) !important; background:var(--qn-theme-surface,#fff); border:1px solid var(--qn-theme-border,#dfe5ec); }
  .software-detail-btn--secondary:hover { color:#3779f3 !important; border-color:#91b2f3; }
  .software-detail-layout { margin-top:20px; display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:20px; align-items:start; }
  .software-detail-main,.software-detail-side { background:var(--qn-theme-surface,#fff); border:1px solid var(--qn-theme-border,#dfe5ec); border-radius:18px; }
  .software-detail-main { padding:28px; }
  .software-detail-side { padding:20px; position:sticky; top:84px; }
  .software-detail-section + .software-detail-section { margin-top:30px; padding-top:28px; border-top:1px solid var(--qn-theme-border,#e1e6ed); }
  .software-detail-section h2 { margin:0 0 14px; color:var(--qn-theme-text,#202731); font-size:24px; font-weight:780; }
  .software-detail-section p { margin:0 0 14px; color:var(--qn-theme-muted,#66717e); line-height:1.82; }
  .software-detail-feature-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
  .software-detail-feature { padding:14px 15px; display:flex; gap:11px; align-items:flex-start; color:var(--qn-theme-muted,#66717e); background:var(--qn-theme-surface-soft,#f5f8fc); border:1px solid var(--qn-theme-border,#e1e6ed); border-radius:12px; line-height:1.6; }
  .software-detail-feature i { color:#3779f3; margin-top:3px; }
  .software-detail-steps { display:grid; gap:12px; counter-reset:step; }
  .software-detail-step { padding:16px; display:grid; grid-template-columns:38px minmax(0,1fr); gap:13px; background:var(--qn-theme-surface-soft,#f5f8fc); border:1px solid var(--qn-theme-border,#e1e6ed); border-radius:12px; counter-increment:step; }
  .software-detail-step::before { content:counter(step); width:34px; height:34px; display:grid; place-items:center; color:#fff; background:#3779f3; border-radius:9px; font-weight:800; }
  .software-detail-step strong { display:block; margin-bottom:4px; color:var(--qn-theme-text,#202731); }
  .software-detail-step p { margin:0; font-size:14px; }
  .software-meta h2 { margin:0 0 10px; font-size:19px; color:var(--qn-theme-text,#202731); }
  .software-meta-row { padding:10px 0; display:flex; justify-content:space-between; gap:12px; border-bottom:1px solid var(--qn-theme-border,#e1e6ed); font-size:13px; }
  .software-meta-row:last-child { border-bottom:0; }
  .software-meta-row span { color:var(--qn-theme-muted,#66717e); }
  .software-meta-row strong { color:var(--qn-theme-text,#202731); text-align:right; overflow-wrap:anywhere; }
  .software-detail-tags { margin-top:16px; display:flex; flex-wrap:wrap; gap:7px; }
  .software-detail-tag { padding:6px 9px; color:#52647b; background:var(--qn-theme-surface-soft,#f5f8fc); border:1px solid var(--qn-theme-border,#e1e6ed); border-radius:999px; font-size:12px; }
  .software-detail-note { margin-top:20px; padding:15px 16px; color:var(--qn-theme-muted,#66717e); background:var(--qn-theme-surface-soft,#f5f8fc); border:1px solid var(--qn-theme-border,#e1e6ed); border-radius:12px; font-size:13px; line-height:1.7; }
  html[data-theme="dark"] .software-detail-status { color:#6bdc9a; }
  @media(max-width:850px){ .software-detail-hero{grid-template-columns:auto minmax(0,1fr)} .software-detail-actions{grid-column:1/-1;flex-direction:row;flex-wrap:wrap}.software-detail-layout{grid-template-columns:1fr}.software-detail-side{position:static}.software-detail-feature-list{grid-template-columns:1fr} }
  @media(max-width:600px){ .software-detail-page{width:min(100% - 20px,1100px);margin-top:14px}.software-detail-hero{padding:20px;grid-template-columns:1fr;text-align:center}.software-detail-icon,.software-detail-fallback{margin:auto;width:80px;height:80px;border-radius:18px}.software-detail-actions{grid-column:auto;flex-direction:column}.software-detail-main{padding:22px 17px}.software-detail-side{padding:18px}.software-detail-btn{width:100%} }

