/* One quota dialog structure for both desktop workspaces. Product action
   colors, input fields, checkboxes and header buttons keep their owners. */
.quota-acquire-modal{z-index:calc(var(--z-modal) + 13)}
.modal-card.quota-acquire-card{
    padding:20px;
    max-height:calc(100dvh - 64px);
    overflow:auto;
    background:#fff;
    color:#172033;
}
.quota-acquire-modal [hidden]{display:none!important}
.quota-acquire-header{
    display:flex;
    align-items:center;
    gap:12px;
}
.quota-acquire-heading{
    display:flex;
    flex:1;
    align-items:center;
    gap:12px;
    min-width:0;
}
.quota-acquire-heading h2{
    margin:0;
    color:inherit;
    font-size:22px;
    font-weight:600;
    line-height:1.4;
}
.quota-acquire-qr figcaption{
    margin:12px 0 0;
    color:#64748b;
    font-size:13px;
    font-weight:400;
    line-height:1.6;
    text-align:center;
}
.quota-acquire-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    margin-top:16px;
}
.quota-acquire-option{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    min-width:0;
    min-height:96px;
    margin:0;
    padding:10px 4px;
    border:1px solid var(--ui-border-default);
    border-radius:12px;
    background:transparent;
    color:#172033;
    font-family:inherit;
    font-size:13px;
    font-weight:500;
    line-height:1.5;
    text-align:center;
    cursor:pointer;
    transition:background-color .16s ease;
}
.quota-acquire-option:is(:hover,:focus-visible){background:var(--quota-hover-background)}
.quota-acquire-option-icon{
    display:grid;
    flex:none;
    place-items:center;
    width:36px;
    height:36px;
    color:var(--quota-icon-color,var(--ui-action-primary));
    transition:transform .16s ease,color .16s ease;
}
.quota-acquire-option-icon [data-lucide]{width:23px;height:23px;stroke-width:2}
.quota-acquire-option:is(:hover,:focus-visible) .quota-acquire-option-icon{transform:translateY(-2px)}
.quota-acquire-option:active .quota-acquire-option-icon{transform:scale(.94)}
.quota-acquire-modal [data-quota-kind="ad"]{--quota-hover-background:#fff1f2;--quota-icon-color:#e05266}
.quota-acquire-modal [data-quota-kind="membership-qr"]{--quota-hover-background:#f5f3ff;--quota-icon-color:#7c3aed}
.quota-acquire-modal [data-quota-kind="quota-qr"]{--quota-hover-background:#fff7ed;--quota-icon-color:#c2410c}
.quota-acquire-modal [data-quota-kind="official"]{--quota-hover-background:#ecfdf5;--quota-icon-color:#059669}
.quota-acquire-modal [data-quota-kind="invite"]{--quota-hover-background:#eff6ff;--quota-icon-color:#3971d3}
.quota-acquire-modal [data-quota-kind="membership"]{--quota-hover-background:#e9f8f0;--quota-icon-color:#15803d}
.quota-acquire-panel{margin-top:20px}
.quota-acquire-qr{display:grid;justify-items:center;margin:0}
.quota-acquire-qr img{display:block;width:240px;max-width:100%;height:240px;object-fit:contain}
.quota-code-form{display:grid;gap:16px;margin:0}
.quota-membership-warning{
    display:flex;
    align-items:flex-start;
    gap:6px;
    margin:0;
    color:#92400e;
    font-size:13px;
    font-weight:400;
    line-height:1.6;
}
.quota-membership-warning [data-lucide]{width:16px;height:16px;flex:none;margin-top:2px}
.quota-membership-consent{
    display:flex;
    align-items:flex-start;
    gap:8px;
    margin:0;
    color:#64748b;
    font-size:12px;
    font-weight:400;
    line-height:1.7;
}
.quota-membership-consent input{flex:none;margin:2px 0 0;cursor:pointer}
.quota-membership-consent label{cursor:pointer}
.quota-membership-consent a{color:var(--ui-action-primary);text-decoration:underline;text-underline-offset:2px}
.quota-acquire-status,.quota-login-hint{margin:16px 0 0;font-size:13px;font-weight:400;line-height:1.6;color:#64748b}
.quota-acquire-status.is-error{color:#b91c1c}
.quota-acquire-status.is-success{color:#15803d}
.quota-login-hint{text-align:center}
.quota-login-hint button{padding:0;border:0;background:transparent;color:var(--ui-action-primary);font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
@media (prefers-reduced-motion:reduce){.quota-acquire-option,.quota-acquire-option-icon{transition:none}}
