:root{--navy:#0d1b2a;--navy2:#08121d;--ink:#111820;--muted:#697580;--orange:#f26522;--orange2:#ff7a32;--line:#dfe4e8;--paper:#f4f7f9;--white:#fff;--shadow:0 22px 60px rgba(8,18,29,.12)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#edf1f4}button,input{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.viewer-public-chrome{background:radial-gradient(circle at 75% 20%,rgba(242,101,34,.13),transparent 22%),linear-gradient(135deg,#071019,#0d1b2a 60%,#111820);color:#fff}.viewer-header{width:min(calc(100% - 44px),1320px);min-height:78px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}.viewer-brand{width:240px}.viewer-brand img{display:block;width:100%}.viewer-header nav{display:flex;gap:24px;align-items:center}.viewer-header nav a{color:rgba(255,255,255,.74);text-decoration:none;font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.viewer-header nav a:hover{color:#fff}.viewer-nav-cta{padding:10px 14px;border:1px solid rgba(242,101,34,.55);border-radius:999px;color:#fff!important;background:rgba(242,101,34,.1)}
.viewer-intro{width:min(calc(100% - 44px),1320px);margin:auto;padding:55px 0 48px;display:flex;justify-content:space-between;gap:45px;align-items:end}.viewer-kicker{margin:0;color:var(--orange);font-size:11px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.viewer-intro h1{font-size:clamp(48px,6vw,82px);line-height:.94;letter-spacing:-.05em;margin:10px 0 18px}.viewer-intro h1 em{color:var(--orange);font-style:normal}.viewer-intro>div:first-child>p:last-child{max-width:760px;margin:0;color:rgba(255,255,255,.66);font-size:16px;line-height:1.65}.viewer-privacy-pill{min-width:265px;display:grid;grid-template-columns:12px 1fr;column-gap:10px;align-items:center;padding:14px 16px;border:1px solid rgba(255,255,255,.11);border-radius:14px;background:rgba(255,255,255,.045)}.viewer-privacy-pill span{grid-row:1/3;width:10px;height:10px;border-radius:50%;background:#43d17f;box-shadow:0 0 0 6px rgba(67,209,127,.08)}.viewer-privacy-pill strong,.viewer-privacy-pill small{display:block}.viewer-privacy-pill strong{font-size:12px}.viewer-privacy-pill small{color:rgba(255,255,255,.54);font-size:10px}
.viewer-app{width:min(calc(100% - 36px),1420px);margin:28px auto;display:grid;grid-template-columns:315px minmax(0,1fr);gap:18px;align-items:start}.viewer-sidebar{display:grid;gap:14px}.viewer-upload-card,.viewer-info-card,.viewer-format-card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 28px rgba(8,18,29,.055)}.viewer-upload-card{padding:24px;text-align:center;border-style:dashed;border-width:2px;transition:.18s}.viewer-upload-card.dragover{border-color:var(--orange);background:#fff8f3;transform:translateY(-1px)}.viewer-upload-icon{width:56px;height:56px;margin:0 auto 12px;border-radius:14px;display:grid;place-items:center;color:var(--orange);background:#fff0e8;font-size:28px}.viewer-upload-card h2{font-size:19px;margin:0 0 7px}.viewer-upload-card p{margin:0 0 16px;color:var(--muted);font-size:12px}.viewer-upload-card small{display:block;margin-top:10px;color:#8a949e;font-size:10px;line-height:1.45}.viewer-primary{width:100%;border:0;border-radius:10px;background:var(--orange);color:#fff;padding:12px 14px;font-weight:850}.viewer-primary:hover{background:var(--orange2)}
.viewer-info-card{padding:18px}.viewer-info-head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--line);font-size:12px}.viewer-info-head>span{padding:4px 8px;border-radius:999px;background:#fff0e8;color:var(--orange);font-size:9px;font-weight:900;text-transform:uppercase}.viewer-info-card dl{margin:0}.viewer-info-card dl div{display:grid;grid-template-columns:80px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid #eef1f3}.viewer-info-card dl div:last-child{border-bottom:0}.viewer-info-card dt{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em}.viewer-info-card dd{margin:0;text-align:right;font-size:11px;font-weight:700;word-break:break-word}.viewer-format-card{padding:18px}.viewer-format-card strong{font-size:12px}.viewer-format-card p{margin:8px 0;color:#56626d;font-size:11px;line-height:1.55}.viewer-format-card small{color:#8a949e;font-size:9px;line-height:1.5;display:block}
.viewer-stage-shell{min-width:0;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.viewer-toolbar{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-bottom:1px solid #dce2e7;background:#f8fafb}.viewer-toolbar-group{display:flex;gap:6px;flex-wrap:wrap}.viewer-toolbar button{border:1px solid #d7dde2;border-radius:8px;background:#fff;color:#2d3741;padding:8px 11px;font-size:10px;font-weight:800}.viewer-toolbar button:hover,.viewer-toolbar button[aria-pressed="true"]{border-color:#f0b08f;background:#fff3ec;color:#a94716}.viewer-render-host{position:relative;min-height:660px;height:min(72vh,820px);overflow:hidden;background:radial-gradient(circle at center,#233141,#101923 70%)}#modelCanvas{width:100%;height:100%;display:block;outline:none}.viewer-empty-state{position:absolute;inset:0;display:grid;place-items:center;align-content:center;text-align:center;padding:30px;pointer-events:none}.viewer-empty-mark{width:86px;height:86px;border:1px solid rgba(255,255,255,.13);border-radius:22px;display:grid;place-items:center;margin-bottom:20px;color:var(--orange);background:rgba(255,255,255,.035);font-size:25px;font-weight:900;letter-spacing:.05em;box-shadow:0 25px 80px rgba(0,0,0,.24)}.viewer-empty-state h2{margin:0 0 7px;color:#fff;font-size:22px}.viewer-empty-state p{max-width:480px;margin:0;color:rgba(255,255,255,.47);font-size:11px}.viewer-loading{position:absolute;inset:0;display:grid;place-items:center;align-content:center;text-align:center;background:rgba(8,18,29,.84);backdrop-filter:blur(3px);color:#fff;z-index:4}.viewer-spinner{width:40px;height:40px;margin-bottom:14px;border:3px solid rgba(255,255,255,.15);border-top-color:var(--orange);border-radius:50%;animation:viewer-spin .8s linear infinite}.viewer-loading strong{font-size:13px}.viewer-loading small{display:block;margin-top:6px;color:rgba(255,255,255,.5);font-size:10px}.viewer-error{position:absolute;left:18px;right:18px;bottom:18px;z-index:5;padding:14px 16px;border-radius:11px;border:1px solid #e5a69f;background:#fff3f1;color:#8c251b;box-shadow:0 14px 40px rgba(0,0,0,.18);font-size:11px;line-height:1.5}.viewer-statusbar{min-height:34px;padding:0 12px;display:flex;justify-content:space-between;align-items:center;gap:15px;background:#0b1621;color:#98a9b7;font-size:9px}.viewer-statusbar span:first-child{color:#d6e0e7}.viewer-foot{width:min(calc(100% - 44px),1420px);margin:0 auto 26px;display:flex;justify-content:space-between;gap:22px;color:#7c8791;font-size:9px}
@keyframes viewer-spin{to{transform:rotate(360deg)}}
body.viewer-embedded{background:#101923;overflow:hidden}body.viewer-embedded .viewer-public-chrome,body.viewer-embedded .viewer-sidebar,body.viewer-embedded .viewer-foot{display:none}body.viewer-embedded .viewer-app{width:100%;height:100vh;margin:0;display:block}body.viewer-embedded .viewer-stage-shell{height:100vh;border:0;border-radius:0;box-shadow:none}body.viewer-embedded .viewer-render-host{height:calc(100vh - 86px);min-height:0}body.viewer-embedded .viewer-toolbar{min-height:52px}body.viewer-embedded .viewer-statusbar{height:34px}
@media(max-width:950px){.viewer-header nav a:not(.viewer-nav-cta){display:none}.viewer-intro{align-items:start;flex-direction:column}.viewer-privacy-pill{min-width:0}.viewer-app{grid-template-columns:1fr}.viewer-sidebar{grid-template-columns:1fr 1fr}.viewer-upload-card{grid-row:span 2}.viewer-render-host{min-height:560px;height:66vh}}
@media(max-width:650px){.viewer-header{width:min(calc(100% - 28px),1320px)}.viewer-brand{width:190px}.viewer-header nav{gap:8px}.viewer-nav-cta{padding:8px 10px!important}.viewer-intro{width:min(calc(100% - 28px),1320px);padding:42px 0 36px}.viewer-intro h1{font-size:52px}.viewer-app{width:min(calc(100% - 20px),1420px);margin:10px auto}.viewer-sidebar{grid-template-columns:1fr}.viewer-upload-card{grid-row:auto}.viewer-toolbar{align-items:flex-start}.viewer-render-host{height:62vh;min-height:470px}.viewer-statusbar span:last-child{display:none}.viewer-foot{width:min(calc(100% - 28px),1420px);flex-direction:column}}

/* ---------- 2D drawing support ---------- */
.viewer-2d-host{position:absolute;inset:0;overflow:auto;background:#101923;z-index:1}.viewer-2d-document{width:100%;height:100%;border:0;background:#fff}.viewer-2d-image-wrap,.viewer-2d-canvas-wrap{width:100%;height:100%;display:grid;place-items:center;transform-origin:center center}.viewer-2d-image-wrap img{display:block;max-width:100%;max-height:100%;object-fit:contain}.viewer-2d-canvas-wrap svg{display:block;width:100%;height:100%;min-height:100%;background:#101923}.viewer-empty-mark{font-size:20px}.viewer-toolbar button:disabled{opacity:.45;cursor:not-allowed}
body.viewer-embedded .viewer-2d-host{inset:0}


/* ---------- V7 professional CAD viewer controls ---------- */
.viewer-toolbar{overflow-x:auto;scrollbar-width:thin;justify-content:flex-start;flex-wrap:nowrap}.viewer-toolbar-group{flex:0 0 auto;flex-wrap:nowrap}.viewer-toolbar-end{margin-left:auto}.viewer-toolbar button[aria-pressed="true"]{box-shadow:inset 0 0 0 1px rgba(242,101,34,.12)}.viewer-unit-select{display:flex;align-items:center;gap:5px;padding:4px 6px;border:1px solid #d7dde2;border-radius:8px;background:#fff;color:#55616b;font-size:9px;font-weight:800}.viewer-unit-select select{border:0;background:transparent;color:#222f3a;font-size:10px;font-weight:850;outline:none}.viewer-section-bar{min-height:38px;display:grid;grid-template-columns:auto auto minmax(180px,1fr) auto;align-items:center;gap:10px;padding:6px 12px;border-bottom:1px solid #dae1e6;background:#fff7f2;color:#5e3b2a}.viewer-section-bar strong{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#a94716}.viewer-section-bar span{font-size:9px;color:#866b5e}.viewer-section-bar input{width:100%;accent-color:var(--orange)}.viewer-section-bar button{border:1px solid #efc0a8;border-radius:7px;background:#fff;color:#9f4316;padding:6px 9px;font-size:9px;font-weight:850}.viewer-measurement-layer{position:absolute;inset:0;pointer-events:none;z-index:3}.viewer-measure-label{position:absolute;transform:translate(-50%,-115%);min-width:135px;padding:7px 9px;border:1px solid rgba(255,151,99,.56);border-radius:8px;background:rgba(8,18,29,.9);color:#fff;box-shadow:0 8px 28px rgba(0,0,0,.25);white-space:nowrap}.viewer-measure-label strong,.viewer-measure-label span{display:block}.viewer-measure-label strong{font-size:10px;color:#ff9b69}.viewer-measure-label span{margin-top:2px;font-size:8px;color:#b9c5cf}.viewer-measure-hud{position:absolute;left:14px;top:14px;z-index:4;min-width:210px;padding:10px 12px;border:1px solid rgba(242,101,34,.48);border-radius:10px;background:rgba(8,18,29,.92);box-shadow:0 10px 35px rgba(0,0,0,.2);color:#fff;pointer-events:none}.viewer-measure-hud span,.viewer-measure-hud strong,.viewer-measure-hud small{display:block}.viewer-measure-hud>span{font-size:8px;letter-spacing:.12em;font-weight:900;color:var(--orange)}.viewer-measure-hud strong{margin-top:3px;font-size:14px}.viewer-measure-hud small{margin-top:2px;color:#9eafbc;font-size:9px}.measure-cursor{cursor:crosshair!important}.dxf-measure-overlay{pointer-events:none}.viewer-toolbar::-webkit-scrollbar{height:5px}.viewer-toolbar::-webkit-scrollbar-thumb{background:#cbd3d9;border-radius:99px}
body.viewer-embedded .viewer-toolbar{overflow-x:auto}body.viewer-embedded .viewer-toolbar-end{margin-left:0}body.viewer-embedded .viewer-section-bar{grid-template-columns:auto minmax(130px,1fr) auto}body.viewer-embedded .viewer-section-bar span{display:none}body.viewer-embedded .viewer-render-host{height:calc(100vh - 86px)}body.viewer-embedded:has(.viewer-section-bar:not(.hidden)) .viewer-render-host{height:calc(100vh - 124px)}
@media(max-width:760px){.viewer-section-bar{grid-template-columns:auto minmax(120px,1fr) auto}.viewer-section-bar span{display:none}.viewer-measure-label{max-width:190px;white-space:normal}.viewer-toolbar-end{margin-left:0}}

/* ---------- Dheera precision-workshop CAD skin ---------- */
:root{--navy:#111a20;--navy2:#080d11;--ink:#171b1e;--muted:#626b70;--orange:#f15a24;--orange2:#ff713c;--line:#bfc5c1;--paper:#e5e8e5;--shadow:9px 9px 0 rgba(17,26,32,.12)}
html,body{font-family:"Bahnschrift","Arial Narrow",Arial,sans-serif;background-color:#dfe2df;background-image:linear-gradient(rgba(17,26,32,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(17,26,32,.04) 1px,transparent 1px);background-size:24px 24px}
.viewer-public-chrome{background-color:#0b1116;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:30px 30px;border-bottom:8px solid var(--orange)}.viewer-header{border-bottom:1px solid rgba(255,255,255,.2)}.viewer-header nav{gap:0}.viewer-header nav a{display:flex;align-items:center;min-height:78px;padding:0 15px;border-left:1px solid rgba(255,255,255,.1)}.viewer-nav-cta{border-radius:0;background:var(--orange)!important;border:0!important}.viewer-intro h1{font-family:Impact,"Arial Black",sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:0;line-height:.82}.viewer-intro>div:first-child>p:last-child{border-left:4px solid var(--orange);padding-left:20px}.viewer-privacy-pill{border-radius:0;border-left:5px solid var(--orange);background:#151f26}.viewer-privacy-pill span{border-radius:0;box-shadow:none;background:var(--orange)}
.viewer-app{grid-template-columns:330px minmax(0,1fr);gap:20px}.viewer-upload-card,.viewer-info-card,.viewer-format-card,.viewer-stage-shell,.viewer-upload-icon,.viewer-primary,.viewer-info-head>span,.viewer-toolbar button,.viewer-empty-mark,.viewer-error,.viewer-unit-select,.viewer-section-bar button,.viewer-measure-label,.viewer-measure-hud{border-radius:0}.viewer-upload-card,.viewer-info-card,.viewer-format-card{background:#f8f8f5;border-color:#aeb4b0;box-shadow:none}.viewer-upload-card{border:2px solid var(--ink);box-shadow:7px 7px 0 var(--orange);text-align:left}.viewer-upload-icon{margin:0 0 18px;border:1px solid var(--orange);background:transparent}.viewer-primary{box-shadow:4px 4px 0 #8f2f0c;text-transform:uppercase;letter-spacing:.08em}.viewer-primary:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 #8f2f0c}.viewer-info-head{border-bottom:2px solid var(--ink)}.viewer-info-card dl div{border-color:#cfd3d0}.viewer-stage-shell{border:2px solid var(--ink);box-shadow:10px 10px 0 rgba(17,26,32,.17)}.viewer-toolbar{background:#d8dcd8;border-bottom:2px solid var(--ink)}.viewer-toolbar-group{gap:0}.viewer-toolbar button,.viewer-unit-select{border-color:#9ea6a1;border-right:0;background:#f7f7f4;text-transform:uppercase;letter-spacing:.05em}.viewer-toolbar-group button:last-child{border-right:1px solid #9ea6a1}.viewer-toolbar button:hover,.viewer-toolbar button[aria-pressed="true"]{background:var(--orange);border-color:var(--orange);color:#fff}.viewer-render-host{background-color:#111a20;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),radial-gradient(circle at center,#27343d,#111a20 70%);background-size:28px 28px,28px 28px,auto}.viewer-empty-mark{border:2px solid var(--orange);box-shadow:7px 7px 0 rgba(241,90,36,.7)}.viewer-statusbar{border-top:4px solid var(--orange);background:#080d11}.viewer-section-bar{background:#f4dfd5;border-bottom:2px solid var(--ink)}
@media(max-width:950px){.viewer-app{grid-template-columns:1fr}.viewer-sidebar{gap:18px}}
@media(max-width:650px){.viewer-header nav a{min-height:64px;border:0}.viewer-app{margin-top:18px}.viewer-upload-card{box-shadow:5px 5px 0 var(--orange)}.viewer-stage-shell{box-shadow:5px 5px 0 rgba(17,26,32,.17)}}
