.sd-form { --sd-red:#bf001b; max-width:1060px; margin:20px auto; color:#17191c; font:14px/1.45 Arial,sans-serif; }
.sd-form *, .sd-form *::before, .sd-form *::after { box-sizing:border-box; }
.sd-section { margin:0 0 16px; padding:0 28px 24px; background:#fff; border:1px solid #e3e5e8; border-radius:12px; box-shadow:0 2px 8px #17202c04; }
.sd-section header { display:flex; align-items:center; gap:13px; min-height:64px; margin:0 -12px 20px; border-bottom:1px solid #f0f1f3; }
.sd-section header h3 { margin:0; padding:0; color:#121417; font:700 23px/1.2 Georgia,serif; letter-spacing:-.4px; }
.sd-section header small { margin-left:auto; color:#62666d; font-size:11px; }
.sd-number { width:32px; height:32px; flex:none; display:grid; place-items:center; background:var(--sd-red); color:white; border-radius:50%; font:700 19px Georgia,serif; }
.sd-section svg { width:24px; height:24px; fill:currentColor; flex:none; }
.sd-grid { display:grid; gap:16px 24px; align-items:start; }
.sd-two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.sd-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.sd-four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.sd-full { grid-column:1/-1; }
.sd-span-two { grid-column:span 2; }
.sd-space { margin-top:18px; }
.sd-form .sd-field { display:flex; flex-direction:column; gap:6px; margin:0; min-width:0; color:#191b20; font:500 13px/1.4 Arial,sans-serif; }
.sd-field b { color:var(--sd-red); }
.sd-form input:not([type="checkbox"]):not([type="radio"]), .sd-form select, .sd-form textarea { width:100%; min-width:0; min-height:38px; height:auto; border:1px solid #d9dce2; border-radius:6px; padding:8px 11px; margin:0; background:#fff; color:#24272d; font:400 13px/1.4 Arial,sans-serif; box-shadow:0 1px 3px #00000003; }
.sd-form textarea { resize:vertical; min-height:86px; }
.sd-form input[readonly] { background:#f0f1f4!important; color:#747880!important; }
.sd-form input:disabled,.sd-form select:disabled,.sd-form textarea:disabled { opacity:1; color:#333; background:#f7f8fa; -webkit-text-fill-color:#333; cursor:default; }
.sd-form input:focus-visible,.sd-form select:focus-visible,.sd-form textarea:focus-visible,.sd-form button:focus-visible,.sd-form a:focus-visible { outline:3px solid #bd001b33; outline-offset:2px; border-color:var(--sd-red); }
.sd-radio { border:0; padding:0; margin:0; min-width:0; }
.sd-radio legend { margin:0 0 9px; padding:0; font-size:13px; font-weight:500; }
.sd-radio>div { display:flex; flex-wrap:wrap; gap:14px 28px; min-height:32px; align-items:center; }
.sd-radio label,.sd-check { display:flex; align-items:center; gap:9px; margin:0; font-size:13px; font-weight:400; }
.sd-form input[type="radio"],.sd-form input[type="checkbox"] { width:17px; height:17px; min-height:0; padding:0; margin:0; accent-color:var(--sd-red); flex:none; }
.sd-consents { display:grid; gap:12px; }
.sd-privacy { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; }
.sd-privacy a { color:#282b30; text-decoration:underline; font-size:12px; }
.sd-consents small,.sd-note { color:#686d76; font:12px/1.6 Arial,sans-serif; margin:0; }
.sd-actions { display:flex; align-items:center; gap:12px; margin:20px 0 0; }
.sd-actions>span { flex:1; }
.sd-form .sd-secondary,.sd-form .sd-save,.sd-secondary { min-height:42px; width:auto; border:0; border-radius:7px; padding:10px 20px; font:600 13px/1.4 Arial,sans-serif; text-decoration:none; cursor:pointer; }
.sd-secondary { background:#e9ebef; color:#24272c; }
.sd-form .sd-save { background:var(--sd-red); color:#fff; }
.sd-form button:disabled { opacity:.55; cursor:wait; }
.sd-status { min-height:20px; margin:12px 0; font-size:13px; color:#247248; }
.sd-status.is-error { color:#b00020; }
.sd-loading { padding:32px; color:#666; }
#magazineSubscriberDetail[hidden],#securityMemberDetailForm[hidden] { display:none!important; }
.member-subscription-detail-link { display:inline-flex; margin:12px 16px 0 0; color:#bf001b; font-weight:700; }
@media(max-width:700px) {
 .sd-section { padding:0 16px 20px; }
 .sd-section header { margin:0 0 18px; gap:9px; }
 .sd-section header h3 { font-size:20px; }
 .sd-section header small { max-width:60px; text-align:right; }
 .sd-grid { gap:15px; }
 .sd-three,.sd-four { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .sd-actions { flex-wrap:wrap; }
 .sd-actions>span { display:none; }
}
@media(max-width:440px) {
 .sd-grid { grid-template-columns:1fr; }
 .sd-span-two { grid-column:auto; }
 .sd-actions button { flex:1; padding:10px!important; }
 .sd-section header h3 { font-size:18px; }
 .sd-number { width:28px; height:28px; }
}

/* Scope overrides to the new form; the legacy panel has global important rules. */
#magazineSubscriberDetail .sd-section header h3 { font:700 23px/1.2 Georgia,serif!important; color:#121417!important; }
#magazineSubscriberDetail .sd-form input:not([type="checkbox"]):not([type="radio"]),
#magazineSubscriberDetail .sd-form select,#magazineSubscriberDetail .sd-form textarea { border:1px solid #d9dce2!important; border-radius:6px!important; font:400 13px/1.4 Arial,sans-serif!important; }
@media(max-width:440px) { #magazineSubscriberDetail .sd-section header h3 { font-size:18px!important; } }

.sd-form [data-sd-corporate][hidden] { display:none!important; }

.sd-expiry { display:grid;gap:6px;margin:0 0 20px;padding:14px 16px;border:1px solid #cbddeb;border-left:4px solid #47769a;border-radius:8px;background:#f3f8fc;color:#27445b;line-height:1.5; }
.sd-expiry strong { font-size:16px; }
.sd-expiry span { font-size:13px;overflow-wrap:anywhere; }
.sd-expiry.is-soon { border-color:#e6c173;border-left-color:#b87800;background:#fff8e8;color:#775000; }
.sd-expiry.is-expired { border-color:#eab2bc;border-left-color:#bd1833;background:#fff2f4;color:#a2162d; }
.sd-expiry.is-empty { border-color:#dce0e6;border-left-color:#8992a1;background:#f7f8fa;color:#586174; }

.sd-website-link { justify-self:start; display:inline-flex; align-items:center; min-height:44px; padding:8px 14px; border:1px solid #bf001b; border-radius:7px; color:#bf001b; background:#fff; font-weight:700; text-decoration:none; }
.sd-website-link:hover { background:#fff2f4; }
.sd-website-link[hidden] { display:none; }
