:root{
  --bg:#0b0d11;--bg2:#12151c;--bg3:#191e27;--bg4:#222831;
  --border:rgba(255,255,255,.065);--border2:rgba(255,255,255,.12);
  --accent:#38bdf8;--accent-dim:rgba(56,189,248,.16);--accent-glow:rgba(56,189,248,.28);
  --text:#f0f2f5;--text2:#8b929e;--text3:#5c6370;
  --red:#e05050;--green:#3dba78;--blue:#4a9de8;--purple:#9b72e0;--orange:#f07030;
  --r:10px;--rl:14px;
  --elev-0:inset 0 1px 0 rgba(255,255,255,.04), inset 0 -1px 0 rgba(0,0,0,.2);
  --elev-1:0 2px 8px rgba(0,0,0,.32), 0 1px 2px rgba(0,0,0,.2), var(--elev-0);
  --elev-2:0 6px 24px rgba(0,0,0,.4), 0 2px 8px rgba(0,0,0,.22), var(--elev-0);
  --elev-3:0 14px 48px rgba(0,0,0,.5), 0 4px 16px rgba(0,0,0,.28), var(--elev-0);
  --elev-hover:0 10px 32px rgba(0,0,0,.38), 0 3px 12px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.07);
  --inset-field:inset 0 2px 6px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.035);
  --transition-surface:box-shadow .22s ease, transform .22s ease, border-color .18s ease, filter .18s ease;
  --scroll-size:8px;
  --scroll-track:rgba(8,10,14,.45);
  --scroll-thumb:rgba(255,255,255,.16);
  --scroll-thumb-hover:rgba(56,189,248,.42);
}
*{
  box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;
  scrollbar-width:thin;
  scrollbar-color:var(--scroll-thumb) transparent;
}
*::-webkit-scrollbar{width:var(--scroll-size);height:var(--scroll-size);}
*::-webkit-scrollbar-track{background:transparent;}
*::-webkit-scrollbar-thumb{
  background:var(--scroll-thumb);
  border-radius:99px;
  border:2px solid transparent;
  background-clip:padding-box;
}
*::-webkit-scrollbar-thumb:hover{
  background:var(--scroll-thumb-hover);
  background-clip:padding-box;
}
*::-webkit-scrollbar-corner{background:transparent;}
html,body{height:100%;overflow:hidden;-webkit-text-size-adjust:100%;}
body{
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;
  background:var(--bg);
  background-image:
    radial-gradient(ellipse 100% 70% at 50% -25%, rgba(56,189,248,.08), transparent 52%),
    radial-gradient(ellipse 70% 50% at 95% 105%, rgba(74,157,232,.05), transparent 42%),
    linear-gradient(165deg, #0d1017 0%, var(--bg) 45%, #090b0f 100%);
  color:var(--text);
  display:flex;
  flex-direction:column;
}
.topbar{
  min-height:56px;
  background:linear-gradient(180deg, rgba(255,255,255,.04) 0%, var(--bg2) 28%, var(--bg2) 100%);
  border-bottom:1px solid var(--border);
  box-shadow:0 4px 20px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.06);
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  padding:max(0px, env(safe-area-inset-top, 0px)) max(12px, env(safe-area-inset-right, 12px)) 6px max(12px, env(safe-area-inset-left, 12px));
  gap:8px;
  flex-shrink:0;
  z-index:50;
}
.burger{display:none;background:none;border:none;color:var(--text2);font-size:22px;cursor:pointer;padding:4px 6px;border-radius:6px;}
.burger:hover{background:var(--bg3);}
.logo-name{font-size:15px;font-weight:700;color:var(--accent);white-space:nowrap;}
.logo-sub{font-size:10px;color:var(--text3);}
.logo-img{width:34px;height:34px;border-radius:7px;overflow:hidden;background:var(--bg3);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.logo-img img{width:100%;height:100%;object-fit:cover;}
.top-shortcuts{display:flex;align-items:center;gap:6px;flex-wrap:wrap;flex-shrink:0;}
.top-shortcuts .btn,.top-shortcuts a.btn{
  white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis;
  text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;
}
.top-shortcuts .btn .ico{width:14px;height:14px;flex-shrink:0;}
.shortcut-list{display:flex;flex-direction:column;gap:8px;}
.shortcut-row{
  display:grid;grid-template-columns:1fr 1.4fr auto;gap:8px;align-items:center;
  padding:8px;border:1px solid var(--border);border-radius:var(--r);background:var(--bg3);
}
.shortcut-row input{margin:0;}
.shortcut-row.invalid{border-color:rgba(224,80,80,.55);}
@media(max-width:768px){
  .shortcut-row{grid-template-columns:1fr;gap:6px;}
}
.search-wrap{
  flex:1;
  position:relative;
  background:linear-gradient(180deg, rgba(255,255,255,.03) 0%, var(--bg3) 100%);
  border:1px solid var(--border);
  border-radius:var(--r);
  box-shadow:var(--inset-field), 0 1px 0 rgba(255,255,255,.04);
  display:flex;
  align-items:center;
  gap:7px;
  padding:6px 11px;
  max-width:440px;
  z-index:40;
}
.search-wrap input{background:none;border:none;outline:none;color:var(--text);font-size:13px;font-family:inherit;width:100%;}
.search-wrap input::placeholder{color:var(--text3);}
.search-wrap.open{border-color:rgba(56,189,248,.4);box-shadow:var(--inset-field), 0 0 0 2px rgba(56,189,248,.12);}
.search-suggest{
  display:none;
  position:absolute;
  left:0;right:0;top:calc(100% + 6px);
  max-height:min(420px,70vh);
  overflow-y:auto;
  background:#12151c;
  background-color:var(--bg2);
  border:1px solid var(--border2);
  border-radius:var(--rl);
  box-shadow:0 16px 48px rgba(0,0,0,.75), 0 4px 16px rgba(0,0,0,.45);
  padding:6px;
  z-index:200;
  isolation:isolate;
  opacity:1;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.search-wrap.open .search-suggest{display:block;}
.search-suggest-empty{
  padding:14px 12px;
  font-size:12px;
  color:var(--text3);
  text-align:center;
}
.search-suggest-group{
  font-size:10px;
  font-weight:700;
  letter-spacing:.7px;
  text-transform:uppercase;
  color:var(--text3);
  padding:8px 10px 4px;
}
.search-suggest-item{
  display:flex;
  align-items:flex-start;
  gap:10px;
  width:100%;
  text-align:left;
  padding:8px 10px;
  border:none;
  border-radius:8px;
  background:transparent;
  color:var(--text);
  font-family:inherit;
  cursor:pointer;
  line-height:1.3;
}
.search-suggest-item:hover,
.search-suggest-item.active{
  background:rgba(56,189,248,.12);
}
.search-suggest-ico{width:20px;display:flex;align-items:flex-start;justify-content:center;flex-shrink:0;margin-top:1px;color:var(--text2);}
.ico-sprite{position:absolute;width:0;height:0;overflow:hidden}
.ico{
  width:18px;height:18px;flex-shrink:0;display:block;
  fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
}
.ni-icon .ico,.icon-btn .ico,.btn .ico,.burger .ico,.logo-img .ico,.search-wrap > .ico{width:18px;height:18px}
.search-wrap > .ico{color:var(--text3)}
.dash-action-ico .ico,.wi-shot .ico{width:20px;height:20px}
.sett-nav-btn .ico,.sett-card-ico .ico{width:16px;height:16px}
.search-suggest-ico .ico{width:16px;height:16px}
.search-suggest-body{min-width:0;flex:1;}
.search-suggest-title{font-size:13px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.search-suggest-sub{font-size:11px;color:var(--text3);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.search-suggest-type{font-size:10px;color:var(--accent);font-weight:600;flex-shrink:0;margin-top:2px;}
.icon-btn{
  background:linear-gradient(180deg, rgba(255,255,255,.06) 0%, var(--bg3) 100%);
  border:1px solid var(--border);
  border-radius:var(--r);
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  color:var(--text2);
  padding:0 9px;
  gap:5px;
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
  transition:var(--transition-surface);
  flex-shrink:0;
  box-shadow:0 3px 0 rgba(0,0,0,.22), 0 4px 12px rgba(0,0,0,.12), inset 0 1px 0 rgba(255,255,255,.07);
}
.icon-btn:hover{background:linear-gradient(180deg, rgba(255,255,255,.09) 0%, var(--bg4) 100%);color:var(--text);transform:translateY(-1px);box-shadow:var(--elev-hover);}
.icon-btn:active{transform:translateY(1px);box-shadow:0 1px 0 rgba(0,0,0,.25), inset 0 2px 4px rgba(0,0,0,.2);}
.icon-btn.lang-active{background:var(--accent-dim);color:var(--accent);border-color:rgba(56,189,248,.35);box-shadow:0 0 0 1px rgba(56,189,248,.15), var(--elev-1);}
.notify-wrap{position:relative;flex-shrink:0;}
.notify-btn{position:relative;}
.notify-badge{
  position:absolute;top:-5px;right:-5px;
  min-width:16px;height:16px;padding:0 4px;
  border-radius:99px;background:#e05555;color:#fff;
  font-size:10px;font-weight:800;line-height:16px;text-align:center;
  pointer-events:none;box-shadow:0 0 0 2px var(--bg2);
}
.notify-badge[hidden]{display:none;}
.notify-pop{
  position:absolute;right:0;top:calc(100% + 8px);
  width:min(400px, calc(100vw - 24px));
  max-height:min(70vh, 520px);
  overflow:auto;
  background:var(--bg2);
  border:1px solid var(--border2);
  border-radius:var(--rl);
  box-shadow:0 16px 48px rgba(0,0,0,.75), 0 4px 16px rgba(0,0,0,.45);
  z-index:240;
}
.notify-head{padding:12px 14px 10px;border-bottom:1px solid var(--border);}
.notify-title{font-size:13px;font-weight:700;}
.notify-sub{font-size:11px;color:var(--text3);margin-top:2px;}
.notify-empty{padding:20px 14px;font-size:12px;color:var(--text3);text-align:center;}
.notify-item{
  display:flex;align-items:flex-start;gap:10px;
  padding:10px 12px;border-bottom:1px solid var(--border);
}
.notify-item:last-child{border-bottom:none;}
.notify-item-main{flex:1;min-width:0;cursor:pointer;text-align:left;}
.notify-kind{font-size:10px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--accent);}
.notify-item-plate{font-weight:700;font-size:13px;margin-top:2px;}
.notify-item-meta{font-size:12px;color:var(--text2);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.notify-item-due{font-size:11px;margin-top:3px;color:var(--text3);}
.notify-item-due.is-late{color:var(--red);font-weight:600;}
.notify-item-due.is-soon{color:#fbbf24;font-weight:600;}
.notify-tel{
  display:inline-flex;align-items:center;gap:5px;
  margin-top:6px;color:var(--accent);text-decoration:none;font-size:12px;font-weight:600;
}
.notify-tel .ico{width:14px;height:14px;}
.notify-tel:hover{text-decoration:underline;}
.notify-check{
  width:30px;height:30px;flex-shrink:0;margin-top:2px;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:8px;border:1px solid var(--border);
  background:linear-gradient(180deg, rgba(255,255,255,.06) 0%, var(--bg3) 100%);
  color:var(--text2);cursor:pointer;
}
.notify-check:hover{color:#4ade80;border-color:rgba(74,222,128,.45);background:rgba(74,222,128,.12);}
.notify-check .ico{width:16px;height:16px;}
@media(max-width:768px){
  .notify-pop{width:min(400px, calc(100vw - 16px));right:-8px;}
}
.btn{
  /* Ganz aus --accent, damit bei blauem Werkstatt-Akzent kein Gold↔Blau-Streifen entsteht */
  background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 82%, #fff) 0%, var(--accent) 46%, color-mix(in srgb, var(--accent) 68%, #000) 100%);
  color:#14110a;
  border:none;
  border-radius:var(--r);
  padding:8px 16px;
  font-size:13px;
  font-weight:600;
  font-family:inherit;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:6px;
  transition:var(--transition-surface);
  box-shadow:0 4px 0 rgba(0,0,0,.28), 0 8px 20px var(--accent-glow), inset 0 1px 0 rgba(255,255,255,.38);
}
.btn:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 5px 0 rgba(0,0,0,.26), 0 12px 28px var(--accent-glow), inset 0 1px 0 rgba(255,255,255,.45);}
.btn:active{transform:translateY(2px);filter:brightness(.97);box-shadow:0 1px 0 rgba(0,0,0,.3), 0 2px 8px rgba(0,0,0,.2), inset 0 2px 5px rgba(0,0,0,.18);}
.btn-ghost{
  background:linear-gradient(180deg, rgba(255,255,255,.07) 0%, var(--bg3) 100%);
  color:var(--text2);
  border:1px solid var(--border);
  box-shadow:0 3px 0 rgba(0,0,0,.24), 0 4px 14px rgba(0,0,0,.12), inset 0 1px 0 rgba(255,255,255,.07);
}
.btn-ghost:hover{background:linear-gradient(180deg, rgba(255,255,255,.1) 0%, var(--bg4) 100%);color:var(--text);transform:translateY(-1px);box-shadow:var(--elev-hover);}
.btn-ghost:active{transform:translateY(2px);box-shadow:0 1px 0 rgba(0,0,0,.25), inset 0 2px 4px rgba(0,0,0,.18);}
.btn-red{
  background:linear-gradient(180deg, #f06a6a 0%, var(--red) 45%, #b83838 100%);
  color:#fff;
  box-shadow:0 4px 0 rgba(0,0,0,.28), 0 8px 20px rgba(224,80,80,.25), inset 0 1px 0 rgba(255,255,255,.22);
}
.btn-red:hover{filter:brightness(1.06);transform:translateY(-1px);}
.btn-red:active{transform:translateY(2px);box-shadow:0 1px 0 rgba(0,0,0,.3), inset 0 2px 5px rgba(0,0,0,.2);}
.btn-danger{
  background:rgba(224,80,80,.12);
  color:#fca5a5;
  border:1px solid rgba(224,80,80,.38);
  box-shadow:none;
}
.btn-danger:hover{
  background:rgba(224,80,80,.2);
  border-color:rgba(224,80,80,.55);
  color:#fecaca;
  filter:none;
  transform:none;
  box-shadow:none;
}
.btn-danger:active{
  transform:none;
  filter:none;
  background:rgba(224,80,80,.26);
  box-shadow:none;
}
.btn-green{
  background:linear-gradient(180deg, #4ed69a 0%, var(--green) 45%, #2a9e62 100%);
  color:#fff;
  box-shadow:0 4px 0 rgba(0,0,0,.28), 0 8px 20px rgba(61,186,120,.22), inset 0 1px 0 rgba(255,255,255,.22);
}
.btn-green:hover{filter:brightness(1.06);transform:translateY(-1px);}
.btn-green:active{transform:translateY(2px);box-shadow:0 1px 0 rgba(0,0,0,.3), inset 0 2px 5px rgba(0,0,0,.2);}
.btn-blue{
  background:linear-gradient(180deg, #6bb0f0 0%, var(--blue) 45%, #2e7bc4 100%);
  color:#fff;
  box-shadow:0 4px 0 rgba(0,0,0,.28), 0 8px 20px rgba(74,157,232,.22), inset 0 1px 0 rgba(255,255,255,.22);
}
.btn-blue:hover{filter:brightness(1.06);transform:translateY(-1px);}
.btn-blue:active{transform:translateY(2px);box-shadow:0 1px 0 rgba(0,0,0,.3), inset 0 2px 5px rgba(0,0,0,.2);}
.btn-sm{padding:5px 11px;font-size:12px;}
.btn-xs{padding:3px 8px;font-size:11px;}
.inv-qty{display:inline-flex;align-items:center;gap:4px;}
.inv-qty .inv-ist{
  width:56px;padding:6px 4px;text-align:center;
  -moz-appearance:textfield;appearance:textfield;
}
.inv-qty .inv-ist::-webkit-outer-spin-button,
.inv-qty .inv-ist::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.inv-tab.active{background:var(--accent)!important;color:#111!important;border-color:var(--accent)!important;}
.inv-check-btn{
  min-width:40px;font-size:16px;line-height:1;padding:6px 8px;
  background:rgba(61,186,120,.22)!important;
  color:var(--green)!important;
  border-color:rgba(61,186,120,.55)!important;
}
.inv-check-btn:hover{
  background:rgba(61,186,120,.38)!important;
  filter:brightness(1.05);
}
.inv-check-btn.done{
  background:rgba(61,186,120,.12)!important;
  color:var(--green)!important;
  border-color:rgba(61,186,120,.3)!important;
}
.badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:20px;text-transform:uppercase;letter-spacing:.3px;display:inline-block;}
.bg-gray{background:var(--bg4);color:var(--text3);}
.bg-amber{background:rgba(56,189,248,.15);color:var(--accent);}
.bg-blue{background:rgba(74,157,232,.15);color:var(--blue);}
.bg-green{background:rgba(61,186,120,.15);color:var(--green);}
.bg-red{background:rgba(224,80,80,.15);color:var(--red);}
.app-body{flex:1;display:flex;overflow:hidden;min-height:0;}
.overlay{display:none;position:fixed;inset:0;background:rgba(4,6,10,.55);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:99;}
.overlay.open{display:block;}
.sidebar{
  width:210px;
  background:linear-gradient(180deg, var(--bg2) 0%, #0f1218 100%);
  border-right:1px solid var(--border);
  box-shadow:4px 0 24px rgba(0,0,0,.25), inset -1px 0 0 rgba(255,255,255,.03);
  display:flex;
  flex-direction:column;
  flex-shrink:0;
  min-height:0;
  overflow:hidden;
  transition:transform .28s cubic-bezier(.22,1,.36,1);
}
nav{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:8px 6px;-webkit-overflow-scrolling:touch;}
.ns{font-size:10px;color:var(--text3);letter-spacing:1.8px;text-transform:uppercase;padding:12px 8px 4px;}
.ni{
  display:flex;
  align-items:center;
  gap:8px;
  padding:9px 10px;
  border-radius:var(--r);
  cursor:pointer;
  font-size:13.5px;
  color:var(--text2);
  transition:var(--transition-surface);
  margin-bottom:3px;
  border:1px solid transparent;
  box-shadow:0 1px 0 transparent;
}
.ni:hover{
  background:linear-gradient(90deg, rgba(255,255,255,.04) 0%, var(--bg3) 100%);
  color:var(--text);
  transform:translateX(2px);
  box-shadow:-3px 0 12px rgba(0,0,0,.15);
}
.ni.active{
  background:linear-gradient(90deg, rgba(56,189,248,.14) 0%, rgba(56,189,248,.06) 100%);
  color:var(--accent);
  border-color:rgba(56,189,248,.22);
  box-shadow:0 2px 10px rgba(56,189,248,.12), inset 0 1px 0 rgba(255,255,255,.06);
}
.ni.ni-license-locked{
  opacity:.4;
  color:var(--text3);
  cursor:not-allowed;
  filter:grayscale(.4);
}
.ni.ni-license-locked:hover{
  transform:none;
  background:transparent;
  color:var(--text3);
  box-shadow:none;
}
.ni.ni-license-locked.active{
  opacity:.45;
  background:rgba(255,255,255,.03);
  border-color:transparent;
  color:var(--text3);
  box-shadow:none;
}
@keyframes ni-einkauf-pending-pulse{
  0%,100%{border-color:rgba(245,158,11,.35);background:rgba(245,158,11,.07);box-shadow:0 0 0 0 rgba(245,158,11,.2);}
  50%{border-color:rgba(245,158,11,.75);background:rgba(245,158,11,.16);box-shadow:0 0 0 5px rgba(245,158,11,.12);}
}
.ni.ni-einkauf-pending{
  animation:ni-einkauf-pending-pulse 2s ease-in-out infinite;
}
.ni-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;}
.ni-badge{margin-left:auto;background:var(--accent);color:#000;font-size:10px;font-weight:700;padding:1px 6px;border-radius:10px;}
.sidebar-foot{padding:8px 6px;border-top:1px solid var(--border);flex-shrink:0;display:flex;flex-direction:column;gap:4px;}
.user-card{display:flex;align-items:center;gap:8px;padding:8px;border-radius:var(--r);cursor:pointer;transition:background .15s;}
.user-card:hover{background:var(--bg3);}
.user-card-meta{min-width:0;flex:1;}
.user-card-name{font-size:13px;font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.user-card-role{font-size:11px;color:var(--text3);line-height:1.25;display:flex;align-items:center;gap:4px;flex-wrap:wrap;}
.sidebar-logout{width:100%;justify-content:center;}
.avatar{
  width:32px;
  height:32px;
  border-radius:50%;
  background:radial-gradient(circle at 30% 28%, rgba(255,255,255,.12), var(--accent-dim));
  border:1.5px solid var(--accent);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
  font-weight:700;
  color:var(--accent);
  flex-shrink:0;
  box-shadow:0 3px 10px rgba(56,189,248,.2), inset 0 1px 0 rgba(255,255,255,.15);
}
.main{flex:1;overflow-y:auto;overflow-x:hidden;padding-bottom:max(0px, env(safe-area-inset-bottom, 0px));}
.page{
  display:none;
  position:relative;
  box-sizing:border-box;
  width:100%;
  max-width:1600px;
  margin-left:auto;
  margin-right:auto;
  padding:16px 24px 28px;
  min-height:calc(100% - 0px);
}
.page.active{display:block;min-height:100%;}
.tab-loading[hidden]{display:none!important;}
.tab-loading{
  position:absolute;inset:0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  z-index:6;
  background:color-mix(in srgb, var(--bg) 78%, transparent);
  pointer-events:none;
}
.tab-loading i{
  width:18px;height:18px;border-radius:50%;
  border:2px solid rgba(56,189,248,.22);
  border-top-color:var(--accent);
  animation:tabLoadSpin .7s linear infinite;
}
.tab-loading span{
  font-size:13px;font-weight:600;color:var(--text2);letter-spacing:.01em;
}
.tab-loading small{
  font-size:12px;color:var(--text3);
}
@keyframes tabLoadSpin{to{transform:rotate(360deg)}}
.modal .tab-loading{
  border-radius:inherit;
  background:color-mix(in srgb, var(--bg2) 86%, transparent);
}
#mLicenseInfo .mb{min-height:240px;}
.card{
  background:linear-gradient(165deg, rgba(255,255,255,.025) 0%, var(--bg2) 40%, var(--bg2) 100%);
  border:1px solid var(--border);
  border-radius:var(--rl);
  box-shadow:var(--elev-1);
  transition:var(--transition-surface);
}
.card:hover{box-shadow:var(--elev-2);}
.card-head{padding:11px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;}
.card-body{padding:14px;}
.ph{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;flex-wrap:wrap;gap:8px;}
.ph-actions{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  margin-left:auto;
}
.ph-actions .btn{
  height:32px;
  min-height:32px;
  padding:0 12px;
  border-radius:8px;
  border:1px solid var(--border);
  box-shadow:none;
  filter:none;
  transform:none;
  font-size:12px;
  font-weight:600;
  line-height:1;
}
.ph-actions .btn:hover,
.ph-actions .btn:active{
  transform:none;
  filter:none;
  box-shadow:none;
}
.ph-actions .btn-ghost{
  background:var(--bg3);
  color:var(--text2);
}
.ph-actions .btn-ghost:hover{
  background:var(--bg4);
  color:var(--text);
  border-color:var(--border2);
}
.ph-actions .btn:not(.btn-ghost):not(.btn-danger):not(.btn-red){
  background:var(--accent);
  color:#041018;
  border-color:transparent;
}
.ph-actions .btn:not(.btn-ghost):not(.btn-danger):not(.btn-red):hover{
  background:color-mix(in srgb, var(--accent) 86%, #fff);
}
.ph-actions .btn .ico{width:15px;height:15px;}
.ph-actions .btn-danger{
  background:rgba(224,80,80,.12);
  border-color:rgba(224,80,80,.38);
  color:#fca5a5;
}
.ph-actions .btn-danger:hover{
  background:rgba(224,80,80,.2);
  border-color:rgba(224,80,80,.55);
  color:#fecaca;
}
.pruef-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0;}
.pruef-actions .inp,#pruefSelect{
  flex:1 1 200px;min-width:180px;max-width:360px;height:32px;min-height:32px;padding:0 10px;font-size:13px;
}
.pruef-actions .btn-sm{height:32px;min-height:32px;padding:0 11px;}
.pruef-actions .btn .ico{width:15px;height:15px;}
.pt{font-size:17px;font-weight:700;letter-spacing:-.02em;text-shadow:0 1px 2px rgba(0,0,0,.35);}
.fin-range{
  display:flex;
  flex-direction:row;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  flex-shrink:0;
}
.fin-range input[type="date"]{
  width:auto;
  min-width:9.5rem;
  max-width:11rem;
  flex:0 0 auto;
  color-scheme:dark;
}
.fin-range .fin-range-sep{
  color:var(--text3);
  flex-shrink:0;
  user-select:none;
}
.rech-toolbar{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
}
.rech-toolbar #rechFilter{
  flex:1;
  min-width:200px;
  max-width:420px;
}
.rech-zip-wrap{
  position:relative;
  margin-left:auto;
  flex-shrink:0;
}
#btnRechZip{height:32px;min-height:32px;}
#btnRechZip[aria-expanded="true"]{
  border-color:var(--border2);
  color:var(--text);
  background:rgba(255,255,255,.08);
}
.rech-zip-pop{
  display:none;
  position:absolute;
  right:0;
  top:calc(100% + 6px);
  z-index:80;
  width:min(320px, calc(100vw - 32px));
  padding:6px;
  border:1px solid var(--border2);
  border-radius:12px;
  background:linear-gradient(180deg, rgba(255,255,255,.04) 0%, var(--bg2) 100%);
  box-shadow:0 16px 40px rgba(0,0,0,.5);
}
.rech-zip-wrap.open .rech-zip-pop{display:block;}
.rech-zip-range{padding:6px 8px 8px;}
.rech-zip-range-lbl{
  font-size:11px;
  font-weight:700;
  color:var(--text3);
  text-transform:uppercase;
  letter-spacing:.45px;
  margin-bottom:8px;
}
.rech-zip-dates{
  display:flex;
  align-items:flex-end;
  gap:6px;
  flex-wrap:wrap;
  margin-bottom:8px;
}
.rech-zip-dlbl{
  display:flex;
  flex-direction:column;
  gap:3px;
  flex:1 1 8.5rem;
  min-width:8.5rem;
  font-size:10px;
  font-weight:700;
  color:var(--text3);
}
.rech-zip-dlbl input[type="date"]{
  width:100%;
  height:32px;
  min-height:32px;
  color-scheme:dark;
}
.rech-zip-go{width:100%;justify-content:center;}
input[type="date"]{
  color-scheme:dark;
}
input[type="date"]::-webkit-calendar-picker-indicator{
  cursor:pointer;
  opacity:1;
  width:16px;
  height:16px;
  padding:0;
  margin-left:4px;
  background-color:transparent;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M8 2v4'/><path d='M16 2v4'/><rect width='18' height='18' x='3' y='4' rx='2'/><path d='M3 10h18'/></svg>");
  background-repeat:no-repeat;
  background-position:center;
  background-size:16px 16px;
  filter:none;
}
input[type="date"]::-webkit-calendar-picker-indicator:hover{
  opacity:1;
  filter:none;
}
.copy-cell{
  display:inline-flex;
  align-items:center;
  gap:6px;
  max-width:100%;
}
.copy-btn{
  appearance:none;
  flex-shrink:0;
  width:26px;
  height:26px;
  padding:0;
  border:1px solid var(--border);
  border-radius:6px;
  background:rgba(255,255,255,.04);
  color:var(--text2);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.copy-btn .ico{width:13px;height:13px;}
.copy-btn:hover{color:#fff;border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.08);}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px;}
.stat{
  background:linear-gradient(160deg, rgba(255,255,255,.03) 0%, var(--bg2) 100%);
  border:1px solid var(--border);
  border-radius:var(--rl);
  padding:13px;
  box-shadow:var(--elev-1);
  transition:var(--transition-surface);
}
.stat:hover{box-shadow:var(--elev-hover);transform:translateY(-1px);}
.stat-l,.stat-lbl{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:1.2px;margin-bottom:6px;}
.stat-v,.stat-val{font-size:26px;font-weight:800;letter-spacing:-.5px;}
#page-finanzen .stat-val,
#mFinTeile .fin-num,
#mFinKosten #kostBetrag,
#finMonthTbody td:nth-child(n+2),
#finKostTbody td.fin-neg,
#finTeileHint,
.fin-num{
  font-family:"Segoe UI Variable","Segoe UI",system-ui,sans-serif;
  font-variant-numeric:tabular-nums lining-nums;
  font-feature-settings:"tnum" 1,"lnum" 1;
  letter-spacing:0;
}
#page-finanzen .stat-val{
  font-size:20px;
  font-weight:600;
}
#mFinTeile .fin-num{
  font-size:13px;
  font-weight:600;
  color:var(--text);
}
#mFinKosten #kostBetrag{
  font-size:15px;
  font-weight:600;
}
.rl-table-wrap{overflow-x:auto;}
.rl-thumb{
  width:52px;height:52px;object-fit:cover;border-radius:8px;border:1px solid var(--border);
  background:var(--bg3);cursor:zoom-in;display:block;
}
.rl-thumb-empty{
  display:flex;align-items:center;justify-content:center;cursor:default;
  color:var(--text3);
}
.rl-thumb-empty .ico{width:22px;height:22px;}
.rl-sub{font-size:11px;color:var(--text3);margin-top:2px;}
.rl-late{color:var(--red);font-weight:600;}
.rl-badges{display:flex;flex-wrap:wrap;gap:4px;}
.rl-badge{
  display:inline-flex;align-items:center;font-size:10px;font-weight:700;
  padding:2px 7px;border-radius:999px;letter-spacing:.2px;
  background:rgba(255,255,255,.06);color:var(--text2);border:1px solid var(--border);
}
.rl-st-in{color:var(--accent);border-color:rgba(56,189,248,.35);background:rgba(56,189,248,.12);}
.rl-st-out{color:var(--text3);border-color:var(--border);}
.rl-st-late{color:var(--red);border-color:rgba(224,80,80,.4);background:rgba(224,80,80,.12);}
.rl-st-wash{color:var(--green);border-color:rgba(61,186,120,.35);background:rgba(61,186,120,.12);}
.rl-st-nowash{color:#fbbf24;border-color:rgba(251,191,36,.35);background:rgba(251,191,36,.1);}
.rl-st-dmg{color:var(--red);border-color:rgba(224,80,80,.4);background:rgba(224,80,80,.12);}
.rl-st-ok{color:var(--green);border-color:rgba(61,186,120,.28);background:rgba(61,186,120,.1);}
.rl-gal{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px;}
.rl-gal-item{position:relative;width:88px;}
.rl-gal-item img{
  width:88px;height:72px;object-fit:cover;border-radius:8px;border:1px solid var(--border);
  cursor:zoom-in;display:block;background:var(--bg3);
}
.rl-gal-item img.is-draft{border-color:var(--accent);}
.rl-gal-del{position:absolute;top:2px;right:2px;padding:2px 6px;}
.rech-acts{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:nowrap;}
.btn-icon,.rech-icon-btn{width:32px;min-width:32px;padding:0;justify-content:center;}
.btn-icon .ico,.rech-icon-btn .ico{width:14px;height:14px;}
.rech-acts .auf-more-btn{width:32px;height:32px;}
.rech-pay-sel{
  appearance:auto;
  -webkit-appearance:auto;
  min-width:8.75rem;
  max-width:12rem;
  height:32px;
  padding:0 8px;
  font-size:12px;
  font-weight:700;
  border-radius:8px;
  border:1px solid var(--border);
  background:var(--bg3);
  color:var(--text);
  cursor:pointer;
  color-scheme:dark;
}
.rech-pay-sel.is-paid{
  color:var(--green);
  border-color:rgba(61,186,120,.42);
  background:rgba(61,186,120,.12);
}
.rech-pay-sel.is-open{
  color:#fbbf24;
  border-color:rgba(251,191,36,.38);
  background:rgba(251,191,36,.1);
}
.rech-pay-sel:disabled{
  opacity:.55;
  cursor:not-allowed;
}
.rech-pay-sel:focus{
  outline:1px solid var(--accent);
  outline-offset:1px;
}
.stat-s{font-size:11px;color:var(--text3);margin-top:3px;}
.fin-stat-click{cursor:pointer}
.fin-stat-click:hover{border-color:var(--border2);background:rgba(255,255,255,.03)}
.fin-stat-click:focus{outline:1px solid var(--accent);outline-offset:2px}
#finStats{grid-template-columns:repeat(auto-fit,minmax(148px,1fr));}
.fin-charts{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.72fr);gap:14px;margin-bottom:16px;align-items:stretch;}
.fin-charts > .card{
  padding:0 0 6px;
  background:linear-gradient(180deg, rgba(255,255,255,.028) 0%, rgba(12,16,22,.92) 100%);
  border:1px solid rgba(255,255,255,.055);
  box-shadow:0 10px 28px rgba(0,0,0,.22);
}
.fin-charts > .card .card-head{padding:16px 18px 0;border-bottom:none;}
.fin-charts > .card .pt{font-size:13px;letter-spacing:.04em;font-weight:650;color:var(--text2);text-transform:uppercase;}
.fin-charts > .card .card-body{padding:8px 8px 14px;}
.fin-chart-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin:2px 10px 4px;font-size:11px;color:var(--text2);}
.fin-leg{display:inline-flex;align-items:center;gap:7px;}
.fin-leg i{width:18px;height:2px;border-radius:99px;display:inline-block;}
.fin-leg i.fin-leg-dot{width:8px;height:8px;}
.fin-chart{width:100%;min-height:236px;}
.fin-chart svg{width:100%;height:auto;display:block;}
.fin-chart-empty{font-size:13px;color:var(--text3);padding:36px 8px;text-align:center;}
.fin-chart-hint{margin:2px 10px 0;font-size:11px;color:var(--text3);line-height:1.45;}
.fin-split{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;justify-content:center;padding:4px 8px 0;}
.fin-split svg{flex:0 0 auto;width:min(196px,42vw);max-width:100%;}
.fin-split-legend{flex:1 1 140px;display:flex;flex-direction:column;gap:10px;min-width:132px;}
.fin-split-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:12px;color:var(--text2);}
.fin-split-row strong{font-size:13px;color:var(--text);font-variant-numeric:tabular-nums;}
.fin-split-row span{display:inline-flex;align-items:center;gap:7px;}
.fin-split-row i{width:8px;height:8px;border-radius:99px;display:inline-block;}
.fin-pos{color:var(--green);}
.fin-neg{color:var(--red);}
.kost-cats{display:flex;flex-wrap:wrap;gap:6px;}
.kost-cat{
  border:1px solid var(--border);background:rgba(255,255,255,.03);color:var(--text2);
  border-radius:999px;padding:7px 12px;font-size:12px;font-weight:600;cursor:pointer;
  font-family:inherit;
}
.kost-cat.active{border-color:var(--accent);color:var(--accent);background:rgba(74,157,232,.14);}
.kost-foto-shot{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  min-height:88px;border:1px dashed var(--border);border-radius:10px;background:rgba(255,255,255,.03);
  cursor:pointer;padding:12px 10px;text-align:center;font-size:12px;font-weight:700;color:var(--text2);
}
.kost-foto-shot:hover{border-color:var(--accent);color:var(--text);}
.kost-foto-shot input{display:none;}
.kost-foto-shot .ico{width:22px;height:22px;color:var(--accent);}
.kost-shots{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.kost-file-preview{
  display:none;align-items:center;gap:8px;margin-top:8px;padding:10px 12px;
  border:1px solid var(--border);border-radius:10px;background:rgba(255,255,255,.03);
  font-size:13px;font-weight:600;color:var(--text);word-break:break-all;
}
.kost-file-preview.show{display:flex;}
.kost-file-preview .ico{width:18px;height:18px;flex-shrink:0;color:var(--accent);}
.kost-thumb-file{
  width:44px;height:44px;border-radius:8px;border:1px solid var(--border);
  background:rgba(255,255,255,.04);display:flex;align-items:center;justify-content:center;
  font-size:10px;font-weight:800;letter-spacing:.04em;color:var(--accent);text-transform:uppercase;
}
.kost-preview-wrap{margin-top:8px;display:none;}
.kost-preview-wrap.show{display:block;}
.kost-preview{width:100%;max-height:200px;object-fit:contain;border-radius:10px;border:1px solid var(--border);background:#0c1015;}
.kost-ocr{font-size:12px;color:var(--text3);margin-top:6px;min-height:1.2em;line-height:1.4;}
.kost-ocr.ok{color:var(--green);}
.kost-ocr.warn{color:#eab308;}
.kost-thumb{width:44px;height:44px;object-fit:cover;border-radius:8px;border:1px solid var(--border);background:#0c1015;vertical-align:middle;}
.kost-row-click{cursor:pointer;}
.kost-row-click:hover{background:rgba(255,255,255,.03);}
/* Dashboard */
#page-dashboard{padding-bottom:24px;}
.dash-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;
  margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border);
}
.dash-title{font-size:18px;font-weight:650;letter-spacing:-.02em;color:var(--text);margin-bottom:3px;}
.dash-sub{font-size:13px;color:var(--text3);line-height:1.4;}
.dash-head-meta{font-size:12px;color:var(--text3);text-align:right;line-height:1.45;}
.dash-head-meta strong{display:block;color:var(--text2);font-weight:600;}
.dash-toolbar{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;}
.dash-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px;}
.dash-stat{
  cursor:pointer;background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);
  padding:12px 14px;
}
.dash-stat:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.dash-stat:hover{border-color:var(--border2);}
.dash-stat-l{font-size:11px;color:var(--text3);margin-bottom:6px;}
.dash-stat-v{font-size:22px;font-weight:650;line-height:1;color:var(--text);font-variant-numeric:tabular-nums;}
.dash-stat-s{font-size:11px;color:var(--text3);margin-top:6px;line-height:1.35;}
.dash-grid{display:grid;grid-template-columns:1fr 1fr 0.9fr;gap:12px;align-items:stretch;}
.dash-panel .card-body.dash-scroll,
.dash-panel .card-body.dash-today-scroll{padding:0;max-height:420px;overflow-y:auto;}
.dash-job{
  border-bottom:1px solid var(--border);padding:10px 12px;cursor:pointer;
}
.dash-job:last-child{border-bottom:none;}
.dash-job:hover{background:var(--bg3);}
.dash-job.urgent{box-shadow:inset 3px 0 0 var(--red);}
.dash-job.inprogress{box-shadow:inset 3px 0 0 var(--accent);}
.dash-job.waiting{box-shadow:inset 3px 0 0 var(--blue);}
.dash-job.expired{box-shadow:inset 3px 0 0 var(--red);}
.dash-job-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:4px;}
.dash-job-id{font-size:11px;color:var(--text3);}
.dash-job-title{font-size:13px;font-weight:600;margin:2px 0;}
.dash-job-fz{font-size:12px;color:var(--text2);}
.dash-job-foot{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:6px;font-size:11px;color:var(--text3);}
.dash-empty{padding:22px 14px;text-align:center;color:var(--text3);font-size:13px;}
.dash-term{
  display:flex;gap:10px;align-items:flex-start;padding:9px 12px;
  border-bottom:1px solid var(--border);cursor:pointer;
}
.dash-term:last-child{border-bottom:none;}
.dash-term:hover{background:var(--bg3);}
.dash-term-time{
  flex-shrink:0;min-width:46px;font-size:12px;font-weight:600;color:var(--text2);
  font-variant-numeric:tabular-nums;padding-top:1px;
}
.dash-term-title{font-size:13px;font-weight:600;color:var(--text);}
.dash-term-meta{font-size:11px;color:var(--text3);margin-top:2px;}
.auth-boot-screen{
  display:none;position:fixed;inset:0;z-index:1100;align-items:center;justify-content:center;
  background:var(--bg);color:var(--text3);font-size:14px;
}
body.auth-boot .topbar,
body.auth-boot .app-body,
body.auth-boot #licenseBanner,
body.auth-boot .bug-dock,
body.auth-boot #loginScreen{display:none!important;}
body.auth-boot .auth-boot-screen{display:flex;}
.lic-row{font-size:13px;color:var(--text2);display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline;}
.lic-k{color:var(--text3);min-width:120px;}
.lic-v{color:var(--text);font-weight:600;}
.lic-code{display:inline-block;max-width:100%;overflow-wrap:anywhere;font-size:11px;color:var(--accent);background:rgba(56,189,248,.08);padding:3px 6px;border-radius:6px;border:1px solid rgba(56,189,248,.2);}
#licModules .vp{font-size:11px;padding:4px 8px;border-radius:999px;border:1px solid var(--border);background:var(--bg3);color:var(--text2);}
table{width:100%;border-collapse:collapse;}
thead th{font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:.6px;text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);font-weight:600;white-space:nowrap;}
tbody td{padding:10px 10px;border-bottom:1px solid var(--border);font-size:13px;vertical-align:middle;}
tbody tr:last-child td{border-bottom:none;}
tbody tr:hover td{background:var(--bg3);cursor:pointer;}
.tw{overflow-x:auto;border-radius:var(--rl);border:1px solid var(--border);box-shadow:var(--elev-1);}
.tabs{
  display:flex;
  gap:4px;
  padding:4px;
  background:var(--bg3);
  border:1px solid var(--border);
  border-radius:var(--r);
  margin-bottom:13px;
  overflow-x:auto;
  box-shadow:var(--inset-field);
}
.tab{
  padding:7px 14px;
  border-radius:8px;
  font-size:13px;
  cursor:pointer;
  color:var(--text3);
  white-space:nowrap;
  transition:var(--transition-surface);
}
.tab:hover{color:var(--text2);}
.tab.active{
  background:linear-gradient(180deg, rgba(255,255,255,.08) 0%, var(--bg4) 100%);
  color:var(--text);
  box-shadow:0 2px 8px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.08);
}
.fg{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;}
.pc{
  background:linear-gradient(165deg, rgba(255,255,255,.02) 0%, var(--bg2) 100%);
  border:1px solid var(--border);
  border-radius:var(--rl);
  padding:14px;
  cursor:pointer;
  transition:var(--transition-surface);
  box-shadow:var(--elev-1);
}
.pc:hover{border-color:var(--border2);box-shadow:var(--elev-hover);transform:translateY(-2px);}
.pc.einkauf-pc{padding:0;overflow:hidden;display:flex;flex-direction:column;}
.einkauf-add{
  display:flex;align-items:center;gap:7px;flex:1 1 280px;min-width:0;max-width:560px;margin-left:auto;
}
.einkauf-add #einkaufUrlIn{flex:1 1 auto;min-width:0;height:32px;padding:0 10px;font-size:13px;}
.einkauf-add #einkaufMengeIn{width:56px;flex:0 0 56px;height:32px;padding:0 6px;text-align:center;font-size:13px;}
.einkauf-add .btn-sm{height:32px;min-height:32px;padding:0 11px;flex-shrink:0;}
.einkauf-hint{font-size:12px;color:var(--text3);line-height:1.45;margin:-4px 0 12px;}
@media(max-width:720px){
  .einkauf-add{flex:1 1 100%;max-width:none;margin-left:0;}
}
.pc.einkauf-pc .einkauf-pc-body{padding:12px 14px 14px;}
.einkauf-card-preview{
  width:100%;
  max-height:150px;
  min-height:118px;
  background:var(--bg3);
  border-bottom:1px solid var(--border);
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
}
.einkauf-preview-strip{
  flex-shrink:0;
  display:flex;
  align-items:center;
  gap:8px;
  padding:5px 10px;
  background:var(--bg2);
  border-bottom:1px solid var(--border);
  font-size:11px;
  font-weight:600;
  color:var(--text);
  min-width:0;
}
.einkauf-preview-strip .einkauf-fav{width:16px;height:16px;flex-shrink:0;border-radius:4px;background:var(--bg3);}
.einkauf-strip-host{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  min-width:0;
  flex:1;
}
.einkauf-strip-id{
  flex-shrink:0;
  font-size:10px;
  font-weight:700;
  letter-spacing:.07em;
  color:var(--text2);
  background:var(--bg3);
  padding:2px 7px;
  border-radius:5px;
  border:1px solid var(--border);
  font-family:ui-monospace,SFMono-Regular,menlo,monospace;
}
.einkauf-card-id{
  font-size:10px;
  font-weight:700;
  letter-spacing:.06em;
  color:var(--text3);
  font-family:ui-monospace,SFMono-Regular,menlo,monospace;
  margin-left:6px;
  white-space:nowrap;
}
.einkauf-preview-iframe-wrap{flex:1;min-height:64px;position:relative;min-width:0;}
.einkauf-preview-frame{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;pointer-events:none;}
.einkauf-modal-preview{
  border-radius:var(--r);
  overflow:hidden;
  border:1px solid var(--border);
  background:var(--bg3);
  display:flex;
  flex-direction:column;
}
.einkauf-modal-head{
  flex-shrink:0;
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 14px;
  background:var(--bg2);
  border-bottom:1px solid var(--border);
}
.einkauf-modal-head .einkauf-fav{width:40px;height:40px;border-radius:8px;background:var(--bg3);flex-shrink:0;}
.einkauf-modal-host{font-weight:600;font-size:13px;color:var(--text);word-break:break-word;line-height:1.25;}
.einkauf-modal-id-inline{
  display:inline-block;
  margin-left:8px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.06em;
  color:var(--text3);
  font-family:ui-monospace,SFMono-Regular,menlo,monospace;
  vertical-align:1px;
}
.einkauf-modal-sub{font-size:11px;color:var(--text3);margin-top:3px;line-height:1.35;}
.einkauf-modal-iframe-wrap{
  flex-shrink:0;
  height:min(48vh,520px);
  min-height:240px;
  position:relative;
  background:var(--bg2);
}
.einkauf-modal-iframe-wrap iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  display:block;
  background:#fff;
}
.einkauf-preview-footnote{font-size:11px;color:var(--text3);line-height:1.45;margin-top:10px;}
.pc-top{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
#mDetail.detail-wide .modal{max-width:min(980px,98vw);}
@keyframes einkauf-card-ring-red{
  0%,100%{border-color:rgba(239,68,68,.72);box-shadow:var(--elev-1),0 0 14px rgba(239,68,68,.2);}
  50%{border-color:rgba(239,68,68,.38);box-shadow:var(--elev-1),0 0 22px rgba(239,68,68,.1);}
}
@keyframes einkauf-card-ring-green{
  0%,100%{border-color:rgba(34,197,94,.65);box-shadow:var(--elev-1),0 0 14px rgba(34,197,94,.18);}
  50%{border-color:rgba(34,197,94,.35);box-shadow:var(--elev-1),0 0 22px rgba(34,197,94,.1);}
}
.pc.einkauf-pc.einkauf-status-offen{animation:einkauf-card-ring-red 1.15s ease-in-out infinite;}
.pc.einkauf-pc.einkauf-status-bestellt{animation:einkauf-card-ring-green 1.25s ease-in-out infinite;}
.einkauf-badge-bestellt{
  display:inline-flex;
  align-items:center;
  font-size:11px;
  font-weight:600;
  padding:4px 11px;
  border-radius:999px;
  background:rgba(34,197,94,.16);
  color:#4ade80;
  border:1px solid rgba(34,197,94,.4);
  letter-spacing:.02em;
}
@keyframes einkauf-detail-ring-red{
  0%,100%{box-shadow:0 16px 48px rgba(0,0,0,.55),0 0 0 2px rgba(239,68,68,.55);}
  50%{box-shadow:0 16px 48px rgba(0,0,0,.55),0 0 0 6px rgba(239,68,68,.22);}
}
@keyframes einkauf-detail-ring-green{
  0%,100%{box-shadow:0 16px 48px rgba(0,0,0,.55),0 0 0 2px rgba(34,197,94,.5);}
  50%{box-shadow:0 16px 48px rgba(0,0,0,.55),0 0 0 6px rgba(34,197,94,.2);}
}
#mDetail.einkauf-m-offen.open .modal{
  animation:modalIn .18s ease,einkauf-detail-ring-red 1.15s ease-in-out infinite .2s;
}
#mDetail.einkauf-m-bestellt.open .modal{
  animation:modalIn .18s ease,einkauf-detail-ring-green 1.28s ease-in-out infinite .2s;
}
.pi{font-size:12px;color:var(--text3);display:flex;align-items:center;gap:4px;margin-bottom:2px;}
.vp{display:inline-flex;align-items:center;gap:3px;background:var(--bg3);border:1px solid var(--border);border-radius:20px;padding:2px 8px;font-size:11px;color:var(--text2);margin:2px 2px 0 0;}
.jc{
  background:linear-gradient(180deg, rgba(255,255,255,.04) 0%, var(--bg3) 100%);
  border:1px solid var(--border);
  border-radius:var(--r);
  padding:11px 14px;
  cursor:pointer;
  transition:var(--transition-surface);
  margin-bottom:8px;
  box-shadow:var(--elev-1);
}
.jc:hover{border-color:var(--border2);box-shadow:var(--elev-hover);transform:translateY(-2px);}
.jc:active{transform:translateY(0);box-shadow:var(--elev-1);}
.jc.lurgent{border-left:3px solid var(--red);}
.jc.linprogress{border-left:3px solid var(--accent);}
.jc.lcomplete{border-left:3px solid var(--green);}
.jc.lwaiting{border-left:3px solid var(--blue);}
.jfoot{display:flex;align-items:center;gap:8px;margin-top:7px;padding-top:7px;border-top:1px solid var(--border);flex-wrap:wrap;}
.jmeta{font-size:11px;color:var(--text3);}
.pb{
  height:6px;border-radius:999px;overflow:hidden;
  background:rgba(255,255,255,.06);
  box-shadow:inset 0 1px 2px rgba(0,0,0,.45);
}
.pf{
  display:block;height:100%;width:calc(var(--p, 0) * 1%);max-width:100%;
  border-radius:0;
  background:linear-gradient(90deg,#1d4ed8 0%,var(--accent) 58%,#7dd3fc 100%);
  box-shadow:0 0 10px var(--accent-glow);
  transition:width .28s cubic-bezier(.22,.8,.28,1);
}
.fp-block{margin-bottom:14px;}
.fp-meta{
  display:flex;justify-content:space-between;align-items:baseline;gap:10px;
  font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  color:var(--text3);margin-bottom:8px;
}
.fp-pct{color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:.02em;}
.fp-slider{
  --p:0;
  --knob:18px;
  --inset:9px;
  position:relative;
  height:28px;
}
.fp-rail{
  position:absolute;
  left:var(--inset);right:var(--inset);
  top:50%;height:6px;margin-top:-3px;
  border-radius:999px;overflow:hidden;
  background:rgba(255,255,255,.08);
  box-shadow:inset 0 1px 2px rgba(0,0,0,.45);
}
.fp-bar{
  height:100%;width:calc(var(--p) * 1%);
  border-radius:999px;
  background:linear-gradient(90deg,#1d4ed8 0%,var(--accent) 70%,#7dd3fc 100%);
  box-shadow:0 0 10px var(--accent-glow);
}
.fp-knob{
  position:absolute;
  top:50%;
  left:calc(var(--inset) + (100% - var(--inset) * 2) * var(--p) / 100);
  width:var(--knob);height:var(--knob);
  margin:-9px 0 0 -9px;
  border-radius:50%;
  background:linear-gradient(180deg,#f8fcff,#d9f1ff);
  border:2px solid var(--accent);
  box-shadow:0 1px 4px rgba(0,0,0,.4);
  pointer-events:none;
  z-index:1;
}
.fp-range{
  position:absolute;
  left:var(--inset);right:var(--inset);
  width:calc(100% - var(--inset) * 2);
  top:0;height:28px;margin:0;
  opacity:0;cursor:pointer;z-index:2;
  -webkit-appearance:none;appearance:none;background:transparent;
}
.fp-range:focus{outline:none;}
.fp-slider:focus-within .fp-knob{box-shadow:0 0 0 3px rgba(56,189,248,.28),0 1px 4px rgba(0,0,0,.4);}
.kanban{display:flex;gap:10px;overflow-x:auto;padding-bottom:8px;min-height:calc(100vh - 140px);}
.kcol{
  background:linear-gradient(180deg, rgba(255,255,255,.02) 0%, var(--bg2) 100%);
  border:1px solid var(--border);
  border-radius:var(--rl);
  min-width:220px;
  flex:1;
  display:flex;
  flex-direction:column;
  box-shadow:var(--elev-1);
}
.khead{padding:10px 12px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
.ktitle{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;}
.kcount{background:var(--bg4);color:var(--text3);font-size:11px;font-weight:700;padding:1px 7px;border-radius:10px;}
.kbody{padding:6px;display:flex;flex-direction:column;gap:5px;flex:1;}
.kcard{
  background:linear-gradient(180deg, rgba(255,255,255,.05) 0%, var(--bg3) 100%);
  border:1px solid var(--border);
  border-radius:var(--r);
  padding:10px;
  cursor:pointer;
  box-shadow:0 2px 6px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.05);
  transition:var(--transition-surface);
}
.kcard:hover{border-color:var(--border2);box-shadow:var(--elev-hover);transform:translateY(-2px);}
.kcard.dragging{opacity:.55;cursor:grabbing;}
.kcard.drag-source{opacity:.6;}
.kcol.drop-target{border-color:var(--accent);}
.kcol.drop-target .khead{background:rgba(56,189,248,.08);}
.kcard h4{font-size:13px;font-weight:600;margin-bottom:2px;}
.kcard .ksub{font-size:11px;color:var(--text3);margin-bottom:6px;}
.kfoot{display:flex;justify-content:space-between;align-items:center;}
.gl3{display:grid;grid-template-columns:2fr 1fr;gap:13px;margin-bottom:16px;}
.ph-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:6px;margin-top:7px;}
.ph-thumb{
  position:relative;
  border-radius:var(--r);
  overflow:hidden;
  aspect-ratio:1;
  background:var(--bg4);
  border:1px solid var(--border);
  cursor:pointer;
  box-shadow:var(--elev-1);
  transition:var(--transition-surface);
}
.ph-thumb:hover{box-shadow:var(--elev-hover);transform:translateY(-2px) scale(1.02);}
.ph-thumb img{width:100%;height:100%;object-fit:cover;display:block;content-visibility:auto;}
.ph-del{position:absolute;top:3px;right:3px;background:rgba(0,0,0,.75);border:none;border-radius:4px;color:#fff;font-size:11px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;}
.ph-add{aspect-ratio:1;background:var(--bg3);border:1.5px dashed var(--border2);border-radius:var(--r);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;font-size:11px;color:var(--text3);gap:2px;transition:all .15s;}
.ph-add:hover{border-color:var(--accent);color:var(--accent);}
.ph-add span:first-child{font-size:15px;line-height:1;}
.ph-add-ico{width:18px;height:18px;flex:0 0 18px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.fg1{display:flex;flex-direction:column;gap:4px;}
.fg1.full{grid-column:1/-1;}
label.lbl{font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:.6px;}
input,select,textarea{
  background:linear-gradient(180deg, var(--bg4) 0%, var(--bg3) 100%);
  border:1px solid var(--border);
  border-radius:var(--r);
  padding:8px 10px;
  color:var(--text);
  font-size:13px;
  font-family:inherit;
  outline:none;
  width:100%;
  transition:border-color .18s, box-shadow .18s;
  box-shadow:var(--inset-field);
}
input[type="checkbox"],input[type="radio"]{width:auto;min-width:1.125rem;min-height:1.125rem;flex-shrink:0;align-self:flex-start;margin-top:3px;cursor:pointer;accent-color:var(--accent);}
label.chk-row{display:flex;align-items:flex-start;gap:10px;width:100%;cursor:pointer;font-size:13px;font-weight:500;color:var(--text);line-height:1.45;text-transform:none;letter-spacing:normal;}
label.chk-row .chk-row-txt{flex:1;min-width:0;color:var(--text2);}
.fr-panel{margin-top:4px;padding:12px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);display:flex;flex-direction:column;gap:10px;}
.fr-panel .fr-radios{display:flex;flex-direction:column;gap:8px;}
input:focus,select:focus,textarea:focus{
  border-color:rgba(56,189,248,.45);
  box-shadow:var(--inset-field), 0 0 0 2px rgba(56,189,248,.12);
}
input::placeholder,textarea::placeholder{color:var(--text3);}
select option{background:var(--bg3);}
textarea{resize:vertical;min-height:70px;line-height:1.5;}
.fa{margin-top:12px;display:flex;gap:7px;justify-content:flex-end;flex-wrap:wrap;}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
#page-einstellungen{padding-bottom:48px;}
.sett-head{
  position:sticky;top:0;z-index:8;
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;
  margin:-16px -24px 18px;padding:16px 24px 14px;
  background:linear-gradient(180deg, var(--bg) 72%, color-mix(in srgb, var(--bg) 88%, transparent));
  border-bottom:1px solid var(--border);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.sett-sub{margin:6px 0 0;font-size:13px;color:var(--text3);line-height:1.45;max-width:38rem;}
.sett-head-actions{display:flex;gap:8px;flex-shrink:0;align-items:center;}
.sett-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:22px;align-items:start;}
.sett-nav{
  position:sticky;top:78px;
  display:flex;flex-direction:column;gap:2px;
  padding:10px 8px;
  background:var(--bg2);
  border:1px solid var(--border);
  border-radius:var(--rl);
  box-shadow:var(--elev-1);
}
.sett-nav-label{
  font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--text3);padding:2px 10px 8px;
}
.sett-nav-btn{
  display:flex;align-items:center;gap:9px;width:100%;text-align:left;
  border:0;background:transparent;color:var(--text2);font:inherit;
  font-size:13px;font-weight:600;padding:9px 10px;border-radius:9px;cursor:pointer;
  transition:background .15s, color .15s, box-shadow .15s;
}
.sett-nav-btn:hover{background:var(--bg3);color:var(--text);}
.sett-nav-btn:focus-visible{outline:2px solid rgba(56,189,248,.45);outline-offset:1px;}
.sett-nav-btn.active{
  background:var(--accent-dim);color:var(--accent);
  box-shadow:inset 3px 0 0 var(--accent);
}
.sett-stack{display:flex;flex-direction:column;gap:16px;min-width:0;}
.sett-card{
  scroll-margin-top:86px;
  background:linear-gradient(165deg, rgba(255,255,255,.025) 0%, var(--bg2) 40%, var(--bg2) 100%);
  border:1px solid var(--border);
  border-radius:var(--rl);
  box-shadow:var(--elev-1);
  padding:20px 20px 18px;
}
.sett-card-h{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--border);}
.sett-card-ico{
  width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;
  background:var(--accent-dim);color:var(--accent);flex-shrink:0;border:1px solid rgba(56,189,248,.22);
}
.sett-card-h .pt{font-size:15px;margin:0;text-shadow:none;letter-spacing:-.01em;}
.sett-card-h p{margin:4px 0 0;font-size:12.5px;color:var(--text3);line-height:1.5;}
.sett-card .settings-grid{gap:12px 16px;}
.sett-check{display:flex;align-items:flex-start;gap:10px;padding:2px 0 6px;}
.sett-check .lbl{text-transform:none;letter-spacing:0;font-size:13px;color:var(--text2);font-weight:500;cursor:pointer;}
.sett-diag{margin-top:16px;padding-top:14px;border-top:1px solid var(--border);}
.sett-diag > .lbl{margin-bottom:4px;}
.sett-diag > p{margin:0 0 10px;font-size:12px;color:var(--text3);line-height:1.45;}
.diag-preset-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:4px 12px;
}
.diag-preset-grid label.chk-row{padding:6px 0;}
.diag-custom-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.diag-chip{
  display:inline-flex;align-items:center;gap:6px;
  padding:4px 8px 4px 10px;
  border-radius:999px;
  border:1px solid var(--border);
  background:var(--bg3);
  font-size:12px;color:var(--text2);
}
.diag-chip button{
  border:0;background:transparent;color:var(--text3);cursor:pointer;
  font:inherit;line-height:1;padding:0 2px;
}
.diag-chip button:hover{color:var(--red);}
.fw-diag-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;}
.fw-diag-list .diag-chip{padding:4px 10px;}
.fw-diag-empty{font-size:12px;color:var(--text3);}
.sett-logo-row{display:flex;gap:18px;align-items:stretch;flex-wrap:wrap;}
.sett-logo-row .logo-up{
  min-width:168px;flex:0 0 188px;min-height:148px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
}
.sett-logo-row #logoPreview{max-width:100%;height:56px;object-fit:contain;}
.sett-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.sett-block{
  padding:14px;
  background:var(--bg3);
  border:1px solid var(--border);
  border-radius:var(--r);
}
.sett-block + .sett-block{margin-top:12px;}
.sett-block-h{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin-bottom:6px;}
.sett-block-p{margin:0 0 12px;font-size:12px;color:var(--text3);line-height:1.5;}
.backup-list{
  --bak-row-h:64px;
  font-size:13px;
  color:var(--text3);
  max-height:calc(var(--bak-row-h) * 3);
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scrollbar-color:var(--scroll-thumb) var(--scroll-track);
  border:1px solid var(--border);
  border-radius:var(--r);
  background:var(--bg2);
}
.backup-list .bak-row{
  display:flex;
  gap:8px;
  align-items:center;
  justify-content:space-between;
  height:var(--bak-row-h);
  padding:0 10px;
  border-bottom:1px solid var(--border);
  box-sizing:border-box;
}
.backup-list .bak-row:last-child{border-bottom:none;}
.backup-list .bak-row strong{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--text);
}
.backup-list .bak-meta{font-size:11px;color:var(--text3);margin-top:2px;}
.backup-list .bak-empty{padding:12px 10px;}
.sett-test{display:grid;grid-template-columns:1fr auto;gap:12px 14px;align-items:end;}
.fg1.sett-test{display:grid;}
.sett-test-act{display:flex;flex-direction:column;gap:6px;align-items:flex-start;padding-bottom:1px;}
.sett-empty{font-size:13px;color:var(--text3);padding:10px 12px;background:var(--bg3);border:1px dashed var(--border2);border-radius:var(--r);}
.sett-note{margin-top:12px;padding:10px 12px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);font-size:12px;color:var(--text3);line-height:1.55;}
.sett-acc-new{margin-top:4px;padding:16px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);}
.sett-acc-new-title{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;}
.sett-acc-row{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding:12px 0;border-bottom:1px solid var(--border);
}
.sett-acc-row:last-child{border-bottom:none;}
.sett-acc-row-main{flex:1;min-width:160px;}
.sett-acc-name{font-weight:600;}
.sett-acc-name span{font-size:11px;color:var(--text3);font-weight:500;}
.sett-acc-meta{font-size:12px;color:var(--text3);margin-top:3px;line-height:1.45;}
.sett-acc-row input[type="password"]{width:150px;padding:6px 9px;font-size:13px;}
.sett-perm-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;font-size:13px;}
.sett-muster-wrap{display:grid;grid-template-columns:minmax(0,0.92fr) minmax(360px,1.2fr);gap:16px;align-items:stretch;}
.rm-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.rm-card{
  text-align:left;border:1px solid var(--border);background:var(--bg3);color:var(--text);
  border-radius:10px;padding:10px;cursor:pointer;font:inherit;display:flex;flex-direction:column;gap:6px;
}
.rm-card:hover{border-color:var(--border2);background:var(--bg4);}
.rm-card.active{border-color:rgba(56,189,248,.45);box-shadow:0 0 0 1px rgba(56,189,248,.35);background:var(--accent-dim);}
.rm-card-name{font-size:12px;font-weight:700;}
.rm-card-meta{font-size:10px;color:var(--text3);line-height:1.35;}
.rm-thumb{height:54px;border-radius:7px;overflow:hidden;border:1px solid rgba(0,0,0,.08);background:#fff;position:relative;}
.rm-live{
  background:#dbe3ee;
  border:1px solid var(--border);
  border-radius:12px;
  padding:12px;
  position:sticky;top:86px;
  display:flex;
  flex-direction:column;
  min-height:100%;
  align-self:stretch;
}
.rm-live-label{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#334155;margin-bottom:8px;}
.rm-live-stage{
  background:#c5d0de;
  border-radius:8px;
  padding:0;
  overflow:hidden;
  position:relative;
  flex:1 1 auto;
  min-height:min(78vh, 920px);
}
.rm-live-fit{
  position:absolute;
  inset:12px;
  overflow:hidden;
}
.rm-sheet{
  width:100%;background:#fff;color:#0f172a;border-radius:4px;
  box-shadow:0 10px 28px rgba(15,23,42,.18);overflow:hidden;font-family:Helvetica,Arial,sans-serif;
  transform-origin:top center;
}
.rm-sheet *{box-sizing:border-box;}
@media(max-width:900px){
  .sett-muster-wrap{grid-template-columns:1fr;}
  .rm-live{position:static;}
}
@media(max-width:900px){
  .sett-head{position:static;margin:0 0 16px;padding:0 0 14px;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;}
  .sett-layout{grid-template-columns:1fr;}
  .sett-nav{position:static;flex-direction:row;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:4px;}
  .sett-nav-label{display:none;}
  .sett-nav-btn{width:auto;white-space:nowrap;flex-shrink:0;}
  .sett-nav-btn.active{box-shadow:none;}
  .sett-card{scroll-margin-top:12px;}
  .sett-test{grid-template-columns:1fr;}
  .sett-perm-grid{grid-template-columns:1fr;}
}
.sh{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--accent);margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--border);grid-column:1/-1;}
.logo-up{border:2px dashed var(--border2);border-radius:var(--rl);padding:18px;text-align:center;cursor:pointer;transition:all .15s;}
.logo-up:hover{border-color:var(--accent);}
.color-grid{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px;}
.color-opt{width:28px;height:28px;border-radius:50%;cursor:pointer;border:3px solid transparent;transition:all .15s;}
.color-opt:hover,.color-opt.active{border-color:#fff;transform:scale(1.1);}
.pruef-sum{display:flex;gap:10px;padding:10px;background:var(--bg3);border-radius:var(--r);margin-bottom:11px;flex-wrap:wrap;}
.psum-i{display:flex;align-items:center;gap:5px;font-size:12px;}
.pdot{width:7px;height:7px;border-radius:50%;}
.psec{margin-bottom:8px;}
.psec-h{background:var(--bg3);border:1px solid var(--border);border-radius:var(--r) var(--r) 0 0;padding:7px 10px;display:flex;justify-content:space-between;align-items:center;}
.psec-t{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--text2);}
.psec-b{border:1px solid var(--border);border-top:none;border-radius:0 0 var(--r) var(--r);}
.prow{display:flex;align-items:center;gap:8px;padding:7px 10px;border-bottom:1px solid var(--border);}
.prow:last-of-type{border-bottom:none;}
.prow:hover{background:var(--bg3);}
.pname{flex:1;font-size:13px;color:var(--text2);}
.pname-hr{font-size:11px;color:var(--text3);margin-top:1px;}
.pbtns{display:flex;gap:3px;flex-shrink:0;}
.pbtn{font-size:10px;padding:3px 7px;border-radius:5px;border:1px solid var(--border);background:transparent;cursor:pointer;color:var(--text3);font-family:inherit;transition:all .1s;}
.pbtn:hover{background:var(--bg4);}
.pbtn.ok{background:rgba(61,186,120,.15);color:var(--green);border-color:rgba(61,186,120,.35);}
.pbtn.mn{background:rgba(224,80,80,.15);color:var(--red);border-color:rgba(224,80,80,.35);}
.pbtn.np{background:rgba(74,157,232,.15);color:#4a9de8;border-color:rgba(74,157,232,.35);}
.pnote{padding:5px 10px;border-top:1px solid var(--border);background:var(--bg3);}
.pnote input{background:var(--bg4);border:1px solid var(--border);font-size:12px;padding:4px 8px;}
.trans-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px;}
.trans-box{background:linear-gradient(165deg, rgba(255,255,255,.02) 0%, var(--bg2) 100%);border:1px solid var(--border);border-radius:var(--rl);overflow:hidden;box-shadow:var(--elev-1);}
.trans-hd{padding:9px 13px;border-bottom:1px solid var(--border);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--text3);}
.trans-result{padding:13px;font-size:14px;color:var(--text);min-height:70px;line-height:1.6;}
.dict-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:7px;margin-top:11px;}
/* Mobile: <datalist> is unreliable — custom picker (see teile autocomplete below) */
.teile-ac-menu{
  position:fixed;
  z-index:300;
  max-height:min(42vh,300px);
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  background:linear-gradient(180deg, rgba(255,255,255,.04) 0%, var(--bg2) 100%);
  border:1px solid var(--border2);
  border-radius:var(--r);
  box-shadow:var(--elev-3), inset 0 1px 0 rgba(255,255,255,.06);
}
.teile-ac-item{padding:10px 12px;font-size:13px;line-height:1.25;border-bottom:1px solid var(--border);color:var(--text);cursor:pointer;}
.teile-ac-item:last-child{border-bottom:none;}
.teile-ac-item:active{background:var(--bg4);}
/* Teile-Vorgang editor: compact rows for tablet */
.tvk-ed-part-row{
  display:grid;align-items:end;gap:8px 10px;padding:10px 10px;margin-bottom:8px;
  background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);
}
.tvk-ed-part-row--falsch{grid-template-columns:minmax(0,1fr) 34px;}
.tvk-ed-part-row--best{grid-template-columns:minmax(0,1fr) 76px 34px;}
.tvk-ed-cell-teil{min-width:0;display:flex;flex-direction:column;gap:2px;}
.tvk-ed-mini-lbl{font-size:9px;color:var(--text3);text-transform:uppercase;letter-spacing:.55px;line-height:1.15;}
.tvk-ed-part-row .tvk-ed-teil,.tvk-ed-part-row .tvk-ed-menge{width:100%;font-size:14px;padding:7px 9px;border-radius:6px;border:1px solid var(--border);background:var(--bg2);color:var(--text);font-family:inherit;}
.tvk-ed-part-row .tvk-ed-menge{max-width:100%;-moz-appearance:textfield;}
.tvk-ed-del{flex-shrink:0;align-self:end;height:34px;padding:0 8px!important;min-width:34px;line-height:1;}
.tvk-ed-del-spacer{flex-shrink:0;width:34px;height:34px;display:block;}
.tvk-ed-section-h{font-size:10px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.7px;margin:0 0 6px;}
.tvk-ed-stat-fz{padding:8px 10px!important;margin-bottom:8px!important;}
.tvk-dict-chips-ed{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))!important;gap:5px!important;margin-top:6px!important;max-height:min(38vh,220px)!important;}
.tvk-dict-chips-ed .tvk-dict-pick{margin:0!important;font-size:12px;padding:6px 8px!important;justify-content:flex-start;}
/* ── Teile-Protokoll page ── */
.tp-page-head{align-items:flex-start;margin-bottom:4px;}
.tp-page-sub{font-size:13px;color:var(--text3);margin:4px 0 0;line-height:1.45;max-width:52ch;}
.tp-layout{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:14px;align-items:start;}
.tp-panel{
  background:linear-gradient(165deg, rgba(255,255,255,.03) 0%, var(--bg2) 100%);
  border:1px solid var(--border);
  border-radius:var(--rl);
  padding:16px 16px 18px;
  box-shadow:var(--elev-1);
  margin-bottom:14px;
}
.tp-panel-list{margin-bottom:0;min-height:280px;display:flex;flex-direction:column;}
.tp-panel-step{
  display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;border-radius:999px;font-size:11px;font-weight:800;
  color:var(--accent);background:rgba(56,189,248,.12);border:1px solid rgba(56,189,248,.28);
  margin-bottom:8px;
}
.tp-panel-title{font-size:15px;font-weight:700;color:var(--text);margin:0 0 10px;line-height:1.25;}
.tp-hint{font-size:12px;color:var(--text3);margin:10px 0 0;line-height:1.5;}
.tp-select{
  width:100%;padding:11px 12px;font-size:14px;border-radius:var(--r);
  border:1px solid var(--border2);background:var(--bg3);color:var(--text);font-family:inherit;
}
.tp-select:focus{outline:none;border-color:rgba(56,189,248,.55);box-shadow:0 0 0 2px rgba(56,189,248,.14);}
.tp-fz-status{
  display:flex;align-items:center;gap:8px;margin-top:10px;padding:9px 11px;border-radius:var(--r);
  font-size:12px;line-height:1.4;border:1px solid var(--border);
}
.tp-fz-status.ok{background:rgba(61,186,120,.08);border-color:rgba(61,186,120,.28);color:var(--green);}
.tp-fz-status.warn{background:rgba(224,80,80,.08);border-color:rgba(224,80,80,.28);color:var(--red);}
.tp-fz-status.idle{background:var(--bg3);color:var(--text3);}
.tp-type-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;}
.tp-type-tile{position:relative;cursor:pointer;margin:0;}
.tp-type-tile input{position:absolute;opacity:0;pointer-events:none;width:0;height:0;}
.tp-type-tile-inner{
  display:flex;flex-direction:column;gap:6px;height:100%;min-height:108px;padding:12px 12px 11px;
  border:1px solid var(--border);border-radius:var(--rl);background:var(--bg3);
  transition:border-color .15s, box-shadow .15s, background .15s;
}
.tp-type-tile:hover .tp-type-tile-inner{border-color:var(--border2);background:var(--bg4);}
.tp-type-tile input:checked + .tp-type-tile-inner{
  border-color:rgba(56,189,248,.55);background:rgba(56,189,248,.08);
  box-shadow:0 0 0 1px rgba(56,189,248,.2), inset 0 1px 0 rgba(255,255,255,.04);
}
.tp-type-ico{
  width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.04);border:1px solid var(--border);
}
.tp-type-ico .ico{width:17px;height:17px;}
.tp-type-ico--warn{color:var(--red);}
.tp-type-ico--best{color:var(--green);}
.tp-type-title{font-size:13px;font-weight:700;color:var(--text);line-height:1.25;}
.tp-type-desc{font-size:11px;color:var(--text3);line-height:1.4;}
.tp-cta{width:100%;justify-content:center;padding:12px 16px;font-size:14px;}
.tp-list-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;}
.tp-list-head .tp-panel-title{margin:0;}
.tp-list-count{
  font-size:11px;font-weight:700;color:var(--accent);background:rgba(56,189,248,.1);
  border:1px solid rgba(56,189,248,.22);padding:3px 9px;border-radius:999px;flex-shrink:0;
}
.tp-list-filter{
  width:100%;margin-bottom:12px;padding:10px 12px 10px 36px;font-size:13px;border-radius:var(--r);
  border:1px solid var(--border);background:var(--bg3);color:var(--text);font-family:inherit;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Ccircle cx='7' cy='7' r='5'/%3E%3Cpath d='m11 11 3 3'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:12px center;
}
.tp-list-filter:focus{outline:none;border-color:rgba(56,189,248,.5);box-shadow:0 0 0 2px rgba(56,189,248,.12);}
.tp-list{display:flex;flex-direction:column;gap:10px;flex:1;}
.tp-vorgang-card{
  border:1px solid var(--border);border-radius:var(--rl);padding:12px 12px 11px;
  background:var(--bg3);transition:border-color .15s, transform .12s;
}
.tp-vorgang-card:hover{border-color:var(--border2);}
.tp-vorgang-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;}
.tp-vorgang-main{min-width:0;flex:1;}
.tp-vorgang-title{font-size:14px;font-weight:700;color:var(--text);line-height:1.35;margin-bottom:4px;word-break:break-word;}
.tp-vorgang-meta{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:11px;color:var(--text3);line-height:1.35;}
.tp-vorgang-meta span{display:inline-flex;align-items:center;gap:4px;}
.tp-badge{
  display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;
  text-transform:uppercase;letter-spacing:.45px;padding:3px 8px;border-radius:999px;flex-shrink:0;
}
.tp-badge--falsch{color:var(--red);background:rgba(224,80,80,.12);border:1px solid rgba(224,80,80,.28);}
.tp-badge--best{color:var(--green);background:rgba(61,186,120,.12);border:1px solid rgba(61,186,120,.28);}
.tp-vorgang-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border);}
.tp-empty{
  text-align:center;padding:28px 16px;color:var(--text3);font-size:13px;line-height:1.55;
  border:1px dashed var(--border);border-radius:var(--rl);background:rgba(255,255,255,.01);
}
.tp-modal-block{
  border:1px solid var(--border);border-radius:var(--rl);padding:12px;margin-bottom:12px;
  background:linear-gradient(180deg, rgba(255,255,255,.02) 0%, var(--bg3) 100%);
}
.tp-modal-block-h{
  font-size:10px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.65px;
  margin:0 0 8px;
}
.tp-modal-fz{display:flex;align-items:flex-start;gap:10px;}
.tp-modal-fz .ico{width:18px;height:18px;color:var(--accent);flex-shrink:0;margin-top:2px;}
@media (max-width:900px){
  .tp-layout{grid-template-columns:1fr;}
  .tp-type-tiles{grid-template-columns:1fr;}
}
@media (max-width:520px){
  .tp-vorgang-top{flex-direction:column;}
  .tp-vorgang-actions .btn{flex:1;min-width:calc(50% - 3px);justify-content:center;}
}
.dict-own-details{border:1px solid var(--border);border-radius:var(--r);background:var(--bg3);}
.dict-own-details[open]{box-shadow:0 1px 0 rgba(0,0,0,.06) inset;}
.dict-own-details{
  margin-top:14px;
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:10px;
  background:rgba(255,255,255,.02);
}
.dict-own-summary{
  display:flex;align-items:center;gap:8px;list-style:none;
  cursor:pointer;padding:10px 12px;font-size:13px;font-weight:600;color:var(--text);outline:none;
}
.dict-own-summary::-webkit-details-marker{display:none;}
.dict-own-summary::before{content:'▸';font-size:11px;color:var(--accent);flex-shrink:0;}
.dict-own-details[open] .dict-own-summary::before{content:'▾';}
.dict-own-list{padding:0 12px 12px;}

.dict-tools{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:20px;
}
.dict-panel{
  background:linear-gradient(165deg, rgba(255,255,255,.03) 0%, var(--bg2) 55%, var(--bg2) 100%);
  border:1px solid var(--border);
  border-radius:12px;
  box-shadow:var(--elev-1);
  overflow:hidden;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.dict-panel:hover{
  border-color:color-mix(in srgb, var(--accent) 28%, var(--border));
  box-shadow:var(--elev-2);
}
.dict-panel[open]{
  border-color:color-mix(in srgb, var(--accent) 38%, var(--border));
  box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 14%, transparent), var(--elev-2);
}
.dict-panel-sum{
  list-style:none;
  cursor:pointer;
  user-select:none;
  outline:none;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:12px;
  padding:13px 14px;
  margin:0;
}
.dict-panel-sum::-webkit-details-marker{display:none;}
.dict-panel-sum:focus-visible{
  outline:2px solid color-mix(in srgb, var(--accent) 55%, transparent);
  outline-offset:-2px;
}
.dict-panel-ico{
  width:34px;height:34px;border-radius:9px;flex-shrink:0;
  display:inline-flex;align-items:center;justify-content:center;
  background:color-mix(in srgb, var(--accent) 14%, transparent);
  border:1px solid color-mix(in srgb, var(--accent) 22%, transparent);
  color:var(--accent);
}
.dict-panel-ico .ico{width:16px;height:16px;}
.dict-panel-txt{
  display:flex;flex-direction:column;gap:2px;min-width:0;
}
.dict-panel-title{
  font-size:14px;font-weight:650;color:var(--text);letter-spacing:-.01em;line-height:1.25;
}
.dict-panel-sub{
  font-size:12px;color:var(--text3);line-height:1.35;
}
.dict-panel-chev{
  width:22px;height:22px;border-radius:6px;flex-shrink:0;
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.04);
  border:1px solid var(--border);
  transition:transform .18s ease, background .18s ease, border-color .18s ease;
}
.dict-panel-chev::before{
  content:'';
  width:7px;height:7px;
  border-right:2px solid var(--accent);
  border-bottom:2px solid var(--accent);
  transform:rotate(-45deg) translateY(-1px);
  transition:transform .18s ease;
}
.dict-panel[open] .dict-panel-chev{
  background:color-mix(in srgb, var(--accent) 12%, transparent);
  border-color:color-mix(in srgb, var(--accent) 28%, var(--border));
}
.dict-panel[open] .dict-panel-chev::before{
  transform:rotate(45deg) translateY(-1px);
}
.dict-panel-body{
  padding:0 14px 14px;
  border-top:1px solid var(--border);
  margin-top:0;
  animation:dictPanelIn .16s ease;
}
@keyframes dictPanelIn{
  from{opacity:.35;transform:translateY(-4px)}
  to{opacity:1;transform:none}
}
.dict-panel-actions{
  display:flex;flex-wrap:wrap;gap:8px;align-items:center;
  padding-top:12px;
}
.dict-panel-form{
  display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;
  margin-top:12px;
}
.dict-panel-form .fg1{flex:1;min-width:140px;}
.dict-panel-hint{
  margin:12px 0 0;
  font-size:13px;color:var(--text3);line-height:1.55;
}
.dict-panel-check{
  margin:0;
  padding:0;
  font-size:12px;
}
.term{
  background:linear-gradient(180deg, rgba(255,255,255,.03) 0%, var(--bg2) 100%);
  border:1px solid var(--border);
  border-radius:var(--r);
  padding:8px 11px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  cursor:pointer;
  transition:var(--transition-surface);
  box-shadow:var(--elev-1);
}
.term:hover{border-color:var(--accent);box-shadow:var(--elev-hover);transform:translateY(-1px);}
.term-hr{font-size:13px;font-weight:500;}
.term-de{font-size:11px;color:var(--text3);}
.sig-wrap{border:1px solid var(--border);border-radius:var(--r);background:var(--bg3);padding:8px;}
.sig-canvas{width:100%;height:150px;border:1px dashed var(--border2);border-radius:var(--r);background:#fff;touch-action:none;cursor:crosshair;}
.help{font-size:11px;color:var(--text3);}
.modal-overlay{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(2,6,12,.72);
  z-index:200;
  align-items:center;
  justify-content:center;
  padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.modal-overlay.open{display:flex;}
.modal{
  background:linear-gradient(180deg, rgba(255,255,255,.03) 0%, var(--bg2) 22%);
  border:1px solid var(--border2);
  border-radius:14px;
  width:100%;
  max-width:640px;
  max-height:92vh;
  overflow-y:auto;
  animation:modalIn .18s ease;
  box-shadow:0 18px 48px rgba(0,0,0,.52), 0 0 0 1px rgba(255,255,255,.03);
  font-family:inherit;
  font-size:13px;
  color:var(--text);
}
@keyframes modalIn{
  from{opacity:0;transform:translateY(10px);}
  to{opacity:1;transform:translateY(0);}
}
.dock-sheet.modal-overlay{
  align-items:flex-end;
  justify-content:flex-end;
  padding:16px 16px calc(92px + env(safe-area-inset-bottom)) 16px;
  background:rgba(2,6,12,.28);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.dock-sheet .modal{
  max-width:400px;
  width:min(400px, calc(100vw - 32px));
  transform-origin:bottom center;
  animation:dockUnfold .52s cubic-bezier(.16,1,.3,1) both;
  border:1px solid var(--border2);
  border-radius:14px;
  box-shadow:0 18px 48px rgba(0,0,0,.52), 0 0 0 1px rgba(255,255,255,.03);
  overflow:hidden;
  background:linear-gradient(180deg, rgba(255,255,255,.03) 0%, var(--bg2) 22%);
}
.dock-sheet-handle{
  width:40px;
  height:4px;
  border-radius:99px;
  background:rgba(255,255,255,.22);
  margin:11px auto 2px;
}
@keyframes dockUnfold{
  0%{opacity:0;transform:translateY(18px) scaleY(.06);filter:blur(6px);}
  55%{opacity:1;filter:blur(0);}
  100%{opacity:1;transform:translateY(0) scaleY(1);filter:blur(0);}
}
body.dock-sheet-open .bug-dock{opacity:0;pointer-events:none;transform:translateY(8px);}
.bug-dock{transition:opacity .22s ease, transform .22s ease;}
.mh{
  padding:13px 16px;
  border-bottom:1px solid var(--border);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  position:sticky;
  top:0;
  background:linear-gradient(180deg, rgba(255,255,255,.03) 0%, var(--bg2) 100%);
  z-index:2;
}
.mt{font-size:13px;font-weight:700;font-family:inherit;letter-spacing:.01em;}
.mc{
  appearance:none;
  background:rgba(255,255,255,.03);
  border:1px solid var(--border);
  border-radius:8px;
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  color:var(--text2);
  font-size:13px;
  flex-shrink:0;
  transition:background .12s,color .12s,border-color .12s;
}
.mc .ico{width:16px;height:16px;pointer-events:none;}
#mQR .mh .mt{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#mQR.modal-overlay{z-index:320;}
#mQR .mQR-back{
  width:auto;
  min-width:34px;
  padding:0 10px;
  gap:6px;
  margin-right:2px;
}
#mQR .mQR-back-lbl{font-size:12px;font-weight:600;line-height:1;}
#mQRBackFoot{width:100%;justify-content:center;}
.mc:hover{background:rgba(255,255,255,.07);color:var(--text);border-color:var(--border2);}
.mc:active{transform:none;}
.mb{padding:14px 16px;font-family:inherit;font-size:13px;}
.mf{
  padding:12px 16px 13px;
  border-top:1px solid var(--border);
  display:flex;
  gap:6px;
  justify-content:flex-end;
  align-items:center;
  flex-wrap:wrap;
  position:sticky;
  bottom:0;
  background:linear-gradient(180deg, rgba(255,255,255,.02) 0%, var(--bg2) 100%);
}
#mDetailFoot.auf-foot{
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  gap:10px;
  padding:12px 16px 13px;
  background:linear-gradient(180deg, rgba(255,255,255,.02) 0%, var(--bg2) 100%);
}
.auf-qr-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 10px;
  padding:8px 10px;
  border:1px solid rgba(56,189,248,.28);
  border-radius:10px;
  background:rgba(56,189,248,.07);
}
.auf-qr-lbl{
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--accent);
  margin-right:2px;
}
.auf-qr-btns{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.auf-act-qr{
  border-color:rgba(56,189,248,.35);
  color:var(--text);
  background:rgba(56,189,248,.1);
}
.auf-act-qr:hover{
  border-color:rgba(56,189,248,.55);
  background:rgba(56,189,248,.16);
  color:var(--text);
}
.auf-qr-panel{
  margin:8px 0 10px;
  padding:10px;
  border:1px solid rgba(56,189,248,.25);
  border-radius:10px;
  background:rgba(56,189,248,.05);
}
.auf-qr-panel-title{
  font-size:11px;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:8px;
}
.auf-qr-panel-btns{display:flex;flex-direction:column;gap:6px;}
.auf-qr-panel-btn{
  justify-content:flex-start;
  width:100%;
  text-align:left;
}
.auf-qr-panel-btn .ico{flex-shrink:0;}
.auf-foot-row{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px 14px;
  flex-wrap:wrap;
}
.auf-foot-row.is-docs{
  justify-content:space-between;
}
.auf-act-group{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
}
.auf-act{
  appearance:none;
  display:inline-flex;
  align-items:center;
  gap:6px;
  height:34px;
  padding:0 11px;
  border-radius:8px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.03);
  color:var(--text2);
  font:inherit;
  font-size:12px;
  font-weight:600;
  cursor:pointer;
  line-height:1;
  white-space:nowrap;
}
.auf-act .ico{width:14px;height:14px;flex-shrink:0;opacity:.88;}
.auf-act:hover{border-color:var(--border2);color:var(--text);background:rgba(255,255,255,.07);}
.auf-act-danger{
  color:#fca5a5;
  border-color:rgba(224,80,80,.28);
  background:rgba(224,80,80,.08);
  padding:0 10px;
  margin-left:4px;
}
.auf-act-danger:hover{color:#fecaca;border-color:rgba(224,80,80,.45);background:rgba(224,80,80,.14);}
.auf-more{position:relative;display:inline-flex;}
.auf-more-btn{width:34px;padding:0;justify-content:center;}
.auf-more-btn .ico{width:16px;height:16px;fill:currentColor;stroke:none;opacity:1;}
.auf-more-btn[aria-expanded="true"]{border-color:var(--border2);color:var(--text);background:rgba(255,255,255,.08);}
.auf-more-pop{
  display:none;
  position:fixed;
  z-index:420;
  min-width:214px;
  padding:6px;
  border:1px solid var(--border2);
  border-radius:12px;
  background:linear-gradient(180deg, rgba(255,255,255,.04) 0%, var(--bg2) 100%);
  box-shadow:0 16px 40px rgba(0,0,0,.5);
}
.auf-more.open .auf-more-pop,.auf-more-pop.is-open{display:block;}
.auf-more-item{
  appearance:none;
  display:flex;
  align-items:center;
  gap:9px;
  width:100%;
  border:0;
  background:transparent;
  color:var(--text2);
  font:inherit;
  font-size:13px;
  font-weight:600;
  text-align:left;
  padding:9px 10px;
  border-radius:8px;
  cursor:pointer;
}
.auf-more-item .ico{width:15px;height:15px;flex-shrink:0;opacity:.88;}
.auf-more-item:hover{background:rgba(255,255,255,.07);color:var(--text);}
.auf-more-item.is-danger{color:#fca5a5;}
.auf-more-item.is-danger:hover{background:rgba(224,80,80,.12);color:#fecaca;}
.auf-more-sep{height:1px;background:var(--border);margin:4px 6px;}
.auf-status-wrap{
  display:flex;
  align-items:center;
  gap:10px;
  margin-left:auto;
  padding-left:12px;
  border-left:1px solid var(--border);
}
.auf-status-lbl{
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--text3);
}
.auf-status{
  display:inline-flex;
  align-items:stretch;
  border:1px solid var(--border);
  border-radius:10px;
  overflow:hidden;
  background:rgba(0,0,0,.2);
}
.auf-status-btn{
  appearance:none;
  border:0;
  background:transparent;
  color:var(--text3);
  font:inherit;
  font-size:12px;
  font-weight:650;
  padding:8px 13px;
  cursor:pointer;
  white-space:nowrap;
}
.auf-status-btn + .auf-status-btn{border-left:1px solid var(--border);}
.auf-status-btn:hover{color:var(--text);background:rgba(255,255,255,.04);}
.auf-status-btn.is-on.is-open{background:rgba(148,163,184,.2);color:#e2e8f0;}
.auf-status-btn.is-on.is-work{background:rgba(245,158,11,.16);color:#fbbf24;}
.auf-status-btn.is-on.is-wait{background:rgba(56,189,248,.16);color:#7dd3fc;}
.auf-status-btn.is-on.is-done{background:rgba(61,186,120,.2);color:#86efac;}
.diag-card{
  margin-top:14px;
  padding:12px;
  border:1px solid var(--border);
  border-radius:var(--rl);
  background:linear-gradient(180deg, rgba(255,255,255,.025) 0%, var(--bg3) 100%);
}
.diag-card-h{
  font-size:11px;
  font-weight:700;
  color:var(--text3);
  text-transform:uppercase;
  letter-spacing:.6px;
  margin:0 0 8px;
}
.diag-card-tools{display:flex;gap:6px;flex-wrap:wrap;align-items:center;}
.km-check-banner{
  margin:0 0 12px;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid rgba(224,80,80,.35);
  background:rgba(224,80,80,.1);
  color:#fecaca;
  font-size:13px;
  line-height:1.45;
}
.km-check-banner.is-jump{
  border-color:rgba(245,158,11,.4);
  background:rgba(245,158,11,.1);
  color:#fbbf24;
}
.km-roll-badge{
  display:inline-flex;
  align-items:center;
  margin-left:6px;
  padding:1px 6px;
  border-radius:999px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.04em;
  background:rgba(224,80,80,.16);
  color:#fca5a5;
  border:1px solid rgba(224,80,80,.35);
  vertical-align:middle;
}
.km-hist-row.is-rollback{
  border-color:rgba(224,80,80,.4);
  background:rgba(224,80,80,.08);
}
.km-hist-row.is-jump{
  border-color:rgba(245,158,11,.4);
  background:rgba(245,158,11,.08);
}
@media (max-width:720px){
  .auf-status-wrap{width:100%;justify-content:space-between;margin-left:0;padding-left:0;border-left:0;}
  .auf-status{flex:1;}
  .auf-status-btn{flex:1;text-align:center;padding:8px 6px;}
}
.modal .inp,.modal input,.modal select,.modal textarea,.modal label{font-size:13px;}
.modal label,.modal .lbl{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text3);}
.modal .btn,
.mf .btn{
  appearance:none;
  height:34px;
  padding:0 12px;
  border-radius:8px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.03);
  color:var(--text2);
  font:inherit;
  font-size:12px;
  font-weight:600;
  line-height:1;
  white-space:nowrap;
  box-shadow:none;
  filter:none;
  transform:none;
}
.modal .btn:hover,
.mf .btn:hover{
  border-color:var(--border2);
  color:var(--text);
  background:rgba(255,255,255,.07);
  filter:none;
  transform:none;
  box-shadow:none;
}
.modal .btn:active,
.mf .btn:active{
  transform:none;
  filter:none;
  box-shadow:none;
}
.modal .btn-sm,
.mf .btn-sm{height:30px;padding:0 10px;font-size:12px;}
.modal .btn-xs,
.mf .btn-xs{height:26px;padding:0 8px;font-size:11px;}
.modal .btn:not(.btn-ghost):not(.btn-red):not(.btn-green):not(.btn-blue),
.mf .btn:not(.btn-ghost):not(.btn-red):not(.btn-green):not(.btn-blue){
  background:rgba(56,189,248,.12);
  border-color:rgba(56,189,248,.32);
  color:#7dd3fc;
}
.modal .btn:not(.btn-ghost):not(.btn-red):not(.btn-green):not(.btn-blue):hover,
.mf .btn:not(.btn-ghost):not(.btn-red):not(.btn-green):not(.btn-blue):hover{
  background:rgba(56,189,248,.18);
  border-color:rgba(56,189,248,.45);
  color:#bae6fd;
}
.modal .btn-red,
.mf .btn-red{
  color:#fca5a5;
  border-color:rgba(224,80,80,.28);
  background:rgba(224,80,80,.08);
}
.modal .btn-red:hover,
.mf .btn-red:hover{
  color:#fecaca;
  border-color:rgba(224,80,80,.45);
  background:rgba(224,80,80,.14);
}
.modal .btn-green,
.mf .btn-green{
  color:#86efac;
  border-color:rgba(61,186,120,.3);
  background:rgba(61,186,120,.1);
}
.modal .btn-green:hover,
.mf .btn-green:hover{
  color:#bbf7d0;
  border-color:rgba(61,186,120,.45);
  background:rgba(61,186,120,.16);
}
.modal .btn-blue,
.mf .btn-blue{
  color:#7dd3fc;
  border-color:rgba(56,189,248,.3);
  background:rgba(56,189,248,.1);
}
.modal .btn-blue:hover,
.mf .btn-blue:hover{
  color:#bae6fd;
  border-color:rgba(56,189,248,.45);
  background:rgba(56,189,248,.16);
}
.modal .btn.active,
.mf .btn.active,
.modal .inv-tab.active{
  background:rgba(56,189,248,.14)!important;
  border-color:rgba(56,189,248,.4)!important;
  color:#7dd3fc!important;
}
.lb{display:none;position:fixed;inset:0;background:rgba(0,0,0,.93);z-index:300;align-items:center;justify-content:center;}
.lb.open{display:flex;}
.lb img{max-width:95vw;max-height:95vh;object-fit:contain;border-radius:var(--r);}
.lb-x{position:absolute;top:14px;right:14px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;font-size:18px;}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);border-radius:10px;width:42px;height:52px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;font-size:24px;user-select:none;}
.lb-nav.prev{left:14px;}
.lb-nav.next{right:14px;}
.lb-count{position:absolute;left:50%;transform:translateX(-50%);bottom:14px;background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:4px 10px;color:#fff;font-size:12px;}
.toast{
  position:fixed;
  bottom:18px;
  left:50%;
  transform:translateX(-50%) translateY(80px);
  background:linear-gradient(180deg, rgba(255,255,255,.06) 0%, var(--bg4) 100%);
  border:1px solid var(--border2);
  border-radius:var(--r);
  padding:12px 18px;
  font-size:13px;
  z-index:10050;
  transition:transform .32s cubic-bezier(.22,1,.36,1), box-shadow .25s;
  white-space:normal;
  max-width:min(520px, 92vw);
  text-align:center;
  line-height:1.4;
  pointer-events:none;
  box-shadow:var(--elev-2), 0 0 40px rgba(0,0,0,.35);
}
.toast.show{transform:translateX(-50%) translateY(0);}
.toast.ok{border-color:rgba(61,186,120,.4);color:var(--green);}
.toast.warn{border-color:rgba(245,158,11,.45);color:#fbbf24;}
.modal-overlay.confirm-z{z-index:450;}
.confirm-msg{margin:0;font-size:13px;line-height:1.5;color:var(--text2);white-space:pre-wrap;}
.toast.err{border-color:rgba(224,80,80,.4);color:var(--red);}
.bug-dock{
  display:none;
  position:fixed;
  right:max(16px, env(safe-area-inset-right));
  bottom:max(16px, env(safe-area-inset-bottom));
  z-index:90;
  flex-direction:column;
  align-items:flex-end;
  gap:8px;
  pointer-events:none;
}
.bug-dock.visible{display:flex;}
.bug-dock-btn{
  pointer-events:auto;
  display:inline-flex;
  align-items:center;
  gap:8px;
  border-radius:999px;
  border:1px solid var(--border2);
  background:linear-gradient(180deg, rgba(255,255,255,.06) 0%, var(--bg3) 100%);
  color:var(--text);
  padding:10px 14px;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
  box-shadow:var(--elev-2);
  transition:var(--transition-surface);
}
.bug-dock-btn:hover{
  border-color:rgba(56,189,248,.4);
  box-shadow:var(--elev-hover);
  color:var(--accent);
}
.bug-dock-btn .ico{width:16px;height:16px;}
@media(max-width:640px){
  .bug-dock-label{display:none;}
  .bug-dock-btn{padding:11px;}
}
.cal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.cal-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cal-title{font-size:16px;font-weight:700;min-width:160px;text-align:center}
.cal-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.cal-head-actions .btn-sm{height:32px;min-height:32px;padding:0 11px;}
.cal-head-group{display:flex;align-items:center;gap:8px;flex-shrink:0}
.cal-filter{display:inline-flex;align-items:center;gap:8px;width:auto;margin:0;white-space:nowrap;font-size:12px;font-weight:500;color:var(--text2);cursor:pointer;line-height:1.2}
.cal-filter input{margin:0;align-self:center}
.cal-view-toggle{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--bg3);height:32px}
.cal-view-toggle button{
  border:0;background:transparent;color:var(--text2);font:inherit;font-size:12px;font-weight:600;
  padding:0 12px;cursor:pointer;transition:background .15s,color .15s;height:32px;line-height:32px;
}
.cal-view-toggle button.active{background:var(--accent);color:#041018}
.cal-view-toggle button:not(.active):hover{background:rgba(255,255,255,.04);color:var(--text)}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-bottom:14px}
.cal-dh{font-size:10px;color:var(--text3);text-align:center;padding:4px 2px;font-weight:600;text-transform:uppercase}
.cal-cell{min-height:72px;padding:5px 4px;border-radius:8px;background:var(--bg3);border:1px solid var(--border);cursor:pointer;text-align:left;font-size:12px;font-weight:600;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:3px}
.cal-cell.other{opacity:.4}
.cal-cell.today{outline:2px solid var(--accent);outline-offset:-1px}
.cal-cell.has{border-color:rgba(56,189,248,.45);background:rgba(56,189,248,.08)}
.cal-cell.sel{border-color:var(--accent);background:var(--accent-dim)}
.cal-cell-num{align-self:flex-end;font-size:12px;line-height:1;color:var(--text2)}
.cal-cell.today .cal-cell-num{color:var(--accent);font-weight:800}
.cal-chip{display:block;font-size:10px;font-weight:600;line-height:1.25;padding:2px 4px;border-radius:4px;background:rgba(56,189,248,.22);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.cal-chip:hover{filter:brightness(1.12)}
.cal-chip.walkin{background:rgba(251,146,60,.28)}
.cal-chip-more{font-size:10px;color:var(--text3);padding:0 2px}
.cal-week{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--bg2)}
.cal-week-head{display:grid;grid-template-columns:56px repeat(7,minmax(0,1fr));border-bottom:1px solid var(--border);background:var(--bg3)}
.cal-week.cal-day-view .cal-week-head,.cal-week.cal-day-view .cal-week-body{grid-template-columns:56px minmax(0,1fr)}
.cal-week-corner{border-right:1px solid var(--border)}
.cal-week-day{
  padding:8px 6px;text-align:center;border-right:1px solid var(--border);cursor:pointer;
  min-width:0;transition:background .15s;
}
.cal-week-day:last-child{border-right:none}
.cal-week-day:hover{background:rgba(56,189,248,.08)}
.cal-week-day.today{background:rgba(56,189,248,.12)}
.cal-week-day.sel{box-shadow:inset 0 -2px 0 var(--accent)}
.cal-week-day-name{font-size:10px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.04em}
.cal-week-day-num{
  display:inline-flex;align-items:center;justify-content:center;margin-top:4px;
  width:28px;height:28px;border-radius:50%;font-size:14px;font-weight:700;color:var(--text);
}
.cal-week-day.today .cal-week-day-num{background:var(--accent);color:#041018}
.cal-week-body{display:grid;grid-template-columns:56px repeat(7,minmax(0,1fr));max-height:min(72vh,900px);overflow:auto}
.cal-week-times{border-right:1px solid var(--border);background:var(--bg3);position:sticky;left:0;z-index:2}
.cal-week-hour{
  height:44px;box-sizing:border-box;border-bottom:1px solid var(--border);
  font-size:10px;color:var(--text3);padding:2px 6px 0 0;text-align:right;font-variant-numeric:tabular-nums;
}
.cal-week-cols{display:contents}
.cal-week-col{position:relative;border-right:1px solid var(--border);min-width:0}
.cal-week-col:last-child{border-right:none}
.cal-week-slot{
  height:44px;box-sizing:border-box;border-bottom:1px solid rgba(255,255,255,.04);cursor:pointer;
}
.cal-week-slot:hover{background:rgba(56,189,248,.06)}
.cal-week-now{
  position:absolute;left:0;right:0;height:0;border-top:2px solid var(--red);z-index:3;pointer-events:none;
}
.cal-week-now::before{
  content:'';position:absolute;left:-4px;top:-5px;width:8px;height:8px;border-radius:50%;background:var(--red);
}
.cal-ev{
  position:absolute;left:3px;right:3px;border-radius:5px;padding:3px 5px 10px;overflow:hidden;
  background:linear-gradient(180deg,rgba(56,189,248,.92),rgba(14,165,233,.88));
  color:#041018;font-size:11px;font-weight:700;line-height:1.25;cursor:grab;
  box-shadow:0 1px 2px rgba(0,0,0,.25);z-index:1;border:1px solid rgba(255,255,255,.2);
  touch-action:none;user-select:none;
}
.cal-ev.dragging,.cal-ev.resizing{opacity:.92;z-index:5;cursor:grabbing;filter:brightness(1.05)}
.cal-ev:hover{filter:brightness(1.05)}
.cal-ev-time{font-size:10px;font-weight:600;opacity:.85;margin-bottom:1px}
.cal-ev-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-ev.walkin{
  background:linear-gradient(180deg,rgba(251,146,60,.95),rgba(234,88,12,.88));
}
.wi-shots{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.wi-shot{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  min-height:92px;border:1px dashed var(--line);border-radius:10px;background:rgba(255,255,255,.03);
  cursor:pointer;padding:10px 8px;text-align:center;font-size:12px;font-weight:700;color:var(--text2);
}
.wi-shot:hover{border-color:var(--accent);color:var(--text)}
.wi-shot input{display:none}
.wi-shot .ico{color:var(--accent)}
.wi-previews{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.wi-previews img,.wi-previews .wi-exist{
  width:68px;height:68px;object-fit:cover;border-radius:8px;border:1px solid var(--line);background:#0c1015
}
.wi-exist{position:relative;display:block}
.wi-exist button{
  position:absolute;top:2px;right:2px;width:20px;height:20px;border:0;border-radius:50%;
  background:rgba(0,0,0,.7);color:#fff;font-size:12px;cursor:pointer;line-height:20px;padding:0
}
.cal-daylist-wrap{margin-top:14px}
.cal-daylist-label{font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:.5px;margin:0 0 6px}
.tm-prev-title{font-size:20px;font-weight:800;letter-spacing:-.02em;margin:0 0 14px;line-height:1.25}
.tm-prev-grid{display:grid;gap:10px}
.tm-prev-row{display:grid;grid-template-columns:110px 1fr;gap:8px;align-items:start;font-size:13px}
.tm-prev-k{color:var(--text3);font-size:11px;text-transform:uppercase;letter-spacing:.04em;padding-top:2px}
.tm-prev-v{color:var(--text);font-weight:600;word-break:break-word}
.tm-prev-v.muted{font-weight:500;color:var(--text2);white-space:pre-wrap}
@media(max-width:900px){
  .cal-week-head,.cal-week-body{grid-template-columns:44px repeat(7,minmax(72px,1fr))}
  .cal-week-body{overflow:auto}
}
.lg-low{color:var(--red);font-weight:700}
.act-item{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--border);align-items:flex-start;}
.act-item:last-child{border-bottom:none;}
.act-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0;margin-top:2px;}
.act-body{flex:1;min-width:0;}
.act-text{font-size:13px;line-height:1.45;}
.act-meta{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:4px;font-size:10px;color:var(--text3);align-items:center;}
.act-user{font-weight:600;color:var(--accent);}
.act-tag{display:inline-block;padding:1px 6px;border-radius:4px;background:var(--bg3);border:1px solid var(--border);font-size:9px;text-transform:uppercase;letter-spacing:.03em;}
.act-tag.del{color:var(--red);border-color:rgba(224,80,80,.35);background:rgba(224,80,80,.08);}
.act-details{margin-top:4px;font-size:10px;color:var(--text3);font-family:ui-monospace,monospace;word-break:break-all;opacity:.85;}
.audit-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;align-items:center;}
.audit-toolbar input,.audit-toolbar select{min-width:140px;}
.audit-scroll{max-height:calc(100vh - 220px);overflow-y:auto;padding-right:4px;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track);}
.audit-scroll::-webkit-scrollbar{width:var(--scroll-size);height:var(--scroll-size);}
.audit-scroll::-webkit-scrollbar-track{background:var(--scroll-track);border-radius:99px;}
.audit-scroll::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:99px;border:2px solid transparent;background-clip:padding-box;}
.audit-scroll::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover);background-clip:padding-box;}
.audit-foot{display:flex;justify-content:space-between;align-items:center;margin-top:10px;font-size:12px;color:var(--text3);gap:10px;flex-wrap:wrap;}
@media(max-width:768px){
  .sidebar{position:fixed;left:0;top:0;bottom:0;width:240px;z-index:100;transform:translateX(-100%);}
  .sidebar.open{transform:translateX(0);}
  .burger{display:flex;}
  .stats{grid-template-columns:1fr 1fr;}
  .dash-stats{grid-template-columns:1fr 1fr;}
  .dash-grid{grid-template-columns:1fr;}
  .dash-head-meta{text-align:left;}
  .form-grid{grid-template-columns:1fr;}
  .fg1.full{grid-column:1;}
  .settings-grid{grid-template-columns:1fr;}
  .gl3{grid-template-columns:1fr;}
  .trans-grid{grid-template-columns:1fr;}
  .search-wrap{max-width:none;}
  .hide-m{display:none!important;}
  .fin-charts{grid-template-columns:1fr;}
  .kanban{min-height:300px;}
  .kcol{min-width:190px;}
  input,select,textarea{font-size:16px;}
  .btn,.icon-btn,.burger{min-height:44px;touch-action:manipulation;}
  .btn-sm{min-height:40px;}
  .btn-xs{min-height:36px;padding:6px 10px;}
  /* Sidebar profile/logout + nav: keep compact on phone/tablet (do not use 44px touch size here) */
  .sidebar-foot{padding:4px 6px 6px;gap:2px;}
  .sidebar .user-card{padding:4px 6px;gap:6px;}
  .sidebar .avatar{width:26px;height:26px;font-size:10px;box-shadow:0 2px 6px rgba(56,189,248,.16);}
  .sidebar .user-card-name{font-size:12px;}
  .sidebar .user-card-role{font-size:10px;}
  .sidebar .sidebar-logout,
  .sidebar #btnLogout{
    min-height:30px!important;
    height:30px!important;
    padding:0 8px;
    font-size:12px;
    border-radius:8px;
  }
  .sidebar .sidebar-logout .ico,
  .sidebar #btnLogout .ico{width:14px;height:14px;}
  .sidebar .ni{min-height:34px;padding:7px 9px;font-size:13px;}
  .topbar{min-height:48px;}
  .burger{min-height:36px!important;min-width:36px;width:36px;height:36px;padding:0;}
  .ph-add{min-height:64px;}
  .ph-del{width:28px;height:28px;font-size:12px;top:6px;right:6px;}
  .fin-range{flex-wrap:wrap;}
  .fin-range input[type="date"]{min-width:8.5rem;max-width:none;flex:1 1 8.5rem;}
  .rech-pay-sel{min-height:40px;height:auto;width:100%;max-width:none;}
  .rech-zip-wrap{margin-left:0;width:100%;}
  #btnRechZip{width:100%;justify-content:center;min-height:40px;height:auto;}
  .rech-zip-pop{right:auto;left:0;width:100%;}
}
.rech-suggest-wrap{position:relative;min-width:0;}
.rech-suggest-dd{display:none;max-height:220px;overflow-y:auto;background:var(--bg2);border:1px solid var(--border2);border-radius:var(--r);box-shadow:0 10px 28px rgba(0,0,0,.4);z-index:1200;}
.rech-suggest-it{display:block;width:100%;text-align:left;padding:8px 10px;font-size:13px;cursor:pointer;border:none;border-bottom:1px solid var(--border);background:transparent;color:var(--text);font-family:inherit;line-height:1.35;}
.rech-suggest-it:last-child{border-bottom:none;}
.rech-suggest-it:hover,.rech-suggest-it:focus{background:var(--bg3);outline:none;}
.rech-suggest-meta{font-size:10px;color:var(--text3);font-weight:400;}
.vf-gal{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;}
.vf-gal-item{position:relative;width:88px;}
.vf-gal-item img{width:88px;height:72px;object-fit:cover;border-radius:8px;border:1px solid var(--border);cursor:zoom-in;display:block;background:var(--bg3);}
.vf-gal-item img.is-draft{border-color:var(--accent);}
.vf-gal-del{position:absolute;top:2px;right:2px;padding:2px 6px;}
.vf-thumb-wrap{position:relative;width:52px;height:52px;}
.vf-thumb-n{position:absolute;right:2px;bottom:2px;background:rgba(0,0,0,.7);color:#fff;font-size:10px;line-height:1;padding:2px 4px;border-radius:6px;}
.bug-shot-drop{
  border:1.5px dashed var(--border2);border-radius:var(--r);padding:10px;
  background:var(--bg3);transition:border-color .15s,background .15s;
}
.bug-shot-drop.is-drag{border-color:var(--accent);background:rgba(56,189,248,.08);}
.bug-shot-drop-lbl{font-size:11px;color:var(--text3);margin-top:6px;line-height:1.4;}
.btn-busy{
  display:none;width:12px;height:12px;margin-right:6px;
  border:1.5px solid currentColor;border-right-color:transparent;
  border-radius:50%;animation:btnBusySpin .65s linear infinite;vertical-align:-1px;opacity:.75;
}
.btn.is-busy .btn-busy{display:inline-block;}
.btn.is-busy{opacity:.88;}
@keyframes btnBusySpin{to{transform:rotate(360deg);}}

/* ── Global 3D loading overlay ── */
.app-loading-overlay{
  position:fixed;inset:0;z-index:9999;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;
  background:rgba(6,8,12,.78);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .28s ease,visibility .28s ease;
}
.app-loading-overlay.active{opacity:1;visibility:visible;pointer-events:auto;}
.app-loading-scene{
  position:relative;width:120px;height:120px;
  perspective:900px;perspective-origin:50% 50%;
}
.app-loading-orbit{
  position:absolute;inset:0;
  transform-style:preserve-3d;
  animation:appLoadOrbit 3.2s linear infinite;
}
.app-loading-ring{
  position:absolute;inset:8px;border-radius:50%;
  border:2px solid transparent;
  border-top-color:var(--accent);
  border-right-color:rgba(74,157,232,.65);
  box-shadow:0 0 24px var(--accent-glow), inset 0 0 18px rgba(74,157,232,.08);
  animation:appLoadSpin 1.1s cubic-bezier(.45,.05,.55,.95) infinite;
}
.app-loading-ring.r2{
  inset:22px;border-width:1.5px;
  border-top-color:rgba(74,157,232,.9);
  border-right-color:var(--accent);
  animation-direction:reverse;animation-duration:1.6s;
}
.app-loading-cube{
  position:absolute;left:50%;top:50%;width:34px;height:34px;margin:-17px 0 0 -17px;
  transform-style:preserve-3d;
  animation:appLoadCube 2.4s ease-in-out infinite;
}
.app-loading-cube-face{
  position:absolute;inset:0;
  background:linear-gradient(135deg, rgba(56,189,248,.25), rgba(74,157,232,.18));
  border:1px solid rgba(56,189,248,.45);
  box-shadow:inset 0 0 12px rgba(56,189,248,.15);
}
.app-loading-cube-face:nth-child(1){transform:translateZ(17px);}
.app-loading-cube-face:nth-child(2){transform:rotateY(180deg) translateZ(17px);}
.app-loading-cube-face:nth-child(3){transform:rotateY(90deg) translateZ(17px);}
.app-loading-cube-face:nth-child(4){transform:rotateY(-90deg) translateZ(17px);}
.app-loading-cube-face:nth-child(5){transform:rotateX(90deg) translateZ(17px);}
.app-loading-cube-face:nth-child(6){transform:rotateX(-90deg) translateZ(17px);}
.app-loading-scan{
  position:absolute;left:50%;top:50%;width:140px;height:140px;margin:-70px 0 0 -70px;
  border-radius:50%;
  background:conic-gradient(from 0deg, transparent 0deg, rgba(56,189,248,.22) 40deg, transparent 80deg);
  animation:appLoadScan 2s linear infinite;
  pointer-events:none;
}
@keyframes appLoadSpin{to{transform:rotate(360deg);}}
@keyframes appLoadOrbit{to{transform:rotateY(360deg);}}
@keyframes appLoadCube{
  0%,100%{transform:rotateX(-18deg) rotateY(0deg);}
  50%{transform:rotateX(18deg) rotateY(180deg);}
}
@keyframes appLoadScan{to{transform:rotate(360deg);}}
.app-loading-label{
  font-size:14px;font-weight:700;color:var(--text);
  letter-spacing:.04em;text-align:center;max-width:min(92vw,420px);line-height:1.45;
}
.app-loading-sub{
  font-size:12px;color:var(--text3);text-align:center;margin-top:-10px;
}
.app-loading-track{
  width:min(320px,88vw);height:5px;border-radius:999px;overflow:hidden;
  background:rgba(255,255,255,.07);
  box-shadow:inset 0 1px 3px rgba(0,0,0,.5);
}
.app-loading-fill{
  height:100%;width:0%;border-radius:0;
  background:linear-gradient(90deg,#1d4ed8 0%,var(--accent) 55%,#9ae6ff 100%);
  box-shadow:0 0 14px var(--accent-glow);
  transition:width .28s cubic-bezier(.22,.8,.28,1);
}
.app-loading-fill.indeterminate{
  width:38%!important;
  animation:appLoadIndeterminate 1.2s ease-in-out infinite;
}
@keyframes appLoadIndeterminate{
  0%{transform:translateX(-120%);}
  100%{transform:translateX(320%);}
}
.app-loading-pct{
  font-size:11px;color:var(--accent);font-weight:700;letter-spacing:.08em;
  font-variant-numeric:tabular-nums;
}
.glb-up{
  display:flex;align-items:center;gap:10px;margin-top:8px;
}
.glb-up[hidden]{display:none!important;}
.glb-up-track{
  flex:1;height:5px;border-radius:999px;overflow:hidden;
  background:rgba(255,255,255,.06);
  box-shadow:inset 0 1px 2px rgba(0,0,0,.45);
}
.glb-up-fill{
  height:100%;width:0;border-radius:0;
  background:linear-gradient(90deg,#1d4ed8 0%,var(--accent) 55%,#9ae6ff 100%);
  box-shadow:0 0 10px var(--accent-glow);
  transition:width .12s linear;
}
.glb-up-pct{
  min-width:42px;text-align:right;font-size:12px;font-weight:700;color:var(--accent);
  font-variant-numeric:tabular-nums;
}

/* ── Premium login (mobile-first, rings orbit form) ── */
.login-screen{
  position:fixed;inset:0;z-index:1000;
  display:none;align-items:center;justify-content:center;
  padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
  overflow:auto;-webkit-overflow-scrolling:touch;
  background:
    radial-gradient(ellipse 100% 80% at 50% 0%, rgba(74,157,232,.14), transparent 58%),
    radial-gradient(ellipse 80% 50% at 80% 100%, rgba(56,189,248,.08), transparent 50%),
    linear-gradient(165deg, #080a0f 0%, #0c1018 45%, #06080c 100%);
}
.login-screen::before{
  content:'';position:fixed;inset:0;pointer-events:none;opacity:.22;
  background-image:
    linear-gradient(rgba(74,157,232,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(74,157,232,.06) 1px, transparent 1px);
  background-size:28px 28px;
}
body.auth-pending .topbar,
body.auth-pending .app-body,
body.auth-pending #licenseBanner,
body.auth-pending .bug-dock,
body.auth-pending .auth-boot-screen{display:none!important;}
body.auth-pending #loginScreen{display:flex!important;}
.login-screen-inner{
  width:100%;max-width:420px;margin:0 auto;
  position:relative;z-index:1;
}
.login-stage{
  position:relative;
  width:100%;
  padding:clamp(36px, 12vw, 56px) clamp(8px, 3vw, 16px);
  display:flex;align-items:center;justify-content:center;
}
.login-orbit-field{
  position:absolute;left:50%;top:50%;
  width:min(104vw, 420px);
  height:min(128vw, 520px);
  margin:-50% 0 0 -50%;
  transform:translate(-50%, -50%);
  pointer-events:none;
  perspective:900px;
  animation:loginFieldTilt 12s ease-in-out infinite;
}
.login-orbit-ring{
  position:absolute;border-radius:50%;
  border:1.5px solid transparent;
  box-shadow:0 0 28px var(--accent-glow), inset 0 0 36px rgba(74,157,232,.05);
  animation:loginRingSpin 9s linear infinite;
}
.login-orbit-ring.r1{
  inset:0;
  border-top-color:var(--accent);
  border-right-color:rgba(74,157,232,.45);
  animation-duration:8s;
}
.login-orbit-ring.r2{
  inset:clamp(10px, 4vw, 18px);
  border-width:1.25px;
  border-top-color:rgba(110,181,255,.85);
  border-left-color:var(--accent);
  animation-duration:11s;
  animation-direction:reverse;
  opacity:.88;
}
.login-orbit-ring.r3{
  inset:clamp(22px, 8vw, 36px);
  border-width:1px;
  border-bottom-color:rgba(74,157,232,.55);
  border-right-color:rgba(56,189,248,.35);
  animation-duration:14s;
  opacity:.55;
}
.login-orbit-scan{
  position:absolute;left:50%;top:50%;
  width:min(88vw, 360px);height:min(88vw, 360px);
  margin:-50% 0 0 -50%;
  border-radius:50%;
  background:conic-gradient(from 0deg, transparent 0deg, rgba(74,157,232,.18) 48deg, transparent 96deg);
  animation:loginScanSpin 3.2s linear infinite;
  opacity:.7;
}
.login-orbit-dot-wrap{
  position:absolute;inset:0;
  animation:loginRingSpin 8s linear infinite;
}
.login-orbit-dot-wrap.w2{
  inset:clamp(22px, 8vw, 36px);
  animation-duration:11s;
  animation-direction:reverse;
}
.login-orbit-dot{
  position:absolute;left:50%;top:-4px;width:8px;height:8px;margin-left:-4px;
  border-radius:50%;
  background:radial-gradient(circle at 35% 30%, #fff, var(--accent));
  box-shadow:0 0 14px var(--accent-glow);
}
.login-orbit-dot.d2{width:6px;height:6px;margin-left:-3px;top:-3px;opacity:.9;}
@keyframes loginFieldTilt{
  0%,100%{transform:translate(-50%, -50%) rotateX(52deg) rotateZ(0deg);}
  50%{transform:translate(-50%, -50%) rotateX(58deg) rotateZ(6deg);}
}
@keyframes loginRingSpin{to{transform:rotate(360deg);}}
@keyframes loginScanSpin{to{transform:rotate(360deg);}}
.login-form-3d-wrap{
  position:relative;z-index:2;width:100%;
}
.login-form-3d-wrap::before{
  content:'';position:absolute;inset:-6% -3%;
  background:radial-gradient(ellipse 75% 60% at 50% 40%, var(--accent-glow), transparent 72%);
  opacity:.38;pointer-events:none;filter:blur(22px);
}
.login-form-panel{
  position:relative;
  background:linear-gradient(158deg, rgba(24,30,42,.98) 0%, rgba(12,16,24,.99) 100%);
  border:1px solid rgba(74,157,232,.28);
  border-radius:clamp(16px, 4vw, 22px);
  padding:clamp(20px, 5vw, 28px) clamp(18px, 4.5vw, 26px);
  width:100%;display:flex;flex-direction:column;gap:clamp(10px, 2.5vw, 14px);
  box-shadow:
    0 20px 40px rgba(0,0,0,.42),
    0 0 0 1px rgba(255,255,255,.05) inset,
    0 1px 0 rgba(255,255,255,.07) inset;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.login-form-panel::after{
  content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(130deg, rgba(255,255,255,.08) 0%, transparent 40%, rgba(74,157,232,.05) 100%);
}
.login-form-panel > *{position:relative;z-index:1;}
.login-brand-compact{
  display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;
  margin-bottom:2px;
}
.login-brand-mono{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:40px;height:40px;padding:0 10px;border-radius:11px;
  font-size:14px;font-weight:800;letter-spacing:.1em;
  color:var(--accent);border:1px solid rgba(255,255,255,.1);
  background:rgba(0,0,0,.35);
  box-shadow:0 0 20px var(--accent-glow);
}
.login-brand-name{
  font-size:clamp(17px, 4.2vw, 22px);font-weight:800;line-height:1.15;
  color:var(--text);letter-spacing:.02em;
}
.login-brand-slogan{
  font-size:12px;color:var(--text3);text-align:center;line-height:1.4;
  width:100%;margin-top:-4px;
}
.login-brand-tag{
  font-size:10px;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(74,157,232,.8);font-weight:700;text-align:center;width:100%;
}
.login-assistant{
  display:flex;align-items:center;justify-content:center;gap:8px;
  padding:6px 12px;border-radius:999px;
  background:rgba(74,157,232,.08);
  border:1px solid rgba(74,157,232,.2);
  font-size:11px;color:var(--text2);letter-spacing:.03em;
}
.login-assistant-pulse{
  width:7px;height:7px;border-radius:50%;flex-shrink:0;
  background:var(--accent);
  box-shadow:0 0 10px var(--accent-glow);
  animation:loginAssistPulse 1.8s ease-in-out infinite;
}
@keyframes loginAssistPulse{
  0%,100%{opacity:1;transform:scale(1);}
  50%{opacity:.55;transform:scale(.85);}
}
.login-title-3d{
  position:relative;z-index:1;
  height:clamp(40px, 10vw, 50px);
  display:flex;align-items:center;justify-content:center;
  margin:2px 0 4px;
  perspective:520px;
  pointer-events:none;user-select:none;
}
.login-title-3d-stack{
  position:relative;display:inline-block;
}
.login-title-3d-layer{
  position:absolute;left:0;top:0;white-space:nowrap;
  font-size:clamp(26px, 7vw, 36px);
  font-weight:800;letter-spacing:.05em;line-height:1;
  color:rgba(22,30,44,.94);
}
.login-title-3d-layer:nth-child(1){transform:translateZ(0px);}
.login-title-3d-layer:nth-child(2){transform:translateZ(-2px);opacity:.92;}
.login-title-3d-layer:nth-child(3){transform:translateZ(-4px);opacity:.88;}
.login-title-3d-layer:nth-child(4){transform:translateZ(-6px);opacity:.84;}
.login-title-3d-layer:nth-child(5){transform:translateZ(-8px);opacity:.8;}
.login-title-3d-layer:nth-child(6){transform:translateZ(-10px);opacity:.76;}
.login-title-3d-layer:nth-child(7){transform:translateZ(-12px);opacity:.72;}
.login-title-3d-layer.login-title-front{
  position:relative;transform:translateZ(4px);
  background:linear-gradient(135deg, #fff 0%, var(--accent) 50%, #8ec5ff 100%);
  -webkit-background-clip:text;background-clip:text;
  color:transparent;
  filter:drop-shadow(0 2px 10px var(--accent-glow));
}
.login-form-head{text-align:center;margin-bottom:0;}
.login-form-head .lbl-hint{font-size:12px;color:var(--text3);margin-top:2px;line-height:1.4;}
.login-form-panel .fg1 input{
  font-size:16px;padding:12px 13px;
  min-height:48px;border-radius:12px;
}
.login-form-panel .btn[type],.login-form-panel button.btn{
  min-height:48px;border-radius:12px;
}
.login-dh-sig{
  display:flex;align-items:center;justify-content:center;gap:10px;
  margin-top:14px;padding-top:12px;border-top:1px solid var(--border);
}
.login-dh-sig img{
  height:36px;width:auto;object-fit:contain;opacity:.95;
}
.login-dh-sig .dh-meta{display:flex;flex-direction:column;line-height:1.25;text-align:left}
.login-dh-sig .dh-by{
  font-size:10px;color:var(--text3);letter-spacing:.05em;text-transform:lowercase;
}
.login-dh-sig .dh-name{font-size:12.5px;font-weight:600}
.login-dh-sig .dh-name .dh{color:#0047FF;font-weight:700}
.login-dh-sig .dh-name .rest{color:var(--text2);font-weight:500}
.login-qr-block{
  border-top:1px solid var(--border);padding-top:12px;margin-top:2px;
}
.login-qr-block canvas{
  width:min(148px, 40vw)!important;height:min(148px, 40vw)!important;
  border-radius:10px;background:#fff;border:1px solid var(--border);
}
.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
@media (max-width:480px){
  .login-stage{padding:32px 4px;}
  .login-orbit-field{width:108vw;height:132vw;}
  .login-orbit-field{animation:none;transform:translate(-50%, -50%) rotateX(48deg);}
}
@media (prefers-reduced-motion:reduce){
  .login-orbit-field,.login-orbit-ring,.login-orbit-scan,.login-orbit-dot-wrap,
  .login-assistant-pulse{animation:none!important;}
}

/* ── KI-Check futuristic HUD ── */
#page-kicheck{padding-bottom:24px;}
.ki-hero{
  position:relative;overflow:hidden;border-radius:var(--rl);
  border:1px solid rgba(74,157,232,.22);
  background:
    radial-gradient(ellipse 80% 120% at 100% 0%, rgba(74,157,232,.14), transparent 55%),
    radial-gradient(ellipse 60% 80% at 0% 100%, rgba(56,189,248,.1), transparent 50%),
    linear-gradient(155deg, #121822 0%, #0d1118 45%, #0a0d12 100%);
  box-shadow:var(--elev-2), inset 0 1px 0 rgba(255,255,255,.05);
  margin-bottom:14px;padding:20px 22px;
  display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;
}
.ki-hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;opacity:.35;
  background-image:
    linear-gradient(rgba(74,157,232,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(74,157,232,.08) 1px, transparent 1px);
  background-size:28px 28px;
  mask-image:linear-gradient(180deg, #000 0%, transparent 85%);
}
.ki-hero::after{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg, transparent, var(--accent), var(--blue), transparent);
  opacity:.75;
}
.ki-hero-badge{
  display:inline-flex;align-items:center;gap:6px;
  font-size:10px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;
  color:var(--blue);padding:4px 10px;border-radius:999px;
  border:1px solid rgba(74,157,232,.35);background:rgba(74,157,232,.1);
  margin-bottom:10px;
}
.ki-hero-badge::before{
  content:'';width:6px;height:6px;border-radius:50%;background:var(--green);
  box-shadow:0 0 8px var(--green);animation:kiPulse 1.8s ease-in-out infinite;
}
@keyframes kiPulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.45;transform:scale(.85);}}
.ki-hero-title,
#ni-kicheck,
#page-kicheck .ki-panel-title{
  font-family:'Outfit',system-ui,sans-serif;
}
.ki-hero-title{
  font-size:clamp(22px,3vw,30px);font-weight:800;letter-spacing:-.03em;
  background:linear-gradient(90deg, #fff 0%, var(--accent) 55%, var(--blue) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  margin-bottom:6px;
}
#ni-kicheck{font-weight:600;letter-spacing:-.01em;}
.ki-hero-sub{font-size:13px;color:var(--text2);line-height:1.55;max-width:560px;}
.ki-hero-visual{
  position:relative;width:110px;height:110px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
}
.ki-hud-radar{
  position:absolute;inset:0;border-radius:50%;
  border:1px solid rgba(74,157,232,.25);
  background:radial-gradient(circle, rgba(74,157,232,.12) 0%, transparent 68%);
}
.ki-hud-radar::before{
  content:'';position:absolute;inset:12px;border-radius:50%;border:1px dashed rgba(56,189,248,.25);
}
.ki-hud-sweep{
  position:absolute;inset:0;border-radius:50%;overflow:hidden;
}
.ki-hud-sweep::after{
  content:'';position:absolute;left:50%;top:50%;width:50%;height:2px;margin-top:-1px;
  transform-origin:left center;
  background:linear-gradient(90deg, rgba(56,189,248,.9), transparent);
  animation:kiRadarSweep 2.4s linear infinite;
}
@keyframes kiRadarSweep{to{transform:rotate(360deg);}}
.ki-hud-core{
  position:relative;z-index:2;display:flex;align-items:center;justify-content:center;color:var(--accent);
  filter:drop-shadow(0 0 12px rgba(56,189,248,.45));
}
.ki-hud-core .ico{width:38px;height:38px;}
.ki-stats{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:14px;
}
.ki-stat{
  padding:12px 14px;border-radius:var(--r);
  border:1px solid var(--border);
  background:linear-gradient(180deg, rgba(255,255,255,.03) 0%, var(--bg2) 100%);
  box-shadow:var(--elev-1);
}
.ki-stat-l{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.12em;margin-bottom:4px;}
.ki-stat-v{font-size:18px;font-weight:800;color:var(--accent);font-variant-numeric:tabular-nums;}
.ki-panel{
  border-radius:var(--rl);border:1px solid var(--border);
  background:linear-gradient(180deg, rgba(255,255,255,.02) 0%, var(--bg2) 100%);
  box-shadow:var(--elev-1);margin-bottom:12px;overflow:hidden;
}
.ki-panel-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:12px 16px;border-bottom:1px solid var(--border);
  background:linear-gradient(90deg, rgba(74,157,232,.06) 0%, transparent 100%);
}
.ki-panel-title{font-size:13px;font-weight:700;letter-spacing:.04em;}
.ki-panel-body{padding:16px;}
.ki-actions{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;
}
.ki-action{
  display:flex;flex-direction:column;align-items:flex-start;gap:4px;
  padding:12px 14px;border-radius:var(--r);cursor:pointer;text-align:left;
  border:1px solid var(--border);
  background:linear-gradient(180deg, rgba(255,255,255,.04) 0%, var(--bg3) 100%);
  color:var(--text);font-family:inherit;
  transition:var(--transition-surface);
  box-shadow:var(--elev-1);
}
.ki-action:hover{
  border-color:rgba(56,189,248,.35);transform:translateY(-2px);
  box-shadow:var(--elev-hover), 0 0 20px rgba(56,189,248,.08);
}
.ki-action.primary{
  border-color:rgba(56,189,248,.4);
  background:linear-gradient(180deg, rgba(56,189,248,.16) 0%, rgba(56,189,248,.06) 100%);
}
.ki-action-ico{display:inline-flex;align-items:center;justify-content:center;color:var(--accent);line-height:1;}
.ki-action-ico .ico{width:18px;height:18px;}
.ki-action-lbl{font-size:13px;font-weight:700;}
.ki-action-sub{font-size:11px;color:var(--text3);line-height:1.35;}
.ki-analyzing-panel{
  display:none;margin-top:14px;padding:18px;border-radius:var(--rl);
  border:1px solid rgba(56,189,248,.28);
  background:linear-gradient(180deg, rgba(56,189,248,.08) 0%, rgba(18,22,30,.95) 100%);
  box-shadow:0 0 32px rgba(56,189,248,.08), var(--elev-1);
}
.ki-analyzing-panel.active{display:block;}
.ki-analyzing-inner{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.ki-analyzing-scene{width:72px;height:72px;flex-shrink:0;position:relative;}
.ki-analyzing-scene .app-loading-scene{width:72px;height:72px;}
.ki-analyzing-scene .app-loading-cube{width:26px;height:26px;margin:-13px 0 0 -13px;}
.ki-analyzing-scene .app-loading-cube-face:nth-child(1){transform:translateZ(13px);}
.ki-analyzing-scene .app-loading-cube-face:nth-child(2){transform:rotateY(180deg) translateZ(13px);}
.ki-analyzing-scene .app-loading-cube-face:nth-child(3){transform:rotateY(90deg) translateZ(13px);}
.ki-analyzing-scene .app-loading-cube-face:nth-child(4){transform:rotateY(-90deg) translateZ(13px);}
.ki-analyzing-scene .app-loading-cube-face:nth-child(5){transform:rotateX(90deg) translateZ(13px);}
.ki-analyzing-scene .app-loading-cube-face:nth-child(6){transform:rotateX(-90deg) translateZ(13px);}
.ki-analyzing-text{flex:1;min-width:200px;}
.ki-analyzing-title{font-size:15px;font-weight:700;color:var(--accent);margin-bottom:4px;}
.ki-analyzing-sub{font-size:12px;color:var(--text3);line-height:1.45;}
.ki-results-panel{
  margin-top:14px;padding:14px;border-radius:var(--rl);
  border:1px solid var(--border);background:var(--bg2);
  min-height:48px;
}
.ki-results-empty{font-size:13px;color:var(--text3);line-height:1.5;}
.ki-quiz-progress-wrap{margin-bottom:12px;}
.ki-quiz-progress-meta{
  display:flex;justify-content:space-between;align-items:center;
  font-size:11px;color:var(--text3);margin-bottom:6px;
}
.ki-quiz-progress-track{
  height:5px;border-radius:999px;overflow:hidden;
  background:rgba(255,255,255,.06);
  box-shadow:inset 0 1px 2px rgba(0,0,0,.45);
}
.ki-quiz-progress-fill{
  height:100%;border-radius:0;
  background:linear-gradient(90deg,#1d4ed8 0%,var(--accent) 55%,#9ae6ff 100%);
  transition:width .28s cubic-bezier(.22,.8,.28,1);
  box-shadow:0 0 10px var(--accent-glow);
}
#mKiQuiz .modal{
  border:1px solid var(--border2);
  background:linear-gradient(180deg, rgba(255,255,255,.03) 0%, var(--bg2) 22%);
  box-shadow:0 18px 48px rgba(0,0,0,.52), 0 0 0 1px rgba(255,255,255,.03);
}
@media(max-width:768px){
  .ki-hero{grid-template-columns:1fr;padding:16px;}
  .ki-hero-visual{display:none;}
  .ki-actions{grid-template-columns:1fr 1fr;}
  .ki-layout{grid-template-columns:1fr;}
  .ki-col-results .ki-panel{min-height:200px;}
}
.ki-layout{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:14px;align-items:start;}
.ki-start-panel .ki-panel-body{padding:16px 18px 18px;}
.ki-steps{display:grid;gap:8px;margin-bottom:16px;}
.ki-step{
  display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:var(--r);
  border:1px solid var(--border);background:var(--bg3);
}
.ki-step-ico{
  flex-shrink:0;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:rgba(56,189,248,.1);border:1px solid rgba(56,189,248,.28);color:var(--accent);
}
.ki-step-ico .ico{width:15px;height:15px;}
.ki-step-num{
  flex-shrink:0;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:800;color:var(--accent);background:rgba(56,189,248,.12);border:1px solid rgba(56,189,248,.28);
}
.ki-step-body{min-width:0;}
.ki-step-title{font-size:12px;font-weight:700;color:var(--text);line-height:1.3;margin-bottom:2px;}
.ki-step-desc{font-size:11px;color:var(--text3);line-height:1.4;}
.ki-start-block{margin-bottom:14px;}
.ki-start-block-h{font-size:13px;font-weight:700;color:var(--text);margin:0 0 8px;line-height:1.25;}
.ki-select{
  width:100%;padding:10px 12px;border-radius:var(--r);border:1px solid var(--border);
  background:var(--bg3);color:var(--text);font-size:13px;
}
.ki-select:focus{outline:none;border-color:rgba(56,189,248,.55);box-shadow:0 0 0 2px rgba(56,189,248,.14);}
.ki-fz-status{
  margin-top:8px;padding:8px 10px;border-radius:var(--r);font-size:12px;line-height:1.45;
  border:1px solid var(--border);background:var(--bg3);color:var(--text3);
}
.ki-fz-status.ok{background:rgba(61,186,120,.08);border-color:rgba(61,186,120,.28);color:var(--green);}
.ki-fz-status.idle{background:var(--bg3);color:var(--text3);}
.ki-cta{width:100%;justify-content:center;padding:13px 16px;font-size:14px;margin-bottom:12px;}
.ki-secondary-actions{display:flex;flex-wrap:wrap;gap:8px;}
.ki-secondary-actions .btn{flex:1;min-width:120px;justify-content:center;}
.ki-dev-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;padding-top:14px;border-top:1px dashed var(--border);}
.ki-dev-actions .ki-action{padding:10px 12px;}
.ki-results-wrap .ki-panel-body{padding:14px 16px 16px;}
.ki-results-empty-state{
  text-align:center;padding:28px 16px;border-radius:var(--r);
  border:1px dashed var(--border);background:var(--bg3);
}
.ki-results-empty-ico{display:flex;align-items:center;justify-content:center;margin-bottom:10px;color:var(--accent);opacity:.85;}
.ki-results-empty-ico .ico{width:36px;height:36px;}
.ki-results-empty-title{font-size:14px;font-weight:700;color:var(--text);margin-bottom:6px;}
.ki-results-empty-state p{font-size:12px;color:var(--text3);line-height:1.5;margin:0;max-width:36ch;margin-left:auto;margin-right:auto;}
#mKiQuiz .modal{max-width:600px;}
.ki-quiz-section-badge{
  display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--blue);padding:3px 9px;border-radius:999px;border:1px solid rgba(74,157,232,.3);background:rgba(74,157,232,.08);
  margin-bottom:10px;
}
.ki-quiz-question{font-size:16px;font-weight:700;margin-bottom:14px;line-height:1.45;color:var(--text);}
.ki-quiz-hint{font-size:12px;color:var(--text3);margin-top:8px;line-height:1.45;}
.ki-quiz-bool-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.ki-quiz-bool-tile{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:88px;
  padding:14px 12px;border-radius:var(--r);border:2px solid var(--border);background:var(--bg3);
  color:var(--text);cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s;
}
.ki-quiz-bool-tile:hover{border-color:var(--border2);background:var(--bg4);}
.ki-quiz-bool-tile.active{border-color:var(--accent);background:rgba(56,189,248,.1);box-shadow:0 0 0 1px rgba(56,189,248,.2);}
.ki-quiz-bool-ico{display:flex;align-items:center;justify-content:center;color:var(--text2);}
.ki-quiz-bool-ico .ico{width:24px;height:24px;}
.ki-quiz-bool-tile.active .ki-quiz-bool-ico{color:var(--accent);}
.ki-quiz-bool-lbl{font-size:14px;font-weight:700;}
.ki-quiz-option-tiles{display:grid;gap:8px;}
.ki-quiz-option-tiles.cols-2{grid-template-columns:1fr 1fr;}
.ki-quiz-option-tiles.cols-3{grid-template-columns:repeat(3,1fr);}
.ki-quiz-option-tile{
  display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-height:64px;padding:12px;
  border-radius:var(--r);border:2px solid var(--border);background:var(--bg3);color:var(--text);
  cursor:pointer;text-align:left;transition:border-color .15s,background .15s;
}
.ki-quiz-option-tile:hover{border-color:var(--border2);background:var(--bg4);}
.ki-quiz-option-tile.active{border-color:var(--accent);background:rgba(56,189,248,.1);}
.ki-quiz-option-lbl{font-size:13px;font-weight:700;line-height:1.25;}
.ki-quiz-option-sub{font-size:10px;color:var(--text3);line-height:1.35;}
.ki-quiz-input{
  width:100%;padding:12px 14px;border-radius:var(--r);border:1px solid var(--border);
  background:var(--bg3);color:var(--text);font-size:15px;
}
.ki-quiz-input:focus{outline:none;border-color:rgba(56,189,248,.55);box-shadow:0 0 0 2px rgba(56,189,248,.14);}
.ki-quiz-skip{margin-top:10px;}
.ki-quiz-diag-block{display:grid;gap:12px;}
.ki-quiz-diag-intro{font-size:12px;color:var(--text2);line-height:1.5;}
.ki-quiz-diag-preview{
  padding:10px 12px;border:1px solid var(--border);border-radius:var(--r);background:var(--bg3);min-height:44px;font-size:12px;
}
#mKiQuiz .mf{gap:8px;}
#mKiQuiz .mf .btn:disabled{opacity:.45;cursor:not-allowed;}

/* ── 3D-Schaden (Wireframe-Template) ── */
#page-schaden3d{padding-bottom:24px;}
.s3d-layout{display:grid;grid-template-columns:minmax(280px,340px) 1fr;gap:14px;align-items:stretch;}
@media(max-width:960px){.s3d-layout{grid-template-columns:1fr;}}
.s3d-panel{border:1px solid var(--border);border-radius:var(--rl);background:var(--bg2);overflow:hidden;}
.s3d-panel-head{padding:12px 14px;border-bottom:1px solid var(--border);font-size:13px;font-weight:700;}
.s3d-panel-body{padding:12px 14px;}
.s3d-stage{position:relative;min-height:420px;height:min(62vh,560px);}
.s3d-canvas-wrap{position:relative;height:100%;min-height:100%;background:#0a0e14;border-radius:0 0 var(--rl) var(--rl);}
.s3d-canvas-wrap canvas{display:block;width:100%!important;height:100%!important;border-radius:0 0 var(--rl) var(--rl);}
.s3d-load{
  position:absolute;inset:0;z-index:8;
  display:flex;align-items:center;justify-content:center;
  background:
    radial-gradient(ellipse 70% 55% at 50% 40%, rgba(56,189,248,.12), transparent 58%),
    linear-gradient(180deg, rgba(7,11,16,.78), rgba(7,11,16,.9));
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.s3d-load[hidden]{display:none!important;}
.s3d-load::before{
  content:'';
  position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(56,189,248,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(56,189,248,.07) 1px, transparent 1px);
  background-size:26px 26px;
  mask-image:radial-gradient(ellipse 72% 62% at 50% 48%, #000 18%, transparent 78%);
  -webkit-mask-image:radial-gradient(ellipse 72% 62% at 50% 48%, #000 18%, transparent 78%);
}
.s3d-load-card{
  position:relative;z-index:1;
  width:min(400px, calc(100% - 32px));
  padding:26px 24px 20px;
  text-align:center;
  border:1px solid rgba(56,189,248,.24);
  border-radius:16px;
  background:linear-gradient(180deg, rgba(20,26,36,.96), rgba(10,14,20,.96));
  box-shadow:0 20px 50px rgba(0,0,0,.5), 0 0 0 1px rgba(255,255,255,.04), 0 0 36px rgba(56,189,248,.1);
}
.s3d-load-orb{
  position:relative;width:58px;height:58px;margin:0 auto 16px;
}
.s3d-load-ring{
  position:absolute;inset:0;border-radius:50%;
  border:2px solid rgba(56,189,248,.16);
  border-top-color:var(--accent);
  border-right-color:rgba(125,211,252,.7);
  box-shadow:0 0 18px rgba(56,189,248,.22);
  animation:s3d-spin .9s linear infinite;
}
.s3d-load-core{
  position:absolute;inset:16px;border-radius:50%;
  background:radial-gradient(circle at 40% 35%, #7dd3fc, #0ea5e9 55%, #0369a1);
  box-shadow:0 0 14px rgba(56,189,248,.45);
  animation:s3d-pulse 1.6s ease-in-out infinite;
}
.s3d-load-title{font-size:15px;font-weight:700;letter-spacing:.01em;color:var(--text);}
.s3d-load-wait{margin-top:8px;font-size:12.5px;line-height:1.5;color:var(--text2);}
.s3d-load-track{
  margin-top:16px;height:4px;border-radius:99px;overflow:hidden;
  background:rgba(255,255,255,.08);
}
.s3d-load-bar{
  height:100%;width:16%;border-radius:inherit;
  background:linear-gradient(90deg,#0284c7,#7dd3fc);
  box-shadow:0 0 10px rgba(56,189,248,.45);
  transition:width .22s ease;
}
.s3d-load.is-indeterminate .s3d-load-bar{
  width:34%;
  animation:s3d-bar 1.15s ease-in-out infinite;
}
.s3d-load-pct{
  margin-top:8px;min-height:15px;
  font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--accent);
}
@keyframes s3d-spin{to{transform:rotate(360deg)}}
@keyframes s3d-pulse{0%,100%{opacity:.7;transform:scale(.92)}50%{opacity:1;transform:scale(1)}}
@keyframes s3d-bar{0%{transform:translateX(-130%)}100%{transform:translateX(320%)}}
.s3d-hint{font-size:11px;color:var(--text3);line-height:1.45;margin-top:8px;}
.s3d-mark-list{display:flex;flex-direction:column;gap:8px;max-height:min(52vh,480px);overflow:auto;}
.s3d-mark-item{padding:10px 12px;border-radius:var(--r);border:1px solid var(--border);background:var(--bg3);cursor:pointer;}
.s3d-mark-item:hover{border-color:var(--border2);}
.s3d-mark-item.active{border-color:var(--accent);background:rgba(56,189,248,.08);}
.s3d-mark-zone{font-size:11px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.04em;}
.s3d-mark-desc{font-size:12px;color:var(--text2);margin-top:4px;line-height:1.4;}
.s3d-schwere-leicht{color:var(--green);}
.s3d-schwere-mittel{color:var(--amber);}
.s3d-schwere-schwer{color:var(--red);}
.s3d-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;align-items:center;}
.s3d-toolbar select{flex:1;min-width:180px;padding:8px 10px;font-size:13px;}
.s3d-fz-info{flex:1;min-width:160px;font-size:12px;color:var(--text3);line-height:1.35;padding:4px 0;}
.s3d-foto-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;}
.s3d-foto-shot{
  display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px dashed var(--border2);
  border-radius:var(--r);cursor:pointer;color:var(--text2);font-size:13px;min-height:44px;
}
.s3d-foto-shot:hover{border-color:var(--accent);color:var(--text);}
.s3d-foto-shot input{display:none;}
.s3d-foto-shot .ico{width:22px;height:22px;color:var(--accent);}
.s3d-foto-preview{display:none;align-items:center;gap:10px;margin-top:10px;}
.s3d-foto-preview img{width:72px;height:72px;object-fit:cover;border-radius:var(--r);border:1px solid var(--border);}

.license-banner{display:none;width:100%;flex-shrink:0;background:rgba(180,60,20,.2);border-bottom:1px solid rgba(180,60,20,.45);padding:8px 14px;font-size:12px;text-align:center;color:var(--text);line-height:1.45}
/* ── Android / tablet app chrome (html.ws-android) ── */
html.ws-android .sidebar{
  position:fixed!important;
  left:0;top:0;bottom:0;
  width:min(268px,78vw)!important;
  max-width:280px;
  z-index:100;
  transform:translateX(-105%);
  transition:transform .22s ease;
  box-shadow:8px 0 28px rgba(0,0,0,.35);
  display:flex!important;
  flex-direction:column!important;
}
html.ws-android .sidebar.open{transform:translateX(0)!important;}
html.ws-android .sidebar nav{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  padding:6px 5px 4px!important;
}
html.ws-android .ns{
  font-size:9px!important;
  letter-spacing:1.2px!important;
  padding:8px 8px 2px!important;
}
html.ws-android .ni{
  min-height:34px!important;
  height:auto!important;
  padding:7px 9px!important;
  margin-bottom:2px!important;
  font-size:13px!important;
  gap:7px!important;
  line-height:1.2!important;
}
html.ws-android .ni-icon{width:16px!important;height:16px!important;}
html.ws-android .ni-icon .ico{width:16px!important;height:16px!important;}
html.ws-android .ni-badge{font-size:9px!important;padding:0 5px!important;}
html.ws-android .sidebar-foot{
  flex:0 0 auto!important;
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
  padding:6px 6px calc(8px + env(safe-area-inset-bottom,0px))!important;
  border-top:1px solid var(--border)!important;
  background:var(--bg2)!important;
  position:relative!important;
  bottom:auto!important;
  z-index:2;
}
html.ws-android .sidebar .user-card{
  padding:5px 6px!important;
  gap:8px!important;
  align-items:center!important;
  min-height:0!important;
}
html.ws-android .sidebar .avatar{
  width:28px!important;
  height:28px!important;
  font-size:11px!important;
  border-width:1.5px!important;
  box-shadow:0 2px 6px rgba(56,189,248,.18)!important;
}
html.ws-android .sidebar .user-card-name{
  font-size:12.5px!important;
  font-weight:600!important;
  line-height:1.15!important;
}
html.ws-android .sidebar .user-card-role{
  font-size:10px!important;
  line-height:1.2!important;
  margin-top:1px!important;
}
html.ws-android .sidebar-logout,
html.ws-android #btnLogout,
html.ws-android .sidebar-foot .btn,
html.ws-android .sidebar-foot .btn-sm{
  min-height:30px!important;
  height:30px!important;
  max-height:30px!important;
  width:100%!important;
  margin:0!important;
  padding:0 8px!important;
  font-size:12px!important;
  border-radius:8px!important;
  justify-content:center!important;
  box-sizing:border-box!important;
}
html.ws-android .sidebar-logout .ico,
html.ws-android #btnLogout .ico{
  width:14px!important;
  height:14px!important;
}
html.ws-android .burger{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-width:36px!important;
  min-height:36px!important;
  width:36px!important;
  height:36px!important;
  padding:0!important;
  font-size:18px!important;
}
html.ws-android .topbar{
  min-height:48px!important;
  padding-top:max(2px, env(safe-area-inset-top, 0px))!important;
  padding-bottom:4px!important;
  padding-left:max(8px, env(safe-area-inset-left, 8px))!important;
  padding-right:max(40px, env(safe-area-inset-right, 40px))!important;
  gap:6px!important;
  flex-wrap:nowrap!important;
}
html.ws-android .logo-img{width:28px!important;height:28px!important;border-radius:6px!important;}
html.ws-android .logo-name{font-size:13px!important;}
html.ws-android .logo-sub{font-size:9px!important;}
html.ws-android .topbar .icon-btn{
  min-width:34px!important;
  min-height:34px!important;
  width:34px!important;
  height:34px!important;
  padding:0!important;
}
html.ws-android .topbar .btn,
html.ws-android .topbar .btn-sm{
  min-height:32px!important;
  height:32px!important;
  padding:0 9px!important;
  font-size:12px!important;
}
html.ws-android .top-shortcuts .btn{
  max-width:140px;
  min-height:30px!important;
  height:30px!important;
  font-size:11px!important;
  padding:0 8px!important;
}
html.ws-android .search-wrap{
  max-width:none!important;
  padding:4px 8px!important;
  min-height:32px;
}
html.ws-android .search-wrap input{font-size:13px!important;}
html.ws-android .main{width:100%!important;flex:1 1 auto!important;}
html.ws-android .page{padding:12px 14px 20px!important;max-width:1100px;margin:0 auto;}
html.ws-android .hide-m{display:none!important;}
html.ws-android .login-qr-block{display:none!important;}
html.ws-android .mf{
  position:sticky;
  bottom:0;
  background:var(--bg2);
  padding-bottom:calc(8px + env(safe-area-inset-bottom, 0px));
  z-index:2;
}
