/* Add agent (r15). A plain dialog on the Hub design tokens (--h-*), so every theme applies. Prefix haa-. */
.haa-dialog{--a:var(--h-accent,#7a1f2b);--on:var(--h-on-accent,#fffaf6);--ink:var(--h-ink,#1f1a1c);--mut:var(--h-muted,#625a57);--line:var(--h-line,#e3dbcd);--surf:var(--h-surface,#fffdf9);
 position:fixed;inset:0;margin:auto;height:fit-content;width:min(560px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 48px);padding:0;border:1px solid var(--line);border-radius:12px;background:var(--surf);color:var(--ink);box-shadow:0 24px 60px -24px rgba(20,10,12,.35);font:400 15px/1.55 var(--h-ui,Manrope,"Segoe UI",Arial,sans-serif);overflow:auto}
.haa-dialog[open]{animation:haa-in .18s ease-out both}
.haa-dialog::backdrop{background:rgba(20,12,14,.38)}
@keyframes haa-in{from{opacity:0;transform:translateY(6px)}}
.haa-head{display:flex;align-items:flex-start;gap:16px;padding:24px 24px 0}
.haa-head>div:first-child{margin-right:auto}
.haa-title{margin:0;font:500 26px/1.2 var(--h-display,Georgia,serif);letter-spacing:-.01em}
.haa-sub{margin:2px 0 0;color:var(--mut);font-size:13px}
.haa-switch{padding-top:6px}
.haa-x{width:32px;height:32px;margin:-2px -6px 0 0;border:0;border-radius:6px;background:none;color:var(--mut);display:grid;place-items:center;cursor:pointer}
.haa-x:hover{background:color-mix(in srgb,var(--line) 60%,transparent);color:var(--ink)}
.haa-x svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.haa-body{padding:16px 24px 24px}
.haa-enter{animation:haa-in .16s ease-out both}
.haa-lede{margin:0 0 20px;color:var(--mut)}
.haa-lede b{color:var(--ink);font-weight:600}
.haa-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.haa-field{margin:0 0 16px}
.haa-field label{display:block;margin:0 0 6px;font-size:13.5px;font-weight:600}
.haa-field input,.haa-link input{display:block;width:100%;box-sizing:border-box;height:42px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--surf);color:var(--ink);font:400 15px/1 var(--h-ui,inherit);transition:border-color .15s,box-shadow .15s}
.haa-err{display:none;margin:6px 0 0;font-size:13px;color:var(--h-danger,#a3202d)}
.haa-bad input{border-color:var(--h-danger,#a3202d)}
.haa-bad .haa-err{display:block}
.haa-formerr{margin:0 0 14px;color:var(--h-danger,#a3202d);font-size:14px}
.haa-note{margin:0;color:var(--mut);font-size:13px}
.haa-form>.haa-note{margin:0 0 14px}
.haa-foot{display:flex;align-items:center;gap:10px;margin-top:8px;padding-top:16px;border-top:1px solid var(--line)}
.haa-foot .haa-note{margin-right:auto}
.haa-done .haa-foot{justify-content:flex-end}
.haa-btn{height:38px;padding:0 16px;border:1px solid var(--line);border-radius:8px;background:var(--surf);color:var(--ink);font:600 14px/1 var(--h-ui,inherit);cursor:pointer;white-space:nowrap}
.haa-btn:hover{border-color:color-mix(in srgb,var(--ink) 30%,var(--line))}
.haa-btn:disabled{opacity:.65;cursor:default}
.haa-primary{border-color:var(--a);background:var(--a);color:var(--on)}
.haa-primary:hover{border-color:var(--a);background:color-mix(in srgb,var(--a) 88%,#000)}
.haa-text{border:0;background:none;padding:4px 0;color:var(--a);font:600 13.5px/1.2 var(--h-ui,inherit);cursor:pointer}
.haa-text:hover{text-decoration:underline}
.haa-text[data-confirm="1"]{color:var(--h-danger,#a3202d)}
.haa-dialog :is(button):focus-visible{outline:2px solid var(--a);outline-offset:2px}
.haa-link{display:flex;gap:8px;margin:0 0 8px}
.haa-link input{font:400 13px/1 ui-monospace,Consolas,monospace;color:var(--mut)}
.haa-table{width:100%;border-collapse:collapse}
.haa-table th{padding:0 0 8px;text-align:left;font-size:12px;font-weight:600;color:var(--mut);border-bottom:1px solid var(--line)}
.haa-table td{padding:12px 12px 12px 0;border-bottom:1px solid var(--line);vertical-align:top}
.haa-table td:last-child{padding-right:0}
.haa-table td b{display:block;font-weight:600;font-size:14px}
.haa-table td span{display:block;color:var(--mut);font-size:13px;overflow-wrap:anywhere}
.haa-state{font-weight:600}
.haa-state[data-state=joined]{color:var(--h-ok,#2f6b4a)}
.haa-state:is([data-state=expired],[data-state=cancelled]){color:var(--mut)}
.haa-actions{text-align:right;white-space:nowrap}
.haa-actions .haa-text+.haa-text{margin-left:14px}
.haa-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.haa-nav{position:relative}
.button.haa-inline{margin-right:8px}
@media (min-width:2300px){.haa-dialog{width:640px;font-size:16px}}
@media (max-width:560px){
 .haa-dialog{width:100vw;max-width:100vw;max-height:100dvh;height:100dvh;margin:0;border:0;border-radius:0}
 .haa-head{flex-wrap:wrap;padding:max(18px,env(safe-area-inset-top)) 18px 0}.haa-switch{order:3;width:100%;padding-top:4px}
 .haa-body{padding:14px 18px calc(24px + env(safe-area-inset-bottom))}
 .haa-row{grid-template-columns:1fr;gap:0}
 .haa-foot{flex-wrap:wrap}.haa-foot .haa-note{flex-basis:100%;margin-bottom:6px}.haa-foot .haa-btn{flex:1}
 .haa-table thead{display:none}.haa-table tr{display:grid;grid-template-columns:1fr auto;border-bottom:1px solid var(--line);padding:10px 0}.haa-table td{border:0;padding:2px 0}.haa-table td:nth-child(2){grid-row:2}.haa-actions{grid-row:1/3;grid-column:2;align-self:center}
}
@media (prefers-reduced-motion:reduce){.haa-dialog[open],.haa-enter{animation:none}}
/* Add from a list (onboarding fix, Oct 23) */
.haa-list{display:block;width:100%;box-sizing:border-box;min-height:9rem;resize:vertical;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surf);color:var(--ink);font:400 14px/1.5 var(--h-ui,inherit)}
.haa-field input[type=file]{height:auto;padding:9px 12px}
.haa-import-table td span{display:block}
/* hub-list-import-check-r1 */
.haa-check-table td:last-child{white-space:nowrap}
.haa-check-table tr.is-skip td{color:var(--mut)}
.haa-check-table tr.is-fix td:last-child{font-weight:600}
@media (max-width:560px){.haa-check-table td:last-child{white-space:normal}}
/* hub-team-mail-r1: Email agents */
.haa-mail-to{border:0;margin:0 0 16px;padding:0;display:grid;gap:8px}
.haa-mail-to legend{font-weight:600;margin:0 0 8px;padding:0}
.haa-mail-choice{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--surf);cursor:pointer}
.haa-mail-choice:has(input:checked){border-color:var(--a)}
.haa-mail-choice input{width:18px;height:18px;margin:0;accent-color:var(--a)}
.haa-mail-sub{margin:0 0 4px 28px}
.haa-mail-people{max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:8px;margin-top:8px;-webkit-overflow-scrolling:touch}
.haa-mail-list{list-style:none;margin:0;padding:0}
.haa-mail-list li+li{border-top:1px solid var(--line)}
.haa-mail-list label{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:44px;padding:0 12px;cursor:pointer}
.haa-mail-list input{width:18px;height:18px;margin:0;accent-color:var(--a)}
.haa-mail-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
.haa-mail-status{color:var(--mut);font-size:13px;white-space:nowrap}
.haa-mail-body{min-height:160px;resize:vertical}
.haa-mail-sum{margin:4px 0 0}
.haa-mail-foot{justify-content:flex-end}
.haa-mail-confirm .haa-lede b,.haa-done .haa-lede b{color:var(--ink)}
.haa-mail-history{margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}
.haa-mail-history h3{margin:0 0 8px;font-size:15px}
.haa-mail-history ul{list-style:none;margin:0;padding:0}
.haa-mail-history li{display:grid;gap:2px;padding:10px 0}
.haa-mail-history li+li{border-top:1px solid var(--line)}
.haa-mail-history li span{color:var(--mut);font-size:13px}
@media (max-width:560px){.haa-mail-sub{margin-left:0}}
@media (max-width:359px){.haa-mail-list label{grid-template-columns:20px minmax(0,1fr);padding:8px 12px}.haa-mail-status{grid-column:2}}
/* Agent billing agreement (knows-seat-split-r1) */
.haa-seat{margin:0 0 16px;padding:14px 16px;border:1px solid var(--line);border-left:3px solid var(--a);border-radius:8px;background:color-mix(in srgb,var(--line) 22%,var(--surf))}
.haa-seat p{margin:0 0 10px;font-size:14px;line-height:1.5;color:var(--ink)}
.haa-check{display:flex;align-items:center;gap:10px;min-height:28px;font-size:14px;font-weight:600;cursor:pointer}
.haa-check input{width:18px;height:18px;margin:0;accent-color:var(--a);flex:none}
.haa-seat.haa-bad{border-color:var(--h-danger,#a3202d);border-left-color:var(--h-danger,#a3202d)}
@media (max-width:560px){.haa-check{min-height:44px}}
@media (pointer:coarse){.haa-text{display:inline-flex;align-items:center;min-height:44px}}
