/* BBasicBlazor Shell – Vollbild-Layout fuer grosse Bildschirme */
html, body { margin: 0; height: 100%; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 13px; color: #1d2733; background: #eef2f6; }
* { box-sizing: border-box; }
.shell { display: flex; flex-direction: column; height: 100vh; }
/* Kopf = Menueleiste (MainForm-MenuStrip) in Mandantenfarbe (BBCore.MandantColor) */
.shell-top { display: flex; align-items: stretch; background: var(--bb-mandant, #FFFFE0); color: var(--bb-mandant-text, #000);
    border-bottom: 3px solid rgba(0,0,0,.35); min-height: 36px; position: relative; z-index: 50; }
.shell-mandant { display: flex; align-items: center; gap: 8px; cursor: pointer; margin: 3px 6px; padding: 2px 12px; border-radius: 4px;
    background: #fff; color: #000; border: 2px solid rgba(0,0,0,.55); box-shadow: 0 1px 3px rgba(0,0,0,.3); white-space: nowrap; }
.shell-mandant:hover { background: #f3f3f3; }
.shell-mandant-nr { font-size: 18px; font-weight: 800; background: #1f3b5a; color: #fff; border-radius: 3px; padding: 0 7px; }
.shell-mandant-name { font-size: 17px; font-weight: 700; }
.shell-mandant-fil { font-size: 12px; color: #444; }
.shell-version { align-self: center; font-size: 11px; opacity: .8; white-space: nowrap; margin: 0 6px; }
.shell-user { align-self: center; white-space: nowrap; font-weight: 600; margin: 0 6px; }
.shell-top .bbbtn { align-self: center; padding: 2px 10px; margin-right: 6px; }
.shell-baumknopf { align-self: center; border: 1px solid rgba(0,0,0,.3); background: rgba(255,255,255,.6); border-radius: 3px; cursor: pointer; padding: 1px 7px; font-size: 15px; }
.shell-baumknopf.an { background: #fff; box-shadow: inset 0 1px 2px rgba(0,0,0,.3); }
/* Masken-/Seitenhintergrund = Mandantenfarbe wie Form.BackColor im Original */
.shell .bbtabs-body { background: var(--bb-mandant, #FFFFE0); }
.shell .bbmask { background: var(--bb-mandant, #FFFFE0); }

/* Menueleiste */
.bbmenubar { display: flex; align-items: stretch; flex: 1; min-width: 0; font: 13px "Segoe UI", Arial, sans-serif; user-select: none; }
.bbmenu-top { position: relative; display: flex; align-items: center; gap: 5px; padding: 2px 9px; cursor: default; white-space: nowrap; border: 1px solid transparent; }
.bbmenu-top:hover, .bbmenu-top.open { background: rgba(255,255,255,.55); border-color: rgba(0,0,0,.25); color: #000; }
.bbmenu-top > .bbmenu-ico { width: 22px; height: 22px; }
.bbmenu-drop { position: absolute; top: 100%; left: -1px; min-width: 240px; background: #fbfbfb; color: #000; border: 1px solid #a0a0a0;
    box-shadow: 2px 3px 6px rgba(0,0,0,.3); padding: 2px; z-index: 1001; }
.bbmenu-drop.flyout { display: none; top: -3px; left: 100%; }
.bbmenu-item { position: relative; display: flex; align-items: center; gap: 6px; padding: 2px 6px 2px 2px; white-space: nowrap; cursor: default; min-height: 26px; }
.bbmenu-item:hover { background: #cce4f7; outline: 1px solid #99c9ef; }
.bbmenu-item.sub:hover > .bbmenu-drop.flyout { display: block; }
.bbmenu-item.todo > .bbmenu-txt { opacity: .62; }
.bbmenu-icobox { width: 26px; display: flex; justify-content: center; }
.bbmenu-item .bbmenu-ico { width: 22px; height: 22px; }
.bbmenu-txt { flex: 1; }
.bbmenu-sc { color: #555; font-size: 12px; padding-left: 24px; }
.bbmenu-arrow { width: 12px; text-align: right; }
.bbmenu-sep { height: 1px; background: #d0d0d0; margin: 3px 4px 3px 32px; }
.bbmenu-overlay { position: fixed; inset: 0; z-index: 40; }
.menutree-img { width: 16px; height: 16px; vertical-align: -3px; margin-right: 4px; }
.shell-spacer { flex: 1; }
.shell-top .bbbtn { padding: 2px 10px; }
.shell-main { flex: 1; min-height: 0; }
.statusbar { display: flex; gap: 18px; padding: 2px 10px; background: #dfe6ee; border-top: 1px solid #c3ccd6; font-size: 12px; color: #34495e; }
.menutree { height: 100%; overflow: auto; background: #f8fafc; border-right: 1px solid #d0d7de; padding: 4px 0; user-select: none; }
.menutree-search { width: calc(100% - 12px); margin: 2px 6px 6px; padding: 3px 6px; border: 1px solid #c3ccd6; border-radius: 3px; }
.menutree-item { padding: 3px 6px; cursor: pointer; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.menutree-item:hover { background: #e3ecf6; }
.menutree-item.folder { font-weight: 600; }
.menutree-item.todo { color: #7b8794; }
.menutree-item.active { background: #cfe0f3; }
.menutree-icon { display: inline-block; width: 14px; color: #5a6b7d; }
.menutree-sep { border-top: 1px solid #e1e6eb; margin: 3px 8px; }
.boot-screen, .login-wrap { display: flex; align-items: center; justify-content: center; height: 100vh; background: #1f3b5a; }
.boot-box, .login-box { background: #fff; padding: 24px 28px; border-radius: 6px; min-width: 340px; box-shadow: 0 6px 30px rgba(0,0,0,.25); }
.boot-title, .login-title { font-size: 18px; font-weight: 700; margin-bottom: 12px; color: #1f3b5a; }
.login-box { display: flex; flex-direction: column; gap: 6px; }
.login-box input { padding: 6px 8px; border: 1px solid #b8c3ce; border-radius: 3px; font-size: 14px; }
.login-box .bbbtn { margin-top: 10px; padding: 7px; }
.login-err { color: #b00020; margin-top: 6px; }
.login-hint, .muted { color: #6b7785; font-size: 12px; }
.home { padding: 18px 24px; }
.home-tiles { display: flex; gap: 14px; flex-wrap: wrap; margin: 14px 0; }
.home-tile { display: flex; flex-direction: column; gap: 4px; width: 260px; padding: 14px; background: #fff; border: 1px solid #d0d7de; border-radius: 5px; cursor: pointer; }
.home-tile:hover { border-color: #1f6fb2; box-shadow: 0 2px 8px rgba(31,111,178,.18); }
.placeholder { padding: 18px 24px; }
.demo-pad { padding: 12px 16px; height: 100%; overflow: auto; }
.demo-table td { padding: 4px 8px; vertical-align: middle; }
