:root{--blue:#1976c9;--blue2:#0b5da7;--navy:#12314b;--line:#c7d0da;--bg:#e9edf2;--panel:#fff;--text:#26323d;--muted:#687684;--sel:#d9ebff}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:"Segoe UI",Tahoma,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:14px}a{color:inherit}.dm-app{display:flex;flex-direction:column;min-height:100vh}.topbar{height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;background:linear-gradient(#087bc8,#0069ae);color:#fff;border-bottom:1px solid #004e86;box-shadow:0 1px 4px #0004}.brand{display:flex;align-items:center;gap:9px}.brand-mark{width:28px;height:28px;border-radius:7px;background:linear-gradient(#ffd85a,#f2a500);border:2px solid #fff8;display:grid;place-items:center;font-weight:900;color:#18466a;box-shadow:inset 0 1px #fff}.brand-logo{width:34px;height:34px;display:block;object-fit:contain;border-radius:50%;flex:0 0 34px;box-shadow:0 1px 3px #0004}.brand strong{display:block;font-size:14px}.brand span{display:block;font-size:9px;opacity:.75}.top-actions{display:flex;align-items:center;gap:16px;font-size:12px}.top-actions a{color:#fff;text-decoration:none}.user-chip{background:#ffffff18;border:1px solid #ffffff22;padding:5px 9px;border-radius:12px}.ribbon-tabs{height:31px;background:#eef2f6;border-bottom:1px solid #b8c3ce;display:flex;align-items:end;padding-left:12px;gap:2px}.ribbon-tabs .tab{padding:7px 17px 6px;text-decoration:none;color:#314454;font-size:12px;border:1px solid transparent;border-bottom:0}.ribbon-tabs .tab.active{background:#fff;border-color:#bcc6d0;border-radius:5px 5px 0 0;font-weight:700}.ribbon{min-height:87px;background:linear-gradient(#fbfcfd,#e6ebf0);border-bottom:1px solid #adb8c4;display:flex;padding:5px 10px;gap:10px;box-shadow:0 2px 5px #0002}.ribbon-group{display:flex;align-items:stretch;gap:2px;border-right:1px solid #c0c9d1;padding-right:9px;position:relative}.ribbon-group:last-child{border:0}.ribbon-btn{min-width:64px;padding:5px 8px;text-decoration:none;text-align:center;border:1px solid transparent;border-radius:4px;color:#273d50;font-size:10px;display:flex;flex-direction:column;justify-content:center;gap:4px}.ribbon-btn:hover{background:#dbeafa;border-color:#9ebfe0}.ribbon-btn.primary{background:linear-gradient(#4b9ee0,#1774ba);color:#fff;border-color:#17659f}.rb-icon{font-size:23px;line-height:25px}.ribbon-caption{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:9px;color:#6c7883}.crumbbar{height:31px;background:#fff;border-bottom:1px solid #c8d0d8;padding:6px 12px;display:flex;gap:8px;align-items:center;color:#65717d;font-size:12px}.crumbbar a{text-decoration:none;color:#1769a8}.crumb-spacer{flex:1}.status-dot{width:8px;height:8px;background:#36a65a;border-radius:50%;display:inline-block}.workspace{flex:1;display:grid;grid-template-columns:275px minmax(400px,1fr) 315px;min-height:0}.sidebar{background:#f5f7f9;border-right:1px solid #bdc7d0;display:flex;flex-direction:column;min-width:0}.side-head{height:42px;padding:8px 11px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(#f9fafb,#e8edf2);border-bottom:1px solid #ccd4dc}.side-head strong{font-size:13px}.icon-btn{border:1px solid #b8c4cf;background:#fff;border-radius:3px;width:27px;height:27px;cursor:pointer;color:#1769a8;font-size:17px}.side-search{padding:8px;border-bottom:1px solid #d2d9df}.side-search input{width:100%;height:28px;border:1px solid #b8c3ce;border-radius:3px;padding:4px 8px;outline:none}.special-folders{padding:6px 5px;border-bottom:1px solid #d1d8df}.special{display:flex;align-items:center;gap:7px;padding:6px 8px;border-radius:3px;text-decoration:none;color:#344756;font-size:12px}.special:hover,.special.active{background:#dcecff;color:#075b9c}.special em{margin-left:auto;font-style:normal;color:#7a8791;font-size:10px}.tree-scroll{overflow:auto;flex:1;padding:7px 4px}.folder-tree{list-style:none;margin:0;padding:0}.folder-tree .folder-tree{padding-left:14px}.folder-node{margin:1px 0}.tree-toggle{display:inline-block;width:15px;color:#788590;font-size:12px}.folder-link{display:inline-flex;align-items:center;gap:5px;text-decoration:none;padding:4px 5px;border-radius:3px;width:calc(100% - 17px);font-size:12px;color:#334654}.folder-link:hover{background:#e5edf5}.folder-link.active{background:#cfe6fb;color:#075b9c;font-weight:600;box-shadow:inset 2px 0 #1976c9}.folder-icon{font-size:15px}.storage-card{padding:9px 12px;border-top:1px solid #ccd5dd;background:#edf1f4;font-size:11px}.storage-title{font-weight:700;margin-bottom:5px}.storage-line{display:flex;justify-content:space-between;color:#6a7680}.storage-bar{height:6px;background:#d4dbe1;border-radius:5px;margin:6px 0}.storage-bar i{display:block;height:100%;background:#2386ca;border-radius:5px}.storage-card small{color:#77828b}.content-pane{background:#fff;min-width:0;display:flex;flex-direction:column}.content-head{display:flex;justify-content:space-between;align-items:center;padding:14px 17px 9px}.content-head h1{margin:0;font-size:20px;font-weight:600;color:#263d50}.content-head p{margin:3px 0 0;color:#7a8791;font-size:11px}.view-tools{display:flex;gap:3px}.view-btn{height:29px;min-width:30px;border:1px solid #bbc5cf;background:#f7f9fb;color:#52626e;border-radius:3px;text-decoration:none;display:grid;place-items:center;cursor:pointer}.view-btn.active,.view-btn:hover{background:#dcecff;border-color:#8eb7dc;color:#075b9c}.big-search{margin:0 17px 8px;display:flex;border:1px solid #aebbc7;border-radius:3px;height:35px;overflow:hidden;background:#fff}.big-search span{font-size:20px;padding:4px 9px;color:#7c8994}.big-search input{border:0;outline:0;flex:1;font-size:12px}.big-search button{border:0;border-left:1px solid #aebbc7;background:#edf3f8;color:#24506e;padding:0 16px;cursor:pointer}.toolbar-row{height:33px;padding:5px 17px;border-top:1px solid #e0e4e8;border-bottom:1px solid #cbd4dc;background:#f2f5f7;display:flex;align-items:center;color:#6a7781;font-size:11px}.toolbar-row strong{color:#273e51}.toolbar-spacer{flex:1}.small-btn{border:1px solid #b9c5cf;background:#fff;border-radius:3px;padding:4px 8px;margin-left:5px;font-size:10px;color:#415565;cursor:pointer}.document-grid{padding:13px 15px;display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:13px;overflow:auto;align-content:start}.doc-card{position:relative;text-decoration:none;color:inherit;border:1px solid #cbd3db;border-radius:4px;background:#f9fafb;overflow:hidden;box-shadow:0 1px 2px #0001}.doc-card:hover{border-color:#79acd3;box-shadow:0 2px 8px #0002}.doc-card.selected{border:2px solid #2782c5;background:#eef7ff}.thumb{height:145px;background:linear-gradient(135deg,#dce1e6,#f6f8fa);display:grid;place-items:center;border-bottom:1px solid #d1d7dd}.thumb-paper{width:78px;height:101px;background:#fff;border:1px solid #c2cbd4;box-shadow:3px 4px 9px #0002;position:relative;padding:25px 10px 10px;display:block}.thumb-paper b{position:absolute;top:8px;left:9px;font-size:9px;color:#c43c32;background:#f5e1df;padding:2px 4px}.thumb-paper i{height:4px;background:#d6dce2;display:block;margin:7px 0;border-radius:2px}.thumb-paper i:nth-child(3){width:80%}.thumb-paper i:nth-child(4){width:65%}.thumb-paper i:nth-child(5){width:90%}.thumb.pdf .thumb-paper b{color:#c22}.thumb.jpg .thumb-paper,.thumb.jpeg .thumb-paper,.thumb.png .thumb-paper,.thumb.tif .thumb-paper,.thumb.tiff .thumb-paper{background:linear-gradient(135deg,#cce7ef,#f9fbfb)}.doc-card-body{padding:8px 9px 9px}.doc-title{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-meta,.doc-date{font-size:10px;color:#7a8790;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.favorite{position:absolute;right:7px;top:7px;color:#e6a700;font-size:16px;text-shadow:0 1px #fff}.preview-pane{background:#f3f5f7;border-left:1px solid #bdc7d0;display:flex;flex-direction:column;min-width:0}.preview-head{height:42px;padding:8px 12px;background:linear-gradient(#f9fafb,#e8edf2);border-bottom:1px solid #c9d1d9;display:flex;justify-content:space-between;align-items:center}.preview-head span{font-size:10px;color:#7b8790}.preview-paper{margin:18px auto 12px;width:215px;height:275px;background:#fff;border:1px solid #c8d0d7;box-shadow:0 4px 14px #0002;position:relative;padding:48px 25px}.preview-icon{position:absolute;top:18px;left:20px;font-size:13px;font-weight:700;color:#c23d35;background:#f5e3e1;padding:3px 6px}.preview-lines i{display:block;height:5px;background:#e0e4e8;margin:12px 0;border-radius:2px}.preview-lines i:nth-child(1){width:85%;height:7px;background:#c8d2db}.preview-lines i:nth-child(3){width:65%}.preview-lines i:nth-child(4){width:91%}.preview-lines i:nth-child(5){width:74%}.preview-watermark{position:absolute;bottom:17px;right:14px;color:#d7dce0;font-size:9px}.preview-info{padding:0 15px}.preview-info h2{font-size:15px;margin:5px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.muted{font-size:10px;color:#78848e;margin:0 0 13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-info dl{font-size:11px;display:grid;grid-template-columns:75px 1fr;gap:7px;margin:0}.preview-info dt{color:#78848e}.preview-info dd{margin:0;color:#344654;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-actions{display:flex;gap:6px;margin-top:16px}.button,.outline-btn{display:inline-block;border-radius:3px;padding:7px 12px;text-decoration:none;cursor:pointer;font-size:11px;border:1px solid #1870b5}.button{background:linear-gradient(#318ed0,#0968a9);color:#fff}.outline-btn{background:#fff;color:#1769a8}.no-preview{flex:1;display:grid;place-items:center;text-align:center;padding:40px;color:#87939c}.no-preview span{font-size:42px;display:block}.no-preview p{font-size:11px}.empty-docs{grid-column:1/-1;text-align:center;padding:70px 20px;color:#7b8790}.empty-illustration{font-size:55px}.empty-docs h2{font-size:18px;color:#40525f;margin:8px}.empty-docs p{font-size:12px}.dm-message{margin:0 15px 10px}.statusbar{height:24px;background:#dce2e7;border-top:1px solid #aeb9c3;display:flex;align-items:center;gap:20px;padding:0 8px;font-size:10px;color:#66737d}.status-spacer{flex:1}.dm-dialog{border:0;border-radius:5px;padding:0;width:min(480px,calc(100% - 30px));box-shadow:0 15px 60px #0005}.dm-dialog::backdrop{background:#001a2c88}.dm-dialog form{padding:22px}.dm-dialog h2{margin:0 0 7px;color:#244158;font-size:18px}.dm-dialog p{color:#72808a;font-size:11px}.dm-dialog label{display:block;font-size:11px;font-weight:600;margin:14px 0}.dm-dialog input,.dm-dialog select{display:block;width:100%;height:35px;margin-top:5px;border:1px solid #b9c5cf;border-radius:3px;padding:5px 8px}.dialog-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:18px}.error{padding:10px;border-radius:3px;background:#fde5e3;color:#9e2c24;border:1px solid #edc0bb;font-size:11px}@media(max-width:1100px){.workspace{grid-template-columns:230px minmax(400px,1fr)}.preview-pane{display:none}}@media(max-width:760px){.top-actions a:not(:last-child),.ribbon-group:nth-child(n+3){display:none}.workspace{grid-template-columns:1fr}.sidebar{display:none}.ribbon{overflow:auto}.document-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}

.folder-node:not(.expanded)>.children{display:none}.tree-toggle{cursor:pointer}.real-thumb{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;padding:8px;background:#fff}
.page-shell{padding:18px 22px;overflow:auto;flex:1;background:linear-gradient(135deg,#eef2f5,#e5eaf0)}
.page-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:13px}.page-title h1{margin:2px 0 3px;font-size:24px;color:#263e52}.page-title p{margin:0;color:#74818b;font-size:12px}.eyebrow{font-size:9px;letter-spacing:1.2px;color:#2879b7;font-weight:700}.page-actions{display:flex;gap:7px}.subnav,.admin-tabs{display:flex;gap:2px;background:#dfe6ec;border:1px solid #c2ccd5;padding:3px;border-radius:4px;margin-bottom:14px}.subnav a,.admin-tabs a{padding:7px 12px;text-decoration:none;color:#405564;font-size:11px;border-radius:3px}.subnav a.active,.subnav a:hover,.admin-tabs a.active,.admin-tabs a:hover{background:#fff;color:#0b609f;box-shadow:0 1px 2px #0001}.info-panel{background:#e7f3fd;border:1px solid #b8d8ef;border-left:4px solid #2385c8;padding:10px 13px;margin-bottom:14px;border-radius:3px}.info-panel strong{color:#185b88;font-size:12px}.info-panel p{margin:4px 0 0;font-size:11px;color:#5f7484}.form-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:15px}.card{background:#fff;border:1px solid #c6d0d9;border-radius:4px;box-shadow:0 2px 7px #0001;padding:16px}.professional-card{min-width:0}.card-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:10px;margin-bottom:13px;border-bottom:1px solid #e0e5e9}.card-head h2,.card h2{margin:0;color:#30495d;font-size:16px}.card-head span{font-size:10px;color:#7b8790}.dropzone{min-height:180px;border:2px dashed #a9c4d9;border-radius:5px;background:linear-gradient(#f9fcfe,#f0f6fa);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;cursor:pointer;margin-bottom:15px}.dropzone:hover{border-color:#3188c5;background:#eef7fd}.dropzone input{position:absolute;opacity:0;width:1px;height:1px}.drop-icon{font-size:38px;color:#2681bf}.dropzone strong{font-size:14px;color:#315166}.dropzone small{color:#7c8b95}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.card label{display:block;font-size:11px;font-weight:600;color:#4b5d69;margin-bottom:12px}.card input,.card select,.card textarea{display:block;width:100%;margin-top:5px;border:1px solid #b9c5cf;border-radius:3px;background:#fff;padding:7px 9px;font:inherit;font-size:12px;color:#30414d}.card textarea{resize:vertical}.info-item{padding:12px 0;border-bottom:1px solid #e5e9ed}.info-item:last-child{border:0}.info-item b{display:block;font-size:11px;color:#365165;margin-bottom:3px}.info-item span{font-size:10px;color:#74828d;line-height:1.5}.document-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:15px;min-height:calc(100vh - 245px)}.viewer-card{display:flex;flex-direction:column;min-height:500px}.full-preview{flex:1;min-height:450px;background:#dfe4e8;display:flex;align-items:center;justify-content:center;padding:18px;overflow:auto}.full-preview img{max-width:100%;max-height:72vh;object-fit:contain;background:#fff;box-shadow:0 3px 14px #0003}.pdf-view{padding:0}.pdf-view iframe{width:100%;height:100%;min-height:520px;border:0;background:#fff}.no-preview.large{min-height:420px}.property-list{display:grid;grid-template-columns:90px 1fr;gap:9px 12px;font-size:11px}.property-list dt{color:#7a8790}.property-list dd{margin:0;color:#344957;overflow:hidden;text-overflow:ellipsis}.property-list .break{word-break:break-all}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.feature-card{background:#fff;border:1px solid #c6d0d9;border-radius:4px;padding:18px;box-shadow:0 2px 7px #0001}.feature-card>span{font-size:28px;color:#1976c9}.feature-card h2{margin:10px 0 5px}.feature-card p,.help-card p,.help-card li{font-size:11px;color:#687782;line-height:1.55}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.metric-grid div{background:#eef4f8;border:1px solid #d2dde5;border-radius:4px;padding:15px;text-align:center}.metric-grid b{display:block;font-size:24px;color:#176da9}.metric-grid span{font-size:10px;color:#73818b}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:11px}th,td{padding:8px;border-bottom:1px solid #e2e7eb;text-align:left}th{color:#63727d;background:#f4f6f8}.folder-admin-list{display:flex;flex-direction:column}.folder-admin-list a{padding:8px;border-bottom:1px solid #e3e8ec;text-decoration:none;color:#245d84;font-size:11px}.success{padding:10px;border-radius:3px;background:#e5f5e9;color:#267442;border:1px solid #b9dfc2;font-size:11px}.login{background:linear-gradient(135deg,#dbe5ed,#eef3f7);display:grid;place-items:center}.loginbox{width:min(430px,calc(100% - 30px));background:#fff;border:1px solid #b9c5cf;border-radius:6px;box-shadow:0 12px 45px #0002;overflow:hidden}.login-head{background:linear-gradient(#087bc8,#0069ae);color:#fff;padding:20px 24px}.login-head .brand{margin-bottom:7px}.loginbox form{padding:22px}.loginbox label{display:block;font-size:11px;font-weight:600;color:#4b5d69;margin-bottom:13px}.loginbox input{display:block;width:100%;margin-top:5px;height:38px;border:1px solid #b9c5cf;border-radius:3px;padding:7px 9px}.loginbox button{width:100%;height:38px;border:1px solid #17659f;background:linear-gradient(#318ed0,#0968a9);color:#fff;border-radius:3px;cursor:pointer}.loginbox .login-note{text-align:center;font-size:10px;color:#7a8791;margin:12px 0 0}@media(max-width:1000px){.form-layout,.document-detail-grid,.admin-grid{grid-template-columns:1fr}.feature-grid{grid-template-columns:1fr 1fr}}@media(max-width:650px){.form-grid,.metric-grid{grid-template-columns:1fr}.page-shell{padding:12px}.page-title{align-items:flex-start;flex-direction:column}.feature-grid{grid-template-columns:1fr}}
.checkline{display:flex!important;align-items:center;gap:8px;margin:10px 0 14px!important;font-weight:600!important}.checkline input{width:auto!important;margin:0!important}.warning-panel{background:#fff5df;border:1px solid #ecd39d;border-left:4px solid #d79a16;padding:10px 12px;border-radius:3px;margin-bottom:14px}.warning-panel strong{color:#8a5c00;font-size:12px}.warning-panel p{margin:4px 0 0;font-size:11px;color:#735f36;line-height:1.5}.ready-backup{margin-top:14px;padding:10px;background:#e9f7ed;border:1px solid #b9dfc2;border-radius:3px;font-size:11px}.ready-backup a{color:#176da9;font-weight:700}.backup-list-card{margin-top:15px}.admin-note{font-size:11px;color:#6c7b85;line-height:1.55}.small-btn{cursor:pointer}
/* Professional installation screen */
.installer-page{background:linear-gradient(135deg,#dbe4eb 0%,#eef2f5 52%,#dce4ea 100%);min-height:100vh;color:#263846}
.installer-shell{min-height:100vh;display:flex;flex-direction:column}
.installer-topbar{height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:linear-gradient(#087bc8,#0069ae);color:#fff;border-bottom:1px solid #004f84;box-shadow:0 2px 7px #0003}
.installer-topbar .brand{gap:10px}.installer-topbar .brand-mark{width:34px;height:34px;border-radius:8px;font-size:19px}.installer-topbar .brand strong{font-size:16px}.installer-topbar .brand span{font-size:9px}.installer-version{font-size:10px;letter-spacing:.4px;opacity:.9}
.installer-ribbon{height:38px;display:flex;align-items:stretch;padding-left:22px;background:linear-gradient(#f9fafb,#e2e8ed);border-bottom:1px solid #b7c2cb;box-shadow:0 1px 3px #0002}.installer-ribbon-tab{padding:11px 19px 9px;font-size:11px;color:#52616d;border-right:1px solid #d2d9df}.installer-ribbon-tab.active{background:#fff;color:#1769a8;font-weight:700;border-left:1px solid #c5ced6;border-right:1px solid #c5ced6}.installer-ribbon-spacer{flex:1}.installer-status{display:flex;align-items:center;gap:7px;padding:0 22px;color:#65737d;font-size:10px}.installer-status i,.green-dot{width:8px;height:8px;border-radius:50%;background:#36a65a;display:inline-block}
.installer-main{width:min(1120px,calc(100% - 34px));margin:22px auto 18px;flex:1}.installer-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:17px}.installer-heading h1{font-size:26px;font-weight:600;margin:3px 0 5px;color:#263e52}.installer-heading p{margin:0;max-width:760px;color:#71808b;font-size:12px;line-height:1.5}.installer-badge{width:82px;height:82px;background:#fff;border:1px solid #c2ccd4;border-radius:6px;box-shadow:0 2px 8px #0001;display:grid;place-items:center;align-content:center}.installer-badge span{font-size:30px;font-weight:700;color:#1976c9;line-height:1}.installer-badge small{font-size:9px;color:#7a8790;margin-top:4px}
.installer-grid{display:grid;grid-template-columns:1.25fr .95fr;gap:16px}.installer-card{background:#fff;border:1px solid #c2ccd5;border-radius:5px;box-shadow:0 3px 10px #0002;padding:18px}.installer-card-head{display:flex;align-items:center;gap:12px;padding-bottom:14px;margin-bottom:15px;border-bottom:1px solid #e0e5e9}.installer-card-icon{width:39px;height:39px;border-radius:6px;background:linear-gradient(#eaf5fd,#d7eafa);border:1px solid #b8d2e5;display:grid;place-items:center;color:#176da9;font-size:20px}.installer-card-head h2{font-size:16px;color:#30495d;margin:0 0 3px}.installer-card-head p{font-size:10px;color:#7b8790;margin:0}
.installer-fields{display:grid;grid-template-columns:1fr 1fr;gap:13px 15px}.installer-fields.single{grid-template-columns:1fr}.installer-field.full{grid-column:1/-1}.installer-field label{display:block;font-size:11px;font-weight:700;color:#3e5361;margin:0 0 3px}.field-help{font-size:9px;color:#7a8790;line-height:1.35;min-height:13px;margin-bottom:5px}.installer-field input{display:block;width:100%;height:37px;padding:7px 10px;border:1px solid #b7c3cd;border-radius:3px;background:#fff;color:#2e414e;font:inherit;font-size:12px;box-shadow:inset 0 1px 2px #00000008}.installer-field input:focus{outline:none;border-color:#4c98cc;box-shadow:0 0 0 2px #1976c91a}.installer-security-note{margin-top:16px;padding:10px 11px;border:1px solid #d5e4ee;border-left:4px solid #2385c8;background:#f1f8fd;border-radius:3px}.installer-security-note strong{display:block;color:#245a7d;font-size:10px;margin-bottom:3px}.installer-security-note span{display:block;color:#6a7c88;font-size:9px;line-height:1.5}.installer-security-note code{font-family:Consolas,monospace}
.installer-alert{margin-bottom:15px;padding:12px 14px;border-radius:4px;display:flex;flex-direction:column;gap:4px;font-size:11px}.installer-alert-error{background:#fde9e7;border:1px solid #edc4be;border-left:4px solid #c63f34;color:#7e3029}.installer-alert-error strong{font-size:12px}.installer-info-strip{margin-top:16px;background:#eaf2f7;border:1px solid #c6d6e1;border-radius:5px;display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden}.installer-info-strip>div{padding:12px 14px;border-right:1px solid #d1dde5}.installer-info-strip>div:last-child{border-right:0}.installer-info-strip strong{display:block;font-size:10px;color:#385568;margin-bottom:3px}.installer-info-strip span{font-size:9px;line-height:1.45;color:#73828d;display:block}.installer-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 2px 4px}.installer-footer-note{font-size:10px;color:#6d7b85;display:flex;align-items:center;gap:7px}.installer-primary{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:39px;padding:0 18px;border:1px solid #17659f;border-radius:4px;background:linear-gradient(#3a96d7,#0968a9);color:#fff;text-decoration:none;font-size:11px;font-weight:700;box-shadow:0 1px 2px #0002;cursor:pointer}.installer-primary:hover{background:linear-gradient(#4ba1df,#0870b5)}.installer-submit{min-width:195px}.installer-submit span{font-size:10px}.installer-success-box{background:#fff;border:1px solid #bcd9c4;border-left:5px solid #38a15a;border-radius:5px;box-shadow:0 3px 12px #0001;padding:24px;display:flex;align-items:center;gap:18px}.installer-success-icon{width:55px;height:55px;border-radius:50%;background:#e4f4e8;color:#2e8c4a;display:grid;place-items:center;font-size:30px;font-weight:700}.installer-success-box h2{margin:0 0 4px;color:#2d5c3b}.installer-success-box p{font-size:11px;color:#71807a;margin:0 0 15px}.installer-bottom{height:31px;display:flex;align-items:center;gap:24px;padding:0 22px;background:#d7dfe5;border-top:1px solid #adb9c3;color:#687680;font-size:9px}.installer-bottom span:first-child{font-weight:700;color:#466072}.installer-bottom span:last-child{margin-left:auto}
@media(max-width:850px){.installer-topbar{padding:0 14px}.installer-version{display:none}.installer-main{width:calc(100% - 20px);margin-top:14px}.installer-grid{grid-template-columns:1fr}.installer-info-strip{grid-template-columns:1fr}.installer-info-strip>div{border-right:0;border-bottom:1px solid #d1dde5}.installer-info-strip>div:last-child{border-bottom:0}.installer-heading{align-items:flex-start}.installer-badge{display:none}}
@media(max-width:560px){.installer-fields{grid-template-columns:1fr}.installer-field.full{grid-column:auto}.installer-footer{align-items:stretch;flex-direction:column}.installer-submit{width:100%}.installer-ribbon{padding-left:8px;overflow:auto}.installer-ribbon-tab{white-space:nowrap;padding-left:12px;padding-right:12px}.installer-status{display:none}.installer-bottom span:nth-child(2),.installer-bottom span:nth-child(3){display:none}}
.installer-backup-card{margin-top:16px}.installer-backup-choice{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.backup-choice{display:flex;gap:9px;align-items:flex-start;padding:12px;border:1px solid #c7d2db;background:#f7fafc;border-radius:4px;cursor:pointer}.backup-choice:has(input:checked){border-color:#4b98cb;background:#eef7fd;box-shadow:0 0 0 2px #1976c91a}.backup-choice input{margin-top:2px}.backup-choice b{display:block;font-size:11px;color:#345267}.backup-choice small{display:block;margin-top:3px;font-size:9px;line-height:1.4;color:#788791}.backup-source-panel{padding:13px;border:1px solid #d6dfe5;background:#fbfcfd;border-radius:4px;margin-bottom:12px}.backup-ftp-options{display:flex;gap:20px;flex-wrap:wrap;margin-top:12px;font-size:10px;color:#667781}.backup-ftp-options input{vertical-align:middle}.installer-backup-warning{padding:11px 13px;border:1px solid #ead6ad;border-left:4px solid #d99b28;background:#fff9eb;border-radius:3px}.installer-backup-warning strong{display:block;font-size:10px;color:#765515;margin-bottom:3px}.installer-backup-warning span{display:block;font-size:9px;line-height:1.5;color:#796f5b}@media(max-width:850px){.installer-backup-choice{grid-template-columns:1fr}}

/* DocumentManager – professionelles Sicherheitsdialogfenster */
.dm-confirm-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(28,43,54,.48);backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:opacity .16s ease,visibility .16s ease}.dm-confirm-overlay.open{opacity:1;visibility:visible}.dm-confirm-modal{position:relative;width:min(610px,calc(100vw - 32px));display:grid;grid-template-columns:130px 1fr;gap:20px;padding:25px 27px 23px;background:linear-gradient(#fff,#f6f8fa);border:1px solid #aebbc5;border-radius:7px;box-shadow:0 18px 55px rgba(0,0,0,.28),0 2px 7px rgba(0,0,0,.14);transform:translateY(7px) scale(.985);transition:transform .16s ease}.dm-confirm-overlay.open .dm-confirm-modal{transform:translateY(0) scale(1)}.dm-confirm-close{position:absolute;right:10px;top:8px;width:30px;height:30px;border:0;background:transparent;color:#74828b;font-size:23px;line-height:30px;border-radius:4px;cursor:pointer}.dm-confirm-close:hover{background:#e8edf1;color:#304654}.dm-confirm-sign{display:flex;align-items:center;justify-content:center;min-height:180px}.dm-confirm-sign svg,.dm-confirm-sign img{width:122px;height:122px;object-fit:contain;filter:drop-shadow(0 5px 5px rgba(0,0,0,.22))}.dm-confirm-content{padding:4px 10px 0 0}.dm-confirm-eyebrow{font-size:9px;letter-spacing:1.25px;color:#71808a;font-weight:800;margin-bottom:4px}.dm-confirm-content h2{margin:0 0 9px;color:#29465a;font-size:20px;font-weight:650}.dm-confirm-content p{margin:0 0 12px;color:#596b76;font-size:12px;line-height:1.55}.dm-confirm-file{display:flex;align-items:center;gap:8px;min-height:37px;padding:7px 10px;background:#eef4f8;border:1px solid #d1dce3;border-radius:4px;color:#385568;font-size:11px;word-break:break-all}.dm-confirm-file span{font-size:16px}.dm-confirm-warning{margin-top:10px;padding:9px 10px;border-left:4px solid #d79a16;background:#fff6e3;border-top:1px solid #ead8ad;border-right:1px solid #ead8ad;border-bottom:1px solid #ead8ad;border-radius:3px;color:#765c28;font-size:10px;line-height:1.45}.dm-confirm-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.dm-confirm-actions button{min-height:35px;padding:0 14px;border-radius:4px;font:inherit;font-size:11px;font-weight:700;cursor:pointer}.dm-confirm-secondary{border:1px solid #b8c4cc;background:linear-gradient(#fff,#edf1f4);color:#465c69}.dm-confirm-secondary:hover{background:#e8eef2}.dm-confirm-danger{border:1px solid #a92b25;background:linear-gradient(#d9534f,#b92f29);color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.12)}.dm-confirm-danger:hover{background:linear-gradient(#df625e,#c3342d)}@media(max-width:560px){.dm-confirm-modal{grid-template-columns:1fr;padding:20px}.dm-confirm-sign{min-height:125px}.dm-confirm-sign svg,.dm-confirm-sign img{width:98px;height:98px}.dm-confirm-content{padding-right:0}.dm-confirm-actions{flex-direction:column-reverse}.dm-confirm-actions button{width:100%}}

/* Stabiler Datei-Import: Dateiname sichtbar, ohne Layout-Verschiebung */
.dropzone{position:relative;box-sizing:border-box;overflow:hidden;}
.dropzone input{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:0!important;cursor:pointer!important;z-index:2!important;}
.dropzone .drop-icon,.dropzone strong,.dropzone small,.dropzone .drop-hint{position:relative;z-index:1;}
.dropzone small{font-size:11px;color:#7c8b95;max-width:90%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dropzone small.selected{font-weight:700;color:#176da9;background:#e6f3fc;border:1px solid #b8d8ee;border-radius:3px;padding:4px 9px;}
.dropzone .drop-hint{font-size:10px;color:#8a979f;}
.dropzone.dragover{border-color:#1976c9;background:#e9f5fd;box-shadow:inset 0 0 0 2px #1976c922;}

/* Dokumentansichten */
.doc-card{display:flex;flex-direction:column}.doc-main-link{display:block;text-decoration:none;color:inherit;min-width:0}.doc-card-actions{display:flex;gap:5px;padding:6px 8px;border-top:1px solid #e1e6ea;background:#f3f6f8}.doc-card-actions form{margin:0}.doc-card-actions .small-btn{margin:0;padding:4px 7px}.danger-btn{color:#a22b24;background:#fff5f4;border-color:#dfb6b2}.doc-description{font-size:10px;color:#667681;margin-top:5px;white-space:normal;line-height:1.35;max-height:28px;overflow:hidden}.doc-date{white-space:nowrap}.real-thumb{max-width:100%;max-height:100%;object-fit:contain}.document-grid.docview-list{display:flex;flex-direction:column;gap:4px;padding:8px 15px}.docview-list .doc-card{display:grid;grid-template-columns:70px minmax(0,1fr) auto;align-items:center}.docview-list .thumb{height:58px;border:0}.docview-list .thumb-paper{transform:scale(.5)}.docview-list .doc-card-body{padding:7px 10px}.docview-list .doc-card-actions{border-top:0;border-left:1px solid #e1e6ea;background:transparent}.docview-list .doc-description{max-height:34px}.document-grid.docview-details{display:flex;flex-direction:column;gap:3px;padding:8px 15px}.docview-details .doc-card{display:grid;grid-template-columns:80px minmax(150px,1.3fr) minmax(150px,1fr) 130px 160px;align-items:center}.docview-details .thumb{height:64px;border:0}.docview-details .doc-card-body{display:contents}.docview-details .doc-title{padding:8px}.docview-details .doc-meta,.docview-details .doc-date,.docview-details .doc-description{padding:8px;margin:0}.docview-details .doc-card-actions{background:transparent;border:0}.docview-details .doc-description{max-height:36px}.docview-details .doc-card:first-child{}.docview-details .doc-card:hover{background:#f5f9fc}.docview-details .doc-card .doc-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:900px){.docview-details .doc-card{grid-template-columns:65px minmax(0,1fr) auto}.docview-details .doc-meta,.docview-details .doc-date,.docview-details .doc-description{display:none}}
.small-btn{display:inline-block;text-decoration:none}
.dm-message{margin:0 auto 12px;max-width:760px}

/* Windows-Explorer-ähnliche Dokumentansichten und Sortierung */
.view-tools{align-items:center;flex-wrap:nowrap}
.view-btn{font-family:"Segoe UI",Arial,sans-serif}
.view-icon{display:block;line-height:1;font-weight:600}
.view-large{font-size:18px;letter-spacing:-3px}
.view-small{font-size:9px;letter-spacing:-2px;line-height:12px}
.view-list{font-size:17px;transform:scaleX(.9)}
.view-details{font-size:16px;letter-spacing:-2px}
.view-content{font-size:17px}
.sort-form{display:flex;align-items:center;gap:5px;margin:0 8px 0 0;font-size:10px;color:#64737d}
.sort-form label{white-space:nowrap}
.sort-form select{height:27px;min-width:145px;padding:2px 25px 2px 7px;border:1px solid #b9c5cf;border-radius:3px;background:#fff;color:#405463;font:inherit;cursor:pointer}
.sort-form select:hover,.sort-form select:focus{border-color:#75a8cf;outline:none}
.sort-dir{width:28px;height:27px;padding:0;border:1px solid #b9c5cf;border-radius:3px;background:#fff;color:#31566f;font-size:15px;cursor:pointer}
.sort-dir:hover{background:#eaf3fa;border-color:#78a9ce}
.file-icon{position:relative;display:flex;align-items:center;justify-content:center;width:78px;height:96px;background:linear-gradient(145deg,#fff,#f1f4f6);border:1px solid #b9c3cc;border-radius:2px;box-shadow:2px 3px 8px #0002;overflow:hidden}
.file-icon:before{content:"";position:absolute;right:0;top:0;width:21px;height:21px;background:#e5e9ed;clip-path:polygon(0 0,100% 100%,0 100%)}
.file-icon b{position:relative;z-index:1;margin-top:8px;min-width:32px;padding:4px 5px;border-radius:2px;text-align:center;font-size:9px;line-height:1;color:#fff;background:#60798a;letter-spacing:.2px}
.file-icon.type-pdf b{background:#c53d35}.file-icon.type-doc b,.file-icon.type-docx b{background:#2d70b7}.file-icon.type-xls b,.file-icon.type-xlsx b{background:#32824c}.file-icon.type-jpg b,.file-icon.type-jpeg b,.file-icon.type-png b,.file-icon.type-gif b,.file-icon.type-tif b,.file-icon.type-tiff b{background:#7b58a8}.file-icon.type-txt b,.file-icon.type-csv b{background:#687c8b}

/* Große Symbole */
.document-grid.docview-tiles{grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:14px}
.docview-tiles .thumb .file-icon{width:78px;height:96px}

/* Kleine Symbole – Explorer-ähnliche kompakte Kacheln */
.document-grid.docview-small{grid-template-columns:repeat(auto-fill,150px);column-gap:6px;row-gap:3px;justify-content:start;padding:8px 12px}
.docview-small .doc-card{display:grid;grid-template-columns:45px 1fr;min-height:50px;max-width:150px;border:1px solid transparent;border-radius:2px;background:transparent;box-shadow:none;overflow:visible}
.docview-small .doc-card:hover{background:#edf5fb;border-color:#c7dceb;box-shadow:none}
.docview-small .thumb{height:48px;border:0;background:transparent}
.docview-small .thumb .file-icon{width:31px;height:38px;box-shadow:1px 2px 4px #0002}
.docview-small .thumb .file-icon b{min-width:22px;padding:2px 2px;font-size:6px;margin-top:4px}
.docview-small .real-thumb{width:38px;height:40px;padding:1px;background:#fff;border:1px solid #c4cdd5}
.docview-small .doc-card-body{padding:6px 5px 4px 0;min-width:0}
.docview-small .doc-title{font-size:11px;font-weight:600}
.docview-small .doc-meta{display:none}
.docview-small .doc-date{font-size:9px;margin-top:2px}
.docview-small .doc-description{display:none}
.docview-small .doc-card-actions{grid-column:1 / -1;display:none}
.docview-small .favorite{right:3px;top:2px;font-size:12px}

/* Liste – deutlich näher an der Windows-Explorer-Listenansicht */
.document-grid.docview-list{padding:4px 12px;gap:0}
.docview-list .doc-card{grid-template-columns:48px minmax(0,1fr) auto;min-height:50px;border:1px solid transparent;border-bottom-color:#e3e8ec;border-radius:0;background:#fff;box-shadow:none}
.docview-list .doc-card:hover{border-color:#c8dce9;background:#f3f8fc;box-shadow:none}
.docview-list .thumb{height:48px;background:transparent;border:0}
.docview-list .thumb .file-icon{width:30px;height:37px;box-shadow:1px 2px 4px #0002}
.docview-list .thumb .file-icon b{min-width:21px;padding:2px;font-size:6px;margin-top:4px}
.docview-list .real-thumb{width:38px;height:40px;padding:1px;background:#fff;border:1px solid #c4cdd5}
.docview-list .doc-card-body{padding:6px 10px;display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(130px,1fr) minmax(150px,1fr) 180px;gap:10px;align-items:center;min-width:0}
.docview-list .doc-title{font-size:11px;font-weight:600}
.docview-list .doc-meta,.docview-list .doc-date,.docview-list .doc-description{font-size:9px;margin:0;max-height:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.docview-list .doc-card-actions{padding:4px 5px;border:0;background:transparent;align-self:center}
.docview-list .doc-card-actions .small-btn{padding:3px 6px;font-size:9px}

/* Details – Explorer-ähnliche Spalten */
.document-grid.docview-details{padding:0 12px 10px;gap:0}
.docview-details .doc-card{grid-template-columns:42px minmax(220px,1.4fr) minmax(130px,.8fr) 115px 150px 175px;min-height:48px;border:0;border-bottom:1px solid #e0e5e9;border-radius:0;background:#fff;box-shadow:none}
.docview-details .doc-card:hover{background:#edf5fb;box-shadow:none}
.docview-details .thumb{height:46px;background:transparent;border:0}
.docview-details .thumb .file-icon{width:27px;height:34px;box-shadow:1px 2px 3px #0002}
.docview-details .thumb .file-icon b{min-width:18px;padding:2px;font-size:5px;margin-top:3px}
.docview-details .real-thumb{width:34px;height:36px;padding:1px;background:#fff;border:1px solid #c4cdd5}
.docview-details .doc-card-body{display:contents}
.docview-details .doc-title,.docview-details .doc-meta,.docview-details .doc-date,.docview-details .doc-description{padding:7px 8px;margin:0;min-width:0}
.docview-details .doc-title{font-size:10px;font-weight:600}
.docview-details .doc-meta,.docview-details .doc-date,.docview-details .doc-description{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-height:none}
.docview-details .doc-card-actions{background:transparent;border:0;padding:4px 3px}
.docview-details .doc-card-actions .small-btn{padding:3px 5px;font-size:8px}
.docview-details .favorite{right:2px;top:2px;font-size:11px}

/* Inhalt – Name plus Metadaten und Beschreibung */
.document-grid.docview-content{display:flex;flex-direction:column;gap:0;padding:0 12px 10px}
.docview-content .doc-card{display:grid;grid-template-columns:58px minmax(190px,1.2fr) minmax(145px,.85fr) minmax(180px,1fr) 155px;align-items:center;min-height:76px;border:0;border-bottom:1px solid #dfe5e9;border-radius:0;background:#fff;box-shadow:none}
.docview-content .doc-card:hover{background:#f1f7fb}
.docview-content .thumb{height:68px;background:transparent;border:0}
.docview-content .thumb .file-icon{width:38px;height:48px;box-shadow:1px 2px 4px #0002}
.docview-content .thumb .file-icon b{font-size:6px;min-width:22px;padding:2px}
.docview-content .real-thumb{width:48px;height:56px;padding:1px;background:#fff;border:1px solid #c4cdd5}
.docview-content .doc-card-body{padding:8px 10px;min-width:0}
.docview-content .doc-title{font-size:11px;font-weight:600}
.docview-content .doc-meta,.docview-content .doc-date{font-size:9px;margin-top:3px}
.docview-content .doc-description{font-size:9px;margin:0;padding:8px;max-height:48px}
.docview-content .doc-card-actions{background:transparent;border:0;padding:4px}

@media(max-width:1100px){
  .sort-form{margin-right:3px}
  .sort-form label{display:none}
  .docview-list .doc-card-body{grid-template-columns:minmax(160px,1.4fr) minmax(110px,1fr) 145px}
  .docview-list .doc-description{display:none}
  .docview-details .doc-card{grid-template-columns:40px minmax(180px,1fr) minmax(120px,.7fr) 105px auto}
  .docview-details .doc-description{display:none}
  .docview-content .doc-card{grid-template-columns:55px minmax(160px,1fr) minmax(120px,.85fr) minmax(160px,1fr) 145px}
}
@media(max-width:760px){
  .view-tools .view-btn:nth-child(2),.view-tools .view-btn:nth-child(5){display:none}
  .sort-form select{min-width:105px}
  .docview-list .doc-card-body{grid-template-columns:minmax(150px,1fr) 125px}
  .docview-list .doc-meta{display:none}
  .docview-content .doc-card{grid-template-columns:50px minmax(0,1fr) auto}
  .docview-content .doc-meta,.docview-content .doc-date,.docview-content .doc-description{display:none}
}
.details-header{display:grid;grid-template-columns:42px minmax(220px,1.4fr) minmax(130px,.8fr) 115px 150px 175px;align-items:center;height:30px;margin:0 12px;border-top:1px solid #c8d1d8;border-bottom:1px solid #b9c5ce;background:linear-gradient(#f8fafb,#e8edf1);color:#526570;font-size:9px;font-weight:700}
.details-header span{padding:0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-right:1px solid #d4dbe0;height:100%;display:flex;align-items:center}
.details-header span:first-child{padding:0}
.details-header a{color:inherit;text-decoration:none;display:flex;align-items:center;gap:4px;width:100%;height:100%}
.details-header a:hover{color:#075b9c;background:#e1edf6}
.details-header .sort-arrow{font-size:10px;color:#176da9}
@media(max-width:1100px){.details-header{grid-template-columns:40px minmax(180px,1fr) minmax(120px,.7fr) 105px auto}.details-header span:nth-child(5){display:none}}
@media(max-width:760px){.details-header{display:none}}
/* Detailansicht: echte Explorer-Spalten */
.document-grid.docview-details .doc-card{grid-template-columns:42px minmax(210px,1.5fr) minmax(120px,.9fr) 65px 125px 95px minmax(120px,.9fr) 170px}
.docview-details .details-body{display:contents}
.docview-details .details-body .doc-title,
.docview-details .details-body .doc-meta,
.docview-details .details-body .doc-type,
.docview-details .details-body .doc-date,
.docview-details .details-body .doc-size,
.docview-details .details-body .doc-author{padding:7px 8px;margin:0;min-width:0;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.docview-details .details-body .doc-title{font-size:10px;font-weight:600}
.docview-details .details-body .doc-type{font-weight:700;color:#536d7d}
.docview-details .details-body .doc-size{text-align:right}
.docview-details .details-body .doc-author{color:#506875}
.details-header{grid-template-columns:42px minmax(210px,1.5fr) minmax(120px,.9fr) 65px 125px 95px minmax(120px,.9fr) 170px}
@media(max-width:1100px){
  .document-grid.docview-details .doc-card{grid-template-columns:40px minmax(180px,1.3fr) minmax(110px,.8fr) 60px 105px 85px minmax(100px,.8fr) 135px}
  .details-header{grid-template-columns:40px minmax(180px,1.3fr) minmax(110px,.8fr) 60px 105px 85px minmax(100px,.8fr) 135px}
}
@media(max-width:900px){
  .document-grid.docview-details .doc-card{grid-template-columns:40px minmax(180px,1fr) minmax(100px,.7fr) 60px 105px 85px 120px}
  .details-header{grid-template-columns:40px minmax(180px,1fr) minmax(100px,.7fr) 60px 105px 85px 120px}
  .details-header span:nth-child(8),.docview-details .doc-card-actions{display:none}
}

/* 1.04.19: kompakte Windows-Explorer-Anmutung */
.document-grid.docview-small{grid-template-columns:repeat(auto-fill,minmax(135px,1fr));column-gap:4px;row-gap:2px;padding:4px 6px;align-content:start}
.docview-small .doc-card{grid-template-columns:48px minmax(0,1fr);min-height:48px;height:50px;border:0;border-radius:2px;padding:0 2px}
.docview-small .thumb{width:48px;height:48px;display:grid;place-items:center;overflow:hidden;background:transparent;border:0}
.docview-small .thumb .file-icon{width:42px;height:42px;box-shadow:1px 1px 3px #0002;border-radius:2px}
.docview-small .thumb .file-icon b{min-width:25px;font-size:7px;padding:2px;margin-top:2px}
.docview-small .real-thumb{width:42px;height:42px;object-fit:cover;border:1px solid #c5ced6;border-radius:2px;box-shadow:1px 1px 3px #0002}
.docview-small .doc-card-body{padding:3px 3px 3px 2px;align-self:center;min-width:0}
.docview-small .doc-title{font-size:10px;font-weight:500;line-height:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.docview-small .doc-date,.docview-small .favorite{display:none}
.docview-small .doc-card:hover{background:#e8f2fb;border-color:#c7dceb}
@media(max-width:700px){.document-grid.docview-small{grid-template-columns:repeat(auto-fill,minmax(115px,1fr));column-gap:2px}.docview-small .doc-card{grid-template-columns:46px minmax(0,1fr)}.docview-small .thumb{width:46px}.docview-small .thumb .file-icon,.docview-small .real-thumb{width:40px;height:40px}}

/* 1.04.19: Inhalt-Ansicht mit exakt gleichen Spalten wie der Kopf */
.content-header{display:grid;grid-template-columns:58px minmax(190px,1.2fr) minmax(145px,.85fr) minmax(180px,1fr) 155px;align-items:center;height:28px;margin:0 12px;border-bottom:1px solid #cfd7de;background:#f3f6f8;color:#566774;font-size:10px;font-weight:600}
.content-header span{padding:0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-right:1px solid #d7dee4;height:100%;display:flex;align-items:center}
.content-header span:first-child{padding:0}
.docview-content .doc-card{grid-template-columns:58px minmax(190px,1.2fr) minmax(180px,1fr) 180px auto}
.docview-content .content-body{display:contents}
.docview-content .content-body .doc-title{grid-column:3;padding:8px 10px;font-size:11px;font-weight:600;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.docview-content .content-body .doc-content-meta{grid-column:4;padding:7px 10px;min-width:0;font-size:9px;line-height:14px;color:#647582;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.docview-content .content-body .doc-description{padding:8px 10px;margin:0;font-size:9px;line-height:13px;max-height:48px;white-space:normal;overflow:hidden}
.docview-content .doc-card-actions{padding:4px;background:transparent;border:0}
@media(max-width:1100px){.content-header{grid-template-columns:55px minmax(160px,1fr) minmax(120px,.85fr) minmax(160px,1fr) 145px}.docview-content .doc-card{grid-template-columns:55px minmax(160px,1fr) minmax(120px,.85fr) minmax(160px,1fr) 145px}.content-header span:nth-child(4){display:none}.docview-content .content-body .doc-description{display:none}}

/* 1.04.20: Explorer-Zeilen korrigiert – Kopf und Inhalt verwenden exakt dieselben Spalten */
@media(min-width:761px){
  .docview-details .doc-main-link,
  .docview-content .doc-main-link{display:contents}

  .docview-details .doc-card{
    display:grid;
    grid-template-columns:42px minmax(210px,1.5fr) minmax(120px,.9fr) 65px 125px 95px minmax(120px,.9fr) 170px;
    align-items:center;
    min-height:48px;
  }
  .docview-details .doc-card-body{display:contents}
  .docview-details .thumb{height:46px}

  .docview-content .doc-card{
    display:grid;
    grid-template-columns:58px minmax(190px,1.2fr) minmax(145px,.85fr) minmax(180px,1fr) 155px;
    align-items:center;
    min-height:68px;
  }
  .docview-content .doc-card-body{display:contents}
  .docview-content .thumb{height:68px}
  .docview-content .doc-card-actions{align-self:stretch;display:flex;align-items:center;justify-content:center}
}

/* Kleine Symbole: kompakte Explorer-Anordnung ohne große Leerflächen */
.document-grid.docview-small{
  grid-template-columns:repeat(auto-fill,minmax(105px,1fr));
  grid-auto-rows:40px;
  gap:0;
  padding:3px 6px;
}
.docview-small .doc-card{height:40px;min-height:40px;margin:0;padding:0 2px}
.docview-small .doc-card-body{padding:2px 2px 2px 0}
.docview-small .doc-title{font-size:10px;line-height:11px}
/* Echte Dokumentvorschau im rechten Vorschaufenster */
.preview-paper{padding:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#dfe4e8}
.preview-real{display:block;width:100%;height:100%;object-fit:contain;background:#fff}

/* 1.04.25: Content view uses the same grid columns for header and every document row. */
.docview-content .doc-main-link{display:contents}
.docview-content .content-body{display:contents}
.docview-content .doc-title,
.docview-content .doc-content-meta,
.docview-content .doc-description{min-width:0}
.docview-content .doc-content-meta{padding:8px 10px;font-size:9px;color:#5f707c;line-height:1.45;overflow:hidden}
.docview-content .doc-description{padding:8px 10px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-height:none}
.docview-content .doc-card-actions{grid-column:5;align-self:center}
@media(max-width:900px){
  .docview-content .doc-card{grid-template-columns:52px minmax(140px,1fr) minmax(115px,.82fr) minmax(130px,1fr) 135px}
}

/* 1.04.26: Dateiliste, Kopfzeile und Inhaltsbereich exakt auf dieselben Seitenränder ausrichten. */
.content-pane > .document-grid {
  margin-left: 17px;
  margin-right: 17px;
}
.content-pane > .details-header,
.content-pane > .content-header {
  margin-left: 17px;
  margin-right: 17px;
}
/* Die Listenansichten dürfen keine zusätzlichen horizontalen Innenabstände gegenüber
   ihrer Kopfzeile erhalten. */
.document-grid.docview-list,
.document-grid.docview-details,
.document-grid.docview-content {
  padding-left: 0;
  padding-right: 0;
}
/* Kleine Symbole bleiben kompakt, werden aber ebenfalls exakt innerhalb des
   Dokumentbereichs ausgerichtet. */
.document-grid.docview-small {
  padding-left: 0;
  padding-right: 0;
}

/* 1.04.35 – Inhalt: Kopfzeile und Dokumentzeilen exakt synchronisieren.
   Die Auswahl-Checkbox ist eine eigene Spalte vor dem Dateisymbol. */
.content-header{
  display:grid;
  grid-template-columns:36px 52px minmax(150px,1fr) minmax(125px,.82fr) minmax(150px,1fr) 165px;
  margin:0 17px;
  height:30px;
}
.content-header span{min-width:0;}
.content-header span:nth-child(1),
.content-header span:nth-child(2){padding:0;text-align:center;justify-content:center;}
.document-grid.docview-content{
  display:flex;
  flex-direction:column;
  gap:0;
  padding:0 17px 10px;
}
.docview-content .doc-card{
  display:grid;
  grid-template-columns:36px 52px minmax(150px,1fr) minmax(125px,.82fr) minmax(150px,1fr) 165px;
  align-items:center;
  min-height:68px;
  width:100%;
  border:0;
  border-bottom:1px solid #dfe5e9;
  border-radius:0;
  background:#fff;
  box-shadow:none;
}
 .docview-content .doc-main-link{display:contents;}
.docview-content .doc-select-wrap{
  grid-column:1;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  margin:0;
}
.docview-content .doc-select-wrap input{
  position:static;
  width:15px;
  height:15px;
  margin:0;
}
.docview-content .content-body{display:contents;}
.docview-content .thumb{grid-column:2;height:60px;background:transparent;border:0;display:grid;place-items:center;}
.docview-content .thumb .file-icon{width:36px;height:46px;}
.docview-content .real-thumb{width:46px;height:54px;padding:1px;background:#fff;border:1px solid #c4cdd5;object-fit:contain;}
.docview-content .content-body .doc-title{padding:8px 10px;min-width:0;font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.docview-content .content-body .doc-content-meta{padding:7px 10px;min-width:0;font-size:9px;line-height:14px;color:#647582;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.docview-content .content-body .doc-description{grid-column:5;display:block;padding:7px 10px;margin:0;min-width:0;font-size:9px;line-height:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-height:none;}
.docview-content .doc-card-actions{grid-column:6;align-self:center;display:flex;align-items:center;justify-content:center;gap:4px;padding:4px;background:transparent;border:0;}
.docview-content .doc-card-actions .small-btn{padding:3px 6px;font-size:9px;margin:0;}

/* Kleine Symbole: dichtes Explorer-Raster ohne die Lesbarkeit zu verlieren. */
.document-grid.docview-small{
  grid-template-columns:repeat(auto-fill,minmax(100px,1fr));
  gap:0;
  padding:4px 10px 10px;
  align-content:start;
}
.docview-small .doc-card{
  grid-template-columns:30px minmax(0,1fr);
  min-height:38px;
  height:38px;
  border:0;
  border-radius:2px;
  padding:0 2px;
  margin:0;
  background:transparent;
  box-shadow:none;
}
.docview-small .thumb{height:36px;display:grid;place-items:center;background:transparent;border:0;}
.docview-small .thumb .file-icon{width:22px;height:28px;box-shadow:1px 1px 2px #0002;}
.docview-small .thumb .file-icon b{min-width:16px;font-size:5px;padding:1px;margin-top:2px;}
.docview-small .real-thumb{width:28px;height:30px;padding:1px;background:#fff;border:1px solid #c4cdd5;object-fit:cover;}
.docview-small .doc-card-body{padding:2px 2px 2px 1px;align-self:center;min-width:0;}
.docview-small .doc-title{font-size:10px;font-weight:500;line-height:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.docview-small .doc-date,.docview-small .doc-meta,.docview-small .doc-description{display:none;}
.docview-small .doc-card-actions{display:none;}
.docview-small .favorite{right:1px;top:1px;font-size:10px;}
.docview-small .doc-card:hover{background:#e8f2fb;border-color:#c7dceb;}

/* 1.04.28: Inhalt-Spalten fein abgestimmt – Information etwas schmaler, Aktionen breiter. */
@media(min-width:901px){
  .content-header,
  .docview-content .doc-card{
    grid-template-columns:52px minmax(150px,1fr) minmax(125px,.82fr) minmax(150px,1fr) 150px;
  }
}
@media(max-width:900px) and (min-width:761px){
  .content-header,
  .docview-content .doc-card{
    grid-template-columns:52px minmax(140px,1fr) minmax(115px,.82fr) minmax(130px,1fr) 135px;
  }
}

/* 1.04.29 – Kleine Symbole: 1,5-fache Symbolgröße bei weiterhin kompakter Anordnung. */
.document-grid.docview-small{
  grid-template-columns:repeat(auto-fill,minmax(120px,1fr));
  grid-auto-rows:48px;
  gap:0;
  padding-top:2px;
  padding-bottom:2px;
}
.docview-small .doc-card{
  height:48px;
  min-height:48px;
  margin:0;
  padding:0 2px;
}
.docview-small .thumb{
  height:48px;
}
.docview-small .thumb .file-icon{
  width:36px;
  height:45px;
  box-shadow:1px 1px 2px #0002;
}
.docview-small .thumb .file-icon b{
  min-width:20px;
  font-size:6px;
  padding:1px 2px;
  margin-top:3px;
}
.docview-small .real-thumb{
  width:45px;
  height:45px;
}
.docview-small .doc-card-body{
  padding:2px 2px 2px 0;
}
.docview-small .doc-title{
  font-size:10px;
  line-height:12px;
}

/* 1.04.32 – Mehrfachauswahl und Sammelaktionen */
.bulk-toolbar{display:flex;align-items:center;gap:7px;min-height:38px;padding:5px 17px;background:#f8fafc;border-bottom:1px solid #cbd4dc;color:#536572;font-size:11px;position:relative;z-index:3}
.bulk-toolbar .select-all-label{display:flex;align-items:center;gap:5px;font-weight:600;white-space:nowrap;cursor:pointer}
.bulk-toolbar input[type=checkbox],.doc-select{accent-color:#1976c9}
.selection-count{color:#71808b;white-space:nowrap}
.bulk-spacer{flex:1}
.bulk-btn{border:1px solid #b7c4ce;background:#fff;border-radius:3px;padding:5px 9px;font-size:10px;color:#3e5362;cursor:pointer;white-space:nowrap}
.bulk-btn:hover:not(:disabled){background:#e7f2fb;border-color:#8db8da;color:#075b9c}
.bulk-btn:disabled{opacity:.45;cursor:not-allowed}
.bulk-btn.bulk-danger{color:#a12b24;background:#fff7f6;border-color:#ddb9b5}
.doc-select-wrap{position:absolute;left:7px;top:7px;width:19px;height:19px;z-index:8;display:grid;place-items:center;cursor:pointer}
.doc-select-wrap input{width:15px;height:15px;margin:0;cursor:pointer}
.doc-card.bulk-selected{outline:2px solid #2782c5;outline-offset:-2px;background:#eef7ff!important}
.docview-small .doc-select-wrap{left:2px;top:2px;width:16px;height:16px}
.docview-small .doc-select-wrap input{width:13px;height:13px}
.docview-small .doc-card{padding-left:20px}
.docview-list .doc-select-wrap,.docview-details .doc-select-wrap,.docview-content .doc-select-wrap{left:5px;top:50%;transform:translateY(-50%)}
.docview-list .doc-main-link,.docview-details .doc-main-link,.docview-content .doc-main-link{position:relative}
.docview-list .thumb,.docview-details .thumb,.docview-content .thumb{position:relative}
.docview-list .doc-card,.docview-details .doc-card,.docview-content .doc-card{overflow:visible}
@media(max-width:760px){.bulk-toolbar{overflow:auto}.bulk-toolbar .bulk-btn{padding:4px 7px}.selection-count{display:none}}

/* 1.04.33 – Mehrfachauswahl: Checkbox sauber VOR dem Dateisymbol
   in Liste, Details und Inhalt. Keine Überlagerung mehr. */
.docview-list .doc-card,
.docview-details .doc-card,
.docview-content .doc-card{
  position:relative;
}
.docview-list .doc-select-wrap,
.docview-details .doc-select-wrap,
.docview-content .doc-select-wrap{
  position:static;
  left:auto;
  top:auto;
  transform:none;
  width:28px;
  height:100%;
  min-height:100%;
  display:grid;
  place-items:center;
  z-index:2;
  cursor:pointer;
  margin:0;
  padding:0;
}
.docview-list .doc-select-wrap input,
.docview-details .doc-select-wrap input,
.docview-content .doc-select-wrap input{
  width:15px;
  height:15px;
  margin:0;
}

/* Liste: Auswahl | Symbol | Inhalt | Aktionen */
.document-grid.docview-list .doc-card{
  grid-template-columns:28px 48px minmax(0,1fr) auto;
}

/* Details: Auswahl | Symbol | Name | Ordner | Typ | Geändert | Größe | Autor | Aktionen */
.document-grid.docview-details .doc-card{
  grid-template-columns:28px 42px minmax(210px,1.5fr) minmax(120px,.9fr) 65px 125px 95px minmax(120px,.9fr) 170px;
}
.details-header{
  grid-template-columns:28px 42px minmax(210px,1.5fr) minmax(120px,.9fr) 65px 125px 95px minmax(120px,.9fr) 170px;
}

/* Inhalt: Auswahl | Symbol | Name | Information | Beschreibung | Aktionen */
.document-grid.docview-content .doc-card{
  grid-template-columns:28px 52px minmax(150px,1fr) minmax(125px,.82fr) minmax(150px,1fr) 150px;
}
.content-header{
  grid-template-columns:28px 52px minmax(150px,1fr) minmax(125px,.82fr) minmax(150px,1fr) 150px;
}

@media(max-width:1100px){
  .document-grid.docview-details .doc-card{
    grid-template-columns:28px 40px minmax(180px,1.3fr) minmax(110px,.8fr) 60px 105px 85px minmax(100px,.8fr) 135px;
  }
  .details-header{
    grid-template-columns:28px 40px minmax(180px,1.3fr) minmax(110px,.8fr) 60px 105px 85px minmax(100px,.8fr) 135px;
  }
  .document-grid.docview-content .doc-card{
    grid-template-columns:28px 50px minmax(140px,1fr) minmax(115px,.82fr) minmax(140px,1fr) 145px;
  }
  .content-header{
    grid-template-columns:28px 50px minmax(140px,1fr) minmax(115px,.82fr) minmax(140px,1fr) 145px;
  }
}

@media(max-width:900px){
  .document-grid.docview-details .doc-card{
    grid-template-columns:28px 40px minmax(180px,1fr) minmax(100px,.7fr) 60px 105px 85px 120px;
  }
  .details-header{
    grid-template-columns:28px 40px minmax(180px,1fr) minmax(100px,.7fr) 60px 105px 85px 120px;
  }
}

@media(max-width:760px){
  .document-grid.docview-list .doc-card{grid-template-columns:26px 44px minmax(0,1fr) auto}
  .document-grid.docview-content .doc-card{grid-template-columns:26px 48px minmax(0,1fr) auto}
  .content-header{grid-template-columns:26px 48px minmax(0,1fr) auto}
}

/* 1.04.34: Inhalt-Ansicht – Auswahl, Symbol und Spalten synchronisieren */
@media(min-width:761px){
  .content-header{
    grid-template-columns:32px 58px minmax(190px,1.2fr) minmax(150px,.82fr) minmax(180px,1fr) 170px;
  }
  .content-header span:first-child,
  .content-header span:nth-child(2){
    padding:0;
    justify-content:center;
  }
  .docview-content .doc-card{
    grid-template-columns:32px 58px minmax(190px,1.2fr) minmax(150px,.82fr) minmax(180px,1fr) 170px;
  }
  .docview-content .doc-select-wrap{
    grid-column:1;
    justify-self:center;
    align-self:center;
    position:static;
  }
  .docview-content .thumb{grid-column:2;}
  .docview-content .doc-card-body{display:contents}
  .docview-content .doc-card-actions{grid-column:6;}
}
@media(max-width:1100px) and (min-width:761px){
  .content-header{
    grid-template-columns:30px 55px minmax(160px,1fr) minmax(125px,.82fr) minmax(150px,1fr) 150px;
  }
  .docview-content .doc-card{
    grid-template-columns:30px 55px minmax(160px,1fr) minmax(125px,.82fr) minmax(150px,1fr) 150px;
  }
}

/* 1.04.36 – Inhalt: Kopfzeile und Dokumentzeilen exakt auf dieselbe horizontale Fläche bringen.
   Die Dokumentzeilen hatten durch margin + padding einen doppelten linken/rechten Abstand. */
@media(min-width:761px){
  .content-pane > .document-grid.docview-content{
    margin-left:17px;
    margin-right:17px;
    padding-left:0;
    padding-right:0;
  }
  .content-pane > .content-header{
    margin-left:17px;
    margin-right:17px;
  }
}
@media(max-width:760px){
  .content-pane > .document-grid.docview-content{
    margin-left:8px;
    margin-right:8px;
    padding-left:0;
    padding-right:0;
  }
  .content-pane > .content-header{
    margin-left:8px;
    margin-right:8px;
  }
}


/* 1.04.37 – Inhalt: Kopfzeile und Dokumentzeilen auch bei vertikalem Scrollbalken exakt synchron.
   Der Dokumentbereich besitzt einen Scrollbalken und ist dadurch schmaler als die
   statische Kopfzeile. Der zusätzliche rechte Innenraum gleicht diese Differenz aus. */
@media(min-width:761px){
  .content-pane > .content-header{
    margin-left:17px;
    margin-right:32px;
    padding-right:0;
  }
  .content-pane > .document-grid.docview-content{
    margin-left:17px;
    margin-right:17px;
    padding-left:0;
    padding-right:0;
    scrollbar-gutter:stable;
  }
  .content-pane > .content-header span:nth-child(3),
  .content-pane > .content-header span:nth-child(5){
    padding-left:12px;
  }
}
@media(max-width:760px){
  .content-pane > .content-header{
    margin-left:8px;
    margin-right:23px;
  }
}

/* 1.04.38 – Inhalt: Spaltenraster technisch identisch erzwingen. */
:root{--content-cols:32px 58px minmax(190px,1.2fr) minmax(150px,.82fr) minmax(180px,1fr) 170px;}
@media(min-width:1101px){
  .content-pane > .content-header,
  .content-pane > .document-grid.docview-content .doc-card{grid-template-columns:var(--content-cols) !important;}
}
@media(min-width:761px) and (max-width:1100px){
  :root{--content-cols:30px 55px minmax(160px,1fr) minmax(125px,.82fr) minmax(150px,1fr) 150px;}
  .content-pane > .content-header,
  .content-pane > .document-grid.docview-content .doc-card{grid-template-columns:var(--content-cols) !important;}
}
.docview-content .content-body .doc-title{grid-column:3 !important;grid-row:1;}
.docview-content .content-body .doc-content-meta{grid-column:4 !important;grid-row:1;}
.docview-content .content-body .doc-description{grid-column:5 !important;grid-row:1;}
.docview-content .doc-card-actions{grid-column:6 !important;grid-row:1;}
.docview-content .doc-select-wrap{grid-column:1 !important;grid-row:1;}
.docview-content .thumb{grid-column:2 !important;grid-row:1;}
@media(max-width:760px){
  .content-pane > .content-header,
  .content-pane > .document-grid.docview-content .doc-card{grid-template-columns:26px 48px minmax(0,1fr) auto !important;}
  .docview-content .content-body .doc-title{grid-column:3 !important;}
  .docview-content .content-body .doc-content-meta{grid-column:4 !important;}
  .docview-content .content-body .doc-description{display:none;}
  .docview-content .doc-card-actions{grid-column:4 !important;}
}

/* 1.04.39: Details-Ansicht – Kopfzeile und Dokumentzeilen exakt synchron.
   Auswahl und Dateisymbol erhalten eigene Spalten; der Dateiname bekommt bewusst mehr Platz. */
@media(min-width:761px){
  .details-header{
    grid-template-columns:48px 58px minmax(300px,2fr) minmax(125px,.9fr) 65px 125px 95px minmax(125px,.9fr) 180px;
    margin-left:15px;
    margin-right:15px;
  }
  .document-grid.docview-details .doc-card{
    grid-template-columns:48px 58px minmax(300px,2fr) minmax(125px,.9fr) 65px 125px 95px minmax(125px,.9fr) 180px;
  }
  .docview-details .doc-card .doc-select-wrap{grid-column:1;}
  .docview-details .doc-card .doc-main-link{display:contents;}
  .docview-details .doc-card .thumb{grid-column:2;}
  .docview-details .details-body .doc-title{grid-column:3;}
  .docview-details .details-body .doc-meta{grid-column:4;}
  .docview-details .details-body .doc-type{grid-column:5;}
  .docview-details .details-body .doc-date{grid-column:6;}
  .docview-details .details-body .doc-size{grid-column:7;}
  .docview-details .details-body .doc-author{grid-column:8;}
  .docview-details .doc-card-actions{grid-column:9;}
}

@media(max-width:1100px) and (min-width:761px){
  .details-header{
    grid-template-columns:42px 52px minmax(240px,1.8fr) minmax(110px,.9fr) 60px 110px 85px minmax(105px,.8fr) 150px;
  }
  .document-grid.docview-details .doc-card{
    grid-template-columns:42px 52px minmax(240px,1.8fr) minmax(110px,.9fr) 60px 110px 85px minmax(105px,.8fr) 150px;
  }
}

/* 1.04.69 – Installer muss unabhängig vom Hauptarbeitsbereich vertikal scrollen können.
   Die globale App-Regel body { overflow:hidden } darf den Installationsassistenten
   nicht blockieren. Dadurch bleiben auch Backup-Upload und FTP-Übernahme erreichbar. */
body.installer-page {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  height: auto !important;
  min-height: 100vh;
}
body.installer-page .installer-shell {
  min-height: 100vh;
  height: auto;
  max-height: none;
  overflow: visible;
}
body.installer-page .installer-main {
  flex: 0 0 auto;
}
body.installer-page .installer-bottom {
  flex-shrink: 0;
}

/* 1.04.40 – Statusleiste immer am unteren Rand des sichtbaren Arbeitsbereichs.
   Kopf-/Ribbonbereiche und Statusleiste schrumpfen nicht. Der eigentliche
   Arbeitsbereich übernimmt bei kleinen Fensterhöhen den verfügbaren Rest und
   scrollt ausschließlich innerhalb seiner eigenen Bereiche. */
html, body { height: 100%; min-height: 100%; }
body { overflow: hidden; }
.dm-app {
  height: 100vh;
  min-height: 100vh;
  max-height: 100vh;
  overflow: hidden;
}
.topbar,
.ribbon-tabs,
.ribbon,
.crumbbar,
.statusbar { flex-shrink: 0; }
.workspace {
  flex: 1 1 auto;
  min-height: 0;
  height: auto;
  overflow: hidden;
}
.sidebar,
.content-pane,
.preview-pane { min-height: 0; }
.statusbar {
  flex: 0 0 24px;
  min-height: 24px;
  height: 24px;
  position: relative;
  z-index: 20;
}
/* 1.04.62 – obere Icon-Menüzeile wieder 25 % größer */
.ribbon{min-height:63px;height:63px;padding:4px 8px;gap:6px}
.ribbon-group{gap:2px;padding-right:6px}
.ribbon-btn{min-width:63px;padding:3px 6px;font-size:10px;gap:2px;border-radius:3px}
.rb-icon{font-size:19px;line-height:20px}
.ribbon-caption{font-size:9px}
.folder-actions-inline{display:flex;gap:4px;padding:5px 8px;border-bottom:1px solid #d2d9df;background:#eef2f5}
.folder-actions-inline .small-btn{margin-left:0;flex:1}
.danger-btn{border-color:#d28a84!important;color:#a52d25!important;background:#fff7f6!important}

.dm-inline-warning{display:flex;gap:12px;align-items:center;padding:10px 12px;margin:10px 0 14px;background:#fff6e3;border:1px solid #ead8ad;border-left:4px solid #d79a16;border-radius:4px;color:#6f5727;font-size:11px;line-height:1.45}.dm-inline-warning strong{display:block;color:#8a5c00;margin-bottom:2px}.dm-inline-warning p{margin:0}.dm-warning-icon{width:38px;height:38px;flex:0 0 38px;display:flex}.dm-warning-icon svg{width:38px;height:38px}.dm-confirm-overlay{z-index:10000}

/* 1.04.64 – Löschwarnungen: Vorfahrt-gewähren-Schild */
.dm-warning-icon{align-items:center;justify-content:center;height:48px;flex:0 0 42px}.dm-warning-icon svg{width:42px;height:50px;display:block}.dm-confirm-sign svg{width:105px;height:143px}
/* 1.04.65 – professionelles Warnschild und Ordner-Verschieben */
.dm-warning-icon img{width:42px;height:56px;display:block;object-fit:contain;filter:drop-shadow(0 2px 2px rgba(0,0,0,.14))}
.dm-confirm-sign img{width:105px;height:143px;display:block;object-fit:contain;filter:drop-shadow(0 3px 3px rgba(0,0,0,.18))}
.dm-inline-info{display:flex;gap:10px;flex-direction:column;padding:10px 12px;margin:10px 0 14px;background:#eef6fc;border:1px solid #c9ddea;border-left:4px solid #287fbe;border-radius:4px;color:#466274;font-size:11px;line-height:1.45}
.dm-inline-info strong{color:#245d84}.dm-inline-info p{margin:0}
.folder-actions-inline .small-btn{min-width:0}

/* 1.04.83 – moderne Seitenaktionen im Ordnerbereich */
.storage-sync-wrap{padding:8px 8px 7px;border-bottom:1px solid #d2d9df;background:linear-gradient(180deg,#f8fbfd,#edf3f7)}
.storage-sync-btn{display:flex;align-items:center;gap:9px;min-height:43px;padding:7px 9px;text-decoration:none;border:1px solid #b8c9d6;border-radius:7px;background:linear-gradient(180deg,#ffffff,#edf5fa);color:#23475f;box-shadow:0 1px 2px #0001;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease}
.storage-sync-btn:hover{transform:translateY(-1px);border-color:#78a8c8;background:linear-gradient(180deg,#ffffff,#e4f1fa);box-shadow:0 3px 9px #0002}
.storage-sync-btn .action-icon{width:29px;height:29px;display:grid;place-items:center;border-radius:7px;background:linear-gradient(180deg,#3d9ad5,#126da9);color:#fff;font-size:19px;line-height:1;box-shadow:inset 0 1px #fff5,0 1px 2px #0002}
.storage-sync-btn strong,.folder-action-btn strong{display:block;font-size:11px;line-height:1.15;font-weight:700}
.storage-sync-btn small,.folder-action-btn small{display:block;margin-top:2px;font-size:9px;color:#74818b;line-height:1.15}
.storage-sync-btn>span:nth-child(2){min-width:0;flex:1}
.action-chevron{font-size:22px;color:#78909f;line-height:1}
.folder-actions-panel{padding:7px 7px 8px;border-bottom:1px solid #ccd5dd;background:linear-gradient(180deg,#eef3f6,#e5ebef)}
.folder-actions-title{display:flex;align-items:center;gap:6px;padding:1px 3px 6px;color:#687985;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.7px}
.folder-actions-dot{width:6px;height:6px;border-radius:50%;background:#2386ca;box-shadow:0 0 0 3px #d5e8f6}
.folder-actions-inline{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:0;border:0;background:transparent}
.folder-action-btn{min-width:0;min-height:48px;margin:0;padding:6px 5px;display:flex;align-items:center;gap:6px;text-align:left;border:1px solid #c2ccd5;border-radius:7px;background:linear-gradient(180deg,#fff,#f3f6f8);color:#334b5c;cursor:pointer;box-shadow:0 1px 2px #0001;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease}
.folder-action-btn:hover{transform:translateY(-1px);box-shadow:0 3px 8px #0002}
.folder-action-btn .action-icon{width:27px;height:27px;flex:0 0 27px;display:grid;place-items:center;border-radius:6px;font-size:16px;line-height:1;background:#e8f1f7;color:#24658d}
.rename-action:hover{border-color:#8fb8d5;background:#f7fbfe}.rename-action:hover .action-icon{background:#dceef9;color:#176da9}
.move-action:hover{border-color:#9ebca9;background:#f8fbf9}.move-action .action-icon{background:#e5f2e8;color:#327047}.move-action:hover .action-icon{background:#d8eddd;color:#27613a}
.delete-action{border-color:#dec3c0;background:linear-gradient(180deg,#fff,#fff8f7)}.delete-action .action-icon{background:#f9e5e3;color:#b23a32}.delete-action:hover{border-color:#d99b96;background:#fff4f2}.delete-action:hover .action-icon{background:#f5d8d5;color:#a42d25}
@media(max-width:1100px){.folder-action-btn strong{font-size:10px}.folder-action-btn small{font-size:8px}.folder-action-btn{gap:4px;padding-left:4px;padding-right:4px}}

/* 1.04.84 – Seitenleiste: professionelle, klare Ordneraktionen */
.folder-actions-panel{
  padding:10px 8px 9px;
  border-bottom:1px solid #cbd5dd;
  background:linear-gradient(180deg,#f7f9fb 0%,#edf2f5 100%);
}
.folder-actions-title{
  display:flex;
  align-items:center;
  gap:7px;
  padding:0 4px 8px;
  color:#526674;
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.8px;
}
.folder-actions-dot{
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:#287fba;
  box-shadow:0 0 0 3px #d9eaf5;
}
.folder-actions-list{
  display:flex;
  flex-direction:column;
  gap:5px;
}
.folder-action-btn{
  width:100%;
  min-height:43px;
  margin:0;
  padding:6px 7px;
  display:flex;
  align-items:center;
  gap:9px;
  text-align:left;
  border:1px solid #c4ced6;
  border-radius:6px;
  background:linear-gradient(180deg,#fff 0%,#f4f7f9 100%);
  color:#2f4656;
  cursor:pointer;
  box-shadow:0 1px 2px rgba(23,45,60,.08);
  transition:background .12s ease,border-color .12s ease,box-shadow .12s ease,transform .12s ease;
}
.folder-action-btn:hover{
  transform:translateY(-1px);
  background:#fff;
  border-color:#94afc2;
  box-shadow:0 3px 8px rgba(25,55,75,.13);
}
.folder-action-btn:active{transform:translateY(0);box-shadow:0 1px 2px rgba(23,45,60,.1)}
.folder-action-btn .action-icon{
  width:29px;
  height:29px;
  flex:0 0 29px;
  display:grid;
  place-items:center;
  border-radius:6px;
  font-size:15px;
  line-height:1;
  background:#e8f1f7;
  color:#24658d;
  box-shadow:inset 0 1px rgba(255,255,255,.8);
}
.folder-action-btn .action-copy{
  min-width:0;
  flex:1 1 auto;
  overflow:hidden;
}
.folder-action-btn strong{
  display:block;
  margin:0;
  font-size:11px;
  line-height:14px;
  font-weight:700;
  color:#294556;
  white-space:nowrap;
}
.folder-action-btn small{
  display:block;
  margin:1px 0 0;
  font-size:8.5px;
  line-height:11px;
  color:#74838e;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.action-arrow{
  flex:0 0 13px;
  color:#82939e;
  font-size:18px;
  line-height:1;
  text-align:center;
}
.rename-action .action-icon{background:#e6f0f7;color:#21658e}
.rename-action:hover .action-icon{background:#d9ebf7;color:#145f8d}
.move-action .action-icon{background:#e5f1e8;color:#317048}
.move-action:hover .action-icon{background:#d6ebdc;color:#27633a}
.delete-action{border-color:#d8c2bf;background:linear-gradient(180deg,#fff 0%,#fff8f7 100%)}
.delete-action .action-icon{background:#f8e5e2;color:#b43b33}
.delete-action:hover{border-color:#d49a94;background:#fff4f2}
.delete-action:hover .action-icon{background:#f4d7d4;color:#a72f28}
.storage-sync-wrap{
  padding:8px;
  border-bottom:1px solid #d0d8df;
  background:#edf2f5;
}
.storage-sync-btn{
  min-height:43px;
  padding:7px 9px;
  gap:9px;
  border-radius:6px;
  background:linear-gradient(180deg,#fafdff 0%,#eaf3f8 100%);
  border:1px solid #aec5d4;
  box-shadow:0 1px 3px rgba(28,58,78,.1);
}
.storage-sync-btn:hover{
  transform:translateY(-1px);
  border-color:#75a5c2;
  background:linear-gradient(180deg,#fff 0%,#e2f0f8 100%);
  box-shadow:0 3px 9px rgba(25,65,90,.15);
}
.storage-sync-btn .action-icon{
  width:29px;
  height:29px;
  flex:0 0 29px;
  border-radius:6px;
  font-size:17px;
}
.storage-sync-btn .sync-copy{min-width:0;flex:1 1 auto}
.storage-sync-btn strong{font-size:11px;line-height:14px;color:#24516c}
.storage-sync-btn small{font-size:8.5px;line-height:11px}
.action-chevron{flex:0 0 13px;font-size:18px;color:#78909f;text-align:center}
@media(max-width:1100px){
  .folder-action-btn strong,.storage-sync-btn strong{font-size:10.5px}
  .folder-action-btn small,.storage-sync-btn small{font-size:8px}
}

/* 1.04.85 – Ordneraktionen: kompakte professionelle Symbolleiste unter der Serversynchronisation */
.folder-actions-panel{
  padding:7px 8px 8px;
  border-bottom:1px solid #cbd5dd;
  background:linear-gradient(180deg,#f5f8fa 0%,#e9eef2 100%);
}
.folder-actions-title{
  display:flex;
  align-items:center;
  gap:6px;
  padding:0 3px 6px;
  color:#60727e;
  font-size:8.5px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.75px;
}
.folder-actions-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
}
.folder-action-btn{
  width:100%;
  height:47px;
  min-width:0;
  margin:0;
  padding:5px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #c3ced6;
  border-radius:7px;
  background:linear-gradient(180deg,#fff 0%,#f1f5f7 100%);
  cursor:pointer;
  box-shadow:0 1px 2px rgba(25,50,65,.10),inset 0 1px rgba(255,255,255,.9);
  transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease;
}
.folder-action-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 3px 8px rgba(25,55,75,.16),inset 0 1px rgba(255,255,255,.9);
}
.folder-action-btn:active{transform:translateY(0);box-shadow:0 1px 2px rgba(25,50,65,.12)}
.folder-action-btn:focus-visible{outline:2px solid #287fba;outline-offset:1px}
.folder-action-btn .action-icon{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:7px;
}
.folder-action-btn .action-icon svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.rename-action .action-icon{background:#e4f0f7;color:#21688f}
.rename-action:hover{border-color:#8db5cf;background:#f8fcfe}
.rename-action:hover .action-icon{background:#d5eaf7;color:#145e89}
.move-action .action-icon{background:#e5f1e8;color:#327049}
.move-action:hover{border-color:#99bca4;background:#f8fcf9}
.move-action:hover .action-icon{background:#d6ebdb;color:#27623a}
.delete-action{border-color:#d8c3c0;background:linear-gradient(180deg,#fff 0%,#fff8f7 100%)}
.delete-action .action-icon{background:#f8e5e2;color:#b13b33}
.delete-action:hover{border-color:#d49a94;background:#fff4f2}
.delete-action:hover .action-icon{background:#f4d6d3;color:#a52f28}

/* Serversynchronisation steht bewusst vor der kompakten Symbolleiste. */
.storage-sync-wrap{padding:8px 8px 7px}

/* 1.04.86 – Hochwertige, grafische Ordneraktionsleiste nach dem neuen UI-Entwurf */
.storage-sync-wrap{
  padding:10px 8px 9px;
  border-bottom:0;
  background:linear-gradient(180deg,#f7fafc 0%,#edf3f7 100%);
}
.storage-sync-btn{
  position:relative;
  overflow:hidden;
  min-height:72px;
  padding:8px 12px;
  gap:11px;
  border:1px solid #8ebbd9;
  border-radius:11px;
  background:linear-gradient(135deg,#45b5f2 0%,#198bd8 48%,#0b67b6 100%);
  color:#fff;
  box-shadow:0 3px 8px rgba(20,87,130,.22),inset 0 1px rgba(255,255,255,.45);
  transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;
}
.storage-sync-btn::after{
  content:"";
  position:absolute;
  right:-35px;
  top:-45px;
  width:150px;
  height:150px;
  border-radius:50%;
  border:18px solid rgba(255,255,255,.07);
  box-shadow:0 0 0 18px rgba(255,255,255,.025),0 0 0 36px rgba(255,255,255,.02);
  pointer-events:none;
}
.storage-sync-btn:hover{
  transform:translateY(-2px);
  filter:saturate(1.06) brightness(1.03);
  border-color:#6daed7;
  box-shadow:0 6px 14px rgba(20,87,130,.28),inset 0 1px rgba(255,255,255,.5);
}
.storage-sync-btn .action-icon{
  position:relative;
  z-index:1;
  width:49px;
  height:49px;
  flex:0 0 49px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:radial-gradient(circle at 35% 30%,#70d0ff 0%,#258fda 45%,#0861ac 100%);
  border:2px solid rgba(255,255,255,.62);
  color:#fff;
  font-size:30px;
  font-weight:700;
  line-height:1;
  box-shadow:inset 0 2px 4px rgba(255,255,255,.35),0 2px 4px rgba(0,0,0,.22);
}
.storage-sync-btn .sync-copy{position:relative;z-index:1;min-width:0;flex:1}
.storage-sync-btn strong{display:block;font-size:14px;line-height:18px;color:#fff;text-shadow:0 1px 2px rgba(0,45,85,.28)}
.storage-sync-btn small{display:block;margin-top:2px;font-size:9.5px;line-height:13px;color:rgba(255,255,255,.83)}
.storage-sync-btn .action-chevron{position:relative;z-index:1;flex:0 0 18px;color:#fff;font-size:34px;font-weight:300;text-shadow:0 1px 2px rgba(0,45,85,.25)}
.folder-actions-panel{
  padding:9px 8px 11px;
  border-bottom:1px solid #c7d2da;
  background:linear-gradient(180deg,#f3f7fa 0%,#e8eef2 100%);
}
.folder-actions-title{
  padding:0 3px 9px;
  color:#617481;
  font-size:8.5px;
  letter-spacing:1px;
}
.folder-actions-dot{width:7px;height:7px;flex:0 0 7px;background:#2a83bb;box-shadow:0 0 0 3px #d7e9f5}
.folder-actions-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.folder-action-btn{
  position:relative;
  min-width:0;
  height:78px;
  padding:5px 3px 4px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:5px;
  border:2px solid #b9d7e9;
  border-radius:11px;
  background:linear-gradient(145deg,#36a9ee 0%,#1378c6 75%,#0b66ae 100%);
  color:#fff;
  box-shadow:0 3px 7px rgba(35,86,119,.20),inset 0 1px rgba(255,255,255,.55);
  overflow:visible;
  transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;
}
.folder-action-btn::before{
  content:"";
  position:absolute;
  left:5px;right:5px;top:4px;height:40%;
  border-radius:8px;
  background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,0));
  pointer-events:none;
}
.folder-action-btn:hover{transform:translateY(-2px);box-shadow:0 6px 12px rgba(35,86,119,.28),inset 0 1px rgba(255,255,255,.65);filter:saturate(1.06)}
.folder-action-btn:active{transform:translateY(0);box-shadow:0 2px 4px rgba(35,86,119,.2)}
.folder-action-btn:focus-visible{outline:2px solid #166ca7;outline-offset:2px}
.folder-action-btn .action-icon{
  position:relative;z-index:1;width:40px;height:40px;flex:0 0 40px;border-radius:50%;
  display:grid;place-items:center;background:rgba(255,255,255,.14);color:#fff;
  box-shadow:inset 0 1px rgba(255,255,255,.4),0 2px 3px rgba(0,0,0,.12)
}
.folder-action-btn .action-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.folder-action-btn .action-label{position:relative;z-index:1;display:block;max-width:100%;font-size:10px;line-height:12px;font-weight:800;white-space:nowrap;text-shadow:0 1px 2px rgba(0,45,85,.3)}
.rename-action{background:linear-gradient(145deg,#35aaf0 0%,#147ac8 72%,#0a65ad 100%)}
.move-action{background:linear-gradient(145deg,#45d76b 0%,#1ca74b 72%,#11813a 100%);border-color:#9de3ad}
.delete-action{background:linear-gradient(145deg,#ff6e73 0%,#e43d47 72%,#bd2732 100%);border-color:#f1a3a6}
.rename-action .action-icon,.move-action .action-icon,.delete-action .action-icon{background:rgba(255,255,255,.16);color:#fff}
.rename-action:hover{border-color:#8bd0f4}
.move-action:hover{border-color:#7dd694}
.delete-action:hover{border-color:#ff9a9e}
@media(max-width:1100px){
  .storage-sync-btn{min-height:64px;padding:7px 9px;gap:8px}
  .storage-sync-btn .action-icon{width:42px;height:42px;flex-basis:42px;font-size:26px}
  .storage-sync-btn strong{font-size:12px}
  .folder-action-btn{height:70px}
  .folder-action-btn .action-icon{width:34px;height:34px;flex-basis:34px}
  .folder-action-btn .action-icon svg{width:21px;height:21px}
  .folder-action-btn .action-label{font-size:9px}
}


/* 1.04.87 – robuste grafische Ordneraktionen; Serversynchronisation befindet sich unter Optionen */
.folder-actions-panel{
  display:block !important;
  padding:10px 8px 12px !important;
  border-bottom:1px solid #c7d2da !important;
  background:linear-gradient(180deg,#f7fafc 0%,#e8eef3 100%) !important;
}
.folder-actions-title{display:flex !important;align-items:center;gap:7px;padding:0 3px 9px !important;color:#5f7482;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.9px}
.folder-actions-dot{display:block !important;width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#2784bd;box-shadow:0 0 0 3px #d9ebf6}
.folder-actions-list{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:7px !important;width:100%}
.folder-action-btn{
  position:relative !important; display:flex !important; visibility:visible !important; opacity:1 !important;
  width:100% !important; min-width:0 !important; height:76px !important; min-height:76px !important;
  margin:0 !important; padding:7px !important; flex-direction:column !important; align-items:center !important; justify-content:center !important; gap:5px !important;
  border:2px solid rgba(255,255,255,.75) !important; border-radius:12px !important; color:#fff !important; overflow:hidden !important;
  box-shadow:0 4px 10px rgba(31,71,98,.20),inset 0 1px rgba(255,255,255,.55) !important;
  transition:transform .15s ease,box-shadow .15s ease,filter .15s ease !important;
}
.folder-action-btn::before{content:"";position:absolute;left:5px;right:5px;top:4px;height:42%;border-radius:9px;background:linear-gradient(180deg,rgba(255,255,255,.30),rgba(255,255,255,0));pointer-events:none}
.folder-action-btn:hover{transform:translateY(-2px) !important;filter:saturate(1.08) !important;box-shadow:0 7px 14px rgba(31,71,98,.28),inset 0 1px rgba(255,255,255,.65) !important}
.folder-action-btn:active{transform:translateY(0) !important}
.folder-action-btn .action-icon{position:relative !important;z-index:1 !important;width:43px !important;height:43px !important;flex:0 0 43px !important;display:grid !important;place-items:center !important;border-radius:50% !important;background:rgba(255,255,255,.18) !important;color:#fff !important;box-shadow:inset 0 1px rgba(255,255,255,.45),0 2px 4px rgba(0,0,0,.16) !important}
.folder-action-btn .action-icon svg{width:27px !important;height:27px !important;fill:none !important;stroke:currentColor !important;stroke-width:1.9 !important;stroke-linecap:round !important;stroke-linejoin:round !important}
.folder-action-btn .action-label{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0,0,0,0) !important;white-space:nowrap !important;border:0 !important}
.rename-action{background:linear-gradient(145deg,#39b0f5 0%,#147ac8 72%,#0a62aa 100%) !important;border-color:#9bd9f7 !important}
.move-action{background:linear-gradient(145deg,#53df78 0%,#1da94e 72%,#108039 100%) !important;border-color:#a9e9b8 !important}
.delete-action{background:linear-gradient(145deg,#ff7479 0%,#e53e49 72%,#b92732 100%) !important;border-color:#ffc0c3 !important}
.settings-feature-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#4eb9f3,#0b69b1);color:#fff;font-size:25px;box-shadow:inset 0 1px rgba(255,255,255,.45),0 3px 8px rgba(25,75,110,.2)}
.server-sync-settings-card{grid-column:1 / -1}
.settings-sync-btn{max-width:520px;text-decoration:none;margin-top:8px}
@media(max-width:650px){.folder-action-btn{height:68px !important;min-height:68px !important}.folder-action-btn .action-icon{width:38px !important;height:38px !important;flex-basis:38px !important}.folder-action-btn .action-icon svg{width:24px !important;height:24px !important}}

/* 1.04.88 – grafische Ordneraktionen wie im Referenzentwurf */
.folder-actions-list{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:8px !important;align-items:start !important}
.folder-action-btn{height:122px !important;min-height:122px !important;padding:8px 5px 9px !important;display:flex !important;flex-direction:column !important;justify-content:center !important;align-items:center !important;gap:8px !important;border:2px solid rgba(255,255,255,.82) !important;border-radius:13px !important;overflow:visible !important}
.folder-action-btn .action-icon{width:54px !important;height:54px !important;flex:0 0 54px !important;border-radius:50% !important;background:rgba(255,255,255,.18) !important;box-shadow:inset 0 2px 2px rgba(255,255,255,.5),0 3px 5px rgba(0,0,0,.18) !important}
.folder-action-btn .action-icon svg{width:32px !important;height:32px !important;stroke-width:2 !important}
.folder-action-btn .action-label{position:relative !important;width:auto !important;height:auto !important;margin:0 !important;padding:7px 9px !important;overflow:visible !important;clip:auto !important;white-space:nowrap !important;border:1px solid rgba(255,255,255,.28) !important;border-radius:7px !important;background:linear-gradient(180deg,#304a5f,#1f3546) !important;color:#fff !important;font-size:11px !important;line-height:14px !important;font-weight:800 !important;text-shadow:0 1px 2px rgba(0,0,0,.35) !important;box-shadow:0 2px 4px rgba(0,0,0,.24) !important}
.folder-action-btn::after{content:"";position:absolute;bottom:-6px;width:13px;height:13px;transform:rotate(45deg);border-right:2px solid rgba(255,255,255,.82);border-bottom:2px solid rgba(255,255,255,.82);z-index:0}
.rename-action::after{background:#1478c6}.move-action::after{background:#1ca74b}.delete-action::after{background:#e43d47}
@media(max-width:1100px){.folder-action-btn{height:112px !important;min-height:112px !important}.folder-action-btn .action-icon{width:46px !important;height:46px !important;flex-basis:46px !important}.folder-action-btn .action-icon svg{width:28px !important;height:28px !important}.folder-action-btn .action-label{font-size:10px !important;padding:6px 7px !important}}


/* 1.04.89 – Ordneraktionen dauerhaft sichtbar, bei „Alle Dokumente“ deaktiviert */
.folder-action-btn.is-disabled{
  cursor:not-allowed !important;
  filter:grayscale(.55) saturate(.65) !important;
  opacity:.48 !important;
  box-shadow:0 2px 5px rgba(31,71,98,.12),inset 0 1px rgba(255,255,255,.45) !important;
}
.folder-action-btn.is-disabled:hover{
  transform:none !important;
  filter:grayscale(.55) saturate(.65) !important;
  box-shadow:0 2px 5px rgba(31,71,98,.12),inset 0 1px rgba(255,255,255,.45) !important;
}
.folder-actions-hint{
  margin:8px 2px 0;
  padding:6px 8px;
  border-radius:6px;
  background:rgba(255,255,255,.72);
  border:1px solid #d3dde4;
  color:#6b7c87;
  font-size:9px;
  line-height:12px;
  text-align:center;
}


/* 1.04.90 – Ordneraktionen: reine Grafiksymbole mit Mouseover-Beschriftung */
.folder-actions-list{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:10px !important;
  align-items:start !important;
}
.folder-action-btn{
  position:relative !important;
  height:112px !important;
  min-height:112px !important;
  padding:10px !important;
  display:grid !important;
  place-items:center !important;
  border:2px solid rgba(255,255,255,.9) !important;
  border-radius:15px !important;
  overflow:visible !important;
  cursor:pointer !important;
  box-shadow:inset 0 1px rgba(255,255,255,.78),0 5px 12px rgba(26,59,82,.22) !important;
  transition:transform .16s ease,filter .16s ease,box-shadow .16s ease !important;
}
.folder-action-btn::before{
  content:"" !important;
  position:absolute !important;
  left:6px !important; right:6px !important; top:5px !important; height:48% !important;
  border-radius:11px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.34),rgba(255,255,255,0)) !important;
  pointer-events:none !important;
}
.folder-action-btn::after{
  content:attr(data-tooltip) !important;
  position:absolute !important;
  left:50% !important;
  top:calc(100% + 10px) !important;
  transform:translate(-50%,-4px) !important;
  z-index:50 !important;
  padding:8px 13px !important;
  border:1px solid rgba(255,255,255,.22) !important;
  border-radius:8px !important;
  background:linear-gradient(180deg,#304a5f,#1b3040) !important;
  color:#fff !important;
  font:700 12px/1.1 "Segoe UI",Arial,sans-serif !important;
  letter-spacing:.1px !important;
  white-space:nowrap !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  box-shadow:0 5px 12px rgba(0,0,0,.25) !important;
  transition:opacity .14s ease,transform .14s ease,visibility .14s ease !important;
}
.folder-action-btn:hover::after,.folder-action-btn:focus-visible::after{
  opacity:1 !important;
  visibility:visible !important;
  transform:translate(-50%,0) !important;
}
.folder-action-btn .action-icon{
  position:relative !important; z-index:2 !important;
  width:68px !important; height:68px !important; flex:0 0 68px !important;
  display:grid !important; place-items:center !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.18) !important;
  color:#fff !important;
  box-shadow:inset 0 2px 3px rgba(255,255,255,.55),0 4px 7px rgba(0,0,0,.2) !important;
}
.folder-action-btn .action-icon svg{
  width:43px !important; height:43px !important;
  fill:none !important; stroke:currentColor !important; stroke-width:2.1 !important;
  stroke-linecap:round !important; stroke-linejoin:round !important;
  filter:drop-shadow(0 2px 1px rgba(0,0,0,.18)) !important;
}
.folder-action-btn .action-label{
  position:absolute !important; width:1px !important; height:1px !important;
  padding:0 !important; margin:-1px !important; overflow:hidden !important;
  clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important;
}
.rename-action{background:linear-gradient(145deg,#42b8f8 0%,#1485d4 62%,#075fa8 100%) !important;border-color:#a8e0fb !important}
.move-action{background:linear-gradient(145deg,#62e77d 0%,#20b953 62%,#0b8238 100%) !important;border-color:#b9f2c6 !important}
.delete-action{background:linear-gradient(145deg,#ff7a80 0%,#e9424d 62%,#b9232f 100%) !important;border-color:#ffd0d3 !important}
.folder-action-btn:hover:not(:disabled){
  transform:translateY(-3px) !important; filter:saturate(1.08) brightness(1.03) !important;
  box-shadow:inset 0 1px rgba(255,255,255,.85),0 9px 18px rgba(26,59,82,.3) !important;
}
.folder-action-btn:active:not(:disabled){transform:translateY(-1px) !important}
.folder-action-btn:focus-visible{outline:3px solid rgba(30,120,190,.3) !important;outline-offset:2px !important}
.folder-action-btn:disabled{cursor:not-allowed !important;filter:grayscale(.45) saturate(.55) opacity(.55) !important;box-shadow:inset 0 1px rgba(255,255,255,.5),0 2px 5px rgba(26,59,82,.12) !important}
@media(max-width:650px){
  .folder-actions-list{gap:6px !important}
  .folder-action-btn{height:82px !important;min-height:82px !important;padding:6px !important}
  .folder-action-btn .action-icon{width:52px !important;height:52px !important;flex-basis:52px !important;border-radius:14px !important}
  .folder-action-btn .action-icon svg{width:34px !important;height:34px !important}
}

/* 1.04.91 – Ordneraktionen auf kompakte Größe der Ribbon-Menübuttons reduziert */
.folder-actions-list{
  gap:6px !important;
  align-items:start !important;
}
.folder-action-btn{
  height:64px !important;
  min-height:64px !important;
  padding:4px !important;
  border-width:1px !important;
  border-radius:8px !important;
  box-shadow:inset 0 1px rgba(255,255,255,.78),0 2px 6px rgba(26,59,82,.18) !important;
}
.folder-action-btn::before{
  left:4px !important; right:4px !important; top:3px !important;
  height:45% !important; border-radius:6px !important;
}
.folder-action-btn .action-icon{
  width:42px !important;
  height:42px !important;
  flex:0 0 42px !important;
  border-radius:11px !important;
  box-shadow:inset 0 1px 2px rgba(255,255,255,.5),0 2px 4px rgba(0,0,0,.16) !important;
}
.folder-action-btn .action-icon svg{
  width:27px !important;
  height:27px !important;
}
.folder-action-btn:hover:not(:disabled){
  transform:translateY(-2px) !important;
  box-shadow:inset 0 1px rgba(255,255,255,.85),0 5px 10px rgba(26,59,82,.25) !important;
}
.folder-action-btn::after{
  top:calc(100% + 7px) !important;
  padding:6px 10px !important;
  border-radius:6px !important;
  font-size:11px !important;
}
@media(max-width:650px){
  .folder-actions-list{gap:5px !important}
  .folder-action-btn{height:58px !important;min-height:58px !important;padding:3px !important}
  .folder-action-btn .action-icon{width:38px !important;height:38px !important;flex-basis:38px !important}
  .folder-action-btn .action-icon svg{width:24px !important;height:24px !important}
}

/* 1.04.92 – Ordneraktionen: nur der innere Symbolbereich bleibt sichtbar;
   äußerer Button-Hintergrund und Rahmen entfallen. Mouseover-Beschriftung vollständig. */
.folder-actions-list{
  overflow:visible !important;
  gap:5px !important;
  padding:1px 0 2px !important;
}
.folder-actions-panel{overflow:visible !important}
.folder-action-btn{
  height:56px !important;
  min-height:56px !important;
  padding:2px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
  color:inherit !important;
  filter:none !important;
}
.folder-action-btn::before,
.folder-action-btn::after{
  display:none !important;
  content:none !important;
}
.folder-action-btn:hover:not(:disabled),
.folder-action-btn:active:not(:disabled){
  transform:none !important;
  background:transparent !important;
  box-shadow:none !important;
  filter:none !important;
}
.folder-action-btn:focus-visible{
  outline:2px solid rgba(25,118,201,.45) !important;
  outline-offset:2px !important;
  border-radius:8px !important;
}
.folder-action-btn .action-icon{
  width:46px !important;
  height:46px !important;
  flex:0 0 46px !important;
  border-radius:12px !important;
  box-shadow:inset 0 1px 2px rgba(255,255,255,.58),0 2px 5px rgba(26,59,82,.22) !important;
}
.folder-action-btn .action-icon svg{
  width:29px !important;
  height:29px !important;
}
.folder-action-btn .action-label{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}
.folder-action-btn::after{
  display:block !important;
  content:attr(data-tooltip) !important;
  position:absolute !important;
  left:50% !important;
  top:calc(100% + 5px) !important;
  width:max-content !important;
  max-width:none !important;
  min-width:0 !important;
  transform:translate(-50%,-3px) !important;
  z-index:100 !important;
  padding:4px 7px !important;
  border:1px solid rgba(255,255,255,.2) !important;
  border-radius:5px !important;
  background:linear-gradient(180deg,#304a5f,#1b3040) !important;
  color:#fff !important;
  font:600 9px/11px "Segoe UI",Arial,sans-serif !important;
  letter-spacing:0 !important;
  white-space:nowrap !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  box-shadow:0 3px 8px rgba(0,0,0,.22) !important;
  transition:opacity .12s ease,transform .12s ease,visibility .12s ease !important;
}
.folder-action-btn:hover::after,
.folder-action-btn:focus-visible::after{
  opacity:1 !important;
  visibility:visible !important;
  transform:translate(-50%,0) !important;
}
.rename-action,.move-action,.delete-action{
  background:transparent !important;
  border:0 !important;
}
.rename-action .action-icon{
  background:linear-gradient(145deg,#42b8f8,#1485d4 62%,#075fa8) !important;
  color:#fff !important;
}
.move-action .action-icon{
  background:linear-gradient(145deg,#62e77d,#20b953 62%,#0b8238) !important;
  color:#fff !important;
}
.delete-action .action-icon{
  background:linear-gradient(145deg,#ff7a80,#e9424d 62%,#b9232f) !important;
  color:#fff !important;
}
.folder-action-btn.is-disabled .action-icon{
  opacity:.48 !important;
  filter:grayscale(.55) saturate(.65) !important;
}
@media(max-width:650px){
  .folder-action-btn{height:52px !important;min-height:52px !important}
  .folder-action-btn .action-icon{width:42px !important;height:42px !important;flex-basis:42px !important}
  .folder-action-btn .action-icon svg{width:27px !important;height:27px !important}
}

/* 1.04.93 – kompaktere Ordneraktions-Symbole; nur der innere Symbolbereich bleibt sichtbar */
.folder-action-btn{
  height:76px !important;
  min-height:76px !important;
  padding:6px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
}
.folder-action-btn::before{display:none !important}
.folder-action-btn:hover{transform:none !important;filter:none !important;box-shadow:none !important}
.folder-action-btn:active{transform:none !important}
.folder-action-btn .action-icon{width:45px !important;height:45px !important;flex:0 0 45px !important;border-radius:12px !important;box-shadow:inset 0 2px 3px rgba(255,255,255,.55),0 3px 6px rgba(0,0,0,.18) !important}
.folder-action-btn .action-icon svg{width:29px !important;height:29px !important;stroke-width:2 !important}
.folder-action-btn:hover .action-icon{transform:translateY(-1px) scale(1.03);box-shadow:inset 0 2px 3px rgba(255,255,255,.6),0 4px 8px rgba(0,0,0,.2) !important}
.folder-action-btn::after{top:calc(100% + 7px) !important;padding:5px 8px !important;font-size:10px !important;line-height:1.05 !important;border-radius:6px !important}
@media(max-width:650px){.folder-action-btn{height:68px !important;min-height:68px !important}.folder-action-btn .action-icon{width:42px !important;height:42px !important;flex-basis:42px !important}.folder-action-btn .action-icon svg{width:27px !important;height:27px !important}}

/* 1.04.94 – Ordneraktionsfeld auf die kompakte Icon-Höhe reduziert */
.folder-actions-panel{
  padding:5px 7px 6px !important;
  border-bottom:1px solid #c7d2da !important;
  background:linear-gradient(180deg,#f7fafc 0%,#eef3f6 100%) !important;
}
.folder-actions-title{
  gap:5px !important;
  padding:0 2px 4px !important;
  font-size:8px !important;
  line-height:10px !important;
  letter-spacing:.75px !important;
}
.folder-actions-dot{
  width:5px !important;
  height:5px !important;
  flex-basis:5px !important;
  box-shadow:0 0 0 2px #d9ebf6 !important;
}
.folder-actions-list{
  gap:5px !important;
  padding:0 !important;
}
.folder-actions-hint{
  display:none !important;
}
.folder-action-btn{
  height:50px !important;
  min-height:50px !important;
  padding:2px !important;
}
.folder-action-btn .action-icon{
  width:42px !important;
  height:42px !important;
  flex-basis:42px !important;
  border-radius:10px !important;
}
.folder-action-btn .action-icon svg{
  width:27px !important;
  height:27px !important;
}
@media(max-width:650px){
  .folder-actions-panel{padding:4px 6px 5px !important}
  .folder-actions-title{padding-bottom:3px !important}
  .folder-action-btn{height:46px !important;min-height:46px !important}
  .folder-action-btn .action-icon{width:38px !important;height:38px !important;flex-basis:38px !important}
  .folder-action-btn .action-icon svg{width:24px !important;height:24px !important}
}

/* 1.04.95 – Ordneraktions-Icons nochmals um ca. ein Drittel verkleinert;
   Ordneraktionsfeld exakt an die neue Icon-Höhe angepasst. */
.folder-actions-panel{
  padding:4px 7px 5px !important;
}
.folder-actions-title{
  padding:0 2px 3px !important;
  font-size:8px !important;
  line-height:9px !important;
}
.folder-actions-list{
  gap:4px !important;
  padding:0 !important;
}
.folder-action-btn{
  height:34px !important;
  min-height:34px !important;
  padding:1px !important;
}
.folder-action-btn .action-icon{
  width:28px !important;
  height:28px !important;
  flex:0 0 28px !important;
  border-radius:8px !important;
  box-shadow:inset 0 1px 1px rgba(255,255,255,.55),0 2px 4px rgba(0,0,0,.16) !important;
}
.folder-action-btn .action-icon svg{
  width:18px !important;
  height:18px !important;
  stroke-width:2 !important;
}
@media(max-width:650px){
  .folder-actions-panel{padding:3px 6px 4px !important}
  .folder-actions-title{padding-bottom:2px !important}
  .folder-action-btn{height:32px !important;min-height:32px !important}
  .folder-action-btn .action-icon{width:26px !important;height:26px !important;flex-basis:26px !important}
  .folder-action-btn .action-icon svg{width:17px !important;height:17px !important}
}


/* 1.04.96 – Drag & Drop für Ordner in der linken Ordnerleiste */
#folderTree .folder-node[draggable="true"]{cursor:grab}
#folderTree .folder-node.dragging{opacity:.48;cursor:grabbing}
#folderTree .folder-node.drag-over > .folder-link{
  background:#cfe9ff !important;
  color:#075b9c !important;
  box-shadow:inset 3px 0 #1976c9,0 0 0 1px #78b5e2 !important;
}
#folderTree .folder-node.drag-over > .tree-toggle{color:#1976c9;font-weight:700}
#folderTree.drag-root-over{
  outline:2px dashed #72abd3;
  outline-offset:-3px;
  background:#f1f8fd;
}
#folderTree .folder-node.drag-over .folder-icon{filter:drop-shadow(0 0 3px #2386ca)}


/* 1.04.97 – eindeutige Drop-Zone für das Hauptverzeichnis */
.root-drop-zone{
  display:flex;align-items:center;gap:7px;
  margin:2px 5px 6px;padding:6px 9px;
  border:1px dashed rgba(25,118,201,.32);
  border-radius:8px;background:rgba(25,118,201,.045);
  color:#5c6f82;font-size:11px;font-weight:600;
  cursor:default;transition:background .12s,border-color .12s,color .12s,box-shadow .12s;
}
.root-drop-zone .root-drop-icon{font-size:14px;line-height:1;color:#1976c9}
.root-drop-zone.drag-active,#folderTree.drag-root-over .root-drop-zone{
  background:rgba(25,118,201,.12);border-color:#1976c9;color:#145b93;
  box-shadow:inset 0 0 0 1px rgba(25,118,201,.08);
}
/* 1.04.104 – KH-TEXT Arbeitsblatt: nur das Dokumentenblatt scrollt.
   Die globale Statusleiste bleibt dadurch am unteren Fensterrand und kann
   nicht mehr zwischen den Dokumentseiten erscheinen. */
.word-app{flex:1 1 auto;min-height:0;height:auto;overflow:hidden;display:flex;flex-direction:column;background:#eef2f5;padding:16px 18px 0}.word-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin-bottom:10px;flex:0 0 auto}.word-title{font-size:22px;font-weight:700;border:1px solid transparent;background:transparent;padding:4px 6px;min-width:360px}.word-title:focus{border-color:#9db5c8;background:#fff;outline:none}.word-head-actions{display:flex;gap:8px}.word-toolbar{display:flex;align-items:center;gap:5px;flex-wrap:wrap;background:#fff;border:1px solid #c9d4dd;border-bottom:0;padding:7px 9px;border-radius:7px 7px 0 0;box-shadow:0 2px 7px rgba(20,45,70,.08)}.word-toolbar button,.word-toolbar select{height:31px;border:1px solid #c6d0d8;background:#f7f9fa;border-radius:4px;padding:0 8px;color:#253746}.word-toolbar button:hover{background:#e9f2f8}.word-toolbar select{min-width:74px}.word-sep{width:1px;height:24px;background:#d7dfe5;margin:0 3px}.word-meta{display:flex;gap:16px;align-items:center;background:#edf3f7;border:1px solid #c9d4dd;padding:6px 10px;font-size:12px;color:#657783;flex:0 0 auto}.word-meta label{display:flex;align-items:center;gap:6px}.word-meta select{border:1px solid #bcc9d2;border-radius:3px;background:#fff;padding:4px 7px}.word-page-wrap{padding:24px;overflow:auto;flex:1 1 auto;min-height:0;background:#dfe6eb;border:1px solid #c9d4dd;border-top:0}.word-page{background:#fff;width:794px;min-height:1123px;margin:0 auto;padding:76px 72px;box-sizing:border-box;box-shadow:0 5px 20px rgba(30,50,70,.18);font-family:Arial,sans-serif;font-size:12pt;line-height:1.45;color:#1d2932;outline:none}.word-page p{margin:0 0 9pt;min-height:1em}.word-page h1{font-size:22pt;margin:16pt 0 9pt}.word-page h2{font-size:17pt;margin:14pt 0 8pt}.word-page h3{font-size:14pt;margin:12pt 0 6pt}.word-page .word-doc-title{font-size:24pt;font-weight:700;margin:0 0 18pt}.word-table{border-collapse:collapse;width:100%;margin:12px 0}.word-table td,.word-table th{border:1px solid #8e9da8;padding:7px;min-width:55px;vertical-align:top}.word-page:focus{box-shadow:0 5px 20px rgba(30,50,70,.18),0 0 0 2px #9ec5df}.word-app .error{margin-bottom:10px}@media(max-width:900px){.word-page{margin:0;width:100%;min-height:900px}.word-page-wrap{padding:10px}.word-title{min-width:180px}.word-head{align-items:stretch;flex-direction:column}}

/* 1.04.104 – KH-TEXT Speichern unter */
.word-saveas-dialog{width:min(460px,calc(100vw - 30px));border:1px solid #b8c6d0;border-radius:8px;padding:0;background:#fff;box-shadow:0 18px 55px rgba(20,40,60,.28);color:#304554}
.word-saveas-dialog::backdrop{background:rgba(28,43,54,.48);backdrop-filter:blur(2px)}
.word-saveas-dialog form{padding:20px 22px}
.word-saveas-dialog h2{margin:0 0 6px;font-size:18px;color:#29465a}
.word-saveas-dialog p{margin:0 0 16px;font-size:11px;color:#6d7d87}
.word-saveas-dialog label{display:block;margin:0 0 13px;font-size:11px;font-weight:700;color:#4b5d69}
.word-saveas-dialog input,.word-saveas-dialog select{display:block;width:100%;box-sizing:border-box;margin-top:5px;height:36px;border:1px solid #b9c5cf;border-radius:4px;background:#fff;padding:7px 9px;font:inherit;font-size:12px;color:#30414d}
.word-saveas-dialog .dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
/* 1.04.105 – KH-CALC */
.calc-app{flex:1 1 auto;min-height:0;height:auto;overflow:hidden;display:flex;flex-direction:column;background:#eef2f5;padding:12px 16px 0}.calc-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:8px;flex:0 0 auto}.calc-title{font-size:21px;font-weight:700;border:1px solid transparent;background:transparent;padding:3px 6px;min-width:360px}.calc-title:focus{border-color:#9db5c8;background:#fff;outline:none}.calc-head-actions{display:flex;gap:7px}.calc-toolbar{display:flex;align-items:center;gap:5px;background:#fff;border:1px solid #c9d4dd;padding:6px 8px;border-radius:7px 7px 0 0;flex:0 0 auto}.calc-toolbar button{height:30px;border:1px solid #c6d0d8;background:#f7f9fa;border-radius:4px;padding:0 9px;color:#253746;cursor:pointer}.calc-toolbar button:hover{background:#e8f2f8}.calc-sep{width:1px;height:23px;background:#d5dde4;margin:0 3px}.calc-meta{display:flex;align-items:center;gap:15px;background:#edf3f7;border:1px solid #c9d4dd;border-top:0;padding:6px 9px;font-size:11px;color:#657783;flex:0 0 auto}.calc-meta label{display:flex;align-items:center;gap:6px}.calc-meta select,.calc-meta input{height:28px;border:1px solid #bcc9d2;border-radius:3px;background:#fff;padding:4px 7px}.calc-meta input{width:280px;font-family:Consolas,monospace}.calc-spacer{flex:1}.calc-sheet-wrap{flex:1 1 auto;min-height:0;overflow:auto;background:#dfe6eb;border:1px solid #c9d4dd}.calc-grid{min-width:max-content}.calc-table{border-collapse:separate;border-spacing:0;font-size:12px;background:#fff}.calc-table th,.calc-table td{border-right:1px solid #d3dbe2;border-bottom:1px solid #d3dbe2;height:26px;min-width:90px;padding:3px 6px;white-space:nowrap;overflow:hidden;outline:none}.calc-table thead th{position:sticky;top:0;z-index:3;background:#edf2f6;text-align:center;font-weight:600;color:#526473}.calc-table .corner{left:0;z-index:5;min-width:42px;width:42px;position:sticky}.calc-table .row-head{position:sticky;left:0;z-index:2;background:#edf2f6;min-width:42px;width:42px;text-align:center;color:#667783;font-weight:600}.calc-table td{background:#fff}.calc-table td:focus,.calc-table td.active{box-shadow:inset 0 0 0 2px #1976c9;background:#f7fbff}.calc-table td.formula-cell{color:#174f7b}.calc-table td.bold{font-weight:700}.calc-table td.italic{font-style:italic}.calc-table td.underline{text-decoration:underline}.calc-table td.number-format{text-align:right}.calc-tabs{height:34px;display:flex;align-items:end;gap:3px;background:#e9eef2;border:1px solid #c9d4dd;border-top:0;flex:0 0 auto;padding-left:6px}.calc-sheet-tab{height:29px;border:1px solid #bfcbd5;border-bottom:0;background:#fff;border-radius:5px 5px 0 0;padding:0 16px;color:#315066}.calc-sheet-tab.active{font-weight:700;color:#0b5da7}.calc-tabs button:last-child{height:27px;margin-bottom:2px;border:1px solid transparent;background:transparent;color:#1769a8}@media(max-width:900px){.calc-title{min-width:180px}.calc-head{align-items:stretch;flex-direction:column}.calc-meta{flex-wrap:wrap}.calc-meta input{width:180px}}

/* KH-CALC formula helper */
#calcFormulaPreset{height:32px;border:1px solid #b8c9d8;border-radius:6px;background:#fff;padding:0 8px;font:inherit;color:#1f3344;}
.calc-format-label{font-size:11px;font-weight:700;color:#5f707c;margin-left:2px}.calc-toolbar select{height:30px;border:1px solid #c6d0d8;background:#fff;border-radius:4px;padding:0 7px;color:#253746}.calc-meta #calcSelectionInfo{font-weight:700;color:#315066;min-width:115px}.calc-table th[data-c],.calc-table .row-head,.calc-table .corner{cursor:pointer;user-select:none}.calc-table th[data-c]:hover,.calc-table .row-head:hover,.calc-table .corner:hover{background:#dcecf7}.calc-table td.selected{background:#eaf5ff}.calc-table td.active{box-shadow:inset 0 0 0 2px #1976c9;background:#f7fbff;position:relative;z-index:1}.calc-table td.fmt-text{text-align:left}.calc-table td.fmt-number0,.calc-table td.fmt-number2,.calc-table td.fmt-number4,.calc-table td.fmt-percent0,.calc-table td.fmt-percent2,.calc-table td.fmt-currency2,.calc-table td.fmt-date{text-align:right}.calc-table td.fmt-currency2{font-variant-numeric:tabular-nums}.calc-table td.fmt-date{font-variant-numeric:tabular-nums}
/* KH-CALC 1.04.111 – deutlich sichtbare Mehrfachauswahl */
.calc-table td.selected{background:#e3e3e3 !important;box-shadow:inset 0 0 0 1px #b8b8b8;color:inherit}
.calc-table td.selected.active{background:#cfd8e0 !important;box-shadow:inset 0 0 0 2px #1976c9;position:relative;z-index:2}
.calc-table td.selected:hover{background:#d8d8d8 !important}
/* KH-CALC 1.04.113 – Spalten- und Zeilenköpfe im Topbar-Blauton mit weißer Schrift */
.calc-table thead th[data-c],
.calc-table .row-head,
.calc-table .corner{
  color:#fff;
  background:linear-gradient(#087bc8,#0069ae);
  font-weight:700;
}
/* Hovereffekt bleibt bewusst hell und gut sichtbar */
.calc-table th[data-c]:hover,
.calc-table .row-head:hover,
.calc-table .corner:hover{
  background:#dcecf7;
  color:#075b9c;
}

/* KH-CALC professionelle Excel-Formatierung 1.04.114 */
.calc-toolbar{flex-wrap:wrap}
.calc-toolbar select{max-width:190px}
.calc-toolbar .calc-color{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;color:#5f707c}
.calc-toolbar .calc-color input[type=color]{width:28px;height:28px;padding:2px;border:1px solid #c6d0d8;border-radius:4px;background:#fff;cursor:pointer}
.calc-table td{transition:background-color .08s ease,box-shadow .08s ease}
.calc-table td[style*="white-space: normal"]{overflow:visible}

/* KH-CALC 1.04.115 – Excel-ähnliche Ausrichtungssymbole und kompakte Formatierung */
.calc-toolbar .calc-icon-group{display:inline-flex;align-items:center;gap:2px}
.calc-toolbar .calc-icon-btn{width:30px;height:30px;min-width:30px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid #c6d0d8;background:#f7f9fa;border-radius:4px;color:#253746;cursor:pointer}
.calc-toolbar .calc-icon-btn:hover{background:#e8f2f8}
.calc-toolbar .calc-icon-btn.active{background:#dbeefb;border-color:#1976c9;box-shadow:inset 0 0 0 1px rgba(25,118,201,.12);color:#075b9c}
.calc-align-glyph{width:16px;height:15px;display:flex;flex-direction:column;justify-content:center;gap:2px}
.calc-align-glyph i{display:block;height:2px;background:currentColor;border-radius:1px}
.calc-align-glyph i:nth-child(1){width:13px}.calc-align-glyph i:nth-child(2){width:10px}.calc-align-glyph i:nth-child(3){width:13px}
.calc-align-glyph.h-left{align-items:flex-start}.calc-align-glyph.h-center{align-items:center}.calc-align-glyph.h-right{align-items:flex-end}
.calc-valign-glyph{width:16px;height:17px;display:flex;flex-direction:column;justify-content:center;gap:2px}
.calc-valign-glyph i{display:block;height:2px;width:13px;background:currentColor;border-radius:1px}
.calc-valign-glyph.v-top{justify-content:flex-start}.calc-valign-glyph.v-center{justify-content:center}.calc-valign-glyph.v-bottom{justify-content:flex-end}
.calc-wrap-btn{font-size:18px;font-weight:700;line-height:1}
.calc-toolbar .calc-color + .calc-color{margin-left:1px}

/* KH-CALC 1.04.116 – Ausrichtungen platzsparend als Pulldown */
.calc-toolbar .calc-alignment-select{width:128px;max-width:128px;height:30px;padding:0 7px;border:1px solid #c6d0d8;border-radius:4px;background:#f7f9fa;color:#253746;font-size:12px;cursor:pointer}
.calc-toolbar .calc-alignment-select:hover{background:#e8f2f8}
.calc-toolbar .calc-alignment-select:focus{outline:0;border-color:#1976c9;box-shadow:0 0 0 1px rgba(25,118,201,.12)}
.calc-toolbar .calc-alignment-select optgroup{font-weight:700;color:#526473}
.calc-toolbar .calc-alignment-select option{font-weight:400;color:#253746}

/* KH-CALC 1.04.117 – Ausrichtung als kompakte Symbol-Auswahl */
.calc-toolbar .calc-alignment-dropdown{position:relative;display:inline-block}
.calc-toolbar .calc-alignment-trigger{width:52px;height:30px;min-width:52px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;gap:3px;border:1px solid #c6d0d8;background:#f7f9fa;border-radius:4px;color:#253746;cursor:pointer}
.calc-toolbar .calc-alignment-trigger:hover,.calc-toolbar .calc-alignment-dropdown.open .calc-alignment-trigger{background:#e8f2f8;border-color:#1976c9}
.calc-toolbar .calc-alignment-trigger .calc-align-glyph,.calc-toolbar .calc-alignment-trigger .calc-valign-glyph{width:17px}
.calc-align-caret{font-size:10px;line-height:1;color:#526473}
.calc-alignment-menu{display:none;position:absolute;top:calc(100% + 3px);left:0;z-index:50;width:158px;padding:5px;background:#fff;border:1px solid #bfcbd5;border-radius:5px;box-shadow:0 5px 14px rgba(31,52,68,.18);grid-template-columns:repeat(3,1fr);gap:3px}
.calc-alignment-dropdown.open .calc-alignment-menu{display:grid}
.calc-align-section{grid-column:1/-1;padding:3px 5px 1px;font-size:10px;font-weight:700;color:#657783}
.calc-align-option{height:32px;padding:0;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:4px;background:#f7f9fa;color:#253746;cursor:pointer}
.calc-align-option:hover{background:#dbeefb;border-color:#1976c9;color:#075b9c}
.calc-align-option .calc-align-glyph,.calc-align-option .calc-valign-glyph{pointer-events:none}
/* DocumentManager 1.04.118 – KH-TEXT Farben, Seitenformat und Objektverwaltung */
.word-color{display:inline-flex;align-items:center;gap:4px;height:31px;padding:0 4px;border:1px solid #c6d0d8;border-radius:4px;background:#f7f9fa;font-size:10px;font-weight:700;color:#5f707c}
.word-color input[type=color]{width:25px;height:25px;padding:2px;border:1px solid #c1ccd4;border-radius:3px;background:#fff;cursor:pointer}
.word-page{overflow:visible;position:relative}
.word-object{z-index:20;box-sizing:border-box;border:2px solid transparent}
.word-object:hover,.word-object.selected{border-color:#1976c9;box-shadow:0 0 0 1px #fff,0 2px 8px #0003}
.word-page-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;margin:12px 0 16px}
.word-page-grid label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:600;color:#4b5d69}
.word-page-grid input,.word-page-grid select{border:1px solid #b9c5cf;border-radius:3px;background:#fff;padding:7px 8px;font:inherit;color:#30414d}
.word-page-grid .word-check{grid-column:1/-1;display:flex;flex-direction:row;align-items:center;gap:7px}
.word-page-grid .word-check input{width:auto}

/* KH-TEXT / KH-CALC – professionelle Dokument-Aktionen */
.word-head-actions,.calc-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.word-head-actions .button,.word-head-actions .outline-btn,.calc-head-actions .button,.calc-head-actions .outline-btn{height:34px;min-width:104px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:5px;font-size:11px;font-weight:600;line-height:1;box-shadow:0 1px 2px rgba(25,55,80,.12);transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .08s ease}
.word-head-actions .button,.calc-head-actions .button{border-color:#1768a5;background:linear-gradient(180deg,#3b95d4,#0b68aa);color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.18)}
.word-head-actions .button:hover,.calc-head-actions .button:hover{background:linear-gradient(180deg,#4aa0dc,#0a5f9e);box-shadow:0 3px 7px rgba(25,75,110,.2);transform:translateY(-1px)}
.word-head-actions .outline-btn,.calc-head-actions .outline-btn{border-color:#b8c7d3;background:linear-gradient(180deg,#fff,#f3f6f8);color:#28516c}
.word-head-actions .outline-btn:hover,.calc-head-actions .outline-btn:hover{background:#edf5fa;border-color:#8fb2c9;box-shadow:0 3px 7px rgba(25,75,110,.14);transform:translateY(-1px)}
.word-head-actions .button:active,.word-head-actions .outline-btn:active,.calc-head-actions .button:active,.calc-head-actions .outline-btn:active{transform:translateY(0);box-shadow:0 1px 2px rgba(25,55,80,.12)}
.word-head-actions .button:focus-visible,.word-head-actions .outline-btn:focus-visible,.calc-head-actions .button:focus-visible,.calc-head-actions .outline-btn:focus-visible{outline:2px solid rgba(25,118,201,.35);outline-offset:2px}
@media(max-width:900px){.word-head-actions .button,.word-head-actions .outline-btn,.calc-head-actions .button,.calc-head-actions .outline-btn{min-width:96px;height:33px;padding:0 11px}}

/* 1.04.130: professionelle, farbige Ribbon-Icons */
.rb-icon{width:27px;height:27px;display:grid;place-items:center;line-height:1;flex:0 0 27px;color:#1976c9}
.rb-icon svg{width:25px;height:25px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 1px rgba(0,0,0,.10))}
.rb-icon .icon-cut{opacity:.55}
.rb-icon .icon-page{opacity:.7}
.rb-folder{color:#e6a700}.rb-search{color:#1976c9}.rb-star{color:#f2b400}.rb-star svg{fill:#ffd54f;stroke:#c58a00;stroke-width:1.35}
.rb-import{color:#1976c9}.rb-scan{color:#7657c7}.rb-email{color:#d94b55}.rb-refresh{color:#168a9b}.rb-workflow{color:#269657}.rb-archive{color:#5c7282}.rb-text{color:#2877bd}.rb-calc{color:#3b9b68}.rb-desktop{color:#3479b7}.rb-settings{color:#5c6f7e}
.ribbon-btn.primary .rb-icon{color:#fff}.ribbon-btn.primary .rb-icon svg{filter:drop-shadow(0 1px 1px rgba(0,0,0,.18))}
.ribbon-btn:hover .rb-icon{transform:translateY(-1px) scale(1.04);transition:transform .14s ease}
.ribbon-btn .rb-icon{transition:transform .14s ease}
@media(max-width:760px){.rb-icon{width:25px;height:25px;flex-basis:25px}.rb-icon svg{width:23px;height:23px}}

/* 1.04.131 – Ribbon überall identisch: Icon oben, Beschriftung sauber zentriert darunter. */
.ribbon{align-items:stretch}
.ribbon-btn{align-items:center;justify-content:center;text-align:center;min-width:63px;min-height:54px;padding:3px 7px;gap:2px;line-height:1.12}
.ribbon-btn>span:last-child{display:block;width:100%;text-align:center;white-space:normal}
.ribbon-btn .rb-icon{margin:0 auto}
.ribbon-btn.primary{box-shadow:inset 0 1px rgba(255,255,255,.25),0 1px 2px rgba(20,55,85,.12)}
.ribbon-btn.primary>span:last-child{text-align:center}


/* 1.04.132 – Ribbon: einheitlicher blauer Hover und dauerhafter Active-Zustand */
.ribbon-btn{transition:background .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease,transform .14s ease}
.ribbon-btn:hover,.ribbon-btn:focus-visible,.ribbon-btn.active{background:linear-gradient(180deg,#4b9ee0,#1774ba);border-color:#17659f;color:#fff;box-shadow:inset 0 1px rgba(255,255,255,.24),0 1px 3px rgba(20,55,85,.18)}
.ribbon-btn:hover .rb-icon,.ribbon-btn:focus-visible .rb-icon,.ribbon-btn.active .rb-icon{color:#fff}
.ribbon-btn:hover .rb-icon svg,.ribbon-btn:focus-visible .rb-icon svg,.ribbon-btn.active .rb-icon svg{filter:drop-shadow(0 1px 1px rgba(0,0,0,.18))}
.ribbon-btn.active{cursor:default}
.ribbon-btn:focus-visible{outline:2px solid #83b9e7;outline-offset:1px}
.ribbon-btn .rb-icon{transition:transform .14s ease,color .14s ease}
.ribbon-btn:hover .rb-icon{transform:translateY(-1px) scale(1.04)}
.ribbon-btn:hover .rb-star,.ribbon-btn:focus-visible .rb-star,.ribbon-btn.active .rb-star{color:#ffd54f}
.ribbon-btn:hover .rb-star svg,.ribbon-btn:focus-visible .rb-star svg,.ribbon-btn.active .rb-star svg{fill:#ffd54f;stroke:#c58a00;filter:drop-shadow(0 1px 1px rgba(0,0,0,.18))}


/* KH-TEXT – professionelles Word-Kontextmenü */
.word-context-menu{position:fixed;z-index:10000;display:none;min-width:270px;max-width:340px;padding:6px;border:1px solid #aebdca;border-radius:7px;background:#fff;box-shadow:0 12px 34px rgba(25,48,67,.25),0 2px 5px rgba(25,48,67,.12);font-size:12px;color:#263f50;user-select:none}
.word-context-menu.open{display:block}
.word-context-menu>button,.word-context-flyout button{width:100%;min-height:30px;border:0;border-radius:4px;background:transparent;color:#29485b;padding:5px 8px;display:flex;align-items:center;gap:8px;text-align:left;font:inherit;cursor:pointer}
.word-context-menu>button:hover,.word-context-flyout button:hover,.word-context-menu>button:focus-visible,.word-context-flyout button:focus-visible{background:linear-gradient(180deg,#4b9ee0,#1774ba);color:#fff;outline:none}
.word-context-menu>button>span,.word-context-flyout button>span{flex:1}
.word-context-menu kbd{font:10px Consolas,monospace;color:#83929c;margin-left:auto}
.word-context-menu button:hover kbd,.word-context-flyout button:hover kbd{color:#eef7ff}
.word-context-sep{height:1px;background:#dce4e9;margin:5px 2px}
.word-context-row{display:flex;gap:4px}
.word-context-row button{flex:1;min-height:31px;border:0;border-radius:4px;background:transparent;color:#29485b;cursor:pointer;font:inherit}
.word-context-row button:hover{background:#e8f3fb}
.word-context-submenu{position:relative}
.word-context-parent{justify-content:space-between!important}
.word-context-parent b{font-size:16px;color:#82939e;margin-left:auto}
.word-context-flyout{position:absolute;left:calc(100% + 5px);top:-6px;display:none;min-width:235px;padding:6px;border:1px solid #aebdca;border-radius:7px;background:#fff;box-shadow:0 12px 34px rgba(25,48,67,.25);z-index:10001}
.word-context-submenu:hover>.word-context-flyout,.word-context-submenu:focus-within>.word-context-flyout{display:block}
.word-context-options{max-height:330px;overflow:auto}
.word-context-menu button[disabled]{opacity:.45;cursor:default}
.word-context-menu button[hidden]{display:none}
@media(max-width:900px){.word-context-flyout{left:auto;right:calc(100% + 5px)}}

.word-page-break{height:28px;margin:16px 0;border-top:2px dashed #8ea3b2;position:relative;text-align:center;color:#718491;font-size:10px;line-height:24px;user-select:none}.word-page-break span{background:#fff;padding:0 8px;position:relative;top:-9px}

/* 1.04.134 – Kontextmenü: Untermenüeinträge wie normale Menüzeilen */
.word-context-parent{width:100%;min-height:30px!important;border:0!important;border-radius:4px!important;background:transparent!important;color:#29485b!important;padding:5px 8px!important;display:flex!important;align-items:center!important;gap:8px!important;text-align:left!important;font:inherit!important;font-weight:400!important;cursor:pointer!important;box-shadow:none!important}
.word-context-parent:hover,.word-context-parent:focus-visible{background:linear-gradient(180deg,#4b9ee0,#1774ba)!important;color:#fff!important;outline:none!important}
.word-context-parent .word-context-arrow{margin-left:auto;font-size:16px;line-height:1;color:#82939e}
.word-context-parent:hover .word-context-arrow,.word-context-parent:focus-visible .word-context-arrow{color:#fff}
.word-context-flyout{top:-6px}

/* KH-CALC eigenes Rechtsklickmenü */
.calc-context-menu{position:fixed;z-index:11000;display:none;min-width:245px;max-width:330px;padding:6px;border:1px solid #aebdca;border-radius:7px;background:#fff;box-shadow:0 12px 34px rgba(25,48,67,.25),0 2px 5px rgba(25,48,67,.12);font-size:12px;color:#263f50;user-select:none}
.calc-context-menu.open{display:block}
.calc-context-menu button{width:100%;min-height:30px;border:0;border-radius:4px;background:transparent;color:#29485b;padding:5px 8px;display:flex;align-items:center;gap:8px;text-align:left;font:inherit;cursor:pointer}
.calc-context-menu button:hover,.calc-context-menu button:focus-visible{background:linear-gradient(180deg,#4b9ee0,#1774ba);color:#fff;outline:none}
.calc-context-menu button>span{flex:1}.calc-context-menu .calc-context-arrow{margin-left:auto;font-size:16px;color:#82939e}.calc-context-menu button:hover .calc-context-arrow{color:#fff}
.calc-context-sep{height:1px;background:#dce4e9;margin:5px 2px}.calc-context-submenu{position:relative}.calc-context-flyout{position:absolute;left:calc(100% + 5px);top:-6px;display:none;min-width:220px;padding:6px;border:1px solid #aebdca;border-radius:7px;background:#fff;box-shadow:0 12px 34px rgba(25,48,67,.25);z-index:11001}.calc-context-submenu:hover>.calc-context-flyout,.calc-context-submenu:focus-within>.calc-context-flyout{display:block}.calc-context-flyout button{width:100%}@media(max-width:900px){.calc-context-flyout{left:auto;right:calc(100% + 5px)}}

.calc-context-menu kbd{font:10px Consolas,monospace;color:#83929c;margin-left:auto}.calc-context-menu button:hover kbd{color:#eef7ff}


/* 1.04.135 – Kontextmenüs: lange Menüs und Untermenüs bleiben erreichbar */
.word-context-menu,
.calc-context-menu{
  max-height:calc(100vh - 16px);
  overflow-y:auto;
  overflow-x:visible;
  scrollbar-width:thin;
  overscroll-behavior:contain;
}
.word-context-flyout,
.calc-context-flyout{
  position:fixed;
  max-height:calc(100vh - 16px);
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-width:thin;
}
.word-context-submenu,
.calc-context-submenu{position:relative}
.word-context-submenu:hover>.word-context-flyout,
.word-context-submenu:focus-within>.word-context-flyout,
.word-context-submenu.viewport-open>.word-context-flyout,
.calc-context-submenu:hover>.calc-context-flyout,
.calc-context-submenu:focus-within>.calc-context-flyout,
.calc-context-submenu.viewport-open>.calc-context-flyout{display:block}
/* Kein 5px-Spalt zwischen Hauptmenü und Ausläufer – der Mauszeiger kann sicher hinüberfahren. */
.word-context-flyout{left:auto;right:auto;top:auto}
.calc-context-flyout{left:auto;right:auto;top:auto}

/* 1.04.138 – Ribbon vollständig sichtbar: Gruppen dürfen nicht schrumpfen; bei schmalen Fenstern horizontal scrollbar. */
.ribbon{overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;white-space:nowrap;}
.ribbon-group{flex:0 0 auto;}
.ribbon-btn{flex:0 0 auto;}
/* Handbuch: eigener Scrollbereich zwischen Ribbon und Statusleiste. */
.manual-wrap{flex:1 1 auto;min-height:0;overflow:auto;width:100%;}
.manual-grid,.manual-hero{min-width:0;}

/* 1.04.139 – Ribbon grundlegend überarbeitet.
   Alle Funktionsgruppen bleiben sichtbar und dürfen nicht mehr aus dem sichtbaren
   Bereich verschwinden. Bei schmaleren Browserfenstern wird auf eine zweite Zeile
   umgebrochen statt die Bedienelemente nur horizontal außerhalb des sichtbaren
   Bereichs zu verstecken. */
.ribbon{
  display:flex;
  flex-wrap:wrap;
  align-content:flex-start;
  align-items:stretch;
  height:auto;
  min-height:87px;
  max-height:none;
  overflow:visible;
  white-space:normal;
  padding:4px 8px 6px;
  gap:4px 8px;
}
.ribbon-group{
  flex:0 0 auto;
  flex-wrap:nowrap;
  min-height:76px;
  height:76px;
  padding-right:8px;
}
.ribbon-btn{
  flex:0 0 72px;
  min-width:72px;
  width:72px;
  min-height:62px;
  height:62px;
  padding:4px 5px;
}
.ribbon-btn .rb-icon{flex:0 0 25px;width:25px;height:25px;display:flex;align-items:center;justify-content:center}
.ribbon-btn .rb-icon svg{width:25px;height:25px;display:block}
.ribbon-caption{bottom:1px;font-size:9px;line-height:11px}

/* Die Ribbon-Leiste darf bei sehr kleinen Fenstern mehrere vollständige Zeilen
   bilden. Dadurch bleiben Ordner, Suche, Favoriten, Scannen, E-Mail Import,
   Aktualisieren, Archiv, Desktop usw. erreichbar und sichtbar. */
@media (max-width:1100px){
  .ribbon{gap:3px 6px;padding-left:6px;padding-right:6px}
  .ribbon-group{padding-right:5px}
}
@media (max-width:700px){
  .ribbon-btn{flex-basis:68px;width:68px;min-width:68px}
  .ribbon-group{height:72px;min-height:72px}
}

/* 1.04.141 – Fix: Server synchronisieren im Bereich Optionen > Ordner.
   Beim Mouseover darf der Button nicht auf einen weißen Hintergrund mit
   weißer Schrift wechseln. Der Hover-Zustand bleibt eindeutig blau und
   sämtliche Beschriftungen behalten den Kontrast. */
.server-sync-settings-card .settings-sync-btn:hover,
.server-sync-settings-card .settings-sync-btn:focus-visible{
  background:linear-gradient(135deg,#4ebcf5 0%,#1d91df 48%,#0c6cba 100%) !important;
  border-color:#6daed7 !important;
  color:#fff !important;
  filter:saturate(1.06) brightness(1.03);
}
.server-sync-settings-card .settings-sync-btn:hover strong,
.server-sync-settings-card .settings-sync-btn:hover small,
.server-sync-settings-card .settings-sync-btn:hover .action-chevron,
.server-sync-settings-card .settings-sync-btn:focus-visible strong,
.server-sync-settings-card .settings-sync-btn:focus-visible small,
.server-sync-settings-card .settings-sync-btn:focus-visible .action-chevron{
  color:#fff !important;
}
.server-sync-settings-card .settings-sync-btn:hover .action-icon,
.server-sync-settings-card .settings-sync-btn:focus-visible .action-icon{
  color:#fff !important;
}

/* 1.04.70 – Dokumentansichten stabilisiert
   Große Symbole dürfen ihre Vorschau nicht durch Flex-Shrinking verlieren.
   Kleine Symbole und Liste müssen den Namen als eigene, sichtbare Spalte führen.
   Die Hauptsuche darf in der flexiblen Arbeitsfläche niemals auf wenige Pixel
   zusammengedrückt werden. */
.big-search{
  flex:0 0 35px;
  min-height:35px;
}
.big-search input{
  min-width:0;
  min-height:33px;
}
.bulk-toolbar,
.toolbar-row{
  flex-shrink:0;
}

/* Große Symbole: jedes Dokument bleibt eine echte Kachel mit vollständiger
   Vorschau und darunterliegendem Namen. */
.document-grid.docview-tiles{
  flex:1 1 auto;
  min-height:0;
  grid-auto-rows:max-content;
  align-content:start;
}
.docview-tiles .doc-card{
  display:flex;
  flex-direction:column;
  min-height:220px;
}
.docview-tiles .doc-main-link{
  display:flex;
  flex-direction:column;
  min-width:0;
  flex:1 1 auto;
}
.docview-tiles .thumb{
  flex:0 0 145px;
  min-height:145px;
  width:100%;
}
.docview-tiles .doc-card-body{
  flex:0 0 auto;
  min-height:65px;
}

/* Kleine Symbole: Symbol und Dateiname sind zwei getrennte Spalten.
   Dadurch liegt der Text nicht mehr hinter bzw. unter dem Bild. */
.document-grid.docview-small{
  flex:1 1 auto;
  min-height:0;
  grid-template-columns:repeat(auto-fill,minmax(155px,155px));
  grid-auto-rows:52px;
  column-gap:8px;
  row-gap:3px;
  align-content:start;
}
.docview-small .doc-card{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  width:155px;
  max-width:155px;
  min-width:0;
  min-height:50px;
  height:50px;
  overflow:hidden;
}
.docview-small .doc-main-link{
  display:contents;
}
.docview-small .thumb{
  grid-column:1;
  grid-row:1;
  width:48px;
  height:48px;
  min-width:48px;
  flex:none;
  overflow:hidden;
}
.docview-small .doc-card-body{
  grid-column:2;
  grid-row:1;
  min-width:0;
  width:auto;
  align-self:center;
  padding:3px 4px 3px 2px;
  overflow:hidden;
}
.docview-small .doc-title{
  display:block;
  min-width:0;
  max-width:100%;
  font-size:10px;
  line-height:12px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.docview-small .doc-card-actions{display:none}

/* Liste: Link-Inhalt wird in die Listenspalten aufgelöst, damit der
   Dateiname nicht in einer unsichtbaren/zu schmalen Link-Spalte landet. */
.document-grid.docview-list{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
}
.docview-list .doc-card{
  display:grid;
  grid-template-columns:48px minmax(0,1fr) auto;
  width:100%;
  min-width:0;
  min-height:50px;
}
.docview-list .doc-main-link{
  display:contents;
}
.docview-list .doc-select-wrap{
  grid-column:1;
  grid-row:1;
}
.docview-list .thumb{
  grid-column:2;
  grid-row:1;
  width:48px;
  height:48px;
  min-width:48px;
}
.docview-list .doc-card-body{
  grid-column:3;
  grid-row:1;
  min-width:0;
  width:auto;
}
.docview-list .doc-title{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.docview-list .doc-card-actions{
  grid-column:4;
  grid-row:1;
  min-width:max-content;
}

/* Die Auswahlbox bleibt bei kleinen Symbolen und der Liste vor dem Inhalt,
   ohne den Dateinamen zu überdecken. */
.docview-small .doc-select-wrap{
  z-index:5;
}
.docview-list .doc-select-wrap{
  z-index:5;
}

@media(max-width:760px){
  .document-grid.docview-small{
    grid-template-columns:repeat(auto-fill,minmax(145px,145px));
  }
  .docview-small .doc-card{width:145px;max-width:145px}
  .docview-list .doc-card{grid-template-columns:26px 44px minmax(0,1fr) auto}
  .docview-list .thumb{width:44px;min-width:44px}
}

/* Dokumente: Drag & Drop und Explorer-Kontextmenü */
.doc-card[draggable="true"]{cursor:grab}
.doc-card.document-dragging{opacity:.55;cursor:grabbing;outline:2px dashed #2a7dbb;outline-offset:-2px}
.folder-node.document-drag-over > .folder-link,
.folder-node.document-drag-over > .tree-toggle{
  background:#dceefb!important;
  color:#075b9c!important;
}
.folder-node.document-drag-over > .folder-link{box-shadow:inset 3px 0 0 #1d79b8}
#folderRootDrop.document-drag-over{background:#dceefb;border-color:#2a7dbb;color:#075b9c}
#folderTree.document-root-drag-over{outline:1px dashed #2a7dbb;outline-offset:2px}
.document-context-menu{
  position:fixed;z-index:10000;display:none;min-width:190px;padding:5px;
  background:#fff;border:1px solid #b9c5cf;border-radius:7px;box-shadow:0 10px 28px #0003;
}
.document-context-menu.open{display:flex;flex-direction:column}
.document-context-menu button{
  appearance:none;border:0;background:transparent;text-align:left;padding:8px 11px;
  border-radius:4px;font:13px Segoe UI,Arial,sans-serif;color:#1e2c36;cursor:pointer;white-space:nowrap;
}
.document-context-menu button:hover{background:#e8f2fb;color:#075b9c}
.document-context-menu button.danger{color:#a62d2d}
.document-context-menu button.danger:hover{background:#fff0f0;color:#a21d1d}
#document-transfer-dialog{min-width:min(520px,calc(100vw - 32px))}
#document-transfer-dialog label{display:flex;flex-direction:column;gap:6px}
#document-transfer-dialog select{width:100%}
