/* NATUSAT Affiliate: Partner-Dashboard, mobile-first (ab 360 px), ohne Framework, ohne Webfonts. */
.naff-app{--naff-bg:#f6f7f9;--naff-card:#fff;--naff-text:#1b1f24;--naff-muted:#5b6672;--naff-line:#d9dee4;--naff-accent:#0b6b4f;--naff-accent-text:#fff;
  box-sizing:border-box;max-width:720px;margin:0 auto;padding:12px 12px 32px;color:var(--naff-text);
  font-family:inherit;line-height:1.5}
.naff-app *{box-sizing:border-box}
/* Dunkel nur, wenn das Shop-Theme selbst dunkel ist (Klasse/Attribut am html). Das Shop-Theme ist hell: ein eigener Dunkelmodus nach Systemeinstellung
   machte Pills und Kopfbox auf hellem Shop-Hintergrund unlesbar (Fabian 0.7.2). */
@supports (color:red){
  html.theme-dark .naff-app,html[data-theme=dark] .naff-app,html[data-bs-theme=dark] .naff-app{--naff-bg:#14181c;--naff-card:#1d2329;--naff-text:#eef1f4;--naff-muted:#a4afba;--naff-line:#33404b;--naff-accent:#3fbf94;--naff-accent-text:#06231a}
}
.naff-app [hidden]{display:none!important}
.naff-title{font-size:1.5rem;margin:0}
.naff-sub{margin:2px 0 16px;color:var(--naff-muted)}
.naff-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}
.naff-card{background:var(--naff-card);border:1px solid var(--naff-line);border-radius:14px;padding:14px 16px;margin-bottom:12px}
.naff-grid .naff-card{margin-bottom:0}
.naff-state{text-align:center;padding:24px 16px}
.naff-state p{color:var(--naff-muted);margin:6px 0 16px}
.naff-label{display:block;font-size:.85rem;color:var(--naff-muted)}
.naff-value{font-size:1.5rem;font-weight:650;margin-top:2px}
.naff-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0 20px;border-radius:12px;
  background:var(--naff-accent);color:var(--naff-accent-text);font-weight:600;text-decoration:none}
.naff-btn:focus-visible,.naff-input:focus-visible{outline:3px solid var(--naff-accent);outline-offset:2px}
.naff-input{width:100%;min-height:44px;margin-top:6px;padding:0 12px;border:1px solid var(--naff-line);border-radius:10px;
  background:transparent;color:inherit;font:inherit}
.naff-hint,.naff-note{color:var(--naff-muted);font-size:.85rem;margin:8px 0 0}
button.naff-btn{border:0;cursor:pointer;font:inherit;font-weight:600}
.naff-btn.sec{background:transparent;color:var(--naff-accent);border:1px solid var(--naff-accent)}
.naff-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.naff-row{display:flex;justify-content:space-between;gap:12px;align-items:center}
.naff-check{display:flex;gap:10px;align-items:flex-start;margin:12px 0}
.naff-check input{width:24px;height:24px;flex:none;margin-top:2px}
.naff-flash{padding:12px 16px;border-radius:12px;margin-bottom:12px;border:1px solid var(--naff-accent)}
.naff-flash.err{border-color:#b3261e}
.naff-hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.naff-h2{font-size:1.1rem;margin:20px 0 8px}
.naff-item{display:flex;justify-content:space-between;gap:12px;align-items:center}
.naff-item small{color:var(--naff-muted)}
.naff-amount{font-size:1.15rem;font-weight:650;text-align:right}
.naff-badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.8rem;border:1px solid var(--naff-line)}
.naff-badge.approved,.naff-badge.paid{border-color:var(--naff-accent)}
.naff-badge.cancelled{opacity:.6}
@media (min-width:700px){.naff-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (prefers-reduced-motion:reduce){.naff-app *{transition:none!important;animation:none!important}}

.naff-nav{display:flex;gap:6px;overflow-x:auto;margin:0 -12px 14px;padding:2px 12px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.naff-nav::-webkit-scrollbar{display:none}
.naff-tab{flex:none;display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--naff-line);
  background:var(--naff-card);color:var(--naff-text);text-decoration:none;font-weight:600}
.naff-tab.on{background:var(--naff-accent);border-color:var(--naff-accent);color:var(--naff-accent-text)}
.naff-tab:focus-visible,.naff-chip:focus-visible{outline:3px solid var(--naff-accent);outline-offset:2px}
.naff-chips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.naff-chip{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--naff-line);color:var(--naff-text);text-decoration:none}
.naff-chip.on{border-color:var(--naff-accent);background:var(--naff-accent);color:var(--naff-accent-text)}
.naff-bar{height:10px;border-radius:999px;background:var(--naff-line);overflow:hidden;margin-top:10px}
.naff-bar span{display:block;height:100%;background:var(--naff-accent);border-radius:999px}
.naff-qr{text-align:center}
.naff-qrbox{width:min(240px,70vw);margin:12px auto;padding:10px;background:#fff;border-radius:12px;line-height:0}
.naff-qrbox svg{width:100%;height:auto}
.naff-codebox{margin:10px 0 0;padding:10px 12px;border:1px dashed var(--naff-line);border-radius:10px;font-size:1.1rem;word-break:break-all}
.naff-area{min-height:88px;padding:10px 12px;resize:vertical}
select.naff-input{appearance:auto}
.naff-app form .naff-label{margin-top:12px}
.naff-pager{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:12px 0}
.naff-amount.neg{color:#b3261e}
.naff-h3{font-size:1rem;margin:20px 0 4px}
.naff-badge.open{border-style:dashed}
.naff-badge.issued,.naff-badge.settled{border-color:var(--naff-accent)}
.naff-badge.void{opacity:.6;text-decoration:line-through}
.naff-settlement .naff-item{align-items:flex-start}
.naff-list{margin:0;padding-left:1.25em;display:grid;gap:8px;line-height:1.5}

/* 0.7.2: unabhaengig vom Shop-Template lesbar (WCAG AA). Eigener Hintergrund, Linkfarben gegen Template-Regeln wie "a{color}" und "a:hover" abgesichert. */
.naff-app{background:var(--naff-bg);border-radius:16px}
.naff-app h1,.naff-app h2,.naff-app h3,.naff-app strong,.naff-app p,.naff-app label,.naff-app small{color:inherit}
.naff-app .naff-head{background:var(--naff-card);border:1px solid var(--naff-line);border-radius:14px;padding:14px 16px;margin-bottom:12px;color:var(--naff-text)}
.naff-app .naff-head .naff-title{color:var(--naff-text)}
.naff-app .naff-sub,.naff-app .naff-hint,.naff-app .naff-note,.naff-app .naff-label,.naff-app .naff-item small{color:var(--naff-muted)}
.naff-app a.naff-chip,.naff-app a.naff-chip:visited,.naff-app a.naff-chip:hover,.naff-app a.naff-chip:focus,
.naff-app a.naff-tab,.naff-app a.naff-tab:visited,.naff-app a.naff-tab:hover,.naff-app a.naff-tab:focus{color:var(--naff-text)!important;background:var(--naff-card)!important;text-decoration:none!important}
.naff-app a.naff-chip:hover,.naff-app a.naff-tab:hover{border-color:var(--naff-accent)}
.naff-app a.naff-chip.on,.naff-app a.naff-chip.on:hover,.naff-app a.naff-chip.on:visited,
.naff-app a.naff-tab.on,.naff-app a.naff-tab.on:hover,.naff-app a.naff-tab.on:visited{color:var(--naff-accent-text)!important;background:var(--naff-accent)!important;border-color:var(--naff-accent)}
.naff-app a.naff-btn,.naff-app a.naff-btn:visited,.naff-app a.naff-btn:hover,.naff-app button.naff-btn{color:var(--naff-accent-text)!important;background:var(--naff-accent)!important;text-decoration:none!important}
.naff-app a.naff-btn.sec,.naff-app a.naff-btn.sec:visited,.naff-app a.naff-btn.sec:hover,.naff-app button.naff-btn.sec{color:var(--naff-accent)!important;background:transparent!important}
.naff-app .naff-amount.neg{color:#b3261e}
html.theme-dark .naff-app .naff-amount.neg,html[data-theme=dark] .naff-app .naff-amount.neg{color:#ffb4ab}

/* 0.7.2 Shop-Optik: Schrift und Ueberschriften vom Shop-Theme (NOVA), Radien wie NOVA-Karten/-Buttons, Kopfbox mit Begruessung. */
.naff-app{--naff-r:.75rem;--naff-r-sm:.5rem;background:transparent;padding-top:0}
.naff-app a,.naff-app button{transition:border-color .15s,box-shadow .15s}
.naff-app .naff-card,.naff-app .naff-head{border-radius:var(--naff-r)}
.naff-app .naff-btn,.naff-app .naff-input,.naff-app .naff-codebox,.naff-app .naff-flash{border-radius:var(--naff-r-sm)}
.naff-app .naff-title{font-family:inherit;font-size:revert;margin:0 0 6px;color:var(--naff-text)}
.naff-app .naff-head{padding:20px 22px;background:var(--naff-card);border:1px solid var(--naff-line);border-left:6px solid var(--naff-accent);box-shadow:0 1px 3px rgba(0,0,0,.06)}
.naff-hello{margin:0 0 12px;font-size:1.05rem}
.naff-hero-facts{display:flex;flex-wrap:wrap;gap:12px 32px}
.naff-hero-facts strong{display:block;font-size:1.25rem}
.naff-hero-code{letter-spacing:.04em}
.naff-app .naff-head .naff-actions{margin-top:14px}

.naff-facts{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important}
.naff-facts .naff-value{font-size:1.75rem}
.naff-app code{color:inherit;background:transparent}
.naff-app .naff-settlement .naff-amount{font-size:1.4rem}
html.theme-dark .naff-app,html[data-theme=dark] .naff-app,html[data-bs-theme=dark] .naff-app{background:var(--naff-bg);padding-top:12px}
.naff-app a:not(.naff-btn):not(.naff-chip):not(.naff-tab){color:var(--naff-accent)}

/* Mein Konto: Kopftext in normaler Schriftgroesse (0.7.2) */
.naff-account-intro{font-size:1rem;line-height:1.5;margin:0 0 1rem}

.naff-account-head{row-gap:1rem;margin-bottom:1.5rem}
.naff-account-head .naff-head-col{display:flex}
.naff-head-card{flex:1;border-radius:.75rem}
.naff-head-card .card-body{display:flex;flex-direction:column;gap:.25rem;padding:1rem 1.25rem}
.naff-head-label{font-size:1rem;font-weight:600}
.naff-head-value{font-size:1.6rem;font-weight:700;line-height:1.2}
.naff-head-hint{font-size:.9rem;opacity:.85}
.naff-account-head{background:transparent!important;box-shadow:none!important;border:0!important;padding:0!important}
.naff-head-card{border:1px solid rgba(0,0,0,.12)!important;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.row.account-head-data.naff-account-head{background:transparent!important;box-shadow:none!important;border:0!important;padding:0!important;border-radius:0!important}
.row.account-head-data.naff-account-head>div{margin-bottom:0}
.naff-account-head .naff-head-card{background:#fff;border-radius:18px}
.naff-amount{white-space:nowrap}
.naff-item>span:first-child{min-width:0}
.naff-balance form{margin-top:16px;padding-top:14px;border-top:1px solid var(--naff-line)}
.naff-balance form>strong{display:block;font-size:1.05rem;margin-bottom:2px}
.naff-app .naff-btn[disabled],.naff-app button.naff-btn[disabled]{opacity:.45;cursor:not-allowed}
