/*
 * Datei: assets/styles/layout.css
 * Zweck: Globale Shell- und Layoutbasis.
 * Status: führend
 * Verantwortet: App-Rahmen, Flächenabstände, Admin-Shell und führende Geometrie des Search-Docks.
 */

/* Header ownership cleaned on 2026-04-13: app-header.css is the sole active header authority. */
html,body{
  min-height:100dvh;
}
.app,.wrap{
  width:100%;
  max-width:none;
  margin:0;
  overflow-x:hidden;
}
.app{
  min-height:100dvh;
  display:flex;
  flex-direction:column;
}
.section{
  padding:var(--section-pad);
  width:100%;
  min-width:0;
}

.grid2{
  display:grid;
  gap:12px;
  width:100%;
  grid-template-columns:1fr;
}
@media (min-width:860px){
  .grid2{
    grid-template-columns:1fr 1.2fr;
  }
}
.top{
  padding:16px 12px;
  display:grid;
  gap:12px;
}
.grid{
  display:grid;
  gap:12px;
}
@media (min-width:860px){
  .grid{
    grid-template-columns:1fr 1fr;
  }
}
.admin-shell{
  width:100%;
  max-width:1200px;
  margin:0 auto;
}
.admin-login-shell{
  min-height:calc(100dvh - 86px);
  display:grid;
  place-items:center;
  padding:12px;
}
.bottom-search-dock{
  position:fixed;
  left:0;
  right:0;
  bottom:var(--shell-keyboard-offset, 0px);
  z-index:var(--shell-z-dock, var(--search-dock-z, 220));
  padding:8px 12px calc(8px + env(safe-area-inset-bottom));
  background:var(--shell-dock-bg, linear-gradient(180deg, rgba(13,16,21,0), rgba(13,16,21,.82) 28%, rgba(13,16,21,.96)));
  backdrop-filter:blur(var(--shell-blur, 18px));
}
@media (min-width:861px){
  .bottom-search-dock{
    left:50%;
    right:auto;
    transform:translateX(-50%);
    width:min(760px, calc(100% - 24px));
    bottom:calc(12px + var(--shell-keyboard-offset, 0px));
    border-radius:22px;
  }
}


/* AP-29D-REV14-PHASE4-A | Fixed Header und Fixed Dock bilden die Shell; nur der Content scrollt. */
body[data-area="employee"]{
  background:var(--shell-bg, var(--bg));
}
body[data-area="employee"] .app{
  padding-top:calc(var(--app-header-safe, 0px) + var(--app-header-h, 76px));
}
body[data-area="employee"] .bottom-search-dock{
  min-height:var(--shell-dock-height, 74px);
  box-shadow:var(--shell-dock-shadow, 0 18px 44px rgba(0,0,0,.32));
}

/* AP-29D-REV14-PHASE4-B | Dock und globale Shellflächen folgen der DG-Grammatik. */
body[data-area="employee"],
body[data-page^="admin"]{
  background:var(--dg-bg-gradient, var(--bg));
}
.bottom-search-dock{
  background:var(--shell-dock-bg);
}
body[data-area="employee"] .bottom-search-dock{
  box-shadow:var(--shell-dock-shadow, var(--dg-shadow-card));
}
.admin-shell{
  color:var(--dg-text, var(--text));
}


/* AP-29D-REV14-PHASE4-C | Keyboard-/Dock-Stabilisierung: Dock bleibt feste Shell-Kante; Offset kommt nur aus zentraler Runtime-Variable. */
html{
  --shell-keyboard-offset:0px;
}
body[data-area="employee"].search-focused .bottom-search-dock{
  transition:none;
}
body[data-area="employee"] .bottom-search-dock{
  will-change:bottom;
}
