@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#1a1a2e;--green:#0056d2;--muted:#6b6b8a;--line:#e2e4ee;--paper:#f7f8fc}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer;border:0;background:transparent;color:var(--ink);padding:11px 15px;border-radius:7px}button:hover{background:#edf3fc}button:disabled{opacity:.4;cursor:not-allowed}.primary{background:var(--green);color:white;padding:14px 22px}.primary:hover{background:#003fa3}header{height:92px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5.5%}.brand{color:var(--ink);text-decoration:none;font-size:32px;font-weight:800;letter-spacing:-2px;display:flex;align-items:center;gap:10px}.logo{background:var(--green);color:white;width:36px;height:36px;display:grid;place-items:center;font-size:31px;border-radius:8px}.studio{font-size:9px;letter-spacing:2px;font-weight:500;margin-left:12px}.privacy{font-size:12px;color:var(--green)}main{max-width:1380px;margin:auto;padding:55px 6% 0}.eyebrow{letter-spacing:2.2px;font-size:10px;font-weight:700;color:#0056d2}h1{font-family:Manrope,sans-serif;font-size:62px;line-height:1.1;letter-spacing:-3px;margin:20px 0}h1 em{font-family:Georgia,serif;font-weight:400;color:#0056d2}.intro{position:absolute;top:197px;margin-left:49%;line-height:1.9;color:#6b6b8a;font-size:15px}nav{display:flex;gap:40px;border-bottom:1px solid var(--line);margin-top:40px;font-size:12px;color:#6b6b8a}nav span{padding:17px 0}.active{color:var(--green);border-bottom:2px solid var(--green)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;margin-top:30px}.panel{background:#fff;border:1px solid var(--line);border-radius:12px}.upload{padding:34px 22px;text-align:center;border-style:dashed;background:#eff6ff}.upload.drag{background:#dbeafe}.uploadicon{display:block;background:white;width:48px;height:48px;border-radius:50%;margin:auto;color:var(--green);font-size:32px}h2{font-size:17px;font-weight:600;margin:16px 0 10px}.upload p{font-size:12px;color:var(--muted);margin-bottom:23px}.upload button{font-size:12px}.upload small{display:block;font-size:10px;line-height:1.8;color:#6b6b8a;margin-top:20px}.batchhead{display:flex;justify-content:space-between;align-items:center;margin:25px 0 12px}.batchhead h2{margin:0;font-size:15px}.batchhead span{font-size:11px;font-weight:400;margin-left:10px;color:var(--muted)}.batchhead button{font-size:11px}.queue{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-height:210px}.empty{grid-column:1/-1;border:1px solid var(--line);border-radius:12px;display:grid;place-content:center;text-align:center;color:#6b6b8a;padding:25px}.empty>span{font-size:35px}.empty h3{font-size:13px;color:#55596b}.empty p{font-size:12px;line-height:1.7;margin:0}.card{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:white;position:relative}.card img{width:100%;height:165px;object-fit:contain;background:#f3f6fa}.card .details{padding:11px}.card strong{display:block;font-size:11px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.card p{font-size:10px;line-height:1.5;margin:6px 0;overflow-wrap:anywhere}.card button{font-size:10px;padding:6px}.badge{color:#00796b}.badge.warn{color:#946000}.badge.error{color:#b42318}.actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:20px}.actions button{font-size:11px}#status{font-size:12px;color:var(--muted)}.settings{padding:23px}.sectiontitle{display:flex;gap:10px;align-items:center;margin:8px 0 19px}.sectiontitle:not(:first-child){border-top:1px solid var(--line);padding-top:24px;margin-top:22px}.sectiontitle h2{margin:0;font-size:14px}.sectiontitle span{font-size:10px;color:#6b6b8a}label{display:block;font-size:11px;color:#55596b;margin:14px 0}input[type=number],select{width:100%;padding:11px;margin-top:7px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}input[type=range]{display:block;width:100%;accent-color:var(--green);margin-top:12px}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:12px}.twocol label{margin:0}.spec{background:#edf3fc;text-align:center;font-size:11px;color:#003fa3;padding:10px;border-radius:5px;margin-top:12px}.check{display:flex;align-items:center;gap:8px}.check input{accent-color:var(--green)}.hint{font-size:10px;line-height:1.7;color:#6b6b8a}.note{display:flex;gap:13px;margin:22px 0;padding:0 8px}.note>span{font-size:23px;color:#1a6fe8}.note strong{font-size:12px}.note p{font-size:11px;line-height:1.8;color:var(--muted)}footer{border-top:1px solid var(--line);padding:24px 0;margin-top:38px;display:flex;justify-content:space-between;font-size:10px;color:#6b6b8a}dialog{border:1px solid var(--line);border-radius:15px;padding:25px;max-width:760px;width:92%;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#1a0a3ba8;backdrop-filter:blur(4px)}dialog p{line-height:1.8}#info{max-width:540px}.dialoghead{display:flex;justify-content:space-between}.previews{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:22px}.previews p{font-size:12px}.previews img{width:100%;height:300px;object-fit:contain}.canvaswrap{position:relative;height:300px;display:flex;justify-content:center}.canvaswrap canvas{max-width:100%;max-height:300px;object-fit:contain}.guide{pointer-events:none;position:absolute;top:16%;left:30%;width:40%;height:52%;border:1px dashed #ffffffa8;border-radius:50%}output{float:right}@media(max-width:900px){.intro{position:static;margin:0}.workspace{grid-template-columns:1fr 300px;gap:20px}h1{font-size:50px}.studio{display:none}main{padding:35px 4%}.privacy{display:none}}@media(max-width:680px){.workspace{display:flex;flex-direction:column-reverse}.settings{display:grid;grid-template-columns:1fr;}.intro{font-size:13px}h1{font-size:47px}nav{gap:20px;font-size:10px}.queue{grid-template-columns:repeat(2,1fr)}header{height:75px}.note{display:none}footer{gap:20px}.previews img,.canvaswrap{height:220px}.canvaswrap canvas{max-height:220px}}

/* SmartGene Solutions palette, sourced from smartgenesolutions.com/styles.css. */
header{background:#1a0a3b;color:#fff;border-bottom-color:#1a0a3b}.brand,header button{color:#fff}.privacy{color:#b2d0f9}.logo{background:#0056d2}header button:hover{background:#30204f}.upload{border-color:#bdd2f0}.upload.drag{border-color:#0056d2}.active{color:#0056d2}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #1a6fe8}nav span.active::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:#f5a623;margin-right:8px}


.loading-progress{margin-top:20px;padding:18px 20px;border:1px solid #bdd2f0;border-radius:10px;background:#eff6ff}.loading-progress[hidden]{display:none}.loading-heading{display:flex;justify-content:space-between;gap:15px;font-size:12px}.loading-heading span{color:var(--green);font-weight:700}.loading-progress progress{display:block;width:100%;height:10px;margin-top:12px;border:0;border-radius:20px;overflow:hidden;accent-color:#0056d2;background:#dbeafe}.loading-progress progress::-webkit-progress-bar{background:#dbeafe;border-radius:20px}.loading-progress progress::-webkit-progress-value{background:#0056d2;border-radius:20px;transition:width .15s}.loading-progress progress::-moz-progress-bar{background:#0056d2;border-radius:20px}.loading-progress p{font-size:11px;color:var(--muted);margin:9px 0 0;overflow-wrap:anywhere}
.stop-loading{margin-top:12px;border:1px solid #0056d2;background:white;color:#0056d2;font-weight:600}.stop-loading:hover{background:#dbeafe}.stop-loading[hidden]{display:none}

.background-controls{border:1px solid var(--line);border-radius:8px;padding:0 12px;margin-bottom:18px;background:#f7f8fc}.background-controls [hidden]{display:none}input[type=color]{display:block;width:100%;height:40px;padding:3px;border:1px solid var(--line);border-radius:6px;background:white;margin-top:8px}#preview-status{font-size:12px;color:var(--muted);min-height:20px}

#pixel-fields[hidden],#mm-fields[hidden]{display:none}.print-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.print-controls label{margin:0}#sheet-dialog{max-width:950px}#sheet-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;background:#e2e4ee;padding:20px;max-height:52vh;overflow:auto}.sheet-page{position:relative;background:white;box-shadow:0 2px 8px #1a1a2e22}.sheet-page img{position:absolute;object-fit:contain;outline:1px solid #e2e4ee}#sheet-summary{font-size:12px;color:var(--green)}@media(max-width:600px){.print-controls{grid-template-columns:repeat(2,1fr)}}

.sample-panel{padding:22px;margin-top:22px}.sample-panel[hidden]{display:none}.sample-heading{display:flex;justify-content:space-between;gap:15px;align-items:center}.sample-heading h2{margin:8px 0;font-size:16px}.sample-heading button{font-size:11px}#sample-name{font-size:11px;color:var(--muted);overflow-wrap:anywhere}.sample-images{display:grid;grid-template-columns:1fr 1fr;gap:20px}.sample-images figure{margin:0}.sample-images figcaption{font-size:11px;color:var(--muted);margin-bottom:8px}.sample-images img{display:block;object-fit:contain;width:100%;height:260px;background:#f3f6fa;border-radius:7px}.sample-images img[hidden]{display:none}.sample-result{min-height:260px;display:grid;place-items:center;background:#f3f6fa;border-radius:7px}#sample-placeholder{font-size:12px;color:var(--muted);padding:15px}#sample-placeholder[hidden]{display:none}#sample-status{font-size:12px;line-height:1.7;color:var(--green)}@media(max-width:600px){.sample-images{gap:10px}.sample-images img{height:210px}.sample-result{min-height:210px}.sample-heading{align-items:start}}

.card button.delete-photo{display:block;width:100%;margin-top:8px;border-top:1px solid var(--line);border-radius:0;color:#b42318;text-align:left;padding:10px 6px 3px}.card button.delete-photo:hover{background:#fff1f0}.card button.delete-photo:disabled{background:transparent}
