:root{
  color-scheme:light;
  --brand-primary:#0b5fa5;
  --brand-secondary:#050608;
  --brand-accent:#ffdf00;
  --brand-surface:#fff;
  --brand-background:#f4f7fa;
  --text:#131820;
  --muted:#66717f;
  --line:#dfe5eb;
  --soft:#f7f9fb;
  --success:#19764a;
  --warning:#9b6500;
  --danger:#bd2b2b;
  --shadow:0 18px 60px rgba(12,35,58,.08);
}
*{box-sizing:border-box}
html{background:var(--brand-background)}
body{margin:0;min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--brand-background);-webkit-font-smoothing:antialiased}
a{color:inherit}
button,input{font:inherit}
.app-shell{width:min(1180px,calc(100% - 36px));margin:0 auto;padding:24px 0 42px}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:10px 0 20px;border-bottom:1px solid var(--line)}
.brand-lockup{display:flex;align-items:center;gap:14px;text-decoration:none}.brand-lockup img{width:58px;height:58px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 3px 16px rgba(0,0,0,.12)}.brand-lockup span,.header-user span{display:flex;flex-direction:column;gap:2px}.brand-lockup strong{font-size:17px}.brand-lockup small,.header-user small{color:var(--muted)}
.header-user{display:flex;align-items:center;gap:10px}.header-user>span:last-child{align-items:flex-start}.avatar{width:40px;height:40px;flex:0 0 40px;border-radius:50%;display:grid!important;place-items:center!important;line-height:1;background:var(--brand-secondary);color:#fff;font-size:12px;font-weight:900;letter-spacing:.02em;text-align:center}
.site-footer{display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:12px;padding:28px 0 4px;margin-top:36px;border-top:1px solid var(--line)}
.kicker{margin:0 0 7px;color:var(--brand-primary);font-size:12px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.kicker.light{color:var(--brand-accent)}
h1,h2,h3,p{margin-top:0}h1{font-size:clamp(30px,4vw,44px);letter-spacing:-.035em;line-height:1.06;margin-bottom:12px}h2{font-size:24px;letter-spacing:-.025em;margin-bottom:10px}.intro{color:var(--muted);line-height:1.6}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;padding:44px 0 24px}.page-heading p{max-width:720px;color:var(--muted);line-height:1.55;margin-bottom:0}
.button{border:0;border-radius:10px;min-height:44px;padding:10px 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:850;text-decoration:none;cursor:pointer}.button.primary{background:var(--brand-accent);color:#0a0a0a;box-shadow:0 10px 24px rgba(255,223,0,.2)}.button.secondary{background:#fff;border:1px solid var(--line);color:var(--brand-primary)}.button.dark{background:var(--brand-secondary);color:#fff}.button:focus-visible,input:focus-visible{outline:3px solid color-mix(in srgb,var(--brand-primary) 28%,transparent);outline-offset:2px}
.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field span{font-size:13px;font-weight:800}.field input{display:block;width:100%;min-width:0;max-width:100%;border:1px solid #cbd4dd;border-radius:10px;background:#fff;padding:12px 13px;color:var(--text)}.field input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-primary) 9%,transparent);outline:none}.field input:disabled{background:#f3f5f7;color:#98a1ac}.field input[type="date"]{display:block;width:100%;min-width:0;max-width:100%;inline-size:100%;-webkit-appearance:none;appearance:none}.form-note{font-size:12px;color:var(--muted);margin:12px 0 0}
.flash-stack{display:grid;gap:8px;margin:20px 0}.flash-stack.compact{margin:18px 0 0}.flash{padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fff}.flash.info{background:#eef6fc;border-color:#c9e0f2;color:#155582}.flash.success{background:#edf9f2;border-color:#c8ead6;color:var(--success)}.flash.warning{background:#fff8e8;border-color:#f0dfae;color:var(--warning)}
.login-body{background:#fff}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(380px,48%) minmax(420px,52%)}.login-brand-panel{position:relative;overflow:hidden;background:linear-gradient(145deg,var(--brand-secondary) 0 38%,#0a2741 38% 62%,var(--brand-primary) 62% 100%);color:#fff;display:grid;place-items:center;padding:52px}.login-brand-panel:after{content:"";position:absolute;inset:auto -140px -180px auto;width:430px;height:430px;border:52px solid color-mix(in srgb,var(--brand-accent) 85%,transparent);border-radius:50%;opacity:.16}.login-brand-inner{position:relative;z-index:1;width:min(560px,100%);display:flex;flex-direction:column;align-items:center;text-align:center}.login-logo{display:block;width:min(330px,70%);aspect-ratio:1;object-fit:cover;border-radius:50%;border:9px solid rgba(255,255,255,.92);box-shadow:0 28px 70px rgba(0,0,0,.28);margin-bottom:28px}.login-brand-inner h1{font-size:clamp(40px,5vw,68px);margin-bottom:12px;color:#fff}.login-brand-copy{max-width:520px;margin-left:auto;margin-right:auto;font-size:18px;line-height:1.55;color:#e7eff7}.ofcs-badge-wrap{margin-top:30px;display:flex;align-items:center;justify-content:center;gap:16px;padding-top:22px;border-top:1px solid rgba(255,255,255,.18);width:min(520px,100%)}.ofcs-badge{width:190px;background:#fff;border-radius:8px;padding:7px}.ofcs-badge-wrap span{font-size:13px;line-height:1.45;color:#dce8f3}
.login-form-panel{display:grid;place-items:center;padding:42px;background:linear-gradient(180deg,#fff,#f8fafc)}.login-form-wrap{width:min(470px,100%)}.login-form-wrap h2{font-size:38px;margin-bottom:8px}.auth-form{display:grid;gap:16px;margin-top:28px}.auth-form .button{margin-top:4px;width:100%}.mobile-brand{display:none}.dev-preview-box{margin-top:34px;border:1px dashed #bcc8d3;border-radius:14px;background:#f8fafc;padding:16px}.dev-preview-box p{color:var(--muted);font-size:13px;line-height:1.5}.button-row{display:flex;gap:8px;flex-wrap:wrap}.version-line{margin-top:24px;font-size:12px;color:#98a1ab}
.status-strip{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}.status-strip>div{padding:17px 18px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:2px 10px;border-left:1px solid var(--line)}.status-strip>div:first-child{border-left:0}.status-dot{grid-row:1/3;width:10px;height:10px;margin-top:5px;border-radius:50%;background:#9aa3ad}.status-dot.ok{background:var(--success)}.status-dot.warn{background:var(--brand-accent);box-shadow:0 0 0 1px #e3bf00}.status-strip strong{font-size:14px}.status-strip small{color:var(--muted)}
.card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:18px}.action-card{position:relative;min-height:180px;border:1px solid var(--line);border-radius:16px;background:#fff;padding:22px;display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:16px;box-shadow:0 7px 28px rgba(20,40,60,.04)}.action-card h2{font-size:21px}.action-card p:not(.kicker){color:var(--muted);line-height:1.5}.card-icon{min-width:44px;height:44px;padding:0 8px;border-radius:12px;display:grid;place-items:center;background:var(--brand-secondary);color:var(--brand-accent);font-weight:900;font-size:12px}.card-arrow{font-size:25px;color:#9aa5af}.notice-card{margin-top:18px;border-radius:16px;background:var(--brand-secondary);color:#fff;padding:24px;display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:start}.notice-card h2{color:#fff}.notice-card p:last-child{color:#d6e1ea;line-height:1.6;margin-bottom:0}
.admin-body{background:#edf2f6}.admin-shell{width:min(1460px,calc(100% - 24px));margin:12px auto;display:grid;grid-template-columns:250px minmax(0,1fr);gap:20px;align-items:start}.admin-sidebar{position:sticky;top:12px;min-height:calc(100vh - 24px);background:#08121d;color:#fff;border-radius:22px;padding:18px;display:flex;flex-direction:column;box-shadow:0 18px 50px rgba(5,18,30,.16)}.admin-brand{display:flex;align-items:center;gap:11px;padding:4px 4px 18px;text-decoration:none}.admin-brand img{width:45px;height:45px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.75)}.admin-brand span{display:flex;flex-direction:column}.admin-brand small{color:#91a5b7}.admin-nav{display:grid;gap:5px;margin-top:10px}.admin-nav a{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:12px 13px;border-radius:10px;text-decoration:none;color:#c5d0da;font-size:14px;font-weight:750}.admin-nav a small{font-size:10px;color:#788c9f}.admin-nav a:hover:not(.disabled){background:#102338}.admin-nav a.active{background:var(--brand-primary);color:#fff}.admin-nav a.disabled{opacity:.62;cursor:not-allowed}.admin-sidebar-footer{margin-top:auto;border-top:1px solid #203142;padding:16px 4px 4px;display:grid;gap:6px;color:#91a5b7;font-size:12px}.admin-sidebar-footer a{color:#fff;text-decoration:none}.admin-main{min-width:0;padding:26px 24px 44px}.admin-heading{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:22px}.admin-heading p{color:var(--muted);line-height:1.5}.badge,.pill{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:850;background:#e4f0f9;color:var(--brand-primary);white-space:nowrap}.badge.warning{background:#fff1c4;color:#7f5a00}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.metric{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;display:grid;gap:5px}.metric span,.metric small{color:var(--muted);font-size:12px}.metric strong{font-size:30px;letter-spacing:-.04em}.admin-card{margin-top:16px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 10px 34px rgba(24,46,66,.04)}.section-title{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:16px}.small-note{color:var(--muted);font-size:12px}.feature-list{display:grid}.feature-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid #edf1f4}.feature-row:first-child{border-top:0}.feature-row>div{display:grid;gap:3px}.feature-row small{color:var(--muted)}.toggle-indicator{width:11px;height:11px;border-radius:50%;background:#aab2bb}.toggle-indicator.on{background:var(--success)}.pill.success{background:#eaf8f0;color:var(--success)}.pill.muted{background:#f0f2f4;color:#7a838d}.source-note{display:grid;grid-template-columns:180px 1fr;gap:20px;align-items:center}.source-note>div{grid-column:1/-1}.source-note img{max-width:180px;background:#fff;border:1px solid var(--line);border-radius:10px}.source-note p{margin:0;color:var(--muted);line-height:1.6}.settings-form{padding-bottom:84px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid .wide{grid-column:1/-1}.color-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.color-field{border:1px solid var(--line);border-radius:12px;padding:14px;display:grid;grid-template-columns:1fr auto;gap:9px;align-items:center}.color-field span{grid-column:1/-1;font-weight:800;font-size:13px}.color-field input{width:44px;height:34px;border:0;padding:0;background:transparent}.color-field code{font-size:12px;color:var(--muted)}.feature-checkbox-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.feature-checkbox{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:13px}.feature-checkbox input{width:15px;height:15px;margin:0;justify-self:center;align-self:center}.feature-checkbox span{display:grid;gap:3px;min-width:0}.feature-checkbox small{color:var(--muted);font-size:11px;line-height:1.4}.sticky-actions{position:sticky;bottom:14px;margin-top:16px;background:rgba(8,18,29,.96);color:#d7e0e8;padding:12px 14px;border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 16px 44px rgba(8,18,29,.2);font-size:12px}
.admin-nav-wrap{position:relative}.admin-nav-hint{display:none}.admin-mobile-actions{display:none}
@media (max-width:980px){.login-shell{grid-template-columns:1fr}.login-brand-panel{display:none}.login-form-panel{min-height:100vh;place-items:start center;padding-top:0}.login-form-wrap{width:min(560px,100%);padding-top:0}.mobile-brand{display:flex;align-items:center;gap:12px;margin:0 -42px 34px;padding:18px 42px;background:linear-gradient(135deg,var(--brand-secondary),#0a2741);color:#fff;font-weight:900;box-shadow:0 10px 26px rgba(8,18,29,.12)}.mobile-brand img{width:54px;height:54px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.8)}.metric-grid{grid-template-columns:repeat(2,1fr)}.admin-shell{grid-template-columns:210px 1fr}.admin-main{padding:22px 12px}.card-grid{grid-template-columns:1fr}.notice-card{grid-template-columns:1fr}}
@media (max-width:720px){.app-shell{width:min(100% - 24px,1180px);padding-top:12px}.site-header{align-items:flex-start;flex-wrap:wrap}.header-account{width:100%;justify-content:space-between;padding-top:10px;border-top:1px solid var(--line)}.header-account .text-button{min-height:38px;padding:8px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--brand-primary)}.brand-lockup img{width:48px;height:48px}.brand-lockup strong{font-size:15px}.page-heading{align-items:flex-start;flex-direction:column;padding-top:28px}.status-strip{grid-template-columns:1fr}.status-strip>div{border-left:0;border-top:1px solid var(--line)}.status-strip>div:first-child{border-top:0}.action-card{grid-template-columns:auto 1fr;min-height:0}.card-arrow{display:none}.site-footer{flex-direction:column}.admin-shell{display:block;width:100%;margin:0}.admin-sidebar{position:static;min-height:0;border-radius:0;padding:10px 12px}.admin-brand{padding-bottom:8px}.admin-nav-wrap{position:relative}.admin-nav{display:flex;overflow-x:auto;padding:0 34px 4px 0;scrollbar-width:none;-webkit-overflow-scrolling:touch}.admin-nav::-webkit-scrollbar{display:none}.admin-nav-wrap:after{content:"";position:absolute;right:0;top:0;width:42px;height:48px;pointer-events:none;background:linear-gradient(90deg,rgba(8,18,29,0),#08121d 78%)}.admin-nav-hint{display:flex;align-items:center;justify-content:flex-end;gap:5px;margin-top:2px;padding-right:2px;color:#91a5b7;font-size:10px;font-weight:700}.admin-nav-hint span{color:var(--brand-accent);font-size:13px}.admin-nav a{min-width:max-content;grid-template-columns:auto;padding:10px 13px}.admin-nav a small{display:none}.admin-mobile-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid #203142}.admin-mobile-actions a,.admin-mobile-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 12px;border-radius:9px;font:inherit;font-size:12px;font-weight:800;text-decoration:none}.admin-mobile-actions a{border:1px solid #2a4054;color:#fff;background:#102338}.admin-mobile-actions form{margin:0}.admin-mobile-actions button{border:1px solid rgba(255,223,0,.55);background:var(--brand-accent);color:#111;cursor:pointer}.admin-sidebar-footer{display:none}.admin-main{padding:20px 12px 90px}.admin-heading{flex-direction:column}.metric-grid{grid-template-columns:1fr 1fr}.form-grid,.color-grid,.feature-checkbox-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.source-note{grid-template-columns:1fr}.source-note img{max-width:240px}.sticky-actions{bottom:8px;flex-direction:column;align-items:stretch}.login-form-panel{padding:0 24px 24px}.login-form-wrap h2{font-size:32px}.mobile-brand{margin-left:-24px;margin-right:-24px;padding-left:24px;padding-right:24px}}
@media (max-width:460px){.metric-grid{grid-template-columns:1fr}.button-row{display:grid}.button-row .button{width:100%}}

/* Release Notes / klickbare Versionsnummer */
.release-notes-trigger{appearance:none;border:0;background:transparent;padding:0;color:var(--muted);font:inherit;font-size:12px;cursor:pointer;text-align:left}.release-notes-trigger:hover{color:var(--brand-primary);text-decoration:underline}.release-notes-trigger:focus-visible{outline:2px solid var(--brand-primary);outline-offset:4px;border-radius:3px}.admin-release-notes-trigger{color:#91a5b7}.admin-release-notes-trigger:hover{color:#fff}.release-notes-backdrop{position:fixed;inset:0;z-index:12000;display:flex;align-items:center;justify-content:center;padding:28px;background:rgba(5,18,29,.62);backdrop-filter:blur(3px)}.release-notes-backdrop[hidden]{display:none!important}.release-notes-dialog{width:min(820px,100%);max-height:min(820px,90vh);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 28px 90px rgba(5,18,29,.28)}.release-notes-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;border-bottom:1px solid var(--line)}.release-notes-header .kicker{margin-bottom:5px}.release-notes-header h2{font-size:24px;margin:0}.release-notes-close{display:grid;place-items:center;flex:0 0 auto;width:40px;height:40px;border:1px solid #ccd4dc;border-radius:10px;background:#fff;color:#4c5965;font:inherit;font-size:26px;line-height:1;cursor:pointer}.release-notes-close:hover{background:#f5f7f9;color:var(--brand-secondary)}.release-notes-list{overflow:auto;padding:14px 16px 18px;background:#f7f9fb}.release-notes-state{padding:28px;text-align:center;color:var(--muted)}.release-notes-state.is-error{color:var(--danger)}.release-item{margin-top:10px;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff}.release-item:first-child{margin-top:0}.release-item-toggle{width:100%;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:16px;border:0;background:#fff;padding:13px 16px;color:var(--text);font:inherit;text-align:left;cursor:pointer}.release-item-toggle:hover{background:#fafbfd}.release-item.is-open .release-item-toggle{background:#fbfcfd;border-bottom:1px solid #edf0f2}.release-item-main,.release-item-meta{display:flex;align-items:center;gap:9px}.release-version{font-size:15px;font-weight:900;color:var(--brand-secondary)}.release-current-badge{display:inline-flex;align-items:center;min-height:22px;padding:3px 8px;border-radius:999px;background:color-mix(in srgb,var(--brand-accent) 30%,#fff);color:#735c00;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.release-item-meta{color:var(--muted);font-size:12px;font-weight:700}.release-chevron{display:flex;align-items:center;justify-content:center;width:20px;height:20px;line-height:0;flex:0 0 20px;transition:transform .15s ease;transform-origin:50% 50%}.release-chevron svg{display:block;width:18px;height:18px}.release-item.is-open .release-chevron{transform:rotate(180deg)}.release-item-panel{padding:17px 18px 19px}.release-item-panel[hidden]{display:none}.release-item-panel>h3{margin:0 0 14px;color:var(--text);font-size:17px}.release-notes-section{margin-top:15px}.release-notes-section:first-of-type{margin-top:0}.release-notes-section h4{margin:0 0 7px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.release-notes-section.is-new h4{color:#9b6500}.release-notes-section.is-improved h4{color:var(--brand-primary)}.release-notes-section.is-fixed h4{color:var(--success)}.release-notes-section ul{margin:0;padding-left:19px}.release-notes-section li{margin:5px 0;color:#46515c;line-height:1.5;font-size:13px}.release-notes-open{overflow:hidden}@media(max-width:620px){.release-notes-backdrop{padding:10px}.release-notes-dialog{max-height:94vh;border-radius:13px}.release-notes-header{padding:16px}.release-notes-header h2{font-size:21px}.release-notes-list{padding:10px}.release-item-toggle{align-items:flex-start}.release-item-meta{flex:0 0 auto}.release-current-badge{display:none}}
.header-account{display:flex;align-items:center;gap:16px}.text-button,.admin-logout{border:0;background:transparent;color:var(--brand-primary);font:inherit;font-weight:800;cursor:pointer;padding:4px 0}.admin-logout{color:inherit;text-decoration:underline;text-underline-offset:3px}.demo-banner{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 18px;padding:12px 14px;border-radius:12px;background:#fff6cf;border:1px solid #eed573;color:#624a00}.demo-banner strong{font-size:13px}.demo-banner span{font-size:13px}.narrow-card{width:min(620px,100%);margin:44px auto;background:var(--brand-surface);border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:var(--shadow)}.auth-card-page h1{margin:0 0 8px}.settings-fieldset{border:0;padding:0;margin:0;min-inline-size:0}.settings-fieldset:disabled{opacity:.72}.settings-fieldset:disabled input,.settings-fieldset:disabled button{cursor:not-allowed}.button:disabled{opacity:.55;cursor:not-allowed}.flash.error{background:#fff0f0;border-color:#f0b2b2;color:#8c1d1d}
@media(max-width:700px){.header-account{gap:10px}.header-account .text-button{font-size:12px}.demo-banner{align-items:flex-start;flex-direction:column;gap:3px}.narrow-card{margin:22px auto;padding:20px}}

/* 0.2.4: Mobile release-notes dialog / iPhone safe-area improvements */
.release-notes-mobile-footer{display:none}
@media(max-width:620px){
  .release-notes-backdrop{
    align-items:flex-end;
    justify-content:center;
    padding:0;
    padding-top:max(10px,env(safe-area-inset-top));
    background:rgba(5,18,29,.68)
  }
  .release-notes-dialog{
    width:100%;
    height:min(88dvh,760px);
    max-height:calc(100dvh - max(10px,env(safe-area-inset-top)));
    border-radius:18px 18px 0 0;
    border-bottom:0
  }
  .release-notes-header{
    position:relative;
    z-index:2;
    flex:0 0 auto;
    padding:16px 16px 14px;
    background:#fff
  }
  .release-notes-close{
    width:44px;
    height:44px;
    border-radius:12px;
    font-size:28px
  }
  .release-notes-list{
    min-height:0;
    flex:1 1 auto;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    padding:10px 10px 16px
  }
  .release-notes-mobile-footer{
    display:block;
    flex:0 0 auto;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom));
    border-top:1px solid var(--line);
    background:#fff
  }
  .release-notes-mobile-close{
    width:100%;
    min-height:46px;
    border:0;
    border-radius:12px;
    background:var(--brand-secondary);
    color:#fff;
    font:inherit;
    font-weight:800;
    cursor:pointer
  }
  .release-item-toggle{align-items:center}
}


/* 0.3.0: Invitations, registration and mail configuration */
.invitation-metrics{margin-bottom:16px}.invitation-form{align-items:end}.responsive-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-table{width:100%;border-collapse:collapse;min-width:760px}.admin-table th,.admin-table td{padding:13px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.admin-table th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.table-actions{white-space:nowrap}.table-actions form{display:inline-block;margin:0 8px 0 0;vertical-align:middle}.table-actions form:last-child{margin-right:0}.button.compact{min-height:34px;padding:7px 10px;font-size:12px}.status-pill{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;background:#eef1f4;color:#53606c}.status-open{background:#e8f2ff;color:#0b5fa5}.status-registered{background:#fff5ca;color:#745b00}.status-approved{background:#e7f6ee;color:#187649}.status-rejected,.status-revoked{background:#fbeaea;color:#9a2d2d}.empty-state{padding:26px;border:1px dashed var(--line);border-radius:14px;display:flex;flex-direction:column;gap:4px;color:var(--muted)}.registration-card{max-width:760px}.registration-form{margin-top:22px}.confirmation-check{display:flex;gap:12px;align-items:flex-start;margin:20px 0;padding:14px;border:1px solid var(--line);border-radius:12px}.confirmation-check input{margin-top:3px}.full-width{width:100%}.field textarea,.field select{width:100%;border:1px solid #cfd7df;border-radius:10px;background:#fff;color:var(--text);font:inherit;padding:11px 12px}.field textarea{resize:vertical;min-height:110px;line-height:1.45}.field small{display:block;margin-top:6px;color:var(--muted);font-size:11px}.template-grid{display:grid;grid-template-columns:1fr 2fr;gap:14px;margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}.template-grid .wide{grid-column:2}.inline-field-action{display:flex;gap:8px}.inline-field-action input{flex:1}
@media(max-width:760px){.template-grid{grid-template-columns:1fr}.template-grid .wide{grid-column:auto}.inline-field-action{flex-direction:column}.admin-table{min-width:680px}}

/* 0.3.6: Filter fuer Einladungen und Antraege */
.invitation-filter{display:flex;flex-wrap:wrap;gap:8px;margin:-2px 0 18px}.invitation-filter-link{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#53606c;text-decoration:none;font-size:12px;font-weight:800;transition:background .15s ease,border-color .15s ease,color .15s ease}.invitation-filter-link:hover{border-color:#b8c8d6;color:var(--brand-primary);background:#f7fafc}.invitation-filter-link.active{border-color:color-mix(in srgb,var(--brand-primary) 30%,#fff);background:#e8f2ff;color:var(--brand-primary)}
@media(max-width:720px){.invitation-filter{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.invitation-filter::-webkit-scrollbar{display:none}.invitation-filter-link{flex:0 0 auto}}

/* 0.4.0: Member management and FCS profile */
.action-card-link{color:inherit;text-decoration:none}.action-card-link:hover{transform:translateY(-1px);border-color:#b9c9d8;box-shadow:0 12px 30px rgba(20,48,70,.08)}
.member-metrics{margin-bottom:16px}.member-cell{display:flex;align-items:center;gap:10px;min-width:190px}.member-cell>div{display:flex;flex-direction:column;gap:2px}.member-cell small{font-size:11px;color:var(--muted)}.compact-avatar{width:34px;height:34px;flex:0 0 34px;font-size:11px}.status-member-active{background:#e7f6ee;color:#187649}.status-member-pending{background:#fff5ca;color:#745b00}.status-member-exited{background:#eef1f4;color:#53606c}.muted-text{color:var(--muted)}.back-link{color:var(--brand-primary);text-decoration:none;font-weight:800}.back-link:hover{text-decoration:underline}.member-edit-form,.profile-form{display:grid;gap:16px}.member-edit-form .admin-card{margin-bottom:16px}.form-submit-bar{display:flex;justify-content:flex-end;position:sticky;bottom:12px;z-index:5;padding:12px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.94);box-shadow:0 10px 28px rgba(20,48,70,.09);backdrop-filter:blur(8px)}.profile-section{margin-bottom:18px;padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--brand-surface);box-shadow:var(--shadow)}.read-only-field{display:flex;flex-direction:column;justify-content:center;min-height:72px;padding:10px 12px;border:1px solid #d8e0e7;border-radius:10px;background:#f7f9fb}.read-only-field strong{margin-top:5px;font-size:14px}.read-only-field small{margin-top:5px}.member-table .button{white-space:nowrap}
@media(max-width:700px){.profile-section{padding:18px}.form-submit-bar{bottom:8px}.form-submit-bar .button{width:100%}.member-table{min-width:720px}}


/* 0.4.2: iOS Safari date-control width fix */
@supports (-webkit-touch-callout:none){
  .field input[type="date"]{
    width:-webkit-fill-available;
    inline-size:-webkit-fill-available;
    min-inline-size:0;
    max-inline-size:100%;
    min-height:44px;
    font-size:16px;
  }
}
.setup-shell{width:min(760px,calc(100% - 32px));margin:48px auto}.setup-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:0 18px 50px rgba(24,46,66,.08)}.setup-card>p{color:var(--muted);line-height:1.6}.demo-account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.demo-account-card{border:1px solid var(--line);border-radius:14px;padding:16px;display:grid;gap:12px}.demo-account-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.demo-account-head>div{display:grid}.demo-account-head small,.demo-account-card p{color:var(--muted)}.demo-account-head .status-pill{align-items:center;justify-content:center;align-self:center;line-height:1;min-height:28px}.demo-inline-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.demo-inline-form .field:first-child{grid-column:1/-1}.demo-account-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.demo-account-actions form{margin:0}.demo-account-actions .button{width:100%;height:36px;min-height:36px;display:inline-flex;align-items:center;justify-content:center;padding:7px 8px}.button.danger{border-color:#f0b9b9;color:#9f2525;background:#fff4f4}.info-box{padding:12px 14px;border-radius:12px;background:#eef6fc;color:#24506f}.registration-shell{width:min(860px,calc(100% - 28px));margin:34px auto}.registration-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px}.registration-card>p{color:var(--muted);line-height:1.6}
@media(max-width:720px){.setup-shell,.registration-shell{margin:18px auto}.setup-card,.registration-card{padding:18px}.demo-account-grid{grid-template-columns:1fr}.demo-inline-form{grid-template-columns:1fr}.demo-inline-form .field:first-child{grid-column:auto}.demo-account-actions{grid-template-columns:1fr 1fr}}

.field input[type="date"]:disabled{background:#f1f3f5;color:#8a96a3;cursor:not-allowed;opacity:.75}
.nav-count{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;min-width:22px;padding:0;border-radius:50%;background:var(--brand-accent);color:#111;font-size:11px;font-weight:900;line-height:1;box-shadow:0 0 0 1px rgba(255,255,255,.12)}.task-list{display:grid;gap:14px}.task-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.task-card-main{min-width:0}.task-card-main h2{margin:8px 0 10px;font-size:18px}.task-card-main p{margin:4px 0}.task-card-title{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.task-card-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.task-card-actions form{margin:0}.priority-pill{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;font-size:12px;font-weight:700;background:#f2f4f7;color:#344054}.priority-important{background:#fff4e5;color:#9a5b00}.priority-urgent{background:#fff0f0;color:#a12622}.filter-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.filter-tabs a{padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);text-decoration:none;color:var(--text);font-weight:650}.filter-tabs a.active{border-color:var(--primary);color:var(--primary);background:#eef6fc}.metric a{color:inherit}@media(max-width:760px){.task-card{align-items:flex-start;flex-direction:column}.task-card-actions{width:100%}.task-card-actions>a,.task-card-actions form,.task-card-actions button{width:100%}}


/* 0.5.0 Dokumente & Bestätigungen */
.inline-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--brand-accent);color:var(--brand-secondary);font-size:12px;font-weight:800;margin-left:6px}
.document-list{display:grid;gap:18px}.document-card{background:var(--brand-surface);border:1px solid #e4e7ec;border-radius:16px;padding:22px;box-shadow:0 8px 24px rgba(16,24,40,.05)}.document-card.needs-acceptance{border-color:var(--brand-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand-accent) 24%,transparent)}
.document-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.document-card-head h2{margin:3px 0 4px}.document-content{white-space:normal;line-height:1.7;background:#f8fafc;border:1px solid #eaecf0;border-radius:12px;padding:18px;color:#344054}.document-actions{margin-top:18px;padding-top:16px;border-top:1px solid #eaecf0}.document-actions form{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.confirm-check{display:flex;align-items:flex-start;gap:10px;max-width:720px}.confirm-check input{margin-top:3px}.acceptance-note{font-weight:600;color:#067647}.version-list{display:grid;gap:10px}.danger-zone{border-color:#fecdca}.button.compact{padding:8px 12px;min-height:auto}
@media(max-width:700px){.document-card{padding:16px}.document-card-head{flex-direction:column}.document-actions form{align-items:stretch}.document-actions .button{width:100%}}

/* 0.5.1 Dokumentdarstellung und Mitgliedsnachweise */
.admin-document-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-document-card{border:1px solid var(--line);border-radius:14px;padding:18px;background:#fff;display:grid;gap:16px}.admin-document-card.is-inactive{background:#fafbfc;opacity:.82}.admin-document-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.admin-document-card-head h3{font-size:19px;margin:3px 0 0}.document-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.document-meta-grid>div{display:grid;gap:3px;padding:12px;border-radius:11px;background:#f7f9fb;border:1px solid #edf0f2}.document-meta-grid span,.document-meta-grid small{color:var(--muted);font-size:11px}.document-meta-grid strong{font-size:14px}.document-progress{display:grid;gap:9px}.document-progress-label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted)}.document-progress-label strong{color:var(--text)}.progress-track{height:8px;background:#edf1f4;border-radius:999px;overflow:hidden}.progress-track span{display:block;height:100%;background:var(--brand-primary);border-radius:inherit}.admin-document-card-actions{display:flex;justify-content:flex-end;padding-top:2px}.member-document-card{padding:0;overflow:hidden}.member-document-card .document-card-head{padding:22px 22px 18px;margin:0;background:#fff}.document-title-block{display:grid;gap:3px}.document-version-line{display:flex;gap:9px;flex-wrap:wrap;color:var(--muted);font-size:12px}.document-version-line span+span:before{content:"·";margin-right:9px}.document-reader{margin:0 22px;padding:20px;background:#f8fafc;border:1px solid #eaecf0;border-radius:12px;line-height:1.75;color:#344054;white-space:normal}.member-document-card .document-actions{margin:20px 22px 0;padding:18px 0 22px}.confirm-check span{display:grid;gap:3px}.confirm-check small{color:var(--muted);font-size:12px;line-height:1.45}.acceptance-success{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #ccebd9;background:#f1fbf5;border-radius:12px;color:#176b43}.acceptance-success .acceptance-icon{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:50%;background:#dff5e8;font-weight:900}.acceptance-success div{display:grid;gap:2px}.acceptance-success span{font-size:12px}.member-document-summary{display:flex;align-items:baseline;gap:8px;margin-bottom:10px;padding:12px 14px;background:#f7f9fb;border:1px solid #edf0f2;border-radius:11px}.member-document-summary strong{font-size:22px}.member-document-summary span{color:var(--muted);font-size:12px}.member-document-rows{display:grid}.member-document-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,auto) auto;align-items:center;gap:16px;padding:13px 0;border-top:1px solid #edf1f4}.member-document-row:first-child{border-top:0}.member-document-row>div:first-child{display:grid;gap:3px}.member-document-row small{color:var(--muted);font-size:11px}.member-document-row-status{display:grid;justify-items:start;gap:4px}
@media(max-width:900px){.admin-document-grid{grid-template-columns:1fr}.member-document-row{grid-template-columns:1fr auto}.member-document-row>a{grid-column:1/-1;justify-self:start}}
@media(max-width:700px){.document-meta-grid{grid-template-columns:1fr}.member-document-card .document-card-head{padding:18px}.document-reader{margin:0 18px;padding:16px}.member-document-card .document-actions{margin:18px 18px 0}.document-version-line{display:grid;gap:2px}.document-version-line span+span:before{content:none}.member-document-row{grid-template-columns:1fr}.member-document-row-status{justify-items:start}}
/* 0.5.2 documents: stable plain-text rendering and clearer acceptance evidence */
.document-plain-text{white-space:pre-line;overflow-wrap:anywhere}
.acceptance-overview-card{border-color:#d8e8df}.acceptance-evidence-list{display:grid;gap:10px}.acceptance-evidence-row{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid #dceee4;border-radius:12px;background:#f6fcf8}.acceptance-evidence-icon{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:50%;background:#dff5e8;color:#176b43;font-weight:900}.acceptance-evidence-row>div{display:grid;gap:2px}.acceptance-evidence-row small{color:var(--muted)}.compact-empty{padding:18px;text-align:left}.document-current-card .document-content{margin-top:4px}

/* 0.5.3 Benutzer & Rollen */
.role-help-card{margin-bottom:18px}.role-help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.role-help-grid>div{display:flex;flex-direction:column;gap:5px;padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.role-help-grid span,.role-fixed-note span{color:var(--muted);font-size:13px;line-height:1.5}.users-role-list{display:grid;gap:14px;margin-top:18px}.user-role-card{border:1px solid var(--line);border-radius:14px;padding:18px;background:#fff}.user-role-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.user-role-head h3{margin-bottom:4px}.user-role-email{margin:0;color:var(--muted);font-size:13px}.badge-stack{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}.status-pill{display:inline-flex;align-items:center;min-height:25px;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:850;background:#eef2f5;color:#53606e}.status-pill.success{background:#e8f6ed;color:var(--success)}.status-pill.warning{background:#fff2c8;color:#875a00}.status-pill.info{background:#e8f3fb;color:#0b5f98}.status-pill.muted{background:#eef1f4;color:#7c8792}.user-role-meta{display:grid;grid-template-columns:1fr 2fr;gap:10px;margin:15px 0}.user-role-meta>span{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:10px;background:var(--soft);border:1px solid #edf0f3}.user-role-meta small{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.role-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.role-choice{display:flex;align-items:flex-start;gap:10px;padding:13px;border:1px solid var(--line);border-radius:11px;cursor:pointer}.role-choice input{margin-top:3px}.role-choice>span{display:flex;flex-direction:column;gap:4px}.role-choice small{color:var(--muted);line-height:1.35}.role-form-actions{display:flex;justify-content:flex-end;margin-top:12px}.button.compact{min-height:36px;padding:7px 12px;font-size:12px}.role-fixed-note{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:13px;border:1px solid #cfe2f2;border-radius:11px;background:#f3f9fd}.role-fixed-note span{flex:1 1 420px}.guardrail-card{margin-top:18px}.guardrail-list{margin:10px 0 0;padding-left:20px;color:var(--muted);line-height:1.7}
@media(max-width:900px){.role-help-grid,.role-choice-grid,.user-role-meta{grid-template-columns:1fr}.user-role-head{align-items:flex-start}.badge-stack{justify-content:flex-start}}


/* 0.5.5 - acceptance account trace */
.document-account-hint {
  margin: 0 0 14px;
  font-size: .84rem;
  color: var(--muted, #667085);
}
.document-account-hint strong { color: inherit; }

/* 0.5.6 Rich-Text-Dokumente und flexible Kategorien */
.rich-text-editor{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.rich-text-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:9px;background:#f7f9fb;border-bottom:1px solid var(--line)}.rich-text-toolbar button{min-height:34px;padding:6px 10px;border:1px solid #d9dee5;border-radius:8px;background:#fff;color:var(--text);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.rich-text-toolbar button:hover{background:#eef6fc;border-color:#b9d5ea}.toolbar-separator{width:1px;height:24px;background:#d9dee5;margin:0 2px}.rich-text-surface{min-height:260px;padding:18px;outline:none;line-height:1.7;color:#25313c}.rich-text-surface:empty:before{content:attr(data-placeholder);color:#98a2b3}.rich-text-surface p{margin:.45em 0}.rich-text-surface h2,.rich-text-surface h3,.rich-text-surface h4{margin:1.1em 0 .45em}.rich-text-surface ul,.rich-text-surface ol{padding-left:1.6em}.document-rich-content{overflow-wrap:anywhere}.document-rich-content>:first-child{margin-top:0}.document-rich-content>:last-child{margin-bottom:0}.document-rich-content p{margin:.65em 0}.document-rich-content h2{font-size:1.35rem;margin:1.2em 0 .5em}.document-rich-content h3{font-size:1.15rem;margin:1.1em 0 .45em}.document-rich-content h4{font-size:1rem;margin:1em 0 .4em}.document-rich-content ul,.document-rich-content ol{padding-left:1.6em;margin:.75em 0}.document-rich-content blockquote{margin:1em 0;padding:10px 14px;border-left:4px solid var(--brand-primary);background:#f4f8fb}.document-rich-content hr{border:0;border-top:1px solid var(--line);margin:1.3em 0}.document-rich-content a{color:var(--brand-primary);font-weight:650}.document-category-list{display:grid;gap:10px}.document-category-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fafbfc}.document-category-row .field{margin:0}.category-active{display:flex;align-items:center;gap:8px;min-height:42px;padding:0 8px;font-weight:700}.document-category-add{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.document-category-add .field{margin:0}@media(max-width:760px){.document-category-row,.document-category-add{grid-template-columns:1fr}.rich-text-toolbar{gap:5px}.rich-text-toolbar button{padding:6px 8px}.rich-text-surface{min-height:220px;padding:14px}}


/* 0.5.7 - document UI polish */
.rich-text-form{padding-bottom:0}
.rich-text-form .field.wide>small{display:block;margin-top:10px}
.rich-text-form .form-submit-bar{position:static;bottom:auto;z-index:auto;margin-top:10px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}
.admin-document-card{grid-template-rows:auto auto 1fr auto;height:100%}
.admin-document-card .document-progress{align-self:end;min-height:82px}
.admin-document-card-actions{margin-top:auto}
.document-progress-info .progress-track.is-informational{background:#edf1f4}
.document-progress-info .progress-track.is-informational span{width:0}
.member-document-card .document-reader{margin:0 22px 22px}
.member-document-card .document-actions{margin:0 22px 0;padding:18px 0 22px}
@media(max-width:700px){.member-document-card .document-reader{margin:0 18px 18px}.member-document-card .document-actions{margin:0 18px 0}}

/* 0.5.8 PDF documents */
.document-type-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.document-type-options label{display:grid;grid-template-rows:auto auto;justify-items:center;align-content:center;gap:9px;min-height:96px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;text-align:center}.document-type-options label.is-selected{border-color:var(--brand-primary);box-shadow:0 0 0 1px color-mix(in srgb,var(--brand-primary) 35%,transparent);background:color-mix(in srgb,var(--brand-primary) 4%,#fff)}.document-type-options input{margin:0;justify-self:center;align-self:center}.document-type-options span{display:grid;gap:4px;justify-items:center;max-width:280px}.document-type-options strong{display:block;line-height:1.2}.document-type-options small{display:block;color:var(--muted);font-size:11px;line-height:1.4;text-align:center}.document-pdf-upload input[type=file]{padding:12px;border:1px dashed #cfd6dd;border-radius:12px;background:#f8fafc}.pdf-document-panel{display:grid;gap:12px}.pdf-document-meta{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid #e5e9ed;border-radius:12px;background:#f8fafc}.pdf-document-meta>div{display:grid;gap:2px}.pdf-document-meta small{color:var(--muted);font-size:11px}.pdf-viewer{display:block;width:100%;height:min(72vh,820px);min-height:560px;border:1px solid #dfe4e8;border-radius:12px;background:#eef2f5}.member-pdf-panel{margin:0 22px 22px}.admin-card>.pdf-document-panel{margin-top:4px}@media(max-width:700px){.document-type-options{grid-template-columns:1fr}.pdf-document-meta{align-items:flex-start;flex-direction:column}.pdf-viewer{min-height:480px;height:65vh}.member-pdf-panel{margin:0 18px 18px}.pdf-document-meta .button{width:100%;text-align:center}}

[data-rich-section][hidden],[data-pdf-section][hidden]{display:none!important}

/* 0.5.12 document version form + mobile PDF behavior */
.pdf-open-mobile{display:none}
@media(max-width:700px){
  .member-pdf-panel .pdf-viewer{display:none}
  .member-pdf-panel{display:grid;gap:12px}
  .member-pdf-panel .pdf-document-meta{padding:14px}
  .member-pdf-panel .member-pdf-open{width:100%;justify-content:center;text-align:center}
  .pdf-open-desktop{display:none}
  .pdf-open-mobile{display:inline}
}

/* 0.5.13 – compact document overview for members */
.member-document-section{display:grid;gap:16px;margin-bottom:28px}.member-document-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.member-document-overview-card{display:grid;grid-template-rows:auto auto 1fr;gap:14px;min-height:190px;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--brand-surface);box-shadow:0 8px 24px rgba(16,24,40,.04)}.member-document-overview-card.needs-acceptance{border-color:var(--brand-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand-accent) 18%,transparent)}.member-document-overview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.member-document-overview-head h3{margin:3px 0 0;font-size:19px}.member-document-overview-meta{display:flex;gap:8px;flex-wrap:wrap;align-content:start;color:var(--muted);font-size:12px}.member-document-overview-meta span+span:before{content:"·";margin-right:8px}.member-document-overview-card>.button{justify-self:start;align-self:end}.document-category-filter{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.document-category-filter a{flex:0 0 auto;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--text);text-decoration:none;font-size:13px;font-weight:700}.document-category-filter a:hover,.document-category-filter a.active{border-color:var(--brand-primary);background:#eef6fc;color:var(--brand-primary)}.member-document-detail-card{margin-bottom:24px}
@media(max-width:800px){.member-document-overview-grid{grid-template-columns:1fr}.member-document-overview-card{min-height:0}.member-document-overview-card>.button{width:100%;justify-content:center}.document-category-filter{margin-right:-6px}}

/* 0.5.14 – mobile document form polish */
@media(max-width:700px){
  .document-type-options{gap:8px}
  .document-type-options label{
    display:grid;
    grid-template-columns:28px minmax(0,1fr);
    grid-template-rows:auto;
    align-items:center;
    justify-items:stretch;
    min-height:0;
    padding:13px 14px;
    gap:12px;
    text-align:left;
  }
  .document-type-options input{
    width:20px;
    height:20px;
    justify-self:center;
    align-self:center;
  }
  .document-type-options span{
    display:grid;
    gap:2px;
    justify-items:start;
    max-width:none;
    min-width:0;
  }
  .document-type-options strong{
    font-size:14px;
    line-height:1.25;
  }
  .document-type-options small{
    font-size:11px;
    line-height:1.35;
    text-align:left;
  }
  .feature-checkbox{
    grid-template-columns:24px minmax(0,1fr);
    gap:10px;
    padding:11px 12px;
  }
  .feature-checkbox input{
    width:18px;
    height:18px;
  }
  .feature-checkbox strong{font-size:14px;line-height:1.25}
  .feature-checkbox small{font-size:11px;line-height:1.35}
  .document-type-field>small{margin-top:4px;line-height:1.4}
  .rich-text-toolbar{gap:4px;padding:7px}
  .rich-text-toolbar button{
    min-height:32px;
    padding:5px 8px;
    font-size:11px;
  }
  .toolbar-separator{height:20px;margin:0 1px}
  .rich-text-surface{min-height:190px;padding:13px}
  .rich-text-form .field.wide>small{margin-top:7px}
}

/* 0.6.0 – FCS / OFCS Reporting */
.fcs-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.fcs-quota-card{display:grid;gap:14px}.fcs-quota-value{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.fcs-quota-value strong{font-size:32px}.fcs-quota-value span{color:var(--muted)}.fcs-quota-progress{height:10px}.fcs-warning{margin:0;padding:11px 13px;border-radius:10px;background:#fff7e6;color:#8a5a00;font-size:13px;font-weight:650}.fcs-list-title{align-items:flex-end}.fcs-list-title p{margin:4px 0 0;color:var(--muted)}.fcs-table .status-pill{white-space:nowrap}.status-fcs-requested{background:#fff4cc;color:#795700}.status-fcs-reported{background:#eaf3ff;color:#175cd3}.status-fcs-confirmed{background:#e8f7ee;color:#067647}.status-fcs-not_wanted,.status-fcs-not_set{background:#f2f4f7;color:#667085}
@media(max-width:1050px){.fcs-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.fcs-metric-grid{grid-template-columns:1fr}.fcs-list-title{align-items:stretch}.fcs-list-title .button{width:100%;justify-content:center}.fcs-quota-value{display:grid;gap:3px}}

/* 0.6.1: global mobile horizontal-scroll affordances and overflow containment */
html,body{max-width:100%;overflow-x:hidden}.admin-main,.admin-card,.section-title,.responsive-table-wrap,.table-wrap{min-width:0}.responsive-table-wrap,.table-wrap{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}.table-wrap .admin-table,.responsive-table-wrap .admin-table{min-width:760px}
.scroll-affordance{position:relative;min-width:0;max-width:100%}.scroll-cue{display:none;position:absolute;z-index:8;top:50%;width:28px;height:36px;transform:translateY(-50%);align-items:center;justify-content:center;border-radius:999px;background:rgba(255,255,255,.95);border:1px solid var(--line);box-shadow:0 4px 14px rgba(8,18,29,.12);color:var(--brand-primary);font-size:24px;font-weight:900;line-height:1;pointer-events:none}.scroll-cue-left{left:4px}.scroll-cue-right{right:4px}.scroll-affordance:before,.scroll-affordance:after{content:"";display:none;position:absolute;z-index:7;top:0;bottom:0;width:42px;pointer-events:none}.scroll-affordance:before{left:0;background:linear-gradient(90deg,#fff 10%,rgba(255,255,255,0))}.scroll-affordance:after{right:0;background:linear-gradient(270deg,#fff 10%,rgba(255,255,255,0))}.scroll-affordance-dark:before{background:linear-gradient(90deg,#08121d 10%,rgba(8,18,29,0))}.scroll-affordance-dark:after{background:linear-gradient(270deg,#08121d 10%,rgba(8,18,29,0))}.scroll-affordance-dark .scroll-cue{background:#102338;border-color:#2a4054;color:var(--brand-accent)}
@media(max-width:720px){
  .admin-nav-wrap:after{display:none}
  .admin-nav{padding-right:8px;padding-left:8px;scroll-padding-inline:28px}
  .admin-nav-hint{padding-right:8px}
  .invitation-filter,.filter-tabs,.document-category-filter{flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-padding-inline:30px}
  .filter-tabs{margin-bottom:16px}
  .invitation-filter::-webkit-scrollbar,.filter-tabs::-webkit-scrollbar,.document-category-filter::-webkit-scrollbar,.responsive-table-wrap::-webkit-scrollbar,.table-wrap::-webkit-scrollbar{display:none}
  .filter-tabs a{flex:0 0 auto;white-space:nowrap}
  .scroll-affordance.has-horizontal-overflow.can-scroll-left:before,.scroll-affordance.has-horizontal-overflow.can-scroll-right:after{display:block}
  .scroll-affordance.has-horizontal-overflow.can-scroll-left>.scroll-cue-left,.scroll-affordance.has-horizontal-overflow.can-scroll-right>.scroll-cue-right{display:flex}
  .scroll-affordance-dark .scroll-cue{top:23px}
  .responsive-table-wrap,.table-wrap{border-radius:10px;scrollbar-width:none}
  .admin-table{min-width:720px}
  .section-title{min-width:0}.section-title>div{min-width:0}.section-title h2,.section-title p{overflow-wrap:anywhere}
}


/* 0.6.2: compact mobile scroll controls aligned to the scrolled items */
@media (max-width:720px){
  .admin-nav-hint{display:none!important}
  .admin-nav-wrap:after{display:none!important}
  .scroll-cue{
    width:var(--scroll-cue-size,36px);
    height:var(--scroll-cue-size,36px);
    min-width:var(--scroll-cue-size,36px);
    min-height:var(--scroll-cue-size,36px);
    top:var(--scroll-cue-top,50%);
    border-radius:var(--scroll-cue-radius,10px);
    font-size:22px;
    box-shadow:0 3px 10px rgba(8,18,29,.12);
  }
  .scroll-cue-left{left:2px}
  .scroll-cue-right{right:2px}
}

/* 0.6.3: exact arrow alignment for mobile navigation, chips and tables */
@media (max-width:720px){
  .scroll-affordance-table .scroll-cue{
    width:36px;
    height:36px;
    min-width:36px;
    min-height:36px;
    border-radius:999px;
    top:50%;
  }
}

/* 0.6.4: align only the top mobile admin navigation arrows to the actual nav row.
   Keep chip/table scroll controls from 0.6.3 unchanged. */
@media (max-width:720px){
  .admin-nav-wrap.scroll-affordance-dark .scroll-cue{
    top:var(--scroll-cue-top,50%);
  }
}

/* 0.6.5 - clearer FCS/OFCS Excel export action */
.fcs-export-button{
  border:1px solid color-mix(in srgb,var(--brand-primary) 45%,var(--line));
  background:#fff;
  color:var(--brand-primary);
  box-shadow:0 6px 18px rgba(16,24,40,.06);
  white-space:nowrap;
}
.fcs-export-button:hover{
  background:#eef6fc;
  border-color:var(--brand-primary);
}
.fcs-export-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  border-radius:7px;
  background:color-mix(in srgb,var(--brand-primary) 10%,#fff);
  font-size:14px;
  font-weight:900;
  line-height:1;
}
@media(max-width:700px){
  .fcs-export-button{width:100%;justify-content:center;white-space:normal;text-align:center}
}

/* 0.6.6 - compact mobile Excel export action */
@media(max-width:700px){
  .fcs-list-title{
    flex-direction:column;
    align-items:stretch;
    gap:12px;
  }
  .fcs-list-title .fcs-export-button{
    width:100%;
    min-height:44px;
    padding:10px 14px;
    justify-content:center;
    gap:8px;
    white-space:nowrap;
    text-align:center;
    font-size:13px;
    line-height:1.2;
    box-shadow:none;
  }
  .fcs-list-title .fcs-export-icon{
    width:18px;
    height:18px;
    min-width:18px;
    border-radius:6px;
    font-size:12px;
  }
}
.fcs-report-card{display:flex;align-items:center;justify-content:space-between;gap:20px}.fcs-report-copy{flex:1;min-width:0}.fcs-report-copy h2{margin:0}.fcs-report-copy p:not(.kicker){margin:4px 0 0;color:var(--muted)}.fcs-report-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.fcs-report-actions form{margin:0}.fcs-report-actions .pill{flex:0 0 auto}.fcs-change-cell{display:grid;gap:6px;min-width:220px}.fcs-change-cell small{color:var(--muted);line-height:1.35}.fcs-change-new{background:#eaf3ff;color:#175cd3}.fcs-change-changed{background:#fff4cc;color:#795700}.fcs-change-unchanged{background:#e8f7ee;color:#067647}.fcs-change-exited{background:#fdecec;color:#b42318}@media(max-width:760px){.fcs-report-card{align-items:stretch;flex-direction:column}.fcs-report-actions{align-items:stretch;justify-content:flex-start;flex-direction:column}.fcs-report-actions .pill{align-self:flex-start}.fcs-report-actions form,.fcs-report-actions .button{width:100%}.fcs-change-cell{min-width:240px}}

/* 0.7.0 - Audit log */
.audit-filter-card{margin-bottom:18px}.audit-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:12px;align-items:end}.audit-filters label{display:grid;gap:6px;font-size:12px;font-weight:700}.audit-filters select,.audit-filters input{width:100%}.audit-list{display:grid;gap:12px}.audit-entry{border:1px solid var(--line);border-radius:14px;padding:15px;background:#fff}.audit-entry-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.audit-entry-head>div:first-child{display:grid;gap:4px;min-width:0}.audit-entry-head small{color:var(--muted)}.audit-badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.audit-meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px;color:var(--muted);font-size:12px}.audit-entry details{margin-top:10px}.audit-entry summary{cursor:pointer;color:var(--brand-primary);font-weight:700;font-size:12px}.audit-entry pre{margin:10px 0 0;padding:12px;border-radius:10px;background:#f6f8fa;overflow:auto;font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:800px){.audit-filters{grid-template-columns:1fr}.audit-filters .button{width:100%;justify-content:center}.audit-entry-head{flex-direction:column}.audit-badges{justify-content:flex-start}}


/* 0.7.2 - Audit-Log UX: portal controls and human-readable before/after details */
.audit-filters .audit-control{
  width:100%;
  min-height:44px;
  border:1px solid #cfd7df;
  border-radius:10px;
  background:#fff;
  color:var(--text);
  padding:10px 38px 10px 12px;
  font:inherit;
  font-size:13px;
  outline:none;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.audit-filters select.audit-control{
  appearance:none;
  -webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2353606c' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 12px center;
  background-size:14px;
}
.audit-filters .audit-control:focus{
  border-color:var(--brand-primary);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-primary) 12%,transparent);
}
.audit-details>summary{display:inline-flex;align-items:center;gap:6px;list-style:none}.audit-details>summary::-webkit-details-marker{display:none}.audit-details>summary:before{content:'›';font-size:17px;line-height:1;transition:transform .15s ease}.audit-details[open]>summary:before{transform:rotate(90deg)}
.audit-detail-panel{margin-top:10px;display:grid;gap:9px}
.audit-change-row{border:1px solid var(--line);border-radius:12px;background:#f8fafc;padding:12px}
.audit-change-label{margin-bottom:8px;font-size:12px;font-weight:850;color:#344054}
.audit-change-values{display:grid;grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr);gap:10px;align-items:center}
.audit-change-values>div:not(.audit-change-arrow),.audit-info-value{display:grid;gap:4px;min-width:0;padding:10px 12px;border-radius:10px;background:#fff;border:1px solid #e7ebef}
.audit-change-values span,.audit-info-value span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:800}
.audit-change-values strong,.audit-info-value strong{font-size:13px;overflow-wrap:anywhere}
.audit-change-arrow{display:grid;place-items:center;width:30px;height:30px;border-radius:999px;background:color-mix(in srgb,var(--brand-primary) 9%,#fff);color:var(--brand-primary);font-weight:900;font-size:18px}
.audit-tech-details{margin-top:2px!important}.audit-tech-details>summary{color:var(--muted)!important;font-size:11px!important;font-weight:700!important}.audit-tech-details pre{margin-top:8px!important}.audit-no-detail{margin:0;color:var(--muted);font-size:12px}
@media(max-width:620px){
  .audit-change-values{grid-template-columns:1fr;gap:7px}
  .audit-change-arrow{width:28px;height:28px;transform:rotate(90deg);justify-self:center}
}

/* 0.8.0 member import */
.import-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 16px}.import-steps span{display:flex;align-items:center;gap:9px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--muted);font-size:12px;font-weight:800}.import-steps b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#edf1f4;color:#52606d}.import-steps span.active{border-color:var(--brand-primary);color:var(--brand-primary);background:#f3f8fc}.import-steps span.active b,.import-steps span.done b{background:var(--brand-primary);color:#fff}.import-upload-form{display:grid;gap:16px}.import-upload-form input[type=file]{padding:14px;border:1px dashed #cfd6dd;border-radius:12px;background:#f8fafc}.import-info-box,.import-confirm-box{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding:14px 16px;border:1px solid #d7e5ef;border-radius:12px;background:#f6fbff}.import-info-box{justify-content:flex-start}.import-info-box span,.import-confirm-box span{color:var(--muted);font-size:12px;line-height:1.5}.import-confirm-box>div{display:grid;gap:4px}.mapping-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.mapping-grid .wide{grid-column:1/-1}.mapping-grid select{width:100%;min-height:44px;padding:10px 38px 10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text)}.import-message-list{margin:6px 0 0;padding-left:17px;color:var(--muted);font-size:11px;line-height:1.45}.import-message-list.error-list{color:#9b2c2c}.import-error-row{background:#fff9f8}.table-subline{display:block;margin-top:3px;color:var(--muted);font-size:11px}.import-metrics{margin-bottom:16px}@media(max-width:720px){.import-steps{grid-template-columns:1fr}.mapping-grid{grid-template-columns:1fr}.mapping-grid .wide{grid-column:auto}.import-confirm-box{align-items:stretch;flex-direction:column}.import-confirm-box form,.import-confirm-box .button{width:100%}.import-preview-table{min-width:780px}}

/* 0.8.1 – OFCS import + portal access onboarding */
.import-format-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}.import-format-card{display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer}.import-format-card.is-selected{border-color:var(--brand-primary);box-shadow:0 0 0 1px color-mix(in srgb,var(--brand-primary) 30%,transparent);background:color-mix(in srgb,var(--brand-primary) 4%,#fff)}.import-format-card input{width:18px;height:18px;margin:0}.import-format-card span{display:grid;gap:3px}.import-format-card small{color:var(--muted);font-size:12px;line-height:1.4}.upload-picker{display:flex;align-items:center;gap:12px;padding:12px;border:1px dashed #cfd6dd;border-radius:12px;background:#f8fafc;cursor:pointer}.upload-picker input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.upload-picker-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 14px;border:1px solid #c8d4df;border-radius:10px;background:#fff;color:var(--brand-primary);font-weight:800}.upload-picker-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.upload-picker-note{display:block;margin:7px 0 16px;color:var(--muted)}.portal-access-card{margin-top:18px}.portal-access-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end}.portal-access-summary{display:grid;gap:4px;padding:14px;border:1px solid #dce7e0;border-radius:12px;background:#f4fbf6}.portal-access-summary span{color:var(--muted)}
@media(max-width:700px){.import-format-options{grid-template-columns:1fr}.upload-picker{align-items:stretch;flex-direction:column}.upload-picker-button{width:100%}.upload-picker-name{text-align:center}.portal-access-form{grid-template-columns:1fr}.portal-access-form .button{width:100%;justify-content:center}}


/* 0.8.4 – Portalzugang & Navigation UI Polish */
.admin-nav a{display:flex;align-items:center;justify-content:space-between;gap:10px}.admin-nav-label{display:inline-flex;align-items:center;gap:7px;min-width:0}.admin-nav a small{display:none!important}.nav-count{width:20px;height:20px;min-width:20px;font-size:10px;flex:0 0 20px;vertical-align:middle}.portal-status{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:800;white-space:nowrap}.portal-status-icon{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;min-width:25px;border-radius:50%;font-size:14px;font-weight:900;line-height:1}.portal-status-ok{color:var(--success)}.portal-status-ok .portal-status-icon{background:#eaf8f0;color:var(--success)}.portal-status-warn{color:#8a6200}.portal-status-warn .portal-status-icon{background:#fff3c4;color:#8a6200}.portal-status-triangle{border-radius:0;background:transparent!important;clip-path:polygon(50% 2%,98% 92%,2% 92%);background:#fff0ad!important;padding-top:6px;color:#7c5700!important}.portal-access-form{grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;align-items:end}.portal-access-email-field{grid-column:1}.portal-access-submit{grid-column:2;align-self:end;min-height:44px}.portal-access-help{grid-column:1/-1;color:var(--muted);font-size:11px;line-height:1.4;margin-top:-2px}
@media(max-width:720px){.admin-nav a{justify-content:flex-start}.admin-nav-label{gap:6px}.nav-count{width:18px;height:18px;min-width:18px;flex-basis:18px;font-size:9px}.portal-access-form{grid-template-columns:1fr}.portal-access-email-field,.portal-access-submit,.portal-access-help{grid-column:1}.portal-access-submit{width:100%;justify-content:center}.member-table{min-width:860px}}

/* 0.8.5 – internal member number and fanclub-tariff progress */
.member-number-chip{display:inline-flex;align-items:center;gap:.45rem;margin-top:.75rem;padding:.45rem .7rem;border:1px solid var(--border,#dbe3ea);border-radius:999px;background:var(--surface,#fff);font-size:.85rem;color:var(--muted,#667085)}
.member-number-chip strong{color:var(--text,#111827)}
.tariff-status-field{align-self:stretch}
.tariff-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-top:.35rem}
.tariff-step{display:flex;align-items:center;gap:.65rem;padding:.85rem;border:1px solid #dfe5ea;border-radius:12px;background:#f8fafc;min-width:0}
.tariff-step-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;font-weight:800;line-height:1;background:#eef2f6;color:#667085}
.tariff-step span:last-child{display:flex;flex-direction:column;gap:.18rem;min-width:0}
.tariff-step strong{font-size:.92rem}
.tariff-step small{font-size:.78rem;color:#667085;line-height:1.35}
.tariff-step.done{background:#eefaf3;border-color:#cfeedd}.tariff-step.done .tariff-step-icon{background:#d7f4e3;color:#137a46}
.tariff-step.current{background:#fff8db;border-color:#f2d76b}.tariff-step.current .tariff-step-icon{background:#ffeb8a;color:#805c00}
.tariff-step.pending{background:#f7f8fa;color:#6b7280}
.tariff-status-simple{display:flex;flex-direction:column;gap:.25rem;margin-top:.35rem;padding:.85rem;border:1px solid #dfe5ea;border-radius:12px;background:#f8fafc}
.tariff-status-simple span{font-size:.82rem;color:#667085}.tariff-status-simple.muted{background:#f6f7f8}
@media (max-width:720px){.tariff-progress{grid-template-columns:1fr}.tariff-step{padding:.75rem}}

/* 0.8.6 Settings sub navigation */
.settings-subnav{display:flex;gap:8px;align-items:center;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin:0 0 16px;padding:4px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 28px rgba(24,46,66,.04)}
.settings-subnav::-webkit-scrollbar{display:none}
.settings-subnav a{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 14px;border-radius:10px;color:var(--muted);text-decoration:none;font-size:13px;font-weight:800;white-space:nowrap}
.settings-subnav a:hover{background:#f3f7fa;color:var(--text)}
.settings-subnav a.active{background:var(--brand-primary);color:#fff}
.settings-panel-hidden{display:none!important}
.settings-panel{margin-top:0}
@media(max-width:760px){
  .settings-subnav{margin-left:0;margin-right:0;padding:4px;scroll-padding-inline:8px}
  .settings-subnav a{min-height:40px;padding:8px 12px}
  .settings-form{padding-bottom:74px}
}


/* 0.8.7 – consistent admin subnavigation and centered tariff status icons */
.members-subnav{display:flex;gap:8px;align-items:center;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin:0 0 16px;padding:4px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 28px rgba(24,46,66,.04)}
.members-subnav::-webkit-scrollbar{display:none}
.members-subnav a{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 14px;border-radius:10px;color:var(--muted);text-decoration:none;font-size:13px;font-weight:800;white-space:nowrap}
.members-subnav a:hover{background:#f3f7fa;color:var(--text)}
.members-subnav a.active{background:var(--brand-primary);color:#fff}
@media(max-width:760px){
  .settings-subnav,.members-subnav{scroll-padding-inline:8px}
  .members-subnav{margin-left:0;margin-right:0;padding:4px}
  .members-subnav a{min-height:40px;padding:8px 12px}
  .settings-subnav + .scroll-cue,.members-subnav + .scroll-cue{z-index:12}
}


/* 0.8.8 – Mobile subnavigation & Audit-Log UI fix */
@media (max-width:720px){
  /* One rounded component for mobile settings/member subnavigation. */
  .scroll-affordance-subnav{
    border-radius:14px;
    overflow:hidden;
    background:#fff;
    border:1px solid var(--line);
    box-shadow:0 8px 28px rgba(24,46,66,.04);
  }
  .scroll-affordance-subnav>.settings-subnav,
  .scroll-affordance-subnav>.members-subnav{
    margin:0;
    border:0;
    border-radius:0;
    box-shadow:none;
    background:transparent;
  }
  .scroll-affordance-subnav:before,
  .scroll-affordance-subnav:after{
    top:1px;
    bottom:1px;
  }

  /* Audit page: never allow content to widen the viewport. */
  .audit-page,
  .audit-page .admin-card,
  .audit-page .audit-filter-card,
  .audit-page .audit-list,
  .audit-page .audit-entry,
  .audit-page .audit-entry-head,
  .audit-page .audit-entry-head>div,
  .audit-page .audit-detail-panel,
  .audit-page .audit-change-row,
  .audit-page .audit-meta{
    width:100%;
    max-width:100%;
    min-width:0;
  }
  .audit-page .admin-card{overflow:hidden}
  .audit-page .section-title{align-items:flex-start;flex-direction:column}
  .audit-page .section-title>.pill,
  .audit-page .section-title>.badge{align-self:flex-start}
  .audit-page .audit-entry{overflow:hidden}
  .audit-page .audit-entry-head{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
  .audit-page .audit-entry-head strong,
  .audit-page .audit-entry-head small,
  .audit-page .audit-meta span,
  .audit-page .audit-details,
  .audit-page .audit-detail-panel,
  .audit-page .audit-change-label,
  .audit-page .audit-info-value strong,
  .audit-page .audit-change-values strong{
    overflow-wrap:anywhere;
    word-break:break-word;
  }
  .audit-page .audit-badges{justify-content:flex-start;max-width:100%}
  .audit-page .audit-meta{display:grid;grid-template-columns:1fr;gap:6px}
  .audit-page .audit-filters{grid-template-columns:1fr}
  .audit-page .audit-filters>*{min-width:0;max-width:100%}
  .audit-page .audit-filters .button{width:100%}
  .audit-page .audit-change-values{grid-template-columns:1fr;gap:7px}
  .audit-page .audit-change-arrow{transform:rotate(90deg);justify-self:center}
  .audit-page .audit-tech-details pre{max-width:100%;overflow:auto}
}

/* 0.8.9 – Subnavigation spacing fix */
@media (max-width:720px){
  .scroll-affordance-subnav{margin-bottom:16px}
}

/* 0.8.10 – Families & minors */
.family-switcher{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 28px rgba(24,46,66,.04)}
.family-switcher-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.family-switcher-copy .kicker{margin:0}.family-switcher-copy span{color:var(--muted);font-size:13px}
.family-profile-actions{display:flex;gap:8px;align-items:center;overflow-x:auto;scrollbar-width:none}.family-profile-actions::-webkit-scrollbar{display:none}.family-profile-actions form{margin:0;flex:0 0 auto}
.family-profile-button{display:flex;align-items:center;gap:9px;min-height:48px;padding:7px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--text);font:inherit;text-align:left;cursor:pointer}.family-profile-button:hover{border-color:#b9cfdf;background:#f7fafc}.family-profile-button.active{border-color:var(--brand-primary);background:#edf6fc;box-shadow:0 0 0 1px var(--brand-primary) inset}.family-profile-button span:last-child{display:flex;flex-direction:column}.family-profile-button small{color:var(--muted);font-size:11px}.avatar.mini{width:30px;height:30px;min-width:30px;font-size:10px}
.family-admin-list{display:grid;gap:12px}.family-admin-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px;border:1px solid var(--line);border-radius:14px}.family-admin-card h3{margin:0 0 3px}.family-admin-card p{margin:0;color:var(--muted)}.family-admin-main{min-width:0}.guardian-chip-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.guardian-chip{display:inline-flex;padding:6px 9px;border-radius:999px;background:#eaf7ef;color:#177246;font-size:12px;font-weight:800}
.family-member-card{margin-top:16px}.guardian-list{display:grid;gap:10px}.guardian-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:12px}.guardian-row>div:first-child{display:flex;flex-direction:column;min-width:0}.guardian-row>div:first-child span{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.guardian-permissions{display:flex;flex-wrap:wrap;gap:6px}.guardian-assign-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}

@media(max-width:760px){
  .family-switcher{align-items:stretch;flex-direction:column;padding:14px;margin-bottom:16px}.family-profile-actions{margin:0 -2px;padding:2px}.family-profile-button{min-width:190px}
  .family-admin-card{grid-template-columns:auto minmax(0,1fr)}.family-admin-card>a{grid-column:1/-1;width:100%}.guardian-row{grid-template-columns:1fr}.guardian-permissions{justify-content:flex-start}.guardian-row form,.guardian-row .button{width:100%}.guardian-assign-form{grid-template-columns:1fr}.guardian-assign-form .button{width:100%}
}

/* 0.8.11 – Family UI polish & relationship model */
.family-switcher{margin-top:18px}
.family-profile-actions{align-items:stretch}
.family-profile-actions form{display:flex}
.family-profile-button{height:64px;min-height:64px;box-sizing:border-box}
.family-profile-button>span:last-child{min-width:0;justify-content:center}
.family-profile-button strong{line-height:1.15}
.family-avatar.avatar.mini{width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;flex:0 0 30px!important;aspect-ratio:1/1;border-radius:50%!important;overflow:hidden}
.guardian-assign-form{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr) auto}
.guardian-assign-form .relationship-custom-field[hidden]{display:none!important}

@media(max-width:760px){
  .family-switcher{margin-top:16px;margin-bottom:16px}
  .family-profile-actions{align-items:stretch}
  .family-profile-actions form{display:flex;align-items:stretch}
  .family-profile-button{height:72px;min-height:72px;min-width:210px;max-width:210px}
  .family-profile-button>span:last-child{min-width:0;max-width:145px}
  .family-profile-button strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .guardian-assign-form{grid-template-columns:1fr}
}

/* 0.8.12 – Family Profile Card Responsive Fix */
.family-profile-actions{align-items:stretch}
.family-profile-actions form{display:flex;align-items:stretch;min-width:0}
.family-profile-button{height:auto;min-height:64px;width:100%}
.family-profile-button>span:last-child{min-width:0}
.family-profile-button strong{white-space:normal;overflow-wrap:anywhere;word-break:normal}

@media(max-width:760px){
  .family-profile-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow:visible;margin:0;padding:2px}
  .family-profile-actions form{min-width:0;width:100%}
  .family-profile-button{min-width:0;max-width:none;width:100%;height:auto;min-height:72px;padding:9px 10px}
  .family-profile-button>span:last-child{min-width:0;max-width:none}
  .family-profile-button strong{display:block;-webkit-line-clamp:unset;-webkit-box-orient:unset;overflow:visible;white-space:normal;overflow-wrap:anywhere;line-height:1.15}
}

@media(max-width:390px){
  .family-profile-actions{grid-template-columns:1fr}
}

/* 0.9.0 – flexible roles & permissions */
.role-subnav{margin-bottom:18px}
.role-manager-intro,.role-create-card{margin-bottom:18px}
.custom-role-form{display:grid;gap:16px;margin-top:14px}
.permission-groups{display:grid;gap:14px}
.permission-group{margin:0;padding:14px;border:1px solid var(--line);border-radius:13px;background:#fbfcfd}
.permission-group legend{padding:0 7px;font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-primary)}
.permission-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.permission-choice{display:flex;align-items:flex-start;gap:10px;min-width:0;padding:11px 12px;border:1px solid #e2e7ec;border-radius:11px;background:#fff;cursor:pointer}
.permission-choice input{flex:0 0 auto;margin-top:3px}
.permission-choice>span{display:grid;gap:3px;min-width:0}.permission-choice strong{font-size:13px}.permission-choice small{color:var(--muted);font-size:11px;line-height:1.4}
.custom-role-list{display:grid;gap:13px;margin-top:18px}
.custom-role-card{padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff}
.custom-role-card.system-role{background:#fbfcfd}.custom-role-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.custom-role-head h3{margin:0 0 4px}.custom-role-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.role-editor{margin-top:12px;border-top:1px solid var(--line);padding-top:12px}.role-editor>summary{cursor:pointer;color:var(--brand-primary);font-size:12px;font-weight:850}.role-editor>summary::marker{color:var(--brand-primary)}
.role-active-toggle{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff}.role-active-toggle input{margin-top:3px}.role-active-toggle>span{display:grid;gap:3px}.role-active-toggle small{color:var(--muted);font-size:11px}
.role-delete-form{display:flex;justify-content:flex-end;margin-top:10px}.button.danger{border-color:#f4c7c7;background:#fff1f1;color:#b42318}.button.danger:hover{background:#ffe8e8}
.dynamic-role-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.inline-system-label{display:inline-flex;margin-left:5px;padding:2px 5px;border-radius:999px;background:#e8f3fb;color:#0b5f98;font-size:9px!important;vertical-align:middle}.role-choice.role-inactive{opacity:.65}
@media(max-width:900px){.permission-choice-grid,.dynamic-role-grid{grid-template-columns:1fr}.custom-role-head{flex-direction:column}.custom-role-head .badge-stack{justify-content:flex-start}}
@media(max-width:720px){.permission-group{padding:11px}.custom-role-card{padding:13px}.role-delete-form,.role-delete-form .button{width:100%}.role-delete-form .button{justify-content:center}}

/* 0.9.1 – scalable user and role assignment */
.role-user-management{display:grid;gap:16px}
.role-user-heading{margin-bottom:0}
.role-user-search{display:grid;gap:7px;padding:14px;border:1px solid var(--line);border-radius:13px;background:#fbfcfd}
.role-user-search>label{display:grid;gap:7px;font-size:12px;font-weight:850}
.role-user-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:9px;align-items:center}
.role-user-search-row input{min-width:0}
.role-user-filter{display:flex;gap:8px;flex-wrap:wrap}
.role-search-context{padding:10px 12px;border-radius:10px;background:#f2f7fb;color:var(--muted);font-size:12px;line-height:1.45}
.compact-users-role-list{display:grid;gap:10px}
.compact-user-role-card{padding:14px 15px}
.role-user-identity{display:flex;align-items:center;gap:11px;min-width:0}
.role-user-avatar{flex:0 0 38px;width:38px;height:38px;font-size:11px}
.compact-role-summary{display:grid;grid-template-columns:1.4fr .8fr;gap:9px;margin-top:11px}
.compact-role-summary>span{display:grid;gap:3px;padding:10px 11px;border-radius:10px;background:#f6f8fa;min-width:0}
.compact-role-summary small{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:850}
.compact-role-summary strong{font-size:12px;overflow-wrap:anywhere}
.role-assignment-editor{margin-top:11px;border-top:1px solid var(--line);padding-top:10px}
.role-assignment-editor>summary{cursor:pointer;color:var(--brand-primary);font-size:12px;font-weight:850}
.role-assignment-editor .role-form{margin-top:11px}
.role-assignment-help{margin:0;color:var(--muted);font-size:11px;line-height:1.45}
.role-user-empty{padding:24px}
@media(max-width:720px){
  .role-user-search-row{grid-template-columns:1fr}
  .role-user-search-row .button{width:100%;justify-content:center}
  .compact-role-summary{grid-template-columns:1fr}
  .compact-user-role-card .user-role-head{align-items:flex-start}
}
.filter-pill{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#53606c;text-decoration:none;font-size:12px;font-weight:800}
.filter-pill:hover{border-color:#b8c8d6;color:var(--brand-primary);background:#f7fafc}
.filter-pill.active{border-color:color-mix(in srgb,var(--brand-primary) 30%,#fff);background:#e8f2ff;color:var(--brand-primary)}

/* 0.9.2 – role management UI polish & live user search */
.role-form-grid .field{gap:7px}
.role-form-grid .field>span{font-size:13px;font-weight:800}
.role-user-search .field{gap:7px}
.role-user-search-row .role-live-search-wrap{position:relative;min-width:0}
.role-user-search-row input[type="search"]{display:block;width:100%;min-width:0;max-width:100%;min-height:44px;border:1px solid #cbd4dd;border-radius:10px;background:#fff;padding:12px 13px;color:var(--text);appearance:none;-webkit-appearance:none}
.role-user-search-row input[type="search"]:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-primary) 9%,transparent);outline:none}
.role-search-hint{color:var(--muted);font-size:11px;font-weight:500;line-height:1.4}
.role-live-search-results{position:absolute;z-index:30;top:calc(100% + 7px);left:0;right:0;overflow:hidden;border:1px solid #cfd9e2;border-radius:12px;background:#fff;box-shadow:0 16px 34px rgba(8,18,29,.14)}
.role-live-search-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border-top:1px solid #edf1f4;color:var(--text);text-decoration:none}
.role-live-search-item:first-child{border-top:0}
.role-live-search-item:hover,.role-live-search-item:focus{background:#f3f8fc;outline:none}
.role-live-search-avatar{width:34px;height:34px;flex:0 0 34px;font-size:10px}
.role-live-search-text{display:grid;gap:2px;min-width:0}
.role-live-search-text strong{font-size:13px;overflow-wrap:anywhere}
.role-live-search-text small{color:var(--muted);font-size:11px;overflow-wrap:anywhere}
.role-live-search-role{max-width:190px;color:var(--muted);font-size:10px;font-weight:800;text-align:right;overflow-wrap:anywhere}
.role-live-search-empty{padding:12px;color:var(--muted);font-size:12px}
.permission-choice,.role-choice,.role-active-toggle{align-items:center}
.permission-choice input,.role-choice input,.role-active-toggle input{width:16px;height:16px;margin:0;align-self:center;flex:0 0 16px}
@media(max-width:720px){
  .role-live-search-item{grid-template-columns:auto minmax(0,1fr)}
  .role-live-search-role{grid-column:2;max-width:none;text-align:left}
}

/* 0.9.3 – role search across all members and portal-access states */
.role-live-search-status{font-weight:750}
.role-live-search-status.status-active{color:#1b7f4d}
.role-live-search-status.status-invited{color:#956400}
.role-live-search-status.status-ready{color:#176ca8}
.role-live-search-status.status-missing_email{color:#956400}

/* 0.9.4 – role search portal-access UX */
.role-live-search-minor{color:#956400!important;font-weight:750}
#portal-zugang{scroll-margin-top:24px}
.role-live-search-role{color:var(--brand-primary)}

/* 0.9.5 role master-detail */
.role-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin-top:18px}.role-overview-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:inherit;text-decoration:none;min-width:0}.role-overview-item:hover,.role-overview-item.active{border-color:var(--brand-primary);box-shadow:0 0 0 1px color-mix(in srgb,var(--brand-primary) 35%,transparent);background:#f7fbff}.role-overview-item>span:first-child{display:grid;gap:3px;min-width:0}.role-overview-item strong{font-size:14px}.role-overview-item small{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.role-overview-badges{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.role-overview-badges em{font-style:normal;font-size:10px;font-weight:800;padding:4px 7px;border-radius:999px;background:#eef3f7;color:#52606d;white-space:nowrap}.role-detail-card,.role-master-empty{margin-top:18px}.template-subheading{padding-top:8px;border-top:1px solid var(--line);margin-top:6px}.template-subheading h3{margin:3px 0 4px}.template-subheading p:last-child{margin:0;color:var(--muted);font-size:12px}
@media(max-width:720px){.role-manager-intro .section-heading-row{align-items:stretch}.role-manager-intro .section-heading-row>.button{width:100%;justify-content:center}.role-overview-grid{grid-template-columns:1fr}.role-overview-item small{white-space:normal}.role-overview-item{align-items:flex-start}.role-overview-badges{max-width:42%}}

/* 0.9.6 role detail header alignment */
.role-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:14px}
.role-detail-copy{min-width:0;flex:1 1 auto}
.role-detail-copy .intro{margin-bottom:0}
.role-detail-badges{flex:0 0 auto;align-self:flex-start;justify-content:flex-end;margin-top:0}
@media(max-width:720px){.role-detail-head{flex-direction:column;gap:10px}.role-detail-badges{justify-content:flex-start}}

/* 0.9.7 role manager scroll position */
#role-detail{scroll-margin-top:18px}
@media(max-width:720px){#role-detail{scroll-margin-top:14px}}
/* 0.9.9 branding */
.login-brand-panel[style*="--login-background-image"]{background-image:linear-gradient(135deg,color-mix(in srgb,var(--brand-secondary) 84%,transparent),color-mix(in srgb,var(--brand-primary) 72%,transparent)),var(--login-background-image);background-size:cover;background-position:center}
.site-footer a{color:inherit;text-underline-offset:3px}
.branding-upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.branding-upload{border:1px solid var(--line);border-radius:14px;padding:14px;display:grid;gap:10px;align-content:start}
.branding-upload strong{font-size:13px}.branding-upload small{color:var(--muted);line-height:1.45}
.branding-upload-preview{height:118px;border-radius:12px;background:#f4f7fa;border:1px dashed #cbd5df;display:grid;place-items:center;overflow:hidden}
.branding-upload-preview img{max-width:100%;max-height:100%;object-fit:contain}
.branding-upload-preview.background img{width:100%;height:100%;object-fit:cover}
.branding-preview{margin-top:18px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--brand-background)}
.branding-preview-head{display:flex;align-items:center;gap:12px;padding:16px;background:var(--brand-secondary);color:#fff;border-bottom:4px solid var(--brand-accent)}
.branding-preview-head img{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.8)}
.branding-preview-head span{display:grid}.branding-preview-head small{opacity:.72}.branding-preview-body{padding:18px;background:var(--brand-surface)}
.branding-preview-body .preview-button{display:inline-flex;margin-top:12px;background:var(--brand-primary);color:#fff;padding:9px 13px;border-radius:9px;font-weight:800;font-size:12px}
.branding-reset-row{display:flex;justify-content:flex-end;margin-top:14px}
@media (max-width:720px){.branding-upload-grid{grid-template-columns:1fr}}

/* 0.9.10 branding upload and logo preview polish */
.branding-upload-preview{height:170px;padding:14px;box-sizing:border-box}
.branding-upload-preview img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;object-position:center}
.branding-upload-preview.favicon img{width:min(96px,100%);height:min(96px,100%);margin:auto}
.branding-upload-preview.background{padding:0}
.branding-upload-preview.background img{width:100%;height:100%;object-fit:cover;padding:0}
.branding-file-picker{margin-top:2px;padding:9px 10px;background:#f8fafc}
.branding-file-picker .upload-picker-button{flex:0 0 auto;border-color:color-mix(in srgb,var(--brand-primary) 35%,#c8d4df);color:var(--brand-primary);background:#fff}
.branding-file-picker:hover .upload-picker-button{border-color:var(--brand-primary);background:color-mix(in srgb,var(--brand-primary) 5%,#fff)}
.branding-file-picker .upload-picker-name{font-size:12px;color:var(--muted)}
@media(max-width:720px){.branding-upload-preview{height:190px}.branding-file-picker{align-items:stretch}.branding-file-picker .upload-picker-name{text-align:center}}

/* 0.9.11 branding areas and live previews */
.branding-subnav{display:flex;gap:6px;margin:4px 0 18px;padding:5px;border:1px solid var(--line);border-radius:12px;background:#f7f9fb;overflow-x:auto;scrollbar-width:none}.branding-subnav::-webkit-scrollbar{display:none}.branding-subnav button{appearance:none;border:0;background:transparent;color:var(--muted);font:inherit;font-size:12px;font-weight:850;white-space:nowrap;padding:9px 13px;border-radius:8px;cursor:pointer}.branding-subnav button.active{background:var(--brand-primary);color:#fff}.branding-tab-panel{display:none}.branding-tab-panel.active{display:block}.branding-panel-heading{display:flex;justify-content:space-between;gap:16px;margin:2px 0 14px}.branding-panel-heading h3{margin:0 0 4px}.branding-panel-heading p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.branding-upload-grid-single{grid-template-columns:minmax(0,520px)}
.branding-upload-preview{height:220px;padding:18px;overflow:visible}.branding-upload-preview.logo-contain{background:#f4f7fa}.branding-upload-preview img,.branding-upload-preview.logo-contain img{display:block;width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;margin:auto}.branding-upload-preview.favicon{overflow:hidden}.branding-upload-preview.favicon img{width:auto!important;height:auto!important;max-width:96px!important;max-height:96px!important}.branding-upload-preview.background{overflow:hidden;padding:0}.branding-upload-preview.background img{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;margin:0}
.branding-context-preview{--brand-primary:var(--brand-primary);--brand-secondary:var(--brand-secondary);--brand-accent:var(--brand-accent);--brand-surface:var(--brand-surface);--brand-background:var(--brand-background);margin-top:18px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--brand-background)}.preview-eyebrow{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:900;color:var(--brand-primary);margin-bottom:6px}.preview-input{padding:10px 12px;border:1px solid #dce3e9;border-radius:9px;background:#fff;color:#8b96a1;font-size:11px}.branding-context-preview .preview-button{display:inline-flex;align-items:center;justify-content:center;background:var(--brand-primary);color:#fff;padding:9px 13px;border-radius:9px;font-weight:850;font-size:11px}
.login-context-preview{min-height:360px;display:grid;grid-template-columns:1.05fr .95fr;background:linear-gradient(135deg,color-mix(in srgb,var(--brand-secondary) 88%,transparent),color-mix(in srgb,var(--brand-primary) 76%,transparent)),var(--preview-login-bg,none);background-size:cover;background-position:center}.login-context-brand{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#fff;padding:34px}.login-context-brand img{width:150px;height:150px;object-fit:contain;margin-bottom:15px}.login-context-brand strong{font-size:20px}.login-context-brand span{opacity:.8;font-size:12px;margin-top:4px}.login-context-card{margin:28px;background:var(--brand-surface);border-radius:15px;padding:26px;display:grid;align-content:center;gap:10px;box-shadow:0 18px 45px rgba(0,0,0,.12)}.login-context-card h3{margin:0 0 6px;font-size:24px}
.portal-context-preview{background:var(--brand-background)}.portal-preview-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:var(--brand-surface);border-bottom:1px solid var(--line)}.portal-preview-header>div{display:flex;align-items:center;gap:10px}.portal-preview-header img{width:54px;height:54px;object-fit:contain}.portal-preview-header span span,.portal-preview-header span{display:grid}.portal-preview-header small{color:var(--muted)}.portal-preview-user{display:inline-flex!important;padding:7px 10px;border-radius:999px;background:color-mix(in srgb,var(--brand-primary) 10%,#fff);color:var(--brand-primary);font-size:10px;font-weight:850}.portal-preview-content{padding:26px;background:var(--brand-background)}.portal-preview-content h3{font-size:24px;margin:0 0 6px}.portal-preview-content p{color:var(--muted);margin:0 0 18px}.portal-preview-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.portal-preview-cards span{height:72px;border-radius:11px;background:var(--brand-surface);border:1px solid var(--line);box-shadow:inset 0 4px 0 var(--brand-accent)}
.email-context-preview{padding:22px;background:#eef2f5}.email-preview-shell{max-width:620px;margin:auto;background:var(--brand-surface);border-radius:14px;overflow:hidden;box-shadow:0 12px 34px rgba(8,18,29,.1)}.email-preview-head{display:flex;align-items:center;gap:12px;padding:16px 18px;background:var(--brand-secondary);color:#fff;border-bottom:4px solid var(--brand-accent)}.email-preview-head img{width:64px;height:64px;object-fit:contain}.email-preview-head div{display:grid}.email-preview-head small{opacity:.72}.email-preview-body{padding:24px}.email-preview-body h3{margin:0 0 8px}.email-preview-body p{color:var(--muted);line-height:1.55}.email-preview-footer{padding:12px 18px;border-top:1px solid var(--line);color:var(--muted);font-size:10px;text-align:center}.settings-unsaved{color:var(--brand-accent)!important;font-weight:850}
@media(max-width:720px){.branding-subnav{margin-left:-2px;margin-right:-2px}.branding-upload-preview{height:230px}.branding-upload-grid-single{grid-template-columns:1fr}.login-context-preview{grid-template-columns:1fr;min-height:0}.login-context-brand{padding:26px}.login-context-brand img{width:120px;height:120px}.login-context-card{margin:0;border-radius:0;padding:22px}.portal-preview-cards{grid-template-columns:1fr}.portal-preview-cards span{height:54px}}


/* 0.9.12 branding preview layout fix */
.branding-upload{min-width:0;overflow:hidden}
.branding-upload-preview{position:relative;width:100%;height:220px;min-width:0;box-sizing:border-box;padding:18px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.branding-upload-preview.logo-contain{overflow:hidden;background:#f4f7fa}
.branding-upload-preview.logo-contain img{display:block!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;margin:0!important}
.branding-upload-preview.favicon{overflow:hidden}
.branding-upload-preview.favicon img{display:block!important;width:96px!important;height:96px!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;margin:0!important}
.branding-upload-preview.background{padding:0;overflow:hidden}
.branding-upload-preview.background img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center!important;margin:0!important}
.branding-file-picker{position:relative;z-index:1;min-width:0}
.branding-context-preview{position:relative;z-index:0;clear:both}
@media(max-width:720px){.branding-upload-preview{height:210px}}

/* 0.9.13 branding layout reorganisation */
.branding-global-colors{margin-bottom:18px}
.branding-global-colors .branding-panel-heading{margin-top:0;margin-bottom:12px}
.branding-global-colors + .branding-subnav{margin-top:0}

/* 0.9.16 branding preview reality alignment */
.login-context-preview-real{min-height:390px;grid-template-columns:48% 52%;background:#fff}
.login-context-preview-real .login-context-brand-real{position:relative;overflow:hidden;justify-content:center;background:linear-gradient(145deg,var(--brand-secondary) 0 38%,color-mix(in srgb,var(--brand-primary) 36%,#071c2e) 38% 62%,var(--brand-primary) 62% 100%);padding:30px 24px;color:#fff}
.login-context-preview-real .login-context-brand-real:after{content:"";position:absolute;right:-82px;bottom:-112px;width:245px;height:245px;border:30px solid color-mix(in srgb,var(--brand-accent) 82%,transparent);border-radius:50%;opacity:.16}
.login-context-preview-real[style*="--preview-login-bg"] .login-context-brand-real{background-image:linear-gradient(135deg,color-mix(in srgb,var(--brand-secondary) 84%,transparent),color-mix(in srgb,var(--brand-primary) 72%,transparent)),var(--preview-login-bg);background-size:cover;background-position:center}
.login-context-preview-real .login-context-brand-real img{position:relative;z-index:1;width:128px;height:128px;border-radius:50%;object-fit:cover;border:4px solid rgba(255,255,255,.92);box-shadow:0 12px 30px rgba(0,0,0,.22);margin:0 0 10px}
.login-context-preview-real .login-context-brand-real strong,.login-context-preview-real .login-context-brand-real span,.login-context-preview-real .login-preview-ofcs{position:relative;z-index:1}
.login-preview-kicker{text-transform:uppercase;letter-spacing:.14em;color:var(--brand-accent);font-size:9px;font-weight:900;margin-bottom:6px}.login-context-preview-real .login-context-brand-real strong{font-size:24px}.login-preview-subtitle{font-size:10px;opacity:.82;margin-top:4px}.login-preview-ofcs{margin-top:18px;padding:8px 16px;background:#fff;color:#52606d;border-radius:7px;font-size:9px;font-weight:900;border:1px solid rgba(0,0,0,.08)}
.login-context-form-real{display:grid;place-items:center;background:#fff;padding:28px}.login-context-card-real{width:min(360px,100%);margin:0;padding:0;box-shadow:none;border-radius:0;background:#fff}.login-context-card-real p{font-size:11px;color:var(--muted);margin:0 0 12px}.login-context-card-real label{display:grid;gap:5px;font-size:9px;font-weight:800}.login-context-card-real .preview-input{height:12px;padding:8px 10px}.login-preview-submit{width:100%;box-sizing:border-box;margin-top:2px;background:var(--brand-accent)!important;color:#111!important}.login-context-card-real>small{font-size:9px;color:var(--muted)}
.portal-context-preview-real{background:var(--brand-background);padding:0}.portal-preview-header-real{padding:12px 16px}.portal-preview-header-real img{width:42px;height:42px}.portal-preview-account{display:flex!important;align-items:center!important;gap:8px!important}.portal-preview-avatar{display:grid!important;place-items:center!important;width:28px;height:28px;border-radius:50%;background:var(--brand-secondary);color:#fff;font-size:8px;font-weight:900}.portal-preview-account>span:last-child{display:grid!important}.portal-preview-account small{font-size:9px}.portal-preview-family{margin:12px 14px 0;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--brand-surface);display:flex;justify-content:space-between;align-items:center;gap:10px}.portal-preview-family>span{display:grid}.portal-preview-family b{text-transform:uppercase;letter-spacing:.12em;color:var(--brand-primary);font-size:8px}.portal-preview-family small{font-size:9px;color:var(--muted)}.portal-preview-family>div{display:flex;gap:6px}.portal-preview-family>div span{padding:6px 8px;border:1px solid var(--line);border-radius:8px;font-size:8px;background:#fff}.portal-preview-family>div span.active{border-color:var(--brand-primary);background:color-mix(in srgb,var(--brand-primary) 8%,#fff)}
.portal-preview-content-real{padding:20px 16px}.portal-preview-content-real h3{font-size:24px}.portal-preview-status{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:10px;background:var(--brand-surface);overflow:hidden;margin:12px 0}.portal-preview-status>span{display:grid;grid-template-columns:auto 1fr;gap:1px 6px;padding:9px;border-right:1px solid var(--line);font-size:8px}.portal-preview-status>span:last-child{border-right:0}.portal-preview-status i{grid-row:1/3;width:7px;height:7px;border-radius:50%;background:#238457;margin-top:2px}.portal-preview-status small{color:var(--muted);font-size:7px}.portal-preview-cards-real{grid-template-columns:repeat(2,1fr);gap:8px}.portal-preview-cards-real span{height:auto;min-height:74px;display:flex;flex-direction:column;align-items:flex-start;padding:10px;box-sizing:border-box;border-top:3px solid var(--brand-accent);box-shadow:none}.portal-preview-cards-real b{font-size:7px;text-transform:uppercase;letter-spacing:.12em;color:var(--brand-primary)}.portal-preview-cards-real strong{font-size:11px;margin:4px 0}.portal-preview-cards-real small{font-size:8px;color:var(--muted);line-height:1.35}
@media(max-width:720px){.login-context-preview-real{grid-template-columns:1fr}.login-context-preview-real .login-context-brand-real{min-height:240px}.login-context-form-real{padding:20px}.portal-preview-account{display:none!important}.portal-preview-family{align-items:flex-start;flex-direction:column}.portal-preview-status{grid-template-columns:1fr}.portal-preview-status>span{border-right:0;border-bottom:1px solid var(--line)}.portal-preview-status>span:last-child{border-bottom:0}.portal-preview-cards-real{grid-template-columns:1fr}}


/* 0.9.17 preview labels and login preview polish */
.branding-preview-heading{display:flex;align-items:baseline;gap:10px;margin:16px 2px 8px}
.branding-preview-heading span{font-size:13px;font-weight:900;color:var(--text)}
.branding-preview-heading small{font-size:10px;color:var(--muted)}
.login-context-preview-real{min-height:408px;grid-template-columns:50% 50%;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.login-context-preview-real .login-context-brand-real{position:relative;overflow:hidden;justify-content:center;padding:28px 22px;color:#fff;background:
  linear-gradient(145deg,#050607 0 40%,transparent 40%),
  linear-gradient(145deg,#0b3048 0 65%,var(--brand-primary) 65% 100%)}
.login-context-preview-real .login-context-brand-real:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,transparent 0 61%,color-mix(in srgb,var(--brand-primary) 92%,#1d6fba) 61% 100%);opacity:.92;pointer-events:none}
.login-context-preview-real .login-context-brand-real:after{content:"";position:absolute;right:-88px;bottom:-118px;width:250px;height:250px;border:28px solid rgba(255,255,255,.16);border-radius:50%;opacity:.78;pointer-events:none}
.login-context-preview-real[style*="--preview-login-bg"] .login-context-brand-real{background-image:linear-gradient(135deg,rgba(0,0,0,.34),rgba(11,95,165,.28)),var(--preview-login-bg);background-size:cover;background-position:center}
.login-context-preview-real[style*="--preview-login-bg"] .login-context-brand-real:before{display:none}
.login-context-preview-real .login-context-brand-real img{position:relative;z-index:2;width:150px;height:150px;border-radius:50%;object-fit:cover;border:4px solid rgba(255,255,255,.94);box-shadow:0 12px 30px rgba(0,0,0,.24);margin:0 0 10px}
.login-context-preview-real .login-context-brand-real strong,.login-context-preview-real .login-context-brand-real span,.login-context-preview-real .login-preview-ofcs{position:relative;z-index:2}
.login-preview-kicker{font-size:8px;letter-spacing:.16em;margin-bottom:5px}
.login-context-preview-real .login-context-brand-real strong{font-size:23px;line-height:1.05;text-align:center}
.login-preview-subtitle{font-size:10px;opacity:.84;margin-top:5px;text-align:center;max-width:260px}
.login-preview-ofcs{margin-top:20px;padding:9px 15px;background:#fff;color:#52606d;border-radius:7px;font-size:8px;font-weight:900;border:1px solid rgba(0,0,0,.08);box-shadow:0 4px 12px rgba(0,0,0,.08)}
.login-context-form-real{display:flex;align-items:center;justify-content:center;background:#fff;padding:34px 42px}
.login-context-card-real{width:min(340px,100%);margin:0;padding:0;background:#fff;box-shadow:none;border-radius:0}
.login-context-card-real .preview-eyebrow{display:block;margin-bottom:8px;font-size:8px;letter-spacing:.16em}
.login-context-card-real h3{font-size:25px;line-height:1.05;margin:0 0 8px}
.login-context-card-real p{font-size:11px;color:var(--muted);margin:0 0 16px}
.login-context-card-real label{display:grid;gap:5px;font-size:8px;font-weight:850;margin-bottom:9px}
.login-context-card-real .preview-input{height:30px;display:flex;align-items:center;padding:0 10px;border:1px solid var(--line);border-radius:7px;background:#fff;color:#8b96a3;font-size:9px;box-sizing:border-box}
.login-preview-submit{display:flex;align-items:center;justify-content:center;width:100%;height:34px;box-sizing:border-box;margin:4px 0 9px;background:var(--brand-accent)!important;color:#111!important;border-radius:7px;font-size:9px;font-weight:900}
.login-context-card-real>small{font-size:8px;color:var(--muted)}
@media(max-width:720px){.branding-preview-heading{align-items:flex-start;flex-direction:column;gap:2px}.login-context-preview-real{grid-template-columns:1fr;min-height:0}.login-context-preview-real .login-context-brand-real{min-height:260px}.login-context-form-real{padding:26px 22px}.login-context-preview-real .login-context-brand-real img{width:132px;height:132px}}

/* 0.9.20 Fanclub branding defaults and scoped reset controls */
.branding-scope-reset{flex:0 0 auto;align-self:flex-start;white-space:nowrap}
.branding-default-card{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin-top:22px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}
.branding-default-copy{max-width:690px}.branding-default-copy h3{margin:7px 0 6px}.branding-default-copy p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}
.branding-default-status{display:inline-flex;align-items:center;min-height:24px;padding:4px 9px;border-radius:999px;background:#eef1f4;color:#5a6875;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.branding-default-status.is-set{background:#e6f6eb;color:#23733a}
.branding-default-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:285px}.branding-default-actions .button{justify-content:center;text-align:center}.branding-danger{border-color:#e3b9b9!important;color:#9e2e2e!important}.branding-danger:hover{background:#fff2f2!important}
.branding-confirm-dialog{width:min(560px,100%)}.branding-confirm-body{padding:20px 22px;color:#46515c;line-height:1.6}.branding-confirm-body p{margin:0}.branding-confirm-actions{display:flex;justify-content:flex-end;gap:10px;padding:16px 22px;border-top:1px solid var(--line);background:#f8fafc}
@media(max-width:760px){.branding-panel-heading{flex-direction:column}.branding-scope-reset{width:100%}.branding-default-card{flex-direction:column}.branding-default-actions{width:100%;min-width:0}.branding-confirm-actions{flex-direction:column-reverse}.branding-confirm-actions .button{width:100%}}

/* 0.9.22 first setup installation wizard */
.setup-wizard-body{margin:0;min-height:100vh;background:linear-gradient(145deg,#eef3f7,#f9fbfc);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}.setup-wizard-shell{width:min(1040px,calc(100% - 32px));margin:0 auto;padding:34px 0 26px}.setup-wizard-brand{display:flex;align-items:center;gap:12px;margin-bottom:24px}.setup-wizard-brand img{width:54px;height:54px;border-radius:50%;object-fit:cover;box-shadow:0 8px 24px rgba(16,42,67,.12)}.setup-wizard-brand div{display:grid}.setup-wizard-brand strong{font-size:18px}.setup-wizard-brand span{color:var(--muted);font-size:12px}.setup-wizard-progress{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:18px}.setup-progress-step{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:#758391;min-width:0}.setup-progress-step>span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#eef2f5;font-weight:900;font-size:11px;flex:none}.setup-progress-step small{font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.setup-progress-step.active{border-color:var(--brand-primary);color:var(--brand-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand-primary) 10%,transparent)}.setup-progress-step.active>span{background:var(--brand-primary);color:#fff}.setup-progress-step.done>span{background:#e7f6ed;color:#21824e}.setup-progress-step.done{color:#3e6953}.setup-wizard-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px;box-shadow:0 24px 60px rgba(24,46,66,.08)}.setup-wizard-card h1{margin:2px 0 8px;font-size:34px}.setup-lead{margin:0 0 24px;color:var(--muted);font-size:15px;line-height:1.6;max-width:780px}.setup-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:26px 0}.setup-summary-grid>div{display:grid;gap:4px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}.setup-summary-grid span{color:var(--muted);font-size:12px}.setup-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.setup-form-grid .wide{grid-column:1/-1}.setup-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.setup-hint{padding:12px 14px;border-radius:12px;background:#eef6fc;color:#3f6078;font-size:12px}.setup-color-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.setup-color-field{display:grid;gap:8px;padding:13px;border:1px solid var(--line);border-radius:13px}.setup-color-field>span{font-weight:800;font-size:12px}.setup-color-field>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.setup-color-field input[type=color]{width:42px;height:32px;padding:0;border:0;background:none}.setup-color-field code{font-size:10px;color:var(--muted)}.setup-preview{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:16px;overflow:hidden;min-height:190px}.setup-preview-brand{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:24px;background:linear-gradient(145deg,var(--brand-secondary) 0 42%,#0d314a 42% 64%,var(--brand-primary) 64%);color:#fff}.setup-preview-brand:after{content:"";position:absolute;width:160px;height:160px;border:22px solid rgba(255,255,255,.15);border-radius:50%;right:-64px;bottom:-86px}.setup-preview-brand img{width:80px;height:80px;border-radius:50%;object-fit:cover;z-index:1}.setup-preview-brand strong,.setup-preview-brand span{z-index:1}.setup-preview-brand strong{margin-top:9px;font-size:18px}.setup-preview-brand span{font-size:10px;opacity:.8}.setup-preview-card{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:28px}.setup-preview-card small{text-transform:uppercase;letter-spacing:.12em;color:var(--brand-primary);font-weight:900}.setup-preview-card strong{font-size:22px;margin:5px 0 18px}.setup-preview-card button{border:0;border-radius:8px;background:var(--brand-accent);padding:10px 18px;font-weight:900}.setup-review{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.setup-review>div{display:grid;gap:5px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}.setup-review span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--brand-primary);font-weight:900}.setup-review small{color:var(--muted)}.setup-wizard-footer{text-align:center;color:var(--muted);font-size:11px;padding:18px}.setup-flashes{margin:0 0 16px}.setup-wizard-card input[type=file]{padding:9px;background:#fff}.setup-wizard-card code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
@media(max-width:820px){.setup-wizard-progress{grid-template-columns:repeat(3,1fr)}.setup-summary-grid{grid-template-columns:1fr 1fr}.setup-color-grid{grid-template-columns:1fr 1fr 1fr}.setup-preview{grid-template-columns:1fr}.setup-review{grid-template-columns:1fr}}
@media(max-width:560px){.setup-wizard-shell{width:min(100% - 20px,1040px);padding-top:18px}.setup-wizard-progress{grid-template-columns:1fr 1fr}.setup-progress-step{padding:8px}.setup-wizard-card{padding:20px}.setup-wizard-card h1{font-size:28px}.setup-form-grid{grid-template-columns:1fr}.setup-form-grid .wide{grid-column:auto}.setup-summary-grid,.setup-color-grid{grid-template-columns:1fr}.setup-actions{flex-direction:column-reverse}.setup-actions .button{width:100%}.setup-preview-brand{min-height:190px}}

/* 0.9.23 Setup Wizard Typography & UI Consistency */
.setup-wizard-body button,.setup-wizard-body input,.setup-wizard-body select,.setup-wizard-body textarea{font-family:inherit;font-size:inherit;line-height:inherit}
.setup-wizard-body .button{font-family:inherit;font-weight:850}
.setup-wizard-card h1,.setup-wizard-card h2,.setup-wizard-card h3,.setup-wizard-brand strong,.setup-summary-grid strong,.setup-review strong{font-family:inherit}
.setup-wizard-card .field input{min-height:44px}
.setup-wizard-card input[type=file]{min-height:44px;border:1px solid #cbd4dd;border-radius:10px;color:var(--text)}
.setup-wizard-card .button{font-family:inherit}
.setup-wizard-progress,.setup-wizard-footer,.setup-lead,.setup-hint,.setup-color-field,.setup-preview,.setup-review{font-family:inherit}

/* 0.9.26 setup database connection state */
.setup-hint-success{display:grid;gap:2px;background:#e9f8ef;color:#246640;border:1px solid #c8ead5}.setup-hint-success strong{font-weight:850}.setup-hint-success span{font-size:11px;line-height:1.45}

/* 0.9.27 Setup Wizard System Requirements Check */
.setup-wizard-progress{grid-template-columns:repeat(7,minmax(0,1fr))}
.setup-summary-grid-five{grid-template-columns:repeat(5,minmax(0,1fr))}
.setup-system-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 16px}.setup-system-summary-item{display:flex;align-items:center;gap:10px;padding:13px 15px;border:1px solid var(--line);border-radius:13px;background:#f8fafc}.setup-system-summary-item strong{font-size:20px}.setup-system-summary-item span{font-size:11px;font-weight:800;color:var(--muted)}.setup-system-summary-item.ok{background:#f0faf4;border-color:#cdebd8;color:#207647}.setup-system-summary-item.warning{background:#fff9e8;border-color:#f0df9e;color:#8a6710}.setup-system-summary-item.error{background:#fff2f2;border-color:#efc8c8;color:#a13737}
.setup-requirements-list{display:grid;gap:9px}.setup-requirement-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:#fff}.setup-requirement-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;font-size:15px;font-weight:900}.setup-requirement-row.ok .setup-requirement-icon{background:#e5f7ec;color:#21824e}.setup-requirement-row.warning .setup-requirement-icon{background:#fff0bd;color:#8a6710}.setup-requirement-row.error .setup-requirement-icon{background:#fde4e4;color:#a13737}.setup-requirement-copy{min-width:0}.setup-requirement-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.setup-requirement-title strong{font-size:13px}.setup-requirement-title span{font-size:11px;color:#455564;font-weight:800;text-align:right;overflow-wrap:anywhere}.setup-requirement-copy p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.45}.setup-requirement-status{padding:5px 8px;border-radius:999px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.setup-requirement-row.ok .setup-requirement-status{background:#e5f7ec;color:#21824e}.setup-requirement-row.warning .setup-requirement-status{background:#fff0bd;color:#8a6710}.setup-requirement-row.error .setup-requirement-status{background:#fde4e4;color:#a13737}.setup-hint-error{margin-top:14px;background:#fff1f1;color:#8e3333;border:1px solid #efc7c7}.setup-hint-warning{margin-top:14px;background:#fff9e8;color:#745b13;border:1px solid #efdfa4}.setup-system-actions{display:flex;justify-content:space-between;gap:12px;margin-top:18px}.setup-system-actions form{display:flex;gap:10px;margin:0}
@media(max-width:900px){.setup-wizard-progress{grid-template-columns:repeat(4,1fr)}.setup-summary-grid-five{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.setup-wizard-progress{grid-template-columns:1fr 1fr}.setup-summary-grid-five,.setup-system-summary{grid-template-columns:1fr}.setup-requirement-row{grid-template-columns:34px minmax(0,1fr)}.setup-requirement-status{grid-column:2;justify-self:start}.setup-requirement-title{align-items:flex-start;flex-direction:column;gap:3px}.setup-requirement-title span{text-align:left}.setup-system-actions{flex-direction:column-reverse}.setup-system-actions form{display:grid;grid-template-columns:1fr;width:100%}.setup-system-actions .button{width:100%}}


/* 0.9.28 System check alignment and production-mode polish */
.setup-requirement-row{grid-template-columns:38px minmax(0,1fr) minmax(130px,220px) auto;align-items:center}
.setup-requirement-title{display:block}
.setup-requirement-value{align-self:center;justify-self:end;max-width:220px;color:#455564;font-size:11px;font-weight:800;line-height:1.3;text-align:right;overflow-wrap:anywhere}
.setup-requirement-status{align-self:center;justify-self:end;display:inline-flex;align-items:center;justify-content:center;min-height:24px;box-sizing:border-box}
@media(max-width:760px){.setup-requirement-row{grid-template-columns:34px minmax(0,1fr) auto}.setup-requirement-value{grid-column:2;justify-self:start;max-width:none;text-align:left;margin-top:2px}.setup-requirement-status{grid-column:3;grid-row:1 / span 2;align-self:center;justify-self:end}.setup-requirement-copy{grid-column:2}}
@media(max-width:460px){.setup-requirement-row{grid-template-columns:34px minmax(0,1fr)}.setup-requirement-status{grid-column:2;grid-row:auto;justify-self:start;margin-top:2px}}

/* 0.9.29 Setup design upload UX and unified logo mode */
.setup-wizard-progress{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;overflow:visible}
.setup-progress-step{padding:9px 8px;justify-content:flex-start}
.setup-progress-step small{font-size:10px;white-space:nowrap;overflow:visible;text-overflow:clip}
.setup-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.setup-section-heading h2{margin:0 0 3px;font-size:18px}.setup-section-heading p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.setup-logo-mode,.setup-background-upload{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:15px;background:#fbfcfd}
.setup-mode-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.setup-mode-card{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:center;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.setup-mode-card input{width:18px;height:18px;margin:0}.setup-mode-card>span{display:grid;gap:2px}.setup-mode-card strong{font-size:13px}.setup-mode-card small{color:var(--muted);font-size:11px;line-height:1.35}.setup-mode-card.is-selected{border-color:var(--brand-primary);background:color-mix(in srgb,var(--brand-primary) 4%,#fff);box-shadow:0 0 0 1px color-mix(in srgb,var(--brand-primary) 20%,transparent)}
.setup-upload-card{display:grid;gap:7px}.setup-upload-title{font-size:12px;font-weight:850}.setup-upload-card>small{color:var(--muted);font-size:11px;line-height:1.45}
.setup-file-picker{margin:0;padding:9px 10px;border-style:solid;background:#fff;min-width:0}.setup-file-picker .upload-picker-button{flex:0 0 auto;border-color:color-mix(in srgb,var(--brand-primary) 35%,#c8d4df);color:var(--brand-primary);font-weight:850}.setup-file-picker:hover .upload-picker-button{border-color:var(--brand-primary);background:color-mix(in srgb,var(--brand-primary) 5%,#fff)}.setup-file-picker .upload-picker-name{font-size:12px;color:var(--muted)}
.setup-advanced-logo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.setup-advanced-logo-grid[hidden],[data-logo-panel][hidden]{display:none!important}
@media(max-width:900px){.setup-wizard-progress{display:flex;overflow-x:auto;overflow-y:hidden;padding-bottom:4px;scrollbar-width:thin}.setup-progress-step{flex:0 0 auto;min-width:130px}.setup-progress-step small{font-size:10px}.setup-advanced-logo-grid{grid-template-columns:1fr}}
@media(max-width:620px){.setup-mode-options{grid-template-columns:1fr}.setup-file-picker{align-items:stretch;flex-direction:column}.setup-file-picker .upload-picker-button{width:100%}.setup-file-picker .upload-picker-name{text-align:center}}

/* 0.9.30 Setup design live colors + per-color reset */
.setup-color-field{align-content:start}
.setup-color-value{display:flex;align-items:center;justify-content:space-between;gap:8px}
.setup-color-reset{width:100%;min-height:30px;margin-top:2px;padding:5px 8px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--brand-primary);font:inherit;font-size:10px;font-weight:800;cursor:pointer}
.setup-color-reset:hover{background:#f5f8fa;border-color:#b9c8d5}
.setup-color-reset:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}

/* 0.9.33 – Mitgliederportal UI Review & Polish */
.portal-body .site-header{min-height:86px}
.portal-body .brand-lockup,.portal-body .header-account,.portal-body .header-user{min-width:0}
.portal-body .brand-lockup span,.portal-body .header-user>span:last-child{min-width:0}
.portal-body .header-user strong,.portal-body .header-user small{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.portal-body .page-heading{padding-top:40px;padding-bottom:22px}
.portal-body .page-heading>div{min-width:0}
.portal-body .page-heading .button{flex:0 0 auto}
.portal-body .status-strip{box-shadow:0 8px 28px rgba(20,40,60,.035)}
.portal-body .status-strip>div{min-height:76px;align-content:center}
.portal-body .status-strip strong{line-height:1.25}
.portal-body .status-strip small{line-height:1.35}
.portal-body .card-grid{align-items:stretch}
.portal-body .action-card{height:100%;min-height:174px;align-content:start;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.portal-body .action-card>div{min-width:0}
.portal-body .action-card h2{margin-bottom:8px;line-height:1.2}
.portal-body .action-card p:not(.kicker){margin-bottom:0}
.portal-body .card-icon{width:44px;min-width:44px;padding:0;aspect-ratio:1/1}
.portal-body .card-arrow{align-self:center;line-height:1}
.portal-body .action-card-link:focus-visible{outline:3px solid color-mix(in srgb,var(--brand-primary) 26%,transparent);outline-offset:3px}
.portal-body .action-card-static{cursor:default}
.portal-body .action-card-static .card-arrow{opacity:.42}
.portal-body .family-switcher{margin-top:18px;margin-bottom:22px}
.portal-body .family-switcher-copy strong{font-size:15px;line-height:1.2}
.portal-body .family-profile-actions{max-width:70%;padding:1px}
.portal-body .family-profile-button{min-width:0}
.portal-body .family-profile-button:focus-visible{outline:3px solid color-mix(in srgb,var(--brand-primary) 24%,transparent);outline-offset:2px}
.portal-body .profile-form{gap:18px}
.portal-body .profile-section{margin-bottom:0;padding:24px 24px 26px}
.portal-body .profile-section .section-title{align-items:flex-start;margin-bottom:18px}
.portal-body .profile-section .section-title p:last-child{margin-bottom:0;color:var(--muted);line-height:1.5}
.portal-body .profile-section .form-grid{gap:17px 16px}
.portal-body .profile-section .field>span{line-height:1.3}
.portal-body .profile-section .field small{line-height:1.45}
.portal-body .tariff-status-field{padding-top:2px}
.portal-body .tariff-progress{margin-top:4px}
.portal-body .tariff-step{min-height:88px;align-items:flex-start}
.portal-body .tariff-step-icon{flex:0 0 auto}
.portal-body .tariff-step strong{line-height:1.25}
.portal-body .tariff-step small{line-height:1.4}
.portal-body .form-submit-bar{margin-top:0}
.portal-body .member-document-section{gap:15px;margin-bottom:30px}
.portal-body .member-document-section .section-title{align-items:flex-start;margin-bottom:0}
.portal-body .member-document-overview-grid{align-items:stretch}
.portal-body .member-document-overview-card{height:100%;min-height:196px}
.portal-body .member-document-overview-card h3{line-height:1.25}
.portal-body .member-document-overview-meta{line-height:1.4}
.portal-body .member-document-overview-card>.button{min-width:132px}
.portal-body .member-document-overview-grid>.empty-state{grid-column:1/-1;min-height:150px;justify-content:center}
.portal-body .document-category-filter{padding:2px 2px 6px}
.portal-body .document-category-filter a{min-height:38px;display:inline-flex;align-items:center}
.portal-body .site-footer{align-items:center}

@media(max-width:900px){
  .portal-body .family-switcher{align-items:stretch;flex-direction:column}
  .portal-body .family-profile-actions{max-width:none;width:100%}
}
@media(max-width:720px){
  .portal-body .site-header{min-height:0}
  .portal-body .header-user strong,.portal-body .header-user small{max-width:190px}
  .portal-body .page-heading{padding-top:30px;padding-bottom:20px;gap:18px}
  .portal-body .page-heading .button{width:100%}
  .portal-body .status-strip>div{min-height:72px;padding:16px}
  .portal-body .card-grid{gap:14px}
  .portal-body .action-card{min-height:0;padding:18px;gap:14px}
  .portal-body .action-card h2{font-size:20px}
  .portal-body .profile-section{padding:18px}
  .portal-body .profile-section .form-grid{gap:15px}
  .portal-body .tariff-step{min-height:0}
  .portal-body .member-document-section{margin-bottom:24px}
  .portal-body .member-document-overview-card{min-height:0;padding:16px}
  .portal-body .member-document-overview-head{gap:10px}
  .portal-body .member-document-overview-card>.button{width:100%}
  .portal-body .site-footer{align-items:flex-start;gap:12px}
}
@media(max-width:430px){
  .portal-body .header-user strong,.portal-body .header-user small{max-width:150px}
  .portal-body .family-profile-actions{grid-template-columns:1fr}
  .portal-body .family-profile-button{min-height:68px}
}


/* 0.9.34 Member profile spacing and dashboard cleanup */
.portal-body .profile-form{gap:0}
.portal-body .profile-form>.settings-fieldset{display:grid;gap:20px}
.portal-body .profile-form .profile-section{margin:0}
.portal-body .profile-form .form-submit-bar{margin:0;position:sticky;bottom:12px}
.portal-body .profile-form .form-submit-bar .button{min-height:44px}
.portal-body .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.portal-preview-cards-real{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:720px){
  .portal-body .profile-form>.settings-fieldset{gap:16px}
  .portal-body .profile-form .form-submit-bar{bottom:8px}
  .portal-body .card-grid{grid-template-columns:1fr}
  .portal-preview-cards-real{grid-template-columns:1fr}
}

/* 0.9.35 Login email self service */
.portal-body .login-email-self-service{grid-column:auto;min-width:0}.login-email-current{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:10px 12px;border:1px solid #d8e0e7;border-radius:10px;background:#f7f9fb}.login-email-current strong{min-width:0;overflow-wrap:anywhere}.login-email-pending{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:0;padding:12px;border:1px solid #f0d58b;border-radius:10px;background:#fff8df}.login-email-pending>div{display:grid;gap:3px}.login-email-pending small{font-weight:850;color:#896500;text-transform:uppercase;letter-spacing:.06em}.login-email-pending strong{overflow-wrap:anywhere}.login-email-pending span{color:var(--muted);font-size:11px;line-height:1.4}.login-email-change{margin-top:0;border:1px solid var(--line);border-radius:10px;background:#fff}.login-email-change summary{padding:11px 12px;cursor:pointer;color:var(--brand-primary);font-weight:850;list-style:none}.login-email-change summary::-webkit-details-marker{display:none}.login-email-change summary::before{content:'›';display:inline-block;margin-right:7px;transition:transform .15s ease}.login-email-change[open] summary::before{transform:rotate(90deg)}.login-email-change-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 12px 12px}.login-email-change-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px;border-top:1px solid var(--line);background:#f8fafc;border-radius:0 0 10px 10px}.login-email-change-actions p{margin:0;color:var(--muted);font-size:11px;line-height:1.45}.login-email-change-actions .button{flex:0 0 auto}.account-confirm-shell{display:flex;justify-content:center;padding:70px 0}.account-confirm-card{width:min(620px,100%);padding:30px;border:1px solid var(--line);border-radius:18px;background:var(--brand-surface);box-shadow:var(--shadow)}.account-confirm-card h1{margin:5px 0 12px}.account-confirm-card>p:not(.kicker){color:var(--muted);line-height:1.6}.account-confirm-note{margin:18px 0;padding:13px;border-radius:10px;background:#eef6fc;color:#365b73;font-size:13px;line-height:1.5}.account-confirm-card form{display:flex;justify-content:flex-end;margin-top:18px}
@media(max-width:700px){.portal-body .login-email-self-service{grid-column:1/-1}.login-email-current{align-items:flex-start;flex-direction:column}.login-email-pending{align-items:stretch;flex-direction:column}.login-email-pending .button{width:100%;justify-content:center}.login-email-change-fields{grid-template-columns:1fr}.login-email-change-actions{align-items:stretch;flex-direction:column}.login-email-change-actions .button{width:100%;justify-content:center}.account-confirm-shell{padding:28px 0}.account-confirm-card{padding:22px}.account-confirm-card form .button{width:100%;justify-content:center}}

/* 0.9.36 Member profile row alignment */
.portal-body .login-email-current-field,.portal-body .login-email-action-field{min-width:0}.portal-body .login-email-action-field{align-self:start}.portal-body .login-email-action-field>details,.portal-body .login-email-action-field>.login-email-pending{width:100%}

/* 0.9.37 Login email field UX and responsive layout */
.portal-body .login-email-current-field{min-width:0}
.portal-body .login-email-current-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto}
.portal-body .login-email-change-inline{width:100%;margin:0;border:0;background:transparent}
.portal-body .login-email-change-inline>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:10px 12px;border:1px solid #d8e0e7;border-radius:10px;background:#f7f9fb;color:var(--text);cursor:pointer;list-style:none}
.portal-body .login-email-change-inline>summary::-webkit-details-marker{display:none}
.portal-body .login-email-change-inline>summary::before{display:none}
.portal-body .login-email-change-inline>summary strong{min-width:0;overflow-wrap:anywhere}
.portal-body .login-email-edit-label{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:4px 9px;border:1px solid #c9d6e1;border-radius:8px;background:#fff;color:var(--brand-primary);font-size:11px;font-weight:850;white-space:nowrap}
.portal-body .login-email-change-inline[open]>summary{border-color:var(--brand-primary);border-radius:10px 10px 0 0;background:#f7fbff}
.portal-body .login-email-change-inline[open] .login-email-edit-label::after{content:' schließen'}
.portal-body .login-email-change-panel{border:1px solid var(--brand-primary);border-top:0;border-radius:0 0 10px 10px;background:#fff;overflow:hidden}
.portal-body .login-email-change-inline .login-email-change-fields{padding:14px 12px 12px}
.portal-body .login-email-current-pending{margin-bottom:8px}
.portal-body .login-email-pending{margin-top:0}
@media(max-width:700px){
  .portal-body .login-email-change-inline>summary{align-items:flex-start;flex-direction:column}
  .portal-body .login-email-current-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}
  .portal-body .login-email-edit-label{margin-left:auto}
  .portal-body .login-email-change-inline .login-email-change-fields{grid-template-columns:1fr}
  .portal-body .login-email-current-pending{align-items:flex-start}
}

/* 0.9.39 E-Mail settings navigation */
.email-tab-panel{display:none}.email-tab-panel.active{display:block}.email-settings-subnav{margin-bottom:18px}.email-template-grid{margin-top:0;padding-top:0;border-top:0}.email-tab-panel .branding-panel-heading{margin-top:0}.email-tab-panel .form-grid{margin-top:0}
@media(max-width:720px){.email-settings-subnav{margin-left:-2px;margin-right:-2px}.email-settings-subnav button{flex:0 0 auto}.email-tab-panel .template-grid{gap:12px}}

/* 0.9.43 Module showcase */
.module-showcase{margin-top:34px}.module-showcase-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.module-showcase-heading h2{margin:2px 0 6px;font-size:26px}.module-showcase-heading>div>p:last-child{max-width:760px;margin:0;color:var(--muted);line-height:1.55}.module-showcase-note{display:inline-flex;align-items:center;justify-content:center;padding:7px 11px;border-radius:999px;background:#eaf3fb;color:var(--brand-primary);font-size:11px;font-weight:850;white-space:nowrap}.module-showcase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.module-preview-card{display:flex;flex-direction:column;min-width:0;min-height:240px;padding:19px;border:1px solid var(--line);border-radius:16px;background:var(--brand-surface);box-shadow:0 8px 24px rgba(8,18,29,.05)}.module-preview-card.is-next{border-color:color-mix(in srgb,var(--brand-primary) 38%,var(--line));box-shadow:0 10px 28px color-mix(in srgb,var(--brand-primary) 10%,transparent)}.module-preview-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.module-preview-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:color-mix(in srgb,var(--brand-primary) 10%,#fff);color:var(--brand-primary);font-size:12px;font-weight:900;letter-spacing:.03em}.module-preview-badges{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap}.module-badge{display:inline-flex;align-items:center;min-height:24px;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:850;letter-spacing:.03em;white-space:nowrap}.module-badge.planned{background:#f1f3f5;color:#5c6670}.module-badge.development{background:#e6f5ec;color:#277a45}.module-badge.license{background:#fff7d7;color:#7b6100}.module-preview-card h3{margin:16px 0 7px;font-size:18px;line-height:1.25}.module-preview-card>p{margin:0 0 18px;color:var(--muted);line-height:1.5}.module-preview-more{margin-top:auto;padding:0;border:0;background:transparent;color:var(--brand-primary);font:inherit;font-size:12px;font-weight:850;text-align:left;cursor:pointer}.module-preview-more::after{content:' →'}.module-preview-more:focus-visible{outline:3px solid color-mix(in srgb,var(--brand-primary) 22%,transparent);outline-offset:4px;border-radius:4px}.module-preview-backdrop{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(5,12,20,.56);backdrop-filter:blur(3px)}.module-preview-backdrop[hidden]{display:none}.module-preview-dialog{width:min(620px,100%);max-height:min(760px,90vh);overflow:auto;border-radius:18px;background:#fff;box-shadow:0 28px 80px rgba(0,0,0,.28)}.module-preview-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px;border-bottom:1px solid var(--line)}.module-preview-dialog-head h2{margin:2px 0 0;font-size:25px}.module-preview-close{width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text);font-size:25px;line-height:1;cursor:pointer}.module-preview-dialog-body{display:grid;gap:18px;padding:24px}.module-preview-dialog-body>p{margin:0;color:var(--muted);line-height:1.6}.module-preview-dialog-badges{display:flex;gap:7px;flex-wrap:wrap}.module-preview-dialog-body h3{margin:0 0 10px;font-size:14px}.module-preview-highlight-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;margin:0;padding:0;list-style:none}.module-preview-highlight-list li{position:relative;padding-left:18px;font-size:13px;line-height:1.45}.module-preview-highlight-list li::before{content:'✓';position:absolute;left:0;color:var(--brand-primary);font-weight:900}.module-preview-disclaimer{padding:12px 14px;border-radius:10px;background:#f6f8fa;font-size:11px!important}.module-preview-dialog-footer{display:flex;justify-content:flex-end;padding:16px 24px;border-top:1px solid var(--line);background:#fafbfc}.module-preview-open{overflow:hidden}
@media(max-width:980px){.module-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.module-showcase{margin-top:28px}.module-showcase-heading{flex-direction:column;gap:12px}.module-showcase-heading h2{font-size:23px}.module-showcase-grid{grid-template-columns:1fr}.module-preview-card{min-height:0}.module-preview-backdrop{align-items:flex-end;padding:0}.module-preview-dialog{width:100%;max-height:88vh;border-radius:18px 18px 0 0}.module-preview-dialog-head,.module-preview-dialog-body{padding:19px}.module-preview-dialog-footer{padding:14px 19px}.module-preview-dialog-footer .button{width:100%}.module-preview-highlight-list{grid-template-columns:1fr}}
