/* ============================================================
   CANVAS  ·  Maximum real estate
============================================================ */

#canvas-container{
    flex:1;position:relative;overflow:hidden;
    display:flex;flex-direction:column;
    background:var(--bg);min-width:0;min-height:0;
}

#canvas-viewport{
    flex:1;overflow:auto;
    display:flex;padding:20px;min-height:0;
    background:var(--bg);
    background-size:20px 20px;
    background-image:
        linear-gradient(to right,rgba(0,0,255,.035) 1px,transparent 1px),
        linear-gradient(to bottom,rgba(0,0,255,.035) 1px,transparent 1px);
}

#canvas-wrapper{
    display:block;margin:auto;flex-shrink:0;
    background:var(--white);position:relative;
    box-shadow:0 1px 3px rgba(0,0,0,.08),0 6px 24px rgba(0,0,0,.10),0 0 0 1px var(--border);
    border-radius:2px;
    transform-origin:center center;
}
#main-canvas{display:block}

#slide-master-bar{
    width:100%;height:24px;
    background:var(--blue-lt);border-bottom:1px solid var(--blue-mid);
    align-items:center;justify-content:space-between;
    padding:0 14px;font-size:10.5px;font-weight:600;color:var(--blue);
    box-sizing:border-box;flex-shrink:0;
}

#text-editor{
    position:absolute;z-index:1000;display:none;
    border:2px solid var(--blue);outline:none;
    padding:7px 10px;border-radius:3px;
    font-family:var(--font);font-size:14px;line-height:1.5;
    background:var(--white);color:var(--text);
    box-shadow:var(--sh-blu);resize:none;overflow-y:auto;
}

/* ── Floating Status Bar (bottom) ───────────────────────── */
#tabs-container{
    position:absolute;bottom:0;left:0;right:0;
    background:var(--white);
    border-top:1px solid var(--border);
    display:flex;flex-direction:column;z-index:100;
    box-shadow:0 -1px 4px rgba(0,0,0,.06);
}

.tabs-row{
    height:var(--statusbar-h);
    display:flex;align-items:center;
    padding:0 10px;gap:6px;flex-shrink:0;
    background:var(--s2);
}

#tabs-list{
    display:flex;align-items:flex-end;height:100%;
    gap:2px;overflow-x:auto;flex:1;min-width:0;
}
#tabs-list::-webkit-scrollbar{display:none}

.tab-item{
    height:24px;padding:0 14px;
    background:var(--s3);border:1px solid var(--border);border-bottom:none;
    border-radius:4px 4px 0 0;
    display:flex;align-items:center;gap:6px;
    font-size:10.5px;font-weight:600;color:var(--text3);
    cursor:pointer;white-space:nowrap;transition:all .13s;
    margin-top:6px;
}
.tab-item:hover{background:var(--blue-lt);color:var(--blue);border-color:var(--blue-mid)}
.tab-item.active{
    background:var(--white);color:var(--blue);
    border-color:var(--blue-mid);font-weight:700;
}
.tab-close{
    width:13px;height:13px;border:none;background:none;
    border-radius:2px;color:var(--text4);font-size:9px;
    display:flex;align-items:center;justify-content:center;
    transition:all .11s;padding:0;
}
.tab-close:hover{background:var(--blue-lt);color:var(--blue)}

.add-paper-btn-bottom{
    width:24px;height:24px;border:1px solid var(--border);
    border-radius:4px;background:var(--white);
    color:var(--text3);font-size:15px;font-weight:300;
    display:flex;align-items:center;justify-content:center;
    cursor:pointer;flex-shrink:0;transition:all .13s;
}
.add-paper-btn-bottom:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-lt)}

/* Status pill */
#status-pill{
    background:var(--black);color:var(--white);
    padding:2px 9px;border-radius:20px;
    font-size:9.5px;font-weight:700;letter-spacing:.08em;
    box-shadow:var(--sh-xs);flex-shrink:0;white-space:nowrap;
}

/* Zoom bar */
.zoom-bar{display:flex;align-items:center;gap:2px;margin-left:auto;flex-shrink:0}
.zoom-btn{
    width:24px;height:24px;border:none;background:transparent;
    border-radius:var(--r);color:var(--text3);font-size:14px;
    display:flex;align-items:center;justify-content:center;
    cursor:pointer;transition:all .12s;
}
.zoom-btn:hover{background:var(--blue-lt);color:var(--blue)}
.zoom-input{
    width:46px;text-align:center;border:1px solid var(--border);
    border-radius:var(--r);background:var(--white);
    font-size:11px;font-weight:700;color:var(--text);padding:2px 0;
    transition:border-color .13s;
}
.zoom-input:focus{border-color:var(--blue);outline:none}

/* Table stats bar */
#table-selection-stats{
    display:none;align-items:center;gap:10px;
    margin-left:12px;padding-left:12px;
    border-left:1px solid var(--border);
    font-family:Consolas,monospace;font-size:11px;
    color:var(--text3);white-space:nowrap;
}
