/* AOC Portal — membership forms, profile, directory. Pairs with the AOC Command theme tokens. */
.aoc-form,.aoc-panel,.aoc-profile{color:var(--text,#e9ecef)}
.aoc-panel{background:var(--panel,#151b21);border:1px solid var(--line,#26303a);border-radius:12px;padding:26px;margin:0 0 22px}
.aoc-panel h3{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:21px;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--line,#26303a);padding-bottom:12px;margin:0 0 16px}
.aoc-panel h4{font-size:16px;margin:0 0 6px}
.aoc-panel p{color:var(--silver,#cfd4d9);margin:0 0 12px}
.aoc-muted{color:var(--muted,#9aa6b2);font-weight:400}
.aoc-ok{color:var(--gold,#d9a94e);font-weight:600}
.aoc-hidden{display:none !important}

/* alerts */
.aoc-alert{border-radius:9px;padding:14px 18px;margin:0 0 20px;font-size:15px;line-height:1.5;border:1px solid var(--line,#26303a);background:var(--panel,#151b21)}
.aoc-alert-ok{border-left:4px solid var(--gold,#d9a94e)}
.aoc-alert-err{border-left:4px solid var(--red,#e8464a)}

/* form skeleton — one column, big targets */
.aoc-form{max-width:760px}
.aoc-section{border:1px solid var(--line,#26303a);border-radius:12px;padding:22px 24px 8px;margin:0 0 22px;background:var(--panel,#151b21)}
.aoc-section legend{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:20px;text-transform:uppercase;letter-spacing:.06em;color:var(--gold,#d9a94e);padding:0 10px}
.aoc-field{margin:0 0 16px;display:flex;flex-direction:column;gap:6px}
.aoc-field label{font-size:14px;font-weight:600;color:var(--silver,#cfd4d9)}
.aoc-form input[type=text],.aoc-form input[type=email],.aoc-form input[type=tel],.aoc-form input[type=password],.aoc-form select,
.aoc-inline input[type=text],.aoc-inline input[type=email],.aoc-inline input[type=tel]{
  width:100%;background:var(--panel2,#1a222a);border:1px solid var(--line,#26303a);color:var(--text,#e9ecef);border-radius:8px;
  padding:13px 14px;font:inherit;font-size:17px;line-height:1.3;min-height:50px;outline:none}
.aoc-form input:focus,.aoc-form select:focus,.aoc-inline input:focus{border-color:var(--gold,#d9a94e);box-shadow:0 0 0 3px rgba(217,169,78,.18)}
.aoc-form input[readonly]{color:var(--muted,#9aa6b2)}
.aoc-form select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted,#9aa6b2) 50%),linear-gradient(135deg,var(--muted,#9aa6b2) 50%,transparent 50%);background-position:calc(100% - 20px) 22px,calc(100% - 14px) 22px;background-size:6px 6px;background-repeat:no-repeat;padding-right:40px}
.aoc-row{display:flex;gap:14px;flex-wrap:wrap}
.aoc-row .aoc-field{flex:1 1 200px}
.aoc-row .aoc-field:has(.aoc-short){flex:0 1 190px}
.aoc-short{max-width:170px}
.aoc-medium{max-width:340px}
.aoc-help{font-size:13px;color:var(--muted,#9aa6b2);line-height:1.45}
.aoc-err{font-size:13px;color:#ff8a8d;font-weight:600}
.has-err input,.has-err select{border-color:var(--red,#e8464a)}
.aoc-hp{position:absolute;left:-9999px;top:-9999px;height:0;overflow:hidden}
.aoc-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:4px 0 30px}
.aoc-submit{font-size:18px;padding:16px 34px}
.aoc-form button.btn,.aoc-inline button.btn{font:inherit;font-weight:600}
.aoc-compact{max-width:none}
.aoc-compact .btn{margin-top:4px}

/* membership type cards */
.aoc-types{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:4px 0 12px}
.aoc-type{display:block;position:relative;background:var(--panel2,#1a222a);border:2px solid var(--line,#26303a);border-radius:10px;padding:16px;cursor:pointer;transition:border-color .15s}
.aoc-type:hover{border-color:var(--gold,#d9a94e)}
.aoc-type.is-on{border-color:var(--red,#e8464a);background:rgba(232,70,74,.08)}
.aoc-type input{position:absolute;opacity:0;pointer-events:none}
.aoc-type b{display:block;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:20px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}
.aoc-type span{display:block;font-size:13px;color:var(--muted,#9aa6b2);line-height:1.45}
[data-show-for],[data-show-when-rank]{display:none}
[data-show-for].is-shown,[data-show-when-rank].is-shown{display:block}
.aoc-form[data-type=""] fieldset.aoc-section:not(:first-of-type){opacity:.45}

/* checkboxes */
.aoc-check{display:flex;gap:12px;align-items:flex-start;margin:0 0 14px;font-size:14.5px;line-height:1.5;color:var(--silver,#cfd4d9);cursor:pointer}
.aoc-check input{width:22px;height:22px;flex:0 0 22px;margin-top:2px;accent-color:var(--red,#e8464a)}
.aoc-check.has-err{color:#ff8a8d}
.aoc-showpw{font-size:13.5px;color:var(--muted,#9aa6b2);margin-top:-6px}

/* verification steps */
.aoc-step{display:flex;gap:16px;padding:18px 0;border-top:1px solid var(--line,#26303a)}
.aoc-step-n{flex:0 0 40px;height:40px;border-radius:50%;border:2px solid var(--gold,#d9a94e);color:var(--gold,#d9a94e);display:flex;align-items:center;justify-content:center;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:20px}
.aoc-step.is-done .aoc-step-n{background:var(--gold,#d9a94e);color:#0e1216}
.aoc-step-body{flex:1}
.aoc-inline{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:8px 0}
.aoc-inline input{flex:1 1 200px;max-width:320px}
.aoc-code{letter-spacing:.3em;font-size:22px !important;max-width:200px !important;text-align:center}
.aoc-code::placeholder{letter-spacing:normal;font-size:16px}
.aoc-links{display:flex;gap:18px;flex-wrap:wrap;margin-top:6px}
.aoc-link{background:none;border:none;padding:0;font:inherit;font-size:14px;color:var(--gold,#d9a94e);text-decoration:underline;cursor:pointer}
.aoc-inline-form{display:inline}

/* profile */
.aoc-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 24px;margin:0 0 18px}
.aoc-facts div{display:flex;flex-direction:column;gap:2px}
.aoc-facts dt{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted,#9aa6b2);font-weight:600}
.aoc-facts dd{font-size:16px;margin:0}
.aoc-chip{display:inline-block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;border-radius:999px;padding:3px 10px;font-weight:600;vertical-align:middle;margin-left:6px}
.aoc-chip-active{background:rgba(217,169,78,.14);border:1px solid rgba(217,169,78,.45);color:var(--gold,#d9a94e)}
.aoc-chip-retired{background:rgba(154,166,178,.14);border:1px solid rgba(154,166,178,.45);color:var(--silver,#cfd4d9)}
.aoc-badge{display:inline-block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:2px 8px;border-radius:999px;background:rgba(217,169,78,.14);color:var(--gold,#d9a94e);font-weight:600;margin-left:6px}
.aoc-badge-warn{background:rgba(232,70,74,.14);color:#ff8a8d}
.aoc-badge-off{background:rgba(154,166,178,.14);color:var(--muted,#9aa6b2)}
.aoc-optin{margin:-6px 0 18px;padding:14px 16px;border:1px solid var(--line,#26303a);border-radius:10px;background:var(--panel2,#1a222a)}
.aoc-optin .aoc-check{margin:0}
.aoc-optin .aoc-help{margin:8px 0 0 30px}
.aoc-contact-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line,#26303a)}
.aoc-contact-row:first-of-type{border-top:0}
.aoc-subpanel{background:var(--panel2,#1a222a);border:1px dashed var(--line,#26303a);border-radius:9px;padding:14px 16px;margin:6px 0 10px}
.aoc-details{border-top:1px solid var(--line,#26303a);padding:12px 0}
.aoc-details summary{cursor:pointer;font-weight:600;color:var(--gold,#d9a94e);font-size:15px;list-style:none;display:flex;align-items:center;gap:8px}
.aoc-details summary::before{content:'+';font-family:'Barlow Condensed',sans-serif;font-size:22px;line-height:1}
.aoc-details[open] summary::before{content:'\2013'}
.aoc-details form{margin-top:14px}

/* directory */
.aoc-dir-tools{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:0 0 22px}
.aoc-dir-tools input[type=search]{flex:1 1 260px;max-width:420px;background:var(--panel2,#1a222a);border:1px solid var(--line,#26303a);color:var(--text,#e9ecef);border-radius:8px;padding:12px 14px;font:inherit;font-size:16px;min-height:48px}
.aoc-dir-tools .aoc-filter{background:var(--panel,#151b21);border:1px solid var(--line,#26303a);color:var(--silver,#cfd4d9);border-radius:999px;padding:9px 16px;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer}
.aoc-dir-tools .aoc-filter.is-on{border-color:var(--gold,#d9a94e);color:var(--gold,#d9a94e)}
.dir-card .aoc-handle{color:var(--gold,#d9a94e)}
.dir-card .aoc-contact a{color:var(--silver,#cfd4d9);text-decoration:underline}
.dir-card.is-hidden{display:none}
.aoc-dir-empty{color:var(--muted,#9aa6b2);padding:20px 0}
.aoc-approve-note{margin-bottom:26px}

@media (max-width:780px){
  .aoc-types{grid-template-columns:1fr}
  .aoc-facts{grid-template-columns:1fr}
  .aoc-section{padding:18px 16px 4px}
  .aoc-panel{padding:20px 16px}
  .aoc-contact-row{flex-direction:column;align-items:flex-start}
}

/* forgot-password chooser */
.aoc-choices{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:6px}
.aoc-choice{display:block;background:var(--panel2,#1a222a);border:2px solid var(--line,#26303a);border-radius:10px;padding:18px;color:var(--text,#e9ecef);text-decoration:none;transition:border-color .15s}
.aoc-choice:hover{border-color:var(--gold,#d9a94e);color:var(--text,#e9ecef)}
.aoc-choice b{display:block;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:21px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;color:var(--gold,#d9a94e)}
.aoc-choice span{display:block;font-size:14px;color:var(--muted,#9aa6b2);line-height:1.45}
@media (max-width:640px){.aoc-choices{grid-template-columns:1fr}}
.aoc-text-alerts{max-width:760px}
.aoc-text-alerts p{line-height:1.6}
.aoc-ta-form{margin-top:18px;padding:18px 20px;border:1px solid var(--line,#26303a);border-radius:12px;background:var(--panel,#141b21)}
.aoc-ta-form .aoc-optin{margin:6px 0 16px}
