/* Kneipenkönig Studio / Buzzer CI. Shared sources: quiz app DESIGN_STANDARD.md,
   live-theme.css, studio.css and buzzer-design.css. Keep paper documents white. */
@font-face { font-family:'Open Sans'; src:url('assets/fonts/open-sans.ttf') format('truetype'); font-weight:400 600; font-display:swap; }
@font-face { font-family:'Open Sans'; src:url('assets/fonts/open-sans-bold.ttf') format('truetype'); font-weight:700 900; font-display:swap; }
@font-face { font-family:'Bebas Neue'; src:url('assets/fonts/bebas.ttf') format('truetype'); font-weight:400; font-display:swap; }
:root {
  --blue:#38b6ff; --primary:#38b6ff; --blue-light:#80d2ff; --primary-light:#80d2ff;
  --blue-dim:#38b6ff12; --blue-dim2:#38b6ff24; --primary-dim:#38b6ff24;
  --black:#090b0e; --dark:#090d12; --dark2:#121b25; --dark3:#18232e;
  --surface:#18232e; --border:#283746; --border2:#3b617e;
  --text:#f4f7fb; --text2:#a9b7c7; --text3:#8f9fb0;
  --green:#78d7ad; --orange:#f5c76b; --red:#ff939b;
  --glass:#131d28; --glass-border:#2b3949; --input-bg:#0b131d; --radius:10px;
}
body { font-family:'Open Sans',sans-serif; background:var(--dark); color:var(--text); background-image:none; }
button,input,select,textarea { font-family:inherit; }
button { touch-action:manipulation; }
:is(button,a,input,select,textarea,summary):focus-visible { outline:2px solid var(--blue); outline-offset:3px; }
::selection { background:#38b6ff50; color:white; }
.ci-brand { white-space:nowrap; font:26px/1 'Bebas Neue',sans-serif; letter-spacing:.035em; color:#fff; }
.ci-brand span,.ci-accent { color:var(--blue); }
.ci-eyebrow { font-size:10px; letter-spacing:.18em; font-weight:700; text-transform:uppercase; color:var(--text2); }
.manager-shell .sidebar { width:256px; min-width:256px; background:#101922; border-right:1px solid #2b3c4c; box-shadow:inset 3px 0 #38b6ff20; }
.manager-shell .sidebar-header { padding:27px 22px 23px; border-bottom:1px solid var(--border); }
.manager-shell .sidebar-header .subtitle { font-size:10px; text-transform:uppercase; letter-spacing:.2em; margin-top:12px; color:var(--text2); }
.manager-shell .sidebar nav { flex:1; min-height:0; overflow-y:auto; scrollbar-width:thin; scrollbar-color:#365267 transparent; padding:8px 0; }
.manager-shell .nav-section { padding:12px 12px 0; }
.manager-shell .nav-section-title { color:var(--text3); font-size:9px; letter-spacing:.18em; padding:0 12px 7px; }
.manager-shell .nav-btn { min-height:48px; border:1px solid transparent; border-radius:10px; font-size:12px; font-weight:600; padding:10px 12px; gap:11px; margin:2px 0; }
.manager-shell .nav-btn:hover { background:#1b2b39; }
.manager-shell .nav-btn.active { background:#182c3d; border-color:#325874; box-shadow:inset 3px 0 var(--blue); color:#fff; }
.manager-shell .nav-btn.active .ci-icon { color:var(--blue); }
.ci-icon { width:18px; height:18px; flex-shrink:0; color:var(--text2); }
.manager-shell .nav-btn .badge { border-radius:6px; min-width:24px; padding:3px 6px; font-size:10px; }
.manager-shell .sidebar-footer { padding:12px 16px; background:#0c141c; }
.manager-shell .sidebar-btn { min-height:36px; padding:7px 10px; font-size:11px; background:transparent; border-color:var(--border); }
.manager-shell #ms-user-info button { background:#182c3d !important; color:#c1d8e9 !important; border:1px solid #325874 !important; min-height:36px; border-radius:8px !important; }
.manager-shell .main { margin-left:256px; min-width:0; padding:0 32px 40px; width:calc(100% - 256px); }
.workspace-header { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0 -32px 32px; padding:16px 32px; border-bottom:1px solid #365267; background:rgba(25,40,50,.94); box-shadow:inset 0 3px var(--blue); }
.workspace-header strong { display:block; font:24px/1 'Bebas Neue',sans-serif; letter-spacing:.07em; }
.workspace-header p { font-size:11px; color:var(--text2); margin-top:5px; }
.workspace-label { color:var(--blue); border:1px solid #3b617e; background:#38b6ff0c; border-radius:6px; padding:6px 10px; font-size:10px; letter-spacing:.15em; }
.manager-shell .page-title { font:44px/1.1 'Bebas Neue',sans-serif; letter-spacing:.035em; margin-bottom:22px; }
.manager-shell .section-header { align-items:center; gap:16px; margin-bottom:22px; flex-wrap:wrap; }
.manager-shell .section-header .page-title { margin-bottom:0; }
.manager-shell .card { background:#131d28; border:1px solid #2b3949; border-radius:14px; padding:22px; box-shadow:0 5px 20px #00000020; backdrop-filter:none; }
.manager-shell .card-title { color:#dce6ef; font:23px/1.2 'Bebas Neue',sans-serif; letter-spacing:.05em; margin-bottom:18px; }
.manager-shell .stats-grid { gap:14px; margin-bottom:24px; }
.manager-shell .stat-card { position:relative; background:linear-gradient(125deg,#1a2d3e,#131d28); border:1px solid #30485e; border-radius:14px; padding:22px; box-shadow:none; overflow:hidden; }
.manager-shell .stat-card::after { content:''; position:absolute; top:0; left:22px; width:32px; height:3px; background:var(--blue); }
.manager-shell .stat-label { color:#b9cad9; font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.manager-shell .stat-value { font:52px/1.1 'Bebas Neue',sans-serif; color:#fff; margin-top:14px; letter-spacing:.025em; font-variant-numeric:tabular-nums; }
.manager-shell .stat-card:last-child .stat-value { color:var(--blue); }
.manager-shell .btn,.public-form .btn { min-height:44px; padding:11px 17px; border-radius:10px; font-size:12px; font-weight:700; box-shadow:none; transition:background .15s,border-color .15s; }
.manager-shell .btn:hover,.public-form .btn:hover { transform:none; box-shadow:none; }
.manager-shell .btn-primary,.public-form .btn-primary { background:var(--blue); border:1px solid var(--blue); color:#07121c; box-shadow:none; }
.manager-shell .btn-primary:hover,.public-form .btn-primary:hover { background:#80d2ff; }
.manager-shell .btn-secondary { background:#1a2a38; border:1px solid #365267; color:#d9e5f1; }
.manager-shell .btn-danger { background:#49232a; border:1px solid #74414a; color:#ffc2c7; }
.manager-shell .btn-sm { min-height:36px; padding:8px 12px; font-size:11px; }
.manager-shell .btn-pulse { animation:none; }
.manager-shell .filter-bar { gap:12px; margin-bottom:18px; flex-wrap:wrap; align-items:center; }
.manager-shell .filter-toggle { border:1px solid var(--border); background:#0e1720; padding:4px; border-radius:10px; display:flex; }
.manager-shell .filter-toggle button { min-height:38px; border-radius:6px; color:var(--text2); font-size:12px; font-weight:600; }
.manager-shell .filter-toggle button.active { background:#203e54; color:#aee3ff; }
.manager-shell .search-input { flex:1; min-width:180px; max-width:460px; min-height:46px; border:1px solid #365267; border-radius:10px; background:#0b131d; color:var(--text); }
.manager-shell .count-label { font-size:11px; color:var(--text2); white-space:nowrap; }
.manager-shell table { font-size:12px; }
.manager-shell th { background:#182734; color:#a7c3d7; font-size:10px; letter-spacing:.07em; text-transform:uppercase; font-weight:700; padding:14px 13px; border-bottom:1px solid #365267; }
.manager-shell td { padding:16px 13px; border-bottom:1px solid #263441; color:#e2eaf1; line-height:1.55; }
.manager-shell tr.clickable:hover { background:#1a2c3b; }
.manager-shell .table-wrapper { overflow-x:auto; border-radius:10px; scrollbar-width:thin; }
.manager-shell .badge { border-radius:6px; font-size:10px; font-weight:700; padding:4px 8px; }
.manager-shell .badge-blue { background:#183b53; color:#93daff; }
.manager-shell .badge-green { background:#193c32; color:#9ee6c5; }
.manager-shell .badge-gray { background:#293642; color:#bdc9d5; }
.manager-shell .badge-red { background:#49232a; color:#ffc2c7; }
.manager-shell .empty-state { color:var(--text2); padding:36px 18px; }
.manager-shell .overlay { z-index:1050; background:#040a12c9; backdrop-filter:blur(8px); }
.manager-shell .modal { background:#121b25; border:1px solid #365267; border-radius:16px; box-shadow:0 25px 80px #0009; }
.manager-shell .modal-lg { max-width:960px; }
.manager-shell .modal-header { background:#1b2c3a; border-bottom:1px solid #365267; padding:20px 24px; box-shadow:inset 0 3px var(--blue); }
.manager-shell .modal-title { font:29px/1.1 'Bebas Neue',sans-serif; letter-spacing:.03em; }
.manager-shell .modal-close { color:#c3d3df; border:1px solid #3b5265; background:#152430; border-radius:9px; width:40px; height:40px; }
.manager-shell .modal-footer { background:#101922; border-top:1px solid #2b3949; padding:16px 24px; gap:10px; flex-wrap:wrap; }
.manager-shell .modal-section-title { color:#b8d9ef; font-size:11px; letter-spacing:.09em; border-color:var(--border); }
.manager-shell .form-label,.public-form .form-label { color:#bbcbd9; font-size:11px; letter-spacing:.045em; font-weight:600; }
.manager-shell :is(.form-input,.form-select,.form-textarea),.public-form :is(.form-input,.form-select,.form-textarea) { background:#0b131d; border:1px solid #3a4d60; border-radius:10px; color:#f4f7fb; min-height:46px; padding:11px 13px; font-size:13px; box-shadow:none; }
.manager-shell :is(.form-input,.form-select,.form-textarea):focus,.public-form :is(.form-input,.form-select,.form-textarea):focus { border-color:var(--blue); box-shadow:0 0 0 3px #38b6ff15; }
.manager-shell .form-input::placeholder,.manager-shell .form-textarea::placeholder { color:#7f92a4; }
.manager-shell .tabs { border-bottom:1px solid #365267; gap:4px; }
.manager-shell .tab-btn { min-height:48px; color:#adbecd; font-size:12px; padding:12px 16px; }
.manager-shell .tab-btn.active { color:var(--blue); background:#182c3d; border-bottom-color:var(--blue); border-radius:8px 8px 0 0; }
.manager-shell .pipeline-stepper { padding:16px 24px; gap:7px; background:#0e1720; border-bottom:1px solid #2b3949; }
.manager-shell .step-btn { min-height:34px; border-radius:7px; border:1px solid #304456; padding:7px 11px; font-size:10px; color:#adbecd; background:#172330; }
.manager-shell .step-btn.active { background:#38b6ff; color:#07121c; box-shadow:none; border-color:#38b6ff; }
.manager-shell .step-btn.done { background:#16374c; color:#a4dcfa; border-color:#315773; }
.manager-shell .step-btn.done { opacity:1; }
.ci-mail-workspace { display:grid; grid-template-columns:minmax(250px,340px) minmax(0,1fr); gap:14px; height:calc(100vh - 275px); min-height:420px; }
.ci-mail-workspace > .card { min-width:0; }
.ci-mail-tools { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-bottom:16px; border-bottom:1px solid var(--border); }
.ci-mail-tools .mail-tab-btn { min-height:48px; }
.ci-mail-tools #posteingang-search { max-width:100%; flex:1 1 220px; }
.manager-shell #ft-aktionsbereich { background:linear-gradient(110deg,#1c3346,#15232f) !important; border-bottom-color:#365267; }
.manager-shell .quiz-action-title { font:28px/1.15 'Bebas Neue',sans-serif; letter-spacing:.025em; }
.manager-shell .quiz-hint { color:#b5c5d3; }
.manager-shell .quiz-history strong { color:#e5edf5; }
.manager-shell #quiz-history h3 { font:28px/1.2 'Bebas Neue',sans-serif; margin-top:8px; }
.manager-shell .template-card { background:#131d28; border:1px solid #2b3949; border-radius:12px; box-shadow:none; }
.manager-shell .template-card.active { background:#192f41; border-color:var(--blue); }
.manager-shell #login-screen { background:radial-gradient(ellipse at 50% 30%,#1c3448,transparent 65%),#090d12 !important; padding:24px; border-top:4px solid var(--blue); }
.manager-shell #login-screen .ci-brand { font-size:clamp(30px,6vw,54px); }
.ci-login-title { font:28px/1 'Bebas Neue',sans-serif; letter-spacing:.14em; color:#c0d3e3; margin-top:16px; }
.manager-shell #login-screen>button { min-height:52px; border-radius:10px !important; }
.manager-shell .mobile-topbar { background:#172735; border-bottom:1px solid #365267; box-shadow:inset 0 3px var(--blue); }
.manager-shell .mobile-topbar-logo .ci-brand { font-size:22px; }
.manager-shell .mobile-topbar-logo > .ci-brand { color:#fff; }
.manager-shell :is(#fta-editor,#page-dok-editor,#modal-dok-vorlage) :is(td,th) { color:#333; border-color:#ddd; }
.manager-shell .mobile-hamburger { min-width:48px; min-height:48px; }
/* Public-facing forms use the same Buzzer typography and panel language. */
.public-form { background:#090d12; }
.public-form .bubbles,.public-form .logo-icon { display:none; }
.public-form .header { text-align:left; padding:28px 0; }
.public-form .logo { font:clamp(30px,6vw,46px)/1.1 'Bebas Neue',sans-serif; letter-spacing:.03em; color:#fff; text-shadow:none; }
.public-form .logo span { color:var(--blue); }
.public-form .subtitle { color:#a9b7c7; line-height:1.7; }
.public-form .card,.public-form .type-card { background:#131d28; border:1px solid #2b3949; border-radius:14px; box-shadow:none; }
.public-form .card:hover { transform:none; }
.public-form :is(.card-title,.success-title,.type-title) { font-family:'Bebas Neue',sans-serif; font-weight:400; letter-spacing:.04em; }
.public-form .card-title { font-size:28px; color:#f4f7fb; }
.public-form .type-card.selected { border-color:var(--blue); background:#192f41; }
.public-form :is(.checkbox-item,.radio-item) { min-height:48px; border-color:#3a4d60; border-radius:10px; background:#0b131d; }
.public-form .btn { min-height:52px; }
.public-form.embed-mode { background:transparent; }
@media(min-width:769px) and (max-height:850px) { .manager-shell .sidebar-header { padding:18px 22px; } .manager-shell .nav-section { padding-top:7px; } .manager-shell .nav-btn { min-height:42px; } }
@media(max-width:1100px) and (min-width:769px) { .manager-shell .main { padding:0 20px 32px; } .workspace-header { margin:0 -20px 26px; padding:16px 20px; } .manager-shell .stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .manager-shell .two-col { grid-template-columns:1fr; } }
@media(max-width:768px) {
  .manager-shell .sidebar { width:256px; min-width:256px; z-index:1002; }
  .manager-shell .sidebar-overlay { z-index:1001; }
  .manager-shell .main { margin-left:0; width:100%; padding:76px 16px 28px; }
  .workspace-header { display:none; }
  .manager-shell .page-title { font-size:36px; }
  .manager-shell .stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .manager-shell .stat-card { padding:18px 14px; }
  .manager-shell .stat-value { font-size:40px; }
  .manager-shell .stat-label { font-size:9px; letter-spacing:.06em; }
  .manager-shell .card { padding:15px; }
  .manager-shell .search-input { width:100%; min-width:0; max-width:none; flex-basis:100%; }
  .ci-mail-workspace { grid-template-columns:minmax(0,1fr); grid-template-rows:280px minmax(340px,auto); height:auto; }
  .ci-mail-tools #posteingang-search { flex-basis:100%; }
  .manager-shell #page-posteingang .section-header > div { flex-wrap:wrap; }
  .manager-shell .modal { max-height:94dvh; border-radius:16px 16px 0 0; }
  .manager-shell .modal-body { padding:18px 16px; }
  .manager-shell .modal-header,.manager-shell .modal-footer { padding:16px; }
  .manager-shell .tabs { overflow-x:auto; }
  .manager-shell .tab-btn { padding:10px; font-size:11px; min-width:0; }
  .manager-shell .btn,.manager-shell .step-btn { min-height:48px; }
  .manager-shell .pipeline-stepper { padding:12px 16px; }
  .manager-shell .step-btn { font-size:10px; padding:8px; flex:1 0 auto; }
  .manager-shell .quiz-action-title { font-size:25px; }
  .manager-shell .filter-toggle { max-width:100%; }
  .manager-shell .filter-toggle button { min-height:44px; }
  #page-firmentermine .table-wrapper { overflow:visible; }
  #page-firmentermine thead { display:none; }
  #page-firmentermine :is(table,tbody) { display:block; width:100%; }
  #page-firmentermine tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:8px 0; border-bottom:1px solid var(--border); }
  #page-firmentermine td { display:block; padding:10px 8px; border:0; overflow-wrap:anywhere; }
  #page-firmentermine td::before { display:block; color:var(--text2); font-size:9px; letter-spacing:.06em; text-transform:uppercase; margin-bottom:6px; }
  #page-firmentermine td:nth-child(1)::before { content:'Event-Datum'; }
  #page-firmentermine td:nth-child(2)::before { content:'Firma / Venue'; }
  #page-firmentermine td:nth-child(3)::before { content:'Ansprechpartner'; }
  #page-firmentermine td:nth-child(4)::before { content:'Teilnehmer'; }
  #page-firmentermine td:nth-child(5)::before { content:'Status & nächster Schritt'; }
  #page-firmentermine td:nth-child(6)::before { content:'Angebotsbetrag'; }
  #page-firmentermine td:nth-child(5),#page-firmentermine td.actions { grid-column:1 / -1; }
  #page-firmentermine td[colspan] { grid-column:1 / -1; }
  #page-firmentermine td[colspan]::before { content:none; }
  .public-form .container { padding-left:16px; padding-right:16px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
