/* SwiftWorksheets v1.2 — canvas-first workspace, panels only when requested */
.topbar{height:58px;padding:0 16px}
.app-shell{height:calc(100dvh - 58px);display:block;position:relative;overflow:hidden}
.main-area{width:100%;height:100%;min-width:0;min-height:0;display:flex;flex-direction:column;background:#edf2f8}
.sidebar{position:absolute;top:106px;bottom:0;z-index:35;width:min(310px,88vw);box-shadow:0 15px 50px #1c2b4929;transform:translateX(-110%);transition:transform .18s ease;overflow:hidden}
.left-sidebar{left:0;border-right:1px solid var(--border)}
.right-sidebar{right:0;transform:translateX(110%);border-left:1px solid var(--border)}
.sidebar.open{transform:translateX(0)}
.toolstrip{height:60px;min-height:60px;padding:5px 14px;gap:10px;justify-content:flex-start;flex-wrap:nowrap;overflow:hidden}
.tools-edge,.toolstrip-right{flex:0 0 auto;display:flex;align-items:center}
.tools-primary{flex:1;min-width:0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding:3px 0;gap:2px;align-items:center}
.tool-btn{flex-shrink:0;min-width:58px;padding:5px 5px 3px}
.panel-toggle{background:#f3f7fe;border:1px solid #dbe6f8;color:#23416b;font-size:12px;min-height:35px}
.panel-toggle[aria-expanded=true]{background:#dfeeff;border-color:#9fc2f7;color:#1455bb}
.page-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 14px;background:#fff;border-bottom:1px solid #dce4ee;min-height:46px;flex:none}
.page-nav,.zoom-controls{display:flex;align-items:center;gap:7px;min-width:0}
.page-icon{width:31px;min-width:31px;padding:0;min-height:31px;font-size:18px}
.page-count{min-width:100px;text-align:center;font-size:13px;font-weight:750;color:#2f4361;white-space:nowrap}
.nav-separator{height:24px;width:1px;background:#dce4ee;margin:0 4px}
.page-add{background:#ebf3ff;border-color:#c9defb;color:#185cba;min-height:32px;padding:5px 10px}
.page-extra{width:31px;height:31px;min-height:31px;padding:0;font-size:18px}
.page-remove:hover{color:#a52b38;border-color:#e4aab5;background:#fff5f6}
.zoom-controls{flex:0 0 auto}
.zoom-hint{font-size:11px;color:#8693a7;margin-right:5px;white-space:nowrap}
#zoomReadout{font-weight:750;color:#375276;min-width:43px;text-align:center;font-size:12px;font-variant-numeric:tabular-nums}
#fitPage{padding:4px 9px;font-size:11px;font-weight:800;min-width:37px}
.workspace-scroll{background-color:#eef2f8;background-image:radial-gradient(#d4deec 0.85px,transparent 0.85px);background-size:20px 20px;overflow:auto;flex:1;min-height:0;min-width:0;overscroll-behavior:contain}
.workspace-inner{padding:16px 20px 24px;min-width:100%;min-height:100%;display:flex;align-items:flex-start;justify-content:center}
.page-wrap{margin:0 auto;flex:none}
.paper{box-shadow:0 15px 55px #25395730,0 1px 4px #7f90a334}
.statusbar{height:30px;min-height:30px;padding:0 16px;gap:12px;justify-content:space-between}
.statusbar .save-status{margin-left:auto;color:#647c89;font-size:11px}
.close-mobile{display:block;background:none;border:0;font-size:24px;color:#64748b;min-width:30px}
.print-pages{display:none!important}
@media(max-width:1180px){
 .topbar{padding:0 10px}.top-actions{gap:2px}.top-actions .btn{padding:7px 8px}
 .version{display:none}.zoom-hint{display:none}
 .toolstrip{padding:4px 7px;gap:5px}
 .tool-btn{min-width:52px}.page-toolbar{padding:6px 9px}
}
@media(max-width:960px){
 .topbar{height:56px}.app-shell{height:calc(100dvh - 56px - 65px);display:block}
 .main-area{height:100%}.sidebar{position:fixed;top:56px;bottom:65px;width:min(83vw,330px);z-index:60}
 .page-toolbar{min-height:44px;padding:5px 7px}
 .toolstrip{height:55px;min-height:55px;padding:4px 6px;overflow:hidden}
 .panel-toggle{min-height:33px;padding:5px 8px;font-size:11px}
 .tools-primary{gap:2px}.tool-btn{min-width:48px;font-size:10px}
 .workspace-inner{padding:12px 12px 25px}
 .statusbar{height:28px;min-height:28px}
 .nav-separator,.page-extra{display:none}
 #overlay.active{inset:56px 0 65px}
}
@media(max-width:600px){
 .brand a{font-size:16px;gap:4px}.brand-logo{width:31px;height:31px}
 .page-toolbar{gap:3px}.page-nav,.zoom-controls{gap:3px}
 .page-icon{min-width:28px;width:28px;min-height:29px}
 .page-count{min-width:70px;font-size:11px}
 .page-add{min-height:29px;padding:4px 7px;font-size:11px}
 .zoom-controls .btn.compact{min-width:27px;min-height:27px}
 #zoomReadout{min-width:36px;font-size:11px}
 #fitPage{min-width:30px;padding:3px 4px}
 .toolstrip-right .panel-toggle{padding:5px 7px}
 .statusbar span:nth-child(2){display:none}
 .save-status{font-size:10px!important}
}
@media(max-width:360px){
 .page-add span{display:none}.panel-toggle span{display:none}.zoom-controls #zoomOut{display:none}
}
/* Browser print: independent sheets, not the transformed preview canvas. */
@media print{
 @page{margin:0}
 html,body{width:auto!important;height:auto!important;overflow:visible!important;margin:0!important;padding:0!important;background:#fff!important}
 body>:not(#printRoot){display:none!important}
 .print-pages{display:block!important;position:static!important;margin:0!important;padding:0!important}
 .print-sheet{display:block;position:relative;overflow:hidden;background:white;margin:0;padding:0;border:0;box-shadow:none;page-break-after:always;break-after:page;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 .print-sheet:last-child{page-break-after:auto;break-after:auto}
 .print-sheet .paper-element{position:absolute;outline:none!important;cursor:default!important}
 .print-sheet .paper-element.is-image img{width:100%;height:100%;object-fit:contain}
 .print-sheet .paper-element.is-text .editable-text{outline:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.32}
}
