/* FP CAD Web 1.2: personalização do ambiente de trabalho */
#titlebar { overflow: visible; }
#main.workspace-active { display: grid; min-height:0; position:relative; grid-template-columns: 244px minmax(0,1fr) 300px; }
#main.workspace-active #left { grid-column:1; grid-row:1; }
#main.workspace-active #center { grid-column:2; grid-row:1; }
#main.workspace-active #right { grid-column:3; grid-row:1; }
#main.workspace-active.dock-swapped #left { grid-column:3; border-left:1px solid var(--line); border-right:0; }
#main.workspace-active.dock-swapped #right { grid-column:1; border-right:1px solid var(--line); border-left:0; }
.ws-control { background:var(--bg3); border:1px solid var(--line2); color:var(--tx); border-radius:6px; font-size:11.5px; padding:5px 9px; cursor:pointer; white-space:nowrap; }
.ws-control:hover { background:var(--bg4); color:white; }
.ws-focus { color:#90c0ff; }
.ws-menu { position:absolute; z-index:100; right:86px; top:34px; width:250px; background:var(--bg2); border:1px solid var(--line2); border-radius:10px; padding:10px; box-shadow:0 15px 45px rgba(0,0,0,.44); }
.ws-menu[hidden] { display:none; }
.ws-menu strong { display:block; color:var(--tx); padding:3px 6px 9px; }
.ws-menu button { display:block; width:100%; padding:8px 10px; border:0; border-radius:6px; background:transparent; text-align:left; cursor:pointer; color:var(--tx); }
.ws-menu button[aria-pressed="true"]::after { content:'✓'; float:right; color:var(--ok); }
.ws-menu button:hover { background:var(--bg4); }
.ws-menu hr { border:0; border-top:1px solid var(--line); margin:8px 0; }
.ws-tip { display:block; font-size:11px; line-height:1.4; color:var(--tx2); padding:8px 5px 2px; }
.ws-panel-close { margin-left:auto; height:23px; width:23px; border:0; border-radius:5px; background:transparent; color:var(--tx2); cursor:pointer; font-size:19px; line-height:20px; }
.ws-panel-close:hover { background:var(--bg4); color:white; }
.ws-resizer { position:absolute; z-index:12; top:0; bottom:0; width:6px; cursor:col-resize; touch-action:none; }
.ws-resizer:hover,.ws-resizer.active { background:rgba(61,139,253,.5); }
body.workspace-ribbon-hidden #ribbon { display:none; }
body.workspace-history-hidden #cmdhist { display:none; }
body.workspace-focus #status { display:none; }
body.workspace-focus #cmd { display:none; }
body.workspace-focus #app { grid-template-rows:36px 0 minmax(0,1fr) 0; }
.pdf-intro { border:1px solid var(--line2); background:var(--bg3); border-radius:7px; padding:9px 11px; margin-bottom:10px; line-height:1.5; }
.pdf-preview { max-height:210px; min-height:100px; overflow:auto; background:#333; border:1px solid var(--line2); border-radius:6px; padding:6px; text-align:center; }
.pdf-mini { max-width:100%; max-height:196px; width:auto; height:auto; background:white; }
@media(max-width:980px) {
 #main.workspace-active { grid-template-columns:0 minmax(0,1fr) 0 !important; }
 #main.workspace-active #left, #main.workspace-active #right {
   display:flex !important; position:fixed; top:36px; bottom:26px; width:min(85vw,360px);
   z-index:65; box-shadow:0 6px 30px rgba(0,0,0,.65); background:var(--bg1);
 }
 #main.workspace-active #left { left:0; right:auto; }
 #main.workspace-active #right { right:0; left:auto; }
 #main.workspace-active.dock-swapped #left { left:auto; right:0; }
 #main.workspace-active.dock-swapped #right { left:0; right:auto; }
 body.no-left #main.workspace-active #left { display:none !important; }
 body.no-right #main.workspace-active #right { display:none !important; }
 #main.workspace-active .ws-resizer { display:none !important; }
 .ws-control { padding:4px 6px; font-size:11px; }
 .ws-menu { right:6px; }
}
.audit-table { width:100%; border-collapse:collapse; margin:8px 0 12px; }
.audit-table td { padding:7px 9px; border-bottom:1px solid var(--line); }
.audit-table td:last-child { text-align:right; }

.pdf-tip { display:block; color:#ddd; font-size:11px; margin:6px 4px 2px; }

/* FPCAD 1.2: painéis com docking e flutuação */
#main.workspace-active #left.ws-floating,#main.workspace-active #right.ws-floating {display:flex!important; position:fixed!important; grid-column:auto!important;grid-row:auto!important;height:min(72vh,670px);max-width:90vw;z-index:80!important;background:var(--bg1);border:1px solid var(--line2)!important;border-radius:9px;box-shadow:0 18px 48px rgba(0,0,0,.45);overflow:hidden;}
#main.workspace-active #left.ws-floating .ptabs,#main.workspace-active #right.ws-floating .ptabs{cursor:default;}
.ws-drag-grip{border:0;background:transparent;color:var(--tx2);font-size:17px;cursor:grab;touch-action:none;padding:2px 6px;border-radius:4px;}
.ws-drag-grip:active{cursor:grabbing;}.ws-dragging{opacity:.83;}
.studio-doc-tabs{display:flex;gap:3px;flex:0 0 auto;min-height:30px;max-height:35px;overflow-x:auto;overflow-y:hidden;background:var(--bg2);border-bottom:1px solid var(--line);padding:3px 8px;align-items:center;}
.studio-tab{display:flex;align-items:center;flex:0 0 auto;max-width:205px;height:25px;border-radius:5px 5px 0 0;border:1px solid var(--line);background:var(--bg3);}
.studio-tab.active{border-bottom-color:var(--accent,#3e8cff);box-shadow:inset 0 -2px 0 var(--accent,#3e8cff);}
.studio-tab-main,.studio-tab-close,.studio-tab-add{border:0;background:transparent;color:var(--tx);cursor:pointer;font-size:11px;height:100%;}
.studio-tab-main{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:175px;text-align:left;padding:0 7px;}.studio-tab-close{font-size:16px;color:var(--tx2);}.studio-tab-close:hover{color:#e66;}
.studio-tab-add{font-size:19px;flex:0 0 28px;min-height:25px;border:1px solid var(--line);border-radius:5px;}
.studio-tab-dirty{color:#db9a5e;font-size:10px;margin-right:5px;}
.studio-report{width:min(580px,96vw)!important;}.studio-pre{white-space:pre-wrap;line-height:1.6;max-height:38vh;overflow:auto;font-size:12px;background:var(--bg3);padding:12px;border-radius:8px;color:var(--tx);}
.studio-3d-tools{display:flex;gap:4px;flex-wrap:wrap;padding:5px;}.studio-3d-tools select{max-width:100%;min-width:100px;flex:1;}.studio-perf{font-size:10px;opacity:.72;padding:0 8px;white-space:nowrap;}
@media(max-width:980px){#main.workspace-active .ws-floating{max-width:85vw!important;}#main.workspace-active .ws-resizer{display:none!important;} .studio-perf{display:none;}}

/* Uma linha de abas de documentos adicional ao layout CAD original. */
#center:has(.studio-doc-tabs) {grid-template-rows:30px 30px minmax(0,1fr) auto;}
#center:has(.studio-doc-tabs) #view2d,#center:has(.studio-doc-tabs) #view3d,#center:has(.studio-doc-tabs) #viewpart{grid-row:3;min-width:0;}
#center:has(.studio-doc-tabs) #cmd{grid-row:4;min-width:0;}

/* v1.4: a tela inicial não deve cobrir o desenho nem reaparecer após ESC. */
#empty,#empty[hidden] { display:none !important; pointer-events:none !important; }

/* v1.4: modo máximo continua com comandos, status e saída visíveis */
body.workspace-focus #cmd { display:grid !important; }
body.workspace-focus #status { display:flex !important; }
body.workspace-focus #app { grid-template-rows:36px 0 minmax(0,1fr) 26px !important; }
body.workspace-focus #ws-focus { position:relative; z-index:140; }
body.workspace-focus #center:has(.studio-doc-tabs) { grid-template-rows:30px 30px minmax(0,1fr) auto; }
#view2d[hidden],#view3d[hidden],#viewpart[hidden],.modal-back[hidden] {display:none !important;}

/* 1.13: linhas fixas da grade — ocultar a faixa não pode empurrar o desenho para uma linha de altura zero */
#app > #titlebar { grid-row: 1; }
#app > #ribbon { grid-row: 2; }
#app > #main { grid-row: 3; min-height: 0; }
#app > #status { grid-row: 4; }
#cmd .cmd-resizer { position: absolute; left: 0; right: 0; top: -4px; height: 8px; cursor: ns-resize; z-index: 5; }
#cmd .cmd-resizer::after { content: ''; position: absolute; left: 50%; top: 3px; width: 40px; height: 2px; margin-left: -20px; border-radius: 2px; background: var(--line2, #556); opacity: .7; }
#cmd .cmd-resizer:hover::after, #cmd .cmd-resizer.active::after { background: var(--acc, #3b82f6); opacity: 1; }
