:root{--blue:#2677b9;--blue2:#165a91;--dark:#263846;--line:#c7ced3;--panel:#f5f6f7;--text:#1d2a33;--muted:#68757e;--purple:#8a39bd}*{box-sizing:border-box}html,body{height:100%;margin:0}body{overflow:hidden;font:13px "Segoe UI",Arial,sans-serif;color:var(--text);background:#dce3e7}button,input,select{font:inherit}.app{height:100vh;display:grid;grid-template-rows:38px 34px 100px minmax(0,1fr)32px 27px}.titlebar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;padding:0 10px;color:#eef5f8;background:linear-gradient(#2c4151,#1f303c)}.quick{display:flex;gap:4px}.quick button,.user-chip{height:27px;min-width:29px;border:1px solid rgba(255,255,255,.12);border-radius:3px;color:white;background:rgba(255,255,255,.06);cursor:pointer}.quick button:first-child{background:var(--blue);font-weight:800}.doc-title{display:flex;justify-content:center;gap:6px;align-items:center}.doc-title span{color:#b9c6ce}.doc-title small{margin-left:12px;color:#ffd18a}.user-chip{display:grid;place-items:center;border-radius:50%;background:#3d83bd;font-size:11px}.tabs{display:flex;background:#e9edef;border-bottom:1px solid var(--line)}.tabs button{min-width:78px;border:0;background:transparent;cursor:pointer}.tabs .file-tab{min-width:62px;color:white;background:var(--blue)}.tabs .tab.active{color:var(--blue2);background:white;box-shadow:inset 0 3px 0 var(--blue);font-weight:600}.ribbon{background:linear-gradient(#fff,#f2f4f5);border-bottom:1px solid var(--line);overflow:hidden}.ribbon-page{height:100%;display:none}.ribbon-page.active{display:flex}.group{display:grid;grid-template-rows:1fr 17px;padding:5px 8px 0;border-right:1px solid #d5dade}.group>small{text-align:center;color:#6b777f;font-size:10px}.tools{display:flex;gap:5px}.tool{width:67px;height:70px;display:grid;grid-template-rows:39px auto;place-items:center;border:1px solid transparent;border-radius:3px;background:transparent;cursor:pointer;font-size:11px}.tool b{font-size:27px;color:var(--blue);font-weight:500}.tool:hover,.tool.active{border-color:#a9bfd0;background:#e5f1fb}.primary-tool b{color:#22804d}.finish-group{margin-left:auto}.main{min-height:0;display:grid;grid-template-columns:235px minmax(0,1fr)285px}.tree-panel,.properties{min-height:0;overflow:auto;background:var(--panel)}.tree-panel{border-right:1px solid #b9c2c8}.properties{border-left:1px solid #b9c2c8}.panel-head{height:35px;display:flex;align-items:center;padding:0 10px;background:#e3e7e9;border-bottom:1px solid #bdc6cb;font-weight:600}.tree{padding:8px 0}.tree-row{min-height:28px;display:flex;align-items:center;gap:6px;padding:3px 8px}.tree-row:hover{background:#e5edf2}.tree-row.active{background:#dbeafa;outline:1px solid #bad2e7}.tree-indent{padding-left:18px}.tree-indent.small{padding-left:25px}.ico.part{color:#d0a126}.ico.sketch{color:var(--purple)}.eye{font-size:8px;color:#54768a}.workspace{position:relative;min-width:0;min-height:0;overflow:hidden;background:#e3ebef}.workspace canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}.workspace #modelCanvas{display:none}.mode-chip{position:absolute;left:13px;top:12px;display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #b6c1c8;border-radius:4px;background:rgba(255,255,255,.92)}.mode-chip i{width:9px;height:9px;border-radius:50%;background:var(--purple)}.view-help{position:absolute;right:14px;bottom:14px;padding:6px 9px;border:1px solid #b8c3c9;border-radius:3px;background:rgba(255,255,255,.88);color:#53616a;font-size:11px;display:none}.transition{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:none;align-items:center;gap:10px;padding:10px 14px;border:1px solid #aeb9c0;border-radius:4px;background:white;box-shadow:0 12px 35px rgba(33,52,64,.22);font-weight:600}.transition.show{display:flex}.transition b{font-size:23px;color:var(--blue);animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.properties section{padding:12px}.properties h3{margin:0 0 12px}.prop{height:31px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dfe4e7}.prop span,.field>span{color:var(--muted)}.field{display:grid;gap:5px;margin:13px 0}.field input,.field select{width:100%;height:31px;border:1px solid #b8c2c8;border-radius:3px;padding:0 8px;background:white}.check{display:flex;gap:7px;align-items:center;margin:10px 0}.hint{color:var(--muted);line-height:1.45}.unit{display:grid;grid-template-columns:1fr auto}.unit input{border-radius:3px 0 0 3px}.unit b{display:grid;place-items:center;padding:0 9px;border:1px solid #b8c2c8;border-left:0;background:#ebeff1;border-radius:0 3px 3px 0}.info-box{padding:9px;border:1px solid #c7d5df;border-radius:3px;background:#eef6fb;color:#435965;line-height:1.4}.actions{display:flex;gap:7px;margin-top:13px}.actions button{height:32px;padding:0 14px;border:1px solid #aeb8be;border-radius:3px;background:linear-gradient(#fff,#edf0f2);cursor:pointer}.actions .primary{color:white;border-color:var(--blue2);background:linear-gradient(#3888c8,#2576b9)}.dimension-editor{position:absolute;z-index:30;width:112px;height:31px;display:none;border:2px solid var(--blue);border-radius:3px;padding:0 8px;background:white;box-shadow:0 6px 20px rgba(30,50,63,.24);font-weight:700;text-align:center;outline:none}.dimension-editor.show{display:block}.doc-tabs{display:flex;background:#d7dee2;border-top:1px solid #b8c1c6}.doc-tabs button{border:0;border-right:1px solid #b8c1c6;padding:0 13px;background:#e9edef}.doc-tabs button.active{color:var(--blue2);background:white;box-shadow:inset 0 -3px 0 var(--blue)}footer{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:18px;padding:0 10px;background:#eef1f3;border-top:1px solid #c1c9ce;color:#506069;font-size:11px}@media(max-width:1000px){.main{grid-template-columns:200px minmax(0,1fr)}.properties{display:none}}

/* 0.3.2 – stav skutočného 3D náhľadu */
.render-status{
  position:absolute;
  left:13px;
  bottom:14px;
  z-index:8;
  min-width:170px;
  max-width:55%;
  padding:7px 10px;
  border:1px solid #aebbc3;
  border-radius:4px;
  color:#40525d;
  background:rgba(255,255,255,.91);
  box-shadow:0 2px 7px rgba(31,51,63,.12);
  font-size:11px;
}
.render-status.ok{
  color:#1f6f45;
  border-color:#9fcab2;
  background:rgba(241,251,246,.94);
}
.render-status.error{
  color:#9a3939;
  border-color:#d4aaaa;
  background:rgba(255,245,245,.95);
}


/* Printar CAD Core 0.3.3 – výber profilu a dialóg vysunutia */
.profile-selection-hint{
  position:absolute;
  left:50%;
  top:72px;
  z-index:15;
  min-width:300px;
  transform:translateX(-50%);
  border:1px solid #b49462;
  border-radius:4px;
  padding:9px 13px;
  color:#5a431e;
  background:rgba(255,249,228,.96);
  box-shadow:0 6px 20px rgba(46,55,61,.16);
  text-align:center;
  pointer-events:none
}
.profile-selection-hint b,
.profile-selection-hint span{display:block}
.profile-selection-hint span{margin-top:2px;font-size:11px}

.extrude-dialog{
  position:absolute;
  top:88px;
  right:22px;
  z-index:25;
  width:300px;
  border:1px solid #8798a3;
  border-radius:5px;
  color:#263842;
  background:#fff;
  box-shadow:0 18px 48px rgba(25,43,54,.28)
}
.extrude-dialog-head{
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:8px 10px;
  background:#edf1f3;
  border-bottom:1px solid #c8d0d5
}
.extrude-dialog-head strong,
.extrude-dialog-head small{display:block}
.extrude-dialog-head small{
  margin-top:2px;
  color:#66747c;
  font-size:11px
}
.extrude-dialog-head button{
  width:28px;
  height:28px;
  border:0;
  background:transparent;
  cursor:pointer;
  font-size:20px
}
.extrude-dialog-body{padding:13px}
.extrude-dialog-body label>span{
  display:block;
  margin-bottom:5px;
  color:#4d5e67;
  font-size:11px
}
.extrude-dialog-body p{
  margin:10px 0 0;
  color:#687780;
  font-size:11px;
  line-height:1.4
}
.extrude-dialog-actions{
  display:flex;
  justify-content:flex-end;
  gap:7px;
  padding:10px 13px;
  background:#f3f5f6;
  border-top:1px solid #d0d6da
}
.extrude-dialog-actions button{
  min-height:31px;
  border:1px solid #aab5bc;
  border-radius:3px;
  padding:0 13px;
  background:#f9fafb;
  cursor:pointer
}
.extrude-dialog-actions .primary{
  color:#fff;
  border-color:#175d96;
  background:#2677b9
}

.extrude-dialog-body-advanced{display:grid;gap:12px}
.extrude-mode-group{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
}
.extrude-mode-btn{
  min-height:52px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  border:1px solid #b7c5cf;
  border-radius:8px;
  background:#f7fafc;
  color:#355060;
  cursor:pointer;
}
.extrude-mode-btn b{font-size:18px;line-height:1}
.extrude-mode-btn span{font-size:12px;font-weight:700}
.extrude-mode-btn.active{
  border-color:#2b73b6;
  background:#e8f3fd;
  box-shadow:inset 0 0 0 1px rgba(43,115,182,.16);
}
.extrude-mode-btn:disabled{
  opacity:.45;
  cursor:not-allowed;
}
.extrude-preview{
  position:relative;
  border:1px solid #cfd8de;
  border-radius:8px;
  background:#f7fafc;
  padding:10px;
  overflow:hidden;
}
.extrude-preview-svg{
  width:100%;
  height:auto;
  display:block;
}
.extrude-preview-base{
  fill:#c7d1d8;
  stroke:#7d8c96;
  stroke-width:2;
}
.extrude-preview-volume{
  fill:#5ea2da;
  stroke:#245d8a;
  stroke-width:2;
}
.extrude-preview-arrow{
  fill:none;
  stroke:#2b73b6;
  stroke-width:3;
  color:#2b73b6;
}
.extrude-preview-volume-cut,
.extrude-preview-arrow-cut,
.extrude-preview-arrow-through{display:none}
.extrude-preview text{
  fill:#405560;
  font-size:14px;
  font-weight:700;
}
#extrudePreviewHintText{
  font-size:12px;
  font-weight:600;
  fill:#60737f;
}
.extrude-preview[data-mode="cut"] .extrude-preview-volume-add,
.extrude-preview[data-mode="through"] .extrude-preview-volume-add{
  display:none;
}
.extrude-preview[data-mode="cut"] .extrude-preview-volume-cut,
.extrude-preview[data-mode="through"] .extrude-preview-volume-cut{
  display:block;
  fill:#e96b6b;
  stroke:#a53e3e;
}
.extrude-preview[data-mode="cut"] .extrude-preview-arrow,
.extrude-preview[data-mode="through"] .extrude-preview-arrow{
  stroke:#c35252;
  color:#c35252;
}
.extrude-preview[data-mode="cut"] #extrudePreviewModeText,
.extrude-preview[data-mode="through"] #extrudePreviewModeText{
  fill:#8c3f3f;
}
.extrude-preview[data-mode="cut"] .extrude-preview-arrow-main,
.extrude-preview[data-mode="through"] .extrude-preview-arrow-main{display:none}
.extrude-preview[data-mode="cut"] .extrude-preview-arrow-cut{display:block}
.extrude-preview[data-mode="through"] .extrude-preview-arrow-through{display:block}
.extrude-mode-hint{
  display:block;
  margin-top:6px;
  color:#5d6f79;
  font-size:11px;
  line-height:1.35;
}
.extrude-input-disabled .unit{
  opacity:.7;
}
.extrude-input-disabled input{
  background:#eef3f7;
}

#modelCanvas.selecting-profile{cursor:pointer}


/* 0.3.4 – viacnásobný výber profilov */
.stacked-actions{display:grid!important;grid-template-columns:1fr!important;gap:7px!important}
.actions button:disabled,
.extrude-dialog-actions button:disabled{
  cursor:not-allowed!important;
  opacity:.48
}


/* Printar CAD Core 0.3.5 – ovládanie pohľadu */
#modelCanvas{
  cursor:grab;
}
#modelCanvas.dragging-view{
  cursor:grabbing !important;
}
#modelCanvas.selecting-profile{
  cursor:default;
}
#modelCanvas.selecting-profile.profile-hover{
  cursor:pointer;
}
.extrude-dialog[hidden]{
  display:none !important;
}


/* 0.3.6 – ľubovoľné uzavreté polygonálne profily */
.profile-warning{
  color:#a15a18;
}


/* Printar CAD Core 0.3.7 */
#sketchCanvas{cursor:crosshair}
#sketchCanvas.view-pan{cursor:grabbing}
#sketchCanvas.view-rotate{cursor:alias}
#sketchCanvas.select-mode{cursor:default}
.doc-tabs{justify-content:space-between;align-items:stretch}
.document-tab-buttons{display:flex;align-items:stretch}
.display-modes{display:flex;align-items:center;gap:4px;padding:3px 7px;color:#53636d;font-size:11px}
.display-modes span{margin-right:3px}
.display-modes button{height:25px;border:1px solid #aeb9c0;border-radius:3px;padding:0 8px;background:#f3f5f6;cursor:pointer}
.display-modes button.active{color:#fff;background:var(--blue);border-color:var(--blue2);box-shadow:none}
@media(max-width:760px){.display-modes span{display:none}.display-modes button{padding:0 5px;font-size:10px}}


/* 0.4.0 – view cube a čistejšie 3D zobrazenie */
#fitBtn,
.tool[data-view]{display:none!important}

.viewcube-widget{
  position:absolute;
  top:14px;
  right:14px;
  width:122px;
  height:122px;
  z-index:18;
  display:block;
  pointer-events:auto;
}
.viewcube-widget[hidden]{display:none!important}
.viewcube-home{
  position:absolute;
  left:0;
  top:0;
  width:20px;
  height:20px;
  border:1px solid #aab6be;
  border-radius:3px;
  background:rgba(255,255,255,.94);
  color:#5e6d77;
  cursor:pointer;
  line-height:1;
  box-shadow:0 2px 8px rgba(41,57,68,.12)
}
.viewcube-scene{
  position:absolute;
  right:4px;
  top:8px;
  width:94px;
  height:94px;
  perspective:420px;
}
.viewcube-cube{
  position:absolute;
  left:17px;
  top:17px;
  width:60px;
  height:60px;
  transform-style:preserve-3d;
  transform:translateZ(-30px) rotateX(-31deg) rotateY(-43deg);
  transition:transform .25s ease;
}
.viewcube-face{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  border:1px solid #6f7478;
  padding:3px;
  background:linear-gradient(#fcf8ef,#d6d1c6);
  color:#57514a;
  font-size:9px;
  font-weight:700;
  letter-spacing:.3px;
  text-align:center;
  cursor:pointer;
  user-select:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.42);
  backface-visibility:hidden;
}
.viewcube-face:hover{filter:brightness(1.07)}
.viewcube-face.active{
  background:linear-gradient(#d9ecfd,#b8d7f2);
  color:#165a91;
  border-color:#5f88aa;
}
.face-front{transform:rotateY(0deg) translateZ(30px)}
.face-back{transform:rotateY(180deg) translateZ(30px)}
.face-right{transform:rotateY(90deg) translateZ(30px)}
.face-left{transform:rotateY(-90deg) translateZ(30px)}
.face-top{transform:rotateX(90deg) translateZ(30px)}
.face-bottom{transform:rotateX(-90deg) translateZ(30px)}


/* 0.4.1 – viditeľné šípky orientačnej kocky */
.viewcube-widget{
  width:148px;
  height:148px;
}

.viewcube-scene{
  right:14px;
  top:28px;
  width:100px;
  height:100px;
}

.viewcube-cube{
  left:20px;
  top:20px;
}

.viewcube-arrow{
  position:absolute;
  z-index:4;
  display:grid;
  place-items:center;
  width:25px;
  height:25px;
  border:1px solid #a3afb7;
  border-radius:4px;
  padding:0;
  background:rgba(245,248,250,.96);
  color:#60717c;
  box-shadow:0 2px 7px rgba(35,53,65,.13);
  cursor:pointer;
  font-size:15px;
  line-height:1;
}

.viewcube-arrow:hover{
  color:#165a91;
  border-color:#6f9cbe;
  background:#e7f2fb;
}

.viewcube-roll-left{
  left:33px;
  top:0;
  font-size:21px;
}

.viewcube-roll-right{
  right:12px;
  top:0;
  font-size:21px;
}

.viewcube-up{
  left:72px;
  top:17px;
  width:22px;
  height:19px;
  border:0;
  box-shadow:none;
  background:transparent;
}

.viewcube-left{
  left:13px;
  top:68px;
  width:19px;
  height:22px;
  border:0;
  box-shadow:none;
  background:transparent;
}

.viewcube-right{
  right:0;
  top:68px;
  width:19px;
  height:22px;
  border:0;
  box-shadow:none;
  background:transparent;
}

.viewcube-down{
  left:72px;
  bottom:0;
  width:22px;
  height:19px;
  border:0;
  box-shadow:none;
  background:transparent;
}

.viewcube-up:hover,
.viewcube-left:hover,
.viewcube-right:hover,
.viewcube-down:hover{
  background:rgba(218,235,248,.72);
  border-radius:3px;
}


/* Printar CAD Core 0.5.5 – dialóg polygónu */
.polygon-dialog{
  position:absolute;
  left:50%;
  top:92px;
  z-index:30;
  width:330px;
  transform:translateX(-50%);
  border:1px solid #8798a3;
  border-radius:5px;
  color:#263842;
  background:#fff;
  box-shadow:0 18px 48px rgba(25,43,54,.28)
}

.polygon-dialog[hidden]{
  display:none!important
}

.polygon-dialog-head{
  min-height:49px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:8px 11px;
  border-bottom:1px solid #c8d0d5;
  background:#edf1f3
}

.polygon-dialog-head strong,
.polygon-dialog-head small{
  display:block
}

.polygon-dialog-head small{
  margin-top:2px;
  color:#66747c;
  font-size:11px
}

.polygon-dialog-head button{
  width:28px;
  height:28px;
  border:0;
  background:transparent;
  cursor:pointer;
  font-size:20px
}

.polygon-dialog-body{
  display:grid;
  gap:12px;
  padding:14px
}

.polygon-method-help{
  border:1px solid #d7dee2;
  border-radius:4px;
  padding:9px 10px;
  color:#5d6d76;
  background:#f5f7f8;
  font-size:11px;
  line-height:1.45
}

.polygon-dialog-actions{
  display:flex;
  justify-content:flex-end;
  gap:7px;
  padding:10px 13px;
  border-top:1px solid #d0d6da;
  background:#f3f5f6
}

.polygon-dialog-actions button{
  min-height:31px;
  border:1px solid #aab5bc;
  border-radius:3px;
  padding:0 13px;
  background:#f9fafb;
  cursor:pointer
}

.polygon-dialog-actions .primary{
  color:#fff;
  border-color:#175d96;
  background:#2677b9
}


/* Printar CAD Core 0.5.7 – súradnicový systém */
.axis-triad{
  position:absolute;
  left:10px;
  bottom:10px;
  z-index:17;
  width:96px;
  height:96px;
  overflow:visible;
  pointer-events:none;
  filter:drop-shadow(0 1px 1px rgba(30,44,54,.24))
}

.axis-line{
  stroke-width:3.1;
  stroke-linecap:round
}

.axis-x{stroke:#e21d2e}
.axis-y{stroke:#18a935}
.axis-z{stroke:#1639d7}

.axis-origin-shadow{
  fill:rgba(24,36,44,.28)
}

.axis-origin{
  fill:#b30f1c;
  stroke:#65101a;
  stroke-width:1
}

.axis-label{
  font:700 14px "Segoe UI",Arial,sans-serif;
  dominant-baseline:middle;
  text-anchor:middle
}

.axis-label-x{fill:#e21d2e}
.axis-label-y{fill:#18a935}
.axis-label-z{fill:#1639d7}

/* Dialóg 2D zaoblenia */
.fillet-dialog{
  position:absolute;
  left:50%;
  top:88px;
  z-index:31;
  width:350px;
  transform:translateX(-50%);
  border:1px solid #8798a3;
  border-radius:5px;
  color:#263842;
  background:#fff;
  box-shadow:0 18px 48px rgba(25,43,54,.28)
}

.fillet-dialog[hidden]{
  display:none!important
}

.fillet-dialog-head{
  min-height:49px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:8px 11px;
  border-bottom:1px solid #c8d0d5;
  background:#edf1f3
}

.fillet-dialog-head strong,
.fillet-dialog-head small{
  display:block
}

.fillet-dialog-head small{
  margin-top:2px;
  color:#66747c;
  font-size:11px
}

.fillet-dialog-head button{
  width:28px;
  height:28px;
  border:0;
  background:transparent;
  cursor:pointer;
  font-size:20px
}

.fillet-dialog-body{
  display:grid;
  gap:12px;
  padding:14px
}

.fillet-dialog-body label>span{
  display:block;
  margin-bottom:5px;
  color:#68757e
}

.fillet-selection-summary{
  display:flex;
  justify-content:space-between;
  align-items:center;
  min-height:34px;
  padding:0 9px;
  border:1px solid #d1d9de;
  border-radius:3px;
  background:#f5f7f8
}

.fillet-selection-summary span{
  color:#68757e
}

.fillet-dialog-body p{
  min-height:44px;
  margin:0;
  color:#586a74;
  line-height:1.45
}

.fillet-dialog-actions{
  display:flex;
  justify-content:flex-end;
  gap:7px;
  padding:10px 13px;
  border-top:1px solid #d0d6da;
  background:#f3f5f6
}

.fillet-dialog-actions button{
  min-height:31px;
  border:1px solid #aab5bc;
  border-radius:3px;
  padding:0 14px;
  background:#f9fafb;
  cursor:pointer
}

.fillet-dialog-actions .primary{
  color:#fff;
  border-color:#175d96;
  background:#2677b9
}

.fillet-dialog-actions button:disabled{
  opacity:.48;
  cursor:not-allowed
}


/* Printar CAD Core 0.5.8 – presúvateľné dialógy */
.draggable-dialog{
  max-width:calc(100% - 12px)
}

.dialog-drag-handle{
  cursor:move;
  touch-action:none;
  user-select:none
}

.dialog-drag-handle button,
.dialog-drag-handle input,
.dialog-drag-handle select{
  cursor:pointer
}

.draggable-dialog.dragging-dialog{
  box-shadow:0 20px 55px rgba(25,43,54,.34)
}

/* Menší súradnicový systém bez šípok */
.axis-triad{
  width:78px;
  height:78px;
  left:8px;
  bottom:7px
}

.axis-line{
  stroke-width:2;
  stroke-linecap:round
}

.axis-origin-shadow{
  fill:rgba(24,36,44,.20)
}

.axis-origin{
  stroke-width:.8
}

.axis-label{
  font-size:12px;
  font-weight:700
}


/* Printar CAD Core 0.5.9 – os Z kolmá na rovinu 2D náčrtu */
.axis-normal-point-ring{
  fill:rgba(255,255,255,.90);
  stroke:#1639d7;
  stroke-width:1.7
}

.axis-normal-point-dot{
  fill:#1639d7
}

.axis-triad.mode-2d .axis-origin,
.axis-triad.mode-2d .axis-origin-shadow{
  display:none
}

.axis-triad.mode-3d #axisNormalPoint{
  display:none
}


/* Printar CAD Core 0.6.0 – karty projektov */
.document-tab-buttons .project-tab{
  min-width:128px;
  max-width:210px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap
}
.document-tab-buttons .new-project-tab{
  min-width:38px;
  font-size:17px;
  font-weight:700
}
.document-tab-buttons .home-tab{
  color:#62717a
}

/* Printar CAD Core 0.6.1 – základné roviny */
.plane-tree-row{cursor:default;user-select:none}
.plane-tree-row .plane-eye{width:15px;display:inline-block;color:#a87500;font-size:10px}
.plane-tree-row.hidden-plane{opacity:.52}
.plane-tree-row.hidden-plane .plane-eye{color:#89959c}
.plane-tree-row.selected-plane{color:#174f7d;background:#dbeaf5}
#modelCanvas.selecting-plane{cursor:crosshair}

.axis-normal-point{pointer-events:none}


/* Printar CAD Core 0.6.3 – pevný 3D osový kríž */
.axis-triad.mode-3d .axis-line{
  vector-effect:non-scaling-stroke
}

.axis-triad.mode-3d .axis-label{
  paint-order:stroke;
  stroke:rgba(239,245,248,.88);
  stroke-width:2px;
  stroke-linejoin:round
}


/* Printar CAD Core 0.6.4 – orezanie a predĺženie */
#sketchCanvas.trim-mode{
  cursor:crosshair
}

#sketchCanvas.extend-mode{
  cursor:e-resize
}


/* Printar CAD Core 0.6.5 – úprava prvkov zo stromu */
.editable-tree-row{
  cursor:default;
  user-select:none
}

.editable-tree-row:hover{
  background:#dfeaf2
}

/* Projektová karta s malým zatváracím krížikom */
.document-tab-buttons .project-tab-shell{
  display:flex;
  min-width:0;
  align-items:stretch;
  border-right:1px solid #b8c1c6;
  background:#e9edef
}

.document-tab-buttons .project-tab-shell.active{
  color:var(--blue2);
  background:white;
  box-shadow:inset 0 -3px 0 var(--blue)
}

.document-tab-buttons .project-tab-shell .project-tab{
  min-width:110px;
  max-width:190px;
  border-right:0;
  padding-right:7px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  background:transparent;
  box-shadow:none
}

.document-tab-buttons .project-tab-shell.active .project-tab{
  color:var(--blue2);
  background:transparent;
  box-shadow:none
}

.document-tab-buttons .project-close-tab{
  width:25px;
  min-width:25px;
  padding:0;
  border-right:0;
  color:#66747c;
  background:transparent;
  font-size:14px;
  line-height:1
}

.document-tab-buttons .project-close-tab:hover{
  color:#8b1e27;
  background:#f3dfe1
}


/* Printar CAD Core 0.6.7 – Rotovanie */
.revolve-dialog{
  top:88px;
  right:22px;
  width:320px
}

.revolve-selection-row{
  min-height:35px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-bottom:1px solid #e0e5e8
}

.revolve-selection-row span{
  color:#687780
}

.revolve-selection-row strong{
  color:#263f50
}

.revolve-angle-field{
  display:grid;
  grid-template-columns:1fr 126px;
  align-items:center;
  gap:12px;
  margin-top:11px
}

.revolve-angle-field>span{
  color:#687780
}

.revolve-angle-field input{
  width:100%;
  height:31px;
  border:1px solid #b8c2c8;
  border-radius:3px 0 0 3px;
  padding:0 8px;
  background:#fff
}

.revolve-angle-note{
  margin-top:11px;
  padding:8px 9px;
  border:1px solid #cbd8e0;
  border-radius:3px;
  color:#526872;
  background:#eef5f8
}

#modelCanvas.selecting-revolve{
  cursor:default
}

#modelCanvas.selecting-revolve.revolve-hover{
  cursor:pointer
}


/* Printar CAD Core 0.7.0 – Domov */
.home-page{
  position:absolute;
  inset:0;
  z-index:60;
  background:#fff
}
.app.home-mode{
  grid-template-rows:38px 34px 0 minmax(0,1fr)32px 27px
}
.app.home-mode .ribbon{display:none}
.app.home-mode .main{grid-template-columns:1fr}
.app.home-mode .tree-panel,
.app.home-mode .properties{display:none}
.app.home-mode .workspace{background:#fff}
.app.home-mode .display-modes{visibility:hidden}
.app.home-mode .tabs .tab{visibility:hidden}
.app.home-mode .tabs .file-tab{visibility:visible}
.app.home-mode #saveBtn,
.app.home-mode #undoBtn,
.app.home-mode #redoBtn{
  opacity:.35;
  pointer-events:none
}

/* Výber rovnej plochy a ďalšie náčrty */
#modelCanvas.selecting-model-face{cursor:default}
#modelCanvas.selecting-model-face.face-hover{cursor:pointer}
.face-selection-hint{max-width:420px}
.secondary-sketch-row .ico{color:#a34fbf}
.additive-feature-row .ico{color:#268354}


/* Printar CAD Core 0.7.1 – pozadie modelu a projektovaná geometria */
#projectGeometryBtn:disabled{
  opacity:.42;
  cursor:not-allowed
}

.projected-geometry-info{
  color:#9b3eae
}


/* Printar CAD Core 0.7.2 – ručný výber projektovanej geometrie */
.projection-dialog{
  top:88px;
  right:22px;
  width:330px
}

.projection-selection-hint{
  max-width:470px
}

#sketchCanvas.selecting-projection{
  cursor:default
}

#sketchCanvas.selecting-projection.projection-hover{
  cursor:pointer
}

.reference-dimension-label{
  color:#9b3eae
}


/* Printar CAD Core 0.7.8 – viditeľnosť 3D prvkov */
.model-visibility-toggle{
  width:17px;
  min-width:17px;
  height:22px;
  display:inline-grid;
  place-items:center;
  padding:0;
  border:0;
  border-radius:2px;
  color:#54768a;
  background:transparent;
  font-size:10px;
  cursor:pointer
}

.model-visibility-toggle:hover{
  color:#174f7d;
  background:#d7e5ef
}

.tree-row.hidden-object{
  opacity:.52
}

.tree-row.hidden-object .model-visibility-toggle{
  color:#89959c
}

.tree-row.hidden-object .ico{
  color:#89959c
}

/* Printar CAD Core 0.8.2 – body a diery */
#modelCanvas.selecting-hole-point{
  cursor:crosshair;
}
#modelCanvas.selecting-hole-point.hole-point-hover{
  cursor:pointer;
}
.hole-dialog{
  width:min(430px,calc(100% - 24px));
}
.hole-mode-switch{margin-bottom:2px;}
.hole-preview[data-mode="through"] .dim-left{display:none!important;}
.hole-preview[data-mode="through"]{background:linear-gradient(180deg,#f7fafc 0%,#f7fafc 74%,#edf6fb 74%,#edf6fb 100%);}
.hole-preview-svg .through{stroke:#2d6fa3;}
.hole-dialog-body{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.hole-dialog-body p{
  margin:0;
  color:#5a6770;
  line-height:1.35;
}
.hole-preview{
  position:relative;
  border:1px solid #cfd8de;
  border-radius:8px;
  background:#f7fafc;
  padding:10px;
  overflow:hidden;
}
.hole-preview-svg{
  width:100%;
  height:auto;
  display:block;
}
.hole-figure-editor{
  min-height:250px;
}
.hole-figure-editor .dim-input{
  position:absolute;
  display:flex;
  align-items:center;
  gap:6px;
  background:rgba(247,250,252,.96);
  padding:2px 4px;
  border-radius:4px;
}
.hole-figure-editor .dim-input input{
  width:68px;
  height:28px;
  padding:2px 6px;
  border:1px solid #9aaab5;
  border-radius:4px;
  font:inherit;
  text-align:center;
}
.hole-figure-editor .dim-input span{
  font-size:12px;
  color:#245d8a;
  font-weight:700;
}
.hole-figure-editor .dim-top{top:8px;left:108px;}
.hole-figure-editor .dim-bottom{left:113px;bottom:12px;}
.hole-figure-editor .dim-left{left:6px;top:96px;}
.hole-figure-editor .dim-right{right:10px;top:98px;}
.hole-feature-row .ico{
  color:#7f2f95;
}

/* Printar CAD Core 0.8.11 – výber a zaoblenie jednej 3D hrany */
#modelCanvas.selecting-model-edge{cursor:crosshair}
#modelCanvas.selecting-model-edge.model-edge-hover{cursor:pointer}
.edge-fillet-feature-row .ico{color:#b65f24}
.edge-fillet-dialog{width:min(360px,calc(100% - 24px))}

/* Printar CAD Core 0.8.11 – výber prvkov stromu pre Delete */
.tree-row.tree-selected{background:#cfe4f7!important;outline:1px solid #78a9cf;box-shadow:inset 3px 0 0 var(--blue)}
.tree-row.tree-selected:hover{background:#c7def2!important}


/* Súbor – lokálne uloženie a otvorenie projektu */
.tabs{position:relative;overflow:visible}
.file-menu{position:absolute;z-index:120;left:0;top:100%;width:235px;padding:6px;border:1px solid #9eabb3;border-radius:0 0 5px 5px;background:#fff;box-shadow:0 12px 28px rgba(31,48,59,.24)}
.file-menu[hidden]{display:none}
.file-menu button{width:100%;min-width:0;height:38px;display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:7px;padding:0 9px;border:0;border-radius:3px;background:transparent;color:var(--text);text-align:left}
.file-menu button:hover,.file-menu button:focus-visible{background:#e5f1fb;outline:1px solid #a9bfd0}
.file-menu button b{font-size:18px;color:var(--blue);font-weight:500;text-align:center}
.file-menu button span{font-weight:600}
.file-menu button small{color:var(--muted);font-size:10px}

/* Printar CAD Core 0.9.4 – stav uloženia a formáty Uložiť ako */
.doc-title .save-state{font-weight:700}
.doc-title .save-state.dirty{color:#ff7373}
.doc-title .save-state.saved{color:#67d88c}


.cad-kernel-status{font-weight:700;padding:2px 7px;border-radius:10px;background:#d9e0e4;color:#506069}.cad-kernel-status[data-state="loading"]{background:#fff1bf;color:#7c6200}.cad-kernel-status[data-state="ready"]{background:#d7f2df;color:#196536}.cad-kernel-status[data-state="error"]{background:#ffd9d9;color:#9d2424}


/* 0.9.30 – označenie operácie, ktorá prerušila presný B-Rep prepočet */
.tree-row.exact-operation-error{
  position:relative;
  background:#fff0f0!important;
  outline:1px solid #d97b7b;
  box-shadow:inset 3px 0 0 #c53c3c;
}
.tree-row.exact-operation-error:hover{background:#ffe7e7!important}
.exact-operation-error-badge{
  margin-left:auto;
  padding:1px 5px;
  border:1px solid #d36b6b;
  border-radius:9px;
  color:#9d2424;
  background:#fff;
  font-size:10px;
  font-weight:800;
}


/* Printar CAD Core – presné OCCT jadro */
footer{position:relative}
.cad-kernel-status{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:21px;
  border:1px solid transparent;
  cursor:pointer;
  user-select:none;
  outline:none;
}
.cad-kernel-status::before{
  content:"";
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:currentColor;
  opacity:.72;
}
.cad-kernel-status[data-state="loading"]::before{
  width:9px;
  height:9px;
  flex-basis:9px;
  border:2px solid currentColor;
  border-right-color:transparent;
  background:transparent;
  animation:cadKernelSpin .72s linear infinite;
}
.cad-kernel-status:focus-visible{
  border-color:#4b87b7;
  box-shadow:0 0 0 2px rgba(38,119,185,.18);
}
@keyframes cadKernelSpin{to{transform:rotate(360deg)}}
.cad-kernel-detail{
  position:absolute;
  right:145px;
  bottom:32px;
  z-index:90;
  width:min(440px,calc(100vw - 28px));
  padding:9px 11px;
  border:1px solid #9eacb5;
  border-radius:5px;
  color:#354852;
  background:#fff;
  box-shadow:0 10px 28px rgba(26,43,54,.22);
  font-size:11px;
  line-height:1.42;
}
.cad-kernel-detail[data-state="error"]{
  border-color:#d28f8f;
  color:#8f2f2f;
  background:#fff5f5;
}
.cad-kernel-detail[hidden]{display:none!important}


/* Printar CAD Core 0.9.38.1 – lokálny most do kalkulačky */
.calculator-tool b{font-size:25px;font-weight:800}
.calculator-ribbon-group{border-left-color:#78a887}
.calculator-handoff-dialog{width:min(430px,calc(100% - 24px))}
.calculator-handoff-body{display:grid;gap:12px}
.calculator-handoff-body p{margin:0}
.calculator-privacy-note{
  padding:10px 11px;
  border:1px solid #9cc3a7;
  border-radius:5px;
  color:#315f3e;
  background:#f1faf3;
  line-height:1.45;
}
.calculator-model-summary{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
}
.calculator-model-summary>div{
  min-width:0;
  padding:8px 9px;
  border:1px solid #bdc9d0;
  border-radius:4px;
  background:#f7f9fa;
}
.calculator-model-summary span,
.calculator-model-summary strong{display:block}
.calculator-model-summary span{margin-bottom:3px;color:#61727c;font-size:10px}
.calculator-model-summary strong{overflow:hidden;text-overflow:ellipsis;color:#263942;font-size:12px;white-space:nowrap}
.calculator-handoff-state{
  min-height:34px;
  color:#53666f;
  font-size:11px;
  line-height:1.42;
}
.calculator-handoff-state[data-state="success"]{color:#27633a}
.calculator-handoff-state[data-state="error"]{color:#9a2f2f}
@media (max-width:760px){
  .calculator-model-summary{grid-template-columns:1fr}
}

/* Printar CAD Core 0.9.39.1 – 3D vlastnosti, kalkulácia a potvrdenie radiusov */
#modelProps[hidden]{display:none!important}
#modelProps .prop strong{
  max-width:150px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  text-align:right;
}
.calculator-properties-card{
  margin-top:15px;
  padding:11px;
  border:1px solid #a9c7b2;
  border-radius:5px;
  background:#f3faf5;
}
.calculator-properties-card h4{
  margin:0 0 8px;
  color:#315f3e;
  font-size:12px;
}
.calculator-properties-card .prop{height:29px}
.calculator-properties-card .hint{
  margin:10px 0 0;
  font-size:11px;
}
.calculator-properties-card .hint[data-state="success"]{color:#27633a}
.calculator-properties-card .hint[data-state="error"]{color:#9a2f2f}
.model-calculator-actions{margin-top:10px}
.model-calculator-actions button{width:100%;font-weight:700}
.model-calculator-actions button:disabled{opacity:.55;cursor:not-allowed}
.edge-fillet-dialog .extrude-dialog-actions .primary:disabled{opacity:.55;cursor:not-allowed}


/* STEP/B-Rep informačný výber topológie – fáza 2A.3 */
.step-topology-selection{margin-top:12px;padding-top:12px;border-top:1px solid rgba(74,96,109,.18);}
.step-topology-selection h5{margin:0 0 6px;font-size:12px;color:#2d4654;}
.step-topology-selection-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:8px 0;}
.step-topology-selection-actions button:last-child{grid-column:1/-1;}
.step-topology-selection-actions button.active{background:#2f657f;color:#fff;border-color:#2f657f;}
.step-topology-selection-result{margin-top:8px;padding:8px;border-radius:8px;background:rgba(231,239,243,.72);border:1px solid rgba(67,99,116,.14);}
#stepTopologySelectionState[data-state="success"]{color:#247146;}
#stepTopologySelectionState[data-state="error"]{color:#a33a32;}


/* 0.9.44.23 – vodorovný štart, voľné natočenie a Domov v 2D kocke */
.sketch-viewcube-widget{
  position:absolute;
  top:14px;
  right:14px;
  width:164px;
  height:156px;
  z-index:18;
  pointer-events:auto;
}
.sketch-viewcube-widget[hidden]{display:none!important}
.sketch-viewcube-scene{
  position:absolute;
  left:37px;
  top:28px;
  width:90px;
  height:90px;
  cursor:grab;
  touch-action:none;
  perspective:420px;
}
.sketch-viewcube-cube{
  position:absolute;
  left:15px;
  top:15px;
  width:60px;
  height:60px;
  transform-style:preserve-3d;
  transform:translateZ(-30px) rotateX(-12deg) rotateY(0deg);
  transition:transform .18s ease;
}
.sketch-viewcube-widget.dragging .sketch-viewcube-scene{cursor:grabbing}
.sketch-viewcube-widget.dragging .sketch-viewcube-cube{transition:none}
.sketch-viewcube-home,
.sketch-viewcube-roll{
  position:absolute;
  top:0;
  z-index:6;
  width:26px;
  height:24px;
  border:0;
  border-radius:5px;
  padding:0;
  background:rgba(245,248,250,.94);
  color:#60717c;
  cursor:pointer;
  font-size:15px;
  line-height:24px;
}
.sketch-viewcube-home{left:69px;font-size:17px}
.sketch-viewcube-roll-left{left:36px}
.sketch-viewcube-roll-right{right:36px}
.sketch-viewcube-home:hover,
.sketch-viewcube-roll:hover{color:#165a91;background:#e7f2fb}
.sketch-viewcube-widget[data-rotated="true"] .sketch-viewcube-home{
  color:#b35c00;
  background:#fff0dc;
}

.sketch-viewcube-face{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  border:1px solid #6f7478;
  padding:3px;
  background:linear-gradient(#fcf8ef,#d6d1c6);
  color:#57514a;
  font:700 9px "Segoe UI",Arial,sans-serif;
  letter-spacing:.25px;
  text-align:center;
  user-select:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.42);
  backface-visibility:hidden;
}
button.sketch-viewcube-face{cursor:pointer}
button.sketch-viewcube-face:hover{filter:brightness(1.07)}
button.sketch-viewcube-face.active{
  background:linear-gradient(#d9ecfd,#b8d7f2);
  color:#165a91;
  border-color:#5f88aa;
}
.sketch-viewcube-primary{transform:rotateY(0deg) translateZ(30px)}
.sketch-viewcube-opposite{transform:rotateY(180deg) translateZ(30px)}
.sketch-viewcube-side-right{transform:rotateY(90deg) translateZ(30px)}
.sketch-viewcube-side-left{transform:rotateY(-90deg) translateZ(30px)}
.sketch-viewcube-side-top{transform:rotateX(90deg) translateZ(30px)}
.sketch-viewcube-side-bottom{transform:rotateX(-90deg) translateZ(30px)}
.sketch-viewcube-arrow{
  position:absolute;
  top:63px;
  z-index:4;
  width:24px;
  height:28px;
  border:0;
  border-radius:4px;
  padding:0;
  background:rgba(245,248,250,.9);
  color:#60717c;
  cursor:pointer;
  font-size:15px;
}
.sketch-viewcube-arrow:hover{color:#165a91;background:#e7f2fb}
.sketch-viewcube-left{left:0}
.sketch-viewcube-right{right:0}
.sketch-viewcube-widget>small{
  position:absolute;
  left:12px;
  right:12px;
  bottom:1px;
  text-align:center;
  color:#64747e;
  font-size:10px;
  font-weight:600;
}


/* Printar CAD Core 0.9.44.26 – kompaktnejšie dialógy a nový náhľad diery */
#selectedProfileName,
#holePointSummary,
#extrudeDialog .extrude-dialog-body > p,
#holeDialog .hole-dialog-body > p,
#extrudePreviewModeText,
#extrudePreviewHintText,
#holeModeHelp{display:none!important;}

#extrudeDialog .extrude-dialog-body,
#holeDialog .extrude-dialog-body{gap:8px;}

.hole-mode-group{margin-top:2px;}
.hole-preview{
  background:#f3f4f5;
}
.hole-dialog-body{
  gap:8px;
}
.hole-preview-svg .hole-shape{
  fill:#d7d9db;
  stroke:#7a7d80;
  stroke-width:2.4;
}
.hole-preview-svg .hole-dim,
.hole-preview-svg .hole-leader,
.hole-preview-svg .hole-ext{
  stroke:#6d7379;
  stroke-width:1.8;
  fill:none;
}
.hole-preview-svg .hole-dim{marker-start:url(#holeArrowGray);marker-end:url(#holeArrowGray);}
.hole-preview-svg .hole-text{
  fill:#333b42;
  font-size:20px;
  font-weight:500;
}
.hole-preview-svg .hole-text.small{font-size:18px;}
.hole-preview[data-mode="through"] .hole-depth-geom,
.hole-preview[data-mode="through"] .hole-depth-text{display:none;}
.hole-figure-editor{
  min-height:220px;
}
.hole-figure-editor .dim-input{
  background:rgba(255,255,255,.92);
  border:1px solid rgba(144,156,166,.4);
}
.hole-figure-editor .dim-input input{
  width:60px;
}
.hole-figure-editor .dim-input span{
  color:#475560;
}
.hole-figure-editor .dim-top{top:4px;left:122px;}
.hole-figure-editor .dim-bottom{left:126px;bottom:8px;}
.hole-figure-editor .dim-left{left:4px;top:94px;}
.hole-figure-editor .dim-right{right:8px;top:50px;}


/* Printar CAD Core – čisté produkčné pracovné prostredie. */
.main{grid-template-columns:235px minmax(0,1fr)}
.properties{display:none}
.calculator-ribbon-group{margin-left:auto;border-left:1px solid #d5dade;border-right:0}
.calculator-ribbon-tool{width:88px}
.calculator-ribbon-tool b{font-weight:700}
@media(max-width:1000px){
    }

/* 0.9.44.78 production lock */
.properties{display:none!important}.main{grid-template-columns:235px minmax(0,1fr)!important}
