/* Enterprise invitations: A06 join page and the M01I panel. Uses the shared design tokens from style.css. */
.join-mode body{background:var(--color-canvas);}
.join-page{min-height:100vh;background:var(--color-canvas);color:var(--color-text);}
.join-page .join-top{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:0;height:72px;min-height:0;margin:0;padding:0 44px;border-radius:0;background:var(--color-surface);border-bottom:1px solid var(--color-border-light);}
.join-brand{display:inline-flex;align-items:center;gap:10px;color:var(--color-text);font-size:20px;font-weight:650;text-decoration:none;}
.join-brand:hover{text-decoration:none;color:var(--color-text);}
.join-mark{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:7px;background:var(--color-text);color:var(--color-surface);font-size:15px;font-weight:700;}
.join-layout{display:grid;grid-template-columns:minmax(0,460px) minmax(0,560px);justify-content:center;gap:120px;padding:80px 44px 64px;}
.join-intro h1{font-size:36px;line-height:48px;font-weight:700;max-width:12em;margin:0 0 20px;}
.join-lead{font-size:16px;color:var(--color-text-secondary);}
.join-note{font-size:13px;color:var(--color-text-tertiary);}
.join-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:12px;padding:40px;}
.join-title{font-size:26px;line-height:36px;font-weight:700;margin:0 0 16px;}
.join-tag{display:inline-block;margin:0 0 20px;padding:2px 8px;border-radius:6px;font-size:12px;background:var(--color-surface-muted);color:var(--color-text-secondary);}
.join-tag.ok{background:var(--color-success-soft);color:#1f7a14;}
.join-tag.warn{background:var(--color-warning-soft);color:#9a5300;}
.join-tag.bad{background:var(--color-danger-soft);color:#b42318;}
.join-field{display:grid;gap:8px;margin:0 0 20px;}
.join-label{font-size:13px;color:var(--color-text-tertiary);}
.join-value{font-size:15px;font-weight:500;overflow-wrap:anywhere;}
.join-privacy{display:grid;gap:6px;margin:8px 0 24px;padding:16px;border-radius:8px;background:var(--color-surface-muted);font-size:13px;color:var(--color-text-secondary);}
.join-privacy strong{font-size:14px;}
.join-actions{display:grid;gap:14px;}
.join-actions button,.join-actions .button-link{width:100%;min-height:36px;}
.join-primary{background:var(--color-text);border-color:var(--color-text);color:var(--color-surface);}
.join-primary:hover,.join-primary:active{background:var(--color-text);border-color:var(--color-text);color:var(--color-surface);opacity:.9;}
.join-code{display:grid;gap:12px;}
.join-code label{display:grid;gap:6px;font-size:13px;color:var(--color-text-secondary);}
.join-code input{min-height:40px;padding:8px 12px;border:1px solid var(--color-border);border-radius:6px;font-size:16px;letter-spacing:4px;background:var(--color-surface);color:var(--color-text);}
.join-muted{font-size:13px;color:var(--color-text-secondary);margin:16px 0 0;}
.join-page .join-top{justify-content:space-between;}
.join-top-help{background:none;border:0;padding:8px;min-height:0;font-size:13px;color:var(--color-text-secondary);cursor:pointer;}
.join-top-help:hover{background:none;color:var(--color-text);}
.join-card>.join-actions{margin-top:24px;}
#join-help-note{margin:16px 0 0;}
@media (max-width:760px){
 .join-page .join-top{height:56px;margin:0;padding:0 16px;}
 .join-layout{grid-template-columns:minmax(0,1fr);gap:24px;padding:24px 16px 40px;}
 .join-intro h1{font-size:26px;line-height:36px;margin-bottom:8px;}
 .join-intro .join-note{display:none;}
 .join-card{padding:24px 20px;}
 .join-title{font-size:22px;line-height:30px;}
 .join-actions button,.join-actions .button-link{min-height:44px;}
}

.invitations-panel .invite-form{display:grid;align-items:start;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;margin:8px 0 16px;}
.invitations-panel .invite-form label{display:grid;align-content:start;gap:6px;font-size:13px;color:var(--color-text-secondary);}
.invitations-panel .invite-form input,.invitations-panel .invite-form select{min-height:36px;width:100%;}
.invitations-panel .invite-form input[readonly]{background:var(--color-surface-muted);}
.invite-hint{font-size:12px;color:var(--color-text-tertiary);}
.invite-form-actions{grid-column:1/-1;}
.invite-link{display:grid;gap:8px;margin:0 0 16px;padding:16px;border-radius:8px;background:var(--color-surface-muted);}
.invite-link-row{display:flex;gap:8px;}
.invite-link-row input{flex:1;min-width:0;}
.invite-list-head{margin-top:16px;align-items:center;}
.invite-table-wrap{overflow-x:auto;}
.invite-table{width:100%;border-collapse:collapse;font-size:13px;}
.invite-table th{text-align:left;font-weight:500;color:var(--color-text-tertiary);background:var(--color-surface-muted);padding:10px 12px;}
.invite-table td{padding:12px;border-bottom:1px solid var(--color-border-light);vertical-align:middle;overflow-wrap:anywhere;}
.invite-id{font-weight:600;}
.invite-state{font-weight:500;}
.invite-state.state-pending{color:#1f7a14;}
.invite-state.state-expired,.invite-state.state-revoked{color:#b42318;}
.invite-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end;}
.invite-pager{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin-top:12px;}
.invite-pager span{margin-right:auto;}
.invite-footnote{font-size:12px;}
@media (max-width:760px){
 .invitations-panel .invite-form{grid-template-columns:minmax(0,1fr);}
 .invite-table thead{display:none;}
 .invite-table,.invite-table tbody,.invite-table tr,.invite-table td{display:block;width:100%;}
 .invite-table tr{border-bottom:1px solid var(--color-border-light);padding:8px 0;}
 .invite-table td{border:0;padding:4px 0;}
 .invite-actions{justify-content:flex-start;}
 .invite-link-row{flex-direction:column;}
}
[data-page="devices"].invitations-mode>:not(#invitations-panel){display:none;}
/* B-V6: the create button is a fixed-width primary action, as in the design. */
#invite-create{min-width:138px;}

/* saas-visual-prod-fixes R3: A06E gaps are 16px, helper copy 14/400 like the A* cards, title 26 at 390. */
#join-unavailable~.join-tag{margin-bottom:0;}
#join-unavailable~.join-muted{font-size:14px;line-height:22px;}
@media (max-width:760px){.join-title{font-size:26px;line-height:36px;}}
/* saas-visual-polish B-V5: the invitation pager is the text-link pager of the other tables (上一页 1 / N 下一页). */
.invite-pager{color:var(--k-muted);font-size:12px;line-height:18px;}
.invite-pager-links{display:flex;align-items:center;gap:8px;}
main .invite-pager .link-button{min-height:auto;margin:0;padding:0;border:0;background:transparent;color:var(--k-muted);font-size:12px;font-weight:400;}
.invite-pager .invite-pager-links,.invite-pager .invite-page{margin-right:0;}
.join-check{display:flex;gap:8px;align-items:flex-start;color:var(--color-text);line-height:1.5;}
.join-check input{margin-top:3px;flex:none;}
.join-check a{color:inherit;text-decoration:underline;}
