/* Datenverzeichnis integration of Gentelella 4; functional view styles remain modular. */
:root { color-scheme:light; --sidebar-w:226px; --bg:var(--body-bg); --panel:var(--bg-surface); --panel-light:var(--bg-surface-secondary); --border:var(--border-color); --muted:var(--text-secondary); --teal:var(--primary); --violet:var(--purple); --rose:var(--pink); font-family:var(--font); font-size:16px; }
html[data-theme="dark"] { color-scheme:dark; }
html,body { background:var(--body-bg); color:var(--text); }
button,input,select,textarea { font-family:inherit; }
button { color:inherit; }
label,legend { color:var(--text-secondary); }
h1,h2,h3 { color:var(--text); font-weight:600; letter-spacing:-.3px; }
input,select,textarea,.api-dialog textarea { border:1px solid var(--border-color); border-radius:var(--radius); background:var(--bg-surface); color:var(--text); box-shadow:none; }
input::placeholder,textarea::placeholder { color:var(--text-muted); }
input:focus,select:focus,textarea:focus { border-color:var(--primary); box-shadow:0 0 0 3px var(--primary-lt); }
input[type="checkbox"] { accent-color:var(--primary); }
.primary-button,.secondary-button { border-radius:var(--radius); box-shadow:none; font-size:13px; font-weight:500; min-height:34px; }
.primary-button { background:var(--primary); border-color:var(--primary); color:#fff; }
.primary-button:hover:not(:disabled) { background:var(--primary-dk); border-color:var(--primary-dk); transform:none; }
.secondary-button,.pager button,.directory-back { background:var(--bg-surface); border-color:var(--border-color); color:var(--text-secondary); box-shadow:none; border-radius:var(--radius); }
.secondary-button:hover:not(:disabled),.pager button:hover:not(:disabled),.directory-back:hover { background:var(--primary-lt); border-color:var(--primary); color:var(--primary-dk); transform:none; }
.text-button,.contact-link,.company-fields a,.detail-audit a { color:var(--primary-dk); }
.text-button:hover,.contact-link:hover { color:var(--primary); }
.icon-button,.table-tool,.reveal { color:var(--text-secondary); border-radius:var(--radius-sm); }
.icon-button:hover,.table-tool:hover,.reveal:hover { background:var(--primary-lt); color:var(--primary-dk); }
.gentelella-workspace { display:grid; grid-template-columns:var(--sidebar-w) minmax(0,1fr); grid-template-rows:56px minmax(0,1fr); min-height:0; height:100%; background:var(--body-bg); }
.gentelella-workspace .workspace-body { display:contents; }
.gentelella-workspace .workspace-header { grid-column:2; grid-row:1; position:relative; inset:auto; display:flex; flex-wrap:nowrap; width:100%; height:56px; min-height:56px; padding:0 18px; gap:16px; background:var(--bg-surface); border-bottom:1px solid var(--border-color); backdrop-filter:none; z-index:12; }
.gentelella-workspace .navigation { grid-column:1; grid-row:1 / 3; position:relative; inset:auto; width:100%; height:100%; min-height:0; display:flex; flex-direction:column; border-right:1px solid var(--sidebar-border); background:var(--sidebar-bg); overflow:hidden; z-index:20; }
.navigation .sidebar-brand { display:flex; width:100%; max-width:none; height:56px; min-height:56px; padding:0 13px; gap:9px; border-bottom:1px solid var(--sidebar-border); text-decoration:none; }
.navigation .brand-mark { width:24px; height:27px; color:var(--primary); }
.brand-name { position:relative; width:max-content; padding-bottom:11px; font-size:16px; line-height:18px; font-weight:600; letter-spacing:0; white-space:nowrap; color:var(--text); }
.brand-name > span { position:absolute; top:19px; left:0; width:100%; margin:0; font-size:7.5px; line-height:9px; letter-spacing:0; font-weight:400; color:var(--text-secondary); white-space:nowrap; text-align-last:justify; }
.navigation .brand-name { color:#fff; }
.navigation .brand-name > span { color:var(--sidebar-text); }
.navigation .nav-eyebrow { display:block; padding:20px 15px 8px; margin:0; color:var(--sidebar-text); font-size:10px; letter-spacing:1px; }
.navigation nav.sidebar-nav { display:flex; flex:1; flex-direction:column; align-items:stretch; gap:0; padding:4px 7px 12px; overflow-x:hidden; overflow-y:auto; min-height:0; }
.navigation .main-navigation,.navigation .admin-items { display:flex; flex-direction:column; gap:2px; }
.navigation .nav-pill.nav-link { min-height:38px; padding:8px 9px; border:0; border-radius:var(--radius-sm); box-shadow:none; background:transparent; color:var(--sidebar-text); gap:10px; text-align:left; }
.navigation .nav-text { font-size:13px; font-style:normal; color:inherit; line-height:1.4; }
.navigation .nav-link .icon { width:18px; height:18px; opacity:.9; color:var(--nav-color,var(--primary)); }
.navigation .nav-pill:hover { background:var(--sidebar-hover); color:var(--sidebar-text-hover); transform:none; }
.navigation .nav-pill.active { background:var(--sidebar-active); color:var(--sidebar-text-active); box-shadow:inset 2px 0 var(--primary); }
.navigation .admin-navigation { margin-top:22px; padding-top:10px; border-top:1px solid var(--sidebar-border); }
.navigation .admin-navigation > summary { min-height:34px; padding:8px 9px; color:var(--sidebar-text); font-size:11px; text-transform:uppercase; letter-spacing:.8px; }
.navigation .admin-navigation > summary:hover { background:var(--sidebar-hover); color:var(--sidebar-text-hover); }
.navigation .admin-navigation.admin-active > summary { color:var(--primary); }
.navigation .admin-items { padding-top:5px; }
.navigation .nav-bottom,.navigation .nav-bottom:has(select) { display:flex; flex-shrink:0; flex-direction:column; align-items:stretch; flex-wrap:nowrap; gap:5px; margin-top:auto; padding:14px 15px; border-top:1px solid var(--sidebar-border); }
.nav-bottom .eyebrow { display:block; font-size:9px; color:var(--sidebar-text); letter-spacing:.8px; }
.nav-bottom strong { font-size:13px; font-weight:500; color:#d5deea; }
.nav-bottom select { width:100%; background:rgba(255,255,255,.04); color:#c5d0dc; border-color:var(--sidebar-border); font-size:12px; padding:5px 7px; }
.nav-bottom select option { background:var(--sidebar-bg); }
.nav-bottom .role-label { color:var(--sidebar-text); }
.nav-bottom .account-logout { margin:3px 0 0; padding:5px 0; color:var(--sidebar-text); }
.nav-bottom .account-logout:hover { color:var(--primary); }
.workspace-header .header-search { flex:1 1 260px; width:auto; max-width:600px; min-width:80px; margin:0; padding:7px 10px; border:1px solid var(--border-color); border-radius:var(--radius); background:var(--bg-surface-secondary); color:var(--text-muted); gap:9px; }
.workspace-header .header-search .icon { width:16px; height:16px; }
.workspace-header .header-search input { font-size:13px; font-style:normal; min-height:21px; padding:0; background:transparent; box-shadow:none; }
.workspace-header .header-search:focus-within { border-color:var(--primary); box-shadow:0 0 0 3px var(--primary-lt); }
.workspace-header .header-totals { flex-shrink:1; flex-direction:row; align-items:center; gap:14px; font-size:11px; color:var(--text-muted); }
.portal-header-actions { display:flex; flex-shrink:0; align-items:center; gap:9px; margin-left:auto; }
.workspace-header .tb-btn { flex-shrink:0; width:32px; height:32px; border:0; border-radius:var(--radius); background:transparent; color:var(--text-secondary); }
.workspace-header .tb-btn:hover { background:var(--bg-surface-secondary); color:var(--primary-dk); }
.portal-theme-toggle:not(.theme-toggle) .theme-icon-light { display:none; }
.gentelella-workspace .workspace-main { grid-column:2; grid-row:2; width:100%; height:100%; min-height:0; min-width:0; margin:0; padding:16px; overflow:auto; }
.gentelella-workspace .workspace-main:has(.dashboard-page) { padding:16px; }
.gentelella-workspace .workspace-main:has(.research-workspace),.gentelella-workspace .workspace-main:has(.directory-workspace) { display:flex; flex-direction:column; padding:14px 16px 0; overflow:hidden; }
.gentelella-workspace .research-workspace { flex:1; display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr); min-height:0; height:100%; overflow:hidden; background:transparent; }
.gentelella-workspace .research-main { display:flex; flex-direction:column; padding:0; min-height:0; min-width:0; }
.gentelella-workspace .directory-workspace { display:flex; flex-direction:column; min-height:0; height:100%; flex:1; overflow:hidden; }
.portal-nav-backdrop { display:none; }
.dashboard-tiles { grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); grid-auto-rows:90px; gap:14px; }
.dashboard-tile.card { position:relative; border:0; border-radius:var(--radius-lg); background:var(--bg-surface); box-shadow:var(--shadow-card); overflow:hidden; transition:box-shadow .15s,transform .15s; }
.dashboard-tile.card:hover { background:var(--bg-surface); box-shadow:0 0 0 1px var(--primary),0 4px 12px rgba(30,38,51,.06); transform:translateY(-1px); }
.dashboard-tile .tile-action { position:relative; padding:8px 20px; display:flex; flex-direction:column; justify-content:flex-start; align-items:flex-start; }
.dashboard-tile .tile-label { display:block; max-width:calc(100% - 34px); padding:0; color:var(--text-secondary); font-size:11px; font-weight:500; line-height:18px; letter-spacing:.2px; }
.dashboard-tile .tile-value { margin-top:8px; color:var(--text); font-size:29px; font-weight:600; line-height:32px; letter-spacing:-.6px; font-variant-numeric:tabular-nums; }
.dashboard-tile .tile-symbol { position:absolute; right:18px; top:31px; bottom:auto; margin:0; width:38px; height:38px; display:flex; align-items:center; justify-content:center; border-radius:var(--radius-lg); }
.dashboard-tile .tile-hide,.dashboard-tile .tile-grip { top:4px; width:25px; height:25px; color:var(--text-muted); opacity:.55; }
.dashboard-tile .tile-grip { right:4px; }
.dashboard-tile .tile-hide { right:29px; }
.dashboard-tile:is(:hover,:focus-within) :is(.tile-hide,.tile-grip) { opacity:1; }
.dashboard-tile .tile-hide:hover,.dashboard-tile .tile-grip:hover { background:var(--primary-lt); color:var(--primary-dk); }
.dashboard-tile.is-dragging { opacity:.5; box-shadow:0 0 0 2px var(--primary); }
.dashboard-hidden-menu summary { color:var(--text-muted); }
.hidden-tile-options,.filter-menu,.table-column-options { background:var(--bg-surface); border-color:var(--border-color); box-shadow:0 8px 25px rgba(30,38,51,.13); border-radius:var(--radius); color:var(--text); }
.hidden-tile-options button,.hidden-tile-options > span,.filter-menu button,.table-column-options label { color:var(--text-secondary); }
.hidden-tile-options button:hover,.filter-menu button:hover,.filter-menu button:focus-visible { color:var(--primary-dk); background:var(--primary-lt); }
.filter-menu button[aria-pressed="true"] { color:var(--primary-dk); background:var(--primary-lt); }
.category-toolbar { min-height:34px; margin-bottom:12px; gap:12px; }
.category-toolbar .research-count { color:var(--text-secondary); margin-left:0; font-size:12px; max-width:65%; }
.category-toolbar .research-count strong,.category-toolbar:has(.directory-back) .research-count strong { color:var(--text); font-weight:600; }
.category-filter summary.icon-button { color:#fff; background:var(--primary-dk); border:1px solid var(--primary-dk); border-radius:var(--radius); width:30px; height:30px; }
.category-filter[open] summary.icon-button,.category-filter summary.icon-button:hover { background:var(--primary); color:#fff; }
.alphabet-controls button { color:var(--text-muted); min-width:20px; padding:4px 3px; font-size:12px; }
.alphabet-controls button.active,.alphabet-controls button:hover { background:var(--primary-lt); border-color:var(--primary); color:var(--primary-dk); }
.compact-select > span { color:var(--text-secondary); }
.compact-select select { background:var(--bg-surface); color:var(--text); border-color:var(--border-color); border-radius:var(--radius); box-shadow:none; }
.research-table-wrap { flex:1 1 0; min-height:0; max-height:none; border:1px solid var(--border-color); border-radius:var(--radius-lg); background:var(--bg-surface); scrollbar-color:var(--text-disabled) transparent; }
.research-table th,.users-table th,.security-permissions-table th { background:var(--bg-surface-secondary); border-color:var(--border-color); color:var(--text-secondary); font-size:12px; font-weight:600; }
.research-table td,.users-table td,.security-permissions-table td { background:var(--bg-surface); border-color:var(--border-color-light); color:var(--text); font-size:13px; }
.research-table tr:nth-child(even) td { background:var(--bg-surface); }
.research-table tr:hover td,.users-table tr:hover td { background:var(--primary-lt); }
.research-table .numeric { color:var(--text); font-variant-numeric:tabular-nums; }
.research-table small,.research-table .unknown { color:var(--text-muted); }
.research-table .company-name { color:var(--text); font-size:13px; }
.research-table .has-records .company-name { color:var(--primary-dk); }
.research-table .has-records td:first-child { box-shadow:inset 2px 0 var(--primary); }
.single-line-table .table-tools-heading { background:var(--bg-surface-secondary); }
.single-line-table .table-tools-cell { background:var(--bg-surface); }
.single-line-table .table-tools-heading,.single-line-table .table-tools-cell { box-shadow:-1px 0 var(--border-color); }
.table-column-menu summary { color:var(--text-secondary); }
.table-column-menu summary:hover { color:var(--primary-dk); }
.table-sort-button:hover,.table-sort-button span { color:var(--primary-dk); }
.table-tool-delete:hover { background:var(--red-lt); color:var(--red); }
.table-tools-cell .table-tool { width:27px; height:27px; }
.research-table-footer { color:var(--text-muted); min-height:42px; }
.research-status,.research-date,.date-cell { color:var(--text-muted); }
.research-status.researched,.user-status { color:var(--primary-dk); }
.blocked-tag,.user-status.disabled { color:var(--red); }
.user-status.pending { color:var(--orange); }
.research-table .empty-table { color:var(--text-muted)!important; }
.settings-panel,.pending-panel,.api-guide { background:var(--bg-surface); border:1px solid var(--border-color); border-radius:var(--radius-lg); box-shadow:var(--shadow); }
.settings-panel { padding:20px; }
.page-heading { margin-bottom:16px; }
.page-heading h1,.api-heading h1 { font-size:20px; font-weight:600; }
.page-heading p:not(.eyebrow),.api-heading h1 span,.api-guide,.security-permissions-note,.security-permissions-title,.form-actions > span,.users-table td small,.dialog-description,.user-summary p,.dialog legend,.api-dialog small { color:var(--text-secondary); }
.api-guide summary { color:var(--text); }
.api-guide pre { background:var(--bg-surface-secondary); border:1px solid var(--border-color); color:var(--text); }
.api-guide code { color:inherit; }
.api-guide ul { margin:12px 0; padding-left:20px; }
.api-guide li { padding-left:2px; margin:3px 0; }
.users-table th,.users-table td,.security-permissions-table th,.security-permissions-table td { border-color:var(--border-color); }
.security-permissions-table tbody th { color:var(--text); background:var(--bg-surface); }
.role-tags span,.count-badge,.subtle-tag { color:var(--text-secondary); }
.role-tags span,.count-badge { background:var(--primary-lt); border-color:var(--border-color); }
.dialog-backdrop { z-index:120; background:rgba(15,23,42,.45); backdrop-filter:blur(2px); }
.dialog,.research-detail { background:var(--bg-surface); color:var(--text); border:1px solid var(--border-color); border-radius:var(--radius-lg); box-shadow:0 24px 60px rgba(15,23,42,.2); padding:24px; }
.dialog-backdrop:has(.research-detail) { align-items:center; justify-content:center; padding:24px; }
.research-detail { width:760px; max-width:100%; max-height:calc(100dvh - 48px); }
.research-detail > .panel-heading { background:var(--bg-surface); border-color:var(--border-color); top:-24px; padding:0 0 16px; }
.detail-intro,.detail-audit p,.review-item p,.review-item small,.record-fields label,.company-fields dt { color:var(--text-secondary); }
.company-fields dt,.company-fields dd,.review-item,.enabled-check { border-color:var(--border-color); }
.company-fields dd { color:var(--text); }
.company-fields .unknown { color:var(--text-muted); }
.insight-panel { border-color:var(--border-color); box-shadow:none; }
.stat-row,.stat-row strong,.stat-chip strong { color:var(--text); border-color:var(--border-color); }
.stat-chip { background:var(--bg-surface-secondary); border-color:var(--border-color); box-shadow:none; }
.stat-chip small,.insight-panel .panel-note { color:var(--text-secondary); }
.dialog fieldset { border-color:var(--border-color); }
.outreach-warning { background:var(--yellow-lt); border-color:var(--yellow); color:var(--text); }
.danger-button { background:var(--red); border-color:var(--red); color:#fff; border-radius:var(--radius); }
.api-form-error,.form-message.error { color:var(--red); }
.form-message { color:var(--primary-dk); }
#notifications,.table-undo { z-index:150; background:var(--sidebar-bg); color:#e6ebf2; border-color:var(--sidebar-border); border-radius:var(--radius-lg); box-shadow:0 8px 24px rgba(15,23,42,.2); }
.table-undo button { color:var(--primary); }
.login-page { background:var(--body-bg); }
.entry-header { height:56px; background:var(--bg-surface); border-color:var(--border-color); }
.entry-label,.card-topline .eyebrow,.login-subtitle,.login-footnote,.secure-icon { color:var(--text-secondary); }
.entry-stage { padding:32px 20px; }
.entry-stage .atmosphere { display:none; }
.login-card { width:min(390px,100%); padding:28px; background:var(--bg-surface); border-color:var(--border-color); border-radius:var(--radius-lg); box-shadow:var(--shadow-card); }
.card-topline { border-color:var(--border-color); }
.login-card h1 { font-size:25px; }
.login-card .auth-form input { min-height:38px; }
.auth-form .primary-button { min-height:38px; }
.entry-footer { background:var(--bg-surface); border-color:var(--border-color); color:var(--text-muted); }
@media(min-width:761px) {
  html[data-nav-collapsed="true"] { --sidebar-w:64px; }
  html[data-nav-collapsed="true"] .navigation :is(.brand-name,.nav-eyebrow,.nav-text,.nav-bottom strong,.nav-bottom .eyebrow,.nav-bottom select,.nav-bottom .role-label,.account-logout span,.admin-navigation > summary > span) { display:none; }
  html[data-nav-collapsed="true"] .navigation .sidebar-brand { justify-content:center; padding:0; }
  html[data-nav-collapsed="true"] .navigation nav { padding:10px 7px; }
  html[data-nav-collapsed="true"] .navigation .nav-link { justify-content:center; padding:10px 0; }
  html[data-nav-collapsed="true"] .navigation .admin-navigation { margin-top:12px; }
  html[data-nav-collapsed="true"] .navigation .admin-navigation > summary { justify-content:center; }
  html[data-nav-collapsed="true"] .navigation .nav-bottom { padding:14px 22px; }
}
@media(max-width:1100px) { .workspace-header .header-totals { flex-direction:column; align-items:flex-end; gap:1px; font-size:10px; } .workspace-header .header-search { max-width:none; } .alphabet-controls { max-width:100%; } }
@media(max-width:760px) {
  :root,html[data-nav-collapsed="true"] { --sidebar-w:226px; }
  .gentelella-workspace { grid-template-columns:minmax(0,1fr); }
  .gentelella-workspace .workspace-header { grid-column:1; display:flex; gap:8px; padding:0 10px; }
  .workspace-header .header-totals { display:none; }
  .workspace-header .header-search { flex:1; width:auto; min-width:0; padding:6px 8px; }
  .workspace-header .header-search input { font-size:12px; }
  .portal-header-actions { gap:2px; }
  .gentelella-workspace .workspace-main { grid-column:1; padding:12px; }
  .gentelella-workspace .workspace-main:has(.dashboard-page) { padding:12px; }
  .gentelella-workspace .workspace-main:has(.research-workspace),.gentelella-workspace .workspace-main:has(.directory-workspace) { padding:10px 10px 0; }
  .gentelella-workspace .navigation { position:fixed; inset:0 auto 0 0; width:var(--sidebar-w); height:100dvh; transform:translateX(-100%); transition:transform .18s ease; z-index:110; box-shadow:6px 0 30px rgba(15,23,42,.2); }
  html[data-nav-open="true"] .gentelella-workspace .navigation { transform:translateX(0); }
  html[data-nav-open="true"] .portal-nav-backdrop { display:block; position:fixed; inset:0; background:rgba(15,23,42,.4); z-index:100; }
  .navigation .nav-bottom .eyebrow { display:block; }
  .dashboard-tiles { grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:12px; }
  .category-toolbar { flex-wrap:wrap; justify-content:flex-start; gap:8px; margin-bottom:10px; }
  .category-toolbar .research-count { max-width:calc(100% - 45px); font-size:12px; }
  .category-toolbar .alphabet-controls { flex:1 1 100%; justify-content:flex-start; overflow-x:auto; }
  .category-toolbar:has(.directory-back) .research-count { max-width:100%; }
  .dialog,.research-detail { padding:18px; }
  .dialog-backdrop:has(.research-detail) { padding:10px; }
  .research-detail { max-height:calc(100dvh - 20px); }
  .research-detail > .panel-heading { top:-18px; }
  .company-fields { grid-template-columns:1fr; }
  .company-fields dd { margin-bottom:8px; }
  .research-table-footer { gap:8px; }
}
@media(max-width:460px) { .dashboard-tiles { grid-template-columns:minmax(0,1fr); } }
@media(prefers-reduced-motion:reduce) { .dashboard-tile.card:hover { transform:none; } }

/* Demo examples are a plain admin navigation link. */
.navigation .nav-demo { padding:8px 9px 8px 37px; color:var(--sidebar-text); background:transparent; font-size:13px; text-decoration:none; }
.navigation .nav-demo:hover { color:var(--sidebar-text-hover); background:var(--sidebar-hover); }
@media(min-width:761px) { html[data-nav-collapsed="true"] .navigation .nav-demo { display:none; } }

/* Reserve a narrow trailing slot so restore never falls below a full tile row. */
.dashboard-page { position:relative; }
.dashboard-tiles { padding-right:52px; min-height:30px; }
.dashboard-page .dashboard-hidden-menu { position:absolute; margin:0; z-index:8; }
.dashboard-hidden-menu > summary { width:auto; min-width:32px; height:30px; }
.dashboard-hidden-menu .hidden-tile-options { left:auto; right:0; max-width:calc(100vw - 40px); }
.dashboard-page:has(.dashboard-tiles:empty) .hidden-tile-options { left:0; right:auto; }
