
:root{--green:#1c8f54;--green-dark:#127647;--green-soft:#e8f6ef;--accent:#cfe9db;--bg:#f1f2f4;--surface:#ffffff;--surface-2:#f8f9fb;--line:#d6dbe2;--line-strong:#b9c1cb;--text:#1f252d;--muted:#6b7583;--shadow:0 8px 28px rgba(16,30,35,.08)}
body.dark{--bg:#171a1f;--surface:#1e232a;--surface-2:#232931;--line:#353d49;--line-strong:#4a5565;--text:#eef2f7;--muted:#a9b3c1;--green-soft:#203529;--accent:#244436;--shadow:0 8px 28px rgba(0,0,0,.28)}
*{box-sizing:border-box}html,body{margin:0;padding:0;font:14px/1.45 Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:6px;padding:9px 12px;background:var(--surface);color:var(--text);transition:.15s ease}button:hover{background:var(--green-soft)}
.primary{background:var(--green);color:#fff;border-color:var(--green);font-weight:600}.primary:hover{background:var(--green-dark);color:#fff}.subtle{border:0;background:transparent}
.top{height:58px;background:linear-gradient(180deg,var(--surface),var(--surface-2));border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 18px;gap:12px}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-logo{width:34px;height:34px;object-fit:contain;filter:drop-shadow(0 4px 10px rgba(0,0,0,.12))}.brand-text{display:flex;flex-direction:column;line-height:1.05}.brand-text strong{font-size:18px;font-weight:700}.brand-text span{font-size:12px;color:var(--muted)}.right{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.right form{margin:0}
.ribbon-tabs{display:flex;align-items:center;background:var(--surface);gap:2px;border-bottom:1px solid var(--line);padding:0 10px;overflow:auto}.ribbon-tabs button{border:0;border-radius:0;padding:10px 15px;background:transparent;white-space:nowrap;position:relative}.ribbon-tabs button.selected{color:var(--green-dark);font-weight:700;background:linear-gradient(180deg,transparent 0%,rgba(28,143,84,.06) 100%)}.ribbon-tabs button.selected::after{content:"";position:absolute;left:8px;right:8px;bottom:0;height:3px;background:var(--green);border-radius:2px 2px 0 0}
.ribbon{background:linear-gradient(180deg,var(--surface),var(--surface-2));border-bottom:1px solid var(--line);min-height:118px;display:flex;gap:10px;padding:12px 16px;overflow:auto}.ribbon-group{display:flex;gap:8px;padding-right:12px;border-right:1px solid var(--line);position:relative;min-width:max-content}.ribbon-group:last-child{border-right:0;padding-right:0}.ribbon-group-title{position:absolute;right:6px;bottom:-6px;font-size:11px;color:var(--muted);background:var(--surface-2);padding:0 6px}.ribbon button{min-width:94px;min-height:76px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.ribbon button:hover{transform:translateY(-1px)}.ribbon-icon{font-size:28px;color:var(--green);line-height:1}.ribbon-label{text-align:center;font-size:12px;line-height:1.25}.ribbon .unavailable{opacity:.58}.workspace{display:flex;min-height:calc(100vh - 272px)}.sidebar{width:220px;flex-shrink:0;padding:16px 10px;background:var(--surface);border-right:1px solid var(--line);position:relative}.side-title{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:8px 12px}.sidebar button{display:flex;align-items:center;gap:10px;text-align:left;border:0;background:transparent;width:100%;margin:3px 0;padding:10px 12px;border-radius:8px}.sidebar button:hover{background:var(--green-soft)}.side-ico{width:20px;text-align:center;color:var(--green);font-weight:700}.side-bottom{margin-top:30px;padding:12px;color:var(--muted);font-size:12px}.main{width:calc(100% - 220px);min-width:0}.work-tabs{display:flex;gap:4px;padding:8px 10px 0;overflow:auto;min-height:52px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.35)}.dark .work-tabs{background:rgba(0,0,0,.08)}.work-tabs button{border:1px solid var(--line);border-bottom:0;border-radius:10px 10px 0 0;background:var(--surface-2);min-width:165px;max-width:280px;white-space:nowrap;text-align:left;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.work-tabs button.active{background:var(--surface);border-top:3px solid var(--green);padding-top:8px;font-weight:700}.tab-left{display:flex;align-items:center;gap:8px;min-width:0}.tab-icon{color:var(--green)}.tab-label{overflow:hidden;text-overflow:ellipsis}.work-tabs .close{border:0;background:transparent;padding:0;margin:0;min-width:auto;color:var(--muted);font-size:16px;line-height:1}.work-tabs .close:hover{color:#c43f3f;background:transparent}.work-panels{padding:22px;min-height:400px}.work-panel{display:none}.work-panel.active{display:block}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.page-heading h1{font-size:22px;margin:0;font-weight:650}h2{font-size:16px;margin:0 0 14px}.hint{color:var(--muted);font-size:12px}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:20px}.kpi{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px}.kpi span:first-child{color:var(--muted)}.kpi b{font-size:34px;line-height:1.2}.kpi-icon{position:absolute;right:15px;top:16px;background:var(--green-soft);border-radius:9px;padding:7px 13px;color:var(--green);font-size:25px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px;box-shadow:var(--shadow);margin-bottom:16px}.filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:15px}.filters>input{flex:1;min-width:210px}.filters select{min-width:170px}.filters input,.filters select,.edit-form input,.edit-form select,.edit-form textarea,.auth-card input{border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);padding:10px;width:100%}.filters input[type=checkbox]{width:auto}.check{display:flex;align-items:center;gap:6px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;min-width:800px}th{text-align:left;background:var(--surface-2);font-size:12px;font-weight:650;white-space:nowrap}th,td{padding:10px;border-bottom:1px solid var(--line);vertical-align:middle}tbody tr:hover{background:var(--green-soft)}td.ellipsis{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status{display:inline-block;border-left:5px solid var(--status);background:var(--surface-2);padding:4px 7px;border-radius:4px;white-space:nowrap}.link{border:0;color:var(--green);background:transparent;white-space:nowrap}.empty{padding:26px;text-align:center;color:var(--muted)}.edit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.edit-form label,.auth-card label{display:flex;flex-direction:column;gap:6px;font-weight:550}.edit-form .wide,.form-actions{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end}.alert{padding:11px 14px;border:1px solid var(--line);border-radius:8px;margin-bottom:12px;background:var(--surface)}.alert.success{border-left:4px solid #17a463}.alert.error{border-left:4px solid #cc4242}footer{border-top:1px solid var(--line);padding:11px;text-align:center;font-size:12px;color:var(--muted);background:var(--surface)}body.auth{min-height:100vh;display:grid;place-items:center;padding:25px}.auth-card{background:var(--surface);width:min(480px,100%);padding:28px;border-radius:16px;border:1px solid var(--line);box-shadow:var(--shadow)}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:18px}.auth-brand img{width:40px;height:40px;object-fit:contain;filter:drop-shadow(0 4px 10px rgba(0,0,0,.12))}.auth-brand h1{color:var(--green);margin:0;font-size:24px}.auth-card p{color:var(--muted)}.auth-card form{display:grid;gap:15px}.auth-card .primary{width:100%}
@media(max-width:1080px){.kpis{grid-template-columns:repeat(2,1fr)}.sidebar{width:182px}.main{width:calc(100% - 182px)}}
@media(max-width:760px){.top{height:auto;flex-wrap:wrap;padding:10px}.right{flex-wrap:wrap}.sidebar{display:none}.main{width:100%}.work-panels{padding:12px}.ribbon{min-height:92px}.ribbon button{min-width:82px;min-height:70px}.ribbon-label{font-size:11px}.kpis{gap:9px}.kpi{padding:13px}.kpi b{font-size:25px}.edit-form{grid-template-columns:1fr}.filters>*{width:100%}}
/* 1.0.2 Ribbon Master: grouping and contextual ribbons */
.context-ribbon-tab:not([hidden]){color:var(--green)!important;border-left:1px solid var(--line)!important;margin-left:8px}
.ribbon{min-height:125px;gap:12px;padding-bottom:18px}.ribbon-group{align-items:flex-start;padding-bottom:14px;gap:4px}.ribbon-group-title{left:0;right:10px;bottom:-2px;text-align:center;white-space:nowrap;border-top:1px solid var(--line);padding-top:2px;background:transparent}.ribbon button{box-shadow:none}.ribbon-large{min-width:82px;max-width:112px;min-height:80px}.ribbon-small{min-width:82px;max-width:110px;min-height:64px}.ribbon-small .ribbon-icon{font-size:19px}.ribbon-small .ribbon-label{font-size:11px}.ribbon .unavailable{opacity:.4;cursor:not-allowed}.ribbon button:focus-visible,.work-tabs button:focus-visible{outline:2px solid var(--green);outline-offset:-2px}
.otw-grid{table-layout:auto}.otw-grid th[data-sortable]{cursor:pointer;user-select:none;padding-right:16px}.otw-grid th[data-dir=asc]::after{content:' ▲';color:var(--green)}.otw-grid th[data-dir=desc]::after{content:' ▼';color:var(--green)}.column-resize{position:absolute;right:0;top:0;bottom:0;width:8px;cursor:col-resize;touch-action:none}.column-resize:hover{background:var(--accent)}

/* Original OTWindows icon assets (v1.0.3) */
.ribbon-svg{display:block;width:30px;height:30px;object-fit:contain}.ribbon-small .ribbon-svg{width:22px;height:22px}.dark .ribbon-svg{filter:drop-shadow(0 0 2px rgba(255,255,255,.17))}

/* Version 1.0.4: Ribbon mit grossen Befehlen, kompakten Dreiergruppen und Fusszeile. */
.ribbon{height:146px;min-height:146px;gap:0;padding:8px 12px 7px;align-items:stretch;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}
.ribbon-group{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:0;flex:0 0 auto;padding:0 12px 0 10px;border-right:1px solid var(--line);min-width:unset}
.ribbon-group:last-child{border-right:0}
.ribbon-group-body{display:flex;align-items:flex-start;gap:3px;min-height:108px;flex:1}
.ribbon-group-title{position:static;display:block;align-self:stretch;flex:none;min-height:19px;line-height:17px;border:0;border-top:1px solid var(--line);background:transparent;text-align:center;font-size:11px;color:var(--muted);padding:0 7px;white-space:nowrap}
.ribbon button{box-shadow:none;border:1px solid transparent;border-radius:5px;background:transparent;transform:none;transition:background .13s, border-color .13s;color:var(--text)}
.ribbon button:hover:not(:disabled){transform:none;background:var(--green-soft);border-color:var(--accent)}
.ribbon-large{flex:0 0 92px;width:92px;max-width:92px;min-width:92px;height:101px;min-height:101px;max-height:101px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:7px;padding:10px 5px 5px}
.ribbon-large .ribbon-svg{width:38px;height:38px}
.ribbon-large .ribbon-icon{font-size:35px;display:flex;align-items:center;justify-content:center;min-height:43px}
.ribbon-large .ribbon-label{font-size:11px;line-height:1.2;max-width:83px;white-space:normal;overflow-wrap:break-word;text-align:center}
.ribbon-small-stack{display:flex;flex-direction:column;gap:2px;min-width:154px;max-width:200px;height:101px}
.ribbon-small{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:7px!important;width:100%;max-width:none;min-width:0;min-height:32px!important;height:32px!important;padding:4px 7px!important;border-radius:4px!important}
.ribbon-small .ribbon-icon{font-size:18px;display:flex;align-items:center;justify-content:center;flex:0 0 24px;width:24px;height:24px;line-height:1}
.ribbon-small .ribbon-svg{width:23px;height:23px}
.ribbon-small .ribbon-label{font-size:11.5px;text-align:left;line-height:1.15;overflow-wrap:normal;white-space:normal}
.ribbon .unavailable{opacity:.43;cursor:not-allowed}
.ribbon .unavailable:hover{background:transparent;border-color:transparent}
body.dark .ribbon button:hover:not(:disabled){background:#284334;border-color:#356147}
@media(max-width:760px){.ribbon{height:140px;min-height:140px;padding-left:5px;padding-right:5px}.ribbon-group{padding:0 6px}.ribbon-large{min-width:80px;width:80px;max-width:80px}.ribbon-small-stack{min-width:140px;max-width:165px}}

/* Version 1.0.6 – interner Arbeitsbereich */
.work-tabs [draggable="true"]{cursor:grab}.work-tabs .dragging{opacity:.45}.work-tabs .drag-over{outline:2px solid var(--green);outline-offset:-2px}.work-tabs [draggable="true"]:active{cursor:grabbing}

/* Version 1.0.7: Suchansichten und Spaltenfilter */
.grid-tools{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px;margin:0 0 14px;padding:10px 12px;background:var(--surface-2);border:1px solid var(--line);border-radius:9px}.grid-tools-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.grid-tools-main label{display:flex;align-items:center;gap:8px;font-weight:600}.grid-tools select{width:auto;min-width:160px;padding:7px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:6px}.grid-tools button{padding:7px 10px}.grid-column-picker{position:relative}.grid-column-picker summary{cursor:pointer;border:1px solid var(--line);border-radius:6px;padding:7px 12px;background:var(--surface)}.grid-column-list{position:absolute;right:0;top:100%;z-index:8;min-width:220px;max-height:300px;overflow:auto;background:var(--surface);box-shadow:var(--shadow);border:1px solid var(--line);padding:12px;border-radius:8px;display:grid;gap:7px}.grid-column-list label{display:flex;align-items:center;gap:7px;white-space:nowrap}.column-filter-row th{background:var(--surface);padding:5px}.column-filter-row input{width:100%;min-width:72px;padding:6px;border:1px solid var(--line);border-radius:5px;color:var(--text);background:var(--surface)}.otw-grid [hidden]{display:none!important}.otw-grid tbody tr[hidden]{display:none!important}

.pager{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;padding:14px 2px}.pager span{margin-right:auto;color:var(--muted)}.pager button{padding:7px 12px}

/* 1.0.13: moderne OTEDV-Kundensuche und Kundenstamm */
.customer-list{min-width:1100px}.customer-list tbody tr[data-open-row]{cursor:pointer}.customer-list tbody tr[data-open-row]:focus-visible{outline:2px solid var(--green);outline-offset:-2px}.source-pill{display:inline-flex;align-items:center;border-radius:99px;color:var(--green);background:var(--green-soft);padding:4px 10px;font-size:12px;font-weight:650;white-space:nowrap}.customer-subtabs{display:flex;gap:4px;flex-wrap:nowrap;overflow-x:auto;border-bottom:1px solid var(--line);padding:0 4px;margin-bottom:16px}.customer-subtabs button{border:0;border-radius:7px 7px 0 0;background:transparent;white-space:nowrap;padding:11px 14px}.customer-subtabs button.active{background:var(--surface);color:var(--green);font-weight:700;box-shadow:inset 0 -3px var(--green)}.customer-master-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:26px;grid-column:1/-1}.customer-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-content:start}.customer-fields h2{grid-column:1/-1;margin-bottom:3px}.customer-fields label{display:flex;flex-direction:column;gap:6px}.customer-fields input{width:100%;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:8px;padding:10px}.customer-fields input:disabled{opacity:.8;background:var(--surface-2)}.customer-info-row,.customer-info-placeholder{grid-column:1/-1;border:1px solid var(--line);border-radius:10px;padding:12px;background:var(--surface-2)}.customer-info-row{display:flex;justify-content:space-between;gap:12px}.customer-info-row span,.customer-info-placeholder p{color:var(--muted)}.customer-info-placeholder p{margin-bottom:0}.customer-master .edit-form{display:grid;grid-template-columns:1fr}@media(max-width:850px){.customer-master-grid{grid-template-columns:1fr}.customer-fields{grid-template-columns:1fr 1fr}}@media(max-width:550px){.customer-fields{grid-template-columns:1fr}}

/* 1.0.15: Modernes, flaches OTEDV-Webmenue anstelle des klassischen Ribbon */
.modern-nav{display:flex;align-items:center;gap:5px;background:var(--surface);border-bottom:1px solid var(--line);padding:7px 14px;overflow-x:auto;scrollbar-width:thin}
.modern-nav-link{background:transparent;border:0;border-radius:8px;padding:9px 12px;white-space:nowrap;font-weight:550;color:var(--muted)}
.modern-nav-link:hover,.modern-nav-link.selected{color:var(--green);background:var(--green-soft)}
.modern-actionbar{display:flex;align-items:center;gap:16px;padding:11px 20px;background:var(--surface-2);border-bottom:1px solid var(--line);min-height:72px;position:relative;flex-wrap:wrap}
.actionbar-meta{min-width:165px;display:flex;flex-direction:column;gap:1px}.actionbar-meta strong{font-size:15px}.actionbar-meta span{font-size:11px;color:var(--muted)}
.modern-actions{display:flex;align-items:center;gap:7px;flex:1;min-width:0;flex-wrap:wrap}.modern-action-btn{display:inline-flex;align-items:center;gap:7px;background:var(--surface);border:1px solid var(--line);padding:8px 12px;min-height:38px;border-radius:8px;font-size:12px;font-weight:550}
.modern-action-btn:hover{background:var(--green-soft);border-color:var(--accent)}.modern-action-icon{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;color:var(--green);font-size:18px}.modern-action-icon img{width:19px;height:19px;object-fit:contain}
.modern-more{font-size:12px;white-space:nowrap}.modern-popup{position:absolute;top:calc(100% - 3px);right:12px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);z-index:20;padding:8px;min-width:200px;max-height:340px;overflow:auto}.modern-popup[hidden],.modern-nav-dropdown[hidden]{display:none}.modern-popup button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:9px}
.modern-nav-dropdown{position:absolute;left:12px;right:12px;z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:0 0 14px 14px;box-shadow:var(--shadow);padding:18px;display:flex;gap:22px;flex-wrap:wrap;max-height:55vh;overflow:auto}.modern-nav-dropdown-title{flex:0 0 100%;font-weight:700;font-size:16px;border-bottom:1px solid var(--line);padding-bottom:7px}.modern-nav-dropdown section{min-width:150px;max-width:240px;display:flex;flex-direction:column;gap:4px}.modern-nav-dropdown h3{margin:0 0 5px;font-size:12px;color:var(--green)}.modern-nav-dropdown section button{border:0;background:transparent;text-align:left;padding:7px 9px;font-size:12px}.modern-nav-dropdown section button:not(:disabled):hover{background:var(--green-soft)}.modern-nav-dropdown section button:disabled{opacity:.44;cursor:not-allowed}
.workspace{min-height:calc(100vh - 228px)}.sidebar{width:190px}.main{width:calc(100% - 190px)}
@media(max-width:900px){.modern-actionbar{padding:10px;gap:8px}.actionbar-meta{min-width:100%;}.sidebar{display:none}.main{width:100%}}

/* 1.0.16: Hybridnavigation mit Icon-Rail und kontextabhaengigen Aktionen */
.otw-shell{display:flex;min-height:calc(100vh - 115px)}.otw-rail{width:106px;flex:0 0 106px;background:var(--surface);border-right:1px solid var(--line)}.otw-rail-nav{display:flex;flex-direction:column;gap:7px;padding:14px 7px;position:sticky;top:0}.otw-rail-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:transparent;border:0;border-radius:10px;padding:9px 2px;min-height:63px;font-size:11px;color:var(--muted)}.otw-rail-nav button span{font-size:23px;line-height:1.1}.otw-rail-nav button.selected,.otw-rail-nav button:hover{background:var(--green-soft);color:var(--green);font-weight:700}.otw-shell-content{flex:1;min-width:0;position:relative}.otw-menu-compat{display:none}.otw-shell-content .workspace{display:block;min-height:0}.otw-shell-content .main{width:100%}.otw-shell-content .work-tabs{order:0}.otw-shell-content .modern-actionbar{padding:12px 18px;min-height:65px;order:1}.otw-shell-content{display:flex;flex-direction:column}.otw-shell-content>.workspace{order:0;display:contents}.otw-shell-content .work-tabs{order:0}.otw-shell-content .modern-actionbar{order:1}.otw-shell-content .work-panels{order:2}.otw-shell-content .main{display:contents}.otw-shell-content .modern-nav-dropdown{top:0;left:8px;right:8px}.otw-quicksearch{display:flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--surface-2);padding:5px 10px;border-radius:9px;min-width:230px}.otw-quicksearch input{border:0;outline:none;background:transparent;color:var(--text);width:100%;font-size:12px}.otw-quicksearch span{font-size:20px;color:var(--muted)}.otw-shell-content .work-panels{padding:18px}.work-panel:has(.customer-list){display:none}.work-panel.active:has(.customer-list){display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px;align-items:start}.work-panel.active:has(.customer-list)>.page-heading,.work-panel.active:has(.customer-list)>form{grid-column:1/-1}.work-panel.active:has(.customer-list)>.panel{grid-column:1;min-width:0;margin:0}.otw-customer-preview{grid-column:2;grid-row:3;min-height:300px;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.otw-preview-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:12px}.otw-preview-head button{border:0;background:transparent;font-size:22px;padding:1px 7px}.otw-customer-preview h3{margin:6px 0 15px}.otw-preview-field{padding:8px 0;display:flex;flex-direction:column;gap:3px;border-bottom:1px solid var(--line)}.otw-preview-field span{font-size:11px;color:var(--muted)}.otw-preview-field strong{font-size:13px;overflow-wrap:anywhere}.otw-customer-preview .primary{width:100%;margin-top:18px}.customer-list tbody tr.otw-selected{background:var(--green-soft)}.otw-preview-reopen{display:none}.work-panel.active.otw-preview-collapsed:has(.customer-list){grid-template-columns:minmax(0,1fr)}.otw-preview-collapsed .otw-customer-preview{display:none}.otw-preview-collapsed .otw-preview-reopen{display:block;grid-column:1;grid-row:3;justify-self:end;margin-top:-5px}.otw-preview-collapsed .panel{grid-column:1}.top{position:relative;z-index:2}footer{position:relative}
@media(max-width:1100px){.work-panel.active:has(.customer-list){grid-template-columns:minmax(0,1fr)}.otw-customer-preview{grid-column:1;grid-row:auto}.work-panel.active:has(.customer-list)>.panel{grid-column:1}}@media(max-width:690px){.otw-rail{width:65px;flex-basis:65px}.otw-rail-nav button{font-size:9px}.otw-rail-nav button span{font-size:20px}.otw-quicksearch{min-width:130px;max-width:260px}.brand-text span{display:none}.otw-shell-content .work-panels{padding:10px}}

/* OTWindows Web 1.0.17 customer master */
.customer-consent{grid-column:1/-1;display:flex!important;flex-direction:row!important;align-items:center;gap:10px;background:var(--surface-2);padding:9px 12px;border:1px solid var(--line);border-radius:9px}.customer-consent input{width:17px!important;height:17px;accent-color:var(--green)}.customer-note{grid-column:1/-1;padding:10px 12px;border-left:3px solid var(--green);color:var(--muted);background:var(--green-soft);border-radius:6px;font-size:12px}

/* 1.0.18 customer subpages */
.customer-detail-section{min-height:330px}.otw-section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.otw-section-heading h2{margin:0 0 3px}.otw-section-heading p{margin:0}.otw-note-card{display:flex;gap:15px;background:var(--surface-2);padding:20px;border:1px solid var(--line);border-radius:12px;max-width:820px}.otw-note-card p{color:var(--muted)}.otw-section-icon{font-size:27px;color:var(--green)}.otw-empty-content{padding:26px;border:1px dashed var(--line-strong);background:var(--surface-2);border-radius:10px;color:var(--muted)}.otw-empty-content strong{color:var(--text)}.otw-split-view{display:grid;grid-template-columns:minmax(210px,30%) minmax(0,1fr);gap:15px;min-height:300px}.otw-split-sidebar,.otw-split-detail{padding:16px;border:1px solid var(--line);border-radius:10px;min-width:0}.otw-split-view h3{font-size:14px;margin:0 0 12px}.otw-category-tabs{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}.otw-category-tabs button{padding:7px 12px;font-size:12px}.otw-category-tabs button.active{background:var(--green);color:white;border-color:var(--green)}.otw-category-tabs button:disabled{opacity:.5;cursor:not-allowed}.otw-document-preview{min-height:250px;display:grid;align-content:center;justify-items:center;text-align:center;color:var(--muted);background:var(--surface-2);border:1px dashed var(--line);border-radius:10px;font-size:32px}.otw-document-preview p{font-size:13px;max-width:340px}@media(max-width:700px){.otw-split-view{grid-template-columns:1fr}}

/* Calendar (OTWin appointments, inspired by TelefonieFrese) */
.otw-cal-filters{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin:12px 0}
.otw-cal-filters input{min-width:210px;flex:1}.otw-cal-filters select{max-width:240px}
.otw-cal{padding:14px!important;overflow:hidden}.otw-cal-toolbar{display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:16px}
.otw-cal-toolbar button{min-height:33px;border:1px solid var(--border,#d4dfda);background:transparent;border-radius:8px;padding:6px 12px;color:inherit;cursor:pointer}
.otw-cal-toolbar button.active{background:#177f58;color:white;border-color:#177f58}.otw-cal-toolbar strong{font-size:1rem}
.otw-cal-days{display:grid;grid-template-columns:repeat(5,minmax(170px,1fr));border:1px solid var(--border,#dce4df);border-radius:10px;overflow:auto;min-height:430px}
.otw-cal-days.month{grid-template-columns:repeat(7,minmax(125px,1fr))}.otw-cal-days.month .otw-cal-cell{min-height:135px}
.otw-cal-cell{min-height:360px;border-right:1px solid var(--border,#dce4df);border-bottom:1px solid var(--border,#dce4df);background:var(--card-bg,transparent)}
.otw-cal-cell>header{background:rgba(109,135,117,.08);padding:10px 12px;font-size:.86rem;position:sticky;top:0}
.otw-cal-items{padding:8px;display:grid;align-content:start;gap:6px}
.otw-cal-event{--event-color:#23895d;text-align:left;width:100%;border:0;border-left:4px solid var(--event-color);border-radius:6px;padding:7px 10px;display:flex;flex-direction:column;gap:2px;background:color-mix(in srgb,var(--event-color) 12%,transparent);color:inherit;cursor:pointer;word-break:break-word;font-size:.85rem}
.otw-cal-event:hover{background:color-mix(in srgb,var(--event-color) 24%,transparent)}.otw-cal-event strong{font-size:.85rem;line-height:1.3}.otw-cal-event small{opacity:.7}.otw-cal-event-time{font-variant-numeric:tabular-nums;font-size:.77rem;font-weight:650}
.otw-cal-hour{display:grid;grid-template-columns:72px 1fr;min-height:70px;border-bottom:1px solid var(--border,#dce4df)}.otw-cal-hour>span{font-size:.8rem;padding:9px;color:var(--muted,#708079);border-right:1px solid var(--border,#dce4df)}.otw-cal-hour>div{padding:5px;display:flex;gap:8px;flex-wrap:wrap;align-content:start}.otw-cal-hour .otw-cal-event{max-width:380px}
.otw-cal-dialog{border:1px solid #d0ded7;border-radius:14px;box-shadow:0 18px 70px #0004;padding:22px;width:min(760px,96vw);max-height:90vh;overflow:auto;background:var(--surface,#fff);color:var(--text,#192a22)}.otw-cal-dialog::backdrop{background:#152b2299}
.otw-cal-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.otw-cal-fields label{display:flex;flex-direction:column;gap:5px;font-size:.88rem}.otw-cal-fields input,.otw-cal-fields select,.otw-cal-fields textarea{width:100%;padding:9px;border:1px solid #becfc5;border-radius:7px;color:inherit;background:transparent}
.otw-cal-memo{grid-column:1/-1}.otw-cal-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:18px}.otw-cal-actions .danger{background:#b43232;color:white;border:0}
body.dark .otw-cal-cell>header{background:#273b33}body.dark .otw-cal-dialog{background:#1d2c26;border-color:#3f594c;color:#f3f9f6}body.dark .otw-cal-fields input,body.dark .otw-cal-fields select,body.dark .otw-cal-fields textarea{background:#263a30;border-color:#567164}
@media(max-width:850px){.otw-cal-days{grid-template-columns:repeat(5,minmax(150px,1fr))}.otw-cal-fields{grid-template-columns:1fr}}

/* German read-only OTWin calendar v1.0.20 */
.otw-cal-readonly{font-size:.82rem;color:var(--muted,#63766b);border:1px solid var(--border,#cad9d0);border-radius:20px;padding:7px 13px}
.otw-cal-legend{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:0 0 13px;font-size:.8rem}
.otw-cal-legend>span{display:inline-flex;align-items:center;gap:6px}.otw-cal-legend .holiday:before,.otw-cal-legend .vacation:before{content:'';width:9px;height:9px;border-radius:3px;background:#c55b48}.otw-cal-legend .vacation:before{background:#d2a545}.otw-cal-info{color:var(--muted,#63766b)}
.otw-cal-cell.is-weekend{background:color-mix(in srgb,var(--border,#dce4df) 18%,transparent)}
.otw-cal-cell.is-holiday>header{box-shadow:inset 4px 0 #c55b48}.otw-cal-cell.is-vacation>header{box-shadow:inset 4px 0 #d2a545}
.otw-cal-cell.is-holiday.is-vacation>header{box-shadow:inset 4px 0 #c55b48}
.otw-cal-special{font-size:.75rem;padding:5px 8px;margin:7px 8px 0;border-radius:5px;background:color-mix(in srgb,#c55b48 14%,transparent)}
.otw-cal-special.vacation{background:color-mix(in srgb,#d2a545 17%,transparent)}
.otw-cal-currentday{font-weight:700;margin:8px 0}.otw-cal-day-note{border-left:4px solid #c55b48;padding:6px 12px;margin:8px 0;background:color-mix(in srgb,#c55b48 10%,transparent)}
.otw-cal-event{cursor:default}.otw-cal-event:hover{background:color-mix(in srgb,var(--event-color) 12%,transparent)}
.otw-cal-days:not(.month){overflow-x:auto}.otw-cal-days.month .otw-cal-cell>header strong{display:block}
@media(max-width:850px){.otw-cal-days:not(.month){grid-template-columns:repeat(5,minmax(185px,1fr))}}
