@tailwind base;@tailwind components;@tailwind utilities;:root{color:#f4f7f4;background:#20262a;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}.calculator-shell{min-height:100vh;background:#20262a;color:#f4f7f4;overflow:hidden}.upload-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(rgba(210,255,45,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(210,255,45,.08) 1px,transparent 1px),#20262a;background-size:48px 48px}.upload-panel{width:min(560px,100%);border:1px solid rgba(210,255,45,.24);border-radius:8px;background:#121416eb;padding:28px;box-shadow:0 24px 80px #00000059}.upload-kicker,.panel-title{display:inline-flex;align-items:center;gap:8px;color:#d2ff2d;font-size:13px;font-weight:700}.upload-panel h1{margin:14px 0 8px;font-size:clamp(28px,4vw,44px);line-height:1.05;letter-spacing:0}.upload-panel p{margin:0 0 22px;color:#f4f7f4b8;line-height:1.55}.upload-form{display:grid;gap:14px}.upload-form label,.parameter-body label,.setting-row{display:grid;gap:7px;color:#f4f7f4b8;font-size:13px}.upload-form input,.parameter-body input,.parameter-body select{min-height:40px;width:100%;border:1px solid rgba(244,247,244,.14);border-radius:6px;background:#0a0c0dc7;color:#f4f7f4;padding:0 12px;outline:none}.upload-form input:focus,.parameter-body input:focus,.parameter-body select:focus{border-color:#d2ff2d;box-shadow:0 0 0 3px #d2ff2d1f}.file-field input{padding:9px 12px}.upload-progress{position:relative;height:34px;overflow:hidden;border:1px solid rgba(210,255,45,.28);border-radius:6px;background:#d2ff2d14}.upload-progress span{display:block;height:100%;background:#d2ff2d;transition:width .16s ease}.upload-progress strong{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#101214;font-size:13px}.upload-error{border:1px solid rgba(255,88,88,.38);border-radius:6px;background:#ff58581f;color:#ffb4b4;padding:10px 12px;font-size:13px}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.calculator-left-panel,.calculator-right-panel{position:fixed;top:0;bottom:0;z-index:4;width:min(450px,calc(100vw - 56px));padding:16px;pointer-events:none;transition:transform .22s ease}.calculator-left-panel{left:0}.calculator-right-panel{right:0;width:min(340px,calc(100vw - 56px))}.calculator-left-panel.is-closed{transform:translate(calc(-100% + 44px))}.calculator-right-panel.is-closed{transform:translate(calc(100% - 44px))}.panel-inner{display:grid;gap:12px;max-height:calc(100vh - 32px);overflow:auto;pointer-events:auto}.panel-toggle{position:absolute;top:14px;display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(210,255,45,.26);border-radius:6px;background:#121416e0;color:#d2ff2d;cursor:pointer;pointer-events:auto}.panel-toggle.left{right:-28px}.panel-toggle.right{left:-28px}.parameter-card,.price-card,.final-price,.measurement-card{border:1px solid rgba(244,247,244,.12);border-radius:8px;background:#121416db;box-shadow:0 14px 36px #00000038}.parameter-head{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;border:0;background:transparent;color:#f4f7f4;padding:0 12px;cursor:pointer}.switch{position:relative;width:34px;height:18px;border-radius:999px;background:#f4f7f42e}.switch:after{content:"";position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:999px;background:#f4f7f4cc;transition:transform .16s ease,background .16s ease}.switch.is-on{background:#d2ff2d59}.switch.is-on:after{transform:translate(16px);background:#d2ff2d}.parameter-body{display:grid;gap:12px;border-top:1px solid rgba(244,247,244,.08);padding:12px}.calculator-stage{position:relative;min-height:100vh;display:grid;place-items:center;overflow:hidden;background:#20262a}.cad-viewer,.cad-viewer-fallback{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.cad-viewer canvas{display:block;width:100%!important;height:100%!important;touch-action:none}.cad-viewer-fallback{display:grid;place-items:center;gap:14px;padding:24px;text-align:center;color:#f4f7f4b8;background:linear-gradient(rgba(210,255,45,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(210,255,45,.08) 1px,transparent 1px),#20262a;background-size:48px 48px}.cad-model-loader{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:grid;place-content:center;justify-items:center;gap:12px;color:#f4f7f4c7;font-size:13px;pointer-events:none}.cad-model-loader.is-error{color:#ffb4b4db}.cad-loader-ring{width:30px;height:30px;border:2px solid rgba(210,255,45,.2);border-top-color:#d2ff2d;border-radius:50%;animation:spin .8s linear infinite}.stage-toolbar{position:fixed;z-index:6;top:18px;left:50%;display:flex;gap:8px;transform:translate(-50%)}.stage-toolbar button{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(210,255,45,.2);border-radius:6px;background:#121416db;color:#d2ff2d;cursor:pointer}.stage-toolbar button:disabled,.measurement-card button:disabled{cursor:default;opacity:.38}.stage-scale,.viewer-quality,.model-state,.sync-state{position:fixed;z-index:6;left:18px;max-width:min(460px,calc(100vw - 36px));color:#f4f7f49e;font-size:12px}.stage-scale{bottom:18px}.viewer-quality{bottom:36px}.model-state{bottom:54px;overflow-wrap:anywhere}.sync-state{top:18px}.continue-button{position:fixed;z-index:6;right:18px;bottom:18px;border-color:#d2ff2d!important;background:#d2ff2d!important;color:#101214!important}.setting-row{grid-template-columns:1fr auto;align-items:center;min-height:42px;border:1px solid rgba(244,247,244,.12);border-radius:8px;background:#121416db;padding:0 12px}.setting-row span{display:inline-flex;align-items:center;gap:8px}.scene-control{display:grid;gap:7px;padding:10px 12px;border:1px solid rgba(244,247,244,.12);border-radius:8px;background:#121416db;color:#f4f7f4b8;font-size:13px}.scene-control label{display:flex;align-items:center;justify-content:space-between;gap:10px}.scene-control label span{display:inline-flex;align-items:center;gap:8px}.scene-control output{color:#d2ff2d;font-variant-numeric:tabular-nums}.scene-control select{min-height:34px;width:100%;border:1px solid rgba(244,247,244,.14);border-radius:6px;background:#0a0c0dc7;color:#f4f7f4;padding:0 9px}.scene-control input[type=range]{width:100%;accent-color:#d2ff2d}.price-card,.final-price,.measurement-card{display:grid;gap:8px;padding:14px}.measurement-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.measurement-card-head span{display:inline-flex;align-items:center;gap:8px;color:#d2ff2d;font-size:13px;font-weight:700}.measurement-card button,.reset-model-button{display:inline-grid;place-items:center;min-width:32px;min-height:32px;border:1px solid rgba(210,255,45,.2);border-radius:6px;background:#0a0c0d7a;color:#d2ff2d;cursor:pointer}.measurement-card p{margin:0;color:#f4f7f49e;font-size:12px;line-height:1.45}.measurement-card ol{display:grid;gap:8px;margin:4px 0 0;padding:0;list-style:none}.measurement-card li{display:grid;grid-template-columns:minmax(0,1fr) auto 28px;align-items:center;gap:8px;border-top:1px solid rgba(244,247,244,.08);padding-top:8px}.measurement-card li span{min-width:0;color:#f4f7f4b3;font-size:12px;overflow-wrap:anywhere}.measurement-card li strong{color:#d2ff2d;font-size:12px;white-space:nowrap}.reset-model-button{grid-auto-flow:column;justify-content:center;gap:8px;width:100%;color:#101214;background:#d2ff2d;font-weight:700}.cad-measurement-label{border:1px solid rgba(210,255,45,.42);border-radius:6px;background:#121416e6;color:#d2ff2d;padding:3px 7px;font-size:11px;font-weight:700;white-space:nowrap;box-shadow:0 8px 22px #00000047}.price-card svg,.final-price svg{color:#d2ff2d}.price-card span{color:#f4f7f4a8;font-size:12px}.price-card strong{color:#d2ff2d;font-size:24px}.final-price{color:#f4f7f4;line-height:1.45}.summary-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:8;display:grid;place-items:center;padding:24px;background:#0a0c0db8}.summary-panel{position:relative;width:min(620px,100%);max-height:calc(100vh - 48px);overflow:auto;border:1px solid rgba(210,255,45,.28);border-radius:8px;background:#121416;padding:24px}.summary-close{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(244,247,244,.14);border-radius:6px;background:transparent;color:#f4f7f4}.summary-panel h2{margin:0 44px 8px 0;font-size:28px}.summary-panel p{color:#f4f7f4ad;overflow-wrap:anywhere}.summary-panel dl{display:grid;gap:8px;margin:18px 0}.summary-panel dl div{display:grid;grid-template-columns:160px 1fr;gap:12px;border-bottom:1px solid rgba(244,247,244,.08);padding-bottom:8px}.summary-panel dt{color:#f4f7f480}.summary-panel dd{margin:0}.summary-measurements{display:grid;gap:8px;margin:18px 0}.summary-measurements div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;border:1px solid rgba(210,255,45,.18);border-radius:8px;padding:10px 12px}.summary-measurements span{min-width:0;overflow-wrap:anywhere;color:#f4f7f4a8}.summary-measurements strong{color:#d2ff2d;white-space:nowrap}.summary-price{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0;border:1px solid rgba(210,255,45,.22);border-radius:8px;padding:14px}.summary-price strong{color:#d2ff2d;font-size:22px}@media(max-width:760px){.calculator-left-panel,.calculator-right-panel{width:calc(100vw - 48px)}.calculator-right-panel{top:auto;height:min(58vh,420px)}.stage-toolbar{left:18px;transform:none}.sync-state{top:68px;left:18px;right:18px}.summary-panel dl div{grid-template-columns:1fr;gap:4px}}.measurement-tolerances{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-column:1 / -1;gap:8px;width:100%}.measurement-tolerances label{min-width:0;font-size:11px}.measurement-tolerances input{width:100%;min-width:0;box-sizing:border-box}.summary-actions{display:flex;flex-wrap:wrap;gap:8px}.summary-actions button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 12px;border-radius:6px;border:1px solid #66722a;background:#252a26;color:#ecf0e7;font:inherit;cursor:pointer;white-space:normal}.summary-actions button:hover{border-color:#d4ff2f}.summary-actions button:disabled{opacity:.5;cursor:default}.summary-actions button svg{flex-shrink:0}
