/* TESIVO Professional Software Shell */
:root{
  --tesivo-navy:#0B1F3A;--tesivo-blue:#2467D1;--tesivo-blue-soft:#EEF4FF;--tesivo-surface:#FFFFFF;--tesivo-bg:#F3F6FA;
  --tesivo-text:#172033;--tesivo-muted:#667085;--tesivo-line:#D9E1EA;--tesivo-shadow:0 14px 42px rgba(16,31,52,.14);
  --forest:var(--tesivo-navy)!important;--turf:var(--tesivo-blue)!important;--primary:var(--tesivo-blue)!important;--navy:var(--tesivo-navy)!important;--blue:var(--tesivo-blue)!important;--bg:var(--tesivo-bg)!important;--line:var(--tesivo-line)!important;
}
*{box-sizing:border-box}
body.tesivo-software-shell{background:var(--tesivo-bg)!important;color:var(--tesivo-text);padding-bottom:0!important}
body.tesivo-software-shell .bottomnav{display:none!important}
.tesivo-menu-trigger{position:fixed;left:16px;top:14px;z-index:11020;width:40px;height:40px;border:1px solid var(--tesivo-line);border-radius:8px;background:#fff;box-shadow:0 2px 8px rgba(16,31,52,.08);display:grid;place-items:center;cursor:pointer;color:var(--tesivo-navy)}
.tesivo-menu-trigger svg,.tesivo-drawer svg,.tesivo-preview-banner svg,.tesivo-search-modal svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tesivo-drawer-backdrop{position:fixed;inset:0;background:rgba(11,31,58,.34);z-index:11000;opacity:0;pointer-events:none;transition:.18s ease}.tesivo-drawer-backdrop.open{opacity:1;pointer-events:auto}
.tesivo-drawer{position:fixed;left:0;top:0;bottom:0;z-index:11030;width:min(344px,92vw);background:#fff;border-right:1px solid var(--tesivo-line);box-shadow:var(--tesivo-shadow);transform:translateX(-102%);transition:transform .2s ease;display:flex;flex-direction:column}.tesivo-drawer.open{transform:none}
.tesivo-drawer-brand{height:72px;padding:14px 16px;border-bottom:1px solid #E8EDF3;display:flex;align-items:center;justify-content:space-between}.tesivo-drawer-brand img{width:150px;height:40px;object-fit:contain;object-position:left center}.tesivo-drawer-brand button{border:0;background:#F5F7FA;border-radius:8px;width:36px;height:36px;display:grid;place-items:center;color:#475467;cursor:pointer}
.tesivo-drawer-context{padding:15px 18px 10px}.tesivo-drawer-context small,.tesivo-nav-section>span{display:block;font-size:9px;font-weight:800;letter-spacing:1.2px;color:#98A2B3}.tesivo-drawer-context strong{display:block;margin-top:4px;font-size:14px;color:var(--tesivo-navy)}
.tesivo-global-search-button{margin:4px 12px 10px;padding:10px 11px;border:1px solid var(--tesivo-line);border-radius:8px;background:#F8FAFC;color:#475467;display:flex;align-items:center;gap:9px;font:600 12px Manrope,Arial,sans-serif;cursor:pointer;text-align:left}.tesivo-global-search-button span{flex:1}.tesivo-global-search-button kbd{font:600 10px Manrope;background:#fff;border:1px solid #D0D5DD;border-radius:5px;padding:2px 5px;color:#98A2B3}
.tesivo-drawer-nav{overflow:auto;padding:4px 10px 18px;flex:1}.tesivo-nav-section{padding-top:10px}.tesivo-nav-section>span{padding:0 8px 7px}.tesivo-nav-section a,.tesivo-nav-section button{width:100%;display:flex;align-items:center;gap:11px;border:0;background:transparent;text-decoration:none;color:#475467;padding:10px 10px;border-radius:7px;font:600 12px Manrope,Arial,sans-serif;cursor:pointer;text-align:left}.tesivo-nav-section a svg,.tesivo-nav-section button svg{width:18px;height:18px;color:#667085;flex:none}.tesivo-nav-section a:hover,.tesivo-nav-section button:hover{background:#F4F7FB;color:var(--tesivo-navy)}.tesivo-nav-section a.active,.tesivo-nav-section button.active{background:var(--tesivo-blue-soft);color:var(--tesivo-blue)}.tesivo-nav-section a.active svg,.tesivo-nav-section button.active svg{color:var(--tesivo-blue)}
.tesivo-drawer-footer{border-top:1px solid #E8EDF3;padding:10px;display:grid;gap:2px}.tesivo-drawer-footer a,.tesivo-drawer-footer button{border:0;background:transparent;text-decoration:none;color:#475467;border-radius:7px;padding:10px;display:flex;align-items:center;gap:10px;font:600 12px Manrope;cursor:pointer}.tesivo-drawer-footer a:hover,.tesivo-drawer-footer button:hover{background:#F5F7FA}.tesivo-drawer-footer svg{width:17px;height:17px}
.tesivo-preview-banner{position:fixed;left:72px;top:14px;z-index:10990;min-height:40px;padding:8px 10px 8px 12px;border:1px solid #B2CCFF;border-radius:8px;background:#EFF4FF;color:#1849A9;display:flex;align-items:center;gap:8px;font-size:11px;box-shadow:0 2px 10px rgba(16,31,52,.06)}.tesivo-preview-banner button{border:0;border-left:1px solid #B2CCFF;background:transparent;color:#1849A9;font-weight:800;padding-left:10px;cursor:pointer}
.tesivo-search-modal{position:fixed;inset:0;z-index:12000;background:rgba(11,31,58,.38);padding:11vh 18px 20px}.tesivo-search-panel{width:min(720px,100%);margin:auto;background:#fff;border:1px solid var(--tesivo-line);border-radius:12px;box-shadow:0 30px 80px rgba(11,31,58,.25);overflow:hidden}.tesivo-search-head{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid #E8EDF3}.tesivo-search-head input{flex:1;border:0!important;outline:0;background:transparent!important;padding:6px!important;font:500 14px Manrope!important;box-shadow:none!important}.tesivo-search-head button{border:0;background:#F5F7FA;width:34px;height:34px;border-radius:7px;display:grid;place-items:center;color:#667085;cursor:pointer}.tesivo-search-results{max-height:55vh;overflow:auto;padding:7px}.tesivo-search-results a{display:grid;grid-template-columns:82px 1fr;gap:10px;padding:10px;border-radius:7px;text-decoration:none;color:var(--tesivo-text)}.tesivo-search-results a:hover{background:#F4F7FB}.tesivo-search-kind{font-size:9px;font-weight:800;color:var(--tesivo-blue);text-transform:uppercase;letter-spacing:.6px;padding-top:2px}.tesivo-search-results b{display:block;font-size:12px}.tesivo-search-results small{display:block;color:#667085;margin-top:2px;font-size:10px}.tesivo-search-hint{padding:24px;color:#667085;text-align:center;font-size:12px}
/* Einheitliches Software-Finish für die vorhandenen Fachmodule */
body.tesivo-software-shell :is(.billing-v3-topbar,.training-v3-topbar,.jersey-v3-topbar,.spon-v3-topbar,.topbar){border-bottom:1px solid var(--tesivo-line)!important;box-shadow:none!important;background:#fff!important;min-height:66px!important}
body.tesivo-software-shell :is(.billing-v3-topbar-inner,.training-v3-topbar-inner,.jersey-v3-topbar-inner,.spon-v3-topbar-inner){padding-left:72px!important}
body.tesivo-software-shell :is(.brand-logo,.billing-v3-brand img,.training-v3-brand img,.jersey-v3-brand img,.spon-v3-brand img,.topbar .brand img){width:132px!important;max-width:132px!important;height:34px!important;object-fit:contain!important;object-position:left center!important;border:0!important;background:transparent!important;padding:0!important;border-radius:0!important}
body.tesivo-software-shell :is(.card,.stat-card,.kpi,.tenant,.user-table-wrap,.table){border-radius:8px!important;border-color:var(--tesivo-line)!important;box-shadow:none!important;background:#fff!important}
body.tesivo-software-shell :is(.btn,button.btn){border-radius:7px!important;box-shadow:none!important}body.tesivo-software-shell :is(.btn-primary,.primary){background:var(--tesivo-blue)!important;border-color:var(--tesivo-blue)!important;color:#fff!important}
body.tesivo-software-shell :is(input,select,textarea){border-radius:7px!important;border-color:#CDD5DF!important;box-shadow:none!important}
body.tesivo-software-shell :is(.page){max-width:1320px!important}
body.tesivo-software-shell h1{letter-spacing:-.025em}
@media(max-width:760px){.tesivo-preview-banner{left:64px;right:12px}.tesivo-preview-banner button{display:none}.tesivo-menu-trigger{left:12px}.tesivo-drawer{width:min(326px,94vw)}body.tesivo-software-shell :is(.billing-v3-topbar-inner,.training-v3-topbar-inner,.jersey-v3-topbar-inner,.spon-v3-topbar-inner){padding-left:62px!important}}

/* 2026-09 professional shell refinements */
.tesivo-menu-trigger [data-lucide],.tesivo-drawer [data-lucide],.tesivo-preview-banner [data-lucide],.tesivo-search-modal [data-lucide]{width:19px;height:19px;margin:0;stroke-width:1.8}
.tesivo-drawer-brand{padding-left:18px}.tesivo-drawer-brand img{margin-left:0}
.tesivo-preview-banner button{display:flex;align-items:center;gap:6px}.tesivo-preview-banner button [data-lucide]{width:14px;height:14px}
.tesivo-spin{animation:tesivo-spin .9s linear infinite}@keyframes tesivo-spin{to{transform:rotate(360deg)}}
body.tesivo-software-shell .portal-top{padding-left:72px!important}
body.tesivo-software-shell .portal-top .portal-brand{margin-left:0!important}
@media(max-width:760px){body.tesivo-software-shell .portal-top{padding-left:64px!important}}
