/* Händlerportal & Artikel-Editor – nur mit Präfix af-/pt-, damit andere Oberflächen unberührt bleiben */
.af-grid { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 1.5rem; align-items: start; }
.af-nav { position: sticky; top: 74px; display: flex; flex-direction: column; gap: .1rem; font-size: .9rem; }
.af-nav a { padding: .35rem .6rem; border-radius: var(--r-s); color: var(--ink-2); border-left: 2px solid transparent; }
.af-nav a:hover { background: #eef2f3; text-decoration: none; }
.af-nav a.on { border-left-color: var(--brand); color: var(--ink); font-weight: 600; background: #fff; }
.af-status { margin-top: 1rem; padding: .7rem .6rem; border-top: 1px solid var(--line); }
.af-main .panel { scroll-margin-top: 80px; }
.af-checks { display: flex; flex-wrap: wrap; gap: .1rem 1.2rem; }
.af-checks .check { margin: .15rem 0; }
.af-rows td { padding: .35rem .4rem; vertical-align: middle; }
.af-rows input, .af-rows select { padding: .4rem .5rem; font-size: .9rem; }
.af-num { max-width: 110px; }
.af-del { font-size: .78rem; color: var(--bad); display: inline-flex; gap: .25rem; align-items: center; white-space: nowrap; }
.af-sub { padding: .4rem 0 .2rem 1.6rem; }
.af-prefix { display: inline-flex; align-items: center; padding: 0 .6rem; background: #eef2f3; border: 1px solid #cdd5dc; border-right: 0; border-radius: var(--r-s) 0 0 var(--r-s); color: var(--mute); font-size: .9rem; }
.af-prefix + input { border-top-left-radius: 0; border-bottom-left-radius: 0; }
.mt-xs { margin-top: .3rem; }
.af-bar { position: sticky; bottom: 0; z-index: 15; background: rgba(255, 255, 255, .96); border-top: 1px solid var(--line); margin: 1rem -1.5rem -1.5rem; padding: .7rem 1.5rem; box-shadow: 0 -4px 14px rgba(16, 24, 40, .06); }
.af-bar-in { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; }
.af-bar .label { display: inline; margin-right: .4rem; }
.af-bar select { width: auto; }
@media (max-width: 960px) { .af-grid { grid-template-columns: 1fr; } .af-nav { position: static; flex-direction: row; flex-wrap: wrap; } .af-status { display: none; } }

/* Händlerportal */
.pt-banner { display: flex; gap: .8rem; align-items: flex-start; }
.pt-deadline { font-size: .8rem; color: var(--warn); font-weight: 600; }
.pt-msg { padding: .7rem .9rem; border-radius: var(--r-s); margin-bottom: .6rem; max-width: 85%; }
.pt-msg.in { background: #f1f4f6; }
.pt-msg.out { background: var(--brand-l); margin-left: auto; }
.pt-msg .meta { font-size: .75rem; color: var(--mute); margin-bottom: .2rem; }
.pt-msg .body { white-space: pre-line; }
.pt-key { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; background: #f6f8f9; border: 1px dashed #cdd5dc; padding: .7rem; border-radius: var(--r-s); word-break: break-all; }
.pt-bar { height: 8px; background: #eef1f3; border-radius: 4px; overflow: hidden; min-width: 80px; }
.pt-bar > span { display: block; height: 100%; background: var(--teal); }
.pt-cal { display: grid; grid-template-columns: repeat(7, 1fr); gap: 3px; }
.pt-cal .h { font-size: .72rem; text-align: center; color: var(--mute); font-weight: 700; }
.pt-cal .d { border: 1px solid var(--line); border-radius: 5px; padding: .25rem .35rem; font-size: .78rem; min-height: 46px; background: #fff; }
.pt-cal .d .n { font-weight: 700; }
.pt-cal .d.full { background: #fdecea; }
.pt-cal .d.part { background: #fff3db; }
.pt-cal .d.free { background: #e6f4f1; }
.pt-cal .d.past { opacity: .45; }
.pt-cal .d.pad { visibility: hidden; }
.pt-steps { counter-reset: s; }
.pt-steps li { margin: .3rem 0; }
.table-wrap .af-rows { min-width: 900px; }
.af-rows select { min-width: 115px; }
.af-rows td input[type=text]:not(.af-num) { min-width: 150px; }
.af-rows .af-num { min-width: 72px; }
details > summary { list-style: none; cursor: pointer; }
details > summary::-webkit-details-marker { display: none; }
/* Checkbox-/Radio-Beschriftungen innerhalb von .field nicht fett darstellen */
.field > label.check { font-weight: 400; display: flex; margin: .35rem 0; font-size: inherit; }
#af-co td:first-child select { min-width: 230px; }
