/* Job biodata maker: A4 canvas preview, photo crop, repeatable education / experience rows */
.jb-sr{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (min-width:901px){.jb-app{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.jb-stage{padding:14px;min-height:0;background:#e9e7df}
.jb-stage canvas{display:block;width:100%;height:auto;max-height:none;max-width:560px;margin:0 auto;aspect-ratio:210/297;border-radius:2px;box-shadow:0 12px 28px rgba(15,18,34,.22)}
.jb-tpls{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}
.jb-tpls .tpl{aspect-ratio:210/297}
.jb-tpls .tpl canvas{display:block;width:100%;height:100%}
.jb-photo{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap}
.jb-crop{width:140px;height:175px;border:2px solid var(--ink);border-radius:10px;cursor:grab;touch-action:none;background:#f3f5fa}
.jb-crop-ctl{display:grid;gap:10px;flex:1;min-width:170px}
.jb-mini{margin-top:8px}
.jb-mini .chip{min-height:34px;font-size:13px;padding:6px 12px}
.jb-p{margin-bottom:12px}
.jb-item{border:1.5px solid var(--line);border-radius:12px;padding:10px 12px 2px;margin-bottom:10px;background:#fcfbf8;position:relative}
.jb-item .row{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}
.jb-item input,.jb-item textarea{padding:9px 11px}
.jb-item textarea{min-height:60px}
.jb-item-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.jb-item-top b{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.jb-x{border:2px solid var(--ink);background:#fff;border-radius:10px;min-width:36px;min-height:34px;font:700 13px var(--font);cursor:pointer;color:var(--ink);padding:4px 10px}
.jb-x:hover{background:#fdecec;color:var(--err)}
.jb-sig-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.jb-sig-row:focus-within .btn,.jb-crop-ctl>.btn:focus-within{outline:3px solid var(--sun);outline-offset:2px}
.jb-fit{margin-top:10px}
#jb-fresher+*{margin-top:0}
#jb-exp-box{margin-top:14px}
