/* Webfire Drive – Tabellen-Editor im Excel-Look */
#xl{position:fixed;inset:0;z-index:86;display:none;flex-direction:column;background:#fff;color:#1f1f1f;
  font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,Roboto,Helvetica,Arial,sans-serif;font-size:13px;--xg:#217346;--xg2:#185c37;--xgl:#e9f3ec;--xline:#e1e1e1;--xhead:#f5f5f5;--xbd:#d4d4d4}
#xl *{box-sizing:border-box}
#xl button{font-family:inherit}

/* Titelleiste */
#xl .xl-title{display:flex;align-items:center;gap:10px;background:var(--xg);color:#fff;padding:7px 14px;flex-shrink:0}
#xl .xl-title .xl-back{background:rgba(255,255,255,.14);border:0;color:#fff;border-radius:6px;padding:6px 12px;cursor:pointer;font-size:13px}
#xl .xl-title .xl-back:hover{background:rgba(255,255,255,.24)}
#xl .xl-title .xl-logo{width:26px;height:26px;border-radius:5px;background:#fff;color:var(--xg);font-weight:800;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}
#xl .xl-title input{background:transparent;border:1px solid transparent;color:#fff;font-size:15px;font-weight:600;padding:4px 8px;border-radius:5px;min-width:120px;flex:1;max-width:460px;outline:none}
#xl .xl-title input:hover{border-color:rgba(255,255,255,.35)}
#xl .xl-title input:focus{background:#fff;color:#1f1f1f}
#xl .xl-title .xl-stat{font-size:12px;opacity:.85;margin-left:auto;white-space:nowrap}
#xl .xl-title .xl-tbtn{background:#fff;color:var(--xg2);border:0;border-radius:6px;padding:7px 14px;cursor:pointer;font-weight:600;font-size:13px;white-space:nowrap}
#xl .xl-title .xl-tbtn.ghost{background:rgba(255,255,255,.14);color:#fff;font-weight:500}
#xl .xl-title .xl-tbtn:hover{filter:brightness(.95)}

/* Menüband */
#xl .xl-rtabs{display:flex;gap:2px;background:var(--xg);padding:0 10px;flex-shrink:0}
#xl .xl-rtabs button{background:none;border:0;color:#fff;padding:7px 14px 6px;cursor:pointer;font-size:13px;border-radius:5px 5px 0 0;opacity:.9}
#xl .xl-rtabs button:hover{background:rgba(255,255,255,.12)}
#xl .xl-rtabs button.on{background:#f3f3f3;color:var(--xg2);font-weight:600;opacity:1}
#xl .xl-ribbon{background:#f3f3f3;border-bottom:1px solid var(--xbd);padding:6px 10px 4px;display:flex;align-items:stretch;gap:0;flex-shrink:0;overflow-x:auto;min-height:88px}
#xl .xl-pane{display:none;align-items:stretch}
#xl .xl-pane.on{display:flex}
#xl .xl-grp{display:flex;flex-direction:column;padding:0 10px;border-right:1px solid #dcdcdc;flex-shrink:0}
#xl .xl-grp:last-child{border-right:0}
#xl .xl-grp .xl-gbody{display:flex;align-items:flex-start;gap:3px;flex:1}
#xl .xl-grp .xl-glabel{font-size:11px;color:#6b6b6b;text-align:center;padding-top:3px;white-space:nowrap}
#xl .xl-col{display:flex;flex-direction:column;gap:3px}
#xl .xl-row{display:flex;gap:2px;align-items:center}
#xl .rb{background:none;border:1px solid transparent;border-radius:4px;color:#1f1f1f;cursor:pointer;height:26px;min-width:26px;padding:0 6px;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap}
#xl .rb:hover{background:#e3e3e3;border-color:#d0d0d0}
#xl .rb.on{background:#c6dfcf;border-color:#9cc5ac}
#xl .rb.big{flex-direction:column;height:58px;min-width:52px;padding:4px 6px;font-size:12px;gap:2px}
#xl .rb.big .ri{font-size:22px;line-height:24px}
#xl .rb svg{width:16px;height:16px;flex-shrink:0}
#xl .rb.big svg{width:24px;height:24px}
#xl .xl-ribbon select{height:26px;border:1px solid #c8c8c8;border-radius:4px;background:#fff;font-size:12px;padding:0 4px;color:#1f1f1f}
#xl .xl-split{display:inline-flex}
#xl .xl-split .rb{position:relative;padding-bottom:5px}
#xl .xl-split .rb:first-child{border-top-right-radius:0;border-bottom-right-radius:0}
#xl .xl-split .rb.arrow{min-width:14px;width:14px;padding:0;font-size:10px;border-top-left-radius:0;border-bottom-left-radius:0}
#xl .xl-split .bar{position:absolute;left:5px;right:5px;bottom:3px;height:4px;border-radius:1px}
#xl .xl-colorinp{position:fixed;left:-100px;top:0;width:1px;height:1px;opacity:0}
#xl .xl-check{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer;padding:4px 2px}

/* Bearbeitungsleiste */
#xl .xl-fbar{display:flex;align-items:center;gap:0;border-bottom:1px solid var(--xbd);background:#fff;flex-shrink:0;height:30px}
#xl .xl-name{width:96px;height:100%;border:0;border-right:1px solid var(--xbd);padding:0 8px;font-size:13px;outline:none;text-align:left}
#xl .xl-name:focus{box-shadow:inset 0 0 0 2px var(--xg)}
#xl .xl-fx{display:flex;align-items:center;gap:2px;padding:0 6px;border-right:1px solid var(--xbd);height:100%;color:#6b6b6b}
#xl .xl-fx button{background:none;border:0;cursor:pointer;color:#6b6b6b;font-size:14px;width:22px;height:22px;border-radius:3px}
#xl .xl-fx button:hover{background:#eee}
#xl .xl-fx .fxl{font-style:italic;font-family:Georgia,serif;font-size:14px;padding:0 6px;color:#444}
#xl .xl-formula{flex:1;height:100%;border:0;padding:0 10px;font-size:13px;outline:none;font-family:inherit}

/* Raster */
#xl .xl-gridwrap{flex:1;overflow:auto;position:relative;background:#fff;outline:none}
#xl .xl-inner{position:relative;display:inline-block;min-width:100%}
#xl table.xl-t{border-collapse:separate;border-spacing:0;table-layout:fixed;width:max-content;user-select:none;-webkit-user-select:none}
#xl table.xl-t td{height:22px;border-right:1px solid var(--xline);border-bottom:1px solid var(--xline);padding:0 4px;white-space:nowrap;overflow:hidden;text-overflow:clip;font-size:11pt;font-family:Calibri,Carlito,"Segoe UI",Roboto,Arial,sans-serif;vertical-align:bottom;line-height:20px;cursor:cell;background:#fff;color:#000}
#xl table.xl-t.nogrid td{border-color:transparent}
#xl table.xl-t td.wr{white-space:pre-wrap;word-break:break-word;line-height:1.25;overflow:visible}
#xl table.xl-t td.bd{box-shadow:inset 0 0 0 1px #000}
#xl table.xl-t th{background:var(--xhead);color:#444;font-weight:400;font-size:12px;border-right:1px solid var(--xbd);border-bottom:1px solid var(--xbd);height:22px;padding:0;text-align:center;position:sticky;cursor:default;user-select:none}
#xl table.xl-t thead th{top:0;z-index:4;cursor:s-resize;position:sticky}
#xl table.xl-t thead th.rz{cursor:col-resize}
#xl table.xl-t tbody th{left:0;z-index:3;width:46px;cursor:e-resize}
#xl table.xl-t thead th.corner{left:0;z-index:5;cursor:se-resize}
#xl table.xl-t thead th.corner::after{content:"";position:absolute;right:3px;bottom:3px;border:5px solid transparent;border-right-color:#b5b5b5;border-bottom-color:#b5b5b5}
#xl table.xl-t th.hl{background:#e1e1e1;color:var(--xg2);font-weight:600;box-shadow:inset 0 -2px 0 var(--xg)}
#xl table.xl-t tbody th.hl{box-shadow:inset -2px 0 0 var(--xg)}
#xl table.xl-t th.full{background:var(--xg);color:#fff}
#xl table.xl-t.frozen tbody tr:first-child td,#xl table.xl-t.frozen tbody tr:first-child th{position:sticky;top:23px;z-index:3;border-bottom:2px solid #9c9c9c}
#xl table.xl-t.frozen tbody tr:first-child th{z-index:4}

/* Auswahl */
#xl .xl-range{position:absolute;pointer-events:none;background:rgba(33,115,70,.10);border:1px solid var(--xg);z-index:2;display:none}
#xl .xl-act{position:absolute;pointer-events:none;border:2px solid var(--xg);z-index:2;display:none}
#xl .xl-handle{position:absolute;width:7px;height:7px;background:var(--xg);border:1px solid #fff;z-index:2;cursor:crosshair;display:none}
#xl .xl-copy{position:absolute;pointer-events:none;z-index:2;display:none;border:2px dashed var(--xg);animation:xlants .6s linear infinite}
@keyframes xlants{50%{border-color:#7fc39c}}
#xl .xl-fillprev{position:absolute;pointer-events:none;z-index:2;display:none;border:1px dashed #555}
#xl .xl-ref{position:absolute;pointer-events:none;z-index:2;border:2px solid #2f6fd6;background:rgba(47,111,214,.08)}
#xl .xl-edit{position:absolute;z-index:6;display:none;border:2px solid var(--xg);background:#fff;font-size:11pt;font-family:Calibri,Carlito,"Segoe UI",Roboto,Arial,sans-serif;padding:0 3px;line-height:19px;outline:none;resize:none;overflow:hidden;white-space:pre;box-shadow:0 2px 8px rgba(0,0,0,.15);color:#000}

/* Blattregister */
#xl .xl-sheets{display:flex;align-items:stretch;background:#f3f3f3;border-top:1px solid var(--xbd);height:32px;flex-shrink:0;padding-left:8px;overflow-x:auto}
#xl .xl-sheets .st{border:0;background:none;padding:0 16px;cursor:pointer;font-size:13px;color:#444;border-right:1px solid #dcdcdc;white-space:nowrap;position:relative}
#xl .xl-sheets .st:hover{background:#e8e8e8}
#xl .xl-sheets .st.on{background:#fff;color:var(--xg2);font-weight:600}
#xl .xl-sheets .st.on::after{content:"";position:absolute;left:10px;right:10px;bottom:3px;height:3px;border-radius:2px;background:var(--xg)}
#xl .xl-sheets .st input{border:1px solid var(--xg);font-size:13px;padding:2px 4px;width:120px;outline:none}
#xl .xl-sheets .add{border:0;background:none;width:34px;font-size:18px;color:#555;cursor:pointer}
#xl .xl-sheets .add:hover{background:#e8e8e8;color:var(--xg)}

/* Statusleiste */
#xl .xl-status{display:flex;align-items:center;gap:22px;background:var(--xg);color:#fff;font-size:12px;padding:0 14px;height:24px;flex-shrink:0}
#xl .xl-status .r{margin-left:auto;display:flex;gap:22px}

/* Kontextmenü */
#xl .xl-menu{position:fixed;z-index:97;background:#fff;border:1px solid #c8c8c8;border-radius:6px;box-shadow:0 6px 24px rgba(0,0,0,.18);padding:4px;min-width:220px;display:none}
#xl .xl-menu button{display:flex;width:100%;align-items:center;gap:10px;text-align:left;background:none;border:0;padding:7px 12px;font-size:13px;cursor:pointer;border-radius:4px;color:#1f1f1f}
#xl .xl-menu button:hover{background:var(--xgl)}
#xl .xl-menu button .k{margin-left:auto;color:#888;font-size:11px}
#xl .xl-menu hr{border:0;border-top:1px solid #e5e5e5;margin:4px 0}
#xl .xl-menu .ico{width:18px;text-align:center;color:#555}

/* Funktionsliste */
#xl .xl-fnlist{position:fixed;z-index:97;background:#fff;border:1px solid #c8c8c8;border-radius:6px;box-shadow:0 6px 24px rgba(0,0,0,.18);max-height:320px;overflow:auto;width:300px;display:none;padding:4px}
#xl .xl-fnlist button{display:block;width:100%;text-align:left;background:none;border:0;padding:6px 10px;cursor:pointer;border-radius:4px;font-size:13px}
#xl .xl-fnlist button:hover{background:var(--xgl)}
#xl .xl-fnlist button small{display:block;color:#777;font-size:11px}

#xl textarea.xl-kb{position:fixed;left:-1000px;top:0;width:10px;height:10px;opacity:0}

@media (max-width:760px){
  #xl .xl-title input{min-width:60px}
  #xl .xl-title .xl-tbtn.ghost{display:none}
  #xl .xl-ribbon{min-height:0}
}

/* Formel-Assistent */
#xl .xl-ac{position:fixed;z-index:98;background:#fff;border:1px solid #c8c8c8;border-radius:4px;box-shadow:0 6px 20px rgba(0,0,0,.18);width:320px;max-height:262px;overflow-y:auto;display:none;padding:3px 0}
#xl .xl-ac .it{display:flex;align-items:baseline;gap:8px;padding:5px 10px;cursor:pointer;font-size:13px;white-space:nowrap;overflow:hidden}
#xl .xl-ac .it b{font-weight:600;color:#1f1f1f}
#xl .xl-ac .it small{color:#777;font-size:11px;overflow:hidden;text-overflow:ellipsis}
#xl .xl-ac .it .fx{font-style:italic;font-family:Georgia,serif;color:var(--xg);font-size:12px;width:14px;flex-shrink:0}
#xl .xl-ac .it.on{background:#d2e8d9}
#xl .xl-hint{position:fixed;z-index:97;background:#fffdf2;border:1px solid #c8c8c8;border-radius:3px;box-shadow:0 2px 8px rgba(0,0,0,.12);padding:3px 8px;font-size:12px;color:#333;display:none;white-space:nowrap}
#xl .xl-hint .fn{color:var(--xg2);font-weight:600}
#xl .xl-hint b{font-weight:700;color:#000}

/* Tabellen („Als Tabelle formatieren“) */
#xl .xl-rtabs button.xl-ctx{color:#fff;opacity:1;box-shadow:inset 0 -3px 0 #ffd27a}
#xl .xl-rtabs button.xl-ctx.on{color:var(--xg2);box-shadow:inset 0 -3px 0 #e8a33a}
#xl .xl-lbl{font-size:12px;color:#444}
#xl .xl-tname{height:26px;width:150px;border:1px solid #c8c8c8;border-radius:4px;padding:0 6px;font-size:13px;outline:none;font-family:inherit}
#xl .xl-tname:focus{border-color:var(--xg);box-shadow:0 0 0 2px rgba(33,115,70,.18)}
#xl .xl-tquick{display:grid;grid-template-columns:repeat(4,34px);gap:4px;margin-right:4px}
#xl .xl-tsw{display:flex;flex-direction:column;width:34px;height:26px;border:1px solid #c8c8c8;cursor:pointer;background:#fff;padding:1px;border-radius:2px}
#xl .xl-tsw i{flex:1;display:block}
#xl .xl-tsw:hover{outline:2px solid #e8a33a;outline-offset:0}
#xl .xl-tsw.on{outline:2px solid var(--xg);outline-offset:0}
#xl .xl-tgal{padding:6px 8px 8px}
#xl .xl-tgl{font-size:12px;font-weight:600;color:#555;padding:6px 2px 4px}
#xl .xl-tgr{display:grid;grid-template-columns:repeat(8,48px);gap:6px}
#xl .xl-tgr .xl-tsw{width:48px;height:36px}
#xl table.xl-t td.fh{position:relative;padding-right:22px}
#xl .xl-fbtn{position:absolute;right:2px;top:50%;transform:translateY(-50%);width:17px;height:17px;border:1px solid #b9b9b9;background:#fff;border-radius:2px;font-size:10px;line-height:15px;text-align:center;color:#444;cursor:pointer;font-weight:400}
#xl .xl-fbtn:hover{background:#e9f3ec;border-color:var(--xg)}
#xl .xl-dlg{position:fixed;inset:0;z-index:99;background:rgba(0,0,0,.18);display:none;align-items:center;justify-content:center}
#xl .xl-dlgbox{background:#fff;border:1px solid #c8c8c8;border-radius:8px;box-shadow:0 12px 40px rgba(0,0,0,.25);padding:16px 18px;width:330px;display:flex;flex-direction:column;gap:8px}
#xl .xl-dlgt{font-weight:600;font-size:14px;margin-bottom:2px}
#xl .xl-dlgin{height:30px;border:1px solid #c8c8c8;border-radius:4px;padding:0 8px;font-size:13px;outline:none;font-family:inherit}
#xl .xl-dlgin:focus{border-color:var(--xg);box-shadow:0 0 0 2px rgba(33,115,70,.18)}
#xl .xl-dlgb{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}
#xl .xl-dlgb button{border:1px solid #c8c8c8;background:#fff;border-radius:5px;padding:6px 16px;cursor:pointer;font-size:13px}
#xl .xl-dlgb button.ok{background:var(--xg);border-color:var(--xg);color:#fff;font-weight:600}

/* Schnellzugriff Rückgängig/Wiederholen in der Titelleiste */
#xl .xl-title .xl-qa{background:none;border:0;color:#fff;width:30px;height:30px;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;flex-shrink:0}
#xl .xl-title .xl-qa svg{width:18px;height:18px}
#xl .xl-title .xl-qa:hover{background:rgba(255,255,255,.18)}
#xl .xl-title .xl-qa.dis{opacity:.4;cursor:default}
#xl .xl-title .xl-qa.dis:hover{background:none}

/* Eigene Tabellenfarbe */
#xl .xl-tcols{display:flex;flex-wrap:wrap;gap:5px;align-items:center;max-width:430px}
#xl .xl-tcols span{width:22px;height:22px;border-radius:3px;cursor:pointer;border:1px solid rgba(0,0,0,.15)}
#xl .xl-tcols span:hover{outline:2px solid #e8a33a}
#xl .xl-tcols button{width:auto;display:inline-block;padding:4px 10px;margin-left:4px;border:1px solid #c8c8c8;border-radius:4px;background:#fff;font-size:12px}

/* Registerfarbe */
#xl .xl-sheets .st .tc{position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--tabc)}
#xl .xl-sheets .st.on .tc{height:3px}

/* Diagramme */
#xl .xl-charts{position:absolute;left:0;top:0;width:0;height:0;z-index:2}
#xl .xl-chart{position:absolute;background:#fff;border:1px solid #d0d0d0;box-shadow:0 1px 4px rgba(0,0,0,.08);cursor:move;user-select:none}
#xl .xl-chart svg{display:block;width:100%;height:100%}
#xl .xl-chart.sel{border-color:var(--xg);box-shadow:0 0 0 1px var(--xg),0 4px 14px rgba(0,0,0,.14)}
#xl .xl-chart .xl-chz{position:absolute;right:-5px;bottom:-5px;width:11px;height:11px;background:#fff;border:1px solid var(--xg);cursor:nwse-resize;display:none}
#xl .xl-chart.sel .xl-chz{display:block}
#xl .xl-chart [data-tip]{cursor:pointer}
#xl .xl-ctip{position:fixed;z-index:99;display:none;background:#1f1f1f;color:#fff;font-size:12px;padding:5px 9px;border-radius:5px;pointer-events:none;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.25)}
#xl .rb.big .ri svg{width:24px;height:24px}
