/* PROOFLOOP pilot: intake form (loop-paid.html) and private order page (loop-order.html). */
.lo-card { background: #0d1322; border: 1px solid #243049; border-radius: 12px; padding: 20px 22px; margin: 18px 0; }
.lo-card h2 { margin-top: 0; }
.lo-form label { display: block; font-weight: 700; margin: 16px 0 6px; color: #e6ebf5; }
.lo-form .lo-hint { display: block; font-weight: 400; color: #93a0b8; font-size: .9em; margin-top: 2px; }
.lo-form input[type=text], .lo-form input[type=email], .lo-form textarea {
  width: 100%; box-sizing: border-box; background: #070b15; color: #e6ebf5; border: 1px solid #2c3954;
  border-radius: 8px; padding: 10px 12px; font: inherit; }
.lo-form textarea { min-height: 90px; resize: vertical; }
.lo-form textarea.lo-code { min-height: 220px; font: 13px/1.5 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.lo-form input:focus, .lo-form textarea:focus { outline: 2px solid #38e8ff; outline-offset: 1px; border-color: #38e8ff; }
.lo-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
@media (max-width: 700px) { .lo-row { grid-template-columns: 1fr; } }
.lo-btn { display: inline-block; background: #16a34a; color: #fff; border: 0; border-radius: 9px; padding: 12px 20px;
  font: 700 1rem/1.2 inherit; cursor: pointer; text-decoration: none; }
.lo-btn:hover { filter: brightness(1.1); }
.lo-btn[disabled] { opacity: .55; cursor: wait; }
.lo-btn.lo-alt { background: transparent; border: 1px solid #38e8ff; color: #38e8ff; }
.lo-msg { margin: 14px 0 0; padding: 12px 14px; border-radius: 8px; display: none; }
.lo-msg.lo-err { display: block; background: #3a1618; border: 1px solid #ff6b70; color: #ffd6d8; }
.lo-msg.lo-ok { display: block; background: #0f2a1b; border: 1px solid #22c55e; color: #c9f7d9; }
.lo-msg.lo-info { display: block; background: #0c2230; border: 1px solid #38e8ff; color: #cdf5ff; }
.lo-paid { display: inline-block; background: #0f2a1b; border: 1px solid #22c55e; color: #86efac; border-radius: 999px;
  padding: 3px 12px; font-weight: 700; font-size: .9em; }
.lo-drop { border: 1px dashed #3a4a6a; border-radius: 8px; padding: 10px 12px; color: #93a0b8; margin-bottom: 8px; }
.lo-drop.lo-over { border-color: #38e8ff; color: #cdf5ff; }

/* order page */
.lo-head { display: flex; flex-wrap: wrap; gap: 10px 24px; align-items: baseline; justify-content: space-between; }
.lo-ref { font: 700 1.1rem ui-monospace, Menlo, monospace; color: #38e8ff; }
.lo-due { font-weight: 700; }
.lo-due.lo-late { color: #ff6b70; }
.lo-steps { list-style: none; padding: 0; margin: 18px 0 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
@media (max-width: 800px) { .lo-steps { grid-template-columns: 1fr; } }
.lo-steps li { border: 1px solid #243049; border-radius: 10px; padding: 12px; background: #0a0f1c; color: #93a0b8; }
.lo-steps li b { display: block; color: #e6ebf5; margin-bottom: 4px; }
.lo-steps li.lo-done { border-color: #22c55e; background: #0f2a1b; }
.lo-steps li.lo-done b::before { content: "\2713  "; color: #22c55e; }
.lo-steps li.lo-now { border-color: #38e8ff; box-shadow: 0 0 0 1px #38e8ff inset; }
.lo-stage { font-size: 1.15rem; font-weight: 800; margin: 16px 0 4px; }
.lo-find { border-left: 3px solid #f59e0b; padding: 8px 12px; margin: 10px 0; background: #1a160b; border-radius: 0 8px 8px 0; }
.lo-find code { white-space: pre-wrap; }
.lo-grade { display: inline-block; font: 800 .85rem ui-monospace, monospace; padding: 2px 10px; border-radius: 6px; background: #2a2f3d; }
.lo-grade.REAL { background: #0f2a1b; color: #86efac; }
.lo-grade.PARTIAL { background: #2b230c; color: #fcd34d; }
.lo-grade.STUB { background: #3a1618; color: #ffb4b8; }
.lo-pre { background: #070b15; border: 1px solid #243049; border-radius: 8px; padding: 12px; overflow: auto; max-height: 420px;
  font: 13px/1.5 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: pre; }
.lo-thread { list-style: none; padding: 0; margin: 0; }
.lo-thread li { padding: 10px 12px; border-radius: 8px; margin: 8px 0; background: #0a0f1c; border: 1px solid #243049; }
.lo-thread li.lo-them { border-color: #38e8ff55; }
.lo-thread small { color: #93a0b8; display: block; margin-bottom: 4px; }
.lo-copy { font: 12px ui-monospace, monospace; background: #070b15; border: 1px solid #243049; border-radius: 8px; padding: 8px 10px;
  word-break: break-all; }

/* These pages are one column of content, not the Top-25 side-menu layout. */
.t25-wrap.lo-page { display: block; max-width: 980px; margin: 0 auto; padding: 24px 20px 60px; }
.lo-page h1 { font-size: clamp(1.8rem, 3.4vw, 2.4rem); line-height: 1.2; margin: 8px 0 10px; }
.lo-page .t25-lede { font-size: 1.08rem; color: #c6cfe2; max-width: 820px; }
.lo-page h2 { margin-top: 1.6em; }
.lo-muted { color: #93a0b8; font-size: .9em; }
