/* Poster / SEO Worker shared tool pages */
.tool-wrap{max-width:1100px;margin:0 auto;padding:0 0 32px}
.tool-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:16px}
@media(max-width:960px){.tool-grid{grid-template-columns:1fr}}
.tool-card{
  background:var(--g-panel,var(--pb-card,#fff));
  border:1px solid var(--g-line,var(--pb-line,#e2e8f0));
  border-radius:12px;
  padding:16px 18px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.tool-card h2{margin:0 0 8px;font-size:16px;font-weight:700;color:var(--g-ink,var(--pb-text-dark))}
.tool-card .hint{margin:0 0 12px;font-size:12px;color:var(--g-muted,var(--pb-muted))}
.tool-field{margin-bottom:12px}
.tool-field label{display:block;font-size:12px;font-weight:600;margin-bottom:6px;color:var(--g-ink)}
.tool-field input,.tool-field select,.tool-field textarea{
  width:100%;box-sizing:border-box;
  border:1px solid var(--g-line);background:var(--g-bg,#fff);color:var(--g-ink);
  border-radius:8px;padding:9px 12px;font-size:13px;
}
.tool-field textarea{min-height:120px;resize:vertical;font-family:ui-monospace,monospace;font-size:12px;line-height:1.5}
.tool-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.tool-preview{
  border:1px solid var(--g-line);border-radius:10px;padding:14px;min-height:280px;
  background:var(--g-soft,rgba(0,0,0,.03));overflow:auto;max-height:560px;
}
.tool-preview h1{font-size:20px;margin:0 0 10px}
.tool-preview h2{font-size:16px;margin:16px 0 8px}
.tool-preview h3{font-size:14px;margin:12px 0 6px}
.draft-list{display:flex;flex-direction:column;gap:8px;max-height:420px;overflow:auto}
.draft-item{
  display:flex;align-items:flex-start;justify-content:space-between;gap:10px;
  border:1px solid var(--g-line);border-radius:10px;padding:10px 12px;cursor:pointer;
  background:var(--g-panel);
}
.draft-item:hover,.draft-item.is-active{border-color:var(--g-accent,#0f766e)}
.draft-item .t{font-size:13px;font-weight:700;color:var(--g-ink)}
.draft-item .m{font-size:11px;color:var(--g-muted);margin-top:4px}
.badge-st{
  display:inline-block;font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;
  background:var(--g-soft);color:var(--g-ink);
}
.badge-st.pending{background:rgba(245,158,11,.15);color:#b45309}
.badge-st.approved{background:rgba(15,118,110,.15);color:#0f766e}
.badge-st.rejected{background:rgba(220,38,38,.12);color:#b91c1c}
.badge-st.published{background:rgba(37,99,235,.12);color:#1d4ed8}
.check-list{display:flex;flex-direction:column;gap:8px}
.check-row{
  border:1px solid var(--g-line);border-radius:10px;padding:10px 12px;
  display:grid;grid-template-columns:auto 1fr;gap:8px 12px;align-items:start;
}
.check-row .st{font-size:11px;font-weight:700;text-transform:uppercase}
.check-row .st.ok{color:#0f766e}
.check-row .st.bad,.check-row .st.warn{color:#b45309}
.check-row .lab{font-size:13px;font-weight:600;color:var(--g-ink)}
.check-row .det{grid-column:2;font-size:12px;color:var(--g-muted)}
.guide-list{margin:0;padding-left:18px;color:var(--g-ink);font-size:13px;line-height:1.55}
.schema-box{
  font-family:ui-monospace,monospace;font-size:11px;line-height:1.45;
  white-space:pre-wrap;word-break:break-word;
  background:var(--g-bg);border:1px solid var(--g-line);border-radius:8px;padding:12px;max-height:240px;overflow:auto;
}
.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.portfolio-card{
  border:1px solid var(--g-line);border-radius:12px;padding:14px;background:var(--g-panel);
  display:flex;flex-direction:column;gap:8px;min-height:140px;
}
.portfolio-card h3{margin:0;font-size:14px;line-height:1.35}
.portfolio-card .meta{font-size:11px;color:var(--g-muted)}
.portfolio-card .acts{margin-top:auto;display:flex;gap:6px;flex-wrap:wrap}
.empty-state{padding:28px;text-align:center;color:var(--g-muted);font-size:13px}
.tool-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
.tool-tab{
  height:32px;padding:0 12px;border-radius:8px;border:1px solid var(--g-line);
  background:var(--g-panel);color:var(--g-ink);font-size:12px;font-weight:600;cursor:pointer;
}
.tool-tab.active{background:var(--g-accent,#0f766e);border-color:var(--g-accent,#0f766e);color:#fff}
