/* 3DP Estimator v5 */
.tdpe{max-width:880px;margin:0 auto;font-family:'Rajdhani',sans-serif;color:#e6edf3;line-height:1.5;}
.tdpe *,.tdpe *::before,.tdpe *::after{box-sizing:border-box;}
.ts{background:#161b22;border:1px solid #30363d;border-radius:12px;padding:24px;margin-bottom:16px;}
.th{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:18px;}
.tn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:#00b4d8;color:#000;border-radius:6px;font-family:'Share Tech Mono',monospace;font-size:12px;font-weight:700;}
.lb{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#00b4d8;margin-bottom:8px;}
.mn{font-family:'Share Tech Mono',monospace;color:#e6edf3;}

/* Pulsing dropzone */
.dz{border:2px dashed #30363d;border-radius:12px;padding:36px 20px;text-align:center;background:#0d1117;position:relative;transition:border-color .3s;}
@keyframes dzpulse{0%,100%{border-color:#30363d;}50%{border-color:#00b4d860;}}
.dz-pulse{animation:dzpulse 3s ease-in-out infinite;}
.dz-pulse:hover{animation:none;border-color:#00b4d8;}

/* File list item */
.fli{display:flex;align-items:center;gap:10px;padding:8px 14px;background:#21262d;border:1px solid #30363d;border-radius:8px;margin-bottom:6px;font-size:13px;}
.fli .fli-name{font-weight:600;flex:1;}
.fli .fli-size{color:#8b949e;font-family:'Share Tech Mono',monospace;}
.fli .fli-warn{color:#ffd54f;font-size:11px;}
.fli .fli-rm{background:none;border:none;color:#ff5252;cursor:pointer;font-size:16px;padding:2px 6px;}

/* Buttons */
.tb{display:inline-flex;align-items:center;justify-content:center;padding:10px 22px;font-family:'Rajdhani',sans-serif;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border:none;border-radius:8px;cursor:pointer;transition:all .15s;text-decoration:none;line-height:1.3;}
.tb:hover{transform:translateY(-1px);}.tb:disabled{opacity:.5;cursor:not-allowed;transform:none;}
.ta{background:#00b4d8;color:#000;box-shadow:0 0 12px #00b4d840;}.ta:hover{background:#0096c7;color:#000;}
.tg{background:#00c853;color:#000;}.tg:hover{background:#00a844;color:#000;}
.tgh{background:#21262d;color:#8b949e;border:1px solid #30363d;}.tgh:hover{color:#e6edf3;border-color:#8b949e;}
.xb{padding:4px 10px;font-size:12px;font-weight:600;border:1px solid #30363d;border-radius:6px;background:#21262d;color:#8b949e;cursor:pointer;}.xb:hover{border-color:#00b4d8;color:#00b4d8;}
label.tb{cursor:pointer!important;}

/* Canvas */
#cv{display:block;width:100%!important;height:100%!important;}

/* Select / textarea */
.sl{width:100%!important;padding:10px 12px!important;font-family:'Rajdhani',sans-serif!important;font-size:14px!important;font-weight:600!important;background:#0d1117!important;border:1px solid #30363d!important;border-radius:8px!important;color:#e6edf3!important;}
.sl:focus{border-color:#00b4d8!important;outline:none!important;}

/* Mode buttons */
.mb{padding:18px 16px!important;background:#0d1117!important;border:2px solid #30363d!important;border-radius:12px!important;cursor:pointer!important;color:#8b949e!important;font-family:'Rajdhani',sans-serif!important;font-size:17px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:1px!important;transition:all .2s!important;width:100%!important;text-align:center!important;}
.mb:hover{border-color:#00b4d8!important;color:#e6edf3!important;}
.mb.on{border-color:#00b4d8!important;background:#00b4d8!important;color:#000!important;box-shadow:0 0 12px #00b4d840!important;}

/* Color swatches - scrollable on mobile */
.cg-scroll{display:flex;flex-wrap:wrap;gap:12px;padding:4px 0;}
.sw{width:46px!important;height:46px!important;border-radius:50%!important;border:3px solid transparent!important;cursor:pointer!important;padding:0!important;outline:none!important;transition:all .15s!important;-webkit-tap-highlight-color:transparent!important;}
.sw:hover{transform:scale(1.12)!important;box-shadow:0 0 8px #00b4d840!important;}
.sw.on{border-color:#00b4d8!important;box-shadow:0 0 10px #00b4d860!important;}
.sw-l{box-shadow:inset 0 0 0 1px #555!important;}

/* Multicolor preview circles */
.mcprev{width:22px;height:22px;border-radius:50%;background:#888;flex-shrink:0;transition:background .2s;}

/* Scale & dimension inputs */
.sci,.dmi{width:100%!important;padding:8px!important;background:#161b22!important;border:1px solid #30363d!important;border-radius:6px!important;color:#e6edf3!important;font-family:'Share Tech Mono',monospace!important;font-size:15px!important;text-align:center!important;-moz-appearance:textfield!important;}
.sci::-webkit-outer-spin-button,.sci::-webkit-inner-spin-button,.dmi::-webkit-outer-spin-button,.dmi::-webkit-inner-spin-button{-webkit-appearance:none!important;}
.sci:focus,.dmi:focus{border-color:#00b4d8!important;outline:none!important;box-shadow:0 0 6px #00b4d830!important;}

/* Infill slider */
.tdpe-slider{-webkit-appearance:none!important;appearance:none!important;width:100%!important;height:4px!important;border-radius:2px!important;background:#00b4d850!important;outline:none!important;margin:16px 0!important;cursor:pointer!important;}
.tdpe-slider::-webkit-slider-thumb{-webkit-appearance:none!important;width:22px!important;height:22px!important;border-radius:50%!important;background:#00b4d8!important;cursor:pointer!important;box-shadow:0 0 10px #00b4d880!important;border:none!important;margin-top:-9px!important;}
.tdpe-slider::-moz-range-thumb{width:22px!important;height:22px!important;border-radius:50%!important;background:#00b4d8!important;cursor:pointer!important;border:none!important;box-shadow:0 0 10px #00b4d880!important;}
.tdpe-slider::-webkit-slider-runnable-track{height:4px!important;border-radius:2px!important;background:#00b4d850!important;}
.tdpe-slider::-moz-range-track{height:4px!important;border-radius:2px!important;background:#00b4d850!important;}

/* Quantity */
.qb{width:44px;height:44px;border:1px solid #30363d;background:#0d1117;color:#e6edf3;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.qb:first-child{border-radius:8px 0 0 8px;}.qb:last-child{border-radius:0 8px 8px 0;}
.qb:hover{background:#21262d;}
.qi{width:70px;height:44px;text-align:center;border:1px solid #30363d;border-left:none;border-right:none;background:#0d1117;color:#e6edf3;font-size:18px;font-weight:700;font-family:'Share Tech Mono',monospace;-moz-appearance:textfield;-webkit-appearance:none;}

/* Quote rows (hidden in v5 but kept for compat) */
.qr{display:flex!important;justify-content:space-between!important;padding:8px 0!important;font-size:14px!important;color:#8b949e!important;border-bottom:1px solid #161b22!important;}

/* Mobile */
@media(max-width:640px){
    .ts{padding:16px;}
    #vw{height:320px!important;}
    .sw{width:50px!important;height:50px!important;}
    .cg-scroll{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:8px;}
    .cg-scroll::-webkit-scrollbar{height:4px;}.cg-scroll::-webkit-scrollbar-thumb{background:#30363d;border-radius:2px;}
    .fli{flex-wrap:wrap;}
    div[style*="repeat(4"]{grid-template-columns:1fr 1fr!important;}
}
