/* FabForge Build 16: Print -> Part -> Code (#/print) */
.p2-wrap { display: flex; flex-direction: column; gap: 14px; }
.p2-tabs { display: flex; flex-wrap: wrap; gap: 6px; }
.p2-tabb { background: var(--panel, #1b1f24); color: inherit; border: 1px solid #333a42; border-radius: 8px; padding: 7px 12px; cursor: pointer; font: inherit; font-size: 13px; }
.p2-tabb.on { background: rgba(245, 166, 35, .18); border-color: #f5a623; color: #f5a623; font-weight: 700; }
.p2-grid { display: grid; grid-template-columns: minmax(300px, 420px) 1fr; gap: 14px; align-items: start; }
@media (max-width: 960px) { .p2-grid { grid-template-columns: 1fr; } }
.p2-card { background: var(--panel, #1b1f24); border: 1px solid #2c333b; border-radius: 10px; padding: 14px 16px; min-width: 0; }
.p2-card h2 { margin: 0 0 10px; font-size: 16px; } .p2-card h3 { font-size: 14px; margin: 14px 0 6px; }
.p2-f { display: flex; flex-direction: column; gap: 3px; margin-bottom: 8px; font-size: 12.5px; flex: 1; min-width: 90px; }
.p2-f span { color: var(--fg-muted, #a8b5c4); }
.p2-f input, .p2-f select, .p2-inl input, .p2-ask input, .p2-selbox input { background: #111418; color: inherit; border: 1px solid #39414a; border-radius: 6px; padding: 6px 8px; font: inherit; }
.p2-row { display: flex; gap: 8px; flex-wrap: wrap; }
.p2-inl { font-size: 13px; } .p2-chk { display: flex; gap: 6px; align-items: center; font-size: 13px; margin: 4px 0; }
.p2-small, .p2-hint { font-size: 12px; color: var(--fg-muted, #a8b5c4); line-height: 1.4; }
.p2-file { display: block; border: 2px dashed #f5a623; border-radius: 10px; padding: 18px; text-align: center; cursor: pointer; font-weight: 700; }
.p2-file input { display: block; margin: 10px auto 0; }
.p2-samples { display: flex; flex-direction: column; gap: 6px; } .p2-samples .btn { text-align: left; }
.p2-cvwrap { position: sticky; top: 8px; }
.p2-cv { width: 100%; height: auto; background: #fff; border-radius: 6px; border: 1px solid #39414a; display: block; image-rendering: auto; }
.p2-cv.clicking { cursor: crosshair; outline: 2px solid #f5a623; }
.p2-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 8px; margin: 8px 0; }
.p2-tile { background: #12161a; border: 1px solid #2c333b; border-radius: 8px; padding: 8px 10px; }
.p2-tile.big .p2-tv { font-size: 17px; color: #f5a623; } .p2-tile.warn { border-color: #e67e22; }
.p2-tl { font-size: 11px; color: var(--fg-muted, #a8b5c4); } .p2-tv { font-size: 14px; font-weight: 700; margin-top: 2px; }
.p2-tab { width: 100%; border-collapse: collapse; font-size: 12.5px; margin: 8px 0; }
.p2-tab th, .p2-tab td { border-bottom: 1px solid #2c333b; padding: 5px 6px; text-align: left; }
.p2-tab tr.on td { background: rgba(255, 122, 0, .15); } .p2-tab tr.rejected td { opacity: .5; text-decoration: line-through; }
.p2-tab tr.bad td { color: #ff6b6b; } .p2-tab tr.warnr td { color: #f5a623; }
.p2-tab a { color: #f5a623; } .btn.sm { padding: 3px 8px; font-size: 12px; margin-right: 3px; }
.p2-draft { background: rgba(245, 166, 35, .12); border-left: 3px solid #f5a623; padding: 8px 10px; font-size: 12.5px; border-radius: 4px; }
.p2-warnbox { background: rgba(230, 126, 34, .12); border: 1px solid #e67e22; border-radius: 8px; padding: 8px 12px; font-size: 13px; margin: 8px 0; }
.p2-err { color: #ff6b6b; font-weight: 700; } .p2-ok { color: #4cd98a; } .p2-warn { color: #f5a623; font-size: 12.5px; }
.p2-ask { background: #12161a; border: 1px solid #f5a623; border-radius: 8px; padding: 10px 12px; margin: 8px 0; }
.p2-q { font-weight: 700; font-size: 14px; margin-bottom: 4px; }
.p2-check { list-style: none; padding: 0; font-size: 12.5px; } .p2-check li { margin: 3px 0; } .p2-check .ok { color: #4cd98a; } .p2-check .no { color: #f5a623; }
.p2-dest { display: flex; flex-direction: column; gap: 8px; margin: 10px 0; }
.p2-d { display: grid; grid-template-columns: 170px 1fr; gap: 10px; align-items: center; font-size: 12.5px; } .p2-d.off { opacity: .45; }
.p2-sent { color: #4cd98a; }
.p2-log { background: #0f1215; border-radius: 6px; padding: 8px; font-size: 11.5px; max-height: 220px; overflow: auto; white-space: pre-wrap; }
.p2-selbox { background: #12161a; border: 1px solid #ff7a00; border-radius: 8px; padding: 8px; font-size: 13px; }
.p2-why { font-size: 13px; line-height: 1.45; padding-left: 20px; }
.p2-lesson h3 { margin: 12px 0 4px; font-size: 14px; } .p2-lesson p { margin: 0; font-size: 13px; line-height: 1.5; }
/* step 6: read print (OCR & GD&T) */
.p2-scroll { overflow-x: auto; max-width: 100%; }
.p2-read input { width: 100%; min-width: 9em; font-family: ui-monospace, monospace; }
.p2-read td { vertical-align: middle; }
.p2-gref td { vertical-align: top; font-size: 12px; }
.p2-sym { font-size: 22px; text-align: center; }
.badge.green { background: #1a9b3c; color: #fff; } .badge.red { background: #c62828; color: #fff; }
@media (max-width: 700px) { .p2-read th:nth-child(5), .p2-read td:nth-child(5) { display: none; } .p2-gref th:nth-child(5), .p2-gref td:nth-child(5) { display: none; } }
