.nt-ds__status { padding: 1rem 1.25rem; margin: 0 0 1.5rem; border-left: 4px solid #ff4e00; background: #f7f7f7; color: #1b1b1b; }
.nt-ds__status--accepted { border-left-color: #1b7f4b; }
.nt-ds__notice { padding: 1rem 1.25rem; margin: 0 0 1rem; border: 1px solid #ddd; background: #fff; }
.nt-ds__notice h3 { margin: 0 0 .25rem; font-size: 1.15rem; }
.nt-ds__notice-meta { margin: 0 0 .5rem; font-size: .9rem; color: #555; }
.nt-ds__objection summary { cursor: pointer; font-weight: 600; }
.nt-ds__actions { margin: 1.5rem 0; }
.nt-ds-contract { padding: 1.5rem; border: 1px solid #ddd; background: #fff; }
.nt-ds-contract h2 { margin: 2rem 0 .75rem; font-size: 1.35rem; }
.nt-ds-contract h3 { margin: 1.5rem 0 .5rem; font-size: 1.1rem; }
.nt-ds-contract__details dt { margin-top: .75rem; font-weight: 600; color: #1b1b1b; }
.nt-ds-contract__details dd { margin: 0; }
.nt-ds__accept { margin-top: 2rem; padding: 1.5rem; background: #f7f7f7; }
.nt-ds__form label { display: block; margin: .75rem 0 .25rem; font-weight: 600; color: #1b1b1b; }
.nt-ds__form input[type="text"], .nt-ds__form textarea { width: 100%; max-width: 30rem; padding: .5rem .75rem; border: 1px solid #767676; }
.nt-ds__check { display: flex; gap: .75rem; align-items: flex-start; margin: 1rem 0; }
.nt-ds__check label { margin: 0; font-weight: 400; }
.nt-ds__check input { margin-top: .3rem; flex: none; }
/* Das Theme setzt Überschriften hellgrau und nimmt Listen die Aufzählungszeichen; ein Vertrag muss nüchtern lesbar sein. */
.nt-ds h2, .nt-ds h3 { color: #1b1b1b; }
.nt-ds-contract, .nt-ds__notice { color: #333; }
.nt-ds-contract ul { list-style: disc; padding-left: 1.5rem; margin: 0 0 1rem; }
.nt-ds-contract ol { padding-left: 1.5rem; margin: 0 0 1rem; }
.nt-ds-contract li { margin-bottom: .35rem; }
.nt-ds-company { display: flex; flex-direction: column; gap: .1rem; margin: 0 0 1rem; padding-bottom: 1rem; border-bottom: 1px solid #e2e2e2; font-style: normal; line-height: 1.5; color: #333; }
.nt-ds-company__name { font-size: 1.05rem; color: #1b1b1b; }
.nt-ds-company__contact { margin-top: .4rem; font-size: .9rem; color: #555; }
/* Verbund-Selektor: das Theme setzt a:hover{display:inline-block} und eigene Linkfarben. */
a.btn.nt-ds__download, a.btn.nt-ds__download:hover, a.btn.nt-ds__download:focus { display: inline-flex; align-items: center; gap: .6rem; color: #fff; text-decoration: none; }
.nt-ds-badge { display: inline-flex; align-items: center; gap: .4rem; align-self: flex-start; margin-top: .5rem; padding: .2rem .6rem; border-radius: 3px; font-size: .85rem; font-weight: 600; line-height: 1.5; }
.nt-ds-badge--accepted { background: #e3f3ea; color: #14613a; }
.nt-ds-badge--todo { background: #fff1d6; color: #7a4a00; }
.nt-ds-badge--open { background: #fdecea; color: #9b1c14; }
/* Der Zustand färbt auch den Rand der Kachel, damit er schon beim Überfliegen auffällt. */
a.nt-portal-tile:has(.nt-ds-badge--accepted) { border-left: 4px solid #1b7f4b; }
a.nt-portal-tile:has(.nt-ds-badge--todo) { border-left: 4px solid #d98a00; }
a.nt-portal-tile:has(.nt-ds-badge--open) { border-left: 4px solid #b3261e; }
.nt-ds__code { max-width: 34rem; padding: 1.5rem; border: 1px solid #ddd; background: #fff; }
.nt-ds__code h2 { margin: 0 0 .75rem; font-size: 1.5rem; }
.nt-ds__code input[type="text"] { max-width: 12rem; font-size: 1.25rem; letter-spacing: .2em; }
.nt-ds__form--send { margin-top: 1.25rem; }
.nt-ds__hint { margin: 0 0 .5rem; font-size: .95rem; color: #555; }
.nt-ds__form .btn { margin-top: 1rem; }
.nt-ds__data-form { max-width: 34rem; }
.nt-ds__data-form input[type="email"] { width: 100%; max-width: 30rem; padding: .5rem .75rem; border: 1px solid #767676; }
.nt-ds__data-form input[readonly] { background: #f0f0f0; color: #555; }
.nt-ds__row { display: grid; grid-template-columns: 8rem 1fr; gap: 0 1rem; max-width: 30rem; }
.nt-ds__row input[type="text"] { max-width: none; }
.nt-ds__hint { margin: .35rem 0 0; font-size: .9rem; color: #555; }
.nt-ds__data-form .btn { margin-top: 1.25rem; }
.nt-ds__changes { margin: .5rem 0; padding-left: 1.25rem; list-style: disc; }
/* Verbund-Selektor: das Theme setzt a:hover{display:inline-block} und eigene Linkfarben. */
a.btn.nt-ds-company__edit, a.btn.nt-ds-company__edit:hover, a.btn.nt-ds-company__edit:focus { display: inline-flex; align-items: center; gap: .5rem; align-self: flex-start; margin-top: .75rem; color: #fff; text-decoration: none; }
.nt-ds__fieldset { margin: 0 0 1.5rem; padding: 0; border: 0; min-width: 0; }
.nt-ds__fieldset + .nt-ds__fieldset { margin-top: 2rem; }
/* Das Theme setzt Legenden groß und grau; hier sind es gleichrangige Zwischenüberschriften. */
.nt-ds__data-form .nt-ds__fieldset > legend { display: block; width: 100%; margin: 0 0 .5rem; padding: 0 0 .4rem; border-bottom: 1px solid #e2e2e2; font-family: inherit; font-size: 1.15rem; line-height: 1.4; font-weight: 600; color: #1b1b1b; float: none; }
