/* MedicalCloud Canvas Editor */
.canvas-body{margin:0;background:#2d2d3f;overflow:hidden;height:100vh;display:flex;flex-direction:column;font-family:'Inter',sans-serif}
.canvas-app{display:flex;flex-direction:column;height:100vh}

/* Header */
.canvas-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;background:#1e1e2d;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}
.canvas-header-left,.canvas-header-right{display:flex;align-items:center;gap:.5rem}
.canvas-header-center{display:flex;align-items:center;gap:1rem}
.canvas-btn{width:36px;height:36px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:transparent;color:rgba(255,255,255,.7);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;text-decoration:none}
.canvas-btn:hover{background:rgba(255,255,255,.1);color:#fff}
.canvas-patient-name{color:rgba(255,255,255,.5);font-size:.85rem}
.canvas-title-input{background:transparent;border:1px solid transparent;color:#fff;font-size:.9rem;font-weight:600;padding:.25rem .5rem;border-radius:6px;width:200px;text-align:center}
.canvas-title-input:focus{outline:none;border-color:rgba(13,148,136,.5);background:rgba(255,255,255,.05)}
.canvas-page-indicator{color:rgba(255,255,255,.4);font-size:.8rem}

/* Workspace */
.canvas-workspace{display:flex;flex:1;overflow:hidden}
.canvas-tools{width:52px;background:#1e1e2d;border-right:1px solid rgba(255,255,255,.08);padding:.5rem .25rem;display:flex;flex-direction:column;align-items:center;gap:.25rem;overflow-y:auto;flex-shrink:0}
.tool-btn{width:40px;height:40px;border-radius:8px;border:none;background:transparent;color:rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;position:relative}
.tool-btn:hover{background:rgba(255,255,255,.08);color:#fff}
.tool-btn.active{background:rgba(13,148,136,.2);color:#0d9488}
.tool-btn input[type="file"]{position:absolute;inset:0;opacity:0;cursor:pointer}
.tool-divider{width:28px;height:1px;background:rgba(255,255,255,.08);margin:.25rem 0}

/* Color palette */
.color-palette{display:flex;flex-wrap:wrap;gap:3px;justify-content:center;padding:0 .25rem}
.color-swatch{width:18px;height:18px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .2s}
.color-swatch:hover{transform:scale(1.2)}.color-swatch.active{border-color:#fff;box-shadow:0 0 0 2px rgba(13,148,136,.5)}
.tool-size{padding:.25rem;width:100%}.tool-size label{display:block;text-align:center;font-size:.65rem;margin-bottom:.15rem}
.tool-size input[type="range"]{width:100%;accent-color:#0d9488}

/* Canvas area */
.canvas-area{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#3d3d50;position:relative}
#canvas-container{width:100%;height:100%;position:relative}
.main-canvas{position:absolute;top:0;left:0;background:#fff;border-radius:0;z-index:1}
.temp-canvas{position:absolute;top:0;left:0;background:transparent;border-radius:0;pointer-events:auto;z-index:2}

/* Pages bar */
.canvas-pages-bar{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:#1e1e2d;border-top:1px solid rgba(255,255,255,.08);flex-shrink:0;overflow-x:auto}
.page-thumb,.page-btn{width:36px;height:28px;border-radius:6px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);color:rgba(255,255,255,.6);font-size:.75rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}
.page-thumb.active{border-color:#0d9488;background:rgba(13,148,136,.2);color:#0d9488}
.page-btn:hover,.page-thumb:hover{background:rgba(255,255,255,.1);color:#fff}

/* Draggable text box overlay */
.canvas-textbox{position:absolute;z-index:50;min-width:160px;min-height:80px;background:rgba(255,255,255,.95);border:2px solid #0d9488;border-radius:8px;box-shadow:0 4px 24px rgba(0,0,0,.25);display:flex;flex-direction:column;overflow:hidden;font-family:'Inter',sans-serif}
.ctb-header{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;background:#0d9488;cursor:move;user-select:none;gap:4px}
.ctb-header span{color:#fff;font-size:.7rem;font-weight:600;white-space:nowrap}
.ctb-actions{display:flex;gap:4px}
.ctb-btn{width:24px;height:24px;border-radius:4px;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.75rem;font-weight:700;line-height:1;transition:all .15s}
.ctb-confirm{background:rgba(255,255,255,.25);color:#fff}
.ctb-confirm:hover{background:rgba(255,255,255,.45)}
.ctb-cancel{background:rgba(255,255,255,.15);color:rgba(255,255,255,.8)}
.ctb-cancel:hover{background:rgba(255,255,255,.3);color:#fff}
.ctb-body{flex:1;display:flex;flex-direction:column;padding:6px}
.ctb-textarea{flex:1;border:none;outline:none;resize:none;font-size:14px;line-height:1.4;background:transparent;color:#1e1e2d;font-family:'Inter',sans-serif;min-height:40px}
.ctb-textarea::placeholder{color:rgba(0,0,0,.3)}
.ctb-font-row{display:flex;align-items:center;gap:6px;padding:4px 0 0}
.ctb-font-row label{font-size:.65rem;color:#888}
.ctb-font-row input[type="number"]{width:48px;border:1px solid #ddd;border-radius:4px;padding:2px 4px;font-size:.75rem;text-align:center}
.ctb-resize{position:absolute;bottom:0;right:0;width:16px;height:16px;cursor:nwse-resize;background:linear-gradient(135deg,transparent 50%,#0d9488 50%);border-radius:0 0 6px 0;opacity:.6;transition:opacity .15s}
.ctb-resize:hover{opacity:1}

/* Patient select overlay */
.canvas-patient-select{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:1000;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px)}
