/* Online Spreadsheet Editor — dark site frame around a light, Excel-like grid. */
.ss-hero{background:radial-gradient(circle at 92% 18%,#2fbf8f33,transparent 38%),linear-gradient(120deg,#1f3a2c,#211d38 75%)}
.ss-frame{border:1px solid var(--usp-line,#3a3352);border-radius:16px;background:#1c182e;overflow:hidden;margin-top:14px}
.ss-ribbon{background:#241f38;border-bottom:1px solid #3a3352}
.ss-rtabs{display:flex;gap:2px;padding:6px 8px 0;overflow-x:auto}
.ss .ss-rtabs [role=tab]{background:none;border:0;border-radius:8px 8px 0 0;padding:7px 14px;font-size:.88rem;color:#c8bfd9;min-height:0}
.ss .ss-rtabs [role=tab][aria-selected=true]{background:#2d2645;color:#fff;font-weight:700}
.ss-rpanel{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:8px 10px;background:#2d2645;min-height:50px}
.ss .ss-rpanel button,.ss .ss-filebtn{min-height:32px;padding:4px 10px;font-size:.84rem;border-radius:8px;background:#1c182e;border:1px solid #3a3352;color:#e9e3f7;cursor:pointer;display:inline-flex;align-items:center;gap:4px}
.ss .ss-rpanel button[aria-pressed=true]{background:#a77bff;color:#140f24;border-color:transparent}
.ss .ss-rpanel button:hover,.ss .ss-filebtn:hover{border-color:#a77bff}
.ss .ss-rpanel select,.ss .ss-rpanel input:not([type=checkbox]):not([type=color]){height:32px;padding:3px 8px;font-size:.84rem;border-radius:8px;min-height:0}
.ss-sep{width:1px;height:24px;background:#4a4163;margin:0 4px}
.ss-color{position:relative;display:inline-flex;align-items:center;justify-content:center;width:34px;height:32px;border-radius:8px;background:#1c182e;border:1px solid #3a3352;font-weight:800;color:#ff8f8f;cursor:pointer}.ss-fill{color:#ffe28a}
.ss-color input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.ss-chk{display:inline-flex;gap:6px;align-items:center;font-size:.84rem;color:#d9d3ea}
.ss-fbar{display:grid;grid-template-columns:96px 34px minmax(0,1fr);border-bottom:1px solid #3a3352;background:#1c182e}
.ss .ss-fbar input{height:34px;border:0;border-radius:0;background:#14111f;color:#fff;padding:4px 10px;font:500 .9rem ui-monospace,Consolas,monospace;min-height:0}
.ss .ss-fbar #ssName{border-right:1px solid #3a3352;text-align:center}
.ss-fx{display:flex;align-items:center;justify-content:center;color:#a77bff;font-style:italic;font-weight:700;border-right:1px solid #3a3352}
.ss-findbar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:7px 10px;background:#2d2645;border-bottom:1px solid #3a3352}.ss .ss-findbar input:not([type=checkbox]){height:32px;padding:3px 8px;min-height:0;width:170px}.ss .ss-findbar button{padding:4px 10px;min-height:32px;font-size:.84rem}#ssFindInfo{font-size:.82rem;color:#c8bfd9}
.ss-grid{position:relative;height:min(68vh,640px);min-height:320px;overflow:auto;background:#fff;outline:none;--z:1;overscroll-behavior:contain}
.ss-grid:focus-visible{box-shadow:inset 0 0 0 2px #a77bff}
.ss-spacer{position:relative}
.ss-cells,.ss-frozen{position:absolute;left:0;top:0}
.ss-c{position:absolute;box-sizing:border-box;border-right:1px solid #e2e2e2;border-bottom:1px solid #e2e2e2;padding:0 4px;font:calc(13px*var(--z)) / calc(22px*var(--z)) Calibri,'Segoe UI',Arial,sans-serif;color:#111;white-space:nowrap;overflow:hidden;background:#fff}
.ss-grid.nogrid .ss-c{border-color:transparent}
.ss-c.r{text-align:right}.ss-c.ctr{text-align:center}.ss-c.err{color:#c00000}.ss-c.wrap{white-space:normal;line-height:1.15;word-break:break-word}
.ss-c.ovf{overflow:visible;z-index:1;background:transparent}
.ss-c.bd{box-shadow:inset 0 0 0 1px #222}
.ss-frozen .ss-c{z-index:3}
.ss-colh,.ss-rowh{position:absolute;left:0;top:0;z-index:5}
.ss-h{position:absolute;box-sizing:border-box;background:#f3f3f3;border-right:1px solid #d0d0d0;border-bottom:1px solid #d0d0d0;color:#444;font:calc(12px*var(--z)) / calc(23px*var(--z)) 'Segoe UI',Arial,sans-serif;text-align:center;user-select:none;cursor:pointer}
.ss-h.on{background:#d3e7d9;color:#0f5132;font-weight:700}
.ss-h .rs{position:absolute;right:-3px;top:0;bottom:0;width:7px;cursor:col-resize;z-index:2}
.ss-corner{position:absolute;left:0;top:0;z-index:6;background:#e9e9e9;border-right:1px solid #c8c8c8;border-bottom:1px solid #c8c8c8;cursor:pointer}
.ss-sel{position:absolute;z-index:4;pointer-events:none;border:2px solid #1d7a46;background:rgba(33,115,70,.08);box-sizing:border-box}
.ss-handle{position:absolute;right:-5px;bottom:-5px;width:8px;height:8px;background:#1d7a46;border:1px solid #fff;pointer-events:auto;cursor:crosshair}
.ss-active{position:absolute;z-index:4;pointer-events:none;box-sizing:border-box;border:2px solid #1d7a46}
.ss-sel.fill{border-style:dashed;background:none}
.ss-editor{position:absolute;z-index:7;box-sizing:border-box;border:2px solid #1d7a46;padding:0 3px;font:calc(13px*var(--z)) / calc(20px*var(--z)) Calibri,'Segoe UI',Arial,sans-serif;color:#111;background:#fff;resize:none;overflow:hidden;white-space:pre;box-shadow:0 4px 12px #0003;min-height:0;border-radius:0}
.ss-ref{position:absolute;z-index:3;pointer-events:none;border:2px dashed #2f6fed;background:rgba(47,111,237,.08);box-sizing:border-box}
.ss-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#241f38;border-top:1px solid #3a3352;padding:4px 8px;flex-wrap:wrap}
.ss-tabs{display:flex;gap:3px;overflow-x:auto;max-width:100%}
.ss .ss-tabs button{min-height:30px;padding:3px 14px;font-size:.84rem;border-radius:8px 8px 0 0;background:#1c182e;border:1px solid #3a3352;color:#c8bfd9}
.ss .ss-tabs button[aria-selected=true]{background:#fff;color:#0f5132;font-weight:700;border-color:#fff}
.ss .ss-tabs .ss-tabx{padding:3px 9px}
.ss-tabs input{height:28px;width:120px;min-height:0;padding:2px 6px}
.ss-stats{font-size:.82rem;color:#d9d3ea;display:flex;gap:14px;white-space:nowrap}
.ss-help{font-size:.78rem;color:var(--usp-muted,#a39bb8);margin:6px 10px}
.ss-frame .usp-status{margin:0 10px 8px}
.ss-chart{position:fixed;right:18px;bottom:18px;z-index:50;width:min(560px,calc(100vw - 32px));background:#1c182e;border:1px solid #a77bff;border-radius:14px;box-shadow:0 18px 40px #0008;overflow:hidden}
.ss-chart-head{display:flex;gap:6px;align-items:center;padding:8px 10px;background:#2d2645;flex-wrap:wrap}.ss-chart-head b{color:#fff;margin-right:4px}
.ss .ss-chart-head select,.ss .ss-chart-head input{height:30px;min-height:0;padding:2px 8px;font-size:.84rem}.ss .ss-chart-head input{flex:1;min-width:100px}.ss .ss-chart-head button{min-height:30px;padding:3px 10px;font-size:.82rem}
#ssChartBody{background:#fff;padding:8px}#ssChartBody svg{display:block;width:100%;height:auto}
.ss-print{display:none}
@media print{body *{visibility:hidden!important}.ss-print,.ss-print *{visibility:visible!important}.ss-print{display:block!important;position:absolute;left:0;top:0;width:100%}.ss-print table{border-collapse:collapse;font:11px Calibri,Arial,sans-serif}.ss-print td{border:1px solid #bbb;padding:2px 5px;white-space:nowrap}.ss-print h2{font:700 14px Arial;margin:0 0 6px}}
@media(max-width:700px){.ss-grid{height:60vh}.ss-fbar{grid-template-columns:70px 28px minmax(0,1fr)}.ss .ss-rpanel button{padding:4px 8px}.ss-stats{display:none}}
.ss .ss-rtabs .ss-fsbtn{margin-left:auto;border-radius:8px;background:#1c182e;border:1px solid #3a3352;padding:4px 12px;margin-bottom:4px;color:#e9e3f7;font-size:.84rem}
.ss .ss-rtabs .ss-fsbtn[aria-pressed=true]{background:#a77bff;color:#140f24}
.ss-frame.ss-full{position:fixed;inset:0;z-index:1000;margin:0;border-radius:0;border:0;display:flex;flex-direction:column}
.ss-frame:fullscreen{display:flex;flex-direction:column;border-radius:0;border:0;margin:0;background:#1c182e}
.ss-frame.ss-full .ss-grid,.ss-frame:fullscreen .ss-grid{flex:1;height:auto;min-height:0}
.ss-frame.ss-full .ss-help,.ss-frame:fullscreen .ss-help{display:none}
.ss-frame .usp-status:empty{display:none}
