.workspace{--sidebar-width:320px;--toolbar-width:52px;touch-action:none}.workspace-topbar{background:var(--bg-panel);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--border-subtle);z-index:30;align-items:center;gap:4px;padding:4px 6px;display:flex;position:absolute;top:16px;left:16px}.workspace-topbar .bw-save-status{border-radius:var(--radius-md);background:var(--bg-panel);padding:6px 10px}.markup-menu-btn{width:var(--toolbar-width);background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);height:44px;box-shadow:var(--shadow-md);color:var(--text-secondary);cursor:pointer;z-index:30;justify-content:center;align-items:center;gap:4px;display:flex;position:absolute;top:16px;right:16px}.markup-menu-btn:hover{background:var(--bg-panel-hover)}.markup-menu-btn.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.badge{font-size:var(--crew-text-caption);text-align:center;min-width:18px;font-weight:600}.revision-toggle{border-radius:var(--radius-md);border:1px solid var(--border-medium);color:var(--text-secondary);font-size:var(--crew-text-caption);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:4px;padding:6px 10px;font-weight:600;transition:background .15s,color .15s;display:flex}.revision-toggle:hover{background:var(--bg-panel-hover)}.revision-toggle.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.markup-failed-badge{font-size:var(--crew-text-caption);color:var(--danger);background:var(--danger-dim);border-radius:var(--radius-sm);white-space:nowrap;margin-left:auto;padding:2px 6px;font-weight:600}.workspace-body{flex:1;display:flex;position:relative;overflow:hidden}.canvas-area{background:var(--crew-border);flex:1;position:relative;overflow:hidden}.canvas-transform-wrapper{transform-origin:0 0;touch-action:none;position:absolute;top:0;left:0}.pdf-canvas-container{position:relative;overflow:visible}.pdf-canvas{transform-origin:0 0;touch-action:none;display:block}.markup-overlay{pointer-events:all;transform-origin:0 0;touch-action:none;position:absolute;top:0;left:0}.toolbar{width:var(--toolbar-width);background:var(--bg-panel);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--border-subtle);scrollbar-width:none;z-index:15;flex-direction:column;align-items:center;gap:2px;max-height:calc(100% - 88px);padding:8px 6px;display:flex;position:absolute;top:72px;right:16px;overflow:hidden auto}.toolbar::-webkit-scrollbar{width:0;height:0}.toolbar>*{flex-shrink:0}.toolbar-btn{border-radius:var(--radius-md);width:38px;height:38px;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.toolbar-btn:hover:not(:disabled){background:var(--bg-panel-hover)}.toolbar-btn:disabled{opacity:.35;cursor:default}.toolbar-btn.active,.toolbar-btn.active:hover{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.toolbar-divider{background:var(--border-medium);width:28px;height:1px;margin:4px 0}.color-swatch{border-radius:var(--radius-full);cursor:pointer;border:2px solid #0000;width:22px;height:22px;transition:border-color .15s,transform .15s}.color-swatch:hover{transform:scale(1.15)}.color-swatch.active{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--bg-panel)}.zoom-controls{background:var(--bg-panel);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--border-subtle);z-index:15;flex-direction:column;align-items:center;gap:0;padding:4px;display:flex;position:absolute;bottom:16px;left:16px}.zoom-btn{width:34px;height:34px;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.zoom-btn:hover{background:var(--bg-panel-hover)}.zoom-label{font-size:var(--crew-text-caption);color:var(--text-secondary);text-align:center;min-width:38px;padding:4px 0;font-weight:600}.page-controls{background:var(--bg-panel);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--border-subtle);z-index:15;align-items:center;gap:2px;padding:4px 8px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.page-btn{width:28px;height:28px;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.page-btn:hover:not(:disabled){background:var(--bg-panel-hover)}.page-btn:disabled{opacity:.3;cursor:default}.page-input-form{align-items:center;gap:4px;display:flex}.page-input{text-align:center;background:var(--bg-panel);border:1px solid var(--border-medium);border-radius:var(--radius-sm);width:32px;height:26px;color:var(--text-primary);font-size:var(--crew-text-body-sm);outline:none}.page-input:focus{border-color:var(--accent)}.page-total{font-size:var(--crew-text-body-sm);color:var(--text-muted)}.sidebar{width:var(--sidebar-width);background:var(--bg-panel);border-left:1px solid var(--border-medium);z-index:10;flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.sidebar-divider{background:var(--border-subtle);flex-shrink:0;height:1px}.panel-header{border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.panel-title{font-size:var(--crew-text-card-title);color:var(--text-primary);font-weight:600}.close-btn{width:28px;height:28px;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.close-btn:hover{background:var(--bg-panel-hover);color:var(--text-primary)}.properties-panel{flex-direction:column;max-height:55%;display:flex;overflow:hidden}.properties-content{flex:1;padding:8px 12px;overflow-y:auto}.prop-row{justify-content:space-between;align-items:center;padding:4px 0;display:flex}.prop-section{border-bottom:1px solid var(--border-subtle);padding:8px 0}.prop-section>.bw-field-label{margin-bottom:4px;display:block}.prop-section-head{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.prop-value{font-size:var(--crew-text-body-sm);color:var(--text-secondary)}.color-row{gap:6px;display:flex}.prop-color-swatch{border-radius:var(--radius-full);cursor:pointer;border:2px solid #0000;width:24px;height:24px;transition:border-color .15s}.prop-color-swatch.is-small{width:16px;height:16px}.prop-color-swatch.active{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--bg-panel)}.label-create-form{margin-bottom:8px}.label-create-form .bw-input{margin-bottom:4px}.label-create-row{align-items:center;gap:4px;display:flex}.label-create-add{margin-left:auto}.labels-row{flex-wrap:wrap;gap:4px;display:flex}.label-chip{border-radius:var(--radius-full);font-size:var(--crew-text-caption);cursor:pointer;border:1px solid;padding:2px 8px;font-weight:600;transition:all .15s}.label-chip:hover{opacity:.8}.photos-grid{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.photo-thumb{border-radius:var(--radius-sm);background:var(--bg-workspace);border:1px solid var(--border-subtle);width:56px;height:56px;position:relative;overflow:visible}.photo-thumb img{object-fit:cover;border-radius:var(--radius-sm);width:100%;height:100%}.photo-placeholder{width:100%;height:100%;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.photo-add-btn{border-radius:var(--radius-sm);border:1px dashed var(--border-medium);width:56px;height:56px;color:var(--text-muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;transition:border-color .15s,color .15s;display:flex}.photo-add-btn:hover{background:var(--bg-panel-hover)}.photo-caption-input{margin-top:6px}.metadata{border-bottom:none}.prop-actions{gap:8px;padding:10px 0;display:flex}.prop-actions>*{flex:1;margin-top:0}.text-input-inline{background:var(--bg-panel);border:1px solid var(--accent);color:var(--text-primary);font-size:var(--crew-text-body-sm);border-radius:var(--radius-sm);min-width:120px;box-shadow:var(--shadow-md);-webkit-user-select:text;user-select:text;outline:none;padding:4px 8px}.markup-list-panel{flex-direction:column;flex:1;display:flex;overflow:hidden}.markup-list-scroll{flex:1;overflow-y:auto}.list-group-header{font-size:var(--crew-text-label);letter-spacing:var(--crew-text-label-tracking);text-transform:uppercase;color:var(--text-secondary);background:var(--bg-workspace);border-bottom:1px solid var(--border-subtle);padding:8px 16px;font-weight:600}.markup-list-item{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;border-left:3px solid #0000;align-items:center;gap:10px;padding:8px 12px;transition:background .15s,border-color .15s;display:flex}.markup-list-item:hover{background:var(--bg-panel-hover)}.markup-list-item.selected{background:var(--accent-dim);border-left-color:var(--accent)}.markup-dot{border-radius:var(--radius-full);flex-shrink:0;width:10px;height:10px}.markup-item-content{flex-direction:column;min-width:0;display:flex}.markup-item-title{font-size:var(--crew-text-body-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.markup-item-meta{font-size:var(--crew-text-body-sm);color:var(--text-muted)}.list-empty{text-align:center;color:var(--text-muted);font-size:var(--crew-text-body-sm);padding:24px 16px}.workspace ::-webkit-scrollbar{width:6px}.workspace ::-webkit-scrollbar-track{background:0 0}.workspace ::-webkit-scrollbar-thumb{background:var(--crew-icon-muted);border-radius:var(--radius-full)}.workspace ::-webkit-scrollbar-thumb:hover{background:var(--crew-text-faint)}.cal-banner{z-index:30;border-radius:var(--radius-full);background:var(--bg-panel);box-shadow:var(--shadow-md);font-size:var(--crew-text-body-sm);color:var(--text-secondary);white-space:nowrap;align-items:center;gap:10px;padding:6px 14px;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%)}.cal-banner.is-warning{background:var(--warning-dim);color:var(--warning)}.cal-banner-btn{border:1px solid var(--border-medium);border-radius:var(--radius-sm);font-size:var(--crew-text-caption);color:var(--accent);cursor:pointer;background:0 0;padding:3px 8px;font-weight:600}@media (width<=768px){.sidebar{z-index:40;width:min(320px,85vw);box-shadow:var(--shadow-md);position:fixed;top:0;bottom:0;right:0}.sidebar-scrim{z-index:35;background:var(--crew-scrim);position:fixed;inset:0}.markup-menu-btn{top:12px;right:12px}.toolbar{gap:2px;max-height:calc(100% - 76px);padding:6px 5px;top:64px;right:12px}.toolbar-btn{flex-shrink:0;width:40px;height:40px}.color-swatch{flex-shrink:0;width:26px;height:26px}.zoom-controls{bottom:12px;left:12px}.workspace-topbar{top:12px;left:12px}.cal-banner{white-space:normal;border-radius:var(--radius-lg);max-width:calc(100vw - 152px);top:64px}}@media (pointer:coarse){.workspace{--toolbar-width:58px}.toolbar-btn,.zoom-btn,.page-btn,.close-btn{min-width:var(--touch-target);min-height:var(--touch-target)}.revision-toggle,.cal-banner-btn,.label-chip{min-height:var(--touch-target)}}.pdf-error{z-index:25;text-align:center;background:var(--bg-workspace);flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:24px;display:flex;position:absolute;inset:0}.pdf-error-title{font-size:var(--crew-text-body);color:var(--text-secondary)}.pdf-error-msg{font-size:var(--crew-text-body-sm);color:var(--text-muted);max-width:320px}.pdf-error .bw-modal-btn{margin-top:8px}.toolbar-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.revision-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.markup-menu-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.zoom-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.color-swatch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}