:root{font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:#172437;background:#f4f7fb;font-size:16px}*{box-sizing:border-box}body{margin:0}a{color:#1764a6;text-decoration:none}a:hover{text-decoration:underline}.shell{min-height:100vh;display:grid;grid-template-columns:245px minmax(0,1fr)}.sidebar{background:#172c45;color:#fff;padding:25px 16px;display:flex;flex-direction:column;gap:30px}.brand{color:#fff;font-size:18px;font-weight:750;padding:6px}.sidebar nav{display:grid;gap:5px}.sidebar nav a{color:#e2eaf4;padding:12px;border-radius:9px}.sidebar nav a:hover{background:#294665;text-decoration:none}.sidefoot{margin-top:auto;display:grid;gap:12px;font-size:13px;color:#d6e2ef}.content{padding:34px;max-width:1250px;width:100%;margin:auto}.content header{margin-bottom:24px}h1{font-size:27px;letter-spacing:-.7px;margin:6px 0}h2{font-size:21px}.eyebrow{font-size:12px;color:#718197;text-transform:uppercase;letter-spacing:.1em}.panel{background:#fff;border:1px solid #dfe7f0;border-radius:15px;padding:25px;box-shadow:0 4px 18px #213a5908}.panel.narrow{max-width:750px}.muted{color:#63758a}.small{font-size:13px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.toolbar.bottom{margin:20px 0}.items{margin-top:18px}.item{padding:15px 2px;border-bottom:1px solid #e6ecf2;display:flex;align-items:center;justify-content:space-between;gap:16px}.item:last-child{border-bottom:0}.actions{display:flex;gap:8px;flex-wrap:wrap}button,.button{font:inherit;font-size:14px;cursor:pointer;border:1px solid #cbd8e6;border-radius:9px;padding:10px 15px;display:inline-flex;align-items:center;justify-content:center;min-height:41px}button.primary,.button.primary{background:#1764a6;color:white;border-color:#1764a6}button.secondary,.button.secondary{background:#fff;color:#23405f}button.danger{color:#aa2632;background:#fff3f4;border-color:#ffd1d5}.button:hover{text-decoration:none;filter:brightness(.97)}label{display:grid;gap:7px;margin:0 0 19px;font-size:14px;font-weight:650}input,textarea,select{font:inherit;color:#192b3f;border:1px solid #cbd6e4;border-radius:8px;background:#fff;padding:10px 12px;max-width:100%;width:100%}textarea{resize:vertical;line-height:1.6}input:focus,textarea:focus,select:focus{outline:3px solid #d9eafc;border-color:#1764a6}.insertbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:-5px 0 18px}.insertbar select{width:auto;max-width:100%}.document{white-space:pre-wrap;line-height:2.3;font-size:16px;border:1px solid #e2e9f2;border-radius:10px;padding:20px;background:#fbfdff;overflow-wrap:anywhere}.inline-field{display:inline-block;vertical-align:middle;width:auto;min-width:130px;max-width:min(100%,320px);margin:3px 4px;padding:7px 9px;background:#edf6ff;border:1px solid #91b7df;font-size:15px}.document textarea.inline-field{min-width:220px;vertical-align:middle}details{margin-top:15px}details textarea{margin-top:10px}.login{min-height:100vh;display:grid;place-items:center;padding:24px}.login .panel{width:min(100%,460px)}.login button{width:100%}.alert,.success{border-radius:9px;padding:12px 16px;margin:0 0 18px}.alert{background:#fff0f0;color:#8b1e26}.success{background:#e9f8ef;color:#17643a}.deleteform{margin-top:25px}code{background:#edf1f6;padding:2px 5px;border-radius:4px}hr{border:0;border-top:1px solid #e4eaf2;margin:25px 0}[hidden]{display:none!important}@media(max-width:780px){.shell{display:block}.sidebar{padding:14px;gap:12px}.brand{font-size:16px}.sidebar nav{display:flex;overflow-x:auto}.sidebar nav a{white-space:nowrap}.sidefoot{display:flex;align-items:center;justify-content:space-between}.content{padding:18px}.panel{padding:16px}.item{align-items:flex-start;flex-direction:column}.actions{width:100%}.document{padding:12px}.inline-field{min-width:110px}}

/* Version 0.2: Ordnerbaum */
.folder-layout{display:grid;grid-template-columns:minmax(220px,290px) minmax(0,1fr);gap:18px;align-items:start}.folder-panel{padding:16px}.folder-tree{margin-top:14px;display:grid;gap:3px}.folder-node{display:flex;align-items:center;padding-left:calc(var(--depth) * 15px)}.folder-link{display:block;flex:1;padding:10px;border-radius:8px;color:#23405f;overflow-wrap:anywhere}.folder-link:hover,.folder-link.active{background:#e8f2ff;text-decoration:none}.folder-edit{padding:8px;color:#667c91}.folder-panel .button{padding:6px 10px;min-height:34px}@media(max-width:900px){.folder-layout{grid-template-columns:1fr}.folder-panel{padding:14px}}

/* Ticketsystem 0.4 */
.sidebar .nav-heading{display:block;color:#a9c2df;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:750;padding:16px 12px 2px}.ticket-grid{display:grid;gap:12px}.ticket-entry{display:flex;justify-content:space-between;gap:16px;align-items:center;border:1px solid #e0e7f0;border-left:5px solid #b8c5d6;border-radius:10px;padding:15px;background:#fff}.ticket-entry.age-mid{border-left-color:#d49b26}.ticket-entry.age-old{border-left-color:#d55252}.ticket-meta{font-size:13px;color:#65758a;margin-top:5px}.ticket-body{white-space:pre-wrap;overflow-wrap:anywhere;background:#f5f7fb;border-radius:10px;padding:18px;margin:14px 0}.ticket-actions{display:flex;flex-wrap:wrap;gap:10px}.ticket-notice{padding:12px;border-radius:9px;background:#e9f7ef;color:#205d3b;margin-bottom:16px}.ticket-warning{padding:12px;border-radius:9px;background:#fff2dc;color:#7a4c05;margin-bottom:16px}.ticket-entry strong{overflow-wrap:anywhere}.ticket-form textarea{min-height:130px}.ticket-closed{color:#63758b}.ticket-caption{font-size:13px;color:#66778c}
@media(max-width:650px){.ticket-entry{align-items:flex-start;flex-direction:column}}

/* Benutzerverwaltung 0.5 */
.user-table{width:100%;border-collapse:collapse}.user-table th,.user-table td{text-align:left;padding:12px;border-bottom:1px solid #e3eaf1}.user-table th{color:#63758a;font-size:13px}.user-table td{overflow-wrap:anywhere}.user-checkbox{display:flex;align-items:center;gap:10px}.user-checkbox input{width:auto}.user-form{max-width:700px}.user-actions{display:flex;gap:10px;flex-wrap:wrap}.sidebar .nav-heading{margin-top:20px;border-top:1px solid #456078;padding-top:18px}@media(max-width:700px){.user-table{display:block;overflow-x:auto}}

/* TBM 0.6.49 – Smartphone-/Tablet-Optimierung der allgemeinen Oberfläche.
   Ausschließlich Layoutregeln; große Desktopansichten bleiben unverändert. */
@media (max-width:780px){
 html{-webkit-text-size-adjust:100%}
 .shell,.content,.panel,.folder-layout,.ticket-grid,.item,.toolbar{min-width:0}
 .sidebar{gap:8px;padding:12px 14px}
 .sidebar .brand{padding:2px 4px}
 .sidebar nav{display:flex;flex-wrap:wrap;overflow:visible;gap:6px;align-items:stretch}
 .sidebar nav .nav-heading{flex:0 0 100%;margin:9px 0 0!important;padding:7px 3px 2px!important;font-size:12px!important}
 .sidebar nav a{white-space:normal;overflow-wrap:anywhere;padding:9px 11px;border:1px solid rgba(255,255,255,.16);font-size:14px;line-height:1.25}
 .sidebar .sidefoot{flex-wrap:wrap;gap:8px}
 .content{width:100%;max-width:100%;padding:14px}
 .content header{margin-bottom:16px}
 h1{font-size:clamp(21px,6vw,27px);letter-spacing:-.35px}
 h2{font-size:19px}
 .panel{padding:14px;border-radius:12px}
 .toolbar{align-items:stretch;gap:9px}
 .toolbar>*{max-width:100%}
 .folder-layout{gap:12px}
 .folder-panel{padding:12px}
 .folder-tree{max-height:min(42vh,340px);overflow-y:auto;overscroll-behavior:contain}
 .item{gap:9px}
 .item>*{max-width:100%;min-width:0;overflow-wrap:anywhere}
 .actions{align-items:stretch;gap:8px}
 .actions>*{min-width:0}
 .document{font-size:16px;line-height:1.75;overflow-wrap:anywhere}
 .inline-field,.document textarea.inline-field{min-width:0;max-width:100%;width:auto}
 .ticket-entry{align-items:stretch;padding:12px;gap:9px}
 .ticket-entry>div{min-width:0;overflow-wrap:anywhere}
 .ticket-entry>.button{align-self:stretch;text-align:center}
 .ticket-body{padding:12px}
 .ticket-actions{gap:8px}
 .ticket-actions>*{flex:1 1 auto}
 .ticket-form textarea{min-height:115px}
 .user-table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
 .user-table th,.user-table td{padding:9px}
 input,textarea,select{font-size:16px}
 button,.button{min-height:44px;touch-action:manipulation}
}
@media (max-width:430px){
 .content{padding:10px}
 .panel{padding:12px}
 .sidebar nav a{flex:1 1 calc(50% - 6px);text-align:center}
 .sidebar nav .nav-heading{text-align:left}
 .toolbar .button,.toolbar>button{flex:1 1 auto}
 .insertbar{align-items:stretch}
 .insertbar select{width:100%}
 .folder-link{padding:11px 7px}
 .ticket-entry>.button{width:100%}
}

/* TBM 0.6.52: Corporate logo – login prominent, copyright subtle. */
.tbm-login-brand{display:flex;justify-content:center;align-items:center;margin:0 0 19px}
.tbm-login-brand img{display:block;width:100%;height:auto;max-width:400px;object-fit:contain}
.tbm-visually-hidden{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}
.tbm-footer-brand{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 auto 9px;max-width:100%;color:#e2edf8;font-size:11px;font-weight:650;line-height:1.25}
.tbm-footer-brand img{display:block;width:43px;height:42px;object-fit:contain;background:white;border-radius:8px;padding:3px;flex:0 0 auto}
.tbm-footer-brand span{overflow-wrap:anywhere;text-align:left}
@media(max-width:780px){.tbm-footer-brand{justify-content:flex-start;max-width:205px;margin:0 0 8px}.tbm-login-brand img{max-width:390px}}

/* TBM ELW: Produktname im Login als Text statt veralteter Wortmarke im Bild. */
.tbm-login-brand.tbm-login-brand-text{gap:14px;flex-wrap:nowrap;justify-content:center;align-items:center}
.tbm-login-brand.tbm-login-brand-text img{width:70px;height:70px;max-width:70px;flex:0 0 70px;object-fit:contain}
.tbm-login-brand.tbm-login-brand-text strong{font:750 clamp(18px,3.8vw,27px)/1.15 system-ui,-apple-system,sans-serif;color:#11528d;overflow-wrap:anywhere}
@media(max-width:430px){.tbm-login-brand.tbm-login-brand-text{gap:10px}.tbm-login-brand.tbm-login-brand-text img{width:56px;height:56px;max-width:56px;flex-basis:56px}}
