/* OA uses the shared surface, action, type and spacing rules; brand color is limited to marks. */
.oa-platform-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin:20px 0}
.oa-platform-choice{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);min-width:0;min-height:88px;padding:12px 8px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--secondary);font-size:13px;transition:background .15s,border-color .15s}
.oa-platform-choice:hover{background:var(--bg);border-color:var(--blue)}
.oa-platform-choice[aria-pressed=true]{border-color:var(--blue);background:var(--blue-soft);color:var(--blue)}
.oa-platform-choice strong{font-size:13px;font-weight:600;line-height:1.4}
.oa-choice-check{position:absolute;right:7px;top:7px;display:none;line-height:1}
.oa-choice-check .icon{width:12px;height:12px}
.oa-platform-choice[aria-pressed=true] .oa-choice-check{display:block}
.oa-platform-symbol{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:32px;height:32px;color:var(--blue)}
.oa-platform-symbol>.icon{width:24px;height:24px}
.oa-platform-symbol[data-provider=dingtalk]{color:#1677ff}.oa-platform-symbol[data-provider=wecom]{color:#1d78e8}
.oa-platform-symbol[data-provider=feishu]{color:#3370ff}
.oa-card{display:grid;align-content:start;gap:var(--space-4);padding:24px}
.oa-card>.field-hint{margin:0;line-height:1.7}.oa-card>p{margin:0;font-size:13px;line-height:1.7;color:var(--secondary)}
.oa-card-title{display:flex;align-items:center;gap:var(--space-2);min-width:0}.oa-card-title>.oa-platform-symbol{width:24px;height:24px}
.oa-card>.oa-platform-choices{margin:0}.oa-card>.field{margin:0}.oa-card .field>label{display:block;margin-bottom:8px}
.oa-card>.button{justify-self:start}.oa-card>h3{margin:0}
.oa-connection-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-3)}.oa-connection{display:grid;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--line);border-radius:10px;min-width:0}
.oa-connection-heading{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.oa-connection-heading>.oa-platform-symbol{width:24px;height:24px}.oa-connection-heading .badge{margin-left:auto}
.oa-connection>p{margin:0;font-size:13px;line-height:1.7;color:var(--secondary);overflow-wrap:anywhere}.oa-connection .field-hint{margin:0;color:var(--muted)}
.oa-capabilities{display:flex;gap:var(--space-2);flex-wrap:wrap}.oa-collection{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}
.oa-collection label{display:flex;align-items:center;gap:var(--space-2);font-size:13px;min-height:32px}.oa-collection input{margin:0;accent-color:var(--blue)}
.oa-card-actions,.oa-flow-actions{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center}
.oa-agent-actions pre{margin:12px 0;white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px;overflow:auto;padding:var(--space-3);background:var(--bg);border-radius:8px;font-size:12px}
.oa-contacts form{display:flex;gap:var(--space-3);align-items:flex-end}.oa-contacts form>label{display:grid;gap:var(--space-2);flex:1;min-width:0;font-size:13px}.oa-contacts [data-oa-contact-results]{display:grid;gap:var(--space-3)}.oa-contact{padding:var(--space-4);border:1px solid var(--line);border-radius:10px}.oa-contact p{margin-top:8px;color:var(--secondary);font-size:13px}.oa-contact small{display:block;margin-top:4px;color:var(--muted);overflow-wrap:anywhere}
#oa-settings-panel{display:grid;gap:var(--space-5)}#oa-settings-panel[hidden]{display:none}
#oa-login-choices .oa-platform-choices{margin:0 0 20px;gap:var(--space-2)}#oa-login-flow{margin:0}
.oa-login-content{display:grid;gap:var(--space-4)}.oa-login-content>.field-hint{margin:0;font-size:13px;line-height:1.7}.oa-login-content>.button{width:100%;min-height:var(--touch-control-height)}
.oa-authorization{display:grid;justify-items:center;gap:var(--space-4);padding:20px 16px;background:var(--bg);border:1px solid var(--line);border-radius:12px;text-align:center}
.oa-authorization>p{font-size:13px;color:var(--secondary);line-height:1.7}.oa-authorization .feishu-auth-qr{display:block;margin:0;width:180px;height:180px;padding:var(--space-2);background:white;border-radius:10px}.oa-authorization>.button{max-width:100%;white-space:normal}.oa-authorization .oa-flow-actions{justify-content:center}
.oa-authorization>.oa-preparation{display:grid;gap:var(--space-2);max-width:48ch;min-width:0;font-size:13px;line-height:1.7;color:var(--secondary);overflow-wrap:anywhere}
.oa-preparation>p{margin:0}.oa-preparation .oa-wait-time{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.oa-preparation .oa-wait-help{color:var(--ink)}
.oa-authorization>.oa-flow-actions>.button{min-height:40px}
@media(max-width:600px){.oa-authorization>.oa-flow-actions>.button{min-height:44px}}
.oa-login-link-note{padding:var(--space-3);background:var(--blue-soft);border-radius:8px;font-size:12px;line-height:1.7;color:var(--secondary)}
@media(max-width:600px){.oa-connection-list{grid-template-columns:1fr}.oa-card{padding:var(--space-5);gap:var(--space-4)}#oa-settings-panel{gap:var(--space-4)}.oa-platform-choices{gap:var(--space-2)}.oa-connection{padding:14px}.oa-card-actions>.button{min-height:var(--touch-control-height)}.oa-contacts form{flex-wrap:wrap}.oa-contacts form>label{flex-basis:100%}.oa-contacts form>.button{width:100%}}
@media(max-width:360px){.oa-card{padding:16px}.oa-platform-choice{min-height:84px;padding:12px 4px}.oa-platform-choice strong{font-size:12px}.oa-collection{grid-template-columns:1fr}}

#login .login-card[data-login-view=local]{width:100%;max-width:480px;margin-inline:auto}
.oa-login-content>[data-oa-flow]:empty,.oa-card>[data-oa-flow]:empty{display:none}

.config-card.oa-card>p,#oa-settings-panel .oa-card>.oa-card-actions{margin:0}
#feishu-connection .connection-permissions{display:grid;gap:var(--space-4);padding-top:var(--space-5);margin-top:var(--space-5);border-top:1px solid var(--line)}
#feishu-connection .connection-permissions>h3,#feishu-connection .connection-permissions>p{margin:0}
#feishu-connection .connection-permission-list{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;padding:0;margin:0}
#feishu-connection .connection-permission-list>li{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:8px;font-size:13px;line-height:1.7}
#feishu-connection .connection-permission-status{padding:2px var(--space-2);border-radius:4px;background:var(--bg);color:var(--secondary);font-size:12px;white-space:nowrap}
#feishu-connection .connection-permission-status[data-state=authorized]{background:var(--blue-soft);color:var(--blue)}
#feishu-connection .connection-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3)}
#feishu-connection .connection-actions>.button{min-height:40px;margin:0;white-space:normal}
#feishu-connection .connection-disconnect-hint{max-width:68ch}
@media(max-width:650px){
  #feishu-connection .connection-permission-list>li{flex:1 1 100%;justify-content:space-between;min-width:0}
  #feishu-connection .connection-actions>.button{flex:1 1 180px;min-height:44px}
}
#login .login-card #feishu-login-action:not([hidden]):has(#feishu-login:not([hidden]))+.local-feishu-login{margin-top:var(--space-4)}
