/* JP Design · gemeinsame Bedienoberfläche, 08.11.2026.
   Vorlage: https://jp-design-vorschau.johannes-poellinger.chatgpt.site/
   Nach den bisherigen Gestaltungsschichten laden. Keine Regeln für Designinhalte,
   exportierte Dokumente oder die abgeschottete Webseitenvorschau.
   Kurze Einblendungen und CSS-Glanzeffekt; keine Scroll-Listener und kein Canvas-Dauer-Rendering. */
@font-face{font-family:'JP Switzer';src:url('/fonts/jp-switzer-variable.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'JP Mono';src:url('/fonts/jp-plex-mono.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
:root{
  --jp-paper:#f3f3f1;--jp-ink:#080808;--jp-muted:#646460;--jp-accent:#3533dd;
  --jp-tint:#eeedff;--jp-line:#d9d9d5;--jp-ease:cubic-bezier(.2,.8,.2,1);
  --jp-font:'JP Switzer',Arial,sans-serif;--jp-mono:'JP Mono',monospace;
  --ink:var(--jp-ink);--ink-2:#30302e;--muted:var(--jp-muted);--icon-col:#555551;
  --primary:var(--jp-accent);--primary-deep:#2826b5;--accent:var(--jp-accent);
  --gold:var(--jp-accent);--bg:var(--jp-paper);--line:var(--jp-line);--nav-active-bg:var(--jp-tint);
  --ap-glass:#fff;--ap-glass-2:#fff;--ap-blur:none;--ap-hair:var(--jp-line);
  --ap-edge:none;--ap-shadow:none;--ap-shadow-lg:0 18px 50px #08080818;
  --ap-r:24px;--ap-rs:12px;--glass-bg:#fff;--glass-border:var(--jp-line);
  --glass-shadow:0 4px 18px #08080806;--glass-blur:none;
  --primary-soft:var(--jp-tint);--gold-soft:var(--jp-tint);--soft:var(--jp-tint);
  --head:var(--jp-font);--body:var(--jp-font);
  font-family:var(--jp-font);color:var(--jp-ink);background:var(--jp-paper);
}
html,body{background:var(--jp-paper);font-family:var(--jp-font)}
body::before{background:var(--jp-paper)}
body:has(.shell){--ink:var(--jp-ink);--muted:var(--jp-muted);--gold:var(--jp-accent);--line:var(--jp-line);background:var(--jp-paper);color:var(--jp-ink)}
body .shell,body .shell .workspace{background:var(--jp-paper)!important}
::selection{background:var(--jp-accent);color:white}
/* Nur die Bedienoberfläche: Texte auf der Arbeitsfläche behalten ihre Schriften. */
:is(.shell,.auth,.hm,.ed-top,.ed-rail,.ed-panel,.ed-ctx,.ed-bottom,.ed-dialog,.ed-pop,.ed-toast,.wb-top,.wb-rail,.wb-side,.wb-insp,.eb-top,.vd-top,.jpa){font-family:var(--jp-font)}
:is(.shell,.auth,.hm,.ed-top,.ed-rail,.ed-panel,.ed-ctx,.ed-bottom,.ed-dialog,.ed-pop,.wb-top,.wb-rail,.wb-side,.wb-insp,.eb-top,.vd-top,.jpa) :is(button,input,select,textarea){font-family:inherit}
:is(.shell,.auth,.hm) :is(h1,h2,h3){font-family:var(--jp-font);letter-spacing:-.045em;font-weight:550}
.shell .maincontent h1,.auth h2,.hm .hm-head h1{font-weight:550;letter-spacing:-.055em;line-height:1.08}
.shell .maincontent h1{font-size:clamp(32px,3.8vw,54px)}
#app .shell :is(h1,h2,h3),.auth.auth-bento :is(h1,h2,h3){font-family:var(--jp-font)!important;font-weight:550!important;color:var(--jp-ink)!important;-webkit-text-fill-color:currentColor!important}
#app .shell .ov-hero :is(h2,h3){color:white!important}
#app .shell :is(input,textarea)::placeholder{color:var(--jp-muted)!important;opacity:1}
#app .shell :is(.view-toggle,.view-switch,.tabs) :is(.active,.on,[aria-pressed=true]){background:var(--jp-ink);color:white}
#app .shell .maincontent button[aria-pressed=true]{background:var(--jp-ink)!important;color:white!important;border-color:var(--jp-ink)!important}
:is(.eyebrow,.ov-dateline,.hm-eyebrow,.auth-card-name,.hm-crumb,.topbar-bc-parent,.navgroup-title){font-family:var(--jp-mono);font-size:10px;font-weight:400;letter-spacing:.045em;text-transform:uppercase}
.eyebrow,.hm-eyebrow{color:var(--jp-muted)}
.eyebrow::before{content:'✳';color:var(--jp-accent);margin-right:8px}
.eyebrow-studio::before{content:none}
/* Navigation: die schwarzen Kapseln der Webseite, auf die Arbeitsoberfläche übertragen. */
.shell>.sidebar,.hm-side{background:var(--jp-paper)!important;border-right:1px solid var(--jp-line)!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.shell>.sidebar .navitem,.hm-nav button{border-radius:999px!important;color:var(--jp-ink)!important;font-weight:500!important;transition:background .25s,color .25s}
.shell>.sidebar .navitem:hover,.hm-nav button:hover{background:#e8e8e3!important;color:var(--jp-accent)!important}
.shell>.sidebar .navitem.active,.shell>.sidebar .navitem[aria-current=page],.hm-nav button.active{background:var(--jp-ink)!important;color:white!important;box-shadow:none!important}
.shell>.sidebar .navitem.active .nav-icon,.shell>.sidebar .navitem[aria-current=page] .nav-icon{color:white!important}
.shell>.sidebar .navitem .nav-icon{color:inherit!important}
:is(#app,#mobile-menu) .navitem.active,:is(#app,#mobile-menu) .navitem[aria-current=page]{background:var(--jp-ink)!important;color:white!important;border-color:transparent!important;box-shadow:none!important}
.shell .navgroup-items::before{border-color:var(--jp-line)}
.shell .account-button.is-current{background:var(--jp-tint)}
.shell .avatar,.shell .customeravatar{background:var(--jp-ink);color:white;box-shadow:none}
.shell .sidebar-promo{background:var(--jp-ink)!important;border-radius:24px!important;box-shadow:none!important}
.shell .topbar,.hm-top{background:var(--jp-paper)!important;border-bottom:1px solid var(--jp-line)!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.shell .topbar::after,.hm-top::after{display:none}
.shell .topbar-tour{background:white!important;color:var(--jp-ink)!important}
.shell .mobile-toggle{background:var(--jp-ink);color:white;border-radius:50%}
.shell .mobile-toggle span{background:white}
/* Buttons und Felder. Gefahr-/Erfolgszustände bleiben semantisch farbig. */
:is(.primary,.ed-primary,.hm-primary,.hm-new,.wb-top .ed-primary,.eb-top .ed-primary):not(.danger):not(.vd-danger):not(:disabled){background:var(--jp-accent)!important;color:white!important;border-color:var(--jp-accent)!important;border-radius:999px;box-shadow:none!important;filter:none!important}
:is(.primary,.ed-primary,.hm-primary,.hm-new):not(.danger):not(.vd-danger):not(:disabled):hover{background:#2826b5!important;box-shadow:0 5px 16px #3533dd24!important}
:is(.secondary,.ed-ghost,.hm-btn){background:#e9e9e5;color:var(--jp-ink);border-radius:999px;box-shadow:none}
:is(.secondary,.ed-ghost,.hm-btn):not(:disabled):hover{background:#dfdfd9;color:var(--jp-ink)}
:is(.shell,.auth,.hm,.ed-top,.ed-panel,.ed-dialog,.wb-side,.wb-insp,.eb-top,.vd-top) :is(input,textarea,select):focus{border-color:var(--jp-accent)!important;box-shadow:0 0 0 3px #3533dd18!important}
:is(.shell,.auth,.hm,.ed-top,.ed-panel,.ed-dialog,.wb-side,.wb-insp,.eb-top,.vd-top) :is(button,a,input,textarea,select):focus-visible{outline:3px solid var(--jp-accent);outline-offset:3px}
:is(.shell,.auth,.hm,.ed-panel,.ed-dialog,.wb-side,.wb-insp) :is(input,textarea)::placeholder{color:#70706b}
:is(.shell,.auth,.hm,.ed-top,.ed-panel,.ed-dialog,.wb-side,.wb-insp) :is(input[type=checkbox],input[type=radio]){accent-color:var(--jp-accent)}
/* Weiße, ruhige Inhaltsflächen wie die Sektionen der Vorlage. */
:is(.settingsbox,.ov-bottom-files,.ov-side-card,.customer-card,.customertable,.pc-card,.approvalcard,.approval-decision-card,.sig-card,.project-file-card,.paybox,.overview-tile,.pa-tile,.profil-contact-card,.context-help-card,.filetable,.pc-news-card,.pc-news-related-card,.bundle-peek-tile,.ov-contract-alert){border-color:var(--jp-line)!important;border-radius:24px!important;box-shadow:none!important}
:is(.customer-card,.settingsbox,.pc-card,.approvalcard,.project-file-card,.profil-contact-card,.pc-news-card){background:white!important}
.customer-card:hover{transform:none;box-shadow:0 12px 32px #0808080b!important;border-color:#b8b8b2!important}
body .shell .workspace .maincontent .customer-card:hover{transform:none}
.customer-card-open .customeravatar{border-radius:50%;box-shadow:none}
.customer-card-actions .secondary{background:var(--jp-paper)!important}
.customerstatus.active{background:var(--jp-tint);color:var(--jp-accent)}
.ov-stat{background:white;border-color:var(--jp-line);box-shadow:none;border-radius:22px}
.ov-hero,.sidebar-promo,.pa-intro{background:var(--jp-ink);box-shadow:none;border-radius:32px;color:white}
.ov-hero :is(h2,h3,p){color:white}
.ov-hero .primary{background:var(--jp-accent)!important;color:white!important}
.more-actions-menu,.modal,.dialog,.tour-card{background:white;backdrop-filter:none;-webkit-backdrop-filter:none;border-color:var(--jp-line);box-shadow:var(--ap-shadow-lg)}
.shell .bottomnav,.shell .mobile-menu{background:white!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
/* Die ältere Portal-Gestaltung enthält hoch spezifische Glas-/Farbregeln. */
body .shell .workspace .maincontent :is(.approvalcard,.file-bundle,.calendar-panel,.settingsbox,.messenger,.pc-card,.pc-news-card,.invoice-table,.approval-list-pane .approval-row,.approval-detail-pane,.appointment-card,.appointment-upcoming,.cl-card,.cl-page,.mail-card,.customer-card,.history-table,.outbox-list>article){background:white!important;border:1px solid var(--jp-line)!important;color:var(--jp-ink)!important;border-radius:24px!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body .shell .workspace :is(.ov-bottom-files,.ov-side-card,.cockpit,.cl-strip){background:white!important;border:1px solid var(--jp-line)!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body .shell .workspace .ov-hero{background:var(--jp-ink)!important;border-radius:32px;box-shadow:none}
body .shell .workspace .ov-hero::after{display:none}
body .shell .workspace .ov-hero .ov-hero-kicker{color:#bebdff!important;font-family:var(--jp-mono)}
body .shell .workspace .ov-hero .ov-hero-desc{color:#d2d2cf!important}
body .shell .workspace .ov-stat:nth-child(n){background:white!important;border:1px solid var(--jp-line)!important;box-shadow:none!important}
body .shell .workspace .ov-stat:nth-child(n) .ov-stat-icon{background:var(--jp-tint)!important;color:var(--jp-accent)!important;box-shadow:none}
body .shell :is(.customer-group h2,.sectionhead h2,.overview-tile strong){color:var(--jp-ink)!important}
body .shell :is(.customer-card-email,.customer-card small,.approvalmeta,.approvalstate,.filemeta){color:var(--jp-muted)!important}
body .shell .link{color:var(--jp-accent)!important}
body .shell :is(.secondary,.download){background:var(--jp-paper)!important;color:var(--jp-ink)!important;border-color:var(--jp-line)!important}
body .shell :is(input,textarea,select){background:white!important;color:var(--jp-ink)!important;border-color:var(--jp-line)!important}
body .shell :is(input,textarea,select):focus{outline-color:var(--jp-accent)!important}
body .shell :is(th,.thread-sidebar,.chat-heading,.chat-compose){background:var(--jp-paper)!important;color:var(--jp-ink)!important;border-color:var(--jp-line)!important}
body .shell .chat-messages{background:var(--jp-paper)!important}
body .shell .chat-message{background:white!important;color:var(--jp-ink)!important;border-color:var(--jp-line)!important}
body .shell .chat-message.mine{background:var(--jp-accent)!important;color:white!important;border-color:var(--jp-accent)!important}
body .shell .thread-row.active,body .shell .thread-row:hover{background:var(--jp-tint)!important;color:var(--jp-ink)!important}
body .shell .overview-tile{background:white!important;color:var(--jp-ink)!important;border-color:var(--jp-line)!important;box-shadow:none!important}
body .shell .overview-tile-icon,body .shell .overview-tile[data-id] .overview-tile-icon{background:var(--jp-tint)!important;color:var(--jp-accent)!important;border-color:transparent!important}
/* Anmeldung – gleiche Papierfläche, Schrift und kräftige Akzentfarbe. */
.auth,.auth.auth-bento,.auth .authmain{background:var(--jp-paper)!important;color:var(--jp-ink)}
.auth .formwrap{background:white!important;color:var(--jp-ink);border:1px solid var(--jp-line)!important;border-radius:32px!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.auth :is(h1,h2){color:var(--jp-ink)!important;-webkit-text-fill-color:var(--jp-ink)}
.auth :is(.sub,.helper,.auth-help,.footnote,.auth-card-name){color:var(--jp-muted)!important}
.auth .auth-new-pill{background:var(--jp-ink);color:white;box-shadow:none}
.auth .tabs{background:var(--jp-paper)}
.auth .tabs button.active{background:var(--jp-ink);color:white;box-shadow:none}
.auth.auth-bento .auth-new-pill{background:var(--jp-ink);color:white;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.auth-new-pill b{background:var(--jp-accent)}
.bt-backdrop i{animation:none!important}
.auth .bt-backdrop{background:var(--jp-paper)!important}
.auth .bt-backdrop i{display:none}
/* Anmeldung vollständig: vorhandene Illustration bleibt, die Oberfläche folgt der Webseite. */
.auth.auth-bento .formwrap.auth-glass{background:white!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.auth.auth-bento .formwrap .primary,.auth.auth-bento.auth-studio .formwrap .primary{background:var(--jp-accent)!important}
.auth.auth-bento .bento-tile{font-family:var(--jp-font);background:white;color:var(--jp-ink);border:1px solid var(--jp-line);border-radius:32px;box-shadow:none}
.auth .bento-tile :is(strong,p),.auth .bt-todo li{color:var(--jp-ink)}
.auth .bento-tile :is(span,small),.auth .bt-label{color:var(--jp-muted)!important}
.auth .bt-brand p{font-family:var(--jp-font);font-weight:550;letter-spacing:-.045em}
.auth .bt-brand p em{font-family:inherit;color:var(--jp-accent)}
.auth .bt-chips em,.auth .bt-icon,.auth .bt-badge{background:var(--jp-tint);color:var(--jp-accent)!important;border-color:var(--jp-line);box-shadow:none}
.auth .bt-bars i,.auth .bt-bars .h5{background:var(--jp-accent)}
.auth .bt-msg.them{background:var(--jp-paper);color:var(--jp-ink)}
.auth .bt-msg.me{background:var(--jp-ink);color:white}
.auth .bt-msg.me span{color:white!important}
.auth.auth-bento :is(.bt-motto,.bt-glow,.bts-video){background:var(--jp-ink);color:white!important}
.auth :is(.bt-motto,.bt-glow,.bts-video) :is(strong,p,span,small),.auth .bt-areas li{color:white!important}
.auth :is(.bt-mark,.bt-cal-month){color:var(--jp-accent)!important}
.auth .bt-cal-grid i.is-mark{background:var(--jp-accent)}
.auth .bt-cal-grid i.is-today{outline-color:var(--jp-accent)}
.auth :is(label,.link,.auth-help a){color:var(--jp-ink)}
.auth .tabs button{border-radius:20px}
.auth .cookie-note{background:white;border-color:var(--jp-line);box-shadow:none;color:var(--jp-muted)}
.auth-new-pill b{background:var(--jp-accent)}
@media(prefers-reduced-motion:no-preference){
  .auth.auth-bento .auth-new-pill::after{animation:bt-shine 4.5s ease-in-out 1.2s infinite}
  .auth-new-spark{animation:bt-pop 3s ease-in-out infinite}
  .jw-original-logo{animation:jp-heading-in .7s var(--jp-ease) calc(.1s - var(--o,0s)) both}
}
/* Studio – Gestaltung nur für Rahmen, Leisten, Karten, Menüs. */
.hm{background:var(--jp-paper);color:var(--jp-ink)}
.hm-main{background:var(--jp-paper)}
.hm-card,.hm-format,.hm-drop,.hm-empty{background:white;border-color:var(--jp-line);box-shadow:none;border-radius:22px}
.hm-card:hover,.hm-format:hover{border-color:#b8b8b2;box-shadow:0 12px 32px #0808080b}
.hm-search{background:white;border-color:var(--jp-line)}
.hm-chip.on{background:var(--jp-ink);color:white;border-color:var(--jp-ink)}
.hm-eyebrow,.hm-head h1{color:var(--jp-ink)}
html.ps-startkopf .hm-main::before{background:none;box-shadow:none}
html.ps-startkopf .hm-head{background:white;color:var(--jp-ink);border-radius:32px;padding:36px 24px;margin:18px 0 24px;text-align:left}
html.ps-startkopf .hm-head h1{color:var(--jp-ink);font-family:var(--jp-font);font-size:clamp(30px,3.4vw,48px);font-weight:550;letter-spacing:-.055em;text-shadow:none}
html.ps-startkopf .hm-head :is(.hm-eyebrow,.hm-lead){color:var(--jp-muted)}
html.ps-startkopf .hm-head .hm-search{margin:24px 0 0;background:var(--jp-paper);border:1px solid var(--jp-line);box-shadow:none;backdrop-filter:none}
html.ps-startkopf .hm-boxcard{background:white;border:1px solid var(--jp-line);border-radius:32px;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
html.ps-startkopf .hm-boxcard .hm-format{background:var(--jp-paper);border-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
html.ps-startkopf .hm-boxcard .hm-format:hover{background:var(--jp-tint)}
.hm-body-bg :is(h1,h2,h3,button,input){font-family:var(--jp-font)}
.hm-body-bg :is(h1,h2,h3){font-weight:550;letter-spacing:-.04em}
.hm-body-bg .ps-quickic,.hm-body-bg .ps-quickbtn:nth-child(even) .ps-quickic{background:var(--jp-ink);color:white;box-shadow:none}
.hm-body-bg .ps-quickbtn:hover .ps-quickic{background:var(--jp-accent);box-shadow:0 8px 24px #3533dd20}
.hm-body-bg .ps-railav{background:var(--jp-ink);font-family:var(--jp-mono);box-shadow:none}
.hm-body-bg .hm-nav button.active .i{color:white}
html.ps-startkopf .hm-top #newBtn,.hm-top .hm-newbtn{background:var(--jp-accent);color:white;box-shadow:none}
html.ps-startkopf .hm-top #newBtn:hover{background:#2826b5}
html.ps-startkopf .hm-top{background:var(--jp-ink)!important;color:white}
html.ps-startkopf .hm-top :is(h1,.hm-eyebrow,.hm-crumb){color:white}
.ed-top,.ed-top:has(#docTitle),.wb-top,.eb-top,.vd-top{background:white!important;box-shadow:none!important;border-bottom:1px solid var(--jp-line)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.ed-rail,.ed-panel,.ed-ctx,.ed-bottom,.ed-float,.ed-pop,.ed-dialog,.wb-rail,.wb-side,.wb-insp{background:white;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-color:var(--jp-line);box-shadow:0 4px 18px #08080806}
.ed-top .ed-title{font-family:var(--jp-font)}
.ed:has(#docTitle),.ed:has(#docTitle) .ed-work{background:var(--jp-paper)}
.ed-railbtn.active,.wb-rail button.on,.wb-rail button.active{background:var(--jp-ink);color:white;box-shadow:none}
.ed-railbtn:hover,.wb-rail button:hover{background:var(--jp-tint);color:var(--jp-accent)}
.wb-top .wb-seg button.on,.eb-top .eb-seg button.on{background:var(--jp-ink);color:white;box-shadow:none}
.wb-top .wb-seg.wb-seg-editor button.on{background:var(--jp-accent);color:white;box-shadow:none}
.wb-top .wb-state.dirty{color:#815416}
.wb-top .ed-primary:disabled{background:#e9e9e5;color:#6b6b66;box-shadow:none}
.jp-new{background:var(--jp-accent);color:white}
/* Kurze Begrüßungen und Hilfe gehören ebenfalls zur Marke. */
.jw-overlay{background:var(--jp-paper)!important;color:var(--jp-ink);font-family:var(--jp-font)}
.jw-overlay :is(.jw-title,.jw-title-bye,.jw-ch){background:none!important;color:var(--jp-ink)!important;-webkit-text-fill-color:var(--jp-ink)!important;font-family:var(--jp-font)}
.jw-original-logo{display:block;width:100%;height:auto;object-fit:contain}
.jw-overlay .jw-sub,.jw-overlay .jw-wait{color:var(--jp-muted)}
.jw-overlay .jw-kicker{color:var(--jp-accent);font-family:var(--jp-mono)}
.jw-overlay .jw-line::after,.pw .pw-bar b{background:var(--jp-accent)}
.pw{background:var(--jp-paper);font-family:var(--jp-font);backdrop-filter:none;-webkit-backdrop-filter:none}
.pw::before{background:radial-gradient(38% 38% at 22% 22%,#3533dd14,transparent 70%);animation:none}
.pw .pw-title{font-family:var(--jp-font);font-weight:550;color:var(--jp-ink)}
.pw .pw-eyebrow{font-family:var(--jp-mono);color:var(--jp-accent)}
.pw .pw-sub{color:var(--jp-muted)}
.jw-kicker,.pw-kicker{color:#bebdff}
.jw-sub,.pw-sub{color:#d2d2cf}
.jw-line,.jw-bar::after{background:var(--jp-accent)}
.jw-s1,.jw-s2{background:radial-gradient(circle,#3533dd44,transparent 70%)}
.jw-s3,.jw-s7{background:var(--jp-accent)}
.jw-s5{border-color:var(--jp-accent)}
.jpa{font-family:var(--jp-font)}
.jpa-launch{background:var(--jp-ink);box-shadow:0 5px 18px #08080818}
.jpa-launch:hover{background:var(--jp-accent)}
.jpa-panel{background:var(--jp-ink);border-radius:26px;border-color:#333;box-shadow:0 18px 50px #08080825}
.jpa-panel footer button,.jpa-panel .jpa-foot button{color:#bebdff}
/* Originales Bewegungstempo: weiches Ankommen und klare Hover-Rückmeldung.
   Kein transform auf maincontent/Karten: darin enthaltene feste Menüs müssen
   weiterhin relativ zum Fenster positioniert bleiben. */
@media(prefers-reduced-motion:no-preference){
  :is(.shell .primary,.shell .secondary,.auth .primary,.hm-primary,.hm-new,.ed-primary){transition:background .2s,box-shadow .55s var(--jp-ease),transform .2s!important}
  :is(.shell .primary,.auth .primary,.hm-primary,.hm-new):not(:disabled):hover{transform:translateY(-2px)}
  :is(.customer-card,.hm-card,.hm-format){transition:border-color .3s,box-shadow .55s var(--jp-ease)}
  :is(.shell.page-enter .maincontent h1,.auth h2){animation:jp-heading-in .7s var(--jp-ease) both}
  .shell.page-enter :is(.customer-card,.ov-stat,.overview-tile),html.ps-enter .hm-card{animation:jp-surface-in .8s ease both}
  .shell.page-enter :is(.customer-card,.ov-stat):nth-child(2),html.ps-enter .hm-card:nth-child(2){animation-delay:.04s}
  .shell.page-enter :is(.customer-card,.ov-stat):nth-child(3),html.ps-enter .hm-card:nth-child(3){animation-delay:.08s}
  .shell.page-enter :is(.customer-card,.ov-stat):nth-child(4),html.ps-enter .hm-card:nth-child(4){animation-delay:.12s}
  .shell .navitem>span:not(.nav-icon):not(.navbadge),.hm-nav button>span{transition:translate .3s var(--jp-ease)}
  .shell .navitem:hover>span:not(.nav-icon):not(.navbadge),.hm-nav button:hover>span{translate:3px 0}
  .jpa-panel{animation:jp-panel-in .3s var(--jp-ease)}
}
@keyframes jp-heading-in{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
@keyframes jp-surface-in{from{opacity:.25}to{opacity:1}}
@keyframes jp-panel-in{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
@media(max-width:620px){
  .shell .maincontent h1{font-size:32px}
  .auth .formwrap{border-radius:24px!important}
  :is(.customer-card,.settingsbox,.pc-card,.approvalcard,.project-file-card){border-radius:20px!important}
  .jpa-panel{border-radius:0}
}
@media(prefers-reduced-motion:reduce){
  :is(.shell,.auth,.hm,.hm-body-bg,.ed-top,.ed-rail,.ed-panel,.ed-ctx,.ed-dialog,.ed-pop,.wb-top,.wb-rail,.wb-side,.eb-top,.vd-top,.jpa,.jw-overlay,.pw),
  :is(.shell,.auth,.hm,.hm-body-bg,.ed-top,.ed-rail,.ed-panel,.ed-ctx,.ed-dialog,.ed-pop,.wb-top,.wb-rail,.wb-side,.eb-top,.vd-top,.jpa,.jw-overlay,.pw) *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* Seitenleiste: links beginnen, damit bei vielen Seiten keine Vorschaubilder links unerreichbar werden. */
.ed #pageList{justify-content:flex-start;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--jp-line) transparent}
.ed #pageList .ed-pthumb{transition:border-color .15s,background .15s}
.ed #pageList .ed-pthumb.on{border-color:var(--jp-accent);background:var(--jp-tint)}
.ed #pageList .ed-pthumb:focus-visible{outline:2px solid var(--jp-accent);outline-offset:2px}
.ed #pageList .ed-pthumb:focus-within .pmore{display:grid}

/* Anmeldung 2: typografischer Auftakt und freie Formularspalte. */
.auth.auth-editorial{display:grid!important;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);min-height:100dvh;padding:0!important;background:#f3f3f1!important;overflow:visible}
.auth-editorial .auth-intro{background:#181818;color:#f3f3f1;padding:44px clamp(30px,4.5vw,78px);display:flex;flex-direction:column;justify-content:space-between;gap:64px;min-width:0}
.auth-editorial .auth-signature{display:flex;gap:18px;align-items:center;font-size:17px;font-weight:600;letter-spacing:.08em}
.auth-editorial .auth-signature img{width:64px;height:64px;object-fit:contain}
.auth-editorial .auth-signature small{display:block;color:#b9b9b4;font-size:12px;font-weight:400;letter-spacing:.02em;margin-top:5px}
.auth-editorial .auth-statement>p,.auth-editorial .auth-colophon,.auth-editorial .auth-topline{font-family:var(--jp-mono);font-size:10px;letter-spacing:.09em}
.auth-editorial .auth-statement>p{color:#b7b7af;margin:0 0 26px}
.auth.auth-editorial .auth-statement h1{font-family:var(--jp-font)!important;font-size:clamp(44px,5.7vw,88px);font-weight:500;line-height:1.02;letter-spacing:-.065em;color:#f3f3f1!important;-webkit-text-fill-color:#f3f3f1;margin:0 0 30px}
.auth-editorial .auth-intro-copy{font-size:16px;line-height:1.7;color:#c1c1ba;max-width:320px}
.auth-editorial .auth-colophon{display:flex;justify-content:space-between;gap:20px;padding-top:22px;border-top:1px solid #ffffff35;color:#b7b7af}
.auth.auth-editorial .authmain{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:40px;padding:32px clamp(26px,5vw,88px)!important;min-width:0;background:transparent!important;box-shadow:none!important}
.auth-editorial .authmain::before,.auth-editorial .authmain::after{display:none!important}
.auth-editorial .auth-topline{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;color:var(--jp-muted)}
.auth.auth-editorial .formwrap{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:0!important;margin:0 auto!important;width:100%;max-width:410px;backdrop-filter:none!important}
.auth-editorial .auth-card-name{font:400 11px var(--jp-mono);text-align:left;letter-spacing:.02em;text-transform:none;margin:0 0 16px;color:var(--jp-muted)}
.auth.auth-editorial .formwrap h2{font-size:34px;font-weight:550;line-height:1.12;letter-spacing:-.045em;margin:24px 0 12px;color:var(--jp-ink)!important}
.auth-editorial .formwrap .eyebrow{display:none}
.auth-editorial .formwrap .sub{font-size:14px;line-height:1.65;margin-bottom:28px;color:var(--jp-muted)}
.auth.auth-editorial .formwrap .tabs{display:flex;gap:24px;margin:0 0 28px;padding:0;border-radius:0;background:transparent;border-bottom:1px solid var(--jp-line);box-shadow:none}
.auth.auth-editorial .tabs button{flex:initial;min-height:0;padding:12px 0;border:0;border-radius:0;background:transparent!important;box-shadow:none;color:var(--jp-muted);font-size:13px}
.auth.auth-editorial .tabs button::before,.auth.auth-editorial .tabs button::after{display:none}
.auth.auth-editorial .tabs button.active{color:var(--jp-ink);border-bottom:2px solid var(--jp-ink);margin-bottom:-1px}
.auth-editorial form label{font-size:12px;font-weight:500;color:var(--jp-ink);margin-top:20px}
.auth.auth-editorial :is(input:not([type=checkbox]),select){border:1px solid #c8c8c2;border-radius:6px!important;background:#fff!important;min-height:48px;padding:12px 14px;font-size:15px;box-shadow:none}
.auth.auth-editorial .password-field input{padding-right:48px}
.auth.auth-editorial .formwrap .primary{background:var(--jp-ink)!important;border-color:var(--jp-ink)!important;border-radius:6px!important;min-height:48px;margin-top:24px;font-size:14px}
.auth.auth-editorial .formwrap .primary:hover{background:var(--jp-accent)!important;transform:none}
.auth.auth-editorial .formwrap .secondary{border:1px solid #c8c8c2;border-radius:6px;background:transparent;color:var(--jp-ink);min-height:46px;box-shadow:none}
.auth-editorial .auth-forgot-inline,.auth-editorial .formwrap .link{color:var(--jp-muted);font-size:12px}
.auth-editorial .auth-check{line-height:1.5;font-size:12px;font-weight:400}
.auth-editorial .helper{font-size:12px;line-height:1.65}
.auth-editorial .auth-contact{border-top:1px solid var(--jp-line);margin-top:28px;padding-top:18px;display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--jp-muted);flex-wrap:wrap}
.auth-editorial .auth-contact a{color:var(--jp-ink);text-decoration:none;border-bottom:1px solid #aaa}
.auth-editorial .auth-bottom{max-width:480px;width:100%;margin:0 auto}
.auth.auth-editorial .cookie-note{background:transparent;border:0;border-top:1px solid var(--jp-line);border-radius:0;box-shadow:none;padding:14px 0;margin:0 0 18px;font-size:11px}
.auth-editorial .cookie-note button{background:transparent;color:var(--jp-ink);border:1px solid var(--jp-line);border-radius:4px}
.auth.auth-editorial .footnote{position:static;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;text-align:left;font-size:10px;color:var(--jp-muted);margin:0;padding:0}
.auth-editorial .legal-links{margin:0;gap:16px}
.auth.auth-editorial .auth-new-pill{position:relative;overflow:hidden;display:inline-flex;align-items:center;padding:6px 0;border:0;border-radius:0;box-shadow:none;background:transparent;color:var(--jp-ink);font-size:10px;gap:8px;backdrop-filter:none;animation:none}
.auth-editorial .auth-new-pill b{padding:3px 5px;border-radius:2px;font-size:9px;background:var(--jp-accent)}
.auth-editorial .auth-new-pill::after{opacity:.45}
.auth-editorial .auth-linkhint{background:transparent;border-left:2px solid var(--jp-accent);border-radius:0;color:var(--jp-muted);font-size:12px}

@media(max-width:900px){
 .auth.auth-editorial{grid-template-columns:1fr}
 .auth-editorial .auth-intro{padding:24px;gap:28px}
 .auth-editorial .auth-signature img{width:46px;height:46px}
 .auth.auth-editorial .auth-statement h1{font-size:42px;margin:0}
 .auth-editorial .auth-statement h1 br{display:none}
 .auth-editorial .auth-statement h1 br::after{content:' '}
 .auth-editorial .auth-statement>p{margin-bottom:14px}
 .auth-editorial .auth-intro-copy,.auth-editorial .auth-colophon{display:none}
 .auth.auth-editorial .authmain{padding:24px!important;gap:32px}
 .auth.auth-editorial .formwrap{max-width:480px}
 .auth.auth-editorial .formwrap h2{font-size:30px}
}
/* Kontobereich gehört zur Navigation, kein darüberliegender weißer Block. */
@media(min-width:901px){#app .shell>.sidebar{display:flex!important;flex-direction:column;overflow:hidden;min-height:0}}
#app .shell>.sidebar .sidenav{flex:1 1 0;min-height:0;overflow-y:auto;padding-bottom:16px}
#app .shell>.sidebar .sidebottom{position:static!important;flex:0 0 auto;margin-top:0;padding:12px 0 0;background:var(--jp-paper)!important;border-top:1px solid var(--jp-line);box-shadow:none}
#app .shell>.sidebar .sidebottom::before,#app .shell>.sidebar .sidebottom::after{display:none}
#app .shell>.sidebar .account-button{border:0!important;border-radius:8px!important;padding:8px 6px!important;background:transparent!important;gap:10px;font-size:13px}
#app .shell>.sidebar .account-button:hover{background:#e8e8e3!important}
#app .shell>.sidebar .account-button>.avatar{width:32px;height:32px;min-width:32px;flex-basis:32px;background:var(--jp-ink)!important;font-size:11px}
#app .shell>.sidebar .account-button small{font-size:11px;color:var(--jp-muted)!important;margin-top:3px}
#app .shell>.sidebar .sidebar-legal{margin:10px 0 0;gap:4px 12px;flex-wrap:wrap;justify-content:flex-start;padding:0 6px;font-size:10px;color:var(--jp-muted)}

.auth-editorial .auth-signature img{background:var(--jp-paper);border-radius:50%;padding:5px}
#app .auth.auth-editorial .formwrap .primary{background:var(--jp-ink)!important;border-color:var(--jp-ink)!important}
#app .auth.auth-editorial .formwrap .primary:hover{background:var(--jp-accent)!important}

#app .auth.auth-editorial .formwrap .passkey-login-btn{border:1px solid #c8c8c2!important;background:transparent!important;color:var(--jp-ink)!important;border-radius:6px!important}
.auth-editorial .formwrap .eyebrow::before{display:none}

/* Bewegung der JP-Webseite: .8 s Reveal und .55 s Hover mit deren easing.
   Nur opacity/transform, höchstens 8 px; kein Blur, keine Schleife, kein will-change.
   Formular sofort bedienbar, keine verzögerten unsichtbaren Eingabefelder. */
.auth.auth-editorial .formwrap h2{animation:none}
.auth.auth-editorial .auth-new-pill::after{animation:none;opacity:0}
@media(prefers-reduced-motion:no-preference){
  .auth-editorial .auth-signature{animation:jp-auth-arrive .65s var(--jp-ease) backwards}
  .auth-editorial .auth-statement>p{animation:jp-auth-arrive .7s var(--jp-ease) .06s backwards}
  .auth-editorial .auth-statement h1{animation:jp-auth-arrive .8s var(--jp-ease) .12s backwards}
  .auth-editorial .auth-intro-copy{animation:jp-auth-arrive .8s var(--jp-ease) .2s backwards}
  .auth-editorial .auth-colophon{animation:jp-surface-in .8s ease .2s backwards}
  .auth-editorial .formwrap{animation:jp-auth-form .65s ease backwards}
  .auth.auth-editorial .auth-new-pill::after{animation:jp-auth-shine 1.1s ease .4s both}
  #app .auth.auth-editorial .formwrap :is(.primary,.passkey-login-btn){transition:transform .55s var(--jp-ease),background .2s,border-color .2s!important}
  .auth-editorial .auth-contact a,.auth-editorial .legal-links a{transition:color .2s,text-decoration-color .2s}
  .auth-editorial .auth-contact a:hover,.auth-editorial .legal-links a:hover{color:var(--jp-accent)}
  @media(hover:hover) and (pointer:fine){
    #app .auth.auth-editorial .formwrap :is(.primary,.passkey-login-btn):not(:disabled):hover{transform:translateY(-2px)}
    #app .auth.auth-editorial .formwrap :is(.primary,.passkey-login-btn):not(:disabled):active{transform:translateY(0)}
  }
}
@keyframes jp-auth-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes jp-auth-form{from{opacity:.65}to{opacity:1}}
@keyframes jp-auth-shine{0%{opacity:0;transform:translateX(-120%)}20%{opacity:.35}80%{opacity:.35}100%{opacity:0;transform:translateX(360%)}}
@media(prefers-reduced-motion:reduce){
  .auth.auth-editorial,.auth.auth-editorial *, .auth.auth-editorial *::before,.auth.auth-editorial *::after{animation:none!important;transition:none!important}
}

/* Gemeinsame Bewegung im Portal und Studio. Keine Animation der Arbeitsfläche.
   Opacity statt Transform auf Karten erhält die Position fester Kontextmenüs. */
.shell.page-enter .maincontent{animation:none!important}
body .shell .workspace :is(.ov-bottom-files,.ov-side-card,.cockpit,.cl-strip,.ov-hero),
.hm-head h1{animation:none}
#pageWrap.ps-pagein{animation:none}
.hm-thumb .ph,.ps-skel{animation:none}
@media(prefers-reduced-motion:no-preference){
  body .shell.page-enter .workspace :is(.ov-bottom-files,.ov-side-card,.cockpit,.cl-strip,.ov-hero){animation:jp-surface-in .8s ease backwards}
  html.ps-enter .hm-head h1{animation:jp-heading-in .55s var(--jp-ease) backwards}
  html.ps-enter :is(.hm-cards>.hm-card,.hm-cards>.hm-mitem,.hm-list>.hm-row){animation:jp-surface-in .5s ease backwards;animation-delay:0s}
  html.ps-enter :is(.hm-cards,.hm-list)>:nth-child(2){animation-delay:.03s}
  html.ps-enter :is(.hm-cards,.hm-list)>:nth-child(3){animation-delay:.06s}
  .shell.page-enter .maincontent h1{animation:jp-heading-in .7s var(--jp-ease) backwards}
  :is(.shell .primary,.shell .secondary,.hm-primary,.hm-new,.ed-primary){transition:background-color .2s,border-color .2s,transform .55s var(--jp-ease)!important}
  :is(.ed-top,.ed-rail,.wb-top,.wb-rail,.eb-top,.vd-top) button{transition:background-color .2s,color .2s,border-color .2s!important}
  #panelBody.ps-swap>*{animation:jp-surface-in .25s ease backwards;animation-delay:0s}
  .ed-modal:not([hidden]) .ed-dialog{animation:jp-panel-in .3s var(--jp-ease)}
  @media(hover:hover) and (pointer:fine){
    :is(.shell .primary,.shell .secondary,.hm-primary,.hm-new,.ed-primary):not(:disabled):hover{transform:translateY(-2px)}
    :is(.shell .primary,.shell .secondary,.hm-primary,.hm-new,.ed-primary):not(:disabled):active{transform:translateY(0)}
  }
}
@media(prefers-reduced-motion:reduce){
  body .shell.page-enter .workspace :is(.ov-bottom-files,.ov-side-card,.cockpit,.cl-strip,.ov-hero),
  html.ps-enter :is(.hm-head h1,.hm-cards>*,.hm-list>*),
  #panelBody.ps-swap>*,.ed-modal:not([hidden]) .ed-dialog{animation:none!important}
}

/* Formularwechsel nach dem Bewegungstempo der gelieferten Original-Website.
   Nur transform/opacity, keine Kopien von Formularen oder dauernden Timer. */
.auth.auth-editorial.auth-returning :where(.auth-signature,.auth-statement>p,.auth-statement h1,.auth-intro-copy,.auth-colophon,.formwrap){animation:none}
.auth.auth-editorial.auth-returning .auth-new-pill::after{animation:none;opacity:0}
@media(prefers-reduced-motion:no-preference){
  .auth.auth-editorial.auth-switch-forward .formwrap{animation:jp-auth-slide-forward .55s var(--jp-ease) backwards}
  .auth.auth-editorial.auth-switch-back .formwrap{animation:jp-auth-slide-back .55s var(--jp-ease) backwards}
}
@keyframes jp-auth-slide-forward{from{opacity:.35;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}
@keyframes jp-auth-slide-back{from{opacity:.35;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}

/* Studio-Start am Handy: Portal-Rückweg, Hilfe und neue Designs in einer Zeile.
   Die redundante Startseiten-Breadcrumb weicht den bedienbaren Schaltflächen. */
@media(max-width:620px){
  html.ps-startkopf .hm-top{flex-wrap:nowrap;gap:8px}
  html.ps-startkopf .hm-top .hm-crumb{display:none}
  html.ps-startkopf .hm-top .hm-toplogo{flex:1;min-width:0}
  html.ps-startkopf .hm-top .hm-topright{width:auto;flex:0 0 auto;flex-wrap:nowrap;gap:8px}
}
@media(max-width:360px){
  html.ps-startkopf .hm-toplogo .st-portalback{display:none}
}

/* JP Studio als eigener Einstieg in der flachen Portal-Navigation. */
#app .shell .sidenav>.navitem[data-id="designs"],
#mobile-menu .navitem[data-id="designs"]{border:1px solid var(--jp-accent)!important;background:var(--jp-tint)!important;color:var(--jp-accent)!important;margin-top:6px;margin-bottom:6px}
#app .shell .sidenav>.navitem[data-id="designs"]:hover,
#mobile-menu .navitem[data-id="designs"]:hover{background:#3533dd16!important}
#app .shell .sidenav>.navitem[data-id="designs"].active,
#mobile-menu .navitem[data-id="designs"].active{background:var(--jp-accent)!important;color:white!important}

/* Home: ruhige redaktionelle Begrüßung, direkte Wege statt weiterer Demo-Kacheln. */
.home-intro{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr);gap:48px;align-items:center;padding:16px 0 36px;margin-bottom:32px;border-bottom:1px solid var(--jp-line)}
.home-eyebrow{display:block;font:11px var(--jp-mono);letter-spacing:.08em;color:var(--jp-accent);margin-bottom:20px}
.home-eyebrow>span{color:var(--jp-muted);margin:0 8px}
.home-intro .ov-dateline{font-size:10px;color:var(--jp-muted)}
.home-intro .ov-greeting{margin:14px 0 0;align-items:flex-start}
#app .shell .home-intro h1{font-size:clamp(32px,3.8vw,54px);line-height:1.06;letter-spacing:-.055em;margin:0 0 18px;font-weight:550;overflow-wrap:anywhere}
.home-intro .ov-greeting p{max-width:48ch;font-size:15px;line-height:1.65;color:var(--jp-muted)}
.home-shortcuts{display:grid;gap:10px}
.home-shortcut{display:flex;align-items:center;gap:14px;text-align:left;padding:17px 20px;border:1px solid var(--jp-line);border-radius:16px;background:white;color:var(--jp-ink);min-width:0;transition:background .2s,border-color .2s}
.home-shortcut>span:nth-child(2){flex:1;min-width:0}
.home-shortcut strong{display:block;font-size:15px;font-weight:550}
.home-shortcut small{display:block;font-size:12px;margin-top:4px;color:var(--jp-muted)}
.home-shortcut .nav-icon{width:22px;height:22px;flex:none}
.home-shortcut:hover{border-color:var(--jp-accent);background:var(--jp-tint)}
.home-shortcut.home-shortcut-studio{background:var(--jp-accent);border-color:var(--jp-accent);color:white}
.home-shortcut-studio small{color:#e2e1ff}
.home-shortcut-studio:hover{background:#2826b5}
.home-page .ov-stats{gap:14px}
body .shell .home-page .ov-stat:nth-child(n){border-radius:18px!important}
@media(max-width:900px){.home-intro{gap:24px;grid-template-columns:1fr;padding-top:8px}.home-shortcuts{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.home-intro .ov-greeting p{font-size:14px}}
@media(max-width:480px){.home-intro{margin-bottom:24px;padding-bottom:24px}.home-shortcuts{grid-template-columns:1fr}.home-shortcut{padding:14px 16px}.home-eyebrow{margin-bottom:14px}}

/* Begrenzter Wochenvorspann: ruhige Textkarten, kein Video und keine Daueranimation. */
#portal-tour.weekly-intro[open]{display:flex;align-items:center;justify-content:center;padding:20px;background:#080808b8!important}
body:has(.shell) #portal-tour.weekly-intro .tour-card{position:relative;inset:auto;transform:none;margin:0;width:min(620px,100%);max-height:calc(100dvh - 40px);padding:32px;background:var(--jp-paper)!important;color:var(--jp-ink)!important;border:0;border-radius:24px;box-shadow:none;font-family:var(--jp-font)}
#portal-tour.weekly-intro .tour-card h2{font-family:var(--jp-font);font-size:clamp(28px,4vw,40px);line-height:1.1;letter-spacing:-.045em;color:var(--jp-ink)!important}
#portal-tour.weekly-intro .tour-card p{color:var(--jp-muted)!important;font-size:15px!important;line-height:1.65}
#portal-tour.weekly-intro .tour-eyebrow{color:var(--jp-accent);font:10px var(--jp-mono)}
#portal-tour.weekly-intro .tour-symbol{color:var(--jp-accent);background:var(--jp-tint)}
#portal-tour.weekly-intro .tour-example{background:white;border:1px solid var(--jp-line)}
#portal-tour.weekly-intro .tour-next,#portal-tour.weekly-intro .tour-progress span{background:var(--jp-accent);color:white}
#portal-tour.weekly-intro .tour-highlight,#portal-tour.weekly-intro .tour-dimmer{display:none}
@media(max-width:600px){body:has(.shell) #portal-tour.weekly-intro .tour-card{padding:24px 20px}}
@media(prefers-reduced-motion:no-preference){#portal-tour.weekly-intro .tour-card h2{animation:jp-auth-arrive .35s var(--jp-ease) backwards}}
@media(prefers-reduced-motion:reduce){#portal-tour.weekly-intro *{animation:none!important;transition:none!important}}

/* Handy: Aktionen umbrechen, ohne Beschriftungen oder Trefferflächen zu verkleinern. */
@media (max-width:720px){
  .shell .workspace .greeting .greeting-actions{flex-wrap:wrap;max-width:100%;min-width:0;margin-left:0;justify-content:flex-start}
  .shell .calendar-toolbar{flex-wrap:wrap}
  .shell .calendar-navigation{flex-wrap:wrap;max-width:100%}
}

/* Ruhige, einheitlich abgerundete Zugangsfelder (09.11.2026). */
#app .auth.auth-editorial :is(input:not([type=checkbox]),select),
.auth.auth-editorial .formwrap :is(.primary,.secondary),
#app .auth.auth-editorial .formwrap .passkey-login-btn{border-radius:18px!important}
.auth.auth-editorial .cookie-note button{border-radius:14px}
.auth.auth-editorial .mailcard{border-radius:18px}
.auth-progress{margin:0 0 24px}
.auth-progress-label{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--jp-muted);margin-bottom:10px}
.auth-progress progress{display:block;width:100%;height:4px;border:0;border-radius:4px;overflow:hidden;appearance:none;background:#deded8;color:var(--jp-accent)}
.auth-progress progress::-webkit-progress-bar{background:#deded8;border-radius:4px}
.auth-progress progress::-webkit-progress-value{background:var(--jp-accent);border-radius:4px}
.auth-progress progress::-moz-progress-bar{background:var(--jp-accent);border-radius:4px}
