.subscription-fields { border: 0; padding: 0; margin: 0; min-width: 0; }
.subscription-field-error:empty { display: none; }
.subscription-card .subscription-field-error .validation-message { margin: .5rem 0 0; font-size: .8rem; }
.subscription-card input.invalid { border-color: #b64135; }
.subscription-consent:has(+ .subscription-field-error .validation-message) { margin-bottom: .25rem; }
.subscription-card .subscription-fields > button { margin-top: 12px; }
.subscriber-studio { padding-bottom: 65px; }
.subscriber-overview { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 30px 0; }
.subscriber-overview > div { border: 1px solid #d2ddce; border-radius: 14px; padding: 24px; background: #edf1e4; }
.subscriber-overview strong { display: block; font: 500 2.6rem/1.2 'Cormorant Garamond', Georgia, serif; color: #173e36; }
.subscriber-overview span { font-size: .8rem; color: #536858; }
.subscriber-workspace { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); align-items: start; gap: 24px; }
.subscriber-directory, .subscriber-detail { background: #fffdf7; border: 1px solid #d2ddce; border-radius: 18px; overflow: hidden; }
.subscriber-filters { padding: 22px; background: #f1f4e9; }
.subscriber-filters label, .subscriber-detail .subscription-fields > label:not(.subscriber-checkbox) { display: block; font-size: .82rem; font-weight: 600; margin: 15px 0 8px; }
.subscriber-filters label:first-child { margin-top: 0; }
.subscriber-filters input, .subscriber-filters select, .subscriber-detail input:not([type=checkbox]), .subscriber-detail textarea { box-sizing: border-box; width: 100%; padding: 12px 14px; border: 1px solid #cbd8c5; border-radius: 8px; background: #fffef9; font: inherit; color: #173e36; }
.subscriber-detail input.invalid, .subscriber-detail textarea.invalid { border-color: #b64135; }
.subscriber-detail textarea { resize: vertical; }
.subscriber-result-count { padding: 0 22px; font-size: .76rem; color: #64755e; }
.subscriber-row { display: flex; align-items: center; text-align: left; gap: 12px; width: 100%; padding: 18px 20px; border: 0; border-top: 1px solid #e2e7da; background: transparent; color: #173e36; font: inherit; cursor: pointer; }
.subscriber-row:hover, .subscriber-row.selected { background: #eaf0df; }
.subscriber-row.selected { box-shadow: inset 3px 0 #426b50; }
.subscriber-avatar { display: grid; place-items: center; flex-shrink: 0; width: 38px; height: 38px; border-radius: 10px; background: #dce7cc; font-family: Georgia, serif; }
.subscriber-row-copy { min-width: 0; flex: 1; }
.subscriber-row-copy strong, .subscriber-row-copy small { display: block; overflow-wrap: anywhere; }
.subscriber-row-copy strong { font-size: .88rem; font-weight: 600; }
.subscriber-row-copy small { color: #64735e; font-size: .75rem; margin-top: 4px; }
.subscriber-status { font-size: .64rem; padding: 5px 7px; border-radius: 5px; background: #e0edcf; color: #315637; }
.subscriber-status.disabled { background: #f0e7dc; color: #845236; }
.subscriber-detail { padding: 28px; }
.subscriber-detail h2 { margin: 10px 0; font: 500 2.5rem/1.1 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.subscriber-email { overflow-wrap: anywhere; margin-bottom: 9px; }
.subscriber-detail header { padding-bottom: 23px; border-bottom: 1px solid #d9e1d2; }
.subscriber-detail header small { color: #64735e; }
.subscriber-checkbox { display: flex; align-items: center; gap: 10px; font-size: .85rem; margin: 20px 0; }
.subscriber-checkbox input { width: 17px; height: 17px; accent-color: #426b50; }
.subscriber-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 25px 0; }
.subscriber-actions .community-button { border-radius: 8px; font-size: .84rem; padding: 12px 20px; }
.subscriber-secondary, .subscriber-pagination button { border: 1px solid #cad6c2; background: #f2f5eb; border-radius: 7px; padding: 10px 14px; font: inherit; font-size: .8rem; cursor: pointer; color: #315637; }
.subscriber-studio button:disabled { opacity: .55; cursor: default; }
.subscriber-history { border-top: 1px solid #d9e1d2; padding: 20px 0; }
.subscriber-history summary { cursor: pointer; font-weight: 600; font-size: .86rem; }
.subscriber-history dl { display: grid; grid-template-columns: 1fr 1.4fr; gap: 12px; font-size: .8rem; }
.subscriber-history dt { color: #64735e; }
.subscriber-history dd { margin: 0; overflow-wrap: anywhere; }
.subscriber-remove { padding-top: 20px; border-top: 1px solid #e1d9cd; font-size: .84rem; }
.subscriber-remove .subscriber-secondary { margin: 8px; }
.subscriber-danger { color: #913f32; background: #fff2ed; border: 1px solid #e4b8a8; border-radius: 7px; padding: 10px 14px; font: inherit; font-size: .8rem; cursor: pointer; }
.subscriber-empty { padding: 30px 22px; color: #64735e; }
.subscriber-pagination { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 20px; border-top: 1px solid #e2e7da; font-size: .75rem; }
.subscriber-notice { padding: 14px 18px; border-left: 3px solid #66844f; background: #eaf1df; color: #315637; }
@media(max-width:850px) { .subscriber-workspace { grid-template-columns: 1fr; } }
@media(max-width:500px) { .subscriber-overview { gap: 7px; } .subscriber-overview > div { padding: 14px 10px; } .subscriber-overview span { font-size: .7rem; } .subscriber-detail { padding: 20px; } .subscriber-status { font-size: .6rem; } }
