:root{
  --ds-aff-navy:#132f47;
  --ds-aff-navy-deep:#08243b;
  --ds-aff-gold:#ac8f59;
  --ds-aff-gold-soft:#e2d3ab;
  --ds-aff-bg:#f8f7f3;
  --ds-aff-border:#e8e1d4;
  --ds-aff-text:#253442;
  --ds-aff-muted:#6d7883;
  --ds-aff-success:#2f7d5c;
  --ds-aff-warning:#b7791f;
  --ds-aff-danger:#b44545;
}
.ds-aff-wrap{font-family:inherit;color:var(--ds-aff-text);max-width:100%;margin:0 0 24px;box-sizing:border-box}
.ds-aff-wrap *{box-sizing:border-box}
.ds-aff-panel,.ds-aff-status-card,.ds-aff-message{background:#fff;border:1px solid var(--ds-aff-border);border-radius:18px;box-shadow:0 12px 36px rgba(8,36,59,.07);overflow:hidden}
.ds-aff-form-panel{padding:28px}
.ds-aff-head{display:flex;gap:20px;align-items:center;padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid var(--ds-aff-border)}
.ds-aff-logo{width:84px;height:84px;object-fit:contain;flex:0 0 84px;border-radius:14px;background:#fff}
.ds-aff-head h3,.ds-aff-status-body h3,.ds-aff-message h3{margin:0 0 8px;color:var(--ds-aff-navy-deep);font-size:24px;line-height:1.5;font-weight:800}
.ds-aff-head p,.ds-aff-status-body p,.ds-aff-message p{margin:0;color:var(--ds-aff-muted);font-size:14px;line-height:2}
.ds-aff-admin-test{margin:0 0 20px;padding:12px 14px;border-radius:12px;background:#fff8e8;border:1px solid #efd59f;color:#775315;font-size:13px;line-height:1.9}
.ds-aff-errors{margin:0 0 20px;padding:14px 18px;border-radius:12px;background:#fff0f0;border:1px solid #f0bcbc;color:#872f2f}
.ds-aff-errors strong{display:block;margin-bottom:6px}
.ds-aff-errors ul{margin:0;padding-right:20px}
.ds-aff-errors li{margin:4px 0}
.ds-aff-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
.ds-aff-field{display:flex;flex-direction:column;gap:7px}
.ds-aff-field.ds-aff-full{grid-column:1/-1}
.ds-aff-field label{font-weight:700;color:var(--ds-aff-navy);font-size:14px}
.ds-aff-field label span{color:var(--ds-aff-danger)}
.ds-aff-field input,.ds-aff-field select,.ds-aff-field textarea{width:100%;border:1px solid #d9d6cf!important;border-radius:11px!important;background:#fff!important;padding:11px 13px!important;min-height:46px!important;color:var(--ds-aff-text)!important;font-family:inherit!important;font-size:14px!important;box-shadow:none!important;outline:none!important;transition:.2s border-color,.2s box-shadow}
.ds-aff-field textarea{resize:vertical;line-height:1.9}
.ds-aff-field input:focus,.ds-aff-field select:focus,.ds-aff-field textarea:focus{border-color:var(--ds-aff-gold)!important;box-shadow:0 0 0 3px rgba(172,143,89,.14)!important}
.ds-aff-submit-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:24px;padding-top:20px;border-top:1px solid var(--ds-aff-border)}
.ds-aff-submit{appearance:none;border:0;border-radius:11px;background:linear-gradient(135deg,var(--ds-aff-navy),var(--ds-aff-navy-deep));color:#fff;padding:12px 24px;font-family:inherit;font-size:15px;font-weight:800;cursor:pointer;box-shadow:0 8px 20px rgba(8,36,59,.18);transition:.2s transform,.2s box-shadow}
.ds-aff-submit:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(8,36,59,.24)}
.ds-aff-submit-row span{color:var(--ds-aff-muted);font-size:12px;line-height:1.9;flex:1;min-width:240px}
.ds-aff-status-card{display:flex;gap:18px;align-items:flex-start;padding:24px;border-right:5px solid var(--ds-aff-gold)}
.ds-aff-status-icon{width:14px;height:14px;border-radius:50%;margin-top:8px;flex:0 0 14px;background:var(--ds-aff-gold);box-shadow:0 0 0 6px rgba(172,143,89,.13)}
.ds-aff-status-card.status-pending{border-right-color:var(--ds-aff-warning)}
.ds-aff-status-card.status-pending .ds-aff-status-icon{background:var(--ds-aff-warning);box-shadow:0 0 0 6px rgba(183,121,31,.13)}
.ds-aff-status-card.status-approved{border-right-color:var(--ds-aff-success)}
.ds-aff-status-card.status-approved .ds-aff-status-icon{background:var(--ds-aff-success);box-shadow:0 0 0 6px rgba(47,125,92,.13)}
.ds-aff-status-card.status-rejected,.ds-aff-status-card.status-suspended{border-right-color:var(--ds-aff-danger)}
.ds-aff-status-card.status-rejected .ds-aff-status-icon,.ds-aff-status-card.status-suspended .ds-aff-status-icon{background:var(--ds-aff-danger);box-shadow:0 0 0 6px rgba(180,69,69,.13)}
.ds-aff-status-body{flex:1}
.ds-aff-kicker{display:inline-block;margin-bottom:5px;color:var(--ds-aff-gold);font-size:12px;font-weight:800;letter-spacing:.2px}
.ds-aff-status-body small{display:block;margin-top:10px;color:var(--ds-aff-muted)}
.ds-aff-admin-note{margin-top:14px;padding:12px 14px;border-radius:10px;background:#faf7f0;border:1px solid var(--ds-aff-border);line-height:1.9;color:#554a38}
.ds-aff-message{padding:24px;border-right:5px solid var(--ds-aff-gold)}

.ds-aff-login-action{margin-top:18px;padding-top:18px;border-top:1px solid var(--ds-aff-border)}
.ds-aff-login-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 24px;border:1px solid var(--ds-aff-gold);border-radius:11px;background:linear-gradient(135deg,var(--ds-aff-navy),var(--ds-aff-navy-deep));color:#fff!important;text-decoration:none!important;font-size:15px;font-weight:800;line-height:1.5;box-shadow:0 8px 20px rgba(8,36,59,.18);transition:.2s transform,.2s box-shadow,.2s border-color}
.ds-aff-login-button:hover,.ds-aff-login-button:focus{color:#fff!important;border-color:var(--ds-aff-gold-soft);transform:translateY(-1px);box-shadow:0 10px 24px rgba(8,36,59,.24);text-decoration:none!important}
@media (max-width:700px){
  .ds-aff-form-panel{padding:20px}
  .ds-aff-head{align-items:flex-start}
  .ds-aff-logo{width:64px;height:64px;flex-basis:64px}
  .ds-aff-head h3,.ds-aff-status-body h3,.ds-aff-message h3{font-size:20px}
  .ds-aff-grid{grid-template-columns:1fr}
  .ds-aff-field.ds-aff-full{grid-column:auto}
  .ds-aff-status-card{padding:20px}
}
